@kitecd/cli 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/doctor.js +181 -0
  2. package/dist/export.js +144 -0
  3. package/dist/ignore.js +38 -0
  4. package/dist/import.js +333 -0
  5. package/dist/index.js +201 -3
  6. package/dist/ops.js +338 -0
  7. package/dist/pack.js +15 -5
  8. package/dist/serve.js +27 -1
  9. package/dist/server/index.js +14578 -5647
  10. package/dist/upload.js +9 -3
  11. package/dist/verify.js +161 -0
  12. package/dist/web/assets/AuditLog-BFmJfgzL.js +1 -0
  13. package/dist/web/assets/ConfirmDialog-CJ8lJeUc.js +1 -0
  14. package/dist/web/assets/ConfirmDialog-D8avT8FJ.css +1 -0
  15. package/dist/web/assets/Dashboard-BTliTkq1.js +1 -0
  16. package/dist/web/assets/DefaultLayout-BG_y85yG.js +1 -0
  17. package/dist/web/assets/DefaultLayout-CZENO67n.css +1 -0
  18. package/dist/web/assets/FileExplorer-Bf32_MMS.js +1 -0
  19. package/dist/web/assets/LogBoard-0so-XiW3.css +1 -0
  20. package/dist/web/assets/LogBoard-CDz4n0DY.js +6 -0
  21. package/dist/web/assets/Login-C3zfObzP.js +1 -0
  22. package/dist/web/assets/Migration-BaKlcCkB.js +1 -0
  23. package/dist/web/assets/ProjectDetail-BL_D0OJY.js +1 -0
  24. package/dist/web/assets/ProjectDetail-ia6-z1kZ.css +1 -0
  25. package/dist/web/assets/ProjectList-7AnhOS7h.css +1 -0
  26. package/dist/web/assets/ProjectList-C4KuZEq4.js +1 -0
  27. package/dist/web/assets/Settings-CzWG9312.js +1 -0
  28. package/dist/web/assets/Storage-BCao_e7Y.js +1 -0
  29. package/dist/web/assets/Storage-DNadqpUy.css +1 -0
  30. package/dist/web/assets/{activity-DItEGOtI.js → activity-Ba-YPfmn.js} +1 -1
  31. package/dist/web/assets/archive-CJ5gDBKY.js +1 -0
  32. package/dist/web/assets/arrow-left-WEOMLXIi.js +1 -0
  33. package/dist/web/assets/chevron-right-DLiDJVJl.js +1 -0
  34. package/dist/web/assets/{circle-alert-Bfrn_ovD.js → circle-alert-DQzM-U4P.js} +1 -1
  35. package/dist/web/assets/clock-IwxBKgP4.js +1 -0
  36. package/dist/web/assets/constants-Ch47JPs3.js +1 -0
  37. package/dist/web/assets/copy-C1rADgcQ.js +1 -0
  38. package/dist/web/assets/createLucideIcon-CE-ry2oA.js +1 -0
  39. package/dist/web/assets/database-CI6acTSY.js +1 -0
  40. package/dist/web/assets/eye-Cas8HsmK.js +1 -0
  41. package/dist/web/assets/eye-off-4PD31MPV.js +1 -0
  42. package/dist/web/assets/file-text-C6nzo1us.js +1 -0
  43. package/dist/web/assets/folder-D9pvA6oI.js +1 -0
  44. package/dist/web/assets/folder-open-CGeIri0U.js +1 -0
  45. package/dist/web/assets/hard-drive-CGWwV4Ei.js +1 -0
  46. package/dist/web/assets/house-8ZvvlaEh.js +1 -0
  47. package/dist/web/assets/index-BFE6PEIL.js +2 -0
  48. package/dist/web/assets/index-XrzJwjrk.css +1 -0
  49. package/dist/web/assets/loader-circle-uiC7GaCG.js +1 -0
  50. package/dist/web/assets/plus-CfMi1Jv1.js +1 -0
  51. package/dist/web/assets/refresh-cw-0yb8DZDc.js +1 -0
  52. package/dist/web/assets/rotate-ccw-YevaWXw9.js +1 -0
  53. package/dist/web/assets/save-BuzCP3T1.js +1 -0
  54. package/dist/web/assets/scroll-text-BIYMFNN5.js +1 -0
  55. package/dist/web/assets/{server-C33taHNn.js → server-B31hj0g7.js} +1 -1
  56. package/dist/web/assets/{square-terminal-C8toRwjx.js → square-terminal-DT6aoXm0.js} +1 -1
  57. package/dist/web/assets/sun-BaEbKNDV.js +1 -0
  58. package/dist/web/assets/trash-2-BWqtqkeW.js +1 -0
  59. package/dist/web/index.html +3 -3
  60. package/package.json +2 -2
  61. package/dist/web/assets/Dashboard-7wBCpwzp.js +0 -1
  62. package/dist/web/assets/DefaultLayout-Bj8fPWym.css +0 -1
  63. package/dist/web/assets/DefaultLayout-LaPhlICp.js +0 -1
  64. package/dist/web/assets/FileExplorer-DvzkxXvZ.js +0 -1
  65. package/dist/web/assets/LogBoard-BWAPesBz.js +0 -6
  66. package/dist/web/assets/LogBoard-DzW-cEqH.css +0 -1
  67. package/dist/web/assets/Login-BhNdUJs0.js +0 -1
  68. package/dist/web/assets/ProjectDetail-DZwMOEto.js +0 -1
  69. package/dist/web/assets/ProjectList-Czr-438J.js +0 -1
  70. package/dist/web/assets/Settings-OmPvcQbD.js +0 -1
  71. package/dist/web/assets/clock-BPXGSCIV.js +0 -1
  72. package/dist/web/assets/constants-iI5LEC2F.js +0 -1
  73. package/dist/web/assets/createLucideIcon-Cgv1AIRL.js +0 -1
  74. package/dist/web/assets/folder-open-jX-_Q7bA.js +0 -1
  75. package/dist/web/assets/index-C9LiRc31.css +0 -1
  76. package/dist/web/assets/index-eyx6wNyQ.js +0 -2
  77. package/dist/web/assets/project-BFuaDcvV.js +0 -1
  78. package/dist/web/assets/refresh-cw-DWmqwQRn.js +0 -1
  79. package/dist/web/assets/save-BkiMrL9q.js +0 -1
  80. package/dist/web/assets/settings-CrCWmNyB.js +0 -1
