@oneworks/client 0.1.0-alpha.0 → 0.1.0-beta.1

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 (185) hide show
  1. package/dist/assets/ActionSearchToolbar-BqRwfUQY.js +1 -0
  2. package/dist/assets/ActionSearchToolbar-CMBns0Zm.css +1 -0
  3. package/dist/assets/AgentRoomRoute-BYgM7vgg.js +1 -0
  4. package/dist/assets/AgentRoomSessionRoute-DdoZY7qL.js +3 -0
  5. package/dist/assets/ArchiveRoute-ydgLUN7p.js +1 -0
  6. package/dist/assets/{AuthenticatedApp-BTs4l2pB.js → AuthenticatedApp-CK9TT7Nk.js} +236 -224
  7. package/dist/assets/AuthenticatedApp-scWyvbOf.css +1 -0
  8. package/dist/assets/AutomationRoute-CpcRbNa8.js +1 -0
  9. package/dist/assets/BenchmarkRoute-CZRZVolT.js +21 -0
  10. package/dist/assets/ChatRoute-DdRVEkAb.js +2 -0
  11. package/dist/assets/Collapse-CxTS9FJh.js +10 -0
  12. package/dist/assets/{ComposerLanding-Cl6zfbOm.js → ComposerLanding-BChGuCjF.js} +4 -4
  13. package/dist/assets/ConfigEditors-BuDavOAj.css +1 -0
  14. package/dist/assets/ConfigRoute-D_EkHryB.js +28 -0
  15. package/dist/assets/ConfigRoute-TW2qRRNP.css +1 -0
  16. package/dist/assets/InteractionStructureRoute-Dpjr6hIq.js +1 -0
  17. package/dist/assets/KnowledgeRoute-Bp4Da65A.js +1 -0
  18. package/dist/assets/LauncherApp-ByUpDwod.js +2 -0
  19. package/dist/assets/LauncherRoute-B94P9m3I.js +2 -0
  20. package/dist/assets/LauncherRoute-NsK8KCzb.css +1 -0
  21. package/dist/assets/MobileAwareSelect-BySpAJpa.css +1 -0
  22. package/dist/assets/MobileAwareSelect-CCAQrsxL.js +37 -0
  23. package/dist/assets/{ModuleManagementRoute-DQACRan1.js → ModuleManagementRoute-DcrMX6P7.js} +3 -3
  24. package/dist/assets/NotFoundRoute-C1IfsiZY.js +1 -0
  25. package/dist/assets/PluginStoreRoute-7UBLkrWc.js +1 -0
  26. package/dist/assets/PluginStoreRoute-Cfalv335.css +1 -0
  27. package/dist/assets/RouteContainerPanelTabs-D8pC61tF.js +11 -0
  28. package/dist/assets/RouteContainerPanelTabs-DAjUmk7i.css +1 -0
  29. package/dist/assets/SchemaObjectEditor-DvwrURac.js +1 -0
  30. package/dist/assets/StandaloneMobileDebugRoute--yiQ5EdW.js +1 -0
  31. package/dist/assets/StandaloneMobileDebugRoute-DuOLjUb9.css +1 -0
  32. package/dist/assets/WorkspaceApp-l-h_IsMp.js +9 -0
  33. package/dist/assets/agent-room-session-paths-CYMSFD9m.css +32 -0
  34. package/dist/assets/agent-room-session-paths-DNpYqOr3.js +537 -0
  35. package/dist/assets/{arc-BXsvCKst.js → arc-Xh4h56Fv.js} +1 -1
  36. package/dist/assets/azure-C6wcxVWu.ico +0 -0
  37. package/dist/assets/{blockDiagram-c4efeb88-hc-xNCrG.js → blockDiagram-c4efeb88-CG3HxYeL.js} +2 -2
  38. package/dist/assets/{c4Diagram-c83219d4-DVHTOuVr.js → c4Diagram-c83219d4-DiEPAqCg.js} +2 -2
  39. package/dist/assets/channel-DH-F5Uqk.js +1 -0
  40. package/dist/assets/classDiagram-beda092f-Dwx44PuJ.js +2 -0
  41. package/dist/assets/classDiagram-v2-2358418a-COXM437u.js +2 -0
  42. package/dist/assets/client-build-info-6B4KoYHs.js +1 -0
  43. package/dist/assets/clone-DGri7oGq.js +1 -0
  44. package/dist/assets/{createText-1719965b-x3Mhf0Jh.js → createText-1719965b-DPLMqVqY.js} +1 -1
  45. package/dist/assets/cssMode-DfDq4hLs.js +1 -0
  46. package/dist/assets/customParseFormat-DwjB960X.js +1 -0
  47. package/dist/assets/dockPanelConstants-4XXOUD0A.css +1 -0
  48. package/dist/assets/dockPanelConstants-OzU6hJl5.js +8 -0
  49. package/dist/assets/{edges-96097737-COVuSxRY.js → edges-96097737-ry9ejc8v.js} +1 -1
  50. package/dist/assets/{erDiagram-0228fc6a-WcgqCWce.js → erDiagram-0228fc6a-AcCPz3wc.js} +2 -2
  51. package/dist/assets/{flowDb-c6c81e3f-nYly38YN.js → flowDb-c6c81e3f-BGnBxhJf.js} +1 -1
  52. package/dist/assets/{flowDiagram-50d868cf-DLYALlBY.js → flowDiagram-50d868cf-BnS6RFWo.js} +2 -2
  53. package/dist/assets/flowDiagram-v2-4f6560a1-C3klqpJG.js +1 -0
  54. package/dist/assets/{flowchart-elk-definition-6af322e1-Da8rP8k4.js → flowchart-elk-definition-6af322e1-8-ynORZL.js} +2 -2
  55. package/dist/assets/{freemarker2-OWISI6Bb.js → freemarker2-uFZBYLEW.js} +2 -2
  56. package/dist/assets/ganttDiagram-a2739b55-3MEPfmMB.js +257 -0
  57. package/dist/assets/gemini-B9inYaVW.png +0 -0
  58. package/dist/assets/{gitGraphDiagram-82fe8481-DCk8Jny9.js → gitGraphDiagram-82fe8481-BKYGV9pb.js} +2 -2
  59. package/dist/assets/{graph-DvFQr_wY.js → graph-BEwlNa_j.js} +1 -1
  60. package/dist/assets/handlebars-dg6IZCa7.js +1 -0
  61. package/dist/assets/html-KunL9NkW.js +1 -0
  62. package/dist/assets/htmlMode-CrFpTEpC.js +1 -0
  63. package/dist/assets/{index-5325376f-CRF6GGjL.js → index-5325376f-CCcP_Ahl.js} +1 -1
  64. package/dist/assets/index-BIs5hzci.js +13 -0
  65. package/dist/assets/index-BggFUwYR.js +1 -0
  66. package/dist/assets/index-DdUqPqXW.js +727 -0
  67. package/dist/assets/{index-BnZLa3J3.js → index-DhpAFZQZ.js} +2 -2
  68. package/dist/assets/index-YzfSzOLk.js +13 -0
  69. package/dist/assets/index-ZOsqqPVv.js +36 -0
  70. package/dist/assets/index-jfuA2A4w.css +1 -0
  71. package/dist/assets/index-nXq6jwfM.js +3 -0
  72. package/dist/assets/{infoDiagram-8eee0895-dVa2Kh9_.js → infoDiagram-8eee0895-BzZ34kgw.js} +2 -2
  73. package/dist/assets/interaction-panel-mobile-debug-pages-8AAd4Csf.css +1 -0
  74. package/dist/assets/interaction-panel-mobile-debug-pages-DXC3HSZU.js +113 -0
  75. package/dist/assets/javascript-DA3fh3oR.js +1 -0
  76. package/dist/assets/{journeyDiagram-c64418c1-BJCT1TJ7.js → journeyDiagram-c64418c1-B_kSGErn.js} +2 -2
  77. package/dist/assets/{jsonMode-RsjNGxUQ.js → jsonMode-BDucSIBv.js} +4 -4
  78. package/dist/assets/{layout-BMZRkCUf.js → layout-CRLM1T9z.js} +1 -1
  79. package/dist/assets/{line-C99msl9T.js → line-Cdyr_7ve.js} +1 -1
  80. package/dist/assets/{linear-CJHB38BG.js → linear-y86GycLK.js} +1 -1
  81. package/dist/assets/liquid-mJp997il.js +1 -0
  82. package/dist/assets/{lspLanguageFeatures-D8zjArb3.js → lspLanguageFeatures-DiGGmudW.js} +1 -1
  83. package/dist/assets/mdx-Co6h2mZ2.js +1 -0
  84. package/dist/assets/{mermaid.core-DWzpZH_g.js → mermaid.core-VYJIZL_J.js} +4 -4
  85. package/dist/assets/micu-dUcmmgZZ.png +0 -0
  86. package/dist/assets/{mindmap-definition-8da855dc-DulNL_Ks.js → mindmap-definition-8da855dc-DKNG2gyr.js} +2 -2
  87. package/dist/assets/minimax-B5WRVrUt.png +0 -0
  88. package/dist/assets/openai-ABb0YGGa.svg +71 -0
  89. package/dist/assets/openrouter-CsJ_bD5Q.ico +0 -0
  90. package/dist/assets/{pieDiagram-a8764435-CHfubQBm.js → pieDiagram-a8764435-Cu3up9mc.js} +3 -3
  91. package/dist/assets/project-file-tree-icons-CfonMx-1.js +2 -0
  92. package/dist/assets/project-file-tree-icons-DXkdVC0r.css +1 -0
  93. package/dist/assets/python-BUUKzwmG.js +1 -0
  94. package/dist/assets/{quadrantDiagram-1e28029f-CFHca9nu.js → quadrantDiagram-1e28029f-DHW8R4el.js} +2 -2
  95. package/dist/assets/qwen-Cla2cGrM.svg +107 -0
  96. package/dist/assets/razor-ZPlQfY47.js +1 -0
  97. package/dist/assets/requesty-DAzbbw8F.ico +0 -0
  98. package/dist/assets/{requirementDiagram-08caed73-ClrFG92W.js → requirementDiagram-08caed73-CXWNC-_B.js} +2 -2
  99. package/dist/assets/route-plugin-chrome-bV1HEaju.js +1 -0
  100. package/dist/assets/sankeyDiagram-a04cb91d-DhKL8pMH.js +8 -0
  101. package/dist/assets/{sequenceDiagram-c5b8d532-ZoeuLa-n.js → sequenceDiagram-c5b8d532-D3fAcQeI.js} +2 -2
  102. package/dist/assets/shortcutUtils-B8h6g_7o.js +27 -0
  103. package/dist/assets/stateDiagram-1ecb1508-wKQS4LMF.js +1 -0
  104. package/dist/assets/stateDiagram-v2-c2b004d7-D5qOKtOa.js +1 -0
  105. package/dist/assets/{styles-b4e223ce-0VFG2Z9W.js → styles-b4e223ce-CpBwPex_.js} +1 -1
  106. package/dist/assets/{styles-ca3715f6-DaJIsB-N.js → styles-ca3715f6-4bqpN1KH.js} +1 -1
  107. package/dist/assets/{styles-d45a18b0-DT8DH24o.js → styles-d45a18b0-B0RCBD5D.js} +1 -1
  108. package/dist/assets/{svgDrawCommon-b86b1483-DxTZXiLW.js → svgDrawCommon-b86b1483-C9KXk4gS.js} +1 -1
  109. package/dist/assets/{timeline-definition-faaaa080-lu3ppiNq.js → timeline-definition-faaaa080-B1Bfjd0m.js} +2 -2
  110. package/dist/assets/{tsMode-B6pOKC1l.js → tsMode-Bd8BwKXc.js} +2 -2
  111. package/dist/assets/typescript-CLd6MPK0.js +1 -0
  112. package/dist/assets/use-app-preferences-DGCafwsP.js +1 -0
  113. package/dist/assets/use-chat-session-actions-wF_HiVzj.js +2 -0
  114. package/dist/assets/{vendor-react-BNJ5yonH.js → vendor-react-CnooHTJc.js} +1 -1
  115. package/dist/assets/vendor-state-zjcHRN98.js +1 -0
  116. package/dist/assets/worker-BZxxbL_z.js +1 -0
  117. package/dist/assets/workspace-file-openers-Dj_Cfk1S.js +1 -0
  118. package/dist/assets/workspace-file-openers-fM4AQXug.css +1 -0
  119. package/dist/assets/xml-BeC1cWk3.js +1 -0
  120. package/dist/assets/{xychartDiagram-f5964ef8-DvmrNK0s.js → xychartDiagram-f5964ef8-DbJVUSHy.js} +2 -2
  121. package/dist/assets/yaml-gQrw9AcN.js +1 -0
  122. package/dist/assets/yunwu-C0h7koCA.png +0 -0
  123. package/dist/assets/zhipu-CWmkm5qz.png +0 -0
  124. package/dist/index.html +4 -4
  125. package/dist/sw.js +5 -3
  126. package/package.json +20 -15
  127. package/dist/assets/AgentRoomRoute-rNmmPMvh.js +0 -1
  128. package/dist/assets/AgentRoomSessionRoute-Dg8yQRY_.js +0 -1
  129. package/dist/assets/ArchiveRoute-BWE_JVjl.js +0 -1
  130. package/dist/assets/AuthenticatedApp-Bop-GglJ.css +0 -1
  131. package/dist/assets/AutomationRoute-CoJ8YGK2.js +0 -1
  132. package/dist/assets/BenchmarkRoute-BcRZ1AFC.js +0 -21
  133. package/dist/assets/ChatRoute-DBN4uo7j.js +0 -1
  134. package/dist/assets/Collapse-DDrFhfKr.js +0 -8
  135. package/dist/assets/ConfigEditors-jcXiTWRg.css +0 -1
  136. package/dist/assets/ConfigRoute-D5zxs-kv.css +0 -1
  137. package/dist/assets/ConfigRoute-z5Dj1ihn.js +0 -2
  138. package/dist/assets/ConfigSectionPanel-DHIwutHm.js +0 -13
  139. package/dist/assets/DockPanel-DuxVeJzf.js +0 -11
  140. package/dist/assets/DockPanel-HEMeJ1MR.css +0 -1
  141. package/dist/assets/InteractionStructureRoute-B8yJdycA.js +0 -1
  142. package/dist/assets/KnowledgeRoute-BPYnBocT.js +0 -1
  143. package/dist/assets/LauncherApp-BqKOigOK.js +0 -2
  144. package/dist/assets/LauncherRoute-C1g-gjbs.js +0 -2
  145. package/dist/assets/LauncherRoute-DtjtKtXc.css +0 -1
  146. package/dist/assets/PluginStoreRoute-Bny2x-oC.css +0 -1
  147. package/dist/assets/PluginStoreRoute-CGIBez_4.js +0 -3
  148. package/dist/assets/SchemaObjectEditor-BdzgIkYh.js +0 -1
  149. package/dist/assets/WorkspaceApp-DGL3CHCp.js +0 -46
  150. package/dist/assets/agent-room-session-paths-Bl0JdX79.js +0 -153
  151. package/dist/assets/agent-room-session-paths-CCE5rS0K.css +0 -32
  152. package/dist/assets/channel-X7k9544o.js +0 -1
  153. package/dist/assets/classDiagram-beda092f-C--_J0De.js +0 -2
  154. package/dist/assets/classDiagram-v2-2358418a-VLoB_o-4.js +0 -2
  155. package/dist/assets/client-build-info-CUyezPn4.js +0 -37
  156. package/dist/assets/client-build-info-CgBKDSmG.css +0 -1
  157. package/dist/assets/clone-BsR4Dtrm.js +0 -1
  158. package/dist/assets/copy-OJ_6Pvs2.js +0 -28
  159. package/dist/assets/cssMode-Dg95dCSS.js +0 -1
  160. package/dist/assets/flowDiagram-v2-4f6560a1-DZXqc8d3.js +0 -1
  161. package/dist/assets/ganttDiagram-a2739b55-SFoaaNUl.js +0 -257
  162. package/dist/assets/handlebars-DvhbIeVz.js +0 -1
  163. package/dist/assets/html-B6ANaoGC.js +0 -1
  164. package/dist/assets/htmlMode-CA_KA1J8.js +0 -1
  165. package/dist/assets/index-BfLbHhFR.js +0 -13
  166. package/dist/assets/index-C9FQLbWu.js +0 -1
  167. package/dist/assets/index-DA1kZA8X.css +0 -1
  168. package/dist/assets/index-Dn-Bbs_z.js +0 -705
  169. package/dist/assets/javascript-qaeO24NX.js +0 -1
  170. package/dist/assets/liquid-yYJuHMAu.js +0 -1
  171. package/dist/assets/mdx-CrAkCLhE.js +0 -1
  172. package/dist/assets/python-h0Aqhxqi.js +0 -1
  173. package/dist/assets/razor-DalkOWO-.js +0 -1
  174. package/dist/assets/sankeyDiagram-a04cb91d-C9DgEVjM.js +0 -8
  175. package/dist/assets/stateDiagram-1ecb1508-DDRxhJDf.js +0 -1
  176. package/dist/assets/stateDiagram-v2-c2b004d7-CIob4OCF.js +0 -1
  177. package/dist/assets/typescript-Bn-lx_lA.js +0 -1
  178. package/dist/assets/use-app-preferences-B4K999VJ.js +0 -1
  179. package/dist/assets/use-chat-session-actions-5N-NQ9my.js +0 -2
  180. package/dist/assets/use-project-theme-preview-sources-5CPt1X2N.js +0 -1
  181. package/dist/assets/vendor-state-CBVXPiKY.js +0 -1
  182. package/dist/assets/workspace-file-openers-DAuX65xw.js +0 -1
  183. package/dist/assets/workspace-file-openers-erSFu-UO.css +0 -1
  184. package/dist/assets/xml-C1SO5DSd.js +0 -1
  185. package/dist/assets/yaml-DihjE03_.js +0 -1
@@ -0,0 +1,727 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/LauncherApp-ByUpDwod.js","assets/vendor-react-CnooHTJc.js","assets/vendor-state-zjcHRN98.js","assets/use-app-preferences-DGCafwsP.js","assets/StandaloneMobileDebugRoute--yiQ5EdW.js","assets/interaction-panel-mobile-debug-pages-DXC3HSZU.js","assets/MobileAwareSelect-CCAQrsxL.js","assets/MobileAwareSelect-BySpAJpa.css","assets/index-ZOsqqPVv.js","assets/index-BIs5hzci.js","assets/route-plugin-chrome-bV1HEaju.js","assets/shortcutUtils-B8h6g_7o.js","assets/index-YzfSzOLk.js","assets/index-nXq6jwfM.js","assets/interaction-panel-mobile-debug-pages-8AAd4Csf.css","assets/StandaloneMobileDebugRoute-DuOLjUb9.css","assets/WorkspaceApp-l-h_IsMp.js","assets/client-build-info-6B4KoYHs.js","assets/WorkspaceApp-3wrApX0a.css"])))=>i.map(i=>d[i]);
2
+ var kp=Object.defineProperty;var xp=(e,t,n)=>t in e?kp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var H=(e,t,n)=>xp(e,typeof t!="symbol"?t+"":t,n);import{g as Ii,R as I,a as As,r as u,b as Wo,c as _i,d as Pp,e as Rc,j as L,u as Tp,N as Da,f as Ep,B as Rp}from"./vendor-react-CnooHTJc.js";import{u as un,a as Ge,b as Ap,i as Ac,c as Dp,S as Mp}from"./vendor-state-zjcHRN98.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const a of r)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&o(i)}).observe(document,{childList:!0,subtree:!0});function n(r){const a={};return r.integrity&&(a.integrity=r.integrity),r.referrerPolicy&&(a.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?a.credentials="include":r.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function o(r){if(r.ep)return;r.ep=!0;const a=n(r);fetch(r.href,a)}})();const Wr=1024,Pn=10.24,Op=2.75,Fp=1.35,Dc=.76,tn=.46,An=118,nn=12,Mc=0,Ip=[0,0,1],lt=(e,t,n,o,r)=>({amp:e.signedRandomRange(t,n),phase:e.randomRange(0,Math.PI*2),timeFreq:e.randomChoice(r),uFreq:e.randomChoice(o)}),Hr=e=>({shape:{depthScale:e.signedRandomRange(.08,.22),diagonal:e.signedRandomRange(.04,.12),lobeBalance:e.signedRandomRange(.08,.2),phaseDrift:e.signedRandomRange(.03,.09),waist:e.signedRandomRange(.08,.2),xScale:e.signedRandomRange(.08,.18),yScale:e.signedRandomRange(.1,.22)},twist:[lt(e,.1,.18,[1,2,3],[1,2]),lt(e,.04,.09,[2,3,4],[2,3])],warpX:[lt(e,.02,.05,[1,2],[1,2]),lt(e,.01,.025,[3,4],[2,3])],warpY:[lt(e,.018,.04,[1,2],[1,2]),lt(e,.01,.02,[3,4],[2,3])],warpZ:[lt(e,.055,.12,[1,2,3],[1,2]),lt(e,.025,.055,[2,3,4],[2,3])],width:[lt(e,.035,.06,[2,3,4],[1,2]),lt(e,.015,.03,[3,4,5],[2,3])]}),_p=(e,t,n,o=Pn)=>{const r=e+n,a=Math.floor(r/o),i=(r%o+o)%o/o,s=Math.sin(Math.PI*i)**2;return{cycleIndex:a,envelope:s*t,phase:i}},Ao=e=>String(e??"").trim().replace(/[^\w-]/g,"").slice(0,64)||null,_t=()=>{var t;const e=new Uint32Array(2);return(t=globalThis.crypto)!=null&&t.getRandomValues?globalThis.crypto.getRandomValues(e):(e[0]=Math.floor(Math.random()*4294967295),e[1]=Date.now()>>>0),Ao(`${e[0].toString(36)}${e[1].toString(36)}`)??"oneworks"},Lp=e=>{let t=2166136261;for(let n=0;n<e.length;n+=1)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0},Ds=e=>{let t=Lp(e)||2654435769;return()=>{t+=1831565813;let n=t;return n=Math.imul(n^n>>>15,n|1),n^=n+Math.imul(n^n>>>7,n|61),((n^n>>>14)>>>0)/4294967296}},Cn=(e,t,n)=>{const o=Math.PI*2*n;return e.reduce((r,a)=>r+a.amp*Math.sin(a.uFreq*t+a.timeFreq*o+a.phase),0)},Ma=(e,t)=>{const{shape:n}=t.cycle,o=t.envelope||0,r=Math.PI*2*(t.phase||0),a=e+o*n.phaseDrift*Math.sin(r),i=Math.sin(a),s=Math.cos(a),l=Math.tanh(1.8*i),c=1-o*n.waist*Math.cos(2*a)**2,d=1+o*n.lobeBalance*l,m=1+o*n.xScale,p=1+o*n.yScale*Math.sin(r+.8),g=1+o*n.depthScale*Math.cos(r+.35),h=o*n.diagonal;return[Op*m*d*c*i+h*Math.sin(3*a+r),Fp*p*Math.sin(2*a)*(1-.16*o*l),Dc*g*s+o*.08*Math.sin(3*a-r)]},Np=(e,t)=>{const o=Ma(e-.001,t),r=Ma(e+.001,t);return[(r[0]-o[0])/(2*.001),(r[1]-o[1])/(2*.001),(r[2]-o[2])/(2*.001)]},Ur=(e,t)=>[e[0]+t[0],e[1]+t[1],e[2]+t[2]],Vr=(e,t)=>[e[0]*t,e[1]*t,e[2]*t],Ms=(e,t)=>[e[1]*t[2]-e[2]*t[1],e[2]*t[0]-e[0]*t[2],e[0]*t[1]-e[1]*t[0]],zr=e=>{const t=Math.hypot(e[0],e[1],e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]},Oc=(e,t)=>{const n=[],o=e?Math.PI*2*t.phase*e:0;for(let r=0;r<An;r+=1){const a=Mc+2*Math.PI*r/An,i=Ma(a,t),s=zr(Np(a,t));let l=Ms(Ip,s);l=l[0]**2+l[1]**2+l[2]**2<1e-6?[1,0,0]:zr(l);const c=zr(Ms(s,l)),d=t.envelope*Cn(t.cycle.twist,a,t.phase),m=1+t.envelope*Cn(t.cycle.width,a,t.phase)+t.envelope*t.cycle.shape.waist*.28*Math.sin(2*a+Math.PI*2*t.phase),p=a/2+Math.PI*.1+d+o,g=Ur(Vr(l,Math.cos(p)),Vr(c,Math.sin(p))),h=[t.envelope*Cn(t.cycle.warpX,a,t.phase),t.envelope*Cn(t.cycle.warpY,a,t.phase),t.envelope*Cn(t.cycle.warpZ,a,t.phase)],v=Ur(i,h),f=[];for(let y=0;y<=nn;y+=1){const b=-tn+2*tn*y/nn,S=Ur(v,Vr(g,b*m));f.push({u:a,v:b,x:S[0],y:S[1],z:S[2]})}n.push(f)}return n},$p=e=>{const t=e.flat(),n=Math.min(...t.map(c=>c.x)),o=Math.max(...t.map(c=>c.x)),r=Math.min(...t.map(c=>c.y)),a=Math.max(...t.map(c=>c.y)),i=Math.min(820/(o-n),610/(a-r)),s=(n+o)/2,l=(r+a)/2;return c=>({u:c.u,v:c.v,x:512+(c.x-s)*i,y:512-((c.y-l)*i+c.z*i*.045),z:c.z})},Bp=(e,t,n)=>{const o=Oc(e,t),r=[];for(let a=0;a<An;a+=1){const i=(a+1)%An,s=i===0;for(let l=0;l<nn;l+=1){const c=jp(o,n,a,l,i,s);if(!c)continue;const d=c.reduce((g,h)=>g+h.z,0)/4,m=Mc+2*Math.PI*(a+.5)/An,p=-tn+2*tn*(l+.5)/nn;r.push({depth:d,points:Wp(c,.82),sortDepth:d+.11*Math.cos(m),u:m,v:p})}}return r.sort((a,i)=>a.sortDepth-i.sortDepth||a.u-i.u||a.v-i.v)},jp=(e,t,n,o,r,a)=>{const i=a?nn-o:o,s=a?nn-o-1:o+1,l=e[n],c=e[r],d=l==null?void 0:l[o],m=c==null?void 0:c[i],p=c==null?void 0:c[s],g=l==null?void 0:l[o+1];return d&&m&&p&&g?[t(d),t(m),t(p),t(g)]:null},Wp=(e,t)=>{const n=e.reduce((r,a)=>r+a.x,0)/e.length,o=e.reduce((r,a)=>r+a.y,0)/e.length;return e.map(r=>{const a=r.x-n,i=r.y-o,s=Math.hypot(a,i)||1;return{...r,x:r.x+t*a/s,y:r.y+t*i/s}})},Hp=(e,t,n,o,r,a)=>{const i=.5+.5*(n/(Dc+tn)),s=.5+.5*Math.cos(o-.55),l=Math.abs(r)/tn,c=.5+.5*Math.cos(o+a*.68);if(e==="industrial"){const p=ft(.74*i+.14*s+.08*l+.04*c),g=t==="light"?[[255,230,202],[255,146,58],[229,58,18],[82,21,9]]:[[20,9,6],[108,22,12],[226,63,18],[255,145,35]];return p<.44?ct(Ve(g[0],g[1],p/.44)):p<.78?ct(Ve(g[1],g[2],(p-.44)/.34)):ct(Ve(g[2],g[3],(p-.78)/.22))}if(e==="matrix"){const p=ft(.76*i+.12*s+.08*l+.04*c),g=t==="light"?[[212,255,226],[38,226,112],[0,146,70],[0,72,40]]:[[2,18,10],[0,86,44],[0,214,96],[168,255,198]];return p<.36?ct(Ve(g[0],g[1],p/.36)):p<.78?ct(Ve(g[1],g[2],(p-.36)/.42)):ct(Ve(g[2],g[3],(p-.78)/.22))}if(e==="metal"){const p=l**1.6,g=.5+.5*Math.cos(o*2.1-.72),h=Math.max(0,Math.cos(o*3.2+r*2.4-1.1))**10,v=.025*Math.sin(o*54+r*18),f=ft(.62*i+.14*s+.12*p+.08*g+.13*h+v),y=t==="light"?[[34,39,42],[79,88,90],[159,165,162],[250,248,236],[72,78,79]]:[[8,10,11],[42,47,49],[139,148,147],[248,247,238],[82,89,91]];return f<.34?ct(Ve(y[0],y[1],f/.34)):f<.62?ct(Ve(y[1],y[2],(f-.34)/.28)):f<.82?ct(Ve(y[2],y[3],(f-.62)/.2)):ct(Ve(y[3],y[4],(f-.82)/.18))}const d=ft(.82*i+.1*s+.08*l),m=t==="dark"?Math.max(18,Math.min(242,Math.round(14+226*d))):Math.max(18,Math.min(246,Math.round(248-226*d)));return`rgb(${m},${m},${m})`},Up=(e,t)=>e==="industrial"?t==="light"?"#FFF1E8":"#180804":e==="matrix"?t==="light"?"#E9FFF1":"#001B0D":e==="metal"?t==="light"?"#F2F4F0":"#111615":t==="light"?"#F3F5F2":"#111514",ft=(e,t=0,n=1)=>Math.max(t,Math.min(n,e)),qr=(e,t,n)=>Math.round(e+(t-e)*ft(n)),Ve=(e,t,n)=>[qr(e[0],t[0],n),qr(e[1],t[1],n),qr(e[2],t[2],n)],ct=e=>`rgb(${e[0]},${e[1]},${e[2]})`,Fc=(e,t)=>`rgba(${e[0]},${e[1]},${e[2]},${t})`,Vp=(e=_t())=>{let t=Ao(e)??_t(),n=Ds(t),o=Os(n),r=Hr(o);const a=(g=_t())=>(t=Ao(g)??_t(),n=Ds(t),o=Os(n),r=Hr(o),t),i=(g,h,v)=>{const f=(v==null?void 0:v.motionCycle)??r;if(h===0)return{cycle:f,envelope:0,phase:0};const y=_p(g,h,(v==null?void 0:v.motionOffset)??0,v==null?void 0:v.motionLoopSeconds);return v&&v.motionCycleIndex<0&&(v.motionCycleIndex=y.cycleIndex),{cycle:f,envelope:y.envelope,phase:y.phase}},s=()=>Hr(o),c=$p(Oc(0,{cycle:r,envelope:0,phase:0})),d=(g,h,v=i(g,h))=>Bp(h,v,c);return{get seed(){return t},buildMesh:d,createMotionCycle:s,createMotionSource:()=>({motionCycle:s(),motionCycleIndex:-1,motionLoopSeconds:Pn,motionOffset:o.randomRange(0,Pn)}),getMotionState:i,random:()=>n(),randomRange:(g,h)=>o.randomRange(g,h),resetMotionSource:g=>{g.motionCycleIndex=-1,g.motionCycle=s(),g.motionOffset=o.randomRange(0,Pn),g.motionLoopSeconds=Pn},resetSeed:a,staticMesh:d(0,0)}},Os=e=>{const t=(r,a)=>r+e()*(a-r);return{random:e,randomChoice:r=>r[Math.floor(e()*r.length)]??r[0]??0,randomRange:t,signedRandomRange:(r,a)=>t(r,a)*(e()<.5?-1:1)}},zp=(e,t)=>{const n=t.width<210?11:13,o=Math.ceil(t.width/n)+1;t.rainFontSize=n,t.rainColumns=Array.from({length:o},(r,a)=>({seed:e.randomRange(0,t.height+n*18),speed:e.randomRange(22,58),length:Math.round(e.randomRange(7,15)),alpha:e.randomRange(.2,.72),x:a*n+n/2}))},qp=(e,t)=>{const n=t.width<170?12:15,o=Math.ceil(t.width/n),r=Math.ceil(t.height/n);t.heatCellSize=n,t.heatCols=o,t.heatRows=r,t.nextHeatUpdate=0,t.heatCells=Array.from({length:o*r},(a,i)=>Kp(e,o,r,i))},Gp=(e,t,n)=>{if(t.backgroundStyle==="textured"){if(t.theme==="matrix"){Xp(t,n);return}t.theme==="industrial"&&Qp(e,t,n)}},Kp=(e,t,n,o)=>{const r=o%t,a=Math.floor(o/t),i=(r+.5)/t,s=(a+.5)/n,l=ft(Yp(i,s)+e.randomRange(-.18,.18));return{speed:e.randomRange(.035,.085),target:l,value:l}},Yp=(e,t)=>{const n=Math.exp(-((e-.34)**2/.035+(t-.52)**2/.055)),o=Math.exp(-((e-.66)**2/.032+(t-.42)**2/.05)),r=Math.exp(-((e-.54)**2/.06+(t-.68)**2/.04)),a=Math.max(0,1-Math.abs(t-(.82-e*.62))*3.8);return ft(.08+n*.46+o*.42+r*.22+a*.16)},Xp=(e,t)=>{const{ctx:n,height:o,mode:r,rainColumns:a,rainFontSize:i,width:s}=e,l=r==="light",c=n.createRadialGradient(s*.54,o*.47,0,s*.54,o*.47,s*.52);c.addColorStop(0,l?"rgba(0,180,84,0.09)":"rgba(0,255,118,0.12)"),c.addColorStop(.55,l?"rgba(0,180,84,0.035)":"rgba(0,255,118,0.045)"),c.addColorStop(1,"rgba(0,255,118,0)"),n.fillStyle=c,n.fillRect(0,0,s,o),n.save(),n.font=`${i}px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace`,n.textAlign="center",n.textBaseline="middle";for(const d of a)Jp(e,d.x,d.length,d.seed,d.speed,d.alpha,t);n.restore()},Jp=(e,t,n,o,r,a,i)=>{const{ctx:s,height:l,mode:c,rainFontSize:d}=e,m=l+n*d,p=(i*.001*r+o)%m-n*d;for(let g=0;g<n;g+=1){const h=p-g*d;if(h<-d||h>l+d)continue;const v=1-g/n,f=Math.sin(t*12.9898+g*78.233+Math.floor(i*.006)*18.97),y=c==="light"?g===0?[0,116,58]:[0,148,72]:g===0?[215,255,226]:[116,255,168],b=a*v*(g===0?.74:.42)*(c==="light"?.52:1);s.fillStyle=Fc(y,b),s.fillText(f>0?"1":"0",t,h)}},Qp=(e,t,n)=>{if(t.heatCells.length===0)return;Zp(e,t,n);const{ctx:o,heatCellSize:r,heatCols:a,heatRows:i,mode:s}=t,l=Math.max(1,Math.round(r*.14)),c=r-l;o.save(),o.globalCompositeOperation="source-over";for(let d=0;d<i;d+=1)for(let m=0;m<a;m+=1){const p=t.heatCells[d*a+m];if(!p)continue;t.isStatic||(p.value+=(p.target-p.value)*p.speed);const g=ft(p.value);o.fillStyle=Fc(ef(s,g),s==="light"?.22+g*.48:.18+g*.64),o.fillRect(m*r+l/2,d*r+l/2,c,c)}o.restore()},Zp=(e,t,n)=>{if(!(t.isStatic||n<t.nextHeatUpdate)){t.nextHeatUpdate=n+e.randomRange(90,170);for(const o of t.heatCells)e.random()>=.28||(o.target=ft(o.target+e.randomRange(-.42,.42)),o.speed=e.randomRange(.045,.12))}},ef=(e,t)=>{const n=e==="light"?[255,239,221]:[31,12,7],o=e==="light"?[255,156,55]:[124,24,12],r=e==="light"?[223,54,16]:[255,98,24],a=e==="light"?[96,24,10]:[255,178,56];return t<.42?Ve(n,o,t/.42):t<.76?Ve(o,r,(t-.42)/.34):Ve(r,a,(t-.76)/.24)},tf=`#version 300 es
3
+ precision mediump float;
4
+
5
+ layout(location = 0) in vec4 a_position;
6
+
7
+ uniform vec2 u_resolution;
8
+ uniform float u_pixelRatio;
9
+ uniform float u_imageAspectRatio;
10
+ uniform float u_originX;
11
+ uniform float u_originY;
12
+ uniform float u_worldWidth;
13
+ uniform float u_worldHeight;
14
+ uniform float u_fit;
15
+ uniform float u_scale;
16
+ uniform float u_rotation;
17
+ uniform float u_offsetX;
18
+ uniform float u_offsetY;
19
+
20
+ out vec2 v_objectUV;
21
+ out vec2 v_objectBoxSize;
22
+ out vec2 v_responsiveUV;
23
+ out vec2 v_responsiveBoxGivenSize;
24
+ out vec2 v_patternUV;
25
+ out vec2 v_patternBoxSize;
26
+ out vec2 v_imageUV;
27
+
28
+ vec3 getBoxSize(float boxRatio, vec2 givenBoxSize) {
29
+ vec2 box = vec2(0.);
30
+ // fit = none
31
+ box.x = boxRatio * min(givenBoxSize.x / boxRatio, givenBoxSize.y);
32
+ float noFitBoxWidth = box.x;
33
+ if (u_fit == 1.) { // fit = contain
34
+ box.x = boxRatio * min(u_resolution.x / boxRatio, u_resolution.y);
35
+ } else if (u_fit == 2.) { // fit = cover
36
+ box.x = boxRatio * max(u_resolution.x / boxRatio, u_resolution.y);
37
+ }
38
+ box.y = box.x / boxRatio;
39
+ return vec3(box, noFitBoxWidth);
40
+ }
41
+
42
+ void main() {
43
+ gl_Position = a_position;
44
+
45
+ vec2 uv = gl_Position.xy * .5;
46
+ vec2 boxOrigin = vec2(.5 - u_originX, u_originY - .5);
47
+ vec2 givenBoxSize = vec2(u_worldWidth, u_worldHeight);
48
+ givenBoxSize = max(givenBoxSize, vec2(1.)) * u_pixelRatio;
49
+ float r = u_rotation * 3.14159265358979323846 / 180.;
50
+ mat2 graphicRotation = mat2(cos(r), sin(r), -sin(r), cos(r));
51
+ vec2 graphicOffset = vec2(-u_offsetX, u_offsetY);
52
+
53
+
54
+ // ===================================================
55
+
56
+ float fixedRatio = 1.;
57
+ vec2 fixedRatioBoxGivenSize = vec2(
58
+ (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,
59
+ (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y
60
+ );
61
+
62
+ v_objectBoxSize = getBoxSize(fixedRatio, fixedRatioBoxGivenSize).xy;
63
+ vec2 objectWorldScale = u_resolution.xy / v_objectBoxSize;
64
+
65
+ v_objectUV = uv;
66
+ v_objectUV *= objectWorldScale;
67
+ v_objectUV += boxOrigin * (objectWorldScale - 1.);
68
+ v_objectUV += graphicOffset;
69
+ v_objectUV /= u_scale;
70
+ v_objectUV = graphicRotation * v_objectUV;
71
+
72
+ // ===================================================
73
+
74
+ v_responsiveBoxGivenSize = vec2(
75
+ (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,
76
+ (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y
77
+ );
78
+ float responsiveRatio = v_responsiveBoxGivenSize.x / v_responsiveBoxGivenSize.y;
79
+ vec2 responsiveBoxSize = getBoxSize(responsiveRatio, v_responsiveBoxGivenSize).xy;
80
+ vec2 responsiveBoxScale = u_resolution.xy / responsiveBoxSize;
81
+
82
+ #ifdef ADD_HELPERS
83
+ v_responsiveHelperBox = uv;
84
+ v_responsiveHelperBox *= responsiveBoxScale;
85
+ v_responsiveHelperBox += boxOrigin * (responsiveBoxScale - 1.);
86
+ #endif
87
+
88
+ v_responsiveUV = uv;
89
+ v_responsiveUV *= responsiveBoxScale;
90
+ v_responsiveUV += boxOrigin * (responsiveBoxScale - 1.);
91
+ v_responsiveUV += graphicOffset;
92
+ v_responsiveUV /= u_scale;
93
+ v_responsiveUV.x *= responsiveRatio;
94
+ v_responsiveUV = graphicRotation * v_responsiveUV;
95
+ v_responsiveUV.x /= responsiveRatio;
96
+
97
+ // ===================================================
98
+
99
+ float patternBoxRatio = givenBoxSize.x / givenBoxSize.y;
100
+ vec2 patternBoxGivenSize = vec2(
101
+ (u_worldWidth == 0.) ? u_resolution.x : givenBoxSize.x,
102
+ (u_worldHeight == 0.) ? u_resolution.y : givenBoxSize.y
103
+ );
104
+ patternBoxRatio = patternBoxGivenSize.x / patternBoxGivenSize.y;
105
+
106
+ vec3 boxSizeData = getBoxSize(patternBoxRatio, patternBoxGivenSize);
107
+ v_patternBoxSize = boxSizeData.xy;
108
+ float patternBoxNoFitBoxWidth = boxSizeData.z;
109
+ vec2 patternBoxScale = u_resolution.xy / v_patternBoxSize;
110
+
111
+ v_patternUV = uv;
112
+ v_patternUV += graphicOffset / patternBoxScale;
113
+ v_patternUV += boxOrigin;
114
+ v_patternUV -= boxOrigin / patternBoxScale;
115
+ v_patternUV *= u_resolution.xy;
116
+ v_patternUV /= u_pixelRatio;
117
+ if (u_fit > 0.) {
118
+ v_patternUV *= (patternBoxNoFitBoxWidth / v_patternBoxSize.x);
119
+ }
120
+ v_patternUV /= u_scale;
121
+ v_patternUV = graphicRotation * v_patternUV;
122
+ v_patternUV += boxOrigin / patternBoxScale;
123
+ v_patternUV -= boxOrigin;
124
+ // x100 is a default multiplier between vertex and fragmant shaders
125
+ // we use it to avoid UV presision issues
126
+ v_patternUV *= .01;
127
+
128
+ // ===================================================
129
+
130
+ vec2 imageBoxSize;
131
+ if (u_fit == 1.) { // contain
132
+ imageBoxSize.x = min(u_resolution.x / u_imageAspectRatio, u_resolution.y) * u_imageAspectRatio;
133
+ } else if (u_fit == 2.) { // cover
134
+ imageBoxSize.x = max(u_resolution.x / u_imageAspectRatio, u_resolution.y) * u_imageAspectRatio;
135
+ } else {
136
+ imageBoxSize.x = min(10.0, 10.0 / u_imageAspectRatio * u_imageAspectRatio);
137
+ }
138
+ imageBoxSize.y = imageBoxSize.x / u_imageAspectRatio;
139
+ vec2 imageBoxScale = u_resolution.xy / imageBoxSize;
140
+
141
+ v_imageUV = uv;
142
+ v_imageUV *= imageBoxScale;
143
+ v_imageUV += boxOrigin * (imageBoxScale - 1.);
144
+ v_imageUV += graphicOffset;
145
+ v_imageUV /= u_scale;
146
+ v_imageUV.x *= u_imageAspectRatio;
147
+ v_imageUV = graphicRotation * v_imageUV;
148
+ v_imageUV.x /= u_imageAspectRatio;
149
+
150
+ v_imageUV += .5;
151
+ v_imageUV.y = 1. - v_imageUV.y;
152
+ }`,Fs=1920*1080*4;class nf{constructor(t,n,o,r,a=0,i=0,s=2,l=Fs,c=[]){H(this,"parentElement");H(this,"canvasElement");H(this,"gl");H(this,"program",null);H(this,"uniformLocations",{});H(this,"fragmentShader");H(this,"rafId",null);H(this,"lastRenderTime",0);H(this,"currentFrame",0);H(this,"speed",0);H(this,"currentSpeed",0);H(this,"providedUniforms");H(this,"mipmaps",[]);H(this,"hasBeenDisposed",!1);H(this,"resolutionChanged",!0);H(this,"textures",new Map);H(this,"minPixelRatio");H(this,"maxPixelCount");H(this,"isSafari",af());H(this,"uniformCache",{});H(this,"textureUnitMap",new Map);H(this,"ownerDocument");H(this,"initProgram",()=>{const t=of(this.gl,tf,this.fragmentShader);t&&(this.program=t)});H(this,"setupPositionAttribute",()=>{const t=this.gl.getAttribLocation(this.program,"a_position"),n=this.gl.createBuffer();this.gl.bindBuffer(this.gl.ARRAY_BUFFER,n);const o=[-1,-1,1,-1,-1,1,-1,1,1,-1,1,1];this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(o),this.gl.STATIC_DRAW),this.gl.enableVertexAttribArray(t),this.gl.vertexAttribPointer(t,2,this.gl.FLOAT,!1,0,0)});H(this,"setupUniforms",()=>{const t={u_time:this.gl.getUniformLocation(this.program,"u_time"),u_pixelRatio:this.gl.getUniformLocation(this.program,"u_pixelRatio"),u_resolution:this.gl.getUniformLocation(this.program,"u_resolution")};Object.entries(this.providedUniforms).forEach(([n,o])=>{if(t[n]=this.gl.getUniformLocation(this.program,n),o instanceof HTMLImageElement){const r=`${n}AspectRatio`;t[r]=this.gl.getUniformLocation(this.program,r)}}),this.uniformLocations=t});H(this,"renderScale",1);H(this,"parentWidth",0);H(this,"parentHeight",0);H(this,"parentDevicePixelWidth",0);H(this,"parentDevicePixelHeight",0);H(this,"devicePixelsSupported",!1);H(this,"resizeObserver",null);H(this,"setupResizeObserver",()=>{this.resizeObserver=new ResizeObserver(([t])=>{var n;if(t!=null&&t.borderBoxSize[0]){const o=(n=t.devicePixelContentBoxSize)==null?void 0:n[0];o!==void 0&&(this.devicePixelsSupported=!0,this.parentDevicePixelWidth=o.inlineSize,this.parentDevicePixelHeight=o.blockSize),this.parentWidth=t.borderBoxSize[0].inlineSize,this.parentHeight=t.borderBoxSize[0].blockSize}this.handleResize()}),this.resizeObserver.observe(this.parentElement)});H(this,"handleVisualViewportChange",()=>{var t;(t=this.resizeObserver)==null||t.disconnect(),this.setupResizeObserver()});H(this,"handleResize",()=>{let t=0,n=0;const o=Math.max(1,window.devicePixelRatio),r=(visualViewport==null?void 0:visualViewport.scale)??1;if(this.devicePixelsSupported){const d=Math.max(1,this.minPixelRatio/o);t=this.parentDevicePixelWidth*d*r,n=this.parentDevicePixelHeight*d*r}else{let d=Math.max(o,this.minPixelRatio)*r;if(this.isSafari){const m=sf(this.ownerDocument);d*=Math.max(1,m)}t=Math.round(this.parentWidth)*d,n=Math.round(this.parentHeight)*d}const a=Math.sqrt(this.maxPixelCount)/Math.sqrt(t*n),i=Math.min(1,a),s=Math.round(t*i),l=Math.round(n*i),c=s/Math.round(this.parentWidth);(this.canvasElement.width!==s||this.canvasElement.height!==l||this.renderScale!==c)&&(this.renderScale=c,this.canvasElement.width=s,this.canvasElement.height=l,this.resolutionChanged=!0,this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.render(performance.now()))});H(this,"render",t=>{if(this.hasBeenDisposed)return;if(this.program===null){console.warn("Tried to render before program or gl was initialized");return}const n=t-this.lastRenderTime;this.lastRenderTime=t,this.currentSpeed!==0&&(this.currentFrame+=n*this.currentSpeed),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.useProgram(this.program),this.gl.uniform1f(this.uniformLocations.u_time,this.currentFrame*.001),this.resolutionChanged&&(this.gl.uniform2f(this.uniformLocations.u_resolution,this.gl.canvas.width,this.gl.canvas.height),this.gl.uniform1f(this.uniformLocations.u_pixelRatio,this.renderScale),this.resolutionChanged=!1),this.gl.drawArrays(this.gl.TRIANGLES,0,6),this.currentSpeed!==0?this.requestRender():this.rafId=null});H(this,"requestRender",()=>{this.rafId!==null&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame(this.render)});H(this,"setTextureUniform",(t,n)=>{if(!n.complete||n.naturalWidth===0)throw new Error(`Paper Shaders: image for uniform ${t} must be fully loaded`);const o=this.textures.get(t);o&&this.gl.deleteTexture(o),this.textureUnitMap.has(t)||this.textureUnitMap.set(t,this.textureUnitMap.size);const r=this.textureUnitMap.get(t);this.gl.activeTexture(this.gl.TEXTURE0+r);const a=this.gl.createTexture();this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,n),this.mipmaps.includes(t)&&(this.gl.generateMipmap(this.gl.TEXTURE_2D),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR_MIPMAP_LINEAR));const i=this.gl.getError();if(i!==this.gl.NO_ERROR||a===null){console.error("Paper Shaders: WebGL error when uploading texture:",i);return}this.textures.set(t,a);const s=this.uniformLocations[t];if(s){this.gl.uniform1i(s,r);const l=`${t}AspectRatio`,c=this.uniformLocations[l];if(c){const d=n.naturalWidth/n.naturalHeight;this.gl.uniform1f(c,d)}}});H(this,"areUniformValuesEqual",(t,n)=>t===n?!0:Array.isArray(t)&&Array.isArray(n)&&t.length===n.length?t.every((o,r)=>this.areUniformValuesEqual(o,n[r])):!1);H(this,"setUniformValues",t=>{this.gl.useProgram(this.program),Object.entries(t).forEach(([n,o])=>{let r=o;if(o instanceof HTMLImageElement&&(r=`${o.src.slice(0,200)}|${o.naturalWidth}x${o.naturalHeight}`),this.areUniformValuesEqual(this.uniformCache[n],r))return;this.uniformCache[n]=r;const a=this.uniformLocations[n];if(!a){console.warn(`Uniform location for ${n} not found`);return}if(o instanceof HTMLImageElement)this.setTextureUniform(n,o);else if(Array.isArray(o)){let i=null,s=null;if(o[0]!==void 0&&Array.isArray(o[0])){const l=o[0].length;if(o.every(c=>c.length===l))i=o.flat(),s=l;else{console.warn(`All child arrays must be the same length for ${n}`);return}}else i=o,s=i.length;switch(s){case 2:this.gl.uniform2fv(a,i);break;case 3:this.gl.uniform3fv(a,i);break;case 4:this.gl.uniform4fv(a,i);break;case 9:this.gl.uniformMatrix3fv(a,!1,i);break;case 16:this.gl.uniformMatrix4fv(a,!1,i);break;default:console.warn(`Unsupported uniform array length: ${s}`)}}else typeof o=="number"?this.gl.uniform1f(a,o):typeof o=="boolean"?this.gl.uniform1i(a,o?1:0):console.warn(`Unsupported uniform type for ${n}: ${typeof o}`)})});H(this,"getCurrentFrame",()=>this.currentFrame);H(this,"setFrame",t=>{this.currentFrame=t,this.lastRenderTime=performance.now(),this.render(performance.now())});H(this,"setSpeed",(t=1)=>{this.speed=t,this.setCurrentSpeed(this.ownerDocument.hidden?0:t)});H(this,"setCurrentSpeed",t=>{this.currentSpeed=t,this.rafId===null&&t!==0&&(this.lastRenderTime=performance.now(),this.rafId=requestAnimationFrame(this.render)),this.rafId!==null&&t===0&&(cancelAnimationFrame(this.rafId),this.rafId=null)});H(this,"setMaxPixelCount",(t=Fs)=>{this.maxPixelCount=t,this.handleResize()});H(this,"setMinPixelRatio",(t=2)=>{this.minPixelRatio=t,this.handleResize()});H(this,"setUniforms",t=>{this.setUniformValues(t),this.providedUniforms={...this.providedUniforms,...t},this.render(performance.now())});H(this,"handleDocumentVisibilityChange",()=>{this.setCurrentSpeed(this.ownerDocument.hidden?0:this.speed)});H(this,"dispose",()=>{this.hasBeenDisposed=!0,this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.gl&&this.program&&(this.textures.forEach(t=>{this.gl.deleteTexture(t)}),this.textures.clear(),this.gl.deleteProgram(this.program),this.program=null,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,null),this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,null),this.gl.bindRenderbuffer(this.gl.RENDERBUFFER,null),this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,null),this.gl.getError()),this.resizeObserver&&(this.resizeObserver.disconnect(),this.resizeObserver=null),visualViewport==null||visualViewport.removeEventListener("resize",this.handleVisualViewportChange),this.ownerDocument.removeEventListener("visibilitychange",this.handleDocumentVisibilityChange),this.uniformLocations={},this.canvasElement.remove(),delete this.parentElement.paperShaderMount});if((t==null?void 0:t.nodeType)===1)this.parentElement=t;else throw new Error("Paper Shaders: parent element must be an HTMLElement");if(this.ownerDocument=t.ownerDocument,!this.ownerDocument.querySelector("style[data-paper-shader]")){const p=this.ownerDocument.createElement("style");p.innerHTML=rf,p.setAttribute("data-paper-shader",""),this.ownerDocument.head.prepend(p)}const d=this.ownerDocument.createElement("canvas");this.canvasElement=d,this.parentElement.prepend(d),this.fragmentShader=n,this.providedUniforms=o,this.mipmaps=c,this.currentFrame=i,this.minPixelRatio=s,this.maxPixelCount=l;const m=d.getContext("webgl2",r);if(!m)throw new Error("Paper Shaders: WebGL is not supported in this browser");this.gl=m,this.initProgram(),this.setupPositionAttribute(),this.setupUniforms(),this.setUniformValues(this.providedUniforms),this.setupResizeObserver(),visualViewport==null||visualViewport.addEventListener("resize",this.handleVisualViewportChange),this.setSpeed(a),this.parentElement.setAttribute("data-paper-shader",""),this.parentElement.paperShaderMount=this,this.ownerDocument.addEventListener("visibilitychange",this.handleDocumentVisibilityChange)}}function Is(e,t,n){const o=e.createShader(t);return o?(e.shaderSource(o,n),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS)?o:(console.error("An error occurred compiling the shaders: "+e.getShaderInfoLog(o)),e.deleteShader(o),null)):null}function of(e,t,n){const o=e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.MEDIUM_FLOAT),r=o?o.precision:null;r&&r<23&&(t=t.replace(/precision\s+(lowp|mediump)\s+float;/g,"precision highp float;"),n=n.replace(/precision\s+(lowp|mediump)\s+float/g,"precision highp float").replace(/\b(uniform|varying|attribute)\s+(lowp|mediump)\s+(\w+)/g,"$1 highp $3"));const a=Is(e,e.VERTEX_SHADER,t),i=Is(e,e.FRAGMENT_SHADER,n);if(!a||!i)return null;const s=e.createProgram();return s?(e.attachShader(s,a),e.attachShader(s,i),e.linkProgram(s),e.getProgramParameter(s,e.LINK_STATUS)?(e.detachShader(s,a),e.detachShader(s,i),e.deleteShader(a),e.deleteShader(i),s):(console.error("Unable to initialize the shader program: "+e.getProgramInfoLog(s)),e.deleteProgram(s),e.deleteShader(a),e.deleteShader(i),null)):null}const rf=`@layer paper-shaders {
153
+ :where([data-paper-shader]) {
154
+ isolation: isolate;
155
+ position: relative;
156
+
157
+ & canvas {
158
+ contain: strict;
159
+ display: block;
160
+ position: absolute;
161
+ inset: 0;
162
+ z-index: -1;
163
+ width: 100%;
164
+ height: 100%;
165
+ border-radius: inherit;
166
+ corner-shape: inherit;
167
+ }
168
+ }
169
+ }`;function af(){const e=navigator.userAgent.toLowerCase();return e.includes("safari")&&!e.includes("chrome")&&!e.includes("android")}function sf(e){const t=(visualViewport==null?void 0:visualViewport.scale)??1,n=(visualViewport==null?void 0:visualViewport.width)??window.innerWidth,o=window.innerWidth-e.documentElement.clientWidth,r=t*n+o,a=outerWidth/r,i=Math.round(100*a);return i%5===0?i/100:i===33?1/3:i===67?2/3:i===133?4/3:a}const Oa={contain:1,cover:2},lf=`
170
+ #define TWO_PI 6.28318530718
171
+ #define PI 3.14159265358979323846
172
+ `,cf=`
173
+ vec2 rotate(vec2 uv, float th) {
174
+ return mat2(cos(th), sin(th), -sin(th), cos(th)) * uv;
175
+ }
176
+ `,df=`
177
+ color += 1. / 256. * (fract(sin(dot(.014 * gl_FragCoord.xy, vec2(12.9898, 78.233))) * 43758.5453123) - .5);
178
+ `,uf=`
179
+ vec3 permute(vec3 x) { return mod(((x * 34.0) + 1.0) * x, 289.0); }
180
+ float snoise(vec2 v) {
181
+ const vec4 C = vec4(0.211324865405187, 0.366025403784439,
182
+ -0.577350269189626, 0.024390243902439);
183
+ vec2 i = floor(v + dot(v, C.yy));
184
+ vec2 x0 = v - i + dot(i, C.xx);
185
+ vec2 i1;
186
+ i1 = (x0.x > x0.y) ? vec2(1.0, 0.0) : vec2(0.0, 1.0);
187
+ vec4 x12 = x0.xyxy + C.xxzz;
188
+ x12.xy -= i1;
189
+ i = mod(i, 289.0);
190
+ vec3 p = permute(permute(i.y + vec3(0.0, i1.y, 1.0))
191
+ + i.x + vec3(0.0, i1.x, 1.0));
192
+ vec3 m = max(0.5 - vec3(dot(x0, x0), dot(x12.xy, x12.xy),
193
+ dot(x12.zw, x12.zw)), 0.0);
194
+ m = m * m;
195
+ m = m * m;
196
+ vec3 x = 2.0 * fract(p * C.www) - 1.0;
197
+ vec3 h = abs(x) - 0.5;
198
+ vec3 ox = floor(x + 0.5);
199
+ vec3 a0 = x - ox;
200
+ m *= 1.79284291400159 - 0.85373472095314 * (a0 * a0 + h * h);
201
+ vec3 g;
202
+ g.x = a0.x * x0.x + h.x * x0.y;
203
+ g.yz = a0.yz * x12.xz + h.yz * x12.yw;
204
+ return 130.0 * dot(m, g);
205
+ }
206
+ `,mf=`#version 300 es
207
+ precision mediump float;
208
+
209
+ uniform sampler2D u_image;
210
+ uniform float u_imageAspectRatio;
211
+
212
+ uniform vec2 u_resolution;
213
+ uniform float u_time;
214
+
215
+ uniform vec4 u_colorBack;
216
+ uniform vec4 u_colorTint;
217
+
218
+ uniform float u_softness;
219
+ uniform float u_repetition;
220
+ uniform float u_shiftRed;
221
+ uniform float u_shiftBlue;
222
+ uniform float u_distortion;
223
+ uniform float u_contour;
224
+ uniform float u_angle;
225
+
226
+ uniform float u_shape;
227
+ uniform bool u_isImage;
228
+
229
+ in vec2 v_objectUV;
230
+ in vec2 v_responsiveUV;
231
+ in vec2 v_responsiveBoxGivenSize;
232
+ in vec2 v_imageUV;
233
+
234
+ out vec4 fragColor;
235
+
236
+ ${lf}
237
+ ${cf}
238
+ ${uf}
239
+
240
+ float getColorChanges(float c1, float c2, float stripe_p, vec3 w, float blur, float bump, float tint) {
241
+
242
+ float ch = mix(c2, c1, smoothstep(.0, 2. * blur, stripe_p));
243
+
244
+ float border = w[0];
245
+ ch = mix(ch, c2, smoothstep(border, border + 2. * blur, stripe_p));
246
+
247
+ if (u_isImage == true) {
248
+ bump = smoothstep(.2, .8, bump);
249
+ }
250
+ border = w[0] + .4 * (1. - bump) * w[1];
251
+ ch = mix(ch, c1, smoothstep(border, border + 2. * blur, stripe_p));
252
+
253
+ border = w[0] + .5 * (1. - bump) * w[1];
254
+ ch = mix(ch, c2, smoothstep(border, border + 2. * blur, stripe_p));
255
+
256
+ border = w[0] + w[1];
257
+ ch = mix(ch, c1, smoothstep(border, border + 2. * blur, stripe_p));
258
+
259
+ float gradient_t = (stripe_p - w[0] - w[1]) / w[2];
260
+ float gradient = mix(c1, c2, smoothstep(0., 1., gradient_t));
261
+ ch = mix(ch, gradient, smoothstep(border, border + .5 * blur, stripe_p));
262
+
263
+ // Tint color is applied with color burn blending
264
+ ch = mix(ch, 1. - min(1., (1. - ch) / max(tint, 0.0001)), u_colorTint.a);
265
+ return ch;
266
+ }
267
+
268
+ float getImgFrame(vec2 uv, float th) {
269
+ float frame = 1.;
270
+ frame *= smoothstep(0., th, uv.y);
271
+ frame *= 1.0 - smoothstep(1. - th, 1., uv.y);
272
+ frame *= smoothstep(0., th, uv.x);
273
+ frame *= 1.0 - smoothstep(1. - th, 1., uv.x);
274
+ return frame;
275
+ }
276
+
277
+ float blurEdge3x3(sampler2D tex, vec2 uv, vec2 dudx, vec2 dudy, float radius, float centerSample) {
278
+ vec2 texel = 1.0 / vec2(textureSize(tex, 0));
279
+ vec2 r = radius * texel;
280
+
281
+ float w1 = 1.0, w2 = 2.0, w4 = 4.0;
282
+ float norm = 16.0;
283
+ float sum = w4 * centerSample;
284
+
285
+ sum += w2 * textureGrad(tex, uv + vec2(0.0, -r.y), dudx, dudy).r;
286
+ sum += w2 * textureGrad(tex, uv + vec2(0.0, r.y), dudx, dudy).r;
287
+ sum += w2 * textureGrad(tex, uv + vec2(-r.x, 0.0), dudx, dudy).r;
288
+ sum += w2 * textureGrad(tex, uv + vec2(r.x, 0.0), dudx, dudy).r;
289
+
290
+ sum += w1 * textureGrad(tex, uv + vec2(-r.x, -r.y), dudx, dudy).r;
291
+ sum += w1 * textureGrad(tex, uv + vec2(r.x, -r.y), dudx, dudy).r;
292
+ sum += w1 * textureGrad(tex, uv + vec2(-r.x, r.y), dudx, dudy).r;
293
+ sum += w1 * textureGrad(tex, uv + vec2(r.x, r.y), dudx, dudy).r;
294
+
295
+ return sum / norm;
296
+ }
297
+
298
+ float lst(float edge0, float edge1, float x) {
299
+ return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0);
300
+ }
301
+
302
+ void main() {
303
+
304
+ const float firstFrameOffset = 2.8;
305
+ float t = .3 * (u_time + firstFrameOffset);
306
+
307
+ vec2 uv = v_imageUV;
308
+ vec2 dudx = dFdx(v_imageUV);
309
+ vec2 dudy = dFdy(v_imageUV);
310
+ vec4 img = textureGrad(u_image, uv, dudx, dudy);
311
+
312
+ if (u_isImage == false) {
313
+ uv = v_objectUV + .5;
314
+ uv.y = 1. - uv.y;
315
+ }
316
+
317
+ float cycleWidth = u_repetition;
318
+ float edge = 0.;
319
+ float contOffset = 1.;
320
+
321
+ vec2 rotatedUV = uv - vec2(.5);
322
+ float angle = (-u_angle + 70.) * PI / 180.;
323
+ float cosA = cos(angle);
324
+ float sinA = sin(angle);
325
+ rotatedUV = vec2(
326
+ rotatedUV.x * cosA - rotatedUV.y * sinA,
327
+ rotatedUV.x * sinA + rotatedUV.y * cosA
328
+ ) + vec2(.5);
329
+
330
+ if (u_isImage == true) {
331
+ float edgeRaw = img.r;
332
+ edge = blurEdge3x3(u_image, uv, dudx, dudy, 6., edgeRaw);
333
+ edge = pow(edge, 1.6);
334
+ edge *= mix(0.0, 1.0, smoothstep(0.0, 0.4, u_contour));
335
+ } else {
336
+ if (u_shape < 1.) {
337
+ // full-fill on canvas
338
+ vec2 borderUV = v_responsiveUV + .5;
339
+ float ratio = v_responsiveBoxGivenSize.x / v_responsiveBoxGivenSize.y;
340
+ vec2 mask = min(borderUV, 1. - borderUV);
341
+ vec2 pixel_thickness = min(250. / v_responsiveBoxGivenSize, vec2(.5));
342
+ float maskX = smoothstep(0.0, pixel_thickness.x, mask.x);
343
+ float maskY = smoothstep(0.0, pixel_thickness.y, mask.y);
344
+ maskX = pow(maskX, .25);
345
+ maskY = pow(maskY, .25);
346
+ edge = clamp(1. - maskX * maskY, 0., 1.);
347
+
348
+ uv = v_responsiveUV;
349
+ if (ratio > 1.) {
350
+ uv.y /= ratio;
351
+ } else {
352
+ uv.x *= ratio;
353
+ }
354
+ uv += .5;
355
+ uv.y = 1. - uv.y;
356
+
357
+ cycleWidth *= 2.;
358
+ contOffset = 1.5;
359
+
360
+ } else if (u_shape < 2.) {
361
+ // circle
362
+ vec2 shapeUV = uv - .5;
363
+ shapeUV *= .67;
364
+ edge = pow(clamp(3. * length(shapeUV), 0., 1.), 18.);
365
+ } else if (u_shape < 3.) {
366
+ // daisy
367
+ vec2 shapeUV = uv - .5;
368
+ shapeUV *= 1.68;
369
+
370
+ float r = length(shapeUV) * 2.;
371
+ float a = atan(shapeUV.y, shapeUV.x) + .2;
372
+ r *= (1. + .05 * sin(3. * a + 2. * t));
373
+ float f = abs(cos(a * 3.));
374
+ edge = smoothstep(f, f + .7, r);
375
+ edge *= edge;
376
+
377
+ uv *= .8;
378
+ cycleWidth *= 1.6;
379
+
380
+ } else if (u_shape < 4.) {
381
+ // diamond
382
+ vec2 shapeUV = uv - .5;
383
+ shapeUV = rotate(shapeUV, .25 * PI);
384
+ shapeUV *= 1.42;
385
+ shapeUV += .5;
386
+ vec2 mask = min(shapeUV, 1. - shapeUV);
387
+ vec2 pixel_thickness = vec2(.15);
388
+ float maskX = smoothstep(0.0, pixel_thickness.x, mask.x);
389
+ float maskY = smoothstep(0.0, pixel_thickness.y, mask.y);
390
+ maskX = pow(maskX, .25);
391
+ maskY = pow(maskY, .25);
392
+ edge = clamp(1. - maskX * maskY, 0., 1.);
393
+ } else if (u_shape < 5.) {
394
+ // metaballs
395
+ vec2 shapeUV = uv - .5;
396
+ shapeUV *= 1.3;
397
+ edge = 0.;
398
+ for (int i = 0; i < 5; i++) {
399
+ float fi = float(i);
400
+ float speed = 1.5 + 2./3. * sin(fi * 12.345);
401
+ float angle = -fi * 1.5;
402
+ vec2 dir1 = vec2(cos(angle), sin(angle));
403
+ vec2 dir2 = vec2(cos(angle + 1.57), sin(angle + 1.));
404
+ vec2 traj = .4 * (dir1 * sin(t * speed + fi * 1.23) + dir2 * cos(t * (speed * 0.7) + fi * 2.17));
405
+ float d = length(shapeUV + traj);
406
+ edge += pow(1.0 - clamp(d, 0.0, 1.0), 4.0);
407
+ }
408
+ edge = 1. - smoothstep(.65, .9, edge);
409
+ edge = pow(edge, 4.);
410
+ }
411
+
412
+ edge = mix(smoothstep(.9 - 2. * fwidth(edge), .9, edge), edge, smoothstep(0.0, 0.4, u_contour));
413
+
414
+ }
415
+
416
+ float opacity = 0.;
417
+ if (u_isImage == true) {
418
+ opacity = img.g;
419
+ float frame = getImgFrame(v_imageUV, 0.);
420
+ opacity *= frame;
421
+ } else {
422
+ opacity = 1. - smoothstep(.9 - 2. * fwidth(edge), .9, edge);
423
+ if (u_shape < 2.) {
424
+ edge = 1.2 * edge;
425
+ } else if (u_shape < 5.) {
426
+ edge = 1.8 * pow(edge, 1.5);
427
+ }
428
+ }
429
+
430
+ float diagBLtoTR = rotatedUV.x - rotatedUV.y;
431
+ float diagTLtoBR = rotatedUV.x + rotatedUV.y;
432
+
433
+ vec3 color = vec3(0.);
434
+ vec3 color1 = vec3(.98, 0.98, 1.);
435
+ vec3 color2 = vec3(.1, .1, .1 + .1 * smoothstep(.7, 1.3, diagTLtoBR));
436
+
437
+ vec2 grad_uv = uv - .5;
438
+
439
+ float dist = length(grad_uv + vec2(0., .2 * diagBLtoTR));
440
+ grad_uv = rotate(grad_uv, (.25 - .2 * diagBLtoTR) * PI);
441
+ float direction = grad_uv.x;
442
+
443
+ float bump = pow(1.8 * dist, 1.2);
444
+ bump = 1. - bump;
445
+ bump *= pow(uv.y, .3);
446
+
447
+
448
+ float thin_strip_1_ratio = .12 / cycleWidth * (1. - .4 * bump);
449
+ float thin_strip_2_ratio = .07 / cycleWidth * (1. + .4 * bump);
450
+ float wide_strip_ratio = (1. - thin_strip_1_ratio - thin_strip_2_ratio);
451
+
452
+ float thin_strip_1_width = cycleWidth * thin_strip_1_ratio;
453
+ float thin_strip_2_width = cycleWidth * thin_strip_2_ratio;
454
+
455
+ float noise = snoise(uv - t);
456
+
457
+ edge += (1. - edge) * u_distortion * noise;
458
+
459
+ direction += diagBLtoTR;
460
+ float contour = 0.;
461
+ direction -= 2. * noise * diagBLtoTR * (smoothstep(0., 1., edge) * (1.0 - smoothstep(0., 1., edge)));
462
+ direction *= mix(1., 1. - edge, smoothstep(.5, 1., u_contour));
463
+ direction -= 1.7 * edge * smoothstep(.5, 1., u_contour);
464
+ direction += .2 * pow(u_contour, 4.) * (1.0 - smoothstep(0., 1., edge));
465
+
466
+ bump *= clamp(pow(uv.y, .1), .3, 1.);
467
+ direction *= (.1 + (1.1 - edge) * bump);
468
+
469
+ direction *= (.4 + .6 * (1.0 - smoothstep(.5, 1., edge)));
470
+ direction += .18 * (smoothstep(.1, .2, uv.y) * (1.0 - smoothstep(.2, .4, uv.y)));
471
+ direction += .03 * (smoothstep(.1, .2, 1. - uv.y) * (1.0 - smoothstep(.2, .4, 1. - uv.y)));
472
+
473
+ direction *= (.5 + .5 * pow(uv.y, 2.));
474
+ direction *= cycleWidth;
475
+ direction -= t;
476
+
477
+
478
+ float colorDispersion = (1. - bump);
479
+ colorDispersion = clamp(colorDispersion, 0., 1.);
480
+ float dispersionRed = colorDispersion;
481
+ dispersionRed += .03 * bump * noise;
482
+ dispersionRed += 5. * (smoothstep(-.1, .2, uv.y) * (1.0 - smoothstep(.1, .5, uv.y))) * (smoothstep(.4, .6, bump) * (1.0 - smoothstep(.4, 1., bump)));
483
+ dispersionRed -= diagBLtoTR;
484
+
485
+ float dispersionBlue = colorDispersion;
486
+ dispersionBlue *= 1.3;
487
+ dispersionBlue += (smoothstep(0., .4, uv.y) * (1.0 - smoothstep(.1, .8, uv.y))) * (smoothstep(.4, .6, bump) * (1.0 - smoothstep(.4, .8, bump)));
488
+ dispersionBlue -= .2 * edge;
489
+
490
+ dispersionRed *= (u_shiftRed / 20.);
491
+ dispersionBlue *= (u_shiftBlue / 20.);
492
+
493
+ float blur = 0.;
494
+ float rExtraBlur = 0.;
495
+ float gExtraBlur = 0.;
496
+ if (u_isImage == true) {
497
+ float softness = 0.05 * u_softness;
498
+ blur = softness + .5 * smoothstep(1., 10., u_repetition) * smoothstep(.0, 1., edge);
499
+ float smallCanvasT = 1.0 - smoothstep(100., 500., min(u_resolution.x, u_resolution.y));
500
+ blur += smallCanvasT * smoothstep(.0, 1., edge);
501
+ rExtraBlur = softness * (0.05 + .1 * (u_shiftRed / 20.) * bump);
502
+ gExtraBlur = softness * 0.05 / max(0.001, abs(1. - diagBLtoTR));
503
+ } else {
504
+ blur = u_softness / 15. + .3 * contour;
505
+ }
506
+
507
+ vec3 w = vec3(thin_strip_1_width, thin_strip_2_width, wide_strip_ratio);
508
+ w[1] -= .02 * smoothstep(.0, 1., edge + bump);
509
+ float stripe_r = fract(direction + dispersionRed);
510
+ float r = getColorChanges(color1.r, color2.r, stripe_r, w, blur + fwidth(stripe_r) + rExtraBlur, bump, u_colorTint.r);
511
+ float stripe_g = fract(direction);
512
+ float g = getColorChanges(color1.g, color2.g, stripe_g, w, blur + fwidth(stripe_g) + gExtraBlur, bump, u_colorTint.g);
513
+ float stripe_b = fract(direction - dispersionBlue);
514
+ float b = getColorChanges(color1.b, color2.b, stripe_b, w, blur + fwidth(stripe_b), bump, u_colorTint.b);
515
+
516
+ color = vec3(r, g, b);
517
+ color *= opacity;
518
+
519
+ vec3 bgColor = u_colorBack.rgb * u_colorBack.a;
520
+ color = color + bgColor * (1. - opacity);
521
+ opacity = opacity + u_colorBack.a * (1. - opacity);
522
+
523
+ ${df}
524
+
525
+ fragColor = vec4(color, opacity);
526
+ }
527
+ `,Fa={none:0,diamond:3};function Li(e){if(Array.isArray(e))return e.length===4?e:e.length===3?[...e,1]:Gr;if(typeof e!="string")return Gr;let t,n,o,r=1;if(e.startsWith("#"))[t,n,o,r]=pf(e);else if(e.startsWith("rgb"))[t,n,o,r]=ff(e);else if(e.startsWith("hsl"))[t,n,o,r]=hf(gf(e));else return console.error("Unsupported color format",e),Gr;return[uo(t,0,1),uo(n,0,1),uo(o,0,1),uo(r,0,1)]}function pf(e){e=e.replace(/^#/,""),e.length===3&&(e=e.split("").map(a=>a+a).join("")),e.length===6&&(e=e+"ff");const t=parseInt(e.slice(0,2),16)/255,n=parseInt(e.slice(2,4),16)/255,o=parseInt(e.slice(4,6),16)/255,r=parseInt(e.slice(6,8),16)/255;return[t,n,o,r]}function ff(e){const t=e.match(/^rgba?\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*([0-9.]+))?\s*\)$/i);return t?[parseInt(t[1]??"0")/255,parseInt(t[2]??"0")/255,parseInt(t[3]??"0")/255,t[4]===void 0?1:parseFloat(t[4])]:[0,0,0,1]}function gf(e){const t=e.match(/^hsla?\s*\(\s*(\d+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(?:,\s*([0-9.]+))?\s*\)$/i);return t?[parseInt(t[1]??"0"),parseInt(t[2]??"0"),parseInt(t[3]??"0"),t[4]===void 0?1:parseFloat(t[4])]:[0,0,0,1]}function hf(e){const[t,n,o,r]=e,a=t/360,i=n/100,s=o/100;let l,c,d;if(n===0)l=c=d=s;else{const m=(h,v,f)=>(f<0&&(f+=1),f>1&&(f-=1),f<.16666666666666666?h+(v-h)*6*f:f<.5?v:f<.6666666666666666?h+(v-h)*(.6666666666666666-f)*6:h),p=s<.5?s*(1+i):s+i-s*i,g=2*s-p;l=m(g,p,a+1/3),c=m(g,p,a),d=m(g,p,a-1/3)}return[l,c,d,r]}const uo=(e,t,n)=>Math.min(Math.max(e,t),n),Gr=[0,0,0,1],vf=(e,t,n,o,r)=>{const a=t.mount.canvasElement.width/t.width;e.ctx.drawImage(t.mount.canvasElement,n*a,n*a,o*a,r*a,0,0,o,r)},Ic=2048*2048,bf=.24,yf=320,Kr={u_angle:138,u_colorTint:Li("#ffffff"),u_contour:.68,u_distortion:1,u_fit:Oa.contain,u_imageAspectRatio:1,u_isImage:!1,u_offsetX:0,u_offsetY:0,u_originX:.5,u_originY:.5,u_repetition:2.36,u_rotation:45,u_scale:1.42,u_shape:Fa.diamond,u_shiftBlue:.3,u_shiftRed:0,u_softness:1,u_worldHeight:0,u_worldWidth:0};let _s=null;const Sf=(e,t)=>{const n=Tf(e);if(!n)return!1;Pf(e),Ef(e,n);const o=e.isStatic?0:(t+(e.motionOffset||0)*1e3)*bf;return n.mount.setFrame(o),e.isFullscreen?(Rf(e,n),!0):(e.ctx.drawImage(n.mount.canvasElement,0,0,e.width,e.height),!0)},wf=e=>Li(e==="light"?"#868986":"#101112"),Cf=e=>Li(e==="light"?"#d4d2c5":"#d8d7ca"),kf=()=>{const e=document.createElement("div");return e.setAttribute("aria-hidden","true"),Object.assign(e.style,{height:"1px",left:"-10000px",opacity:"0",overflow:"hidden",pointerEvents:"none",position:"fixed",top:"0",width:"1px"}),document.body.appendChild(e),e},xf=()=>document.body?(_s??(_s=kf()),_s):null,_c=e=>{const t=!!e.isFullscreen;return{...Kr,u_colorBack:wf(e.mode),u_colorTint:Cf(e.mode),u_fit:t?Oa.cover:Oa.contain,u_rotation:t?0:Kr.u_rotation,u_scale:t?1:Kr.u_scale,u_shape:t?Fa.none:Fa.diamond}},Lc=e=>{const t=Math.max(1,Math.round(e.width)),n=Math.max(1,Math.round(e.height)),o=e.isFullscreen?yf:0;return{bleed:o,height:n,renderHeight:n+o*2,renderWidth:t+o*2,width:t}},Pf=e=>{const t=e.paperMetalShader;if(!t)return;const{renderWidth:n,renderHeight:o}=Lc(e),r=Math.min(Ic,Math.max(1,Math.round(n*o*e.dpr**2)));t.width===n&&t.height===o&&t.dpr===e.dpr&&t.pixelCount===r||(t.width=n,t.height=o,t.dpr=e.dpr,t.pixelCount=r,t.host.style.width=`${n}px`,t.host.style.height=`${o}px`,t.mount.setMinPixelRatio(Math.max(1,e.dpr)),t.mount.setMaxPixelCount(r),t.mount.parentWidth=n,t.mount.parentHeight=o,t.mount.devicePixelsSupported=!1,t.mount.handleResize())},Tf=e=>{if(e.paperMetalFailed)return null;if(e.paperMetalShader)return e.paperMetalShader;const t=xf();if(!t)return null;const n=document.createElement("div");n.style.width="1px",n.style.height="1px",n.style.borderRadius="inherit",t.appendChild(n);try{const o=new nf(n,mf,_c(e),{alpha:!0,antialias:!0,depth:!1,premultipliedAlpha:!0,preserveDrawingBuffer:!0,stencil:!1},0,0,Math.max(1,e.dpr),Ic);e.paperMetalShader={dpr:0,fullscreen:!!e.isFullscreen,height:0,host:n,mode:e.mode,mount:o,pixelCount:0,width:0}}catch(o){return n.remove(),e.paperMetalFailed=!0,console.warn("Paper Liquid Metal shader unavailable; using canvas fallback.",o),null}return e.paperMetalShader},Ef=(e,t)=>{const n=!!e.isFullscreen;t.mode===e.mode&&t.fullscreen===n||(t.mode=e.mode,t.fullscreen=n,t.mount.setUniforms(_c(e)))},Rf=(e,t)=>{const{bleed:n,height:o,width:r}=Lc(e);vf(e,t,n,r,o)},Af=(e,t)=>{const{ctx:n,height:o,mode:r,theme:a,width:i}=e;if(e.backgroundStyle!=="transparent"){if(e.backgroundStyle==="solid"){n.fillStyle=Up(a,r),n.fillRect(0,0,i,o);return}if(a==="industrial"){const s=n.createLinearGradient(0,0,i,o);r==="light"?(s.addColorStop(0,"#fff8f2"),s.addColorStop(.56,"#fff1e7"),s.addColorStop(1,"#ffe2cf")):(s.addColorStop(0,"#160b07"),s.addColorStop(.56,"#090706"),s.addColorStop(1,"#1b0d08")),n.fillStyle=s,n.fillRect(0,0,i,o);return}if(a==="matrix"){n.fillStyle=r==="light"?"#f7fff9":"#000000",n.fillRect(0,0,i,o);return}if(a==="metal"){Df(e,t);return}n.fillStyle=r==="light"?"#ffffff":"#050505",n.fillRect(0,0,i,o)}},Df=(e,t)=>{if(Sf(e,t))return;const{ctx:n,height:o,mode:r,width:a}=e,i=n.createLinearGradient(0,0,0,o);r==="light"?(i.addColorStop(0,"#dcddd8"),i.addColorStop(.36,"#8e9792"),i.addColorStop(.68,"#ecece6"),i.addColorStop(1,"#7f8985")):(i.addColorStop(0,"#050607"),i.addColorStop(.38,"#343a39"),i.addColorStop(.68,"#0d0f10"),i.addColorStop(1,"#626b68")),n.fillStyle=i,n.fillRect(0,0,a,o)},Mf=(e,t,n)=>{const{ctx:o,height:r,mode:a,theme:i,width:s}=e,l=Math.min(s,r)/Wr,c=(s-Wr*l)/2,d=(r-Wr*l)/2;o.save(),o.translate(c,d),o.scale(l,l),o.lineJoin="round",o.lineWidth=.9/l;for(const m of n)Of(e,m,t);o.restore()},Of=(e,t,n)=>{const o=t.points[0];if(!o)return;const r=Hp(e.theme,e.mode,t.depth,t.u,t.v,n*.001);e.ctx.fillStyle=r,e.ctx.strokeStyle=r,e.ctx.beginPath(),e.ctx.moveTo(o.x,o.y);for(let a=1;a<t.points.length;a+=1){const i=t.points[a];i&&e.ctx.lineTo(i.x,i.y)}e.ctx.closePath(),e.ctx.fill(),e.ctx.stroke()},Ff=["metal","industrial","matrix"],If=["light","dark"],_f=["system","light","dark"],Ia=[{theme:"industrial",primaryColor:"#E23F12"},{theme:"metal",primaryColor:"#3F7E8F"},{theme:"matrix",primaryColor:"#00B454"}],Nc="metal",$c="dark",Lf="system",EP="oneworks",RP=300;var Ec;const AP=((Ec=Ia.find(e=>e.theme===Nc))==null?void 0:Ec.primaryColor)??Ia[0].primaryColor,Ls={"#8B9493":"#3F7E8F"},Ni=(e,t)=>e.includes(t),Bc=e=>Ni(Ff,e)?e:Nc,jc=e=>Ni(If,e)?e:$c,Nf=e=>Ni(_f,e)?e:Lf,DP=e=>{var n;const t=e==null?void 0:e.toUpperCase();return t!=null&&t in Ls?Ls[t]:(n=Ia.find(o=>o.primaryColor===t))==null?void 0:n.primaryColor},$f=e=>{const t=e.getContext("2d");if(!t)throw new Error("Unable to create a 2D canvas context for the OneWorks icon renderer.");return t},Bf=e=>e==="none"||e==="transparent"?"transparent":e==="solid"?"solid":"textured",jf=({backgroundStyle:e,datasetBackground:t,noBackground:n})=>e??(n!=null?n?"transparent":"textured":Bf(t)),Wf=(e,t,n={})=>{const o=n.theme??Bc(t.dataset.theme),r=n.mode??jc(t.dataset.mode),a=n.static??t.dataset.static==="true",i=jf({backgroundStyle:n.backgroundStyle,datasetBackground:t.dataset.background,noBackground:n.noBackground}),s=i==="transparent";return{...e.createMotionSource(),backgroundStyle:i,baseBackgroundStyle:i,baseNoBackground:s,baseStatic:a,canvas:t,ctx:$f(t),dpr:1,heatCellSize:14,heatCells:[],heatCols:0,heatRows:0,height:0,isFullscreen:n.fullscreen??!1,isStatic:a,mode:r,nextHeatUpdate:0,noBackground:s,noShadow:n.shadow===!1,rainColumns:[],rainFontSize:13,root:t.closest(".mobiusLoader"),theme:o,width:0}},Hf=e=>{var t,n;(t=e.paperMetalShader)==null||t.mount.dispose(),(n=e.paperMetalShader)==null||n.host.remove(),e.paperMetalShader=void 0},Ns=(e,t)=>{e.resetMotionSource(t),$i(e,t)},$i=(e,t)=>{t.theme==="matrix"&&t.width>0&&zp(e,t),t.theme==="industrial"&&t.width>0&&qp(e,t)},Wc=(e,t)=>{const n=t.canvas.getBoundingClientRect(),o=Math.max(1,Math.round(n.width)),r=Math.max(1,Math.round(n.height)),a=o*r,i=a>62e4?1:a>26e4?1.5:2,s=Math.min(window.devicePixelRatio||1,i);o===t.width&&r===t.height&&s===t.dpr&&t.canvas.width===Math.round(o*s)||(t.width=o,t.height=r,t.dpr=s,t.canvas.width=Math.round(o*s),t.canvas.height=Math.round(r*s),t.ctx.setTransform(s,0,0,s,0,0),$i(e,t))},Uf=(e,t,n,o)=>{Wc(e,t),Vf(e,t,n,o)},Vf=(e,t,n,o)=>{const{ctx:r,height:a,width:i}=t;r.setTransform(t.dpr,0,0,t.dpr,0,0),r.clearRect(0,0,i,a),Af(t,n),Gp(e,t,n),Mf(t,n,o)},zf=e=>{var t;return((t=window.requestAnimationFrame)==null?void 0:t.call(window,e))??window.setTimeout(()=>e(performance.now()),16)},qf=e=>{window.cancelAnimationFrame?window.cancelAnimationFrame(e):window.clearTimeout(e)},Gf=e=>e===!1||e==="transparent"?"transparent":e==="solid"?"solid":"textured",Hc=e=>e==="transparent"?"none":e==="solid"?"solid":"tile",$s=e=>{const t=Gf(e.background);return{appearance:Nf(e.appearance),autoStart:e.autoStart??!0,background:t!=="transparent",backgroundStyle:t,canvasClassName:e.canvasClassName??"oneworks-icon-loader__canvas",className:e.className??"oneworks-icon-loader",fullscreen:e.fullscreen??!1,mode:e.mode==null?void 0:jc(e.mode),motion:e.motion??!0,random:e.random??e.seed==null,respectReducedMotion:e.respectReducedMotion??!0,seed:Ao(e.seed),shadow:e.shadow??!0,size:e.size,theme:Bc(e.theme)}},Bs=e=>typeof window>"u"||!window.matchMedia?null:window.matchMedia(e),Yr=(e,t)=>e.mode?e.mode:e.appearance==="light"||e.appearance==="dark"?e.appearance:t!=null&&t.matches?"dark":$c,Xr=(e,t)=>e.motion&&(!e.respectReducedMotion||!(t!=null&&t.matches)),js=(e,t)=>{if(t==null)return;const n=typeof t=="number"?`${t}px`:t;e.style.width=n,e.style.height=n},Jr=(e,t,n,o,r,a)=>{const i=o.theme!==r.theme,s=o.mode!==a;o.theme=r.theme,o.mode=a,o.isStatic=!r.motion,o.backgroundStyle=r.backgroundStyle,o.noBackground=r.backgroundStyle==="transparent",o.noShadow=!r.shadow,o.isFullscreen=r.fullscreen,n.dataset.theme=r.theme,n.dataset.mode=a,n.dataset.background=Hc(r.backgroundStyle),n.dataset.static=String(!r.motion),Kf(t,o),(i||s)&&o.width>0&&$i(e,o)},Kf=(e,t)=>{e.classList.remove("metal","industrial","matrix","mode-light","mode-dark","no-bg","no-shadow","fullscreen"),e.classList.add(t.theme,`mode-${t.mode}`),e.classList.toggle("no-bg",t.noBackground),e.classList.toggle("no-shadow",t.noShadow),e.classList.toggle("fullscreen",t.isFullscreen)},Yf=1e3/24,Uc=(e,t={})=>{var E,T;let n=$s(t);const o=Bs("(prefers-reduced-motion: reduce)"),r=Bs("(prefers-color-scheme: dark)"),a=n.random?_t():n.seed??_t(),i=Vp(a),s=document.createElement("canvas"),l=Yr(n,r);s.className=n.canvasClassName,s.dataset.theme=n.theme,s.dataset.mode=l,s.dataset.background=Hc(n.backgroundStyle),s.dataset.static=String(!n.motion),e.classList.add(n.className,"mobiusLoader"),js(e,n.size),e.appendChild(s);const c=Wf(i,s,Xf(n,l));Jr(i,e,s,c,n,l);let d=!1,m=null,p=-1/0;const g=P=>{const M=Xr(n,o),F=P*.001;c.isStatic=!M;const D=c.isStatic?0:1,A=c.isStatic?i.staticMesh:i.buildMesh(F,D,i.getMotionState(F,D,c));Uf(i,c,c.isStatic?0:P,A)},h=()=>{d||m!=null||(m=zf(v))},v=P=>{m=null,(P-p>=Yf||p<0)&&(p=P,g(P)),Xr(n,o)&&h()},f=(P=performance.now())=>{p=P,g(P),Xr(n,o)&&h()},y=()=>{m!=null&&(qf(m),m=null)},b=()=>{d||f()},S=P=>{if(d)return;const M=n;n=$s({...n,background:n.backgroundStyle,...P}),k(M,n,P),js(e,n.size),Jr(i,e,s,c,n,Yr(n,r)),f()},C=()=>{d||(Wc(i,c),f())},w=()=>{d||(Jr(i,e,s,c,n,Yr(n,r)),f())};window.addEventListener("resize",C),(E=o==null?void 0:o.addEventListener)==null||E.call(o,"change",w),(T=r==null?void 0:r.addEventListener)==null||T.call(r,"change",w);const x=()=>{var P,M;d||(d=!0,y(),window.removeEventListener("resize",C),(P=o==null?void 0:o.removeEventListener)==null||P.call(o,"change",w),(M=r==null?void 0:r.removeEventListener)==null||M.call(r,"change",w),Hf(c),s.remove())},k=(P,M,F)=>{F.random===!0&&!P.random?(i.resetSeed(_t()),Ns(i,c)):M.seed&&M.seed!==i.seed&&M.random===!1&&(i.resetSeed(M.seed),Ns(i,c))};return n.autoStart&&b(),{get seed(){return i.seed},canvas:s,core:i,dispose:x,redraw:f,renderer:c,start:b,stop:y,update:S}},Xf=(e,t)=>({backgroundStyle:e.backgroundStyle,fullscreen:e.fullscreen,mode:t,shadow:e.shadow,static:!e.motion,theme:e.theme}),Jf='[data-oneworks-desktop-startup-icon="true"]',Qf="desktop-workspace-startup",Zf=e=>e==="light"||e==="dark"?e:"system",eg=()=>({appearance:Zf(document.documentElement.dataset.oneworksDesktopStartupTheme),background:"transparent",canvasClassName:"oneworks-desktop-startup-overlay__icon-canvas",className:"oneworks-desktop-startup-overlay__icon-loader",motion:!0,random:!1,seed:Qf,shadow:!1,theme:"metal"}),tg=()=>{if(document.documentElement.dataset.oneworksDesktopStartupPreview!=="true")return;const e=document.querySelector(Jf);if(!(e==null||e.dataset.mounted==="true"))try{e.dataset.mounted="true",Uc(e,eg()),delete document.documentElement.dataset.oneworksDesktopStartupFallbackIcon}catch(t){delete e.dataset.mounted,document.documentElement.dataset.oneworksDesktopStartupFallbackIcon="true",console.warn("[desktop-startup-preview] failed to mount startup icon",t)}};tg();var Vc={exports:{}};/*!
528
+ Copyright (c) 2018 Jed Watson.
529
+ Licensed under the MIT License (MIT), see
530
+ http://jedwatson.github.io/classnames
531
+ */(function(e){(function(){var t={}.hasOwnProperty;function n(){for(var a="",i=0;i<arguments.length;i++){var s=arguments[i];s&&(a=r(a,o(s)))}return a}function o(a){if(typeof a=="string"||typeof a=="number")return a;if(typeof a!="object")return"";if(Array.isArray(a))return n.apply(null,a);if(a.toString!==Object.prototype.toString&&!a.toString.toString().includes("[native code]"))return a.toString();var i="";for(var s in a)t.call(a,s)&&a[s]&&(i=r(i,s));return i}function r(a,i){return i?a?a+" "+i:a+i:a}e.exports?(n.default=n,e.exports=n):window.classNames=n})()})(Vc);var ng=Vc.exports;const W=Ii(ng);function le(){return le=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)({}).hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},le.apply(null,arguments)}function z(e){"@babel/helpers - typeof";return z=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},z(e)}var og=Symbol.for("react.element"),rg=Symbol.for("react.transitional.element"),ag=Symbol.for("react.fragment");function zc(e){return e&&z(e)==="object"&&(e.$$typeof===og||e.$$typeof===rg)&&e.type===ag}function Do(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[];return I.Children.forEach(e,function(o){o==null&&!t.keepEmpty||(Array.isArray(o)?n=n.concat(Do(o)):zc(o)&&o.props?n=n.concat(Do(o.props.children,t)):n.push(o))}),n}var _a={},ig=function(t){};function sg(e,t){}function lg(e,t){}function cg(){_a={}}function qc(e,t,n){!t&&!_a[n]&&(e(!1,n),_a[n]=!0)}function qe(e,t){qc(sg,e,t)}function dg(e,t){qc(lg,e,t)}qe.preMessage=ig;qe.resetWarned=cg;qe.noteOnce=dg;function ug(e,t){if(z(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var o=n.call(e,t);if(z(o)!="object")return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Gc(e){var t=ug(e,"string");return z(t)=="symbol"?t:t+""}function R(e,t,n){return(t=Gc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Ws(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),n.push.apply(n,o)}return n}function O(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ws(Object(n),!0).forEach(function(o){R(e,o,n[o])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ws(Object(n)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(n,o))})}return e}const mg=Object.freeze(Object.defineProperty({__proto__:null,default:O},Symbol.toStringTag,{value:"Module"}));function Hs(e){return e instanceof HTMLElement||e instanceof SVGElement}function pg(e){return e&&z(e)==="object"&&Hs(e.nativeElement)?e.nativeElement:Hs(e)?e:null}function fg(e){var t=pg(e);if(t)return t;if(e instanceof I.Component){var n;return(n=As.findDOMNode)===null||n===void 0?void 0:n.call(As,e)}return null}var Kc={exports:{}},re={};/**
532
+ * @license React
533
+ * react-is.production.min.js
534
+ *
535
+ * Copyright (c) Facebook, Inc. and its affiliates.
536
+ *
537
+ * This source code is licensed under the MIT license found in the
538
+ * LICENSE file in the root directory of this source tree.
539
+ */var Bi=Symbol.for("react.element"),ji=Symbol.for("react.portal"),Ho=Symbol.for("react.fragment"),Uo=Symbol.for("react.strict_mode"),Vo=Symbol.for("react.profiler"),zo=Symbol.for("react.provider"),qo=Symbol.for("react.context"),gg=Symbol.for("react.server_context"),Go=Symbol.for("react.forward_ref"),Ko=Symbol.for("react.suspense"),Yo=Symbol.for("react.suspense_list"),Xo=Symbol.for("react.memo"),Jo=Symbol.for("react.lazy"),hg=Symbol.for("react.offscreen"),Yc;Yc=Symbol.for("react.module.reference");function Ze(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case Bi:switch(e=e.type,e){case Ho:case Vo:case Uo:case Ko:case Yo:return e;default:switch(e=e&&e.$$typeof,e){case gg:case qo:case Go:case Jo:case Xo:case zo:return e;default:return t}}case ji:return t}}}re.ContextConsumer=qo;re.ContextProvider=zo;re.Element=Bi;re.ForwardRef=Go;re.Fragment=Ho;re.Lazy=Jo;re.Memo=Xo;re.Portal=ji;re.Profiler=Vo;re.StrictMode=Uo;re.Suspense=Ko;re.SuspenseList=Yo;re.isAsyncMode=function(){return!1};re.isConcurrentMode=function(){return!1};re.isContextConsumer=function(e){return Ze(e)===qo};re.isContextProvider=function(e){return Ze(e)===zo};re.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===Bi};re.isForwardRef=function(e){return Ze(e)===Go};re.isFragment=function(e){return Ze(e)===Ho};re.isLazy=function(e){return Ze(e)===Jo};re.isMemo=function(e){return Ze(e)===Xo};re.isPortal=function(e){return Ze(e)===ji};re.isProfiler=function(e){return Ze(e)===Vo};re.isStrictMode=function(e){return Ze(e)===Uo};re.isSuspense=function(e){return Ze(e)===Ko};re.isSuspenseList=function(e){return Ze(e)===Yo};re.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Ho||e===Vo||e===Uo||e===Ko||e===Yo||e===hg||typeof e=="object"&&e!==null&&(e.$$typeof===Jo||e.$$typeof===Xo||e.$$typeof===zo||e.$$typeof===qo||e.$$typeof===Go||e.$$typeof===Yc||e.getModuleId!==void 0)};re.typeOf=Ze;Kc.exports=re;var Qr=Kc.exports;function Wi(e,t,n){var o=u.useRef({});return(!("value"in o.current)||n(o.current.condition,t))&&(o.current.value=e(),o.current.condition=t),o.current.value}var vg=Number(u.version.split(".")[0]),Xc=function(t,n){typeof t=="function"?t(n):z(t)==="object"&&t&&"current"in t&&(t.current=n)},Qo=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];var r=n.filter(Boolean);return r.length<=1?r[0]:function(a){n.forEach(function(i){Xc(i,a)})}},Hi=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return Wi(function(){return Qo.apply(void 0,n)},n,function(r,a){return r.length!==a.length||r.every(function(i,s){return i!==a[s]})})},Zo=function(t){var n,o;if(!t)return!1;if(Ui(t)&&vg>=19)return!0;var r=Qr.isMemo(t)?t.type.type:t.type;return!(typeof r=="function"&&!((n=r.prototype)!==null&&n!==void 0&&n.render)&&r.$$typeof!==Qr.ForwardRef||typeof t=="function"&&!((o=t.prototype)!==null&&o!==void 0&&o.render)&&t.$$typeof!==Qr.ForwardRef)};function Ui(e){return u.isValidElement(e)&&!zc(e)}var MP=function(t){return Ui(t)&&Zo(t)},Jc=function(t){if(t&&Ui(t)){var n=t;return n.props.propertyIsEnumerable("ref")?n.props.ref:n.ref}return null};function Me(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Us(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,Gc(o.key),o)}}function Oe(e,t,n){return t&&Us(e.prototype,t),n&&Us(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Fn(e,t){return Fn=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,o){return n.__proto__=o,n},Fn(e,t)}function Bt(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Fn(e,t)}function In(e){return In=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},In(e)}function Vi(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Vi=function(){return!!e})()}function X(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bg(e,t){if(t&&(z(t)=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return X(e)}function jt(e){var t=Vi();return function(){var n,o=In(e);if(t){var r=In(this).constructor;n=Reflect.construct(o,arguments,r)}else n=o.apply(this,arguments);return bg(this,n)}}function La(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,o=Array(t);n<t;n++)o[n]=e[n];return o}function yg(e){if(Array.isArray(e))return La(e)}function Qc(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function zi(e,t){if(e){if(typeof e=="string")return La(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?La(e,t):void 0}}function Sg(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
540
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function j(e){return yg(e)||Qc(e)||zi(e)||Sg()}var Zc=function(t){return+setTimeout(t,16)},ed=function(t){return clearTimeout(t)};typeof window<"u"&&"requestAnimationFrame"in window&&(Zc=function(t){return window.requestAnimationFrame(t)},ed=function(t){return window.cancelAnimationFrame(t)});var Vs=0,qi=new Map;function td(e){qi.delete(e)}var $t=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;Vs+=1;var o=Vs;function r(a){if(a===0)td(o),t();else{var i=Zc(function(){r(a-1)});qi.set(o,i)}}return r(n),o};$t.cancel=function(e){var t=qi.get(e);return td(e),ed(t)};function nd(e){if(Array.isArray(e))return e}function wg(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var o,r,a,i,s=[],l=!0,c=!1;try{if(a=(n=n.call(e)).next,t===0){if(Object(n)!==n)return;l=!1}else for(;!(l=(o=a.call(n)).done)&&(s.push(o.value),s.length!==t);l=!0);}catch(d){c=!0,r=d}finally{try{if(!l&&n.return!=null&&(i=n.return(),Object(i)!==i))return}finally{if(c)throw r}}return s}}function od(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
541
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function B(e,t){return nd(e)||wg(e,t)||zi(e,t)||od()}function _n(e){for(var t=0,n,o=0,r=e.length;r>=4;++o,r-=4)n=e.charCodeAt(o)&255|(e.charCodeAt(++o)&255)<<8|(e.charCodeAt(++o)&255)<<16|(e.charCodeAt(++o)&255)<<24,n=(n&65535)*1540483477+((n>>>16)*59797<<16),n^=n>>>24,t=(n&65535)*1540483477+((n>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(r){case 3:t^=(e.charCodeAt(o+2)&255)<<16;case 2:t^=(e.charCodeAt(o+1)&255)<<8;case 1:t^=e.charCodeAt(o)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}function Be(){return!!(typeof window<"u"&&window.document&&window.document.createElement)}function Na(e,t){if(!e)return!1;if(e.contains)return e.contains(t);for(var n=t;n;){if(n===e)return!0;n=n.parentNode}return!1}var zs="data-rc-order",qs="data-rc-priority",Cg="rc-util-key",$a=new Map;function rd(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.mark;return t?t.startsWith("data-")?t:"data-".concat(t):Cg}function er(e){if(e.attachTo)return e.attachTo;var t=document.querySelector("head");return t||document.body}function kg(e){return e==="queue"?"prependQueue":e?"prepend":"append"}function Gi(e){return Array.from(($a.get(e)||e).children).filter(function(t){return t.tagName==="STYLE"})}function ad(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};if(!Be())return null;var n=t.csp,o=t.prepend,r=t.priority,a=r===void 0?0:r,i=kg(o),s=i==="prependQueue",l=document.createElement("style");l.setAttribute(zs,i),s&&a&&l.setAttribute(qs,"".concat(a)),n!=null&&n.nonce&&(l.nonce=n==null?void 0:n.nonce),l.innerHTML=e;var c=er(t),d=c.firstChild;if(o){if(s){var m=(t.styles||Gi(c)).filter(function(p){if(!["prepend","prependQueue"].includes(p.getAttribute(zs)))return!1;var g=Number(p.getAttribute(qs)||0);return a>=g});if(m.length)return c.insertBefore(l,m[m.length-1].nextSibling),l}c.insertBefore(l,d)}else c.appendChild(l);return l}function id(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=er(t);return(t.styles||Gi(n)).find(function(o){return o.getAttribute(rd(t))===e})}function Ln(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=id(e,t);if(n){var o=er(t);o.removeChild(n)}}function xg(e,t){var n=$a.get(e);if(!n||!Na(document,n)){var o=ad("",t),r=o.parentNode;$a.set(e,r),e.removeChild(o)}}function ht(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=er(n),r=Gi(o),a=O(O({},n),{},{styles:r});xg(o,a);var i=id(t,a);if(i){var s,l;if((s=a.csp)!==null&&s!==void 0&&s.nonce&&i.nonce!==((l=a.csp)===null||l===void 0?void 0:l.nonce)){var c;i.nonce=(c=a.csp)===null||c===void 0?void 0:c.nonce}return i.innerHTML!==e&&(i.innerHTML=e),i}var d=ad(e,a);return d.setAttribute(rd(a),t),d}function Pg(e,t){if(e==null)return{};var n={};for(var o in e)if({}.hasOwnProperty.call(e,o)){if(t.indexOf(o)!==-1)continue;n[o]=e[o]}return n}function Je(e,t){if(e==null)return{};var n,o,r=Pg(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)n=a[o],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Ba(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1,o=new Set;function r(a,i){var s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,l=o.has(a);if(qe(!l,"Warning: There may be circular references"),l)return!1;if(a===i)return!0;if(n&&s>1)return!1;o.add(a);var c=s+1;if(Array.isArray(a)){if(!Array.isArray(i)||a.length!==i.length)return!1;for(var d=0;d<a.length;d++)if(!r(a[d],i[d],c))return!1;return!0}if(a&&i&&z(a)==="object"&&z(i)==="object"){var m=Object.keys(a);return m.length!==Object.keys(i).length?!1:m.every(function(p){return r(a[p],i[p],c)})}return!1}return r(e,t)}var Tg="%";function ja(e){return e.join(Tg)}var Eg=function(){function e(t){Me(this,e),R(this,"instanceId",void 0),R(this,"cache",new Map),R(this,"extracted",new Set),this.instanceId=t}return Oe(e,[{key:"get",value:function(n){return this.opGet(ja(n))}},{key:"opGet",value:function(n){return this.cache.get(n)||null}},{key:"update",value:function(n,o){return this.opUpdate(ja(n),o)}},{key:"opUpdate",value:function(n,o){var r=this.cache.get(n),a=o(r);a===null?this.cache.delete(n):this.cache.set(n,a)}}]),e}(),on="data-token-hash",ot="data-css-hash",Pt="__cssinjs_instance__";function Rg(){var e=Math.random().toString(12).slice(2);if(typeof document<"u"&&document.head&&document.body){var t=document.body.querySelectorAll("style[".concat(ot,"]"))||[],n=document.head.firstChild;Array.from(t).forEach(function(r){r[Pt]=r[Pt]||e,r[Pt]===e&&document.head.insertBefore(r,n)});var o={};Array.from(document.querySelectorAll("style[".concat(ot,"]"))).forEach(function(r){var a=r.getAttribute(ot);if(o[a]){if(r[Pt]===e){var i;(i=r.parentNode)===null||i===void 0||i.removeChild(r)}}else o[a]=!0})}return new Eg(e)}var Hn=u.createContext({hashPriority:"low",cache:Rg(),defaultCache:!0});function Ag(e,t){if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}var Ki=function(){function e(){Me(this,e),R(this,"cache",void 0),R(this,"keys",void 0),R(this,"cacheCallTimes",void 0),this.cache=new Map,this.keys=[],this.cacheCallTimes=0}return Oe(e,[{key:"size",value:function(){return this.keys.length}},{key:"internalGet",value:function(n){var o,r,a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,i={map:this.cache};return n.forEach(function(s){if(!i)i=void 0;else{var l;i=(l=i)===null||l===void 0||(l=l.map)===null||l===void 0?void 0:l.get(s)}}),(o=i)!==null&&o!==void 0&&o.value&&a&&(i.value[1]=this.cacheCallTimes++),(r=i)===null||r===void 0?void 0:r.value}},{key:"get",value:function(n){var o;return(o=this.internalGet(n,!0))===null||o===void 0?void 0:o[0]}},{key:"has",value:function(n){return!!this.internalGet(n)}},{key:"set",value:function(n,o){var r=this;if(!this.has(n)){if(this.size()+1>e.MAX_CACHE_SIZE+e.MAX_CACHE_OFFSET){var a=this.keys.reduce(function(c,d){var m=B(c,2),p=m[1];return r.internalGet(d)[1]<p?[d,r.internalGet(d)[1]]:c},[this.keys[0],this.cacheCallTimes]),i=B(a,1),s=i[0];this.delete(s)}this.keys.push(n)}var l=this.cache;n.forEach(function(c,d){if(d===n.length-1)l.set(c,{value:[o,r.cacheCallTimes++]});else{var m=l.get(c);m?m.map||(m.map=new Map):l.set(c,{map:new Map}),l=l.get(c).map}})}},{key:"deleteByPath",value:function(n,o){var r=n.get(o[0]);if(o.length===1){var a;return r.map?n.set(o[0],{map:r.map}):n.delete(o[0]),(a=r.value)===null||a===void 0?void 0:a[0]}var i=this.deleteByPath(r.map,o.slice(1));return(!r.map||r.map.size===0)&&!r.value&&n.delete(o[0]),i}},{key:"delete",value:function(n){if(this.has(n))return this.keys=this.keys.filter(function(o){return!Ag(o,n)}),this.deleteByPath(this.cache,n)}}]),e}();R(Ki,"MAX_CACHE_SIZE",20);R(Ki,"MAX_CACHE_OFFSET",5);var Gs=0,sd=function(){function e(t){Me(this,e),R(this,"derivatives",void 0),R(this,"id",void 0),this.derivatives=Array.isArray(t)?t:[t],this.id=Gs,t.length===0&&(t.length>0,void 0),Gs+=1}return Oe(e,[{key:"getDerivativeToken",value:function(n){return this.derivatives.reduce(function(o,r){return r(n,o)},void 0)}}]),e}(),Zr=new Ki;function Wa(e){var t=Array.isArray(e)?e:[e];return Zr.has(t)||Zr.set(t,new sd(t)),Zr.get(t)}var Dg=new WeakMap,ea={};function Mg(e,t){for(var n=Dg,o=0;o<t.length;o+=1){var r=t[o];n.has(r)||n.set(r,new WeakMap),n=n.get(r)}return n.has(ea)||n.set(ea,e()),n.get(ea)}var Ks=new WeakMap;function Dn(e){var t=Ks.get(e)||"";return t||(Object.keys(e).forEach(function(n){var o=e[n];t+=n,o instanceof sd?t+=o.id:o&&z(o)==="object"?t+=Dn(o):t+=o}),t=_n(t),Ks.set(e,t)),t}function Ys(e,t){return _n("".concat(t,"_").concat(Dn(e)))}var Ha=Be();function Z(e){return typeof e=="number"?"".concat(e,"px"):e}function Mo(e,t,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},r=arguments.length>4&&arguments[4]!==void 0?arguments[4]:!1;if(r)return e;var a=O(O({},o),{},R(R({},on,t),ot,n)),i=Object.keys(a).map(function(s){var l=a[s];return l?"".concat(s,'="').concat(l,'"'):null}).filter(function(s){return s}).join(" ");return"<style ".concat(i,">").concat(e,"</style>")}var So=function(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return"--".concat(n?"".concat(n,"-"):"").concat(t).replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z]+)([A-Z][a-z0-9]+)/g,"$1-$2").replace(/([a-z])([A-Z0-9])/g,"$1-$2").toLowerCase()},Og=function(t,n,o){return Object.keys(t).length?".".concat(n).concat(o!=null&&o.scope?".".concat(o.scope):"","{").concat(Object.entries(t).map(function(r){var a=B(r,2),i=a[0],s=a[1];return"".concat(i,":").concat(s,";")}).join(""),"}"):""},ld=function(t,n,o){var r={},a={};return Object.entries(t).forEach(function(i){var s,l,c=B(i,2),d=c[0],m=c[1];if(o!=null&&(s=o.preserve)!==null&&s!==void 0&&s[d])a[d]=m;else if((typeof m=="string"||typeof m=="number")&&!(o!=null&&(l=o.ignore)!==null&&l!==void 0&&l[d])){var p,g=So(d,o==null?void 0:o.prefix);r[g]=typeof m=="number"&&!(o!=null&&(p=o.unitless)!==null&&p!==void 0&&p[d])?"".concat(m,"px"):String(m),a[d]="var(".concat(g,")")}}),[a,Og(r,n,{scope:o==null?void 0:o.scope})]},Xs=Be()?u.useLayoutEffect:u.useEffect,rn=function(t,n){var o=u.useRef(!0);Xs(function(){return t(o.current)},n),Xs(function(){return o.current=!1,function(){o.current=!0}},[])},OP=function(t,n){rn(function(o){if(!o)return t()},n)},Fg=O({},Wo),Js=Fg.useInsertionEffect,Ig=function(t,n,o){u.useMemo(t,o),rn(function(){return n(!0)},o)},_g=Js?function(e,t,n){return Js(function(){return e(),t()},n)}:Ig,Lg=O({},Wo),Ng=Lg.useInsertionEffect,$g=function(t){var n=[],o=!1;function r(a){o||n.push(a)}return u.useEffect(function(){return o=!1,function(){o=!0,n.length&&n.forEach(function(a){return a()})}},t),r},Bg=function(){return function(t){t()}},jg=typeof Ng<"u"?$g:Bg;function Yi(e,t,n,o,r){var a=u.useContext(Hn),i=a.cache,s=[e].concat(j(t)),l=ja(s),c=jg([l]),d=function(h){i.opUpdate(l,function(v){var f=v||[void 0,void 0],y=B(f,2),b=y[0],S=b===void 0?0:b,C=y[1],w=C,x=w||n(),k=[S,x];return h?h(k):k})};u.useMemo(function(){d()},[l]);var m=i.opGet(l),p=m[1];return _g(function(){r==null||r(p)},function(g){return d(function(h){var v=B(h,2),f=v[0],y=v[1];return g&&f===0&&(r==null||r(p)),[f+1,y]}),function(){i.opUpdate(l,function(h){var v=h||[],f=B(v,2),y=f[0],b=y===void 0?0:y,S=f[1],C=b-1;return C===0?(c(function(){(g||!i.opGet(l))&&(o==null||o(S,!1))}),null):[b-1,S]})}},[l]),p}var Wg={},Hg="css",It=new Map;function Ug(e){It.set(e,(It.get(e)||0)+1)}function Vg(e,t){if(typeof document<"u"){var n=document.querySelectorAll("style[".concat(on,'="').concat(e,'"]'));n.forEach(function(o){if(o[Pt]===t){var r;(r=o.parentNode)===null||r===void 0||r.removeChild(o)}})}}var zg=0;function qg(e,t){It.set(e,(It.get(e)||0)-1);var n=new Set;It.forEach(function(o,r){o<=0&&n.add(r)}),It.size-n.size>zg&&n.forEach(function(o){Vg(o,t),It.delete(o)})}var Gg=function(t,n,o,r){var a=o.getDerivativeToken(t),i=O(O({},a),n);return r&&(i=r(i)),i},cd="token";function Kg(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},o=u.useContext(Hn),r=o.cache.instanceId,a=o.container,i=n.salt,s=i===void 0?"":i,l=n.override,c=l===void 0?Wg:l,d=n.formatToken,m=n.getComputedToken,p=n.cssVar,g=Mg(function(){return Object.assign.apply(Object,[{}].concat(j(t)))},t),h=Dn(g),v=Dn(c),f=p?Dn(p):"",y=Yi(cd,[s,e.id,h,v,f],function(){var b,S=m?m(g,c,e):Gg(g,c,e,d),C=O({},S),w="";if(p){var x=ld(S,p.key,{prefix:p.prefix,ignore:p.ignore,unitless:p.unitless,preserve:p.preserve}),k=B(x,2);S=k[0],w=k[1]}var E=Ys(S,s);S._tokenKey=E,C._tokenKey=Ys(C,s);var T=(b=p==null?void 0:p.key)!==null&&b!==void 0?b:E;S._themeKey=T,Ug(T);var P="".concat(Hg,"-").concat(_n(E));return S._hashId=P,[S,P,C,w,(p==null?void 0:p.key)||""]},function(b){qg(b[0]._themeKey,r)},function(b){var S=B(b,4),C=S[0],w=S[3];if(p&&w){var x=ht(w,_n("css-variables-".concat(C._themeKey)),{mark:ot,prepend:"queue",attachTo:a,priority:-999});x[Pt]=r,x.setAttribute(on,C._themeKey)}});return y}var Yg=function(t,n,o){var r=B(t,5),a=r[2],i=r[3],s=r[4],l=o||{},c=l.plain;if(!i)return null;var d=a._tokenKey,m=-999,p={"data-rc-order":"prependQueue","data-rc-priority":"".concat(m)},g=Mo(i,s,d,p,c);return[m,d,g]},Xg={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},dd="comm",ud="rule",md="decl",Jg="@import",Qg="@namespace",Zg="@keyframes",eh="@layer",pd=Math.abs,Xi=String.fromCharCode;function fd(e){return e.trim()}function wo(e,t,n){return e.replace(t,n)}function th(e,t,n){return e.indexOf(t,n)}function Jt(e,t){return e.charCodeAt(t)|0}function an(e,t,n){return e.slice(t,n)}function dt(e){return e.length}function nh(e){return e.length}function mo(e,t){return t.push(e),e}var tr=1,sn=1,gd=0,Qe=0,Ce=0,mn="";function Ji(e,t,n,o,r,a,i,s){return{value:e,root:t,parent:n,type:o,props:r,children:a,line:tr,column:sn,length:i,return:"",siblings:s}}function oh(){return Ce}function rh(){return Ce=Qe>0?Jt(mn,--Qe):0,sn--,Ce===10&&(sn=1,tr--),Ce}function rt(){return Ce=Qe<gd?Jt(mn,Qe++):0,sn++,Ce===10&&(sn=1,tr++),Ce}function Tt(){return Jt(mn,Qe)}function Co(){return Qe}function nr(e,t){return an(mn,e,t)}function Nn(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function ah(e){return tr=sn=1,gd=dt(mn=e),Qe=0,[]}function ih(e){return mn="",e}function ta(e){return fd(nr(Qe-1,Ua(e===91?e+2:e===40?e+1:e)))}function sh(e){for(;(Ce=Tt())&&Ce<33;)rt();return Nn(e)>2||Nn(Ce)>3?"":" "}function lh(e,t){for(;--t&&rt()&&!(Ce<48||Ce>102||Ce>57&&Ce<65||Ce>70&&Ce<97););return nr(e,Co()+(t<6&&Tt()==32&&rt()==32))}function Ua(e){for(;rt();)switch(Ce){case e:return Qe;case 34:case 39:e!==34&&e!==39&&Ua(Ce);break;case 40:e===41&&Ua(e);break;case 92:rt();break}return Qe}function ch(e,t){for(;rt()&&e+Ce!==57;)if(e+Ce===84&&Tt()===47)break;return"/*"+nr(t,Qe-1)+"*"+Xi(e===47?e:rt())}function dh(e){for(;!Nn(Tt());)rt();return nr(e,Qe)}function uh(e){return ih(ko("",null,null,null,[""],e=ah(e),0,[0],e))}function ko(e,t,n,o,r,a,i,s,l){for(var c=0,d=0,m=i,p=0,g=0,h=0,v=1,f=1,y=1,b=0,S="",C=r,w=a,x=o,k=S;f;)switch(h=b,b=rt()){case 40:if(h!=108&&Jt(k,m-1)==58){th(k+=wo(ta(b),"&","&\f"),"&\f",pd(c?s[c-1]:0))!=-1&&(y=-1);break}case 34:case 39:case 91:k+=ta(b);break;case 9:case 10:case 13:case 32:k+=sh(h);break;case 92:k+=lh(Co()-1,7);continue;case 47:switch(Tt()){case 42:case 47:mo(mh(ch(rt(),Co()),t,n,l),l),(Nn(h||1)==5||Nn(Tt()||1)==5)&&dt(k)&&an(k,-1,void 0)!==" "&&(k+=" ");break;default:k+="/"}break;case 123*v:s[c++]=dt(k)*y;case 125*v:case 59:case 0:switch(b){case 0:case 125:f=0;case 59+d:y==-1&&(k=wo(k,/\f/g,"")),g>0&&(dt(k)-m||v===0&&h===47)&&mo(g>32?Zs(k+";",o,n,m-1,l):Zs(wo(k," ","")+";",o,n,m-2,l),l);break;case 59:k+=";";default:if(mo(x=Qs(k,t,n,c,d,r,s,S,C=[],w=[],m,a),a),b===123)if(d===0)ko(k,t,x,x,C,a,m,s,w);else{switch(p){case 99:if(Jt(k,3)===110)break;case 108:if(Jt(k,2)===97)break;default:d=0;case 100:case 109:case 115:}d?ko(e,x,x,o&&mo(Qs(e,x,x,0,0,r,s,S,r,C=[],m,w),w),r,w,m,s,o?C:w):ko(k,x,x,x,[""],w,0,s,w)}}c=d=g=0,v=y=1,S=k="",m=i;break;case 58:m=1+dt(k),g=h;default:if(v<1){if(b==123)--v;else if(b==125&&v++==0&&rh()==125)continue}switch(k+=Xi(b),b*v){case 38:y=d>0?1:(k+="\f",-1);break;case 44:s[c++]=(dt(k)-1)*y,y=1;break;case 64:Tt()===45&&(k+=ta(rt())),p=Tt(),d=m=dt(S=k+=dh(Co())),b++;break;case 45:h===45&&dt(k)==2&&(v=0)}}return a}function Qs(e,t,n,o,r,a,i,s,l,c,d,m){for(var p=r-1,g=r===0?a:[""],h=nh(g),v=0,f=0,y=0;v<o;++v)for(var b=0,S=an(e,p+1,p=pd(f=i[v])),C=e;b<h;++b)(C=fd(f>0?g[b]+" "+S:wo(S,/&\f/g,g[b])))&&(l[y++]=C);return Ji(e,t,n,r===0?ud:s,l,c,d,m)}function mh(e,t,n,o){return Ji(e,t,n,dd,Xi(oh()),an(e,2,-2),0,o)}function Zs(e,t,n,o,r){return Ji(e,t,n,md,an(e,0,o),an(e,o+1,-1),o,r)}function Va(e,t){for(var n="",o=0;o<e.length;o++)n+=t(e[o],o,e,t)||"";return n}function ph(e,t,n,o){switch(e.type){case eh:if(e.children.length)break;case Jg:case Qg:case md:return e.return=e.return||e.value;case dd:return"";case Zg:return e.return=e.value+"{"+Va(e.children,o)+"}";case ud:if(!dt(e.value=e.props.join(",")))return""}return dt(n=Va(e.children,o))?e.return=e.value+"{"+n+"}":""}var el="data-ant-cssinjs-cache-path",hd="_FILE_STYLE__",Nt,vd=!0;function fh(){if(!Nt&&(Nt={},Be())){var e=document.createElement("div");e.className=el,e.style.position="fixed",e.style.visibility="hidden",e.style.top="-9999px",document.body.appendChild(e);var t=getComputedStyle(e).content||"";t=t.replace(/^"/,"").replace(/"$/,""),t.split(";").forEach(function(r){var a=r.split(":"),i=B(a,2),s=i[0],l=i[1];Nt[s]=l});var n=document.querySelector("style[".concat(el,"]"));if(n){var o;vd=!1,(o=n.parentNode)===null||o===void 0||o.removeChild(n)}document.body.removeChild(e)}}function gh(e){return fh(),!!Nt[e]}function hh(e){var t=Nt[e],n=null;if(t&&Be())if(vd)n=hd;else{var o=document.querySelector("style[".concat(ot,'="').concat(Nt[e],'"]'));o?n=o.innerHTML:delete Nt[e]}return[n,t]}var vh="_skip_check_",bd="_multi_value_";function xo(e){var t=Va(uh(e),ph);return t.replace(/\{%%%\:[^;];}/g,";")}function bh(e){return z(e)==="object"&&e&&(vh in e||bd in e)}function tl(e,t,n){if(!t)return e;var o=".".concat(t),r=n==="low"?":where(".concat(o,")"):o,a=e.split(",").map(function(i){var s,l=i.trim().split(/\s+/),c=l[0]||"",d=((s=c.match(/^\w+/))===null||s===void 0?void 0:s[0])||"";return c="".concat(d).concat(r).concat(c.slice(d.length)),[c].concat(j(l.slice(1))).join(" ")});return a.join(",")}var yh=function e(t){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{root:!0,parentSelectors:[]},r=o.root,a=o.injectHash,i=o.parentSelectors,s=n.hashId,l=n.layer;n.path;var c=n.hashPriority,d=n.transformers,m=d===void 0?[]:d;n.linters;var p="",g={};function h(y){var b=y.getName(s);if(!g[b]){var S=e(y.style,n,{root:!1,parentSelectors:i}),C=B(S,1),w=C[0];g[b]="@keyframes ".concat(y.getName(s)).concat(w)}}function v(y){var b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return y.forEach(function(S){Array.isArray(S)?v(S,b):S&&b.push(S)}),b}var f=v(Array.isArray(t)?t:[t]);return f.forEach(function(y){var b=typeof y=="string"&&!r?{}:y;if(typeof b=="string")p+="".concat(b,`
542
+ `);else if(b._keyframe)h(b);else{var S=m.reduce(function(C,w){var x;return(w==null||(x=w.visit)===null||x===void 0?void 0:x.call(w,C))||C},b);Object.keys(S).forEach(function(C){var w=S[C];if(z(w)==="object"&&w&&(C!=="animationName"||!w._keyframe)&&!bh(w)){var x=!1,k=C.trim(),E=!1;(r||a)&&s?k.startsWith("@")?x=!0:k==="&"?k=tl("",s,c):k=tl(C,s,c):r&&!s&&(k==="&"||k==="")&&(k="",E=!0);var T=e(w,n,{root:E,injectHash:x,parentSelectors:[].concat(j(i),[k])}),P=B(T,2),M=P[0],F=P[1];g=O(O({},g),F),p+="".concat(k).concat(M)}else{let _=function(N,$){var K=N.replace(/[A-Z]/g,function(ee){return"-".concat(ee.toLowerCase())}),Y=$;!Xg[N]&&typeof Y=="number"&&Y!==0&&(Y="".concat(Y,"px")),N==="animationName"&&$!==null&&$!==void 0&&$._keyframe&&(h($),Y=$.getName(s)),p+="".concat(K,":").concat(Y,";")};var D,A=(D=w==null?void 0:w.value)!==null&&D!==void 0?D:w;z(w)==="object"&&w!==null&&w!==void 0&&w[bd]&&Array.isArray(A)?A.forEach(function(N){_(C,N)}):_(C,A)}})}}),r?l&&(p&&(p="@layer ".concat(l.name," {").concat(p,"}")),l.dependencies&&(g["@layer ".concat(l.name)]=l.dependencies.map(function(y){return"@layer ".concat(y,", ").concat(l.name,";")}).join(`
543
+ `))):p="{".concat(p,"}"),[p,g]};function yd(e,t){return _n("".concat(e.join("%")).concat(t))}function Sh(){return null}var Sd="style";function za(e,t){var n=e.token,o=e.path,r=e.hashId,a=e.layer,i=e.nonce,s=e.clientOnly,l=e.order,c=l===void 0?0:l,d=u.useContext(Hn),m=d.autoClear;d.mock;var p=d.defaultCache,g=d.hashPriority,h=d.container,v=d.ssrInline,f=d.transformers,y=d.linters,b=d.cache,S=d.layer,C=n._tokenKey,w=[C];S&&w.push("layer"),w.push.apply(w,j(o));var x=Ha,k=Yi(Sd,w,function(){var F=w.join("|");if(gh(F)){var D=hh(F),A=B(D,2),_=A[0],N=A[1];if(_)return[_,C,N,{},s,c]}var $=t(),K=yh($,{hashId:r,hashPriority:g,layer:S?a:void 0,path:o.join("-"),transformers:f,linters:y}),Y=B(K,2),ee=Y[0],J=Y[1],G=xo(ee),te=yd(w,G);return[G,C,te,J,s,c]},function(F,D){var A=B(F,3),_=A[2];(D||m)&&Ha&&Ln(_,{mark:ot,attachTo:h})},function(F){var D=B(F,4),A=D[0];D[1];var _=D[2],N=D[3];if(x&&A!==hd){var $={mark:ot,prepend:S?!1:"queue",attachTo:h,priority:c},K=typeof i=="function"?i():i;K&&($.csp={nonce:K});var Y=[],ee=[];Object.keys(N).forEach(function(G){G.startsWith("@layer")?Y.push(G):ee.push(G)}),Y.forEach(function(G){ht(xo(N[G]),"_layer-".concat(G),O(O({},$),{},{prepend:!0}))});var J=ht(A,_,$);J[Pt]=b.instanceId,J.setAttribute(on,C),ee.forEach(function(G){ht(xo(N[G]),"_effect-".concat(G),$)})}}),E=B(k,3),T=E[0],P=E[1],M=E[2];return function(F){var D;return!v||x||!p?D=u.createElement(Sh,null):D=u.createElement("style",le({},R(R({},on,P),ot,M),{dangerouslySetInnerHTML:{__html:T}})),u.createElement(u.Fragment,null,D,F)}}var wh=function(t,n,o){var r=B(t,6),a=r[0],i=r[1],s=r[2],l=r[3],c=r[4],d=r[5],m=o||{},p=m.plain;if(c)return null;var g=a,h={"data-rc-order":"prependQueue","data-rc-priority":"".concat(d)};return g=Mo(a,i,s,h,p),l&&Object.keys(l).forEach(function(v){if(!n[v]){n[v]=!0;var f=xo(l[v]),y=Mo(f,i,"_effect-".concat(v),h,p);v.startsWith("@layer")?g=y+g:g+=y}}),[d,s,g]},wd="cssVar",Ch=function(t,n){var o=t.key,r=t.prefix,a=t.unitless,i=t.ignore,s=t.token,l=t.scope,c=l===void 0?"":l,d=u.useContext(Hn),m=d.cache.instanceId,p=d.container,g=s._tokenKey,h=[].concat(j(t.path),[o,c,g]),v=Yi(wd,h,function(){var f=n(),y=ld(f,o,{prefix:r,unitless:a,ignore:i,scope:c}),b=B(y,2),S=b[0],C=b[1],w=yd(h,C);return[S,C,w,o]},function(f){var y=B(f,3),b=y[2];Ha&&Ln(b,{mark:ot,attachTo:p})},function(f){var y=B(f,3),b=y[1],S=y[2];if(b){var C=ht(b,S,{mark:ot,prepend:"queue",attachTo:p,priority:-999});C[Pt]=m,C.setAttribute(on,o)}});return v},kh=function(t,n,o){var r=B(t,4),a=r[1],i=r[2],s=r[3],l=o||{},c=l.plain;if(!a)return null;var d=-999,m={"data-rc-order":"prependQueue","data-rc-priority":"".concat(d)},p=Mo(a,s,i,m,c);return[d,i,p]};R(R(R({},Sd,wh),cd,Yg),wd,kh);var ge=function(){function e(t,n){Me(this,e),R(this,"name",void 0),R(this,"style",void 0),R(this,"_keyframe",!0),this.name=t,this.style=n}return Oe(e,[{key:"getName",value:function(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";return n?"".concat(n,"-").concat(this.name):this.name}}]),e}();function zt(e){return e.notSplit=!0,e}zt(["borderTop","borderBottom"]),zt(["borderTop"]),zt(["borderBottom"]),zt(["borderLeft","borderRight"]),zt(["borderLeft"]),zt(["borderRight"]);var Qi=u.createContext({});function xh(e){return nd(e)||Qc(e)||zi(e)||od()}function ut(e,t){for(var n=e,o=0;o<t.length;o+=1){if(n==null)return;n=n[t[o]]}return n}function Cd(e,t,n,o){if(!t.length)return n;var r=xh(t),a=r[0],i=r.slice(1),s;return!e&&typeof a=="number"?s=[]:Array.isArray(e)?s=j(e):s=O({},e),o&&n===void 0&&i.length===1?delete s[a][i[0]]:s[a]=Cd(s[a],i,n,o),s}function tt(e,t,n){var o=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;return t.length&&o&&n===void 0&&!ut(e,t.slice(0,-1))?e:Cd(e,t,n,o)}function Ph(e){return z(e)==="object"&&e!==null&&Object.getPrototypeOf(e)===Object.prototype}function nl(e){return Array.isArray(e)?[]:{}}var Th=typeof Reflect>"u"?Object.keys:Reflect.ownKeys;function Kt(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o=nl(t[0]);return t.forEach(function(r){function a(i,s){var l=new Set(s),c=ut(r,i),d=Array.isArray(c);if(d||Ph(c)){if(!l.has(c)){l.add(c);var m=ut(o,i);d?o=tt(o,i,[]):(!m||z(m)!=="object")&&(o=tt(o,i,nl(c))),Th(c).forEach(function(p){a([].concat(j(i),[p]),l)})}}else o=tt(o,i,c)}a([])}),o}function Eh(){}const Rh=u.createContext({}),or=()=>{const e=()=>{};return e.deprecated=Eh,e},Ah=u.createContext(void 0);var Dh={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"},Mh={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0},Oh=O(O({},Mh),{},{locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",week:"Week",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",dateFormat:"M/D/YYYY",dateTimeFormat:"M/D/YYYY HH:mm:ss",previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"});const kd={placeholder:"Select time",rangePlaceholder:["Start time","End time"]},ol={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},Oh),timePickerLocale:Object.assign({},kd)},je="${label} is not a valid ${type}",Rt={locale:"en",Pagination:Dh,DatePicker:ol,TimePicker:kd,Calendar:ol,global:{placeholder:"Please select",close:"Close"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckAll:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:je,method:je,array:je,object:je,number:je,date:je,boolean:je,integer:je,float:je,regexp:je,email:je,url:je,hex:je},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty",transparent:"Transparent",singleColor:"Single",gradientColor:"Gradient"}};let Po=Object.assign({},Rt.Modal),To=[];const rl=()=>To.reduce((e,t)=>Object.assign(Object.assign({},e),t),Rt.Modal);function Fh(e){if(e){const t=Object.assign({},e);return To.push(t),Po=rl(),()=>{To=To.filter(n=>n!==t),Po=rl()}}Po=Object.assign({},Rt.Modal)}function xd(){return Po}const Zi=u.createContext(void 0),rr=(e,t)=>{const n=u.useContext(Zi),o=u.useMemo(()=>{var a;const i=t||Rt[e],s=(a=n==null?void 0:n[e])!==null&&a!==void 0?a:{};return Object.assign(Object.assign({},typeof i=="function"?i():i),s||{})},[e,t,n]),r=u.useMemo(()=>{const a=n==null?void 0:n.locale;return n!=null&&n.exist&&!a?Rt.locale:a},[n]);return[o,r]},Ih="internalMark",_h=e=>{const{locale:t={},children:n,_ANT_MARK__:o}=e;u.useEffect(()=>Fh(t==null?void 0:t.Modal),[t]);const r=u.useMemo(()=>Object.assign(Object.assign({},t),{exist:!0}),[t]);return u.createElement(Zi.Provider,{value:r},n)},Pd={blue:"#1677FF",purple:"#722ED1",cyan:"#13C2C2",green:"#52C41A",magenta:"#EB2F96",pink:"#EB2F96",red:"#F5222D",orange:"#FA8C16",yellow:"#FADB14",volcano:"#FA541C",geekblue:"#2F54EB",gold:"#FAAD14",lime:"#A0D911"},$n=Object.assign(Object.assign({},Pd),{colorPrimary:"#1677ff",colorSuccess:"#52c41a",colorWarning:"#faad14",colorError:"#ff4d4f",colorInfo:"#1677ff",colorLink:"",colorTextBase:"",colorBgBase:"",fontFamily:`-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,
544
+ 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',
545
+ 'Noto Color Emoji'`,fontFamilyCode:"'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace",fontSize:14,lineWidth:1,lineType:"solid",motionUnit:.1,motionBase:0,motionEaseOutCirc:"cubic-bezier(0.08, 0.82, 0.17, 1)",motionEaseInOutCirc:"cubic-bezier(0.78, 0.14, 0.15, 0.86)",motionEaseOut:"cubic-bezier(0.215, 0.61, 0.355, 1)",motionEaseInOut:"cubic-bezier(0.645, 0.045, 0.355, 1)",motionEaseOutBack:"cubic-bezier(0.12, 0.4, 0.29, 1.46)",motionEaseInBack:"cubic-bezier(0.71, -0.46, 0.88, 0.6)",motionEaseInQuint:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",motionEaseOutQuint:"cubic-bezier(0.23, 1, 0.32, 1)",borderRadius:6,sizeUnit:4,sizeStep:4,sizePopupArrow:16,controlHeight:32,zIndexBase:0,zIndexPopupBase:1e3,opacityImage:1,wireframe:!1,motion:!0}),Ee=Math.round;function na(e,t){const n=e.replace(/^[^(]*\((.*)/,"$1").replace(/\).*/,"").match(/\d*\.?\d+%?/g)||[],o=n.map(r=>parseFloat(r));for(let r=0;r<3;r+=1)o[r]=t(o[r]||0,n[r]||"",r);return n[3]?o[3]=n[3].includes("%")?o[3]/100:o[3]:o[3]=1,o}const al=(e,t,n)=>n===0?e:e/100;function kn(e,t){const n=t||255;return e>n?n:e<0?0:e}class pe{constructor(t){R(this,"isValid",!0),R(this,"r",0),R(this,"g",0),R(this,"b",0),R(this,"a",1),R(this,"_h",void 0),R(this,"_s",void 0),R(this,"_l",void 0),R(this,"_v",void 0),R(this,"_max",void 0),R(this,"_min",void 0),R(this,"_brightness",void 0);function n(o){return o[0]in t&&o[1]in t&&o[2]in t}if(t)if(typeof t=="string"){let r=function(a){return o.startsWith(a)};const o=t.trim();/^#?[A-F\d]{3,8}$/i.test(o)?this.fromHexString(o):r("rgb")?this.fromRgbString(o):r("hsl")?this.fromHslString(o):(r("hsv")||r("hsb"))&&this.fromHsvString(o)}else if(t instanceof pe)this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this._h=t._h,this._s=t._s,this._l=t._l,this._v=t._v;else if(n("rgb"))this.r=kn(t.r),this.g=kn(t.g),this.b=kn(t.b),this.a=typeof t.a=="number"?kn(t.a,1):1;else if(n("hsl"))this.fromHsl(t);else if(n("hsv"))this.fromHsv(t);else throw new Error("@ant-design/fast-color: unsupported input "+JSON.stringify(t))}setR(t){return this._sc("r",t)}setG(t){return this._sc("g",t)}setB(t){return this._sc("b",t)}setA(t){return this._sc("a",t,1)}setHue(t){const n=this.toHsv();return n.h=t,this._c(n)}getLuminance(){function t(a){const i=a/255;return i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)}const n=t(this.r),o=t(this.g),r=t(this.b);return .2126*n+.7152*o+.0722*r}getHue(){if(typeof this._h>"u"){const t=this.getMax()-this.getMin();t===0?this._h=0:this._h=Ee(60*(this.r===this.getMax()?(this.g-this.b)/t+(this.g<this.b?6:0):this.g===this.getMax()?(this.b-this.r)/t+2:(this.r-this.g)/t+4))}return this._h}getSaturation(){if(typeof this._s>"u"){const t=this.getMax()-this.getMin();t===0?this._s=0:this._s=t/this.getMax()}return this._s}getLightness(){return typeof this._l>"u"&&(this._l=(this.getMax()+this.getMin())/510),this._l}getValue(){return typeof this._v>"u"&&(this._v=this.getMax()/255),this._v}getBrightness(){return typeof this._brightness>"u"&&(this._brightness=(this.r*299+this.g*587+this.b*114)/1e3),this._brightness}darken(t=10){const n=this.getHue(),o=this.getSaturation();let r=this.getLightness()-t/100;return r<0&&(r=0),this._c({h:n,s:o,l:r,a:this.a})}lighten(t=10){const n=this.getHue(),o=this.getSaturation();let r=this.getLightness()+t/100;return r>1&&(r=1),this._c({h:n,s:o,l:r,a:this.a})}mix(t,n=50){const o=this._c(t),r=n/100,a=s=>(o[s]-this[s])*r+this[s],i={r:Ee(a("r")),g:Ee(a("g")),b:Ee(a("b")),a:Ee(a("a")*100)/100};return this._c(i)}tint(t=10){return this.mix({r:255,g:255,b:255,a:1},t)}shade(t=10){return this.mix({r:0,g:0,b:0,a:1},t)}onBackground(t){const n=this._c(t),o=this.a+n.a*(1-this.a),r=a=>Ee((this[a]*this.a+n[a]*n.a*(1-this.a))/o);return this._c({r:r("r"),g:r("g"),b:r("b"),a:o})}isDark(){return this.getBrightness()<128}isLight(){return this.getBrightness()>=128}equals(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a}clone(){return this._c(this)}toHexString(){let t="#";const n=(this.r||0).toString(16);t+=n.length===2?n:"0"+n;const o=(this.g||0).toString(16);t+=o.length===2?o:"0"+o;const r=(this.b||0).toString(16);if(t+=r.length===2?r:"0"+r,typeof this.a=="number"&&this.a>=0&&this.a<1){const a=Ee(this.a*255).toString(16);t+=a.length===2?a:"0"+a}return t}toHsl(){return{h:this.getHue(),s:this.getSaturation(),l:this.getLightness(),a:this.a}}toHslString(){const t=this.getHue(),n=Ee(this.getSaturation()*100),o=Ee(this.getLightness()*100);return this.a!==1?`hsla(${t},${n}%,${o}%,${this.a})`:`hsl(${t},${n}%,${o}%)`}toHsv(){return{h:this.getHue(),s:this.getSaturation(),v:this.getValue(),a:this.a}}toRgb(){return{r:this.r,g:this.g,b:this.b,a:this.a}}toRgbString(){return this.a!==1?`rgba(${this.r},${this.g},${this.b},${this.a})`:`rgb(${this.r},${this.g},${this.b})`}toString(){return this.toRgbString()}_sc(t,n,o){const r=this.clone();return r[t]=kn(n,o),r}_c(t){return new this.constructor(t)}getMax(){return typeof this._max>"u"&&(this._max=Math.max(this.r,this.g,this.b)),this._max}getMin(){return typeof this._min>"u"&&(this._min=Math.min(this.r,this.g,this.b)),this._min}fromHexString(t){const n=t.replace("#","");function o(r,a){return parseInt(n[r]+n[a||r],16)}n.length<6?(this.r=o(0),this.g=o(1),this.b=o(2),this.a=n[3]?o(3)/255:1):(this.r=o(0,1),this.g=o(2,3),this.b=o(4,5),this.a=n[6]?o(6,7)/255:1)}fromHsl({h:t,s:n,l:o,a:r}){if(this._h=t%360,this._s=n,this._l=o,this.a=typeof r=="number"?r:1,n<=0){const p=Ee(o*255);this.r=p,this.g=p,this.b=p}let a=0,i=0,s=0;const l=t/60,c=(1-Math.abs(2*o-1))*n,d=c*(1-Math.abs(l%2-1));l>=0&&l<1?(a=c,i=d):l>=1&&l<2?(a=d,i=c):l>=2&&l<3?(i=c,s=d):l>=3&&l<4?(i=d,s=c):l>=4&&l<5?(a=d,s=c):l>=5&&l<6&&(a=c,s=d);const m=o-c/2;this.r=Ee((a+m)*255),this.g=Ee((i+m)*255),this.b=Ee((s+m)*255)}fromHsv({h:t,s:n,v:o,a:r}){this._h=t%360,this._s=n,this._v=o,this.a=typeof r=="number"?r:1;const a=Ee(o*255);if(this.r=a,this.g=a,this.b=a,n<=0)return;const i=t/60,s=Math.floor(i),l=i-s,c=Ee(o*(1-n)*255),d=Ee(o*(1-n*l)*255),m=Ee(o*(1-n*(1-l))*255);switch(s){case 0:this.g=m,this.b=c;break;case 1:this.r=d,this.b=c;break;case 2:this.r=c,this.b=m;break;case 3:this.r=c,this.g=d;break;case 4:this.r=m,this.g=c;break;case 5:default:this.g=c,this.b=d;break}}fromHsvString(t){const n=na(t,al);this.fromHsv({h:n[0],s:n[1],v:n[2],a:n[3]})}fromHslString(t){const n=na(t,al);this.fromHsl({h:n[0],s:n[1],l:n[2],a:n[3]})}fromRgbString(t){const n=na(t,(o,r)=>r.includes("%")?Ee(o/100*255):o);this.r=n[0],this.g=n[1],this.b=n[2],this.a=n[3]}}var po=2,il=.16,Lh=.05,Nh=.05,$h=.15,Td=5,Ed=4,Bh=[{index:7,amount:15},{index:6,amount:25},{index:5,amount:30},{index:5,amount:45},{index:5,amount:65},{index:5,amount:85},{index:4,amount:90},{index:3,amount:95},{index:2,amount:97},{index:1,amount:98}];function sl(e,t,n){var o;return Math.round(e.h)>=60&&Math.round(e.h)<=240?o=n?Math.round(e.h)-po*t:Math.round(e.h)+po*t:o=n?Math.round(e.h)+po*t:Math.round(e.h)-po*t,o<0?o+=360:o>=360&&(o-=360),o}function ll(e,t,n){if(e.h===0&&e.s===0)return e.s;var o;return n?o=e.s-il*t:t===Ed?o=e.s+il:o=e.s+Lh*t,o>1&&(o=1),n&&t===Td&&o>.1&&(o=.1),o<.06&&(o=.06),Math.round(o*100)/100}function cl(e,t,n){var o;return n?o=e.v+Nh*t:o=e.v-$h*t,o=Math.max(0,Math.min(1,o)),Math.round(o*100)/100}function Bn(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=[],o=new pe(e),r=o.toHsv(),a=Td;a>0;a-=1){var i=new pe({h:sl(r,a,!0),s:ll(r,a,!0),v:cl(r,a,!0)});n.push(i)}n.push(o);for(var s=1;s<=Ed;s+=1){var l=new pe({h:sl(r,s),s:ll(r,s),v:cl(r,s)});n.push(l)}return t.theme==="dark"?Bh.map(function(c){var d=c.index,m=c.amount;return new pe(t.backgroundColor||"#141414").mix(n[d],m).toHexString()}):n.map(function(c){return c.toHexString()})}var oa={red:"#F5222D",volcano:"#FA541C",orange:"#FA8C16",gold:"#FAAD14",yellow:"#FADB14",lime:"#A0D911",green:"#52C41A",cyan:"#13C2C2",blue:"#1677FF",geekblue:"#2F54EB",purple:"#722ED1",magenta:"#EB2F96",grey:"#666666"},qa=["#fff1f0","#ffccc7","#ffa39e","#ff7875","#ff4d4f","#f5222d","#cf1322","#a8071a","#820014","#5c0011"];qa.primary=qa[5];var Ga=["#fff2e8","#ffd8bf","#ffbb96","#ff9c6e","#ff7a45","#fa541c","#d4380d","#ad2102","#871400","#610b00"];Ga.primary=Ga[5];var Ka=["#fff7e6","#ffe7ba","#ffd591","#ffc069","#ffa940","#fa8c16","#d46b08","#ad4e00","#873800","#612500"];Ka.primary=Ka[5];var Ya=["#fffbe6","#fff1b8","#ffe58f","#ffd666","#ffc53d","#faad14","#d48806","#ad6800","#874d00","#613400"];Ya.primary=Ya[5];var Xa=["#feffe6","#ffffb8","#fffb8f","#fff566","#ffec3d","#fadb14","#d4b106","#ad8b00","#876800","#614700"];Xa.primary=Xa[5];var Ja=["#fcffe6","#f4ffb8","#eaff8f","#d3f261","#bae637","#a0d911","#7cb305","#5b8c00","#3f6600","#254000"];Ja.primary=Ja[5];var Qa=["#f6ffed","#d9f7be","#b7eb8f","#95de64","#73d13d","#52c41a","#389e0d","#237804","#135200","#092b00"];Qa.primary=Qa[5];var Za=["#e6fffb","#b5f5ec","#87e8de","#5cdbd3","#36cfc9","#13c2c2","#08979c","#006d75","#00474f","#002329"];Za.primary=Za[5];var Oo=["#e6f4ff","#bae0ff","#91caff","#69b1ff","#4096ff","#1677ff","#0958d9","#003eb3","#002c8c","#001d66"];Oo.primary=Oo[5];var ei=["#f0f5ff","#d6e4ff","#adc6ff","#85a5ff","#597ef7","#2f54eb","#1d39c4","#10239e","#061178","#030852"];ei.primary=ei[5];var ti=["#f9f0ff","#efdbff","#d3adf7","#b37feb","#9254de","#722ed1","#531dab","#391085","#22075e","#120338"];ti.primary=ti[5];var ni=["#fff0f6","#ffd6e7","#ffadd2","#ff85c0","#f759ab","#eb2f96","#c41d7f","#9e1068","#780650","#520339"];ni.primary=ni[5];var oi=["#a6a6a6","#999999","#8c8c8c","#808080","#737373","#666666","#404040","#1a1a1a","#000000","#000000"];oi.primary=oi[5];var ra={red:qa,volcano:Ga,orange:Ka,gold:Ya,yellow:Xa,lime:Ja,green:Qa,cyan:Za,blue:Oo,geekblue:ei,purple:ti,magenta:ni,grey:oi};function jh(e,{generateColorPalettes:t,generateNeutralColorPalettes:n}){const{colorSuccess:o,colorWarning:r,colorError:a,colorInfo:i,colorPrimary:s,colorBgBase:l,colorTextBase:c}=e,d=t(s),m=t(o),p=t(r),g=t(a),h=t(i),v=n(l,c),f=e.colorLink||e.colorInfo,y=t(f),b=new pe(g[1]).mix(new pe(g[3]),50).toHexString();return Object.assign(Object.assign({},v),{colorPrimaryBg:d[1],colorPrimaryBgHover:d[2],colorPrimaryBorder:d[3],colorPrimaryBorderHover:d[4],colorPrimaryHover:d[5],colorPrimary:d[6],colorPrimaryActive:d[7],colorPrimaryTextHover:d[8],colorPrimaryText:d[9],colorPrimaryTextActive:d[10],colorSuccessBg:m[1],colorSuccessBgHover:m[2],colorSuccessBorder:m[3],colorSuccessBorderHover:m[4],colorSuccessHover:m[4],colorSuccess:m[6],colorSuccessActive:m[7],colorSuccessTextHover:m[8],colorSuccessText:m[9],colorSuccessTextActive:m[10],colorErrorBg:g[1],colorErrorBgHover:g[2],colorErrorBgFilledHover:b,colorErrorBgActive:g[3],colorErrorBorder:g[3],colorErrorBorderHover:g[4],colorErrorHover:g[5],colorError:g[6],colorErrorActive:g[7],colorErrorTextHover:g[8],colorErrorText:g[9],colorErrorTextActive:g[10],colorWarningBg:p[1],colorWarningBgHover:p[2],colorWarningBorder:p[3],colorWarningBorderHover:p[4],colorWarningHover:p[4],colorWarning:p[6],colorWarningActive:p[7],colorWarningTextHover:p[8],colorWarningText:p[9],colorWarningTextActive:p[10],colorInfoBg:h[1],colorInfoBgHover:h[2],colorInfoBorder:h[3],colorInfoBorderHover:h[4],colorInfoHover:h[4],colorInfo:h[6],colorInfoActive:h[7],colorInfoTextHover:h[8],colorInfoText:h[9],colorInfoTextActive:h[10],colorLinkHover:y[4],colorLink:y[6],colorLinkActive:y[7],colorBgMask:new pe("#000").setA(.45).toRgbString(),colorWhite:"#fff"})}const Wh=e=>{let t=e,n=e,o=e,r=e;return e<6&&e>=5?t=e+1:e<16&&e>=6?t=e+2:e>=16&&(t=16),e<7&&e>=5?n=4:e<8&&e>=7?n=5:e<14&&e>=8?n=6:e<16&&e>=14?n=7:e>=16&&(n=8),e<6&&e>=2?o=1:e>=6&&(o=2),e>4&&e<8?r=4:e>=8&&(r=6),{borderRadius:e,borderRadiusXS:o,borderRadiusSM:n,borderRadiusLG:t,borderRadiusOuter:r}};function Hh(e){const{motionUnit:t,motionBase:n,borderRadius:o,lineWidth:r}=e;return Object.assign({motionDurationFast:`${(n+t).toFixed(1)}s`,motionDurationMid:`${(n+t*2).toFixed(1)}s`,motionDurationSlow:`${(n+t*3).toFixed(1)}s`,lineWidthBold:r+1},Wh(o))}const Uh=e=>{const{controlHeight:t}=e;return{controlHeightSM:t*.75,controlHeightXS:t*.5,controlHeightLG:t*1.25}};function Eo(e){return(e+8)/e}function Vh(e){const t=Array.from({length:10}).map((n,o)=>{const r=o-1,a=e*Math.pow(Math.E,r/5),i=o>1?Math.floor(a):Math.ceil(a);return Math.floor(i/2)*2});return t[1]=e,t.map(n=>({size:n,lineHeight:Eo(n)}))}const zh=e=>{const t=Vh(e),n=t.map(d=>d.size),o=t.map(d=>d.lineHeight),r=n[1],a=n[0],i=n[2],s=o[1],l=o[0],c=o[2];return{fontSizeSM:a,fontSize:r,fontSizeLG:i,fontSizeXL:n[3],fontSizeHeading1:n[6],fontSizeHeading2:n[5],fontSizeHeading3:n[4],fontSizeHeading4:n[3],fontSizeHeading5:n[2],lineHeight:s,lineHeightLG:c,lineHeightSM:l,fontHeight:Math.round(s*r),fontHeightLG:Math.round(c*i),fontHeightSM:Math.round(l*a),lineHeightHeading1:o[6],lineHeightHeading2:o[5],lineHeightHeading3:o[4],lineHeightHeading4:o[3],lineHeightHeading5:o[2]}};function qh(e){const{sizeUnit:t,sizeStep:n}=e;return{sizeXXL:t*(n+8),sizeXL:t*(n+4),sizeLG:t*(n+2),sizeMD:t*(n+1),sizeMS:t*n,size:t*n,sizeSM:t*(n-1),sizeXS:t*(n-2),sizeXXS:t*(n-3)}}const Ye=(e,t)=>new pe(e).setA(t).toRgbString(),xn=(e,t)=>new pe(e).darken(t).toHexString(),Gh=e=>{const t=Bn(e);return{1:t[0],2:t[1],3:t[2],4:t[3],5:t[4],6:t[5],7:t[6],8:t[4],9:t[5],10:t[6]}},Kh=(e,t)=>{const n=e||"#fff",o=t||"#000";return{colorBgBase:n,colorTextBase:o,colorText:Ye(o,.88),colorTextSecondary:Ye(o,.65),colorTextTertiary:Ye(o,.45),colorTextQuaternary:Ye(o,.25),colorFill:Ye(o,.15),colorFillSecondary:Ye(o,.06),colorFillTertiary:Ye(o,.04),colorFillQuaternary:Ye(o,.02),colorBgSolid:Ye(o,1),colorBgSolidHover:Ye(o,.75),colorBgSolidActive:Ye(o,.95),colorBgLayout:xn(n,4),colorBgContainer:xn(n,0),colorBgElevated:xn(n,0),colorBgSpotlight:Ye(o,.85),colorBgBlur:"transparent",colorBorder:xn(n,15),colorBorderSecondary:xn(n,6)}};function Yh(e){oa.pink=oa.magenta,ra.pink=ra.magenta;const t=Object.keys(Pd).map(n=>{const o=e[n]===oa[n]?ra[n]:Bn(e[n]);return Array.from({length:10},()=>1).reduce((r,a,i)=>(r[`${n}-${i+1}`]=o[i],r[`${n}${i+1}`]=o[i],r),{})}).reduce((n,o)=>(n=Object.assign(Object.assign({},n),o),n),{});return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},e),t),jh(e,{generateColorPalettes:Gh,generateNeutralColorPalettes:Kh})),zh(e.fontSize)),qh(e)),Uh(e)),Hh(e))}const Rd=Wa(Yh),ri={token:$n,override:{override:$n},hashed:!0},Ad=I.createContext(ri),jn="ant",ar="anticon",FP=["outlined","borderless","filled","underlined"],Xh=(e,t)=>t||(e?`${jn}-${e}`:jn),de=u.createContext({getPrefixCls:Xh,iconPrefixCls:ar}),{Consumer:IP}=de,dl={};function Dd(e){const t=u.useContext(de),{getPrefixCls:n,direction:o,getPopupContainer:r}=t,a=t[e];return Object.assign(Object.assign({classNames:dl,styles:dl},a),{getPrefixCls:n,direction:o,getPopupContainer:r})}const Jh=`-ant-${Date.now()}-${Math.random()}`;function Qh(e,t){const n={},o=(i,s)=>{let l=i.clone();return l=(s==null?void 0:s(l))||l,l.toRgbString()},r=(i,s)=>{const l=new pe(i),c=Bn(l.toRgbString());n[`${s}-color`]=o(l),n[`${s}-color-disabled`]=c[1],n[`${s}-color-hover`]=c[4],n[`${s}-color-active`]=c[6],n[`${s}-color-outline`]=l.clone().setA(.2).toRgbString(),n[`${s}-color-deprecated-bg`]=c[0],n[`${s}-color-deprecated-border`]=c[2]};if(t.primaryColor){r(t.primaryColor,"primary");const i=new pe(t.primaryColor),s=Bn(i.toRgbString());s.forEach((c,d)=>{n[`primary-${d+1}`]=c}),n["primary-color-deprecated-l-35"]=o(i,c=>c.lighten(35)),n["primary-color-deprecated-l-20"]=o(i,c=>c.lighten(20)),n["primary-color-deprecated-t-20"]=o(i,c=>c.tint(20)),n["primary-color-deprecated-t-50"]=o(i,c=>c.tint(50)),n["primary-color-deprecated-f-12"]=o(i,c=>c.setA(c.a*.12));const l=new pe(s[0]);n["primary-color-active-deprecated-f-30"]=o(l,c=>c.setA(c.a*.3)),n["primary-color-active-deprecated-d-02"]=o(l,c=>c.darken(2))}return t.successColor&&r(t.successColor,"success"),t.warningColor&&r(t.warningColor,"warning"),t.errorColor&&r(t.errorColor,"error"),t.infoColor&&r(t.infoColor,"info"),`
546
+ :root {
547
+ ${Object.keys(n).map(i=>`--${e}-${i}: ${n[i]};`).join(`
548
+ `)}
549
+ }
550
+ `.trim()}function Zh(e,t){const n=Qh(e,t);Be()&&ht(n,`${Jh}-dynamic-theme`)}const Fo=u.createContext(!1),Md=({children:e,disabled:t})=>{const n=u.useContext(Fo);return u.createElement(Fo.Provider,{value:t??n},e)},ln=u.createContext(void 0),ev=({children:e,size:t})=>{const n=u.useContext(ln);return u.createElement(ln.Provider,{value:t||n},e)};function tv(){const e=u.useContext(Fo),t=u.useContext(ln);return{componentDisabled:e,componentSize:t}}var Od=Oe(function e(){Me(this,e)}),Fd="CALC_UNIT",nv=new RegExp(Fd,"g");function aa(e){return typeof e=="number"?"".concat(e).concat(Fd):e}var ov=function(e){Bt(n,e);var t=jt(n);function n(o,r){var a;Me(this,n),a=t.call(this),R(X(a),"result",""),R(X(a),"unitlessCssVar",void 0),R(X(a),"lowPriority",void 0);var i=z(o);return a.unitlessCssVar=r,o instanceof n?a.result="(".concat(o.result,")"):i==="number"?a.result=aa(o):i==="string"&&(a.result=o),a}return Oe(n,[{key:"add",value:function(r){return r instanceof n?this.result="".concat(this.result," + ").concat(r.getResult()):(typeof r=="number"||typeof r=="string")&&(this.result="".concat(this.result," + ").concat(aa(r))),this.lowPriority=!0,this}},{key:"sub",value:function(r){return r instanceof n?this.result="".concat(this.result," - ").concat(r.getResult()):(typeof r=="number"||typeof r=="string")&&(this.result="".concat(this.result," - ").concat(aa(r))),this.lowPriority=!0,this}},{key:"mul",value:function(r){return this.lowPriority&&(this.result="(".concat(this.result,")")),r instanceof n?this.result="".concat(this.result," * ").concat(r.getResult(!0)):(typeof r=="number"||typeof r=="string")&&(this.result="".concat(this.result," * ").concat(r)),this.lowPriority=!1,this}},{key:"div",value:function(r){return this.lowPriority&&(this.result="(".concat(this.result,")")),r instanceof n?this.result="".concat(this.result," / ").concat(r.getResult(!0)):(typeof r=="number"||typeof r=="string")&&(this.result="".concat(this.result," / ").concat(r)),this.lowPriority=!1,this}},{key:"getResult",value:function(r){return this.lowPriority||r?"(".concat(this.result,")"):this.result}},{key:"equal",value:function(r){var a=this,i=r||{},s=i.unit,l=!0;return typeof s=="boolean"?l=s:Array.from(this.unitlessCssVar).some(function(c){return a.result.includes(c)})&&(l=!1),this.result=this.result.replace(nv,l?"px":""),typeof this.lowPriority<"u"?"calc(".concat(this.result,")"):this.result}}]),n}(Od),rv=function(e){Bt(n,e);var t=jt(n);function n(o){var r;return Me(this,n),r=t.call(this),R(X(r),"result",0),o instanceof n?r.result=o.result:typeof o=="number"&&(r.result=o),r}return Oe(n,[{key:"add",value:function(r){return r instanceof n?this.result+=r.result:typeof r=="number"&&(this.result+=r),this}},{key:"sub",value:function(r){return r instanceof n?this.result-=r.result:typeof r=="number"&&(this.result-=r),this}},{key:"mul",value:function(r){return r instanceof n?this.result*=r.result:typeof r=="number"&&(this.result*=r),this}},{key:"div",value:function(r){return r instanceof n?this.result/=r.result:typeof r=="number"&&(this.result/=r),this}},{key:"equal",value:function(){return this.result}}]),n}(Od),av=function(t,n){var o=t==="css"?ov:rv;return function(r){return new o(r,n)}},ul=function(t,n){return"".concat([n,t.replace(/([A-Z]+)([A-Z][a-z]+)/g,"$1-$2").replace(/([a-z])([A-Z])/g,"$1-$2")].filter(Boolean).join("-"))};function cn(e){var t=u.useRef();t.current=e;var n=u.useCallback(function(){for(var o,r=arguments.length,a=new Array(r),i=0;i<r;i++)a[i]=arguments[i];return(o=t.current)===null||o===void 0?void 0:o.call.apply(o,[t].concat(a))},[]);return n}function Io(e){var t=u.useRef(!1),n=u.useState(e),o=B(n,2),r=o[0],a=o[1];u.useEffect(function(){return t.current=!1,function(){t.current=!0}},[]);function i(s,l){l&&t.current||a(s)}return[r,i]}function ml(e,t,n,o){var r=O({},t[e]);if(o!=null&&o.deprecatedTokens){var a=o.deprecatedTokens;a.forEach(function(s){var l=B(s,2),c=l[0],d=l[1];if(r!=null&&r[c]||r!=null&&r[d]){var m;(m=r[d])!==null&&m!==void 0||(r[d]=r==null?void 0:r[c])}})}var i=O(O({},n),r);return Object.keys(i).forEach(function(s){i[s]===t[s]&&delete i[s]}),i}var Id=typeof CSSINJS_STATISTIC<"u",ai=!0;function at(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];if(!Id)return Object.assign.apply(Object,[{}].concat(t));ai=!1;var o={};return t.forEach(function(r){if(z(r)==="object"){var a=Object.keys(r);a.forEach(function(i){Object.defineProperty(o,i,{configurable:!0,enumerable:!0,get:function(){return r[i]}})})}}),ai=!0,o}var pl={};function iv(){}var sv=function(t){var n,o=t,r=iv;return Id&&typeof Proxy<"u"&&(n=new Set,o=new Proxy(t,{get:function(i,s){if(ai){var l;(l=n)===null||l===void 0||l.add(s)}return i[s]}}),r=function(i,s){var l;pl[i]={global:Array.from(n),component:O(O({},(l=pl[i])===null||l===void 0?void 0:l.component),s)}}),{token:o,keys:n,flush:r}};function fl(e,t,n){if(typeof n=="function"){var o;return n(at(t,(o=t[e])!==null&&o!==void 0?o:{}))}return n??{}}function lv(e){return e==="js"?{max:Math.max,min:Math.min}:{max:function(){for(var n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return"max(".concat(o.map(function(a){return Z(a)}).join(","),")")},min:function(){for(var n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return"min(".concat(o.map(function(a){return Z(a)}).join(","),")")}}}var cv=1e3*60*10,dv=function(){function e(){Me(this,e),R(this,"map",new Map),R(this,"objectIDMap",new WeakMap),R(this,"nextID",0),R(this,"lastAccessBeat",new Map),R(this,"accessBeat",0)}return Oe(e,[{key:"set",value:function(n,o){this.clear();var r=this.getCompositeKey(n);this.map.set(r,o),this.lastAccessBeat.set(r,Date.now())}},{key:"get",value:function(n){var o=this.getCompositeKey(n),r=this.map.get(o);return this.lastAccessBeat.set(o,Date.now()),this.accessBeat+=1,r}},{key:"getCompositeKey",value:function(n){var o=this,r=n.map(function(a){return a&&z(a)==="object"?"obj_".concat(o.getObjectID(a)):"".concat(z(a),"_").concat(a)});return r.join("|")}},{key:"getObjectID",value:function(n){if(this.objectIDMap.has(n))return this.objectIDMap.get(n);var o=this.nextID;return this.objectIDMap.set(n,o),this.nextID+=1,o}},{key:"clear",value:function(){var n=this;if(this.accessBeat>1e4){var o=Date.now();this.lastAccessBeat.forEach(function(r,a){o-r>cv&&(n.map.delete(a),n.lastAccessBeat.delete(a))}),this.accessBeat=0}}}]),e}(),gl=new dv;function uv(e,t){return I.useMemo(function(){var n=gl.get(t);if(n)return n;var o=e();return gl.set(t,o),o},t)}var mv=function(){return{}};function pv(e){var t=e.useCSP,n=t===void 0?mv:t,o=e.useToken,r=e.usePrefix,a=e.getResetStyles,i=e.getCommonStyle,s=e.getCompUnitless;function l(p,g,h,v){var f=Array.isArray(p)?p[0]:p;function y(E){return"".concat(String(f)).concat(E.slice(0,1).toUpperCase()).concat(E.slice(1))}var b=(v==null?void 0:v.unitless)||{},S=typeof s=="function"?s(p):{},C=O(O({},S),{},R({},y("zIndexPopup"),!0));Object.keys(b).forEach(function(E){C[y(E)]=b[E]});var w=O(O({},v),{},{unitless:C,prefixToken:y}),x=d(p,g,h,w),k=c(f,h,w);return function(E){var T=arguments.length>1&&arguments[1]!==void 0?arguments[1]:E,P=x(E,T),M=B(P,2),F=M[1],D=k(T),A=B(D,2),_=A[0],N=A[1];return[_,F,N]}}function c(p,g,h){var v=h.unitless,f=h.injectStyle,y=f===void 0?!0:f,b=h.prefixToken,S=h.ignore,C=function(k){var E=k.rootCls,T=k.cssVar,P=T===void 0?{}:T,M=o(),F=M.realToken;return Ch({path:[p],prefix:P.prefix,key:P.key,unitless:v,ignore:S,token:F,scope:E},function(){var D=fl(p,F,g),A=ml(p,F,D,{deprecatedTokens:h==null?void 0:h.deprecatedTokens});return Object.keys(D).forEach(function(_){A[b(_)]=A[_],delete A[_]}),A}),null},w=function(k){var E=o(),T=E.cssVar;return[function(P){return y&&T?I.createElement(I.Fragment,null,I.createElement(C,{rootCls:k,cssVar:T,component:p}),P):P},T==null?void 0:T.key]};return w}function d(p,g,h){var v=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},f=Array.isArray(p)?p:[p,p],y=B(f,1),b=y[0],S=f.join("-"),C=e.layer||{name:"antd"};return function(w){var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:w,k=o(),E=k.theme,T=k.realToken,P=k.hashId,M=k.token,F=k.cssVar,D=r(),A=D.rootPrefixCls,_=D.iconPrefixCls,N=n(),$=F?"css":"js",K=uv(function(){var q=new Set;return F&&Object.keys(v.unitless||{}).forEach(function(U){q.add(So(U,F.prefix)),q.add(So(U,ul(b,F.prefix)))}),av($,q)},[$,b,F==null?void 0:F.prefix]),Y=lv($),ee=Y.max,J=Y.min,G={theme:E,token:M,hashId:P,nonce:function(){return N.nonce},clientOnly:v.clientOnly,layer:C,order:v.order||-999};typeof a=="function"&&za(O(O({},G),{},{clientOnly:!1,path:["Shared",A]}),function(){return a(M,{prefix:{rootPrefixCls:A,iconPrefixCls:_},csp:N})});var te=za(O(O({},G),{},{path:[S,w,_]}),function(){if(v.injectStyle===!1)return[];var q=sv(M),U=q.token,V=q.flush,ne=fl(b,T,h),Te=".".concat(w),he=ml(b,T,ne,{deprecatedTokens:v.deprecatedTokens});F&&ne&&z(ne)==="object"&&Object.keys(ne).forEach(function(fe){ne[fe]="var(".concat(So(fe,ul(b,F.prefix)),")")});var be=at(U,{componentCls:Te,prefixCls:w,iconCls:".".concat(_),antCls:".".concat(A),calc:K,max:ee,min:J},F?ne:he),ye=g(be,{hashId:P,prefixCls:w,rootPrefixCls:A,iconPrefixCls:_});V(b,he);var Se=typeof i=="function"?i(be,w,x,v.resetFont):null;return[v.resetStyle===!1?null:Se,ye]});return[te,P]}}function m(p,g,h){var v=arguments.length>3&&arguments[3]!==void 0?arguments[3]:{},f=d(p,g,h,O({resetStyle:!1,order:-998},v)),y=function(S){var C=S.prefixCls,w=S.rootCls,x=w===void 0?C:w;return f(C,x),null};return y}return{genStyleHooks:l,genSubStyleComponent:m,genComponentStyleHook:d}}const es=["blue","purple","cyan","green","magenta","pink","red","orange","yellow","volcano","geekblue","lime","gold"],fv="5.29.3";function ia(e){return e>=0&&e<=255}function Tn(e,t){const{r:n,g:o,b:r,a}=new pe(e).toRgb();if(a<1)return e;const{r:i,g:s,b:l}=new pe(t).toRgb();for(let c=.01;c<=1;c+=.01){const d=Math.round((n-i*(1-c))/c),m=Math.round((o-s*(1-c))/c),p=Math.round((r-l*(1-c))/c);if(ia(d)&&ia(m)&&ia(p))return new pe({r:d,g:m,b:p,a:Math.round(c*100)/100}).toRgbString()}return new pe({r:n,g:o,b:r,a:1}).toRgbString()}var gv=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};function _d(e){const{override:t}=e,n=gv(e,["override"]),o=Object.assign({},t);Object.keys($n).forEach(p=>{delete o[p]});const r=Object.assign(Object.assign({},n),o),a=480,i=576,s=768,l=992,c=1200,d=1600;if(r.motion===!1){const p="0s";r.motionDurationFast=p,r.motionDurationMid=p,r.motionDurationSlow=p}return Object.assign(Object.assign(Object.assign({},r),{colorFillContent:r.colorFillSecondary,colorFillContentHover:r.colorFill,colorFillAlter:r.colorFillQuaternary,colorBgContainerDisabled:r.colorFillTertiary,colorBorderBg:r.colorBgContainer,colorSplit:Tn(r.colorBorderSecondary,r.colorBgContainer),colorTextPlaceholder:r.colorTextQuaternary,colorTextDisabled:r.colorTextQuaternary,colorTextHeading:r.colorText,colorTextLabel:r.colorTextSecondary,colorTextDescription:r.colorTextTertiary,colorTextLightSolid:r.colorWhite,colorHighlight:r.colorError,colorBgTextHover:r.colorFillSecondary,colorBgTextActive:r.colorFill,colorIcon:r.colorTextTertiary,colorIconHover:r.colorText,colorErrorOutline:Tn(r.colorErrorBg,r.colorBgContainer),colorWarningOutline:Tn(r.colorWarningBg,r.colorBgContainer),fontSizeIcon:r.fontSizeSM,lineWidthFocus:r.lineWidth*3,lineWidth:r.lineWidth,controlOutlineWidth:r.lineWidth*2,controlInteractiveSize:r.controlHeight/2,controlItemBgHover:r.colorFillTertiary,controlItemBgActive:r.colorPrimaryBg,controlItemBgActiveHover:r.colorPrimaryBgHover,controlItemBgActiveDisabled:r.colorFill,controlTmpOutline:r.colorFillQuaternary,controlOutline:Tn(r.colorPrimaryBg,r.colorBgContainer),lineType:r.lineType,borderRadius:r.borderRadius,borderRadiusXS:r.borderRadiusXS,borderRadiusSM:r.borderRadiusSM,borderRadiusLG:r.borderRadiusLG,fontWeightStrong:600,opacityLoading:.65,linkDecoration:"none",linkHoverDecoration:"none",linkFocusDecoration:"none",controlPaddingHorizontal:12,controlPaddingHorizontalSM:8,paddingXXS:r.sizeXXS,paddingXS:r.sizeXS,paddingSM:r.sizeSM,padding:r.size,paddingMD:r.sizeMD,paddingLG:r.sizeLG,paddingXL:r.sizeXL,paddingContentHorizontalLG:r.sizeLG,paddingContentVerticalLG:r.sizeMS,paddingContentHorizontal:r.sizeMS,paddingContentVertical:r.sizeSM,paddingContentHorizontalSM:r.size,paddingContentVerticalSM:r.sizeXS,marginXXS:r.sizeXXS,marginXS:r.sizeXS,marginSM:r.sizeSM,margin:r.size,marginMD:r.sizeMD,marginLG:r.sizeLG,marginXL:r.sizeXL,marginXXL:r.sizeXXL,boxShadow:`
551
+ 0 6px 16px 0 rgba(0, 0, 0, 0.08),
552
+ 0 3px 6px -4px rgba(0, 0, 0, 0.12),
553
+ 0 9px 28px 8px rgba(0, 0, 0, 0.05)
554
+ `,boxShadowSecondary:`
555
+ 0 6px 16px 0 rgba(0, 0, 0, 0.08),
556
+ 0 3px 6px -4px rgba(0, 0, 0, 0.12),
557
+ 0 9px 28px 8px rgba(0, 0, 0, 0.05)
558
+ `,boxShadowTertiary:`
559
+ 0 1px 2px 0 rgba(0, 0, 0, 0.03),
560
+ 0 1px 6px -1px rgba(0, 0, 0, 0.02),
561
+ 0 2px 4px 0 rgba(0, 0, 0, 0.02)
562
+ `,screenXS:a,screenXSMin:a,screenXSMax:i-1,screenSM:i,screenSMMin:i,screenSMMax:s-1,screenMD:s,screenMDMin:s,screenMDMax:l-1,screenLG:l,screenLGMin:l,screenLGMax:c-1,screenXL:c,screenXLMin:c,screenXLMax:d-1,screenXXL:d,screenXXLMin:d,boxShadowPopoverArrow:"2px 2px 5px rgba(0, 0, 0, 0.05)",boxShadowCard:`
563
+ 0 1px 2px -2px ${new pe("rgba(0, 0, 0, 0.16)").toRgbString()},
564
+ 0 3px 6px 0 ${new pe("rgba(0, 0, 0, 0.12)").toRgbString()},
565
+ 0 5px 12px 4px ${new pe("rgba(0, 0, 0, 0.09)").toRgbString()}
566
+ `,boxShadowDrawerRight:`
567
+ -6px 0 16px 0 rgba(0, 0, 0, 0.08),
568
+ -3px 0 6px -4px rgba(0, 0, 0, 0.12),
569
+ -9px 0 28px 8px rgba(0, 0, 0, 0.05)
570
+ `,boxShadowDrawerLeft:`
571
+ 6px 0 16px 0 rgba(0, 0, 0, 0.08),
572
+ 3px 0 6px -4px rgba(0, 0, 0, 0.12),
573
+ 9px 0 28px 8px rgba(0, 0, 0, 0.05)
574
+ `,boxShadowDrawerUp:`
575
+ 0 6px 16px 0 rgba(0, 0, 0, 0.08),
576
+ 0 3px 6px -4px rgba(0, 0, 0, 0.12),
577
+ 0 9px 28px 8px rgba(0, 0, 0, 0.05)
578
+ `,boxShadowDrawerDown:`
579
+ 0 -6px 16px 0 rgba(0, 0, 0, 0.08),
580
+ 0 -3px 6px -4px rgba(0, 0, 0, 0.12),
581
+ 0 -9px 28px 8px rgba(0, 0, 0, 0.05)
582
+ `,boxShadowTabsOverflowLeft:"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowRight:"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowTop:"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)",boxShadowTabsOverflowBottom:"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)"}),o)}var hl=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};const Ld={lineHeight:!0,lineHeightSM:!0,lineHeightLG:!0,lineHeightHeading1:!0,lineHeightHeading2:!0,lineHeightHeading3:!0,lineHeightHeading4:!0,lineHeightHeading5:!0,opacityLoading:!0,fontWeightStrong:!0,zIndexPopupBase:!0,zIndexBase:!0,opacityImage:!0},hv={motionBase:!0,motionUnit:!0},vv={screenXS:!0,screenXSMin:!0,screenXSMax:!0,screenSM:!0,screenSMMin:!0,screenSMMax:!0,screenMD:!0,screenMDMin:!0,screenMDMax:!0,screenLG:!0,screenLGMin:!0,screenLGMax:!0,screenXL:!0,screenXLMin:!0,screenXLMax:!0,screenXXL:!0,screenXXLMin:!0},Nd=(e,t,n)=>{const o=n.getDerivativeToken(e),{override:r}=t,a=hl(t,["override"]);let i=Object.assign(Object.assign({},o),{override:r});return i=_d(i),a&&Object.entries(a).forEach(([s,l])=>{const{theme:c}=l,d=hl(l,["theme"]);let m=d;c&&(m=Nd(Object.assign(Object.assign({},i),d),{override:d},c)),i[s]=m}),i};function bt(){const{token:e,hashed:t,theme:n,override:o,cssVar:r}=I.useContext(Ad),a=`${fv}-${t||""}`,i=n||Rd,[s,l,c]=Kg(i,[$n,e],{salt:a,override:o,getComputedToken:Nd,formatToken:_d,cssVar:r&&{prefix:r.prefix,key:r.key,unitless:Ld,ignore:hv,preserve:vv}});return[i,c,t?l:"",s,r]}const _P={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},ts=(e,t=!1)=>({boxSizing:"border-box",margin:0,padding:0,color:e.colorText,fontSize:e.fontSize,lineHeight:e.lineHeight,listStyle:"none",fontFamily:t?"inherit":e.fontFamily}),$d=()=>({display:"inline-flex",alignItems:"center",color:"inherit",fontStyle:"normal",lineHeight:0,textAlign:"center",textTransform:"none",verticalAlign:"-0.125em",textRendering:"optimizeLegibility","-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale","> *":{lineHeight:1},svg:{display:"inline-block"}}),bv=()=>({"&::before":{display:"table",content:'""'},"&::after":{display:"table",clear:"both",content:'""'}}),yv=e=>({a:{color:e.colorLink,textDecoration:e.linkDecoration,backgroundColor:"transparent",outline:"none",cursor:"pointer",transition:`color ${e.motionDurationSlow}`,"-webkit-text-decoration-skip":"objects","&:hover":{color:e.colorLinkHover},"&:active":{color:e.colorLinkActive},"&:active, &:hover":{textDecoration:e.linkHoverDecoration,outline:0},"&:focus":{textDecoration:e.linkFocusDecoration,outline:0},"&[disabled]":{color:e.colorTextDisabled,cursor:"not-allowed"}}}),Sv=(e,t,n,o)=>{const r=`[class^="${t}"], [class*=" ${t}"]`,a=n?`.${n}`:r,i={boxSizing:"border-box","&::before, &::after":{boxSizing:"border-box"}};let s={};return o!==!1&&(s={fontFamily:e.fontFamily,fontSize:e.fontSize}),{[a]:Object.assign(Object.assign(Object.assign({},s),i),{[r]:i})}},wv=(e,t)=>({outline:`${Z(e.lineWidthFocus)} solid ${e.colorPrimaryBorder}`,outlineOffset:t??1,transition:"outline-offset 0s, outline 0s"}),ir=(e,t)=>({"&:focus-visible":wv(e,t)}),Bd=e=>({[`.${e}`]:Object.assign(Object.assign({},$d()),{[`.${e} .${e}-icon`]:{display:"block"}})}),LP=e=>Object.assign(Object.assign({color:e.colorLink,textDecoration:e.linkDecoration,outline:"none",cursor:"pointer",transition:`all ${e.motionDurationSlow}`,border:0,padding:0,background:"none",userSelect:"none"},ir(e)),{"&:hover":{color:e.colorLinkHover,textDecoration:e.linkHoverDecoration},"&:focus":{color:e.colorLinkHover,textDecoration:e.linkFocusDecoration},"&:active":{color:e.colorLinkActive,textDecoration:e.linkHoverDecoration}}),{genStyleHooks:yt,genComponentStyleHook:Cv,genSubStyleComponent:jd}=pv({usePrefix:()=>{const{getPrefixCls:e,iconPrefixCls:t}=u.useContext(de);return{rootPrefixCls:e(),iconPrefixCls:t}},useToken:()=>{const[e,t,n,o,r]=bt();return{theme:e,realToken:t,hashId:n,token:o,cssVar:r}},useCSP:()=>{const{csp:e}=u.useContext(de);return e??{}},getResetStyles:(e,t)=>{var n;const o=yv(e);return[o,{"&":o},Bd((n=t==null?void 0:t.prefix.iconPrefixCls)!==null&&n!==void 0?n:ar)]},getCommonStyle:Sv,getCompUnitless:()=>Ld}),kv=(e,t)=>{const[n,o]=bt();return za({token:o,hashId:"",path:["ant-design-icons",e],nonce:()=>t==null?void 0:t.nonce,layer:{name:"antd"}},()=>Bd(e))},xv=Object.assign({},Wo),{useId:vl}=xv,Pv=()=>"",Tv=typeof vl>"u"?Pv:vl;function Ev(e,t,n){var o;or();const r=e||{},a=r.inherit===!1||!t?Object.assign(Object.assign({},ri),{hashed:(o=t==null?void 0:t.hashed)!==null&&o!==void 0?o:ri.hashed,cssVar:t==null?void 0:t.cssVar}):t,i=Tv();return Wi(()=>{var s,l;if(!e)return t;const c=Object.assign({},a.components);Object.keys(e.components||{}).forEach(p=>{c[p]=Object.assign(Object.assign({},c[p]),e.components[p])});const d=`css-var-${i.replace(/:/g,"")}`,m=((s=r.cssVar)!==null&&s!==void 0?s:a.cssVar)&&Object.assign(Object.assign(Object.assign({prefix:n==null?void 0:n.prefixCls},typeof a.cssVar=="object"?a.cssVar:{}),typeof r.cssVar=="object"?r.cssVar:{}),{key:typeof r.cssVar=="object"&&((l=r.cssVar)===null||l===void 0?void 0:l.key)||d});return Object.assign(Object.assign(Object.assign({},a),r),{token:Object.assign(Object.assign({},a.token),r.token),components:c,cssVar:m})},[r,a],(s,l)=>s.some((c,d)=>{const m=l[d];return!Ba(c,m,!0)}))}var Rv=["children"],Wd=u.createContext({});function Av(e){var t=e.children,n=Je(e,Rv);return u.createElement(Wd.Provider,{value:n},t)}var Dv=function(e){Bt(n,e);var t=jt(n);function n(){return Me(this,n),t.apply(this,arguments)}return Oe(n,[{key:"render",value:function(){return this.props.children}}]),n}(u.Component);function Mv(e){var t=u.useReducer(function(s){return s+1},0),n=B(t,2),o=n[1],r=u.useRef(e),a=cn(function(){return r.current}),i=cn(function(s){r.current=typeof s=="function"?s(r.current):s,o()});return[a,i]}var kt="none",fo="appear",go="enter",ho="leave",bl="none",nt="prepare",Yt="start",Xt="active",ns="end",Hd="prepared";function yl(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit".concat(e)]="webkit".concat(t),n["Moz".concat(e)]="moz".concat(t),n["ms".concat(e)]="MS".concat(t),n["O".concat(e)]="o".concat(t.toLowerCase()),n}function Ov(e,t){var n={animationend:yl("Animation","AnimationEnd"),transitionend:yl("Transition","TransitionEnd")};return e&&("AnimationEvent"in t||delete n.animationend.animation,"TransitionEvent"in t||delete n.transitionend.transition),n}var Fv=Ov(Be(),typeof window<"u"?window:{}),Ud={};if(Be()){var Iv=document.createElement("div");Ud=Iv.style}var vo={};function Vd(e){if(vo[e])return vo[e];var t=Fv[e];if(t)for(var n=Object.keys(t),o=n.length,r=0;r<o;r+=1){var a=n[r];if(Object.prototype.hasOwnProperty.call(t,a)&&a in Ud)return vo[e]=t[a],vo[e]}return""}var zd=Vd("animationend"),qd=Vd("transitionend"),Gd=!!(zd&&qd),Sl=zd||"animationend",wl=qd||"transitionend";function Cl(e,t){if(!e)return null;if(z(e)==="object"){var n=t.replace(/-\w/g,function(o){return o[1].toUpperCase()});return e[n]}return"".concat(e,"-").concat(t)}const _v=function(e){var t=u.useRef();function n(r){r&&(r.removeEventListener(wl,e),r.removeEventListener(Sl,e))}function o(r){t.current&&t.current!==r&&n(t.current),r&&r!==t.current&&(r.addEventListener(wl,e),r.addEventListener(Sl,e),t.current=r)}return u.useEffect(function(){return function(){n(t.current)}},[]),[o,n]};var Kd=Be()?u.useLayoutEffect:u.useEffect;const Lv=function(){var e=u.useRef(null);function t(){$t.cancel(e.current)}function n(o){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;t();var a=$t(function(){r<=1?o({isCanceled:function(){return a!==e.current}}):n(o,r-1)});e.current=a}return u.useEffect(function(){return function(){t()}},[]),[n,t]};var Nv=[nt,Yt,Xt,ns],$v=[nt,Hd],Yd=!1,Bv=!0;function Xd(e){return e===Xt||e===ns}const jv=function(e,t,n){var o=Io(bl),r=B(o,2),a=r[0],i=r[1],s=Lv(),l=B(s,2),c=l[0],d=l[1];function m(){i(nt,!0)}var p=t?$v:Nv;return Kd(function(){if(a!==bl&&a!==ns){var g=p.indexOf(a),h=p[g+1],v=n(a);v===Yd?i(h,!0):h&&c(function(f){function y(){f.isCanceled()||i(h,!0)}v===!0?y():Promise.resolve(v).then(y)})}},[e,a]),u.useEffect(function(){return function(){d()}},[]),[m,a]};function Wv(e,t,n,o){var r=o.motionEnter,a=r===void 0?!0:r,i=o.motionAppear,s=i===void 0?!0:i,l=o.motionLeave,c=l===void 0?!0:l,d=o.motionDeadline,m=o.motionLeaveImmediately,p=o.onAppearPrepare,g=o.onEnterPrepare,h=o.onLeavePrepare,v=o.onAppearStart,f=o.onEnterStart,y=o.onLeaveStart,b=o.onAppearActive,S=o.onEnterActive,C=o.onLeaveActive,w=o.onAppearEnd,x=o.onEnterEnd,k=o.onLeaveEnd,E=o.onVisibleChanged,T=Io(),P=B(T,2),M=P[0],F=P[1],D=Mv(kt),A=B(D,2),_=A[0],N=A[1],$=Io(null),K=B($,2),Y=K[0],ee=K[1],J=_(),G=u.useRef(!1),te=u.useRef(null);function q(){return n()}var U=u.useRef(!1);function V(){N(kt),ee(null,!0)}var ne=cn(function(ce){var me=_();if(me!==kt){var Fe=q();if(!(ce&&!ce.deadline&&ce.target!==Fe)){var $e=U.current,Ie;me===fo&&$e?Ie=w==null?void 0:w(Fe,ce):me===go&&$e?Ie=x==null?void 0:x(Fe,ce):me===ho&&$e&&(Ie=k==null?void 0:k(Fe,ce)),$e&&Ie!==!1&&V()}}}),Te=_v(ne),he=B(Te,1),be=he[0],ye=function(me){switch(me){case fo:return R(R(R({},nt,p),Yt,v),Xt,b);case go:return R(R(R({},nt,g),Yt,f),Xt,S);case ho:return R(R(R({},nt,h),Yt,y),Xt,C);default:return{}}},Se=u.useMemo(function(){return ye(J)},[J]),fe=jv(J,!e,function(ce){if(ce===nt){var me=Se[nt];return me?me(q()):Yd}if(ie in Se){var Fe;ee(((Fe=Se[ie])===null||Fe===void 0?void 0:Fe.call(Se,q(),null))||null)}return ie===Xt&&J!==kt&&(be(q()),d>0&&(clearTimeout(te.current),te.current=setTimeout(function(){ne({deadline:!0})},d))),ie===Hd&&V(),Bv}),ue=B(fe,2),oe=ue[0],ie=ue[1],Ke=Xd(ie);U.current=Ke;var se=u.useRef(null);Kd(function(){if(!(G.current&&se.current===t)){F(t);var ce=G.current;G.current=!0;var me;!ce&&t&&s&&(me=fo),ce&&t&&a&&(me=go),(ce&&!t&&c||!ce&&m&&!t&&c)&&(me=ho);var Fe=ye(me);me&&(e||Fe[nt])?(N(me),oe()):N(kt),se.current=t}},[t]),u.useEffect(function(){(J===fo&&!s||J===go&&!a||J===ho&&!c)&&N(kt)},[s,a,c]),u.useEffect(function(){return function(){G.current=!1,clearTimeout(te.current)}},[]);var Ne=u.useRef(!1);u.useEffect(function(){M&&(Ne.current=!0),M!==void 0&&J===kt&&((Ne.current||M)&&(E==null||E(M)),Ne.current=!0)},[M,J]);var Re=Y;return Se[nt]&&ie===Yt&&(Re=O({transition:"none"},Re)),[J,ie,Re,M??t]}function Hv(e){var t=e;z(e)==="object"&&(t=e.transitionSupport);function n(r,a){return!!(r.motionName&&t&&a!==!1)}var o=u.forwardRef(function(r,a){var i=r.visible,s=i===void 0?!0:i,l=r.removeOnLeave,c=l===void 0?!0:l,d=r.forceRender,m=r.children,p=r.motionName,g=r.leavedClassName,h=r.eventProps,v=u.useContext(Wd),f=v.motion,y=n(r,f),b=u.useRef(),S=u.useRef();function C(){try{return b.current instanceof HTMLElement?b.current:fg(S.current)}catch{return null}}var w=Wv(y,s,C,r),x=B(w,4),k=x[0],E=x[1],T=x[2],P=x[3],M=u.useRef(P);P&&(M.current=!0);var F=u.useCallback(function(K){b.current=K,Xc(a,K)},[a]),D,A=O(O({},h),{},{visible:s});if(!m)D=null;else if(k===kt)P?D=m(O({},A),F):!c&&M.current&&g?D=m(O(O({},A),{},{className:g}),F):d||!c&&!g?D=m(O(O({},A),{},{style:{display:"none"}}),F):D=null;else{var _;E===nt?_="prepare":Xd(E)?_="active":E===Yt&&(_="start");var N=Cl(p,"".concat(k,"-").concat(_));D=m(O(O({},A),{},{className:W(Cl(p,k),R(R({},N,N&&_),p,typeof p=="string")),style:T}),F)}if(u.isValidElement(D)&&Zo(D)){var $=Jc(D);$||(D=u.cloneElement(D,{ref:F}))}return u.createElement(Dv,{ref:S},D)});return o.displayName="CSSMotion",o}const Un=Hv(Gd);var ii="add",si="keep",li="remove",sa="removed";function Uv(e){var t;return e&&z(e)==="object"&&"key"in e?t=e:t={key:e},O(O({},t),{},{key:String(t.key)})}function ci(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];return e.map(Uv)}function Vv(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=[],o=0,r=t.length,a=ci(e),i=ci(t);a.forEach(function(c){for(var d=!1,m=o;m<r;m+=1){var p=i[m];if(p.key===c.key){o<m&&(n=n.concat(i.slice(o,m).map(function(g){return O(O({},g),{},{status:ii})})),o=m),n.push(O(O({},p),{},{status:si})),o+=1,d=!0;break}}d||n.push(O(O({},c),{},{status:li}))}),o<r&&(n=n.concat(i.slice(o).map(function(c){return O(O({},c),{},{status:ii})})));var s={};n.forEach(function(c){var d=c.key;s[d]=(s[d]||0)+1});var l=Object.keys(s).filter(function(c){return s[c]>1});return l.forEach(function(c){n=n.filter(function(d){var m=d.key,p=d.status;return m!==c||p!==li}),n.forEach(function(d){d.key===c&&(d.status=si)})}),n}var zv=["component","children","onVisibleChanged","onAllRemoved"],qv=["status"],Gv=["eventProps","visible","children","motionName","motionAppear","motionEnter","motionLeave","motionLeaveImmediately","motionDeadline","removeOnLeave","leavedClassName","onAppearPrepare","onAppearStart","onAppearActive","onAppearEnd","onEnterStart","onEnterActive","onEnterEnd","onLeaveStart","onLeaveActive","onLeaveEnd"];function Kv(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Un,n=function(o){Bt(a,o);var r=jt(a);function a(){var i;Me(this,a);for(var s=arguments.length,l=new Array(s),c=0;c<s;c++)l[c]=arguments[c];return i=r.call.apply(r,[this].concat(l)),R(X(i),"state",{keyEntities:[]}),R(X(i),"removeKey",function(d){i.setState(function(m){var p=m.keyEntities.map(function(g){return g.key!==d?g:O(O({},g),{},{status:sa})});return{keyEntities:p}},function(){var m=i.state.keyEntities,p=m.filter(function(g){var h=g.status;return h!==sa}).length;p===0&&i.props.onAllRemoved&&i.props.onAllRemoved()})}),i}return Oe(a,[{key:"render",value:function(){var s=this,l=this.state.keyEntities,c=this.props,d=c.component,m=c.children,p=c.onVisibleChanged;c.onAllRemoved;var g=Je(c,zv),h=d||u.Fragment,v={};return Gv.forEach(function(f){v[f]=g[f],delete g[f]}),delete g.keys,u.createElement(h,g,l.map(function(f,y){var b=f.status,S=Je(f,qv),C=b===ii||b===si;return u.createElement(t,le({},v,{key:S.key,visible:C,eventProps:S,onVisibleChanged:function(x){p==null||p(x,{key:S.key}),x||s.removeKey(S.key)}}),function(w,x){return m(O(O({},w),{},{index:y}),x)})}))}}],[{key:"getDerivedStateFromProps",value:function(s,l){var c=s.keys,d=l.keyEntities,m=ci(c),p=Vv(d,m);return{keyEntities:p.filter(function(g){var h=d.find(function(v){var f=v.key;return g.key===f});return!(h&&h.status===sa&&g.status===li)})}}}]),a}(u.Component);return R(n,"defaultProps",{component:"div"}),n}const Yv=Kv(Gd),kl=u.createContext(!0);function Xv(e){const t=u.useContext(kl),{children:n}=e,[,o]=bt(),{motion:r}=o,a=u.useRef(!1);return a.current||(a.current=t!==r),a.current?u.createElement(kl.Provider,{value:r},u.createElement(Av,{motion:r},n)):n}const Jv=()=>null;var Qv=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};const Zv=["getTargetContainer","getPopupContainer","renderEmpty","input","pagination","form","select","button"];let _o,Jd,Qd,Zd;function Ro(){return _o||jn}function eb(){return Jd||ar}function tb(e){return Object.keys(e).some(t=>t.endsWith("Color"))}const nb=e=>{const{prefixCls:t,iconPrefixCls:n,theme:o,holderRender:r}=e;t!==void 0&&(_o=t),n!==void 0&&(Jd=n),"holderRender"in e&&(Zd=r),o&&(tb(o)?Zh(Ro(),o):Qd=o)},ob=()=>({getPrefixCls:(e,t)=>t||(e?`${Ro()}-${e}`:Ro()),getIconPrefixCls:eb,getRootPrefixCls:()=>_o||Ro(),getTheme:()=>Qd,holderRender:Zd}),rb=e=>{const{children:t,csp:n,autoInsertSpaceInButton:o,alert:r,anchor:a,form:i,locale:s,componentSize:l,direction:c,space:d,splitter:m,virtual:p,dropdownMatchSelectWidth:g,popupMatchSelectWidth:h,popupOverflow:v,legacyLocale:f,parentContext:y,iconPrefixCls:b,theme:S,componentDisabled:C,segmented:w,statistic:x,spin:k,calendar:E,carousel:T,cascader:P,collapse:M,typography:F,checkbox:D,descriptions:A,divider:_,drawer:N,skeleton:$,steps:K,image:Y,layout:ee,list:J,mentions:G,modal:te,progress:q,result:U,slider:V,breadcrumb:ne,menu:Te,pagination:he,input:be,textArea:ye,empty:Se,badge:fe,radio:ue,rate:oe,switch:ie,transfer:Ke,avatar:se,message:Ne,tag:Re,table:ce,card:me,tabs:Fe,timeline:$e,timePicker:Ie,upload:Ht,notification:no,tree:Ir,colorPicker:yn,datePicker:oo,rangePicker:ro,flex:_r,wave:Lr,dropdown:ao,warning:Nr,tour:Ft,tooltip:io,popover:Sn,popconfirm:we,floatButton:et,floatButtonGroup:wn,variant:gp,inputNumber:hp,treeSelect:vp}=e,xs=u.useCallback((ke,De)=>{const{prefixCls:it}=e;if(De)return De;const st=it||y.getPrefixCls("");return ke?`${st}-${ke}`:st},[y.getPrefixCls,e.prefixCls]),so=b||y.iconPrefixCls||ar,lo=n||y.csp;kv(so,lo);const $r=Ev(S,y.theme,{prefixCls:xs("")}),Br={csp:lo,autoInsertSpaceInButton:o,alert:r,anchor:a,locale:s||f,direction:c,space:d,splitter:m,virtual:p,popupMatchSelectWidth:h??g,popupOverflow:v,getPrefixCls:xs,iconPrefixCls:so,theme:$r,segmented:w,statistic:x,spin:k,calendar:E,carousel:T,cascader:P,collapse:M,typography:F,checkbox:D,descriptions:A,divider:_,drawer:N,skeleton:$,steps:K,image:Y,input:be,textArea:ye,layout:ee,list:J,mentions:G,modal:te,progress:q,result:U,slider:V,breadcrumb:ne,menu:Te,pagination:he,empty:Se,badge:fe,radio:ue,rate:oe,switch:ie,transfer:Ke,avatar:se,message:Ne,tag:Re,table:ce,card:me,tabs:Fe,timeline:$e,timePicker:Ie,upload:Ht,notification:no,tree:Ir,colorPicker:yn,datePicker:oo,rangePicker:ro,flex:_r,wave:Lr,dropdown:ao,warning:Nr,tour:Ft,tooltip:io,popover:Sn,popconfirm:we,floatButton:et,floatButtonGroup:wn,variant:gp,inputNumber:hp,treeSelect:vp},Ut=Object.assign({},y);Object.keys(Br).forEach(ke=>{Br[ke]!==void 0&&(Ut[ke]=Br[ke])}),Zv.forEach(ke=>{const De=e[ke];De&&(Ut[ke]=De)}),typeof o<"u"&&(Ut.button=Object.assign({autoInsertSpace:o},Ut.button));const Vt=Wi(()=>Ut,Ut,(ke,De)=>{const it=Object.keys(ke),st=Object.keys(De);return it.length!==st.length||it.some(co=>ke[co]!==De[co])}),{layer:Ps}=u.useContext(Hn),bp=u.useMemo(()=>({prefixCls:so,csp:lo,layer:Ps?"antd":void 0}),[so,lo,Ps]);let Ae=u.createElement(u.Fragment,null,u.createElement(Jv,{dropdownMatchSelectWidth:g}),t);const Ts=u.useMemo(()=>{var ke,De,it,st;return Kt(((ke=Rt.Form)===null||ke===void 0?void 0:ke.defaultValidateMessages)||{},((it=(De=Vt.locale)===null||De===void 0?void 0:De.Form)===null||it===void 0?void 0:it.defaultValidateMessages)||{},((st=Vt.form)===null||st===void 0?void 0:st.validateMessages)||{},(i==null?void 0:i.validateMessages)||{})},[Vt,i==null?void 0:i.validateMessages]);Object.keys(Ts).length>0&&(Ae=u.createElement(Ah.Provider,{value:Ts},Ae)),s&&(Ae=u.createElement(_h,{locale:s,_ANT_MARK__:Ih},Ae)),Ae=u.createElement(Qi.Provider,{value:bp},Ae),l&&(Ae=u.createElement(ev,{size:l},Ae)),Ae=u.createElement(Xv,null,Ae);const yp=u.useMemo(()=>{const ke=$r||{},{algorithm:De,token:it,components:st,cssVar:co}=ke,Sp=Qv(ke,["algorithm","token","components","cssVar"]),Es=De&&(!Array.isArray(De)||De.length>0)?Wa(De):Rd,jr={};Object.entries(st||{}).forEach(([wp,Cp])=>{const pt=Object.assign({},Cp);"algorithm"in pt&&(pt.algorithm===!0?pt.theme=Es:(Array.isArray(pt.algorithm)||typeof pt.algorithm=="function")&&(pt.theme=Wa(pt.algorithm)),delete pt.algorithm),jr[wp]=pt});const Rs=Object.assign(Object.assign({},$n),it);return Object.assign(Object.assign({},Sp),{theme:Es,token:Rs,components:jr,override:Object.assign({override:Rs},jr),cssVar:co})},[$r]);return S&&(Ae=u.createElement(Ad.Provider,{value:yp},Ae)),Vt.warning&&(Ae=u.createElement(Rh.Provider,{value:Vt.warning},Ae)),C!==void 0&&(Ae=u.createElement(Md,{disabled:C},Ae)),u.createElement(de.Provider,{value:Vt},Ae)},Dt=e=>{const t=u.useContext(de),n=u.useContext(Zi);return u.createElement(rb,Object.assign({parentContext:t,legacyLocale:n},e))};Dt.ConfigContext=de;Dt.SizeContext=ln;Dt.config=nb;Dt.useConfig=tv;Object.defineProperty(Dt,"SizeContext",{get:()=>ln});var ab={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z"}}]},name:"check-circle",theme:"filled"};function eu(e){var t;return e==null||(t=e.getRootNode)===null||t===void 0?void 0:t.call(e)}function ib(e){return eu(e)instanceof ShadowRoot}function sb(e){return ib(e)?eu(e):null}function lb(e){return e.replace(/-(.)/g,function(t,n){return n.toUpperCase()})}function cb(e,t){qe(e,"[@ant-design/icons] ".concat(t))}function xl(e){return z(e)==="object"&&typeof e.name=="string"&&typeof e.theme=="string"&&(z(e.icon)==="object"||typeof e.icon=="function")}function Pl(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return Object.keys(e).reduce(function(t,n){var o=e[n];switch(n){case"class":t.className=o,delete t.class;break;default:delete t[n],t[lb(n)]=o}return t},{})}function di(e,t,n){return n?I.createElement(e.tag,O(O({key:t},Pl(e.attrs)),n),(e.children||[]).map(function(o,r){return di(o,"".concat(t,"-").concat(e.tag,"-").concat(r))})):I.createElement(e.tag,O({key:t},Pl(e.attrs)),(e.children||[]).map(function(o,r){return di(o,"".concat(t,"-").concat(e.tag,"-").concat(r))}))}function tu(e){return Bn(e)[0]}function nu(e){return e?Array.isArray(e)?e:[e]:[]}var db=`
583
+ .anticon {
584
+ display: inline-flex;
585
+ align-items: center;
586
+ color: inherit;
587
+ font-style: normal;
588
+ line-height: 0;
589
+ text-align: center;
590
+ text-transform: none;
591
+ vertical-align: -0.125em;
592
+ text-rendering: optimizeLegibility;
593
+ -webkit-font-smoothing: antialiased;
594
+ -moz-osx-font-smoothing: grayscale;
595
+ }
596
+
597
+ .anticon > * {
598
+ line-height: 1;
599
+ }
600
+
601
+ .anticon svg {
602
+ display: inline-block;
603
+ }
604
+
605
+ .anticon::before {
606
+ display: none;
607
+ }
608
+
609
+ .anticon .anticon-icon {
610
+ display: block;
611
+ }
612
+
613
+ .anticon[tabindex] {
614
+ cursor: pointer;
615
+ }
616
+
617
+ .anticon-spin::before,
618
+ .anticon-spin {
619
+ display: inline-block;
620
+ -webkit-animation: loadingCircle 1s infinite linear;
621
+ animation: loadingCircle 1s infinite linear;
622
+ }
623
+
624
+ @-webkit-keyframes loadingCircle {
625
+ 100% {
626
+ -webkit-transform: rotate(360deg);
627
+ transform: rotate(360deg);
628
+ }
629
+ }
630
+
631
+ @keyframes loadingCircle {
632
+ 100% {
633
+ -webkit-transform: rotate(360deg);
634
+ transform: rotate(360deg);
635
+ }
636
+ }
637
+ `,ub=function(t){var n=u.useContext(Qi),o=n.csp,r=n.prefixCls,a=n.layer,i=db;r&&(i=i.replace(/anticon/g,r)),a&&(i="@layer ".concat(a,` {
638
+ `).concat(i,`
639
+ }`)),u.useEffect(function(){var s=t.current,l=sb(s);ht(i,"@ant-design-icons",{prepend:!a,csp:o,attachTo:l})},[])},mb=["icon","className","onClick","style","primaryColor","secondaryColor"],Mn={primaryColor:"#333",secondaryColor:"#E6E6E6",calculated:!1};function pb(e){var t=e.primaryColor,n=e.secondaryColor;Mn.primaryColor=t,Mn.secondaryColor=n||tu(t),Mn.calculated=!!n}function fb(){return O({},Mn)}var pn=function(t){var n=t.icon,o=t.className,r=t.onClick,a=t.style,i=t.primaryColor,s=t.secondaryColor,l=Je(t,mb),c=u.useRef(),d=Mn;if(i&&(d={primaryColor:i,secondaryColor:s||tu(i)}),ub(c),cb(xl(n),"icon should be icon definiton, but got ".concat(n)),!xl(n))return null;var m=n;return m&&typeof m.icon=="function"&&(m=O(O({},m),{},{icon:m.icon(d.primaryColor,d.secondaryColor)})),di(m.icon,"svg-".concat(m.name),O(O({className:o,onClick:r,style:a,"data-icon":m.name,width:"1em",height:"1em",fill:"currentColor","aria-hidden":"true"},l),{},{ref:c}))};pn.displayName="IconReact";pn.getTwoToneColors=fb;pn.setTwoToneColors=pb;function ou(e){var t=nu(e),n=B(t,2),o=n[0],r=n[1];return pn.setTwoToneColors({primaryColor:o,secondaryColor:r})}function gb(){var e=pn.getTwoToneColors();return e.calculated?[e.primaryColor,e.secondaryColor]:e.primaryColor}var hb=["className","icon","spin","rotate","tabIndex","onClick","twoToneColor"];ou(Oo.primary);var St=u.forwardRef(function(e,t){var n=e.className,o=e.icon,r=e.spin,a=e.rotate,i=e.tabIndex,s=e.onClick,l=e.twoToneColor,c=Je(e,hb),d=u.useContext(Qi),m=d.prefixCls,p=m===void 0?"anticon":m,g=d.rootClassName,h=W(g,p,R(R({},"".concat(p,"-").concat(o.name),!!o.name),"".concat(p,"-spin"),!!r||o.name==="loading"),n),v=i;v===void 0&&s&&(v=-1);var f=a?{msTransform:"rotate(".concat(a,"deg)"),transform:"rotate(".concat(a,"deg)")}:void 0,y=nu(l),b=B(y,2),S=b[0],C=b[1];return u.createElement("span",le({role:"img","aria-label":o.name},c,{ref:t,tabIndex:v,onClick:s,className:h}),u.createElement(pn,{icon:o,primaryColor:S,secondaryColor:C,style:f}))});St.displayName="AntdIcon";St.getTwoToneColor=gb;St.setTwoToneColor=ou;var vb=function(t,n){return u.createElement(St,le({},t,{ref:n,icon:ab}))},os=u.forwardRef(vb),bb={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z"}}]},name:"close-circle",theme:"filled"},yb=function(t,n){return u.createElement(St,le({},t,{ref:n,icon:bb}))},rs=u.forwardRef(yb),Sb={icon:{tag:"svg",attrs:{"fill-rule":"evenodd",viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z"}}]},name:"close",theme:"outlined"},wb=function(t,n){return u.createElement(St,le({},t,{ref:n,icon:Sb}))},Vn=u.forwardRef(wb),Cb={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"exclamation-circle",theme:"filled"},kb=function(t,n){return u.createElement(St,le({},t,{ref:n,icon:Cb}))},as=u.forwardRef(kb),xb={icon:{tag:"svg",attrs:{viewBox:"64 64 896 896",focusable:"false"},children:[{tag:"path",attrs:{d:"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z"}}]},name:"info-circle",theme:"filled"},Pb=function(t,n){return u.createElement(St,le({},t,{ref:n,icon:xb}))},is=u.forwardRef(Pb),Tb=`accept acceptCharset accessKey action allowFullScreen allowTransparency
640
+ alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge
641
+ charSet checked classID className colSpan cols content contentEditable contextMenu
642
+ controls coords crossOrigin data dateTime default defer dir disabled download draggable
643
+ encType form formAction formEncType formMethod formNoValidate formTarget frameBorder
644
+ headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity
645
+ is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media
646
+ mediaGroup method min minLength multiple muted name noValidate nonce open
647
+ optimum pattern placeholder poster preload radioGroup readOnly rel required
648
+ reversed role rowSpan rows sandbox scope scoped scrolling seamless selected
649
+ shape size sizes span spellCheck src srcDoc srcLang srcSet start step style
650
+ summary tabIndex target title type useMap value width wmode wrap`,Eb=`onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown
651
+ onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick
652
+ onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown
653
+ onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel
654
+ onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough
655
+ onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata
656
+ onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError`,Rb="".concat(Tb," ").concat(Eb).split(/[\s\n]+/),Ab="aria-",Db="data-";function Tl(e,t){return e.indexOf(t)===0}function sr(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n;t===!1?n={aria:!0,data:!0,attr:!0}:t===!0?n={aria:!0}:n=O({},t);var o={};return Object.keys(e).forEach(function(r){(n.aria&&(r==="role"||Tl(r,Ab))||n.data&&Tl(r,Db)||n.attr&&Rb.includes(r))&&(o[r]=e[r])}),o}function Mb(e){return e&&I.isValidElement(e)&&e.type===I.Fragment}const Ob=(e,t,n)=>I.isValidElement(e)?I.cloneElement(e,typeof n=="function"?n(e.props||{}):n):t;function ru(e,t){return Ob(e,e,t)}const lr=e=>{const[,,,,t]=bt();return t?`${e}-css-var`:""};var ui={BACKSPACE:8,TAB:9,ENTER:13,SHIFT:16,CTRL:17,ALT:18,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,N:78,P:80,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,SEMICOLON:186,EQUALS:187,WIN_KEY:224},au=u.forwardRef(function(e,t){var n=e.prefixCls,o=e.style,r=e.className,a=e.duration,i=a===void 0?4.5:a,s=e.showProgress,l=e.pauseOnHover,c=l===void 0?!0:l,d=e.eventKey,m=e.content,p=e.closable,g=e.closeIcon,h=g===void 0?"x":g,v=e.props,f=e.onClick,y=e.onNoticeClose,b=e.times,S=e.hovering,C=u.useState(!1),w=B(C,2),x=w[0],k=w[1],E=u.useState(0),T=B(E,2),P=T[0],M=T[1],F=u.useState(0),D=B(F,2),A=D[0],_=D[1],N=S||x,$=i>0&&s,K=function(){y(d)},Y=function(U){(U.key==="Enter"||U.code==="Enter"||U.keyCode===ui.ENTER)&&K()};u.useEffect(function(){if(!N&&i>0){var q=Date.now()-A,U=setTimeout(function(){K()},i*1e3-A);return function(){c&&clearTimeout(U),_(Date.now()-q)}}},[i,N,b]),u.useEffect(function(){if(!N&&$&&(c||A===0)){var q=performance.now(),U,V=function ne(){cancelAnimationFrame(U),U=requestAnimationFrame(function(Te){var he=Te+A-q,be=Math.min(he/(i*1e3),1);M(be*100),be<1&&ne()})};return V(),function(){c&&cancelAnimationFrame(U)}}},[i,A,N,$,b]);var ee=u.useMemo(function(){return z(p)==="object"&&p!==null?p:p?{closeIcon:h}:{}},[p,h]),J=sr(ee,!0),G=100-(!P||P<0?0:P>100?100:P),te="".concat(n,"-notice");return u.createElement("div",le({},v,{ref:t,className:W(te,r,R({},"".concat(te,"-closable"),p)),style:o,onMouseEnter:function(U){var V;k(!0),v==null||(V=v.onMouseEnter)===null||V===void 0||V.call(v,U)},onMouseLeave:function(U){var V;k(!1),v==null||(V=v.onMouseLeave)===null||V===void 0||V.call(v,U)},onClick:f}),u.createElement("div",{className:"".concat(te,"-content")},m),p&&u.createElement("a",le({tabIndex:0,className:"".concat(te,"-close"),onKeyDown:Y,"aria-label":"Close"},J,{onClick:function(U){U.preventDefault(),U.stopPropagation(),K()}}),ee.closeIcon),$&&u.createElement("progress",{className:"".concat(te,"-progress"),max:"100",value:G},G+"%"))}),iu=I.createContext({}),su=function(t){var n=t.children,o=t.classNames;return I.createElement(iu.Provider,{value:{classNames:o}},n)},El=8,Rl=3,Al=16,Fb=function(t){var n={offset:El,threshold:Rl,gap:Al};if(t&&z(t)==="object"){var o,r,a;n.offset=(o=t.offset)!==null&&o!==void 0?o:El,n.threshold=(r=t.threshold)!==null&&r!==void 0?r:Rl,n.gap=(a=t.gap)!==null&&a!==void 0?a:Al}return[!!t,n]},Ib=["className","style","classNames","styles"],_b=function(t){var n=t.configList,o=t.placement,r=t.prefixCls,a=t.className,i=t.style,s=t.motion,l=t.onAllNoticeRemoved,c=t.onNoticeClose,d=t.stack,m=u.useContext(iu),p=m.classNames,g=u.useRef({}),h=u.useState(null),v=B(h,2),f=v[0],y=v[1],b=u.useState([]),S=B(b,2),C=S[0],w=S[1],x=n.map(function(N){return{config:N,key:String(N.key)}}),k=Fb(d),E=B(k,2),T=E[0],P=E[1],M=P.offset,F=P.threshold,D=P.gap,A=T&&(C.length>0||x.length<=F),_=typeof s=="function"?s(o):s;return u.useEffect(function(){T&&C.length>1&&w(function(N){return N.filter(function($){return x.some(function(K){var Y=K.key;return $===Y})})})},[C,x,T]),u.useEffect(function(){var N;if(T&&g.current[(N=x[x.length-1])===null||N===void 0?void 0:N.key]){var $;y(g.current[($=x[x.length-1])===null||$===void 0?void 0:$.key])}},[x,T]),I.createElement(Yv,le({key:o,className:W(r,"".concat(r,"-").concat(o),p==null?void 0:p.list,a,R(R({},"".concat(r,"-stack"),!!T),"".concat(r,"-stack-expanded"),A)),style:i,keys:x,motionAppear:!0},_,{onAllRemoved:function(){l(o)}}),function(N,$){var K=N.config,Y=N.className,ee=N.style,J=N.index,G=K,te=G.key,q=G.times,U=String(te),V=K,ne=V.className,Te=V.style,he=V.classNames,be=V.styles,ye=Je(V,Ib),Se=x.findIndex(function($e){return $e.key===U}),fe={};if(T){var ue=x.length-1-(Se>-1?Se:J-1),oe=o==="top"||o==="bottom"?"-50%":"0";if(ue>0){var ie,Ke,se;fe.height=A?(ie=g.current[U])===null||ie===void 0?void 0:ie.offsetHeight:f==null?void 0:f.offsetHeight;for(var Ne=0,Re=0;Re<ue;Re++){var ce;Ne+=((ce=g.current[x[x.length-1-Re].key])===null||ce===void 0?void 0:ce.offsetHeight)+D}var me=(A?Ne:ue*M)*(o.startsWith("top")?1:-1),Fe=!A&&f!==null&&f!==void 0&&f.offsetWidth&&(Ke=g.current[U])!==null&&Ke!==void 0&&Ke.offsetWidth?((f==null?void 0:f.offsetWidth)-M*2*(ue<3?ue:3))/((se=g.current[U])===null||se===void 0?void 0:se.offsetWidth):1;fe.transform="translate3d(".concat(oe,", ").concat(me,"px, 0) scaleX(").concat(Fe,")")}else fe.transform="translate3d(".concat(oe,", 0, 0)")}return I.createElement("div",{ref:$,className:W("".concat(r,"-notice-wrapper"),Y,he==null?void 0:he.wrapper),style:O(O(O({},ee),fe),be==null?void 0:be.wrapper),onMouseEnter:function(){return w(function(Ie){return Ie.includes(U)?Ie:[].concat(j(Ie),[U])})},onMouseLeave:function(){return w(function(Ie){return Ie.filter(function(Ht){return Ht!==U})})}},I.createElement(au,le({},ye,{ref:function(Ie){Se>-1?g.current[U]=Ie:delete g.current[U]},prefixCls:r,classNames:he,styles:be,className:W(ne,p==null?void 0:p.notice),style:Te,times:q,key:te,eventKey:te,onNoticeClose:c,hovering:T&&C.length>0})))})},Lb=u.forwardRef(function(e,t){var n=e.prefixCls,o=n===void 0?"rc-notification":n,r=e.container,a=e.motion,i=e.maxCount,s=e.className,l=e.style,c=e.onAllRemoved,d=e.stack,m=e.renderNotifications,p=u.useState([]),g=B(p,2),h=g[0],v=g[1],f=function(T){var P,M=h.find(function(F){return F.key===T});M==null||(P=M.onClose)===null||P===void 0||P.call(M),v(function(F){return F.filter(function(D){return D.key!==T})})};u.useImperativeHandle(t,function(){return{open:function(T){v(function(P){var M=j(P),F=M.findIndex(function(_){return _.key===T.key}),D=O({},T);if(F>=0){var A;D.times=(((A=P[F])===null||A===void 0?void 0:A.times)||0)+1,M[F]=D}else D.times=0,M.push(D);return i>0&&M.length>i&&(M=M.slice(-i)),M})},close:function(T){f(T)},destroy:function(){v([])}}});var y=u.useState({}),b=B(y,2),S=b[0],C=b[1];u.useEffect(function(){var E={};h.forEach(function(T){var P=T.placement,M=P===void 0?"topRight":P;M&&(E[M]=E[M]||[],E[M].push(T))}),Object.keys(S).forEach(function(T){E[T]=E[T]||[]}),C(E)},[h]);var w=function(T){C(function(P){var M=O({},P),F=M[T]||[];return F.length||delete M[T],M})},x=u.useRef(!1);if(u.useEffect(function(){Object.keys(S).length>0?x.current=!0:x.current&&(c==null||c(),x.current=!1)},[S]),!r)return null;var k=Object.keys(S);return _i.createPortal(u.createElement(u.Fragment,null,k.map(function(E){var T=S[E],P=u.createElement(_b,{key:E,configList:T,placement:E,prefixCls:o,className:s==null?void 0:s(E),style:l==null?void 0:l(E),motion:a,onNoticeClose:f,onAllNoticeRemoved:w,stack:d});return m?m(P,{prefixCls:o,key:E}):P})),r)}),Nb=["getContainer","motion","prefixCls","maxCount","className","style","onAllRemoved","stack","renderNotifications"],$b=function(){return document.body},Dl=0;function Bb(){for(var e={},t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];return n.forEach(function(r){r&&Object.keys(r).forEach(function(a){var i=r[a];i!==void 0&&(e[a]=i)})}),e}function lu(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=e.getContainer,n=t===void 0?$b:t,o=e.motion,r=e.prefixCls,a=e.maxCount,i=e.className,s=e.style,l=e.onAllRemoved,c=e.stack,d=e.renderNotifications,m=Je(e,Nb),p=u.useState(),g=B(p,2),h=g[0],v=g[1],f=u.useRef(),y=u.createElement(Lb,{container:h,ref:f,prefixCls:r,motion:o,maxCount:a,className:i,style:s,onAllRemoved:l,stack:c,renderNotifications:d}),b=u.useState([]),S=B(b,2),C=S[0],w=S[1],x=cn(function(E){var T=Bb(m,E);(T.key===null||T.key===void 0)&&(T.key="rc-notification-".concat(Dl),Dl+=1),w(function(P){return[].concat(j(P),[{type:"open",config:T}])})}),k=u.useMemo(function(){return{open:x,close:function(T){w(function(P){return[].concat(j(P),[{type:"close",key:T}])})},destroy:function(){w(function(T){return[].concat(j(T),[{type:"destroy"}])})}}},[]);return u.useEffect(function(){v(n())}),u.useEffect(function(){if(f.current&&C.length){C.forEach(function(P){switch(P.type){case"open":f.current.open(P.config);break;case"close":f.current.close(P.key);break;case"destroy":f.current.destroy();break}});var E,T;w(function(P){return(E!==P||!T)&&(E=P,T=P.filter(function(M){return!C.includes(M)})),T})}},[C]),[k,y]}var jb={icon:{tag:"svg",attrs:{viewBox:"0 0 1024 1024",focusable:"false"},children:[{tag:"path",attrs:{d:"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z"}}]},name:"loading",theme:"outlined"},Wb=function(t,n){return u.createElement(St,le({},t,{ref:n,icon:jb}))},cu=u.forwardRef(Wb);function Ml(...e){const t={};return e.forEach(n=>{n&&Object.keys(n).forEach(o=>{n[o]!==void 0&&(t[o]=n[o])})}),t}function Ol(e){if(!e)return;const{closable:t,closeIcon:n}=e;return{closable:t,closeIcon:n}}function Fl(e){const{closable:t,closeIcon:n}=e||{};return I.useMemo(()=>{if(!t&&(t===!1||n===!1||n===null))return!1;if(t===void 0&&n===void 0)return null;let o={closeIcon:typeof n!="boolean"&&n!==null?n:void 0};return t&&typeof t=="object"&&(o=Object.assign(Object.assign({},o),t)),o},[t,n])}const Hb={},Ub=(e,t,n=Hb)=>{const o=Fl(e),r=Fl(t),[a]=rr("global",Rt.global),i=typeof o!="boolean"?!!(o!=null&&o.disabled):!1,s=I.useMemo(()=>Object.assign({closeIcon:I.createElement(Vn,null)},n),[n]),l=I.useMemo(()=>o===!1?!1:o?Ml(s,r,o):r===!1?!1:r?Ml(s,r):s.closable?s:!1,[o,r,s]);return I.useMemo(()=>{var c,d;if(l===!1)return[!1,null,i,{}];const{closeIconRender:m}=s,{closeIcon:p}=l;let g=p;const h=sr(l,!0);return g!=null&&(m&&(g=m(p)),g=I.isValidElement(g)?I.cloneElement(g,Object.assign(Object.assign(Object.assign({},g.props),{"aria-label":(d=(c=g.props)===null||c===void 0?void 0:c["aria-label"])!==null&&d!==void 0?d:a.close}),h)):I.createElement("span",Object.assign({"aria-label":a.close},h),g)),[!0,g,i,h]},[i,a.close,l,s])},Vb=()=>{const[e,t]=u.useState([]),n=u.useCallback(o=>(t(r=>[].concat(j(r),[o])),()=>{t(r=>r.filter(a=>a!==o))}),[]);return[e,n]},du=I.createContext(void 0),xt=100,zb=10,ss=xt*zb,uu={Modal:xt,Drawer:xt,Popover:xt,Popconfirm:xt,Tooltip:xt,Tour:xt,FloatButton:xt},qb={SelectLike:50,Dropdown:50,DatePicker:50,Menu:50,ImagePreview:1};function Gb(e){return e in uu}const Kb=(e,t)=>{const[,n]=bt(),o=I.useContext(du),r=Gb(e);let a;if(t!==void 0)a=[t,t];else{let i=o??0;r?i+=(o?0:n.zIndexPopupBase)+uu[e]:i+=qb[e],a=[o===void 0?t:i,i]}return a},Yb=e=>{const{componentCls:t,iconCls:n,boxShadow:o,colorText:r,colorSuccess:a,colorError:i,colorWarning:s,colorInfo:l,fontSizeLG:c,motionEaseInOutCirc:d,motionDurationSlow:m,marginXS:p,paddingXS:g,borderRadiusLG:h,zIndexPopup:v,contentPadding:f,contentBg:y}=e,b=`${t}-notice`,S=new ge("MessageMoveIn",{"0%":{padding:0,transform:"translateY(-100%)",opacity:0},"100%":{padding:g,transform:"translateY(0)",opacity:1}}),C=new ge("MessageMoveOut",{"0%":{maxHeight:e.height,padding:g,opacity:1},"100%":{maxHeight:0,padding:0,opacity:0}}),w={padding:g,textAlign:"center",[`${t}-custom-content`]:{display:"flex",alignItems:"center"},[`${t}-custom-content > ${n}`]:{marginInlineEnd:p,fontSize:c},[`${b}-content`]:{display:"inline-block",padding:f,background:y,borderRadius:h,boxShadow:o,pointerEvents:"all"},[`${t}-success > ${n}`]:{color:a},[`${t}-error > ${n}`]:{color:i},[`${t}-warning > ${n}`]:{color:s},[`${t}-info > ${n},
657
+ ${t}-loading > ${n}`]:{color:l}};return[{[t]:Object.assign(Object.assign({},ts(e)),{color:r,position:"fixed",top:p,width:"100%",pointerEvents:"none",zIndex:v,[`${t}-move-up`]:{animationFillMode:"forwards"},[`
658
+ ${t}-move-up-appear,
659
+ ${t}-move-up-enter
660
+ `]:{animationName:S,animationDuration:m,animationPlayState:"paused",animationTimingFunction:d},[`
661
+ ${t}-move-up-appear${t}-move-up-appear-active,
662
+ ${t}-move-up-enter${t}-move-up-enter-active
663
+ `]:{animationPlayState:"running"},[`${t}-move-up-leave`]:{animationName:C,animationDuration:m,animationPlayState:"paused",animationTimingFunction:d},[`${t}-move-up-leave${t}-move-up-leave-active`]:{animationPlayState:"running"},"&-rtl":{direction:"rtl",span:{direction:"rtl"}}})},{[t]:{[`${b}-wrapper`]:Object.assign({},w)}},{[`${t}-notice-pure-panel`]:Object.assign(Object.assign({},w),{padding:0,textAlign:"start"})}]},Xb=e=>({zIndexPopup:e.zIndexPopupBase+ss+10,contentBg:e.colorBgElevated,contentPadding:`${(e.controlHeightLG-e.fontSize*e.lineHeight)/2}px ${e.paddingSM}px`}),mu=yt("Message",e=>{const t=at(e,{height:150});return Yb(t)},Xb);var Jb=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};const Qb={info:u.createElement(is,null),success:u.createElement(os,null),error:u.createElement(rs,null),warning:u.createElement(as,null),loading:u.createElement(cu,null)},pu=({prefixCls:e,type:t,icon:n,children:o})=>u.createElement("div",{className:W(`${e}-custom-content`,`${e}-${t}`)},n||Qb[t],u.createElement("span",null,o)),NP=e=>{const{prefixCls:t,className:n,type:o,icon:r,content:a}=e,i=Jb(e,["prefixCls","className","type","icon","content"]),{getPrefixCls:s}=u.useContext(de),l=t||s("message"),c=lr(l),[d,m,p]=mu(l,c);return d(u.createElement(au,Object.assign({},i,{prefixCls:l,className:W(n,m,`${l}-notice-pure-panel`,p,c),eventKey:"pure",duration:null,content:u.createElement(pu,{prefixCls:l,type:o,icon:r},a)})))};function Zb(e,t){return{motionName:t??`${e}-move-up`}}function ey(e){let t;const n=new Promise(r=>{t=e(()=>{r(!0)})}),o=()=>{t==null||t()};return o.then=(r,a)=>n.then(r,a),o.promise=n,o}var ty=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};const ny=8,oy=3,ry=({children:e,prefixCls:t})=>{const n=lr(t),[o,r,a]=mu(t,n);return o(u.createElement(su,{classNames:{list:W(r,a,n)}},e))},ay=(e,{prefixCls:t,key:n})=>u.createElement(ry,{prefixCls:t,key:n},e),iy=u.forwardRef((e,t)=>{const{top:n,prefixCls:o,getContainer:r,maxCount:a,duration:i=oy,rtl:s,transitionName:l,onAllRemoved:c}=e,{getPrefixCls:d,getPopupContainer:m,message:p,direction:g}=u.useContext(de),h=o||d("message"),v=()=>({left:"50%",transform:"translateX(-50%)",top:n??ny}),f=()=>W({[`${h}-rtl`]:s??g==="rtl"}),y=()=>Zb(h,l),b=u.createElement("span",{className:`${h}-close-x`},u.createElement(Vn,{className:`${h}-close-icon`})),[S,C]=lu({prefixCls:h,style:v,className:f,motion:y,closable:!1,closeIcon:b,duration:i,getContainer:()=>(r==null?void 0:r())||(m==null?void 0:m())||document.body,maxCount:a,onAllRemoved:c,renderNotifications:ay});return u.useImperativeHandle(t,()=>Object.assign(Object.assign({},S),{prefixCls:h,message:p})),C});let Il=0;function sy(e){const t=u.useRef(null);return or(),[u.useMemo(()=>{const o=l=>{var c;(c=t.current)===null||c===void 0||c.close(l)},r=l=>{if(!t.current){const x=()=>{};return x.then=()=>{},x}const{open:c,prefixCls:d,message:m}=t.current,p=`${d}-notice`,{content:g,icon:h,type:v,key:f,className:y,style:b,onClose:S}=l,C=ty(l,["content","icon","type","key","className","style","onClose"]);let w=f;return w==null&&(Il+=1,w=`antd-message-${Il}`),ey(x=>(c(Object.assign(Object.assign({},C),{key:w,content:u.createElement(pu,{prefixCls:d,type:v,icon:h},g),placement:"top",className:W(v&&`${p}-${v}`,y,m==null?void 0:m.className),style:Object.assign(Object.assign({},m==null?void 0:m.style),b),onClose:()=>{S==null||S(),x()}})),()=>{o(w)}))},i={open:r,destroy:l=>{var c;l!==void 0?o(l):(c=t.current)===null||c===void 0||c.destroy()}};return["info","success","warning","error","loading"].forEach(l=>{const c=(d,m,p)=>{let g;d&&typeof d=="object"&&"content"in d?g=d:g={content:d};let h,v;typeof m=="function"?v=m:(h=m,v=p);const f=Object.assign(Object.assign({onClose:v,duration:h},g),{type:l});return r(f)};i[l]=c}),i},[]),u.createElement(iy,Object.assign({key:"message-holder"},e,{ref:t}))]}function ly(e){return sy(e)}function fu(e,t){this.v=e,this.k=t}function _e(e,t,n,o){var r=Object.defineProperty;try{r({},"",{})}catch{r=0}_e=function(i,s,l,c){function d(m,p){_e(i,m,function(g){return this._invoke(m,p,g)})}s?r?r(i,s,{value:l,enumerable:!c,configurable:!c,writable:!c}):i[s]=l:(d("next",0),d("throw",1),d("return",2))},_e(e,t,n,o)}function ls(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,n=typeof Symbol=="function"?Symbol:{},o=n.iterator||"@@iterator",r=n.toStringTag||"@@toStringTag";function a(g,h,v,f){var y=h&&h.prototype instanceof s?h:s,b=Object.create(y.prototype);return _e(b,"_invoke",function(S,C,w){var x,k,E,T=0,P=w||[],M=!1,F={p:0,n:0,v:e,a:D,f:D.bind(e,4),d:function(_,N){return x=_,k=0,E=e,F.n=N,i}};function D(A,_){for(k=A,E=_,t=0;!M&&T&&!N&&t<P.length;t++){var N,$=P[t],K=F.p,Y=$[2];A>3?(N=Y===_)&&(E=$[(k=$[4])?5:(k=3,3)],$[4]=$[5]=e):$[0]<=K&&((N=A<2&&K<$[1])?(k=0,F.v=_,F.n=$[1]):K<Y&&(N=A<3||$[0]>_||_>Y)&&($[4]=A,$[5]=_,F.n=Y,k=0))}if(N||A>1)return i;throw M=!0,_}return function(A,_,N){if(T>1)throw TypeError("Generator is already running");for(M&&_===1&&D(_,N),k=_,E=N;(t=k<2?e:E)||!M;){x||(k?k<3?(k>1&&(F.n=-1),D(k,E)):F.n=E:F.v=E);try{if(T=2,x){if(k||(A="next"),t=x[A]){if(!(t=t.call(x,E)))throw TypeError("iterator result is not an object");if(!t.done)return t;E=t.value,k<2&&(k=0)}else k===1&&(t=x.return)&&t.call(x),k<2&&(E=TypeError("The iterator does not provide a '"+A+"' method"),k=1);x=e}else if((t=(M=F.n<0)?E:S.call(C,F))!==i)break}catch($){x=e,k=1,E=$}finally{T=1}}return{value:t,done:M}}}(g,v,f),!0),b}var i={};function s(){}function l(){}function c(){}t=Object.getPrototypeOf;var d=[][o]?t(t([][o]())):(_e(t={},o,function(){return this}),t),m=c.prototype=s.prototype=Object.create(d);function p(g){return Object.setPrototypeOf?Object.setPrototypeOf(g,c):(g.__proto__=c,_e(g,r,"GeneratorFunction")),g.prototype=Object.create(m),g}return l.prototype=c,_e(m,"constructor",c),_e(c,"constructor",l),l.displayName="GeneratorFunction",_e(c,r,"GeneratorFunction"),_e(m),_e(m,r,"Generator"),_e(m,o,function(){return this}),_e(m,"toString",function(){return"[object Generator]"}),(ls=function(){return{w:a,m:p}})()}function Lo(e,t){function n(r,a,i,s){try{var l=e[r](a),c=l.value;return c instanceof fu?t.resolve(c.v).then(function(d){n("next",d,i,s)},function(d){n("throw",d,i,s)}):t.resolve(c).then(function(d){l.value=d,i(l)},function(d){return n("throw",d,i,s)})}catch(d){s(d)}}var o;this.next||(_e(Lo.prototype),_e(Lo.prototype,typeof Symbol=="function"&&Symbol.asyncIterator||"@asyncIterator",function(){return this})),_e(this,"_invoke",function(r,a,i){function s(){return new t(function(l,c){n(r,i,l,c)})}return o=o?o.then(s,s):s()},!0)}function gu(e,t,n,o,r){return new Lo(ls().w(e,t,n,o),r||Promise)}function cy(e,t,n,o,r){var a=gu(e,t,n,o,r);return a.next().then(function(i){return i.done?i.value:a.next()})}function dy(e){var t=Object(e),n=[];for(var o in t)n.unshift(o);return function r(){for(;n.length;)if((o=n.pop())in t)return r.value=o,r.done=!1,r;return r.done=!0,r}}function _l(e){if(e!=null){var t=e[typeof Symbol=="function"&&Symbol.iterator||"@@iterator"],n=0;if(t)return t.call(e);if(typeof e.next=="function")return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(z(e)+" is not iterable")}function Le(){var e=ls(),t=e.m(Le),n=(Object.getPrototypeOf?Object.getPrototypeOf(t):t.__proto__).constructor;function o(i){var s=typeof i=="function"&&i.constructor;return!!s&&(s===n||(s.displayName||s.name)==="GeneratorFunction")}var r={throw:1,return:2,break:3,continue:3};function a(i){var s,l;return function(c){s||(s={stop:function(){return l(c.a,2)},catch:function(){return c.v},abrupt:function(m,p){return l(c.a,r[m],p)},delegateYield:function(m,p,g){return s.resultName=p,l(c.d,_l(m),g)},finish:function(m){return l(c.f,m)}},l=function(m,p,g){c.p=s.prev,c.n=s.next;try{return m(p,g)}finally{s.next=c.n}}),s.resultName&&(s[s.resultName]=c.v,s.resultName=void 0),s.sent=c.v,s.next=c.n;try{return i.call(this,s)}finally{c.p=s.prev,c.n=s.next}}}return(Le=function(){return{wrap:function(l,c,d,m){return e.w(a(l),c,d,m&&m.reverse())},isGeneratorFunction:o,mark:e.m,awrap:function(l,c){return new fu(l,c)},AsyncIterator:Lo,async:function(l,c,d,m,p){return(o(c)?gu:cy)(a(l),c,d,m,p)},keys:dy,values:_l}})()}function Ll(e,t,n,o,r,a,i){try{var s=e[a](i),l=s.value}catch(c){return void n(c)}s.done?t(l):Promise.resolve(l).then(o,r)}function Wt(e){return function(){var t=this,n=arguments;return new Promise(function(o,r){var a=e.apply(t,n);function i(l){Ll(a,o,r,i,s,"next",l)}function s(l){Ll(a,o,r,i,s,"throw",l)}i(void 0)})}}var zn=O({},Pp),uy=zn.version,la=zn.render,my=zn.unmountComponentAtNode,cr;try{var py=Number((uy||"").split(".")[0]);py>=18&&(cr=zn.createRoot)}catch{}function Nl(e){var t=zn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;t&&z(t)==="object"&&(t.usingClientEntryPoint=e)}var No="__rc_react_root__";function fy(e,t){Nl(!0);var n=t[No]||cr(t);Nl(!1),n.render(e),t[No]=n}function gy(e,t){la==null||la(e,t)}function hy(e,t){if(cr){fy(e,t);return}gy(e,t)}function vy(e){return mi.apply(this,arguments)}function mi(){return mi=Wt(Le().mark(function e(t){return Le().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.abrupt("return",Promise.resolve().then(function(){var r;(r=t[No])===null||r===void 0||r.unmount(),delete t[No]}));case 1:case"end":return o.stop()}},e)})),mi.apply(this,arguments)}function by(e){my(e)}function yy(e){return pi.apply(this,arguments)}function pi(){return pi=Wt(Le().mark(function e(t){return Le().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:if(cr===void 0){o.next=2;break}return o.abrupt("return",vy(t));case 2:by(t);case 3:case"end":return o.stop()}},e)})),pi.apply(this,arguments)}const Sy=(e,t)=>(hy(e,t),()=>yy(t));let wy=Sy;function hu(e){return wy}const ca=()=>({height:0,opacity:0}),$l=e=>{const{scrollHeight:t}=e;return{height:t,opacity:1}},Cy=e=>({height:e?e.offsetHeight:0}),da=(e,t)=>(t==null?void 0:t.deadline)===!0||t.propertyName==="height",$P=(e=jn)=>({motionName:`${e}-motion-collapse`,onAppearStart:ca,onEnterStart:ca,onAppearActive:$l,onEnterActive:$l,onLeaveStart:Cy,onLeaveActive:ca,onAppearEnd:da,onEnterEnd:da,onLeaveEnd:da,motionDeadline:500}),$o=(e,t,n)=>n!==void 0?n:`${e}-${t}`;function qn(e,t){var n=Object.assign({},e);return Array.isArray(t)&&t.forEach(function(o){delete n[o]}),n}const ky=function(e){if(!e)return!1;if(e instanceof Element){if(e.offsetParent)return!0;if(e.getBBox){var t=e.getBBox(),n=t.width,o=t.height;if(n||o)return!0}if(e.getBoundingClientRect){var r=e.getBoundingClientRect(),a=r.width,i=r.height;if(a||i)return!0}}return!1},xy=e=>{const{componentCls:t,colorPrimary:n}=e;return{[t]:{position:"absolute",background:"transparent",pointerEvents:"none",boxSizing:"border-box",color:`var(--wave-color, ${n})`,boxShadow:"0 0 0 0 currentcolor",opacity:.2,"&.wave-motion-appear":{transition:[`box-shadow 0.4s ${e.motionEaseOutCirc}`,`opacity 2s ${e.motionEaseOutCirc}`].join(","),"&-active":{boxShadow:"0 0 0 6px currentcolor",opacity:0},"&.wave-quick":{transition:[`box-shadow ${e.motionDurationSlow} ${e.motionEaseInOut}`,`opacity ${e.motionDurationSlow} ${e.motionEaseInOut}`].join(",")}}}}},Py=Cv("Wave",xy),vu=`${jn}-wave-target`;function Ty(e){return e&&e!=="#fff"&&e!=="#ffffff"&&e!=="rgb(255, 255, 255)"&&e!=="rgba(255, 255, 255, 1)"&&!/rgba\((?:\d*, ){3}0\)/.test(e)&&e!=="transparent"&&e!=="canvastext"}function Ey(e){var t;const{borderTopColor:n,borderColor:o,backgroundColor:r}=getComputedStyle(e);return(t=[n,o,r].find(Ty))!==null&&t!==void 0?t:null}function ua(e){return Number.isNaN(e)?0:e}const Ry=e=>{const{className:t,target:n,component:o,registerUnmount:r}=e,a=u.useRef(null),i=u.useRef(null);u.useEffect(()=>{i.current=r()},[]);const[s,l]=u.useState(null),[c,d]=u.useState([]),[m,p]=u.useState(0),[g,h]=u.useState(0),[v,f]=u.useState(0),[y,b]=u.useState(0),[S,C]=u.useState(!1),w={left:m,top:g,width:v,height:y,borderRadius:c.map(E=>`${E}px`).join(" ")};s&&(w["--wave-color"]=s);function x(){const E=getComputedStyle(n);l(Ey(n));const T=E.position==="static",{borderLeftWidth:P,borderTopWidth:M}=E;p(T?n.offsetLeft:ua(-Number.parseFloat(P))),h(T?n.offsetTop:ua(-Number.parseFloat(M))),f(n.offsetWidth),b(n.offsetHeight);const{borderTopLeftRadius:F,borderTopRightRadius:D,borderBottomLeftRadius:A,borderBottomRightRadius:_}=E;d([F,D,_,A].map(N=>ua(Number.parseFloat(N))))}if(u.useEffect(()=>{if(n){const E=$t(()=>{x(),C(!0)});let T;return typeof ResizeObserver<"u"&&(T=new ResizeObserver(x),T.observe(n)),()=>{$t.cancel(E),T==null||T.disconnect()}}},[n]),!S)return null;const k=(o==="Checkbox"||o==="Radio")&&(n==null?void 0:n.classList.contains(vu));return u.createElement(Un,{visible:!0,motionAppear:!0,motionName:"wave-motion",motionDeadline:5e3,onAppearEnd:(E,T)=>{var P,M;if(T.deadline||T.propertyName==="opacity"){const F=(P=a.current)===null||P===void 0?void 0:P.parentElement;(M=i.current)===null||M===void 0||M.call(i).then(()=>{F==null||F.remove()})}return!1}},({className:E},T)=>u.createElement("div",{ref:Qo(a,T),className:W(t,E,{"wave-quick":k}),style:w}))},Ay=(e,t)=>{var n;const{component:o}=t;if(o==="Checkbox"&&!(!((n=e.querySelector("input"))===null||n===void 0)&&n.checked))return;const r=document.createElement("div");r.style.position="absolute",r.style.left="0px",r.style.top="0px",e==null||e.insertBefore(r,e==null?void 0:e.firstChild);const a=hu();let i=null;function s(){return i}i=a(u.createElement(Ry,Object.assign({},t,{target:e,registerUnmount:s})),r)},Dy=(e,t,n)=>{const{wave:o}=u.useContext(de),[,r,a]=bt(),i=cn(c=>{const d=e.current;if(o!=null&&o.disabled||!d)return;const m=d.querySelector(`.${vu}`)||d,{showEffect:p}=o||{};(p||Ay)(m,{className:t,token:r,component:n,event:c,hashId:a})}),s=u.useRef(null);return c=>{$t.cancel(s.current),s.current=$t(()=>{i(c)})}},My=e=>{const{children:t,disabled:n,component:o}=e,{getPrefixCls:r}=u.useContext(de),a=u.useRef(null),i=r("wave"),[,s]=Py(i),l=Dy(a,W(i,s),o);if(I.useEffect(()=>{const d=a.current;if(!d||d.nodeType!==window.Node.ELEMENT_NODE||n)return;const m=p=>{!ky(p.target)||!d.getAttribute||d.getAttribute("disabled")||d.disabled||d.className.includes("disabled")&&!d.className.includes("disabled:")||d.getAttribute("aria-disabled")==="true"||d.className.includes("-leave")||l(p)};return d.addEventListener("click",m,!0),()=>{d.removeEventListener("click",m,!0)}},[n]),!I.isValidElement(t))return t??null;const c=Zo(t)?Qo(Jc(t),a):a;return ru(t,{ref:c})},bu=e=>{const t=I.useContext(ln);return I.useMemo(()=>e?typeof e=="string"?e??t:typeof e=="function"?e(t):t:t,[e,t])},Oy=e=>{const{componentCls:t}=e;return{[t]:{display:"inline-flex","&-block":{display:"flex",width:"100%"},"&-vertical":{flexDirection:"column"},"&-rtl":{direction:"rtl"}}}},Fy=yt(["Space","Compact"],e=>[Oy(e)],()=>({}),{resetStyle:!1});var yu=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};const dr=u.createContext(null),Iy=(e,t)=>{const n=u.useContext(dr),o=u.useMemo(()=>{if(!n)return"";const{compactDirection:r,isFirstItem:a,isLastItem:i}=n,s=r==="vertical"?"-vertical-":"-";return W(`${e}-compact${s}item`,{[`${e}-compact${s}first-item`]:a,[`${e}-compact${s}last-item`]:i,[`${e}-compact${s}item-rtl`]:t==="rtl"})},[e,t,n]);return{compactSize:n==null?void 0:n.compactSize,compactDirection:n==null?void 0:n.compactDirection,compactItemClassnames:o}},_y=e=>{const{children:t}=e;return u.createElement(dr.Provider,{value:null},t)},Ly=e=>{const{children:t}=e,n=yu(e,["children"]);return u.createElement(dr.Provider,{value:u.useMemo(()=>n,[n])},t)},BP=e=>{const{getPrefixCls:t,direction:n}=u.useContext(de),{size:o,direction:r,block:a,prefixCls:i,className:s,rootClassName:l,children:c}=e,d=yu(e,["size","direction","block","prefixCls","className","rootClassName","children"]),m=bu(S=>o??S),p=t("space-compact",i),[g,h]=Fy(p),v=W(p,h,{[`${p}-rtl`]:n==="rtl",[`${p}-block`]:a,[`${p}-vertical`]:r==="vertical"},s,l),f=u.useContext(dr),y=Do(c),b=u.useMemo(()=>y.map((S,C)=>{const w=(S==null?void 0:S.key)||`${p}-item-${C}`;return u.createElement(Ly,{key:w,compactSize:m,compactDirection:r,isFirstItem:C===0&&(!f||(f==null?void 0:f.isFirstItem)),isLastItem:C===y.length-1&&(!f||(f==null?void 0:f.isLastItem))},S)}),[y,f,r,m,p]);return y.length===0?null:g(u.createElement("div",Object.assign({className:v},d),b))};var Ny=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};const Su=u.createContext(void 0),$y=e=>{const{getPrefixCls:t,direction:n}=u.useContext(de),{prefixCls:o,size:r,className:a}=e,i=Ny(e,["prefixCls","size","className"]),s=t("btn-group",o),[,,l]=bt(),c=u.useMemo(()=>{switch(r){case"large":return"lg";case"small":return"sm";default:return""}},[r]),d=W(s,{[`${s}-${c}`]:c,[`${s}-rtl`]:n==="rtl"},a,l);return u.createElement(Su.Provider,{value:r},u.createElement("div",Object.assign({},i,{className:d})))},Bl=/^[\u4E00-\u9FA5]{2}$/,fi=Bl.test.bind(Bl);function wu(e){return e==="danger"?{danger:!0}:{type:e}}function jl(e){return typeof e=="string"}function ma(e){return e==="text"||e==="link"}function By(e,t){if(e==null)return;const n=t?" ":"";return typeof e!="string"&&typeof e!="number"&&jl(e.type)&&fi(e.props.children)?ru(e,{children:e.props.children.split("").join(n)}):jl(e)?fi(e)?I.createElement("span",null,e.split("").join(n)):I.createElement("span",null,e):Mb(e)?I.createElement("span",null,e):e}function jy(e,t){let n=!1;const o=[];return I.Children.forEach(e,r=>{const a=typeof r,i=a==="string"||a==="number";if(n&&i){const s=o.length-1,l=o[s];o[s]=`${l}${r}`}else o.push(r);n=i}),I.Children.map(o,r=>By(r,t))}["default","primary","danger"].concat(j(es));const Cu=u.forwardRef((e,t)=>{const{className:n,style:o,children:r,prefixCls:a}=e,i=W(`${a}-icon`,n);return I.createElement("span",{ref:t,className:i,style:o},r)}),Wl=u.forwardRef((e,t)=>{const{prefixCls:n,className:o,style:r,iconClassName:a}=e,i=W(`${n}-loading-icon`,o);return I.createElement(Cu,{prefixCls:n,className:i,style:r,ref:t},I.createElement(cu,{className:a}))}),pa=()=>({width:0,opacity:0,transform:"scale(0)"}),fa=e=>({width:e.scrollWidth,opacity:1,transform:"scale(1)"}),Wy=e=>{const{prefixCls:t,loading:n,existIcon:o,className:r,style:a,mount:i}=e,s=!!n;return o?I.createElement(Wl,{prefixCls:t,className:r,style:a}):I.createElement(Un,{visible:s,motionName:`${t}-loading-icon-motion`,motionAppear:!i,motionEnter:!i,motionLeave:!i,removeOnLeave:!0,onAppearStart:pa,onAppearActive:fa,onEnterStart:pa,onEnterActive:fa,onLeaveStart:fa,onLeaveActive:pa},({className:l,style:c},d)=>{const m=Object.assign(Object.assign({},a),c);return I.createElement(Wl,{prefixCls:t,className:W(r,l),style:m,ref:d})})},Hl=(e,t)=>({[`> span, > ${e}`]:{"&:not(:last-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineEndColor:t}}},"&:not(:first-child)":{[`&, & > ${e}`]:{"&:not(:disabled)":{borderInlineStartColor:t}}}}}),Hy=e=>{const{componentCls:t,fontSize:n,lineWidth:o,groupBorderColor:r,colorErrorHover:a}=e;return{[`${t}-group`]:[{position:"relative",display:"inline-flex",[`> span, > ${t}`]:{"&:not(:last-child)":{[`&, & > ${t}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},"&:not(:first-child)":{marginInlineStart:e.calc(o).mul(-1).equal(),[`&, & > ${t}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}},[t]:{position:"relative",zIndex:1,"&:hover, &:focus, &:active":{zIndex:2},"&[disabled]":{zIndex:0}},[`${t}-icon-only`]:{fontSize:n}},Hl(`${t}-primary`,r),Hl(`${t}-danger`,a)]}};var Uy=["b"],Vy=["v"],ga=function(t){return Math.round(Number(t||0))},zy=function(t){if(t instanceof pe)return t;if(t&&z(t)==="object"&&"h"in t&&"b"in t){var n=t,o=n.b,r=Je(n,Uy);return O(O({},r),{},{v:o})}return typeof t=="string"&&/hsb/.test(t)?t.replace(/hsb/,"hsv"):t},Wn=function(e){Bt(n,e);var t=jt(n);function n(o){return Me(this,n),t.call(this,zy(o))}return Oe(n,[{key:"toHsbString",value:function(){var r=this.toHsb(),a=ga(r.s*100),i=ga(r.b*100),s=ga(r.h),l=r.a,c="hsb(".concat(s,", ").concat(a,"%, ").concat(i,"%)"),d="hsba(".concat(s,", ").concat(a,"%, ").concat(i,"%, ").concat(l.toFixed(l===0?0:2),")");return l===1?c:d}},{key:"toHsb",value:function(){var r=this.toHsv(),a=r.v,i=Je(r,Vy);return O(O({},i),{},{b:a,a:this.a})}}]),n}(pe),qy=function(t){return t instanceof Wn?t:new Wn(t)};qy("#1677ff");const Gy=(e,t)=>(e==null?void 0:e.replace(/[^\w/]/g,"").slice(0,t?8:6))||"",Ky=(e,t)=>e?Gy(e,t):"";let Yy=function(){function e(t){Me(this,e);var n;if(this.cleared=!1,t instanceof e){this.metaColor=t.metaColor.clone(),this.colors=(n=t.colors)===null||n===void 0?void 0:n.map(r=>({color:new e(r.color),percent:r.percent})),this.cleared=t.cleared;return}const o=Array.isArray(t);o&&t.length?(this.colors=t.map(({color:r,percent:a})=>({color:new e(r),percent:a})),this.metaColor=new Wn(this.colors[0].color.metaColor)):this.metaColor=new Wn(o?"":t),(!t||o&&!this.colors)&&(this.metaColor=this.metaColor.setA(0),this.cleared=!0)}return Oe(e,[{key:"toHsb",value:function(){return this.metaColor.toHsb()}},{key:"toHsbString",value:function(){return this.metaColor.toHsbString()}},{key:"toHex",value:function(){return Ky(this.toHexString(),this.metaColor.a<1)}},{key:"toHexString",value:function(){return this.metaColor.toHexString()}},{key:"toRgb",value:function(){return this.metaColor.toRgb()}},{key:"toRgbString",value:function(){return this.metaColor.toRgbString()}},{key:"isGradient",value:function(){return!!this.colors&&!this.cleared}},{key:"getColors",value:function(){return this.colors||[{color:this,percent:0}]}},{key:"toCssString",value:function(){const{colors:n}=this;return n?`linear-gradient(90deg, ${n.map(r=>`${r.color.toRgbString()} ${r.percent}%`).join(", ")})`:this.metaColor.toRgbString()}},{key:"equals",value:function(n){return!n||this.isGradient()!==n.isGradient()?!1:this.isGradient()?this.colors.length===n.colors.length&&this.colors.every((o,r)=>{const a=n.colors[r];return o.percent===a.percent&&o.color.equals(a.color)}):this.toHexString()===n.toHexString()}}])}();const Xy=e=>({animationDuration:e,animationFillMode:"both"}),Jy=e=>({animationDuration:e,animationFillMode:"both"}),ku=(e,t,n,o,r=!1)=>{const a=r?"&":"";return{[`
664
+ ${a}${e}-enter,
665
+ ${a}${e}-appear
666
+ `]:Object.assign(Object.assign({},Xy(o)),{animationPlayState:"paused"}),[`${a}${e}-leave`]:Object.assign(Object.assign({},Jy(o)),{animationPlayState:"paused"}),[`
667
+ ${a}${e}-enter${e}-enter-active,
668
+ ${a}${e}-appear${e}-appear-active
669
+ `]:{animationName:t,animationPlayState:"running"},[`${a}${e}-leave${e}-leave-active`]:{animationName:n,animationPlayState:"running",pointerEvents:"none"}}},Qy=new ge("antFadeIn",{"0%":{opacity:0},"100%":{opacity:1}}),Zy=new ge("antFadeOut",{"0%":{opacity:1},"100%":{opacity:0}}),eS=(e,t=!1)=>{const{antCls:n}=e,o=`${n}-fade`,r=t?"&":"";return[ku(o,Qy,Zy,e.motionDurationMid,t),{[`
670
+ ${r}${o}-enter,
671
+ ${r}${o}-appear
672
+ `]:{opacity:0,animationTimingFunction:"linear"},[`${r}${o}-leave`]:{animationTimingFunction:"linear"}}]},tS=new ge("antZoomIn",{"0%":{transform:"scale(0.2)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),nS=new ge("antZoomOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.2)",opacity:0}}),Ul=new ge("antZoomBigIn",{"0%":{transform:"scale(0.8)",opacity:0},"100%":{transform:"scale(1)",opacity:1}}),Vl=new ge("antZoomBigOut",{"0%":{transform:"scale(1)"},"100%":{transform:"scale(0.8)",opacity:0}}),oS=new ge("antZoomUpIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 0%"}}),rS=new ge("antZoomUpOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 0%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 0%",opacity:0}}),aS=new ge("antZoomLeftIn",{"0%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"0% 50%"}}),iS=new ge("antZoomLeftOut",{"0%":{transform:"scale(1)",transformOrigin:"0% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"0% 50%",opacity:0}}),sS=new ge("antZoomRightIn",{"0%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"100% 50%"}}),lS=new ge("antZoomRightOut",{"0%":{transform:"scale(1)",transformOrigin:"100% 50%"},"100%":{transform:"scale(0.8)",transformOrigin:"100% 50%",opacity:0}}),cS=new ge("antZoomDownIn",{"0%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0},"100%":{transform:"scale(1)",transformOrigin:"50% 100%"}}),dS=new ge("antZoomDownOut",{"0%":{transform:"scale(1)",transformOrigin:"50% 100%"},"100%":{transform:"scale(0.8)",transformOrigin:"50% 100%",opacity:0}}),uS={zoom:{inKeyframes:tS,outKeyframes:nS},"zoom-big":{inKeyframes:Ul,outKeyframes:Vl},"zoom-big-fast":{inKeyframes:Ul,outKeyframes:Vl},"zoom-left":{inKeyframes:aS,outKeyframes:iS},"zoom-right":{inKeyframes:sS,outKeyframes:lS},"zoom-up":{inKeyframes:oS,outKeyframes:rS},"zoom-down":{inKeyframes:cS,outKeyframes:dS}},mS=(e,t)=>{const{antCls:n}=e,o=`${n}-${t}`,{inKeyframes:r,outKeyframes:a}=uS[t];return[ku(o,r,a,t==="zoom-big-fast"?e.motionDurationFast:e.motionDurationMid),{[`
673
+ ${o}-enter,
674
+ ${o}-appear
675
+ `]:{transform:"scale(0)",opacity:0,animationTimingFunction:e.motionEaseOutCirc,"&-prepare":{transform:"none"}},[`${o}-leave`]:{animationTimingFunction:e.motionEaseInOutCirc}}]},pS=(e,t)=>{const{r:n,g:o,b:r,a}=e.toRgb(),i=new Wn(e.toRgbString()).onBackground(t).toHsv();return a<=.5?i.v>.5:n*.299+o*.587+r*.114>192},xu=e=>{const{paddingInline:t,onlyIconSize:n}=e;return at(e,{buttonPaddingHorizontal:t,buttonPaddingVertical:0,buttonIconOnlyFontSize:n})},Pu=e=>{var t,n,o,r,a,i;const s=(t=e.contentFontSize)!==null&&t!==void 0?t:e.fontSize,l=(n=e.contentFontSizeSM)!==null&&n!==void 0?n:e.fontSize,c=(o=e.contentFontSizeLG)!==null&&o!==void 0?o:e.fontSizeLG,d=(r=e.contentLineHeight)!==null&&r!==void 0?r:Eo(s),m=(a=e.contentLineHeightSM)!==null&&a!==void 0?a:Eo(l),p=(i=e.contentLineHeightLG)!==null&&i!==void 0?i:Eo(c),g=pS(new Yy(e.colorBgSolid),"#fff")?"#000":"#fff",h=es.reduce((v,f)=>Object.assign(Object.assign({},v),{[`${f}ShadowColor`]:`0 ${Z(e.controlOutlineWidth)} 0 ${Tn(e[`${f}1`],e.colorBgContainer)}`}),{});return Object.assign(Object.assign({},h),{fontWeight:400,iconGap:e.marginXS,defaultShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlTmpOutline}`,primaryShadow:`0 ${e.controlOutlineWidth}px 0 ${e.controlOutline}`,dangerShadow:`0 ${e.controlOutlineWidth}px 0 ${e.colorErrorOutline}`,primaryColor:e.colorTextLightSolid,dangerColor:e.colorTextLightSolid,borderColorDisabled:e.colorBorder,defaultGhostColor:e.colorBgContainer,ghostBg:"transparent",defaultGhostBorderColor:e.colorBgContainer,paddingInline:e.paddingContentHorizontal-e.lineWidth,paddingInlineLG:e.paddingContentHorizontal-e.lineWidth,paddingInlineSM:8-e.lineWidth,onlyIconSize:"inherit",onlyIconSizeSM:"inherit",onlyIconSizeLG:"inherit",groupBorderColor:e.colorPrimaryHover,linkHoverBg:"transparent",textTextColor:e.colorText,textTextHoverColor:e.colorText,textTextActiveColor:e.colorText,textHoverBg:e.colorFillTertiary,defaultColor:e.colorText,defaultBg:e.colorBgContainer,defaultBorderColor:e.colorBorder,defaultBorderColorDisabled:e.colorBorder,defaultHoverBg:e.colorBgContainer,defaultHoverColor:e.colorPrimaryHover,defaultHoverBorderColor:e.colorPrimaryHover,defaultActiveBg:e.colorBgContainer,defaultActiveColor:e.colorPrimaryActive,defaultActiveBorderColor:e.colorPrimaryActive,solidTextColor:g,contentFontSize:s,contentFontSizeSM:l,contentFontSizeLG:c,contentLineHeight:d,contentLineHeightSM:m,contentLineHeightLG:p,paddingBlock:Math.max((e.controlHeight-s*d)/2-e.lineWidth,0),paddingBlockSM:Math.max((e.controlHeightSM-l*m)/2-e.lineWidth,0),paddingBlockLG:Math.max((e.controlHeightLG-c*p)/2-e.lineWidth,0)})},fS=e=>{const{componentCls:t,iconCls:n,fontWeight:o,opacityLoading:r,motionDurationSlow:a,motionEaseInOut:i,iconGap:s,calc:l}=e;return{[t]:{outline:"none",position:"relative",display:"inline-flex",gap:s,alignItems:"center",justifyContent:"center",fontWeight:o,whiteSpace:"nowrap",textAlign:"center",backgroundImage:"none",background:"transparent",border:`${Z(e.lineWidth)} ${e.lineType} transparent`,cursor:"pointer",transition:`all ${e.motionDurationMid} ${e.motionEaseInOut}`,userSelect:"none",touchAction:"manipulation",color:e.colorText,"&:disabled > *":{pointerEvents:"none"},[`${t}-icon > svg`]:$d(),"> a":{color:"currentColor"},"&:not(:disabled)":ir(e),[`&${t}-two-chinese-chars::first-letter`]:{letterSpacing:"0.34em"},[`&${t}-two-chinese-chars > *:not(${n})`]:{marginInlineEnd:"-0.34em",letterSpacing:"0.34em"},[`&${t}-icon-only`]:{paddingInline:0,[`&${t}-compact-item`]:{flex:"none"}},[`&${t}-loading`]:{opacity:r,cursor:"default"},[`${t}-loading-icon`]:{transition:["width","opacity","margin"].map(c=>`${c} ${a} ${i}`).join(",")},[`&:not(${t}-icon-end)`]:{[`${t}-loading-icon-motion`]:{"&-appear-start, &-enter-start":{marginInlineEnd:l(s).mul(-1).equal()},"&-appear-active, &-enter-active":{marginInlineEnd:0},"&-leave-start":{marginInlineEnd:0},"&-leave-active":{marginInlineEnd:l(s).mul(-1).equal()}}},"&-icon-end":{flexDirection:"row-reverse",[`${t}-loading-icon-motion`]:{"&-appear-start, &-enter-start":{marginInlineStart:l(s).mul(-1).equal()},"&-appear-active, &-enter-active":{marginInlineStart:0},"&-leave-start":{marginInlineStart:0},"&-leave-active":{marginInlineStart:l(s).mul(-1).equal()}}}}}},Tu=(e,t,n)=>({[`&:not(:disabled):not(${e}-disabled)`]:{"&:hover":t,"&:active":n}}),gS=e=>({minWidth:e.controlHeight,paddingInline:0,borderRadius:"50%"}),hS=e=>({cursor:"not-allowed",borderColor:e.borderColorDisabled,color:e.colorTextDisabled,background:e.colorBgContainerDisabled,boxShadow:"none"}),ur=(e,t,n,o,r,a,i,s)=>({[`&${e}-background-ghost`]:Object.assign(Object.assign({color:n||void 0,background:t,borderColor:o||void 0,boxShadow:"none"},Tu(e,Object.assign({background:t},i),Object.assign({background:t},s))),{"&:disabled":{cursor:"not-allowed",color:r||void 0,borderColor:a||void 0}})}),vS=e=>({[`&:disabled, &${e.componentCls}-disabled`]:Object.assign({},hS(e))}),bS=e=>({[`&:disabled, &${e.componentCls}-disabled`]:{cursor:"not-allowed",color:e.colorTextDisabled}}),mr=(e,t,n,o)=>{const a=o&&["link","text"].includes(o)?bS:vS;return Object.assign(Object.assign({},a(e)),Tu(e.componentCls,t,n))},pr=(e,t,n,o,r)=>({[`&${e.componentCls}-variant-solid`]:Object.assign({color:t,background:n},mr(e,o,r))}),fr=(e,t,n,o,r)=>({[`&${e.componentCls}-variant-outlined, &${e.componentCls}-variant-dashed`]:Object.assign({borderColor:t,background:n},mr(e,o,r))}),gr=e=>({[`&${e.componentCls}-variant-dashed`]:{borderStyle:"dashed"}}),hr=(e,t,n,o)=>({[`&${e.componentCls}-variant-filled`]:Object.assign({boxShadow:"none",background:t},mr(e,n,o))}),mt=(e,t,n,o,r)=>({[`&${e.componentCls}-variant-${n}`]:Object.assign({color:t,boxShadow:"none"},mr(e,o,r,n))}),yS=e=>{const{componentCls:t}=e;return es.reduce((n,o)=>{const r=e[`${o}6`],a=e[`${o}1`],i=e[`${o}5`],s=e[`${o}2`],l=e[`${o}3`],c=e[`${o}7`];return Object.assign(Object.assign({},n),{[`&${t}-color-${o}`]:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:r,boxShadow:e[`${o}ShadowColor`]},pr(e,e.colorTextLightSolid,r,{background:i},{background:c})),fr(e,r,e.colorBgContainer,{color:i,borderColor:i,background:e.colorBgContainer},{color:c,borderColor:c,background:e.colorBgContainer})),gr(e)),hr(e,a,{color:r,background:s},{color:r,background:l})),mt(e,r,"link",{color:i},{color:c})),mt(e,r,"text",{color:i,background:a},{color:c,background:l}))})},{})},SS=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:e.defaultColor,boxShadow:e.defaultShadow},pr(e,e.solidTextColor,e.colorBgSolid,{color:e.solidTextColor,background:e.colorBgSolidHover},{color:e.solidTextColor,background:e.colorBgSolidActive})),gr(e)),hr(e,e.colorFillTertiary,{color:e.defaultColor,background:e.colorFillSecondary},{color:e.defaultColor,background:e.colorFill})),ur(e.componentCls,e.ghostBg,e.defaultGhostColor,e.defaultGhostBorderColor,e.colorTextDisabled,e.colorBorder)),mt(e,e.textTextColor,"link",{color:e.colorLinkHover,background:e.linkHoverBg},{color:e.colorLinkActive})),wS=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:e.colorPrimary,boxShadow:e.primaryShadow},fr(e,e.colorPrimary,e.colorBgContainer,{color:e.colorPrimaryTextHover,borderColor:e.colorPrimaryHover,background:e.colorBgContainer},{color:e.colorPrimaryTextActive,borderColor:e.colorPrimaryActive,background:e.colorBgContainer})),gr(e)),hr(e,e.colorPrimaryBg,{color:e.colorPrimary,background:e.colorPrimaryBgHover},{color:e.colorPrimary,background:e.colorPrimaryBorder})),mt(e,e.colorPrimaryText,"text",{color:e.colorPrimaryTextHover,background:e.colorPrimaryBg},{color:e.colorPrimaryTextActive,background:e.colorPrimaryBorder})),mt(e,e.colorPrimaryText,"link",{color:e.colorPrimaryTextHover,background:e.linkHoverBg},{color:e.colorPrimaryTextActive})),ur(e.componentCls,e.ghostBg,e.colorPrimary,e.colorPrimary,e.colorTextDisabled,e.colorBorder,{color:e.colorPrimaryHover,borderColor:e.colorPrimaryHover},{color:e.colorPrimaryActive,borderColor:e.colorPrimaryActive})),CS=e=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({color:e.colorError,boxShadow:e.dangerShadow},pr(e,e.dangerColor,e.colorError,{background:e.colorErrorHover},{background:e.colorErrorActive})),fr(e,e.colorError,e.colorBgContainer,{color:e.colorErrorHover,borderColor:e.colorErrorBorderHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),gr(e)),hr(e,e.colorErrorBg,{color:e.colorError,background:e.colorErrorBgFilledHover},{color:e.colorError,background:e.colorErrorBgActive})),mt(e,e.colorError,"text",{color:e.colorErrorHover,background:e.colorErrorBg},{color:e.colorErrorHover,background:e.colorErrorBgActive})),mt(e,e.colorError,"link",{color:e.colorErrorHover},{color:e.colorErrorActive})),ur(e.componentCls,e.ghostBg,e.colorError,e.colorError,e.colorTextDisabled,e.colorBorder,{color:e.colorErrorHover,borderColor:e.colorErrorHover},{color:e.colorErrorActive,borderColor:e.colorErrorActive})),kS=e=>Object.assign(Object.assign({},mt(e,e.colorLink,"link",{color:e.colorLinkHover},{color:e.colorLinkActive})),ur(e.componentCls,e.ghostBg,e.colorInfo,e.colorInfo,e.colorTextDisabled,e.colorBorder,{color:e.colorInfoHover,borderColor:e.colorInfoHover},{color:e.colorInfoActive,borderColor:e.colorInfoActive})),xS=e=>{const{componentCls:t}=e;return Object.assign({[`${t}-color-default`]:SS(e),[`${t}-color-primary`]:wS(e),[`${t}-color-dangerous`]:CS(e),[`${t}-color-link`]:kS(e)},yS(e))},PS=e=>Object.assign(Object.assign(Object.assign(Object.assign({},fr(e,e.defaultBorderColor,e.defaultBg,{color:e.defaultHoverColor,borderColor:e.defaultHoverBorderColor,background:e.defaultHoverBg},{color:e.defaultActiveColor,borderColor:e.defaultActiveBorderColor,background:e.defaultActiveBg})),mt(e,e.textTextColor,"text",{color:e.textTextHoverColor,background:e.textHoverBg},{color:e.textTextActiveColor,background:e.colorBgTextActive})),pr(e,e.primaryColor,e.colorPrimary,{background:e.colorPrimaryHover,color:e.primaryColor},{background:e.colorPrimaryActive,color:e.primaryColor})),mt(e,e.colorLink,"link",{color:e.colorLinkHover,background:e.linkHoverBg},{color:e.colorLinkActive})),cs=(e,t="")=>{const{componentCls:n,controlHeight:o,fontSize:r,borderRadius:a,buttonPaddingHorizontal:i,iconCls:s,buttonPaddingVertical:l,buttonIconOnlyFontSize:c}=e;return[{[t]:{fontSize:r,height:o,padding:`${Z(l)} ${Z(i)}`,borderRadius:a,[`&${n}-icon-only`]:{width:o,[s]:{fontSize:c}}}},{[`${n}${n}-circle${t}`]:gS(e)},{[`${n}${n}-round${t}`]:{borderRadius:e.controlHeight,[`&:not(${n}-icon-only)`]:{paddingInline:e.buttonPaddingHorizontal}}}]},TS=e=>{const t=at(e,{fontSize:e.contentFontSize});return cs(t,e.componentCls)},ES=e=>{const t=at(e,{controlHeight:e.controlHeightSM,fontSize:e.contentFontSizeSM,padding:e.paddingXS,buttonPaddingHorizontal:e.paddingInlineSM,buttonPaddingVertical:0,borderRadius:e.borderRadiusSM,buttonIconOnlyFontSize:e.onlyIconSizeSM});return cs(t,`${e.componentCls}-sm`)},RS=e=>{const t=at(e,{controlHeight:e.controlHeightLG,fontSize:e.contentFontSizeLG,buttonPaddingHorizontal:e.paddingInlineLG,buttonPaddingVertical:0,borderRadius:e.borderRadiusLG,buttonIconOnlyFontSize:e.onlyIconSizeLG});return cs(t,`${e.componentCls}-lg`)},AS=e=>{const{componentCls:t}=e;return{[t]:{[`&${t}-block`]:{width:"100%"}}}},DS=yt("Button",e=>{const t=xu(e);return[fS(t),TS(t),ES(t),RS(t),AS(t),xS(t),PS(t),Hy(t)]},Pu,{unitless:{fontWeight:!0,contentLineHeight:!0,contentLineHeightSM:!0,contentLineHeightLG:!0}});function MS(e,t,n,o){const{focusElCls:r,focus:a,borderElCls:i}=n,s=i?"> *":"",l=["hover",a?"focus":null,"active"].filter(Boolean).map(c=>`&:${c} ${s}`).join(",");return{[`&-item:not(${t}-last-item)`]:{marginInlineEnd:e.calc(e.lineWidth).mul(-1).equal()},[`&-item:not(${o}-status-success)`]:{zIndex:2},"&-item":Object.assign(Object.assign({[l]:{zIndex:3}},r?{[`&${r}`]:{zIndex:3}}:{}),{[`&[disabled] ${s}`]:{zIndex:0}})}}function OS(e,t,n){const{borderElCls:o}=n,r=o?`> ${o}`:"";return{[`&-item:not(${t}-first-item):not(${t}-last-item) ${r}`]:{borderRadius:0},[`&-item:not(${t}-last-item)${t}-first-item`]:{[`& ${r}, &${e}-sm ${r}, &${e}-lg ${r}`]:{borderStartEndRadius:0,borderEndEndRadius:0}},[`&-item:not(${t}-first-item)${t}-last-item`]:{[`& ${r}, &${e}-sm ${r}, &${e}-lg ${r}`]:{borderStartStartRadius:0,borderEndStartRadius:0}}}}function FS(e,t={focus:!0}){const{componentCls:n}=e,{componentCls:o}=t,r=o||n,a=`${r}-compact`;return{[a]:Object.assign(Object.assign({},MS(e,a,t,r)),OS(r,a,t))}}function IS(e,t,n){return{[`&-item:not(${t}-last-item)`]:{marginBottom:e.calc(e.lineWidth).mul(-1).equal()},[`&-item:not(${n}-status-success)`]:{zIndex:2},"&-item":{"&:hover,&:focus,&:active":{zIndex:3},"&[disabled]":{zIndex:0}}}}function _S(e,t){return{[`&-item:not(${t}-first-item):not(${t}-last-item)`]:{borderRadius:0},[`&-item${t}-first-item:not(${t}-last-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderEndEndRadius:0,borderEndStartRadius:0}},[`&-item${t}-last-item:not(${t}-first-item)`]:{[`&, &${e}-sm, &${e}-lg`]:{borderStartStartRadius:0,borderStartEndRadius:0}}}}function LS(e){const t=`${e.componentCls}-compact-vertical`;return{[t]:Object.assign(Object.assign({},IS(e,t,e.componentCls)),_S(e.componentCls,t))}}const NS=e=>{const{componentCls:t,colorPrimaryHover:n,lineWidth:o,calc:r}=e,a=r(o).mul(-1).equal(),i=s=>{const l=`${t}-compact${s?"-vertical":""}-item${t}-primary:not([disabled])`;return{[`${l} + ${l}::before`]:{position:"absolute",top:s?a:0,insetInlineStart:s?0:a,backgroundColor:n,content:'""',width:s?"100%":o,height:s?o:"100%"}}};return Object.assign(Object.assign({},i()),i(!0))},$S=jd(["Button","compact"],e=>{const t=xu(e);return[FS(t),LS(t),NS(t)]},Pu);var BS=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};function jS(e){if(typeof e=="object"&&e){let t=e==null?void 0:e.delay;return t=!Number.isNaN(t)&&typeof t=="number"?t:0,{loading:t<=0,delay:t}}return{loading:!!e,delay:0}}const WS={default:["default","outlined"],primary:["primary","solid"],dashed:["default","dashed"],link:["link","link"],text:["default","text"]},HS=I.forwardRef((e,t)=>{var n,o;const{loading:r=!1,prefixCls:a,color:i,variant:s,type:l,danger:c=!1,shape:d,size:m,styles:p,disabled:g,className:h,rootClassName:v,children:f,icon:y,iconPosition:b="start",ghost:S=!1,block:C=!1,htmlType:w="button",classNames:x,style:k={},autoInsertSpace:E,autoFocus:T}=e,P=BS(e,["loading","prefixCls","color","variant","type","danger","shape","size","styles","disabled","className","rootClassName","children","icon","iconPosition","ghost","block","htmlType","classNames","style","autoInsertSpace","autoFocus"]),M=l||"default",{button:F}=I.useContext(de),D=d||(F==null?void 0:F.shape)||"default",[A,_]=u.useMemo(()=>{if(i&&s)return[i,s];if(l||c){const we=WS[M]||[];return c?["danger",we[1]]:we}return F!=null&&F.color&&(F!=null&&F.variant)?[F.color,F.variant]:["default","outlined"]},[i,s,l,c,F==null?void 0:F.color,F==null?void 0:F.variant,M]),$=A==="danger"?"dangerous":A,{getPrefixCls:K,direction:Y,autoInsertSpace:ee,className:J,style:G,classNames:te,styles:q}=Dd("button"),U=(n=E??ee)!==null&&n!==void 0?n:!0,V=K("btn",a),[ne,Te,he]=DS(V),be=u.useContext(Fo),ye=g??be,Se=u.useContext(Su),fe=u.useMemo(()=>jS(r),[r]),[ue,oe]=u.useState(fe.loading),[ie,Ke]=u.useState(!1),se=u.useRef(null),Ne=Hi(t,se),Re=u.Children.count(f)===1&&!y&&!ma(_),ce=u.useRef(!0);I.useEffect(()=>(ce.current=!1,()=>{ce.current=!0}),[]),rn(()=>{let we=null;fe.delay>0?we=setTimeout(()=>{we=null,oe(!0)},fe.delay):oe(fe.loading);function et(){we&&(clearTimeout(we),we=null)}return et},[fe.delay,fe.loading]),u.useEffect(()=>{if(!se.current||!U)return;const we=se.current.textContent||"";Re&&fi(we)?ie||Ke(!0):ie&&Ke(!1)}),u.useEffect(()=>{T&&se.current&&se.current.focus()},[]);const me=I.useCallback(we=>{var et;if(ue||ye){we.preventDefault();return}(et=e.onClick)===null||et===void 0||et.call(e,("href"in e,we))},[e.onClick,ue,ye]),{compactSize:Fe,compactItemClassnames:$e}=Iy(V,Y),Ie={large:"lg",small:"sm",middle:void 0},Ht=bu(we=>{var et,wn;return(wn=(et=m??Fe)!==null&&et!==void 0?et:Se)!==null&&wn!==void 0?wn:we}),no=Ht&&(o=Ie[Ht])!==null&&o!==void 0?o:"",Ir=ue?"loading":y,yn=qn(P,["navigate"]),oo=W(V,Te,he,{[`${V}-${D}`]:D!=="default"&&D,[`${V}-${M}`]:M,[`${V}-dangerous`]:c,[`${V}-color-${$}`]:$,[`${V}-variant-${_}`]:_,[`${V}-${no}`]:no,[`${V}-icon-only`]:!f&&f!==0&&!!Ir,[`${V}-background-ghost`]:S&&!ma(_),[`${V}-loading`]:ue,[`${V}-two-chinese-chars`]:ie&&U&&!ue,[`${V}-block`]:C,[`${V}-rtl`]:Y==="rtl",[`${V}-icon-end`]:b==="end"},$e,h,v,J),ro=Object.assign(Object.assign({},G),k),_r=W(x==null?void 0:x.icon,te.icon),Lr=Object.assign(Object.assign({},(p==null?void 0:p.icon)||{}),q.icon||{}),ao=we=>I.createElement(Cu,{prefixCls:V,className:_r,style:Lr},we),Nr=()=>I.createElement(Wy,{existIcon:!!y,prefixCls:V,loading:ue,mount:ce.current});let Ft;y&&!ue?Ft=ao(y):r&&typeof r=="object"&&r.icon?Ft=ao(r.icon):Ft=Nr();const io=f||f===0?jy(f,Re&&U):null;if(yn.href!==void 0)return ne(I.createElement("a",Object.assign({},yn,{className:W(oo,{[`${V}-disabled`]:ye}),href:ye?void 0:yn.href,style:ro,onClick:me,ref:Ne,tabIndex:ye?-1:0,"aria-disabled":ye}),Ft,io));let Sn=I.createElement("button",Object.assign({},P,{type:w,className:oo,style:ro,onClick:me,disabled:ye,ref:Ne}),Ft,io,$e&&I.createElement($S,{prefixCls:V}));return ma(_)||(Sn=I.createElement(My,{component:"Button",disabled:ue},Sn)),ne(Sn)}),fn=HS;fn.Group=$y;fn.__ANT_BUTTON=!0;const ha=e=>typeof(e==null?void 0:e.then)=="function",Eu=e=>{const{type:t,children:n,prefixCls:o,buttonProps:r,close:a,autoFocus:i,emitEvent:s,isSilent:l,quitOnNullishReturnValue:c,actionFn:d}=e,m=u.useRef(!1),p=u.useRef(null),[g,h]=Io(!1),v=(...b)=>{a==null||a.apply(void 0,b)};u.useEffect(()=>{let b=null;return i&&(b=setTimeout(()=>{var S;(S=p.current)===null||S===void 0||S.focus({preventScroll:!0})})),()=>{b&&clearTimeout(b)}},[i]);const f=b=>{ha(b)&&(h(!0),b.then((...S)=>{h(!1,!0),v.apply(void 0,S),m.current=!1},S=>{if(h(!1,!0),m.current=!1,!(l!=null&&l()))return Promise.reject(S)}))},y=b=>{if(m.current)return;if(m.current=!0,!d){v();return}let S;if(s){if(S=d(b),c&&!ha(S)){m.current=!1,v(b);return}}else if(d.length)S=d(a),m.current=!1;else if(S=d(),!ha(S)){v();return}f(S)};return u.createElement(fn,Object.assign({},wu(t),{onClick:y,loading:g,prefixCls:o},r,{ref:p}),n)},Gn=I.createContext({}),{Provider:Ru}=Gn,zl=()=>{const{autoFocusButton:e,cancelButtonProps:t,cancelTextLocale:n,isSilent:o,mergedOkCancel:r,rootPrefixCls:a,close:i,onCancel:s,onConfirm:l}=u.useContext(Gn);return r?I.createElement(Eu,{isSilent:o,actionFn:s,close:(...c)=>{i==null||i.apply(void 0,c),l==null||l(!1)},autoFocus:e==="cancel",buttonProps:t,prefixCls:`${a}-btn`},n):null},ql=()=>{const{autoFocusButton:e,close:t,isSilent:n,okButtonProps:o,rootPrefixCls:r,okTextLocale:a,okType:i,onConfirm:s,onOk:l}=u.useContext(Gn);return I.createElement(Eu,{isSilent:n,type:i||"primary",actionFn:l,close:(...c)=>{t==null||t.apply(void 0,c),s==null||s(!0)},autoFocus:e==="ok",buttonProps:o,prefixCls:`${r}-btn`},a)};var Au=u.createContext(null),Gl=[];function US(e,t){var n=u.useState(function(){if(!Be())return null;var h=document.createElement("div");return h}),o=B(n,1),r=o[0],a=u.useRef(!1),i=u.useContext(Au),s=u.useState(Gl),l=B(s,2),c=l[0],d=l[1],m=i||(a.current?void 0:function(h){d(function(v){var f=[h].concat(j(v));return f})});function p(){r.parentElement||document.body.appendChild(r),a.current=!0}function g(){var h;(h=r.parentElement)===null||h===void 0||h.removeChild(r),a.current=!1}return rn(function(){return e?i?i(p):p():g(),g},[e]),rn(function(){c.length&&(c.forEach(function(h){return h()}),d(Gl))},[c]),[r,m]}var va;function Du(e){var t="rc-scrollbar-measure-".concat(Math.random().toString(36).substring(7)),n=document.createElement("div");n.id=t;var o=n.style;o.position="absolute",o.left="0",o.top="0",o.width="100px",o.height="100px",o.overflow="scroll";var r,a;if(e){var i=getComputedStyle(e);o.scrollbarColor=i.scrollbarColor,o.scrollbarWidth=i.scrollbarWidth;var s=getComputedStyle(e,"::-webkit-scrollbar"),l=parseInt(s.width,10),c=parseInt(s.height,10);try{var d=l?"width: ".concat(s.width,";"):"",m=c?"height: ".concat(s.height,";"):"";ht(`
676
+ #`.concat(t,`::-webkit-scrollbar {
677
+ `).concat(d,`
678
+ `).concat(m,`
679
+ }`),t)}catch(h){console.error(h),r=l,a=c}}document.body.appendChild(n);var p=e&&r&&!isNaN(r)?r:n.offsetWidth-n.clientWidth,g=e&&a&&!isNaN(a)?a:n.offsetHeight-n.clientHeight;return document.body.removeChild(n),Ln(t),{width:p,height:g}}function jP(e){return typeof document>"u"?0:(va===void 0&&(va=Du()),va.width)}function VS(e){return typeof document>"u"||!e||!(e instanceof Element)?{width:0,height:0}:Du(e)}function zS(){return document.body.scrollHeight>(window.innerHeight||document.documentElement.clientHeight)&&window.innerWidth>document.body.offsetWidth}var qS="rc-util-locker-".concat(Date.now()),Kl=0;function GS(e){var t=!!e,n=u.useState(function(){return Kl+=1,"".concat(qS,"_").concat(Kl)}),o=B(n,1),r=o[0];rn(function(){if(t){var a=VS(document.body).width,i=zS();ht(`
680
+ html body {
681
+ overflow-y: hidden;
682
+ `.concat(i?"width: calc(100% - ".concat(a,"px);"):"",`
683
+ }`),r)}else Ln(r);return function(){Ln(r)}},[t,r])}var KS=!1;function YS(e){return KS}var Yl=function(t){return t===!1?!1:!Be()||!t?null:typeof t=="string"?document.querySelector(t):typeof t=="function"?t():t},XS=u.forwardRef(function(e,t){var n=e.open,o=e.autoLock,r=e.getContainer;e.debug;var a=e.autoDestroy,i=a===void 0?!0:a,s=e.children,l=u.useState(n),c=B(l,2),d=c[0],m=c[1],p=d||n;u.useEffect(function(){(i||n)&&m(n)},[n,i]);var g=u.useState(function(){return Yl(r)}),h=B(g,2),v=h[0],f=h[1];u.useEffect(function(){var M=Yl(r);f(M??null)});var y=US(p&&!v),b=B(y,2),S=b[0],C=b[1],w=v??S;GS(o&&n&&Be()&&(w===S||w===document.body));var x=null;if(s&&Zo(s)&&t){var k=s;x=k.ref}var E=Hi(x,t);if(!p||!Be()||v===void 0)return null;var T=w===!1||YS(),P=s;return t&&(P=u.cloneElement(s,{ref:E})),u.createElement(Au.Provider,{value:C},T?P:_i.createPortal(P,w))}),Mu=u.createContext({});function JS(){var e=O({},Wo);return e.useId}var Xl=0,Jl=JS();const QS=Jl?function(t){var n=Jl();return t||n}:function(t){var n=u.useState("ssr-id"),o=B(n,2),r=o[0],a=o[1];return u.useEffect(function(){var i=Xl;Xl+=1,a("rc_unique_".concat(i))},[]),t||r};function Ql(e,t,n){var o=t;return!o&&n&&(o="".concat(e,"-").concat(n)),o}function Zl(e,t){var n=e["page".concat(t?"Y":"X","Offset")],o="scroll".concat(t?"Top":"Left");if(typeof n!="number"){var r=e.document;n=r.documentElement[o],typeof n!="number"&&(n=r.body[o])}return n}function ZS(e){var t=e.getBoundingClientRect(),n={left:t.left,top:t.top},o=e.ownerDocument,r=o.defaultView||o.parentWindow;return n.left+=Zl(r),n.top+=Zl(r,!0),n}const ew=u.memo(function(e){var t=e.children;return t},function(e,t){var n=t.shouldUpdate;return!n});var tw={width:0,height:0,overflow:"hidden",outline:"none"},nw={outline:"none"},ow=I.forwardRef(function(e,t){var n=e.prefixCls,o=e.className,r=e.style,a=e.title,i=e.ariaId,s=e.footer,l=e.closable,c=e.closeIcon,d=e.onClose,m=e.children,p=e.bodyStyle,g=e.bodyProps,h=e.modalRender,v=e.onMouseDown,f=e.onMouseUp,y=e.holderRef,b=e.visible,S=e.forceRender,C=e.width,w=e.height,x=e.classNames,k=e.styles,E=I.useContext(Mu),T=E.panel,P=Hi(y,T),M=u.useRef(),F=u.useRef();I.useImperativeHandle(t,function(){return{focus:function(){var G;(G=M.current)===null||G===void 0||G.focus({preventScroll:!0})},changeActive:function(G){var te=document,q=te.activeElement;G&&q===F.current?M.current.focus({preventScroll:!0}):!G&&q===M.current&&F.current.focus({preventScroll:!0})}}});var D={};C!==void 0&&(D.width=C),w!==void 0&&(D.height=w);var A=s?I.createElement("div",{className:W("".concat(n,"-footer"),x==null?void 0:x.footer),style:O({},k==null?void 0:k.footer)},s):null,_=a?I.createElement("div",{className:W("".concat(n,"-header"),x==null?void 0:x.header),style:O({},k==null?void 0:k.header)},I.createElement("div",{className:"".concat(n,"-title"),id:i},a)):null,N=u.useMemo(function(){return z(l)==="object"&&l!==null?l:l?{closeIcon:c??I.createElement("span",{className:"".concat(n,"-close-x")})}:{}},[l,c,n]),$=sr(N,!0),K=z(l)==="object"&&l.disabled,Y=l?I.createElement("button",le({type:"button",onClick:d,"aria-label":"Close"},$,{className:"".concat(n,"-close"),disabled:K}),N.closeIcon):null,ee=I.createElement("div",{className:W("".concat(n,"-content"),x==null?void 0:x.content),style:k==null?void 0:k.content},Y,_,I.createElement("div",le({className:W("".concat(n,"-body"),x==null?void 0:x.body),style:O(O({},p),k==null?void 0:k.body)},g),m),A);return I.createElement("div",{key:"dialog-element",role:"dialog","aria-labelledby":a?i:null,"aria-modal":"true",ref:P,style:O(O({},r),D),className:W(n,o),onMouseDown:v,onMouseUp:f},I.createElement("div",{ref:M,tabIndex:0,style:nw},I.createElement(ew,{shouldUpdate:b||S},h?h(ee):ee)),I.createElement("div",{tabIndex:0,ref:F,style:tw}))}),Ou=u.forwardRef(function(e,t){var n=e.prefixCls,o=e.title,r=e.style,a=e.className,i=e.visible,s=e.forceRender,l=e.destroyOnClose,c=e.motionName,d=e.ariaId,m=e.onVisibleChanged,p=e.mousePosition,g=u.useRef(),h=u.useState(),v=B(h,2),f=v[0],y=v[1],b={};f&&(b.transformOrigin=f);function S(){var C=ZS(g.current);y(p&&(p.x||p.y)?"".concat(p.x-C.left,"px ").concat(p.y-C.top,"px"):"")}return u.createElement(Un,{visible:i,onVisibleChanged:m,onAppearPrepare:S,onEnterPrepare:S,forceRender:s,motionName:c,removeOnLeave:l,ref:g},function(C,w){var x=C.className,k=C.style;return u.createElement(ow,le({},e,{ref:t,title:o,ariaId:d,prefixCls:n,holderRef:w,style:O(O(O({},k),r),b),className:W(a,x)}))})});Ou.displayName="Content";var rw=function(t){var n=t.prefixCls,o=t.style,r=t.visible,a=t.maskProps,i=t.motionName,s=t.className;return u.createElement(Un,{key:"mask",visible:r,motionName:i,leavedClassName:"".concat(n,"-mask-hidden")},function(l,c){var d=l.className,m=l.style;return u.createElement("div",le({ref:c,style:O(O({},m),o),className:W("".concat(n,"-mask"),d,s)},a))})},aw=function(t){var n=t.prefixCls,o=n===void 0?"rc-dialog":n,r=t.zIndex,a=t.visible,i=a===void 0?!1:a,s=t.keyboard,l=s===void 0?!0:s,c=t.focusTriggerAfterClose,d=c===void 0?!0:c,m=t.wrapStyle,p=t.wrapClassName,g=t.wrapProps,h=t.onClose,v=t.afterOpenChange,f=t.afterClose,y=t.transitionName,b=t.animation,S=t.closable,C=S===void 0?!0:S,w=t.mask,x=w===void 0?!0:w,k=t.maskTransitionName,E=t.maskAnimation,T=t.maskClosable,P=T===void 0?!0:T,M=t.maskStyle,F=t.maskProps,D=t.rootClassName,A=t.classNames,_=t.styles,N=u.useRef(),$=u.useRef(),K=u.useRef(),Y=u.useState(i),ee=B(Y,2),J=ee[0],G=ee[1],te=QS();function q(){Na($.current,document.activeElement)||(N.current=document.activeElement)}function U(){if(!Na($.current,document.activeElement)){var oe;(oe=K.current)===null||oe===void 0||oe.focus()}}function V(oe){if(oe)U();else{if(G(!1),x&&N.current&&d){try{N.current.focus({preventScroll:!0})}catch{}N.current=null}J&&(f==null||f())}v==null||v(oe)}function ne(oe){h==null||h(oe)}var Te=u.useRef(!1),he=u.useRef(),be=function(){clearTimeout(he.current),Te.current=!0},ye=function(){he.current=setTimeout(function(){Te.current=!1})},Se=null;P&&(Se=function(ie){Te.current?Te.current=!1:$.current===ie.target&&ne(ie)});function fe(oe){if(l&&oe.keyCode===ui.ESC){oe.stopPropagation(),ne(oe);return}i&&oe.keyCode===ui.TAB&&K.current.changeActive(!oe.shiftKey)}u.useEffect(function(){i&&(G(!0),q())},[i]),u.useEffect(function(){return function(){clearTimeout(he.current)}},[]);var ue=O(O(O({zIndex:r},m),_==null?void 0:_.wrapper),{},{display:J?null:"none"});return u.createElement("div",le({className:W("".concat(o,"-root"),D)},sr(t,{data:!0})),u.createElement(rw,{prefixCls:o,visible:x&&i,motionName:Ql(o,k,E),style:O(O({zIndex:r},M),_==null?void 0:_.mask),maskProps:F,className:A==null?void 0:A.mask}),u.createElement("div",le({tabIndex:-1,onKeyDown:fe,className:W("".concat(o,"-wrap"),p,A==null?void 0:A.wrapper),ref:$,onClick:Se,style:ue},g),u.createElement(Ou,le({},t,{onMouseDown:be,onMouseUp:ye,ref:K,closable:C,ariaId:te,prefixCls:o,visible:i&&J,onClose:ne,onVisibleChanged:V,motionName:Ql(o,y,b)}))))},Fu=function(t){var n=t.visible,o=t.getContainer,r=t.forceRender,a=t.destroyOnClose,i=a===void 0?!1:a,s=t.afterClose,l=t.panelRef,c=u.useState(n),d=B(c,2),m=d[0],p=d[1],g=u.useMemo(function(){return{panel:l}},[l]);return u.useEffect(function(){n&&p(!0)},[n]),!r&&i&&!m?null:u.createElement(Mu.Provider,{value:g},u.createElement(XS,{open:n||r||m,autoDestroy:!1,getContainer:o,autoLock:n||m},u.createElement(aw,le({},t,{destroyOnClose:i,afterClose:function(){s==null||s(),p(!1)}}))))};Fu.displayName="Dialog";var Lt="RC_FORM_INTERNAL_HOOKS",ae=function(){qe(!1,"Can not find FormContext. Please make sure you wrap Field under Form.")},dn=u.createContext({getFieldValue:ae,getFieldsValue:ae,getFieldError:ae,getFieldWarning:ae,getFieldsError:ae,isFieldsTouched:ae,isFieldTouched:ae,isFieldValidating:ae,isFieldsValidating:ae,resetFields:ae,setFields:ae,setFieldValue:ae,setFieldsValue:ae,validateFields:ae,submit:ae,getInternalHooks:function(){return ae(),{dispatch:ae,initEntityValue:ae,registerField:ae,useSubscribe:ae,setInitialValues:ae,destroyForm:ae,setCallbacks:ae,registerWatch:ae,getFields:ae,setValidateMessages:ae,setPreserve:ae,getInitialValue:ae}}}),Bo=u.createContext(null);function gi(e){return e==null?[]:Array.isArray(e)?e:[e]}function iw(e){return e&&!!e._init}function hi(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",tel:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var t=JSON.parse(JSON.stringify(this));return t.clone=this.clone,t}}}var vi=hi();function sw(e){try{return Function.toString.call(e).indexOf("[native code]")!==-1}catch{return typeof e=="function"}}function lw(e,t,n){if(Vi())return Reflect.construct.apply(null,arguments);var o=[null];o.push.apply(o,t);var r=new(e.bind.apply(e,o));return n&&Fn(r,n.prototype),r}function bi(e){var t=typeof Map=="function"?new Map:void 0;return bi=function(o){if(o===null||!sw(o))return o;if(typeof o!="function")throw new TypeError("Super expression must either be null or a function");if(t!==void 0){if(t.has(o))return t.get(o);t.set(o,r)}function r(){return lw(o,arguments,In(this).constructor)}return r.prototype=Object.create(o.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Fn(r,o)},bi(e)}var cw=/%[sdj%]/g,dw=function(){};function yi(e){if(!e||!e.length)return null;var t={};return e.forEach(function(n){var o=n.field;t[o]=t[o]||[],t[o].push(n)}),t}function ze(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];var r=0,a=n.length;if(typeof e=="function")return e.apply(null,n);if(typeof e=="string"){var i=e.replace(cw,function(s){if(s==="%%")return"%";if(r>=a)return s;switch(s){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch{return"[Circular]"}break;default:return s}});return i}return e}function uw(e){return e==="string"||e==="url"||e==="hex"||e==="email"||e==="date"||e==="pattern"||e==="tel"}function xe(e,t){return!!(e==null||t==="array"&&Array.isArray(e)&&!e.length||uw(t)&&typeof e=="string"&&!e)}function mw(e,t,n){var o=[],r=0,a=e.length;function i(s){o.push.apply(o,j(s||[])),r++,r===a&&n(o)}e.forEach(function(s){t(s,i)})}function ec(e,t,n){var o=0,r=e.length;function a(i){if(i&&i.length){n(i);return}var s=o;o=o+1,s<r?t(e[s],a):n([])}a([])}function pw(e){var t=[];return Object.keys(e).forEach(function(n){t.push.apply(t,j(e[n]||[]))}),t}var tc=function(e){Bt(n,e);var t=jt(n);function n(o,r){var a;return Me(this,n),a=t.call(this,"Async Validation Error"),R(X(a),"errors",void 0),R(X(a),"fields",void 0),a.errors=o,a.fields=r,a}return Oe(n)}(bi(Error));function fw(e,t,n,o,r){if(t.first){var a=new Promise(function(p,g){var h=function(y){return o(y),y.length?g(new tc(y,yi(y))):p(r)},v=pw(e);ec(v,n,h)});return a.catch(function(p){return p}),a}var i=t.firstFields===!0?Object.keys(e):t.firstFields||[],s=Object.keys(e),l=s.length,c=0,d=[],m=new Promise(function(p,g){var h=function(f){if(d.push.apply(d,f),c++,c===l)return o(d),d.length?g(new tc(d,yi(d))):p(r)};s.length||(o(d),p(r)),s.forEach(function(v){var f=e[v];i.indexOf(v)!==-1?ec(f,n,h):mw(f,n,h)})});return m.catch(function(p){return p}),m}function gw(e){return!!(e&&e.message!==void 0)}function hw(e,t){for(var n=e,o=0;o<t.length;o++){if(n==null)return n;n=n[t[o]]}return n}function nc(e,t){return function(n){var o;return e.fullFields?o=hw(t,e.fullFields):o=t[n.field||e.fullField],gw(n)?(n.field=n.field||e.fullField,n.fieldValue=o,n):{message:typeof n=="function"?n():n,fieldValue:o,field:n.field||e.fullField}}}function oc(e,t){if(t){for(var n in t)if(t.hasOwnProperty(n)){var o=t[n];z(o)==="object"&&z(e[n])==="object"?e[n]=O(O({},e[n]),o):e[n]=o}}return e}var qt="enum",vw=function(t,n,o,r,a){t[qt]=Array.isArray(t[qt])?t[qt]:[],t[qt].indexOf(n)===-1&&r.push(ze(a.messages[qt],t.fullField,t[qt].join(", ")))},bw=function(t,n,o,r,a){if(t.pattern){if(t.pattern instanceof RegExp)t.pattern.lastIndex=0,t.pattern.test(n)||r.push(ze(a.messages.pattern.mismatch,t.fullField,n,t.pattern));else if(typeof t.pattern=="string"){var i=new RegExp(t.pattern);i.test(n)||r.push(ze(a.messages.pattern.mismatch,t.fullField,n,t.pattern))}}},yw=function(t,n,o,r,a){var i=typeof t.len=="number",s=typeof t.min=="number",l=typeof t.max=="number",c=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,d=n,m=null,p=typeof n=="number",g=typeof n=="string",h=Array.isArray(n);if(p?m="number":g?m="string":h&&(m="array"),!m)return!1;h&&(d=n.length),g&&(d=n.replace(c,"_").length),i?d!==t.len&&r.push(ze(a.messages[m].len,t.fullField,t.len)):s&&!l&&d<t.min?r.push(ze(a.messages[m].min,t.fullField,t.min)):l&&!s&&d>t.max?r.push(ze(a.messages[m].max,t.fullField,t.max)):s&&l&&(d<t.min||d>t.max)&&r.push(ze(a.messages[m].range,t.fullField,t.min,t.max))},Iu=function(t,n,o,r,a,i){t.required&&(!o.hasOwnProperty(t.field)||xe(n,i||t.type))&&r.push(ze(a.messages.required,t.fullField))},bo;const Sw=function(){if(bo)return bo;var e="[a-fA-F\\d:]",t=function(x){return x&&x.includeBoundaries?"(?:(?<=\\s|^)(?=".concat(e,")|(?<=").concat(e,")(?=\\s|$))"):""},n="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",o="[a-fA-F\\d]{1,4}",r=["(?:".concat(o,":){7}(?:").concat(o,"|:)"),"(?:".concat(o,":){6}(?:").concat(n,"|:").concat(o,"|:)"),"(?:".concat(o,":){5}(?::").concat(n,"|(?::").concat(o,"){1,2}|:)"),"(?:".concat(o,":){4}(?:(?::").concat(o,"){0,1}:").concat(n,"|(?::").concat(o,"){1,3}|:)"),"(?:".concat(o,":){3}(?:(?::").concat(o,"){0,2}:").concat(n,"|(?::").concat(o,"){1,4}|:)"),"(?:".concat(o,":){2}(?:(?::").concat(o,"){0,3}:").concat(n,"|(?::").concat(o,"){1,5}|:)"),"(?:".concat(o,":){1}(?:(?::").concat(o,"){0,4}:").concat(n,"|(?::").concat(o,"){1,6}|:)"),"(?::(?:(?::".concat(o,"){0,5}:").concat(n,"|(?::").concat(o,"){1,7}|:))")],a="(?:%[0-9a-zA-Z]{1,})?",i="(?:".concat(r.join("|"),")").concat(a),s=new RegExp("(?:^".concat(n,"$)|(?:^").concat(i,"$)")),l=new RegExp("^".concat(n,"$")),c=new RegExp("^".concat(i,"$")),d=function(x){return x&&x.exact?s:new RegExp("(?:".concat(t(x)).concat(n).concat(t(x),")|(?:").concat(t(x)).concat(i).concat(t(x),")"),"g")};d.v4=function(w){return w&&w.exact?l:new RegExp("".concat(t(w)).concat(n).concat(t(w)),"g")},d.v6=function(w){return w&&w.exact?c:new RegExp("".concat(t(w)).concat(i).concat(t(w)),"g")};var m="(?:(?:[a-z]+:)?//)",p="(?:\\S+(?::\\S*)?@)?",g=d.v4().source,h=d.v6().source,v="(?:(?:[a-z\\u00a1-\\uffff0-9][-_]*)*[a-z\\u00a1-\\uffff0-9]+)",f="(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*",y="(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))",b="(?::\\d{2,5})?",S='(?:[/?#][^\\s"]*)?',C="(?:".concat(m,"|www\\.)").concat(p,"(?:localhost|").concat(g,"|").concat(h,"|").concat(v).concat(f).concat(y,")").concat(b).concat(S);return bo=new RegExp("(?:^".concat(C,"$)"),"i"),bo};var ba={email:/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,tel:/^(\+[0-9]{1,3}[-\s\u2011]?)?(\([0-9]{1,4}\)[-\s\u2011]?)?([0-9]+[-\s\u2011]?)*[0-9]+$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},En={integer:function(t){return En.number(t)&&parseInt(t,10)===t},float:function(t){return En.number(t)&&!En.integer(t)},array:function(t){return Array.isArray(t)},regexp:function(t){if(t instanceof RegExp)return!0;try{return!!new RegExp(t)}catch{return!1}},date:function(t){return typeof t.getTime=="function"&&typeof t.getMonth=="function"&&typeof t.getYear=="function"&&!isNaN(t.getTime())},number:function(t){return isNaN(t)?!1:typeof t=="number"},object:function(t){return z(t)==="object"&&!En.array(t)},method:function(t){return typeof t=="function"},email:function(t){return typeof t=="string"&&t.length<=320&&!!t.match(ba.email)},tel:function(t){return typeof t=="string"&&t.length<=32&&!!t.match(ba.tel)},url:function(t){return typeof t=="string"&&t.length<=2048&&!!t.match(Sw())},hex:function(t){return typeof t=="string"&&!!t.match(ba.hex)}},ww=function(t,n,o,r,a){if(t.required&&n===void 0){Iu(t,n,o,r,a);return}var i=["integer","float","array","regexp","object","method","email","tel","number","date","url","hex"],s=t.type;i.indexOf(s)>-1?En[s](n)||r.push(ze(a.messages.types[s],t.fullField,t.type)):s&&z(n)!==t.type&&r.push(ze(a.messages.types[s],t.fullField,t.type))},Cw=function(t,n,o,r,a){(/^\s+$/.test(n)||n==="")&&r.push(ze(a.messages.whitespace,t.fullField))};const Q={required:Iu,whitespace:Cw,type:ww,range:yw,enum:vw,pattern:bw};var kw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n)&&!t.required)return o();Q.required(t,n,r,i,a)}o(i)},xw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(n==null&&!t.required)return o();Q.required(t,n,r,i,a,"array"),n!=null&&(Q.type(t,n,r,i,a),Q.range(t,n,r,i,a))}o(i)},Pw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n)&&!t.required)return o();Q.required(t,n,r,i,a),n!==void 0&&Q.type(t,n,r,i,a)}o(i)},Tw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n,"date")&&!t.required)return o();if(Q.required(t,n,r,i,a),!xe(n,"date")){var l;n instanceof Date?l=n:l=new Date(n),Q.type(t,l,r,i,a),l&&Q.range(t,l.getTime(),r,i,a)}}o(i)},Ew="enum",Rw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n)&&!t.required)return o();Q.required(t,n,r,i,a),n!==void 0&&Q[Ew](t,n,r,i,a)}o(i)},Aw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n)&&!t.required)return o();Q.required(t,n,r,i,a),n!==void 0&&(Q.type(t,n,r,i,a),Q.range(t,n,r,i,a))}o(i)},Dw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n)&&!t.required)return o();Q.required(t,n,r,i,a),n!==void 0&&(Q.type(t,n,r,i,a),Q.range(t,n,r,i,a))}o(i)},Mw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n)&&!t.required)return o();Q.required(t,n,r,i,a),n!==void 0&&Q.type(t,n,r,i,a)}o(i)},Ow=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(n===""&&(n=void 0),xe(n)&&!t.required)return o();Q.required(t,n,r,i,a),n!==void 0&&(Q.type(t,n,r,i,a),Q.range(t,n,r,i,a))}o(i)},Fw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n)&&!t.required)return o();Q.required(t,n,r,i,a),n!==void 0&&Q.type(t,n,r,i,a)}o(i)},Iw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n,"string")&&!t.required)return o();Q.required(t,n,r,i,a),xe(n,"string")||Q.pattern(t,n,r,i,a)}o(i)},_w=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n)&&!t.required)return o();Q.required(t,n,r,i,a),xe(n)||Q.type(t,n,r,i,a)}o(i)},Lw=function(t,n,o,r,a){var i=[],s=Array.isArray(n)?"array":z(n);Q.required(t,n,r,i,a,s),o(i)},Nw=function(t,n,o,r,a){var i=[],s=t.required||!t.required&&r.hasOwnProperty(t.field);if(s){if(xe(n,"string")&&!t.required)return o();Q.required(t,n,r,i,a,"string"),xe(n,"string")||(Q.type(t,n,r,i,a),Q.range(t,n,r,i,a),Q.pattern(t,n,r,i,a),t.whitespace===!0&&Q.whitespace(t,n,r,i,a))}o(i)},yo=function(t,n,o,r,a){var i=t.type,s=[],l=t.required||!t.required&&r.hasOwnProperty(t.field);if(l){if(xe(n,i)&&!t.required)return o();Q.required(t,n,r,s,a,i),xe(n,i)||Q.type(t,n,r,s,a)}o(s)};const On={string:Nw,method:Mw,number:Ow,boolean:Pw,regexp:_w,integer:Dw,float:Aw,array:xw,object:Fw,enum:Rw,pattern:Iw,date:Tw,url:yo,hex:yo,email:yo,tel:yo,required:Lw,any:kw};var Kn=function(){function e(t){Me(this,e),R(this,"rules",null),R(this,"_messages",vi),this.define(t)}return Oe(e,[{key:"define",value:function(n){var o=this;if(!n)throw new Error("Cannot configure a schema with no rules");if(z(n)!=="object"||Array.isArray(n))throw new Error("Rules must be an object");this.rules={},Object.keys(n).forEach(function(r){var a=n[r];o.rules[r]=Array.isArray(a)?a:[a]})}},{key:"messages",value:function(n){return n&&(this._messages=oc(hi(),n)),this._messages}},{key:"validate",value:function(n){var o=this,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:function(){},i=n,s=r,l=a;if(typeof s=="function"&&(l=s,s={}),!this.rules||Object.keys(this.rules).length===0)return l&&l(null,i),Promise.resolve(i);function c(h){var v=[],f={};function y(S){if(Array.isArray(S)){var C;v=(C=v).concat.apply(C,j(S))}else v.push(S)}for(var b=0;b<h.length;b++)y(h[b]);v.length?(f=yi(v),l(v,f)):l(null,i)}if(s.messages){var d=this.messages();d===vi&&(d=hi()),oc(d,s.messages),s.messages=d}else s.messages=this.messages();var m={},p=s.keys||Object.keys(this.rules);p.forEach(function(h){var v=o.rules[h],f=i[h];v.forEach(function(y){var b=y;typeof b.transform=="function"&&(i===n&&(i=O({},i)),f=i[h]=b.transform(f),f!=null&&(b.type=b.type||(Array.isArray(f)?"array":z(f)))),typeof b=="function"?b={validator:b}:b=O({},b),b.validator=o.getValidationMethod(b),b.validator&&(b.field=h,b.fullField=b.fullField||h,b.type=o.getType(b),m[h]=m[h]||[],m[h].push({rule:b,value:f,source:i,field:h}))})});var g={};return fw(m,s,function(h,v){var f=h.rule,y=(f.type==="object"||f.type==="array")&&(z(f.fields)==="object"||z(f.defaultField)==="object");y=y&&(f.required||!f.required&&h.value),f.field=h.field;function b(k,E){return O(O({},E),{},{fullField:"".concat(f.fullField,".").concat(k),fullFields:f.fullFields?[].concat(j(f.fullFields),[k]):[k]})}function S(){var k=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],E=Array.isArray(k)?k:[k];!s.suppressWarning&&E.length&&e.warning("async-validator:",E),E.length&&f.message!==void 0&&f.message!==null&&(E=[].concat(f.message));var T=E.map(nc(f,i));if(s.first&&T.length)return g[f.field]=1,v(T);if(!y)v(T);else{if(f.required&&!h.value)return f.message!==void 0?T=[].concat(f.message).map(nc(f,i)):s.error&&(T=[s.error(f,ze(s.messages.required,f.field))]),v(T);var P={};f.defaultField&&Object.keys(h.value).map(function(D){P[D]=f.defaultField}),P=O(O({},P),h.rule.fields);var M={};Object.keys(P).forEach(function(D){var A=P[D],_=Array.isArray(A)?A:[A];M[D]=_.map(b.bind(null,D))});var F=new e(M);F.messages(s.messages),h.rule.options&&(h.rule.options.messages=s.messages,h.rule.options.error=s.error),F.validate(h.value,h.rule.options||s,function(D){var A=[];T&&T.length&&A.push.apply(A,j(T)),D&&D.length&&A.push.apply(A,j(D)),v(A.length?A:null)})}}var C;if(f.asyncValidator)C=f.asyncValidator(f,h.value,S,h.source,s);else if(f.validator){try{C=f.validator(f,h.value,S,h.source,s)}catch(k){var w,x;(w=(x=console).error)===null||w===void 0||w.call(x,k),s.suppressValidatorError||setTimeout(function(){throw k},0),S(k.message)}C===!0?S():C===!1?S(typeof f.message=="function"?f.message(f.fullField||f.field):f.message||"".concat(f.fullField||f.field," fails")):C instanceof Array?S(C):C instanceof Error&&S(C.message)}C&&C.then&&C.then(function(){return S()},function(k){return S(k)})},function(h){c(h)},i)}},{key:"getType",value:function(n){if(n.type===void 0&&n.pattern instanceof RegExp&&(n.type="pattern"),typeof n.validator!="function"&&n.type&&!On.hasOwnProperty(n.type))throw new Error(ze("Unknown rule type %s",n.type));return n.type||"string"}},{key:"getValidationMethod",value:function(n){if(typeof n.validator=="function")return n.validator;var o=Object.keys(n),r=o.indexOf("message");return r!==-1&&o.splice(r,1),o.length===1&&o[0]==="required"?On.required:On[this.getType(n)]||void 0}}]),e}();R(Kn,"register",function(t,n){if(typeof n!="function")throw new Error("Cannot register a validator by type, validator is not a function");On[t]=n});R(Kn,"warning",dw);R(Kn,"messages",vi);R(Kn,"validators",On);var We="'${name}' is not a valid ${type}",_u={default:"Validation error on field '${name}'",required:"'${name}' is required",enum:"'${name}' must be one of [${enum}]",whitespace:"'${name}' cannot be empty",date:{format:"'${name}' is invalid for format date",parse:"'${name}' could not be parsed as date",invalid:"'${name}' is invalid date"},types:{string:We,method:We,array:We,object:We,number:We,date:We,boolean:We,integer:We,float:We,regexp:We,email:We,url:We,hex:We},string:{len:"'${name}' must be exactly ${len} characters",min:"'${name}' must be at least ${min} characters",max:"'${name}' cannot be longer than ${max} characters",range:"'${name}' must be between ${min} and ${max} characters"},number:{len:"'${name}' must equal ${len}",min:"'${name}' cannot be less than ${min}",max:"'${name}' cannot be greater than ${max}",range:"'${name}' must be between ${min} and ${max}"},array:{len:"'${name}' must be exactly ${len} in length",min:"'${name}' cannot be less than ${min} in length",max:"'${name}' cannot be greater than ${max} in length",range:"'${name}' must be between ${min} and ${max} in length"},pattern:{mismatch:"'${name}' does not match pattern ${pattern}"}},rc=Kn;function $w(e,t){return e.replace(/\\?\$\{\w+\}/g,function(n){if(n.startsWith("\\"))return n.slice(1);var o=n.slice(2,-1);return t[o]})}var ac="CODE_LOGIC_ERROR";function Si(e,t,n,o,r){return wi.apply(this,arguments)}function wi(){return wi=Wt(Le().mark(function e(t,n,o,r,a){var i,s,l,c,d,m,p,g,h;return Le().wrap(function(f){for(;;)switch(f.prev=f.next){case 0:return i=O({},o),delete i.ruleIndex,rc.warning=function(){},i.validator&&(s=i.validator,i.validator=function(){try{return s.apply(void 0,arguments)}catch(y){return console.error(y),Promise.reject(ac)}}),l=null,i&&i.type==="array"&&i.defaultField&&(l=i.defaultField,delete i.defaultField),c=new rc(R({},t,[i])),d=Kt(_u,r.validateMessages),c.messages(d),m=[],f.prev=10,f.next=13,Promise.resolve(c.validate(R({},t,n),O({},r)));case 13:f.next=18;break;case 15:f.prev=15,f.t0=f.catch(10),f.t0.errors&&(m=f.t0.errors.map(function(y,b){var S=y.message,C=S===ac?d.default:S;return u.isValidElement(C)?u.cloneElement(C,{key:"error_".concat(b)}):C}));case 18:if(!(!m.length&&l&&Array.isArray(n)&&n.length>0)){f.next=23;break}return f.next=21,Promise.all(n.map(function(y,b){return Si("".concat(t,".").concat(b),y,l,r,a)}));case 21:return p=f.sent,f.abrupt("return",p.reduce(function(y,b){return[].concat(j(y),j(b))},[]));case 23:return g=O(O({},o),{},{name:t,enum:(o.enum||[]).join(", ")},a),h=m.map(function(y){return typeof y=="string"?$w(y,g):y}),f.abrupt("return",h);case 26:case"end":return f.stop()}},e,null,[[10,15]])})),wi.apply(this,arguments)}function Bw(e,t,n,o,r,a){var i=e.join("."),s=n.map(function(d,m){var p=d.validator,g=O(O({},d),{},{ruleIndex:m});return p&&(g.validator=function(h,v,f){var y=!1,b=function(){for(var w=arguments.length,x=new Array(w),k=0;k<w;k++)x[k]=arguments[k];Promise.resolve().then(function(){qe(!y,"Your validator function has already return a promise. `callback` will be ignored."),y||f.apply(void 0,x)})},S=p(h,v,b);y=S&&typeof S.then=="function"&&typeof S.catch=="function",qe(y,"`callback` is deprecated. Please return a promise instead."),y&&S.then(function(){f()}).catch(function(C){f(C||" ")})}),g}).sort(function(d,m){var p=d.warningOnly,g=d.ruleIndex,h=m.warningOnly,v=m.ruleIndex;return!!p==!!h?g-v:p?1:-1}),l;if(r===!0)l=new Promise(function(){var d=Wt(Le().mark(function m(p,g){var h,v,f;return Le().wrap(function(b){for(;;)switch(b.prev=b.next){case 0:h=0;case 1:if(!(h<s.length)){b.next=12;break}return v=s[h],b.next=5,Si(i,t,v,o,a);case 5:if(f=b.sent,!f.length){b.next=9;break}return g([{errors:f,rule:v}]),b.abrupt("return");case 9:h+=1,b.next=1;break;case 12:p([]);case 13:case"end":return b.stop()}},m)}));return function(m,p){return d.apply(this,arguments)}}());else{var c=s.map(function(d){return Si(i,t,d,o,a).then(function(m){return{errors:m,rule:d}})});l=(r?Ww(c):jw(c)).then(function(d){return Promise.reject(d)})}return l.catch(function(d){return d}),l}function jw(e){return Ci.apply(this,arguments)}function Ci(){return Ci=Wt(Le().mark(function e(t){return Le().wrap(function(o){for(;;)switch(o.prev=o.next){case 0:return o.abrupt("return",Promise.all(t).then(function(r){var a,i=(a=[]).concat.apply(a,j(r));return i}));case 1:case"end":return o.stop()}},e)})),Ci.apply(this,arguments)}function Ww(e){return ki.apply(this,arguments)}function ki(){return ki=Wt(Le().mark(function e(t){var n;return Le().wrap(function(r){for(;;)switch(r.prev=r.next){case 0:return n=0,r.abrupt("return",new Promise(function(a){t.forEach(function(i){i.then(function(s){s.errors.length&&a([s]),n+=1,n===t.length&&a([])})})}));case 2:case"end":return r.stop()}},e)})),ki.apply(this,arguments)}function ve(e){return gi(e)}function ic(e,t){var n={};return t.forEach(function(o){var r=ut(e,o);n=tt(n,o,r)}),n}function Qt(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return e&&e.some(function(o){return Lu(t,o,n)})}function Lu(e,t){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;return!e||!t||!n&&e.length!==t.length?!1:t.every(function(o,r){return e[r]===o})}function Hw(e,t){if(e===t)return!0;if(!e&&t||e&&!t||!e||!t||z(e)!=="object"||z(t)!=="object")return!1;var n=Object.keys(e),o=Object.keys(t),r=new Set([].concat(n,o));return j(r).every(function(a){var i=e[a],s=t[a];return typeof i=="function"&&typeof s=="function"?!0:i===s})}function Uw(e){var t=arguments.length<=1?void 0:arguments[1];return t&&t.target&&z(t.target)==="object"&&e in t.target?t.target[e]:t}function sc(e,t,n){var o=e.length;if(t<0||t>=o||n<0||n>=o)return e;var r=e[t],a=t-n;return a>0?[].concat(j(e.slice(0,n)),[r],j(e.slice(n,t)),j(e.slice(t+1,o))):a<0?[].concat(j(e.slice(0,t)),j(e.slice(t+1,n+1)),[r],j(e.slice(n+1,o))):e}var Vw=["name"],Xe=[];function ya(e,t,n,o,r,a){return typeof e=="function"?e(t,n,"source"in a?{source:a.source}:{}):o!==r}var ds=function(e){Bt(n,e);var t=jt(n);function n(o){var r;if(Me(this,n),r=t.call(this,o),R(X(r),"state",{resetCount:0}),R(X(r),"cancelRegisterFunc",null),R(X(r),"mounted",!1),R(X(r),"touched",!1),R(X(r),"dirty",!1),R(X(r),"validatePromise",void 0),R(X(r),"prevValidating",void 0),R(X(r),"errors",Xe),R(X(r),"warnings",Xe),R(X(r),"cancelRegister",function(){var l=r.props,c=l.preserve,d=l.isListField,m=l.name;r.cancelRegisterFunc&&r.cancelRegisterFunc(d,c,ve(m)),r.cancelRegisterFunc=null}),R(X(r),"getNamePath",function(){var l=r.props,c=l.name,d=l.fieldContext,m=d.prefixName,p=m===void 0?[]:m;return c!==void 0?[].concat(j(p),j(c)):[]}),R(X(r),"getRules",function(){var l=r.props,c=l.rules,d=c===void 0?[]:c,m=l.fieldContext;return d.map(function(p){return typeof p=="function"?p(m):p})}),R(X(r),"refresh",function(){r.mounted&&r.setState(function(l){var c=l.resetCount;return{resetCount:c+1}})}),R(X(r),"metaCache",null),R(X(r),"triggerMetaEvent",function(l){var c=r.props.onMetaChange;if(c){var d=O(O({},r.getMeta()),{},{destroy:l});Ba(r.metaCache,d)||c(d),r.metaCache=d}else r.metaCache=null}),R(X(r),"onStoreChange",function(l,c,d){var m=r.props,p=m.shouldUpdate,g=m.dependencies,h=g===void 0?[]:g,v=m.onReset,f=d.store,y=r.getNamePath(),b=r.getValue(l),S=r.getValue(f),C=c&&Qt(c,y);switch(d.type==="valueUpdate"&&d.source==="external"&&!Ba(b,S)&&(r.touched=!0,r.dirty=!0,r.validatePromise=null,r.errors=Xe,r.warnings=Xe,r.triggerMetaEvent()),d.type){case"reset":if(!c||C){r.touched=!1,r.dirty=!1,r.validatePromise=void 0,r.errors=Xe,r.warnings=Xe,r.triggerMetaEvent(),v==null||v(),r.refresh();return}break;case"remove":{if(p&&ya(p,l,f,b,S,d)){r.reRender();return}break}case"setField":{var w=d.data;if(C){"touched"in w&&(r.touched=w.touched),"validating"in w&&!("originRCField"in w)&&(r.validatePromise=w.validating?Promise.resolve([]):null),"errors"in w&&(r.errors=w.errors||Xe),"warnings"in w&&(r.warnings=w.warnings||Xe),r.dirty=!0,r.triggerMetaEvent(),r.reRender();return}else if("value"in w&&Qt(c,y,!0)){r.reRender();return}if(p&&!y.length&&ya(p,l,f,b,S,d)){r.reRender();return}break}case"dependenciesUpdate":{var x=h.map(ve);if(x.some(function(k){return Qt(d.relatedFields,k)})){r.reRender();return}break}default:if(C||(!h.length||y.length||p)&&ya(p,l,f,b,S,d)){r.reRender();return}break}p===!0&&r.reRender()}),R(X(r),"validateRules",function(l){var c=r.getNamePath(),d=r.getValue(),m=l||{},p=m.triggerName,g=m.validateOnly,h=g===void 0?!1:g,v=Promise.resolve().then(Wt(Le().mark(function f(){var y,b,S,C,w,x,k;return Le().wrap(function(T){for(;;)switch(T.prev=T.next){case 0:if(r.mounted){T.next=2;break}return T.abrupt("return",[]);case 2:if(y=r.props,b=y.validateFirst,S=b===void 0?!1:b,C=y.messageVariables,w=y.validateDebounce,x=r.getRules(),p&&(x=x.filter(function(P){return P}).filter(function(P){var M=P.validateTrigger;if(!M)return!0;var F=gi(M);return F.includes(p)})),!(w&&p)){T.next=10;break}return T.next=8,new Promise(function(P){setTimeout(P,w)});case 8:if(r.validatePromise===v){T.next=10;break}return T.abrupt("return",[]);case 10:return k=Bw(c,d,x,l,S,C),k.catch(function(P){return P}).then(function(){var P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Xe;if(r.validatePromise===v){var M;r.validatePromise=null;var F=[],D=[];(M=P.forEach)===null||M===void 0||M.call(P,function(A){var _=A.rule.warningOnly,N=A.errors,$=N===void 0?Xe:N;_?D.push.apply(D,j($)):F.push.apply(F,j($))}),r.errors=F,r.warnings=D,r.triggerMetaEvent(),r.reRender()}}),T.abrupt("return",k);case 13:case"end":return T.stop()}},f)})));return h||(r.validatePromise=v,r.dirty=!0,r.errors=Xe,r.warnings=Xe,r.triggerMetaEvent(),r.reRender()),v}),R(X(r),"isFieldValidating",function(){return!!r.validatePromise}),R(X(r),"isFieldTouched",function(){return r.touched}),R(X(r),"isFieldDirty",function(){if(r.dirty||r.props.initialValue!==void 0)return!0;var l=r.props.fieldContext,c=l.getInternalHooks(Lt),d=c.getInitialValue;return d(r.getNamePath())!==void 0}),R(X(r),"getErrors",function(){return r.errors}),R(X(r),"getWarnings",function(){return r.warnings}),R(X(r),"isListField",function(){return r.props.isListField}),R(X(r),"isList",function(){return r.props.isList}),R(X(r),"isPreserve",function(){return r.props.preserve}),R(X(r),"getMeta",function(){r.prevValidating=r.isFieldValidating();var l={touched:r.isFieldTouched(),validating:r.prevValidating,errors:r.errors,warnings:r.warnings,name:r.getNamePath(),validated:r.validatePromise===null};return l}),R(X(r),"getOnlyChild",function(l){if(typeof l=="function"){var c=r.getMeta();return O(O({},r.getOnlyChild(l(r.getControlled(),c,r.props.fieldContext))),{},{isFunction:!0})}var d=Do(l);return d.length!==1||!u.isValidElement(d[0])?{child:d,isFunction:!1}:{child:d[0],isFunction:!1}}),R(X(r),"getValue",function(l){var c=r.props.fieldContext.getFieldsValue,d=r.getNamePath();return ut(l||c(!0),d)}),R(X(r),"getControlled",function(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=r.props,d=c.name,m=c.trigger,p=c.validateTrigger,g=c.getValueFromEvent,h=c.normalize,v=c.valuePropName,f=c.getValueProps,y=c.fieldContext,b=p!==void 0?p:y.validateTrigger,S=r.getNamePath(),C=y.getInternalHooks,w=y.getFieldsValue,x=C(Lt),k=x.dispatch,E=r.getValue(),T=f||function(A){return R({},v,A)},P=l[m],M=d!==void 0?T(E):{},F=O(O({},l),M);F[m]=function(){r.touched=!0,r.dirty=!0,r.triggerMetaEvent();for(var A,_=arguments.length,N=new Array(_),$=0;$<_;$++)N[$]=arguments[$];g?A=g.apply(void 0,N):A=Uw.apply(void 0,[v].concat(N)),h&&(A=h(A,E,w(!0))),A!==E&&k({type:"updateValue",namePath:S,value:A}),P&&P.apply(void 0,N)};var D=gi(b||[]);return D.forEach(function(A){var _=F[A];F[A]=function(){_&&_.apply(void 0,arguments);var N=r.props.rules;N&&N.length&&k({type:"validateField",namePath:S,triggerName:A})}}),F}),o.fieldContext){var a=o.fieldContext.getInternalHooks,i=a(Lt),s=i.initEntityValue;s(X(r))}return r}return Oe(n,[{key:"componentDidMount",value:function(){var r=this.props,a=r.shouldUpdate,i=r.fieldContext;if(this.mounted=!0,i){var s=i.getInternalHooks,l=s(Lt),c=l.registerField;this.cancelRegisterFunc=c(this)}a===!0&&this.reRender()}},{key:"componentWillUnmount",value:function(){this.cancelRegister(),this.triggerMetaEvent(!0),this.mounted=!1}},{key:"reRender",value:function(){this.mounted&&this.forceUpdate()}},{key:"render",value:function(){var r=this.state.resetCount,a=this.props.children,i=this.getOnlyChild(a),s=i.child,l=i.isFunction,c;return l?c=s:u.isValidElement(s)?c=u.cloneElement(s,this.getControlled(s.props)):(qe(!s,"`children` of Field is not validate ReactElement."),c=s),u.createElement(u.Fragment,{key:r},c)}}]),n}(u.Component);R(ds,"contextType",dn);R(ds,"defaultProps",{trigger:"onChange",valuePropName:"value"});function Nu(e){var t,n=e.name,o=Je(e,Vw),r=u.useContext(dn),a=u.useContext(Bo),i=n!==void 0?ve(n):void 0,s=(t=o.isListField)!==null&&t!==void 0?t:!!a,l="keep";return s||(l="_".concat((i||[]).join("_"))),u.createElement(ds,le({key:l,name:i,isListField:s},o,{fieldContext:r}))}function zw(e){var t=e.name,n=e.initialValue,o=e.children,r=e.rules,a=e.validateTrigger,i=e.isListField,s=u.useContext(dn),l=u.useContext(Bo),c=u.useRef({keys:[],id:0}),d=c.current,m=u.useMemo(function(){var v=ve(s.prefixName)||[];return[].concat(j(v),j(ve(t)))},[s.prefixName,t]),p=u.useMemo(function(){return O(O({},s),{},{prefixName:m})},[s,m]),g=u.useMemo(function(){return{getKey:function(f){var y=m.length,b=f[y];return[d.keys[b],f.slice(y+1)]}}},[m]);if(typeof o!="function")return qe(!1,"Form.List only accepts function as children."),null;var h=function(f,y,b){var S=b.source;return S==="internal"?!1:f!==y};return u.createElement(Bo.Provider,{value:g},u.createElement(dn.Provider,{value:p},u.createElement(Nu,{name:[],shouldUpdate:h,rules:r,validateTrigger:a,initialValue:n,isList:!0,isListField:i??!!l},function(v,f){var y=v.value,b=y===void 0?[]:y,S=v.onChange,C=s.getFieldValue,w=function(){var T=C(m||[]);return T||[]},x={add:function(T,P){var M=w();P>=0&&P<=M.length?(d.keys=[].concat(j(d.keys.slice(0,P)),[d.id],j(d.keys.slice(P))),S([].concat(j(M.slice(0,P)),[T],j(M.slice(P))))):(d.keys=[].concat(j(d.keys),[d.id]),S([].concat(j(M),[T]))),d.id+=1},remove:function(T){var P=w(),M=new Set(Array.isArray(T)?T:[T]);M.size<=0||(d.keys=d.keys.filter(function(F,D){return!M.has(D)}),S(P.filter(function(F,D){return!M.has(D)})))},move:function(T,P){if(T!==P){var M=w();T<0||T>=M.length||P<0||P>=M.length||(d.keys=sc(d.keys,T,P),S(sc(M,T,P)))}}},k=b||[];return Array.isArray(k)||(k=[]),o(k.map(function(E,T){var P=d.keys[T];return P===void 0&&(d.keys[T]=d.id,P=d.keys[T],d.id+=1),{name:T,key:P,isListField:!0}}),x,f)})))}function qw(e){var t=!1,n=e.length,o=[];return e.length?new Promise(function(r,a){e.forEach(function(i,s){i.catch(function(l){return t=!0,l}).then(function(l){n-=1,o[s]=l,!(n>0)&&(t&&a(o),r(o))})})}):Promise.resolve([])}var $u="__@field_split__";function Sa(e){return e.map(function(t){return"".concat(z(t),":").concat(t)}).join($u)}var Gt=function(){function e(){Me(this,e),R(this,"kvs",new Map)}return Oe(e,[{key:"set",value:function(n,o){this.kvs.set(Sa(n),o)}},{key:"get",value:function(n){return this.kvs.get(Sa(n))}},{key:"update",value:function(n,o){var r=this.get(n),a=o(r);a?this.set(n,a):this.delete(n)}},{key:"delete",value:function(n){this.kvs.delete(Sa(n))}},{key:"map",value:function(n){return j(this.kvs.entries()).map(function(o){var r=B(o,2),a=r[0],i=r[1],s=a.split($u);return n({key:s.map(function(l){var c=l.match(/^([^:]*):(.*)$/),d=B(c,3),m=d[1],p=d[2];return m==="number"?Number(p):p}),value:i})})}},{key:"toJSON",value:function(){var n={};return this.map(function(o){var r=o.key,a=o.value;return n[r.join(".")]=a,null}),n}}]),e}(),Gw=["name"],Kw=Oe(function e(t){var n=this;Me(this,e),R(this,"formHooked",!1),R(this,"forceRootUpdate",void 0),R(this,"subscribable",!0),R(this,"store",{}),R(this,"fieldEntities",[]),R(this,"initialValues",{}),R(this,"callbacks",{}),R(this,"validateMessages",null),R(this,"preserve",null),R(this,"lastValidatePromise",null),R(this,"getForm",function(){return{getFieldValue:n.getFieldValue,getFieldsValue:n.getFieldsValue,getFieldError:n.getFieldError,getFieldWarning:n.getFieldWarning,getFieldsError:n.getFieldsError,isFieldsTouched:n.isFieldsTouched,isFieldTouched:n.isFieldTouched,isFieldValidating:n.isFieldValidating,isFieldsValidating:n.isFieldsValidating,resetFields:n.resetFields,setFields:n.setFields,setFieldValue:n.setFieldValue,setFieldsValue:n.setFieldsValue,validateFields:n.validateFields,submit:n.submit,_init:!0,getInternalHooks:n.getInternalHooks}}),R(this,"getInternalHooks",function(o){return o===Lt?(n.formHooked=!0,{dispatch:n.dispatch,initEntityValue:n.initEntityValue,registerField:n.registerField,useSubscribe:n.useSubscribe,setInitialValues:n.setInitialValues,destroyForm:n.destroyForm,setCallbacks:n.setCallbacks,setValidateMessages:n.setValidateMessages,getFields:n.getFields,setPreserve:n.setPreserve,getInitialValue:n.getInitialValue,registerWatch:n.registerWatch}):(qe(!1,"`getInternalHooks` is internal usage. Should not call directly."),null)}),R(this,"useSubscribe",function(o){n.subscribable=o}),R(this,"prevWithoutPreserves",null),R(this,"setInitialValues",function(o,r){if(n.initialValues=o||{},r){var a,i=Kt(o,n.store);(a=n.prevWithoutPreserves)===null||a===void 0||a.map(function(s){var l=s.key;i=tt(i,l,ut(o,l))}),n.prevWithoutPreserves=null,n.updateStore(i)}}),R(this,"destroyForm",function(o){if(o)n.updateStore({});else{var r=new Gt;n.getFieldEntities(!0).forEach(function(a){n.isMergedPreserve(a.isPreserve())||r.set(a.getNamePath(),!0)}),n.prevWithoutPreserves=r}}),R(this,"getInitialValue",function(o){var r=ut(n.initialValues,o);return o.length?Kt(r):r}),R(this,"setCallbacks",function(o){n.callbacks=o}),R(this,"setValidateMessages",function(o){n.validateMessages=o}),R(this,"setPreserve",function(o){n.preserve=o}),R(this,"watchList",[]),R(this,"registerWatch",function(o){return n.watchList.push(o),function(){n.watchList=n.watchList.filter(function(r){return r!==o})}}),R(this,"notifyWatch",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];if(n.watchList.length){var r=n.getFieldsValue(),a=n.getFieldsValue(!0);n.watchList.forEach(function(i){i(r,a,o)})}}),R(this,"timeoutId",null),R(this,"warningUnhooked",function(){}),R(this,"updateStore",function(o){n.store=o}),R(this,"getFieldEntities",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;return o?n.fieldEntities.filter(function(r){return r.getNamePath().length}):n.fieldEntities}),R(this,"getFieldsMap",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1,r=new Gt;return n.getFieldEntities(o).forEach(function(a){var i=a.getNamePath();r.set(i,a)}),r}),R(this,"getFieldEntitiesForNamePathList",function(o){if(!o)return n.getFieldEntities(!0);var r=n.getFieldsMap(!0);return o.map(function(a){var i=ve(a);return r.get(i)||{INVALIDATE_NAME_PATH:ve(a)}})}),R(this,"getFieldsValue",function(o,r){n.warningUnhooked();var a,i,s;if(o===!0||Array.isArray(o)?(a=o,i=r):o&&z(o)==="object"&&(s=o.strict,i=o.filter),a===!0&&!i)return n.store;var l=n.getFieldEntitiesForNamePathList(Array.isArray(a)?a:null),c=[];return l.forEach(function(d){var m,p,g="INVALIDATE_NAME_PATH"in d?d.INVALIDATE_NAME_PATH:d.getNamePath();if(s){var h,v;if((h=(v=d).isList)!==null&&h!==void 0&&h.call(v))return}else if(!a&&(m=(p=d).isListField)!==null&&m!==void 0&&m.call(p))return;if(!i)c.push(g);else{var f="getMeta"in d?d.getMeta():null;i(f)&&c.push(g)}}),ic(n.store,c.map(ve))}),R(this,"getFieldValue",function(o){n.warningUnhooked();var r=ve(o);return ut(n.store,r)}),R(this,"getFieldsError",function(o){n.warningUnhooked();var r=n.getFieldEntitiesForNamePathList(o);return r.map(function(a,i){return a&&!("INVALIDATE_NAME_PATH"in a)?{name:a.getNamePath(),errors:a.getErrors(),warnings:a.getWarnings()}:{name:ve(o[i]),errors:[],warnings:[]}})}),R(this,"getFieldError",function(o){n.warningUnhooked();var r=ve(o),a=n.getFieldsError([r])[0];return a.errors}),R(this,"getFieldWarning",function(o){n.warningUnhooked();var r=ve(o),a=n.getFieldsError([r])[0];return a.warnings}),R(this,"isFieldsTouched",function(){n.warningUnhooked();for(var o=arguments.length,r=new Array(o),a=0;a<o;a++)r[a]=arguments[a];var i=r[0],s=r[1],l,c=!1;r.length===0?l=null:r.length===1?Array.isArray(i)?(l=i.map(ve),c=!1):(l=null,c=i):(l=i.map(ve),c=s);var d=n.getFieldEntities(!0),m=function(f){return f.isFieldTouched()};if(!l)return c?d.every(function(v){return m(v)||v.isList()}):d.some(m);var p=new Gt;l.forEach(function(v){p.set(v,[])}),d.forEach(function(v){var f=v.getNamePath();l.forEach(function(y){y.every(function(b,S){return f[S]===b})&&p.update(y,function(b){return[].concat(j(b),[v])})})});var g=function(f){return f.some(m)},h=p.map(function(v){var f=v.value;return f});return c?h.every(g):h.some(g)}),R(this,"isFieldTouched",function(o){return n.warningUnhooked(),n.isFieldsTouched([o])}),R(this,"isFieldsValidating",function(o){n.warningUnhooked();var r=n.getFieldEntities();if(!o)return r.some(function(i){return i.isFieldValidating()});var a=o.map(ve);return r.some(function(i){var s=i.getNamePath();return Qt(a,s)&&i.isFieldValidating()})}),R(this,"isFieldValidating",function(o){return n.warningUnhooked(),n.isFieldsValidating([o])}),R(this,"resetWithFieldInitialValue",function(){var o=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},r=new Gt,a=n.getFieldEntities(!0);a.forEach(function(l){var c=l.props.initialValue,d=l.getNamePath();if(c!==void 0){var m=r.get(d)||new Set;m.add({entity:l,value:c}),r.set(d,m)}});var i=function(c){c.forEach(function(d){var m=d.props.initialValue;if(m!==void 0){var p=d.getNamePath(),g=n.getInitialValue(p);if(g!==void 0)qe(!1,"Form already set 'initialValues' with path '".concat(p.join("."),"'. Field can not overwrite it."));else{var h=r.get(p);if(h&&h.size>1)qe(!1,"Multiple Field with path '".concat(p.join("."),"' set 'initialValue'. Can not decide which one to pick."));else if(h){var v=n.getFieldValue(p),f=d.isListField();!f&&(!o.skipExist||v===void 0)&&n.updateStore(tt(n.store,p,j(h)[0].value))}}}})},s;o.entities?s=o.entities:o.namePathList?(s=[],o.namePathList.forEach(function(l){var c=r.get(l);if(c){var d;(d=s).push.apply(d,j(j(c).map(function(m){return m.entity})))}})):s=a,i(s)}),R(this,"resetFields",function(o){n.warningUnhooked();var r=n.store;if(!o){n.updateStore(Kt(n.initialValues)),n.resetWithFieldInitialValue(),n.notifyObservers(r,null,{type:"reset"}),n.notifyWatch();return}var a=o.map(ve);a.forEach(function(i){var s=n.getInitialValue(i);n.updateStore(tt(n.store,i,s))}),n.resetWithFieldInitialValue({namePathList:a}),n.notifyObservers(r,a,{type:"reset"}),n.notifyWatch(a)}),R(this,"setFields",function(o){n.warningUnhooked();var r=n.store,a=[];o.forEach(function(i){var s=i.name,l=Je(i,Gw),c=ve(s);a.push(c),"value"in l&&n.updateStore(tt(n.store,c,l.value)),n.notifyObservers(r,[c],{type:"setField",data:i})}),n.notifyWatch(a)}),R(this,"getFields",function(){var o=n.getFieldEntities(!0),r=o.map(function(a){var i=a.getNamePath(),s=a.getMeta(),l=O(O({},s),{},{name:i,value:n.getFieldValue(i)});return Object.defineProperty(l,"originRCField",{value:!0}),l});return r}),R(this,"initEntityValue",function(o){var r=o.props.initialValue;if(r!==void 0){var a=o.getNamePath(),i=ut(n.store,a);i===void 0&&n.updateStore(tt(n.store,a,r))}}),R(this,"isMergedPreserve",function(o){var r=o!==void 0?o:n.preserve;return r??!0}),R(this,"registerField",function(o){n.fieldEntities.push(o);var r=o.getNamePath();if(n.notifyWatch([r]),o.props.initialValue!==void 0){var a=n.store;n.resetWithFieldInitialValue({entities:[o],skipExist:!0}),n.notifyObservers(a,[o.getNamePath()],{type:"valueUpdate",source:"internal"})}return function(i,s){var l=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];if(n.fieldEntities=n.fieldEntities.filter(function(m){return m!==o}),!n.isMergedPreserve(s)&&(!i||l.length>1)){var c=i?void 0:n.getInitialValue(r);if(r.length&&n.getFieldValue(r)!==c&&n.fieldEntities.every(function(m){return!Lu(m.getNamePath(),r)})){var d=n.store;n.updateStore(tt(d,r,c,!0)),n.notifyObservers(d,[r],{type:"remove"}),n.triggerDependenciesUpdate(d,r)}}n.notifyWatch([r])}}),R(this,"dispatch",function(o){switch(o.type){case"updateValue":{var r=o.namePath,a=o.value;n.updateValue(r,a);break}case"validateField":{var i=o.namePath,s=o.triggerName;n.validateFields([i],{triggerName:s});break}}}),R(this,"notifyObservers",function(o,r,a){if(n.subscribable){var i=O(O({},a),{},{store:n.getFieldsValue(!0)});n.getFieldEntities().forEach(function(s){var l=s.onStoreChange;l(o,r,i)})}else n.forceRootUpdate()}),R(this,"triggerDependenciesUpdate",function(o,r){var a=n.getDependencyChildrenFields(r);return a.length&&n.validateFields(a),n.notifyObservers(o,a,{type:"dependenciesUpdate",relatedFields:[r].concat(j(a))}),a}),R(this,"updateValue",function(o,r){var a=ve(o),i=n.store;n.updateStore(tt(n.store,a,r)),n.notifyObservers(i,[a],{type:"valueUpdate",source:"internal"}),n.notifyWatch([a]);var s=n.triggerDependenciesUpdate(i,a),l=n.callbacks.onValuesChange;if(l){var c=ic(n.store,[a]);l(c,n.getFieldsValue())}n.triggerOnFieldsChange([a].concat(j(s)))}),R(this,"setFieldsValue",function(o){n.warningUnhooked();var r=n.store;if(o){var a=Kt(n.store,o);n.updateStore(a)}n.notifyObservers(r,null,{type:"valueUpdate",source:"external"}),n.notifyWatch()}),R(this,"setFieldValue",function(o,r){n.setFields([{name:o,value:r,errors:[],warnings:[]}])}),R(this,"getDependencyChildrenFields",function(o){var r=new Set,a=[],i=new Gt;n.getFieldEntities().forEach(function(l){var c=l.props.dependencies;(c||[]).forEach(function(d){var m=ve(d);i.update(m,function(){var p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:new Set;return p.add(l),p})})});var s=function l(c){var d=i.get(c)||new Set;d.forEach(function(m){if(!r.has(m)){r.add(m);var p=m.getNamePath();m.isFieldDirty()&&p.length&&(a.push(p),l(p))}})};return s(o),a}),R(this,"triggerOnFieldsChange",function(o,r){var a=n.callbacks.onFieldsChange;if(a){var i=n.getFields();if(r){var s=new Gt;r.forEach(function(c){var d=c.name,m=c.errors;s.set(d,m)}),i.forEach(function(c){c.errors=s.get(c.name)||c.errors})}var l=i.filter(function(c){var d=c.name;return Qt(o,d)});l.length&&a(l,i)}}),R(this,"validateFields",function(o,r){n.warningUnhooked();var a,i;Array.isArray(o)||typeof o=="string"||typeof r=="string"?(a=o,i=r):i=o;var s=!!a,l=s?a.map(ve):[],c=[],d=String(Date.now()),m=new Set,p=i||{},g=p.recursive,h=p.dirty;n.getFieldEntities(!0).forEach(function(b){if(s||l.push(b.getNamePath()),!(!b.props.rules||!b.props.rules.length)&&!(h&&!b.isFieldDirty())){var S=b.getNamePath();if(m.add(S.join(d)),!s||Qt(l,S,g)){var C=b.validateRules(O({validateMessages:O(O({},_u),n.validateMessages)},i));c.push(C.then(function(){return{name:S,errors:[],warnings:[]}}).catch(function(w){var x,k=[],E=[];return(x=w.forEach)===null||x===void 0||x.call(w,function(T){var P=T.rule.warningOnly,M=T.errors;P?E.push.apply(E,j(M)):k.push.apply(k,j(M))}),k.length?Promise.reject({name:S,errors:k,warnings:E}):{name:S,errors:k,warnings:E}}))}}});var v=qw(c);n.lastValidatePromise=v,v.catch(function(b){return b}).then(function(b){var S=b.map(function(C){var w=C.name;return w});n.notifyObservers(n.store,S,{type:"validateFinish"}),n.triggerOnFieldsChange(S,b)});var f=v.then(function(){return n.lastValidatePromise===v?Promise.resolve(n.getFieldsValue(l)):Promise.reject([])}).catch(function(b){var S=b.filter(function(C){return C&&C.errors.length});return Promise.reject({values:n.getFieldsValue(l),errorFields:S,outOfDate:n.lastValidatePromise!==v})});f.catch(function(b){return b});var y=l.filter(function(b){return m.has(b.join(d))});return n.triggerOnFieldsChange(y),f}),R(this,"submit",function(){n.warningUnhooked(),n.validateFields().then(function(o){var r=n.callbacks.onFinish;if(r)try{r(o)}catch(a){console.error(a)}}).catch(function(o){var r=n.callbacks.onFinishFailed;r&&r(o)})}),this.forceRootUpdate=t});function Bu(e){var t=u.useRef(),n=u.useState({}),o=B(n,2),r=o[1];if(!t.current)if(e)t.current=e;else{var a=function(){r({})},i=new Kw(a);t.current=i.getForm()}return[t.current]}var xi=u.createContext({triggerFormChange:function(){},triggerFormFinish:function(){},registerForm:function(){},unregisterForm:function(){}}),ju=function(t){var n=t.validateMessages,o=t.onFormChange,r=t.onFormFinish,a=t.children,i=u.useContext(xi),s=u.useRef({});return u.createElement(xi.Provider,{value:O(O({},i),{},{validateMessages:O(O({},i.validateMessages),n),triggerFormChange:function(c,d){o&&o(c,{changedFields:d,forms:s.current}),i.triggerFormChange(c,d)},triggerFormFinish:function(c,d){r&&r(c,{values:d,forms:s.current}),i.triggerFormFinish(c,d)},registerForm:function(c,d){c&&(s.current=O(O({},s.current),{},R({},c,d))),i.registerForm(c,d)},unregisterForm:function(c){var d=O({},s.current);delete d[c],s.current=d,i.unregisterForm(c)}})},a)},Yw=["name","initialValues","fields","form","preserve","children","component","validateMessages","validateTrigger","onValuesChange","onFieldsChange","onFinish","onFinishFailed","clearOnDestroy"],Xw=function(t,n){var o=t.name,r=t.initialValues,a=t.fields,i=t.form,s=t.preserve,l=t.children,c=t.component,d=c===void 0?"form":c,m=t.validateMessages,p=t.validateTrigger,g=p===void 0?"onChange":p,h=t.onValuesChange,v=t.onFieldsChange,f=t.onFinish,y=t.onFinishFailed,b=t.clearOnDestroy,S=Je(t,Yw),C=u.useRef(null),w=u.useContext(xi),x=Bu(i),k=B(x,1),E=k[0],T=E.getInternalHooks(Lt),P=T.useSubscribe,M=T.setInitialValues,F=T.setCallbacks,D=T.setValidateMessages,A=T.setPreserve,_=T.destroyForm;u.useImperativeHandle(n,function(){return O(O({},E),{},{nativeElement:C.current})}),u.useEffect(function(){return w.registerForm(o,E),function(){w.unregisterForm(o)}},[w,E,o]),D(O(O({},w.validateMessages),m)),F({onValuesChange:h,onFieldsChange:function(q){if(w.triggerFormChange(o,q),v){for(var U=arguments.length,V=new Array(U>1?U-1:0),ne=1;ne<U;ne++)V[ne-1]=arguments[ne];v.apply(void 0,[q].concat(V))}},onFinish:function(q){w.triggerFormFinish(o,q),f&&f(q)},onFinishFailed:y}),A(s);var N=u.useRef(null);M(r,!N.current),N.current||(N.current=!0),u.useEffect(function(){return function(){return _(b)}},[]);var $,K=typeof l=="function";if(K){var Y=E.getFieldsValue(!0);$=l(Y,E)}else $=l;P(!K);var ee=u.useRef();u.useEffect(function(){Hw(ee.current||[],a||[])||E.setFields(a||[]),ee.current=a},[a,E]);var J=u.useMemo(function(){return O(O({},E),{},{validateTrigger:g})},[E,g]),G=u.createElement(Bo.Provider,{value:null},u.createElement(dn.Provider,{value:J},$));return d===!1?G:u.createElement(d,le({},S,{ref:C,onSubmit:function(q){q.preventDefault(),q.stopPropagation(),E.submit()},onReset:function(q){var U;q.preventDefault(),E.resetFields(),(U=S.onReset)===null||U===void 0||U.call(S,q)}}),G)};function lc(e){try{return JSON.stringify(e)}catch{return Math.random()}}function Jw(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var o=t[0],r=t[1],a=r===void 0?{}:r,i=iw(a)?{form:a}:a,s=i.form,l=u.useState(),c=B(l,2),d=c[0],m=c[1],p=u.useMemo(function(){return lc(d)},[d]),g=u.useRef(p);g.current=p;var h=u.useContext(dn),v=s||h,f=v&&v._init,y=ve(o),b=u.useRef(y);return b.current=y,u.useEffect(function(){if(f){var S=v.getFieldsValue,C=v.getInternalHooks,w=C(Lt),x=w.registerWatch,k=function(M,F){var D=i.preserve?F:M;return typeof o=="function"?o(D):ut(D,b.current)},E=x(function(P,M){var F=k(P,M),D=lc(F);g.current!==D&&(g.current=D,m(F))}),T=k(S(),S(!0));return d!==T&&m(T),E}},[f]),d}var Qw=u.forwardRef(Xw),Yn=Qw;Yn.FormProvider=ju;Yn.Field=Nu;Yn.List=zw;Yn.useForm=Bu;Yn.useWatch=Jw;const WP=u.createContext({labelAlign:"right",layout:"horizontal",itemRef:()=>{}}),HP=u.createContext(null),UP=e=>{const t=qn(e,["prefixCls"]);return u.createElement(ju,Object.assign({},t))},VP=u.createContext({prefixCls:""}),cc=u.createContext({}),Zw=({children:e,status:t,override:n})=>{const o=u.useContext(cc),r=u.useMemo(()=>{const a=Object.assign({},o);return n&&delete a.isFormItemInput,t&&(delete a.status,delete a.hasFeedback,delete a.feedbackIcon),a},[t,n,o]);return u.createElement(cc.Provider,{value:r},e)},zP=u.createContext(void 0),eC=e=>{const{space:t,form:n,children:o}=e;if(o==null)return null;let r=o;return n&&(r=I.createElement(Zw,{override:!0,status:!0},r)),t&&(r=I.createElement(_y,null,r)),r},tC=()=>Be()&&window.document.documentElement,vr=e=>{const{prefixCls:t,className:n,style:o,size:r,shape:a}=e,i=W({[`${t}-lg`]:r==="large",[`${t}-sm`]:r==="small"}),s=W({[`${t}-circle`]:a==="circle",[`${t}-square`]:a==="square",[`${t}-round`]:a==="round"}),l=u.useMemo(()=>typeof r=="number"?{width:r,height:r,lineHeight:`${r}px`}:{},[r]);return u.createElement("span",{className:W(t,i,s,n),style:Object.assign(Object.assign({},l),o)})},nC=new ge("ant-skeleton-loading",{"0%":{backgroundPosition:"100% 50%"},"100%":{backgroundPosition:"0 50%"}}),br=e=>({height:e,lineHeight:Z(e)}),Zt=e=>Object.assign({width:e},br(e)),oC=e=>({background:e.skeletonLoadingBackground,backgroundSize:"400% 100%",animationName:nC,animationDuration:e.skeletonLoadingMotionDuration,animationTimingFunction:"ease",animationIterationCount:"infinite"}),wa=(e,t)=>Object.assign({width:t(e).mul(5).equal(),minWidth:t(e).mul(5).equal()},br(e)),rC=e=>{const{skeletonAvatarCls:t,gradientFromColor:n,controlHeight:o,controlHeightLG:r,controlHeightSM:a}=e;return{[t]:Object.assign({display:"inline-block",verticalAlign:"top",background:n},Zt(o)),[`${t}${t}-circle`]:{borderRadius:"50%"},[`${t}${t}-lg`]:Object.assign({},Zt(r)),[`${t}${t}-sm`]:Object.assign({},Zt(a))}},aC=e=>{const{controlHeight:t,borderRadiusSM:n,skeletonInputCls:o,controlHeightLG:r,controlHeightSM:a,gradientFromColor:i,calc:s}=e;return{[o]:Object.assign({display:"inline-block",verticalAlign:"top",background:i,borderRadius:n},wa(t,s)),[`${o}-lg`]:Object.assign({},wa(r,s)),[`${o}-sm`]:Object.assign({},wa(a,s))}},dc=e=>Object.assign({width:e},br(e)),iC=e=>{const{skeletonImageCls:t,imageSizeBase:n,gradientFromColor:o,borderRadiusSM:r,calc:a}=e;return{[t]:Object.assign(Object.assign({display:"inline-flex",alignItems:"center",justifyContent:"center",verticalAlign:"middle",background:o,borderRadius:r},dc(a(n).mul(2).equal())),{[`${t}-path`]:{fill:"#bfbfbf"},[`${t}-svg`]:Object.assign(Object.assign({},dc(n)),{maxWidth:a(n).mul(4).equal(),maxHeight:a(n).mul(4).equal()}),[`${t}-svg${t}-svg-circle`]:{borderRadius:"50%"}}),[`${t}${t}-circle`]:{borderRadius:"50%"}}},Ca=(e,t,n)=>{const{skeletonButtonCls:o}=e;return{[`${n}${o}-circle`]:{width:t,minWidth:t,borderRadius:"50%"},[`${n}${o}-round`]:{borderRadius:t}}},ka=(e,t)=>Object.assign({width:t(e).mul(2).equal(),minWidth:t(e).mul(2).equal()},br(e)),sC=e=>{const{borderRadiusSM:t,skeletonButtonCls:n,controlHeight:o,controlHeightLG:r,controlHeightSM:a,gradientFromColor:i,calc:s}=e;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({[n]:Object.assign({display:"inline-block",verticalAlign:"top",background:i,borderRadius:t,width:s(o).mul(2).equal(),minWidth:s(o).mul(2).equal()},ka(o,s))},Ca(e,o,n)),{[`${n}-lg`]:Object.assign({},ka(r,s))}),Ca(e,r,`${n}-lg`)),{[`${n}-sm`]:Object.assign({},ka(a,s))}),Ca(e,a,`${n}-sm`))},lC=e=>{const{componentCls:t,skeletonAvatarCls:n,skeletonTitleCls:o,skeletonParagraphCls:r,skeletonButtonCls:a,skeletonInputCls:i,skeletonImageCls:s,controlHeight:l,controlHeightLG:c,controlHeightSM:d,gradientFromColor:m,padding:p,marginSM:g,borderRadius:h,titleHeight:v,blockRadius:f,paragraphLiHeight:y,controlHeightXS:b,paragraphMarginTop:S}=e;return{[t]:{display:"table",width:"100%",[`${t}-header`]:{display:"table-cell",paddingInlineEnd:p,verticalAlign:"top",[n]:Object.assign({display:"inline-block",verticalAlign:"top",background:m},Zt(l)),[`${n}-circle`]:{borderRadius:"50%"},[`${n}-lg`]:Object.assign({},Zt(c)),[`${n}-sm`]:Object.assign({},Zt(d))},[`${t}-content`]:{display:"table-cell",width:"100%",verticalAlign:"top",[o]:{width:"100%",height:v,background:m,borderRadius:f,[`+ ${r}`]:{marginBlockStart:d}},[r]:{padding:0,"> li":{width:"100%",height:y,listStyle:"none",background:m,borderRadius:f,"+ li":{marginBlockStart:b}}},[`${r}> li:last-child:not(:first-child):not(:nth-child(2))`]:{width:"61%"}},[`&-round ${t}-content`]:{[`${o}, ${r} > li`]:{borderRadius:h}}},[`${t}-with-avatar ${t}-content`]:{[o]:{marginBlockStart:g,[`+ ${r}`]:{marginBlockStart:S}}},[`${t}${t}-element`]:Object.assign(Object.assign(Object.assign(Object.assign({display:"inline-block",width:"auto"},sC(e)),rC(e)),aC(e)),iC(e)),[`${t}${t}-block`]:{width:"100%",[a]:{width:"100%"},[i]:{width:"100%"}},[`${t}${t}-active`]:{[`
684
+ ${o},
685
+ ${r} > li,
686
+ ${n},
687
+ ${a},
688
+ ${i},
689
+ ${s}
690
+ `]:Object.assign({},oC(e))}}},cC=e=>{const{colorFillContent:t,colorFill:n}=e,o=t,r=n;return{color:o,colorGradientEnd:r,gradientFromColor:o,gradientToColor:r,titleHeight:e.controlHeight/2,blockRadius:e.borderRadiusSM,paragraphMarginTop:e.marginLG+e.marginXXS,paragraphLiHeight:e.controlHeight/2}},gn=yt("Skeleton",e=>{const{componentCls:t,calc:n}=e,o=at(e,{skeletonAvatarCls:`${t}-avatar`,skeletonTitleCls:`${t}-title`,skeletonParagraphCls:`${t}-paragraph`,skeletonButtonCls:`${t}-button`,skeletonInputCls:`${t}-input`,skeletonImageCls:`${t}-image`,imageSizeBase:n(e.controlHeight).mul(1.5).equal(),borderRadius:100,skeletonLoadingBackground:`linear-gradient(90deg, ${e.gradientFromColor} 25%, ${e.gradientToColor} 37%, ${e.gradientFromColor} 63%)`,skeletonLoadingMotionDuration:"1.4s"});return lC(o)},cC,{deprecatedTokens:[["color","gradientFromColor"],["colorGradientEnd","gradientToColor"]]}),dC=e=>{const{prefixCls:t,className:n,rootClassName:o,active:r,shape:a="circle",size:i="default"}=e,{getPrefixCls:s}=u.useContext(de),l=s("skeleton",t),[c,d,m]=gn(l),p=qn(e,["prefixCls","className"]),g=W(l,`${l}-element`,{[`${l}-active`]:r},n,o,d,m);return c(u.createElement("div",{className:g},u.createElement(vr,Object.assign({prefixCls:`${l}-avatar`,shape:a,size:i},p))))},uC=e=>{const{prefixCls:t,className:n,rootClassName:o,active:r,block:a=!1,size:i="default"}=e,{getPrefixCls:s}=u.useContext(de),l=s("skeleton",t),[c,d,m]=gn(l),p=qn(e,["prefixCls"]),g=W(l,`${l}-element`,{[`${l}-active`]:r,[`${l}-block`]:a},n,o,d,m);return c(u.createElement("div",{className:g},u.createElement(vr,Object.assign({prefixCls:`${l}-button`,size:i},p))))},mC="M365.714286 329.142857q0 45.714286-32.036571 77.677714t-77.677714 32.036571-77.677714-32.036571-32.036571-77.677714 32.036571-77.677714 77.677714-32.036571 77.677714 32.036571 32.036571 77.677714zM950.857143 548.571429l0 256-804.571429 0 0-109.714286 182.857143-182.857143 91.428571 91.428571 292.571429-292.571429zM1005.714286 146.285714l-914.285714 0q-7.460571 0-12.873143 5.412571t-5.412571 12.873143l0 694.857143q0 7.460571 5.412571 12.873143t12.873143 5.412571l914.285714 0q7.460571 0 12.873143-5.412571t5.412571-12.873143l0-694.857143q0-7.460571-5.412571-12.873143t-12.873143-5.412571zM1097.142857 164.571429l0 694.857143q0 37.741714-26.843429 64.585143t-64.585143 26.843429l-914.285714 0q-37.741714 0-64.585143-26.843429t-26.843429-64.585143l0-694.857143q0-37.741714 26.843429-64.585143t64.585143-26.843429l914.285714 0q37.741714 0 64.585143 26.843429t26.843429 64.585143z",pC=e=>{const{prefixCls:t,className:n,rootClassName:o,style:r,active:a}=e,{getPrefixCls:i}=u.useContext(de),s=i("skeleton",t),[l,c,d]=gn(s),m=W(s,`${s}-element`,{[`${s}-active`]:a},n,o,c,d);return l(u.createElement("div",{className:m},u.createElement("div",{className:W(`${s}-image`,n),style:r},u.createElement("svg",{viewBox:"0 0 1098 1024",xmlns:"http://www.w3.org/2000/svg",className:`${s}-image-svg`},u.createElement("title",null,"Image placeholder"),u.createElement("path",{d:mC,className:`${s}-image-path`})))))},fC=e=>{const{prefixCls:t,className:n,rootClassName:o,active:r,block:a,size:i="default"}=e,{getPrefixCls:s}=u.useContext(de),l=s("skeleton",t),[c,d,m]=gn(l),p=qn(e,["prefixCls"]),g=W(l,`${l}-element`,{[`${l}-active`]:r,[`${l}-block`]:a},n,o,d,m);return c(u.createElement("div",{className:g},u.createElement(vr,Object.assign({prefixCls:`${l}-input`,size:i},p))))},gC=e=>{const{prefixCls:t,className:n,rootClassName:o,style:r,active:a,children:i}=e,{getPrefixCls:s}=u.useContext(de),l=s("skeleton",t),[c,d,m]=gn(l),p=W(l,`${l}-element`,{[`${l}-active`]:a},d,n,o,m);return c(u.createElement("div",{className:p},u.createElement("div",{className:W(`${l}-image`,n),style:r},i)))},hC=(e,t)=>{const{width:n,rows:o=2}=t;if(Array.isArray(n))return n[e];if(o-1===e)return n},vC=e=>{const{prefixCls:t,className:n,style:o,rows:r=0}=e,a=Array.from({length:r}).map((i,s)=>u.createElement("li",{key:s,style:{width:hC(s,e)}}));return u.createElement("ul",{className:W(t,n),style:o},a)},bC=({prefixCls:e,className:t,width:n,style:o})=>u.createElement("h3",{className:W(e,t),style:Object.assign({width:n},o)});function xa(e){return e&&typeof e=="object"?e:{}}function yC(e,t){return e&&!t?{size:"large",shape:"square"}:{size:"large",shape:"circle"}}function SC(e,t){return!e&&t?{width:"38%"}:e&&t?{width:"50%"}:{}}function wC(e,t){const n={};return(!e||!t)&&(n.width="61%"),!e&&t?n.rows=3:n.rows=2,n}const hn=e=>{const{prefixCls:t,loading:n,className:o,rootClassName:r,style:a,children:i,avatar:s=!1,title:l=!0,paragraph:c=!0,active:d,round:m}=e,{getPrefixCls:p,direction:g,className:h,style:v}=Dd("skeleton"),f=p("skeleton",t),[y,b,S]=gn(f);if(n||!("loading"in e)){const C=!!s,w=!!l,x=!!c;let k;if(C){const P=Object.assign(Object.assign({prefixCls:`${f}-avatar`},yC(w,x)),xa(s));k=u.createElement("div",{className:`${f}-header`},u.createElement(vr,Object.assign({},P)))}let E;if(w||x){let P;if(w){const F=Object.assign(Object.assign({prefixCls:`${f}-title`},SC(C,x)),xa(l));P=u.createElement(bC,Object.assign({},F))}let M;if(x){const F=Object.assign(Object.assign({prefixCls:`${f}-paragraph`},wC(C,w)),xa(c));M=u.createElement(vC,Object.assign({},F))}E=u.createElement("div",{className:`${f}-content`},P,M)}const T=W(f,{[`${f}-with-avatar`]:C,[`${f}-active`]:d,[`${f}-rtl`]:g==="rtl",[`${f}-round`]:m},h,o,r,b,S);return y(u.createElement("div",{className:T,style:Object.assign(Object.assign({},v),a)},k,E))}return i??null};hn.Button=uC;hn.Avatar=dC;hn.Input=fC;hn.Image=pC;hn.Node=gC;function uc(){}const CC=u.createContext({add:uc,remove:uc});function kC(e){const t=u.useContext(CC),n=u.useRef(null);return cn(r=>{if(r){const a=e?r.querySelector(e):r;a&&(t.add(a),n.current=a)}else t.remove(n.current)})}const mc=()=>{const{cancelButtonProps:e,cancelTextLocale:t,onCancel:n}=u.useContext(Gn);return I.createElement(fn,Object.assign({onClick:n},e),t)},pc=()=>{const{confirmLoading:e,okButtonProps:t,okType:n,okTextLocale:o,onOk:r}=u.useContext(Gn);return I.createElement(fn,Object.assign({},wu(n),{loading:e,onClick:r},t),o)};function xC(e,t){return I.createElement("span",{className:`${e}-close-x`},t||I.createElement(Vn,{className:`${e}-close-icon`}))}const PC=e=>{const{okText:t,okType:n="primary",cancelText:o,confirmLoading:r,onOk:a,onCancel:i,okButtonProps:s,cancelButtonProps:l,footer:c}=e,[d]=rr("Modal",xd()),m=t||(d==null?void 0:d.okText),p=o||(d==null?void 0:d.cancelText),g=I.useMemo(()=>({confirmLoading:r,okButtonProps:s,cancelButtonProps:l,okTextLocale:m,cancelTextLocale:p,okType:n,onOk:a,onCancel:i}),[r,s,l,m,p,n,a,i]);let h;return typeof c=="function"||typeof c>"u"?(h=I.createElement(I.Fragment,null,I.createElement(mc,null),I.createElement(pc,null)),typeof c=="function"&&(h=c(h,{OkBtn:pc,CancelBtn:mc})),h=I.createElement(Ru,{value:g},h)):h=c,I.createElement(Md,{disabled:!1},h)},TC=e=>{const{componentCls:t}=e;return{[t]:{display:"flex",flexFlow:"row wrap",minWidth:0,"&::before, &::after":{display:"flex"},"&-no-wrap":{flexWrap:"nowrap"},"&-start":{justifyContent:"flex-start"},"&-center":{justifyContent:"center"},"&-end":{justifyContent:"flex-end"},"&-space-between":{justifyContent:"space-between"},"&-space-around":{justifyContent:"space-around"},"&-space-evenly":{justifyContent:"space-evenly"},"&-top":{alignItems:"flex-start"},"&-middle":{alignItems:"center"},"&-bottom":{alignItems:"flex-end"}}}},EC=e=>{const{componentCls:t}=e;return{[t]:{position:"relative",maxWidth:"100%",minHeight:1}}},RC=(e,t)=>{const{prefixCls:n,componentCls:o,gridColumns:r}=e,a={};for(let i=r;i>=0;i--)i===0?(a[`${o}${t}-${i}`]={display:"none"},a[`${o}-push-${i}`]={insetInlineStart:"auto"},a[`${o}-pull-${i}`]={insetInlineEnd:"auto"},a[`${o}${t}-push-${i}`]={insetInlineStart:"auto"},a[`${o}${t}-pull-${i}`]={insetInlineEnd:"auto"},a[`${o}${t}-offset-${i}`]={marginInlineStart:0},a[`${o}${t}-order-${i}`]={order:0}):(a[`${o}${t}-${i}`]=[{"--ant-display":"block",display:"block"},{display:"var(--ant-display)",flex:`0 0 ${i/r*100}%`,maxWidth:`${i/r*100}%`}],a[`${o}${t}-push-${i}`]={insetInlineStart:`${i/r*100}%`},a[`${o}${t}-pull-${i}`]={insetInlineEnd:`${i/r*100}%`},a[`${o}${t}-offset-${i}`]={marginInlineStart:`${i/r*100}%`},a[`${o}${t}-order-${i}`]={order:i});return a[`${o}${t}-flex`]={flex:`var(--${n}${t}-flex)`},a},Pi=(e,t)=>RC(e,t),AC=(e,t,n)=>({[`@media (min-width: ${Z(t)})`]:Object.assign({},Pi(e,n))}),DC=()=>({}),MC=()=>({}),qP=yt("Grid",TC,DC),Wu=e=>({xs:e.screenXSMin,sm:e.screenSMMin,md:e.screenMDMin,lg:e.screenLGMin,xl:e.screenXLMin,xxl:e.screenXXLMin}),GP=yt("Grid",e=>{const t=at(e,{gridColumns:24}),n=Wu(t);return delete n.xs,[EC(t),Pi(t,""),Pi(t,"-xs"),Object.keys(n).map(o=>AC(t,n[o],`-${o}`)).reduce((o,r)=>Object.assign(Object.assign({},o),r),{})]},MC);function fc(e){return{position:e,inset:0}}const OC=e=>{const{componentCls:t,antCls:n}=e;return[{[`${t}-root`]:{[`${t}${n}-zoom-enter, ${t}${n}-zoom-appear`]:{transform:"none",opacity:0,animationDuration:e.motionDurationSlow,userSelect:"none"},[`${t}${n}-zoom-leave ${t}-content`]:{pointerEvents:"none"},[`${t}-mask`]:Object.assign(Object.assign({},fc("fixed")),{zIndex:e.zIndexPopupBase,height:"100%",backgroundColor:e.colorBgMask,pointerEvents:"none",[`${t}-hidden`]:{display:"none"}}),[`${t}-wrap`]:Object.assign(Object.assign({},fc("fixed")),{zIndex:e.zIndexPopupBase,overflow:"auto",outline:0,WebkitOverflowScrolling:"touch"})}},{[`${t}-root`]:eS(e)}]},FC=e=>{const{componentCls:t}=e;return[{[`${t}-root`]:{[`${t}-wrap-rtl`]:{direction:"rtl"},[`${t}-centered`]:{textAlign:"center","&::before":{display:"inline-block",width:0,height:"100%",verticalAlign:"middle",content:'""'},[t]:{top:0,display:"inline-block",paddingBottom:0,textAlign:"start",verticalAlign:"middle"}},[`@media (max-width: ${e.screenSMMax}px)`]:{[t]:{maxWidth:"calc(100vw - 16px)",margin:`${Z(e.marginXS)} auto`},[`${t}-centered`]:{[t]:{flex:1}}}}},{[t]:Object.assign(Object.assign({},ts(e)),{pointerEvents:"none",position:"relative",top:100,width:"auto",maxWidth:`calc(100vw - ${Z(e.calc(e.margin).mul(2).equal())})`,margin:"0 auto",paddingBottom:e.paddingLG,[`${t}-title`]:{margin:0,color:e.titleColor,fontWeight:e.fontWeightStrong,fontSize:e.titleFontSize,lineHeight:e.titleLineHeight,wordWrap:"break-word"},[`${t}-content`]:{position:"relative",backgroundColor:e.contentBg,backgroundClip:"padding-box",border:0,borderRadius:e.borderRadiusLG,boxShadow:e.boxShadow,pointerEvents:"auto",padding:e.contentPadding},[`${t}-close`]:Object.assign({position:"absolute",top:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),insetInlineEnd:e.calc(e.modalHeaderHeight).sub(e.modalCloseBtnSize).div(2).equal(),zIndex:e.calc(e.zIndexPopupBase).add(10).equal(),padding:0,color:e.modalCloseIconColor,fontWeight:e.fontWeightStrong,lineHeight:1,textDecoration:"none",background:"transparent",borderRadius:e.borderRadiusSM,width:e.modalCloseBtnSize,height:e.modalCloseBtnSize,border:0,outline:0,cursor:"pointer",transition:`color ${e.motionDurationMid}, background-color ${e.motionDurationMid}`,"&-x":{display:"flex",fontSize:e.fontSizeLG,fontStyle:"normal",lineHeight:Z(e.modalCloseBtnSize),justifyContent:"center",textTransform:"none",textRendering:"auto"},"&:disabled":{pointerEvents:"none"},"&:hover":{color:e.modalCloseIconHoverColor,backgroundColor:e.colorBgTextHover,textDecoration:"none"},"&:active":{backgroundColor:e.colorBgTextActive}},ir(e)),[`${t}-header`]:{color:e.colorText,background:e.headerBg,borderRadius:`${Z(e.borderRadiusLG)} ${Z(e.borderRadiusLG)} 0 0`,marginBottom:e.headerMarginBottom,padding:e.headerPadding,borderBottom:e.headerBorderBottom},[`${t}-body`]:{fontSize:e.fontSize,lineHeight:e.lineHeight,wordWrap:"break-word",padding:e.bodyPadding,[`${t}-body-skeleton`]:{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center",margin:`${Z(e.margin)} auto`}},[`${t}-footer`]:{textAlign:"end",background:e.footerBg,marginTop:e.footerMarginTop,padding:e.footerPadding,borderTop:e.footerBorderTop,borderRadius:e.footerBorderRadius,[`> ${e.antCls}-btn + ${e.antCls}-btn`]:{marginInlineStart:e.marginXS}},[`${t}-open`]:{overflow:"hidden"}})},{[`${t}-pure-panel`]:{top:"auto",padding:0,display:"flex",flexDirection:"column",[`${t}-content,
691
+ ${t}-body,
692
+ ${t}-confirm-body-wrapper`]:{display:"flex",flexDirection:"column",flex:"auto"},[`${t}-confirm-body`]:{marginBottom:"auto"}}}]},IC=e=>{const{componentCls:t}=e;return{[`${t}-root`]:{[`${t}-wrap-rtl`]:{direction:"rtl",[`${t}-confirm-body`]:{direction:"rtl"}}}}},_C=e=>{const{componentCls:t}=e,n=Wu(e),o=Object.assign({},n);delete o.xs;const r=`--${t.replace(".","")}-`,a=Object.keys(o).map(i=>({[`@media (min-width: ${Z(o[i])})`]:{width:`var(${r}${i}-width)`}}));return{[`${t}-root`]:{[t]:[].concat(j(Object.keys(n).map((i,s)=>{const l=Object.keys(n)[s-1];return l?{[`${r}${i}-width`]:`var(${r}${l}-width)`}:null})),[{width:`var(${r}xs-width)`}],j(a))}}},Hu=e=>{const t=e.padding,n=e.fontSizeHeading5,o=e.lineHeightHeading5;return at(e,{modalHeaderHeight:e.calc(e.calc(o).mul(n).equal()).add(e.calc(t).mul(2).equal()).equal(),modalFooterBorderColorSplit:e.colorSplit,modalFooterBorderStyle:e.lineType,modalFooterBorderWidth:e.lineWidth,modalCloseIconColor:e.colorIcon,modalCloseIconHoverColor:e.colorIconHover,modalCloseBtnSize:e.controlHeight,modalConfirmIconSize:e.fontHeight,modalTitleHeight:e.calc(e.titleFontSize).mul(e.titleLineHeight).equal()})},Uu=e=>({footerBg:"transparent",headerBg:e.colorBgElevated,titleLineHeight:e.lineHeightHeading5,titleFontSize:e.fontSizeHeading5,contentBg:e.colorBgElevated,titleColor:e.colorTextHeading,contentPadding:e.wireframe?0:`${Z(e.paddingMD)} ${Z(e.paddingContentHorizontalLG)}`,headerPadding:e.wireframe?`${Z(e.padding)} ${Z(e.paddingLG)}`:0,headerBorderBottom:e.wireframe?`${Z(e.lineWidth)} ${e.lineType} ${e.colorSplit}`:"none",headerMarginBottom:e.wireframe?0:e.marginXS,bodyPadding:e.wireframe?e.paddingLG:0,footerPadding:e.wireframe?`${Z(e.paddingXS)} ${Z(e.padding)}`:0,footerBorderTop:e.wireframe?`${Z(e.lineWidth)} ${e.lineType} ${e.colorSplit}`:"none",footerBorderRadius:e.wireframe?`0 0 ${Z(e.borderRadiusLG)} ${Z(e.borderRadiusLG)}`:0,footerMarginTop:e.wireframe?0:e.marginSM,confirmBodyPadding:e.wireframe?`${Z(e.padding*2)} ${Z(e.padding*2)} ${Z(e.paddingLG)}`:0,confirmIconMarginInlineEnd:e.wireframe?e.margin:e.marginSM,confirmBtnsMarginTop:e.wireframe?e.marginLG:e.marginSM}),LC=yt("Modal",e=>{const t=Hu(e);return[FC(t),IC(t),OC(t),mS(t,"zoom"),_C(t)]},Uu,{unitless:{titleLineHeight:!0}});var NC=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};let Ti;const $C=e=>{Ti={x:e.pageX,y:e.pageY},setTimeout(()=>{Ti=null},100)};tC()&&document.documentElement.addEventListener("click",$C,!0);const BC=e=>{const{prefixCls:t,className:n,rootClassName:o,open:r,wrapClassName:a,centered:i,getContainer:s,focusTriggerAfterClose:l=!0,style:c,visible:d,width:m=520,footer:p,classNames:g,styles:h,children:v,loading:f,confirmLoading:y,zIndex:b,mousePosition:S,onOk:C,onCancel:w,destroyOnHidden:x,destroyOnClose:k,panelRef:E=null,modalRender:T}=e,P=NC(e,["prefixCls","className","rootClassName","open","wrapClassName","centered","getContainer","focusTriggerAfterClose","style","visible","width","footer","classNames","styles","children","loading","confirmLoading","zIndex","mousePosition","onOk","onCancel","destroyOnHidden","destroyOnClose","panelRef","modalRender"]),{getPopupContainer:M,getPrefixCls:F,direction:D,modal:A}=u.useContext(de),_=se=>{y||w==null||w(se)},N=se=>{C==null||C(se)},$=F("modal",t),K=F(),Y=lr($),[ee,J,G]=LC($,Y),te=W(a,{[`${$}-centered`]:i??(A==null?void 0:A.centered),[`${$}-wrap-rtl`]:D==="rtl"}),q=p!==null&&!f?u.createElement(PC,Object.assign({},e,{onOk:N,onCancel:_})):null,[U,V,ne,Te]=Ub(Ol(e),Ol(A),{closable:!0,closeIcon:u.createElement(Vn,{className:`${$}-close-icon`}),closeIconRender:se=>xC($,se)}),he=T?se=>u.createElement("div",{className:`${$}-render`},T(se)):void 0,be=`.${$}-${T?"render":"content"}`,ye=kC(be),Se=Qo(E,ye),[fe,ue]=Kb("Modal",b),[oe,ie]=u.useMemo(()=>m&&typeof m=="object"?[void 0,m]:[m,void 0],[m]),Ke=u.useMemo(()=>{const se={};return ie&&Object.keys(ie).forEach(Ne=>{const Re=ie[Ne];Re!==void 0&&(se[`--${$}-${Ne}-width`]=typeof Re=="number"?`${Re}px`:Re)}),se},[$,ie]);return ee(u.createElement(eC,{form:!0,space:!0},u.createElement(du.Provider,{value:ue},u.createElement(Fu,Object.assign({width:oe},P,{zIndex:fe,getContainer:s===void 0?M:s,prefixCls:$,rootClassName:W(J,o,G,Y),footer:q,visible:r??d,mousePosition:S??Ti,onClose:_,closable:U&&Object.assign({disabled:ne,closeIcon:V},Te),closeIcon:V,focusTriggerAfterClose:l,transitionName:$o(K,"zoom",e.transitionName),maskTransitionName:$o(K,"fade",e.maskTransitionName),className:W(J,n,A==null?void 0:A.className),style:Object.assign(Object.assign(Object.assign({},A==null?void 0:A.style),c),Ke),classNames:Object.assign(Object.assign(Object.assign({},A==null?void 0:A.classNames),g),{wrapper:W(te,g==null?void 0:g.wrapper)}),styles:Object.assign(Object.assign({},A==null?void 0:A.styles),h),panelRef:Se,destroyOnClose:x??k,modalRender:he}),f?u.createElement(hn,{active:!0,title:!1,paragraph:{rows:4},className:`${$}-body-skeleton`}):v))))},jC=e=>{const{componentCls:t,titleFontSize:n,titleLineHeight:o,modalConfirmIconSize:r,fontSize:a,lineHeight:i,modalTitleHeight:s,fontHeight:l,confirmBodyPadding:c}=e,d=`${t}-confirm`;return{[d]:{"&-rtl":{direction:"rtl"},[`${e.antCls}-modal-header`]:{display:"none"},[`${d}-body-wrapper`]:Object.assign({},bv()),[`&${t} ${t}-body`]:{padding:c},[`${d}-body`]:{display:"flex",flexWrap:"nowrap",alignItems:"start",[`> ${e.iconCls}`]:{flex:"none",fontSize:r,marginInlineEnd:e.confirmIconMarginInlineEnd,marginTop:e.calc(e.calc(l).sub(r).equal()).div(2).equal()},[`&-has-title > ${e.iconCls}`]:{marginTop:e.calc(e.calc(s).sub(r).equal()).div(2).equal()}},[`${d}-paragraph`]:{display:"flex",flexDirection:"column",flex:"auto",rowGap:e.marginXS,maxWidth:`calc(100% - ${Z(e.marginSM)})`},[`${e.iconCls} + ${d}-paragraph`]:{maxWidth:`calc(100% - ${Z(e.calc(e.modalConfirmIconSize).add(e.marginSM).equal())})`},[`${d}-title`]:{color:e.colorTextHeading,fontWeight:e.fontWeightStrong,fontSize:n,lineHeight:o},[`${d}-content`]:{color:e.colorText,fontSize:a,lineHeight:i},[`${d}-btns`]:{textAlign:"end",marginTop:e.confirmBtnsMarginTop,[`${e.antCls}-btn + ${e.antCls}-btn`]:{marginBottom:0,marginInlineStart:e.marginXS}}},[`${d}-error ${d}-body > ${e.iconCls}`]:{color:e.colorError},[`${d}-warning ${d}-body > ${e.iconCls},
693
+ ${d}-confirm ${d}-body > ${e.iconCls}`]:{color:e.colorWarning},[`${d}-info ${d}-body > ${e.iconCls}`]:{color:e.colorInfo},[`${d}-success ${d}-body > ${e.iconCls}`]:{color:e.colorSuccess}}},WC=jd(["Modal","confirm"],e=>{const t=Hu(e);return jC(t)},Uu,{order:-1e3});var HC=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};const UC=e=>{const{prefixCls:t,icon:n,okText:o,cancelText:r,confirmPrefixCls:a,type:i,okCancel:s,footer:l,locale:c}=e,d=HC(e,["prefixCls","icon","okText","cancelText","confirmPrefixCls","type","okCancel","footer","locale"]);let m=n;if(!n&&n!==null)switch(i){case"info":m=u.createElement(is,null);break;case"success":m=u.createElement(os,null);break;case"error":m=u.createElement(rs,null);break;default:m=u.createElement(as,null)}const p=s??i==="confirm",g=e.autoFocusButton===null?!1:e.autoFocusButton||"ok",[h]=rr("Modal"),v=c||h,f=o||(p?v==null?void 0:v.okText:v==null?void 0:v.justOkText),y=r||(v==null?void 0:v.cancelText),b=u.useMemo(()=>Object.assign({autoFocusButton:g,cancelTextLocale:y,okTextLocale:f,mergedOkCancel:p},d),[g,y,f,p,d]),S=u.createElement(u.Fragment,null,u.createElement(zl,null),u.createElement(ql,null)),C=e.title!==void 0&&e.title!==null,w=`${a}-body`;return u.createElement("div",{className:`${a}-body-wrapper`},u.createElement("div",{className:W(w,{[`${w}-has-title`]:C})},m,u.createElement("div",{className:`${a}-paragraph`},C&&u.createElement("span",{className:`${a}-title`},e.title),u.createElement("div",{className:`${a}-content`},e.content))),l===void 0||typeof l=="function"?u.createElement(Ru,{value:b},u.createElement("div",{className:`${a}-btns`},typeof l=="function"?l(S,{OkBtn:ql,CancelBtn:zl}):S)):l,u.createElement(WC,{prefixCls:t}))},VC=e=>{const{close:t,zIndex:n,maskStyle:o,direction:r,prefixCls:a,wrapClassName:i,rootPrefixCls:s,bodyStyle:l,closable:c=!1,onConfirm:d,styles:m,title:p}=e,g=`${a}-confirm`,h=e.width||416,v=e.style||{},f=e.mask===void 0?!0:e.mask,y=e.maskClosable===void 0?!1:e.maskClosable,b=W(g,`${g}-${e.type}`,{[`${g}-rtl`]:r==="rtl"},e.className),[,S]=bt(),C=u.useMemo(()=>n!==void 0?n:S.zIndexPopupBase+ss,[n,S]);return u.createElement(BC,Object.assign({},e,{className:b,wrapClassName:W({[`${g}-centered`]:!!e.centered},i),onCancel:()=>{t==null||t({triggerCancel:!0}),d==null||d(!1)},title:p,footer:null,transitionName:$o(s||"","zoom",e.transitionName),maskTransitionName:$o(s||"","fade",e.maskTransitionName),mask:f,maskClosable:y,style:v,styles:Object.assign({body:l,mask:o},m),width:h,zIndex:C,closable:c}),u.createElement(UC,Object.assign({},e,{confirmPrefixCls:g})))},Vu=e=>{const{rootPrefixCls:t,iconPrefixCls:n,direction:o,theme:r}=e;return u.createElement(Dt,{prefixCls:t,iconPrefixCls:n,direction:o,theme:r},u.createElement(VC,Object.assign({},e)))},Rn=[];let zu="";function qu(){return zu}const zC=e=>{var t,n;const{prefixCls:o,getContainer:r,direction:a}=e,i=xd(),s=u.useContext(de),l=qu()||s.getPrefixCls(),c=o||`${l}-modal`;let d=r;return d===!1&&(d=void 0),I.createElement(Vu,Object.assign({},e,{rootPrefixCls:l,prefixCls:c,iconPrefixCls:s.iconPrefixCls,theme:s.theme,direction:a??s.direction,locale:(n=(t=s.locale)===null||t===void 0?void 0:t.Modal)!==null&&n!==void 0?n:i,getContainer:d}))};function KP(e){const t=ob(),n=document.createDocumentFragment();let o=Object.assign(Object.assign({},e),{close:l,open:!0}),r,a;function i(...d){var m;if(d.some(h=>h==null?void 0:h.triggerCancel)){var g;(m=e.onCancel)===null||m===void 0||(g=m).call.apply(g,[e,()=>{}].concat(j(d.slice(1))))}for(let h=0;h<Rn.length;h++)if(Rn[h]===l){Rn.splice(h,1);break}a()}const s=d=>{clearTimeout(r),r=setTimeout(()=>{const m=t.getPrefixCls(void 0,qu()),p=t.getIconPrefixCls(),g=t.getTheme(),h=I.createElement(zC,Object.assign({},d));a=hu()(I.createElement(Dt,{prefixCls:m,iconPrefixCls:p,theme:g},typeof t.holderRender=="function"?t.holderRender(h):h),n)})};function l(...d){o=Object.assign(Object.assign({},o),{open:!1,afterClose:()=>{typeof e.afterClose=="function"&&e.afterClose(),i.apply(this,d)}}),o.visible&&delete o.visible,s(o)}function c(d){typeof d=="function"?o=d(o):o=Object.assign(Object.assign({},o),d),s(o)}return s(o),Rn.push(l),{destroy:l,update:c}}function qC(e){return Object.assign(Object.assign({},e),{type:"warning"})}function GC(e){return Object.assign(Object.assign({},e),{type:"info"})}function KC(e){return Object.assign(Object.assign({},e),{type:"success"})}function YC(e){return Object.assign(Object.assign({},e),{type:"error"})}function XC(e){return Object.assign(Object.assign({},e),{type:"confirm"})}function YP({rootPrefixCls:e}){zu=e}var JC=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};const QC=(e,t)=>{var n,{afterClose:o,config:r}=e,a=JC(e,["afterClose","config"]);const[i,s]=u.useState(!0),[l,c]=u.useState(r),{direction:d,getPrefixCls:m}=u.useContext(de),p=m("modal"),g=m(),h=()=>{var b;o(),(b=l.afterClose)===null||b===void 0||b.call(l)},v=(...b)=>{var S;if(s(!1),b.some(x=>x==null?void 0:x.triggerCancel)){var w;(S=l.onCancel)===null||S===void 0||(w=S).call.apply(w,[l,()=>{}].concat(j(b.slice(1))))}};u.useImperativeHandle(t,()=>({destroy:v,update:b=>{c(S=>{const C=typeof b=="function"?b(S):b;return Object.assign(Object.assign({},S),C)})}}));const f=(n=l.okCancel)!==null&&n!==void 0?n:l.type==="confirm",[y]=rr("Modal",Rt.Modal);return u.createElement(Vu,Object.assign({prefixCls:p,rootPrefixCls:g},l,{close:v,open:i,afterClose:h,okText:l.okText||(f?y==null?void 0:y.okText:y==null?void 0:y.justOkText),direction:l.direction||d,cancelText:l.cancelText||(y==null?void 0:y.cancelText)},a))},ZC=u.forwardRef(QC);let gc=0;const e0=u.memo(u.forwardRef((e,t)=>{const[n,o]=Vb();return u.useImperativeHandle(t,()=>({patchElement:o}),[o]),u.createElement(u.Fragment,null,n)}));function t0(){const e=u.useRef(null),[t,n]=u.useState([]);u.useEffect(()=>{t.length&&(j(t).forEach(i=>{i()}),n([]))},[t]);const o=u.useCallback(a=>function(s){var l;gc+=1;const c=u.createRef();let d;const m=new Promise(f=>{d=f});let p=!1,g;const h=u.createElement(ZC,{key:`modal-${gc}`,config:a(s),ref:c,afterClose:()=>{g==null||g()},isSilent:()=>p,onConfirm:f=>{d(f)}});return g=(l=e.current)===null||l===void 0?void 0:l.patchElement(h),g&&Rn.push(g),{destroy:()=>{function f(){var y;(y=c.current)===null||y===void 0||y.destroy()}c.current?f():n(y=>[].concat(j(y),[f]))},update:f=>{function y(){var b;(b=c.current)===null||b===void 0||b.update(f)}c.current?y():n(b=>[].concat(j(b),[y]))},then:f=>(p=!0,m.then(f))}},[]);return[u.useMemo(()=>({info:o(GC),success:o(KC),error:o(YC),warning:o(qC),confirm:o(XC)}),[o]),u.createElement(e0,{key:"modal-holder",ref:e})]}const n0=e=>{const{componentCls:t,notificationMarginEdge:n,animationMaxHeight:o}=e,r=`${t}-notice`,a=new ge("antNotificationFadeIn",{"0%":{transform:"translate3d(100%, 0, 0)",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",opacity:1}}),i=new ge("antNotificationTopFadeIn",{"0%":{top:-o,opacity:0},"100%":{top:0,opacity:1}}),s=new ge("antNotificationBottomFadeIn",{"0%":{bottom:e.calc(o).mul(-1).equal(),opacity:0},"100%":{bottom:0,opacity:1}}),l=new ge("antNotificationLeftFadeIn",{"0%":{transform:"translate3d(-100%, 0, 0)",opacity:0},"100%":{transform:"translate3d(0, 0, 0)",opacity:1}});return{[t]:{[`&${t}-top, &${t}-bottom`]:{marginInline:0,[r]:{marginInline:"auto auto"}},[`&${t}-top`]:{[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:i}},[`&${t}-bottom`]:{[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:s}},[`&${t}-topRight, &${t}-bottomRight`]:{[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:a}},[`&${t}-topLeft, &${t}-bottomLeft`]:{marginRight:{value:0,_skip_check_:!0},marginLeft:{value:n,_skip_check_:!0},[r]:{marginInlineEnd:"auto",marginInlineStart:0},[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationName:l}}}}},o0=["top","topLeft","topRight","bottom","bottomLeft","bottomRight"],r0={topLeft:"left",topRight:"right",bottomLeft:"left",bottomRight:"right",top:"left",bottom:"left"},a0=(e,t)=>{const{componentCls:n}=e;return{[`${n}-${t}`]:{[`&${n}-stack > ${n}-notice-wrapper`]:{[t.startsWith("top")?"top":"bottom"]:0,[r0[t]]:{value:0,_skip_check_:!0}}}}},i0=e=>{const t={};for(let n=1;n<e.notificationStackLayer;n++)t[`&:nth-last-child(${n+1})`]={overflow:"hidden",[`& > ${e.componentCls}-notice`]:{opacity:0,transition:`opacity ${e.motionDurationMid}`}};return Object.assign({[`&:not(:nth-last-child(-n+${e.notificationStackLayer}))`]:{opacity:0,overflow:"hidden",color:"transparent",pointerEvents:"none"}},t)},s0=e=>{const t={};for(let n=1;n<e.notificationStackLayer;n++)t[`&:nth-last-child(${n+1})`]={background:e.colorBgBlur,backdropFilter:"blur(10px)","-webkit-backdrop-filter":"blur(10px)"};return Object.assign({},t)},l0=e=>{const{componentCls:t}=e;return Object.assign({[`${t}-stack`]:{[`& > ${t}-notice-wrapper`]:Object.assign({transition:`transform ${e.motionDurationSlow}, backdrop-filter 0s`,willChange:"transform, opacity",position:"absolute"},i0(e))},[`${t}-stack:not(${t}-stack-expanded)`]:{[`& > ${t}-notice-wrapper`]:Object.assign({},s0(e))},[`${t}-stack${t}-stack-expanded`]:{[`& > ${t}-notice-wrapper`]:{"&:not(:nth-last-child(-n + 1))":{opacity:1,overflow:"unset",color:"inherit",pointerEvents:"auto",[`& > ${e.componentCls}-notice`]:{opacity:1}},"&:after":{content:'""',position:"absolute",height:e.margin,width:"100%",insetInline:0,bottom:e.calc(e.margin).mul(-1).equal(),background:"transparent",pointerEvents:"auto"}}}},o0.map(n=>a0(e,n)).reduce((n,o)=>Object.assign(Object.assign({},n),o),{}))},c0=e=>{const{iconCls:t,componentCls:n,boxShadow:o,fontSizeLG:r,notificationMarginBottom:a,borderRadiusLG:i,colorSuccess:s,colorInfo:l,colorWarning:c,colorError:d,colorTextHeading:m,notificationBg:p,notificationPadding:g,notificationMarginEdge:h,notificationProgressBg:v,notificationProgressHeight:f,fontSize:y,lineHeight:b,width:S,notificationIconSize:C,colorText:w,colorSuccessBg:x,colorErrorBg:k,colorInfoBg:E,colorWarningBg:T}=e,P=`${n}-notice`;return{position:"relative",marginBottom:a,marginInlineStart:"auto",background:p,borderRadius:i,boxShadow:o,[P]:{padding:g,width:S,maxWidth:`calc(100vw - ${Z(e.calc(h).mul(2).equal())})`,lineHeight:b,wordWrap:"break-word",borderRadius:i,overflow:"hidden","&-success":x?{background:x}:{},"&-error":k?{background:k}:{},"&-info":E?{background:E}:{},"&-warning":T?{background:T}:{}},[`${P}-message`]:{color:m,fontSize:r,lineHeight:e.lineHeightLG},[`${P}-description`]:{fontSize:y,color:w,marginTop:e.marginXS},[`${P}-closable ${P}-message`]:{paddingInlineEnd:e.paddingLG},[`${P}-with-icon ${P}-message`]:{marginInlineStart:e.calc(e.marginSM).add(C).equal(),fontSize:r},[`${P}-with-icon ${P}-description`]:{marginInlineStart:e.calc(e.marginSM).add(C).equal(),fontSize:y},[`${P}-icon`]:{position:"absolute",fontSize:C,lineHeight:1,[`&-success${t}`]:{color:s},[`&-info${t}`]:{color:l},[`&-warning${t}`]:{color:c},[`&-error${t}`]:{color:d}},[`${P}-close`]:Object.assign({position:"absolute",top:e.notificationPaddingVertical,insetInlineEnd:e.notificationPaddingHorizontal,color:e.colorIcon,outline:"none",width:e.notificationCloseButtonSize,height:e.notificationCloseButtonSize,borderRadius:e.borderRadiusSM,transition:`background-color ${e.motionDurationMid}, color ${e.motionDurationMid}`,display:"flex",alignItems:"center",justifyContent:"center",background:"none",border:"none","&:hover":{color:e.colorIconHover,backgroundColor:e.colorBgTextHover},"&:active":{backgroundColor:e.colorBgTextActive}},ir(e)),[`${P}-progress`]:{position:"absolute",display:"block",appearance:"none",inlineSize:`calc(100% - ${Z(i)} * 2)`,left:{_skip_check_:!0,value:i},right:{_skip_check_:!0,value:i},bottom:0,blockSize:f,border:0,"&, &::-webkit-progress-bar":{borderRadius:i,backgroundColor:"rgba(0, 0, 0, 0.04)"},"&::-moz-progress-bar":{background:v},"&::-webkit-progress-value":{borderRadius:i,background:v}},[`${P}-actions`]:{float:"right",marginTop:e.marginSM}}},d0=e=>{const{componentCls:t,notificationMarginBottom:n,notificationMarginEdge:o,motionDurationMid:r,motionEaseInOut:a}=e,i=`${t}-notice`,s=new ge("antNotificationFadeOut",{"0%":{maxHeight:e.animationMaxHeight,marginBottom:n},"100%":{maxHeight:0,marginBottom:0,paddingTop:0,paddingBottom:0,opacity:0}});return[{[t]:Object.assign(Object.assign({},ts(e)),{position:"fixed",zIndex:e.zIndexPopup,marginRight:{value:o,_skip_check_:!0},[`${t}-hook-holder`]:{position:"relative"},[`${t}-fade-appear-prepare`]:{opacity:"0 !important"},[`${t}-fade-enter, ${t}-fade-appear`]:{animationDuration:e.motionDurationMid,animationTimingFunction:a,animationFillMode:"both",opacity:0,animationPlayState:"paused"},[`${t}-fade-leave`]:{animationTimingFunction:a,animationFillMode:"both",animationDuration:r,animationPlayState:"paused"},[`${t}-fade-enter${t}-fade-enter-active, ${t}-fade-appear${t}-fade-appear-active`]:{animationPlayState:"running"},[`${t}-fade-leave${t}-fade-leave-active`]:{animationName:s,animationPlayState:"running"},"&-rtl":{direction:"rtl",[`${i}-actions`]:{float:"left"}}})},{[t]:{[`${i}-wrapper`]:c0(e)}}]},u0=e=>({zIndexPopup:e.zIndexPopupBase+ss+50,width:384,colorSuccessBg:void 0,colorErrorBg:void 0,colorInfoBg:void 0,colorWarningBg:void 0}),m0=e=>{const t=e.paddingMD,n=e.paddingLG;return at(e,{notificationBg:e.colorBgElevated,notificationPaddingVertical:t,notificationPaddingHorizontal:n,notificationIconSize:e.calc(e.fontSizeLG).mul(e.lineHeightLG).equal(),notificationCloseButtonSize:e.calc(e.controlHeightLG).mul(.55).equal(),notificationMarginBottom:e.margin,notificationPadding:`${Z(e.paddingMD)} ${Z(e.paddingContentHorizontalLG)}`,notificationMarginEdge:e.marginLG,animationMaxHeight:150,notificationStackLayer:3,notificationProgressHeight:2,notificationProgressBg:`linear-gradient(90deg, ${e.colorPrimaryBorderHover}, ${e.colorPrimary})`})},p0=yt("Notification",e=>{const t=m0(e);return[d0(t),n0(t),l0(t)]},u0);function Gu(e,t){return t===null||t===!1?null:t||u.createElement(Vn,{className:`${e}-close-icon`})}const f0={success:os,info:is,error:rs,warning:as},g0=e=>{const{prefixCls:t,icon:n,type:o,message:r,description:a,actions:i,role:s="alert"}=e;let l=null;return n?l=u.createElement("span",{className:`${t}-icon`},n):o&&(l=u.createElement(f0[o]||null,{className:W(`${t}-icon`,`${t}-icon-${o}`)})),u.createElement("div",{className:W({[`${t}-with-icon`]:l}),role:s},l,u.createElement("div",{className:`${t}-message`},r),a&&u.createElement("div",{className:`${t}-description`},a),i&&u.createElement("div",{className:`${t}-actions`},i))};function h0(e,t,n){let o;switch(e){case"top":o={left:"50%",transform:"translateX(-50%)",right:"auto",top:t,bottom:"auto"};break;case"topLeft":o={left:0,top:t,bottom:"auto"};break;case"topRight":o={right:0,top:t,bottom:"auto"};break;case"bottom":o={left:"50%",transform:"translateX(-50%)",right:"auto",top:"auto",bottom:n};break;case"bottomLeft":o={left:0,top:"auto",bottom:n};break;default:o={right:0,top:"auto",bottom:n};break}return o}function v0(e){return{motionName:`${e}-fade`}}function b0(e,t,n){return typeof e<"u"?e:typeof(t==null?void 0:t.closeIcon)<"u"?t.closeIcon:n==null?void 0:n.closeIcon}var y0=function(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(e);r<o.length;r++)t.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(e,o[r])&&(n[o[r]]=e[o[r]]);return n};const hc=24,S0=4.5,w0="topRight",C0=({children:e,prefixCls:t})=>{const n=lr(t),[o,r,a]=p0(t,n);return o(I.createElement(su,{classNames:{list:W(r,a,n)}},e))},k0=(e,{prefixCls:t,key:n})=>I.createElement(C0,{prefixCls:t,key:n},e),x0=I.forwardRef((e,t)=>{const{top:n,bottom:o,prefixCls:r,getContainer:a,maxCount:i,rtl:s,onAllRemoved:l,stack:c,duration:d,pauseOnHover:m=!0,showProgress:p}=e,{getPrefixCls:g,getPopupContainer:h,notification:v,direction:f}=u.useContext(de),[,y]=bt(),b=r||g("notification"),S=E=>h0(E,n??hc,o??hc),C=()=>W({[`${b}-rtl`]:s??f==="rtl"}),w=()=>v0(b),[x,k]=lu({prefixCls:b,style:S,className:C,motion:w,closable:!0,closeIcon:Gu(b),duration:d??S0,getContainer:()=>(a==null?void 0:a())||(h==null?void 0:h())||document.body,maxCount:i,pauseOnHover:m,showProgress:p,onAllRemoved:l,renderNotifications:k0,stack:c===!1?!1:{threshold:typeof c=="object"?c==null?void 0:c.threshold:void 0,offset:8,gap:y.margin}});return I.useImperativeHandle(t,()=>Object.assign(Object.assign({},x),{prefixCls:b,notification:v})),k});function P0(e){const t=I.useRef(null);return or(),[I.useMemo(()=>{const o=s=>{var l;if(!t.current)return;const{open:c,prefixCls:d,notification:m}=t.current,p=`${d}-notice`,{message:g,description:h,icon:v,type:f,btn:y,actions:b,className:S,style:C,role:w="alert",closeIcon:x,closable:k}=s,E=y0(s,["message","description","icon","type","btn","actions","className","style","role","closeIcon","closable"]),T=b??y,P=Gu(p,b0(x,e,m));return c(Object.assign(Object.assign({placement:(l=e==null?void 0:e.placement)!==null&&l!==void 0?l:w0},E),{content:I.createElement(g0,{prefixCls:p,icon:v,type:f,message:g,description:h,actions:T,role:w}),className:W(f&&`${p}-${f}`,S,m==null?void 0:m.className),style:Object.assign(Object.assign({},m==null?void 0:m.style),C),closeIcon:P,closable:k??!!P}))},a={open:o,destroy:s=>{var l,c;s!==void 0?(l=t.current)===null||l===void 0||l.close(s):(c=t.current)===null||c===void 0||c.destroy()}};return["success","info","warning","error"].forEach(s=>{a[s]=l=>o(Object.assign(Object.assign({},l),{type:s}))}),a},[]),I.createElement(x0,Object.assign({key:"notification-holder"},e,{ref:t}))]}function T0(e){return P0(e)}const vc=I.createContext({}),Ku=I.createContext({message:{},notification:{},modal:{}}),E0=e=>{const{componentCls:t,colorText:n,fontSize:o,lineHeight:r,fontFamily:a}=e;return{[t]:{color:n,fontSize:o,lineHeight:r,fontFamily:a,[`&${t}-rtl`]:{direction:"rtl"}}}},R0=()=>({}),A0=yt("App",E0,R0),D0=e=>{const{prefixCls:t,children:n,className:o,rootClassName:r,message:a,notification:i,style:s,component:l="div"}=e,{direction:c,getPrefixCls:d}=u.useContext(de),m=d("app",t),[p,g,h]=A0(m),v=W(g,m,o,r,h,{[`${m}-rtl`]:c==="rtl"}),f=u.useContext(vc),y=I.useMemo(()=>({message:Object.assign(Object.assign({},f.message),a),notification:Object.assign(Object.assign({},f.notification),i)}),[a,i,f.message,f.notification]),[b,S]=ly(y.message),[C,w]=T0(y.notification),[x,k]=t0(),E=I.useMemo(()=>({message:b,notification:C,modal:x}),[b,C,x]);or()(!(h&&l===!1),"usage","When using cssVar, ensure `component` is assigned a valid React component string.");const T=l===!1?I.Fragment:l,P={className:v,style:s};return p(I.createElement(Ku.Provider,{value:E},I.createElement(vc.Provider,{value:y},I.createElement(T,Object.assign({},l===!1?void 0:P),k,S,w,n))))},M0=()=>I.useContext(Ku),us=D0;us.useApp=M0;var yr={};function O0(e){return e&&e.__esModule?e:{default:e}}const F0=Object.freeze(Object.defineProperty({__proto__:null,default:O0},Symbol.toStringTag,{value:"Module"})),Mt=Rc(F0);var Sr={};Object.defineProperty(Sr,"__esModule",{value:!0});Sr.default=void 0;var I0={items_per_page:"/ page",jump_to:"Go to",jump_to_confirm:"confirm",page:"Page",prev_page:"Previous Page",next_page:"Next Page",prev_5:"Previous 5 Pages",next_5:"Next 5 Pages",prev_3:"Previous 3 Pages",next_3:"Next 3 Pages",page_size:"Page Size"};Sr.default=I0;var wr={},Xn={},Cr={};const Yu=Rc(mg);var Jn={};Object.defineProperty(Jn,"__esModule",{value:!0});Jn.commonLocale=void 0;Jn.commonLocale={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0};var _0=Mt.default;Object.defineProperty(Cr,"__esModule",{value:!0});Cr.default=void 0;var bc=_0(Yu),L0=Jn,N0=(0,bc.default)((0,bc.default)({},L0.commonLocale),{},{locale:"en_US",today:"Today",now:"Now",backToToday:"Back to today",ok:"OK",clear:"Clear",week:"Week",month:"Month",year:"Year",timeSelect:"select time",dateSelect:"select date",weekSelect:"Choose a week",monthSelect:"Choose a month",yearSelect:"Choose a year",decadeSelect:"Choose a decade",dateFormat:"M/D/YYYY",dateTimeFormat:"M/D/YYYY HH:mm:ss",previousMonth:"Previous month (PageUp)",nextMonth:"Next month (PageDown)",previousYear:"Last year (Control + left)",nextYear:"Next year (Control + right)",previousDecade:"Last decade",nextDecade:"Next decade",previousCentury:"Last century",nextCentury:"Next century"});Cr.default=N0;var Qn={};Object.defineProperty(Qn,"__esModule",{value:!0});Qn.default=void 0;const $0={placeholder:"Select time",rangePlaceholder:["Start time","End time"]};Qn.default=$0;var Xu=Mt.default;Object.defineProperty(Xn,"__esModule",{value:!0});Xn.default=void 0;var B0=Xu(Cr),j0=Xu(Qn);const W0={lang:Object.assign({placeholder:"Select date",yearPlaceholder:"Select year",quarterPlaceholder:"Select quarter",monthPlaceholder:"Select month",weekPlaceholder:"Select week",rangePlaceholder:["Start date","End date"],rangeYearPlaceholder:["Start year","End year"],rangeQuarterPlaceholder:["Start quarter","End quarter"],rangeMonthPlaceholder:["Start month","End month"],rangeWeekPlaceholder:["Start week","End week"]},B0.default),timePickerLocale:Object.assign({},j0.default)};Xn.default=W0;var H0=Mt.default;Object.defineProperty(wr,"__esModule",{value:!0});wr.default=void 0;var U0=H0(Xn);wr.default=U0.default;var kr=Mt.default;Object.defineProperty(yr,"__esModule",{value:!0});yr.default=void 0;var V0=kr(Sr),z0=kr(wr),q0=kr(Xn),G0=kr(Qn);const He="${label} is not a valid ${type}",K0={locale:"en",Pagination:V0.default,DatePicker:q0.default,TimePicker:G0.default,Calendar:z0.default,global:{placeholder:"Please select",close:"Close"},Table:{filterTitle:"Filter menu",filterConfirm:"OK",filterReset:"Reset",filterEmptyText:"No filters",filterCheckAll:"Select all items",filterSearchPlaceholder:"Search in filters",emptyText:"No data",selectAll:"Select current page",selectInvert:"Invert current page",selectNone:"Clear all data",selectionAll:"Select all data",sortTitle:"Sort",expand:"Expand row",collapse:"Collapse row",triggerDesc:"Click to sort descending",triggerAsc:"Click to sort ascending",cancelSort:"Click to cancel sorting"},Tour:{Next:"Next",Previous:"Previous",Finish:"Finish"},Modal:{okText:"OK",cancelText:"Cancel",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Cancel"},Transfer:{titles:["",""],searchPlaceholder:"Search here",itemUnit:"item",itemsUnit:"items",remove:"Remove",selectCurrent:"Select current page",removeCurrent:"Remove current page",selectAll:"Select all data",deselectAll:"Deselect all data",removeAll:"Remove all data",selectInvert:"Invert current page"},Upload:{uploading:"Uploading...",removeFile:"Remove file",uploadError:"Upload error",previewFile:"Preview file",downloadFile:"Download file"},Empty:{description:"No data"},Icon:{icon:"icon"},Text:{edit:"Edit",copy:"Copy",copied:"Copied",expand:"Expand",collapse:"Collapse"},Form:{optional:"(optional)",defaultValidateMessages:{default:"Field validation error for ${label}",required:"Please enter ${label}",enum:"${label} must be one of [${enum}]",whitespace:"${label} cannot be a blank character",date:{format:"${label} date format is invalid",parse:"${label} cannot be converted to a date",invalid:"${label} is an invalid date"},types:{string:He,method:He,array:He,object:He,number:He,date:He,boolean:He,integer:He,float:He,regexp:He,email:He,url:He,hex:He},string:{len:"${label} must be ${len} characters",min:"${label} must be at least ${min} characters",max:"${label} must be up to ${max} characters",range:"${label} must be between ${min}-${max} characters"},number:{len:"${label} must be equal to ${len}",min:"${label} must be minimum ${min}",max:"${label} must be maximum ${max}",range:"${label} must be between ${min}-${max}"},array:{len:"Must be ${len} ${label}",min:"At least ${min} ${label}",max:"At most ${max} ${label}",range:"The amount of ${label} must be between ${min}-${max}"},pattern:{mismatch:"${label} does not match the pattern ${pattern}"}}},Image:{preview:"Preview"},QRCode:{expired:"QR code expired",refresh:"Refresh",scanned:"Scanned"},ColorPicker:{presetEmpty:"Empty",transparent:"Transparent",singleColor:"Single",gradientColor:"Gradient"}};yr.default=K0;var Y0=yr;const X0=Ii(Y0);var xr={},Pr={};Object.defineProperty(Pr,"__esModule",{value:!0});Pr.default=void 0;var J0={items_per_page:"条/页",jump_to:"跳至",jump_to_confirm:"确定",page:"页",prev_page:"上一页",next_page:"下一页",prev_5:"向前 5 页",next_5:"向后 5 页",prev_3:"向前 3 页",next_3:"向后 3 页",page_size:"页码"};Pr.default=J0;var Tr={},Zn={},Er={},Q0=Mt.default;Object.defineProperty(Er,"__esModule",{value:!0});Er.default=void 0;var yc=Q0(Yu),Z0=Jn,ek=(0,yc.default)((0,yc.default)({},Z0.commonLocale),{},{locale:"zh_CN",today:"今天",now:"此刻",backToToday:"返回今天",ok:"确定",timeSelect:"选择时间",dateSelect:"选择日期",weekSelect:"选择周",clear:"清除",week:"周",month:"月",year:"年",previousMonth:"上个月 (翻页上键)",nextMonth:"下个月 (翻页下键)",monthSelect:"选择月份",yearSelect:"选择年份",decadeSelect:"选择年代",previousYear:"上一年 (Control键加左方向键)",nextYear:"下一年 (Control键加右方向键)",previousDecade:"上一年代",nextDecade:"下一年代",previousCentury:"上一世纪",nextCentury:"下一世纪",yearFormat:"YYYY年",cellDateFormat:"D",monthBeforeYear:!1});Er.default=ek;var eo={};Object.defineProperty(eo,"__esModule",{value:!0});eo.default=void 0;const tk={placeholder:"请选择时间",rangePlaceholder:["开始时间","结束时间"]};eo.default=tk;var Ju=Mt.default;Object.defineProperty(Zn,"__esModule",{value:!0});Zn.default=void 0;var nk=Ju(Er),ok=Ju(eo);const Qu={lang:Object.assign({placeholder:"请选择日期",yearPlaceholder:"请选择年份",quarterPlaceholder:"请选择季度",monthPlaceholder:"请选择月份",weekPlaceholder:"请选择周",rangePlaceholder:["开始日期","结束日期"],rangeYearPlaceholder:["开始年份","结束年份"],rangeMonthPlaceholder:["开始月份","结束月份"],rangeQuarterPlaceholder:["开始季度","结束季度"],rangeWeekPlaceholder:["开始周","结束周"]},nk.default),timePickerLocale:Object.assign({},ok.default)};Qu.lang.ok="确定";Zn.default=Qu;var rk=Mt.default;Object.defineProperty(Tr,"__esModule",{value:!0});Tr.default=void 0;var ak=rk(Zn);Tr.default=ak.default;var Rr=Mt.default;Object.defineProperty(xr,"__esModule",{value:!0});xr.default=void 0;var ik=Rr(Pr),sk=Rr(Tr),lk=Rr(Zn),ck=Rr(eo);const Ue="${label}不是一个有效的${type}",dk={locale:"zh-cn",Pagination:ik.default,DatePicker:lk.default,TimePicker:ck.default,Calendar:sk.default,global:{placeholder:"请选择",close:"关闭"},Table:{filterTitle:"筛选",filterConfirm:"确定",filterReset:"重置",filterEmptyText:"无筛选项",filterCheckAll:"全选",filterSearchPlaceholder:"在筛选项中搜索",emptyText:"暂无数据",selectAll:"全选当页",selectInvert:"反选当页",selectNone:"清空所有",selectionAll:"全选所有",sortTitle:"排序",expand:"展开行",collapse:"关闭行",triggerDesc:"点击降序",triggerAsc:"点击升序",cancelSort:"取消排序"},Modal:{okText:"确定",cancelText:"取消",justOkText:"知道了"},Tour:{Next:"下一步",Previous:"上一步",Finish:"结束导览"},Popconfirm:{cancelText:"取消",okText:"确定"},Transfer:{titles:["",""],searchPlaceholder:"请输入搜索内容",itemUnit:"项",itemsUnit:"项",remove:"删除",selectCurrent:"全选当页",removeCurrent:"删除当页",selectAll:"全选所有",deselectAll:"取消全选",removeAll:"删除全部",selectInvert:"反选当页"},Upload:{uploading:"文件上传中",removeFile:"删除文件",uploadError:"上传错误",previewFile:"预览文件",downloadFile:"下载文件"},Empty:{description:"暂无数据"},Icon:{icon:"图标"},Text:{edit:"编辑",copy:"复制",copied:"复制成功",expand:"展开",collapse:"收起"},Form:{optional:"(可选)",defaultValidateMessages:{default:"字段验证错误${label}",required:"请输入${label}",enum:"${label}必须是其中一个[${enum}]",whitespace:"${label}不能为空字符",date:{format:"${label}日期格式无效",parse:"${label}不能转换为日期",invalid:"${label}是一个无效日期"},types:{string:Ue,method:Ue,array:Ue,object:Ue,number:Ue,date:Ue,boolean:Ue,integer:Ue,float:Ue,regexp:Ue,email:Ue,url:Ue,hex:Ue},string:{len:"${label}须为${len}个字符",min:"${label}最少${min}个字符",max:"${label}最多${max}个字符",range:"${label}须在${min}-${max}字符之间"},number:{len:"${label}必须等于${len}",min:"${label}最小值为${min}",max:"${label}最大值为${max}",range:"${label}须在${min}-${max}之间"},array:{len:"须为${len}个${label}",min:"最少${min}个${label}",max:"最多${max}个${label}",range:"${label}数量须在${min}-${max}之间"},pattern:{mismatch:"${label}与模式不匹配${pattern}"}}},Image:{preview:"预览"},QRCode:{expired:"二维码过期",refresh:"点击刷新",scanned:"已扫描"},ColorPicker:{presetEmpty:"暂无",transparent:"无色",singleColor:"单色",gradientColor:"渐变色"}};xr.default=dk;var uk=xr;const mk=Ii(uk),pk="modulepreload",fk=function(e){return"/__ONEWORKS_PROJECT_CLIENT_BASE__/"+e},Sc={},ms=function(t,n,o){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),s=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));r=Promise.allSettled(n.map(l=>{if(l=fk(l),l in Sc)return;Sc[l]=!0;const c=l.endsWith(".css"),d=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${d}`))return;const m=document.createElement("link");if(m.rel=c?"stylesheet":pk,c||(m.as="script"),m.crossOrigin="",m.href=l,s&&m.setAttribute("nonce",s),document.head.appendChild(m),c)return new Promise((p,g)=>{m.addEventListener("load",p),m.addEventListener("error",()=>g(new Error(`Unable to preload CSS for ${l}`)))})}))}function a(i){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=i,window.dispatchEvent(s),!s.defaultPrevented)throw i}return r.then(i=>{for(const s of i||[])s.status==="rejected"&&a(s.reason);return t().catch(a)})},gk=async()=>{},hk=async(e,t)=>{const n=await gk();return n==null?void 0:n.handleHomepagePreviewFetch(e,t)},ps="oneworks_server_base_url",fs="oneworks_server_connection_picker_requested",vk=(e,t)=>(e.trim()===""?"One Works Web":e.trim()).replace(/\s+\[[^\]]+\]$/,""),bk=()=>globalThis.__ONEWORKS_PROJECT_RUNTIME_ENV__,gs=e=>{const t=globalThis,n={...t.__ONEWORKS_PROJECT_RUNTIME_ENV__??{},...e};return t.__ONEWORKS_PROJECT_RUNTIME_ENV__=n,n},Ar=(...e)=>e.find(t=>typeof t=="string"&&t.trim()!==""),hs=e=>{let t=(e==null?void 0:e.trim())??"/ui";return t.startsWith("/")||(t=`/${t}`),t.length>1&&t.endsWith("/")&&(t=t.slice(0,-1)),t},yk=e=>{let t=(e==null?void 0:e.trim())??"";return t?(t.startsWith("/")||(t=`/${t}`),t):"/ws"},Sk=e=>{const t=e==null?void 0:e.trim();if(!(t==null||t===""||t==="0.0.0.0"||t==="::"||t==="[::]"))return t},wk=e=>/^[a-z][a-z\d+.-]*:\/\//i.test(e),vn=()=>{try{return globalThis.localStorage}catch{return}},Ei=()=>{var e;return((e=globalThis.location)==null?void 0:e.protocol)==="https:"?"https":"http"},vs=()=>{var e;return(e=Ar(wt().__ONEWORKS_PROJECT_CLIENT_MODE__,void 0,void 0))==null?void 0:e.trim().toLowerCase()},Ck=()=>vs()==="dev",Pa=()=>Ck()||/^(?:1|true|yes|on)$/i.test(Ar(wt().__ONEWORKS_PROJECT_CLIENT_DEV_SERVER__,void 0)??""),Pe=e=>{const t=(e==null?void 0:e.trim())??"";if(t==="")return;const n=wk(t)?t:`${Ei()}://${t}`;try{const o=new URL(n);return o.protocol!=="http:"&&o.protocol!=="https:"?void 0:(o.hash="",o.search="",o.toString().replace(/\/$/,""))}catch{return}},Dr=(e,t)=>{const n=Pe(e);if(n==null)throw new Error("Invalid server base URL");const o=t.replace(/^\/+/,"");return new URL(o,`${n}/`).toString()},kk=()=>{var e;return Pe(((e=vn())==null?void 0:e.getItem(ps))??void 0)},XP=e=>{var n;const t=Pe(e);if(t!=null)return(n=vn())==null||n.setItem(ps,t),t},xk=()=>{var e;(e=vn())==null||e.removeItem(ps)},Zu=()=>vs()==="desktop",Pk=()=>{var e;return(e=Ar(wt().__ONEWORKS_PROJECT_SERVER_ROLE__,void 0))==null?void 0:e.trim().toLowerCase()},em=()=>Pk()==="manager",Tk=()=>{const e=vs();return e==="standalone"||e==="independent"||e==="desktop"||em()},wt=()=>bk()??{},bs=(...e)=>hs(Ar(...e)),tm=()=>bs(wt().__ONEWORKS_PROJECT_CLIENT_BASE__,void 0,"/__ONEWORKS_PROJECT_CLIENT_BASE__/","/ui"),nm="w",ys=e=>{const t=e==null?void 0:e.trim();if(!(t==null||t===""))return/^w_[\w-]{8,64}$/u.test(t)?t:void 0},Ek=()=>ys(wt().__ONEWORKS_PROJECT_WORKSPACE_ID__),Rk=(e,t=bs(void 0,"/__ONEWORKS_PROJECT_CLIENT_BASE__/","/ui"))=>{const n=ys(e);if(n==null)throw new Error("Invalid workspace id");const o=hs(t),r=`${nm}/${encodeURIComponent(n)}`;return o==="/"?`/${r}`:`${o}/${r}`},Ak=(e,t=bs(void 0,"/__ONEWORKS_PROJECT_CLIENT_BASE__/","/ui"))=>{const n=hs(t),o=e.startsWith("/")?e:`/${e}`,r=n==="/"?o:o===n?"/":o.startsWith(`${n}/`)?o.slice(n.length):"",[a,i]=r.split("/").filter(Boolean);if(a===nm&&i!=null)try{return ys(decodeURIComponent(i))}catch{return}},Ri=()=>Sk(wt().__ONEWORKS_PROJECT_SERVER_HOST__??void 0),Ai=()=>wt().__ONEWORKS_PROJECT_SERVER_PORT__??void 0,om=()=>Pe(wt().__ONEWORKS_PROJECT_SERVER_BASE_URL__??void 0),rm=()=>{var o;const e=om();if(e!=null)return e;const t=Ri(),n=(o=Ai())==null?void 0:o.trim();if(!(t==null||n==null||n===""))return Pe(`${t}:${n}`)},JP=()=>{var e;return((e=vn())==null?void 0:e.getItem(fs))==="true"},QP=({clearCurrentServer:e=!1}={})=>{var t;e&&xk(),(t=vn())==null||t.setItem(fs,"true")},ZP=()=>{var e;(e=vn())==null||e.removeItem(fs)},eT=()=>yk(wt().__ONEWORKS_PROJECT_SERVER_WS_PATH__??void 0),bn=()=>{var r,a,i;const e=rm(),t=om();if(Zu()){if(t!=null)return t;if(Pa()&&((r=globalThis.location)==null?void 0:r.origin)!=null)return globalThis.location.origin;if(e!=null)return e;const s=Ri()??"localhost",l=Ai()??"8787";return Pe(`${s}:${l}`)??`${Ei()}://localhost:8787`}if(t!=null)return t;if(Tk()){const s=kk();if(s!=null)return s}if(e!=null&&(t!=null||!Pa()))return e;if(Pa()&&((a=globalThis.location)==null?void 0:a.origin)!=null)return globalThis.location.origin;if(e!=null)return e;const n=Ri()??((i=globalThis.location)==null?void 0:i.hostname)??"localhost",o=Ai()??"8787";return Pe(`${n}:${o}`)??`${Ei()}://localhost:8787`},Dk=e=>Dr(bn(),e),am="oneworks_server_base_url_history",im=()=>{try{return globalThis.localStorage}catch{return}},Et=e=>{const t=typeof e=="string"?e.trim():"";return t===""?void 0:t},Mk=(e,t)=>{if(typeof e=="string"){const d=Pe(e);return d==null?void 0:{serverUrl:d,createdAt:t,lastConnectedAt:t}}if(e==null||typeof e!="object"||Array.isArray(e))return;const n=e,o=Pe(n.serverUrl);if(o==null)return;const r=typeof n.createdAt=="number"?n.createdAt:t,a=typeof n.lastConnectedAt=="number"?n.lastConnectedAt:r,i=Et(n.alias),s=Et(n.description),l=Et(n.authToken),c=Et(n.serverVersion);return{serverUrl:o,createdAt:r,lastConnectedAt:a,...i!=null?{alias:i}:{},...s!=null?{description:s}:{},...l!=null?{authToken:l}:{},...c!=null?{serverVersion:c}:{}}},sm=e=>[...e].sort((t,n)=>n.lastConnectedAt-t.lastConnectedAt),to=e=>{var n;const t=sm(e);return(n=im())==null||n.setItem(am,JSON.stringify(t)),t},vt=()=>{var t;const e=(t=im())==null?void 0:t.getItem(am);if(e==null||e.trim()==="")return[];try{const n=JSON.parse(e);if(!Array.isArray(n))return[];const o=new Map,r=Date.now();for(const a of n){const i=Mk(a,r);i==null||o.has(i.serverUrl)||o.set(i.serverUrl,i)}return sm(Array.from(o.values()))}catch{return[]}},Ok=(e,t={})=>{const n=Pe(e);if(n==null)return vt();const o=Date.now(),r=vt(),a=r.find(s=>s.serverUrl===n),i={...a,serverUrl:n,createdAt:(a==null?void 0:a.createdAt)??o,lastConnectedAt:o,...Et(t.serverVersion)!=null?{serverVersion:Et(t.serverVersion)}:{}};return to([i,...r.filter(s=>s.serverUrl!==n)])},tT=(e,t)=>{const n=Pe(e);if(n==null)return vt();const o=Date.now(),r=vt(),a=r.find(m=>m.serverUrl===n),i=Et(t.alias),s=Et(t.description),{alias:l,description:c,...d}=a??{};return to([{...d,serverUrl:n,createdAt:(a==null?void 0:a.createdAt)??o,lastConnectedAt:(a==null?void 0:a.lastConnectedAt)??o,...i!=null?{alias:i}:{},...s!=null?{description:s}:{}},...r.filter(m=>m.serverUrl!==n)])},nT=e=>{const t=Pe(e);return t==null?vt():to(vt().filter(n=>n.serverUrl!==t))},Fk=e=>{var t;return(t=vt().find(n=>n.serverUrl===Pe(e)))==null?void 0:t.authToken},Ik=(e,t)=>{const n=t.trim();if(n==="")return;const o=Ok(e),r=Pe(e);to(o.map(a=>a.serverUrl===r?{...a,authToken:n}:a))},_k=e=>{const t=Pe(e);return t==null?vt():to(vt().map(n=>{if(n.serverUrl!==t)return n;const{authToken:o,...r}=n;return r}))},Lk=()=>{var n;const e=bn(),t=(n=Fk(e))==null?void 0:n.trim();return t==null||t===""?void 0:t},oT=e=>{const t=e.trim();t!==""&&Ik(bn(),t)},rT=()=>{_k(bn())},Nk=e=>{const t=Lk();t==null||e.has("Authorization")||e.set("Authorization",`Bearer ${t}`)},Mr={"Content-Type":"application/json"},$k=15e3,aT=()=>new URL(lm()).hostname,iT=()=>{const{port:e,protocol:t}=new URL(lm());return e!==""?e:t==="https:"?"443":"80"},lm=()=>bn(),Ss=e=>e.startsWith("http://")||e.startsWith("https://")?e:Dk(e),sT=e=>new URL(Ss(e));class gt extends Error{constructor(n,o){super(o.message);H(this,"status");H(this,"code");H(this,"details");this.name="ApiError",this.status=n,this.code=o.code,this.details=o.details}}const jo=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),Bk=e=>jo(e)&&e.success===!0&&"data"in e,cm=e=>jo(e)&&e.success===!1&&jo(e.error)&&typeof e.error.message=="string"&&typeof e.error.code=="string",jk=async e=>{const t=await e.text();if(t.trim()==="")return null;try{return JSON.parse(t)}catch{return t}},Wk=(e,t,n)=>{if(cm(t))return new gt(e,t.error);if(jo(t)){const o=typeof t.error=="string"?t.error:typeof t.message=="string"?t.message:n,r=typeof t.code=="string"?t.code:"request_failed";return new gt(e,{code:r,message:o,...t.details!==void 0?{details:t.details}:{}})}return typeof t=="string"&&t.trim()!==""?new gt(e,{code:"request_failed",message:t}):new gt(e,{code:"request_failed",message:n})},dm=async(e,t)=>{const n=await jk(e);if(!e.ok){const o=t??`Request failed with status ${e.status}`,r=Wk(e.status,n,o);throw console.error(t??"[api] request failed",e.status,r.message,r.details),r}if(cm(n))throw new gt(e.status,n.error);return Bk(n)?n.data:n},Hk=(e,t)=>e instanceof gt&&e.message.trim()!==""?e.message:Uk(e)?t:e instanceof Error&&e.message.trim()!==""?e.message:t,lT=e=>e instanceof gt&&e.code==="request_timeout",Uk=e=>e instanceof Error?typeof DOMException<"u"&&e instanceof DOMException&&(e.name==="AbortError"||e.name==="TimeoutError")?!0:e.message==="signal is aborted without reason"||e.message.toLowerCase().includes("aborted"):!1,Vk=e=>{const{timeoutMs:t,signal:n,...o}=e??{},r=new Headers(e==null?void 0:e.headers);Nk(r);const a=t??(n==null?$k:void 0);let i=!1,s=()=>{},l=n;if(a!=null&&a>0){const c=new AbortController,d=()=>c.abort(n==null?void 0:n.reason),m=()=>{i=!0,c.abort(new DOMException(`Request timed out after ${a}ms`,"TimeoutError"))};(n==null?void 0:n.aborted)===!0?d():n==null||n.addEventListener("abort",d,{once:!0});const p=setTimeout(m,a);s=()=>{clearTimeout(p),n==null||n.removeEventListener("abort",d)},l=c.signal}return{didTimeout:()=>i,init:{...o,signal:l,credentials:(e==null?void 0:e.credentials)??"include",headers:r},cleanup:s}},um=async(e,t)=>{const n=Vk(t);try{const o=await hk(e,n.init);return o??await fetch(e,n.init)}catch(o){throw n.didTimeout()?new gt(408,{code:"request_timeout",message:"Request timed out. Check that the server is still running and retry."}):o}finally{n.cleanup()}};async function Ct(e,t){const n=typeof e=="string"?Ss(e):e.toString(),o=await um(n,t);return dm(o)}async function cT(e,t,n){const o=typeof e=="string"?Ss(e):e.toString(),r=await um(o,t);return dm(r,n)}async function zk(e){try{return await navigator.clipboard.writeText(e.text),e.messageApi.success(e.successMessage),!0}catch{return e.messageApi.error(e.failureMessage),!1}}const qk=new Set(["connect","home","reload","restart","retry"]),mm="(max-width: 520px)",Gk={changeServer:"swap_horiz",connect:"link",home:"home",reload:"refresh",restart:"restart_alt",retry:"refresh"},Kk=e=>{switch(e){case"changeServer":return"errorState.actions.changeServer";case"connect":return"errorState.actions.connect";case"home":return"errorState.actions.home";case"reload":return"errorState.actions.reload";case"restart":return"errorState.actions.restart";case"retry":return"errorState.actions.retry"}},Yk=e=>L.jsx("span",{className:"material-symbols-rounded app-error-state__action-icon","aria-hidden":"true",children:e}),Xk=()=>typeof window>"u"||typeof window.matchMedia!="function"?!0:!window.matchMedia(mm).matches;function pm({actions:e=[],className:t,context:n,description:o,details:r,focusOnMount:a=!0,icon:i,measure:s="compact",mobileDescription:l,secondaryMessage:c,severity:d="error",title:m,variant:p="route"}){var T,P,M,F;const{t:g}=un(),{message:h}=us.useApp(),v=u.useRef(null),[f,y]=u.useState(Xk),b=l!=null,S=(r==null?void 0:r.title)??g("errorState.details"),C=r!=null&&((((T=r.items)==null?void 0:T.length)??0)>0||r.content!=null||r.copyText!=null),w=((P=r==null?void 0:r.copyText)==null?void 0:P.trim())===""||r==null?void 0:r.copyText,x=w!=null;u.useEffect(()=>{var D;a&&((D=v.current)==null||D.focus({preventScroll:!0}))},[a]),u.useEffect(()=>{if(!C||typeof window>"u"||typeof window.matchMedia!="function")return;const D=window.matchMedia(mm),A=()=>y(!D.matches);return A(),D.addEventListener("change",A),()=>D.removeEventListener("change",A)},[C]);const k=()=>{x&&zk({failureMessage:g("errorState.copyDiagnosticsFailed"),messageApi:h,successMessage:g("errorState.copyDiagnosticsSuccess"),text:w})},E=e.map((D,A)=>{const _=A===0&&qk.has(D.kind)?"primary":"default";return L.jsx(fn,{type:_,loading:D.loading,disabled:D.disabled,icon:Yk(Gk[D.kind]),onClick:D.onClick,children:D.label??g(Kk(D.kind))},`${D.kind}-${A}`)});return L.jsxs("div",{className:["app-error-state",`app-error-state--${p}`,`app-error-state--${d}`,`app-error-state--measure-${s}`,t].filter(Boolean).join(" "),role:"alert",children:[L.jsxs("div",{className:"app-error-state__content",children:[L.jsxs("div",{className:"app-error-state__header",children:[L.jsx("span",{className:"app-error-state__icon","aria-hidden":"true",children:i??L.jsx("span",{className:"material-symbols-rounded",children:"error"})}),L.jsx("h1",{ref:v,className:"app-error-state__title",tabIndex:-1,children:m})]}),o!=null&&L.jsx("p",{className:"app-error-state__description",children:o}),b&&L.jsx("p",{className:"app-error-state__mobile-description",children:l}),n!=null&&L.jsx("div",{className:"app-error-state__body",children:L.jsx("div",{className:"app-error-state__context",children:n})}),E.length>0&&L.jsx("div",{className:"app-error-state__actions",children:E}),c!=null&&L.jsx("div",{className:"app-error-state__secondary-message",children:c})]}),C&&L.jsxs("section",{className:"app-error-state__details","data-expanded":f,children:[L.jsxs("div",{className:"app-error-state__details-header",children:[L.jsx("div",{className:"app-error-state__details-title",children:S}),L.jsxs("div",{className:"app-error-state__details-actions",children:[x&&L.jsxs("button",{className:"app-error-state__details-copy",type:"button",onClick:k,children:[L.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:"content_copy"}),L.jsx("span",{children:g("errorState.copyDiagnostics")})]}),L.jsx("button",{className:"app-error-state__details-toggle",type:"button","aria-expanded":f,"aria-label":g(f?"errorState.collapseDiagnostics":"errorState.expandDiagnostics"),onClick:()=>y(D=>!D),children:L.jsx("span",{className:"material-symbols-rounded","aria-hidden":"true",children:f?"expand_more":"expand_less"})})]})]}),L.jsxs("div",{className:"app-error-state__details-body",children:[(((M=r==null?void 0:r.items)==null?void 0:M.length)??0)>0&&L.jsx("dl",{className:"app-error-state__detail-list",children:(F=r==null?void 0:r.items)==null?void 0:F.map((D,A)=>L.jsxs("div",{className:"app-error-state__detail-row",children:[L.jsx("dt",{className:"app-error-state__detail-label",children:D.label}),L.jsx("dd",{className:["app-error-state__detail-value",D.mono===!0?"app-error-state__detail-value--mono":void 0].filter(Boolean).join(" "),children:D.value})]},A))}),r==null?void 0:r.content]})]})]})}function fm({compact:e=!1,measure:t="compact",...n}){return L.jsx("div",{className:`app-error-state-screen ${e?"app-error-state-screen--compact":""}`,children:L.jsx(pm,{...n,measure:t,variant:"fullscreen"})})}function dT(e){return L.jsx("div",{className:"app-error-state-route",children:L.jsx(pm,{...e,variant:"route"})})}const Jk=(e,t)=>[`Message: ${(e==null?void 0:e.message)??"Unknown error"}`,"","Stack:",(e==null?void 0:e.stack)??"n/a","","Component stack:",(t==null?void 0:t.componentStack)??"n/a"].join(`
694
+ `);class Qk extends u.Component{constructor(){super(...arguments);H(this,"state",{})}static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,o){console.error("[app-error-boundary] render failed",n,o),this.setState({error:n,errorInfo:o})}render(){const{children:n,labels:o}=this.props,{error:r,errorInfo:a}=this.state;if(r==null)return n;const i=Jk(r,a);return L.jsx(fm,{actions:[{kind:"reload",label:o.reloadLabel,onClick:()=>window.location.reload()}],description:o.description,details:{copyText:i,items:[{label:o.copyLabel,mono:!0,value:r.message}],title:o.copyLabel},mobileDescription:o.mobileDescription,title:o.title})}}function Zk({children:e}){const{t}=un();return L.jsx(Qk,{labels:{copyLabel:t("errorState.diagnostics"),description:t("errorState.appCrashDescription"),mobileDescription:t("errorState.appCrashMobileDescription"),reloadLabel:t("errorState.actions.reload"),title:t("errorState.appCrashTitle")},children:e})}const ex=e=>{const t=e.trim(),n=t.startsWith("/")?t:`/${t}`;return n.endsWith("/")?n:`${n}/`},tx=e=>{const t=ex(e);return{scope:t,url:`${t}sw.js`}},nx=e=>{if(!("serviceWorker"in navigator))return;const t=tx(e.clientBase);window.addEventListener("load",()=>{navigator.serviceWorker.register(t.url,{scope:t.scope}).catch(n=>{console.warn("[pwa] service worker registration failed",n)})})},wc=80,ox=["input","textarea","select",'[contenteditable="true"]','[role="textbox"]'].join(","),Ta=()=>globalThis.visualViewport,gm=()=>{const e=document.activeElement;if(e instanceof HTMLElement)return e.matches(ox)?e:void 0},rx=()=>{const e=gm();e!=null&&e.scrollIntoView({block:"center",inline:"nearest",behavior:"auto"})},ax=()=>{var o,r;if(typeof window>"u")return;let e=0;const t=()=>{const a=Ta(),i=(a==null?void 0:a.height)??window.innerHeight,s=(a==null?void 0:a.offsetTop)??0,l=gm(),c=a==null||l==null?0:Math.max(0,window.innerHeight-i-s);return document.documentElement.style.setProperty("--oneworks-visual-viewport-height",`${Math.round(i)}px`),document.documentElement.style.setProperty("--oneworks-keyboard-inset-bottom",`${Math.round(c)}px`),document.documentElement.classList.toggle("has-mobile-keyboard",c>wc),c},n=()=>{window.cancelAnimationFrame(e),e=window.requestAnimationFrame(()=>{t()>wc&&rx()})};t(),(o=Ta())==null||o.addEventListener("resize",n),(r=Ta())==null||r.addEventListener("scroll",n),window.addEventListener("resize",n),window.addEventListener("orientationchange",n),document.addEventListener("focusin",n),document.addEventListener("focusout",()=>{window.setTimeout(t,120)})},ix="/standalone/devices",uT="/standalone/devices/settings",sx=e=>{try{return decodeURIComponent(e)}catch{return e}},lx=e=>{const t=e==null?void 0:e.trim();return t==null||t===""?void 0:t},cx=e=>{try{return new URL(e,"http://localhost")}catch{return}},mT=e=>`${ix}/${encodeURIComponent(e)}/debug`,dx=e=>{const t=cx(e.trim());if(t==null)return;const o=(t.pathname.replace(/\/+$/,"")||"/").split("/").filter(Boolean);if(o[0]!=="standalone"||o[1]!=="devices")return;if(o.length===2)return{kind:"devices",mode:"devices"};if(o.length===3&&o[2]==="settings")return{kind:"devices",mode:"settings"};const r=lx(o[2]==null?void 0:sx(o[2]));if(r!=null&&o.length===4&&o[3]==="debug")return{deviceId:r,kind:"devices",mode:"debug"}},ux=e=>dx(e)!=null,mx=()=>{var e;return Pe((e=globalThis.location)==null?void 0:e.origin)??rm()??bn()},Ot=e=>Dr(mx(),e),ws=()=>{var t;const e=(t=globalThis.location)==null?void 0:t.origin;return e==null||e==="null"||e.trim()===""?{}:{"X-OneWorks-Client-Origin":e}},pT=()=>Ct(Ot("/api/launcher/workspaces")),fT=e=>Ct(Ot("/api/launcher/workspaces/open"),{method:"POST",headers:{...Mr,...ws()},body:JSON.stringify({workspaceFolder:e}),timeoutMs:3e4}),px=e=>Ct(Ot(`/api/launcher/workspaces/${encodeURIComponent(e)}/connection`),{headers:ws(),timeoutMs:3e4}),Cc=e=>Ct(Ot(`/api/launcher/workspaces/${encodeURIComponent(e)}/restart`),{method:"POST",headers:ws(),timeoutMs:45e3}),gT=e=>Ct(Ot("/api/launcher/workspaces/forget"),{method:"POST",headers:Mr,body:JSON.stringify({workspaceFolder:e})}),hT=(e,t={})=>Ct(Ot("/api/launcher/workspaces/stop"),{method:"POST",headers:Mr,body:JSON.stringify({workspaceFolder:e,forget:t.forget===!0})}),vT=e=>{const t=new URL(Ot("/api/launcher/directories"));return e!=null&&e.trim()!==""&&t.searchParams.set("directory",e),Ct(t)},bT=(e,t)=>Ct(Ot("/api/launcher/workspaces/create"),{method:"POST",headers:Mr,body:JSON.stringify({parentDirectory:e,projectName:t})}),Di=u.createContext(null),fx=8e3,gx=e=>{const t=e.getBoundingClientRect();if(t.width<=0||t.height<=0)return!1;const n=window.getComputedStyle(e);return n.display!=="none"&&n.visibility!=="hidden"&&n.opacity!=="0"},hx=e=>Array.from(document.querySelectorAll(e)).some(gx);function yT(e,t={}){const n=u.useContext(Di),{timeoutMs:o=fx,visibleSelector:r}=t;u.useEffect(()=>{if(!e||n==null)return;let a=!1,i=!1,s=null,l=null,c=null,d=null;const m=()=>{c==null||c.disconnect(),c=null,d!=null&&(window.clearTimeout(d),d=null)},p=()=>{a||i||s!=null||l!=null||(s=window.requestAnimationFrame(()=>{s=null,l=window.requestAnimationFrame(()=>{l=null,!(a||i)&&(i=!0,m(),n())})}))},g=()=>{r!=null&&!hx(r)||p()};return r==null?p():(c=new MutationObserver(g),c.observe(document.documentElement,{attributeFilter:["aria-hidden","class","data-oneworks-sender-editor-ready","hidden","style"],attributes:!0,childList:!0,subtree:!0}),d=window.setTimeout(p,o),g()),()=>{a=!0,m(),s!=null&&window.cancelAnimationFrame(s),l!=null&&window.cancelAnimationFrame(l)}},[n,e,o,r])}const vx="desktop-workspace-startup",bx=3200,yx=["quickFind","dragFiles","newWindow","slashCommand","sidePanel","terminal","context","glass"];function Sx({appearance:e,phase:t="visible",subtitle:n,title:o}){const{t:r}=un(),a=u.useRef(null),i=u.useRef(null),[s,l]=u.useState(0),[c,d]=u.useState(!1),m=u.useMemo(()=>yx.map(g=>r(`desktopStartupOverlay.tips.${g}`)),[r]),p=m[s%m.length]??r("desktopStartupOverlay.defaultTip");return u.useEffect(()=>{const g=a.current;if(!(g==null||i.current!=null)){try{i.current=Uc(g,{appearance:e,background:"transparent",canvasClassName:"workspace-opening-overlay__icon-canvas",className:"workspace-opening-overlay__icon-loader",motion:!0,random:!1,seed:vx,shadow:!1,theme:"metal"}),d(!1)}catch(h){d(!0),console.warn("[workspace-opening] failed to mount opening animation",h)}return()=>{var h;(h=i.current)==null||h.dispose(),i.current=null}}},[e]),u.useEffect(()=>{var g;(g=i.current)==null||g.update({appearance:e})},[e]),u.useEffect(()=>{l(0);const g=window.setInterval(()=>{l(h=>h+1)},bx);return()=>window.clearInterval(g)},[n]),_i.createPortal(L.jsxs("div",{className:["workspace-opening-overlay",t==="exiting"?"is-exiting":"is-visible"].join(" "),"data-phase":t,role:"status","aria-live":"polite","aria-busy":"true",children:[L.jsxs("div",{className:"workspace-opening-overlay__content",children:[L.jsxs("div",{ref:a,className:["workspace-opening-overlay__icon",c?"is-fallback":""].filter(Boolean).join(" "),"aria-label":r("launcher.openingProjectAnimationLabel"),role:"img",children:[L.jsx("img",{className:"workspace-opening-overlay__icon-fallback workspace-opening-overlay__icon-fallback--light",src:"/favicon-metal-light.svg",alt:"",draggable:!1}),L.jsx("img",{className:"workspace-opening-overlay__icon-fallback workspace-opening-overlay__icon-fallback--dark",src:"/favicon-metal-dark.svg",alt:"",draggable:!1})]}),L.jsxs("div",{className:"workspace-opening-overlay__copy",children:[L.jsx("p",{className:"workspace-opening-overlay__eyebrow",children:r("desktopStartupOverlay.eyebrow")}),L.jsx("h2",{className:"workspace-opening-overlay__title",children:o}),n!=null&&n.trim()!==""&&L.jsx("p",{className:"workspace-opening-overlay__subtitle",title:n,children:n})]})]}),L.jsx("p",{className:"workspace-opening-overlay__tip",children:p})]}),document.body)}const ST=Ge(Number(localStorage.getItem("sidebarWidth"))||300),wT=Ge(!1),CT=Ge(!1),kT=Ge(!1);Ge(void 0);const wx=e=>e==="light"||e==="dark"||e==="system",Cx=e=>wx(e)?e:"system",kc=Ge("system"),kx=Ge(e=>e(kc),(e,t,n)=>{t(kc,Cx(n))}),xx=(e,t)=>{try{const n=localStorage.getItem(e);if(n==="true")return!0;if(n==="false")return!1}catch{}return t},hm=(e,t)=>{const n=Ge(xx(e,t));return Ge(o=>o(n),(o,r,a)=>{const i=a===!0;r(n,i);try{localStorage.setItem(e,String(i))}catch{}})},Px=(e,t)=>{try{const n=localStorage.getItem(e);if(n==null||n.trim()==="")return t;const o=Number(n);if(Number.isInteger(o)&&o>=0)return o}catch{}return t},vm=(e,t)=>{const n=Ge(Px(e,t));return Ge(o=>o(n),(o,r,a)=>{const i=Number.isInteger(a)&&a>=0?a:t;r(n,i);try{localStorage.setItem(e,String(i))}catch{}})},bm="oneworks_sender_header_default_display",ym=e=>e==="expanded"||e==="collapsed",Tx=()=>{try{const e=localStorage.getItem(bm);if(e!=null&&ym(e))return e}catch{}return"collapsed"},xc=Ge(Tx()),xT=Ge(e=>e(xc),(e,t,n)=>{const o=ym(n)?n:"collapsed";t(xc,o);try{localStorage.setItem(bm,o)}catch{}}),Ex="oneworks_show_announcements",Rx="oneworks_show_new_session_starter_list",Ax="oneworks_session_list_search_threshold",Dx="oneworks_interaction_panel_pinned_tab_limit",Mx=5,Ox=4,PT=hm(Ex,!0),TT=hm(Rx,!0),ET=vm(Ax,Mx),RT=vm(Dx,Ox),Fx=()=>typeof window<"u"&&typeof window.matchMedia=="function"&&window.matchMedia("(prefers-color-scheme: dark)").matches;function Ix(){const e=Ap(kx),[t,n]=u.useState(Fx);u.useEffect(()=>{if(e!=="system"||typeof window>"u"||typeof window.matchMedia!="function")return;const r=window.matchMedia("(prefers-color-scheme: dark)"),a=()=>n(r.matches);return a(),r.addEventListener("change",a),()=>r.removeEventListener("change",a)},[e]);const o=e==="dark"||e==="system"&&t?"dark":"light";return u.useMemo(()=>({isDarkMode:o==="dark",resolvedThemeMode:o,themeMode:e}),[o,e])}function AT(e){u.useEffect(()=>{const t=window.oneworksDesktop,n=t==null?void 0:t.setThemeSource;if(n==null)return;n(e).catch(()=>{});const o=t==null?void 0:t.updateDesktopSettings;if(o==null)return;let r=!1;return(async()=>{var i;try{const s=await((i=t==null?void 0:t.getDesktopSettings)==null?void 0:i.call(t));if(r||(s==null?void 0:s.iconAppearance)===e)return;await o({iconAppearance:e})}catch{}})(),()=>{r=!0}},[e])}const _x=4e3,Lx=new Set(["running","waiting_input"]),en=e=>e!=null&&typeof e=="object"&&!Array.isArray(e),Nx=e=>en(e)&&en(e.existing)&&en(e.requested)&&typeof e.workspaceFolder=="string"&&typeof e.restartable=="boolean",Ea=e=>e instanceof gt&&e.code==="workspace_server_version_conflict"&&Nx(e.details)?e.details:void 0,$x=e=>en(e)&&e.success===!0&&"data"in e?e.data:e,Bx=e=>{if(!en(e)||typeof e.id!="string"||e.id.trim()==="")return;const t=typeof e.status=="string"&&Lx.has(e.status)?e.status:void 0;if(t==null)return;const n=typeof e.title=="string"&&e.title.trim()!==""?e.title.trim():void 0;return{id:e.id,status:t,...n==null?{}:{title:n}}},Sm=e=>Array.isArray(e)?e.map(Bx).filter(t=>t!=null):[],wm=async e=>{const t=new AbortController,n=globalThis.setTimeout(()=>t.abort(),_x);try{const o=await fetch(e,{credentials:"include",signal:t.signal});if(!o.ok)return;const r=await o.text();if(r.trim()==="")return;try{return $x(JSON.parse(r))}catch{return}}catch{return}finally{globalThis.clearTimeout(n)}},jx=async e=>{const t=await wm(Dr(e,"/api/workspace/activity"));if(!en(t))return{status:"unknown"};const n=t;if(n.idle===!0)return{status:"idle"};if(n.idle===!1){const o=Sm(n.activeSessions);return{status:"busy",activeSessionCount:typeof n.activeSessionCount=="number"?n.activeSessionCount:o.length>0?o.length:1,activeSessions:o}}return{status:"unknown"}},Wx=async e=>{const t=await wm(Dr(e,"/api/sessions")),n=t==null?void 0:t.sessions;if(!Array.isArray(n))return{status:"unknown"};const o=Sm(n);return o.length>0?{status:"busy",activeSessionCount:o.length,activeSessions:o}:{status:"idle"}},Hx=async e=>{const t=Pe(e.existing.serverBaseUrl);if(t==null)return{status:"unknown"};const n=await jx(t);return n.status==="unknown"?await Wx(t):n},Ra=e=>{const t=Pe(e.serverBaseUrl);if(t==null)throw new Error("Workspace server returned an invalid URL.");gs({__ONEWORKS_PROJECT_SERVER_BASE_URL__:t,__ONEWORKS_PROJECT_SERVER_ROLE__:"workspace",__ONEWORKS_PROJECT_WORKSPACE_FOLDER__:e.workspaceFolder,__ONEWORKS_PROJECT_WORKSPACE_ID__:e.workspaceId})},Pc=e=>e==null||e.trim()===""?"n/a":(e.startsWith("git:")||e.startsWith("git-runtime:"))&&e.length>38?`${e.slice(0,38)}...`:e,Ux=e=>{var n;const t=(n=e.title)==null?void 0:n.trim();return t==null||t===""?e.id:t},Cm=(e,t)=>{const n=(e==null?void 0:e.trim())===""||e==null?"n/a":e,o=(t==null?void 0:t.trim())===""||t==null?"n/a":t;return n===o?n:`${n} -> ${o}`},Vx=(e,t)=>[`${t.runtimeCompatibilityVersion}: ${Cm(e.existing.runtimeCompatibilityVersion,e.requested.runtimeCompatibilityVersion)}`,`${t.runningVersion}: ${e.existing.sourceVersionId??e.existing.implementationId??"n/a"}`,`${t.requestedVersion}: ${e.requested.sourceVersionId??e.requested.implementationId??"n/a"}`,`${t.serverUrl}: ${e.existing.serverBaseUrl??"n/a"}`,`${t.processId}: ${e.existing.pid??"n/a"}`].join(`
695
+ `),zx=()=>typeof window>"u"||typeof window.matchMedia!="function"||!window.matchMedia("(max-width: 520px)").matches;function qx({details:e,isRestarting:t,message:n,restartActivity:o,restartErrorMessage:r,onRestart:a,onRetry:i}){const{t:s}=un(),l=(o==null?void 0:o.status)==="busy"?o:void 0,c=e==null?n:s("workspaceConnection.versionConflictTitle"),[d,m]=u.useState(zx),p=u.useMemo(()=>({processId:s("workspaceConnection.processId"),requestedVersion:s("workspaceConnection.requestedVersion"),runtimeCompatibilityVersion:s("workspaceConnection.runtimeCompatibilityVersion"),runningVersion:s("workspaceConnection.runningVersion"),serverUrl:s("workspaceConnection.serverUrl")}),[s]),g=u.useMemo(()=>e==null?[]:[{label:p.runtimeCompatibilityVersion,mono:!0,value:Cm(e.existing.runtimeCompatibilityVersion,e.requested.runtimeCompatibilityVersion)},{label:p.runningVersion,mono:!0,value:Pc(e.existing.sourceVersionId??e.existing.implementationId)},{label:p.requestedVersion,mono:!0,value:Pc(e.requested.sourceVersionId??e.requested.implementationId)},{label:p.serverUrl,mono:!0,value:e.existing.serverBaseUrl??"n/a"},{label:p.processId,mono:!0,value:e.existing.pid??"n/a"}],[e,p]),h=u.useMemo(()=>{const f=new Map;for(const y of(l==null?void 0:l.activeSessions)??[]){const b=y.status??"unknown";f.set(b,(f.get(b)??0)+1)}return Array.from(f.entries())},[l==null?void 0:l.activeSessions]),v=u.useMemo(()=>[...(e==null?void 0:e.restartable)===!0?[{kind:"restart",loading:t,onClick:a}]:[],{disabled:t,kind:"retry",onClick:i}],[e==null?void 0:e.restartable,t,a,i]);return u.useEffect(()=>{if(typeof window>"u"||typeof window.matchMedia!="function")return;const f=window.matchMedia("(max-width: 520px)"),y=()=>m(!f.matches);return y(),f.addEventListener("change",y),()=>f.removeEventListener("change",y)},[]),L.jsx(fm,{actions:v,className:"workspace-connection-gate__state",context:l==null?void 0:L.jsxs("div",{className:"workspace-connection-gate__busy",children:[L.jsxs("div",{className:"workspace-connection-gate__busy-header",children:[L.jsx("div",{className:"workspace-connection-gate__busy-title",children:s("workspaceConnection.busyTitle",{count:l.activeSessionCount})}),L.jsx("div",{className:"workspace-connection-gate__busy-badge",children:s("workspaceConnection.autoRestartPaused")})]}),L.jsx("p",{className:"workspace-connection-gate__busy-description",children:s("workspaceConnection.busyDescription")}),L.jsxs("div",{className:"workspace-connection-gate__busy-stats","aria-label":s("workspaceConnection.busyStatsLabel"),children:[L.jsx("span",{children:s("workspaceConnection.busyTotal",{count:l.activeSessionCount})}),h.map(([f,y])=>L.jsxs("span",{children:[f==="unknown"?s("workspaceConnection.unknownStatus"):s(`common.status.${f}`,{defaultValue:f})," ",y]},f))]}),l.activeSessions.length>0&&L.jsxs(L.Fragment,{children:[L.jsx("button",{className:"workspace-connection-gate__busy-toggle",type:"button","aria-expanded":d,onClick:()=>m(f=>!f),children:s(d?"workspaceConnection.hideActiveSessions":"workspaceConnection.showActiveSessions")}),d&&L.jsx("ul",{className:"workspace-connection-gate__busy-list",children:l.activeSessions.map(f=>L.jsxs("li",{children:[L.jsxs("span",{className:"workspace-connection-gate__busy-session-main",children:[L.jsx("span",{className:"workspace-connection-gate__busy-session-title",children:Ux(f)}),L.jsx("span",{className:"workspace-connection-gate__busy-session-id",children:f.id})]}),L.jsx("span",{className:"workspace-connection-gate__busy-session-status",children:f.status==null?s("workspaceConnection.unknownStatus"):s(`common.status.${f.status}`,{defaultValue:f.status})})]},f.id))})]})]}),description:e==null?void 0:s("workspaceConnection.versionConflictDescription"),details:e==null?void 0:{copyText:Vx(e,p),items:g,title:s("workspaceConnection.diagnosticsTitle")},measure:"wide",mobileDescription:e==null?void 0:s("workspaceConnection.mobileVersionConflictSummary"),secondaryMessage:r,title:c})}const Gx=720,Kx=420,Yx=8e3,Xx=e=>JSON.stringify({existingImplementationId:e.existing.implementationId,existingLaunchConfigHash:e.existing.launchConfigHash,existingServerBaseUrl:e.existing.serverBaseUrl,requestedImplementationId:e.requested.implementationId,requestedLaunchConfigHash:e.requested.launchConfigHash,workspaceFolder:e.workspaceFolder});function Jx({children:e,workspaceId:t}){const{t:n}=un(),{resolvedThemeMode:o}=Ix(),[r,a]=u.useState({status:"loading"}),[i,s]=u.useState(),[l,c]=u.useState(!1),[d,m]=u.useState("visible"),p=u.useContext(Di),g=u.useRef(performance.now()),h=u.useRef(!1),v=u.useRef(null),f=u.useRef(null),y=u.useRef(),b=u.useRef(),S=u.useCallback(()=>{v.current!=null&&(window.clearTimeout(v.current),v.current=null),f.current!=null&&(window.clearTimeout(f.current),f.current=null)},[]),C=u.useCallback(()=>{S(),g.current=performance.now(),h.current=!1,m("visible")},[S]),w=u.useCallback(()=>{if(h.current)return;h.current=!0;const D=performance.now()-g.current,A=Math.max(0,Gx-D);v.current=window.setTimeout(()=>{v.current=null,m("exiting"),f.current=window.setTimeout(()=>{f.current=null,m("hidden")},Kx)},A)},[]),x=u.useCallback(()=>{w(),p==null||p()},[p,w]),k=u.useCallback(async D=>{if(D.restartable!==!0)return;const A=Xx(D);if(y.current===A)return;const _=await Hx(D);if(b.current=_,_.status==="idle")return y.current=A,await Cc(t)},[t]),E=u.useCallback(async()=>{try{return await px(t)}catch(D){const A=Ea(D);if(A!=null)try{const _=await k(A);if(_!=null)return _}catch{}throw D}},[k,t]),T=u.useCallback(async()=>{C(),a({status:"loading"}),s(void 0),b.current=void 0;try{const D=await E();Ra(D),a({status:"ready"})}catch(D){const A=Ea(D),_=b.current;b.current=void 0,a({details:A,message:D instanceof Error&&D.message.trim()!==""?D.message:"Failed to open workspace.",..._==null?{}:{restartActivity:_},status:"error"})}},[E,C]);u.useEffect(()=>{let D=!1;return(async()=>{C(),a({status:"loading"}),s(void 0),b.current=void 0;try{const A=await E();if(D)return;Ra(A),a({status:"ready"})}catch(A){if(D)return;const _=Ea(A),N=b.current;b.current=void 0,a({details:_,status:"error",...N==null?{}:{restartActivity:N},message:A instanceof Error&&A.message.trim()!==""?A.message:"Failed to open workspace."})}})(),()=>{D=!0}},[E,C]);const P=u.useCallback(async()=>{var D;if(!(r.status!=="error"||((D=r.details)==null?void 0:D.restartable)!==!0)){c(!0),s(void 0);try{const A=await Cc(t);Ra(A),a({status:"ready"})}catch(A){s(Hk(A,n("workspaceConnection.restartFailed")))}finally{c(!1)}}},[r,n,t]);if(u.useEffect(()=>()=>S(),[S]),u.useEffect(()=>{if(r.status!=="ready")return;const D=window.setTimeout(x,Yx);return()=>window.clearTimeout(D)},[x,r.status]),r.status==="error")return L.jsx(qx,{details:r.details,isRestarting:l,message:r.message,restartActivity:r.restartActivity,restartErrorMessage:i,onRestart:()=>void P(),onRetry:()=>void T()});const M=r.status==="ready",F=d!=="hidden";return L.jsxs(Di.Provider,{value:M?x:null,children:[M?e:L.jsx("div",{className:"workspace-connection-gate workspace-connection-gate--loading"}),F&&L.jsx(Sx,{appearance:o,phase:d==="exiting"?"exiting":"visible",title:n("desktopStartupOverlay.title")})]})}const Qx=u.lazy(async()=>({default:(await ms(async()=>{const{LauncherApp:e}=await import("./LauncherApp-ByUpDwod.js");return{LauncherApp:e}},__vite__mapDeps([0,1,2,3]))).LauncherApp})),Zx=u.lazy(async()=>({default:(await ms(async()=>{const{StandaloneMobileDebugRoute:e}=await import("./StandaloneMobileDebugRoute--yiQ5EdW.js");return{StandaloneMobileDebugRoute:e}},__vite__mapDeps([4,1,5,2,6,7,8,9,10,11,12,13,14,3,15]))).StandaloneMobileDebugRoute})),Aa=u.lazy(async()=>({default:(await ms(async()=>{const{WorkspaceApp:e}=await import("./WorkspaceApp-l-h_IsMp.js").then(t=>t.W);return{WorkspaceApp:e}},__vite__mapDeps([16,1,2,6,7,8,17,18]))).WorkspaceApp})),eP=e=>!1;function tP(){return L.jsx(Da,{to:"/",replace:!0})}function nP(){const e=Tp(),t=em(),n=Ek(),o=eP(e.search),r=u.useRef(o);return e.pathname==="/__component-lab"?L.jsx(tP,{}):ux(`${e.pathname}${e.search}`)?L.jsx(u.Suspense,{fallback:null,children:L.jsx(Zx,{})}):n!=null?L.jsx(u.Suspense,{fallback:null,children:L.jsx(Jx,{workspaceId:n,children:L.jsx(Aa,{})})}):r.current?L.jsx(u.Suspense,{fallback:null,children:L.jsx(Aa,{})}):e.pathname==="/launcher"?window.oneworksDesktop==null&&!t?L.jsx(Da,{to:"/",replace:!0}):L.jsx(u.Suspense,{fallback:null,children:L.jsx(Qx,{})}):window.oneworksDesktop!=null&&Zu()&&!t?L.jsx(u.Suspense,{fallback:null,children:L.jsx(Aa,{})}):L.jsx(Da,{to:{pathname:"/launcher",search:e.search,hash:e.hash},replace:!0})}const km={newChat:"New Chat",search:"Search title or ID...",sessions:"Sessions",knowledgeBase:"Data Assets",pluginStore:"Plugin Marketplace",scheduledTasks:"Scheduled Tasks",archive:"Archive",archivedSessions:"Archived Sessions",theme:"Theme Mode",themeLight:"Light",themeDark:"Dark",themeSystem:"System",settings:"Settings",navigation:"Navigation",language:"Language",reset:"Reset",automation:"Automation",benchmark:"Benchmark",delete:"Delete",deleteSession:"Delete Session",deleteSessionConfirm:"Are you sure you want to delete this session? This action cannot be undone.",restore:"Restore",restoreSuccess:"Restored successfully",restoreFailed:"Failed to restore",batchRestore:"Batch Restore",batchRestoreSuccess:"Batch restored successfully",batchRestoreFailed:"Failed to restore some sessions",cancel:"Cancel",continue:"Continue",confirm:"Confirm",clear:"Clear",select:"Select",confirmAction:"Confirm {{action}}",startNewChat:"No active sessions found. Start a new chat!",back:"Back",backToHome:"Back to Home",noData:"No data",noSessions:"No matching sessions found",noArchivedSessions:"No archived sessions",sessionNotFound:"Session not found",roomNotFound:"Agent room not found",expand:"Expand sidebar",dragResize:"Drag to resize",selectOrCreateSession:"Please select or create a session to start chatting",batchMode:"Batch Mode",cancelBatch:"Cancel Batch Mode",batchArchive:"Batch Archive",archiveConfirm:"Are you sure you want to archive the selected {{count}} chats?",alreadyInNewChat:"You are already in a new chat",creatingChat:"Creating",batchDelete:"Batch Delete",batchDeleteSuccess:"Batch deleted successfully",batchDeleteFailed:"Failed to delete some sessions",selectedCount:"{{count}} sessions selected",selectAll:"Select all",deselectAll:"Deselect all",collapse:"Collapse sidebar",close:"Close",enterFullscreen:"Fullscreen",exitFullscreen:"Exit fullscreen",expandPanel:"Expand panel",collapsePanel:"Collapse panel",sort:"Sort order",tags:"Tags",allTags:"All tags",allAdapters:"All adapters",searchActions:"Search and filters",expandItem:"Expand item",collapseItem:"Collapse item",expandChildren:"Expand children",collapseChildren:"Collapse children",expandGroup:"Expand group",collapseGroup:"Collapse group",childSummary:"{{count}} child sessions",childStatusItem:"{{count}} {{status}}",deleteConfirm:"Are you sure you want to delete the selected {{count}} chats?",deleteSuccess:"Deleted successfully",deleteFailed:"Failed to delete",operationFailed:"Operation failed",openInNewWindow:"Open in New Window",notSupportedYet:"Not supported yet",notifications:{queueLabel:"Notification queue",close:"Close message",mutePlugin:"Mute messages from {{plugin}}"},copyFailed:"Copy failed",star:"Star",unstar:"Unstar",rename:"Rename",renameSession:"Rename session",addTag:"Tag",copySessionLink:"Copy session link",copySessionId:"Copy session ID",copyResumeCommand:"Copy resume command",copyWorkspacePath:"Copy workspace path",copySessionMarkdown:"Copy session as Markdown",forkCurrentWorkspace:"Fork to current workspace",deriveNewWorktree:"Derive to new worktree",createScheduledTask:"Create scheduled task",moreActions:"More actions",createdAt:"Created at",sessionLinkCopied:"Session link copied to clipboard",resumeCommandCopied:"Resume command copied to clipboard",sessionIdCopied:"Session ID copied to clipboard",workspacePathCopied:"Workspace path copied to clipboard",sessionMarkdownCopied:"Session Markdown copied to clipboard",doubleClickToCopy:"Double click to copy Session ID",status:{running:"Running",completed:"Done",failed:"Failed",terminated:"Stopped",waiting_input:"Waiting"}},xm={actions:{changeServer:"Switch",connect:"Connect",home:"Home",reload:"Reload",restart:"Restart",retry:"Retry"},appCrashDescription:"The interface hit a rendering error. The current page state may be incomplete; reloading usually restores it.",appCrashMobileDescription:"The interface hit an error. Reload the page to continue.",appCrashTitle:"Page error",configLoadFailedDescription:"Configuration data is temporarily unavailable. Reload configuration or return home and continue other work.",connectionIssueTitle:"Connection failed",copyDiagnostics:"Copy",copyDiagnosticsFailed:"Failed to copy diagnostics",copyDiagnosticsSuccess:"Diagnostics copied",details:"Details",diagnostics:"Diagnostics",collapseDiagnostics:"Collapse diagnostics",expandDiagnostics:"Expand diagnostics",roomNotFoundDescription:"This agent room was not found. It may have been deleted, archived, or not synced by the current service yet.",roomId:"Room ID",routeNotFoundDescription:"No page matches the current address. Return home or check whether the link is complete.",routeNotFoundMobileDescription:"No page matches this address.",routeNotFoundTitle:"Page not found",sessionNotFoundDescription:"This session was not found. It may have been deleted, archived, or not synced by the current service yet.",sessionId:"Session ID"},Pm={open:"Sync Data",title:"Sync Data",settingsTitle:"Browser Data",settingsDescription:"Sync data used by web sign-in from browsers or backups.",summaryTitle:"Start with data that can be migrated safely",summaryDescription:"This version syncs saved passwords from CSV files or detected Chromium-based browsers and imports verification codes from Authenticator standard backups. Password manager extensions will be connected as a later sync item.",securityTitle:"Security",securityDescription:"OneWorks does not silently read third-party password manager vaults, browser extension data, or 2FA secrets. Syncing passwords may ask for system permission to access the selected browser secure storage. Imported data is encrypted by desktop secure storage and kept on this device.",actions:{comingSoon:"Coming Soon",chooseFile:"Choose file",importBackup:"Import Backup",manage:"View",sync:"Sync"},status:{available:"Available",planned:"Planned"},savedPasswords:{title:"Saved passwords",description:"Sync saved passwords from detected local browser profiles into the OneWorks encrypted vault. {{count}} passwords are saved.",importSuccess:"Synced {{imported}} passwords, updated {{updated}}, skipped {{skipped}}; {{duplicates}} duplicate accounts were handled by your choice, and {{failed}} could not be decrypted.",importFailed:"Failed to sync browser passwords. Make sure the browser is installed and system access to browser secure storage is allowed.",importCsvSuccess:"Imported {{imported}} passwords from CSV, updated {{updated}}, skipped {{skipped}}; {{duplicates}} duplicate accounts were handled by your choice.",importCsvFailed:"Failed to import the password CSV. Make sure the file contains standard columns such as url, username, and password.",importSourceSuccess:"Synced {{imported}} passwords from {{source}}, updated {{updated}}, skipped {{skipped}}; {{duplicates}} duplicate accounts were handled by your choice, and {{failed}} could not be decrypted.",importSourceFailed:"Failed to sync {{source}} passwords. Make sure the browser is installed and system access to browser secure storage is allowed.",desktopRestartRequired:"Restart the desktop app to load the new password import capability.",csvTitle:"CSV password file",csvDescription:"Import passwords from a CSV file exported by Chrome, Edge, Firefox, Safari, or a password manager.",sourceTitle:"{{source}} passwords",sourceDescription:"{{profiles}} profiles detected. Sync saved passwords from local {{source}} profiles.",sourceFallbackDescription:"If {{source}} is installed on this device, you can try syncing saved passwords from the default profile.",openManager:"Password manager",managerTitle:"Saved passwords",searchPlaceholder:"Search passwords",detailSearchPlaceholder:"Search accounts for this site",empty:"No saved passwords",emptyDetail:"No matching accounts",unavailable:"Saved password management is only available in the desktop app",settingsTitle:"Password settings",passwordSectionTitle:"Passwords",passwordSectionDescription:"Create, save, and manage passwords to sign in to websites and apps.",groupCredentialCount:"{{count}} accounts",authenticationReason:"Confirm to view saved passwords",authenticationFailed:"Password confirmation failed. Password details were not opened.",authenticationUnavailable:"System password confirmation is unavailable on this device, so password details cannot be opened.",timeoutTitle:"OneWorks password management timed out",timeoutDescription:"To keep your passwords secure, OneWorks password management locks after {{minutes}} minutes of inactivity.",timeoutOk:"Got it",usernameLabel:"Username",passwordLabel:"Password",websiteLabel:"Website",noteLabel:"Note",noNote:"No note added",edit:"Edit",delete:"Delete",save:"Save",editTitle:"Edit account",websiteRequired:"Enter the website URL",passwordEditHint:"Leave blank to keep the current password",updateSuccess:"Account updated",updateFailed:"Failed to update account",deleteConfirmTitle:"Delete this account?",deleteConfirmDescription:"This account cannot be restored from saved passwords after deletion.",deleteSuccess:"Account deleted",copyUsername:"Copy username",copyPassword:"Copy password",reveal:"Show",hide:"Hide",noUsername:"No username",usernameCopied:"Username copied",passwordCopied:"Password copied",copyFailed:"Copy failed",revealFailed:"Failed to show password",managerLoadFailed:"Failed to load saved passwords",settingsOfferToSaveTitle:"Offer to save passwords and verification codes",settingsOfferToSaveDescription:"The saved-data prompt policy is kept for web sign-in flows.",settingsSaveFailed:"Failed to save password settings",settingsAutoSignInTitle:"Auto sign-in",settingsAutoSignInDescription:"The auto-fill policy is kept after a matching account is found.",settingsRequireAuthTitle:"Confirm identity before viewing or copying passwords",settingsRequireAuthDescription:"Entering details, showing, or copying passwords stays protected by short system authentication.",settingsCsvImportTitle:"Import CSV passwords",settingsCsvImportDescription:"Import from a CSV file exported by a browser or password manager. Duplicate accounts ask whether to overwrite or skip.",settingsImportTitle:"Sync browser passwords",settingsImportDescription:"Sync from local browser profiles. Duplicate accounts ask whether to overwrite or skip.",settingsImportSourceTitle:"Sync {{source}} passwords",settingsImportSourceDescription:"{{profiles}} profiles detected. Duplicate accounts ask whether to overwrite or skip.",settingsImportSourceFallbackDescription:"If {{source}} is installed on this device, you can try syncing from the default profile. Restart the desktop app if syncing still fails.",settingsAuthCacheTitle:"Short authentication window",settingsAuthCacheDescription:"Authentication is kept only in current desktop process memory and expires automatically.",settingsAuthCacheValue:"5 minutes"},passwordManagerExtensions:{title:"Password manager extensions",description:"Sync enabled state for password manager extensions such as 1Password and Bitwarden. Secrets stay managed by each extension."},authenticator:{title:"Verification codes / Authenticator",description:"Import one-time verification codes from an Authenticator standard backup. {{count}} verification codes are saved.",importSuccess:"Imported {{imported}} verification codes, updated {{updated}}, skipped {{skipped}}.",importFailed:"Failed to import the verification-code backup. Make sure the file contains standard otpauth:// records."}},Tm={filters:{all:"All",activeProject:"Project: {{project}}",activeSession:"Session: {{session}}",activeSessionStatus:"Status: {{status}}",activeSessions:"Active",allSessionStatuses:"All",allProjects:"All Projects",allSessions:"All Sessions",archivedSessions:"Archived",currentProject:"Current Project",filter:"Filter records",filterActive:"Filtered: {{scope}}",noProjects:"No projects",noSessions:"No sessions",projectLabel:"Project",scopeLabel:"Scope",sessionLabel:"Session",sessionStatusLabel:"Status"},scope:{project:"Project",session:"Session"},history:{title:"History",searchPlaceholder:"Search history",empty:"No history yet",emptyFiltered:"No history matches the current filters",unavailable:"History is only available in the desktop app",loadFailed:"Failed to load history",openFailed:"Failed to open history item",visitCount:"{{count}} visits"},downloads:{title:"Downloads",searchPlaceholder:"Search downloads",empty:"No downloads yet",emptyFiltered:"No downloads match the current filters",unavailable:"Downloads are only available in the desktop app",loadFailed:"Failed to load downloads",openFailed:"Failed to open download",revealFailed:"Failed to reveal download",unknownFile:"Untitled download",open:"Open",reveal:"Show in folder",status:{cancelled:"Cancelled",completed:"Completed",interrupted:"Interrupted",progressing:"Downloading"}}},Em={newChat:"New Chat",conversations:"Conversations",sessions:"Sessions",archivedSessions:"Archived Sessions",more:"Menu",settings:"Settings",theme:"Theme Mode",language:"Language",expandSidebar:"Expand sidebar",collapseSidebar:"Collapse sidebar",collapsePanel:"Collapse panel",back:"Back",forward:"Forward",updateAvailable:"Update available: {{version}}",updateDownloading:"Downloading update: {{progress}}",updateReady:"Restart to update: {{version}}",moduleUpdateAvailable:"Core/adapter updates available: {{count}}"},Rm={source:"History Import",title:"Imported history is ready",description:"Found {{count}} {{adapters}} history sessions for this project. Open one to review it.",manualImport:"Import Project History",importing:"Importing History",emptyTitle:"No importable history found",emptyDescription:"No Codex or Claude Code history sessions were found for the current project.",failed:"Failed to import native history",failedDescription:"Try again later, or check the local Codex / Claude Code history directories.",open:"Open imported session",dismiss:"Later",platforms:{codex:"Codex",claudeCode:"Claude Code"},quickEntry:{title:"Import current project history",description:"Review candidate sessions and file sizes from local Codex and Claude Code history before importing.",manage:"Review Candidates"},manager:{allPlatforms:"All",importTitle:"Import scope",importDescription:"Preview candidate file sizes per platform first, then manually import a platform. Only history for this project or the same Git project is matched.",globalAutoImportTitle:"Automatic Import",globalAutoImportDescription:"Default automatic import setting for all adapters. Per-adapter settings take precedence.",globalSizeLimitTitle:"Automatic Import Size Limit",globalSizeLimitDescription:"Skip history files above this size during automatic import. Leave empty for no limit.",adapterAutoImportTitle:"{{platform}} Automatic Import",adapterAutoImportOverride:"This adapter uses its own switch, which takes precedence over the global setting.",adapterAutoImportInherited:"This adapter inherits the global setting: {{state}}.",adapterSizeLimitTitle:"{{platform}} Size Limit",effectiveSizeLimit:"Effective automatic import limit: {{size}}.",inheritGlobal:"Inherit Global",enabled:"Enabled",disabled:"Disabled",unlimited:"Unlimited",importSelected:"Import Selected Platforms",importAdapterTitle:"Import {{platform}}",importAdapter:"Import {{platform}}",importAll:"Import All",previewTitle:"Importable History",previewDescription:"Shows history sessions that can be imported for this project. Only metadata and file sizes are read.",previewLoading:"Scanning candidate files and sizes",previewPending:"Candidate scan has not finished yet",previewSummary:"Scanned {{scanned}} history files, matched {{files}} candidates, total {{total}}, largest {{largest}}, {{largeFiles}} large files.",refreshPreview:"Refresh",searchPlaceholder:"Search title, folder, or source file",filterTitle:"Filters",filterScope:"Scope",filterAll:"All",filterSessions:"Filter sessions",filterActive:"Filtered: {{scope}}",threadScope:"Type",threadScopeUser:"User sessions",threadScopeSubagent:"Subtasks",projectScope:"Project",projectScopeCurrent:"Current Project",projectScopeGlobal:"Global",createdTime:"Created",updatedTime:"Modified",timeRangeStart:"Start",timeRangeEnd:"End",timeRangeBetween:"{{from}} - {{to}}",timeRangeFrom:"after {{time}}",timeRangeTo:"before {{time}}",timeFilterLabel:"{{field}}: {{range}}",timeSort:"Time Sort",timeSortActivity:"Composite",timeSortFilterLabel:"Sort: {{sort}}",timePresetLastDay:"Last day",timePresetLastWeek:"Last week",timePresetLast30Days:"Last 30 days",timePresetLast90Days:"Last 90 days",archivedFilter:"Filter archived sessions",archivedFilterActive:"Filtered: archived sessions",unarchivedFilterCondition:"Unarchived sessions",archivedFilterCondition:"Archived sessions",emptySearchResults:"No candidates match this search",loadMore:"Load more",copyCodexThreadLink:"Copy Codex thread link",codexThreadLinkCopied:"Codex thread link copied to clipboard",importOne:"Import",alreadyImported:"Imported",emptyCandidates:"No {{platform}} history sessions were found for this project",largeFileSize:"Large {{size}}",autoSkippedSize:"Auto skips {{size}}",autoSkippedSizeTooltip:"Exceeds the automatic import size limit, so auto import skips this file. Manual import is still available. Size: {{size}}",importedCount:"{{count}}",resultTitle:"External Sessions",resultPending:"No import has been run from this page yet. Existing external sessions for this project are listed below.",resultSummary:"Matched {{files}} history files, linked {{sessions}} sessions, and added {{events}} events.",emptySessions:"No imported external sessions for this project",archived:"Archived",togglePlatform:"Select {{platform}}",platformDescriptions:{codex:"Scans ~/.codex/sessions and archived_sessions.","claude-code":"Scans Claude Code sessions under ~/.claude/projects."}}},Am={menuLabel:"Check Updates",title:"Check Updates",check:"Check Updates",checkFailed:"Failed to check module updates",installFailed:"Failed to install module update",installSuccess:"{{name}} {{version}} was written to the runtime cache",groupInstallFailed:"Failed to install group updates",groupInstallSuccess:"{{group}} updated {{count}} modules",channelSaved:"Update channel saved",channelSaveFailed:"Failed to save update channel",update:"Update",updateAll:"Update All",updateGroup:"Update Group",installing:"Updating",allInstalling:"Updating All",groupInstalling:"Updating",allInstallFailed:"Failed to install all module updates",allInstallSuccess:"Updated {{count}} modules",confirmTitle:"Review update changes",confirmBatchTitle:"Review {{count}} module updates",confirmOk:"Update",confirmCancel:"Cancel",reviewTitle:"Update Contents",reviewEmpty:"No updateable modules.",changelogSummaryTitle:"Update Contents",changelogSummaryRange:"{{count}} modules",changelogSummaryIntro:"This update will install **{{count}} modules**. The changes below are grouped by feature updates and fixes. They are written to the runtime cache first and take effect after the matching runtime restarts or a new session starts.",changelogSummaryFeatures:"Features",changelogSummaryFixes:"Fixes",changelogSummaryMarkers:{important:"Important",fix:"Fix",verification:"Verified",other:"Other"},changelogSummaryOther:"Other Updates",changelogSummaryMoreItems:"{{count}} more items. Open the full changelog for details.",changelogSummaryGroups:"Scope",changelogSummaryVersions:"Version changes",changelogSummaryGroupCount:"{{count}} modules",changelogSummaryMultipleVersions:"multiple versions",changelogDetailTitle:"Changelog",changelogSummaryDetailHint:"Available package changelogs have been merged into this summary.",changelogSummaryMissingHint:"No package-level changelog was found for the exact version ranges, so this summary was generated from groups and version ranges.",changelogRange:"{{from}} -> {{to}}",changelogEntryTitle:"{{version}} changelog",changelogMissing:"No changelog was found for this version range.",reviewModulesTitle:"Module Details",reviewModulesIntro:"This update affects **{{count}} modules**. The module groups and version changes are listed below.",reviewModulesDescription:"View affected modules and version changes",reviewChangelogTitle:"Full Changelog",reviewChangelogIntro:"Raw package changelogs included in this update are listed below.",reviewChangelogDescription:"View each package's raw changelog",reviewDetailPagesTitle:"Details",cached:"Cached",upToDate:"Up to date",notChecked:"Not checked yet",summary:"{{total}} modules, {{available}} updateable, {{pendingActivation}} pending restart",groupSummary:"{{total}} modules, {{available}} updateable, {{pendingActivation}} pending activation",groupAvailableCount:"{{count}} updateable",groupPendingActivationCount:"{{count}} pending activation",defaultChannel:"Default Channel",groupChannelLabel:"{{group}} update channel",moduleChannelLabel:"{{name}} update channel",channelDefaultOption:"Follow global ({{channel}})",channelMixedOption:"Mixed",versionUnknown:"Unknown",channelOptions:{alpha:"Alpha",beta:"Beta",rc:"RC",stable:"Stable"},kind:{adapter:"Adapter",client:"Client",plugin:"Plugin",runtime:"Runtime",server:"Server"},groups:{adapter:"Adapters",core:"Core",plugin:"Plugins"},status:{available:"Available",cached:"Cached",error:"Check Failed",pendingActivation:"Pending",upToDate:"Latest"},versions:{current:"Current {{version}}",cached:"Cached {{version}}",latest:"Latest {{version}}",channel:"Channel {{channel}}"},activation:{newSession:"New sessions use the cached version after update.",restart:"Restart the corresponding runtime after update."}},Dm={searchPlaceholder:"Search this entry...",empty:"No matching structure data",filter:{label:"Structure list filter",all:"All",active:"Active",done:"Done"},filterRoutes:{requests:{label:"Request type filter",all:"All requests",stateLabel:"Request status filter",stateAll:"All states",priorityLabel:"Priority filter",priorityAll:"All priorities",priority:{high:"High priority",medium:"Medium priority",low:"Low priority"},channelLabel:"Source filter",channelAll:"All sources",channel:{web:"Web",extension:"Plugin",navigation:"Navigation"},states:{active:"Active",done:"Done"}},resources:{label:"Resource type filter",all:"All resources",stateLabel:"Resource status filter",stateAll:"All states",sourceLabel:"Resource source filter",sourceAll:"All sources",source:{design:"Design assets",server:"Server",docs:"Docs"},freshnessLabel:"Freshness filter",freshnessAll:"All freshness",freshness:{current:"Current",archived:"Archived"},states:{pending:"Pending sync",archived:"Archived"}},operations:{label:"Operation lane filter",all:"All lanes",stateLabel:"Lane status filter",stateAll:"All states",cadenceLabel:"Cadence filter",cadenceAll:"All cadences",cadence:{nightly:"Nightly",daily:"Daily",weekly:"Weekly"},ownerLabel:"Owner filter",ownerAll:"All owners",owner:{system:"System",product:"Product"},states:{running:"Running",archived:"Archived"}}},actions:{archiveOperation:"Archive lane",archiveResource:"Archive resource",bookmarkResource:"Add to resource set",convertToTask:"Convert to task",copyResourceReference:"Copy resource reference",createFollowUp:"Create follow-up",markDone:"Mark done",openResource:"Open resource",pauseOperation:"Pause lane",pinOperation:"Pin lane",runOperation:"Run check",syncResource:"Sync resource",unbookmarkResource:"Remove from resource set",unpinOperation:"Unpin lane",viewRunLog:"View run log"},selection:{selectedTotal:"{{selected}}/{{total}} selected"},itemState:{starred:"Starred"},navigationMenu:{hideEntry:"Hide {{entry}}",showAllEntries:"Show all entries",visibleEntries:"Choose visible entries"},moreMenuContext:{configureActions:"Configure menu actions",hideArchiveAction:"Hide archive action"},debugTools:{title:"Mock debug tools",platform:"App",platformFieldLabel:"Mock system",platformMacos:"macOS",platformWindows:"Windows",platformWeb:"Web",fullscreen:"Fullscreen",fullscreenFieldLabel:"Mock fullscreen",fullscreenOn:"On",fullscreenOff:"Off"},panels:{closeTab:"Close {{title}}",contextMenu:{keepOnlyTab:"Keep only {{tab}}",openAllTabs:"Open all {{panel}} tabs",resetDefaultPage:"Return to {{panel}} default page",resetDefaultTab:"Restore default {{panel}} tab",selectTab:"Switch to {{tab}}",tabMetadata:"{{panel}} / {{tab}}"},create:{label:"Create panel content",summaryTab:"Open structure summary",routeTab:"Open entry context",itemTab:"Open selected item",itemDisabled:"Select a sidebar item first",entryTemplates:"Create by entry",templates:"Template group",customTitle:"Custom rendered entry",customDescription:"{{entry}} injects this menu item and can replace it with any renderer.",requests:{requirement:"New request card",followUp:"New follow-up",experienceTemplate:"Experience template",pluginTemplate:"Plugin audit template"},resources:{importResource:"Import resource",referenceDoc:"New reference document",source:"Create by source",designSource:"Design source",serverSource:"Server source",docsSource:"Docs source"},operations:{scheduledLane:"New scheduled lane",monitorView:"New monitor view",cadence:"Create by cadence",cadenceNightly:"Nightly task",cadenceDaily:"Daily task",cadenceWeekly:"Weekly task"}},side:{open:"Open side region",close:"Close side region",resize:"Drag to resize side region",kicker:"Side slot",title:"Structure context",tabs:{summary:"Structure summary",route:"Entry context",item:"Selected item"},rows:{route:"Entry",metric:"Metric",path:"Path",item:"Selected item",component:"Component"}},bottom:{open:"Open bottom panel",close:"Close bottom panel",resize:"Drag to resize bottom panel",title:"Route bottom panel",defaultItem:"Entry default page",tabs:{summary:"Panel summary",route:"Path context",item:"Current item"},rows:{path:"Current path",item:"Current item",slot:"Render slot"}}},overview:{defaultPage:"Entry default page"},detail:{sections:{structure:"Structure State",behavior:"Component Interfaces",scroll:"Scroll Content"},rows:{routeSlot:{title:"Route slot",description:"{{route}} passes only the path and selected item to the external renderer instead of owning page content."},activeItem:{title:"Selected item",description:"{{item}} is written to the URL from the left list, and the right side swaps independent content from it."},headerState:{title:"Header mode",description:"The current detail component is {{component}}, so title, breadcrumbs, and right actions can be configured separately."},containerPadding:{title:"Container spacing",description:"The page top spacing reuses header tokens to avoid maintaining header and content sizes separately."},componentSwitch:{title:"Content switch",description:"{{item}} renders from test data configuration and stays decoupled from the route container layout."},sidebarLink:{title:"Sidebar entry",description:"{{route}} can override list data, filters, and context menus from entry configuration."},filterState:{title:"Filter state",description:"The current item carries its own filter tokens, while each entry can configure multiple filter groups."},contextActions:{title:"Context actions",description:"Context menus and batch actions come from the entry action list; the generic List only triggers them."},batchSelection:{title:"Batch selection",description:"When multi-select is active, pages can mount their own batch actions without teaching List business meaning."},itemRenderer:{title:"Item renderer",description:"List item icons, actions, meta, and children come from external render configuration."},scrollTrace:{title:"Scroll check {{count}}",description:"Mock content for {{route}} / {{item}} to verify fixed header behavior, body scrolling, and bottom spacing."}}},itemMetrics:{coverage:"Coverage",owner:"Owner",progress:"Progress",queue:"Queue",risk:"Risk",sla:"SLA",version:"Version"},itemMetricValues:{medium:"Medium",reviewed:"Reviewed",running:"Running",synced:"Synced"},routes:{requests:{activeLabel:"Current Request Entry",label:"Request Entry",description:"Collect conversations, reviews, and ad hoc work.",metric:"3 request groups",searchPlaceholder:"Search requests, sources, or priorities..."},resources:{activeLabel:"Current Resource Entry",label:"Resource Entry",description:"Gather docs, design assets, and API references.",metric:"3 resource types",searchPlaceholder:"Search resources, APIs, or docs..."},operations:{activeLabel:"Current Operations Entry",label:"Operations Entry",description:"Track recurring tasks, checks, and regression queues.",metric:"3 flows",searchPlaceholder:"Search flows, queues, or owners..."}},items:{requestCheckout:{title:"Checkout experience alignment",description:"Map the core desktop and web steps.",meta:"Today",tag:"Experience"},requestCheckoutMobile:{title:"Mobile breakpoint check",description:"Verify primary interactions under 860px.",meta:"12:20",tag:"Mobile"},requestCheckoutCopy:{title:"Empty state copy pass",description:"Replace temporary text with reusable copy.",meta:"Yesterday",tag:"Copy"},requestPluginAudit:{title:"Plugin action audit",description:"Cover install, disable, and error paths.",meta:"2h ago",tag:"Plugin"},requestNavigationRefresh:{title:"Navigation structure review",description:"Align sidebar switching with the right container.",meta:"Monday",tag:"Structure"},assetDesignSystem:{title:"Design system references",description:"Component states, spacing, and color references.",meta:"4 items",tag:"Design"},assetTokens:{title:"Theme token table",description:"Align dark and light variables.",meta:"Updating",tag:"Theme"},assetCopyDeck:{title:"Standard copy cards",description:"Reusable titles, hints, and empty states.",meta:"Reviewed",tag:"Copy"},assetApiCatalog:{title:"API catalog",description:"Map page entries to server contracts.",meta:"18 rows",tag:"API"},assetReleaseNotes:{title:"Release note template",description:"Record user-visible changes and checks.",meta:"Archived",tag:"Release"},opsNightlyRun:{title:"Nightly sync task",description:"Collect data status and generate a summary.",meta:"Running",tag:"Schedule"},opsDataSnapshot:{title:"Data snapshot",description:"Pull key state and incremental records.",meta:"Collecting",tag:"Data"},opsDigestPublish:{title:"Digest publish",description:"Generate the sync summary and send it to the entry.",meta:"Pending publish",tag:"Digest"},opsReviewLoop:{title:"Review loop",description:"Track waiting, blocked, and done states.",meta:"5 nodes",tag:"Flow"},opsTriageQueue:{title:"Triage queue",description:"Sort outside feedback into the right entry.",meta:"3 items",tag:"Queue"},opsRegressionWatch:{title:"Regression watch",description:"Keep the latest verification result.",meta:"Passed",tag:"Regression"},opsArchiveSweep:{title:"Archive sweep",description:"Organize done items and retain links.",meta:"Done",tag:"Archive"}}},Mm={eyebrow:"OneWorks",title:"Setting up your project",defaultTip:"Warming up the project context.",tips:{quickFind:"Tip: quick search jumps straight to actions, sessions, and files.",dragFiles:"Drop files into the composer to skip typing long paths.",newWindow:"Right-click a session to open it in a new window for side-by-side work.",slashCommand:"Type / to find common commands and workflows.",sidePanel:"When the sidebar is collapsed, the top bar takes over navigation.",terminal:"The bottom panel keeps terminals and web tabs where you left them.",context:"Referencing exact files means fewer guesses and better context.",glass:"If you can see the skeleton through the glass, the frontend is waking up."}},Om={autoRestartPaused:"Auto restart paused",busyDescription:"Background restart was skipped to avoid interrupting work in progress. Finish or stop these sessions, then retry.",busyStatsLabel:"Active session statistics",busyTitle:"Active sessions: {{count}}",busyTotal:"Total {{count}}",diagnosticsTitle:"Service diagnostics",hideActiveSessions:"Hide sessions",mobileVersionConflictSummary:"The service version differs. Restart the workspace server or retry later.",processId:"Process",requestedVersion:"Requested",restartFailed:"Failed to restart the workspace server",restartWorkspaceServer:"Restart workspace server",retry:"Retry",runtimeCompatibilityVersion:"Compatibility version",runningVersion:"Running",serverUrl:"Server URL",showActiveSessions:"View sessions",unknownStatus:"Unknown",versionConflictDescription:"This page and the running workspace server come from different versions. Client-only or compatible server edits can reuse the workspace server; restart the workspace server when the runtime compatibility versions differ.",versionConflictTitle:"Workspace server version mismatch"},Fm={senderLabel:"Launcher input",senderPlaceholder:"Type a project to open or start...",searchLabel:"Search projects and actions",searchPlaceholder:"Search projects or actions...",commandListLabel:"Launcher actions",commandFailed:"Failed to run action",noResults:"No matching projects or actions",shortcutDisabled:"Not set",desktopActionUnavailable:"Desktop launch actions are not available in this environment",openWorkspaceFailed:"Failed to open project",openingProjectAnimationLabel:"OneWorks opening project animation",openingProjectTitle:"Opening {{name}}",createWorkspaceFailed:"Failed to create project",createWorkspaceNamePlaceholder:"Enter a new project folder name",createWorkspaceNameSearchLabel:"Enter a new project folder name",createWorkspaceNameRequired:"Enter a new project folder name",createWorkspaceParentRequired:"Choose where to create the project",cloneRepositoryPromptTitle:"Clone Remote Repository",cloneRepositoryUrlPlaceholder:"Enter a Git repository URL",cloneRepositorySearchLabel:"Enter a Git repository URL",cloneRepositoryUrlRequired:"Enter a Git repository URL",cloneRepositoryDestinationRequired:"Choose a clone destination folder",cloneRepositoryCloning:"Cloning into {{path}}...",cloneRepositorySuccess:"Repository cloned",cloneRepositoryFailed:"Failed to clone repository",cloneRepositoryDestinationTitle:"Clone into",cloneRepositoryDestinationTooltip:"Current folder: {{path}}",cloneRepositoryDestinationLoading:"Loading folders...",cloneRepositoryDestinationEmpty:"No child folders",cloneRepositoryDestinationFailed:"Failed to load folders",cloneRepositoryFavoriteDestination:"Favorite this folder",cloneRepositoryUnfavoriteDestination:"Unfavorite this folder",directoryBrowserTooltip:"Current folder: {{path}}",directoryBrowserLoading:"Loading folders...",directoryBrowserEmpty:"No child folders",directoryBrowserFailed:"Failed to load folders",directoryBreadcrumbLabel:"Current folder path",directoryNameCopied:"Folder name copied",directoryPathCopied:"Folder path copied",favoriteDirectory:"Favorite this folder",unfavoriteDirectory:"Unfavorite this folder",openWorkspaceSearchPlaceholder:"Search folder paths in this list...",openWorkspaceSearchLabel:"Search folder paths",comingSoon:"This entry is still being connected",files:{title:"Files",globalTitle:"File Search",rootLabel:"Computer",searchLabel:"Search files",searchPlaceholder:"Search files in {{project}}...",globalSearchPlaceholder:"Search files or folders from the computer root...",inputHint:"Type a file name or path to search this project",globalInputHint:"Type a file name or path to search from the computer root",searching:"Searching files...",noResults:"No matching files or folders",searchFailed:"Failed to search files",openFailed:"Failed to open file",folderBadge:"Folder",externalBadge:"External",loadingOpeners:"Loading available apps...",openWithDefault:"Open with default app",openWithDefaultNamed:"Open with default app ({{name}})",openWithNamed:"Open with {{name}}"},resource:{searchPlaceholder:"Search files, sessions, terminals, or websites in {{project}}...",createTitle:"Create",sessionsTitle:"Sessions",websitesTitle:"Websites",terminalsTitle:"Terminals",newSession:"New Session Tab",newSessionHint:"Open a session page in the current chat window",newTerminal:"New Terminal Tab",newTerminalHint:"Create a terminal in the bottom panel",newWebsite:"New Website Tab",newWebsiteHint:"Create a browser page in the bottom panel",tabBadge:"Tab",fileBadge:"In app",sessionBadge:"Session",websiteBadge:"Web",terminalBadge:"Terminal"},start:{title:"Start",newProjectFolder:"New Project",newProjectFolderHint:"Create a local folder and open it as a project",openFolder:"Open Project",openFolderHint:"Choose a local project directory",cloneRepository:"Clone Remote Repository",cloneRepositoryHint:"Create a project from a Git repository",connectRemoteService:"Link Remote Service",connectRemoteServiceHint:"Connect an existing OneWorks service"},projects:{copyName:"Copy name",copyPath:"Copy path",fileExplorer:"File Explorer",fileManager:"file manager",nameCopied:"Project name copied",open:"Open project",openFolder:"Open in file manager",pathCopied:"Project path copied",revealFailed:"Failed to show project in {{manager}}",revealInFileManager:"Show in {{manager}}",remove:"Remove project",removeConfirmDescription:"This only removes the project from the recent list. The folder stays on disk and can be opened again later.",removeConfirmOk:"Remove",removeConfirmTitle:"Remove {{name}} from the launcher?",removeFailed:"Failed to remove project",stopAndRemove:"Stop and remove",stopAndRemoveConfirmDescription:"This stops the local server process for the project and removes it from the recent list. The folder stays on disk.",stopAndRemoveConfirmOk:"Stop and remove",stopAndRemoveConfirmTitle:"Stop and remove {{name}} from the launcher?",stopAndRemoveSuccess:"Project service stopped and removed",stopFailed:"Failed to stop project service",stopService:"Stop service",stopServiceConfirmDescription:"This stops the local server process for the project. Project files are not deleted and the project can be opened again later.",stopServiceConfirmOk:"Stop",stopServiceConfirmTitle:"Stop the server process for {{name}}?",stopServiceSuccess:"Project service stopped",title:"Projects"},menu:{open:"Open OneWorks menu",settings:"Settings",about:"About",checkUpdate:"Check Updates",language:"Language",projectRequired:"Open or focus a project before opening Settings or About",openFailed:"Failed to open this workspace page"},settings:{title:"Launcher Settings",searchLabel:"Search launcher settings",searchPlaceholder:"Search settings...",listLabel:"Launcher settings",sectionsLabel:"Launcher setting sections",empty:"No matching settings",resetSection:"Reset {{section}}",sectionShortcutTooltip:"Press {{shortcut}} to switch to {{section}}",sections:{general:"General",behavior:"Behavior",appearance:"Appearance",icon:"Icon"},items:{theme:{title:"Theme mode",desc:"Switch the launcher and main UI between light, dark, or system mode"},textSize:{title:"Text size",desc:"Adjust text size inside the launcher",default:"Default",large:"Large"},windowMode:{title:"Window mode",desc:"Switch the launcher between default and compact window layouts",default:"Default",compact:"Compact"},favorites:{title:"Show favorites in compact mode",desc:"Keep favorites visible in the compact launcher window"},language:{title:"Interface language",desc:"Quickly switch the current interface language"},shortcut:{title:"Launcher shortcut",desc:"Press a shortcut to summon the launcher"},launchAtLogin:{title:"Launch at login",desc:"Start OneWorks automatically after signing in"},openLastWorkspaceOnStartup:{title:"Open last project at startup",desc:"Open the most recent project on normal app startup; otherwise show the launcher"},autoUpdate:{title:"Automatic updates",desc:"Automatically check for and download desktop updates for the current project"},updateChannel:{title:"Update channel",desc:"Choose Stable, RC, Beta, or Alpha for the current project's desktop updates"},statusPin:{title:"Pin icon",desc:"Show a Pin icon in the system status area for quick launcher access",descMac:"Show a Pin icon in the macOS menu bar for quick launcher access",descWindows:"Show a Pin icon in the Windows system tray for quick launcher access"},hideAfterAction:{title:"Hide after action",desc:"Collapse the launcher after opening a project, file, or session"},currentProject:{title:"Show current project",desc:"Prefer the focused project context when a project window is active"},resourceSearch:{title:"Search project resources",desc:"Search files, sessions, terminals, and websites in the current project"},footerHints:{title:"Footer key hints",desc:"Show available actions for the selected item in the lower right"},appIcon:{title:"App icon",desc:"Choose the app icon theme and background used by the launcher",syncLabel:"Sync desktop icon",syncDesc:"Update the desktop, Dock, or taskbar icon when the icon theme changes"}}},about:{title:"About",searchLabel:"About OneWorks",searchPlaceholder:"About OneWorks",listLabel:"About OneWorks"},footer:{settings:"Settings",help:"Help",more:"More"},footerHints:{label:"Keyboard actions for the selected item",section:"Section",move:"Move",open:"Open",toggle:"Toggle",adjust:"Adjust",edit:"Edit",create:"Create",clone:"Clone",openDirectory:"Open folder",context:"Menu",contextKey:"Right click",fileSearch:"Files",close:"Close",back:"Back"},recent:{title:"Recent Projects",empty:"No recent projects",more:"More..."}},Im={title:"Sign in to OneWorks",subtitle:"Use a configured account to continue into this workspace.",username:"Username",usernamePlaceholder:"Enter username",usernameRequired:"Enter username",password:"Password",passwordPlaceholder:"Enter password",passwordRequired:"Enter password",rememberDevice:"Remember this device",login:"Sign in",loginFailed:"Sign in failed",statusFailed:"Could not load sign-in status",statusFailedHelp:"Make sure the backend service is still running, then retry.",statusTimeout:"Timed out while loading sign-in status. Make sure the backend service is still running, then retry.",retryStatus:"Retry",accountMenu:"Account and connection",changeServer:"Switch backend",logout:"Sign out of this server",logoutFailed:"Sign out failed",generatedPasswordTitle:"Using an auto-generated local password",generatedPasswordDescription:"Find the password in the local password file, or configure fixed accounts in webAuth.accounts.",generatedPasswordHint:"Default password file: {{path}}"},_m={title:"Connect your backend",subtitle:"Start the backend on the computer running OneWorks, then paste the service address shown in the terminal.",desktopTitle:"Switch backend",desktopSubtitle:"The desktop app already started a local service on this device. You can also connect to other OneWorks backends and switch execution environments from the same Electron app.",setupTitle:"Run this on your computer",setupDescription:"Copy the http or https address shown in the terminal. For advanced network setups, see ",docsLink:"the PWA deployment guide",localServiceTitle:"Built-in local service",localServiceBannerDescription:"Electron started this local service automatically on the current device, so no extra sign-in is required.",localServiceAlias:"This device",localServiceProfileDescription:"Local service started automatically by Electron",serverUrl:"Backend service address",serverScheme:"Backend service protocol",serverUrlPlaceholder:"Paste the service address from the terminal",serverUrlRequired:"Enter the backend service address",invalidUrl:"Enter a valid http or https address",connectionFailed:"Could not connect to that backend service. Make sure it is running and allows cross-origin requests.",unsupportedServerVersion:"This backend version is not supported. The PWA version is {{clientVersion}}, and the backend version is {{serverVersion}}.",recentTitle:"Saved backend services",manageProfile:"Manage backend service",serverVersion:"Backend {{version}}",serverVersionUnknown:"unknown version",profileAlias:"Alias",profileAliasPlaceholder:"For example, Home computer",profileDescription:"Description",profileDescriptionPlaceholder:"For example, Tailscale private network or desktop at home",loginState:"Sign-in state",loginSaved:"Saved sign-in",loginMissing:"No saved sign-in",clearLoginState:"Clear sign-in state",clearLoginStateConfirm:"Only clears the sign-in state saved in this browser.",removeProfile:"Remove record",removeProfileConfirm:"Removes this record and its local sign-in state.",connect:"Connect"},Lm={title:"Automation",newRule:"New Rule",newTask:"New Task",creatingRule:"Creating",editRule:"Edit Rule",createMode:"Creation mode",createModeForm:"Form",createModeChat:"Chat",searchRule:"Search tasks",favorite:"Favorite",unfavorite:"Unfavorite",toggleEnabled:"Enable/Disable",noDescription:"No description",runSearch:"Search runs",runFilters:"Filter runs",runOptions:"Run options",statusAll:"All statuses",timeRange:"Time range",timeAll:"All time",time24h:"Last 24 hours",time7d:"Last 7 days",time30d:"Last 30 days",sortOrder:"Sort order",sortDesc:"Newest first",sortAsc:"Oldest first",triggerCount:"{{count}} triggers",basicDesc:"Describe purpose and toggle the rule on or off",sectionBasic:"Basic Info",sectionTriggers:"Triggers",sectionTasks:"Tasks",sectionStartup:"Startup Parameters",startupSummaryDefault:"Use default startup parameters",startupDefault:"Default",startupAdapter:"Adapter",startupDefaultAdapter:"Use default adapter",startupModel:"Model",startupDefaultModel:"Use default model",defaultModelLabel:"Default model",startupNoModels:"No models available",startupEffort:"Reasoning Effort",startupPermissionMode:"Permission Mode",startupWorkspace:"Workspace",startupBranchAction:"Branch Action",startupBranchKind:"Branch Source",startupBranchName:"Branch Name",startupBranchNameRequired:"Enter a branch name",startupBranchNamePlaceholder:"Example: codex/automation-nightly",startupUseManagedWorktree:"Create managed worktree",startupUseCurrentWorkspace:"Use current workspace",startupBranchDefault:"Do not set branch",startupBranchCheckout:"Check out existing branch",startupBranchCreate:"Create new branch",startupBranchKindLocal:"Local branch",startupBranchKindRemote:"Remote branch",startupSummaryAdapter:"Adapter: {{value}}",startupSummaryModel:"Model: {{value}}",startupSummaryEffort:"Effort: {{value}}",startupSummaryPermission:"Permission: {{value}}",startupSummaryCheckoutBranch:"Checkout: {{value}}",startupSummaryCreateBranch:"New branch: {{value}}",startupSummaryBranchKind:"Branch source: {{value}}",effortLow:"Low",effortMedium:"Medium",effortHigh:"High",effortMax:"Max",permissionAcceptEdits:"Accept edits",permissionPlan:"Plan",permissionDontAsk:"Do not ask",permissionBypassPermissions:"Bypass permissions",ruleName:"Rule Name",ruleNameRequired:"Enter a rule name",ruleDescription:"Description",ruleDescriptionPlaceholder:"Enter a description",immediateRun:"Run Immediately",ruleType:"Trigger Type",ruleTypeRequired:"Select a trigger type",typeInterval:"Interval",typeWebhook:"Webhook",typeCron:"Cron",intervalMinutes:"Interval (minutes)",intervalRequired:"Enter an interval",webhookKey:"Webhook Key",webhookKeyHint:"Leave empty to auto-generate",cronExpressionLabel:"Cron Expression",cronExpressionRequired:"Enter a cron expression",cronExpressionHint:"Example: 0 9 * * 1",cronExpression:"Cron: {{expression}}",cronPreset:"Presets",cronPresetHint:"Choose a preset",cronPresetHourly:"Hourly",cronPresetDaily9:"Daily at 09:00",cronPresetWeekday9:"Weekdays at 09:00",cronPresetWeekend10:"Weekend at 10:00",cronInputHint:"Enter cron directly, or use weekly fields below to generate one",weeklyDay:"Weekly Day",weeklyTime:"Time (HH:mm)",weeklyTimeHint:"Example: 09:00",weekdaySun:"Sun",weekdayMon:"Mon",weekdayTue:"Tue",weekdayWed:"Wed",weekdayThu:"Thu",weekdayFri:"Fri",weekdaySat:"Sat",triggerAny:"Trigger when any condition matches",taskAll:"Run all tasks when triggered",addTrigger:"Add Trigger",addTask:"Add Task",remove:"Remove",taskDefaultTitle:"Task {{index}}",taskTitle:"Task Title",taskTitlePlaceholder:"Optional, for distinguishing tasks",collapseTask:"Collapse task content",expandTask:"Expand task content",taskIndex:"Task {{index}}",taskCount:"{{count}} tasks",taskUnknown:"Untitled Task",webhookUrl:"Webhook URL",prompt:"Task Prompt",promptRequired:"Enter the task prompt",trigger:"Trigger",webhookTrigger:"Webhook",intervalEvery:"Every {{minutes}} min",enabled:"Enabled",enabledStatus:"Enabled Status",ruleStatus:"Rule Status",lastRunLabel:"Last Run",lastRun:"Last Run",lastRunAt:"Last run: {{time}}",noRunYet:"No runs yet",emptyRules:"No automation rules",createRuleLink:"Create automation",mobileRules:"Rules",mobileDetails:"Details",collapseRulePanel:"Collapse rule list",expandRulePanel:"Expand rule list",selectRule:"Select an automation rule",ruleId:"Rule ID",createdAt:"Created At",enabledOn:"Enabled",enabledOff:"Disabled",noTriggers:"No triggers",noTasks:"No tasks",runHistory:"Run History",runTime:"Run Time",runStatus:"Status",runSummary:"Summary",session:"Session",relatedSession:"Related Session",openSession:"Open Session",noRuns:"No runs yet",actions:"Actions",run:"Run Now",edit:"Edit",delete:"Delete",copy:"Copy",webhookCopied:"Webhook copied",created:"Rule created",updated:"Rule updated",deleted:"Rule deleted",saveFailed:"Save failed",deleteFailed:"Delete failed",toggleFailed:"Update failed",runStarted:"Task started",runFailed:"Start failed",emptyLandingEyebrow:"AI automation setup",emptyLandingTitle:"Let AI create the automation",emptyLandingDescription:"Choose a common task to fill the sender below, or describe the trigger and the work to run. Sending starts a chat where AI can call tools to create it.",emptyLandingPlaceholder:"Describe the automation you want to create",emptyLandingSendInstruction:`Create an automation from the request below. Prefer calling the available automation tools to create it; if required details are missing, ask for the missing configuration first.
696
+
697
+ Request:
698
+ {{request}}`,emptyLandingAttachmentInstruction:"Create an automation from the context I attached. Prefer calling the available automation tools to create it; if required details are missing, ask for the missing configuration first.",starterDailyTitle:"Daily project brief",starterDailyDescription:"Summarize progress, risks, and next steps on a schedule.",starterDailyPrompt:"Help me create an automation: every weekday at 9:00 AM, check the current project status and summarize yesterday's completed work, today's risks, and suggested next steps. Please use the available automation tools to create it.",starterHealthTitle:"Scheduled health check",starterHealthDescription:"Run periodic checks and report when something breaks.",starterHealthPrompt:"Help me create an automation: every 30 minutes, check whether the current project has failing tests, build errors, or service issues. If there is a problem, create a session explaining the cause and suggested fixes. Please use the available automation tools to create it.",starterWeeklyTitle:"Weekly review",starterWeeklyDescription:"Collect progress, open issues, and planning notes each week.",starterWeeklyPrompt:"Help me create an automation: every Friday at 5:30 PM, summarize this week's development progress, solved issues, unfinished work, and recommendations for next week. Please use the available automation tools to create it.",starterReminderTitle:"Important reminders",starterReminderDescription:"Remind me or check specific items at the right time.",starterReminderPrompt:"Help me create an automation: every weekday at 6:00 PM, check whether there are unresolved todos, waiting inputs, or failed tasks, then create a session reminding me to handle them. Please use the available automation tools to create it."},Nm={title:"Benchmark",sidebarHint:"Choose a category and case, inspect the task goal, and launch a run.",category:"Category",categoryCount:"{{count}} categories",caseCount:"{{count}} cases",caseTree:"Case Tree",expandAll:"Expand All",collapseAll:"Collapse All",runSelected:"Run Selected ({{count}})",runAll:"Run All",caseId:"Case:",searchPlaceholder:"Search category, title, or summary",emptyCases:"No benchmark cases",mobileCases:"Cases",mobileDetails:"Details",noSummary:"No summary",configTitle:"Case Config",baseCommit:"Base Commit",setupCommand:"Setup Command",testCommand:"Test Command",timeoutSec:"Timeout (sec)",runState:"Run State",noActiveRun:"No active benchmark run",runStatus:"Status",progress:"Progress",lastMessage:"Last Message",taskGoal:"Task Goal",resultTitle:"Latest Result",noResult:"No result yet",finalScore:"Final Score",lastRunAt:"Last Run",testScore:"Test Score",goalScore:"Goal Score",referenceScore:"Reference Score",changedFiles:"Changed Files",noChangedFiles:"No changed files recorded",testExitCode:"Test Exit Code",durationMs:"Duration (ms)",issues:"Issues",noIssues:"No issues",concurrency:"Concurrency",runCategory:"Run Category",runCase:"Run Case",runStarted:"Benchmark started",categoryRunStarted:"Category benchmark started",runCompleted:"Benchmark completed",runFailed:"Benchmark run failed",status:{pass:"Pass",partial:"Partial",fail:"Fail"}},$m={title:"Project Knowledge Base",subtitle:"Manage skills, entities, flows, and rules for this project",tabs:{skills:"Skills",entities:"Entities",flows:"Flows",rules:"Rules"},actions:{new:"New",refresh:"Refresh",refreshed:"Refreshed",import:"Import",expand:"Expand",collapse:"Collapse"},filters:{search:"Search name, description, or params",searchActive:"Search current list",tags:"Filter by tags",noResults:"No matching results"},meta:{params:"{{count}} params",always:"Always",skills:"Skills",rules:"Rules",skillsCount:"Skills {{count}}",rulesCount:"Rules {{count}}"},skills:{title:"Skill Library",desc:"Maintain reusable skill definitions and usage notes.",empty:"No skills found.",project:"Project Skills",sourceProject:"Project Default",sourceGlobalConfig:"~/.oneworks/.oo.config.json",sourceProjectConfig:".oo.config.json",sourceUserConfig:".oo.dev.config.json",sourcePlugin:"Plugin",sourceHome:"Real Home",market:"Market",create:"Create Skill",createSuccess:"Skill created",createFailed:"Failed to create skill",createHint:"Create a skill file under .oo/skills, then refresh the page.",importHint:"Import skill files into .oo/skills, then refresh the page.",importSuccess:"Imported {{count}} files",importFailed:"Failed to import skills",searchProject:"Search project skills",searchHub:"Search configured skills registries",marketActions:"Registries and filters",allRegistries:"All registries",registryFilter:"Filter registries",allSources:"All sources",sourceFilter:"Filter sources",installFilter:"Filter install status",allStatuses:"All statuses",installedOnly:"Installed only",notInstalled:"Not installed",sort:"Sort",sortDefault:"Default",sortInstallsDesc:"Most installed",sortNameAsc:"Name A-Z",sortNameDesc:"Name Z-A",addRegistry:"Add Registry",openConfig:"Open skills config",noRegistry:"No skills registry configured.",emptyHub:"No matching skills were found in the configured registries.",install:"Install",openOfficialSite:"Open official site",loadMore:"Load more",loadingMore:"Loading",reinstall:"Reinstall",installSuccess:"Installed",installFailed:"Install failed",installed:"Installed",installs:"{{value}} installs",scope:"Scope",hooks:"Hooks",registrySaved:"Registry saved",registryExists:"A registry with the same source already exists",registryConfigSource:"Config file",registryTitle:"Display title (optional)",registryTitlePlaceholder:"Lynx Team Skills",registrySource:"Source path",registrySourceRequired:"Enter a skills source path",registrySourcePlaceholder:"example-source/default/public",registryValue:"NPM registry (optional)",registryValuePlaceholder:"https://registry.example.com",skillName:"Name",skillNameRequired:"Enter a skill name",skillNamePlaceholder:"review-checklist",skillDescription:"Description",skillDescriptionPlaceholder:"Checklist for code review",skillBody:"Body",skillBodyPlaceholder:"Describe how this skill should be used"},entities:{title:"Entity Library",desc:"Manage roles, components, and domain entities for the project.",empty:"No entities found.",create:"Create Entity",createHint:"Create an entity definition file, then refresh the page.",importHint:"Import entity definition files, then refresh the page."},flows:{title:"Flow Library",desc:"Manage project flows and parameter definitions.",empty:"No flows found.",noContent:"No flow definition content",create:"Create Flow",createHint:"Create a flow file under .oo/specs, then refresh the page.",importHint:"Import flow files into .oo/specs, then refresh the page."},rules:{title:"Rule Library",desc:"Maintain project conventions, constraints, and enforcement rules.",empty:"No rules found.",create:"Create Rule",createHint:"Create a rule file under .oo/rules, then refresh the page.",importHint:"Import rule files into .oo/rules, then refresh the page."}},Bm={header:{eyebrow:"Agent Room",summary:"Room summary",memberCount:"{{count}} members",attentionCount:"{{count}} waiting",runningCount:"{{count}} running"},system:{memberJoined:"{{member}} joined the room"},message:{you:"You",agent:"Agent",system:"System",replyingTo:"Replying to {{author}}: {{content}}",expandLong:"Show more",collapseLong:"Show less"},reaction:{completed:"Completed",completedBy:"{{agent}} completed",working:"Working",workingBy:"{{agent}} is working",openTarget:"Open {{agent}} session"},approvalBatch:{title:"Approval queue",summary:"Approval request summary",total:"{{count}} requests",pendingCount:"{{count}} pending",handledCount:"{{count}} handled",actionCount:"{{count}} leader actions",pending:"Pending",handled:"Handled",handledByLeader:"Handled by leader",currentRequest:"Current request",latestRequest:"Latest request",options:"Available options",history:"{{count}} history items"},interactionRequest:{title:"Permission request",titleWithSubject:"Permission request: {{subject}}",options:"Available responses",response:"Responded: {{response}}",command:{summary:"Review this command before allowing execution.",title:"Command",shell:"Shell: {{shell}}",arguments:"Arguments: {{arguments}}",script:"Script content",fullCommand:"Full command"},status:{pending:"Pending",handled:"Handled",expired:"Expired"},kind:{confirmation:"Confirmation",input:"Input",progress:"Progress"}},mode:{session:"Session mode",room:"Room mode"},transcript:{ariaLabel:"{{title}} transcript",empty:"No public room messages yet"},status:{room:{active:"Active",waiting:"Waiting",completed:"Completed",failed:"Failed",idle:"Idle"},member:{active:"Active",waiting:"Waiting",completed:"Completed",failed:"Failed",stopped:"Stopped",idle:"Idle"},run:{running:"Running",waiting:"Waiting",completed:"Completed",failed:"Failed",stopped:"Stopped"}},actions:{openRun:"Open run",openHostSession:"Open host session",messageRun:"Open {{target}} session",backToRoom:"Back"},sessionStatus:{starting:"Task created, waiting for the child agent to start",startingStale:"Child agent did not start; no runtime events received",running:"Child agent is running",waiting:"Child agent is waiting for confirmation",completed:"Child task completed",failed:"Child task failed",stopped:"Child task stopped"},sessionBreadcrumbLabel:"{{roomTitle}} / {{sessionTitle}}",approvals:{empty:"No pending approvals",waitingForInput:"Waiting",waitingDescription:"This child run is waiting inside the room. The leader will decide whether to ask you for approval."},roster:{eyebrow:"Roster",title:"Room members",compactTitle:"Room roster · {{count}} members",memberCount:"{{count}} members",activeRuns:"{{count}} active",pendingCount:"{{count}} pending",expandRuns:"Show sessions",collapseRuns:"Hide sessions",noRuns:"No runs yet"},composer:{placeholder:"Message the host agent...",ariaLabel:"Agent room message",send:"Send",sending:"Sending",target:{host:"{{target}}",member:"{{target}}",run:"{{target}}",missing:"Can't find {{target}}",ambiguous:"Multiple matches for {{target}}"},completion:{member:"member mailbox",run:"run"},error:{missingTarget:"Unknown target {{target}}",ambiguousTarget:"Ambiguous target {{target}}",emptyTargetedMessage:"Add a message for {{target}}",unsupportedAttachments:"Agent Room messages currently support text only. Remove image and file attachments before sending."}},sidebar:{label:"Agent room",openRoom:"Open room",favoriteRoom:"Favorite room",unfavoriteRoom:"Unfavorite room",favoritedRoom:"Favorited room",archiveRoom:"Archive room",unarchiveRoom:"Unarchive room",copyRoomLink:"Copy room link",copyRoomId:"Copy room ID",roomLinkCopied:"Room link copied to clipboard",roomIdCopied:"Room ID copied to clipboard",activeRuns:"{{count}} active",pendingCount:"{{count}} waiting"}},jm={titleUpdated:"Title updated",titleUpdateFailed:"Failed to update title",clickToEditTitle:"Click to edit title",inputPlaceholder:"Type a message...",childSessionPlaceholder:"Type a message in this child session...",send:"Send",thinking:"Thinking",voiceInput:{tooltip:"Voice input",start:"Start recording",menu:"Voice service menu",stop:"Stop recording and transcribe",sendAfterTranscription:"Send after transcription",transcribing:"Transcribing",configure:"Configure voice service",retry:"Retry",setDefault:"Set default: {{name}}",setupPrompt:"No available speech-to-text service is configured",setupAction:"No voice service configured, configure",showInSender:"Show voice input",showInSenderFailed:"Failed to show voice input",defaultService:"Default",browserWebSpeechService:"Browser speech recognition",defaultSaved:"Default voice service saved",defaultSaveFailed:"Failed to save default voice service",unsupported:"Recording is not supported in this browser",unavailable:"Recording is not available in the current state",permissionDenied:"Microphone permission was denied",browserLanguageUnsupported:"This recognition language is not supported by the browser",browserRecognitionNetwork:"Browser speech recognition network error",loadServicesFailed:"Failed to load voice services",recordingFailed:"Failed to start recording",emptyRecording:"No recognizable audio was recorded",transcribeFailed:"Speech recognition failed"},sessionOperation:{adapterCliPrepare:"Preparing adapter CLI. If no compatible system install is available, it will be installed now…"},stop:"Stop",result:"Result",sessionActive:"Session Active",pinSessionDockPreview:"Pin current session",unpinSessionDockPreview:"Unpin current session",selectModel:"Select a model to start",adapterSelectPlaceholder:"Select adapter",adapterBuiltinLabel:"Built in",adapterConfiguredLabel:"Configured",adapterFirstRunHint:"First launch of an adapter prepares its CLI and may take a little longer.",adapterHiddenBuiltinTitle:"Hidden built-in adapters",adapterHideBuiltin:"Hide {{adapter}}",adapterHideLastBuiltinDisabled:"Keep at least one adapter visible",adapterRestoreBuiltin:"Show {{adapter}}",modelSelectPlaceholder:"Select model",defaultModelLabel:"Default model",modelSearchPlaceholder:"Search models or services",modelUnavailable:"No models available",modelConfigRequired:"Add a model service in config before starting a session",modelConfigRequiredTitle:"Model setup required",modelConfigRequiredHelp:"Add at least one model service, then retry sending from the composer.",connectionErrorTitle:"Connection error",connectionClosedTitle:"Connection closed",connectionAuthRequiredTitle:"Login expired",sessionErrorTitle:"Task failed",sessionCreateFailedTitle:"Session creation failed",connectionError:"WebSocket connection failed. Check the server and try again.",connectionClosed:"WebSocket connection closed. Try reconnecting.",connectionAuthRequired:"Your login has expired. Sign in again to continue.",historyLoadFailed:"Failed to load message history. Retry after checking the server connection.",connectionErrorHelp:"Streaming updates stopped before the session could recover. Retry to resubscribe to the running session.",connectionClosedHelp:"The current stream has ended unexpectedly. Retry to reconnect and continue receiving new messages.",connectionAuthRequiredHelp:"The server rejected the realtime connection. Sign in again, then return to this session.",sessionErrorHelp:"Check the latest tool output or terminal logs, then continue from the most recent user message if needed.",sessionCreateFailedHelp:"The first message is still here. After fixing the issue, retry with the same message to create the session.",sessionCreateFailedMessage:"Failed to create session",sessionStoppingMessage:"Requesting session stop...",sessionStopRequestedMessage:"Session stop requested",sessionStopFailedMessage:"Failed to stop session",sessionErrorCode:"Error code: {{code}}",retryConnection:"Retry",retrySessionCreation:"Retry creating session",retrySessionCreationRequired:"Use the retry button in the error notice first.",debugMockLabel:"Debug Preview",debugMockConnectionErrorMessage:"Unable to reach the session stream. The websocket handshake timed out before any updates arrived.",debugMockConnectionClosedMessage:"The connection dropped after the assistant started responding. No further tokens will arrive until you reconnect.",debugMockSessionErrorMessage:"The runtime hit its session timeout while waiting for a downstream tool result and stopped this turn.",permissionRequestBadge:"Permission request",permissionRequestTitleWithTool:"Requesting permission to use 【{{tool}}】. Choose how to proceed.",permissionSubject:"Scope",permissionProjectConfig:"Project config",permissionCurrentMode:"Current mode",permissionSuggestedMode:"Suggested mode",permissionDeniedTools:"Restricted tools",permissionReasons:"Reasons",permissionExpandOptions:"Show more options",permissionCollapseOptions:"Show fewer options",permissionConfirmOption:"Confirm option",permissionConfirmOptionTooltip:"Confirm the currently highlighted permission option",permissionSendBlockedTooltip:"A permission choice is still pending. Confirm the option above first.",permissionSendBlockedError:"A permission choice is still pending, so sending is temporarily disabled.",agentRoomChildRequest:{title:"Child Task Request",request:"Request",options:"Available options",moreContext:"More context"},agentRoomSessionSource:{leader:"leader",agent:"{{source}}",user:"You",separator:":"},interactionOptionNavigation:"Quick option navigation",interactionOptionPrevious:"Previous option",interactionOptionNext:"Next option",tooltipSlashCommands:"Slash commands",tooltipMentionAgents:"Mention agents",tooltipInjectContext:"Inject context",tooltipUploadImages:"Upload images",tooltipReferenceActions:"More",referenceActionsShortcutTooltip:"More / Permission mode",modelShortcutTooltip:"Switch model",modelAddRecommendation:"Add to recommended models",modelAlreadyRecommended:"Already recommended",modelRemoveRecommendation:"Remove from recommended models",effortShortcutTooltip:"Switch reasoning effort",sendShortcutTooltip:"Send message",queue:{steerTitle:"Send After Current Turn",nextTitle:"Send At Next Safe Point",count:"{{count}} queued",sendAfterTurn:"After turn",sendNext:"Next safe point",steerShortcutTooltip:"Queue the message until the current turn finishes",nextShortcutTooltip:"Queue the message and send it at the next safe point",attachmentsOnly:"Contains queued images or references",hasImage:"Contains images",hasReference:"Contains references",moveToSteer:"Move to send after current turn",moveToNext:"Move to send at next safe point",requeueMessage:"Re-queue message",stopCurrentRun:"Stop current run",stopShortcutTooltip:"Press Esc twice to stop the current run",stopShortcutConfirm:"Press Esc again to stop the current run"},adapterLockedTooltip:"Adapters are locked after a session is created",sessionTarget:{title:"Session target",lockedHint:"Fixed after creation",creatingHint:"Creating session",missingResourceWarning:"Choose a resource for the current mode first",modes:{default:"Default",workspace:"Workspace",entity:"Agent",spec:"Spec"},placeholders:{workspace:"Choose workspace",entity:"Choose agent",spec:"Choose spec"},empty:{workspace:"No workspaces",entity:"No agents",spec:"No specs"}},referenceActionsShort:"More",referenceActionsTitle:"More",referenceActionsDescription:"Add photos, files, and permission-related settings.",referenceAttachments:"Add photos and files",referenceAttachmentsDescription:"Choose images or project files as references.",referencePermission:"Permission mode",referencePermissionDescription:"Control how tool actions are authorized.",collapseHeaderControls:"Collapse top bar",expandHeaderControls:"Expand top bar",collapseStatusBar:"Hide status bar",expandStatusBar:"Show status bar",referenceImage:"Image",referenceImageDescription:"Choose a local image and attach it to the message.",referenceFile:"File",referenceFileDescription:"Choose files from the current project tree.",accountSelectPlaceholder:"Select account",accountSelectCreateAccount:"Quick create {{adapter}} account",accountSelectCreateTitle:"Connect {{adapter}} account",accountSelectCreateWaiting:"Waiting for account connection",accountSelectCreateDescription:"Complete authentication in the browser flow opened by Codex. Keep this dialog open until the account is connected, or cancel if you want to stop.",accountSelectCreateCanceling:"Canceling…",accountSelectCreateCanceled:"Account connection canceled",accountSelectOpenAdapterConfig:"Open {{adapter}} config",accountSelectOpenAccountConfig:"Open {{account}} settings",effortSelectPlaceholder:"Effort",effortLabels:{default:"Standard",low:"Low",medium:"Medium",high:"High",max:"Max"},permissionModeSelectPlaceholder:"Permission mode",assetWarningsTitle:"Compatibility notes",assetWarningsCount:"{{count}} asset warnings",assetWarningsMore:"+{{count}} more",selectionWarningsTitle:"Model routing warnings",selectionWarningsCount:"{{count}} model warnings",selectionWarningReasonExcluded:"the model is excluded by adapter rules",selectionWarningReasonNotIncluded:"the model is not included by adapter rules",selectionWarningFallback:"Adapter {{adapter}} switched from {{requestedModel}} to {{resolvedModel}} because {{reason}}.",modelGroupBuiltin:"{{adapter}} built-in models",modelGroupServices:"Model Services",imageTooLarge:"Image must be smaller than 5MB",imageReadFailed:"Failed to read image",previewImage:"Preview image",imagePreviewTitle:"Image",imageLoadFailed:"Failed to load image",openImageInBrowser:"Open image in browser",copyImageLink:"Copy image link",imageLinkCopied:"Image link copied",markdownLinkActions:{openWorkspaceFileInApp:"Open file in current app",openInAppBrowser:"Open in app",openInExternalBrowser:"Open in external browser",copyMarkdownLink:"Copy Markdown link",copyMarkdownSuccess:"Markdown link copied"},imageZoomIn:"Zoom in",imageZoomOut:"Zoom out",imageZoomReset:"Reset zoom",imageNotSupportedInInteraction:"Images are not supported for this interaction",fileNotSupportedInInteraction:"Files are not supported for this interaction",contextPickerTitle:"Reference files or folders",contextPickerDescription:"Choose one or more files or folders from the current project tree.",contextPickerConfirm:"Reference",contextPickerLoading:"Loading workspace tree...",contextPickerEmpty:"No items available in this directory",contextPickerLoadFailed:"Failed to load workspace tree",workspaceDrawerToggle:"Workspace drawer",workspaceDrawerClose:"Close workspace drawer",workspaceDrawerCollapse:"Collapse workspace drawer",workspaceDrawerTitle:"Workspace",workspacePathUnavailable:"No workspace path available",workspaceDrawerRefresh:"Refresh workspace",workspaceDrawerForceSync:"Force sync",workspaceDrawerDisplayMode:"Display mode",workspaceDrawerLocateFile:"Reveal file",workspaceDrawerExpandAll:"Expand",workspaceDrawerCollapseAll:"Collapse",workspaceDrawerToggleSection:"Expand or collapse section",workspaceFileOpen:"Open file",workspaceFileExternalOpenFailed:"Failed to open file in external app",workspaceTreeReferenceToInput:"Reference in input",workspaceTreeTargetMissing:"Target missing",workspaceTreeTargetMissingState:" (target missing)",workspaceTreeExternalLinkState:" (external link)",workspaceTreeNodeLinkTitle:"{{path}} -> {{target}}{{state}}",workspaceTreeLinkTargetMissing:"Link target missing: {{target}}",workspaceTreeLinkTarget:"Link target: {{target}}",workspaceFileCopyName:"Copy file name",workspaceFileCopyRelativePath:"Copy relative path",workspaceFileCopyAbsolutePath:"Copy absolute path",workspaceFileCopyPath:"Copy path",workspaceFileNameCopied:"File name copied",workspaceFileRelativePathCopied:"Relative path copied",workspaceFileAbsolutePathCopied:"Absolute path copied",workspaceFilePathCopied:"Path copied",workspaceFileOpenInExternalEditor:"Open in {{opener}}",workspaceFileReferenceFile:"Reference file",workspaceFileCommentFile:"Comment on this file",workspacePathRevealInTree:"Reveal in tree",workspacePathRevealInFileManager:"Reveal in {{manager}}",workspacePathOpenContainingFolderInFileManager:"Open containing folder in {{manager}}",workspacePathRevealInFileManagerFailed:"Failed to reveal path in {{manager}}",workspacePathFileManagerFallback:"File Manager",workspacePathFileManager:{finder:"Finder",explorer:"File Explorer",fileManager:"File Manager"},workspaceFileCloseOthers:"Close others",workspaceFileCloseRight:"Close to the right",workspaceFileCloseAll:"Close all",workspaceDrawerChangedFiles:"Changed files",workspaceChanges:{summary:"{{count}} files changed",review:"Review",reviewTitle:"Open changed files review",expand:"Expand",collapse:"Collapse",expandFiles:"Expand file list",collapseFiles:"Collapse file list",showDiff:"Expand diff for {{path}}",hideDiff:"Collapse diff for {{path}}",diffUnavailable:"No diff was recorded.",diffTruncated:"Diff is large and was truncated."},workspaceDrawerChangedCount:"{{count}}",workspaceDrawerLoadingGit:"Loading Git status...",workspaceDrawerGitUnavailable:"Git is unavailable for this workspace.",workspaceDrawerNoChangedFiles:"No changed files",workspaceDrawerTree:"Directory tree",workspaceDrawerApprovals:"Approvals",workspaceDrawerAgents:"Agents",workspaceDrawerChangedFolders:"Group by folder",workspaceDrawerChangedFlat:"Flat view",workspaceDrawerChangedSection:{staged:"Staged",tracked:"Tracked",untracked:"Untracked"},workspaceDrawerSubmodule:"Submodule",workspaceDrawerSubmoduleCommit:"commit changed",workspaceDrawerSubmoduleTracked:"tracked changes",workspaceDrawerSubmoduleUntracked:"untracked changes",workspaceFileEditorTitle:"File",workspaceFileEditorLoading:"Loading file...",workspaceFileEditorLoadFailed:"Failed to load file",workspaceImagePreviewLoadFailed:"Failed to load image",workspaceFileEditorSave:"Save",workspaceFileEditorSaved:"Saved",workspaceFileEditorRevert:"Revert",workspaceFileEditorResizePanel:"Drag to resize file editor height",bottomPanelToggle:"Bottom panel",bottomPanelResizePanel:"Drag to resize bottom panel height",browserComments:{ariaLabel:"{{count}} comments",clearAll:"Clear comments",count:"{{count}} comments",targetFallback:"Page element"},textSelections:{addToConversation:"Add to conversation",clearAll:"Clear selected text snippets",count:"{{count}} selected text snippets",sourceChatTranscript:"Chat transcript",sourceFallback:"Selected text",toolbarAriaLabel:"Text selection actions"},fileComments:{addComment:"Add comment",clearAll:"Clear file comments",commentingLines:"Commenting {{segments}}",confirm:"Add file comment",confirmInline:"Confirm",count:"{{count}} file comments",discardDraftContent:"Closing the file tab will clear the current unconfirmed comment.",discardDraftEmptyContent:"Closing the file tab will clear the current unconfirmed comment state.",discardDraftOk:"Discard and close",discardDraftTitle:"Discard current file comment?",emptyLine:"Empty line",editorAriaLabel:"File comment input",lineSegment:"line {{lineNumber}}",lineSegmentRange:"lines {{startLineNumber}}-{{endLineNumber}}",lineSegmentSeparator:", ",missingFileContent:"Cannot read {{path}}. Remove this pending file comment?",missingFileRemove:"Remove comment",missingFileTitle:"File unavailable",placeholder:"Comment on this file snippet",sourceEditor:"File editor",sourceMarkdownPreview:"Markdown preview",wholeFile:"Whole file",toolbarAriaLabel:"File text selection actions"},interactionPanel:{addIframe:"New web page",addIframeDescription:"Open a web preview or external debugging page.",addMobileDebug:"Debug phone",addMobileDebugDescription:"Connect a mobile device and open debugging tools.",addSession:"New session",addSessionDescription:"Create an independent session page in the bottom panel.",addTab:"Add panel page",addTerminalDescription:"Create a terminal task and keep command output in context.",closeTab:"Close {{title}}",editPinnedTab:"Edit pinned tab",emptyDescription:"Open resources, terminals, or web previews while keeping session context in one panel.",emptyHintManageTabs:"Drag or right-click tabs to organize panel pages",emptyHintOpenResource:"{{shortcut}} quick open resource",emptyStart:"Start",emptyTitle:"OneWorks",expandPanel:"Expand bottom panel",expandPanelFullscreen:"Expand bottom panel upward",hidePanel:"Hide bottom panel",editRunCommand:"Edit run command",favoriteRunCommand:"Favorite run command",markdownEditorMode:"Show Markdown source only",markdownPreviewMode:"Render Markdown full width",markdownResizeSplit:"Drag to resize Markdown preview split",markdownSplitMode:"Preview Markdown side by side",minimizePanel:"Minimize bottom panel",addRunCommand:"Add run command",manageRunCommands:"Manage run commands",openResourceDescription:"Open project files, folders, or resource references.",addRunCommandEnv:"Add environment variable",mobileDebugAdbPath:"ADB path",mobileDebugAddNetworkTarget:"Add network target",mobileDebugAddPortForward:"Add port forward",mobileDebugAdbInstallCommand:"brew install android-platform-tools",mobileDebugAdbInstallHint:"After installing, keep the phone connected with USB debugging enabled. This page will rescan automatically.",mobileDebugAdbMissingDescription:"Phone debugging needs Android Debug Bridge. On macOS, install Android Platform Tools with Homebrew.",mobileDebugAdbMissingTitle:"ADB not found",mobileDebugAllApps:"All apps",mobileDebugChrome:"Chrome",mobileDebugCollapsePanels:"Collapse system panels",mobileDebugConfig:"Settings",mobileDebugDesktopOnly:"Phone debugging is only available in the desktop app",mobileDebugDeviceOffline:"Offline",mobileDebugDevicePort:"Device port",mobileDebugDeviceReady:"Connected",mobileDebugDeviceUnauthorized:"Unauthorized",mobileDebugDeviceUnknown:"Unknown",mobileDebugDeviceDisconnectedDescription:"{{device}} is no longer in the connected device list. Try reconnecting or return to device management.",mobileDebugDeviceDisconnectedTitle:"Device connection lost",mobileDebugBackAction:"Back",mobileDebugDevices:"Devices",mobileDebugDiagnostics:"Diagnostics",mobileDebugDiscoverNetworkTargets:"Discover network targets",mobileDebugDiscoverUsbDevices:"Discover USB devices",mobileDebugLocalAddress:"Local address, e.g. 127.0.0.1:3000",mobileDebugNetwork:"Network target",mobileDebugNetworkAddress:"Network address, e.g. 192.168.1.10:9222",mobileDebugNetworkTargets:"Network targets",mobileDebugNoKnownDevices:"No phone found, open settings",mobileDebugNoDevices:"No Android devices found. Connect a phone and enable USB debugging.",mobileDebugNoMatchingTargets:"No matching pages.",mobileDebugNoNetworkTargetsConfigured:"No network targets configured.",mobileDebugNoPortForwardingRules:"No port forwarding rules configured.",mobileDebugNoTargets:"No debuggable pages found. Open a page in mobile Chrome, or make sure the target app has WebView debugging enabled.",mobileDebugNotAvailable:"Not available",mobileDebugOther:"Other",mobileDebugPortForwardActive:"Active",mobileDebugPortForwardError:"Failed",mobileDebugPortForwardRemoved:"Removed",mobileDebugPortForwardSkipped:"Skipped",mobileDebugPortForwarding:"Port forwarding...",mobileDebugPortForwardingStatus:"Port forwarding",mobileDebugAppSwitch:"Apps",mobileDebugBack:"Back",mobileDebugDetails:"Details",mobileDebugDockBottom:"Dock to bottom",mobileDebugDockLeft:"Dock to left",mobileDebugDockPosition:"Information area position",mobileDebugDockRight:"Dock to right",mobileDebugEnvironmentAltitude:"Altitude",mobileDebugEnvironmentApplied:"Device state applied",mobileDebugEnvironmentApply:"Apply",mobileDebugEnvironmentApplyFailed:"Failed to apply device state",mobileDebugEnvironmentApplyPhone:"Run phone action",mobileDebugEnvironmentBattery:"Battery",mobileDebugEnvironmentBatteryHealth:"Battery health",mobileDebugEnvironmentBatteryLevel:"Battery level",mobileDebugEnvironmentBatteryStatus:"Battery status",mobileDebugEnvironmentCellular:"Cellular",mobileDebugEnvironmentCharger:"Charger",mobileDebugEnvironmentDataStatus:"Data registration",mobileDebugEnvironmentEmulatorOnly:"Except for battery controls, these state controls only work with Android Emulator.",mobileDebugEnvironmentFingerId:"Finger ID",mobileDebugEnvironmentFingerprint:"Fingerprint",mobileDebugEnvironmentGoogleMap:"Google Map",mobileDebugEnvironmentLatitude:"Latitude",mobileDebugEnvironmentLocation:"Location",mobileDebugEnvironmentLongitude:"Longitude",mobileDebugEnvironmentMapPicker:"Click the map to update coordinates",mobileDebugEnvironmentMeterStatus:"Metered network",mobileDebugEnvironmentNetworkDelay:"Network delay",mobileDebugEnvironmentNetworkSpeed:"Network speed",mobileDebugEnvironmentOptions:{batteryHealth:{cold:"Cold",dead:"Dead",failure:"Failure",good:"Good",overheat:"Overheat",overvoltage:"Overvoltage",unknown:"Unknown"},batteryStatus:{charging:"Charging",discharging:"Discharging",full:"Full","not-charging":"Not charging",unknown:"Unknown"},charger:{ac:"AC",none:"Off",usb:"USB",wireless:"Wireless"},meter:{metered:"Metered",unmetered:"Unmetered"},networkDelay:{edge:"EDGE",gprs:"GPRS",none:"None",umts:"UMTS"},networkSpeed:{edge:"EDGE",full:"Full",gprs:"GPRS",gsm:"GSM",hscsd:"HSCSD",hsdpa:"HSDPA",lte:"LTE",umts:"UMTS"},phoneAction:{accept:"Accept",call:"Call",cancel:"Cancel",hold:"Hold"},registration:{denied:"Denied",home:"Home",off:"Off",on:"On",roaming:"Roaming",searching:"Searching",unregistered:"Unregistered"},signal:{good:"Good",great:"Great",moderate:"Moderate",none:"None",poor:"Poor"}},mobileDebugEnvironmentPhone:"Phone",mobileDebugEnvironmentPhoneAction:"Phone action",mobileDebugEnvironmentPhoneNumber:"Phone number",mobileDebugEnvironmentResetBattery:"Reset battery",mobileDebugEnvironmentSendSms:"Send SMS",mobileDebugEnvironmentSignalProfile:"Signal profile",mobileDebugEnvironmentSmsDefaultMessage:"Test message from One Works",mobileDebugEnvironmentSmsMessage:"SMS message",mobileDebugEnvironmentTitle:"Device state",mobileDebugEnvironmentTouchFingerprint:"Touch fingerprint",mobileDebugEnvironmentVoiceStatus:"Voice registration",mobileDebugBoundsCenter:"Center",mobileDebugBoundsElement:"Element",mobileDebugBoundsScreen:"Screen",mobileDebugElementAttributes:"Element attributes",mobileDebugElementBounds:"Bounds",mobileDebugElementDetails:"Element details",mobileDebugElementOverview:"Overview",mobileDebugElementTree:"Element tree",mobileDebugElements:"Elements",mobileDebugResizeElementDetails:"Resize element details",mobileDebugHideSidePanel:"Hide side panel",mobileDebugHome:"Home",mobileDebugInputFailed:"Device input failed",mobileDebugInputTab:"Input",mobileDebugInspectMode:"Inspect elements",mobileDebugLogs:"Logs",mobileDebugNoElements:"No elements loaded yet.",mobileDebugNoLogs:"No logs.",mobileDebugPreviewAlt:"Android device screen",mobileDebugPreviewFailed:"Failed to refresh device preview",mobileDebugPreviewLoading:"Loading device screen...",mobileDebugRefresh:"Refresh",mobileDebugRefreshLogs:"Refresh logs",mobileDebugRefreshPreview:"Refresh device screen",mobileDebugReconnectPreview:"Reconnect device",mobileDebugScanning:"Scanning Android debug targets...",mobileDebugSearchPlaceholder:"Search pages or URLs",mobileDebugSelectElement:"Click the screen or tree to select a node.",mobileDebugSendText:"Type",mobileDebugShowSidePanel:"Show side panel",mobileDebugBackToDeviceList:"Back to device list",mobileDebugMoreControls:"More controls",mobileDebugNotifications:"Notifications",mobileDebugPower:"Power",mobileDebugQuickSettings:"Quick settings",mobileDebugRotate:"Rotate",mobileDebugScreenshot:"Screenshot",mobileDebugTargetTab:"Targets",mobileDebugTargets:"Debuggable pages",mobileDebugTextPlaceholder:"Type text into the device",mobileDebugTitle:"Debug phone",mobileDebugReconnectAction:"Retry",mobileDebugTryReconnect:"Try reconnecting",mobileDebugVolumeDown:"Volume down",mobileDebugVolumeUp:"Volume up",mobileDebugWebView:"WebView",mobileDebugWindowClose:"Close window",mobileDebugWindowMinimize:"Minimize window",mobileDebugZoom:"Zoom",openResource:"Open resource",openResourceEmpty:"No matching resources",openResourceInputHint:"Type to search files, sessions, or web pages",openResourceLoading:"Indexing resources...",openResourceLoadFailed:"Failed to load resources",openResourceRecentEmpty:"No recently visited resources",openResourceRecentSection:"Recent resources",openResourceResultsSection:"Matching resources",openResourceSearchPlaceholder:"Search files, sessions, or web pages",openWorkspace:"Open current workspace",openWorkspaceFailed:"Failed to open current workspace",openWorkspaceUnavailable:"No available opener",openWorkspaceWith:"Open in {{opener}}",pageDebuggerListEmpty:"No debuggable pages yet.",pageDebuggerListLoadFailed:"Failed to load page debugger list",pageDebuggerListLoading:"Loading debuggable pages...",pageDebuggerListTitle:"Page debugger list",pageDebuggerUntitledTarget:"Untitled page",pinTab:"Pin tab",pinnedTabEditHint:"Use a Material Symbols name for the icon; leave fields blank to use the original title and icon.",pinnedTabIcon:"Display icon",pinnedTabTitle:"Display title",removeRunCommand:"Remove run command",removeRunCommandEnv:"Remove environment variable",runCommandAdvanced:"Advanced",runCommandCwd:"Working directory",runCommandCwdPlaceholder:"cwd",runCommandEnvKey:"Environment variable name",runCommandEnvKeyPlaceholder:"Variable",runCommandEnvValue:"Environment variable value",runCommandEnvValuePlaceholder:"Value",runCommandEscClosePrompt:"Press Esc again to close the run command window",runCommandIcon:"Icon",runCommandIconPlaceholder:"terminal",runCommandName:"Name",runCommandNamePlaceholder:"Dev server",runCommandBackToList:"Back to commands",runCommandPrimary:"Run {{command}}",runCommandRunning:"Running",runCommandRun:"Run",runShellFile:"Run script",runShellFileTitle:"Run {{file}}",runTaskRestart:"Restart",runTaskStart:"Start",runTaskTerminate:"Terminate",runCommandScript:"Script",runCommandScriptPlaceholder:"pnpm dev",runCommands:"Run commands",runCommandsEmpty:"No run commands",runCommandsTitle:"Run commands",unfavoriteRunCommand:"Unfavorite run command",closeWindowGroup:"Close window group",maximizeWindowGroup:"Maximize window group",restoreWindowGroup:"Restore window group",resourceChildSession:"Child session",resourceFile:"File",resourceWebsite:"Web page",unpinTab:"Unpin tab",copyIframeUrl:"Copy URL",iframeBack:"Back",iframeBackUnavailable:"Cannot go back",iframeAddComment:"Add comment",iframeAnnotationActive:"Annotating",iframeAnnotationAddedToSender:"Comment added to the composer",iframeAnnotationCommentPlaceholder:"Enter a comment for this page element",iframeAnnotationConfig:"Comment settings",iframeAnnotationConfigPlaceholder:"Settings area placeholder",iframeAnnotationCommentRequired:"Enter a comment",iframeAnnotationCommentTitle:"Add page comment",iframeAnnotationInfoAccessibility:"Accessibility",iframeAnnotationInfoBackground:"Background",iframeAnnotationInfoKeyboardFocusable:"Keyboard-focusable",iframeAnnotationInfoName:"Name",iframeAnnotationInfoPadding:"Padding",iframeAnnotationInfoRole:"Role",iframeAnnotationMarker:"Comment {{number}}",iframeAnnotationNoPage:"There is no page to comment on",iframeAnnotationNoSession:"There is no session to receive this comment",iframeAnnotationSensitiveTarget:"This element cannot be commented on",iframeAnnotationSendFailed:"Failed to send comment",iframeAnnotationSent:"Comment sent to the current session",iframeAnnotationStarted:"Select a page element to comment on. Press Esc to cancel.",iframeAnnotationStop:"Exit annotation",iframeAnnotationSubmit:"Add to current session",iframeAnnotationUnavailable:"Cannot read the current page structure",iframeAnnotationUnknownTarget:"Unnamed element",iframeAnnotationVoice:"Voice input",iframeAnnotationWebviewUnsupported:"Element comments are not supported for this page yet",iframeClearCache:"Clear cache",iframeClearCacheSuccess:"Cache cleared",iframeClearCookie:"Clear Cookie",iframeClearCookieSuccess:"Cookie cleared",iframeDeviceToolbar:"Show device toolbar",iframeViewportDesktop:"Desktop",iframeViewportDimensions:"Dimensions:",iframeViewportHeight:"Height",iframeViewportAddDevicePixelRatio:"Add device pixel ratio",iframeViewportAddDeviceType:"Add device type",iframeViewportCaptureFullSizeScreenshot:"Capture full size screenshot",iframeViewportCaptureScreenshot:"Capture screenshot",iframeViewportDevicePixelRatio:"Device pixel ratio",iframeViewportDeviceType:"Device type",iframeViewportDeviceTypeDesktop:"Desktop",iframeViewportDeviceTypeMobile:"Mobile",iframeViewportHideDeviceFrame:"Hide device frame",iframeViewportHideMediaQueries:"Hide media queries",iframeViewportHideRulers:"Hide rulers",iframeViewportMobile:"Mobile",iframeViewportNetwork:"Network throttling",iframeViewportNoThrottling:"No throttling",iframeViewportPreset:"Viewport preset",iframeViewportRemoveDevicePixelRatio:"Remove device pixel ratio",iframeViewportRemoveDeviceType:"Remove device type",iframeViewportResetToDefaults:"Reset to defaults",iframeViewportResponsive:"Responsive",iframeViewportRotate:"Rotate",iframeViewportShowDeviceFrame:"Show device frame",iframeViewportShowMediaQueries:"Show media queries",iframeViewportShowRulers:"Show rulers",iframeViewportStandard:"Standard",iframeViewportTablet:"Tablet",iframeViewportToolbar:"Window size",iframeViewportWidth:"Width",iframeViewportZoom:"Zoom",iframeViewportZoomAuto:"Auto {{value}}",iframeDebugAutoInjectUnavailableCopied:"This page cannot be connected automatically. The debug script was copied; add it to the target page and refresh.",iframeDebugCloseDeveloperTools:"Close developer tools",iframeDebugCopyScript:"Copy debug script",iframeDebugDeveloperToolsTitle:"Developer tools",iframeDebugDockBottom:"Dock to bottom",iframeDebugDockLeft:"Dock to left",iframeDebugDockRight:"Dock to right",iframeDebugInjectUnavailable:"This page cannot be injected from the Web UI",iframeDebugOpenDeveloperTools:"Open developer tools",iframeDebugResizeDeveloperTools:"Drag to resize developer tools",iframeDebugScriptCopied:"Debug script copied",iframeDebugServiceUnavailable:"Page debugging service is unavailable",iframeEditingHint:"Enter to open",iframeEmpty:"Enter a URL to load a web page",iframeForward:"Forward",iframeForwardUnavailable:"Cannot go forward",iframeForceReload:"Force reload",iframeMore:"More",iframeOpenExternalBrowser:"Open in external browser",iframeRefresh:"Refresh",iframeRefreshUnavailable:"No page to refresh",iframeScreenshot:"Screenshot",iframeScreenshotCopied:"Screenshot copied",iframeScreenshotFailed:"Screenshot failed",iframeTitle:"Page {{index}}",iframeUrlCopied:"URL copied",iframeZoom:"Zoom",iframeZoomIn:"Zoom in",iframeZoomOut:"Zoom out",iframeZoomReset:"Reset zoom",newSameShellTerminal:"New terminal with same shell",iframeUrlPlaceholder:"Enter URL",sessionTitle:"Session {{index}}"},workspaceDrawerFileStatus:{staged:"Staged",tracked:"Tracked changes",unstaged:"Unstaged",untracked:"Untracked",mixed:"Mixed"},modelGroupRecommended:"Recommended Models",modelMoreModels:"More models",modelConnectMoreServices:"Connect more",modelOpenModelServicesConfig:"Open config",modelOpenModelServiceDetails:"Open service details",availableTools:"Available Tools",availableToolsEmpty:"No tools are available for this session yet.",toolGroupChromeDevtools:"ChromeDevtools",toolGroupSystem:"System",toolsCount:"{{count}} tools",usedTools:"Used {{count}} tools",debugSessionId:"Session",debugType:"Type",debugUuid:"UUID",debugLeafUuid:"Leaf",debugAdapter:"Adapter",debugModel:"Model",debugEffort:"Effort",debugVersion:"Version",debugTools:"Tools",debugAgents:"Agents",debugCwd:"CWD",debugContextCompaction:"Context Compact",debugContextCompactionId:"Compact Event",debugContextCompactionTokens:"Token Count",debugTags:"Tags",debugView:"View",debugStarred:"Starred",debugArchived:"Archived",debugEnable:"Enable debug mode",debugDisable:"Disable debug mode",debugOpenSessionLog:"Open session log",debugEnabledValue:"Enabled",debugDisabledValue:"Disabled",debugSectionTitle:"Debug Session Info",debugModeTitle:"Debug mode is on",debugModeDescription:"This section is visible because the current URL contains a debug query.",contextCompressingTitle:"Compressing context",contextCompactedTitle:"Context compressed",contextCompactedMessage:"",contextCompactedDetail:"",contextCompactedTokens:"",viewInitInfo:"Click the title 5 times to toggle debug mode",viewHistory:"History",viewTimeline:"Timeline",hideHistoryTimeline:"Hide timeline in this session",viewTerminal:"Terminal",viewSettings:"Settings",newSessionTitle:"New session",gitBranchSwitcher:"Switch branch",gitOperations:"Git actions",gitWorktree:"Worktree",statusBarTitle:"Session status",statusBarSessionSubtitle:"Track the current session workspace and git context here.",statusBarDraftSubtitle:"Set up the next session workspace before sending the first message.",sessionWorkspace:"Session workspace",sessionWorkspaceManaged:"Managed worktree",sessionWorkspaceShared:"Shared workspace",sessionWorkspaceExternal:"External workspace",sessionWorkspaceDraftCreateWorktree:"Create worktree",sessionWorkspaceDraftStrategyLocal:"Local",sessionWorkspaceDraftStrategyManaged:"New worktree",sessionWorkspaceMenuCurrentWorktree:"Current worktree",sessionWorkspaceMenuWorktreeList:"Worktree list",sessionWorkspaceMenuLaunchInWorktree:"Start in worktree mode",sessionWorkspaceMenuTransferToLocal:"Transfer to local",sessionWorkspaceMenuCreateWorktree:"Create worktree",sessionWorkspaceDraftCreateWorktreeEnabled:"New sessions get an isolated managed worktree.",sessionWorkspaceDraftCreateWorktreeDisabled:"New sessions reuse the shared workspace directly.",sessionWorkspaceDraftCreateBranchLabel:"New branch: {{branch}}",sessionWorkspaceDraftGitUnavailable:"Git is unavailable for the current workspace.",sessionWorkspaceSearchWorktrees:"Search worktrees",sessionWorkspaceNoWorktrees:"No worktrees",sessionCreationProgress:{title:"Session setup",worktreePreparing:"Checking repository state",worktreeCreating:"Creating managed worktree",worktreeCreated:"Managed worktree created",environmentResolving:"Resolving environment scripts",environmentScriptRunning:"Running environment script",environmentScriptSucceeded:"Environment script finished",environmentScriptFailed:"Environment script failed",environmentSkipped:"No environment scripts to run",workspaceReady:"Session workspace is ready",workspaceFailed:"Session workspace failed",outputLabel:"{{script}} output",outputSummary:"{{lines}} lines · {{size}}",outputFollow:"Scroll to latest output",outputExpand:"Expand script output",outputCollapse:"Collapse script output",outputMaximize:"Maximize script output",outputRestore:"Restore script output height"},sessionWorkspaceMode:"Mode",sessionWorkspaceState:"State",sessionWorkspaceBranch:"Branch",sessionWorkspacePath:"Path",sessionWorkspaceCleanup:"Cleanup",sessionWorkspaceCleanupDelete:"Deletes with session",sessionWorkspaceCleanupRetain:"Retained on delete",sessionWorkspaceBaseRef:"Base ref",sessionWorkspaceCurrentSession:"Current session",sessionWorkspaceRepositoryWorktrees:"Repository worktrees",sessionWorkspaceEnvironment:"Runtime environment",sessionWorkspaceEnvironmentDefault:"Default environment",sessionWorkspaceEnvironmentProject:"Project",sessionWorkspaceEnvironmentLocal:"Local",sessionWorkspaceNoEnvironments:"No environments",sessionWorkspaceStateReady:"Ready",sessionWorkspaceStateProvisioning:"Provisioning",sessionWorkspaceStateDeleting:"Deleting",sessionWorkspaceStateDeleted:"Deleted",sessionWorkspaceStateBroken:"Broken",sessionWorkspaceCreateWorktreeSuccess:"Created a managed worktree for this session.",sessionWorkspaceTransferToLocalSuccess:"This worktree is now retained locally.",sessionWorkspaceForceDeleteTitle:"Delete dirty workspace?",sessionWorkspaceForceDeleteDescription:"This session workspace has uncommitted changes. Force delete the session and remove its bound worktree anyway?",gitDetachedHead:"DETACHED",gitSearchBranches:"Search local or remote branches",gitBranchViewMode:"Branch view mode",gitBranchViewTree:"Tree",gitBranchViewFlat:"Flat",gitBranchesLocal:"Local branches",gitBranchesWorktrees:"Other worktrees",gitBranchesRemote:"Remote branches",gitBranchCheckedOutInOtherWorktree:"Checked out in {{path}}",gitRemoteBranchCheckedOutInOtherWorktree:"Local branch already checked out in {{path}}",gitNoBranches:"No matching branches",gitCreateBranch:"Create branch",gitCreateBranchWithName:"Create branch {{branch}}",gitSwitchBranchSuccess:"Switched to {{branch}}",gitCreateBranchSuccess:"Created and switched to {{branch}}",gitCommitShort:"Commit",gitCommitAllChanges:"Commit all changes",gitCommitDialogTitle:"Commit all changes",gitCommitDescription:"This stages all current repository changes before committing.",gitCommitPanelTitle:"Commit changes",gitCommitPanelBranch:"Branch",gitCommitPanelChanges:"Changes",gitChangedFilesCount:"{{count}} files",gitCommitIncludeUnstagedChanges:"Include unstaged changes",gitCommitIncludeUnstagedChangesDescription:"Include unstaged and untracked files.",gitCommitOnlyStagedChangesDescription:"Commit staged changes only.",gitCommitSkipHooks:"Skip Git hooks",gitCommitSkipHooksDescription:"Skip pre-commit and commit-msg hooks.",gitCommitAmend:"Amend latest commit",gitCommitAmendDescription:"Fold into the latest commit. Current: {{subject}}",gitCommitAmendUnavailableDescription:"There is no existing commit to amend in this repository.",gitCommitMessageLabel:"Commit message",gitCommitMessageOptional:"Optional",gitCommitMessagePlaceholder:"Enter a commit message",gitCommitMessagePlaceholderAmend:"Leave blank to keep the latest commit message",gitCommitMessageAmendHint:"Leave it blank to reuse the latest commit message.",gitCommitMessageRequired:"Enter a commit message",gitCommitSuccess:"Commit created",gitCommitNoChanges:"There are no changes to commit",gitCommitNoStagedChanges:"There are no staged changes to commit",gitCommitNextStep:"Next step",gitCommitAndPush:"Commit and push",gitCommitAndPushSuccess:"Commit and push completed",gitCommitPushFailedAfterCommit:"Commit completed, but push failed: {{error}}",gitAmendSuccess:"Amend completed",gitAmendAndPushSuccess:"Amend and push completed",gitAmendUnavailable:"There is no commit available to amend",gitForcePush:"Force push",gitForcePushDescription:"Use force-with-lease for the remote branch.",gitForcePushHint:"Only replaces it when the remote has no newer commits.",gitPushNeedsSyncOrForce:"This branch is behind upstream. Sync first or enable force push.",gitPushShort:"Push",gitPush:"Push current branch",gitPushPanelTitle:"Push changes",gitPushPanelUpstream:"Upstream",gitPushPanelUpstreamHint:"The first push sets the upstream automatically.",gitForcePushSuccess:"Force push completed",gitPushSuccess:"Push completed",gitSyncShort:"Sync",gitSync:"Sync current branch",gitSyncSuccess:"Sync completed",gitStatusDirty:"Uncommitted changes",gitStatusClean:"Working tree clean",gitUpstreamStatus:"Ahead {{ahead}} / behind {{behind}}",gitNoUpstream:"No upstream configured",gitLocalBranch:"Local",gitRemoteBranch:"Remote · {{remote}}",deleteSessionTitle:"Delete session",deleteSessionDesc:"This will permanently remove the session and all messages. Proceed carefully.",timelineEmpty:"No events yet",timelineTask:"Task",timelineStatus:"Status",timelineTiming:"Timeline",timelineStart:"Start",timelineEventName:"Event",timelineInput:"Input",timelineOutput:"Output",timelineEmptyValue:"—",timeline:{mainTasks:"Main task",mainStart:"Conversation start",mainEnd:"Conversation end",startTasks:"Create tasks",askUserQuestion:"AskUserQuestion",edit:"Edit",resumeTask:"Resume task",userPrompt:"User prompt",merge:"Merge",merged:"Merged",donePrefix:"Done",taskStart:"Create task",taskEnd:"End",viewGit:"Git Graph",viewGantt:"Gantt",eventListTitle:"Event List",eventListSearch:"Search events",expandGraph:"Expand conversation graph",collapseGraph:"Collapse conversation graph",running:"Running",waitingInput:"Waiting for input",permissionRequest:"Permission request",failed:"Failed",terminated:"Stopped",ganttTitle:"Task Timeline",ganttMainSection:"Main",ganttTasksSection:"Tasks",allTasksDone:"All tasks done",userAnswer:"User answer",receiveReply:"Reply received",destroyLabel:"Destroy {{name}} @ {{end}}",rangeLabel:"{{name}} ({{start}} → {{end}})"},messageActions:{copy:"Copy raw text",copySuccess:"Raw message copied",copyFailed:"Failed to copy raw message",copyLink:"Copy message link",copyLinkSuccess:"Message link copied",copyId:"Copy message ID",copyIdSuccess:"Message ID copied",copyJson:"Copy message JSON",copyJsonSuccess:"Message JSON copied",copyTimestamp:"Copy timestamp",copyTimestampSuccess:"Timestamp copied",edit:"Edit message",editInProgress:"A message is already being edited. Send or cancel it first.",saveEdit:"Save as branch",confirmInline:"Confirm",recall:"Recall to here",fork:"Fork from here",recallConfirmTitle:"Recall to this message?",recallConfirmContent:"Messages after this point will be rolled back. Continue?",forkConfirmTitle:"Fork from this message?",forkConfirmContent:"This will create a new session branch from this message. Continue?",branchNavigation:"Message version navigation",previousBranch:"Previous message version",nextBranch:"Next message version"},messageFooter:{tokens:"Tokens",copyTimestampSuccess:"Copied ISO timestamp",copyTimestampTitle:"Double-click to copy the ISO timestamp and log the message payload"},turnProcessedDuration:"Processed {{duration}}",turnDurationUnderSecond:"<1s",turnDurationHours:"{{count}}h",turnDurationMinutes:"{{count}}m",turnDurationSeconds:"{{count}}s",turnSummaryCount:"{{count}} hidden messages",turnExpandAction:"Expand",turnCollapseAction:"Collapse",hint:"Press Enter to send, Shift + Enter for new line, type / @ # for completion",newSessionGuide:{loading:"Loading...",searchPlaceholder:"Search actions, prompts, or targets",recentTitle:"Recent",emptySearch:"No matching actions",showMore:"Show {{count}} more",showLess:"Show less",favoriteAction:"Favorite action",unfavoriteAction:"Unfavorite action",fallbackPresetPrefix:"Preset",fallbackActionPrefix:"Action",welcomeMessage:"Welcome back. Describe what you want to move forward, or start with an action template below.",announcements:{title:"Announcements"},workspaces:{title:"Existing Workspaces",empty:"No workspaces found. Configure workspaces in .oo.config.json."},moreCount:"{{count}} more",specs:{title:"Existing Flows",params:"{{count}} params",empty:"No flows found. Add .oo/specs/*.md to show them here.",create:"Quick Create Flow",createToast:"Create a flow file under .oo/specs, then refresh the page."},entities:{title:"Existing Agents",empty:"No agents found. Add entity definition files to show them here.",create:"Quick Create Agent",createToast:"Create an entity definition file, then refresh the page."}},attachments:{pastedImage:"Pasted image"},todo:{noTasks:"No tasks planned",progress:"Progress: {{completed}}/{{total}} completed",pendingCount:"{{count}} todo",inProgressCount:"{{count}} doing",completedCount:"{{count}} done"},tools:{read:"Read File",write:"Write File",bash:"Bash",getTaskInfo:"Get Task Info",listTasks:"List Tasks",listTasksEmpty:"No tasks",startTasks:"Start Tasks",startTasksBackground:"Background",startTasksForeground:"Foreground",startTasksEmpty:"No tasks",startTasksStarted:"Started",startTasksFailed:"Failed",startTasksLogs:"Task Logs",task:"Task",taskCount:"{{count}} tasks",taskExitCode:"Exit: {{code}}",writeSuccess:"Write Success",writeFailed:"Write Failed",askUserQuestion:"Ask User Question",globTool:"Glob",grepTool:"Grep",editTool:"Edit File",lsTool:"List Directory",notebookEdit:"Notebook Edit",webFetch:"Web Fetch",webSearch:"Web Search",booleanOn:"On",booleanOff:"Off",diffSplit:"Split",diffInline:"Inline",skill:"Skill",enterPlanMode:"Enter Plan Mode",exitPlanMode:"Exit Plan Mode",taskCreate:"Create Task",taskGet:"Get Task",taskUpdate:"Update Task",taskList:"List Tasks",claudeTask:"Claude Task",todo:"Task Planning",call:"call",reading:"Reading file...",offset:"offset",limit:"limit",timeout:"timeout",runInBackground:"run in background",dangerouslyDisableSandbox:"sandbox disabled",viewCommand:"View command",noParameters:"No parameters",groupSummaryCount:"{{name}} {{count}}x",groupSummaryMoreCount:"+{{count}}x",singleSelect:"single",multiSelect:"multi",fields:{activeForm:"Active Form",addBlockedBy:"Add Blocked By",addBlocks:"Add Blocks",allowedDomains:"Allowed Domains",allowedPrompts:"Allowed Prompts",answers:"Answers",args:"Args",blockedDomains:"Blocked Domains",cellId:"Cell ID",cellType:"Cell Type",command:"Command",content:"Content",description:"Description",disableSandbox:"Disable Sandbox",details:"Details",editMode:"Edit Mode",glob:"Glob",ignore:"Ignore",limit:"Limit",maxTurns:"Max Turns",metadata:"Metadata",model:"Model",mode:"Mode",newSource:"New Source",newString:"New String",oldString:"Old String",owner:"Owner",offset:"Offset",path:"Path",prompt:"Prompt",pushToRemote:"Push To Remote",questions:"Questions",remoteSession:"Remote Session",remoteSessionUrl:"Remote Session URL",replaceAll:"Replace All",resume:"Resume",runInBackground:"Run In Background",status:"Status",subagentType:"Subagent Type",subject:"Subject",timeout:"Timeout",todos:"Todos"},unknown:"Unknown tool"},terminal:{addSession:"New terminal",closeNamedSession:"Close {{title}}",closeSession:"Close terminal {{index}}",connectionError:"Terminal connection failed. Check the server and try again.",dragSession:"Drag to reorder terminals",enterFullscreen:"Fullscreen",exited:"Exited",exitFullscreen:"Exit fullscreen",exitSummary:"Terminal exited with exitCode={{code}}, signal={{signal}}",hideManager:"Hide terminal list",manageTerminals:"Manage terminals",paneTitle:"Terminal {{index}}",renameSession:"Rename {{title}}",selectShell:"Choose terminal type",sessionCount:"{{count}} terminals",resizePanel:"Drag to resize terminal height",shellTooltip:"Shell: {{shell}}",shellTooltipExited:"Shell: {{shell}}, exited",showManager:"Show terminal list",shell:{bash:"Bash",default:"Default shell",sh:"sh",zsh:"Zsh"}},sessionSettings:"Session Settings",enterTitle:"Enter session title...",tags:"Tags",addTagPlaceholder:"Add tag and press Enter...",noTags:"No tags",title:"Title",newSessionPlaceholder:"Type a message to start a new chat..."},Wm={title:"Plugin Marketplace",subtitle:"Manage installed workspace plugins, or create a new plugin quickly through chat.",configure:"Plugin config",refresh:"Refresh",details:"Details",createPlugin:"Create plugin",connectPlugin:"Add plugin",marketplace:"Plugin Marketplace",viewMode:"Plugin page mode",searchPlaceholder:"Search plugins",empty:"No plugins are loaded",installedLabel:"Installed plugins",groupMode:"Plugin grouping mode",groupByEnabled:"Group by enabled state",groupBySource:"Group by source",groupEnabled:"Enabled",groupDisabled:"Disabled",sourceBuiltIn:"Built-in",sourceGlobal:"Global",sourceLocal:"Local",sourceLocalDev:"Local development",localDirectory:"Local directory",disabled:"Disabled",enablePlugin:"Enable plugin",disablePlugin:"Disable plugin",enablePluginInWorkspace:"Enable in this workspace",disablePluginInWorkspace:"Disable in this workspace",enablePluginGlobally:"Enable globally",disablePluginGlobally:"Disable globally",enabledHint:"Disabled plugins do not load client entries, server entries, or contributions in this workspace. They stay in the list so they can be enabled again.",pluginEnabled:"Plugin enabled",pluginDisabled:"Plugin disabled",pluginEnabledUpdateFailed:"Failed to update plugin enabled state",watch:"Watch",watchHint:"Watch this plugin directory, reload the plugin runtime after file changes, and notify the frontend to reload that plugin.",openDetails:"View details",enableWatch:"Enable Watch",disableWatch:"Disable Watch",copyPluginScope:"Copy plugin ID",copyPluginRoot:"Copy plugin path",pluginScopeCopied:"Plugin ID copied",pluginRootCopied:"Plugin path copied",watchEnabled:"Plugin watch enabled",watchDisabled:"Plugin watch disabled",watchUpdateFailed:"Failed to update plugin watch",diagnostics:"Diagnostics",marketplaceFilter:"Filter",marketplaceConfig:"Config",marketplaceFilterStatus:"Status",marketplaceFilterSource:"Config source",marketplaceFilterAll:"All",marketplaceFilterStatus_all:"All",marketplaceFilterStatus_enabled:"Enabled",marketplaceFilterStatus_disabled:"Disabled",marketplaceSearchPlaceholder:"Search plugins",marketplacePlugins:"Plugins",marketplacePluginsEmpty:"No matching plugins",marketplacePluginEnabled:"Plugin enabled",marketplacePluginDisabled:"Plugin disabled",marketplacePluginSaveFailed:"Failed to save plugin configuration",marketplaceSources:"Plugin sources",marketplaceSourcesEmpty:"No plugin sources yet",addMarketplaceSource:"Add plugin source",removeMarketplaceSource:"Remove plugin source",marketplaceSourceName:"Source name",marketplaceSourceUrl:"Git repository URL",marketplaceSourceRef:"Branch / tag",marketplaceSourcePath:"Subdirectory",marketplaceSourceUrlRequired:"Enter a Git repository URL",marketplaceSourceSaved:"Plugin source saved",marketplaceSourceSaveFailed:"Failed to save plugin source",marketplaceSourceRemoved:"Plugin source removed",marketplaceSourceEnabled:"Plugin source enabled",marketplaceSourceDisabled:"Plugin source disabled",createLandingTitle:"Create a plugin with chat",createLandingDescription:"Pick a common plugin type to prefill the composer, or describe the entry point, interaction, and files you want to extend. Sending starts a session where AI creates the plugin using the repository structure.",createLandingPlaceholder:"Describe the plugin you want to create",createLandingSendInstruction:`Create a OneWorks plugin from the request below. Prefer using create-plugin / plugin-creator capabilities and implement it using the current repository plugin structure. If required details are missing, ask for the missing configuration first.
699
+
700
+ Request:
701
+ {{request}}`,createLandingAttachmentInstruction:"Create a OneWorks plugin from the context I attached. Prefer using create-plugin / plugin-creator capabilities and implement it using the current repository plugin structure. If required details are missing, ask for the missing configuration first.",starterChatActionTitle:"Chat header action",starterChatActionDescription:"Add a button, menu item, or quick command to the chat page.",starterChatActionPrompt:"Help me create a plugin: add an action button to the chat header that runs a custom command when clicked. Use the current repository plugin structure, including a client entry and manifest configuration.",starterLauncherTitle:"Launcher search",starterLauncherDescription:"Add custom search results or commands to the launcher.",starterLauncherPrompt:"Help me create a plugin: add a launcher search provider that returns custom command results for the typed query and supports invoking a result.",starterWorkbenchTitle:"Workbench panel",starterWorkbenchDescription:"Add a plugin tab to the bottom or right workbench panel.",starterWorkbenchPrompt:"Help me create a plugin: register a new workbench panel tab and render custom client-side content in it.",starterRouteTitle:"Plugin page",starterRouteDescription:"Add a standalone plugin route and matching client view.",starterRoutePrompt:"Help me create a plugin: register a standalone plugin page route and implement a renderable client view."},Hm={backToStore:"Back to Plugin Marketplace",notFound:"Plugin not found",overview:"Plugin overview",version:"Version",requestedVersion:"Version rule",package:"Package",request:"Request source",root:"Root directory",clientEntry:"Client entry",clientDevEntry:"Development entry",serverEntry:"Server entry",contributions:"Extension points",enableContribution:"Enable extension point",disableContribution:"Disable extension point",contributionDisabled:"Extension point disabled",enableContributionItem:"Enable this point",disableContributionItem:"Disable this point",contributionItemDisabled:"This point is disabled",noContributionDescription:"This point does not have a description",searchContributions:"Search point name, description, or fields",filter:"Filter",filterStatus:"Status",filterStatus_all:"All",filterStatus_enabled:"Enabled",filterStatus_disabled:"Disabled",noContributionMatches:"No matching points",noContributions:"This plugin does not declare extension points yet",config:"Configuration",configOptions:"Plugin options",configNoSchema:"This plugin has not declared an interactive configuration schema.",configSaving:"Saving",configSaved:"Saved",configSaveFailed:"Failed to save",configInstance:"Instance config",configManifest:"Plugin manifest",skills:"Skills",mcp:"MCP",hooks:"Hooks",assetsEmpty:"No plugin assets to display",assetsLoadFailed:"Failed to load plugin assets",readme:"README",readmeEmpty:"This plugin does not have a README.md",readmeLoadFailed:"Failed to load README.md",diagnosticsEmpty:"No diagnostics",runtimeSlot:"Runtime slot",runtimeSlotLabel:"Runtime {{slot}}",runtimeApis:"Runtime APIs",runtimePluginApis:"Runtime plugin APIs",runtimeExtensionPoints:"Runtime extension points",runtimeExtensionContributions:"Runtime extension contributions",runtimeRoutes:"Runtime routes",runtimeViews:"Runtime views",runtimeLaunchers:"Runtime launcher search",groups:{extensionPoints:"Plugin extension points",extensionContributions:"Plugin extension contributions",navItems:"Left navigation entries",navMoreMenu:"Left more menu",navFooterBefore:"Left footer above menu",chatHeaderActions:"Chat header actions",chatHeaderMoreMenu:"Chat header more menu",chatInteractionPanelEmptyActions:"Chat empty page actions",routeHeaderActions:"Route header actions",routeMoreMenuItems:"Route more menu",routeSidebarContextMenu:"Route sidebar context menu",routeWindowBarActions:"Collapsed window bar actions",workbenchAddMenu:"Workbench add menu",workbenchTabs:"Workbench tabs",workspaceDrawerTabs:"Workspace drawer tabs",launcherSearchProviders:"Launcher search",routes:"Plugin page routes"},fields:{id:"ID",title:"Title",route:"Route",routeId:"Route ID",command:"Command",contributionSchema:"Contribution schema",extensionPoint:"Extension point",mode:"Mode",target:"API path",proxyTarget:"Proxy target",href:"Link",active:"Active",activeLabel:"Active label",activeTitle:"Active tooltip",danger:"Danger",disabled:"Disabled",selected:"Selected",tab:"Tab",clientView:"Client view",viewId:"View",placement:"Placement",targetRoute:"Target route",targetRoutes:"Target routes",icon:"Icon",activeIcon:"Active icon",shortcut:"Shortcut",inputSchema:"Input schema",outputSchema:"Output schema",headerSchema:"Header schema"}},Um={title:"System Configuration",readOnlyHint:"Configuration supports in-app editing and saves to json/yaml files.",loadFailed:"Failed to load configuration",reload:"Reload",editHint:"Changes are auto-saved to the selected source config file for global, project, or local overrides.",maskHint:"Sensitive fields are masked. Keep ****** to preserve existing values.",invalidJson:"Invalid JSON. Fix the format before saving.",saveSuccess:"Configuration saved",saveFailed:"Failed to save configuration",copySuccess:"Configuration copied",copyFailed:"Copy failed",sources:{global:"Global",globalMissing:"Global (Not created)",project:"Project",user:"Local",projectMissing:"Project (Not created)",userMissing:"Local (Not created)"},navigation:{search:"Search config sections",noResults:"No matching sections"},actions:{edit:"Edit",save:"Save",cancel:"Cancel",format:"Format",copy:"Copy",openModelServiceHomepage:"Open management home",configureModelServiceWithSession:"Modify model service in session",createModelServiceWithSession:"Add model service in session",modelServiceSessionCreated:"Model service config session created",modelServiceSessionCreateFailed:"Failed to create model service config session"},conflict:{title:"Configuration changed elsewhere",description:"{{source}} / {{target}} was updated outside this page while you still have unsaved edits.",instructions:"Choose which version to keep before continuing so the two copies do not overwrite each other.",keepLocal:"Keep my edits",useRemote:"Use external change"},editor:{addField:"Add Field",addItem:"Add Item",remove:"Remove",removeItemConfirmTitle:"Delete this item?",collapse:"Collapse",expand:"Expand",addAdapter:"Add Adapter",addPlugin:"Add Plugin",addMcpServer:"Add MCP Server",addModelService:"Add Model Service",addMarketplace:"Add Registry",addEnvVar:"Add Environment Variable",addHeader:"Add Header",addEntry:"Add Entry",newModelSelectorName:"New model selector",moveUp:"Move Up",moveDown:"Move Down",shortcutPlaceholder:"Press shortcut",clearShortcut:"Clear shortcut",newModelServiceName:"New model service name",newChannelName:"New channel name",newAdapterName:"New adapter name",newPluginName:"New plugin name",newMcpServerName:"New MCP server name",newSpeechToTextServiceName:"New speech-to-text service name",newMarketplaceName:"New registry name",newEnvVarName:"New environment variable name",newHeaderName:"New header name",fieldKey:"Field Key",fieldValue:"Field Value",complexPlaceholder:"Use JSON for complex structures",secretPlaceholder:"Enter secret",itemPlaceholder:"Enter value",commandPlaceholder:"Enter command",urlPlaceholder:"Enter URL",multilinePlaceholder:"Enter content",defaultAdapterPlaceholder:"Select adapter",defaultModelServicePlaceholder:"Select model service",defaultModelPlaceholder:"Select model",defaultSpeechToTextServicePlaceholder:"Select speech-to-text service",worktreeEnvironmentPlaceholder:"Select worktree environment",workspaceFileOpenerPlaceholder:"Select detected app",titlePlaceholder:"Enter title",descriptionPlaceholder:"Enter description",channelType:"Channel Type",unknownChannelType:"Unknown type",complexValue:"Complex value",tagsPlaceholder:"Type and press Enter",types:{string:"Text",number:"Number",boolean:"Boolean",object:"Object",array:"Array"},effort:{default:"Default",low:"Low",medium:"Medium",high:"High",max:"Max"}},detail:{back:"Back",override:"Override in current config",inheritedReadonly:"This value comes from an extended config. Override it here before editing.",inheritedAppendOnly:"This item comes from an extended config. This collection merges by append, so edit it in the source config or override the whole collection here.",partialOverride:"This entry overrides an inherited config. Fields not set locally still come from the inherited layer.",inheritedBadge:"Inherited",overrideBadge:"Override",localBadge:"Local"},accounts:{title:"Accounts",back:"Back to accounts",backToAdapter:"Back to adapter",empty:"No accounts available yet.",detailMissing:"Account detail is currently unavailable.",default:"Default",count:"{{count}} accounts",readyCount:"{{count}} ready",defaultHint:"Default: {{account}}",quotaTitle:"Quota",settingsTitle:"Account settings",settingsDescription:"These fields edit the adapter config entry for this account. When supported, they override the stored workspace snapshot.",adapterKeyHint:"Adapter: {{adapter}}",searchPlaceholder:"Search accounts",searchEmpty:"No matching accounts",deleteConfirmTitle:"Delete the stored workspace snapshot for {{account}}?",rowActions:{setDefault:"Set as default account",clearDefault:"Clear default account",delete:"Delete account snapshot"},facts:{email:"Email",type:"Type",plan:"Plan"},status:{ready:"Ready",missing:"Missing",error:"Error"},actions:{add:{label:"Connect account",description:"Run the adapter login action and save its credentials into this workspace."},refresh:{label:"Refresh quota",description:"Fetch the latest plan and quota info for this account."},remove:{label:"Remove snapshot",description:"Remove the stored workspace snapshot for this account."}},actionSuccess:{add:"Account connected",refresh:"Quota refreshed",remove:"Account snapshot removed"},actionFailed:{add:"Failed to connect account",refresh:"Failed to refresh quota",remove:"Failed to remove account snapshot"},authFileDefaultLookup:"Leave empty to use {{path}}."},modelServices:{identity:{configured:"Official provider selected",hostMatch:"Detected from API host",custom:"Custom compatible service"},import:{created:"Created model service {{name}}"},actions:{more:"More",openHomepage:"Management Console",openExternal:"Open in external browser",createSecret:"Create Secret",openApiKeys:"Open API Keys",queryBalance:"Check Balance",queryStatus:"Service Status",queryModels:"List Models"},results:{actionFailed:"Model service action failed",amountUnknown:"Unknown",balance:"Balance",cost:"Cost",quota:"Quota",unlimitedQuota:"Unlimited quota",resetsAt:"resets at {{time}}",windowQuota:"{{duration}} window {{amount}}",parallelLimit:"parallel {{count}}",status:"Status",models:"{{count}} models",modelsMore:"{{count}} more",modelsLoaded:"Loaded {{count}} models",secretCreated:"Secret created and copied to clipboard"},plan:{title:"Subscription plan",labels:{kind:"Plan type",keyKind:"Key type",liveQuota:"Live quota",allowedUse:"Allowed use",endpoints:"Dedicated base URLs",defaultModels:"Default models",window:"Window",periodQuota:"Period quota",planLevel:"Plan level",resetTime:"Reset time",parallelLimit:"Parallel limit"},liveQuota:{failed:"Query failed",loading:"Loading...",notQueried:"Not queried",windowSummary:"{{duration}}: {{amount}}"},quotaProgress:{percentValue:"{{value}}%",resetAt:"resets at {{time}}",weekly:"1 week quota",monthly:"Monthly quota",window:"{{duration}} quota"},duration:{hours:"{{count}}h",generic:"{{count}} {{unit}}"},timeUnit:{minute:"minute",hour:"hour",day:"day",week:"week",month:"month"},restrictions:{codingToolsOnly:"Use only from interactive coding tools; do not use it for backend batch jobs, automation scripts, or general API workloads.",dedicatedKey:"Use the plan-specific key with the plan-specific base URL. Pay-as-you-go API keys and normal API base URLs are not interchangeable.",kimiSeparateBaseUrl:"Kimi Code uses a separate base URL from the Moonshot Open Platform API."},links:{purchase:"Purchase",key:"Create Key",docs:"Docs"},kind:{payg:"Pay-as-you-go API",product_subscription:"Product subscription",coding_plan:"Coding Plan",token_plan:"Token Plan",relay_coding_plan:"Relay Coding Plan"},keyKind:{payg_api_key:"Pay-as-you-go API key",coding_plan_key:"Coding Plan key",subscription_key:"Subscription key"},quotaUnit:{request:"Requests",token:"Tokens",credit:"Credits",percent:"Percent"},quotaWindow:{"5h":"5h",weekly:"Weekly",monthly:"Monthly"},allowedUse:{coding_tools_only:"Coding tools only",general_api:"General API"}},management:{title:"Profiles",apiKeyTitle:"Remote token",balance:"Balance",groups:"Groups",apiKeys:"Remote keys",tokens:"Remote keys",profiles:"Profiles",models:"Models",unknown:"-",refresh:"Refresh platform data",actionFailed:"Platform management action failed",newTokenName:"New profile name",newApiKeyName:"New token name",createProfileTitle:"Create profile",createApiKeyTitle:"Create token",createApiKeySuccess:"Token created",deleteApiKeySuccess:"Token deleted",createApiKeyFirst:"Create token",dialogCreate:"Dialog create",deleteApiKeyConfirm:"Delete this remote token?",deleteProfileDesc:"Delete this local profile. The remote token will remain.",groupDesc:"New API group used by this token.",name:"Name",noApiKeyForProfile:"Create a remote token first.",status:"Status",groupPlaceholder:"Group",quotaPlaceholder:"Quota",unlimited:"Unlimited",loading:"Loading platform data",empty:"No profiles yet.",createSuccess:"Profile created",updateSuccess:"Profile updated",deleteSuccess:"Profile deleted",applyGroup:"Update group",importProfile:"Profile",openProfile:"Profile",selectApiKey:"Select remote token",bindSuccess:"Remote token bound",boundProfile:"Remote token: {{key}}",linkedProfile:"Local profile: {{profile}}",notLinked:"Not added as a local profile",unboundProfile:"No remote token selected",deleteConfirm:"Delete this profile?",tokenGroup:"Group: {{group}}",tokenQuota:"Quota: {{amount}}",tokenStatus:{enabled:"Enabled",disabled:"Disabled",expired:"Expired",unknown:"Unknown"}},collectionTabs:{service:"Service",profiles:"Local profiles",apiKeys:"Token management",advanced:"Advanced"},portal:{secretTitle:"{{provider}} Secret Management",tabsLabel:"Service pages",closePanel:"Close service pages",resizePanel:"Resize service pages"},status:{operational:"Operational",degraded:"Degraded",partial_outage:"Partial outage",major_outage:"Major outage",maintenance:"Maintenance",unknown:"Unknown",unsupported:"Unsupported"}},fields:{general:{baseDir:{label:"Workspace Folder",desc:"Default folder for configuration and cache files"},disableGlobalConfig:{label:"Disable Global Config",desc:"Stop merging global ~/.oneworks/.oo.config.json into the current resolved config; the global source remains editable."},effort:{label:"Default Effort",desc:"Default effort level used when none is specified"},defaultAdapter:{label:"Default Adapter",desc:"Adapter used when none is specified"},defaultModelService:{label:"Default Model Service",desc:"Model service used when none is specified"},defaultModel:{label:"Default Model",desc:"Model used when none is specified"},recommendedModels:{label:"Recommended Models",desc:"Models shown in the recommended section of the selector",item:{service:{label:"Model Service",desc:"Optional service that owns this model"},model:{label:"Model",desc:"Model identifier shown in recommendations"},title:{label:"Title",desc:"Optional display title for this recommendation"},description:{label:"Description",desc:"Optional display description for this recommendation"},placement:{label:"Placement",desc:"UI placement where this recommendation appears"}}},interfaceLanguage:{label:"Interface Language",desc:"Controls UI display and interaction language"},modelLanguage:{label:"Model Language",desc:"Controls the assistant response language"},messageLinks:{label:"Message Links",desc:"Controls how links inside chat messages are rendered and opened",externalLinkTarget:{label:"Web Link Target",desc:"Choose whether web links open in a new browser tab or the current tab"},workspaceFileTarget:{label:"Workspace File Target",desc:"Choose whether workspace file links open in the bottom file tab, an external app, or the browser default link behavior"},workspaceFileOpener:{label:"Preferred App",desc:"Choose the external app used for workspace file links. Auto-detect uses the first installed supported tool."},imageLinkMode:{label:"Image Links",desc:"Render standard image links inline with click-to-preview, or keep them as normal links"},plainWorkspacePathMode:{label:"Plain File Paths",desc:"Turn plain workspace-relative file paths in message text into clickable links"}},announcements:{label:"Announcements",desc:"Shown when starting a new session"},permissions:{label:"Permissions",desc:"Access policy for tools and resources",allow:{label:"Allow"},deny:{label:"Deny"},ask:{label:"Ask"}},env:{label:"Environment",desc:"Overrides or additional environment variables"},notifications:{label:"Notifications",desc:"Trigger notifications on session status updates",disabled:{label:"Disable Notifications",desc:"Disable to stop sending notifications"},volume:{label:"Notification Volume",desc:"0-1 or 0-100, 0 means mute"},events:{label:"Event Notifications",desc:"Configure each notification trigger separately",item:{enabled:{label:"Enable notification"},title:{label:"Title",desc:"Leave empty to use the default title"},description:{label:"Message",desc:"Leave empty to use the default message"},sound:{label:"Sound",desc:"Audio file path, leave empty for default sound"}},completed:{label:"Completion Notification",desc:"Triggered when a session completes",disabled:{label:"Disable Completion Notification",desc:"Disable to stop completion notifications"},title:{label:"Completion Title",desc:"Leave empty to use the default title"},description:{label:"Completion Message",desc:"Leave empty to use the default message"},sound:{label:"Completion Sound",desc:"Audio file path, leave empty for default sound"}},failed:{label:"Failure Notification",desc:"Triggered when a session fails",disabled:{label:"Disable Failure Notification",desc:"Disable to stop failure notifications"},title:{label:"Failure Title",desc:"Leave empty to use the default title"},description:{label:"Failure Message",desc:"Leave empty to use the default message"},sound:{label:"Failure Sound",desc:"Audio file path, leave empty for default sound"}},terminated:{label:"Termination Notification",desc:"Triggered when a session is terminated",disabled:{label:"Disable Termination Notification",desc:"Disable to stop termination notifications"},title:{label:"Termination Title",desc:"Leave empty to use the default title"},description:{label:"Termination Message",desc:"Leave empty to use the default message"},sound:{label:"Termination Sound",desc:"Audio file path, leave empty for default sound"}},waiting_input:{label:"Waiting Input Notification",desc:"Triggered when a session waits for input",disabled:{label:"Disable Waiting Input Notification",desc:"Disable to stop waiting input notifications"},title:{label:"Waiting Input Title",desc:"Leave empty to use the default title"},description:{label:"Waiting Input Message",desc:"Leave empty to use the default message"},sound:{label:"Waiting Input Sound",desc:"Audio file path, leave empty for default sound"}}}}},conversation:{style:{label:"Conversation Style",desc:"Controls the assistant’s interaction style"},createSessionWorktree:{label:"Create worktree for new sessions",desc:"When enabled, new sessions get a managed worktree; when disabled, they reuse the current workspace by default"},showSessionCardMessage:{label:"Show Session Message Preview",desc:"Show the latest message preview in sidebar session cards. Disabled by default, so cards only show title and status."},worktreeEnvironment:{label:"Default worktree environment",desc:"Environment scripts run when managed worktrees are created, started, and destroyed"},customInstructions:{label:"Custom Instructions",desc:"Additional guidance for the assistant"},startupPresets:{label:"Startup Presets",desc:"Show one-click startup environment presets on the new session page"},builtinActions:{label:"Built-in Actions",desc:"Show reusable development action templates on the new session page"},starterItem:{title:{label:"Title",desc:"Name shown in the list"},description:{label:"Description",desc:"Supporting copy shown in the list"},icon:{label:"Icon",desc:"Material Symbols icon name, for example `rocket_launch`"},mode:{label:"Mode",desc:"Target mode selected for the new session"},target:{label:"Target",desc:"Workspace uses the id; Agent / entity / spec use the resource name"},targetLabel:{label:"Target Label",desc:"Optional display label shown in the list"},targetDescription:{label:"Target Description",desc:"Optional supporting description for the selected target"},model:{label:"Model",desc:"Model value, including optional `service,model` form"},adapter:{label:"Adapter",desc:"Adapter selected when the preset is applied"},account:{label:"Account",desc:"Account selected when the preset is applied"},effort:{label:"Effort",desc:"Reasoning effort applied when the preset is used"},permissionMode:{label:"Permission Mode",desc:"Permission mode applied when the preset is used"},worktreeCreate:{label:"Use Worktree",desc:"Enable a managed worktree for this preset"},worktreeEnvironment:{label:"Worktree Environment",desc:"Managed worktree environment id used by this preset"},branchName:{label:"Branch Name",desc:"Branch name prefilled when the preset is applied"},branchKind:{label:"Branch Kind",desc:"Whether the branch comes from a local or remote ref"},branchMode:{label:"Branch Mode",desc:"Whether to checkout an existing branch or create a new one"},prompt:{label:"Prompt",desc:"Prompt prefilled into the sender when clicked"},files:{label:"Files",desc:"File paths attached to the sender when clicked"},rules:{label:"Rules",desc:"Rule paths or rule identifiers that will be converted into starter context when possible"},skills:{label:"Skills",desc:"Skill paths or skill identifiers that will be converted into starter context when possible"},worktreeEnabledBadge:"Worktree"}},models:{items:{label:"Model Metadata Entries",desc:"Model metadata keyed by `service` or `service,model`. Display metadata like alias/title/description only applies to exact `model` or `service,model` matches"}},modelServices:{items:{label:"Service Entries",desc:"Flattened configuration by service name"},item:{kind:{label:"Service Type",desc:"A model service is directly callable. A service collection stores platform management credentials and keeps concrete model services under services."},provider:{label:"Official Provider",desc:"Uses the built-in API base URL, model catalog, icon, and management links. Leave empty for custom services."},title:{label:"Display Title",desc:"Shown in the default model service dropdown"},description:{label:"Display Description",desc:"Shown in the default model service dropdown"},icon:{label:"Service Icon",desc:"Use builtin:id, material:name, or an image URL. Leave empty to use the provider icon."},homepageUrl:{label:"Management Home",desc:"Override the provider console URL used for top-up, purchase, and API key management."},apiBaseUrl:{label:"API Base URL",desc:"Override the model service API URL. Coding Plan and Token Plan services must use their dedicated plan base URL."},apiKey:{label:"API Key",desc:"Access key for the model service. Use a plan-specific key for Coding Plan or Token Plan providers."},models:{label:"Models",desc:"Models supported by this service. Leave empty to use the provider default catalog."},profiles:{label:"Profiles",desc:"Concrete model invocation profiles under a collection. Runtime expands them as collection/profile."},billing:{label:"Billing Metadata",desc:"Optional override for billing kind, key kind, quota unit, quota windows, and allowed use."},codingPlan:{label:"Coding Plan Metadata",desc:"Optional override for plan links, protocol base URLs, regions, default models, and restrictions."},management:{enabled:{label:"Enable Management Actions",desc:"Enable helper actions for models, balance, service status, and secrets."},endpointKind:{label:"Management API Type",desc:"Management API type. Use newapi for New API platforms."},baseUrl:{label:"Management API URL",desc:"Management API root URL. New API platforms should not include /v1."},apiKey:{label:"Management API Key",desc:"Some providers require a separate management API key. Leave empty to reuse the model API key."},headers:{label:"Management Headers",desc:"Additional headers sent to the provider management API, such as New-Api-User."}},providerOptions:{label:"Provider Options",desc:"Lightweight provider-specific JSON settings such as region, endpoint kind, or special management API parameters."},timeoutMs:{label:"Timeout (ms)",desc:"Provider timeout in milliseconds. Codex uses it as stream idle timeout; Claude Code Router uses global API timeout."},maxOutputTokens:{label:"Max Output Tokens",desc:"Default output token cap for this service. Codex uses maxOutputTokens; Claude Code Router uses the maxtoken transformer."},extra:{label:"Extra Settings",desc:"Additional configuration for the service"}}},adapters:{defaultModel:{label:"Default Model",desc:"Preferred model override for this adapter."},includeModels:{label:"Allowed Models",desc:"Restrict this adapter to the listed models."},excludeModels:{label:"Blocked Models",desc:"Models that this adapter must not use."},defaultAccount:{label:"Default Account",desc:"Default account key selected for this adapter."},items:{label:"Adapter Entries",desc:"Flattened configuration by adapter name. Common fields include `defaultModel`, `includeModels`, and `excludeModels`."}},adapterAccount:{title:{label:"Display Name",desc:"Title shown for this account in the UI."},description:{label:"Description",desc:"Optional notes about the account purpose or source."},authFile:{label:"Auth File",desc:"Explicit path to the auth.json file for this account."}},plugins:{items:{label:"Plugin Configuration",desc:"Flattened configuration by plugin name"},enabled:{label:"Enabled Plugins",desc:"Enable or disable plugins"},marketplaces:{label:"Plugin Marketplaces",desc:"Adapter-native plugin marketplaces"}},mcp:{mcpServers:{label:"MCP Servers",desc:"Connection details for MCP servers"},defaultIncludeMcpServers:{label:"Default Include",desc:"MCP servers enabled by default"},defaultExcludeMcpServers:{label:"Default Exclude",desc:"MCP servers disabled by default"},noDefaultOneworksMcpServer:{label:"Disable Built-in MCP",desc:"Do not enable the built-in OneWorks MCP server"},items:{label:"Server Entries",desc:"Flattened configuration by server name"}},mcpServer:{enabled:{label:"Enabled",desc:"Toggle MCP server availability"},type:{label:"Connection Type",desc:"Choose how to connect to the server"},command:{label:"Command",desc:"Local command launch"},args:{label:"Arguments",desc:"Command arguments"},url:{label:"Server URL",desc:"Remote MCP server address"},headers:{label:"Headers",desc:"Headers included for the connection"},env:{label:"Environment",desc:"Environment variables for the MCP server"}},voice:{speechToText:{label:"Speech to Text",desc:"Configure transcription services used by sender recording"},defaultServiceId:{label:"Default Voice Service",desc:"Speech-to-text service used by sender when no service is selected manually"},showInSender:{label:"Show Voice Input",desc:"Hide the sender voice button when off; right-click the sender or open settings to enable it again"},services:{label:"Voice Services",desc:"OpenAI-compatible or custom HTTP speech-to-text services keyed by service id"},serviceItem:{label:{label:"Display Name",desc:"Name shown in settings and sender menus"},description:{label:"Description",desc:"Notes about this service, account, or limits"},provider:{label:"Provider",desc:"Choose built-in OpenAI-compatible transcription or custom HTTP mapping"},enabled:{label:"Enabled",desc:"Disabled services are hidden from sender"},language:{label:"Default Language",desc:"For example auto, zh, or en; exact values depend on the provider"},prompt:{label:"Recognition Prompt",desc:"Vocabulary, domain terms, or provider context hint"},timeoutMs:{label:"Timeout (ms)",desc:"Maximum wait time for transcription requests"},maxDurationSeconds:{label:"Max Recording Seconds",desc:"Maximum duration sender can record"},maxBytes:{label:"Max Audio Bytes",desc:"Maximum audio payload accepted by the server"},baseUrl:{label:"OpenAI API URL",desc:"Base URL for OpenAI or compatible APIs"},apiKeyEnv:{label:"API Key Env Var",desc:"Recommended way to store keys, for example OPENAI_API_KEY"},apiKey:{label:"API Key",desc:"Prefer global or user config only; project config should use env references"},model:{label:"Model",desc:"Speech-to-text model id"},responseFormat:{label:"Response Format",desc:"response_format for OpenAI-compatible APIs"},requestUrl:{label:"Request URL",desc:"Custom HTTP speech-to-text endpoint"},requestMethod:{label:"Request Method",desc:"Custom HTTP method"},requestHeaders:{label:"Headers",desc:"Supports ${env:NAME} environment variable references"},bodyKind:{label:"Body Type",desc:"Choose JSON, multipart upload, or raw binary"},fileField:{label:"File Field",desc:"Multipart field name for the audio file"},audioBase64Field:{label:"Base64 Field",desc:"JSON field name for base64 audio"},bodyFields:{label:"Request Fields",desc:"Extra fields. Supports {{language}}, {{prompt}}, {{mimeType}}, and {{filename}}"},textPath:{label:"Text Path",desc:"Dot path to transcript text in JSON response, for example data.text"},languagePath:{label:"Language Path",desc:"Dot path to language in JSON response"},segmentsPath:{label:"Segments Path",desc:"Dot path to transcript segments array in JSON response"},wordsPath:{label:"Words Path",desc:"Dot path to word timestamp array in JSON response"}}},shortcuts:{newSession:{label:"New Session",desc:"Global shortcut for creating a new session"},openConfig:{label:"Open Config",desc:"Shortcut for opening the config view"},sendMessage:{label:"Send Message",desc:"Shortcut for sending a message"},clearInput:{label:"Clear Input",desc:"Shortcut for clearing the input"},switchModel:{label:"Switch Model",desc:"Open the model selector and navigate it with the keyboard"},switchEffort:{label:"Switch Reasoning Effort",desc:"Open the effort selector and navigate it with the keyboard"},switchPermissionMode:{label:"Switch Permission Mode",desc:"Open the permission menu and navigate it with the keyboard"}},experiments:{agentRoom:{label:"Agent Room",desc:"Enable the experimental multi-agent room chat mode. Disabled by default."},automation:{label:"Automation",desc:"Enable the experimental automation interface entry. Disabled by default."},benchmark:{label:"Benchmark",desc:"Enable the experimental benchmark interface entry. Disabled by default."},sessionTimeline:{label:"Session timeline",desc:"Show the unfinished timeline view in session headers. Disabled by default."}}},options:{language:{zh:"Chinese",en:"English"},modelProviders:{custom:"Custom OpenAI-compatible service",openai:"OpenAI",anthropic:"Anthropic","moonshot-cn":"Moonshot / Kimi China","moonshot-intl":"Moonshot / Kimi International","kimi-code":"Kimi Code",deepseek:"DeepSeek",minimax:"MiniMax","minimax-token-plan":"MiniMax Token Plan",qwen:"Alibaba Qwen / Bailian","qwen-coding-plan":"Alibaba Coding Plan",zhipu:"Zhipu GLM","zhipu-coding-plan":"Zhipu GLM Coding Plan","tencent-tokenhub-coding-plan":"Tencent TokenHub Coding Plan","volcengine-ark-coding-plan":"Volcengine Ark Coding Plan","baidu-qianfan-coding-plan":"Baidu Qianfan Coding Plan","azure-openai":"Azure OpenAI","google-gemini":"Google Gemini","aws-bedrock":"AWS Bedrock",openrouter:"OpenRouter","vercel-ai-gateway":"Vercel AI Gateway",requesty:"Requesty",portkey:"Portkey",litellm:"LiteLLM",micu:"Micu",apiyi:"APIYI",yunwu:"Yunwu"},modelServiceKind:{service:"Model service",collection:"Service collection"},modelServiceManagementEndpointKind:{none:"No management API",newapi:"New API"},modelProviderDescriptions:{openai:"Official OpenAI API platform for GPT models and multimodal services.",anthropic:"Official Anthropic Console service for Claude models.","moonshot-cn":"Moonshot/Kimi China official OpenAI-compatible API service.","moonshot-intl":"Moonshot/Kimi international official OpenAI-compatible API service.","kimi-code":"Kimi Code membership benefit endpoint for coding agents.",deepseek:"Official DeepSeek OpenAI-compatible API service.",minimax:"Official MiniMax API platform for chat, multimodal, and agent services.","minimax-token-plan":"MiniMax Token Plan subscription endpoint for MiniMax M-series coding models.",qwen:"Alibaba Cloud Bailian/DashScope API service for Qwen models.","qwen-coding-plan":"Alibaba Cloud Model Studio Coding Plan endpoint for coding agents.",zhipu:"Zhipu BigModel official API service for GLM models.","zhipu-coding-plan":"Zhipu GLM Coding Plan endpoint for supported coding tools.","tencent-tokenhub-coding-plan":"Tencent Cloud TokenHub Coding Plan endpoint for coding agents.","volcengine-ark-coding-plan":"Volcengine Ark Coding Plan endpoint for coding agents.","baidu-qianfan-coding-plan":"Baidu Qianfan Coding Plan endpoint for coding agents.","azure-openai":"Azure-hosted OpenAI model deployments managed through Azure AI Foundry.","google-gemini":"Google AI Studio and Gemini API service.","aws-bedrock":"AWS Bedrock managed foundation model service.",openrouter:"OpenRouter model routing platform with OpenAI-compatible APIs.","vercel-ai-gateway":"Vercel AI Gateway for routing requests across model providers.",requesty:"Requesty AI gateway for OpenAI-compatible model routing.",portkey:"Portkey AI gateway for managing and routing model traffic.",litellm:"LiteLLM gateway and proxy for unified model APIs.",micu:"Micu relay platform for OpenAI-compatible model access.",apiyi:"APIYI relay platform for OpenAI-compatible model access.",yunwu:"Yunwu relay platform for OpenAI-compatible model access."},conversation:{friendly:"Friendly",programmatic:"Programmatic"},conversationStarterMode:{default:"Default",workspace:"Workspace",agent:"Agent",entity:"Entity",spec:"Spec"},permissionMode:{default:"Default",acceptEdits:"Accept Edits",plan:"Plan",dontAsk:"Don't Ask",bypassPermissions:"Bypass Permissions"},branchKind:{local:"Local Branch",remote:"Remote Branch"},branchMode:{checkout:"Checkout",create:"Create"},mcp:{command:"Command",sse:"SSE",http:"HTTP"},messageLinks:{externalLinkTarget:{newTab:"Open a new tab",currentTab:"Open in current tab"},workspaceFileTarget:{fileTab:"Bottom file tab",externalIde:"External app",defaultLink:"Browser default"},workspaceFileOpener:{auto:"Auto-detect",autoWithDefault:"Auto-detect ({{name}})",vscode:"VS Code",cursor:"Cursor",windsurf:"Windsurf",zed:"Zed",intellij:"IntelliJ IDEA",webstorm:"WebStorm",pycharm:"PyCharm",goland:"GoLand",textedit:"TextEdit"},imageLinkMode:{inlinePreview:"Inline preview",link:"Normal link"},plainWorkspacePathMode:{link:"Clickable link",text:"Plain text"}},recommendedModels:{modelSelector:"Model Metadata"},voice:{provider:{openaiTranscriptions:"OpenAI-compatible transcription",customHttp:"Custom HTTP"},bodyKind:{json:"JSON Base64",multipart:"Multipart File",binary:"Raw Binary"},responseFormat:{json:"JSON",verboseJson:"Verbose JSON",text:"Plain Text",srt:"SRT Subtitles",vtt:"VTT Subtitles"}}},voice:{aiAssist:{label:"Create with AI",prompt:`I want to create a speech-to-text service configuration for One Works.
702
+
703
+ Please first ask me for the provider, endpoint URL, authentication method, model name, language, audio format limits, and response JSON structure.
704
+ Then generate JSON that can be written to the One Works voice.speechToText configuration format.
705
+
706
+ Constraints:
707
+ - Do not write API keys in plain text in project config; prefer environment variable references.
708
+ - Use lowercase kebab-case service ids.
709
+ - For OpenAI-compatible APIs, use provider openai-transcriptions.
710
+ - For custom HTTP APIs, use provider custom-http and include request/response mappings.
711
+ - End with test steps and troubleshooting suggestions.`}},sectionGroups:{base:"Base Configuration",profile:"Service Info",access:"Access",providerAccess:"Access Overrides",customization:"Display & Links",models:"Model Configuration",profiles:"Profiles",management:"Management",plan:"Plan Metadata",advanced:"Advanced Configuration",advancedModels:"Advanced Model Rules",advancedRuntime:"Runtime Options",advancedSandbox:"Sandbox",advancedClient:"Client Identity",advancedOverrides:"Raw Overrides",advancedMisc:"Other Options",permissions:"Tool Permissions",env:"Environment Variables",links:"Message Links",items:"Entry Configuration",plugins:"Plugin Configuration"},groups:{config:"Configuration",app:"Application"},environments:{newPlaceholder:"Example: env-node-20",newLocalPlaceholder:"Example: env-node-20",create:"New",created:"Environment created",empty:"No worktree environments",searchEmpty:"No matching worktree environments",searchPlaceholder:"Search environments",exists:"Environment name already exists",createFailed:"Failed to create environment",saveFailed:"Failed to save environment",edit:"Edit",name:"Name",createTitle:"Create Environment",createDescription:"",projectListTitle:"Project Environments",projectListDescription:"",localListTitle:"Local Environments",localListDescription:"",detailTitle:"Environment Details",baseScript:"Script",availableEnvVars:"Available env vars",platformOverrides:"Platform Overrides",platformOverridesDescription:"Override the default script for a specific operating system.",platformScriptDescription:"Runs only on {{platform}}.",sources:{project:"Project",user:"Local"},platforms:{macos:"macOS",linux:"Linux",windows:"Windows"},operationSections:{create:{title:"Create Script",description:"This script runs after the worktree is created."},start:{title:"Start Script",description:"This script runs before the adapter process starts."},destroy:{title:"Cleanup Script",description:"This script runs before deleting a managed worktree."}},baseScriptDescriptions:{create:"Runs in the new worktree.",start:"Runs in the session workspace.",destroy:"Runs in the worktree being deleted."},operations:{create:"Create",start:"Start",destroy:"Destroy"},scripts:{create:"create.sh","create.macos":"create.macos.sh","create.linux":"create.linux.sh","create.windows":"create.windows.ps1",start:"start.sh","start.macos":"start.macos.sh","start.linux":"start.linux.sh","start.windows":"start.windows.ps1",destroy:"destroy.sh","destroy.macos":"destroy.macos.sh","destroy.linux":"destroy.linux.sh","destroy.windows":"destroy.windows.ps1"}},about:{software:"Software Info",version:"Version",clientVersion:"Client Version",serverVersion:"Server Version",commitHash:"Build Commit",lastRelease:"Last Release",checkUpdate:"Check Updates",docs:"Documentation",contact:"Contact Us",feedback:"Feedback",buildSource:{title:"App Source",gitHash:"Git Hash",branch:"Branch",buildTime:"Build Time"},unknown:"Unknown"},sections:{general:"General",conversation:"Conversation",models:"Models",modelServices:"Model Services",channels:"Channels",adapters:"Adapters",plugins:"Plugins",voice:"Voice",environments:"Environments",mcp:"MCP",shortcuts:"Shortcuts",desktop:"Desktop",externalSessions:"External Sessions",browserHistory:"History",browserDownloads:"Downloads",savedPasswords:"Saved passwords",appearance:"Appearance",experiments:"Experiments",about:"About"},desktopSettings:{unavailable:"Desktop settings update API is not available in this environment",saving:"Saving...",saveFailed:"Failed to save desktop settings",openKeyboardSettingsFailed:"Failed to open System Settings",appIcon:{label:"App icon",desc:"Choose the desktop app icon theme. Light or dark appearance follows theme mode",theme:"Theme",appearance:"Appearance",background:"Default background",backgroundDesc:"Render the icon tile background",backgroundStyle:{options:{transparent:{label:"Transparent",desc:"Show only the icon mark without a tile background"},solid:{label:"Solid",desc:"Render a solid app-icon theme color tile"},textured:{label:"Textured",desc:"Render the app icon theme's textured background"}}},previewAlt:"OneWorks app icon preview",saveFailed:"Failed to save app icon settings",syncDockIcon:{label:"Sync Dock icon",desc:"Update the app icon in the Dock when global app icon settings change"},syncTaskbarIcon:{label:"Sync taskbar icon",desc:"Update the app icon in the taskbar when global app icon settings change"},syncAppIcon:{label:"Sync system app icon",desc:"Update the system app icon when global app icon settings change"},themeOptions:{industrial:"Industrial",metal:"Metal",matrix:"Matrix"}},launcherShortcut:{label:"Launcher shortcut",desc:"Open or focus the desktop launcher. Leave it empty to disable the global shortcut.",placeholder:"Press a new shortcut",invalid:"Shortcut must include Command, Control, or Option/Alt",registerFailed:"Current shortcut is not registered: {{message}}",registered:"Shortcut enabled",openKeyboardSettings:"Open System Settings",retry:"Retry",useFallback:"Use Option+Space"},updates:{label:"App updates",desc:"Release desktop builds check for updates automatically. These settings are saved to this project's .oo.config.json.",autoUpdate:"Check for and download updates automatically",check:"Check for Updates",checking:"Checking...",update:"Update Now",restart:"Restart to Update",checkFailed:"Failed to check for updates",channel:{options:{stable:"Stable",rc:"RC",beta:"Beta",alpha:"Alpha"}},status:{available:"OneWorks {{version}} is available.",checking:"Checking for a new version.",downloaded:"OneWorks {{version}} has been downloaded and will install after restart. It also installs automatically when you quit the app.",downloading:"Downloading update: {{progress}}",error:"Last update check failed: {{message}}",idle:"Current version {{version}}.",autoUpdateOff:"Current version {{version}}. Automatic checks and downloads are off.",disabled:"Update checks are disabled for this app launch.",unavailable:"Update checks are available only in release packages with update configuration."}}},appSettings:{projectThemeColor:{label:"Interface theme color",desc:"Choose the interface primary color for the selected config layer",previewAlt:"Interface theme icon preview",saveFailed:"Failed to save theme settings",backgroundStyle:{label:"Background",options:{transparent:{label:"Transparent",desc:"Show only the icon mark without a tile background"},solid:{label:"Solid",desc:"Render a solid project-color tile"},textured:{label:"Textured",desc:"Render the icon theme's textured background"}}},syncDockIcon:{label:"Sync Dock icon",desc:"Update the app icon in the Dock when the project theme color changes"},syncTaskbarIcon:{label:"Sync taskbar icon",desc:"Update the app icon in the taskbar when the project theme color changes"},syncAppIcon:{label:"Sync system app icon",desc:"Update the system app icon when the project theme color changes"}},themeMode:{label:"Theme mode",desc:"Switch between light, dark, or system theme for the interface"},senderHeaderDisplay:{label:"Composer header default",desc:"Default expand or collapse behavior for the composer header when the URL does not override it",expanded:"Expanded by default",collapsed:"Collapsed by default"},sessionListSearchThreshold:{label:"Session list search threshold",desc:"Only show the search and filter row when the session count exceeds this value; use 0 to always show it"},interactionPanelPinnedTabLimit:{label:"Bottom panel pinned tab limit",desc:"Control how many pinned tabs can appear on the left side of the bottom panel; defaults to 4"},announcements:{label:"Show announcements",desc:"Show announcements when creating a new session"},recommendedActions:{label:"Show recommended actions",desc:"Show the recommended action list when creating a new session"}}},oP={common:km,errorState:xm,browserDataSync:Pm,browserActivity:Tm,navRail:Em,nativeHistoryImport:Rm,moduleUpdates:Am,interactionStructure:Dm,desktopStartupOverlay:Mm,workspaceConnection:Om,launcher:Fm,auth:Im,serverConnection:_m,automation:Lm,benchmark:Nm,knowledge:$m,agentRoom:Bm,chat:jm,pluginStore:Wm,pluginDetail:Hm,config:Um},rP=Object.freeze(Object.defineProperty({__proto__:null,agentRoom:Bm,auth:Im,automation:Lm,benchmark:Nm,browserActivity:Tm,browserDataSync:Pm,chat:jm,common:km,config:Um,default:oP,desktopStartupOverlay:Mm,errorState:xm,interactionStructure:Dm,knowledge:$m,launcher:Fm,moduleUpdates:Am,nativeHistoryImport:Rm,navRail:Em,pluginDetail:Hm,pluginStore:Wm,serverConnection:_m,workspaceConnection:Om},Symbol.toStringTag,{value:"Module"})),Vm={newChat:"新建会话",search:"搜索标题或 ID...",sessions:"会话列表",knowledgeBase:"数据资产",pluginStore:"插件市场",scheduledTasks:"定时任务",archive:"归档",archivedSessions:"已归档会话",theme:"主题模式",themeLight:"浅色模式",themeDark:"深色模式",themeSystem:"跟随系统",settings:"设置",navigation:"导航",language:"语言",reset:"重置",automation:"自动化任务",benchmark:"评测",delete:"删除",deleteSession:"删除会话",deleteSessionConfirm:"确定要删除这个会话吗?此操作不可撤销。",restore:"还原",restoreSuccess:"还原成功",restoreFailed:"还原失败",batchRestore:"批量还原",batchRestoreSuccess:"批量还原成功",batchRestoreFailed:"部分会话还原失败",cancel:"取消",continue:"继续",confirm:"确定",clear:"清空",select:"选择",confirmAction:"确认{{action}}",startNewChat:"暂时没有未归档的历史会话,聊点什么吧",back:"返回",backToHome:"返回首页",noData:"暂无数据",noSessions:"未找到匹配的会话",noArchivedSessions:"暂无已归档会话",sessionNotFound:"会话不存在",roomNotFound:"Agent Room 不存在",expand:"展开侧边栏",dragResize:"拖动调整宽度",selectOrCreateSession:"请选择或新建会话开始对话",batchMode:"批量操作",cancelBatch:"取消批量操作",batchArchive:"批量归档",archiveConfirm:"确定要归档选中的 {{count}} 个会话吗?",alreadyInNewChat:"当前已是新建会话",creatingChat:"正在新建",batchDelete:"批量删除",batchDeleteSuccess:"批量删除成功",batchDeleteFailed:"部分会话删除失败",selectedCount:"已选中 {{count}} 个会话",selectAll:"全选",deselectAll:"取消全选",collapse:"收起侧边栏",close:"关闭",enterFullscreen:"全屏",exitFullscreen:"退出全屏",expandPanel:"展开面板",collapsePanel:"折叠面板",sort:"排序规则",tags:"标签",allTags:"全部标签",allAdapters:"全部适配器",searchActions:"搜索与筛选",expandItem:"展开项目",collapseItem:"收起项目",expandChildren:"展开子会话",collapseChildren:"收起子会话",expandGroup:"展开分组",collapseGroup:"折叠分组",childSummary:"{{count}} 个子会话",childStatusItem:"{{count}} {{status}}",deleteConfirm:"确定要删除选中的 {{count}} 个会话吗?",deleteSuccess:"删除成功",deleteFailed:"删除失败",operationFailed:"操作失败",openInNewWindow:"在新窗口打开",notSupportedYet:"暂未支持",notifications:{queueLabel:"消息队列",close:"关闭消息",mutePlugin:"屏蔽来自 {{plugin}} 的消息"},copyFailed:"复制失败",star:"收藏",unstar:"取消收藏",rename:"重命名",renameSession:"重命名会话",addTag:"标签",actions:"操作",copySessionLink:"复制会话链接",copySessionId:"复制会话 ID",copyResumeCommand:"复制控制台指令",copyWorkspacePath:"复制工作区路径",copySessionMarkdown:"复制会话为 Markdown",forkCurrentWorkspace:"分叉到当前工作区",deriveNewWorktree:"派生到新工作树",createScheduledTask:"创建定时任务",moreActions:"更多操作",createdAt:"创建时间",sessionLinkCopied:"会话链接已复制到剪贴板",resumeCommandCopied:"控制台指令已复制到剪贴板",sessionIdCopied:"Session ID 已复制到剪贴板",workspacePathCopied:"工作区路径已复制到剪贴板",sessionMarkdownCopied:"会话 Markdown 已复制到剪贴板",doubleClickToCopy:"双击复制 Session ID",status:{running:"进行中",completed:"已完成",failed:"失败",terminated:"已终止",waiting_input:"等待输入"}},zm={actions:{changeServer:"切换",connect:"连接",home:"首页",reload:"刷新",restart:"重启",retry:"重试"},appCrashDescription:"界面渲染时发生异常。当前页面状态可能已经不完整,重新加载通常可以恢复。",appCrashMobileDescription:"界面发生异常;请重新加载页面。",appCrashTitle:"页面出现异常",configLoadFailedDescription:"配置数据暂时无法读取。你可以重新加载配置,或先返回首页继续其它工作。",connectionIssueTitle:"连接失败",copyDiagnostics:"复制",copyDiagnosticsFailed:"复制诊断失败",copyDiagnosticsSuccess:"诊断信息已复制",details:"详情",diagnostics:"诊断信息",collapseDiagnostics:"收起诊断信息",expandDiagnostics:"展开诊断信息",roomNotFoundDescription:"没有找到这个 Agent Room。它可能已经被删除、归档,或当前服务尚未同步到这条记录。",roomId:"Agent Room ID",routeNotFoundDescription:"当前地址没有对应的页面。你可以返回首页,或检查链接是否完整。",routeNotFoundMobileDescription:"当前地址没有对应页面。",routeNotFoundTitle:"页面不存在",sessionNotFoundDescription:"没有找到这个会话。它可能已经被删除、归档,或当前服务尚未同步到这条记录。",sessionId:"会话 ID"},qm={open:"同步数据",title:"同步数据",settingsTitle:"浏览器数据",settingsDescription:"从浏览器或备份同步网页登录需要的数据。",summaryTitle:"当前先支持可安全迁移的数据",summaryDescription:"当前支持从 CSV 文件或已检测到的 Chromium 系浏览器同步已保存密码,以及从 Authenticator 标准备份导入验证码。密码管理器扩展会作为后续同步项接入。",securityTitle:"安全说明",securityDescription:"OneWorks 不会静默读取第三方密码管理器 vault、浏览器插件数据或 2FA 密钥;同步密码时系统可能要求授权访问对应浏览器的安全存储。导入的数据会通过桌面端安全存储加密保存在本机。",actions:{comingSoon:"即将支持",chooseFile:"选择",importBackup:"导入备份",manage:"查看",sync:"同步"},status:{available:"可用",planned:"计划中"},savedPasswords:{title:"已保存的密码",description:"从已检测到的浏览器本机 profile 同步已保存密码,导入到 OneWorks 加密 vault。当前已保存 {{count}} 个密码。",importSuccess:"已同步 {{imported}} 个密码,更新 {{updated}} 个,跳过 {{skipped}} 个;{{duplicates}} 个重复账号已按您的选择处理,{{failed}} 个未能解密。",importFailed:"同步浏览器密码失败。请确认已安装对应浏览器,并允许系统访问浏览器安全存储。",importCsvSuccess:"已从 CSV 导入 {{imported}} 个密码,更新 {{updated}} 个,跳过 {{skipped}} 个;{{duplicates}} 个重复账号已按您的选择处理。",importCsvFailed:"导入密码 CSV 失败。请确认文件包含 url、username、password 等标准列。",importSourceSuccess:"已从 {{source}} 同步 {{imported}} 个密码,更新 {{updated}} 个,跳过 {{skipped}} 个;{{duplicates}} 个重复账号已按您的选择处理,{{failed}} 个未能解密。",importSourceFailed:"同步 {{source}} 密码失败。请确认已安装该浏览器,并允许系统访问浏览器安全存储。",desktopRestartRequired:"需要重启桌面端以加载新的密码导入能力。",csvTitle:"CSV 密码文件",csvDescription:"从 Chrome、Edge、Firefox、Safari 或密码管理器导出的 CSV 文件导入密码。",sourceTitle:"{{source}} 密码",sourceDescription:"检测到 {{profiles}} 个 profile,可同步本机 {{source}} 中已保存的密码。",sourceFallbackDescription:"如果本机已安装 {{source}},可以尝试从默认 profile 同步已保存密码。",openManager:"密码管理",managerTitle:"已保存的密码",searchPlaceholder:"搜索密码",detailSearchPlaceholder:"搜索这个网站的账号",empty:"暂无已保存密码",emptyDetail:"没有匹配的账号",unavailable:"已保存密码管理仅在桌面端可用",settingsTitle:"密码设置",passwordSectionTitle:"密码",passwordSectionDescription:"您可以保存和管理密码,以便轻松登录网站和应用。",groupCredentialCount:"{{count}} 个账号",authenticationReason:"确认后查看已保存密码",authenticationFailed:"密码确认失败,未打开密码详情",authenticationUnavailable:"当前设备不支持系统密码确认,无法打开密码详情",timeoutTitle:"OneWorks 密码管理已超时",timeoutDescription:"为确保您的密码安全,OneWorks 密码管理会在闲置 {{minutes}} 分钟后锁定。",timeoutOk:"知道了",usernameLabel:"用户名",passwordLabel:"密码",websiteLabel:"网站",noteLabel:"备注",noNote:"未添加任何备注",edit:"修改",delete:"删除",save:"保存",editTitle:"修改账号",websiteRequired:"请输入网站地址",passwordEditHint:"留空则保留当前密码",updateSuccess:"账号已更新",updateFailed:"更新账号失败",deleteConfirmTitle:"删除这个账号?",deleteConfirmDescription:"删除后将无法从已保存密码中恢复这个账号。",deleteSuccess:"账号已删除",copyUsername:"复制用户名",copyPassword:"复制密码",reveal:"显示",hide:"隐藏",noUsername:"无用户名",usernameCopied:"用户名已复制",passwordCopied:"密码已复制",copyFailed:"复制失败",revealFailed:"显示密码失败",managerLoadFailed:"加载已保存密码失败",settingsOfferToSaveTitle:"提示保存密码和验证码",settingsOfferToSaveDescription:"当前在网页登录能力中保留保存提示策略。",settingsSaveFailed:"保存密码设置失败",settingsAutoSignInTitle:"自动登录",settingsAutoSignInDescription:"当前保留匹配账号后的自动填充策略。",settingsRequireAuthTitle:"查看和复制密码时确认身份",settingsRequireAuthDescription:"进入详情、显示或复制密码前保持短时系统认证保护。",settingsCsvImportTitle:"导入 CSV 密码",settingsCsvImportDescription:"支持从浏览器或密码管理器导出的 CSV 文件导入,重复账号会先询问覆盖还是跳过。",settingsImportTitle:"同步浏览器密码",settingsImportDescription:"从本机浏览器 profile 同步密码,重复账号会先询问覆盖还是跳过。",settingsImportSourceTitle:"同步 {{source}} 密码",settingsImportSourceDescription:"检测到 {{profiles}} 个 profile,重复账号会先询问覆盖还是跳过。",settingsImportSourceFallbackDescription:"如果本机已安装 {{source}},可以尝试从默认 profile 同步。同步失败时请重启桌面端后再试。",settingsAuthCacheTitle:"短时认证有效期",settingsAuthCacheDescription:"认证只保存在当前桌面进程内存中,过期后会重新要求确认。",settingsAuthCacheValue:"5 分钟"},passwordManagerExtensions:{title:"密码管理器扩展",description:"同步 1Password、Bitwarden 等密码管理器扩展的启用状态;密钥仍由扩展自身管理。"},authenticator:{title:"验证码 / Authenticator",description:"从 Authenticator 标准备份导入一次性验证码。当前已保存 {{count}} 个验证码。",importSuccess:"已导入 {{imported}} 个验证码,更新 {{updated}} 个,跳过 {{skipped}} 个。",importFailed:"导入验证码备份失败。请确认文件包含标准 otpauth:// 记录。"}},Gm={filters:{all:"全部",activeProject:"项目:{{project}}",activeSession:"会话:{{session}}",activeSessionStatus:"状态:{{status}}",activeSessions:"活跃",allSessionStatuses:"全部",allProjects:"全部项目",allSessions:"全部会话",archivedSessions:"已归档",currentProject:"当前项目",filter:"筛选记录",filterActive:"已筛选:{{scope}}",noProjects:"暂无项目",noSessions:"暂无会话",projectLabel:"项目",scopeLabel:"范围",sessionLabel:"会话",sessionStatusLabel:"状态"},scope:{project:"项目",session:"会话"},history:{title:"历史记录",searchPlaceholder:"搜索历史记录",empty:"暂无历史记录",emptyFiltered:"当前筛选没有匹配的历史记录",unavailable:"历史记录仅在桌面端可用",loadFailed:"加载历史记录失败",openFailed:"打开历史记录失败",visitCount:"{{count}} 次"},downloads:{title:"下载内容",searchPlaceholder:"搜索下载内容",empty:"暂无下载内容",emptyFiltered:"当前筛选没有匹配的下载内容",unavailable:"下载内容仅在桌面端可用",loadFailed:"加载下载内容失败",openFailed:"打开下载内容失败",revealFailed:"显示文件位置失败",unknownFile:"未命名下载",open:"打开",reveal:"显示位置",status:{cancelled:"已取消",completed:"已完成",interrupted:"已中断",progressing:"下载中"}}},Km={newChat:"新建会话",conversations:"会话",sessions:"会话列表",archivedSessions:"已归档会话",more:"菜单",settings:"设置",theme:"主题模式",language:"语言",expandSidebar:"展开侧边栏",collapseSidebar:"收起侧边栏",collapsePanel:"折叠面板",back:"返回",forward:"前进",updateAvailable:"有可用更新:{{version}}",updateDownloading:"正在下载更新:{{progress}}",updateReady:"重启更新:{{version}}",moduleUpdateAvailable:"核心/适配器有 {{count}} 个可用更新"},Ym={source:"历史导入",title:"历史会话已导入",description:"已找到 {{count}} 个本项目的 {{adapters}} 历史会话,可以直接打开查看。",manualImport:"导入项目历史",importing:"正在导入历史",emptyTitle:"未找到可导入的历史",emptyDescription:"没有找到属于当前项目的 Codex 或 Claude Code 历史会话。",failed:"导入原生历史失败",failedDescription:"请稍后重试,或检查本机 Codex / Claude Code 历史目录。",open:"打开导入会话",dismiss:"稍后再说",platforms:{codex:"Codex",claudeCode:"Claude Code"},quickEntry:{title:"导入当前项目历史",description:"先查看本机 Codex 和 Claude Code 历史里属于当前项目的候选会话与文件大小。",manage:"查看候选与尺寸"},manager:{allPlatforms:"全部",importTitle:"导入范围",importDescription:"先按平台预览候选文件大小,再手动导入需要的平台;只匹配当前项目或同一 Git 项目的历史会话。",globalAutoImportTitle:"自动导入",globalAutoImportDescription:"控制所有 adapter 的自动导入默认值;单个 adapter 的设置会优先覆盖这里。",globalSizeLimitTitle:"自动导入尺寸限制",globalSizeLimitDescription:"自动导入时跳过超过该尺寸的历史文件;留空表示不限制。",adapterAutoImportTitle:"{{platform}} 自动导入",adapterAutoImportOverride:"当前 adapter 使用自己的开关,优先级高于全局设置。",adapterAutoImportInherited:"当前 adapter 继承全局设置:{{state}}。",adapterSizeLimitTitle:"{{platform}} 尺寸限制",effectiveSizeLimit:"当前自动导入生效限制:{{size}}。",inheritGlobal:"继承全局",enabled:"启用",disabled:"禁用",unlimited:"不限制",importSelected:"导入所选平台",importAdapterTitle:"导入 {{platform}}",importAdapter:"导入 {{platform}}",importAll:"全部导入",previewTitle:"可导入历史",previewDescription:"展示当前项目可导入的历史会话;只读取元数据与文件大小。",previewLoading:"正在扫描候选文件与尺寸",previewPending:"尚未完成候选扫描",previewSummary:"扫描 {{scanned}} 个历史文件,匹配 {{files}} 个候选,总大小 {{total}},最大 {{largest}},大文件 {{largeFiles}} 个。",refreshPreview:"刷新",searchPlaceholder:"搜索标题、目录或来源文件",filterTitle:"筛选条件",filterScope:"范围",filterAll:"全部",filterSessions:"筛选会话",filterActive:"已筛选:{{scope}}",threadScope:"类型",threadScopeUser:"用户会话",threadScopeSubagent:"子任务",projectScope:"项目",projectScopeCurrent:"当前项目",projectScopeGlobal:"全局",createdTime:"创建时间",updatedTime:"修改时间",timeRangeStart:"开始时间",timeRangeEnd:"结束时间",timeRangeBetween:"{{from}} - {{to}}",timeRangeFrom:"{{time}} 之后",timeRangeTo:"{{time}} 之前",timeFilterLabel:"{{field}}: {{range}}",timeSort:"时间排序",timeSortActivity:"复合排序",timeSortFilterLabel:"排序: {{sort}}",timePresetLastDay:"最近一天",timePresetLastWeek:"最近一周",timePresetLast30Days:"最近 30 天",timePresetLast90Days:"最近 90 天",archivedFilter:"筛选已归档会话",archivedFilterActive:"已筛选:已归档会话",unarchivedFilterCondition:"未归档会话",archivedFilterCondition:"已归档会话",emptySearchResults:"没有匹配当前搜索的候选历史",loadMore:"加载更多",copyCodexThreadLink:"复制 Codex 会话链接",codexThreadLinkCopied:"Codex 会话链接已复制到剪贴板",importOne:"导入",alreadyImported:"已导入",emptyCandidates:"没有找到属于当前项目的 {{platform}} 历史会话",largeFileSize:"大文件 {{size}}",autoSkippedSize:"自动跳过 {{size}}",autoSkippedSizeTooltip:"超过自动导入尺寸限制,自动导入会跳过该文件;手动导入仍可执行。文件大小:{{size}}",importedCount:"{{count}} 个",resultTitle:"外部会话",resultPending:"还没有执行本页导入;下方会展示当前项目已导入的外部会话。",resultSummary:"匹配 {{files}} 个历史文件,关联 {{sessions}} 个会话,新增 {{events}} 条事件。",emptySessions:"当前项目暂无已导入的外部会话",archived:"已归档",togglePlatform:"选择 {{platform}}",platformDescriptions:{codex:"扫描 ~/.codex/sessions 与 archived_sessions。","claude-code":"扫描 ~/.claude/projects 下的 Claude Code 会话。"}}},Xm={menuLabel:"检查更新",title:"检查更新",check:"检查更新",checkFailed:"检查模块更新失败",installFailed:"安装模块更新失败",installSuccess:"{{name}} {{version}} 已写入运行时缓存",groupInstallFailed:"安装分组更新失败",groupInstallSuccess:"{{group}} 已更新 {{count}} 个模块",channelSaved:"更新通道已保存",channelSaveFailed:"保存更新通道失败",update:"更新",updateAll:"全部更新",updateGroup:"更新本组",installing:"更新中",allInstalling:"正在全部更新",groupInstalling:"更新中",allInstallFailed:"安装全部模块更新失败",allInstallSuccess:"已更新 {{count}} 个模块",confirmTitle:"确认更新内容",confirmBatchTitle:"确认 {{count}} 个模块的更新内容",confirmOk:"更新",confirmCancel:"取消",reviewTitle:"更新内容",reviewEmpty:"没有可更新的模块。",changelogSummaryTitle:"更新内容",changelogSummaryRange:"{{count}} 个模块",changelogSummaryIntro:"本次将更新 **{{count}} 个模块**。下面按功能更新和修复汇总本次变化;更新会先写入运行时缓存,重启对应运行时或开启新会话后生效。",changelogSummaryFeatures:"功能更新",changelogSummaryFixes:"问题修复",changelogSummaryMarkers:{important:"重点",fix:"修复",verification:"验证",other:"其他"},changelogSummaryOther:"其他更新",changelogSummaryMoreItems:"还有 {{count}} 项,查看完整更新日志了解更多。",changelogSummaryGroups:"更新范围",changelogSummaryVersions:"版本变化",changelogSummaryGroupCount:"{{count}} 个模块",changelogSummaryMultipleVersions:"多个版本",changelogDetailTitle:"更新日志",changelogSummaryDetailHint:"已聚合可用的包级 changelog。",changelogSummaryMissingHint:"当前没有找到精确版本区间的包级 changelog,已按分组和版本范围生成摘要。",changelogRange:"{{from}} -> {{to}}",changelogEntryTitle:"{{version}} 更新日志",changelogMissing:"没有找到这个版本区间的更新日志。",reviewModulesTitle:"模块明细",reviewModulesIntro:"本次更新涉及 **{{count}} 个模块**,下面是模块分组和版本变化。",reviewModulesDescription:"查看涉及模块和版本变化",reviewChangelogTitle:"完整更新日志",reviewChangelogIntro:"下面是这次更新中每个包提供的原始 changelog。",reviewChangelogDescription:"查看每个包提供的原始 changelog",reviewDetailPagesTitle:"详细信息",cached:"已缓存",upToDate:"已是最新",notChecked:"尚未检查",summary:"{{total}} 个模块,{{available}} 个可更新,{{pendingActivation}} 个待重启生效",groupSummary:"{{total}} 个模块,{{available}} 个可更新,{{pendingActivation}} 个待生效",groupAvailableCount:"{{count}} 个可更新",groupPendingActivationCount:"{{count}} 个待生效",defaultChannel:"默认通道",groupChannelLabel:"{{group}} 更新通道",moduleChannelLabel:"{{name}} 更新通道",channelDefaultOption:"跟随全局({{channel}})",channelMixedOption:"混合",versionUnknown:"未知",channelOptions:{alpha:"Alpha",beta:"Beta",rc:"RC",stable:"Stable"},kind:{adapter:"适配器",client:"客户端",plugin:"插件",runtime:"运行时",server:"服务端"},groups:{adapter:"Adapters",core:"Core",plugin:"Plugins"},status:{available:"可更新",cached:"已缓存",error:"检查失败",pendingActivation:"待生效",upToDate:"最新"},versions:{current:"当前 {{version}}",cached:"缓存 {{version}}",latest:"最新 {{version}}",channel:"通道 {{channel}}"},activation:{newSession:"更新后新会话会使用缓存版本。",restart:"更新后需要重启对应运行时才会生效。"}},Jm={searchPlaceholder:"搜索当前入口...",empty:"没有匹配的结构数据",filter:{label:"结构列表筛选",all:"全部",active:"推进中",done:"已完成"},filterRoutes:{requests:{label:"需求类型筛选",all:"全部需求",stateLabel:"需求状态筛选",stateAll:"全部状态",priorityLabel:"优先级筛选",priorityAll:"全部优先级",priority:{high:"高优先级",medium:"中优先级",low:"低优先级"},channelLabel:"来源筛选",channelAll:"全部来源",channel:{web:"Web",extension:"插件",navigation:"导航"},states:{active:"推进中",done:"已完成"}},resources:{label:"资源类型筛选",all:"全部资源",stateLabel:"资源状态筛选",stateAll:"全部状态",sourceLabel:"资源来源筛选",sourceAll:"全部来源",source:{design:"设计资产",server:"服务端",docs:"文档"},freshnessLabel:"时效筛选",freshnessAll:"全部时效",freshness:{current:"当前",archived:"归档"},states:{pending:"待同步",archived:"已归档"}},operations:{label:"运维链路筛选",all:"全部链路",stateLabel:"链路状态筛选",stateAll:"全部状态",cadenceLabel:"频率筛选",cadenceAll:"全部频率",cadence:{nightly:"夜间",daily:"每日",weekly:"每周"},ownerLabel:"负责人筛选",ownerAll:"全部负责人",owner:{system:"系统",product:"产品"},states:{running:"运行中",archived:"已归档"}}},actions:{archiveOperation:"归档链路",archiveResource:"归档资源",bookmarkResource:"加入资源集",convertToTask:"转为任务",copyResourceReference:"复制资源引用",createFollowUp:"创建跟进",markDone:"标记完成",openResource:"打开资源",pauseOperation:"暂停链路",pinOperation:"固定链路",runOperation:"运行检查",syncResource:"同步资源",unbookmarkResource:"移出资源集",unpinOperation:"取消固定",viewRunLog:"查看运行日志"},selection:{selectedTotal:"{{selected}}/{{total}} 已选"},itemState:{starred:"已收藏"},navigationMenu:{hideEntry:"屏蔽 {{entry}}",showAllEntries:"显示全部入口",visibleEntries:"选择展示入口"},moreMenuContext:{configureActions:"配置菜单动作",hideArchiveAction:"隐藏归档操作"},debugTools:{title:"模拟调试工具",platform:"应用",platformFieldLabel:"模拟系统",platformMacos:"macOS",platformWindows:"Windows",platformWeb:"Web",fullscreen:"全屏",fullscreenFieldLabel:"模拟全屏",fullscreenOn:"已开启",fullscreenOff:"未开启"},panels:{closeTab:"关闭 {{title}}",contextMenu:{keepOnlyTab:"只保留 {{tab}}",openAllTabs:"打开 {{panel}} 全部 Tab",resetDefaultPage:"回到 {{panel}} 默认页",resetDefaultTab:"恢复 {{panel}} 默认 Tab",selectTab:"切换到 {{tab}}",tabMetadata:"{{panel}} / {{tab}}"},create:{label:"新建面板内容",summaryTab:"打开结构摘要",routeTab:"打开入口上下文",itemTab:"打开选中项目",itemDisabled:"选择左侧项目后可用",entryTemplates:"按入口新建",templates:"模板分组",customTitle:"自定义渲染入口",customDescription:"{{entry}} 注入的菜单项,可替换为任意渲染。",requests:{requirement:"新建需求卡片",followUp:"新建跟进项",experienceTemplate:"体验统一模板",pluginTemplate:"插件审计模板"},resources:{importResource:"导入资源",referenceDoc:"新建参考文档",source:"按来源新建",designSource:"设计来源",serverSource:"服务端来源",docsSource:"文档来源"},operations:{scheduledLane:"新建定时链路",monitorView:"新建监控视图",cadence:"按频率新建",cadenceNightly:"夜间任务",cadenceDaily:"每日任务",cadenceWeekly:"每周任务"}},side:{open:"打开右侧区域",close:"关闭右侧区域",resize:"拖动调整右侧区域宽度",kicker:"右侧插槽",title:"结构上下文",tabs:{summary:"结构摘要",route:"入口上下文",item:"选中项目"},rows:{route:"入口",metric:"指标",path:"路径",item:"选中项",component:"组件"}},bottom:{open:"打开下方面板",close:"关闭下方面板",resize:"拖动调整下方面板高度",title:"路由下方面板",defaultItem:"入口默认页",tabs:{summary:"面板摘要",route:"路径上下文",item:"当前项目"},rows:{path:"当前路径",item:"当前项目",slot:"渲染插槽"}}},overview:{defaultPage:"入口默认页"},detail:{sections:{structure:"结构状态",behavior:"组件接口",scroll:"滚动内容"},rows:{routeSlot:{title:"路由插槽",description:"{{route}} 只把 path 和当前选择交给外部渲染,不把具体页面内容写进通用容器。"},activeItem:{title:"当前选中项",description:"{{item}} 由左侧列表写入 URL,右侧根据选中项切换独立内容。"},headerState:{title:"Header 模式",description:"当前 detail component 是 {{component}},可以独立决定标题、面包屑和右侧 actions。"},containerPadding:{title:"容器间距",description:"页面顶部间距复用 header token,避免 header 和内容区域再次各自维护尺寸。"},componentSwitch:{title:"内容切换",description:"{{item}} 的右侧内容来自测试数据配置,不耦合到 route container layout。"},sidebarLink:{title:"侧边栏入口",description:"{{route}} 的列表、筛选和右键菜单都可以由入口配置覆盖。"},filterState:{title:"过滤条件",description:"当前项携带自己的 filter tokens,入口可以配置多个过滤器和不同选项。"},contextActions:{title:"上下文操作",description:"右键菜单和批量操作由入口提供 action 列表,通用 List 只负责触发。"},batchSelection:{title:"批量选择",description:"进入多选后,页面可以挂载自己的批量动作,不需要 List 知道业务含义。"},itemRenderer:{title:"Item 渲染器",description:"列表项 icon、action、meta 和 children 都来自外部渲染配置。"},scrollTrace:{title:"滚动验证 {{count}}",description:"{{route}} / {{item}} 的模拟内容行,用来验证 header 固定、内容滚动和底部留白。"}}},itemMetrics:{coverage:"覆盖",owner:"负责人",progress:"进度",queue:"队列",risk:"风险",sla:"SLA",version:"版本"},itemMetricValues:{medium:"中",reviewed:"已复核",running:"运行中",synced:"已同步"},routes:{requests:{activeLabel:"当前需求入口",label:"需求入口",description:"承接对话、评审和临时推进事项。",metric:"3 组需求",searchPlaceholder:"搜索需求、来源或优先级..."},resources:{activeLabel:"当前资源入口",label:"资源入口",description:"聚合资料、设计资产和接口参考。",metric:"3 类资源",searchPlaceholder:"搜索资源、接口或文档..."},operations:{activeLabel:"当前运维入口",label:"运维入口",description:"跟踪例行任务、巡检和回归队列。",metric:"3 条链路",searchPlaceholder:"搜索链路、队列或负责人..."}},items:{requestCheckout:{title:"结算体验统一",description:"梳理桌面端和 Web 的核心步骤。",meta:"今天",tag:"体验"},requestCheckoutMobile:{title:"移动断点验证",description:"确认 860px 以下的主要交互。",meta:"12:20",tag:"移动端"},requestCheckoutCopy:{title:"空态文案收敛",description:"替换临时描述为可复用文案。",meta:"昨天",tag:"文案"},requestPluginAudit:{title:"插件页操作审计",description:"补齐安装、禁用和异常态路径。",meta:"2 小时前",tag:"插件"},requestNavigationRefresh:{title:"导航结构复核",description:"统一 sidebar 和右侧容器的切换关系。",meta:"周一",tag:"结构"},assetDesignSystem:{title:"设计系统资料",description:"组件状态、间距和颜色引用。",meta:"4 项",tag:"设计"},assetTokens:{title:"主题 token 表",description:"对齐暗色和浅色变量。",meta:"更新中",tag:"主题"},assetCopyDeck:{title:"标准文案卡片",description:"可复用标题、提示和空态。",meta:"已审",tag:"文案"},assetApiCatalog:{title:"接口目录",description:"页面入口与服务端契约映射。",meta:"18 条",tag:"API"},assetReleaseNotes:{title:"发布说明模板",description:"记录用户可见变化和验证入口。",meta:"归档",tag:"发布"},opsNightlyRun:{title:"夜间同步任务",description:"收集数据状态并生成摘要。",meta:"运行中",tag:"定时"},opsDataSnapshot:{title:"数据快照",description:"拉取关键状态与增量记录。",meta:"采集中",tag:"数据"},opsDigestPublish:{title:"摘要发布",description:"生成同步摘要并推送到入口。",meta:"待发布",tag:"摘要"},opsReviewLoop:{title:"评审流转",description:"跟踪待处理、阻塞和完成状态。",meta:"5 个节点",tag:"流程"},opsTriageQueue:{title:"待分诊队列",description:"把外部反馈归入对应入口。",meta:"3 条",tag:"队列"},opsRegressionWatch:{title:"回归观察",description:"保留最近一次验证结果。",meta:"通过",tag:"回归"},opsArchiveSweep:{title:"归档清理",description:"整理完成项并保留跳转记录。",meta:"已完成",tag:"归档"}}},Qm={eyebrow:"OneWorks",title:"项目正在就位",defaultTip:"正在把项目上下文铺好。",tips:{quickFind:"小贴士:用快捷搜索可以直达动作、会话和文件。",dragFiles:"可以把文件拖进对话,少打一段路径。",newWindow:"会话右键可以在新窗口打开,适合并排推进。",slashCommand:"输入 / 可以找到常用命令和工作流。",sidePanel:"侧栏收起后,顶部按钮会接管导航。",terminal:"底部面板会保留终端和网页,回来时不用重新找。",context:"引用具体文件会让回答少一点猜测,多一点上下文。",glass:"你能透过玻璃看到骨架,说明前端已经在醒了。"}},Zm={autoRestartPaused:"自动重启已暂停",busyDescription:"为避免中断正在进行的动作,已跳过后台重启。结束或停止这些会话后再重试。",busyStatsLabel:"正在工作的会话统计",busyTitle:"仍有 {{count}} 个会话在工作",busyTotal:"总计 {{count}}",diagnosticsTitle:"服务诊断",hideActiveSessions:"收起会话",mobileVersionConflictSummary:"服务版本不一致;可重启项目服务,或稍后重试。",processId:"进程",requestedVersion:"当前请求",restartFailed:"重启项目服务失败",restartWorkspaceServer:"重启项目服务",retry:"重试",runtimeCompatibilityVersion:"兼容版本",runningVersion:"正在运行",serverUrl:"服务地址",showActiveSessions:"查看会话",unknownStatus:"未知",versionConflictDescription:"当前页面和已运行的项目服务来自不同版本。纯前端或兼容的服务端改动会自动复用项目服务;如果运行时兼容版本不一致,可以重启项目服务后继续。",versionConflictTitle:"项目服务版本不一致"},ep={senderLabel:"启动输入框",senderPlaceholder:"输入要打开或启动的项目...",searchLabel:"搜索项目和操作",searchPlaceholder:"搜索项目或操作...",commandListLabel:"启动操作列表",commandFailed:"执行操作失败",noResults:"没有匹配的项目或操作",shortcutDisabled:"未设置",desktopActionUnavailable:"当前环境不支持桌面启动操作",openWorkspaceFailed:"打开项目失败",openingProjectAnimationLabel:"OneWorks 打开项目动画",openingProjectTitle:"正在打开 {{name}}",createWorkspaceFailed:"创建项目失败",createWorkspaceNamePlaceholder:"输入新项目文件夹名称",createWorkspaceNameSearchLabel:"输入新项目文件夹名称",createWorkspaceNameRequired:"请输入新项目文件夹名称",createWorkspaceParentRequired:"请选择项目创建位置",cloneRepositoryPromptTitle:"克隆远端仓库",cloneRepositoryUrlPlaceholder:"输入 Git 仓库 URL",cloneRepositorySearchLabel:"输入 Git 仓库 URL",cloneRepositoryUrlRequired:"请输入 Git 仓库 URL",cloneRepositoryDestinationRequired:"请选择克隆目标目录",cloneRepositoryCloning:"正在克隆到 {{path}}...",cloneRepositorySuccess:"仓库克隆完成",cloneRepositoryFailed:"克隆仓库失败",cloneRepositoryDestinationTitle:"克隆到",cloneRepositoryDestinationTooltip:"当前目录:{{path}}",cloneRepositoryDestinationLoading:"正在读取目录...",cloneRepositoryDestinationEmpty:"没有可进入的子目录",cloneRepositoryDestinationFailed:"读取目录失败",cloneRepositoryFavoriteDestination:"收藏这个目录",cloneRepositoryUnfavoriteDestination:"取消收藏这个目录",directoryBrowserTooltip:"当前目录:{{path}}",directoryBrowserLoading:"正在读取目录...",directoryBrowserEmpty:"没有可进入的子目录",directoryBrowserFailed:"读取目录失败",directoryBreadcrumbLabel:"当前目录路径",directoryNameCopied:"目录名字已复制",directoryPathCopied:"目录路径已复制",favoriteDirectory:"收藏这个目录",unfavoriteDirectory:"取消收藏这个目录",openWorkspaceSearchPlaceholder:"搜索当前列表中的目录路径...",openWorkspaceSearchLabel:"搜索目录路径",comingSoon:"这个入口还在接入中",files:{title:"文件",globalTitle:"文件搜索",rootLabel:"电脑",searchLabel:"搜索文件",searchPlaceholder:"搜索 {{project}} 下的文件...",globalSearchPlaceholder:"搜索电脑根目录下的文件或文件夹...",inputHint:"输入文件名或路径,搜索当前项目文件",globalInputHint:"输入文件名或路径,从电脑根目录搜索",searching:"正在搜索文件...",noResults:"没有匹配的文件或文件夹",searchFailed:"搜索文件失败",openFailed:"打开文件失败",folderBadge:"文件夹",externalBadge:"外部打开",loadingOpeners:"正在读取可用应用...",openWithDefault:"使用默认应用打开",openWithDefaultNamed:"使用默认应用打开({{name}})",openWithNamed:"使用 {{name}} 打开"},resource:{searchPlaceholder:"搜索 {{project}} 的文件、会话、终端或网站...",createTitle:"创建",sessionsTitle:"会话",websitesTitle:"网站",terminalsTitle:"终端",newSession:"新建会话 Tab",newSessionHint:"在当前会话窗口打开一个会话页",newTerminal:"新建终端 Tab",newTerminalHint:"在底部面板创建新的终端",newWebsite:"新建网站 Tab",newWebsiteHint:"在底部面板创建新的浏览器页",tabBadge:"Tab",fileBadge:"应用内",sessionBadge:"会话",websiteBadge:"网站",terminalBadge:"终端"},start:{title:"启动",newProjectFolder:"新建项目",newProjectFolderHint:"创建一个本地文件夹,并作为项目打开",openFolder:"打开项目",openFolderHint:"选择一个本地项目目录",cloneRepository:"克隆远端仓库",cloneRepositoryHint:"从 Git 仓库创建项目",connectRemoteService:"链接远程服务",connectRemoteServiceHint:"连接已有的 OneWorks 服务"},projects:{copyName:"复制名字",copyPath:"复制路径",fileExplorer:"文件资源管理器",fileManager:"文件管理器",nameCopied:"项目名字已复制",open:"打开项目",openFolder:"在文件管理器中打开",pathCopied:"项目路径已复制",revealFailed:"无法在{{manager}}中显示项目",revealInFileManager:"在{{manager}}中显示",remove:"移除项目",removeConfirmDescription:"这只会把项目从最近列表移除,不会删除磁盘上的文件夹;下次打开该目录时会重新加入。",removeConfirmOk:"移除",removeConfirmTitle:"从启动页移除 {{name}}?",removeFailed:"移除项目失败",stopAndRemove:"终止并移除",stopAndRemoveConfirmDescription:"这会终止该项目的本地服务端进程,并从最近列表移除;不会删除磁盘上的文件夹。",stopAndRemoveConfirmOk:"终止并移除",stopAndRemoveConfirmTitle:"终止并从启动页移除 {{name}}?",stopAndRemoveSuccess:"项目服务已终止并移除",stopFailed:"终止项目服务失败",stopService:"终止服务",stopServiceConfirmDescription:"这会断开该项目正在运行的本地服务端进程;项目文件不会删除,之后可以重新打开。",stopServiceConfirmOk:"终止",stopServiceConfirmTitle:"终止 {{name}} 的服务端进程?",stopServiceSuccess:"项目服务已终止",title:"项目"},menu:{open:"打开 OneWorks 菜单",settings:"设置",about:"关于",checkUpdate:"检查更新",language:"语言",projectRequired:"请先打开或聚焦一个项目,再进入设置或关于",openFailed:"打开当前项目页面失败"},settings:{title:"启动器设置",searchLabel:"搜索启动器设置",searchPlaceholder:"搜索设置...",listLabel:"启动器设置项",sectionsLabel:"启动器设置分组",empty:"没有匹配的设置项",resetSection:"重置{{section}}",sectionShortcutTooltip:"按 {{shortcut}} 切换到{{section}}",sections:{general:"通用",behavior:"行为",appearance:"外观",icon:"图标"},items:{theme:{title:"主题模式",desc:"切换启动器和主界面的浅色、深色或系统模式"},textSize:{title:"文字大小",desc:"调整启动器内文字的显示尺寸",default:"标准",large:"大号"},windowMode:{title:"窗口模式",desc:"切换启动器的默认或紧凑窗口布局",default:"默认",compact:"紧凑"},favorites:{title:"紧凑模式显示收藏",desc:"紧凑窗口中保留收藏入口"},language:{title:"界面语言",desc:"快速切换当前界面语言"},shortcut:{title:"启动快捷键",desc:"按下快捷键即可唤起启动器"},launchAtLogin:{title:"开机自启",desc:"登录系统后自动启动 OneWorks"},openLastWorkspaceOnStartup:{title:"启动时打开上次项目",desc:"普通启动时直接打开最近项目;关闭后默认进入启动器"},autoUpdate:{title:"自动更新",desc:"为当前项目自动检查并下载桌面端更新"},updateChannel:{title:"更新通道",desc:"为当前项目选择稳定版、RC、Beta 或 Alpha 更新"},statusPin:{title:"Pin 图标",desc:"在系统状态区显示 Pin 图标,便于快速唤起启动器",descMac:"在 macOS 右上角菜单栏显示 Pin 图标,便于快速唤起启动器",descWindows:"在 Windows 系统托盘显示 Pin 图标,便于快速唤起启动器"},hideAfterAction:{title:"执行后隐藏",desc:"打开项目、文件或会话后自动收起启动器"},currentProject:{title:"显示当前项目",desc:"聚焦项目窗口时优先显示当前项目上下文"},resourceSearch:{title:"搜索项目资源",desc:"在当前项目中搜索文件、会话、终端和网站"},footerHints:{title:"底部按键提示",desc:"在右下角展示当前选中项可用操作"},appIcon:{title:"应用图标",desc:"选择启动器使用的应用图标主题和背景",syncLabel:"同步桌面图标",syncDesc:"切换图标主题时同步桌面、Dock 或任务栏图标"}}},about:{title:"关于",searchLabel:"关于 OneWorks",searchPlaceholder:"关于 OneWorks",listLabel:"关于 OneWorks"},footer:{settings:"设置",help:"帮助",more:"更多"},footerHints:{label:"当前选中项的键盘操作",section:"分组",move:"移动",open:"打开",toggle:"切换",adjust:"调整",edit:"编辑",create:"创建",clone:"克隆",openDirectory:"打开目录",context:"菜单",contextKey:"右键",fileSearch:"文件",close:"关闭",back:"返回"},recent:{title:"最近项目",empty:"暂无最近项目",more:"更多..."}},tp={title:"登录 OneWorks",subtitle:"请输入已配置的账号,继续进入当前工作区。",username:"账号",usernamePlaceholder:"请输入账号",usernameRequired:"请输入账号",password:"密码",passwordPlaceholder:"请输入密码",passwordRequired:"请输入密码",rememberDevice:"记住此设备",login:"登录",loginFailed:"登录失败",statusFailed:"无法读取登录状态",statusFailedHelp:"请确认后端服务仍在运行,然后重试。",statusTimeout:"读取登录状态超时,请确认后端服务仍在运行,然后重试。",retryStatus:"重试",accountMenu:"账号与连接",changeServer:"切换后端服务",logout:"退出当前连接登录",logoutFailed:"退出登录失败",generatedPasswordTitle:"当前使用自动生成的本地密码",generatedPasswordDescription:"请从本地密码文件获取密码;也可以在 webAuth.accounts 中配置固定账号。",generatedPasswordHint:"默认密码文件:{{path}}"},np={title:"连接你的后端服务",subtitle:"先在运行 OneWorks 的电脑上启动后端,再把终端里显示的服务地址填到下面。",desktopTitle:"切换后端服务",desktopSubtitle:"桌面应用已经启动了本机服务。你也可以连接其他 OneWorks 服务端,通过同一个 Electron 应用切换和控制不同执行环境。",setupTitle:"在电脑上执行",setupDescription:"复制终端里显示的 http 或 https 地址。复杂网络方案看 ",docsLink:"PWA 部署文档",localServiceTitle:"本机内置服务",localServiceBannerDescription:"这是 Electron 在当前设备上自动启动的本地服务,不需要额外鉴权。",localServiceAlias:"此设备",localServiceProfileDescription:"Electron 自动启动的本机服务",serverUrl:"后端服务地址",serverScheme:"后端服务协议",serverUrlPlaceholder:"粘贴终端显示的服务地址",serverUrlRequired:"请输入后端服务地址",invalidUrl:"请输入有效的 http 或 https 地址",connectionFailed:"无法连接到这个后端服务,请确认服务已启动并允许跨域访问",unsupportedServerVersion:"不支持这个后端版本。当前 PWA 版本是 {{clientVersion}},后端版本是 {{serverVersion}}。",recentTitle:"已保存的后端服务",manageProfile:"管理后端服务",serverVersion:"后端 {{version}}",serverVersionUnknown:"未知版本",profileAlias:"别名",profileAliasPlaceholder:"例如家里的电脑",profileDescription:"介绍",profileDescriptionPlaceholder:"例如 Tailscale 私有网络、家用台式机",loginState:"登录态",loginSaved:"已保存登录态",loginMissing:"未登录",clearLoginState:"清除登录态",clearLoginStateConfirm:"仅清除当前浏览器保存的登录态。",removeProfile:"移除记录",removeProfileConfirm:"移除这条记录和它的本地登录态。",connect:"连接"},op={title:"自动化任务",newRule:"新建规则",newTask:"新建任务",creatingRule:"正在新建",editRule:"编辑规则",createMode:"创建方式",createModeForm:"表单创建",createModeChat:"对话创建",searchRule:"搜索任务",favorite:"收藏",unfavorite:"取消收藏",toggleEnabled:"启用/停用",noDescription:"暂无说明",runSearch:"搜索运行记录",runFilters:"筛选运行记录",runOptions:"运行记录选项",statusAll:"全部状态",timeRange:"时间范围",timeAll:"全部时间",time24h:"近 24 小时",time7d:"近 7 天",time30d:"近 30 天",sortOrder:"排序",sortDesc:"时间最新",sortAsc:"时间最早",triggerCount:"{{count}} 个触发条件",basicDesc:"用于说明规则用途与开关启停",sectionBasic:"基本信息",sectionTriggers:"触发条件",sectionTasks:"任务内容",sectionStartup:"启动参数",startupSummaryDefault:"使用默认启动参数",startupDefault:"默认",startupAdapter:"适配器",startupDefaultAdapter:"使用默认适配器",startupModel:"模型",startupDefaultModel:"使用默认模型",defaultModelLabel:"默认模型",startupNoModels:"暂无可用模型",startupEffort:"推理强度",startupPermissionMode:"权限模式",startupWorkspace:"工作区",startupBranchAction:"分支动作",startupBranchKind:"分支来源",startupBranchName:"分支名称",startupBranchNameRequired:"请输入分支名称",startupBranchNamePlaceholder:"例如:codex/automation-nightly",startupUseManagedWorktree:"创建托管 worktree",startupUseCurrentWorkspace:"使用当前工作区",startupBranchDefault:"不指定分支",startupBranchCheckout:"切换到已有分支",startupBranchCreate:"创建新分支",startupBranchKindLocal:"本地分支",startupBranchKindRemote:"远程分支",startupSummaryAdapter:"适配器:{{value}}",startupSummaryModel:"模型:{{value}}",startupSummaryEffort:"推理:{{value}}",startupSummaryPermission:"权限:{{value}}",startupSummaryCheckoutBranch:"切换:{{value}}",startupSummaryCreateBranch:"新分支:{{value}}",startupSummaryBranchKind:"分支来源:{{value}}",effortLow:"低",effortMedium:"中",effortHigh:"高",effortMax:"最高",permissionAcceptEdits:"接受编辑",permissionPlan:"计划",permissionDontAsk:"不询问",permissionBypassPermissions:"跳过权限",ruleName:"规则名称",ruleNameRequired:"请输入规则名称",ruleDescription:"规则介绍",ruleDescriptionPlaceholder:"请输入规则介绍",immediateRun:"立即触发",ruleType:"触发类型",ruleTypeRequired:"请选择触发类型",typeInterval:"时间间隔",typeWebhook:"接口触发",typeCron:"Cron 周期",intervalMinutes:"间隔(分钟)",intervalRequired:"请输入时间间隔",webhookKey:"Webhook Key",webhookKeyHint:"留空自动生成",cronExpressionLabel:"Cron 表达式",cronExpressionRequired:"请输入 Cron 表达式",cronExpressionHint:"例如:0 9 * * 1",cronExpression:"Cron:{{expression}}",cronPreset:"常用预设",cronPresetHint:"选择常用 Cron",cronPresetHourly:"每小时整点",cronPresetDaily9:"每天 09:00",cronPresetWeekday9:"工作日 09:00",cronPresetWeekend10:"周末 10:00",cronInputHint:"可直接输入 Cron 表达式,或用下方每周配置生成表达式",weeklyDay:"每周日期",weeklyTime:"时间(HH:mm)",weeklyTimeHint:"例如:09:00",weekdaySun:"周日",weekdayMon:"周一",weekdayTue:"周二",weekdayWed:"周三",weekdayThu:"周四",weekdayFri:"周五",weekdaySat:"周六",triggerAny:"满足任意一个条件即可触发任务",taskAll:"触发后同时执行以下任务",addTrigger:"添加触发条件",addTask:"添加任务",remove:"移除",taskDefaultTitle:"任务 {{index}}",taskTitle:"任务标题",taskTitlePlaceholder:"可选,用于区分多个任务",collapseTask:"折叠任务内容",expandTask:"展开任务内容",taskIndex:"第 {{index}} 个任务",taskCount:"{{count}} 个任务",taskUnknown:"未命名任务",webhookUrl:"Webhook 地址",prompt:"自动任务内容",promptRequired:"请输入自动任务内容",trigger:"触发方式",webhookTrigger:"Webhook",intervalEvery:"每 {{minutes}} 分钟",enabled:"启用",enabledStatus:"启用状态",ruleStatus:"规则状态",lastRunLabel:"最近运行",lastRun:"最近运行",lastRunAt:"最近运行:{{time}}",noRunYet:"暂无运行记录",emptyRules:"暂无自动化任务",createRuleLink:"新建自动化任务",mobileRules:"规则",mobileDetails:"详情",collapseRulePanel:"收起规则列表",expandRulePanel:"展开规则列表",selectRule:"请选择一个自动化任务",ruleId:"规则 ID",createdAt:"创建时间",enabledOn:"已启用",enabledOff:"已停用",noTriggers:"暂无触发条件",noTasks:"暂无任务",runHistory:"运行记录",runTime:"运行时间",runStatus:"状态",runSummary:"摘要",session:"会话",relatedSession:"相关会话",openSession:"打开会话",noRuns:"暂无运行记录",actions:"操作",run:"立即运行",edit:"编辑",delete:"删除",copy:"复制",webhookCopied:"Webhook 已复制",created:"规则已创建",updated:"规则已更新",deleted:"规则已删除",saveFailed:"保存失败",deleteFailed:"删除失败",toggleFailed:"更新失败",runStarted:"已启动任务",runFailed:"启动失败",emptyLandingEyebrow:"AI 创建自动化",emptyLandingTitle:"让 AI 帮你创建自动化任务",emptyLandingDescription:"选择一个常见任务填入下方输入框,或直接描述触发条件和要执行的任务。发送后会进入会话,由 AI 调用工具完成创建。",emptyLandingPlaceholder:"描述你想创建的自动化任务",emptyLandingSendInstruction:`请根据下面的需求创建自动化任务。请优先调用可用的自动化任务工具完成创建;如果信息不足,先追问缺失配置。
712
+
713
+ 需求:
714
+ {{request}}`,emptyLandingAttachmentInstruction:"请根据我附带的上下文创建自动化任务。请优先调用可用的自动化任务工具完成创建;如果信息不足,先追问缺失配置。",starterDailyTitle:"每日项目简报",starterDailyDescription:"每天固定时间总结进展、风险和下一步。",starterDailyPrompt:"请帮我创建一个自动化任务:每天工作日上午 9 点检查当前项目状态,汇总昨天完成的工作、今天需要关注的风险和下一步建议。请通过可用的自动化任务工具完成创建。",starterHealthTitle:"定时健康检查",starterHealthDescription:"周期性运行检查,发现异常后提醒。",starterHealthPrompt:"请帮我创建一个自动化任务:每 30 分钟检查当前项目是否有失败的测试、构建错误或服务异常。如果发现问题,创建会话说明原因并给出修复建议。请通过可用的自动化任务工具完成创建。",starterWeeklyTitle:"每周复盘",starterWeeklyDescription:"每周固定时间整理进展、遗留问题和计划。",starterWeeklyPrompt:"请帮我创建一个自动化任务:每周五 17:30 总结本周开发进展、已解决的问题、未完成事项和下周建议。请通过可用的自动化任务工具完成创建。",starterReminderTitle:"重要事项提醒",starterReminderDescription:"到点提醒或检查特定事项。",starterReminderPrompt:"请帮我创建一个自动化任务:每个工作日 18:00 检查是否还有未处理的待办、等待输入或失败任务,并创建会话提醒我处理。请通过可用的自动化任务工具完成创建。"},rp={title:"评测",sidebarHint:"选择 category 和 case,查看任务目标并触发跑分。",category:"分类",categoryCount:"{{count}} 个分类",caseCount:"{{count}} 个用例",caseTree:"用例树",expandAll:"展开全部",collapseAll:"折叠全部",runSelected:"运行已选 ({{count}})",runAll:"运行全部",caseId:"用例:",searchPlaceholder:"搜索分类、标题或摘要",emptyCases:"暂无 benchmark 用例",mobileCases:"用例",mobileDetails:"详情",noSummary:"暂无摘要",configTitle:"用例配置",baseCommit:"基线 Commit",setupCommand:"初始化命令",testCommand:"测试命令",timeoutSec:"超时(秒)",runState:"运行状态",noActiveRun:"当前没有运行中的 benchmark 任务",runStatus:"运行状态",progress:"进度",lastMessage:"最新消息",taskGoal:"任务目标",resultTitle:"最近结果",noResult:"暂无结果",finalScore:"总分",lastRunAt:"最近运行",testScore:"测试分",goalScore:"目标分",referenceScore:"参考分",changedFiles:"改动文件数",noChangedFiles:"暂无改动文件记录",testExitCode:"测试退出码",durationMs:"耗时(毫秒)",issues:"问题",noIssues:"暂无问题",concurrency:"并发",runCategory:"运行当前分类",runCase:"运行当前用例",runStarted:"Benchmark 已启动",categoryRunStarted:"分类跑分已启动",runCompleted:"Benchmark 已完成",runFailed:"Benchmark 运行失败",status:{pass:"通过",partial:"部分完成",fail:"失败"}},ap={title:"项目知识库",subtitle:"管理当前项目的技能、实体、流程与规则",tabs:{skills:"技能",entities:"实体",flows:"流程",rules:"规则"},actions:{new:"新建",refresh:"刷新",refreshed:"已刷新",import:"导入",expand:"展开",collapse:"收起"},filters:{search:"搜索名称、描述或参数",searchActive:"搜索当前列表",tags:"按标签过滤",noResults:"没有匹配的结果"},meta:{params:"{{count}} 个参数",always:"常驻",skills:"技能",rules:"规则",skillsCount:"技能 {{count}}",rulesCount:"规则 {{count}}"},skills:{title:"技能库",desc:"维护可复用的技能定义与调用说明。",empty:"暂未发现技能。",project:"项目技能",sourceProject:"项目内置",sourceGlobalConfig:"~/.oneworks/.oo.config.json",sourceProjectConfig:".oo.config.json",sourceUserConfig:".oo.dev.config.json",sourcePlugin:"插件",sourceHome:"真实 Home",market:"市场",create:"新建技能",createSuccess:"技能已创建",createFailed:"新建技能失败",createHint:"请在 .oo/skills 中创建技能文件,保存后刷新页面。",importHint:"请将技能文件导入至 .oo/skills,保存后刷新页面。",importSuccess:"已导入 {{count}} 个文件",importFailed:"导入技能失败",searchProject:"搜索项目技能",searchHub:"搜索已配置的 skills registries",marketActions:"Registry 与筛选",allRegistries:"全部 registries",registryFilter:"筛选 registry",allSources:"全部 sources",sourceFilter:"筛选 source",installFilter:"筛选安装状态",allStatuses:"全部状态",installedOnly:"仅已安装",notInstalled:"仅未安装",sort:"排序",sortDefault:"默认排序",sortInstallsDesc:"安装量优先",sortNameAsc:"名称 A-Z",sortNameDesc:"名称 Z-A",addRegistry:"添加 Registry",openConfig:"打开 skills 配置",noRegistry:"暂未配置 skills registry。",emptyHub:"已配置 registry 中没有匹配的 skill。",install:"安装",openOfficialSite:"打开官网",loadMore:"加载更多",loadingMore:"正在加载",reinstall:"重新安装",installSuccess:"已安装",installFailed:"安装失败",installed:"已安装",installs:"{{value}} 次安装",scope:"作用域",hooks:"钩子",registrySaved:"Registry 已保存",registryExists:"相同 source 的 Registry 已存在",registryConfigSource:"写入配置",registryTitle:"显示名称(可选)",registryTitlePlaceholder:"Lynx Team Skills",registrySource:"Source Path",registrySourceRequired:"请输入 skills source path",registrySourcePlaceholder:"example-source/default/public",registryValue:"NPM Registry(可选)",registryValuePlaceholder:"https://registry.example.com",skillName:"名称",skillNameRequired:"请输入技能名称",skillNamePlaceholder:"review-checklist",skillDescription:"描述",skillDescriptionPlaceholder:"用于代码审查的检查清单",skillBody:"内容",skillBodyPlaceholder:"写下这个技能的使用方式"},entities:{title:"实体库",desc:"管理项目内的角色、组件或领域实体。",empty:"暂未发现实体。",create:"新建实体",createHint:"请创建实体定义文件,保存后刷新页面。",importHint:"请导入实体定义文件,保存后刷新页面。"},flows:{title:"流程库",desc:"管理项目流程与参数定义。",empty:"暂未发现流程。",noContent:"暂无流程定义内容",create:"新建流程",createHint:"请在 .oo/specs 中创建流程文件,保存后刷新页面。",importHint:"请将流程文件导入至 .oo/specs,保存后刷新页面。"},rules:{title:"规则库",desc:"维护项目规范、约束与执行规则。",empty:"暂未发现规则。",create:"新建规则",createHint:"请在 .oo/rules 中创建规则文件,保存后刷新页面。",importHint:"请将规则文件导入至 .oo/rules,保存后刷新页面。"}},ip={header:{eyebrow:"Agent Room",summary:"房间概览",memberCount:"{{count}} 个成员",attentionCount:"{{count}} 个待处理",runningCount:"{{count}} 个运行中"},system:{memberJoined:"{{member}} 加入了房间"},message:{you:"你",agent:"Agent",system:"系统",replyingTo:"回复 {{author}}:{{content}}",expandLong:"展开",collapseLong:"收起"},reaction:{completed:"已完成",completedBy:"{{agent}} 已完成",working:"正在工作",workingBy:"{{agent}} 正在工作",openTarget:"打开 {{agent}} 会话"},approvalBatch:{title:"审批队列",summary:"审批请求概览",total:"{{count}} 条请求",pendingCount:"{{count}} 个待处理",handledCount:"{{count}} 个已处理",actionCount:"{{count}} 条处理",pending:"待处理",handled:"已处理",handledByLeader:"leader 已处理",currentRequest:"当前请求",latestRequest:"最近请求",options:"可用选项",history:"{{count}} 条历史记录"},interactionRequest:{title:"权限请求",titleWithSubject:"权限请求:{{subject}}",options:"可提交选项",response:"已回复:{{response}}",command:{summary:"确认后才允许执行此命令。",title:"命令",shell:"Shell:{{shell}}",arguments:"参数:{{arguments}}",script:"脚本内容",fullCommand:"完整命令"},status:{pending:"待处理",handled:"已处理",expired:"已过期"},kind:{confirmation:"确认",input:"输入",progress:"进度"}},mode:{session:"会话模式",room:"聊天室模式"},transcript:{ariaLabel:"{{title}} 记录",empty:"暂无公开房间消息"},status:{room:{active:"进行中",waiting:"等待处理",completed:"已完成",failed:"失败",idle:"空闲"},member:{active:"活跃中",waiting:"等待确认",completed:"已完成",failed:"已失败",stopped:"已停止",idle:"空闲"},run:{running:"进行中",waiting:"待确认",completed:"已完成",failed:"已失败",stopped:"已停止"}},actions:{openRun:"打开运行",openHostSession:"打开主会话",messageRun:"打开 {{target}} 会话",backToRoom:"返回"},sessionStatus:{starting:"任务已创建,等待子 Agent 启动",startingStale:"子 Agent 未启动,未收到运行事件",running:"子 Agent 运行中",waiting:"子 Agent 等待确认",completed:"子任务已完成",failed:"子任务已失败",stopped:"子任务已停止"},sessionBreadcrumbLabel:"{{roomTitle}} / {{sessionTitle}}",approvals:{empty:"暂无待审批",waitingForInput:"等待中",waitingDescription:"该子会话正在房间内等待,是否向用户申请权限由 leader 决定。"},roster:{eyebrow:"Roster",title:"房间成员",compactTitle:"房间成员 · {{count}} 个",memberCount:"{{count}} 个成员",activeRuns:"{{count}} 个活跃",pendingCount:"{{count}} 个待处理",expandRuns:"显示会话",collapseRuns:"隐藏会话",noRuns:"暂无运行"},composer:{placeholder:"发送消息给群聊",ariaLabel:"Agent Room 消息",send:"发送",sending:"发送中",target:{host:"{{target}}",member:"{{target}}",run:"{{target}}",missing:"找不到 {{target}}",ambiguous:"{{target}} 不唯一"},completion:{member:"成员信箱",run:"运行"},error:{missingTarget:"未知目标 {{target}}",ambiguousTarget:"目标不唯一 {{target}}",emptyTargetedMessage:"请为 {{target}} 补充消息",unsupportedAttachments:"Agent Room 消息当前仅支持文本。发送前请移除图片和文件附件。"}},sidebar:{label:"Agent Room",openRoom:"打开房间",favoriteRoom:"收藏房间",unfavoriteRoom:"取消收藏房间",favoritedRoom:"已收藏房间",archiveRoom:"归档房间",unarchiveRoom:"取消归档房间",copyRoomLink:"复制房间链接",copyRoomId:"复制房间 ID",roomLinkCopied:"房间链接已复制到剪贴板",roomIdCopied:"房间 ID 已复制到剪贴板",activeRuns:"{{count}} 个活跃",pendingCount:"{{count}} 个待处理"}},sp={titleUpdated:"标题已更新",titleUpdateFailed:"标题更新失败",clickToEditTitle:"点击编辑标题",inputPlaceholder:"输入消息...",childSessionPlaceholder:"输入消息继续子会话...",send:"发送",thinking:"正在思考",voiceInput:{tooltip:"语音输入",start:"开始录音",menu:"语音服务菜单",stop:"停止录音并识别",sendAfterTranscription:"识别后发送",transcribing:"识别中",configure:"配置语音服务",retry:"重试",setDefault:"设为默认:{{name}}",setupPrompt:"还没有可用的语音转文字服务",setupAction:"未配置语音服务,去配置",showInSender:"显示语音输入",showInSenderFailed:"显示语音输入失败",defaultService:"默认",browserWebSpeechService:"浏览器语音识别",defaultSaved:"默认语音服务已保存",defaultSaveFailed:"保存默认语音服务失败",unsupported:"当前浏览器不支持录音",unavailable:"当前状态暂不能录音",permissionDenied:"麦克风权限被拒绝",browserLanguageUnsupported:"当前浏览器不支持这个识别语言",browserRecognitionNetwork:"浏览器语音识别网络异常",loadServicesFailed:"加载语音服务失败",recordingFailed:"录音启动失败",emptyRecording:"没有录到可识别的音频",transcribeFailed:"语音识别失败"},sessionOperation:{adapterCliPrepare:"正在准备适配器 CLI;如果本机没有可用版本,会自动安装…"},stop:"停止",result:"结果",sessionActive:"会话进行中",pinSessionDockPreview:"固定当前对话",unpinSessionDockPreview:"取消固定当前对话",selectModel:"选择模型开始聊天",adapterSelectPlaceholder:"选择适配器",adapterBuiltinLabel:"内置支持",adapterConfiguredLabel:"已配置",adapterFirstRunHint:"首次启动某个适配器时会准备 CLI,可能会稍慢。",adapterHiddenBuiltinTitle:"已隐藏的内置适配器",adapterHideBuiltin:"隐藏 {{adapter}}",adapterHideLastBuiltinDisabled:"至少保留一个可用适配器",adapterRestoreBuiltin:"显示 {{adapter}}",modelSelectPlaceholder:"选择模型",defaultModelLabel:"默认模型",modelSearchPlaceholder:"搜索模型或服务",modelUnavailable:"暂无可用模型",modelConfigRequired:"请先在配置中添加模型服务后再开始会话",modelConfigRequiredTitle:"需要先配置模型服务",modelConfigRequiredHelp:"至少添加一个模型服务后,再回到输入框重新发送消息。",connectionErrorTitle:"连接异常",connectionClosedTitle:"连接已断开",connectionAuthRequiredTitle:"登录已过期",sessionErrorTitle:"任务失败",sessionCreateFailedTitle:"会话创建失败",connectionError:"WebSocket 连接失败,请检查服务状态后重试",connectionClosed:"WebSocket 连接已关闭,请重试",connectionAuthRequired:"登录状态已过期,请重新登录后继续",historyLoadFailed:"历史消息加载失败,请检查服务连接后重试",connectionErrorHelp:"当前流式更新还没恢复就中断了。重试连接后可以重新订阅这个会话的实时输出。",connectionClosedHelp:"当前消息流意外结束了。重试连接后,可以继续接收这个会话后续的新消息。",connectionAuthRequiredHelp:"服务端拒绝了当前实时连接。请重新登录,登录完成后再回到这个会话。",sessionErrorHelp:"可以先检查最近一次工具输出或终端日志,再决定是否从最近一条用户消息继续。",sessionCreateFailedHelp:"首条消息已经保留在当前页面。修复问题后,点击下方按钮会使用同一条消息重新创建会话。",sessionCreateFailedMessage:"会话创建失败",sessionStoppingMessage:"正在请求终止会话...",sessionStopRequestedMessage:"已请求终止会话",sessionStopFailedMessage:"终止会话失败",sessionErrorCode:"错误码:{{code}}",retryConnection:"重试连接",retrySessionCreation:"重试创建会话",retrySessionCreationRequired:"请先点击错误提示中的重试创建按钮",debugMockLabel:"调试预览",debugMockConnectionErrorMessage:"无法连上当前会话的消息流,WebSocket 握手在收到任何更新前就超时了。",debugMockConnectionClosedMessage:"assistant 已经开始回复,但连接中途断开;在重新连接前,不会再收到新的 token。",debugMockSessionErrorMessage:"runtime 在等待下游工具结果时触发了会话超时,这一轮任务已经停止。",permissionRequestBadge:"权限请求",permissionRequestTitleWithTool:"正在请求使用【{{tool}}】的调用权限,请选择通过",permissionSubject:"审批范围",permissionProjectConfig:"项目配置",permissionCurrentMode:"当前模式",permissionSuggestedMode:"建议模式",permissionDeniedTools:"受限工具",permissionReasons:"原因",permissionExpandOptions:"展开更多选项",permissionCollapseOptions:"收起更多选项",permissionConfirmOption:"确认选项",permissionConfirmOptionTooltip:"确认当前高亮的权限选项",permissionSendBlockedTooltip:"当前正在等待权限选项确认,请先确认上方选项",permissionSendBlockedError:"当前正在等待权限选项确认,暂时不能发送消息",agentRoomChildRequest:{title:"子任务请求处理",request:"请求",options:"可提交选项",moreContext:"更多上下文"},agentRoomSessionSource:{leader:"leader",agent:"{{source}}",user:"你",separator:":"},interactionOptionNavigation:"选项快速切换",interactionOptionPrevious:"上一个选项",interactionOptionNext:"下一个选项",tooltipSlashCommands:"快捷指令",tooltipMentionAgents:"提及代理",tooltipInjectContext:"注入上下文",tooltipUploadImages:"上传图片",tooltipReferenceActions:"更多",referenceActionsShortcutTooltip:"更多 / 权限模式",modelShortcutTooltip:"切换模型",modelAddRecommendation:"加入推荐模型",modelAlreadyRecommended:"已在推荐模型中",modelRemoveRecommendation:"从推荐模型中移除",effortShortcutTooltip:"切换推理强度",sendShortcutTooltip:"发送消息",queue:{steerTitle:"等待当前轮结束后发送",nextTitle:"合适时机发送",count:"{{count}} 条待发送",sendAfterTurn:"等待结束后发",sendNext:"下一轮发",steerShortcutTooltip:"等待当前轮结束后发送",nextShortcutTooltip:"在下一个合适时机发送",attachmentsOnly:"包含待发送的图片或引用",hasImage:"包含图片",hasReference:"包含引用",moveToSteer:"移动到等待当前轮结束后发送",moveToNext:"移动到合适时机发送",requeueMessage:"重新入队",stopCurrentRun:"停止当前执行",stopShortcutTooltip:"按两次 Esc 停止当前执行",stopShortcutConfirm:"再按一次 Esc 停止当前执行"},adapterLockedTooltip:"创建会话后适配器会锁定",sessionTarget:{title:"会话目标",lockedHint:"创建后已固定",creatingHint:"正在创建会话",missingResourceWarning:"请先选择当前模式下的资源",modes:{default:"默认",workspace:"Workspace",entity:"Agent",spec:"Spec"},placeholders:{workspace:"选择 workspace",entity:"选择 agent",spec:"选择 spec"},empty:{workspace:"暂无 workspace",entity:"暂无 agent",spec:"暂无 spec"}},referenceActionsShort:"更多",referenceActionsTitle:"更多",referenceActionsDescription:"添加照片、文件和权限相关设置。",referenceAttachments:"添加照片和文件",referenceAttachmentsDescription:"选择图片或项目文件作为引用内容。",referencePermission:"权限模式",referencePermissionDescription:"控制工具执行前的授权策略。",collapseHeaderControls:"收起顶部栏",expandHeaderControls:"展开顶部栏",collapseStatusBar:"隐藏状态栏",expandStatusBar:"显示状态栏",referenceImage:"图片",referenceImageDescription:"从本地选择图片并附在消息中。",referenceFile:"文件",referenceFileDescription:"从当前项目目录树中选择要引用的文件。",accountSelectPlaceholder:"选择账号",accountSelectCreateAccount:"快速创建 {{adapter}} 账号",accountSelectCreateTitle:"接入 {{adapter}} 账号",accountSelectCreateWaiting:"等待账号接入完成",accountSelectCreateDescription:"请在 Codex 打开的浏览器登录流程中完成认证。完成前请保持此弹窗打开;如果不再继续,可以主动取消。",accountSelectCreateCanceling:"取消中…",accountSelectCreateCanceled:"已取消账号接入",accountSelectOpenAdapterConfig:"打开 {{adapter}} 配置",accountSelectOpenAccountConfig:"打开 {{account}} 设置",effortSelectPlaceholder:"推理强度",effortLabels:{default:"默认",low:"低",medium:"中",high:"高",max:"最高"},permissionModeSelectPlaceholder:"权限模式",assetWarningsTitle:"兼容性提示",assetWarningsCount:"{{count}} 个资产告警",assetWarningsMore:"还有 {{count}} 条",selectionWarningsTitle:"模型路由提示",selectionWarningsCount:"{{count}} 个模型告警",selectionWarningReasonExcluded:"该模型被适配器规则排除了",selectionWarningReasonNotIncluded:"该模型不在适配器允许列表中",selectionWarningFallback:"适配器 {{adapter}} 已将模型从 {{requestedModel}} 切换到 {{resolvedModel}},原因:{{reason}}。",modelGroupBuiltin:"{{adapter}} 内置模型",modelGroupServices:"模型服务",imageTooLarge:"图片大小不能超过 5MB",imageReadFailed:"图片读取失败",previewImage:"预览图片",imagePreviewTitle:"图片",imageLoadFailed:"图片加载失败",openImageInBrowser:"在浏览器打开图片",copyImageLink:"复制图片链接",imageLinkCopied:"图片链接已复制",markdownLinkActions:{openWorkspaceFileInApp:"在当前应用打开文件",openInAppBrowser:"在应用内打开",openInExternalBrowser:"在外部浏览器中打开",copyMarkdownLink:"复制 Markdown 链接",copyMarkdownSuccess:"Markdown 链接已复制"},imageZoomIn:"放大",imageZoomOut:"缩小",imageZoomReset:"重置缩放",imageNotSupportedInInteraction:"当前交互不支持图片",fileNotSupportedInInteraction:"当前交互不支持文件上下文",contextPickerTitle:"引用文件或文件夹",contextPickerDescription:"从当前项目目录树中选择一个或多个文件或文件夹。",contextPickerConfirm:"引用",contextPickerLoading:"正在加载项目目录树...",contextPickerEmpty:"当前目录下没有可选项目",contextPickerLoadFailed:"项目目录树加载失败",workspaceDrawerToggle:"工作区抽屉",workspaceDrawerClose:"关闭工作区抽屉",workspaceDrawerCollapse:"收起工作区抽屉",workspaceDrawerTitle:"工作区",workspacePathUnavailable:"暂无工作区路径",workspaceDrawerRefresh:"刷新工作区",workspaceDrawerForceSync:"强制同步",workspaceDrawerDisplayMode:"展示模式",workspaceDrawerLocateFile:"定位文件",workspaceDrawerExpandAll:"展开",workspaceDrawerCollapseAll:"折叠",workspaceDrawerToggleSection:"展开或折叠分栏",workspaceFileOpen:"打开文件",workspaceFileExternalOpenFailed:"无法在外部应用中打开文件",workspaceTreeReferenceToInput:"引用到输入框",workspaceTreeTargetMissing:"目标不存在",workspaceTreeTargetMissingState:"(目标不存在)",workspaceTreeExternalLinkState:"(外部链接)",workspaceTreeNodeLinkTitle:"{{path}} -> {{target}}{{state}}",workspaceTreeLinkTargetMissing:"链接目标不存在:{{target}}",workspaceTreeLinkTarget:"链接目标:{{target}}",workspaceFileCopyName:"复制文件名",workspaceFileCopyRelativePath:"复制相对路径",workspaceFileCopyAbsolutePath:"复制绝对路径",workspaceFileCopyPath:"复制路径",workspaceFileNameCopied:"文件名已复制",workspaceFileRelativePathCopied:"相对路径已复制",workspaceFileAbsolutePathCopied:"绝对路径已复制",workspaceFilePathCopied:"路径已复制",workspaceFileOpenInExternalEditor:"在 {{opener}} 中打开",workspaceFileReferenceFile:"引用文件",workspaceFileCommentFile:"评论该文件",workspacePathRevealInTree:"在目录树中定位",workspacePathRevealInFileManager:"在{{manager}}中显示",workspacePathOpenContainingFolderInFileManager:"在{{manager}}中打开所在文件夹",workspacePathRevealInFileManagerFailed:"无法在{{manager}}中显示路径",workspacePathFileManagerFallback:"文件管理器",workspacePathFileManager:{finder:"访达",explorer:"文件资源管理器",fileManager:"文件管理器"},workspaceFileCloseOthers:"关闭其他",workspaceFileCloseRight:"关闭右侧",workspaceFileCloseAll:"关闭全部",workspaceDrawerChangedFiles:"改动文件",workspaceChanges:{summary:"{{count}} 个文件已更改",review:"审核",reviewTitle:"打开改动审核",expand:"展开",collapse:"折叠",expandFiles:"展开文件列表",collapseFiles:"折叠文件列表",showDiff:"展开 {{path}} 的 diff",hideDiff:"折叠 {{path}} 的 diff",diffUnavailable:"未记录 diff。",diffTruncated:"diff 较大,已截断显示。"},workspaceDrawerChangedCount:"{{count}} 个",workspaceDrawerLoadingGit:"正在读取 Git 状态...",workspaceDrawerGitUnavailable:"当前工作区不可用 Git。",workspaceDrawerNoChangedFiles:"暂无改动文件",workspaceDrawerTree:"目录树",workspaceDrawerApprovals:"审批",workspaceDrawerAgents:"成员",workspaceDrawerChangedFolders:"按文件夹展示",workspaceDrawerChangedFlat:"平铺展示",workspaceDrawerChangedSection:{staged:"已暂存",tracked:"已跟踪",untracked:"未跟踪"},workspaceDrawerSubmodule:"子模块",workspaceDrawerSubmoduleCommit:"提交已变化",workspaceDrawerSubmoduleTracked:"已跟踪改动",workspaceDrawerSubmoduleUntracked:"未跟踪改动",workspaceFileEditorTitle:"文件",workspaceFileEditorLoading:"正在读取文件...",workspaceFileEditorLoadFailed:"文件读取失败",workspaceImagePreviewLoadFailed:"图片加载失败",workspaceFileEditorSave:"保存",workspaceFileEditorSaved:"已保存",workspaceFileEditorRevert:"还原",workspaceFileEditorResizePanel:"拖拽调整文件编辑器高度",bottomPanelToggle:"下方面板",bottomPanelResizePanel:"拖拽调整下方面板高度",browserComments:{ariaLabel:"{{count}} 条注释",clearAll:"清空注释",count:"{{count}} 条注释",targetFallback:"页面元素"},textSelections:{addToConversation:"添加到对话",clearAll:"清空已选文本片段",count:"{{count}} 个已选文本片段",sourceChatTranscript:"聊天记录",sourceFallback:"已选文本",toolbarAriaLabel:"文本选择操作"},fileComments:{addComment:"添加评论",clearAll:"清空文件评论",commentingLines:"正在评论{{segments}}",confirm:"添加文件评论",confirmInline:"确认",count:"{{count}} 条文件评论",discardDraftContent:"关闭文件 tab 会清空当前未确认的评论内容。",discardDraftEmptyContent:"关闭文件 tab 会清空当前未确认的评论状态。",discardDraftOk:"放弃并关闭",discardDraftTitle:"放弃正在评论的内容?",emptyLine:"空行",editorAriaLabel:"文件评论输入",lineSegment:"第 {{lineNumber}} 行",lineSegmentRange:"第 {{startLineNumber}} 行到第 {{endLineNumber}} 行",lineSegmentSeparator:"、",missingFileContent:"无法读取 {{path}}。是否移除这条待发送的文件评论?",missingFileRemove:"移除评论",missingFileTitle:"文件不可用",placeholder:"输入对此文件片段的评论",sourceEditor:"文件编辑器",sourceMarkdownPreview:"Markdown 预览",wholeFile:"整个文件",toolbarAriaLabel:"文件文本选择操作"},interactionPanel:{addIframe:"新建网页",addIframeDescription:"打开网页预览或外部调试页面。",addMobileDebug:"调试手机",addMobileDebugDescription:"连接移动设备并打开调试入口。",addSession:"新建会话",addSessionDescription:"在下方面板创建独立会话页。",addTab:"新增面板页",addTerminalDescription:"创建终端任务,保留命令输出上下文。",closeTab:"关闭 {{title}}",editPinnedTab:"编辑固定标签",emptyDescription:"打开资源、终端或网页预览,让会话里的辅助内容保持在同一块空间。",emptyHintManageTabs:"拖拽或右键标签来整理面板页",emptyHintOpenResource:"{{shortcut}} 快速打开资源",emptyStart:"开始",emptyTitle:"OneWorks",expandPanel:"展开下方面板",expandPanelFullscreen:"向上展开下方面板",hidePanel:"隐藏下方面板",editRunCommand:"编辑运行指令",favoriteRunCommand:"收藏运行指令",markdownEditorMode:"只显示 Markdown 源码",markdownPreviewMode:"全屏渲染 Markdown",markdownResizeSplit:"拖拽调整 Markdown 预览分割线",markdownSplitMode:"左右分屏预览 Markdown",minimizePanel:"最小化下方面板",addRunCommand:"添加运行指令",manageRunCommands:"管理运行指令",openResourceDescription:"打开项目文件、目录或资源引用。",addRunCommandEnv:"添加环境变量",mobileDebugAdbPath:"ADB 路径",mobileDebugAddNetworkTarget:"添加网络目标",mobileDebugAddPortForward:"添加端口转发",mobileDebugAdbInstallCommand:"brew install android-platform-tools",mobileDebugAdbInstallHint:"安装完成后保持手机连接并开启 USB 调试,页面会自动重新扫描。",mobileDebugAdbMissingDescription:"手机调试需要 Android Debug Bridge。macOS 可以通过 Homebrew 安装 Android Platform Tools。",mobileDebugAdbMissingTitle:"未检测到 ADB",mobileDebugAllApps:"全部应用",mobileDebugChrome:"Chrome",mobileDebugCollapsePanels:"收起系统面板",mobileDebugConfig:"配置",mobileDebugDesktopOnly:"手机调试仅在桌面端可用",mobileDebugDeviceOffline:"离线",mobileDebugDevicePort:"设备端口",mobileDebugDeviceReady:"已连接",mobileDebugDeviceUnauthorized:"未授权",mobileDebugDeviceUnknown:"未知",mobileDebugDeviceDisconnectedDescription:"{{device}} 已不在已连接设备列表中。可以尝试重连,或返回设备管理页。",mobileDebugDeviceDisconnectedTitle:"设备连接已经断开",mobileDebugBackAction:"返回",mobileDebugDevices:"设备",mobileDebugDiagnostics:"诊断",mobileDebugDiscoverNetworkTargets:"发现网络目标",mobileDebugDiscoverUsbDevices:"发现 USB 设备",mobileDebugLocalAddress:"本地地址,例如 127.0.0.1:3000",mobileDebugNetwork:"网络目标",mobileDebugNetworkAddress:"网络地址,例如 192.168.1.10:9222",mobileDebugNetworkTargets:"网络目标",mobileDebugNoKnownDevices:"未发现手机,去配置查看",mobileDebugNoNetworkTargetsConfigured:"还没有配置网络目标。",mobileDebugNoDevices:"没有检测到 Android 设备。请连接手机并开启 USB 调试。",mobileDebugNoMatchingTargets:"没有匹配的页面。",mobileDebugNoPortForwardingRules:"还没有配置端口转发规则。",mobileDebugNoTargets:"没有检测到可调试网页。请在手机 Chrome 打开网页,或确保目标 App 已开启 WebView 调试。",mobileDebugNotAvailable:"不可用",mobileDebugOther:"其他",mobileDebugPortForwardActive:"已生效",mobileDebugPortForwardError:"失败",mobileDebugPortForwardRemoved:"已移除",mobileDebugPortForwardSkipped:"已跳过",mobileDebugPortForwarding:"端口转发...",mobileDebugPortForwardingStatus:"端口转发",mobileDebugAppSwitch:"任务",mobileDebugBack:"返回",mobileDebugDetails:"详情",mobileDebugDockBottom:"停靠到底部",mobileDebugDockLeft:"停靠到左侧",mobileDebugDockPosition:"信息区域位置",mobileDebugDockRight:"停靠到右侧",mobileDebugEnvironmentAltitude:"海拔",mobileDebugEnvironmentApplied:"已应用设备状态",mobileDebugEnvironmentApply:"应用",mobileDebugEnvironmentApplyFailed:"应用设备状态失败",mobileDebugEnvironmentApplyPhone:"执行电话动作",mobileDebugEnvironmentBattery:"电量",mobileDebugEnvironmentBatteryHealth:"电池健康",mobileDebugEnvironmentBatteryLevel:"电量百分比",mobileDebugEnvironmentBatteryStatus:"充电状态",mobileDebugEnvironmentCellular:"蜂窝",mobileDebugEnvironmentCharger:"充电连接",mobileDebugEnvironmentDataStatus:"数据注册",mobileDebugEnvironmentEmulatorOnly:"除电量外,这些状态控制仅适用于 Android Emulator。",mobileDebugEnvironmentFingerId:"手指 ID",mobileDebugEnvironmentFingerprint:"指纹",mobileDebugEnvironmentGoogleMap:"Google 地图",mobileDebugEnvironmentLatitude:"纬度",mobileDebugEnvironmentLocation:"位置",mobileDebugEnvironmentLongitude:"经度",mobileDebugEnvironmentMapPicker:"点击地图更新坐标",mobileDebugEnvironmentMeterStatus:"计费网络",mobileDebugEnvironmentNetworkDelay:"网络延迟",mobileDebugEnvironmentNetworkSpeed:"网络速度",mobileDebugEnvironmentOptions:{batteryHealth:{cold:"低温",dead:"损坏",failure:"故障",good:"良好",overheat:"过热",overvoltage:"过压",unknown:"未知"},batteryStatus:{charging:"充电中",discharging:"放电中",full:"已充满","not-charging":"未充电",unknown:"未知"},charger:{ac:"交流电",none:"断开",usb:"USB",wireless:"无线"},meter:{metered:"计费",unmetered:"不计费"},networkDelay:{edge:"EDGE",gprs:"GPRS",none:"无",umts:"UMTS"},networkSpeed:{edge:"EDGE",full:"满速",gprs:"GPRS",gsm:"GSM",hscsd:"HSCSD",hsdpa:"HSDPA",lte:"LTE",umts:"UMTS"},phoneAction:{accept:"接听",call:"来电",cancel:"挂断",hold:"保持"},registration:{denied:"拒绝",home:"本地",off:"关闭",on:"开启",roaming:"漫游",searching:"搜索中",unregistered:"未注册"},signal:{good:"良好",great:"极佳",moderate:"一般",none:"无信号",poor:"较差"}},mobileDebugEnvironmentPhone:"电话",mobileDebugEnvironmentPhoneAction:"电话动作",mobileDebugEnvironmentPhoneNumber:"电话号码",mobileDebugEnvironmentResetBattery:"重置电池",mobileDebugEnvironmentSendSms:"发送短信",mobileDebugEnvironmentSignalProfile:"信号强度",mobileDebugEnvironmentSmsDefaultMessage:"来自 One Works 的测试短信",mobileDebugEnvironmentSmsMessage:"短信内容",mobileDebugEnvironmentTitle:"设备状态",mobileDebugEnvironmentTouchFingerprint:"触发指纹",mobileDebugEnvironmentVoiceStatus:"语音注册",mobileDebugBoundsCenter:"中心",mobileDebugBoundsElement:"元素",mobileDebugBoundsScreen:"屏幕",mobileDebugElementAttributes:"元素属性",mobileDebugElementBounds:"边界",mobileDebugElementDetails:"元素详情",mobileDebugElementOverview:"概览",mobileDebugElementTree:"元素树",mobileDebugElements:"元素",mobileDebugResizeElementDetails:"调整元素详情宽度",mobileDebugHideSidePanel:"隐藏右侧区域",mobileDebugHome:"Home",mobileDebugInputFailed:"设备输入失败",mobileDebugInputTab:"输入",mobileDebugInspectMode:"检查元素",mobileDebugLogs:"日志",mobileDebugNoElements:"还没有读取到元素。",mobileDebugNoLogs:"暂无日志。",mobileDebugPreviewAlt:"Android 设备画面",mobileDebugPreviewFailed:"设备预览刷新失败",mobileDebugPreviewLoading:"正在读取设备画面...",mobileDebugRefresh:"刷新",mobileDebugRefreshLogs:"刷新日志",mobileDebugRefreshPreview:"刷新设备画面",mobileDebugReconnectPreview:"重连设备",mobileDebugScanning:"正在扫描 Android 调试目标...",mobileDebugSearchPlaceholder:"搜索页面或网址",mobileDebugSelectElement:"点击画面或元素树选择一个节点。",mobileDebugSendText:"输入",mobileDebugShowSidePanel:"显示右侧区域",mobileDebugBackToDeviceList:"返回设备列表",mobileDebugMoreControls:"更多控制",mobileDebugNotifications:"通知栏",mobileDebugPower:"电源",mobileDebugQuickSettings:"快捷设置",mobileDebugRotate:"旋转",mobileDebugScreenshot:"截图",mobileDebugTargetTab:"目标",mobileDebugTargets:"可调试网页",mobileDebugTextPlaceholder:"向设备输入文本",mobileDebugTitle:"调试手机",mobileDebugReconnectAction:"重连",mobileDebugTryReconnect:"尝试重连",mobileDebugVolumeDown:"降低音量",mobileDebugVolumeUp:"提高音量",mobileDebugWebView:"WebView",mobileDebugWindowClose:"关闭窗口",mobileDebugWindowMinimize:"最小化窗口",mobileDebugZoom:"缩放",openResource:"打开资源",openResourceEmpty:"没有匹配的资源",openResourceInputHint:"输入内容搜索文件、会话或网页",openResourceLoading:"正在索引资源...",openResourceLoadFailed:"资源列表加载失败",openResourceRecentEmpty:"最近没有访问过的资源",openResourceRecentSection:"最近资源",openResourceResultsSection:"匹配资源",openResourceSearchPlaceholder:"搜索文件、会话或网页",openWorkspace:"打开当前工作区",openWorkspaceFailed:"无法打开当前工作区",openWorkspaceUnavailable:"没有可用的打开方式",openWorkspaceWith:"在 {{opener}} 中打开",pageDebuggerListEmpty:"还没有可调试页面。",pageDebuggerListLoadFailed:"页面调试器列表读取失败",pageDebuggerListLoading:"正在读取可调试页面...",pageDebuggerListTitle:"页面调试器列表",pageDebuggerUntitledTarget:"未命名页面",pinTab:"固定标签",pinnedTabEditHint:"图标填写 Material Symbols 名称;留空时使用原本标题和图标。",pinnedTabIcon:"显示图标",pinnedTabTitle:"显示标题",removeRunCommand:"移除运行指令",removeRunCommandEnv:"移除环境变量",runCommandAdvanced:"高级配置",runCommandCwd:"工作目录",runCommandCwdPlaceholder:"cwd",runCommandEnvKey:"环境变量名",runCommandEnvKeyPlaceholder:"变量名",runCommandEnvValue:"环境变量值",runCommandEnvValuePlaceholder:"变量值",runCommandEscClosePrompt:"再按一次 Esc 关闭运行指令窗口",runCommandIcon:"图标",runCommandIconPlaceholder:"terminal",runCommandName:"名称",runCommandNamePlaceholder:"开发服务",runCommandBackToList:"返回指令列表",runCommandPrimary:"运行 {{command}}",runCommandRunning:"运行中",runCommandRun:"运行",runShellFile:"运行脚本",runShellFileTitle:"运行 {{file}}",runTaskRestart:"重启",runTaskStart:"启动",runTaskTerminate:"终止",runCommandScript:"脚本",runCommandScriptPlaceholder:"pnpm dev",runCommands:"运行指令",runCommandsEmpty:"暂无运行指令",runCommandsTitle:"运行指令",unfavoriteRunCommand:"取消收藏运行指令",closeWindowGroup:"关闭窗口组",maximizeWindowGroup:"最大化窗口组",restoreWindowGroup:"还原窗口组",resourceChildSession:"子会话",resourceFile:"文件",resourceWebsite:"网页",unpinTab:"取消固定",copyIframeUrl:"复制网址",iframeBack:"后退",iframeBackUnavailable:"无法后退",iframeAddComment:"添加评论",iframeAnnotationActive:"注释中",iframeAnnotationAddedToSender:"评论已添加到输入区",iframeAnnotationCommentPlaceholder:"输入对这个页面元素的评论",iframeAnnotationConfig:"评论配置",iframeAnnotationConfigPlaceholder:"配置区域预留",iframeAnnotationCommentRequired:"请输入评论",iframeAnnotationCommentTitle:"添加页面评论",iframeAnnotationInfoAccessibility:"可访问性",iframeAnnotationInfoBackground:"背景",iframeAnnotationInfoKeyboardFocusable:"键盘聚焦",iframeAnnotationInfoName:"名称",iframeAnnotationInfoPadding:"内边距",iframeAnnotationInfoRole:"角色",iframeAnnotationMarker:"评论 {{number}}",iframeAnnotationNoPage:"当前没有可评论的页面",iframeAnnotationNoSession:"当前没有可接收评论的会话",iframeAnnotationSensitiveTarget:"这个元素不可评论",iframeAnnotationSendFailed:"评论发送失败",iframeAnnotationSent:"评论已发送到当前会话",iframeAnnotationStarted:"选择页面元素以添加评论,按 Esc 取消",iframeAnnotationStop:"退出注释",iframeAnnotationSubmit:"添加到当前会话",iframeAnnotationUnavailable:"无法读取当前页面结构",iframeAnnotationUnknownTarget:"未命名元素",iframeAnnotationVoice:"语音输入",iframeAnnotationWebviewUnsupported:"当前页面暂不支持元素评论",iframeClearCache:"清除缓存",iframeClearCacheSuccess:"缓存已清除",iframeClearCookie:"清除 Cookie",iframeClearCookieSuccess:"Cookie 已清除",iframeDeviceToolbar:"显示设备工具栏",iframeViewportDesktop:"桌面",iframeViewportDimensions:"尺寸:",iframeViewportHeight:"高度",iframeViewportAddDevicePixelRatio:"添加设备像素比",iframeViewportAddDeviceType:"添加设备类型",iframeViewportCaptureFullSizeScreenshot:"捕获完整尺寸屏幕截图",iframeViewportCaptureScreenshot:"捕获屏幕截图",iframeViewportDevicePixelRatio:"设备像素比",iframeViewportDeviceType:"设备类型",iframeViewportDeviceTypeDesktop:"桌面",iframeViewportDeviceTypeMobile:"手机",iframeViewportHideDeviceFrame:"隐藏设备外框",iframeViewportHideMediaQueries:"隐藏媒体查询",iframeViewportHideRulers:"隐藏标尺",iframeViewportMobile:"手机",iframeViewportNetwork:"网络限速",iframeViewportNoThrottling:"No throttling",iframeViewportPreset:"尺寸预设",iframeViewportRemoveDevicePixelRatio:"移除设备像素比",iframeViewportRemoveDeviceType:"移除设备类型",iframeViewportResetToDefaults:"重置为默认值",iframeViewportResponsive:"响应式",iframeViewportRotate:"旋转",iframeViewportShowDeviceFrame:"显示设备外框",iframeViewportShowMediaQueries:"显示媒体查询",iframeViewportShowRulers:"显示标尺",iframeViewportStandard:"标准",iframeViewportTablet:"平板",iframeViewportToolbar:"窗口尺寸",iframeViewportWidth:"宽度",iframeViewportZoom:"缩放",iframeViewportZoomAuto:"自动 {{value}}",iframeDebugAutoInjectUnavailableCopied:"无法自动接入这个页面,调试脚本已复制,请加入目标页面后刷新。",iframeDebugCloseDeveloperTools:"关闭开发者工具",iframeDebugCopyScript:"复制调试脚本",iframeDebugDeveloperToolsTitle:"开发者工具",iframeDebugDockBottom:"停靠到底部",iframeDebugDockLeft:"停靠到左侧",iframeDebugDockRight:"停靠到右侧",iframeDebugInjectUnavailable:"Web UI 无法向这个页面注入脚本",iframeDebugOpenDeveloperTools:"打开开发者工具",iframeDebugResizeDeveloperTools:"拖拽调整开发者工具宽度",iframeDebugScriptCopied:"调试脚本已复制",iframeDebugServiceUnavailable:"页面调试服务不可用",iframeEditingHint:"Enter 跳转",iframeEmpty:"输入 URL 后加载网页",iframeForward:"前进",iframeForwardUnavailable:"无法前进",iframeForceReload:"强制重新加载",iframeMore:"更多",iframeOpenExternalBrowser:"在外部浏览器中打开",iframeRefresh:"刷新",iframeRefreshUnavailable:"没有可刷新的页面",iframeScreenshot:"截图",iframeScreenshotCopied:"截图已复制",iframeScreenshotFailed:"截图失败",iframeTitle:"网页 {{index}}",iframeUrlCopied:"网址已复制",iframeZoom:"缩放",iframeZoomIn:"放大",iframeZoomOut:"缩小",iframeZoomReset:"重置缩放",newSameShellTerminal:"新建同类型终端",iframeUrlPlaceholder:"输入 URL",sessionTitle:"会话 {{index}}"},workspaceDrawerFileStatus:{staged:"已暂存",tracked:"已跟踪改动",unstaged:"未暂存",untracked:"未跟踪",mixed:"混合"},modelGroupRecommended:"推荐模型",modelMoreModels:"更多模型",modelConnectMoreServices:"接入更多",modelOpenModelServicesConfig:"打开配置",modelOpenModelServiceDetails:"打开服务详情",availableTools:"可用工具",availableToolsEmpty:"当前会话没有可展示的工具。",toolGroupChromeDevtools:"ChromeDevtools",toolGroupSystem:"系统",toolsCount:"{{count}} 个工具",usedTools:"使用了 {{count}} 个工具",debugSessionId:"会话",debugType:"类型",debugUuid:"UUID",debugLeafUuid:"Leaf",debugAdapter:"适配器",debugModel:"模型",debugEffort:"推理强度",debugVersion:"版本",debugTools:"工具数",debugAgents:"代理数",debugCwd:"目录",debugContextCompaction:"上下文压缩",debugContextCompactionId:"压缩事件",debugContextCompactionTokens:"Token 数",debugTags:"标签",debugView:"视图",debugStarred:"收藏",debugArchived:"归档",debugEnable:"开启调试模式",debugDisable:"关闭调试模式",debugOpenSessionLog:"打开会话日志",debugEnabledValue:"开启",debugDisabledValue:"关闭",debugSectionTitle:"调试会话信息",debugModeTitle:"调试模式已开启",debugModeDescription:"当前 URL 带有 debug query,所以这里会展示平时隐藏的会话元信息。",contextCompressingTitle:"上下文正在压缩",contextCompactedTitle:"上下文已经压缩",contextCompactedMessage:"",contextCompactedDetail:"",contextCompactedTokens:"",viewInitInfo:"连续点击标题 5 次切换调试模式",viewHistory:"历史",viewTimeline:"时序",hideHistoryTimeline:"隐藏当前会话 Timeline",viewTerminal:"终端",viewSettings:"配置",newSessionTitle:"新会话",gitBranchSwitcher:"切换分支",gitOperations:"Git 操作",gitWorktree:"Worktree",statusBarTitle:"会话状态",statusBarSessionSubtitle:"这里统一展示当前会话绑定的工作区和 Git 上下文。",statusBarDraftSubtitle:"发送第一条消息前,先把新会话的工作区准备好。",sessionWorkspace:"会话工作区",sessionWorkspaceManaged:"托管 worktree",sessionWorkspaceShared:"共享工作区",sessionWorkspaceExternal:"外部工作区",sessionWorkspaceDraftCreateWorktree:"创建工作树",sessionWorkspaceDraftStrategyLocal:"本地",sessionWorkspaceDraftStrategyManaged:"新工作树",sessionWorkspaceMenuCurrentWorktree:"当前工作树",sessionWorkspaceMenuWorktreeList:"工作树列表",sessionWorkspaceMenuLaunchInWorktree:"以工作树模式启动",sessionWorkspaceMenuTransferToLocal:"转移到本地",sessionWorkspaceMenuCreateWorktree:"创建工作树",sessionWorkspaceDraftCreateWorktreeEnabled:"新会话会自动拿到一个隔离的托管 worktree。",sessionWorkspaceDraftCreateWorktreeDisabled:"新会话会直接复用当前共享工作区。",sessionWorkspaceDraftCreateBranchLabel:"新分支:{{branch}}",sessionWorkspaceDraftGitUnavailable:"当前工作区不可用 Git。",sessionWorkspaceSearchWorktrees:"搜索工作树",sessionWorkspaceNoWorktrees:"暂无工作树",sessionCreationProgress:{title:"会话环境准备",worktreePreparing:"检查仓库状态",worktreeCreating:"创建托管 worktree",worktreeCreated:"托管 worktree 已创建",environmentResolving:"解析环境脚本",environmentScriptRunning:"正在执行环境脚本",environmentScriptSucceeded:"环境脚本执行完成",environmentScriptFailed:"环境脚本执行失败",environmentSkipped:"没有需要执行的环境脚本",workspaceReady:"会话工作区已就绪",workspaceFailed:"会话工作区准备失败",outputLabel:"{{script}} 输出",outputSummary:"{{lines}} 行 · {{size}}",outputFollow:"滚动到最新输出",outputExpand:"展开脚本输出",outputCollapse:"收起脚本输出",outputMaximize:"放大脚本输出",outputRestore:"恢复脚本输出高度"},sessionWorkspaceMode:"模式",sessionWorkspaceState:"状态",sessionWorkspaceBranch:"分支",sessionWorkspacePath:"路径",sessionWorkspaceCleanup:"清理策略",sessionWorkspaceCleanupDelete:"删除会话时一并删除",sessionWorkspaceCleanupRetain:"删除会话时保留",sessionWorkspaceBaseRef:"基线引用",sessionWorkspaceCurrentSession:"当前会话",sessionWorkspaceRepositoryWorktrees:"仓库 worktree",sessionWorkspaceEnvironment:"运行环境",sessionWorkspaceEnvironmentDefault:"默认环境",sessionWorkspaceEnvironmentProject:"项目",sessionWorkspaceEnvironmentLocal:"本地",sessionWorkspaceNoEnvironments:"暂无环境",sessionWorkspaceStateReady:"就绪",sessionWorkspaceStateProvisioning:"创建中",sessionWorkspaceStateDeleting:"删除中",sessionWorkspaceStateDeleted:"已删除",sessionWorkspaceStateBroken:"异常",sessionWorkspaceCreateWorktreeSuccess:"已为当前会话创建托管工作树。",sessionWorkspaceTransferToLocalSuccess:"当前工作树已转为本地保留。",sessionWorkspaceForceDeleteTitle:"删除有改动的工作区?",sessionWorkspaceForceDeleteDescription:"这个会话工作区里还有未提交的改动。是否仍然强制删除会话,并移除它绑定的 worktree?",gitDetachedHead:"DETACHED",gitSearchBranches:"搜索本地或远程分支",gitBranchViewMode:"分支展示模式",gitBranchViewTree:"树状",gitBranchViewFlat:"平铺",gitBranchesLocal:"本地分支",gitBranchesWorktrees:"其他 worktree",gitBranchesRemote:"远程分支",gitBranchCheckedOutInOtherWorktree:"已在 {{path}}",gitRemoteBranchCheckedOutInOtherWorktree:"本地分支已在 {{path}}",gitNoBranches:"没有匹配的分支",gitCreateBranch:"创建分支",gitCreateBranchWithName:"创建分支 {{branch}}",gitSwitchBranchSuccess:"已切换到 {{branch}}",gitCreateBranchSuccess:"已创建并切换到 {{branch}}",gitCommitShort:"提交",gitCommitAllChanges:"提交全部变更",gitCommitDialogTitle:"提交全部变更",gitCommitDescription:"会先暂存当前仓库的全部变更,再执行提交。",gitCommitPanelTitle:"提交更改",gitCommitPanelBranch:"分支",gitCommitPanelChanges:"更改",gitChangedFilesCount:"{{count}} 个文件",gitCommitIncludeUnstagedChanges:"包含未暂存的更改",gitCommitIncludeUnstagedChangesDescription:"带上未暂存和未跟踪文件。",gitCommitOnlyStagedChangesDescription:"只提交已暂存内容。",gitCommitSkipHooks:"跳过 Git hooks",gitCommitSkipHooksDescription:"跳过 pre-commit / commit-msg。",gitCommitAmend:"修订最近一次提交",gitCommitAmendDescription:"并入最近一次提交。当前:{{subject}}",gitCommitAmendUnavailableDescription:"当前仓库还没有可修订的提交。",gitCommitMessageLabel:"提交消息",gitCommitMessageOptional:"可选",gitCommitMessagePlaceholder:"输入提交说明",gitCommitMessagePlaceholderAmend:"留空则保留上一条提交消息",gitCommitMessageAmendHint:"留空会沿用最近一次提交消息。",gitCommitMessageRequired:"请输入提交说明",gitCommitSuccess:"提交成功",gitCommitNoChanges:"当前没有可提交的更改",gitCommitNoStagedChanges:"当前没有已暂存的更改",gitCommitNextStep:"后续步骤",gitCommitAndPush:"提交并推送",gitCommitAndPushSuccess:"提交并推送成功",gitCommitPushFailedAfterCommit:"提交已完成,但推送失败:{{error}}",gitAmendSuccess:"修订成功",gitAmendAndPushSuccess:"修订并推送成功",gitAmendUnavailable:"当前没有可修订的提交",gitForcePush:"强制推送",gitForcePushDescription:"用 force-with-lease 覆盖远端。",gitForcePushHint:"仅远端没有新提交时覆盖。",gitPushNeedsSyncOrForce:"当前分支落后上游,请先同步或开启强制推送。",gitPushShort:"推送",gitPush:"推送当前分支",gitPushPanelTitle:"推送更改",gitPushPanelUpstream:"上游",gitPushPanelUpstreamHint:"首次推送会自动设置上游。",gitForcePushSuccess:"强制推送成功",gitPushSuccess:"推送成功",gitSyncShort:"同步",gitSync:"同步当前分支",gitSyncSuccess:"同步成功",gitStatusDirty:"有未提交变更",gitStatusClean:"工作区干净",gitUpstreamStatus:"领先 {{ahead}} / 落后 {{behind}}",gitNoUpstream:"未设置上游",gitLocalBranch:"本地",gitRemoteBranch:"远程 · {{remote}}",deleteSessionTitle:"删除会话",deleteSessionDesc:"删除会话会永久移除全部消息与上下文,请确认后再继续。",timelineEmpty:"暂无事件记录",timelineTask:"子任务",timelineStatus:"状态",timelineTiming:"时序",timelineStart:"开始",timelineEventName:"事件名",timelineInput:"输入",timelineOutput:"输出",timelineEmptyValue:"—",timeline:{mainTasks:"主任务",mainStart:"对话启动",mainEnd:"对话结束",startTasks:"创建任务",askUserQuestion:"询问问题",edit:"编辑",resumeTask:"继续任务",userPrompt:"用户提示",merge:"合并",merged:"已合并",donePrefix:"完成",taskStart:"创建任务",taskEnd:"结束",viewGit:"Git 视图",viewGantt:"甘特图",eventListTitle:"事件列表",eventListSearch:"搜索事件",expandGraph:"展开对话图谱",collapseGraph:"收起对话图谱",running:"运行中",waitingInput:"等待输入",permissionRequest:"权限请求",failed:"失败",terminated:"已停止",ganttTitle:"任务时序",ganttMainSection:"主任务",ganttTasksSection:"任务",allTasksDone:"全部任务完成",userAnswer:"用户回答",receiveReply:"收到回复",destroyLabel:"销毁 {{name}}({{end}})",rangeLabel:"{{name}}({{start}} → {{end}})"},messageActions:{copy:"复制原文",copySuccess:"消息原文已复制",copyFailed:"复制消息原文失败",copyLink:"复制消息链接",copyLinkSuccess:"消息链接已复制",copyId:"复制消息 ID",copyIdSuccess:"消息 ID 已复制",copyJson:"复制消息结构 JSON",copyJsonSuccess:"消息结构 JSON 已复制",copyTimestamp:"复制时间戳",copyTimestampSuccess:"时间戳已复制",edit:"编辑消息",editInProgress:"已有一条消息正在编辑,请先发送或取消当前编辑",saveEdit:"保存并分叉",confirmInline:"确认",recall:"撤回到此处",fork:"从此处分叉",recallConfirmTitle:"确认撤回到此处",recallConfirmContent:"后续消息会被回退到这条消息之后,是否继续?",forkConfirmTitle:"确认从此处分叉",forkConfirmContent:"将基于这条消息创建一个新的会话分支,是否继续?",branchNavigation:"消息版本切换",previousBranch:"上一个消息版本",nextBranch:"下一个消息版本"},messageFooter:{tokens:"Token 数",copyTimestampSuccess:"ISO 时间已复制到剪贴板",copyTimestampTitle:"双击复制 ISO 时间并在控制台输出消息结构"},turnProcessedDuration:"已处理 {{duration}}",turnDurationUnderSecond:"1 秒内",turnDurationHours:"{{count}} 小时",turnDurationMinutes:"{{count}} 分",turnDurationSeconds:"{{count}} 秒",turnSummaryCount:"{{count}} 条中间消息",turnExpandAction:"展开",turnCollapseAction:"收起",hint:"按 Enter 发送,Shift + Enter 换行,输入 / @ # 触发补全",newSessionGuide:{loading:"正在加载...",searchPlaceholder:"搜索动作、提示词或目标",recentTitle:"最近使用",emptySearch:"没有匹配的动作",showMore:"展开剩余 {{count}} 项",showLess:"收起列表",favoriteAction:"收藏动作",unfavoriteAction:"取消收藏",fallbackPresetPrefix:"预设",fallbackActionPrefix:"动作",welcomeMessage:"欢迎回来。先写下要推进的事情,或从下面选择一个动作模板开始。",announcements:{title:"最新公告"},workspaces:{title:"已有 Workspace",empty:"暂未发现 workspace,请在 .oo.config.json 中配置 workspaces。"},moreCount:"还有 {{count}} 项",specs:{title:"已有流程",params:"{{count}} 个参数",empty:"暂未发现流程,放入 .oo/specs/*.md 即可展示。",create:"快速创建流程",createToast:"请在 .oo/specs 下创建流程文件,保存后刷新页面。"},entities:{title:"已有 Agent",empty:"暂未发现 Agent,加入实体定义文件后即可展示。",create:"快速创建 Agent",createToast:"请创建实体定义文件,保存后刷新页面。"}},attachments:{pastedImage:"粘贴图片"},todo:{noTasks:"未规划任务",progress:"任务进度: {{completed}}/{{total}} 已完成",pendingCount:"{{count}} 待办",inProgressCount:"{{count}} 进行中",completedCount:"{{count}} 已完成"},tools:{read:"读取文件",write:"写入文件",bash:"Bash",getTaskInfo:"任务详情",listTasks:"任务列表",listTasksEmpty:"暂无任务",startTasks:"启动任务",startTasksBackground:"后台任务",startTasksForeground:"前台任务",startTasksEmpty:"未提供任务",startTasksStarted:"已启动",startTasksFailed:"失败",startTasksLogs:"任务日志",task:"任务",taskCount:"{{count}} 个任务",taskExitCode:"退出码: {{code}}",writeSuccess:"写入成功",writeFailed:"写入失败",askUserQuestion:"询问问题",globTool:"Glob",grepTool:"Grep",editTool:"编辑文件",lsTool:"浏览目录",notebookEdit:"编辑 Notebook",webFetch:"抓取网页",webSearch:"网页搜索",booleanOn:"开启",booleanOff:"关闭",diffSplit:"双栏",diffInline:"单栏",skill:"技能",enterPlanMode:"进入计划模式",exitPlanMode:"退出计划模式",taskCreate:"创建任务",taskGet:"获取任务",taskUpdate:"更新任务",taskList:"列出任务",claudeTask:"Claude 任务",todo:"任务规划",call:"调用",reading:"正在读取文件...",offset:"offset",limit:"limit",timeout:"timeout",runInBackground:"后台执行",dangerouslyDisableSandbox:"禁用沙箱",viewCommand:"查看指令",noParameters:"无参数",groupSummaryCount:"{{name}} {{count}} 次",groupSummaryMoreCount:"+{{count}} 次",singleSelect:"单选",multiSelect:"多选",fields:{activeForm:"当前表述",addBlockedBy:"新增阻塞源",addBlocks:"新增阻塞项",allowedDomains:"允许域名",allowedPrompts:"允许的提示",answers:"回答",args:"参数",blockedDomains:"屏蔽域名",cellId:"单元 ID",cellType:"单元类型",command:"命令",content:"内容",description:"说明",disableSandbox:"禁用沙箱",details:"详情",editMode:"编辑模式",glob:"Glob",ignore:"忽略项",limit:"Limit",maxTurns:"最大轮次",metadata:"元数据",model:"模型",mode:"模式",newSource:"新内容",newString:"新字符串",oldString:"旧字符串",owner:"负责人",offset:"Offset",path:"路径",prompt:"提示词",pushToRemote:"推送到远端",questions:"问题",remoteSession:"远端会话",remoteSessionUrl:"远端会话地址",replaceAll:"全量替换",resume:"恢复",runInBackground:"后台执行",status:"状态",subagentType:"子代理类型",subject:"主题",timeout:"超时",todos:"待办事项"},unknown:"未知工具"},terminal:{addSession:"新建终端",closeNamedSession:"关闭 {{title}}",closeSession:"关闭终端 {{index}}",connectionError:"终端连接失败,请检查服务状态后重试",dragSession:"拖拽调整终端顺序",enterFullscreen:"全屏",exited:"已退出",exitFullscreen:"退出全屏",exitSummary:"终端已退出,exitCode={{code}},signal={{signal}}",hideManager:"隐藏终端列表",manageTerminals:"管理终端",paneTitle:"终端 {{index}}",renameSession:"重命名 {{title}}",selectShell:"选择终端类型",sessionCount:"{{count}} 个终端",resizePanel:"拖动调整终端高度",shellTooltip:"Shell:{{shell}}",shellTooltipExited:"Shell:{{shell}},已退出",showManager:"显示终端列表",shell:{bash:"Bash",default:"默认 Shell",sh:"sh",zsh:"Zsh"}},sessionSettings:"会话设置",enterTitle:"输入会话标题...",tags:"标签",addTagPlaceholder:"添加新标签并按回车...",noTags:"暂无标签",title:"标题",newSessionPlaceholder:"输入消息以创建新会话..."},lp={title:"插件市场",subtitle:"管理当前工作区已安装的插件,也可以通过对话快速创建新插件。",configure:"插件配置",refresh:"刷新",details:"详情",createPlugin:"创建插件",connectPlugin:"接入插件",marketplace:"插件市场",viewMode:"插件页模式",searchPlaceholder:"搜索插件",empty:"当前没有加载插件",installedLabel:"已安装插件",groupMode:"插件分组方式",groupByEnabled:"按启用状态分组",groupBySource:"按来源分组",groupEnabled:"已启用",groupDisabled:"已禁用",sourceBuiltIn:"内置",sourceGlobal:"全局",sourceLocal:"本地",sourceLocalDev:"本地开发",localDirectory:"本地目录",disabled:"已禁用",enablePlugin:"启用插件",disablePlugin:"停用插件",enablePluginInWorkspace:"在当前仓库启用",disablePluginInWorkspace:"在当前仓库停用",enablePluginGlobally:"全局启用",disablePluginGlobally:"全局停用",enabledHint:"当前仓库停用后不会加载这个插件的客户端、服务端入口和贡献项;插件仍会保留在列表中,方便重新启用。",pluginEnabled:"插件已启用",pluginDisabled:"插件已停用",pluginEnabledUpdateFailed:"更新插件启用状态失败",watch:"Watch",watchHint:"监听这个插件目录的文件变化,变化后重新加载 plugin runtime 并通知前端重载对应插件。",openDetails:"查看详情",enableWatch:"开启 Watch",disableWatch:"关闭 Watch",copyPluginScope:"复制插件标识",copyPluginRoot:"复制插件路径",pluginScopeCopied:"插件标识已复制",pluginRootCopied:"插件路径已复制",watchEnabled:"已开启插件 watch",watchDisabled:"已关闭插件 watch",watchUpdateFailed:"更新插件 watch 失败",diagnostics:"诊断",marketplaceFilter:"过滤",marketplaceConfig:"配置",marketplaceFilterStatus:"启用状态",marketplaceFilterSource:"配置来源",marketplaceFilterAll:"全部",marketplaceFilterStatus_all:"全部",marketplaceFilterStatus_enabled:"已启用",marketplaceFilterStatus_disabled:"已禁用",marketplaceSearchPlaceholder:"搜索插件",marketplacePlugins:"插件",marketplacePluginsEmpty:"没有匹配的插件",marketplacePluginEnabled:"插件已启用",marketplacePluginDisabled:"插件已禁用",marketplacePluginSaveFailed:"保存插件配置失败",marketplaceSources:"插件源",marketplaceSourcesEmpty:"还没有插件源",addMarketplaceSource:"添加插件源",removeMarketplaceSource:"移除插件源",marketplaceSourceName:"源名称",marketplaceSourceUrl:"Git 仓库 URL",marketplaceSourceRef:"分支 / Tag",marketplaceSourcePath:"子目录",marketplaceSourceUrlRequired:"请输入 Git 仓库 URL",marketplaceSourceSaved:"插件源已保存",marketplaceSourceSaveFailed:"保存插件源失败",marketplaceSourceRemoved:"插件源已移除",marketplaceSourceEnabled:"插件源已启用",marketplaceSourceDisabled:"插件源已禁用",createLandingTitle:"用对话创建插件",createLandingDescription:"选择一个常见插件类型填入输入框,或直接描述你想扩展的入口、交互和文件位置。发送后会进入会话,由 AI 按插件结构创建实现。",createLandingPlaceholder:"描述你想创建的插件",createLandingSendInstruction:`请根据下面的需求创建一个 OneWorks 插件。请优先使用 create-plugin / plugin-creator 相关能力,按当前仓库插件结构落地;如果信息不足,先追问缺失配置。
715
+
716
+ 需求:
717
+ {{request}}`,createLandingAttachmentInstruction:"请根据我附带的上下文创建一个 OneWorks 插件。请优先使用 create-plugin / plugin-creator 相关能力,按当前仓库插件结构落地;如果信息不足,先追问缺失配置。",starterChatActionTitle:"会话头部按钮",starterChatActionDescription:"给聊天页增加一个按钮、菜单项或快捷操作。",starterChatActionPrompt:"请帮我创建一个插件:在聊天页头部增加一个操作按钮,点击后执行一个自定义命令。请按当前仓库插件结构创建,并包含客户端入口和 manifest 配置。",starterLauncherTitle:"启动器搜索",starterLauncherDescription:"在启动面板里接入自定义搜索结果或命令。",starterLauncherPrompt:"请帮我创建一个插件:给启动器增加一个搜索 provider,根据输入返回自定义命令结果,并支持点击执行。",starterWorkbenchTitle:"工作区面板",starterWorkbenchDescription:"向工作区底部或右侧增加一个插件标签页。",starterWorkbenchPrompt:"请帮我创建一个插件:在工作区面板里注册一个新的标签页,用客户端视图展示自定义内容。",starterRouteTitle:"插件页面",starterRouteDescription:"新增独立插件路由和对应的客户端视图。",starterRoutePrompt:"请帮我创建一个插件:注册一个独立插件页面路由,并实现一个可渲染的客户端视图。"},cp={backToStore:"返回插件市场",notFound:"没有找到这个插件",overview:"插件概览",version:"版本",requestedVersion:"版本规则",package:"包",request:"请求来源",root:"根目录",clientEntry:"客户端入口",clientDevEntry:"开发入口",serverEntry:"服务端入口",contributions:"扩展点",enableContribution:"启用扩展点",disableContribution:"关闭扩展点",contributionDisabled:"扩展点已关闭",enableContributionItem:"启用这个点位",disableContributionItem:"关闭这个点位",contributionItemDisabled:"这个点位已关闭",noContributionDescription:"这个点位没有描述",searchContributions:"搜索点位名称、描述或字段",filter:"过滤",filterStatus:"状态",filterStatus_all:"全部",filterStatus_enabled:"已启用",filterStatus_disabled:"已关闭",noContributionMatches:"没有匹配的点位",noContributions:"这个插件暂未声明扩展点",config:"配置",configOptions:"插件选项",configNoSchema:"这个插件暂未声明可交互配置。",configSaving:"保存中",configSaved:"已保存",configSaveFailed:"保存失败",configInstance:"实例配置",configManifest:"插件清单",skills:"技能",mcp:"MCP",hooks:"钩子",assetsEmpty:"没有可展示的插件资产",assetsLoadFailed:"插件资产加载失败",readme:"README",readmeEmpty:"这个插件没有 README.md",readmeLoadFailed:"README.md 加载失败",diagnosticsEmpty:"没有诊断信息",runtimeSlot:"运行时 Slot",runtimeSlotLabel:"运行时 {{slot}}",runtimeApis:"运行时 API",runtimePluginApis:"运行时插件 API",runtimeExtensionPoints:"运行时扩展点",runtimeExtensionContributions:"运行时扩展贡献",runtimeRoutes:"运行时路由",runtimeViews:"运行时视图",runtimeLaunchers:"运行时启动器搜索",groups:{extensionPoints:"插件扩展点",extensionContributions:"插件扩展贡献",navItems:"左侧导航入口",navMoreMenu:"左侧更多菜单",navFooterBefore:"左侧菜单上方区域",chatHeaderActions:"会话头部按钮",chatHeaderMoreMenu:"会话头部更多菜单",chatInteractionPanelEmptyActions:"会话空态操作",routeHeaderActions:"路由头部按钮",routeMoreMenuItems:"路由更多菜单",routeSidebarContextMenu:"路由侧栏右键菜单",routeWindowBarActions:"折叠态窗口栏按钮",workbenchAddMenu:"工作区新增菜单",workbenchTabs:"工作区标签页",workspaceDrawerTabs:"工作区抽屉标签页",launcherSearchProviders:"启动器搜索",routes:"插件页面路由"},fields:{id:"标识",title:"标题",route:"路由",routeId:"路由标识",command:"命令",contributionSchema:"贡献 Schema",extensionPoint:"扩展点",mode:"模式",target:"API 路径",proxyTarget:"代理目标",href:"链接",active:"激活",activeLabel:"激活标签",activeTitle:"激活提示",danger:"危险操作",disabled:"禁用",selected:"选中",tab:"标签页",clientView:"客户端视图",viewId:"视图",placement:"位置",targetRoute:"目标入口",targetRoutes:"目标入口列表",icon:"图标",activeIcon:"激活图标",shortcut:"快捷键",inputSchema:"输入 Schema",outputSchema:"输出 Schema",headerSchema:"Header Schema"}},dp={title:"系统配置",readOnlyHint:"配置支持在线编辑,保存后会写入对应的 json/yaml 配置文件。",loadFailed:"配置加载失败",reload:"重新加载",editHint:"修改后会自动保存到当前来源配置文件,可用于全局、项目或本地覆盖。",maskHint:"敏感字段已脱敏展示,保留 ****** 可保持原值。",invalidJson:"JSON 格式错误,请修正后再保存。",saveSuccess:"配置已保存",saveFailed:"配置保存失败",copySuccess:"配置已复制",copyFailed:"复制失败",sources:{global:"全局",globalMissing:"全局(未创建)",project:"项目",user:"本地",projectMissing:"项目(未创建)",userMissing:"本地(未创建)"},navigation:{search:"搜索配置分类",noResults:"没有匹配的配置分类"},actions:{edit:"编辑",save:"保存",cancel:"取消",format:"格式化",copy:"复制",openModelServiceHomepage:"打开管理主页",configureModelServiceWithSession:"用会话修改模型服务",createModelServiceWithSession:"用会话新增模型服务",modelServiceSessionCreated:"已创建模型服务配置会话",modelServiceSessionCreateFailed:"创建模型服务配置会话失败"},conflict:{title:"配置正在被其他地方修改",description:"{{source}} / {{target}} 在当前页面之外已经发生更新,而你这里还有未保存的编辑。",instructions:"请先选择保留哪一份,再继续编辑,避免两边互相覆盖。",keepLocal:"保留当前编辑",useRemote:"采用外部修改"},editor:{addField:"添加字段",addItem:"添加项",remove:"移除",removeItemConfirmTitle:"确认删除这个条目?",collapse:"折叠",expand:"展开",addAdapter:"添加适配器",addPlugin:"添加插件",addMcpServer:"添加 MCP 服务",addModelService:"添加模型服务",addMarketplace:"添加源",addEnvVar:"添加环境变量",addHeader:"添加请求头",addEntry:"添加条目",newModelSelectorName:"新增模型元数据",moveUp:"上移",moveDown:"下移",shortcutPlaceholder:"按下快捷键",clearShortcut:"清除快捷键",newModelServiceName:"新增模型服务名称",newChannelName:"新增频道名称",newAdapterName:"新增适配器名称",newPluginName:"新增插件名称",newMcpServerName:"新增 MCP 服务名称",newSpeechToTextServiceName:"新增语音服务名称",newMarketplaceName:"新增源名称",newEnvVarName:"新增环境变量名称",newHeaderName:"新增请求头名称",fieldKey:"字段名",fieldValue:"字段值",complexPlaceholder:"复杂结构请使用 JSON 输入",secretPlaceholder:"请输入密钥",itemPlaceholder:"请输入内容",commandPlaceholder:"请输入命令",urlPlaceholder:"请输入地址",multilinePlaceholder:"请输入内容",defaultAdapterPlaceholder:"请选择适配器",defaultModelServicePlaceholder:"请选择模型服务",defaultModelPlaceholder:"请选择模型",defaultSpeechToTextServicePlaceholder:"请选择语音服务",worktreeEnvironmentPlaceholder:"请选择 worktree 环境",workspaceFileOpenerPlaceholder:"选择检测到的应用",titlePlaceholder:"请输入标题",descriptionPlaceholder:"请输入描述",channelType:"频道类型",unknownChannelType:"未知类型",complexValue:"复杂结构",tagsPlaceholder:"输入后回车",types:{string:"文本",number:"数字",boolean:"开关",object:"对象",array:"数组"},effort:{default:"默认",low:"低",medium:"中",high:"高",max:"最高"}},detail:{back:"返回",override:"覆盖到当前配置",inheritedReadonly:"这个值来自 extends 继承配置。先覆盖到当前配置,再进行编辑。",inheritedAppendOnly:"这个条目来自 extends 继承配置。当前集合按追加方式合并,不能直接在这里改这个继承条目;需要去源配置修改,或者整体覆盖当前集合。",partialOverride:"这个条目正在覆盖一份继承配置。未在本地设置的字段仍然来自继承层。",inheritedBadge:"继承",overrideBadge:"覆盖",localBadge:"本地"},accounts:{title:"账号",back:"返回账号列表",backToAdapter:"返回适配器",empty:"暂无可用账号",detailMissing:"暂时无法读取账号详情。",default:"默认",count:"{{count}} 个账号",readyCount:"{{count}} 个可用",defaultHint:"默认:{{account}}",quotaTitle:"额度",settingsTitle:"账号配置",settingsDescription:"这里编辑的是适配器配置里的账号字段;如果适配器支持,会覆盖 workspace 保存的登录快照。",adapterKeyHint:"适配器:{{adapter}}",searchPlaceholder:"搜索账号",searchEmpty:"没有匹配的账号",deleteConfirmTitle:"确定删除 {{account}} 的工作区登录快照吗?",rowActions:{setDefault:"设为默认账号",clearDefault:"取消默认账号",delete:"删除账号快照"},facts:{email:"邮箱",type:"类型",plan:"套餐"},status:{ready:"可用",missing:"缺失",error:"异常"},actions:{add:{label:"接入账号",description:"触发适配器的登录接入动作,并把凭据保存到当前工作区。"},refresh:{label:"刷新额度",description:"重新拉取这个账号的套餐和额度信息。"},remove:{label:"删除快照",description:"移除当前工作区里保存的这个账号快照。"}},actionSuccess:{add:"账号接入成功",refresh:"额度已刷新",remove:"账号快照已删除"},actionFailed:{add:"账号接入失败",refresh:"刷新额度失败",remove:"删除账号快照失败"},authFileDefaultLookup:"留空时默认读取 {{path}}。"},modelServices:{identity:{configured:"已选择官方服务商",hostMatch:"根据 API 地址识别",custom:"自定义兼容服务"},import:{created:"已创建模型服务 {{name}}"},actions:{more:"更多",openHomepage:"管理后台",openExternal:"在外部浏览器打开",createSecret:"创建 Secret",openApiKeys:"打开 API Key 页面",queryBalance:"查询余额",queryStatus:"服务状态",queryModels:"查询模型"},results:{actionFailed:"模型服务操作失败",amountUnknown:"未知",balance:"余额",cost:"费用",quota:"额度",unlimitedQuota:"无限额度",resetsAt:"{{time}} 重置",windowQuota:"{{duration}} 窗口 {{amount}}",parallelLimit:"并发 {{count}}",status:"状态",models:"{{count}} 个模型",modelsMore:"还有 {{count}} 个",modelsLoaded:"已查询 {{count}} 个模型",secretCreated:"Secret 已创建并复制到剪贴板"},plan:{title:"订阅套餐",labels:{kind:"套餐类型",keyKind:"密钥类型",liveQuota:"实时额度",allowedUse:"适用范围",endpoints:"专属 Base URL",defaultModels:"默认模型",window:"窗口",periodQuota:"周期额度",planLevel:"会员等级",resetTime:"重置时间",parallelLimit:"并发上限"},liveQuota:{failed:"查询失败",loading:"查询中…",notQueried:"未查询",windowSummary:"{{duration}}:{{amount}}"},quotaProgress:{percentValue:"{{value}}%",resetAt:"{{time}} 重置",weekly:"1 周额度",monthly:"月额度",window:"{{duration}}额度"},duration:{hours:"{{count}} 小时",generic:"{{count}} {{unit}}"},timeUnit:{minute:"分钟",hour:"小时",day:"天",week:"周",month:"月"},restrictions:{codingToolsOnly:"仅用于交互式编程工具;不要用于后端批量任务、自动化脚本或通用 API 工作负载。",dedicatedKey:"需要使用套餐专属 Key 和套餐专属 Base URL;不能与按量 API Key 或普通 API Base URL 混用。",kimiSeparateBaseUrl:"Kimi Code 使用独立 Base URL,不同于 Moonshot 开放平台 API。"},links:{purchase:"购买",key:"创建 Key",docs:"文档"},kind:{payg:"按量 API",product_subscription:"产品订阅",coding_plan:"Coding Plan",token_plan:"Token Plan",relay_coding_plan:"中转 Coding Plan"},keyKind:{payg_api_key:"按量 API Key",coding_plan_key:"Coding Plan Key",subscription_key:"Subscription Key"},quotaUnit:{request:"请求数",token:"Token",credit:"Credit",percent:"百分比"},quotaWindow:{"5h":"5 小时",weekly:"每周",monthly:"每月"},allowedUse:{coding_tools_only:"仅编程工具",general_api:"通用 API"}},management:{title:"本地档案",apiKeyTitle:"远端令牌",balance:"余额",groups:"分组",apiKeys:"远端 Key",tokens:"远端 Key",profiles:"档案",models:"模型",unknown:"-",refresh:"刷新平台数据",actionFailed:"平台管理操作失败",newTokenName:"新建配置档案名称",newApiKeyName:"新建令牌名称",createProfileTitle:"创建配置档案",createApiKeyTitle:"创建令牌",createApiKeySuccess:"令牌已创建",deleteApiKeySuccess:"令牌已删除",createApiKeyFirst:"创建令牌",dialogCreate:"对话创建",deleteApiKeyConfirm:"删除这个远端令牌?",deleteProfileDesc:"删除这个本地配置档案,不会删除远端令牌。",groupDesc:"令牌使用的 New API 分组。",name:"名称",noApiKeyForProfile:"请先创建远端令牌。",status:"状态",groupPlaceholder:"分组",quotaPlaceholder:"额度",unlimited:"不限额",loading:"正在加载平台数据",empty:"暂无配置档案。",createSuccess:"配置档案已创建",updateSuccess:"配置档案已更新",deleteSuccess:"配置档案已删除",applyGroup:"更新分组",importProfile:"配置档案",openProfile:"配置档案",selectApiKey:"选择远端令牌",bindSuccess:"远端令牌已绑定",boundProfile:"远端令牌:{{key}}",linkedProfile:"配置档案:{{profile}}",notLinked:"未配置档案",unboundProfile:"未选择远端令牌",deleteConfirm:"删除这个配置档案?",tokenGroup:"分组:{{group}}",tokenQuota:"额度:{{amount}}",tokenStatus:{enabled:"启用",disabled:"停用",expired:"过期",unknown:"未知"}},collectionTabs:{service:"服务信息",profiles:"本地档案",apiKeys:"令牌管理",advanced:"高级配置"},portal:{secretTitle:"{{provider}} Secret 管理",tabsLabel:"服务页面",closePanel:"关闭服务页面",resizePanel:"调整服务页面高度"},status:{operational:"正常",degraded:"性能下降",partial_outage:"部分故障",major_outage:"严重故障",maintenance:"维护中",unknown:"未知",unsupported:"暂不支持"}},fields:{general:{baseDir:{label:"工作目录",desc:"配置文件和缓存的默认目录"},disableGlobalConfig:{label:"关闭全局配置",desc:"开启后不再把全局 ~/.oneworks/.oo.config.json 合并到当前配置结果;全局来源仍可编辑。"},effort:{label:"默认思考强度",desc:"未指定时默认使用的 effort 等级"},defaultAdapter:{label:"默认适配器",desc:"未指定时使用的适配器"},defaultModelService:{label:"默认模型服务",desc:"未指定时使用的模型服务"},defaultModel:{label:"默认模型",desc:"未指定时使用的模型"},recommendedModels:{label:"建议模型",desc:"用于模型下拉推荐展示的列表",item:{service:{label:"模型服务",desc:"可选,指定模型所属的服务"},model:{label:"模型",desc:"推荐展示的模型标识"},title:{label:"标题",desc:"推荐项展示标题,可选"},description:{label:"描述",desc:"推荐项展示描述,可选"},placement:{label:"展示位置",desc:"推荐项出现的界面位置"}}},interfaceLanguage:{label:"界面交互语言",desc:"控制界面显示与交互语言"},modelLanguage:{label:"模型对话语言",desc:"控制模型输出语言"},messageLinks:{label:"消息链接",desc:"控制聊天消息里的链接如何渲染和打开",externalLinkTarget:{label:"网页链接打开方式",desc:"选择网页链接在新标签打开,还是在当前标签打开"},workspaceFileTarget:{label:"工作区文件打开方式",desc:"选择工作区文件链接打开到下方文件 tab、外部应用,还是使用浏览器默认链接行为"},workspaceFileOpener:{label:"首选应用",desc:"选择工作区文件链接使用的外部应用;自动探测会按本机可用工具优先选择。"},imageLinkMode:{label:"图片链接",desc:"将标准图片链接直接渲染为可点击预览的图片,或保持普通链接"},plainWorkspacePathMode:{label:"裸文件路径",desc:"将消息文本中的工作区相对文件路径识别为可点击链接"}},announcements:{label:"公告",desc:"新建会话时的提示信息"},permissions:{label:"权限",desc:"控制工具与资源的访问策略",allow:{label:"允许"},deny:{label:"禁止"},ask:{label:"询问"}},env:{label:"环境变量",desc:"覆盖或新增的运行环境变量"},notifications:{label:"通知",desc:"会话状态变更时触发通知",disabled:{label:"禁用通知",desc:"关闭后不发送通知"},volume:{label:"提示音量",desc:"0-1 或 0-100,0 为静音"},events:{label:"事件通知",desc:"分别配置每一种会话状态通知",item:{enabled:{label:"启用通知"},title:{label:"标题",desc:"留空使用默认标题"},description:{label:"消息内容",desc:"留空使用默认文案"},sound:{label:"提示音",desc:"音频文件路径,留空使用默认音效"}},completed:{label:"完成通知",desc:"会话完成时触发",disabled:{label:"禁用完成通知",desc:"关闭后不发送完成通知"},title:{label:"完成标题",desc:"留空使用默认标题"},description:{label:"完成文案",desc:"留空使用默认文案"},sound:{label:"完成音频",desc:"音频文件路径,留空使用默认音效"}},failed:{label:"失败通知",desc:"会话失败时触发",disabled:{label:"禁用失败通知",desc:"关闭后不发送失败通知"},title:{label:"失败标题",desc:"留空使用默认标题"},description:{label:"失败文案",desc:"留空使用默认文案"},sound:{label:"失败音频",desc:"音频文件路径,留空使用默认音效"}},terminated:{label:"终止通知",desc:"会话终止时触发",disabled:{label:"禁用终止通知",desc:"关闭后不发送终止通知"},title:{label:"终止标题",desc:"留空使用默认标题"},description:{label:"终止文案",desc:"留空使用默认文案"},sound:{label:"终止音频",desc:"音频文件路径,留空使用默认音效"}},waiting_input:{label:"等待输入通知",desc:"会话等待输入时触发",disabled:{label:"禁用等待输入通知",desc:"关闭后不发送等待输入通知"},title:{label:"等待输入标题",desc:"留空使用默认标题"},description:{label:"等待输入文案",desc:"留空使用默认文案"},sound:{label:"等待输入音频",desc:"音频文件路径,留空使用默认音效"}}}}},conversation:{style:{label:"对话风格",desc:"控制助手的对话风格"},createSessionWorktree:{label:"新建会话时创建工作树",desc:"开启后新会话会分配一个托管 worktree;关闭时默认复用当前工作区"},showSessionCardMessage:{label:"显示会话消息摘要",desc:"开启后在左侧会话卡片中展示最近消息摘要;默认关闭,只显示标题和状态"},worktreeEnvironment:{label:"默认 worktree 环境",desc:"新建、启动和销毁托管 worktree 时执行的环境脚本"},customInstructions:{label:"自定义指令",desc:"为对话提供额外的提示与约束"},startupPresets:{label:"启动预设",desc:"在新会话页展示一组可一键应用的启动环境预设"},builtinActions:{label:"内置开发动作",desc:"在新会话页展示一组可直接套用的开发动作模板"},starterItem:{title:{label:"标题",desc:"列表中展示的名称"},description:{label:"说明",desc:"列表中展示的补充描述"},icon:{label:"图标",desc:"Material Symbols 图标名称,例如 `rocket_launch`"},mode:{label:"启动模式",desc:"新会话默认切换到的目标模式"},target:{label:"目标资源",desc:"Workspace 使用 id,Agent / 实体 / 流程使用名称"},targetLabel:{label:"目标展示名",desc:"可选的列表展示名称;留空时使用目标资源值"},targetDescription:{label:"目标说明",desc:"可选的目标补充说明"},model:{label:"模型",desc:"模型值,支持 `service,model` 形式"},adapter:{label:"适配器",desc:"启动时切换到的适配器"},account:{label:"账号",desc:"启动时切换到的账号"},effort:{label:"推理强度",desc:"启动时应用的推理强度"},permissionMode:{label:"权限模式",desc:"启动时应用的权限模式"},worktreeCreate:{label:"使用工作树",desc:"是否默认给这个预设启用托管 worktree"},worktreeEnvironment:{label:"工作树环境",desc:"该预设使用的 worktree 环境 id"},branchName:{label:"分支名",desc:"启动时预填的目标分支名"},branchKind:{label:"分支来源",desc:"分支来自本地还是远端"},branchMode:{label:"分支动作",desc:"切换已有分支还是创建新分支"},prompt:{label:"预置提示词",desc:"点击后预填到 sender 的提示词"},files:{label:"关联文件",desc:"点击后附带到 sender 的文件路径列表"},rules:{label:"关联规则",desc:"规则文件路径或规则标识;会尽量转换为上下文附件"},skills:{label:"关联技能",desc:"技能文件路径或技能标识;会尽量转换为上下文附件"},worktreeEnabledBadge:"工作树"}},models:{items:{label:"模型元数据明细",desc:"按 `service` 或 `service,model` 配置模型元信息;展示元数据如 alias/title/description 仅在 `model` 或 `service,model` 精确匹配时生效"}},modelServices:{items:{label:"服务明细",desc:"按服务名称平铺配置"},item:{kind:{label:"服务类型",desc:"模型服务可直接调用;服务集合用于保存平台管理凭证,并在下级 services 中配置具体模型服务。"},provider:{label:"官方服务商",desc:"选择后会使用内置 API 地址、模型目录、图标和管理入口;自定义服务可留空。"},title:{label:"展示标题",desc:"用于默认模型服务下拉展示"},description:{label:"展示描述",desc:"用于默认模型服务下拉展示"},icon:{label:"服务图标",desc:"可填 builtin:id、material:name 或图片 URL;留空时使用服务商图标。"},homepageUrl:{label:"管理主页",desc:"可覆盖服务商默认后台地址,用于充值、购买、API Key 管理。"},apiBaseUrl:{label:"API 地址",desc:"模型服务 API 地址覆盖;Coding Plan 和 Token Plan 必须使用套餐专属 Base URL。"},apiKey:{label:"API 密钥",desc:"模型服务的访问密钥。Coding Plan 或 Token Plan 服务商应填写套餐专属 Key。"},models:{label:"模型列表",desc:"该服务支持的模型名称;留空时使用服务商默认模型目录。"},profiles:{label:"配置档案",desc:"服务集合下的具体模型调用配置;运行时会以 collection/profile 的形式展开。"},billing:{label:"计费元数据",desc:"可选覆盖计费类型、Key 类型、额度单位、额度窗口和允许用途。"},codingPlan:{label:"Coding Plan 元数据",desc:"可选覆盖套餐链接、协议 Base URL、地区、默认模型和限制提示。"},management:{enabled:{label:"启用管理能力",desc:"开启后可使用查询模型、余额、状态和 Secret 辅助入口。"},endpointKind:{label:"管理接口类型",desc:"平台管理 API 类型;New API 平台填写 newapi。"},baseUrl:{label:"管理 API 地址",desc:"平台管理 API 根地址;New API 平台不要带 /v1。"},apiKey:{label:"管理 API Key",desc:"部分平台需要独立的管理 API Key;留空时默认复用模型 API Key。"},headers:{label:"管理请求头",desc:"调用平台管理 API 时附加的请求头,例如 New-Api-User。"}},providerOptions:{label:"服务商扩展配置",desc:"按服务商保留的轻量 JSON 配置,例如区域、endpoint 类型或特殊管理 API 参数。"},timeoutMs:{label:"超时(毫秒)",desc:"模型服务超时。Codex 会映射为流空闲超时,Claude Code Router 会映射为全局 API 超时。"},maxOutputTokens:{label:"最大输出 Token",desc:"该服务的默认输出上限。Codex 会映射为 maxOutputTokens,Claude Code Router 会映射为 maxtoken transformer。"},extra:{label:"扩展配置",desc:"模型服务扩展参数"}}},adapters:{defaultModel:{label:"默认模型",desc:"这个适配器优先使用的模型。"},includeModels:{label:"允许模型",desc:"限制这个适配器仅可使用的模型列表。"},excludeModels:{label:"禁用模型",desc:"禁止这个适配器使用的模型列表。"},defaultAccount:{label:"默认账号",desc:"这个适配器默认选中的账号 key。"},items:{label:"适配器明细",desc:"按适配器名称平铺配置,公共字段包括 `defaultModel`、`includeModels` 和 `excludeModels`"}},adapterAccount:{title:{label:"显示名称",desc:"这个账号在界面里的展示标题。"},description:{label:"描述",desc:"补充说明这个账号的用途或来源。"},authFile:{label:"认证文件",desc:"显式指定这个账号对应的 auth.json 路径。"}},plugins:{items:{label:"插件配置",desc:"按插件名称平铺配置"},enabled:{label:"启用插件",desc:"控制插件启用状态"},marketplaces:{label:"插件市场",desc:"适配器原生插件 marketplace 配置"}},mcp:{mcpServers:{label:"MCP 服务器",desc:"配置 MCP 服务器的连接信息"},defaultIncludeMcpServers:{label:"默认启用列表",desc:"默认启用的 MCP 服务器"},defaultExcludeMcpServers:{label:"默认禁用列表",desc:"默认禁用的 MCP 服务器"},noDefaultOneworksMcpServer:{label:"禁用内置 MCP",desc:"不启用内置 OneWorks MCP 服务器"},items:{label:"服务器明细",desc:"按服务器名称平铺配置"}},mcpServer:{enabled:{label:"是否启用",desc:"控制当前 MCP 服务器的启用状态"},type:{label:"连接类型",desc:"选择 MCP 服务器的连接方式"},command:{label:"命令",desc:"本地命令启动方式"},args:{label:"命令参数",desc:"启动命令的参数列表"},url:{label:"服务地址",desc:"远程 MCP 服务地址"},headers:{label:"请求头",desc:"连接时附带的请求头"},env:{label:"环境变量",desc:"为 MCP 服务器注入环境变量"}},voice:{speechToText:{label:"语音转文字",desc:"配置 sender 录音后使用的转写服务"},defaultServiceId:{label:"默认语音服务",desc:"未手动选择时,sender 使用的语音转文字服务"},showInSender:{label:"显示语音输入",desc:"关闭后隐藏 sender 的语音按钮;可通过右键 sender 或配置页重新开启"},services:{label:"语音服务",desc:"按服务 id 配置 OpenAI 兼容或自定义 HTTP 语音转文字接口"},serviceItem:{label:{label:"显示名称",desc:"在配置页和 sender 菜单里展示的名称"},description:{label:"说明",desc:"补充说明这个服务的用途、账号或限制"},provider:{label:"Provider",desc:"选择内置 OpenAI 兼容转写,或自定义 HTTP 映射"},enabled:{label:"启用服务",desc:"关闭后 sender 不会使用这个服务"},language:{label:"默认语言",desc:"例如 auto、zh、en;具体取值由服务商决定"},prompt:{label:"识别提示词",desc:"传给服务商的热词、领域词或上下文提示"},timeoutMs:{label:"超时(毫秒)",desc:"转写请求的最大等待时间"},maxDurationSeconds:{label:"最长录音秒数",desc:"sender 侧允许录制的最长时长"},maxBytes:{label:"最大音频字节",desc:"服务端接受的最大音频 payload 大小"},baseUrl:{label:"OpenAI API 地址",desc:"OpenAI 或兼容接口的 base URL"},apiKeyEnv:{label:"API Key 环境变量",desc:"推荐使用环境变量保存密钥,例如 OPENAI_API_KEY"},apiKey:{label:"API Key",desc:"仅建议写在 global 或 user 配置;project 配置应使用环境变量引用"},model:{label:"模型",desc:"语音转文字模型 id"},responseFormat:{label:"响应格式",desc:"OpenAI 兼容接口的 response_format"},requestUrl:{label:"请求地址",desc:"自定义 HTTP 语音转文字接口地址"},requestMethod:{label:"请求方法",desc:"自定义 HTTP 请求方法"},requestHeaders:{label:"请求头",desc:"支持 ${env:NAME} 引用环境变量"},bodyKind:{label:"请求体类型",desc:"选择 JSON、multipart 文件上传或原始二进制"},fileField:{label:"文件字段名",desc:"multipart 请求里承载音频文件的字段名"},audioBase64Field:{label:"Base64 字段名",desc:"JSON 请求里承载 base64 音频的字段名"},bodyFields:{label:"请求字段",desc:"额外请求字段,支持 {{language}}、{{prompt}}、{{mimeType}}、{{filename}}"},textPath:{label:"文本路径",desc:"响应 JSON 中转写文本的点路径,例如 data.text"},languagePath:{label:"语言路径",desc:"响应 JSON 中语言字段的点路径"},segmentsPath:{label:"分段路径",desc:"响应 JSON 中分段数组的点路径"},wordsPath:{label:"词级路径",desc:"响应 JSON 中词级时间戳数组的点路径"}}},shortcuts:{newSession:{label:"新建会话",desc:"创建新会话的全局快捷键"},openConfig:{label:"打开配置",desc:"打开配置页的快捷键"},sendMessage:{label:"发送消息",desc:"发送消息的快捷键"},clearInput:{label:"清空输入框",desc:"清空输入框内容的快捷键"},switchModel:{label:"切换模型",desc:"激活模型选择框并支持键盘切换"},switchEffort:{label:"切换推理强度",desc:"激活推理强度选择框并支持键盘切换"},switchPermissionMode:{label:"切换权限等级",desc:"打开权限模式菜单并支持键盘切换"}},experiments:{agentRoom:{label:"Agent Room 多 agent 群聊",desc:"启用实验性的 Agent Room 多 agent 群聊模式。默认关闭。"},automation:{label:"自动化任务",desc:"启用实验性的自动化任务界面入口。默认关闭。"},benchmark:{label:"评测",desc:"启用实验性的评测界面入口。默认关闭。"},sessionTimeline:{label:"会话时序视图",desc:"在会话头部展示尚未完成的时序视图入口。默认关闭。"}}},options:{language:{zh:"中文",en:"English"},modelProviders:{custom:"自定义 OpenAI 兼容服务",openai:"OpenAI",anthropic:"Anthropic","moonshot-cn":"Moonshot / Kimi 中国站","moonshot-intl":"Moonshot / Kimi 国际站","kimi-code":"Kimi Code",deepseek:"DeepSeek",minimax:"MiniMax","minimax-token-plan":"MiniMax Token Plan",qwen:"阿里千问 / 百炼","qwen-coding-plan":"阿里云 Coding Plan",zhipu:"智谱 GLM","zhipu-coding-plan":"智谱 GLM Coding Plan","tencent-tokenhub-coding-plan":"腾讯云 TokenHub Coding Plan","volcengine-ark-coding-plan":"火山方舟 Coding Plan","baidu-qianfan-coding-plan":"百度千帆 Coding Plan","azure-openai":"Azure OpenAI","google-gemini":"Google Gemini","aws-bedrock":"AWS Bedrock",openrouter:"OpenRouter","vercel-ai-gateway":"Vercel AI Gateway",requesty:"Requesty",portkey:"Portkey",litellm:"LiteLLM",micu:"Micu",apiyi:"APIYI",yunwu:"云雾"},modelServiceKind:{service:"模型服务",collection:"服务集合"},modelServiceManagementEndpointKind:{none:"不使用管理接口",newapi:"New API"},modelProviderDescriptions:{openai:"OpenAI 官方 API 平台,用于 GPT 模型和多模态服务。",anthropic:"Anthropic 官方 Claude 模型控制台服务。","moonshot-cn":"Moonshot / Kimi 中国站官方 OpenAI 兼容 API 服务。","moonshot-intl":"Moonshot / Kimi 国际站官方 OpenAI 兼容 API 服务。","kimi-code":"Kimi Code 会员权益里的编程智能体接入端点。",deepseek:"DeepSeek 官方 OpenAI 兼容 API 服务。",minimax:"MiniMax 官方 API 平台,支持文本、多模态和智能体服务。","minimax-token-plan":"MiniMax Token Plan 订阅端点,用于 MiniMax M 系列编程模型。",qwen:"阿里云百炼 / DashScope 千问模型 API 服务。","qwen-coding-plan":"阿里云百炼 Coding Plan 编程智能体接入端点。",zhipu:"智谱 BigModel 官方 GLM 模型 API 服务。","zhipu-coding-plan":"智谱 GLM Coding Plan 支持工具专用端点。","tencent-tokenhub-coding-plan":"腾讯云 TokenHub Coding Plan 编程智能体接入端点。","volcengine-ark-coding-plan":"火山方舟 Coding Plan 编程智能体接入端点。","baidu-qianfan-coding-plan":"百度千帆 Coding Plan 编程智能体接入端点。","azure-openai":"Azure AI Foundry 托管的 OpenAI 模型部署服务。","google-gemini":"Google AI Studio 和 Gemini API 服务。","aws-bedrock":"AWS Bedrock 托管基础模型服务。",openrouter:"OpenRouter 模型路由平台,提供 OpenAI 兼容 API。","vercel-ai-gateway":"Vercel AI Gateway,用于跨模型服务商路由请求。",requesty:"Requesty AI Gateway,用于 OpenAI 兼容模型路由。",portkey:"Portkey AI Gateway,用于管理和路由模型请求。",litellm:"LiteLLM 网关和代理,用于统一模型 API。",micu:"Micu 中转平台,提供 OpenAI 兼容模型接入。",apiyi:"APIYI 中转平台,提供 OpenAI 兼容模型接入。",yunwu:"云雾中转平台,提供 OpenAI 兼容模型接入。"},conversation:{friendly:"友好",programmatic:"程序化"},conversationStarterMode:{default:"默认",workspace:"Workspace",agent:"Agent",entity:"实体",spec:"流程"},permissionMode:{default:"默认",acceptEdits:"接受编辑",plan:"计划",dontAsk:"不询问",bypassPermissions:"跳过权限"},branchKind:{local:"本地分支",remote:"远端分支"},branchMode:{checkout:"切换",create:"创建"},mcp:{command:"命令",sse:"SSE",http:"HTTP"},messageLinks:{externalLinkTarget:{newTab:"打开新标签",currentTab:"当前标签打开"},workspaceFileTarget:{fileTab:"下方文件 tab",externalIde:"外部应用",defaultLink:"浏览器默认"},workspaceFileOpener:{auto:"自动探测",autoWithDefault:"自动探测({{name}})",vscode:"VS Code",cursor:"Cursor",windsurf:"Windsurf",zed:"Zed",intellij:"IntelliJ IDEA",webstorm:"WebStorm",pycharm:"PyCharm",goland:"GoLand",textedit:"文本编辑"},imageLinkMode:{inlinePreview:"直接预览",link:"普通链接"},plainWorkspacePathMode:{link:"识别为链接",text:"保持纯文本"}},recommendedModels:{modelSelector:"模型元数据"},voice:{provider:{openaiTranscriptions:"OpenAI 兼容转写",customHttp:"自定义 HTTP"},bodyKind:{json:"JSON Base64",multipart:"Multipart 文件",binary:"原始二进制"},responseFormat:{json:"JSON",verboseJson:"Verbose JSON",text:"纯文本",srt:"SRT 字幕",vtt:"VTT 字幕"}}},voice:{aiAssist:{label:"用 AI 创建配置",prompt:`我想为 One Works 创建一个语音转文字服务配置。
718
+
719
+ 请先询问我服务商、接口地址、鉴权方式、模型名、语言、音频格式限制和返回 JSON 结构。
720
+ 然后基于 One Works 的 voice.speechToText 配置格式生成可写入配置文件的 JSON。
721
+
722
+ 约束:
723
+ - 不要把 API key 明文写进 project 配置,优先使用环境变量引用。
724
+ - 服务 id 使用小写 kebab-case。
725
+ - 如果是 OpenAI 兼容接口,provider 使用 openai-transcriptions。
726
+ - 如果是自定义 HTTP 接口,provider 使用 custom-http,并补齐 request/response 映射。
727
+ - 最后给出测试步骤和失败排查建议。`}},sectionGroups:{base:"基础配置",profile:"服务信息",access:"接入配置",providerAccess:"接入覆盖",customization:"展示与链接",models:"模型配置",profiles:"配置档案",management:"管理配置",plan:"套餐信息",advanced:"进阶配置",advancedModels:"高阶模型配置",advancedRuntime:"运行时选项",advancedSandbox:"沙箱配置",advancedClient:"客户端标识",advancedOverrides:"原始覆盖",advancedMisc:"其他配置",permissions:"工具权限",env:"环境变量",links:"消息链接",items:"明细配置",plugins:"插件配置"},groups:{config:"配置",app:"应用"},environments:{newPlaceholder:"例如 env-node-20",newLocalPlaceholder:"例如 env-node-20",create:"新建",created:"环境已创建",empty:"暂无 worktree 环境",searchEmpty:"没有匹配的 worktree 环境",searchPlaceholder:"搜索环境",exists:"环境名称已存在",createFailed:"创建环境失败",saveFailed:"保存环境失败",edit:"编辑",name:"名称",createTitle:"创建环境",createDescription:"",projectListTitle:"项目环境",projectListDescription:"",localListTitle:"本地环境",localListDescription:"",detailTitle:"环境详细信息",baseScript:"脚本",availableEnvVars:"可用环境变量",platformOverrides:"平台覆盖",platformOverridesDescription:"覆盖特定操作系统的默认脚本。",platformScriptDescription:"只在 {{platform}} 下运行。",sources:{project:"项目",user:"本地"},platforms:{macos:"macOS",linux:"Linux",windows:"Windows"},operationSections:{create:{title:"创建脚本",description:"此脚本会在 worktree 创建完成后运行。"},start:{title:"启动脚本",description:"此脚本会在适配器进程启动前运行。"},destroy:{title:"清理脚本",description:"此脚本会在删除托管 worktree 前运行。"}},baseScriptDescriptions:{create:"在新 worktree 中运行。",start:"在会话工作区中运行。",destroy:"在将要删除的 worktree 中运行。"},operations:{create:"创建",start:"启动",destroy:"销毁"},scripts:{create:"create.sh","create.macos":"create.macos.sh","create.linux":"create.linux.sh","create.windows":"create.windows.ps1",start:"start.sh","start.macos":"start.macos.sh","start.linux":"start.linux.sh","start.windows":"start.windows.ps1",destroy:"destroy.sh","destroy.macos":"destroy.macos.sh","destroy.linux":"destroy.linux.sh","destroy.windows":"destroy.windows.ps1"}},about:{software:"软件信息",version:"版本",clientVersion:"Client 版本",serverVersion:"Server 版本",commitHash:"构建 Commit",lastRelease:"最后发布时间",checkUpdate:"检查更新",docs:"帮助文档",contact:"联系我们",feedback:"问题反馈",buildSource:{title:"应用来源",gitHash:"Git Hash",branch:"分支",buildTime:"构建时间"},unknown:"未知"},sections:{general:"通用",conversation:"会话",models:"模型元数据",modelServices:"模型服务",channels:"频道",adapters:"适配器",plugins:"插件",voice:"语音",environments:"环境",mcp:"MCP",shortcuts:"快捷键",desktop:"桌面端",externalSessions:"外部会话",browserHistory:"历史记录",browserDownloads:"下载内容",savedPasswords:"已保存的密码",appearance:"外观",experiments:"实验功能",about:"关于"},desktopSettings:{unavailable:"当前环境没有提供桌面端设置更新接口",saving:"正在保存...",saveFailed:"保存桌面端设置失败",openKeyboardSettingsFailed:"打开系统设置失败",appIcon:{label:"应用 icon",desc:"选择桌面应用 icon 主题,明暗外观跟随主题模式",theme:"主题",appearance:"外观",background:"默认背景",backgroundDesc:"渲染图标默认底色",backgroundStyle:{options:{transparent:{label:"透明",desc:"仅显示图标本体,不渲染底色"},solid:{label:"纯色",desc:"使用应用 icon 主题色渲染纯色底色"},textured:{label:"纹理",desc:"使用应用 icon 主题的质感背景"}}},previewAlt:"OneWorks 应用 icon 预览",saveFailed:"保存应用 icon 设置失败",syncDockIcon:{label:"同步 Dock 图标",desc:"修改全局应用 icon 设置时同步更新 Dock 中的应用图标"},syncTaskbarIcon:{label:"同步任务栏图标",desc:"修改全局应用 icon 设置时同步更新任务栏中的应用图标"},syncAppIcon:{label:"同步系统应用图标",desc:"修改全局应用 icon 设置时同步更新系统中的应用图标"},themeOptions:{industrial:"工业",metal:"金属",matrix:"矩阵"}},launcherShortcut:{label:"启动面板快捷键",desc:"打开或聚焦桌面启动面板。设置为空会停用全局快捷键。",placeholder:"按下新的快捷键",invalid:"快捷键至少需要包含 Command、Control 或 Option/Alt",registerFailed:"当前快捷键没有注册成功:{{message}}",registered:"快捷键已启用",openKeyboardSettings:"打开系统设置",retry:"重新检测",useFallback:"改用 Option+Space"},updates:{label:"应用更新",desc:"正式桌面版会自动检测更新;这些设置保存到当前项目的 .oo.config.json。",autoUpdate:"自动检查并下载更新",check:"检查更新",checking:"正在检查...",update:"立即更新",restart:"重启更新",checkFailed:"检查更新失败",channel:{options:{stable:"稳定版",rc:"RC",beta:"Beta",alpha:"Alpha"}},status:{available:"发现 OneWorks {{version}}。",checking:"正在检查是否有新版本。",downloaded:"OneWorks {{version}} 已下载,重启后安装;直接退出应用时也会自动安装。",downloading:"正在下载更新:{{progress}}",error:"上次检查失败:{{message}}",idle:"当前版本 {{version}}。",autoUpdateOff:"当前版本 {{version}}。自动检查和下载已关闭。",disabled:"本次启动已关闭更新检查。",unavailable:"更新检查仅在带更新配置的正式安装包中可用。"}}},appSettings:{projectThemeColor:{label:"界面主题色",desc:"选择当前配置层级的界面主色",previewAlt:"界面主题图标预览",saveFailed:"保存主题设置失败",backgroundStyle:{label:"背景",options:{transparent:{label:"透明",desc:"仅显示图标本体,不渲染底色"},solid:{label:"纯色",desc:"使用项目主题色渲染纯色底色"},textured:{label:"纹理",desc:"使用图标主题的质感背景"}}},syncDockIcon:{label:"同步 Dock 图标",desc:"切换项目主题色时同步修改 Dock 中的应用图标"},syncTaskbarIcon:{label:"同步任务栏图标",desc:"切换项目主题色时同步修改任务栏中的应用图标"},syncAppIcon:{label:"同步系统应用图标",desc:"切换项目主题色时同步修改系统中的应用图标"}},themeMode:{label:"主题模式",desc:"切换浅色、深色或跟随系统的界面主题"},senderHeaderDisplay:{label:"输入区顶栏默认展示",desc:"链接未显式指定时,默认展开或折叠输入区顶栏",expanded:"默认展开",collapsed:"默认折叠"},sessionListSearchThreshold:{label:"会话列表搜索展示阈值",desc:"只有会话数量超过该值时才展示搜索和筛选区域,0 表示始终展示"},interactionPanelPinnedTabLimit:{label:"下方面板固定标签上限",desc:"控制下方面板左侧最多显示多少个固定标签,默认 4 个"},announcements:{label:"显示公告",desc:"新建会话时展示公告信息"},recommendedActions:{label:"显示推荐操作",desc:"新建会话时展示推荐操作列表"}}},aP={common:Vm,errorState:zm,browserDataSync:qm,browserActivity:Gm,navRail:Km,nativeHistoryImport:Ym,moduleUpdates:Xm,interactionStructure:Jm,desktopStartupOverlay:Qm,workspaceConnection:Zm,launcher:ep,auth:tp,serverConnection:np,automation:op,benchmark:rp,knowledge:ap,agentRoom:ip,chat:sp,pluginStore:lp,pluginDetail:cp,config:dp},iP=Object.freeze(Object.defineProperty({__proto__:null,agentRoom:ip,auth:tp,automation:op,benchmark:rp,browserActivity:Gm,browserDataSync:qm,chat:sp,common:Vm,config:dp,default:aP,desktopStartupOverlay:Qm,errorState:zm,interactionStructure:Jm,knowledge:ap,launcher:ep,moduleUpdates:Xm,nativeHistoryImport:Ym,navRail:Km,pluginDetail:cp,pluginStore:lp,serverConnection:np,workspaceConnection:Zm},Symbol.toStringTag,{value:"Module"})),up=e=>{var t;return((t=e.match(/\/([^/]+)\.json$/))==null?void 0:t[1])??e},sP=e=>Object.fromEntries(Object.entries(e).map(([t,n])=>[up(t),{translation:n.default}])),mp=Object.assign({"./resources/locales/en.json":rP,"./resources/locales/zh.json":iP}),lP=Object.keys(mp).sort(),Cs="oneworks.interfaceLanguageOverride",Or=lP.map(up),pp=new Map(Or.map(e=>[e.toLowerCase(),e])),Mi=new Map;for(const e of Or){const t=e.toLowerCase().split("-")[0];t!=null&&!Mi.has(t)&&Mi.set(t,e)}const Fr=pp.get("zh")??Or[0]??"zh",cP={en:"English",zh:"简体中文"},dP={en:"EN",zh:"中"},ks=e=>{const t=e==null?void 0:e.trim().replaceAll("_","-").toLowerCase();if(!(t==null||t===""))return t},At=e=>{const t=ks(e);if(t!=null)return pp.get(t)??Mi.get(t.split("-")[0]??"")??void 0},uP=e=>{const t=ks(e)??e,n=cP[t];if(n!=null)return n;try{return new Intl.DisplayNames([e],{type:"language"}).of(e)??e}catch{return e}},mP=e=>{const t=ks(e)??e,n=dP[t];return n??e.split("-").map(o=>o.slice(0,2).toUpperCase()).join("-")},Tc=Or.map(e=>{const t=uP(e);return{label:t,searchKeywords:[e,t],shortLabel:mP(e),value:e}}),DT=e=>{const t=At(e);return Tc.find(n=>n.value===t)??Tc[0]},fp=()=>{var e,t;for(const n of((e=globalThis.navigator)==null?void 0:e.languages)??[]){const o=At(n);if(o!=null)return o}return At((t=globalThis.navigator)==null?void 0:t.language)},pP=e=>{var t;try{return(t=globalThis.localStorage)==null?void 0:t.getItem(e)}catch{return}},Oi=e=>{var t;try{(t=globalThis.localStorage)==null||t.removeItem(e)}catch{}},fP=(e,t)=>{var n;try{(n=globalThis.localStorage)==null||n.setItem(e,t)}catch{}},gP=()=>{var t,n;const e=At(pP(Cs));return e??(Oi("i18nextLng"),At((n=(t=globalThis.window)==null?void 0:t.oneworksDesktop)==null?void 0:n.systemLocale)??fp()??Fr)},MT=()=>{var e,t;return At((t=(e=globalThis.window)==null?void 0:e.oneworksDesktop)==null?void 0:t.systemLocale)??fp()??Fr},hP=()=>{Oi(Cs),Oi("i18nextLng")},OT=(e,t={})=>{const n=At(e)??Fr;return t.persistLocalOverride===!0?fP(Cs,n):hP(),Ac.changeLanguage(n)};Ac.use(Dp).init({lng:gP(),resources:sP(mp),fallbackLng:Fr,interpolation:{escapeValue:!1},react:{bindI18nStore:"added"}});const vP="One Works Web";document.title=vP;const bP=Ep(document.getElementById("root"));let Fi=tm();document.title=vk(document.title);const yP=async()=>{var n,o;const e=await((o=(n=window.oneworksDesktop)==null?void 0:n.getWorkspaceConnection)==null?void 0:o.call(n).catch(r=>{console.warn("[desktop] failed to load workspace connection",r)})),t=Pe(e==null?void 0:e.serverBaseUrl);t!=null&&gs({__ONEWORKS_PROJECT_CLIENT_MODE__:"desktop",__ONEWORKS_PROJECT_SERVER_BASE_URL__:t,...(e==null?void 0:e.workspaceFolder)==null?{}:{__ONEWORKS_PROJECT_WORKSPACE_FOLDER__:e.workspaceFolder}})},SP=()=>{const e=Ak(window.location.pathname);e!=null&&gs({__ONEWORKS_PROJECT_CLIENT_BASE__:Rk(e),__ONEWORKS_PROJECT_SERVER_ROLE__:"workspace",__ONEWORKS_PROJECT_WORKSPACE_ID__:e})};function wP(){const{i18n:e}=un(),t=e.resolvedLanguage??e.language,n=At(t)??"zh",o=u.useMemo(()=>n.startsWith("en")?X0:mk,[n]);return u.useEffect(()=>{document.documentElement.lang=n==="zh"?"zh-CN":n},[n]),L.jsx(Dt,{locale:o,theme:{token:{colorPrimary:"#000000"}},children:L.jsx(us,{children:L.jsx(Mp,{value:{fetcher:async r=>Ct(r)},children:L.jsx(Rp,{basename:Fi,children:L.jsx(Zk,{children:L.jsx(nP,{})})})})})})}const CP=()=>{bP.render(L.jsx(I.StrictMode,{children:L.jsx(wP,{})}))},kP=async()=>{SP(),await yP(),ax(),Fi=tm(),nx({clientBase:Fi}),CP()};kP();export{Rt as $,Fo as A,fn as B,Dt as C,AP as D,Dd as E,VP as F,bu as G,zP as H,Md as I,UP as J,WP as K,Do as L,cc as M,Zw as N,$t as O,Jc as P,Qo as Q,Yn as R,ln as S,jd as T,ut as U,Ah as V,tt as W,St as X,le as Y,rr as Z,ms as _,AT as a,wv as a$,cu as a0,rs as a1,as as a2,os as a3,ky as a4,qn as a5,HP as a6,dn as a7,or as a8,Bo as a9,Tk as aA,Zu as aB,lT as aC,Hk as aD,fm as aE,pm as aF,QP as aG,oT as aH,us as aI,_k as aJ,nT as aK,tT as aL,Dr as aM,rm as aN,JP as aO,kk as aP,vt as aQ,Ok as aR,Pe as aS,XP as aT,ZP as aU,Je as aV,B as aW,R as aX,O as aY,FS as aZ,bv as a_,Io as aa,Nu as ab,Zo as ac,ru as ad,zw as ae,Jw as af,ge as ag,LC as ah,UC as ai,PC as aj,ow as ak,xC as al,BC as am,t0 as an,KP as ao,GC as ap,KC as aq,YC as ar,XC as as,Rn as at,YP as au,qC as av,Ct as aw,cT as ax,Mr as ay,rT as az,mT as b,Lk as b$,vu as b0,My as b1,z as b2,Iy as b3,eC as b4,sr as b5,cn as b6,wt as b7,Bt as b8,jt as b9,mS as bA,Mb as bB,du as bC,Ub as bD,Ol as bE,hn as bF,ir as bG,kC as bH,Dh as bI,Ml as bJ,Eu as bK,wu as bL,Ob as bM,sT as bN,DT as bO,Tc as bP,wT as bQ,ST as bR,Ia as bS,tm as bT,zk as bU,ET as bV,Di as bW,CT as bX,kT as bY,Dk as bZ,eT as b_,Me as ba,Oe as bb,Hi as bc,fg as bd,OP as be,es as bf,ku as bg,Yy as bh,ui as bi,sg as bj,Xc as bk,Hs as bl,sb as bm,QS as bn,XS as bo,qe as bp,xh as bq,Wi as br,Be as bs,pe as bt,FP as bu,_P as bv,$d as bw,Vn as bx,Kb as by,$o as bz,uT as c,Vi as c$,Ss as c0,xT as c1,yT as c2,Bn as c3,Pd as c4,Yh as c5,jh as c6,ri as c7,Cx as c8,OT as c9,RT as cA,Ek as cB,em as cC,pT as cD,vT as cE,fT as cF,Rk as cG,gs as cH,gT as cI,hT as cJ,bT as cK,Sx as cL,Nc as cM,jP as cN,VS as cO,X as cP,ol as cQ,NP as cR,ly as cS,ey as cT,hu as cU,ob as cV,vc as cW,sy as cX,is as cY,bg as cZ,In as c_,Ds as ca,EP as cb,Bc as cc,jc as cd,RP as ce,Up as cf,Hp as cg,Vp as ch,Pn as ci,Wr as cj,At as ck,hP as cl,MT as cm,Ba as cn,MP as co,BP as cp,dT as cq,aT as cr,iT as cs,oa as ct,Ya as cu,LP as cv,PT as cw,TT as cx,gt as cy,bn as cz,bt as d,Va as d0,ph as d1,uh as d2,rn as e,Bu as f,pg as g,de as h,GP as i,W as j,qP as k,yt as l,at as m,DP as n,Z as o,dx as p,lr as q,ts as r,ix as s,kx as t,Ix as u,$P as v,j as w,Un as x,Yv as y,tS as z};