@@ -0,0 +1 @@
1
+ import{B as e,E as t,H as n,K as r,P as i,R as a,T as o,_ as s,c as ee,d as c,dt as l,f as u,ft as te,j as d,k as f,m as p,n as ne,p as m,pt as h,s as g,t as _,u as v,v as y,w as re,y as b,z as ie}from"./createLucideIcon-CE-ry2oA.js";import{t as ae}from"./chevron-right-DLiDJVJl.js";import{t as oe}from"./clock-IwxBKgP4.js";import{t as x}from"./eye-off-4PD31MPV.js";import{t as S}from"./eye-Cas8HsmK.js";import{t as se}from"./folder-open-CGeIri0U.js";import{t as C}from"./folder-D9pvA6oI.js";import{t as ce}from"./house-8ZvvlaEh.js";import{t as w}from"./plus-CfMi1Jv1.js";import{t as T}from"./refresh-cw-0yb8DZDc.js";import{t as E}from"./scroll-text-BIYMFNN5.js";import{t as le}from"./server-B31hj0g7.js";import{t as D}from"./trash-2-BWqtqkeW.js";import{_ as O,d as ue,g as k,h as de,i as fe,n as pe,o as A,r as j,t as M,u as me,v as N}from"./index-BFE6PEIL.js";var he=_(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),P=_(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),ge=_(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),F=_(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),I=_(`folder-tree`,[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`hod4my`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`w4yl2u`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`,key:`f2jnh7`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`,key:`k8epm1`}]]),L=_(`layout-grid`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),_e=_(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),ve=_(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),R=_(`tag`,[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]),ye={class:`flex items-center justify-between px-5 py-4 border-b border-border`},be={class:`flex items-center space-x-2`},xe={class:`text-base font-semibold text-textMain`},z={key:0,class:`text-xs text-textMuted ml-2`},Se={class:`px-5 py-3 border-b border-border space-y-2`},Ce={class:`flex items-center space-x-2`},we=[`disabled`],Te=[`disabled`],B=[`onKeydown`],Ee=[`disabled`],De={class:`flex items-center flex-wrap text-xs text-textMuted`},V=[`onClick`],Oe={class:`flex-1 overflow-auto px-2 py-2 min-h-[280px]`},H={key:0,class:`flex items-center justify-center h-full text-textMuted text-sm`},U={key:1,class:`flex items-start justify-center h-full`},W={class:`flex items-start space-x-2 text-danger text-sm max-w-md p-4`},G={class:`break-all`},ke={key:2,class:`flex items-center justify-center h-full text-textMuted text-sm`},Ae={key:3,class:`space-y-0.5`},K=[`onDblclick`],q=[`type`,`checked`,`onClick`],je=[`onClick`],J={key:0,class:`text-[10px] text-textMuted mr-2`},Me={key:4,class:`text-xs text-yellow-400 text-center mt-2`},Ne={key:0,class:`px-5 py-2 border-t border-border max-h-28 overflow-auto`},Pe={class:`flex flex-wrap gap-1.5`},Fe=[`title`],Ie=[`onClick`],Y={class:`flex items-center justify-between px-5 py-3 border-t border-border`},X={class:`flex items-center space-x-3 text-xs text-textMuted`},Le=[`disabled`],Re={class:`flex items-center space-x-2`},ze=[`disabled`],Be=`kite:folderPicker:lastDir`,Ve=M(b({__name:`FolderPickerDialog`,props:{open:{type:Boolean},mode:{default:`multi`},title:{default:`选择文件夹`}},emits:[`update:open`,`confirm`],setup(t,{emit:o}){let ee=t,te=o,_=ne(),re=pe();function b(){try{return localStorage.getItem(Be)||``}catch{return``}}function oe(e){if(e)try{localStorage.setItem(Be,e)}catch{}}let w=n(!1),E=n(``),le=n(!1),D=n(``),de=n(null),A=n([]),M=n(`/`),me=n(``),ge=n([`/`]),F=n(!1),I=n(``),L=n([]),_e=v(()=>F.value?A.value:A.value.filter(e=>!e.isHidden)),ve=v(()=>{if(!D.value)return[];let e=M.value===`\\`,t=[];if(e){let e=D.value.split(/\\+/).filter(Boolean),n=``;e.forEach((e,r)=>{r===0?(n=e.endsWith(`:`)?`${e}\\`:e,t.push({label:n,path:n})):(n=n.endsWith(`\\`)?`${n}${e}`:`${n}\\${e}`,t.push({label:e,path:n}))})}else{let e=D.value.split(`/`).filter(Boolean);t.push({label:`/`,path:`/`});let n=``;e.forEach(e=>{n=`${n}/${e}`,t.push({label:e,path:n})})}return t});function R(e){return L.value.includes(e)}function Ve(e){if(ee.mode===`single`){L.value=R(e)?[]:[e];return}let t=L.value.indexOf(e);t>=0?L.value.splice(t,1):L.value.push(e)}function He(e){let t=L.value.indexOf(e);t>=0&&L.value.splice(t,1)}async function Z(e){w.value=!0,E.value=``;try{let t=await _.fetchFsList(e);return D.value=t.path,de.value=t.parent,A.value=t.entries,le.value=t.truncated,I.value=t.path,oe(t.path),!0}catch(e){return E.value=e?.message||`读取目录失败`,A.value=[],le.value=!1,!1}finally{w.value=!1}}async function Ue(){w.value=!0,E.value=``;try{let e=await _.fetchFsHome();me.value=e.home,M.value=e.sep,ge.value=e.roots||[`/`];let t=e.home||e.cwd||e.roots&&e.roots[0]||`/`,n=b();if(n&&n!==t){if(await Z(n))return;E.value=``}await Z(t)}catch(e){E.value=e?.message||`初始化目录浏览器失败`}finally{w.value=!1}}function We(){de.value&&Z(de.value)}function Ge(){me.value&&Z(me.value)}function Ke(){let e=I.value.trim();e&&Z(e)}function qe(e){e.isDir&&Z(e.path)}function Je(){D.value&&(R(D.value)||Ve(D.value))}function Ye(){te(`update:open`,!1)}function Xe(){if(L.value.length===0){re.error(`请至少选择一个目录`);return}te(`confirm`,[...L.value]),te(`update:open`,!1)}return a(()=>ee.open,e=>{e&&(L.value=[],E.value=``,Ue())}),(n,a)=>(f(),u(ue,{name:`fade`},{default:ie(()=>[t.open?(f(),p(`div`,{key:0,class:`fixed inset-0 z-[60] flex items-center justify-center bg-black/60 backdrop-blur-sm`,onClick:N(Ye,[`self`])},[c(`div`,{class:`bg-panel border border-border rounded-xl w-full max-w-3xl shadow-2xl flex flex-col`,style:{"max-height":`80vh`},onKeydown:O(Ye,[`esc`])},[c(`div`,ye,[c(`div`,be,[y(r(se),{class:`w-5 h-5 text-primary`}),c(`h3`,xe,h(t.title),1),t.mode===`multi`?(f(),p(`span`,z,`支持多选`)):m(``,!0)]),c(`button`,{onClick:Ye,class:`text-textMuted hover:text-textMain rounded p-1`},[y(r(j),{class:`w-4 h-4`})])]),c(`div`,Se,[c(`div`,Ce,[c(`button`,{onClick:We,disabled:!de.value||w.value,class:`p-2 rounded-md border border-border text-textMuted hover:text-textMain disabled:opacity-40 disabled:cursor-not-allowed`,title:`上一级`},[y(r(he),{class:`w-4 h-4`})],8,we),c(`button`,{onClick:Ge,disabled:!me.value||w.value,class:`p-2 rounded-md border border-border text-textMuted hover:text-textMain disabled:opacity-40 disabled:cursor-not-allowed`,title:`回到 HOME`},[y(r(ce),{class:`w-4 h-4`})],8,Te),e(c(`input`,{"onUpdate:modelValue":a[0]||=e=>I.value=e,type:`text`,spellcheck:`false`,class:`flex-1 bg-base border border-border rounded-md px-3 py-1.5 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50`,placeholder:`粘贴绝对路径并回车跳转`,onKeydown:O(N(Ke,[`prevent`]),[`enter`])},null,40,B),[[k,I.value]]),c(`button`,{onClick:Ke,disabled:w.value,class:`px-3 py-1.5 text-sm border border-border rounded-md text-textMuted hover:text-textMain disabled:opacity-40`},`跳转`,8,Ee)]),c(`div`,De,[(f(!0),p(g,null,d(ve.value,(e,t)=>(f(),p(g,{key:e.path},[c(`button`,{onClick:t=>Z(e.path),class:`px-1.5 py-0.5 rounded hover:bg-white/5 hover:text-textMain font-mono`},h(e.label),9,V),t<ve.value.length-1?(f(),u(r(ae),{key:0,class:`w-3 h-3 mx-0.5 opacity-60`})):m(``,!0)],64))),128))])]),c(`div`,Oe,[w.value?(f(),p(`div`,H,[y(r(T),{class:`w-4 h-4 mr-2 animate-spin`}),a[2]||=s(` 加载中… `,-1)])):E.value?(f(),p(`div`,U,[c(`div`,W,[y(r(fe),{class:`w-4 h-4 mt-0.5 flex-shrink-0`}),c(`span`,G,h(E.value),1)])])):_e.value.length===0?(f(),p(`div`,ke,` 空目录 `)):(f(),p(`ul`,Ae,[(f(!0),p(g,null,d(_e.value,e=>(f(),p(`li`,{key:e.path,class:l([`group flex items-center px-3 py-2 rounded-md hover:bg-white/5 cursor-pointer`,{"opacity-60":e.isHidden}]),onDblclick:t=>qe(e)},[c(`input`,{type:t.mode===`single`?`radio`:`checkbox`,checked:R(e.path),onClick:N(t=>Ve(e.path),[`stop`]),class:`mr-3 accent-primary`},null,8,q),y(r(C),{class:`w-4 h-4 text-primary/80 mr-2 flex-shrink-0`}),c(`span`,{class:`flex-1 text-sm text-textMain truncate font-mono`,onClick:t=>qe(e)},h(e.name),9,je),e.isSymlink?(f(),p(`span`,J,`link`)):m(``,!0),y(r(ae),{class:`w-4 h-4 text-textMuted opacity-0 group-hover:opacity-100`,onClick:N(t=>qe(e),[`stop`])},null,8,[`onClick`])],42,K))),128))])),le.value?(f(),p(`p`,Me,` 目录条目过多,已截断展示前 500 项,请通过路径输入精确跳转。 `)):m(``,!0)]),L.value.length>0?(f(),p(`div`,Ne,[c(`div`,Pe,[(f(!0),p(g,null,d(L.value,e=>(f(),p(`span`,{key:e,class:`inline-flex items-center max-w-full bg-primary/10 border border-primary/30 text-primary text-xs font-mono rounded px-2 py-1`},[c(`span`,{class:`truncate`,title:e},h(e),9,Fe),c(`button`,{onClick:t=>He(e),class:`ml-1.5 hover:text-textMain`},[y(r(j),{class:`w-3 h-3`})],8,Ie)]))),128))])])):m(``,!0),c(`div`,Y,[c(`div`,X,[c(`button`,{onClick:a[1]||=e=>F.value=!F.value,class:`flex items-center hover:text-textMain`},[(f(),u(i(F.value?r(S):r(x)),{class:`w-3.5 h-3.5 mr-1`})),s(` `+h(F.value?`隐藏点开头目录`:`显示点开头目录`),1)]),c(`button`,{onClick:Je,disabled:!D.value||w.value,class:`flex items-center hover:text-textMain disabled:opacity-40 disabled:cursor-not-allowed`,title:`把当前所在目录加入选中`},[y(r(P),{class:`w-3.5 h-3.5 mr-1`}),a[3]||=s(` 选中当前目录 `,-1)],8,Le),c(`span`,null,`已选 `+h(L.value.length)+` 项`,1)]),c(`div`,Re,[c(`button`,{onClick:Ye,class:`px-4 py-2 text-sm font-medium text-textMuted hover:text-textMain dark:hover:bg-white/5 hover:bg-black/5 rounded-md transition-colors`},`取消`),c(`button`,{onClick:Xe,disabled:L.value.length===0,class:`px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors`},`确认(`+h(L.value.length)+`)`,9,ze)])])],32)])):m(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-72963037`]]),He={class:`max-w-7xl mx-auto space-y-6`},Z={class:`flex justify-between items-center mb-8`},Ue={class:`flex items-center space-x-2`},We={class:`flex items-center border border-border rounded-md overflow-hidden`},Ge={class:`flex items-center flex-wrap gap-2`},Ke={class:`ml-1.5 text-[10px] opacity-75`},qe={class:`ml-1.5 text-[10px] opacity-75`},Je=[`onClick`],Ye={class:`ml-1.5 text-[10px] opacity-75`},Xe={key:0,class:`grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6`},Ze=[`onClick`],Qe={class:`flex justify-between items-start mb-4`},$e={class:`flex items-center space-x-3`},et={class:`p-2 rounded-lg bg-base border border-border group-hover:border-primary/30 transition-colors`},tt={class:`font-semibold text-textMain text-base`},nt={class:`text-xs text-textMuted font-mono mt-0.5`},rt={class:`relative`},it=[`onClick`],at={class:`text-sm text-textMuted mb-3 line-clamp-2 min-h-[40px]`},ot={class:`flex items-center flex-wrap gap-1.5 mb-3`},st={key:0,class:`inline-flex items-center px-2 py-0.5 rounded text-[10px] border bg-base text-textMuted border-border font-mono`},ct={class:`flex items-center justify-between border-t border-border pt-4 text-xs text-textMuted`},lt=[`title`],ut={class:`flex items-center space-x-3`},dt=[`onClick`],ft={key:0,class:`col-span-full text-center py-16 text-textMuted text-sm`},pt={key:1,class:`bg-panel border border-border rounded-xl overflow-hidden`},mt={class:`w-full text-sm`},ht=[`onClick`],gt={class:`px-4 py-3`},_t={class:`flex items-center space-x-2`},vt={class:`text-textMain font-medium`},yt={class:`text-[11px] text-textMuted font-mono`},bt={class:`px-4 py-3 text-textMuted font-mono text-xs break-all max-w-xs`},xt={class:`px-4 py-3`},St={class:`px-4 py-3`},Ct={key:0,class:`inline-flex items-center px-2 py-0.5 rounded text-[10px] border bg-base text-textMuted border-border font-mono`},wt={key:1,class:`text-textMuted text-xs`},Tt=[`title`],Et={class:`px-4 py-3`},Dt={class:`px-4 py-3 text-right`},Ot=[`onClick`],kt={key:0},At={class:`relative`},jt={class:`flex items-center`},Mt=[`disabled`],Nt=[`disabled`,`onClick`],Pt={key:0,class:`px-3 py-2 text-xs text-textMuted`},Ft={key:2,class:`fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm`},It={class:`bg-panel border border-border rounded-xl w-full max-w-md p-6 shadow-2xl transform transition-all`},Lt={class:`space-y-4`},Rt=[`value`],zt={class:`mt-8 flex justify-end space-x-3`},Bt=[`disabled`],Vt={class:`bg-panel border border-border rounded-xl w-full max-w-6xl shadow-2xl flex flex-col`,style:{"max-height":`85vh`}},Ht={class:`flex items-center justify-between px-6 py-4 border-b border-border`},Ut={class:`text-xs text-textMuted mt-1`},Wt=[`disabled`],Gt={class:`px-6 py-3 border-b border-border bg-yellow-400/15 dark:bg-yellow-400/5 flex items-start space-x-2`},Kt={class:`flex-1 overflow-auto px-2`},qt={class:`w-full text-sm table-fixed`},Jt={class:`px-3 py-2`},Yt=[`onUpdate:modelValue`,`disabled`],Xt={key:0,class:`text-[11px] text-danger mt-1`},Zt={class:`px-3 py-2`},Qt=[`onUpdate:modelValue`,`disabled`,`title`],$t={key:0,class:`text-[11px] text-danger mt-1`},en={key:1,class:`text-[11px] text-danger mt-1 break-all`},tn={class:`px-3 py-2`},nn=[`onUpdate:modelValue`,`disabled`],rn={class:`px-3 py-2`},an=[`onUpdate:modelValue`,`disabled`],on=[`value`],sn={class:`px-3 py-2`},cn={class:`flex items-start gap-2`},ln=[`onUpdate:modelValue`,`disabled`],un=[`onClick`,`disabled`],dn={key:0},fn={class:`flex items-center justify-between px-6 py-4 border-t border-border`},pn={class:`flex items-center space-x-3`},mn=[`disabled`],hn={class:`text-xs text-textMuted`},gn={class:`flex items-center space-x-2`},_n=[`disabled`],vn=[`disabled`],yn={class:`bg-panel border border-border rounded-xl w-full max-w-md p-6 shadow-2xl`},bn=[`disabled`,`onKeydown`],xn={class:`mt-6 flex justify-end space-x-3`},Sn=[`disabled`],Cn=[`disabled`],wn={class:`bg-panel border border-danger/30 rounded-xl w-full max-w-lg p-6 shadow-2xl`},Tn={class:`flex items-start space-x-3 mb-5`},En={class:`p-2 rounded-lg bg-danger/10 border border-danger/20 shrink-0`},Dn={class:`text-sm text-textMuted mt-1`},On={class:`font-mono text-textMain`},kn={class:`mb-4`},An={class:`block text-sm font-medium text-textMuted mb-1.5`},jn={class:`font-mono text-textMain`},Mn=[`disabled`,`placeholder`,`onKeydown`],Nn={class:`flex justify-end space-x-3`},Pn=[`disabled`],Fn=[`disabled`],In={class:`bg-panel border border-border rounded-xl w-full max-w-2xl shadow-2xl flex flex-col`,style:{"max-height":`85vh`}},Ln={class:`flex items-center justify-between px-6 py-4 border-b border-border`},Rn={class:`px-6 py-4 border-b border-border`},zn={class:`flex items-center gap-2`},Bn=[`disabled`,`onKeydown`],Vn=[`disabled`],Hn={class:`flex-1 overflow-auto px-6 py-4`},Un={key:0,class:`text-center py-8 text-textMuted text-sm`},Wn={key:1,class:`divide-y divide-border`},Gn=[`disabled`,`onKeydown`],Kn=[`disabled`],qn=[`disabled`],Jn={class:`text-xs text-textMuted flex-1`},Yn=[`onClick`],Xn=[`onClick`,`disabled`],Zn={class:`flex items-center justify-end px-6 py-4 border-t border-border`},Qn=`kite:projectList:viewMode`,$n=160,er=196,tr=M(b({__name:`ProjectList`,setup(i){let _=ne(),b=me(),x=pe(),S=n(localStorage.getItem(Qn)===`list`?`list`:`card`);a(S,e=>localStorage.setItem(Qn,e));let C=n(`all`);t(()=>{_.fetchProjects(),_.fetchCategories()});let ce=v(()=>{let e=new Map;for(let t of _.categories)e.set(t.id,t);return e}),j=v(()=>{let e=_.projects;return C.value===`all`?e:C.value===`default`?e.filter(e=>!e.categoryId):e.filter(e=>e.categoryId===C.value)}),M=v(()=>{let e={all:_.projects.length,default:0};for(let t of _.categories)e[t.id]=0;for(let t of _.projects)!t.categoryId||!e.hasOwnProperty(t.categoryId)?e.default++:e[t.categoryId]++;return e}),he={blue:`bg-blue-500/15 text-blue-500 border-blue-500/30`,green:`bg-green-500/15 text-green-500 border-green-500/30`,yellow:`bg-yellow-500/15 text-yellow-500 border-yellow-500/30`,purple:`bg-purple-500/15 text-purple-500 border-purple-500/30`,pink:`bg-pink-500/15 text-pink-500 border-pink-500/30`,cyan:`bg-cyan-500/15 text-cyan-500 border-cyan-500/30`,gray:`bg-gray-500/15 text-gray-400 border-gray-500/30`};function P(e){return e&&he[e]?he[e]:`bg-base text-textMuted border-border`}function ye(e){return e?ce.value.get(e)?.name??`默认`:`默认`}function be(e){if(!e)return`从未部署`;let t=new Date(e).getTime();if(isNaN(t))return`—`;let n=Date.now()-t,r=Math.floor(n/1e3);if(r<60)return`${r} 秒前`;let i=Math.floor(r/60);if(i<60)return`${i} 分钟前`;let a=Math.floor(i/60);if(a<24)return`${a} 小时前`;let o=Math.floor(a/24);return o<30?`${o} 天前`:new Date(e).toLocaleDateString()}let xe=n(!1),z=n({name:``,description:``,destPath:``,env:``,categoryId:``}),Se=async()=>{if(!z.value.name||!z.value.destPath)return;let e=await _.addProject({name:z.value.name,description:z.value.description,destPath:z.value.destPath,env:z.value.env,categoryId:z.value.categoryId||null});if(e.ok)xe.value=!1,z.value={name:``,description:``,destPath:``,env:``,categoryId:``},x.success(`项目创建成功`);else{let t=e.conflictProject?`部署目录已被项目「${e.conflictProject}」占用`:e.error||`请稍后重试`;x.error(`创建失败`,t)}},Ce=e=>{b.push(`/projects/${e}`)},we=e=>{b.push({path:`/logs`,query:{projectId:e}})},Te=e=>{b.push(`/projects/${e}/files`)},B=n(null),Ee=n({});async function De(e,t){if(t.stopPropagation(),B.value===e){B.value=null;return}let n=t.currentTarget.getBoundingClientRect(),r=window.innerHeight,i=window.innerWidth,a=r-n.bottom<er+12&&n.top>er+12?Math.max(8,n.top-er-4):Math.min(r-er-8,n.bottom+4),o=Math.min(i-$n-8,Math.max(8,n.right-$n));Ee.value={position:`fixed`,top:`${a}px`,left:`${o}px`,width:`${$n}px`},B.value=e,await re()}function V(){B.value=null,dr.value=!1}function Oe(){B.value&&V()}t(()=>{window.addEventListener(`scroll`,Oe,!0),window.addEventListener(`resize`,Oe)}),o(()=>{window.removeEventListener(`scroll`,Oe,!0),window.removeEventListener(`resize`,Oe)});let H=n(!1),U=n(null),W=n(``),G=n(!1);function ke(e,t){V(),U.value={id:e,name:t},W.value=t,H.value=!0}async function Ae(){if(!U.value)return;let e=W.value.trim();if(!e||e===U.value.name){H.value=!1;return}G.value=!0;try{await _.updateProject(U.value.id,{name:e}),x.success(`重命名成功`),H.value=!1}catch(e){x.error(`重命名失败`,e?.message||`请稍后重试`)}finally{G.value=!1}}let K=n(!1),q=n(null),je=n(``),J=n(!1);function Me(e,t){V(),q.value={id:e,name:t},je.value=``,K.value=!0}let Ne=v(()=>q.value&&je.value.trim()===q.value.name&&!J.value);async function Pe(){if(!(!q.value||!Ne.value)){J.value=!0;try{await _.removeProject(q.value.id)?(x.success(`项目已删除`),K.value=!1):x.error(`删除失败`)}catch(e){x.error(`删除失败`,e?.message||`请稍后重试`)}finally{J.value=!1}}}let Fe=n(!1),Ie=n(!1),Y=n(!1),X=n([]),Le=0;function Re(e){let t=e.replace(/[\\/]+$/,``),n=t.split(/[\\/]/);return n[n.length-1]||t||`project`}function ze(){Fe.value=!0}function Be(e){X.value=e.map(e=>({id:++Le,name:Re(e),destPath:e,env:``,description:``,categoryId:C.value&&C.value!==`all`&&C.value!==`default`?C.value:``,status:`pending`})),Ie.value=!0,_.fetchCategories()}function tr(e){let t=new Set(X.value.map(e=>e.destPath));for(let n of e)t.has(n)||X.value.push({id:++Le,name:Re(n),destPath:n,env:``,description:``,categoryId:``,status:`pending`})}let nr=n(!1);function rr(){nr.value=!0,Fe.value=!0}function ir(e){nr.value?(tr(e),nr.value=!1):Be(e)}function ar(e){X.value=X.value.filter(t=>t.id!==e)}let or=v(()=>new Set(_.projects.map(e=>e.name))),sr=v(()=>new Set(_.projects.map(e=>e.destPath).filter(Boolean))),Q=v(()=>{let e=new Map,t=new Map,n=new Map;for(let r of X.value){let i={},a=r.name.trim();a?or.value.has(a)?i.name=`与已有项目重名`:e.has(a)?i.name=`本次批量内重名`:e.set(a,r.id):i.name=`项目名不能为空`;let o=r.destPath.trim();o?sr.value.has(o)?i.dest=`该部署目录已被其他项目占用`:t.has(o)?i.dest=`本次批量内部署目录重复`:t.set(o,r.id):i.dest=`部署目录不能为空`,(i.name||i.dest)&&n.set(r.id,i)}return n}),cr=v(()=>!(X.value.length===0||Y.value||Q.value.size>0)),$=v(()=>{let e=0,t=0,n=0;for(let r of X.value)r.status===`success`?e++:r.status===`failed`?t++:n++;return{success:e,failed:t,pending:n,total:X.value.length}});async function lr(){if(cr.value){Y.value=!0;try{for(let e of X.value){if(e.status===`success`)continue;e.status=`submitting`,e.errorMsg=void 0;let t=await _.addProject({name:e.name.trim(),description:e.description?.trim()||void 0,destPath:e.destPath,env:e.env?.trim()||void 0,categoryId:e.categoryId||null});t.ok?e.status=`success`:(e.status=`failed`,e.errorMsg=t.conflictProject?`部署目录已被项目「${t.conflictProject}」占用`:t.error||`创建失败`)}let{success:e,failed:t}=$.value;t===0?(x.success(`批量创建完成`,`成功 ${e} 个`),X.value=[],Ie.value=!1):x.error(`部分创建失败`,`成功 ${e} 个,失败 ${t} 个`)}finally{Y.value=!1}}}function ur(){Y.value||(Ie.value=!1,X.value=[])}let dr=n(!1),fr=n(!1);function pr(e){e.stopPropagation(),dr.value=!dr.value}async function mr(e,t){if(!fr.value){fr.value=!0;try{await _.updateProject(e,{categoryId:t});let n=t?ce.value.get(t)?.name??`分类`:`默认`;x.success(`已移动到「${n}」`),dr.value=!1,V()}catch(e){x.error(`移动失败`,e?.message||`请稍后重试`)}finally{fr.value=!1}}}let hr=n(!1),gr=n(``),_r=n(!1),vr=n(null),yr=n(``),br=n(!1),xr=n(null),Sr=[`blue`,`green`,`yellow`,`purple`,`pink`,`cyan`,`gray`];function Cr(e){let t=new Set;for(let n of _.categories)e&&n.id===e||n.color&&t.add(n.color);for(let e of Sr)if(!t.has(e))return e;return Sr[_.categories.length%Sr.length]}function wr(){hr.value=!0,gr.value=``,vr.value=null,_.fetchCategories()}async function Tr(){let e=gr.value.trim();if(e){_r.value=!0;try{let t=await _.createCategory({name:e,color:Cr()});t.ok?(x.success(`分类创建成功`),gr.value=``):x.error(`创建失败`,t.conflictCategory?`分类名「${t.conflictCategory}」已存在`:t.error||`请稍后重试`)}finally{_r.value=!1}}}function Er(e){vr.value=e.id,yr.value=e.name}function Dr(){vr.value=null,yr.value=``}async function Or(){if(!vr.value)return;let e=yr.value.trim();if(e){br.value=!0;try{let t=await _.updateCategory(vr.value,{name:e});t.ok?(x.success(`分类已更新`),Dr()):x.error(`更新失败`,t.conflictCategory?`分类名「${t.conflictCategory}」已存在`:t.error||`请稍后重试`)}finally{br.value=!1}}}async function kr(e){if(xr.value)return;let t=M.value[e.id]||0;if(window.confirm(t>0?`分类「${e.name}」下还有 ${t} 个项目,删除后这些项目会回落到默认。是否继续?`:`确认删除分类「${e.name}」?`)){xr.value=e.id;try{let t=await _.deleteCategory(e.id);t.ok?(x.success(`分类已删除`,t.detachedProjects?`${t.detachedProjects} 个项目已回落到默认`:void 0),C.value===e.id&&(C.value=`all`)):x.error(`删除失败`,t.error||`请稍后重试`)}finally{xr.value=null}}}return(t,n)=>(f(),p(`div`,He,[c(`div`,Z,[n[34]||=c(`div`,null,[c(`h1`,{class:`text-2xl font-bold text-textMain tracking-tight`},`项目管理`),c(`p`,{class:`text-textMuted text-sm mt-1`},`管理所有可部署的应用服务与脚本配置`)],-1),c(`div`,Ue,[c(`div`,We,[c(`button`,{onClick:n[0]||=e=>S.value=`card`,class:l([S.value===`card`?`bg-primary/15 text-primary`:`text-textMuted hover:text-textMain`,`flex items-center px-2.5 py-1.5 text-xs transition-colors`]),title:`卡片视图`},[y(r(L),{class:`w-3.5 h-3.5`})],2),c(`button`,{onClick:n[1]||=e=>S.value=`list`,class:l([S.value===`list`?`bg-primary/15 text-primary`:`text-textMuted hover:text-textMain`,`flex items-center px-2.5 py-1.5 text-xs transition-colors border-l border-border`]),title:`列表视图`},[y(r(_e),{class:`w-3.5 h-3.5`})],2)]),c(`button`,{onClick:wr,class:`flex items-center px-3 py-2 border border-border hover:border-primary/50 text-textMain rounded-md transition-all font-medium text-sm`,title:`管理分类`},[y(r(I),{class:`w-4 h-4 mr-2`}),n[31]||=s(` 管理分类 `,-1)]),c(`button`,{onClick:ze,class:`flex items-center px-4 py-2 bg-primary hover:bg-primary/90 text-white rounded-md shadow-[0_0_15px_rgba(59,130,246,0.3)] transition-all font-medium text-sm`},[y(r(F),{class:`w-4 h-4 mr-2`}),n[32]||=s(` 选择文件夹新建 `,-1)]),c(`button`,{onClick:n[2]||=e=>xe.value=!0,class:`flex items-center px-4 py-2 border border-border hover:border-primary/50 text-textMain rounded-md transition-all font-medium text-sm`},[y(r(w),{class:`w-4 h-4 mr-2`}),n[33]||=s(` 新建项目 `,-1)])])]),c(`div`,Ge,[c(`button`,{onClick:n[3]||=e=>C.value=`all`,class:l([`flex items-center px-3 py-1.5 rounded-full text-xs border transition-colors`,C.value===`all`?`bg-primary/15 text-primary border-primary/40`:`bg-base text-textMuted border-border hover:text-textMain`])},[n[35]||=s(` 全部 `,-1),c(`span`,Ke,h(M.value.all),1)],2),c(`button`,{onClick:n[4]||=e=>C.value=`default`,class:l([`flex items-center px-3 py-1.5 rounded-full text-xs border transition-colors`,C.value===`default`?`bg-primary/15 text-primary border-primary/40`:`bg-base text-textMuted border-border hover:text-textMain`])},[n[36]||=s(` 默认 `,-1),c(`span`,qe,h(M.value.default),1)],2),(f(!0),p(g,null,d(r(_).categories,e=>(f(),p(`button`,{key:e.id,onClick:t=>C.value=e.id,class:l([`flex items-center px-3 py-1.5 rounded-full text-xs border transition-colors`,C.value===e.id?`bg-primary/15 text-primary border-primary/40`:`${P(e.color)} hover:opacity-90`])},[y(r(R),{class:`w-3 h-3 mr-1.5`}),s(` `+h(e.name)+` `,1),c(`span`,Ye,h(M.value[e.id]||0),1)],10,Je))),128))]),S.value===`card`?(f(),p(`div`,Xe,[(f(!0),p(g,null,d(j.value,e=>(f(),p(`div`,{key:e.id,class:`group bg-panel border border-border rounded-xl p-5 hover:border-primary/50 transition-all shadow-sm cursor-pointer relative overflow-hidden`,onClick:t=>Ce(e.id)},[c(`div`,{class:l([`absolute top-0 left-0 w-1 h-full`,e.status===`success`?`bg-success`:e.status===`failed`?`bg-danger`:`bg-primary`])},null,2),c(`div`,Qe,[c(`div`,$e,[c(`div`,et,[y(r(le),{class:`w-5 h-5 text-textMain group-hover:text-primary transition-colors`})]),c(`div`,null,[c(`h3`,tt,h(e.name),1),c(`p`,nt,h(e.id),1)])]),c(`div`,rt,[c(`button`,{class:`p-1 dark:hover:bg-white/10 hover:bg-black/10 rounded-md transition-colors text-textMuted hover:text-textMain`,onClick:N(t=>De(e.id,t),[`stop`])},[y(r(ge),{class:`w-4 h-4`})],8,it)])]),c(`p`,at,h(e.description||`暂无描述`),1),c(`div`,ot,[c(`span`,{class:l([`inline-flex items-center px-2 py-0.5 rounded text-[10px] border`,P(ce.value.get(e.categoryId||``)?.color)])},[y(r(R),{class:`w-3 h-3 mr-1`}),s(` `+h(ye(e.categoryId)),1)],2),e.env?(f(),p(`span`,st,h(e.env),1)):m(``,!0)]),c(`div`,ct,[c(`div`,{class:`flex items-center`,title:e.lastDeployAt?new Date(e.lastDeployAt).toLocaleString():`从未部署`},[y(r(oe),{class:`w-3.5 h-3.5 mr-1.5`}),c(`span`,null,h(be(e.lastDeployAt)),1)],8,lt),c(`div`,ut,[c(`button`,{onClick:N(t=>we(e.id),[`stop`]),class:`flex items-center text-textMuted hover:text-primary transition-colors`,title:`查看部署日志`},[y(r(E),{class:`w-3.5 h-3.5 mr-1`}),n[37]||=c(`span`,null,`日志`,-1)],8,dt),c(`span`,{class:l([`flex items-center`,e.status===`success`?`text-success`:e.status===`failed`?`text-danger`:`text-primary`])},[c(`span`,{class:l([`w-2 h-2 rounded-full mr-1.5`,e.status===`success`?`bg-success shadow-[0_0_8px_#10b981]`:e.status===`failed`?`bg-danger`:`bg-primary`])},null,2),s(` `+h(e.status===`success`?`正常`:e.status===`failed`?`异常`:`空闲`),1)],2)])])],8,Ze))),128)),j.value.length===0?(f(),p(`div`,ft,` 当前分类下没有项目 `)):m(``,!0)])):(f(),p(`div`,pt,[c(`table`,mt,[n[39]||=c(`thead`,{class:`text-xs text-textMuted bg-base/40`},[c(`tr`,null,[c(`th`,{class:`text-left font-medium px-4 py-3`},`项目名`),c(`th`,{class:`text-left font-medium px-4 py-3`},`部署目录`),c(`th`,{class:`text-left font-medium px-4 py-3 w-28`},`分类`),c(`th`,{class:`text-left font-medium px-4 py-3 w-24`},`环境`),c(`th`,{class:`text-left font-medium px-4 py-3 w-36`},`上次部署`),c(`th`,{class:`text-left font-medium px-4 py-3 w-20`},`状态`),c(`th`,{class:`text-right font-medium px-4 py-3 w-12`})])],-1),c(`tbody`,null,[(f(!0),p(g,null,d(j.value,e=>(f(),p(`tr`,{key:e.id,class:`border-t border-border hover:bg-white/5 cursor-pointer`,onClick:t=>Ce(e.id)},[c(`td`,gt,[c(`div`,_t,[y(r(le),{class:`w-4 h-4 text-textMuted`}),c(`div`,null,[c(`div`,vt,h(e.name),1),c(`div`,yt,h(e.id),1)])])]),c(`td`,bt,h(e.destPath||`—`),1),c(`td`,xt,[c(`span`,{class:l([`inline-flex items-center px-2 py-0.5 rounded text-[10px] border`,P(ce.value.get(e.categoryId||``)?.color)])},[y(r(R),{class:`w-3 h-3 mr-1`}),s(` `+h(ye(e.categoryId)),1)],2)]),c(`td`,St,[e.env?(f(),p(`span`,Ct,h(e.env),1)):(f(),p(`span`,wt,`—`))]),c(`td`,{class:`px-4 py-3 text-textMuted text-xs`,title:e.lastDeployAt?new Date(e.lastDeployAt).toLocaleString():`从未部署`},h(be(e.lastDeployAt)),9,Tt),c(`td`,Et,[c(`span`,{class:l([`inline-flex items-center text-xs`,e.status===`success`?`text-success`:e.status===`failed`?`text-danger`:`text-primary`])},[c(`span`,{class:l([`w-2 h-2 rounded-full mr-1.5`,e.status===`success`?`bg-success`:e.status===`failed`?`bg-danger`:`bg-primary`])},null,2),s(` `+h(e.status===`success`?`正常`:e.status===`failed`?`异常`:`空闲`),1)],2)]),c(`td`,Dt,[c(`button`,{class:`p-1 dark:hover:bg-white/10 hover:bg-black/10 rounded-md text-textMuted hover:text-textMain`,onClick:N(t=>De(e.id,t),[`stop`])},[y(r(ge),{class:`w-4 h-4`})],8,Ot)])],8,ht))),128)),j.value.length===0?(f(),p(`tr`,kt,[...n[38]||=[c(`td`,{colspan:`7`,class:`px-4 py-12 text-center text-textMuted text-sm`},`当前分类下没有项目`,-1)]])):m(``,!0)])])])),(f(),u(ee,{to:`body`},[y(ue,{name:`fade`},{default:ie(()=>[B.value?(f(),p(`div`,{key:0,class:`bg-panel border border-border rounded-lg shadow-xl py-1`,style:te({...Ee.value,zIndex:60}),onClick:n[12]||=N(()=>{},[`stop`])},[c(`button`,{class:`flex items-center w-full px-3 py-2 text-sm text-textMain hover:bg-white/5 transition-colors`,onClick:n[5]||=e=>{(()=>{let e=r(_).projects.find(e=>e.id===B.value);e&&ke(e.id,e.name)})()}},[y(r(ve),{class:`w-3.5 h-3.5 mr-2 text-textMuted`}),n[40]||=s(` 重命名 `,-1)]),c(`button`,{class:`flex items-center w-full px-3 py-2 text-sm text-textMain hover:bg-white/5 transition-colors`,onClick:n[6]||=N(e=>{(()=>{let e=B.value;V(),e&&Te(e)})()},[`stop`])},[y(r(se),{class:`w-3.5 h-3.5 mr-2 text-textMuted`}),n[41]||=s(` 查看文件 `,-1)]),c(`button`,{class:`flex items-center w-full px-3 py-2 text-sm text-textMain hover:bg-white/5 transition-colors`,onClick:n[7]||=e=>{(()=>{let e=B.value;V(),e&&we(e)})()}},[y(r(E),{class:`w-3.5 h-3.5 mr-2 text-textMuted`}),n[42]||=s(` 部署日志 `,-1)]),n[46]||=c(`div`,{class:`border-t border-border my-1`},null,-1),c(`div`,At,[c(`button`,{class:`flex items-center justify-between w-full px-3 py-2 text-sm text-textMain hover:bg-white/5 transition-colors`,onClick:n[8]||=e=>pr(e)},[c(`span`,jt,[y(r(I),{class:`w-3.5 h-3.5 mr-2 text-textMuted`}),n[43]||=s(` 移动到分类 `,-1)]),y(r(ae),{class:`w-3.5 h-3.5 text-textMuted`})]),dr.value?(f(),p(`div`,{key:0,class:`absolute top-0 right-full mr-1 bg-panel border border-border rounded-lg shadow-xl py-1 min-w-[160px] max-h-64 overflow-auto`,style:{"z-index":`61`},onClick:n[10]||=N(()=>{},[`stop`])},[c(`button`,{class:`flex items-center w-full px-3 py-2 text-sm text-textMain hover:bg-white/5 transition-colors`,disabled:fr.value,onClick:n[9]||=e=>B.value&&mr(B.value,null)},[...n[44]||=[c(`span`,{class:`inline-flex items-center px-2 py-0.5 rounded text-[10px] border bg-base text-textMuted border-border`},`默认`,-1)]],8,Mt),(f(!0),p(g,null,d(r(_).categories,e=>(f(),p(`button`,{key:e.id,class:`flex items-center w-full px-3 py-2 text-sm text-textMain hover:bg-white/5 transition-colors`,disabled:fr.value,onClick:t=>B.value&&mr(B.value,e.id)},[c(`span`,{class:l([`inline-flex items-center px-2 py-0.5 rounded text-[10px] border`,P(e.color)])},[y(r(R),{class:`w-3 h-3 mr-1`}),s(h(e.name),1)],2)],8,Nt))),128)),r(_).categories.length===0?(f(),p(`div`,Pt,` 还没有分类,请先在「管理分类」中创建 `)):m(``,!0)])):m(``,!0)]),n[47]||=c(`div`,{class:`border-t border-border my-1`},null,-1),c(`button`,{class:`flex items-center w-full px-3 py-2 text-sm text-danger hover:bg-danger/10 transition-colors`,onClick:n[11]||=e=>{(()=>{let e=r(_).projects.find(e=>e.id===B.value);e&&Me(e.id,e.name)})()}},[y(r(D),{class:`w-3.5 h-3.5 mr-2`}),n[45]||=s(` 删除项目 `,-1)])],4)):m(``,!0)]),_:1})])),xe.value?(f(),p(`div`,Ft,[c(`div`,It,[n[55]||=c(`h2`,{class:`text-xl font-bold text-textMain mb-6`},`新建部署项目`,-1),c(`div`,Lt,[c(`div`,null,[n[48]||=c(`label`,{class:`block text-sm font-medium text-textMuted mb-1.5`},`项目名称`,-1),e(c(`input`,{"onUpdate:modelValue":n[13]||=e=>z.value.name=e,type:`text`,class:`w-full bg-base border border-border rounded-md px-3 py-2 text-textMain focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all text-sm`,placeholder:`e.g. Kite Web Frontend`},null,512),[[k,z.value.name]])]),c(`div`,null,[n[49]||=c(`label`,{class:`block text-sm font-medium text-textMuted mb-1.5`},`部署目录绝对路径 (Destination Path)`,-1),e(c(`input`,{"onUpdate:modelValue":n[14]||=e=>z.value.destPath=e,type:`text`,class:`w-full bg-base border border-border rounded-md px-3 py-2 text-textMain font-mono focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all text-sm`,placeholder:`e.g. /var/www/my-project`},null,512),[[k,z.value.destPath]])]),c(`div`,null,[n[50]||=c(`label`,{class:`block text-sm font-medium text-textMuted mb-1.5`},`部署环境标识 (可选)`,-1),e(c(`input`,{"onUpdate:modelValue":n[15]||=e=>z.value.env=e,type:`text`,class:`w-full bg-base border border-border rounded-md px-3 py-2 text-textMain font-mono focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all text-sm`,placeholder:`e.g. test, staging, prod`},null,512),[[k,z.value.env]]),n[51]||=c(`p`,{class:`text-xs text-textMuted mt-1.5`},[s(` 用于区分同一项目的不同部署环境。设置后,CLI 会生成 `),c(`code`,{class:`font-mono text-textMain`},"kite.config.{`{env}`}.json"),s(` 配置文件, `),c(`code`,{class:`font-mono text-textMain`},"kite push --env {`{name}`}"),s(` 可精准推送到对应环境。 `),c(`span`,{class:`text-primary/80`},`常见场景:同一项目部署到测试/预发/生产等不同机器。`)],-1)]),c(`div`,null,[n[53]||=c(`label`,{class:`block text-sm font-medium text-textMuted mb-1.5`},`分类 (可选)`,-1),e(c(`select`,{"onUpdate:modelValue":n[16]||=e=>z.value.categoryId=e,class:`w-full bg-base border border-border rounded-md px-3 py-2 text-textMain focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all text-sm`},[n[52]||=c(`option`,{value:``},`默认`,-1),(f(!0),p(g,null,d(r(_).categories,e=>(f(),p(`option`,{key:e.id,value:e.id},h(e.name),9,Rt))),128))],512),[[de,z.value.categoryId]])]),c(`div`,null,[n[54]||=c(`label`,{class:`block text-sm font-medium text-textMuted mb-1.5`},`描述 (可选)`,-1),e(c(`textarea`,{"onUpdate:modelValue":n[17]||=e=>z.value.description=e,class:`w-full bg-base border border-border rounded-md px-3 py-2 text-textMain focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all text-sm h-24 resize-none`,placeholder:`简要描述项目的用途...`},null,512),[[k,z.value.description]])])]),c(`div`,zt,[c(`button`,{onClick:n[18]||=e=>xe.value=!1,class:`px-4 py-2 text-sm font-medium text-textMuted hover:text-textMain dark:hover:bg-white/5 hover:bg-black/5 rounded-md transition-colors`},` 取消 `),c(`button`,{onClick:Se,disabled:!z.value.name||!z.value.destPath,class:`px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors`},` 确认创建 `,8,Bt)])])])):m(``,!0),y(Ve,{open:Fe.value,"onUpdate:open":n[19]||=e=>Fe.value=e,mode:`multi`,title:`选择部署目录`,onConfirm:ir},null,8,[`open`]),Ie.value?(f(),p(`div`,{key:3,class:`fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm`,onClick:N(ur,[`self`])},[c(`div`,Vt,[c(`div`,Ht,[c(`div`,null,[n[56]||=c(`h2`,{class:`text-xl font-bold text-textMain`},`批量创建部署项目`,-1),c(`p`,Ut,`将创建 `+h(X.value.length)+` 个项目,默认使用目录名作为项目名,可逐行修改`,1)]),c(`button`,{onClick:ur,disabled:Y.value,class:`text-textMuted hover:text-textMain p-1 disabled:opacity-40`},[y(r(A),{class:`w-5 h-5`})],8,Wt)]),c(`div`,Gt,[y(r(fe),{class:`w-4 h-4 text-yellow-600 dark:text-yellow-400 flex-shrink-0 mt-0.5`}),n[57]||=c(`p`,{class:`text-xs text-yellow-800 dark:text-yellow-200/90`},` 请确认所选目录用于部署。每次部署会在该目录下解压新构建产物,请勿选择关键系统目录或包含重要个人文件的目录。 `,-1)]),c(`div`,Kt,[c(`table`,qt,[n[60]||=c(`thead`,{class:`text-xs text-textMuted sticky top-0 bg-panel`},[c(`tr`,{class:`border-b border-border`},[c(`th`,{class:`text-left font-medium px-3 py-2 w-[18%]`},`项目名`),c(`th`,{class:`text-left font-medium px-3 py-2 w-[36%]`},`部署目录`),c(`th`,{class:`text-left font-medium px-3 py-2 w-[10%]`},`环境标识`),c(`th`,{class:`text-left font-medium px-3 py-2 w-[14%]`},`分类`),c(`th`,{class:`text-left font-medium px-3 py-2 w-[22%]`},`描述`)])],-1),c(`tbody`,null,[(f(!0),p(g,null,d(X.value,t=>(f(),p(`tr`,{key:t.id,class:l([`border-b border-border/60 align-top`,t.status===`success`?`opacity-60`:``])},[c(`td`,Jt,[e(c(`input`,{"onUpdate:modelValue":e=>t.name=e,type:`text`,disabled:t.status===`success`||Y.value,class:l([`w-full bg-base border rounded px-2 py-1.5 text-textMain text-sm focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-60`,Q.value.get(t.id)?.name?`border-danger`:`border-border focus:border-primary`])},null,10,Yt),[[k,t.name]]),Q.value.get(t.id)?.name?(f(),p(`p`,Xt,h(Q.value.get(t.id)?.name),1)):m(``,!0)]),c(`td`,Zt,[e(c(`textarea`,{"onUpdate:modelValue":e=>t.destPath=e,rows:`2`,spellcheck:`false`,disabled:t.status===`success`||Y.value,class:l([`w-full bg-base border rounded px-2 py-1.5 text-textMain font-mono text-xs leading-5 focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-60 resize-y whitespace-pre-wrap break-all`,Q.value.get(t.id)?.dest?`border-danger`:`border-border focus:border-primary`]),title:t.destPath},null,10,Qt),[[k,t.destPath]]),Q.value.get(t.id)?.dest?(f(),p(`p`,$t,h(Q.value.get(t.id)?.dest),1)):m(``,!0),t.status===`failed`&&t.errorMsg?(f(),p(`p`,en,h(t.errorMsg),1)):m(``,!0)]),c(`td`,tn,[e(c(`input`,{"onUpdate:modelValue":e=>t.env=e,type:`text`,placeholder:`test/prod`,disabled:t.status===`success`||Y.value,class:`w-full bg-base border border-border rounded px-2 py-1.5 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 disabled:opacity-60`},null,8,nn),[[k,t.env]])]),c(`td`,rn,[e(c(`select`,{"onUpdate:modelValue":e=>t.categoryId=e,disabled:t.status===`success`||Y.value,class:`w-full bg-base border border-border rounded px-2 py-1.5 text-textMain text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 disabled:opacity-60`},[n[58]||=c(`option`,{value:``},`默认`,-1),(f(!0),p(g,null,d(r(_).categories,e=>(f(),p(`option`,{key:e.id,value:e.id},h(e.name),9,on))),128))],8,an),[[de,t.categoryId]])]),c(`td`,sn,[c(`div`,cn,[e(c(`input`,{"onUpdate:modelValue":e=>t.description=e,type:`text`,placeholder:`可选`,disabled:t.status===`success`||Y.value,class:`flex-1 min-w-0 bg-base border border-border rounded px-2 py-1.5 text-textMain text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 disabled:opacity-60`},null,8,ln),[[k,t.description]]),t.status===`success`?m(``,!0):(f(),p(`button`,{key:0,onClick:e=>ar(t.id),disabled:Y.value,class:`shrink-0 mt-1.5 text-textMuted hover:text-danger disabled:opacity-40`,title:`移除该行`},[y(r(D),{class:`w-3.5 h-3.5`})],8,un))])])],2))),128)),X.value.length===0?(f(),p(`tr`,dn,[...n[59]||=[c(`td`,{colspan:`5`,class:`px-3 py-8 text-center text-textMuted text-sm`},`没有待创建的项目`,-1)]])):m(``,!0)])])]),c(`div`,fn,[c(`div`,pn,[c(`button`,{onClick:rr,disabled:Y.value,class:`flex items-center px-3 py-1.5 text-xs border border-border rounded-md text-textMuted hover:text-textMain disabled:opacity-40`},[y(r(F),{class:`w-3.5 h-3.5 mr-1.5`}),n[61]||=s(` 继续添加 `,-1)],8,mn),c(`div`,hn,` 共 `+h($.value.total)+` · 待提交 `+h($.value.pending)+` · 成功 `+h($.value.success)+` · 失败 `+h($.value.failed),1)]),c(`div`,gn,[c(`button`,{onClick:ur,disabled:Y.value,class:`px-4 py-2 text-sm font-medium text-textMuted hover:text-textMain dark:hover:bg-white/5 hover:bg-black/5 rounded-md transition-colors disabled:opacity-50`},h($.value.success>0?`完成`:`取消`),9,_n),c(`button`,{onClick:lr,disabled:!cr.value,class:`px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center`},[Y.value?(f(),u(r(T),{key:0,class:`w-4 h-4 mr-2 animate-spin`})):m(``,!0),s(` `+h(Y.value?`提交中…`:`提交(${$.value.pending})`),1)],8,vn)])])])])):m(``,!0),(f(),u(ee,{to:`body`},[B.value?(f(),p(`div`,{key:0,class:`fixed inset-0`,style:{"z-index":`55`},onClick:V})):m(``,!0)])),H.value?(f(),p(`div`,{key:4,class:`fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm`,onClick:n[22]||=N(e=>H.value=!1,[`self`])},[c(`div`,yn,[n[64]||=c(`h2`,{class:`text-lg font-semibold text-textMain mb-4`},`重命名项目`,-1),c(`div`,null,[n[62]||=c(`label`,{class:`block text-sm font-medium text-textMuted mb-1.5`},`项目名称`,-1),e(c(`input`,{"onUpdate:modelValue":n[20]||=e=>W.value=e,type:`text`,disabled:G.value,class:`w-full bg-base border border-border rounded-md px-3 py-2 text-textMain focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all text-sm disabled:opacity-60`,placeholder:`输入新的项目名称`,onKeydown:O(N(Ae,[`prevent`]),[`enter`])},null,40,bn),[[k,W.value]])]),c(`div`,xn,[c(`button`,{onClick:n[21]||=e=>H.value=!1,disabled:G.value,class:`px-4 py-2 text-sm font-medium text-textMuted hover:text-textMain dark:hover:bg-white/5 hover:bg-black/5 rounded-md transition-colors disabled:opacity-50`},`取消`,8,Sn),c(`button`,{onClick:Ae,disabled:G.value||!W.value.trim()||W.value.trim()===U.value?.name,class:`px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center`},[G.value?(f(),u(r(T),{key:0,class:`w-4 h-4 mr-2 animate-spin`})):m(``,!0),n[63]||=s(` 确认 `,-1)],8,Cn)])])])):m(``,!0),K.value?(f(),p(`div`,{key:5,class:`fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm`,onClick:n[25]||=N(e=>!J.value&&(K.value=!1),[`self`])},[c(`div`,wn,[c(`div`,Tn,[c(`div`,En,[y(r(fe),{class:`w-5 h-5 text-danger`})]),c(`div`,null,[n[67]||=c(`h2`,{class:`text-lg font-semibold text-textMain`},`确认删除项目`,-1),c(`p`,Dn,[n[65]||=s(` 即将删除项目 `,-1),c(`span`,On,h(q.value?.name),1),n[66]||=s(`, 此操作不可恢复。 `,-1)])])]),c(`div`,kn,[c(`label`,An,[n[68]||=s(` 请输入项目名称 `,-1),c(`span`,jn,h(q.value?.name),1),n[69]||=s(` 以确认删除 `,-1)]),e(c(`input`,{"onUpdate:modelValue":n[23]||=e=>je.value=e,type:`text`,disabled:J.value,placeholder:q.value?.name,class:`w-full bg-base border border-border rounded-md px-3 py-2 text-textMain font-mono focus:outline-none focus:border-danger focus:ring-1 focus:ring-danger/50 transition-all text-sm disabled:opacity-60`,onKeydown:O(N(Pe,[`prevent`]),[`enter`])},null,40,Mn),[[k,je.value]])]),c(`div`,Nn,[c(`button`,{onClick:n[24]||=e=>K.value=!1,disabled:J.value,class:`px-4 py-2 text-sm font-medium text-textMuted hover:text-textMain dark:hover:bg-white/5 hover:bg-black/5 rounded-md transition-colors disabled:opacity-50`},`取消`,8,Pn),c(`button`,{onClick:Pe,disabled:!Ne.value,class:`px-4 py-2 text-sm font-medium bg-danger text-white rounded-md hover:bg-danger/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center`},[J.value?(f(),u(r(T),{key:0,class:`w-4 h-4 mr-2 animate-spin`})):(f(),u(r(D),{key:1,class:`w-4 h-4 mr-2`})),s(` `+h(J.value?`正在删除...`:`永久删除`),1)],8,Fn)])])])):m(``,!0),hr.value?(f(),p(`div`,{key:6,class:`fixed inset-0 z-50 flex items-center justify-center bg-black/60 backdrop-blur-sm`,onClick:n[30]||=N(e=>hr.value=!1,[`self`])},[c(`div`,In,[c(`div`,Ln,[n[70]||=c(`div`,null,[c(`h2`,{class:`text-xl font-bold text-textMain`},`管理分类`),c(`p`,{class:`text-xs text-textMuted mt-1`},`创建、编辑、删除分类。删除分类后,相关项目将回落到「默认」。`)],-1),c(`button`,{onClick:n[26]||=e=>hr.value=!1,class:`text-textMuted hover:text-textMain p-1`},[y(r(A),{class:`w-5 h-5`})])]),c(`div`,Rn,[n[72]||=c(`label`,{class:`block text-sm font-medium text-textMuted mb-2`},`新建分类`,-1),c(`div`,zn,[e(c(`input`,{"onUpdate:modelValue":n[27]||=e=>gr.value=e,type:`text`,placeholder:`如:前端 / 后端 / 测试环境`,disabled:_r.value,class:`flex-1 bg-base border border-border rounded-md px-3 py-2 text-textMain focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all text-sm disabled:opacity-60`,onKeydown:O(N(Tr,[`prevent`]),[`enter`])},null,40,Bn),[[k,gr.value]]),c(`button`,{onClick:Tr,disabled:_r.value||!gr.value.trim(),class:`px-4 py-2 text-sm font-medium bg-primary text-white rounded-md hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors flex items-center`},[_r.value?(f(),u(r(T),{key:0,class:`w-4 h-4 mr-2 animate-spin`})):(f(),u(r(w),{key:1,class:`w-4 h-4 mr-1`})),n[71]||=s(` 新建 `,-1)],8,Vn)]),n[73]||=c(`p`,{class:`text-xs text-textMuted mt-2`},`颜色将自动分配,不同分类之间不重复。`,-1)]),c(`div`,Hn,[r(_).categories.length===0?(f(),p(`div`,Un,` 还没有分类,新建一个吧 `)):(f(),p(`ul`,Wn,[(f(!0),p(g,null,d(r(_).categories,t=>(f(),p(`li`,{key:t.id,class:`py-3 flex items-center justify-between gap-3`},[vr.value===t.id?(f(),p(g,{key:0},[e(c(`input`,{"onUpdate:modelValue":n[28]||=e=>yr.value=e,type:`text`,disabled:br.value,class:`flex-1 bg-base border border-border rounded-md px-3 py-2 text-textMain focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all text-sm disabled:opacity-60`,onKeydown:O(N(Or,[`prevent`]),[`enter`])},null,40,Gn),[[k,yr.value]]),c(`button`,{onClick:Or,disabled:br.value||!yr.value.trim(),class:`px-3 py-1.5 text-xs font-medium bg-primary text-white rounded-md hover:bg-primary/90 disabled:opacity-50 transition-colors`},`保存`,8,Kn),c(`button`,{onClick:Dr,disabled:br.value,class:`px-3 py-1.5 text-xs font-medium text-textMuted hover:text-textMain transition-colors`},`取消`,8,qn)],64)):(f(),p(g,{key:1},[c(`span`,{class:l([`inline-flex items-center px-2 py-1 rounded text-xs border`,P(t.color)])},[y(r(R),{class:`w-3 h-3 mr-1.5`}),s(` `+h(t.name),1)],2),c(`span`,Jn,h(M.value[t.id]||0)+` 个项目`,1),c(`button`,{onClick:e=>Er(t),class:`px-3 py-1.5 text-xs font-medium text-textMuted hover:text-textMain transition-colors flex items-center`},[y(r(ve),{class:`w-3 h-3 mr-1`}),n[74]||=s(` 编辑 `,-1)],8,Yn),c(`button`,{onClick:e=>kr(t),disabled:xr.value===t.id,class:`px-3 py-1.5 text-xs font-medium text-danger hover:bg-danger/10 rounded-md transition-colors flex items-center disabled:opacity-50`},[xr.value===t.id?(f(),u(r(T),{key:0,class:`w-3 h-3 mr-1 animate-spin`})):(f(),u(r(D),{key:1,class:`w-3 h-3 mr-1`})),n[75]||=s(` 删除 `,-1)],8,Xn)],64))]))),128))]))]),c(`div`,Zn,[c(`button`,{onClick:n[29]||=e=>hr.value=!1,class:`px-4 py-2 text-sm font-medium text-textMuted hover:text-textMain dark:hover:bg-white/5 hover:bg-black/5 rounded-md transition-colors`},`完成`)])])])):m(``,!0)]))}}),[[`__scopeId`,`data-v-1f9f478f`]]);export{tr as default};
@@ -0,0 +1 @@
1
+ import{B as e,E as t,H as n,K as r,P as ee,_ as i,d as a,dt as o,f as s,j as c,k as l,m as u,n as te,p as d,pt as f,s as p,t as m,v as h,y as g}from"./createLucideIcon-CE-ry2oA.js";import{t as _}from"./activity-Ba-YPfmn.js";import{t as ne}from"./copy-C1rADgcQ.js";import{t as re}from"./eye-off-4PD31MPV.js";import{t as ie}from"./eye-Cas8HsmK.js";import{t as ae}from"./hard-drive-CGWwV4Ei.js";import{n as v,t as oe}from"./save-BuzCP3T1.js";import{i as se,n as ce,r as le,t as y}from"./sun-BaEbKNDV.js";import{t as b}from"./refresh-cw-0yb8DZDc.js";import{t as ue}from"./server-B31hj0g7.js";import{c as de,g as x,i as S,p as fe,s as C}from"./index-BFE6PEIL.js";var pe=m(`heart-pulse`,[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`,key:`mvr1a0`}],[`path`,{d:`M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27`,key:`auskq0`}]]),me=m(`webhook`,[[`path`,{d:`M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2`,key:`q3hayz`}],[`path`,{d:`m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06`,key:`1go1hn`}],[`path`,{d:`m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8`,key:`qlwsc0`}]]),he={class:`max-w-4xl mx-auto space-y-6 pb-12`},w={class:`flex items-center space-x-3 mb-8`},T={class:`bg-panel border border-border rounded-xl shadow-sm overflow-hidden`},E={class:`px-6 py-5 border-b border-border dark:bg-white/[0.02] bg-black/[0.02]`},D={class:`text-lg font-semibold text-textMain flex items-center`},O={class:`p-6`},k={key:0,class:`grid grid-cols-2 md:grid-cols-4 gap-4`},A={class:`bg-base border border-border rounded-lg p-4 text-center`},j={class:`text-2xl font-bold text-primary`},M={class:`bg-base border border-border rounded-lg p-4 text-center`},N={class:`text-2xl font-bold text-textMain`},P={class:`bg-base border border-border rounded-lg p-4 text-center`},F={class:`text-2xl font-bold text-textMain`},I={class:`bg-base border border-border rounded-lg p-4 text-center`},L={class:`text-2xl font-bold text-textMain`},R={class:`bg-base border border-border rounded-lg p-4 text-center`},ge={class:`text-2xl font-bold text-success`},_e={class:`bg-base border border-border rounded-lg p-4 text-center`},ve={class:`text-2xl font-bold text-danger`},ye={class:`bg-base border border-border rounded-lg p-4 text-center col-span-2`},be={class:`flex items-center justify-center space-x-2`},xe={class:`text-2xl font-bold text-textMain`},Se={key:1,class:`text-textMuted text-sm py-4 text-center`},Ce={class:`bg-panel border border-border rounded-xl shadow-sm overflow-hidden`},we={class:`px-6 py-5 border-b border-border dark:bg-white/[0.02] bg-black/[0.02] flex items-center justify-between`},Te={class:`text-lg font-semibold text-textMain flex items-center`},Ee=[`disabled`],De={class:`p-6`},Oe={key:0,class:`text-textMuted text-sm py-4 text-center`},ke={key:1,class:`text-textMuted text-sm py-4 text-center`},Ae={key:2,class:`grid grid-cols-2 md:grid-cols-4 gap-4`},je={class:`bg-base border border-border rounded-lg p-4`},Me={class:`flex items-center justify-between mb-1`},Ne=[`title`],Pe={class:`text-xs text-textMuted mt-1`},Fe={class:`bg-base border border-border rounded-lg p-4`},Ie={class:`flex items-center justify-between mb-1`},Le=[`title`],Re={class:`text-xs text-textMuted mt-1`},ze={class:`bg-base border border-border rounded-lg p-4`},Be={class:`flex items-center justify-between mb-1`},Ve={class:`text-xs text-textMuted mt-1`},He={class:`bg-base border border-border rounded-lg p-4`},z={class:`flex items-center justify-between mb-1`},Ue={class:`text-sm font-mono text-textMain`},We={class:`text-xs text-textMuted mt-1`},Ge={class:`bg-base border border-border rounded-lg p-4 col-span-2`},Ke={class:`text-sm font-mono text-textMain`},qe={class:`text-xs text-textMuted mt-1`},Je={class:`bg-base border border-border rounded-lg p-4 col-span-2`},Ye={class:`text-sm font-mono text-textMain`},Xe={class:`text-xs text-textMuted mt-1`},Ze={class:`bg-panel border border-border rounded-xl shadow-sm overflow-hidden`},Qe={class:`px-6 py-5 border-b border-border dark:bg-white/[0.02] bg-black/[0.02]`},$e={class:`text-lg font-semibold text-textMain flex items-center`},et={class:`p-6`},tt={class:`grid grid-cols-1 sm:grid-cols-3 gap-3`},nt=[`onClick`],rt={class:`text-xs text-textMuted mt-1`},it={class:`bg-panel border border-border rounded-xl shadow-sm overflow-hidden`},at={class:`px-6 py-5 border-b border-border dark:bg-white/[0.02] bg-black/[0.02]`},ot={class:`text-lg font-semibold text-textMain flex items-center`},st={class:`p-6 space-y-4`},ct={class:`pt-2 flex justify-end`},lt={class:`bg-panel border border-border rounded-xl shadow-sm overflow-hidden`},ut={class:`px-6 py-5 border-b border-border dark:bg-white/[0.02] bg-black/[0.02]`},dt={class:`text-lg font-semibold text-textMain flex items-center`},ft={class:`p-6 space-y-4`},pt={class:`flex gap-2`},mt={class:`relative flex-1`},ht=[`type`],gt=[`disabled`],_t={class:`bg-panel border border-border rounded-xl shadow-sm overflow-hidden`},vt={class:`px-6 py-5 border-b border-border dark:bg-white/[0.02] bg-black/[0.02]`},yt={class:`text-lg font-semibold text-textMain flex items-center`},bt={class:`p-6 space-y-4`},xt={class:`flex flex-wrap gap-3`},St=[`onClick`],Ct={class:`flex items-center justify-end space-x-4 pt-4`},wt=[`disabled`],B=g({__name:`Settings`,setup(m){let g=te(),B=de(),Tt=[{value:`light`,label:`浅色模式`,icon:y,desc:`始终使用浅色主题`},{value:`dark`,label:`深色模式`,icon:le,desc:`始终使用深色主题`},{value:`system`,label:`跟随系统`,icon:se,desc:`自动匹配系统外观设置`}],V=n(null),H=n(null),U=n(!1),W=async()=>{U.value=!0,H.value=await g.fetchHealthDetail(),U.value=!1},Et=e=>{if(e==null)return`N/A`;let t=e/1024/1024/1024;return t>=1?`${t.toFixed(2)} GB`:`${(e/1024/1024).toFixed(1)} MB`},G=e=>e==null?`text-textMuted`:e>=95?`text-danger`:e>=85?`text-yellow-400`:`text-success`,K=n({webhook_url:``,webhook_events:[],default_deploy_path:``,max_upload_size:`50`,global_deploy_token:``,artifact_keep_n:`10`}),q=n(!1),J=n(!1),Dt=()=>{K.value.global_deploy_token&&(navigator.clipboard.writeText(K.value.global_deploy_token),J.value=!0,setTimeout(()=>J.value=!1,2e3))},Y=n({oldToken:``,newToken:``,confirmPassword:``}),X=n(``),Z=n(`success`),Q=n(!1),$=n(``),Ot=[{key:`deploy_success`,label:`部署成功`},{key:`deploy_failure`,label:`部署失败`}];t(async()=>{let[e,t]=await Promise.all([g.fetchSettings(),g.fetchSystemStatus()]);V.value=t,e&&(K.value.webhook_url=e.webhook_url||``,K.value.webhook_events=e.webhook_events?e.webhook_events.split(`,`):[],K.value.default_deploy_path=e.default_deploy_path||``,K.value.max_upload_size=e.max_upload_size||`50`,K.value.global_deploy_token=e.global_deploy_token||``,K.value.artifact_keep_n=e.artifact_keep_n||`10`),W()});let kt=async()=>{Q.value=!0,$.value=``,$.value=await g.updateSettings({webhook_url:K.value.webhook_url,webhook_events:K.value.webhook_events.join(`,`),default_deploy_path:K.value.default_deploy_path,max_upload_size:K.value.max_upload_size,global_deploy_token:K.value.global_deploy_token,artifact_keep_n:K.value.artifact_keep_n})?`保存成功`:`保存失败`,Q.value=!1,setTimeout(()=>$.value=``,3e3)},At=async()=>{if(X.value=``,Y.value.newToken!==Y.value.confirmPassword){X.value=`两次输入的新 Token 不一致`,Z.value=`error`;return}if(Y.value.newToken.length<8){X.value=`新 Token 长度不能少于 8 位`,Z.value=`error`;return}let e=await g.changeAdminToken(Y.value.oldToken,Y.value.newToken);e.success?(X.value=e.message||`Token 已更新`,Z.value=`success`,Y.value={oldToken:``,newToken:``,confirmPassword:``}):(X.value=e.error||`修改失败`,Z.value=`error`)},jt=()=>{let e=crypto.randomUUID().replace(/-/g,``);K.value.global_deploy_token=`kt_${e}`},Mt=e=>{let t=K.value.webhook_events.indexOf(e);t>=0?K.value.webhook_events.splice(t,1):K.value.webhook_events.push(e)};return(t,n)=>(l(),u(`div`,he,[a(`div`,w,[h(r(ce),{class:`w-7 h-7 text-primary`}),n[9]||=a(`h1`,{class:`text-2xl font-bold text-textMain tracking-tight`},`系统设置`,-1)]),a(`div`,T,[a(`div`,E,[a(`h2`,D,[h(r(ue),{class:`w-5 h-5 mr-2 text-primary`}),n[10]||=i(` 系统信息 `,-1)])]),a(`div`,O,[V.value?(l(),u(`div`,k,[a(`div`,A,[a(`p`,j,f(V.value.version),1),n[11]||=a(`p`,{class:`text-xs text-textMuted mt-1`},`版本号`,-1)]),a(`div`,M,[a(`p`,N,f(V.value.uptime),1),n[12]||=a(`p`,{class:`text-xs text-textMuted mt-1`},`运行时间`,-1)]),a(`div`,P,[a(`p`,F,f(V.value.projectCount),1),n[13]||=a(`p`,{class:`text-xs text-textMuted mt-1`},`项目总数`,-1)]),a(`div`,I,[a(`p`,L,f(V.value.deploymentCount),1),n[14]||=a(`p`,{class:`text-xs text-textMuted mt-1`},`部署总次数`,-1)]),a(`div`,R,[a(`p`,ge,f(V.value.successCount),1),n[15]||=a(`p`,{class:`text-xs text-textMuted mt-1`},`成功部署`,-1)]),a(`div`,_e,[a(`p`,ve,f(V.value.failedCount),1),n[16]||=a(`p`,{class:`text-xs text-textMuted mt-1`},`失败次数`,-1)]),a(`div`,ye,[a(`div`,be,[h(r(_),{class:`w-5 h-5 text-primary`}),a(`p`,xe,f(V.value.successRate)+`%`,1)]),n[17]||=a(`p`,{class:`text-xs text-textMuted mt-1`},`部署成功率`,-1)])])):(l(),u(`div`,Se,`加载中...`))])]),a(`div`,Ce,[a(`div`,we,[a(`div`,null,[a(`h2`,Te,[h(r(pe),{class:`w-5 h-5 mr-2 text-primary`}),n[18]||=i(` 服务健康 `,-1)]),n[19]||=a(`p`,{class:`text-sm text-textMuted mt-1`},[i(`实时探活 DB、磁盘、Kite Home 与最近部署成功率,等同 `),a(`code`,{class:`font-mono text-primary`},`kite doctor`),i(` 远端段。`)],-1)]),a(`button`,{onClick:W,disabled:U.value,class:`flex items-center px-3 py-2 bg-base border border-border rounded-md text-textMuted hover:text-textMain hover:border-primary/50 transition-all disabled:opacity-50`,type:`button`},[h(r(b),{class:o([`w-4 h-4`,U.value?`animate-spin`:``])},null,8,[`class`])],8,Ee)]),a(`div`,De,[!H.value&&!U.value?(l(),u(`div`,Oe,`暂无数据`)):U.value&&!H.value?(l(),u(`div`,ke,`加载中...`)):(l(),u(`div`,Ae,[a(`div`,je,[a(`div`,Me,[n[20]||=a(`p`,{class:`text-xs text-textMuted`},`DB`,-1),H.value.db?.ok?(l(),s(r(C),{key:0,class:`w-4 h-4 text-success`})):(l(),s(r(S),{key:1,class:`w-4 h-4 text-danger`}))]),a(`p`,{class:`text-sm font-mono text-textMain truncate`,title:H.value.db?.path},f(H.value.db?.path||`N/A`),9,Ne),a(`p`,Pe,f(H.value.db?.latencyMs??`?`)+` ms`,1)]),a(`div`,Fe,[a(`div`,Ie,[n[21]||=a(`p`,{class:`text-xs text-textMuted`},`Kite Home`,-1),H.value.kiteHome?.writable?(l(),s(r(C),{key:0,class:`w-4 h-4 text-success`})):(l(),s(r(S),{key:1,class:`w-4 h-4 text-danger`}))]),a(`p`,{class:`text-sm font-mono text-textMain truncate`,title:H.value.kiteHome?.path},f(H.value.kiteHome?.path||`N/A`),9,Le),a(`p`,Re,`tmp `+f(H.value.kiteHome?.tmpWritable?`可写`:`不可写`),1)]),a(`div`,ze,[a(`div`,Be,[n[22]||=a(`p`,{class:`text-xs text-textMuted`},`磁盘`,-1),h(r(_),{class:o([`w-4 h-4`,G(H.value.disk?.percentUsed)])},null,8,[`class`])]),a(`p`,{class:o([`text-sm font-mono`,G(H.value.disk?.percentUsed)])},f(H.value.disk?.percentUsed==null?`N/A`:H.value.disk.percentUsed+`%`),3),a(`p`,Ve,f(Et(H.value.disk?.freeBytes))+` 可用`,1)]),a(`div`,He,[a(`div`,z,[n[23]||=a(`p`,{class:`text-xs text-textMuted`},`最近 5 次部署`,-1),h(r(_),{class:`w-4 h-4 text-primary`})]),a(`p`,Ue,f(H.value.deploy?.successRate==null?`N/A`:Math.round(H.value.deploy.successRate*100)+`%`),1),a(`p`,We,`共 `+f(H.value.deploy?.last5?.length??0)+` 条`,1)]),a(`div`,Ge,[n[24]||=a(`p`,{class:`text-xs text-textMuted mb-1`},`Runtime`,-1),a(`p`,Ke,f(H.value.runtime?.name)+` `+f(H.value.runtime?.version),1),a(`p`,qe,`uptime `+f(H.value.uptimeSec)+`s · 内存 RSS `+f(H.value.memoryMB?.rss)+`MB / Heap `+f(H.value.memoryMB?.heapUsed)+`MB`,1)]),a(`div`,Je,[n[25]||=a(`p`,{class:`text-xs text-textMuted mb-1`},`服务器时间`,-1),a(`p`,Ye,f(H.value.serverTime),1),a(`p`,Xe,`version `+f(H.value.version),1)])]))])]),a(`div`,Ze,[a(`div`,Qe,[a(`h2`,$e,[h(r(y),{class:`w-5 h-5 mr-2 text-primary`}),n[26]||=i(` 外观设置 `,-1)]),n[27]||=a(`p`,{class:`text-sm text-textMuted mt-1`},`选择界面的色彩方案,或跟随系统自动切换。`,-1)]),a(`div`,et,[a(`div`,tt,[(l(),u(p,null,c(Tt,e=>a(`button`,{key:e.value,onClick:t=>r(B).setMode(e.value),class:o([`relative flex flex-col items-center p-4 rounded-lg border-2 transition-all`,r(B).mode===e.value?`border-primary bg-primary/5 shadow-[0_0_12px_rgba(59,130,246,0.15)]`:`border-border hover:border-textMuted/50 bg-base`])},[(l(),s(ee(e.icon),{class:o([`w-6 h-6 mb-2`,r(B).mode===e.value?`text-primary`:`text-textMuted`])},null,8,[`class`])),a(`span`,{class:o([`text-sm font-medium`,r(B).mode===e.value?`text-primary`:`text-textMain`])},f(e.label),3),a(`span`,rt,f(e.desc),1),r(B).mode===e.value?(l(),s(r(C),{key:0,class:`absolute top-2 right-2 w-4 h-4 text-primary`})):d(``,!0)],10,nt)),64))])])]),a(`div`,it,[a(`div`,at,[a(`h2`,ot,[h(r(v),{class:`w-5 h-5 mr-2 text-primary`}),n[28]||=i(` 管理员 Token `,-1)]),n[29]||=a(`p`,{class:`text-sm text-textMuted mt-1`},`修改管理后台的登录凭证。修改后需使用新 Token 重新登录。`,-1)]),a(`div`,st,[a(`div`,null,[n[30]||=a(`label`,{class:`block text-sm font-medium text-textMain mb-2`},`当前 Token`,-1),e(a(`input`,{"onUpdate:modelValue":n[0]||=e=>Y.value.oldToken=e,type:`password`,class:`w-full bg-base border border-border rounded-md px-4 py-3 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all`,placeholder:`请输入当前 Token`},null,512),[[x,Y.value.oldToken]])]),a(`div`,null,[n[31]||=a(`label`,{class:`block text-sm font-medium text-textMain mb-2`},`新 Token`,-1),e(a(`input`,{"onUpdate:modelValue":n[1]||=e=>Y.value.newToken=e,type:`password`,class:`w-full bg-base border border-border rounded-md px-4 py-3 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all`,placeholder:`请输入新 Token(至少 8 位)`},null,512),[[x,Y.value.newToken]])]),a(`div`,null,[n[32]||=a(`label`,{class:`block text-sm font-medium text-textMain mb-2`},`确认新 Token`,-1),e(a(`input`,{"onUpdate:modelValue":n[2]||=e=>Y.value.confirmPassword=e,type:`password`,class:`w-full bg-base border border-border rounded-md px-4 py-3 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all`,placeholder:`请再次输入新 Token`},null,512),[[x,Y.value.confirmPassword]])]),X.value?(l(),u(`div`,{key:0,class:o([`flex items-center space-x-2 text-sm`,Z.value===`success`?`text-success`:`text-danger`])},[Z.value===`success`?(l(),s(r(C),{key:0,class:`w-4 h-4`})):(l(),s(r(S),{key:1,class:`w-4 h-4`})),a(`span`,null,f(X.value),1)],2)):d(``,!0),a(`div`,ct,[a(`button`,{onClick:At,class:`flex items-center px-6 py-2.5 bg-primary hover:bg-primary/90 text-white rounded-md transition-all font-medium shadow-[0_0_15px_rgba(59,130,246,0.3)]`},[h(r(v),{class:`w-4 h-4 mr-2`}),n[33]||=i(` 修改 Token `,-1)])])])]),a(`div`,lt,[a(`div`,ut,[a(`h2`,dt,[h(r(ae),{class:`w-5 h-5 mr-2 text-primary`}),n[34]||=i(` 全局部署配置 `,-1)]),n[35]||=a(`p`,{class:`text-sm text-textMuted mt-1`},`设置全局默认的部署参数,可在项目级别覆盖。`,-1)]),a(`div`,ft,[a(`div`,null,[n[36]||=a(`label`,{class:`block text-sm font-medium text-textMain mb-2`},`全局部署 Token`,-1),a(`div`,pt,[a(`div`,mt,[e(a(`input`,{"onUpdate:modelValue":n[3]||=e=>K.value.global_deploy_token=e,type:q.value?`text`:`password`,class:`w-full bg-base border border-border rounded-md px-4 py-3 pr-10 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all`,placeholder:`留空则不启用全局 Token`},null,8,ht),[[fe,K.value.global_deploy_token]]),a(`button`,{onClick:n[4]||=e=>q.value=!q.value,class:`absolute right-3 top-1/2 -translate-y-1/2 text-textMuted hover:text-textMain transition-colors`,type:`button`},[q.value?(l(),s(r(re),{key:0,class:`w-4 h-4`})):(l(),s(r(ie),{key:1,class:`w-4 h-4`}))])]),a(`button`,{onClick:jt,class:`flex items-center px-3 bg-base border border-border rounded-md text-textMuted hover:text-textMain hover:border-primary/50 transition-all`,title:`生成随机 Token`,type:`button`},[h(r(b),{class:`w-4 h-4`})]),a(`button`,{onClick:Dt,disabled:!K.value.global_deploy_token,class:`flex items-center px-3 bg-base border border-border rounded-md text-textMuted hover:text-textMain hover:border-primary/50 transition-all disabled:opacity-50 disabled:cursor-not-allowed`,title:`复制 Token`,type:`button`},[J.value?(l(),s(r(C),{key:0,class:`w-4 h-4 text-success`})):(l(),s(r(ne),{key:1,class:`w-4 h-4`}))],8,gt)]),n[37]||=a(`p`,{class:`text-xs text-textMuted mt-2`},`所有项目共用的部署 Token。CLI 使用全局 Token 时,配合 --project 指定项目即可部署,无需为每个项目单独配置 Token。留空则禁用。`,-1)]),a(`div`,null,[n[38]||=a(`label`,{class:`block text-sm font-medium text-textMain mb-2`},`默认部署路径`,-1),e(a(`input`,{"onUpdate:modelValue":n[5]||=e=>K.value.default_deploy_path=e,type:`text`,class:`w-full bg-base border border-border rounded-md px-4 py-3 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all`,placeholder:`e.g. .deployments`},null,512),[[x,K.value.default_deploy_path]]),n[39]||=a(`p`,{class:`text-xs text-textMuted mt-2`},`新项目创建时的默认部署目录(相对于工作目录)。`,-1)]),a(`div`,null,[n[40]||=a(`label`,{class:`block text-sm font-medium text-textMain mb-2`},`最大上传大小 (MB)`,-1),e(a(`input`,{"onUpdate:modelValue":n[6]||=e=>K.value.max_upload_size=e,type:`number`,min:`1`,max:`500`,class:`w-full bg-base border border-border rounded-md px-4 py-3 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all`,placeholder:`50`},null,512),[[x,K.value.max_upload_size]]),n[41]||=a(`p`,{class:`text-xs text-textMuted mt-2`},`单次部署上传的 ZIP 文件大小上限。`,-1)]),a(`div`,null,[n[42]||=a(`label`,{class:`block text-sm font-medium text-textMain mb-2`},`归档保留份数 (artifact_keep_n)`,-1),e(a(`input`,{"onUpdate:modelValue":n[7]||=e=>K.value.artifact_keep_n=e,type:`number`,min:`1`,max:`500`,class:`w-full bg-base border border-border rounded-md px-4 py-3 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all`,placeholder:`10`},null,512),[[x,K.value.artifact_keep_n]]),n[43]||=a(`p`,{class:`text-xs text-textMuted mt-2`},[i(` 每个项目保留最近多少份部署归档 ZIP(位于 `),a(`code`,{class:`font-mono text-textMain`},`~/.kite/deployments/<projectId>/artifacts/`),i(`),超出部分按时间倒序清理。 归档保留越多,可回滚的历史越长,占用磁盘也越大。被任何 `),a(`code`,{class:`font-mono text-textMain`},`rollback`),i(` 引用的归档不会被清理。 `)],-1)])])]),a(`div`,_t,[a(`div`,vt,[a(`h2`,yt,[h(r(me),{class:`w-5 h-5 mr-2 text-primary`}),n[44]||=i(` Webhook 通知 `,-1)]),n[45]||=a(`p`,{class:`text-sm text-textMuted mt-1`},`部署事件发生时,向指定 URL 发送 POST 通知。`,-1)]),a(`div`,bt,[a(`div`,null,[n[46]||=a(`label`,{class:`block text-sm font-medium text-textMain mb-2`},`Webhook URL`,-1),e(a(`input`,{"onUpdate:modelValue":n[8]||=e=>K.value.webhook_url=e,type:`url`,class:`w-full bg-base border border-border rounded-md px-4 py-3 text-textMain font-mono text-sm focus:outline-none focus:border-primary focus:ring-1 focus:ring-primary/50 transition-all`,placeholder:`https://example.com/webhook`},null,512),[[x,K.value.webhook_url]]),n[47]||=a(`p`,{class:`text-xs text-textMuted mt-2`},`留空则不发送通知。支持飞书、钉钉、Slack 等标准 Webhook。`,-1)]),a(`div`,null,[n[48]||=a(`label`,{class:`block text-sm font-medium text-textMain mb-3`},`触发事件`,-1),a(`div`,xt,[(l(),u(p,null,c(Ot,e=>a(`button`,{key:e.key,onClick:t=>Mt(e.key),class:o([`flex items-center px-4 py-2 rounded-md text-sm font-medium border transition-all`,K.value.webhook_events.includes(e.key)?`bg-primary/10 border-primary/30 text-primary`:`bg-base border-border text-textMuted hover:border-primary/30 hover:text-textMain`])},[K.value.webhook_events.includes(e.key)?(l(),s(r(C),{key:0,class:`w-4 h-4 mr-2`})):d(``,!0),i(` `+f(e.label),1)],10,St)),64))])])])]),a(`div`,Ct,[$.value?(l(),u(`span`,{key:0,class:o([`text-sm`,$.value===`保存成功`?`text-success`:`text-danger`])},f($.value),3)):d(``,!0),a(`button`,{onClick:kt,disabled:Q.value,class:`flex items-center px-6 py-2.5 bg-primary hover:bg-primary/90 text-white rounded-md transition-all font-medium shadow-[0_0_15px_rgba(59,130,246,0.3)] disabled:opacity-50`},[h(r(oe),{class:`w-4 h-4 mr-2`}),i(` `+f(Q.value?`保存中...`:`保存配置`),1)],8,wt)])]))}});export{B as default};
@@ -0,0 +1 @@
1
+ import{E as e,H as t,K as n,P as r,_ as i,d as a,dt as o,f as ee,ft as s,j as c,k as l,m as u,n as te,p as d,pt as f,s as p,u as m,v as h,y as ne,z as re}from"./createLucideIcon-CE-ry2oA.js";import{t as ie}from"./archive-CJ5gDBKY.js";import{t as ae}from"./chevron-right-DLiDJVJl.js";import{t as oe}from"./database-CI6acTSY.js";import{t as se}from"./file-text-C6nzo1us.js";import{t as ce}from"./folder-D9pvA6oI.js";import{t as le}from"./hard-drive-CGWwV4Ei.js";import{t as ue}from"./refresh-cw-0yb8DZDc.js";import{t as de}from"./trash-2-BWqtqkeW.js";import{d as fe,i as pe,n as me,r as he,s as ge,t as g,v as _e}from"./index-BFE6PEIL.js";import{t as ve}from"./ConfirmDialog-CJ8lJeUc.js";var ye={class:`space-y-6`},be={class:`flex items-center justify-between`},xe={class:`text-2xl font-bold text-textMain flex items-center`},Se=[`disabled`],_={key:0,class:`bg-danger/10 border border-danger/30 text-danger text-sm rounded-lg px-4 py-3`},v={class:`bg-panel border border-border rounded-xl shadow-sm overflow-hidden`},y={class:`px-6 py-5 border-b border-border dark:bg-white/[0.02] bg-black/[0.02]`},b={class:`text-sm text-textMuted mt-1`},x={key:0,class:`text-yellow-400`},S={key:1,class:`text-yellow-400 inline-flex items-center`},C={key:2,class:`text-textMuted`},w={key:0,class:`p-6 text-textMuted text-sm text-center`},T={key:1,class:`p-6 grid grid-cols-1 md:grid-cols-2 gap-6`},E={class:`flex items-baseline justify-between mb-3`},D={class:`text-xs text-textMuted font-mono`},O={class:`text-2xl font-bold text-textMain font-mono`},k={class:`space-y-2`},A={class:`flex items-center justify-between text-xs`},j={class:`text-textMain inline-flex items-center`},Ce={class:`font-mono text-textMuted`},we={class:`h-1.5 bg-base rounded-full overflow-hidden`},Te={class:`flex items-baseline justify-between mb-3`},Ee={class:`text-2xl font-bold text-textMain font-mono`},De={class:`h-3 bg-base rounded-full overflow-hidden mb-3`},Oe={class:`grid grid-cols-2 gap-2 text-xs`},ke={class:`bg-base rounded-md px-3 py-2`},Ae={class:`font-mono text-textMain mt-0.5`},je={class:`bg-base rounded-md px-3 py-2`},Me={class:`font-mono text-textMain mt-0.5`},Ne={key:0,class:`text-xs text-textMuted mt-2 italic`},Pe={class:`bg-panel border border-border rounded-xl shadow-sm overflow-hidden`},Fe={key:0,class:`p-6 text-textMuted text-sm text-center`},Ie={key:1,class:`overflow-x-auto`},Le={class:`w-full text-sm`},Re={class:`px-6 py-3`},ze={class:`text-textMain font-medium`},Be={class:`text-xs text-textMuted font-mono mt-0.5`},Ve={class:`px-4 py-3 text-right font-mono text-textMain`},He={class:`px-4 py-3 text-right font-mono text-textMuted`},Ue={class:`px-4 py-3 text-textMuted text-xs`},We={class:`px-4 py-3 text-right`},Ge={key:0,class:`font-mono text-textMain`},Ke={key:1,class:`text-textMuted text-xs italic`},qe={key:2,class:`text-[10px] text-textMuted font-mono truncate max-w-[180px] ml-auto mt-0.5`},Je={class:`px-6 py-3 text-right`},Ye=[`onClick`],Xe={class:`ml-auto relative w-full max-w-xl bg-panel border-l border-border h-full overflow-y-auto z-50`},Ze={class:`sticky top-0 bg-panel border-b border-border px-6 py-4 flex items-center justify-between z-10`},Qe={class:`text-lg font-semibold text-textMain mt-0.5`},M={class:`p-6`},$e={key:0,class:`text-textMuted text-sm text-center py-8`},et={key:1,class:`bg-danger/10 border border-danger/30 text-danger text-sm rounded-md px-3 py-2`},tt={key:2},nt={class:`bg-base border border-border rounded-md px-4 py-3 mb-4 flex items-center justify-between`},rt={class:`font-mono text-textMain`},it={key:0,class:`text-textMuted text-sm text-center py-6`},at={key:1,class:`space-y-2`},ot={class:`flex items-start justify-between gap-3`},st={class:`min-w-0 flex-1`},ct={class:`flex items-center gap-2 flex-wrap`},lt={class:`font-mono text-sm text-textMain`},ut={key:0,class:`px-1.5 py-0.5 text-[10px] font-mono rounded border bg-yellow-400/15 text-yellow-400 border-yellow-400/30`},dt={class:`text-xs text-textMuted mt-1.5 flex items-center gap-3`},ft={class:`font-mono`},pt={class:`shrink-0`},mt=[`onClick`],ht=[`title`],N=g(ne({__name:`Storage`,setup(ne){let g=te(),N=me(),P=t(null),F=t([]),I=t(!1),L=t(``),R=t(!1),z=t(null),B=t(null),V=t(!1),H=t(``),U=t(!1),W=t(null),G=t(!1),K=e=>{if(e==null||!Number.isFinite(e))return`-`;if(e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`,`TB`],n=e,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(n>=100||r===0?0:n>=10?1:2)} ${t[r]}`},q=e=>{if(!e)return`-`;let t=new Date(e);if(Number.isNaN(t.getTime()))return e;let n=e=>String(e).padStart(2,`0`);return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`},J=m(()=>P.value?.kiteHome.totalBytes||0),gt=m(()=>{if(!P.value)return[];let e=P.value.kiteHome.breakdown,t=Math.max(J.value,1);return[{label:`deployments/`,value:e.deployments,color:`bg-primary`,icon:ie},{label:`tmp/`,value:e.tmp,color:`bg-yellow-400`,icon:ce},{label:`kite.db`,value:e.db,color:`bg-success`,icon:oe},{label:`config.json`,value:e.config,color:`bg-textMuted`,icon:se}].map(e=>({...e,pct:e.value/t*100}))}),Y=m(()=>P.value?.filesystem.percentUsed??null),_t=m(()=>{let e=Y.value;return e==null?`bg-textMuted`:e>=95?`bg-danger`:e>=85?`bg-yellow-400`:`bg-success`}),X=async()=>{I.value=!0,L.value=``;try{let[e,t]=await Promise.all([g.fetchDiskOverview(),g.fetchDiskProjects()]);P.value=e,F.value=t.items}catch(e){L.value=e?.message||`加载失败`,N.error(L.value)}finally{I.value=!1}},Z=async e=>{z.value=e,R.value=!0,V.value=!0,H.value=``,B.value=null;try{B.value=await g.fetchProjectArtifacts(e.projectId)}catch(e){H.value=e?.message||`加载归档失败`}finally{V.value=!1}},Q=()=>{R.value=!1,z.value=null,B.value=null},vt=e=>{if(!e.canDelete){N.warning(`该归档被 ${e.referencedBy} 条部署记录引用,无法删除`);return}W.value=e,U.value=!0},yt=async()=>{if(W.value){G.value=!0;try{let e=await g.deleteArtifact(W.value.deployId);e?.success?(N.success(`已删除归档,释放 ${K(e.freedBytes)}`),z.value&&await Z(z.value),await X(),U.value=!1,W.value=null):N.error(e?.error||`删除失败`)}catch(e){e?.message?.includes(`referenced`)?N.warning(`该归档被其它部署记录引用`):N.error(e?.message||`删除失败`)}finally{G.value=!1}}},bt=()=>{U.value=!1,W.value=null},$=e=>{if(e.triggerSource===`rollback`)return{label:`rollback`,cls:`bg-yellow-400/15 text-yellow-400 border-yellow-400/30`};switch(e.status){case`success`:return{label:`success`,cls:`bg-success/15 text-success border-success/30`};case`failed`:return{label:`failed`,cls:`bg-danger/15 text-danger border-danger/30`};case`running`:return{label:`running`,cls:`bg-primary/15 text-primary border-primary/30`};default:return{label:e.status||`-`,cls:`bg-textMuted/15 text-textMuted border-border`}}},xt=m(()=>{if(!W.value)return``;let e=W.value;return`deployId: ${e.deployId}\n大小: ${K(e.sizeBytes)}\n创建时间: ${q(e.createdAt)}\n\n删除后该部署记录将无法回滚(仅清理归档 zip,部署记录保留)。`});return e(()=>{X()}),(e,t)=>(l(),u(`div`,ye,[a(`div`,be,[a(`div`,null,[a(`h1`,xe,[h(n(le),{class:`w-6 h-6 mr-2 text-primary`}),t[1]||=i(` 存储 `,-1)]),t[2]||=a(`p`,{class:`text-sm text-textMuted mt-1`},`查看 Kite 数据目录与项目归档的磁盘占用,按需手动清理。`,-1)]),a(`button`,{onClick:X,disabled:I.value,class:`flex items-center px-3 py-2 bg-base border border-border rounded-md text-textMuted hover:text-textMain hover:border-primary/50 transition-all disabled:opacity-50`,type:`button`},[h(n(ue),{class:o([`w-4 h-4 mr-2`,I.value?`animate-spin`:``])},null,8,[`class`]),t[3]||=i(` 刷新 `,-1)],8,Se)]),L.value?(l(),u(`div`,_,f(L.value),1)):d(``,!0),a(`div`,v,[a(`div`,y,[t[5]||=a(`h2`,{class:`text-lg font-semibold text-textMain`},`~/.kite 数据目录`,-1),a(`p`,b,[P.value?.cached?(l(),u(`span`,x,`使用 30s 内缓存结果`)):P.value?.kiteHome.approximated?(l(),u(`span`,S,[h(n(pe),{class:`w-3.5 h-3.5 mr-1`}),t[4]||=i(` 目录较大,部分子目录扫描已超时(近似值) `,-1)])):(l(),u(`span`,C,`opendir 流式扫描,结果在内存中缓存 30s。`))])]),P.value?(l(),u(`div`,T,[a(`div`,null,[a(`div`,E,[a(`span`,D,f(P.value.kiteHome.path),1),a(`span`,O,f(K(J.value)),1)]),a(`div`,k,[(l(!0),u(p,null,c(gt.value,e=>(l(),u(`div`,{key:e.label,class:`space-y-1`},[a(`div`,A,[a(`span`,j,[(l(),ee(r(e.icon),{class:`w-3.5 h-3.5 mr-1.5 text-textMuted`})),i(` `+f(e.label),1)]),a(`span`,Ce,f(K(e.value)),1)]),a(`div`,we,[a(`div`,{class:o([`h-full`,e.color]),style:s({width:e.pct+`%`})},null,6)])]))),128))])]),a(`div`,null,[a(`div`,Te,[t[6]||=a(`span`,{class:`text-xs text-textMuted`},`系统盘(包含 Kite Home 所在挂载点)`,-1),a(`span`,Ee,[P.value.filesystem.percentUsed==null?(l(),u(p,{key:1},[i(`-`)],64)):(l(),u(p,{key:0},[i(f(P.value.filesystem.percentUsed)+`%`,1)],64))])]),a(`div`,De,[a(`div`,{class:o([`h-full transition-all`,_t.value]),style:s({width:(Y.value??0)+`%`})},null,6)]),a(`div`,Oe,[a(`div`,ke,[t[7]||=a(`div`,{class:`text-textMuted`},`可用`,-1),a(`div`,Ae,f(K(P.value.filesystem.freeBytes)),1)]),a(`div`,je,[t[8]||=a(`div`,{class:`text-textMuted`},`总容量`,-1),a(`div`,Me,f(K(P.value.filesystem.totalBytes)),1)])]),P.value.filesystem.percentUsed==null?(l(),u(`p`,Ne,` 当前平台未提供 df 信息(如 Windows)。 `)):d(``,!0)])])):(l(),u(`div`,w,`加载中...`))]),a(`div`,Pe,[t[11]||=a(`div`,{class:`px-6 py-5 border-b border-border dark:bg-white/[0.02] bg-black/[0.02]`},[a(`h2`,{class:`text-lg font-semibold text-textMain`},`项目占用`),a(`p`,{class:`text-sm text-textMuted mt-1`},`归档 zip 由 keepN 策略自动清理,部署目录由你的部署模式决定(merge 累加 / clean 仅本次内容)。`)],-1),!I.value&&F.value.length===0?(l(),u(`div`,Fe,`暂无项目`)):(l(),u(`div`,Ie,[a(`table`,Le,[t[10]||=a(`thead`,{class:`text-xs text-textMuted bg-base/40 border-b border-border`},[a(`tr`,null,[a(`th`,{class:`text-left px-6 py-3 font-medium`},`项目`),a(`th`,{class:`text-right px-4 py-3 font-medium`},`归档大小`),a(`th`,{class:`text-right px-4 py-3 font-medium`},`归档数量`),a(`th`,{class:`text-left px-4 py-3 font-medium`},`最新归档`),a(`th`,{class:`text-right px-4 py-3 font-medium`},`部署目录`),a(`th`,{class:`text-right px-6 py-3 font-medium`},`操作`)])],-1),a(`tbody`,null,[(l(!0),u(p,null,c(F.value,e=>(l(),u(`tr`,{key:e.projectId,class:`border-b border-border last:border-0 hover:bg-base/40 transition-colors`},[a(`td`,Re,[a(`div`,ze,f(e.projectName),1),a(`div`,Be,f(e.projectId),1)]),a(`td`,Ve,f(K(e.artifactsBytes)),1),a(`td`,He,f(e.artifactCount),1),a(`td`,Ue,f(q(e.newestAt)),1),a(`td`,We,[e.deployPathExists?(l(),u(`div`,Ge,f(K(e.deployPathBytes)),1)):(l(),u(`div`,Ke,`未创建`)),e.deployPath?(l(),u(`div`,qe,f(e.deployPath),1)):d(``,!0)]),a(`td`,Je,[a(`button`,{onClick:t=>Z(e),class:`inline-flex items-center px-3 py-1.5 text-xs text-primary border border-primary/30 hover:bg-primary/10 rounded-md transition-colors`,type:`button`},[t[9]||=i(` 详情 `,-1),h(n(ae),{class:`w-3.5 h-3.5 ml-1`})],8,Ye)])]))),128))])])]))]),h(fe,{name:`fade`},{default:re(()=>[R.value?(l(),u(`div`,{key:0,class:`fixed inset-0 z-40 flex`,onClick:_e(Q,[`self`])},[t[17]||=a(`div`,{class:`fixed inset-0 bg-black/50`},null,-1),a(`div`,Xe,[a(`div`,Ze,[a(`div`,null,[t[12]||=a(`div`,{class:`text-xs text-textMuted`},`归档详情`,-1),a(`h3`,Qe,f(z.value?.projectName),1)]),a(`button`,{onClick:Q,class:`text-textMuted hover:text-textMain p-2 rounded-md`,type:`button`},[h(n(he),{class:`w-5 h-5`})])]),a(`div`,M,[V.value?(l(),u(`div`,$e,`加载中...`)):H.value?(l(),u(`div`,et,f(H.value),1)):B.value?(l(),u(`div`,tt,[a(`div`,nt,[t[13]||=a(`div`,{class:`text-xs text-textMuted`},`归档总占用`,-1),a(`div`,rt,f(K(B.value.totalBytes))+` · `+f(B.value.items.length)+` 份`,1)]),B.value.items.length===0?(l(),u(`div`,it,`该项目暂无归档`)):(l(),u(`ul`,at,[(l(!0),u(p,null,c(B.value.items,e=>(l(),u(`li`,{key:e.deployId,class:`bg-base border border-border rounded-md px-4 py-3`},[a(`div`,ot,[a(`div`,st,[a(`div`,ct,[a(`span`,lt,f(e.deployId.slice(0,12)),1),a(`span`,{class:o([`px-1.5 py-0.5 text-[10px] font-mono rounded border`,$(e).cls])},f($(e).label),3),e.referencedBy>1?(l(),u(`span`,ut,` ref ×`+f(e.referencedBy),1)):d(``,!0)]),a(`div`,dt,[a(`span`,ft,f(K(e.sizeBytes)),1),t[14]||=a(`span`,null,`·`,-1),a(`span`,null,f(q(e.createdAt)),1)])]),a(`div`,pt,[e.canDelete?(l(),u(`button`,{key:0,onClick:t=>vt(e),class:`inline-flex items-center px-2.5 py-1.5 text-xs text-danger border border-danger/30 hover:bg-danger/10 rounded-md transition-colors`,type:`button`},[h(n(de),{class:`w-3.5 h-3.5 mr-1`}),t[15]||=i(` 删除 `,-1)],8,mt)):(l(),u(`span`,{key:1,class:`inline-flex items-center px-2.5 py-1.5 text-xs text-textMuted italic`,title:`被 ${e.referencedBy} 条部署记录引用,不可单独删除`},[h(n(ge),{class:`w-3.5 h-3.5 mr-1`}),t[16]||=i(` 受引用保护 `,-1)],8,ht))])])]))),128))]))])):d(``,!0)])])])):d(``,!0)]),_:1}),h(ve,{open:U.value,"onUpdate:open":t[0]||=e=>U.value=e,tone:`danger`,title:`删除归档 zip`,message:xt.value,"confirm-text":`确认删除`,"cancel-text":`取消`,loading:G.value,onConfirm:yt,onCancel:bt},null,8,[`open`,`message`,`loading`])]))}}),[[`__scopeId`,`data-v-93d508c2`]]);export{N as default};
@@ -0,0 +1 @@
1
+ .fade-enter-active[data-v-93d508c2],.fade-leave-active[data-v-93d508c2]{transition:opacity .18s}.fade-enter-from[data-v-93d508c2],.fade-leave-to[data-v-93d508c2]{opacity:0}
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-Cgv1AIRL.js";var t=e(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]);export{t};
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`chevron-right`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]);export{t};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-Cgv1AIRL.js";var t=e(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]);export{t};
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`clock`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 6v6l4 2`,key:`mmk7yg`}]]);export{t};
@@ -0,0 +1 @@
1
+ var e=`1.2.0`;export{e as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]);export{t};
@@ -0,0 +1 @@
1
+ function e(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var t={},n=[],r=()=>{},i=()=>!1,a=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),o=e=>e.startsWith(`onUpdate:`),s=Object.assign,c=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},l=Object.prototype.hasOwnProperty,u=(e,t)=>l.call(e,t),d=Array.isArray,f=e=>x(e)===`[object Map]`,p=e=>x(e)===`[object Set]`,m=e=>x(e)===`[object Date]`,h=e=>typeof e==`function`,g=e=>typeof e==`string`,_=e=>typeof e==`symbol`,v=e=>typeof e==`object`&&!!e,y=e=>(v(e)||h(e))&&h(e.then)&&h(e.catch),b=Object.prototype.toString,x=e=>b.call(e),S=e=>x(e).slice(8,-1),C=e=>x(e)===`[object Object]`,w=e=>g(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,T=e(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),ee=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},te=/-\w/g,E=ee(e=>e.replace(te,e=>e.slice(1).toUpperCase())),ne=/\B([A-Z])/g,D=ee(e=>e.replace(ne,`-$1`).toLowerCase()),re=ee(e=>e.charAt(0).toUpperCase()+e.slice(1)),ie=ee(e=>e?`on${re(e)}`:``),O=(e,t)=>!Object.is(e,t),ae=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},k=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},oe=e=>{let t=parseFloat(e);return isNaN(t)?e:t},se=e=>{let t=g(e)?Number(e):NaN;return isNaN(t)?e:t},ce,le=()=>ce||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function ue(e){if(d(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=g(r)?me(r):ue(r);if(i)for(let e in i)t[e]=i[e]}return t}else if(g(e)||v(e))return e}var de=/;(?![^(]*\))/g,fe=/:([^]+)/,pe=/\/\*[^]*?\*\//g;function me(e){let t={};return e.replace(pe,``).split(de).forEach(e=>{if(e){let n=e.split(fe);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function he(e){let t=``;if(g(e))t=e;else if(d(e))for(let n=0;n<e.length;n++){let r=he(e[n]);r&&(t+=r+` `)}else if(v(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}var ge=`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`,_e=e(ge);ge+``;function ve(e){return!!e||e===``}function ye(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=be(e[r],t[r]);return n}function be(e,t){if(e===t)return!0;let n=m(e),r=m(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=_(e),r=_(t),n||r)return e===t;if(n=d(e),r=d(t),n||r)return n&&r?ye(e,t):!1;if(n=v(e),r=v(t),n||r){if(!n||!r||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e){let r=e.hasOwnProperty(n),i=t.hasOwnProperty(n);if(r&&!i||!r&&i||!be(e[n],t[n]))return!1}}return String(e)===String(t)}function xe(e,t){return e.findIndex(e=>be(e,t))}var Se=e=>!!(e&&e.__v_isRef===!0),Ce=e=>g(e)?e:e==null?``:d(e)||v(e)&&(e.toString===b||!h(e.toString))?Se(e)?Ce(e.value):JSON.stringify(e,we,2):String(e),we=(e,t)=>Se(t)?we(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Te(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Te(e))}:_(t)?Te(t):v(t)&&!d(t)&&!C(t)?String(t):t,Te=(e,t=``)=>_(e)?`Symbol(${e.description??t})`:e,A,Ee=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=A,!e&&A&&(this.index=(A.scopes||=[]).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].pause();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e<t;e++)this.scopes[e].resume();for(e=0,t=this.effects.length;e<t;e++)this.effects[e].resume()}}run(e){if(this._active){let t=A;try{return A=this,e()}finally{A=t}}}on(){++this._on===1&&(this.prevScope=A,A=this)}off(){this._on>0&&--this._on===0&&(A=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){for(t=0,n=this.scopes.length;t<n;t++)this.scopes[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function De(e){return new Ee(e)}function Oe(){return A}function ke(e,t=!1){A&&A.cleanups.push(e)}var j,Ae=new WeakSet,je=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,A&&A.active&&A.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Ae.has(this)&&(Ae.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Fe(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,qe(this),Re(this);let e=j,t=M;j=this,M=!0;try{return this.fn()}finally{ze(this),j=e,M=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)He(e);this.deps=this.depsTail=void 0,qe(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Ae.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Be(this)&&this.run()}get dirty(){return Be(this)}},Me=0,Ne,Pe;function Fe(e,t=!1){if(e.flags|=8,t){e.next=Pe,Pe=e;return}e.next=Ne,Ne=e}function Ie(){Me++}function Le(){if(--Me>0)return;if(Pe){let e=Pe;for(Pe=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;Ne;){let t=Ne;for(Ne=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Re(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ze(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),He(r),Ue(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Be(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Ve(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Ve(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Je)||(e.globalVersion=Je,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Be(e))))return;e.flags|=2;let t=e.dep,n=j,r=M;j=e,M=!0;try{Re(e);let n=e.fn(e._value);(t.version===0||O(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{j=n,M=r,ze(e),e.flags&=-3}}function He(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)He(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ue(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var M=!0,We=[];function Ge(){We.push(M),M=!1}function Ke(){let e=We.pop();M=e===void 0?!0:e}function qe(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=j;j=void 0;try{t()}finally{j=e}}}var Je=0,Ye=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Xe=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!j||!M||j===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==j)t=this.activeLink=new Ye(j,this),j.deps?(t.prevDep=j.depsTail,j.depsTail.nextDep=t,j.depsTail=t):j.deps=j.depsTail=t,Ze(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=j.depsTail,t.nextDep=void 0,j.depsTail.nextDep=t,j.depsTail=t,j.deps===t&&(j.deps=e)}return t}trigger(e){this.version++,Je++,this.notify(e)}notify(e){Ie();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Le()}}};function Ze(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Ze(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Qe=new WeakMap,$e=Symbol(``),et=Symbol(``),tt=Symbol(``);function N(e,t,n){if(M&&j){let t=Qe.get(e);t||Qe.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Xe),r.map=t,r.key=n),r.track()}}function nt(e,t,n,r,i,a){let o=Qe.get(e);if(!o){Je++;return}let s=e=>{e&&e.trigger()};if(Ie(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&w(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===tt||!_(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(tt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get($e)),f(e)&&s(o.get(et)));break;case`delete`:i||(s(o.get($e)),f(e)&&s(o.get(et)));break;case`set`:f(e)&&s(o.get($e));break}}Le()}function rt(e,t){let n=Qe.get(e);return n&&n.get(t)}function it(e){let t=I(e);return t===e?t:(N(t,`iterate`,tt),F(e)?t:t.map(L))}function at(e){return N(e=I(e),`iterate`,tt),e}function P(e,t){return Ht(e)?Gt(Vt(e)?L(t):t):L(t)}var ot={__proto__:null,[Symbol.iterator](){return st(this,Symbol.iterator,e=>P(this,e))},concat(...e){return it(this).concat(...e.map(e=>d(e)?it(e):e))},entries(){return st(this,`entries`,e=>(e[1]=P(this,e[1]),e))},every(e,t){return lt(this,`every`,e,t,void 0,arguments)},filter(e,t){return lt(this,`filter`,e,t,e=>e.map(e=>P(this,e)),arguments)},find(e,t){return lt(this,`find`,e,t,e=>P(this,e),arguments)},findIndex(e,t){return lt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return lt(this,`findLast`,e,t,e=>P(this,e),arguments)},findLastIndex(e,t){return lt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return lt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return dt(this,`includes`,e)},indexOf(...e){return dt(this,`indexOf`,e)},join(e){return it(this).join(e)},lastIndexOf(...e){return dt(this,`lastIndexOf`,e)},map(e,t){return lt(this,`map`,e,t,void 0,arguments)},pop(){return ft(this,`pop`)},push(...e){return ft(this,`push`,e)},reduce(e,...t){return ut(this,`reduce`,e,t)},reduceRight(e,...t){return ut(this,`reduceRight`,e,t)},shift(){return ft(this,`shift`)},some(e,t){return lt(this,`some`,e,t,void 0,arguments)},splice(...e){return ft(this,`splice`,e)},toReversed(){return it(this).toReversed()},toSorted(e){return it(this).toSorted(e)},toSpliced(...e){return it(this).toSpliced(...e)},unshift(...e){return ft(this,`unshift`,e)},values(){return st(this,`values`,e=>P(this,e))}};function st(e,t,n){let r=at(e),i=r[t]();return r!==e&&!F(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var ct=Array.prototype;function lt(e,t,n,r,i,a){let o=at(e),s=o!==e&&!F(e),c=o[t];if(c!==ct[t]){let t=c.apply(e,a);return s?L(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,P(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function ut(e,t,n,r){let i=at(e),a=i!==e&&!F(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=P(e,t)),n.call(this,t,P(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?P(e,c):c}function dt(e,t,n){let r=I(e);N(r,`iterate`,tt);let i=r[t](...n);return(i===-1||i===!1)&&Ut(n[0])?(n[0]=I(n[0]),r[t](...n)):i}function ft(e,t,n=[]){Ge(),Ie();let r=I(e)[t].apply(e,n);return Le(),Ke(),r}var pt=e(`__proto__,__v_isRef,__isVue`),mt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(_));function ht(e){_(e)||(e=String(e));let t=I(this);return N(t,`has`,e),t.hasOwnProperty(e)}var gt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?Pt:Nt:i?Mt:jt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=ot[t]))return e;if(t===`hasOwnProperty`)return ht}let o=Reflect.get(e,t,R(e)?e:n);if((_(t)?mt.has(t):pt(t))||(r||N(e,`get`,t),i))return o;if(R(o)){let e=a&&w(t)?o:o.value;return r&&v(e)?zt(e):e}return v(o)?r?zt(o):Lt(o):o}},_t=class extends gt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&w(t);if(!this._isShallow){let e=Ht(i);if(!F(n)&&!Ht(n)&&(i=I(i),n=I(n)),!a&&R(i)&&!R(n))return e||(i.value=n),!0}let o=a?Number(t)<e.length:u(e,t),s=Reflect.set(e,t,n,R(e)?e:r);return e===I(r)&&(o?O(n,i)&&nt(e,`set`,t,n,i):nt(e,`add`,t,n)),s}deleteProperty(e,t){let n=u(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&nt(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return(!_(t)||!mt.has(t))&&N(e,`has`,t),n}ownKeys(e){return N(e,`iterate`,d(e)?`length`:$e),Reflect.ownKeys(e)}},vt=class extends gt{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}},yt=new _t,bt=new vt,xt=new _t(!0),St=e=>e,Ct=e=>Reflect.getPrototypeOf(e);function wt(e,t,n){return function(...r){let i=this.__v_raw,a=I(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?St:t?Gt:L;return!t&&N(a,`iterate`,l?et:$e),s(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:c?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Tt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Et(e,t){let n={get(n){let r=this.__v_raw,i=I(r),a=I(n);e||(O(n,a)&&N(i,`get`,n),N(i,`get`,a));let{has:o}=Ct(i),s=t?St:e?Gt:L;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&N(I(t),`iterate`,$e),t.size},has(t){let n=this.__v_raw,r=I(n),i=I(t);return e||(O(t,i)&&N(r,`has`,t),N(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=I(a),s=t?St:e?Gt:L;return!e&&N(o,`iterate`,$e),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:Tt(`add`),set:Tt(`set`),delete:Tt(`delete`),clear:Tt(`clear`)}:{add(e){let n=I(this),r=Ct(n),i=I(e),a=!t&&!F(e)&&!Ht(e)?i:e;return r.has.call(n,a)||O(e,a)&&r.has.call(n,e)||O(i,a)&&r.has.call(n,i)||(n.add(a),nt(n,`add`,a,a)),this},set(e,n){!t&&!F(n)&&!Ht(n)&&(n=I(n));let r=I(this),{has:i,get:a}=Ct(r),o=i.call(r,e);o||=(e=I(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?O(n,s)&&nt(r,`set`,e,n,s):nt(r,`add`,e,n),this},delete(e){let t=I(this),{has:n,get:r}=Ct(t),i=n.call(t,e);i||=(e=I(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&nt(t,`delete`,e,void 0,a),o},clear(){let e=I(this),t=e.size!==0,n=e.clear();return t&&nt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=wt(r,e,t)}),n}function Dt(e,t){let n=Et(e,t);return(t,r,i)=>r===`__v_isReactive`?!e:r===`__v_isReadonly`?e:r===`__v_raw`?t:Reflect.get(u(n,r)&&r in t?n:t,r,i)}var Ot={get:Dt(!1,!1)},kt={get:Dt(!1,!0)},At={get:Dt(!0,!1)},jt=new WeakMap,Mt=new WeakMap,Nt=new WeakMap,Pt=new WeakMap;function Ft(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function It(e){return e.__v_skip||!Object.isExtensible(e)?0:Ft(S(e))}function Lt(e){return Ht(e)?e:Bt(e,!1,yt,Ot,jt)}function Rt(e){return Bt(e,!1,xt,kt,Mt)}function zt(e){return Bt(e,!0,bt,At,Nt)}function Bt(e,t,n,r,i){if(!v(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;let a=It(e);if(a===0)return e;let o=i.get(e);if(o)return o;let s=new Proxy(e,a===2?r:n);return i.set(e,s),s}function Vt(e){return Ht(e)?Vt(e.__v_raw):!!(e&&e.__v_isReactive)}function Ht(e){return!!(e&&e.__v_isReadonly)}function F(e){return!!(e&&e.__v_isShallow)}function Ut(e){return e?!!e.__v_raw:!1}function I(e){let t=e&&e.__v_raw;return t?I(t):e}function Wt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&k(e,`__v_skip`,!0),e}var L=e=>v(e)?Lt(e):e,Gt=e=>v(e)?zt(e):e;function R(e){return e?e.__v_isRef===!0:!1}function Kt(e){return Jt(e,!1)}function qt(e){return Jt(e,!0)}function Jt(e,t){return R(e)?e:new Yt(e,t)}var Yt=class{constructor(e,t){this.dep=new Xe,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:I(e),this._value=t?e:L(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||F(e)||Ht(e);e=n?e:I(e),O(e,t)&&(this._rawValue=e,this._value=n?e:L(e),this.dep.trigger())}};function Xt(e){return R(e)?e.value:e}var Zt={get:(e,t,n)=>t===`__v_raw`?e:Xt(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return R(i)&&!R(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Qt(e){return Vt(e)?e:new Proxy(e,Zt)}function $t(e){let t=d(e)?Array(e.length):{};for(let n in e)t[n]=tn(e,n);return t}var en=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=_(t)?t:String(t),this._raw=I(e);let r=!0,i=e;if(!d(e)||_(this._key)||!w(this._key))do r=!Ut(i)||F(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=Xt(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&R(this._raw[this._key])){let t=this._object[this._key];if(R(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return rt(this._raw,this._key)}};function tn(e,t,n){return new en(e,t,n)}var nn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Xe(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Je-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&j!==this)return Fe(this,!0),!0}get value(){let e=this.dep.track();return Ve(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function rn(e,t,n=!1){let r,i;return h(e)?r=e:(r=e.get,i=e.set),new nn(r,i,n)}var an={},on=new WeakMap,sn=void 0;function cn(e,t=!1,n=sn){if(n){let t=on.get(n);t||on.set(n,t=[]),t.push(e)}}function ln(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:F(e)||o===!1||o===0?un(e,1):un(e),m,g,_,v,y=!1,b=!1;if(R(e)?(g=()=>e.value,y=F(e)):Vt(e)?(g=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Vt(e)||F(e)),g=()=>e.map(e=>{if(R(e))return e.value;if(Vt(e))return p(e);if(h(e))return f?f(e,2):e()})):g=h(e)?n?f?()=>f(e,2):e:()=>{if(_){Ge();try{_()}finally{Ke()}}let t=sn;sn=m;try{return f?f(e,3,[v]):e(v)}finally{sn=t}}:r,n&&o){let e=g,t=o===!0?1/0:o;g=()=>un(e(),t)}let x=Oe(),S=()=>{m.stop(),x&&x.active&&c(x.effects,m)};if(s&&n){let e=n;n=(...t)=>{e(...t),S()}}let C=b?Array(e.length).fill(an):an,w=e=>{if(!(!(m.flags&1)||!m.dirty&&!e))if(n){let e=m.run();if(o||y||(b?e.some((e,t)=>O(e,C[t])):O(e,C))){_&&_();let t=sn;sn=m;try{let t=[e,C===an?void 0:b&&C[0]===an?[]:C,v];C=e,f?f(n,3,t):n(...t)}finally{sn=t}}}else m.run()};return u&&u(w),m=new je(g),m.scheduler=l?()=>l(w,!1):w,v=e=>cn(e,!1,m),_=m.onStop=()=>{let e=on.get(m);if(e){if(f)f(e,4);else for(let t of e)t();on.delete(m)}},n?a?w(!0):C=m.run():l?l(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function un(e,t=1/0,n){if(t<=0||!v(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,R(e))un(e.value,t,n);else if(d(e))for(let r=0;r<e.length;r++)un(e[r],t,n);else if(p(e)||f(e))e.forEach(e=>{un(e,t,n)});else if(C(e)){for(let r in e)un(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&un(e[r],t,n)}return e}function dn(e,t,n,r){try{return r?e(...r):e()}catch(e){fn(e,t,n)}}function z(e,t,n,r){if(h(e)){let i=dn(e,t,n,r);return i&&y(i)&&i.catch(e=>{fn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a<e.length;a++)i.push(z(e[a],t,n,r));return i}}function fn(e,n,r,i=!0){let a=n?n.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=n&&n.appContext.config||t;if(n){let t=n.parent,i=n.proxy,a=`https://vuejs.org/error-reference/#runtime-${r}`;for(;t;){let n=t.ec;if(n){for(let t=0;t<n.length;t++)if(n[t](e,i,a)===!1)return}t=t.parent}if(o){Ge(),dn(o,null,10,[e,i,a]),Ke();return}}pn(e,r,a,i,s)}function pn(e,t,n,r=!0,i=!1){if(i)throw e;console.error(e)}var B=[],V=-1,mn=[],hn=null,gn=0,_n=Promise.resolve(),vn=null;function yn(e){let t=vn||_n;return e?t.then(this?e.bind(this):e):t}function bn(e){let t=V+1,n=B.length;for(;t<n;){let r=t+n>>>1,i=B[r],a=En(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function xn(e){if(!(e.flags&1)){let t=En(e),n=B[B.length-1];!n||!(e.flags&2)&&t>=En(n)?B.push(e):B.splice(bn(t),0,e),e.flags|=1,Sn()}}function Sn(){vn||=_n.then(Dn)}function Cn(e){d(e)?mn.push(...e):hn&&e.id===-1?hn.splice(gn+1,0,e):e.flags&1||(mn.push(e),e.flags|=1),Sn()}function wn(e,t,n=V+1){for(;n<B.length;n++){let t=B[n];if(t&&t.flags&2){if(e&&t.id!==e.uid)continue;B.splice(n,1),n--,t.flags&4&&(t.flags&=-2),t(),t.flags&4||(t.flags&=-2)}}}function Tn(e){if(mn.length){let e=[...new Set(mn)].sort((e,t)=>En(e)-En(t));if(mn.length=0,hn){hn.push(...e);return}for(hn=e,gn=0;gn<hn.length;gn++){let e=hn[gn];e.flags&4&&(e.flags&=-2),e.flags&8||e(),e.flags&=-2}hn=null,gn=0}}var En=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Dn(e){try{for(V=0;V<B.length;V++){let e=B[V];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),dn(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;V<B.length;V++){let e=B[V];e&&(e.flags&=-2)}V=-1,B.length=0,Tn(e),vn=null,(B.length||mn.length)&&Dn(e)}}var H=null,On=null;function kn(e){let t=H;return H=e,On=e&&e.type.__scopeId||null,t}function An(e,t=H,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&da(-1);let i=kn(t),a;try{a=e(...n)}finally{kn(i),r._d&&da(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function jn(e,n){if(H===null)return e;let r=qa(H),i=e.dirs||=[];for(let e=0;e<n.length;e++){let[a,o,s,c=t]=n[e];a&&(h(a)&&(a={mounted:a,updated:a}),a.deep&&un(o),i.push({dir:a,instance:r,value:o,oldValue:void 0,arg:s,modifiers:c}))}return e}function Mn(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(Ge(),z(c,n,8,[e.el,s,e,t]),Ke())}}function Nn(e,t){if($){let n=$.provides,r=$.parent&&$.parent.provides;r===n&&(n=$.provides=Object.create(r)),n[e]=t}}function Pn(e,t,n=!1){let r=Ma();if(r||gi){let i=gi?gi._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&h(t)?t.call(r&&r.proxy):t}}function Fn(){return!!(Ma()||gi)}var In=Symbol.for(`v-scx`),Ln=()=>Pn(In);function Rn(e,t,n){return zn(e,t,n)}function zn(e,n,i=t){let{immediate:a,deep:o,flush:c,once:l}=i,u=s({},i),d=n&&a||!n&&c!==`post`,f;if(Ra){if(c===`sync`){let e=Ln();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=$;u.call=(e,t,n)=>z(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{K(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():xn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=ln(e,n,u);return Ra&&(f?f.push(h):d&&h()),h}function Bn(e,t,n){let r=this.proxy,i=g(e)?e.includes(`.`)?Vn(r,e):()=>r[e]:e.bind(r,r),a;h(t)?a=t:(a=t.handler,n=t);let o=Fa(this),s=zn(i,a.bind(r),n);return o(),s}function Vn(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var Hn=new WeakMap,Un=Symbol(`_vte`),Wn=e=>e.__isTeleport,Gn=e=>e&&(e.disabled||e.disabled===``),Kn=e=>e&&(e.defer||e.defer===``),qn=e=>typeof SVGElement<`u`&&e instanceof SVGElement,Jn=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,Yn=(e,t)=>{let n=e&&e.to;return g(n)?t?t(n):null:n},Xn={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g}}=l,_=Gn(t.props),{dynamicChildren:v}=t,y=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},b=(e=t)=>{let n=Gn(e.props),r=e.target=Yn(e.props,m),a=tr(r,e,h,p);r&&(o!==`svg`&&qn(r)?o=`svg`:o!==`mathml`&&Jn(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(y(e,r,a),er(e,!1)))},x=e=>{let t=()=>{Hn.get(e)===t&&(Hn.delete(e),Gn(e.props)&&(y(e,n,e.anchor),er(e,!0)),b(e))};Hn.set(e,t),K(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),Kn(t.props)||a&&a.pendingBranch){x(t);return}_&&(y(t,n,i),er(t,!0)),b()}else{t.el=e.el;let r=t.anchor=e.anchor,u=Hn.get(e);if(u){u.flags|=8,Hn.delete(e),x(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=Gn(e.props),y=g?n:p,b=g?r:h;if(o===`svg`||qn(p)?o=`svg`:(o===`mathml`||Jn(p))&&(o=`mathml`),v?(f(e.dynamicChildren,v,y,i,a,o,s),Qi(e,t,!0)):c||d(e,t,y,b,i,a,o,s,!1),_)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Zn(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=Yn(t.props,m);e&&Zn(t,e,null,l,0)}else g&&Zn(t,p,h,l,1);er(t,_)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=a||!Gn(f),m=Hn.get(e);if(m&&(m.flags|=8,Hn.delete(e),p=!1),d&&(i(l),i(u)),a&&i(c),o&16)for(let e=0;e<s.length;e++){let i=s[e];r(i,t,n,p,!!i.dynamicChildren)}},move:Zn,hydrate:Qn};function Zn(e,t,n,{o:{insert:r},m:i},a=2){a===0&&r(e.targetAnchor,t,n);let{el:o,anchor:s,shapeFlag:c,children:l,props:u}=e,d=a===2;if(d&&r(o,t,n),(!d||Gn(u))&&c&16)for(let e=0;e<l.length;e++)i(l[e],t,n,2);d&&r(s,t,n)}function Qn(e,t,n,r,i,a,{o:{nextSibling:o,parentNode:s,querySelector:c,insert:l,createText:u}},d){function f(e,n){let r=n;for(;r;){if(r&&r.nodeType===8){if(r.data===`teleport start anchor`)t.targetStart=r;else if(r.data===`teleport anchor`){t.targetAnchor=r,e._lpa=t.targetAnchor&&o(t.targetAnchor);break}}r=o(r)}}function p(e,t){t.anchor=d(o(e),t,s(e),n,r,i,a)}let m=t.target=Yn(t.props,c),h=Gn(t.props);if(m){let c=m._lpa||m.firstChild;t.shapeFlag&16&&(h?(p(e,t),f(m,c),t.targetAnchor||tr(m,t,u,l,s(e)===m?e:null)):(t.anchor=o(e),f(m,c),t.targetAnchor||tr(m,t,u,l),d(c&&o(c),t,m,n,r,i,a))),er(t,h)}else h&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}var $n=Xn;function er(e,t){let n=e.ctx;if(n&&n.ut){let r,i;for(t?(r=e.el,i=e.anchor):(r=e.targetStart,i=e.targetAnchor);r&&r!==i;)r.nodeType===1&&r.setAttribute(`data-v-owner`,n.uid),r=r.nextSibling;n.ut()}}function tr(e,t,n,r,i=null){let a=t.targetStart=n(``),o=t.targetAnchor=n(``);return a[Un]=o,e&&(r(a,e,i),r(o,e,i)),o}var U=Symbol(`_leaveCb`),nr=Symbol(`_enterCb`);function rr(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Ar(()=>{e.isMounted=!0}),Nr(()=>{e.isUnmounting=!0}),e}var W=[Function,Array],ir={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:W,onEnter:W,onAfterEnter:W,onEnterCancelled:W,onBeforeLeave:W,onLeave:W,onAfterLeave:W,onLeaveCancelled:W,onBeforeAppear:W,onAppear:W,onAfterAppear:W,onAppearCancelled:W},ar=e=>{let t=e.subTree;return t.component?ar(t.component):t},or={name:`BaseTransition`,props:ir,setup(e,{slots:t}){let n=Ma(),r=rr();return()=>{let i=t.default&&mr(t.default(),!0);if(!i||!i.length)return;let a=sr(i),o=I(e),{mode:s}=o;if(r.isLeaving)return dr(a);let c=fr(a);if(!c)return dr(a);let l=ur(c,o,r,n,e=>l=e);c.type!==J&&pr(c,l);let u=n.subTree&&fr(n.subTree);if(u&&u.type!==J&&!ga(u,c)&&ar(n).type!==J){let e=ur(u,o,r,n);if(pr(u,e),s===`out-in`&&c.type!==J)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},dr(a);s===`in-out`&&c.type!==J?e.delayLeave=(e,t,n)=>{let i=lr(r,u);i[String(u.key)]=u,e[U]=()=>{t(),e[U]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function sr(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==J){t=n;break}}return t}var cr=or;function lr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function ur(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:p,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=lr(n,e),C=(e,t)=>{e&&z(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),d(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted)if(a)r=_||c;else return;t[U]&&t[U](!0);let i=S[x];i&&ga(e,i)&&i.el[U]&&i.el[U](),C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=f;if(!n.isMounted)if(a)r=v||l,i=y||u,o=b||f;else return;let s=!1;t[nr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[nr]=void 0)};let c=t[nr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[nr]&&t[nr](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[U]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[U]=void 0,S[i]===e&&delete S[i])};let o=t[U].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=ur(e,t,n,r,i);return i&&i(a),a}};return T}function dr(e){if(Sr(e))return e=Sa(e),e.children=null,e}function fr(e){if(!Sr(e))return Wn(e.type)&&e.children?sr(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&h(n.default))return n.default()}}function pr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,pr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function mr(e,t=!1,n){let r=[],i=0;for(let a=0;a<e.length;a++){let o=e[a],s=n==null?o.key:String(n)+String(o.key==null?a:o.key);o.type===q?(o.patchFlag&128&&i++,r=r.concat(mr(o.children,t,s))):(t||o.type!==J)&&r.push(s==null?o:Sa(o,{key:s}))}if(i>1)for(let e=0;e<r.length;e++)r[e].patchFlag=-2;return r}function hr(e,t){return h(e)?s({name:e.name},t,{setup:e}):e}function gr(e){e.ids=[e.ids[0]+ e.ids[2]+++`-`,0,0]}function _r(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var vr=new WeakMap;function yr(e,n,r,a,o=!1){if(d(e)){e.forEach((e,t)=>yr(e,n&&(d(n)?n[t]:n),r,a,o));return}if(xr(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&yr(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?qa(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,_=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=I(v),b=v===t?i:e=>_r(_,e)?!1:u(y,e),x=(e,t)=>!(t&&_r(_,t));if(m!=null&&m!==p){if(br(n),g(m))_[m]=null,b(m)&&(v[m]=null);else if(R(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(_[e.k]=null)}}if(h(p))dn(p,f,12,[l,_]);else{let t=g(p),n=R(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:_[p]:x(p)||!e.k?p.value:_[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)_[p]=[s],b(p)&&(v[p]=_[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(_[e.k]=t)}}else t?(_[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(_[e.k]=l))};if(l){let t=()=>{i(),vr.delete(e)};t.id=-1,vr.set(e,t),K(t,r)}else br(e),i()}}}function br(e){let t=vr.get(e);t&&(t.flags|=8,vr.delete(e))}le().requestIdleCallback,le().cancelIdleCallback;var xr=e=>!!e.type.__asyncLoader,Sr=e=>e.type.__isKeepAlive;function Cr(e,t){Tr(e,`a`,t)}function wr(e,t){Tr(e,`da`,t)}function Tr(e,t,n=$){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Dr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Sr(e.parent.vnode)&&Er(r,t,n,e),e=e.parent}}function Er(e,t,n,r){let i=Dr(t,e,r,!0);Pr(()=>{c(r[t],i)},n)}function Dr(e,t,n=$,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Ge();let i=Fa(n),a=z(t,n,e,r);return i(),Ke(),a};return r?i.unshift(a):i.push(a),a}}var Or=e=>(t,n=$)=>{(!Ra||e===`sp`)&&Dr(e,(...e)=>t(...e),n)},kr=Or(`bm`),Ar=Or(`m`),jr=Or(`bu`),Mr=Or(`u`),Nr=Or(`bum`),Pr=Or(`um`),Fr=Or(`sp`),Ir=Or(`rtg`),Lr=Or(`rtc`);function Rr(e,t=$){Dr(`ec`,e,t)}var zr=`components`;function Br(e,t){return Ur(zr,e,!0,t)||e}var Vr=Symbol.for(`v-ndc`);function Hr(e){return g(e)?Ur(zr,e,!1)||e:e||Vr}function Ur(e,t,n=!0,r=!1){let i=H||$;if(i){let n=i.type;if(e===zr){let e=Ja(n,!1);if(e&&(e===t||e===E(t)||e===re(E(t))))return n}let a=Wr(i[e]||n[e],t)||Wr(i.appContext[e],t);return!a&&r?n:a}}function Wr(e,t){return e&&(e[t]||e[E(t)]||e[re(E(t))])}function Gr(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||g(e)){let n=o&&Vt(e),r=!1,s=!1;n&&(r=!F(e),s=Ht(e),e=at(e)),i=Array(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=t(r?s?Gt(L(e[n])):L(e[n]):e[n],n,void 0,a&&a[n])}else if(typeof e==`number`){i=Array(e);for(let n=0;n<e;n++)i[n]=t(n+1,n,void 0,a&&a[n])}else if(v(e))if(e[Symbol.iterator])i=Array.from(e,(e,n)=>t(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r<o;r++){let o=n[r];i[r]=t(e[o],o,r,a&&a[r])}}else i=[];return n&&(n[r]=i),i}function Kr(e,t,n={},r,i){if(H.ce||H.parent&&xr(H.parent)&&H.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),ca(),ma(q,null,[X(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),ca();let o=a&&qr(a(n)),s=n.key||o&&o.key,c=ma(q,{key:(s&&!_(s)?s:`_${t}`)+(!o&&r?`_fb`:``)},o||(r?r():[]),o&&e._===1?64:-2);return!i&&c.scopeId&&(c.slotScopeIds=[c.scopeId+`-s`]),a&&a._c&&(a._d=!0),c}function qr(e){return e.some(e=>ha(e)?!(e.type===J||e.type===q&&!qr(e.children)):!0)?e:null}var Jr=e=>e?La(e)?qa(e):Jr(e.parent):null,Yr=s(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Jr(e.parent),$root:e=>Jr(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ii(e),$forceUpdate:e=>e.f||=()=>{xn(e.update)},$nextTick:e=>e.n||=yn.bind(e.proxy),$watch:e=>Bn.bind(e)}),Xr=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),Zr={get({_:e},n){if(n===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(n[0]!==`$`){let e=s[n];if(e!==void 0)switch(e){case 1:return i[n];case 2:return a[n];case 4:return r[n];case 3:return o[n]}else if(Xr(i,n))return s[n]=1,i[n];else if(a!==t&&u(a,n))return s[n]=2,a[n];else if(u(o,n))return s[n]=3,o[n];else if(r!==t&&u(r,n))return s[n]=4,r[n];else $r&&(s[n]=0)}let d=Yr[n],f,p;if(d)return n===`$attrs`&&N(e.attrs,`get`,``),d(e);if((f=c.__cssModules)&&(f=f[n]))return f;if(r!==t&&u(r,n))return s[n]=4,r[n];if(p=l.config.globalProperties,u(p,n))return p[n]},set({_:e},n,r){let{data:i,setupState:a,ctx:o}=e;return Xr(a,n)?(a[n]=r,!0):i!==t&&u(i,n)?(i[n]=r,!0):u(e.props,n)||n[0]===`$`&&n.slice(1)in e?!1:(o[n]=r,!0)},has({_:{data:e,setupState:n,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==t&&c[0]!==`$`&&u(e,c)||Xr(n,c)||u(o,c)||u(i,c)||u(Yr,c)||u(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?u(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function Qr(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}var $r=!0;function ei(e){let t=ii(e),n=e.proxy,i=e.ctx;$r=!1,t.beforeCreate&&ni(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:g,updated:_,activated:y,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:ee,renderTriggered:te,errorCaptured:E,serverPrefetch:ne,expose:D,inheritAttrs:re,components:ie,directives:O,filters:ae}=t;if(u&&ti(u,i,null),s)for(let e in s){let t=s[e];h(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);v(t)&&(e.data=Lt(t))}if($r=!0,o)for(let e in o){let t=o[e],a=Xa({get:h(t)?t.bind(n,n):h(t.get)?t.get.bind(n,n):r,set:!h(t)&&h(t.set)?t.set.bind(n):r});Object.defineProperty(i,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)ri(c[e],i,n,e);if(l){let e=h(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Nn(t,e[t])})}f&&ni(f,e,`c`);function k(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(k(kr,p),k(Ar,m),k(jr,g),k(Mr,_),k(Cr,y),k(wr,b),k(Rr,E),k(Lr,ee),k(Ir,te),k(Nr,S),k(Pr,w),k(Fr,ne),d(D))if(D.length){let t=e.exposed||={};D.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={};T&&e.render===r&&(e.render=T),re!=null&&(e.inheritAttrs=re),ie&&(e.components=ie),O&&(e.directives=O),ne&&gr(e)}function ti(e,t,n=r){d(e)&&(e=li(e));for(let n in e){let r=e[n],i;i=v(r)?`default`in r?Pn(r.from||n,r.default,!0):Pn(r.from||n):Pn(r),R(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function ni(e,t,n){z(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function ri(e,t,n,r){let i=r.includes(`.`)?Vn(n,r):()=>n[r];if(g(e)){let n=t[e];h(n)&&Rn(i,n)}else if(h(e))Rn(i,e.bind(n));else if(v(e))if(d(e))e.forEach(e=>ri(e,t,n,r));else{let r=h(e.handler)?e.handler.bind(n):t[e.handler];h(r)&&Rn(i,r,e)}}function ii(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>ai(c,e,o,!0)),ai(c,t,o)),v(t)&&a.set(t,c),c}function ai(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&ai(e,a,n,!0),i&&i.forEach(t=>ai(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=oi[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var oi={data:si,props:di,emits:di,methods:ui,computed:ui,beforeCreate:G,created:G,beforeMount:G,mounted:G,beforeUpdate:G,updated:G,beforeDestroy:G,beforeUnmount:G,destroyed:G,unmounted:G,activated:G,deactivated:G,errorCaptured:G,serverPrefetch:G,components:ui,directives:ui,watch:fi,provide:si,inject:ci};function si(e,t){return t?e?function(){return s(h(e)?e.call(this,this):e,h(t)?t.call(this,this):t)}:t:e}function ci(e,t){return ui(li(e),li(t))}function li(e){if(d(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function G(e,t){return e?[...new Set([].concat(e,t))]:t}function ui(e,t){return e?s(Object.create(null),e,t):t}function di(e,t){return e?d(e)&&d(t)?[...new Set([...e,...t])]:s(Object.create(null),Qr(e),Qr(t??{})):t}function fi(e,t){if(!e)return t;if(!t)return e;let n=s(Object.create(null),e);for(let r in t)n[r]=G(e[r],t[r]);return n}function pi(){return{app:null,config:{isNativeTag:i,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var mi=0;function hi(e,t){return function(n,r=null){h(n)||(n=s({},n)),r!=null&&!v(r)&&(r=null);let i=pi(),a=new WeakSet,o=[],c=!1,l=i.app={_uid:mi++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:Qa,get config(){return i.config},set config(e){},use(e,...t){return a.has(e)||(e&&h(e.install)?(a.add(e),e.install(l,...t)):h(e)&&(a.add(e),e(l,...t))),l},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),l},component(e,t){return t?(i.components[e]=t,l):i.components[e]},directive(e,t){return t?(i.directives[e]=t,l):i.directives[e]},mount(a,o,s){if(!c){let u=l._ceVNode||X(n,r);return u.appContext=i,s===!0?s=`svg`:s===!1&&(s=void 0),o&&t?t(u,a):e(u,a,s),c=!0,l._container=a,a.__vue_app__=l,qa(u.component)}},onUnmount(e){o.push(e)},unmount(){c&&(z(o,l._instance,16),e(null,l._container),delete l._container.__vue_app__)},provide(e,t){return i.provides[e]=t,l},runWithContext(e){let t=gi;gi=l;try{return e()}finally{gi=t}}};return l}}var gi=null,_i=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${E(t)}Modifiers`]||e[`${D(t)}Modifiers`];function vi(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&_i(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>g(e)?e.trim():e)),s.number&&(a=r.map(oe)));let c,l=i[c=ie(n)]||i[c=ie(E(n))];!l&&o&&(l=i[c=ie(D(n))]),l&&z(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,z(u,e,6,a)}}var yi=new WeakMap;function bi(e,t,n=!1){let r=n?yi:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!h(e)){let r=e=>{let n=bi(e,t,!0);n&&(c=!0,s(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!c?(v(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),v(e)&&r.set(e,o),o)}function xi(e,t){return!e||!a(t)?!1:(t=t.slice(2).replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,D(t))||u(e,t))}function Si(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:s,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=kn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Z(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Z(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:Ci(c)}}catch(t){sa.length=0,fn(t,e,1),v=X(J)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=wi(y,a)),b=Sa(b,y,!1,!0))}return n.dirs&&(b=Sa(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&pr(b,n.transition),v=b,kn(_),v}var Ci=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},wi=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Ti(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Ei(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(Di(o,r,n)&&!xi(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?o?Ei(r,o,l):!0:!!o;return!1}function Ei(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(Di(t,e,a)&&!xi(n,a))return!0}return!1}function Di(e,t,n){let r=e[n],i=t[n];return n===`style`&&v(r)&&v(i)?!be(r,i):r!==i}function Oi({vnode:e,parent:t,suspense:n},r){for(;t;){let n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}var ki={},Ai=()=>Object.create(ki),ji=e=>Object.getPrototypeOf(e)===ki;function Mi(e,t,n,r=!1){let i={},a=Ai();e.propsDefaults=Object.create(null),Pi(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:Rt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Ni(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=I(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(xi(e.emitsOptions,o))continue;let d=t[o];if(c)if(u(a,o))d!==a[o]&&(a[o]=d,l=!0);else{let t=E(o);i[t]=Fi(c,s,t,d,e,!1)}else d!==a[o]&&(a[o]=d,l=!0)}}}else{Pi(e,t,i,a)&&(l=!0);let r;for(let a in s)(!t||!u(t,a)&&((r=D(a))===a||!u(t,r)))&&(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=Fi(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)(!t||!u(t,e))&&(delete a[e],l=!0)}l&&nt(e.attrs,`set`,``)}function Pi(e,n,r,i){let[a,o]=e.propsOptions,s=!1,c;if(n)for(let t in n){if(T(t))continue;let l=n[t],d;a&&u(a,d=E(t))?!o||!o.includes(d)?r[d]=l:(c||={})[d]=l:xi(e.emitsOptions,t)||(!(t in i)||l!==i[t])&&(i[t]=l,s=!0)}if(o){let n=I(r),i=c||t;for(let t=0;t<o.length;t++){let s=o[t];r[s]=Fi(a,n,s,i[s],e,!u(i,s))}}return s}function Fi(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=u(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&h(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=Fa(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===D(n))&&(r=!0))}return r}var Ii=new WeakMap;function Li(e,r,i=!1){let a=i?Ii:r.propsCache,o=a.get(e);if(o)return o;let c=e.props,l={},f=[],p=!1;if(!h(e)){let t=e=>{p=!0;let[t,n]=Li(e,r,!0);s(l,t),n&&f.push(...n)};!i&&r.mixins.length&&r.mixins.forEach(t),e.extends&&t(e.extends),e.mixins&&e.mixins.forEach(t)}if(!c&&!p)return v(e)&&a.set(e,n),n;if(d(c))for(let e=0;e<c.length;e++){let n=E(c[e]);Ri(n)&&(l[n]=t)}else if(c)for(let e in c){let t=E(e);if(Ri(t)){let n=c[e],r=l[t]=d(n)||h(n)?{type:n}:s({},n),i=r.type,a=!1,o=!0;if(d(i))for(let e=0;e<i.length;++e){let t=i[e],n=h(t)&&t.name;if(n===`Boolean`){a=!0;break}else n===`String`&&(o=!1)}else a=h(i)&&i.name===`Boolean`;r[0]=a,r[1]=o,(a||u(r,`default`))&&f.push(t)}}let m=[l,f];return v(e)&&a.set(e,m),m}function Ri(e){return e[0]!==`$`&&!T(e)}var zi=e=>e===`_`||e===`_ctx`||e===`$stable`,Bi=e=>d(e)?e.map(Z):[Z(e)],Vi=(e,t,n)=>{if(t._n)return t;let r=An((...e)=>Bi(t(...e)),n);return r._c=!1,r},Hi=(e,t,n)=>{let r=e._ctx;for(let n in e){if(zi(n))continue;let i=e[n];if(h(i))t[n]=Vi(n,i,r);else if(i!=null){let e=Bi(i);t[n]=()=>e}}},Ui=(e,t)=>{let n=Bi(t);e.slots.default=()=>n},Wi=(e,t,n)=>{for(let r in t)(n||!zi(r))&&(e[r]=t[r])},Gi=(e,t,n)=>{let r=e.slots=Ai();if(e.vnode.shapeFlag&32){let e=t._;e?(Wi(r,t,n),n&&k(r,`_`,e,!0)):Hi(t,r)}else t&&Ui(e,t)},Ki=(e,n,r)=>{let{vnode:i,slots:a}=e,o=!0,s=t;if(i.shapeFlag&32){let e=n._;e?r&&e===1?o=!1:Wi(a,n,r):(o=!n.$stable,Hi(n,a)),s=n}else n&&(Ui(e,n),s={default:1});if(o)for(let e in a)!zi(e)&&s[e]==null&&delete a[e]},K=ia;function qi(e){return Ji(e)}function Ji(e,i){let a=le();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=r,insertStaticContent:_}=e,v=(e,t,n,r=null,i=null,a=null,o=void 0,s=null,c=!!t.dynamicChildren)=>{if(e===t)return;e&&!ga(e,t)&&(r=ye(e),me(e,i,a,!0),e=null),t.patchFlag===-2&&(c=!1,t.dynamicChildren=null);let{type:l,ref:u,shapeFlag:d}=t;switch(l){case aa:y(e,t,n,r);break;case J:b(e,t,n,r);break;case oa:e??x(t,n,r,o);break;case q:ie(e,t,n,r,i,a,o,s,c);break;default:d&1?w(e,t,n,r,i,a,o,s,c):d&6?O(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,Se)}u!=null&&i?yr(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&yr(e.ref,null,a,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)ee(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),ne(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},ee=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&E(e.children,d,null,r,i,Yi(e,a),s,u),_&&Mn(e,null,r,`created`),te(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!T(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Q(f,r,e)}_&&Mn(e,null,r,`beforeMount`);let v=Zi(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&K(()=>{try{f&&Q(f,r,e),v&&g.enter(d),_&&Mn(e,null,r,`mounted`)}finally{}},i)},te=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t<r.length;t++)g(e,r[t]);if(i){let n=i.subTree;if(t===n||ra(n.type)&&(n.ssContent===t||n.ssFallback===t)){let t=i.vnode;te(e,t,t.scopeId,t.slotScopeIds,i.parent)}}},E=(e,t,n,r,i,a,o,s,c=0)=>{for(let l=c;l<e.length;l++)v(null,e[l]=s?Ea(e[l]):Z(e[l]),t,n,r,i,a,o,s)},ne=(e,n,r,i,a,o,s)=>{let l=n.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=n;u|=e.patchFlag&16;let m=e.props||t,h=n.props||t,g;if(r&&Xi(r,!1),(g=h.onVnodeBeforeUpdate)&&Q(g,r,n,e),f&&Mn(n,e,r,`beforeUpdate`),r&&Xi(r,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?D(e.dynamicChildren,d,l,r,i,Yi(n,a),o):s||ue(e,n,l,null,r,i,Yi(n,a),o,!1),u>0){if(u&16)re(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=n.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t],i=m[n],o=h[n];(o!==i||n===`value`)&&c(l,n,i,o,a,r)}}u&1&&e.children!==n.children&&p(l,n.children)}else !s&&d==null&&re(l,m,h,r,a);((g=h.onVnodeUpdated)||f)&&K(()=>{g&&Q(g,r,n,e),f&&Mn(n,e,r,`updated`)},i)},D=(e,t,n,r,i,a,o)=>{for(let s=0;s<t.length;s++){let c=e[s],l=t[s];v(c,l,c.el&&(c.type===q||!ga(c,l)||c.shapeFlag&198)?m(c.el):n,null,r,i,a,o,!0)}},re=(e,n,r,i,a)=>{if(n!==r){if(n!==t)for(let t in n)!T(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(T(t))continue;let o=r[t],s=n[t];o!==s&&t!==`value`&&c(e,t,s,o,a,i)}`value`in r&&c(e,`value`,n.value,r.value,a)}},ie=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),E(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(D(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&Qi(e,t,!0)):ue(e,t,n,f,i,a,s,c,l)},O=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):k(t,n,r,i,a,o,c):oe(e,t,c)},k=(e,t,n,r,i,a,o)=>{let s=e.component=ja(e,r,i);if(Sr(e)&&(s.ctx.renderer=Se),za(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,se,o),!e.el){let r=s.subTree=X(J);b(null,r,t,n),e.placeholder=r.el}}else se(s,e,t,n,i,a,o)},oe=(e,t,n)=>{let r=t.component=e.component;if(Ti(e,t,n))if(r.asyncDep&&!r.asyncResolved){ce(r,t,n);return}else r.next=t,r.update();else t.el=e.el,r.vnode=t},se=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=ea(e);if(n){t&&(t.el=c.el,ce(e,t,o)),n.asyncDep.then(()=>{K(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;Xi(e,!1),t?(t.el=c.el,ce(e,t,o)):t=c,n&&ae(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Q(d,s,t,c),Xi(e,!0);let f=Si(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),ye(p),e,i,a),t.el=f.el,u===null&&Oi(e,f.el),r&&K(r,i),(d=t.props&&t.props.onVnodeUpdated)&&K(()=>Q(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=xr(t);if(Xi(e,!1),l&&ae(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Q(o,d,t),Xi(e,!0),s&&we){let t=()=>{e.subTree=Si(e),we(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Si(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&K(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;K(()=>Q(o,d,e),i)}(t.shapeFlag&256||d&&xr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&K(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new je(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>xn(u),Xi(e,!0),l()},ce=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Ni(e,t.props,r,n),Ki(e,t.children,n),Ge(),wn(e),Ke()},ue=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){fe(l,d,n,r,i,a,o,s,c);return}else if(f&256){de(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&ve(l,i,a),d!==l&&p(n,d)):u&16?m&16?fe(l,d,n,r,i,a,o,s,c):ve(l,i,a,!0):(u&8&&p(n,``),m&16&&E(d,n,r,i,a,o,s,c))},de=(e,t,r,i,a,o,s,c,l)=>{e||=n,t||=n;let u=e.length,d=t.length,f=Math.min(u,d),p;for(p=0;p<f;p++){let n=t[p]=l?Ea(t[p]):Z(t[p]);v(e[p],n,r,null,a,o,s,c,l)}u>d?ve(e,a,o,!0,!1,f):E(t,r,i,a,o,s,c,l,f)},fe=(e,t,r,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let n=e[u],i=t[u]=l?Ea(t[u]):Z(t[u]);if(ga(n,i))v(n,i,r,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let n=e[f],i=t[p]=l?Ea(t[p]):Z(t[p]);if(ga(n,i))v(n,i,r,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,n=e<d?t[e].el:i;for(;u<=p;)v(null,t[u]=l?Ea(t[u]):Z(t[u]),r,n,a,o,s,c,l),u++}}else if(u>p)for(;u<=f;)me(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Ea(t[u]):Z(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u<b;u++)C[u]=0;for(u=m;u<=f;u++){let n=e[u];if(y>=b){me(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&ga(n,t[_])){i=_;break}i===void 0?me(n,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(n,t[i],r,null,a,o,s,c,l),y++)}let w=x?$i(C):n;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,n=t[e],f=t[e+1],p=e+1<d?f.el||na(f):i;C[u]===0?v(null,n,r,p,a,o,s,c,l):x&&(_<0||u!==w[_]?pe(n,r,p,2):_--)}}},pe=(e,t,n,r,i=null)=>{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){pe(e.component.subTree,t,n,r);return}if(d&128){e.suspense.move(t,n,r);return}if(d&64){c.move(e,t,n,Se);return}if(c===q){o(a,t,n);for(let e=0;e<u.length;e++)pe(u[e],t,n,r);o(e.anchor,t,n);return}if(c===oa){S(e,t,n);return}if(r!==2&&d&1&&l)if(r===0)l.beforeEnter(a),o(a,t,n),K(()=>l.enter(a),i);else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{a._isLeaving&&a[U](!0),r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},me=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if(d===-2&&(i=!1),s!=null&&(Ge(),yr(s,null,n,e,!0),Ke()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!xr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Q(_,t,e),u&6)_e(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Mn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,Se,r):l&&!l.hasOnce&&(a!==q||d>0&&d&64)?ve(l,t,n,!1,!0):(a===q&&d&384||!i&&u&16)&&ve(c,t,n),r&&he(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&K(()=>{_&&Q(_,t,e),h&&Mn(e,null,t,`unmounted`),v&&(e.el=null)},n)},he=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===q){ge(n,r);return}if(t===oa){C(e);return}let a=()=>{s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(e.shapeFlag&1&&i&&!i.persisted){let{leave:t,delayLeave:r}=i,o=()=>t(n,a);r?r(e.el,a,o):o()}else a()},ge=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},_e=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;ta(c),ta(l),r&&ae(r),i.stop(),a&&(a.flags|=8,me(o,e,t,n)),s&&K(s,t),K(()=>{e.isUnmounted=!0},t)},ve=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o<e.length;o++)me(e[o],t,n,r,i)},ye=e=>{if(e.shapeFlag&6)return ye(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Un];return n?h(n):t},be=!1,xe=(e,t,n)=>{let r;e==null?t._vnode&&(me(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,be||=(be=!0,wn(r),Tn(),!1)},Se={p:v,um:me,m:pe,r:he,mt:k,mc:E,pc:ue,pbc:D,n:ye,o:e},Ce,we;return i&&([Ce,we]=i(Se)),{render:xe,hydrate:Ce,createApp:hi(xe,Ce)}}function Yi({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function Xi({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Zi(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Qi(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e<r.length;e++){let t=r[e],a=i[e];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[e]=Ea(i[e]),a.el=t.el),!n&&a.patchFlag!==-2&&Qi(t,a)),a.type===aa&&(a.patchFlag===-1&&(a=i[e]=Ea(a)),a.el=t.el),a.type===J&&!a.el&&(a.el=t.el)}}function $i(e){let t=e.slice(),n=[0],r,i,a,o,s,c=e.length;for(r=0;r<c;r++){let c=e[r];if(c!==0){if(i=n[n.length-1],e[i]<c){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=a+o>>1,e[n[s]]<c?a=s+1:o=s;c<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-- >0;)n[a]=o,o=t[o];return n}function ea(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ea(t)}function ta(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function na(e){if(e.placeholder)return e.placeholder;let t=e.component;return t?na(t.subTree):null}var ra=e=>e.__isSuspense;function ia(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):Cn(e)}var q=Symbol.for(`v-fgt`),aa=Symbol.for(`v-txt`),J=Symbol.for(`v-cmt`),oa=Symbol.for(`v-stc`),sa=[],Y=null;function ca(e=!1){sa.push(Y=e?null:[])}function la(){sa.pop(),Y=sa[sa.length-1]||null}var ua=1;function da(e,t=!1){ua+=e,e<0&&Y&&t&&(Y.hasOnce=!0)}function fa(e){return e.dynamicChildren=ua>0?Y||n:null,la(),ua>0&&Y&&Y.push(e),e}function pa(e,t,n,r,i,a){return fa(ya(e,t,n,r,i,a,!0))}function ma(e,t,n,r,i){return fa(X(e,t,n,r,i,!0))}function ha(e){return e?e.__v_isVNode===!0:!1}function ga(e,t){return e.type===t.type&&e.key===t.key}var _a=({key:e})=>e??null,va=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:g(e)||R(e)||h(e)?{i:H,r:e,k:t,f:!!n}:e);function ya(e,t=null,n=null,r=0,i=null,a=e===q?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&_a(t),ref:t&&va(t),scopeId:On,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:H};return s?(Da(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=g(n)?8:16),ua>0&&!o&&Y&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Y.push(c),c}var X=ba;function ba(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===Vr)&&(e=J),ha(e)){let r=Sa(e,t,!0);return n&&Da(r,n),ua>0&&!a&&Y&&(r.shapeFlag&6?Y[Y.indexOf(e)]=r:Y.push(r)),r.patchFlag=-2,r}if(Ya(e)&&(e=e.__vccOpts),t){t=xa(t);let{class:e,style:n}=t;e&&!g(e)&&(t.class=he(e)),v(n)&&(Ut(n)&&!d(n)&&(n=s({},n)),t.style=ue(n))}let o=g(e)?1:ra(e)?128:Wn(e)?64:v(e)?4:h(e)?2:0;return ya(e,t,n,r,i,o,a,!0)}function xa(e){return e?Ut(e)||ji(e)?s({},e):e:null}function Sa(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Oa(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&_a(l),ref:t&&t.ref?n&&a?d(a)?a.concat(va(t)):[a,va(t)]:va(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==q?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Sa(e.ssContent),ssFallback:e.ssFallback&&Sa(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&pr(u,c.clone(u)),u}function Ca(e=` `,t=0){return X(aa,null,e,t)}function wa(e,t){let n=X(oa,null,e);return n.staticCount=t,n}function Ta(e=``,t=!1){return t?(ca(),ma(J,null,e)):X(J,null,e)}function Z(e){return e==null||typeof e==`boolean`?X(J):d(e)?X(q,null,e.slice()):ha(e)?Ea(e):X(aa,null,String(e))}function Ea(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Sa(e)}function Da(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(d(t))n=16;else if(typeof t==`object`)if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),Da(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!ji(t)?t._ctx=H:r===3&&H&&(H.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else h(t)?(t={default:t,_ctx:H},n=32):(t=String(t),r&64?(n=16,t=[Ca(t)]):n=8);e.children=t,e.shapeFlag|=n}function Oa(...e){let t={};for(let n=0;n<e.length;n++){let r=e[n];for(let e in r)if(e===`class`)t.class!==r.class&&(t.class=he([t.class,r.class]));else if(e===`style`)t.style=ue([t.style,r.style]);else if(a(e)){let n=t[e],i=r[e];i&&n!==i&&!(d(n)&&n.includes(i))?t[e]=n?[].concat(n,i):i:i==null&&n==null&&!o(e)&&(t[e]=i)}else e!==``&&(t[e]=r[e])}return t}function Q(e,t,n,r=null){z(e,t,7,[n,r])}var ka=pi(),Aa=0;function ja(e,n,r){let i=e.type,a=(n?n.appContext:e.appContext)||ka,o={uid:Aa++,vnode:e,type:i,parent:n,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ee(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:n?n.provides:Object.create(a.provides),ids:n?n.ids:[``,0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Li(i,a),emitsOptions:bi(i,a),emit:null,emitted:null,propsDefaults:t,inheritAttrs:i.inheritAttrs,ctx:t,data:t,props:t,attrs:t,slots:t,refs:t,setupState:t,setupContext:null,suspense:r,suspenseId:r?r.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=n?n.root:o,o.emit=vi.bind(null,o),e.ce&&e.ce(o),o}var $=null,Ma=()=>$||H,Na,Pa;{let e=le(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};Na=t(`__VUE_INSTANCE_SETTERS__`,e=>$=e),Pa=t(`__VUE_SSR_SETTERS__`,e=>Ra=e)}var Fa=e=>{let t=$;return Na(e),e.scope.on(),()=>{e.scope.off(),Na(t)}},Ia=()=>{$&&$.scope.off(),Na(null)};function La(e){return e.vnode.shapeFlag&4}var Ra=!1;function za(e,t=!1,n=!1){t&&Pa(t);let{props:r,children:i}=e.vnode,a=La(e);Mi(e,r,a,t),Gi(e,i,n||t);let o=a?Ba(e,t):void 0;return t&&Pa(!1),o}function Ba(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Zr);let{setup:r}=n;if(r){Ge();let n=e.setupContext=r.length>1?Ka(e):null,i=Fa(e),a=dn(r,e,0,[e.props,n]),o=y(a);if(Ke(),i(),(o||e.sp)&&!xr(e)&&gr(e),o){if(a.then(Ia,Ia),t)return a.then(n=>{Va(e,n,t)}).catch(t=>{fn(t,e,0)});e.asyncDep=a}else Va(e,a,t)}else Wa(e,t)}function Va(e,t,n){h(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:v(t)&&(e.setupState=Qt(t)),Wa(e,n)}var Ha,Ua;function Wa(e,t,n){let i=e.type;if(!e.render){if(!t&&Ha&&!i.render){let t=i.template||ii(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=Ha(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,Ua&&Ua(e)}{let t=Fa(e);Ge();try{ei(e)}finally{Ke(),t()}}}var Ga={get(e,t){return N(e,`get`,``),e[t]}};function Ka(e){return{attrs:new Proxy(e.attrs,Ga),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function qa(e){return e.exposed?e.exposeProxy||=new Proxy(Qt(Wt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Yr)return Yr[n](e)},has(e,t){return t in e||t in Yr}}):e.proxy}function Ja(e,t=!0){return h(e)?e.displayName||e.name:e.name||t&&e.__name}function Ya(e){return h(e)&&`__vccOpts`in e}var Xa=(e,t)=>rn(e,t,Ra);function Za(e,t,n){try{da(-1);let r=arguments.length;return r===2?v(t)&&!d(t)?ha(t)?X(e,null,[t]):X(e,t):X(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&ha(n)&&(n=[n]),X(e,t,n))}finally{da(1)}}var Qa=`3.5.32`,$a=typeof window<`u`,eo,to=e=>eo=e,no=Symbol();function ro(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var io;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(io||={});var ao=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function oo(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function so(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){po(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function co(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function lo(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var uo=typeof navigator==`object`?navigator:{userAgent:``},fo=/Macintosh/.test(uo.userAgent)&&/AppleWebKit/.test(uo.userAgent)&&!/Safari/.test(uo.userAgent),po=$a?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!fo?mo:`msSaveOrOpenBlob`in uo?ho:go:()=>{};function mo(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?lo(r):co(r.href)?so(e,t,n):(r.target=`_blank`,lo(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){lo(r)},0))}function ho(e,t=`download`,n){if(typeof e==`string`)if(co(e))so(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){lo(t)})}else navigator.msSaveOrOpenBlob(oo(e,n),t)}function go(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return so(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(ao.HTMLElement))||`safari`in ao,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||fo)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:_o}=Object;function vo(){let e=De(!0),t=e.run(()=>Kt({})),n=[],r=[],i=Wt({install(e){to(i),i._a=e,e.provide(no,i),e.config.globalProperties.$pinia=i,r.forEach(e=>n.push(e)),r=[]},use(e){return this._a?n.push(e):r.push(e),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return i}var yo=()=>{};function bo(e,t,n,r=yo){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&Oe()&&ke(i),i}function xo(e,...t){e.forEach(e=>{e(...t)})}var So=e=>e(),Co=Symbol(),wo=Symbol();function To(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!t.hasOwnProperty(n))continue;let r=t[n],i=e[n];ro(i)&&ro(r)&&e.hasOwnProperty(n)&&!R(r)&&!Vt(r)?e[n]=To(i,r):e[n]=r}return e}var Eo=Symbol();function Do(e){return!ro(e)||!Object.prototype.hasOwnProperty.call(e,Eo)}var{assign:Oo}=Object;function ko(e){return!!(R(e)&&e.effect)}function Ao(e,t,n,r){let{state:i,actions:a,getters:o}=t,s=n.state.value[e],c;function l(){return s||(n.state.value[e]=i?i():{}),Oo($t(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=Wt(Xa(()=>{to(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=jo(e,l,t,n,r,!0),c}function jo(e,t,n={},r,i,a){let o,s=Oo({actions:{}},n),c={deep:!0},l,u,d=new Set,f=new Set,p=r.state.value[e];!a&&!p&&(r.state.value[e]={});let m;function h(t){let n;l=u=!1,typeof t==`function`?(t(r.state.value[e]),n={type:io.patchFunction,storeId:e,events:void 0}):(To(r.state.value[e],t),n={type:io.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();yn().then(()=>{m===i&&(l=!0)}),u=!0,xo(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{Oo(e,t)})}:yo;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Co in t)return t[wo]=n,t;let i=function(){to(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}xo(f,{args:n,name:i[wo],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw xo(o,e),e}return l instanceof Promise?l.then(e=>(xo(a,e),e)).catch(e=>(xo(o,e),Promise.reject(e))):(xo(a,l),l)};return i[Co]=!0,i[wo]=n,i},y=Lt({_p:r,$id:e,$onAction:bo.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=bo(d,t,n.detached,()=>a()),a=o.run(()=>Rn(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:io.direct,events:void 0},r)},Oo({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||So)(()=>r._e.run(()=>(o=De()).run(()=>t({action:v}))));for(let t in b){let n=b[t];R(n)&&!ko(n)||Vt(n)?a||(p&&Do(n)&&(R(n)?n.value=p[t]:To(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return Oo(y,b),Oo(I(y),b),Object.defineProperty(y,`$state`,{get:()=>r.state.value[e],set:e=>{h(t=>{Oo(t,e)})}}),r._p.forEach(e=>{Oo(y,o.run(()=>e({store:y,app:r._a,pinia:r,options:s})))}),p&&a&&n.hydrate&&n.hydrate(y.$state,p),l=!0,u=!0,y}function Mo(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Fn();return n||=o?Pn(no,null):null,n&&to(n),n=eo,n._s.has(e)||(i?jo(e,t,r,n):Ao(e,r,n)),n._s.get(e)}return a.$id=e,a}var No=Mo(`project`,()=>{let e=Kt(localStorage.getItem(`adminToken`)||``),t=Kt([]),n=Kt([]),r=Kt([]);async function i(t,n={}){let r={"Content-Type":`application/json`,...n.headers};e.value&&(r.Authorization=`Bearer ${e.value}`);let i=await fetch(`/api${t}`,{...n,headers:r});if(i.status===401&&!n.silent401)throw O(),window.location.href=`/login`,Error(`Unauthorized`);let a=await i.json();if(!i.ok){let e=Error(a.error||a.message||`API request failed`);throw e.status=i.status,e.data=a,e}return a}async function a(){try{t.value=(await i(`/projects`)).map(e=>({...e,destPath:e.deployPath,preDeploy:e.preDeployScript,postDeploy:e.postDeployScript,env:e.env||``,cleanMode:e.cleanMode??null,protectPaths:e.protectPaths??null,categoryId:e.categoryId??null,lastDeployAt:e.lastDeployAt??null}))}catch(e){console.error(`Failed to fetch projects`,e)}}async function o(){try{n.value=await i(`/logs`)}catch(e){console.error(`Failed to fetch logs`,e)}}function s(e){return t.value.find(t=>t.id===e)}async function c(e){try{if((await i(`/projects`,{method:`POST`,body:JSON.stringify({name:e.name,description:e.description,deployPath:e.destPath||`/tmp/default-deploy`,env:e.env||void 0,categoryId:e.categoryId??void 0})})).success)return await a(),{ok:!0}}catch(e){return console.error(`Failed to add project`,e),{ok:!1,error:e?.message,conflictProject:e?.data?.conflictProject}}return{ok:!1}}async function l(e){try{if((await i(`/projects/${e}`,{method:`DELETE`})).success)return await a(),!0}catch(e){console.error(`Failed to remove project`,e)}return!1}async function u(e,t){try{let n={};t.name!==void 0&&(n.name=t.name),t.preDeploy!==void 0&&(n.preDeployScript=t.preDeploy),t.postDeploy!==void 0&&(n.postDeployScript=t.postDeploy),t.destPath!==void 0&&(n.deployPath=t.destPath),t.cleanMode!==void 0&&(n.cleanMode=t.cleanMode),t.protectPaths!==void 0&&(n.protectPaths=t.protectPaths),t.categoryId!==void 0&&(n.categoryId=t.categoryId),(await i(`/projects/${e}`,{method:`PUT`,body:JSON.stringify(n)})).success&&await a()}catch(e){throw console.error(`Failed to update project`,e),e}}async function d(e,t){return await i(`/projects/${e}/clean-preview`,{method:`POST`,body:JSON.stringify(t)})}async function f(e){return await i(`/deployments/${e}/rollback`,{method:`POST`,body:JSON.stringify({})})}async function p(){return await i(`/disk/overview`)}async function m(){return await i(`/disk/projects`)}async function h(e){return await i(`/disk/projects/${e}/artifacts`)}async function g(e){return await i(`/disk/artifacts/${e}`,{method:`DELETE`})}async function _(e=30){try{return await i(`/stats/heatmap?days=${e}`)}catch(t){return console.error(`Failed to fetch heatmap`,t),{days:e,cells:[]}}}async function v(e=14){try{return await i(`/stats/success-rate?days=${e}`)}catch(t){return console.error(`Failed to fetch success rate`,t),{days:e,points:[]}}}async function y(e=5,t=30){try{return await i(`/stats/failure-top?limit=${e}&days=${t}`)}catch(n){return console.error(`Failed to fetch failure top`,n),{days:t,limit:e,minTotal:3,items:[]}}}async function b(e){try{let t=await i(`/projects/${e}/token`,{method:`POST`});if(t.success)return await a(),t.token}catch(e){console.error(`Failed to generate token`,e)}return``}async function x(){try{return await i(`/settings`)}catch(e){return console.error(`Failed to fetch settings`,e),{}}}async function S(e){try{return(await i(`/settings`,{method:`PUT`,body:JSON.stringify(e)})).success}catch(e){return console.error(`Failed to update settings`,e),!1}}async function C(t,n){try{let r=await i(`/settings/token`,{method:`POST`,body:JSON.stringify({oldToken:t,newToken:n})});return r.success&&(e.value=n,localStorage.setItem(`adminToken`,n)),r}catch(e){return console.error(`Failed to change token`,e),{error:e.message}}}async function w(e,t=``){try{return await i(`/projects/${e}/files?path=${encodeURIComponent(t)}`)}catch(e){return console.error(`Failed to fetch files`,e),[]}}async function T(e,t){try{return await i(`/projects/${e}/file?path=${encodeURIComponent(t)}`)}catch(e){return console.error(`Failed to fetch file content`,e),null}}async function ee(){try{return await i(`/settings/status`)}catch(e){return console.error(`Failed to fetch system status`,e),null}}async function te(){try{return await i(`/health/detail`)}catch(e){return console.error(`Failed to fetch health detail`,e),null}}async function E(e={}){try{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))r!=null&&r!==``&&t.append(n,String(r));return await i(`/audit-logs${t.toString()?`?${t.toString()}`:``}`)}catch(e){return console.error(`Failed to fetch audit logs`,e),{rows:[],total:0,limit:50,offset:0}}}async function ne(e){try{return await i(`/audit-logs/${e}`)}catch(e){return console.error(`Failed to fetch audit log detail`,e),null}}async function D(){return await i(`/fs/home`)}async function re(e){return await i(`/fs/list?path=${encodeURIComponent(e)}`)}async function ie(t){try{if((await i(`/auth/login`,{method:`POST`,body:JSON.stringify({token:t}),silent401:!0})).success)return e.value=t,localStorage.setItem(`adminToken`,t),!0}catch(e){console.error(`Login failed`,e)}return!1}function O(){e.value=``,localStorage.removeItem(`adminToken`),t.value=[],n.value=[],r.value=[]}async function ae(){try{let e=await i(`/categories`);r.value=Array.isArray(e)?e:[]}catch(e){console.error(`Failed to fetch categories`,e)}}async function k(e){try{let t=await i(`/categories`,{method:`POST`,body:JSON.stringify(e)});return t.success?(await ae(),{ok:!0,category:t.category}):{ok:!1,error:t.error}}catch(e){return{ok:!1,error:e?.message,conflictCategory:e?.data?.conflictCategory}}}async function oe(e,t){try{let n=await i(`/categories/${e}`,{method:`PUT`,body:JSON.stringify(t)});return n.success?(await ae(),{ok:!0,category:n.category}):{ok:!1,error:n.error}}catch(e){return{ok:!1,error:e?.message,conflictCategory:e?.data?.conflictCategory}}}async function se(e){try{let t=await i(`/categories/${e}`,{method:`DELETE`});return t.success?(await ae(),await a(),{ok:!0,detachedProjects:t.detachedProjects}):{ok:!1,error:t.error}}catch(e){return{ok:!1,error:e?.message}}}return{adminToken:e,projects:t,logs:n,categories:r,fetchProjects:a,fetchLogs:o,getProjectById:s,addProject:c,updateProject:u,removeProject:l,cleanPreview:d,rollbackDeployment:f,fetchDiskOverview:p,fetchDiskProjects:m,fetchProjectArtifacts:h,deleteArtifact:g,fetchHeatmap:_,fetchSuccessRate:v,fetchFailureTop:y,generateToken:b,fetchSettings:x,updateSettings:S,changeAdminToken:C,fetchSystemStatus:ee,fetchHealthDetail:te,fetchAuditLogs:E,fetchAuditLogDetail:ne,fetchFiles:w,fetchFileContent:T,fetchFsHome:D,fetchFsList:re,fetchCategories:ae,createCategory:k,updateCategory:oe,deleteCategory:se,login:ie,logout:O}}),Po=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},Fo=e=>e===``,Io=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),Lo=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Ro=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),zo=e=>{let t=Ro(e);return t.charAt(0).toUpperCase()+t.slice(1)},Bo={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},Vo=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":r,strokeWidth:i,"stroke-width":a,size:o=Bo.width,color:s=Bo.stroke,...c},{slots:l})=>Za(`svg`,{...Bo,...c,width:o,height:o,stroke:s,"stroke-width":Fo(n)||Fo(r)||n===!0||r===!0?Number(i||a||Bo[`stroke-width`])*24/Number(o):i||a||Bo[`stroke-width`],class:Io(`lucide`,c.class,...e?[`lucide-${Lo(zo(e))}-icon`,`lucide-${Lo(e)}`]:[`lucide-icon`]),...!l.default&&!Po(c)&&{"aria-hidden":`true`}},[...t.map(e=>Za(...e)),...l.default?[l.default()]:[]]),Ho=(e,t)=>(n,{slots:r,attrs:i})=>Za(Vo,{...i,...n,iconNode:t,name:e},r);export{d as $,Nn as A,jn as B,Pn as C,Pr as D,Ar as E,ur as F,I as G,Kt as H,pr as I,re as J,Xt as K,rr as L,Kr as M,Br as N,Mr as O,Hr as P,ae as Q,Rn as R,Za as S,Nr as T,Rt as U,Lt as V,qt as W,D as X,s as Y,ve as Z,Ca as _,cr as a,_e as at,Ma as b,$n as c,be as ct,ya as d,he as dt,h as et,ma as f,ue as ft,wa as g,qi as h,Mo as i,p as it,Gr as j,ca as k,z as l,xe as lt,pa as m,se as mt,No as n,v as nt,ir as o,g as ot,Ta as p,Ce as pt,E as q,vo as r,a as rt,q as s,_ as st,Ho as t,o as tt,Xa as u,oe as ut,X as v,yn as w,mr as x,hr as y,An as z};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`database`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 21 19V5`,key:`1wlel7`}],[`path`,{d:`M3 12A9 3 0 0 0 21 12`,key:`mv7ke4`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`eye`,[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`eye-off`,[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-CE-ry2oA.js";var t=e(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]);export{t};