From 4d82ed403110455be2438a147cc90de421012e17 Mon Sep 17 00:00:00 2001 From: Nexus Agent Date: Tue, 9 Jun 2026 03:33:23 +0800 Subject: [PATCH] build(frontend): rebuild web/app assets and prune stale hashes. Align index.html with a complete Vite output set and remove 116 orphaned chunks so git clone loads the SPA correctly. Co-authored-by: Cursor --- ...026-06-09-frontend-assets-rebuild-prune.md | 25 + web/app/assets/AlertsPage-B22cjGfV.js | 1 - web/app/assets/AlertsPage-BZr2dlfE.js | 1 - web/app/assets/AlertsPage-CjECLiQy.js | 1 + ...Page-Bko5-EIL.js => AuditPage--XwrAicr.js} | 2 +- web/app/assets/AuditPage-xRKYABQT.js | 1 - ...e-DvIicHoM.js => CommandsPage-GJ7Q6_15.js} | 2 +- web/app/assets/CommandsPage-jF7ko4hy.js | 1 - ...CFjugTy.js => CredentialsPage-B6u8fRAI.js} | 2 +- web/app/assets/CredentialsPage-bQCPz0U_.js | 1 - ...-MBdDPrBx.js => DashboardPage-BDfRyW6v.js} | 2 +- web/app/assets/DashboardPage-ml3I9rRe.js | 1 - ...Page-CzC0-tAq.js => FilesPage-DGXiHGdY.js} | 6 +- web/app/assets/FilesPage-hxpfXqS1.js | 5 - web/app/assets/LoginPage-CCqcI-dk.js | 2 - ...Page-BsHuUSjf.js => LoginPage-W0z3Jmx1.js} | 4 +- ...hPage-CGWMgBtG.js => PushPage-D9P303pT.js} | 2 +- web/app/assets/PushPage-In5b95X5.js | 1 - ...ge-CWoEv_a3.js => RetriesPage-D57zbX1Y.js} | 2 +- web/app/assets/RetriesPage-Dw_0lrBr.js | 1 - ...-Cwk4pu75.js => SchedulesPage-Q44Ytj_a.js} | 2 +- web/app/assets/SchedulesPage-TXjjFtcm.js | 1 - web/app/assets/ScriptRunsPage-C9JlCCAZ.js | 4 - ...BUukxLsB.js => ScriptRunsPage-D7kMfRJA.js} | 4 +- web/app/assets/ScriptsPage-BVe-wtMe.js | 4 - ...ge-BIUEJ3WR.js => ScriptsPage-Bxvpai9k.js} | 4 +- ...3V.js => ServerCategoryPicker-BE313wTd.js} | 2 +- .../assets/ServerCategoryPicker-CZ_ad3il.js | 1 - web/app/assets/ServersPage-C4_GVaof.js | 5 - web/app/assets/ServersPage-C8kywVR0.js | 5 - web/app/assets/ServersPage-NKayZaaE.js | 5 + web/app/assets/SettingsPage-C2WmgeTn.js | 4 - ...e-BhucmhU8.js => SettingsPage-CHfQvlHo.js} | 2 +- web/app/assets/TerminalPage-C1FKwM_U.js | 40 - ...e-AfvJqsJf.js => TerminalPage-CI1qyspn.js} | 2 +- .../{VCard-DiTj681b.js => VCard-DwK3U69w.js} | 2 +- web/app/assets/VCard-rBfCdgX2.js | 1 - web/app/assets/VCheckbox-5Fmz8kLZ.js | 1 - ...kbox-0cpfrSvP.js => VCheckbox-BnLUWPSt.js} | 2 +- web/app/assets/VDataTable-JI1AS0YS.js | 1 - ...ble-4SnAXj3j.js => VDataTable-PKQbaP3_.js} | 2 +- web/app/assets/VDataTableServer-C4_rzPsO.js | 1 - ...V2iC3x.js => VDataTableServer-D1N34nyt.js} | 2 +- web/app/assets/VDialog-B2Te8j14.js | 1 - ...Dialog-8YoHW6GE.js => VDialog-DPwgR17F.js} | 2 +- ...DaaYev.js => VExpansionPanels-B73hBz74.js} | 2 +- web/app/assets/VExpansionPanels-CY-_n0ol.js | 1 - web/app/assets/VForm-Dh0_yaO1.js | 1 - .../{VForm-CIKxKkYK.js => VForm-lsgZBPTi.js} | 2 +- .../{VRow-By04mHIT.js => VRow-Jrv7cE2K.js} | 2 +- web/app/assets/VRow-Wg9QrEcV.js | 1 - ...Select-XuQYQvJc.js => VSelect-C2IkZQ4Y.js} | 2 +- web/app/assets/VSelect-CzNpj4qJ.js | 1 - web/app/assets/VSkeletonLoader-CkKVcJRy.js | 1 - ...DBPWC-b.js => VSkeletonLoader-vo9o5RDt.js} | 2 +- ...Switch-TNXNpeZv.js => VSwitch-B9ytL2C4.js} | 2 +- web/app/assets/VSwitch-fZMfBV9n.js | 1 - web/app/assets/VTextField-CvZimSXQ.js | 1 - ...eld-BZnszgeR.js => VTextField-DVnxh9lX.js} | 2 +- web/app/assets/VTextarea-9CeXtoSu.js | 1 - ...area-tb0SPOpO.js => VTextarea-Cn1CYtMX.js} | 2 +- ...Error-BqTTIuLB.js => apiError-D7r0BvbZ.js} | 2 +- web/app/assets/apiError-EQrzELs3.js | 1 - web/app/assets/cssMode-CjuUAicz.js | 1 - ...ssMode-9eMH14rY.js => cssMode-CscEBWSh.js} | 2 +- web/app/assets/execDetailGrouping-DLvg5pqf.js | 2 - ...TKlJ.js => execDetailGrouping-DS4ZxwW6.js} | 2 +- web/app/assets/freemarker2-Cnh8hTW7.js | 3 - ...r2-B_FkM1gP.js => freemarker2-Couaj2b-.js} | 2 +- ...ars-9TU1NdfX.js => handlebars-0IVx-PP6.js} | 2 +- web/app/assets/handlebars-BRHUlbMf.js | 1 - web/app/assets/html-CeTz7O8e.js | 1 - .../{html-BVFwOOwI.js => html-DNoJog4z.js} | 2 +- web/app/assets/htmlMode-DGslHH5N.js | 1 - ...lMode-CznTvgCZ.js => htmlMode-YP8ByLs9.js} | 2 +- .../{index-DZEQidkT.js => index-Bplw5zZe.js} | 4 +- web/app/assets/index-DawRgH7u.js | 15 - ...aco-BdzAW2O1.js => initMonaco-CvAS2Es9.js} | 6 +- web/app/assets/initMonaco-CzdlaNu8.js | 877 ------------------ ...ipt-BCLC1sow.js => javascript-B5T4qecq.js} | 2 +- web/app/assets/javascript-D2Wzjcn9.js | 1 - ...nMode-BTdscSDm.js => jsonMode-L_XyLhtg.js} | 2 +- web/app/assets/jsonMode-WgcFR8dM.js | 7 - web/app/assets/liquid-C7eLCodG.js | 1 - ...{liquid-9u5g2zEn.js => liquid-FgrcOnYV.js} | 2 +- ...6Mz.js => lspLanguageFeatures-CyUInuAF.js} | 2 +- .../assets/lspLanguageFeatures-cKKqM8zw.js | 4 - .../{mdx-CRfjRnH4.js => mdx-BFhNXYzC.js} | 2 +- web/app/assets/mdx-CUA5FfTz.js | 1 - web/app/assets/paginatedFetch-DB49B9Xn.js | 1 - ...BEWdPley.js => paginatedFetch-DmzXeKPu.js} | 2 +- web/app/assets/python-CfzJ99wA.js | 1 - ...{python-23xjhevW.js => python-HyN5-tSk.js} | 2 +- web/app/assets/razor-CS7Z71jS.js | 1 - .../{razor-BUm6P0ja.js => razor-D2hnWTxt.js} | 2 +- web/app/assets/router-Ok5KxFnj.js | 1 + web/app/assets/router-qavSGRuZ.js | 1 - web/app/assets/router-vItW-i8I.js | 1 - web/app/assets/tsMode-D8emXRHq.js | 11 - ...{tsMode-BoZRiQbS.js => tsMode-MTBD3Tgi.js} | 2 +- ...ipt-BJa1H8hB.js => typescript-CnV6nxa6.js} | 2 +- web/app/assets/typescript-TebHeAMS.js | 1 - .../assets/usePageActivateRefresh-BmoMLdUi.js | 1 - ....js => usePageActivateRefresh-C2xQnJah.js} | 2 +- ...6HJY.js => usePageAutoRefresh-B7w3XG1Y.js} | 2 +- web/app/assets/usePageAutoRefresh-_5-kEzKg.js | 1 - ...CqPC7tz5.js => usePushStaging-CG8g6bPy.js} | 2 +- web/app/assets/usePushStaging-whqVGN6i.js | 1 - ...jpL.js => useServerCategories-D9bG0IAJ.js} | 2 +- .../assets/useServerCategories-RxfHjr4v.js | 1 - web/app/assets/useServerList-DTniLWx3.js | 1 - ...-CXphchDt.js => useServerList-IslpqUAV.js} | 2 +- web/app/assets/useSnackbar-DaoOJlMz.js | 1 - ...ar-CmDJGLzR.js => useSnackbar-P0rXZaHt.js} | 2 +- ...s => useTerminalQuickCommands-CBnMQV9W.js} | 2 +- .../useTerminalQuickCommands-DSsRozRD.js | 2 - .../{xml-DgXW00xK.js => xml-BGMXLPuF.js} | 2 +- web/app/assets/xml-UHlzFlGu.js | 1 - web/app/assets/yaml-DFBGAzXA.js | 1 - .../{yaml-B624rfm-.js => yaml-EJ0cQqMR.js} | 2 +- 120 files changed, 95 insertions(+), 1098 deletions(-) create mode 100644 docs/changelog/2026-06-09-frontend-assets-rebuild-prune.md delete mode 100644 web/app/assets/AlertsPage-B22cjGfV.js delete mode 100644 web/app/assets/AlertsPage-BZr2dlfE.js create mode 100644 web/app/assets/AlertsPage-CjECLiQy.js rename web/app/assets/{AuditPage-Bko5-EIL.js => AuditPage--XwrAicr.js} (91%) delete mode 100644 web/app/assets/AuditPage-xRKYABQT.js rename web/app/assets/{CommandsPage-DvIicHoM.js => CommandsPage-GJ7Q6_15.js} (83%) delete mode 100644 web/app/assets/CommandsPage-jF7ko4hy.js rename web/app/assets/{CredentialsPage-CCFjugTy.js => CredentialsPage-B6u8fRAI.js} (51%) delete mode 100644 web/app/assets/CredentialsPage-bQCPz0U_.js rename web/app/assets/{DashboardPage-MBdDPrBx.js => DashboardPage-BDfRyW6v.js} (93%) delete mode 100644 web/app/assets/DashboardPage-ml3I9rRe.js rename web/app/assets/{FilesPage-CzC0-tAq.js => FilesPage-DGXiHGdY.js} (99%) delete mode 100644 web/app/assets/FilesPage-hxpfXqS1.js delete mode 100644 web/app/assets/LoginPage-CCqcI-dk.js rename web/app/assets/{LoginPage-BsHuUSjf.js => LoginPage-W0z3Jmx1.js} (85%) rename web/app/assets/{PushPage-CGWMgBtG.js => PushPage-D9P303pT.js} (98%) delete mode 100644 web/app/assets/PushPage-In5b95X5.js rename web/app/assets/{RetriesPage-CWoEv_a3.js => RetriesPage-D57zbX1Y.js} (90%) delete mode 100644 web/app/assets/RetriesPage-Dw_0lrBr.js rename web/app/assets/{SchedulesPage-Cwk4pu75.js => SchedulesPage-Q44Ytj_a.js} (96%) delete mode 100644 web/app/assets/SchedulesPage-TXjjFtcm.js delete mode 100644 web/app/assets/ScriptRunsPage-C9JlCCAZ.js rename web/app/assets/{ScriptRunsPage-BUukxLsB.js => ScriptRunsPage-D7kMfRJA.js} (92%) delete mode 100644 web/app/assets/ScriptsPage-BVe-wtMe.js rename web/app/assets/{ScriptsPage-BIUEJ3WR.js => ScriptsPage-Bxvpai9k.js} (94%) rename web/app/assets/{ServerCategoryPicker-1rZGQM3V.js => ServerCategoryPicker-BE313wTd.js} (92%) delete mode 100644 web/app/assets/ServerCategoryPicker-CZ_ad3il.js delete mode 100644 web/app/assets/ServersPage-C4_GVaof.js delete mode 100644 web/app/assets/ServersPage-C8kywVR0.js create mode 100644 web/app/assets/ServersPage-NKayZaaE.js delete mode 100644 web/app/assets/SettingsPage-C2WmgeTn.js rename web/app/assets/{SettingsPage-BhucmhU8.js => SettingsPage-CHfQvlHo.js} (98%) delete mode 100644 web/app/assets/TerminalPage-C1FKwM_U.js rename web/app/assets/{TerminalPage-AfvJqsJf.js => TerminalPage-CI1qyspn.js} (99%) rename web/app/assets/{VCard-DiTj681b.js => VCard-DwK3U69w.js} (98%) delete mode 100644 web/app/assets/VCard-rBfCdgX2.js delete mode 100644 web/app/assets/VCheckbox-5Fmz8kLZ.js rename web/app/assets/{VCheckbox-0cpfrSvP.js => VCheckbox-BnLUWPSt.js} (80%) delete mode 100644 web/app/assets/VDataTable-JI1AS0YS.js rename web/app/assets/{VDataTable-4SnAXj3j.js => VDataTable-PKQbaP3_.js} (99%) delete mode 100644 web/app/assets/VDataTableServer-C4_rzPsO.js rename web/app/assets/{VDataTableServer-C1V2iC3x.js => VDataTableServer-D1N34nyt.js} (95%) delete mode 100644 web/app/assets/VDialog-B2Te8j14.js rename web/app/assets/{VDialog-8YoHW6GE.js => VDialog-DPwgR17F.js} (95%) rename web/app/assets/{VExpansionPanels-CGDaaYev.js => VExpansionPanels-B73hBz74.js} (98%) delete mode 100644 web/app/assets/VExpansionPanels-CY-_n0ol.js delete mode 100644 web/app/assets/VForm-Dh0_yaO1.js rename web/app/assets/{VForm-CIKxKkYK.js => VForm-lsgZBPTi.js} (87%) rename web/app/assets/{VRow-By04mHIT.js => VRow-Jrv7cE2K.js} (98%) delete mode 100644 web/app/assets/VRow-Wg9QrEcV.js rename web/app/assets/{VSelect-XuQYQvJc.js => VSelect-C2IkZQ4Y.js} (99%) delete mode 100644 web/app/assets/VSelect-CzNpj4qJ.js delete mode 100644 web/app/assets/VSkeletonLoader-CkKVcJRy.js rename web/app/assets/{VSkeletonLoader-2DBPWC-b.js => VSkeletonLoader-vo9o5RDt.js} (95%) rename web/app/assets/{VSwitch-TNXNpeZv.js => VSwitch-B9ytL2C4.js} (92%) delete mode 100644 web/app/assets/VSwitch-fZMfBV9n.js delete mode 100644 web/app/assets/VTextField-CvZimSXQ.js rename web/app/assets/{VTextField-BZnszgeR.js => VTextField-DVnxh9lX.js} (99%) delete mode 100644 web/app/assets/VTextarea-9CeXtoSu.js rename web/app/assets/{VTextarea-tb0SPOpO.js => VTextarea-Cn1CYtMX.js} (97%) rename web/app/assets/{apiError-BqTTIuLB.js => apiError-D7r0BvbZ.js} (64%) delete mode 100644 web/app/assets/apiError-EQrzELs3.js delete mode 100644 web/app/assets/cssMode-CjuUAicz.js rename web/app/assets/{cssMode-9eMH14rY.js => cssMode-CscEBWSh.js} (95%) delete mode 100644 web/app/assets/execDetailGrouping-DLvg5pqf.js rename web/app/assets/{execDetailGrouping-D7x-TKlJ.js => execDetailGrouping-DS4ZxwW6.js} (87%) delete mode 100644 web/app/assets/freemarker2-Cnh8hTW7.js rename web/app/assets/{freemarker2-B_FkM1gP.js => freemarker2-Couaj2b-.js} (99%) rename web/app/assets/{handlebars-9TU1NdfX.js => handlebars-0IVx-PP6.js} (98%) delete mode 100644 web/app/assets/handlebars-BRHUlbMf.js delete mode 100644 web/app/assets/html-CeTz7O8e.js rename web/app/assets/{html-BVFwOOwI.js => html-DNoJog4z.js} (98%) delete mode 100644 web/app/assets/htmlMode-DGslHH5N.js rename web/app/assets/{htmlMode-CznTvgCZ.js => htmlMode-YP8ByLs9.js} (96%) rename web/app/assets/{index-DZEQidkT.js => index-Bplw5zZe.js} (54%) delete mode 100644 web/app/assets/index-DawRgH7u.js rename web/app/assets/{initMonaco-BdzAW2O1.js => initMonaco-CvAS2Es9.js} (99%) delete mode 100644 web/app/assets/initMonaco-CzdlaNu8.js rename web/app/assets/{javascript-BCLC1sow.js => javascript-B5T4qecq.js} (90%) delete mode 100644 web/app/assets/javascript-D2Wzjcn9.js rename web/app/assets/{jsonMode-BTdscSDm.js => jsonMode-L_XyLhtg.js} (98%) delete mode 100644 web/app/assets/jsonMode-WgcFR8dM.js delete mode 100644 web/app/assets/liquid-C7eLCodG.js rename web/app/assets/{liquid-9u5g2zEn.js => liquid-FgrcOnYV.js} (98%) rename web/app/assets/{lspLanguageFeatures-DINnP6Mz.js => lspLanguageFeatures-CyUInuAF.js} (99%) delete mode 100644 web/app/assets/lspLanguageFeatures-cKKqM8zw.js rename web/app/assets/{mdx-CRfjRnH4.js => mdx-BFhNXYzC.js} (98%) delete mode 100644 web/app/assets/mdx-CUA5FfTz.js delete mode 100644 web/app/assets/paginatedFetch-DB49B9Xn.js rename web/app/assets/{paginatedFetch-BEWdPley.js => paginatedFetch-DmzXeKPu.js} (88%) delete mode 100644 web/app/assets/python-CfzJ99wA.js rename web/app/assets/{python-23xjhevW.js => python-HyN5-tSk.js} (98%) delete mode 100644 web/app/assets/razor-CS7Z71jS.js rename web/app/assets/{razor-BUm6P0ja.js => razor-D2hnWTxt.js} (99%) create mode 100644 web/app/assets/router-Ok5KxFnj.js delete mode 100644 web/app/assets/router-qavSGRuZ.js delete mode 100644 web/app/assets/router-vItW-i8I.js delete mode 100644 web/app/assets/tsMode-D8emXRHq.js rename web/app/assets/{tsMode-BoZRiQbS.js => tsMode-MTBD3Tgi.js} (99%) rename web/app/assets/{typescript-BJa1H8hB.js => typescript-CnV6nxa6.js} (98%) delete mode 100644 web/app/assets/typescript-TebHeAMS.js delete mode 100644 web/app/assets/usePageActivateRefresh-BmoMLdUi.js rename web/app/assets/{usePageActivateRefresh-BTfzAggZ.js => usePageActivateRefresh-C2xQnJah.js} (59%) rename web/app/assets/{usePageAutoRefresh-CtJ56HJY.js => usePageAutoRefresh-B7w3XG1Y.js} (90%) delete mode 100644 web/app/assets/usePageAutoRefresh-_5-kEzKg.js rename web/app/assets/{usePushStaging-CqPC7tz5.js => usePushStaging-CG8g6bPy.js} (97%) delete mode 100644 web/app/assets/usePushStaging-whqVGN6i.js rename web/app/assets/{useServerCategories-CdnJojpL.js => useServerCategories-D9bG0IAJ.js} (90%) delete mode 100644 web/app/assets/useServerCategories-RxfHjr4v.js delete mode 100644 web/app/assets/useServerList-DTniLWx3.js rename web/app/assets/{useServerList-CXphchDt.js => useServerList-IslpqUAV.js} (67%) delete mode 100644 web/app/assets/useSnackbar-DaoOJlMz.js rename web/app/assets/{useSnackbar-CmDJGLzR.js => useSnackbar-P0rXZaHt.js} (88%) rename web/app/assets/{useTerminalQuickCommands-BGuDe6GB.js => useTerminalQuickCommands-CBnMQV9W.js} (98%) delete mode 100644 web/app/assets/useTerminalQuickCommands-DSsRozRD.js rename web/app/assets/{xml-DgXW00xK.js => xml-BGMXLPuF.js} (96%) delete mode 100644 web/app/assets/xml-UHlzFlGu.js delete mode 100644 web/app/assets/yaml-DFBGAzXA.js rename web/app/assets/{yaml-B624rfm-.js => yaml-EJ0cQqMR.js} (98%) diff --git a/docs/changelog/2026-06-09-frontend-assets-rebuild-prune.md b/docs/changelog/2026-06-09-frontend-assets-rebuild-prune.md new file mode 100644 index 00000000..9e4530b4 --- /dev/null +++ b/docs/changelog/2026-06-09-frontend-assets-rebuild-prune.md @@ -0,0 +1,25 @@ +# 2026-06-09 前端构建产物重建与 prune + +## 摘要 + +`vite build` 重新生成 `web/app/`,并 prune 移除 116 个过期 hash assets,修复 `index.html` 引用未入库入口 JS 的仓库不一致。 + +## 动机 + +Git 中 `index.html` 指向 `index-Bplw5zZe.js` 但未跟踪对应 chunk;clone 后前端白屏。生产容器内构建正常,本修复对齐 Git 与当前源码。 + +## 涉及文件 + +- `web/app/index.html` +- `web/app/assets/*`(保留当前构建 178 文件,删除 116 过期) + +## 迁移 / 重启 + +无 DB 变更。生产下次部署会容器内 rebuild;可选 `deploy/deploy-frontend.sh` 同步静态资源。 + +## 验证 + +```bash +python3 deploy/prune_frontend_assets.py --dry-run web/app # referenced_kept=178 would_remove=0 +# index.html 引用的 js/css 均存在于 web/app/assets/ +``` diff --git a/web/app/assets/AlertsPage-B22cjGfV.js b/web/app/assets/AlertsPage-B22cjGfV.js deleted file mode 100644 index f8e7eb9b..00000000 --- a/web/app/assets/AlertsPage-B22cjGfV.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./useSnackbar-DaoOJlMz.js";import{n,t as r}from"./VRow-Wg9QrEcV.js";import{Ht as i,Ir as a,Pr as o,Sr as s,Ur as c,X as l,Xr as u,Xt as d,_ as f,br as p,dr as m,gr as h,h as g,hr as _,l as v,m as y,ni as b,oi as x,vr as S,xr as C,y as w}from"./index-DZEQidkT.js";import{t as T}from"./usePageActivateRefresh-BmoMLdUi.js";import{n as E}from"./dataTable-esDY4cOk.js";import{r as D,t as O}from"./VCard-DiTj681b.js";import{t as k}from"./VSelect-CzNpj4qJ.js";import{t as A}from"./VDataTableServer-C1V2iC3x.js";var j={class:`font-weight-medium`},M={class:`text-body-2`},N={class:`text-caption text-medium-emphasis`},P=s({name:`AlertsPage`,__name:`AlertsPage`,setup(s){let P=t(),F=u(!1),I=u([]),L=u(0),R=u(1),z=u(null),B=u(null),V=u([{label:`今日告警`,value:`0`,color:`blue`,icon:`mdi-alert`},{label:`活跃告警`,value:`0`,color:`orange`,icon:`mdi-bell-ring`},{label:`已恢复`,value:`0`,color:`green`,icon:`mdi-check-circle`},{label:`Top 服务器`,value:`—`,color:`red`,icon:`mdi-server`}]),H=[{label:`CPU`,value:`cpu`},{label:`内存`,value:`memory`},{label:`磁盘`,value:`disk`},{label:`连接`,value:`connection`}],U=[{label:`活跃`,value:`active`},{label:`已恢复`,value:`recovered`}],W=E([{title:`类型`,key:`alert_type`,width:100},{title:`服务器`,key:`server_name`},{title:`详情`,key:`value`},{title:`状态`,key:`is_recovery`,width:100},{title:`时间`,key:`created_at`,width:160}]);async function G(){try{let e=await d.get(`/alert-history/stats`);V.value[0].value=String(e.today||0),V.value[1].value=String(e.active||0),V.value[2].value=String(e.recovered||0),V.value[3].value=e.top_server||`—`}catch{P(`加载统计失败`,`error`)}}async function K(e=!1){e||(F.value=!0);try{let e=await d.get(`/alert-history/`,{page:R.value,per_page:20,type:z.value||void 0,status:B.value||void 0});I.value=e.items||[],L.value=e.total||0}catch{I.value=[]}finally{e||(F.value=!1)}}function q(e){return e===`cpu`||e===`CPU`?`error`:e===`memory`||e===`内存`?`warning`:e===`disk`||e===`磁盘`?`info`:`primary`}function J(e){return e===`cpu`||e===`CPU`?`mdi-chip`:e===`memory`||e===`内存`?`mdi-memory`:e===`disk`||e===`磁盘`?`mdi-harddisk`:`mdi-lan-disconnect`}async function Y(e=!1){await Promise.all([G(),K(e)])}return T(e=>Y(e)),(t,s)=>(o(),h(e,{fluid:``,class:`pa-6`},{default:c(()=>[C(r,{class:`mb-4`},{default:c(()=>[(o(!0),S(m,null,a(V.value,e=>(o(),h(n,{cols:`12`,sm:`6`,lg:`3`,key:e.label},{default:c(()=>[C(v,{elevation:`0`,lines:`two`,rounded:`lg`,border:``},{default:c(()=>[C(y,null,{append:c(()=>[C(l,{color:e.color,size:`30`},{default:c(()=>[p(x(e.icon),1)]),_:2},1032,[`color`])]),default:c(()=>[C(g,{class:`text-body-small`},{default:c(()=>[p(x(e.label),1)]),_:2},1024),C(g,null,{default:c(()=>[p(x(e.value),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),C(O,{elevation:`0`,border:``,rounded:`lg`},{default:c(()=>[C(D,{class:`d-flex align-center`},{default:c(()=>[s[5]||=p(` 告警历史 `,-1),C(f),C(k,{modelValue:z.value,"onUpdate:modelValue":[s[0]||=e=>z.value=e,s[1]||=e=>{R.value=1,K()}],items:H,"item-title":`label`,"item-value":`value`,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},clearable:``},null,8,[`modelValue`]),C(k,{modelValue:B.value,"onUpdate:modelValue":[s[2]||=e=>B.value=e,s[3]||=e=>{R.value=1,K()}],items:U,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`])]),_:1}),C(A,{items:I.value,headers:b(W),"items-length":L.value,loading:F.value,page:R.value,"items-per-page":20,hover:``,density:`comfortable`,"onUpdate:page":s[4]||=e=>{R.value=e,K()}},{"item.alert_type":c(({item:e})=>[C(w,{color:q(e.alert_type),size:`small`,variant:`tonal`,label:``},{prepend:c(()=>[C(l,{size:`12`},{default:c(()=>[p(x(J(e.alert_type)),1)]),_:2},1024)]),default:c(()=>[p(` `+x(e.alert_type),1)]),_:2},1032,[`color`])]),"item.server_name":c(({item:e})=>[_(`span`,j,x(e.server_name),1)]),"item.value":c(({item:e})=>[_(`span`,M,x(e.value),1)]),"item.is_recovery":c(({item:e})=>[e.is_recovery?(o(),h(w,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:c(()=>[...s[6]||=[p(`已恢复`,-1)]]),_:1})):(o(),h(w,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:c(()=>[...s[7]||=[p(`告警中`,-1)]]),_:1}))]),"item.created_at":c(({item:e})=>[_(`span`,N,x(b(i)(e.created_at)),1)]),"no-data":c(()=>[...s[8]||=[_(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{P as default}; \ No newline at end of file diff --git a/web/app/assets/AlertsPage-BZr2dlfE.js b/web/app/assets/AlertsPage-BZr2dlfE.js deleted file mode 100644 index 7e404232..00000000 --- a/web/app/assets/AlertsPage-BZr2dlfE.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./useSnackbar-CmDJGLzR.js";import{n,t as r}from"./VRow-By04mHIT.js";import{Ht as i,Ir as a,Pr as o,Sr as s,Ur as c,X as l,Xr as u,Xt as d,_ as f,br as p,dr as m,gr as h,h as g,hr as _,l as v,m as y,ni as b,oi as x,vr as S,xr as C,y as w}from"./index-DawRgH7u.js";import{t as T}from"./usePageActivateRefresh-BTfzAggZ.js";import{n as E}from"./dataTable-esDY4cOk.js";import{r as D,t as O}from"./VCard-rBfCdgX2.js";import{t as k}from"./VSelect-XuQYQvJc.js";import{t as A}from"./VDataTableServer-C4_rzPsO.js";var j={class:`font-weight-medium`},M={class:`text-body-2`},N={class:`text-caption text-medium-emphasis`},P=s({name:`AlertsPage`,__name:`AlertsPage`,setup(s){let P=t(),F=u(!1),I=u([]),L=u(0),R=u(1),z=u(null),B=u(null),V=u([{label:`今日告警`,value:`0`,color:`blue`,icon:`mdi-alert`},{label:`活跃告警`,value:`0`,color:`orange`,icon:`mdi-bell-ring`},{label:`已恢复`,value:`0`,color:`green`,icon:`mdi-check-circle`},{label:`Top 服务器`,value:`—`,color:`red`,icon:`mdi-server`}]),H=[{label:`CPU`,value:`cpu`},{label:`内存`,value:`memory`},{label:`磁盘`,value:`disk`},{label:`连接`,value:`connection`}],U=[{label:`活跃`,value:`active`},{label:`已恢复`,value:`recovered`}],W=E([{title:`类型`,key:`alert_type`,width:100},{title:`服务器`,key:`server_name`},{title:`详情`,key:`value`},{title:`状态`,key:`is_recovery`,width:100},{title:`时间`,key:`created_at`,width:160}]);async function G(){try{let e=await d.get(`/alert-history/stats`);V.value[0].value=String(e.today||0),V.value[1].value=String(e.active||0),V.value[2].value=String(e.recovered||0),V.value[3].value=e.top_server||`—`}catch{P(`加载统计失败`,`error`)}}async function K(e=!1){e||(F.value=!0);try{let e=await d.get(`/alert-history/`,{page:R.value,per_page:20,type:z.value||void 0,status:B.value||void 0});I.value=e.items||[],L.value=e.total||0}catch{I.value=[]}finally{e||(F.value=!1)}}function q(e){return e===`cpu`||e===`CPU`?`error`:e===`memory`||e===`内存`?`warning`:e===`disk`||e===`磁盘`?`info`:`primary`}function J(e){return e===`cpu`||e===`CPU`?`mdi-chip`:e===`memory`||e===`内存`?`mdi-memory`:e===`disk`||e===`磁盘`?`mdi-harddisk`:`mdi-lan-disconnect`}async function Y(e=!1){await Promise.all([G(),K(e)])}return T(e=>Y(e)),(t,s)=>(o(),h(e,{fluid:``,class:`pa-6`},{default:c(()=>[C(r,{class:`mb-4`},{default:c(()=>[(o(!0),S(m,null,a(V.value,e=>(o(),h(n,{cols:`12`,sm:`6`,lg:`3`,key:e.label},{default:c(()=>[C(v,{elevation:`0`,lines:`two`,rounded:`lg`,border:``},{default:c(()=>[C(y,null,{append:c(()=>[C(l,{color:e.color,size:`30`},{default:c(()=>[p(x(e.icon),1)]),_:2},1032,[`color`])]),default:c(()=>[C(g,{class:`text-body-small`},{default:c(()=>[p(x(e.label),1)]),_:2},1024),C(g,null,{default:c(()=>[p(x(e.value),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),C(O,{elevation:`0`,border:``,rounded:`lg`},{default:c(()=>[C(D,{class:`d-flex align-center`},{default:c(()=>[s[5]||=p(` 告警历史 `,-1),C(f),C(k,{modelValue:z.value,"onUpdate:modelValue":[s[0]||=e=>z.value=e,s[1]||=e=>{R.value=1,K()}],items:H,"item-title":`label`,"item-value":`value`,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},clearable:``},null,8,[`modelValue`]),C(k,{modelValue:B.value,"onUpdate:modelValue":[s[2]||=e=>B.value=e,s[3]||=e=>{R.value=1,K()}],items:U,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`])]),_:1}),C(A,{items:I.value,headers:b(W),"items-length":L.value,loading:F.value,page:R.value,"items-per-page":20,hover:``,density:`comfortable`,"onUpdate:page":s[4]||=e=>{R.value=e,K()}},{"item.alert_type":c(({item:e})=>[C(w,{color:q(e.alert_type),size:`small`,variant:`tonal`,label:``},{prepend:c(()=>[C(l,{size:`12`},{default:c(()=>[p(x(J(e.alert_type)),1)]),_:2},1024)]),default:c(()=>[p(` `+x(e.alert_type),1)]),_:2},1032,[`color`])]),"item.server_name":c(({item:e})=>[_(`span`,j,x(e.server_name),1)]),"item.value":c(({item:e})=>[_(`span`,M,x(e.value),1)]),"item.is_recovery":c(({item:e})=>[e.is_recovery?(o(),h(w,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:c(()=>[...s[6]||=[p(`已恢复`,-1)]]),_:1})):(o(),h(w,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:c(()=>[...s[7]||=[p(`告警中`,-1)]]),_:1}))]),"item.created_at":c(({item:e})=>[_(`span`,N,x(b(i)(e.created_at)),1)]),"no-data":c(()=>[...s[8]||=[_(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{P as default}; \ No newline at end of file diff --git a/web/app/assets/AlertsPage-CjECLiQy.js b/web/app/assets/AlertsPage-CjECLiQy.js new file mode 100644 index 00000000..5800103f --- /dev/null +++ b/web/app/assets/AlertsPage-CjECLiQy.js @@ -0,0 +1 @@ +import{n as e,t}from"./useSnackbar-P0rXZaHt.js";import{n,t as r}from"./VRow-Jrv7cE2K.js";import{Ht as i,Ir as a,Pr as o,Sr as s,Ur as c,X as l,Xr as u,Xt as d,_ as f,br as p,dr as m,gr as h,h as g,hr as _,l as v,m as y,ni as b,oi as x,vr as S,xr as C,y as w}from"./index-Bplw5zZe.js";import{t as T}from"./usePageActivateRefresh-C2xQnJah.js";import{n as E,t as D}from"./dataTable-esDY4cOk.js";import{n as O}from"./paginatedFetch-DmzXeKPu.js";import{r as k,t as A}from"./VCard-DwK3U69w.js";import{t as j}from"./VSelect-C2IkZQ4Y.js";import{t as M}from"./VDataTableServer-D1N34nyt.js";var N={class:`font-weight-medium`},P={class:`text-body-2`},F={class:`text-caption text-medium-emphasis`},I=s({name:`AlertsPage`,__name:`AlertsPage`,setup(s){let I=t(),L=u(!1),R=u([]),z=u(0),B=u(1),V=u(20),H=D,U=u(null),W=u(null),G=u([{label:`今日告警`,value:`0`,color:`blue`,icon:`mdi-alert`},{label:`活跃告警`,value:`0`,color:`orange`,icon:`mdi-bell-ring`},{label:`已恢复`,value:`0`,color:`green`,icon:`mdi-check-circle`},{label:`Top 服务器`,value:`—`,color:`red`,icon:`mdi-server`}]),K=[{label:`CPU`,value:`cpu`},{label:`内存`,value:`memory`},{label:`磁盘`,value:`disk`},{label:`连接`,value:`connection`}],q=[{label:`活跃`,value:`active`},{label:`已恢复`,value:`recovered`}],J=E([{title:`类型`,key:`alert_type`,width:100},{title:`服务器`,key:`server_name`},{title:`详情`,key:`value`},{title:`状态`,key:`is_recovery`,width:100},{title:`时间`,key:`created_at`,width:160}]);async function Y(){try{let e=await d.get(`/alert-history/stats`);G.value[0].value=String(e.today||0),G.value[1].value=String(e.active||0),G.value[2].value=String(e.recovered||0),G.value[3].value=e.top_server||`—`}catch{I(`加载统计失败`,`error`)}}function X(e){B.value=e,Q()}function Z(e){V.value=e,B.value=1,Q()}async function Q(e=!1){e||(L.value=!0);try{let e=await O(`/alert-history/`,{type:U.value||void 0,status:W.value||void 0},B.value,V.value);R.value=e.items,z.value=e.total,V.value===-1&&(B.value=1)}catch{R.value=[],z.value=0,I(`加载告警列表失败`,`error`)}finally{e||(L.value=!1)}}function $(e){return e===`cpu`||e===`CPU`?`error`:e===`memory`||e===`内存`?`warning`:e===`disk`||e===`磁盘`?`info`:`primary`}function ee(e){return e===`cpu`||e===`CPU`?`mdi-chip`:e===`memory`||e===`内存`?`mdi-memory`:e===`disk`||e===`磁盘`?`mdi-harddisk`:`mdi-lan-disconnect`}async function te(e=!1){await Promise.all([Y(),Q(e)])}return T(e=>te(e)),(t,s)=>(o(),h(e,{fluid:``,class:`pa-6`},{default:c(()=>[C(r,{class:`mb-4`},{default:c(()=>[(o(!0),S(m,null,a(G.value,e=>(o(),h(n,{cols:`12`,sm:`6`,lg:`3`,key:e.label},{default:c(()=>[C(v,{elevation:`0`,lines:`two`,rounded:`lg`,border:``},{default:c(()=>[C(y,null,{append:c(()=>[C(l,{color:e.color,size:`30`},{default:c(()=>[p(x(e.icon),1)]),_:2},1032,[`color`])]),default:c(()=>[C(g,{class:`text-body-small`},{default:c(()=>[p(x(e.label),1)]),_:2},1024),C(g,null,{default:c(()=>[p(x(e.value),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),C(A,{elevation:`0`,border:``,rounded:`lg`},{default:c(()=>[C(k,{class:`d-flex align-center`},{default:c(()=>[s[4]||=p(` 告警历史 `,-1),C(f),C(j,{modelValue:U.value,"onUpdate:modelValue":[s[0]||=e=>U.value=e,s[1]||=e=>{B.value=1,Q()}],items:K,"item-title":`label`,"item-value":`value`,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},clearable:``},null,8,[`modelValue`]),C(j,{modelValue:W.value,"onUpdate:modelValue":[s[2]||=e=>W.value=e,s[3]||=e=>{B.value=1,Q()}],items:q,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`])]),_:1}),C(M,{items:R.value,headers:b(J),"items-length":z.value,loading:L.value,page:B.value,"items-per-page":V.value,"items-per-page-options":b(H),hover:``,density:`comfortable`,"onUpdate:page":X,"onUpdate:itemsPerPage":Z},{"item.alert_type":c(({item:e})=>[C(w,{color:$(e.alert_type),size:`small`,variant:`tonal`,label:``},{prepend:c(()=>[C(l,{size:`12`},{default:c(()=>[p(x(ee(e.alert_type)),1)]),_:2},1024)]),default:c(()=>[p(` `+x(e.alert_type),1)]),_:2},1032,[`color`])]),"item.server_name":c(({item:e})=>[_(`span`,N,x(e.server_name),1)]),"item.value":c(({item:e})=>[_(`span`,P,x(e.value),1)]),"item.is_recovery":c(({item:e})=>[e.is_recovery?(o(),h(w,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:c(()=>[...s[5]||=[p(`已恢复`,-1)]]),_:1})):(o(),h(w,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:c(()=>[...s[6]||=[p(`告警中`,-1)]]),_:1}))]),"item.created_at":c(({item:e})=>[_(`span`,F,x(b(i)(e.created_at)),1)]),"no-data":c(()=>[...s[7]||=[_(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`,`items-per-page-options`])]),_:1})]),_:1}))}});export{I as default}; \ No newline at end of file diff --git a/web/app/assets/AuditPage-Bko5-EIL.js b/web/app/assets/AuditPage--XwrAicr.js similarity index 91% rename from web/app/assets/AuditPage-Bko5-EIL.js rename to web/app/assets/AuditPage--XwrAicr.js index 20734044..02deadeb 100644 --- a/web/app/assets/AuditPage-Bko5-EIL.js +++ b/web/app/assets/AuditPage--XwrAicr.js @@ -1 +1 @@ -import{n as e,t}from"./useSnackbar-CmDJGLzR.js";import{Ht as n,P as r,Pr as i,Sr as a,Tt as o,Ur as s,Xr as c,Xt as l,_ as u,_r as d,br as f,gr as p,hr as m,ni as h,oi as g,ur as _,xr as v,y}from"./index-DawRgH7u.js";import{t as b}from"./usePageActivateRefresh-BTfzAggZ.js";import{n as x}from"./dataTable-esDY4cOk.js";import{r as S,t as C}from"./VCard-rBfCdgX2.js";import{t as w}from"./VSelect-XuQYQvJc.js";import{t as T}from"./VTextField-BZnszgeR.js";import{t as E}from"./VDataTableServer-C4_rzPsO.js";import{a as D,n as O,r as k,t as A}from"./auditNormalize-DWYIxo0q.js";var j=new Set([`batch_install_agent`,`batch_upgrade_agent`,`batch_uninstall_agent`,`batch_detect_path`,`batch_health_check`,`batch_update_category`,`batch_server_op`]);function M(e){return j.has(e)}function N(e){let t=(e||``).trim();if(!t.startsWith(`{`))return null;try{let e=JSON.parse(t);return typeof e.job_id!=`number`||!e.summary?null:e}catch{return null}}function P(e){let t=[e.summary],n=e.failures||[];if(n.length){let e=n.slice(0,3).map(e=>e.server_name).join(`、`);t.push(`失败: ${e}${n.length>3?`…`:``}`)}return t.join(` · `)}var F={class:`font-weight-medium`},I={class:`text-body-2`},L={class:`d-flex align-center ga-2 flex-wrap`},R={class:`text-body-2 text-medium-emphasis`,style:{"max-width":`360px`}},z={class:`text-caption text-medium-emphasis`},B={class:`text-caption text-medium-emphasis`},V=a({name:`AuditPage`,__name:`AuditPage`,setup(a){let j=t(),V=c(!1),H=c([]),U=c(0),W=c(1),G=c(null),K=c(``),q=c(``),J=O,Y=x([{title:`操作`,key:`action`,width:100},{title:`用户`,key:`admin_username`,width:100},{title:`目标`,key:`target`,width:140},{title:`详情`,key:`detail`},{title:`IP`,key:`ip_address`,width:120},{title:`时间`,key:`created_at`,width:160}]);async function X(e=!1){e||(V.value=!0);try{let e=(W.value-1)*50,t=await l.get(`/audit/`,{limit:50,offset:e,action:G.value||void 0,admin_username:K.value||void 0,date_from:q.value||void 0});H.value=A(t.items||[]),U.value=t.total||0}catch{H.value=[],e||j(`加载审计日志失败`,`error`)}finally{e||(V.value=!1)}}function Z(e){return e.startsWith(`create`)||e===`login`?`success`:e.startsWith(`update`)?`info`:e.startsWith(`delete`)||e===`logout`?`error`:e.includes(`execute`)||e.includes(`push`)||e.includes(`retry`)?`warning`:`primary`}function Q(e){return M(e.action)?N(e.detail):null}function $(e){let t=Q(e);return t?P(t):(e.detail||``).trim()||`—`}function ee(e){o(e.job_id,e.summary)}return b(e=>X(e)),(t,a)=>(i(),p(e,{fluid:``,class:`pa-6`},{default:s(()=>[v(C,{elevation:`0`,border:``,rounded:`lg`},{default:s(()=>[v(S,{class:`d-flex align-center`},{default:s(()=>[a[7]||=f(` 审计日志 `,-1),v(u),v(w,{modelValue:G.value,"onUpdate:modelValue":[a[0]||=e=>G.value=e,a[1]||=e=>{W.value=1,X()}],items:h(J),"item-title":`label`,"item-value":`value`,label:`操作类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`200px`},clearable:``},null,8,[`modelValue`,`items`]),v(T,{modelValue:K.value,"onUpdate:modelValue":[a[2]||=e=>K.value=e,a[3]||=e=>{W.value=1,X()}],"prepend-inner-icon":`mdi-account`,label:`用户`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`]),v(T,{modelValue:q.value,"onUpdate:modelValue":[a[4]||=e=>q.value=e,a[5]||=e=>{W.value=1,X()}],"prepend-inner-icon":`mdi-calendar`,label:`日期`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},class:`ml-3`,type:`date`,clearable:``},null,8,[`modelValue`])]),_:1}),v(E,{items:H.value,headers:h(Y),"items-length":U.value,loading:V.value,page:W.value,"items-per-page":50,hover:``,density:`compact`,"onUpdate:page":a[6]||=e=>{W.value=e,X()}},{"item.action":s(({item:e})=>[v(y,{color:Z(e.action),size:`small`,variant:`tonal`,label:``},{default:s(()=>[f(g(h(k)(e.action)),1)]),_:2},1032,[`color`])]),"item.admin_username":s(({item:e})=>[m(`span`,F,g(e.admin_username),1)]),"item.target":s(({item:e})=>[m(`span`,I,g(h(D)(e.resource_type))+g(e.resource_id?` #${e.resource_id}`:``),1)]),"item.detail":s(({item:e})=>[m(`div`,L,[m(`span`,R,g($(e)),1),Q(e)?(i(),p(r,{key:0,size:`x-small`,variant:`tonal`,color:`primary`,onClick:_(t=>ee(Q(e)),[`stop`])},{default:s(()=>[...a[8]||=[f(` 查看结果 `,-1)]]),_:1},8,[`onClick`])):d(``,!0)])]),"item.ip_address":s(({item:e})=>[m(`span`,z,g(e.ip_address||`—`),1)]),"item.created_at":s(({item:e})=>[m(`span`,B,g(h(n)(e.created_at)),1)]),"no-data":s(()=>[...a[9]||=[m(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{V as default}; \ No newline at end of file +import{n as e,t}from"./useSnackbar-P0rXZaHt.js";import{Ht as n,P as r,Pr as i,Sr as a,Tt as o,Ur as s,Xr as c,Xt as l,_ as u,_r as d,br as f,gr as p,hr as m,ni as h,oi as g,ur as _,xr as v,y}from"./index-Bplw5zZe.js";import{t as b}from"./usePageActivateRefresh-C2xQnJah.js";import{n as x}from"./dataTable-esDY4cOk.js";import{r as S,t as C}from"./VCard-DwK3U69w.js";import{t as w}from"./VSelect-C2IkZQ4Y.js";import{t as T}from"./VTextField-DVnxh9lX.js";import{t as E}from"./VDataTableServer-D1N34nyt.js";import{a as D,n as O,r as k,t as A}from"./auditNormalize-DWYIxo0q.js";var j=new Set([`batch_install_agent`,`batch_upgrade_agent`,`batch_uninstall_agent`,`batch_detect_path`,`batch_health_check`,`batch_update_category`,`batch_server_op`]);function M(e){return j.has(e)}function N(e){let t=(e||``).trim();if(!t.startsWith(`{`))return null;try{let e=JSON.parse(t);return typeof e.job_id!=`number`||!e.summary?null:e}catch{return null}}function P(e){let t=[e.summary],n=e.failures||[];if(n.length){let e=n.slice(0,3).map(e=>e.server_name).join(`、`);t.push(`失败: ${e}${n.length>3?`…`:``}`)}return t.join(` · `)}var F={class:`font-weight-medium`},I={class:`text-body-2`},L={class:`d-flex align-center ga-2 flex-wrap`},R={class:`text-body-2 text-medium-emphasis`,style:{"max-width":`360px`}},z={class:`text-caption text-medium-emphasis`},B={class:`text-caption text-medium-emphasis`},V=a({name:`AuditPage`,__name:`AuditPage`,setup(a){let j=t(),V=c(!1),H=c([]),U=c(0),W=c(1),G=c(null),K=c(``),q=c(``),J=O,Y=x([{title:`操作`,key:`action`,width:100},{title:`用户`,key:`admin_username`,width:100},{title:`目标`,key:`target`,width:140},{title:`详情`,key:`detail`},{title:`IP`,key:`ip_address`,width:120},{title:`时间`,key:`created_at`,width:160}]);async function X(e=!1){e||(V.value=!0);try{let e=(W.value-1)*50,t=await l.get(`/audit/`,{limit:50,offset:e,action:G.value||void 0,admin_username:K.value||void 0,date_from:q.value||void 0});H.value=A(t.items||[]),U.value=t.total||0}catch{H.value=[],e||j(`加载审计日志失败`,`error`)}finally{e||(V.value=!1)}}function Z(e){return e.startsWith(`create`)||e===`login`?`success`:e.startsWith(`update`)?`info`:e.startsWith(`delete`)||e===`logout`?`error`:e.includes(`execute`)||e.includes(`push`)||e.includes(`retry`)?`warning`:`primary`}function Q(e){return M(e.action)?N(e.detail):null}function $(e){let t=Q(e);return t?P(t):(e.detail||``).trim()||`—`}function ee(e){o(e.job_id,e.summary)}return b(e=>X(e)),(t,a)=>(i(),p(e,{fluid:``,class:`pa-6`},{default:s(()=>[v(C,{elevation:`0`,border:``,rounded:`lg`},{default:s(()=>[v(S,{class:`d-flex align-center`},{default:s(()=>[a[7]||=f(` 审计日志 `,-1),v(u),v(w,{modelValue:G.value,"onUpdate:modelValue":[a[0]||=e=>G.value=e,a[1]||=e=>{W.value=1,X()}],items:h(J),"item-title":`label`,"item-value":`value`,label:`操作类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`200px`},clearable:``},null,8,[`modelValue`,`items`]),v(T,{modelValue:K.value,"onUpdate:modelValue":[a[2]||=e=>K.value=e,a[3]||=e=>{W.value=1,X()}],"prepend-inner-icon":`mdi-account`,label:`用户`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`]),v(T,{modelValue:q.value,"onUpdate:modelValue":[a[4]||=e=>q.value=e,a[5]||=e=>{W.value=1,X()}],"prepend-inner-icon":`mdi-calendar`,label:`日期`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},class:`ml-3`,type:`date`,clearable:``},null,8,[`modelValue`])]),_:1}),v(E,{items:H.value,headers:h(Y),"items-length":U.value,loading:V.value,page:W.value,"items-per-page":50,hover:``,density:`compact`,"onUpdate:page":a[6]||=e=>{W.value=e,X()}},{"item.action":s(({item:e})=>[v(y,{color:Z(e.action),size:`small`,variant:`tonal`,label:``},{default:s(()=>[f(g(h(k)(e.action)),1)]),_:2},1032,[`color`])]),"item.admin_username":s(({item:e})=>[m(`span`,F,g(e.admin_username),1)]),"item.target":s(({item:e})=>[m(`span`,I,g(h(D)(e.resource_type))+g(e.resource_id?` #${e.resource_id}`:``),1)]),"item.detail":s(({item:e})=>[m(`div`,L,[m(`span`,R,g($(e)),1),Q(e)?(i(),p(r,{key:0,size:`x-small`,variant:`tonal`,color:`primary`,onClick:_(t=>ee(Q(e)),[`stop`])},{default:s(()=>[...a[8]||=[f(` 查看结果 `,-1)]]),_:1},8,[`onClick`])):d(``,!0)])]),"item.ip_address":s(({item:e})=>[m(`span`,z,g(e.ip_address||`—`),1)]),"item.created_at":s(({item:e})=>[m(`span`,B,g(h(n)(e.created_at)),1)]),"no-data":s(()=>[...a[9]||=[m(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{V as default}; \ No newline at end of file diff --git a/web/app/assets/AuditPage-xRKYABQT.js b/web/app/assets/AuditPage-xRKYABQT.js deleted file mode 100644 index 2d888889..00000000 --- a/web/app/assets/AuditPage-xRKYABQT.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./useSnackbar-DaoOJlMz.js";import{Ht as n,P as r,Pr as i,Sr as a,Tt as o,Ur as s,Xr as c,Xt as l,_ as u,_r as d,br as f,gr as p,hr as m,ni as h,oi as g,ur as _,xr as v,y}from"./index-DZEQidkT.js";import{t as b}from"./usePageActivateRefresh-BmoMLdUi.js";import{n as x}from"./dataTable-esDY4cOk.js";import{r as S,t as C}from"./VCard-DiTj681b.js";import{t as w}from"./VSelect-CzNpj4qJ.js";import{t as T}from"./VTextField-CvZimSXQ.js";import{t as E}from"./VDataTableServer-C1V2iC3x.js";import{a as D,n as O,r as k,t as A}from"./auditNormalize-DWYIxo0q.js";var j=new Set([`batch_install_agent`,`batch_upgrade_agent`,`batch_uninstall_agent`,`batch_detect_path`,`batch_health_check`,`batch_update_category`,`batch_server_op`]);function M(e){return j.has(e)}function N(e){let t=(e||``).trim();if(!t.startsWith(`{`))return null;try{let e=JSON.parse(t);return typeof e.job_id!=`number`||!e.summary?null:e}catch{return null}}function P(e){let t=[e.summary],n=e.failures||[];if(n.length){let e=n.slice(0,3).map(e=>e.server_name).join(`、`);t.push(`失败: ${e}${n.length>3?`…`:``}`)}return t.join(` · `)}var F={class:`font-weight-medium`},I={class:`text-body-2`},L={class:`d-flex align-center ga-2 flex-wrap`},R={class:`text-body-2 text-medium-emphasis`,style:{"max-width":`360px`}},z={class:`text-caption text-medium-emphasis`},B={class:`text-caption text-medium-emphasis`},V=a({name:`AuditPage`,__name:`AuditPage`,setup(a){let j=t(),V=c(!1),H=c([]),U=c(0),W=c(1),G=c(null),K=c(``),q=c(``),J=O,Y=x([{title:`操作`,key:`action`,width:100},{title:`用户`,key:`admin_username`,width:100},{title:`目标`,key:`target`,width:140},{title:`详情`,key:`detail`},{title:`IP`,key:`ip_address`,width:120},{title:`时间`,key:`created_at`,width:160}]);async function X(e=!1){e||(V.value=!0);try{let e=(W.value-1)*50,t=await l.get(`/audit/`,{limit:50,offset:e,action:G.value||void 0,admin_username:K.value||void 0,date_from:q.value||void 0});H.value=A(t.items||[]),U.value=t.total||0}catch{H.value=[],e||j(`加载审计日志失败`,`error`)}finally{e||(V.value=!1)}}function Z(e){return e.startsWith(`create`)||e===`login`?`success`:e.startsWith(`update`)?`info`:e.startsWith(`delete`)||e===`logout`?`error`:e.includes(`execute`)||e.includes(`push`)||e.includes(`retry`)?`warning`:`primary`}function Q(e){return M(e.action)?N(e.detail):null}function $(e){let t=Q(e);return t?P(t):(e.detail||``).trim()||`—`}function ee(e){o(e.job_id,e.summary)}return b(e=>X(e)),(t,a)=>(i(),p(e,{fluid:``,class:`pa-6`},{default:s(()=>[v(C,{elevation:`0`,border:``,rounded:`lg`},{default:s(()=>[v(S,{class:`d-flex align-center`},{default:s(()=>[a[7]||=f(` 审计日志 `,-1),v(u),v(w,{modelValue:G.value,"onUpdate:modelValue":[a[0]||=e=>G.value=e,a[1]||=e=>{W.value=1,X()}],items:h(J),"item-title":`label`,"item-value":`value`,label:`操作类型`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`200px`},clearable:``},null,8,[`modelValue`,`items`]),v(T,{modelValue:K.value,"onUpdate:modelValue":[a[2]||=e=>K.value=e,a[3]||=e=>{W.value=1,X()}],"prepend-inner-icon":`mdi-account`,label:`用户`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`140px`},class:`ml-3`,clearable:``},null,8,[`modelValue`]),v(T,{modelValue:q.value,"onUpdate:modelValue":[a[4]||=e=>q.value=e,a[5]||=e=>{W.value=1,X()}],"prepend-inner-icon":`mdi-calendar`,label:`日期`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},class:`ml-3`,type:`date`,clearable:``},null,8,[`modelValue`])]),_:1}),v(E,{items:H.value,headers:h(Y),"items-length":U.value,loading:V.value,page:W.value,"items-per-page":50,hover:``,density:`compact`,"onUpdate:page":a[6]||=e=>{W.value=e,X()}},{"item.action":s(({item:e})=>[v(y,{color:Z(e.action),size:`small`,variant:`tonal`,label:``},{default:s(()=>[f(g(h(k)(e.action)),1)]),_:2},1032,[`color`])]),"item.admin_username":s(({item:e})=>[m(`span`,F,g(e.admin_username),1)]),"item.target":s(({item:e})=>[m(`span`,I,g(h(D)(e.resource_type))+g(e.resource_id?` #${e.resource_id}`:``),1)]),"item.detail":s(({item:e})=>[m(`div`,L,[m(`span`,R,g($(e)),1),Q(e)?(i(),p(r,{key:0,size:`x-small`,variant:`tonal`,color:`primary`,onClick:_(t=>ee(Q(e)),[`stop`])},{default:s(()=>[...a[8]||=[f(` 查看结果 `,-1)]]),_:1},8,[`onClick`])):d(``,!0)])]),"item.ip_address":s(({item:e})=>[m(`span`,z,g(e.ip_address||`—`),1)]),"item.created_at":s(({item:e})=>[m(`span`,B,g(h(n)(e.created_at)),1)]),"no-data":s(()=>[...a[9]||=[m(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1})]),_:1}))}});export{V as default}; \ No newline at end of file diff --git a/web/app/assets/CommandsPage-DvIicHoM.js b/web/app/assets/CommandsPage-GJ7Q6_15.js similarity index 83% rename from web/app/assets/CommandsPage-DvIicHoM.js rename to web/app/assets/CommandsPage-GJ7Q6_15.js index c3d18f5f..9a5c2fb2 100644 --- a/web/app/assets/CommandsPage-DvIicHoM.js +++ b/web/app/assets/CommandsPage-GJ7Q6_15.js @@ -1 +1 @@ -import{n as e,t}from"./useSnackbar-DaoOJlMz.js";import{Ht as n,Pr as r,Sr as i,Ur as a,Xr as o,_ as s,_r as c,br as l,gr as u,hr as d,ii as f,ni as p,oi as m,v as h,vr as g,xr as _,y as v}from"./index-DZEQidkT.js";import{t as ee}from"./usePageActivateRefresh-BmoMLdUi.js";import{n as y,t as b}from"./dataTable-esDY4cOk.js";import{r as x,t as S}from"./VCard-DiTj681b.js";import{t as C}from"./VSelect-CzNpj4qJ.js";import{t as w}from"./VDataTableServer-C1V2iC3x.js";import{t as te}from"./apiError-BqTTIuLB.js";import{t as ne}from"./useServerList-DTniLWx3.js";import{t as re}from"./labels-C-A2d08W.js";import{n as T}from"./paginatedFetch-DB49B9Xn.js";var ie={class:`text-body-2`},ae={class:`text-medium-emphasis`},oe={class:`text-medium-emphasis`},se={class:`text-caption text-medium-emphasis`},ce={class:`font-weight-medium`},le={class:`text-caption text-medium-emphasis`},ue={class:`text-caption text-medium-emphasis`},de={class:`text-medium-emphasis`},fe={class:`text-caption`},pe={class:`text-caption`},me=[`title`],he=[`title`],E=[`title`],D=[`title`],O={key:1,class:`text-caption text-medium-emphasis`},k=i({name:`CommandsPage`,__name:`CommandsPage`,setup(i){let k=[...b],A=t(),{servers:j,loadServers:M}=ne(),N=[{title:`命令视图`,value:`commands`},{title:`会话视图`,value:`sessions`},{title:`推送日志`,value:`push`}],P=[{label:`成功`,value:`success`},{label:`失败`,value:`failed`},{label:`进行中`,value:`running`},{label:`已取消`,value:`cancelled`}],F=[{label:`增量`,value:`incremental`},{label:`全量`,value:`full`},{label:`覆盖`,value:`overwrite`},{label:`校验和`,value:`checksum`}],I=[{label:`手动`,value:`manual`},{label:`调度`,value:`schedule`},{label:`重试`,value:`retry`},{label:`批量`,value:`batch`}],L=o(!1),R=o(`commands`),z=o(1),B=o(0),V=o(30),H=o(null),U=o(null),W=o(null),G=o(null),K=o([]),q=o([]),J=o([]),ge=y([{title:`命令`,key:`command`},{title:`服务器`,key:`server_name`},{title:`用户`,key:`admin_username`,width:100},{title:`时间`,key:`created_at`,width:160}]),_e=y([{title:`服务器`,key:`server_name`},{title:`状态`,key:`status`,width:80},{title:`来源`,key:`remote_addr`,width:120},{title:`开始时间`,key:`started_at`,width:160}]),ve=y([{title:`时间`,key:`started_at`,width:160},{title:`服务器`,key:`server_name`,width:120},{title:`状态`,key:`status`,width:88},{title:`模式`,key:`sync_mode`,width:80},{title:`触发`,key:`trigger_type`,width:72},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`权限`,key:`push_permission`,width:130},{title:`错误`,key:`error_message`,width:180}]);function ye(e){switch(e){case`success`:return`success`;case`failed`:return`error`;case`running`:return`warning`;case`cancelled`:return`grey`;default:return`default`}}function be(e){return P.find(t=>t.value===e)?.label||e}function Y(e){return F.find(t=>t.value===e)?.label||e||`—`}function xe(e){return I.find(t=>t.value===e)?.label||e||`—`}function Se(){z.value=1,$()}function Ce(){z.value=1,$()}function X(){z.value=1,$()}function Z(e){z.value=e,$()}function Q(e){V.value=e,z.value=1,$()}async function $(e=!1){e||(L.value=!0);try{if(R.value===`commands`){let e=await T(`/assets/command-logs`,{server_id:H.value||void 0},z.value,V.value);K.value=e.items,B.value=e.total}else if(R.value===`sessions`){let e=await T(`/assets/ssh-sessions`,{server_id:H.value||void 0},z.value,V.value);q.value=e.items,B.value=e.total}else{let e={};H.value!=null&&(e.server_id=H.value),U.value&&(e.status=U.value),W.value&&(e.sync_mode=W.value),G.value&&(e.trigger_type=G.value);let t=await T(`/servers/logs`,e,z.value,V.value);J.value=t.items,B.value=t.total}V.value===-1&&(z.value=1)}catch(e){K.value=[],q.value=[],J.value=[],B.value=0,A(te(e,`加载失败`),`error`)}finally{e||(L.value=!1)}}async function we(e=!1){await Promise.all([M(),$(e)])}return ee(e=>we(e)),(t,i)=>(r(),u(e,{fluid:``,class:`pa-6`},{default:a(()=>[_(S,{elevation:`0`,border:``,rounded:`lg`},{default:a(()=>[_(x,{class:`d-flex align-center flex-wrap ga-2`},{default:a(()=>[i[5]||=l(` 命令日志 `,-1),_(s),_(C,{modelValue:R.value,"onUpdate:modelValue":[i[0]||=e=>R.value=e,Se],items:N,"item-title":`title`,"item-value":`value`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`}},null,8,[`modelValue`]),R.value===`push`?(r(),u(C,{key:0,modelValue:U.value,"onUpdate:modelValue":[i[1]||=e=>U.value=e,X],items:P,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):c(``,!0),R.value===`push`?(r(),u(C,{key:1,modelValue:W.value,"onUpdate:modelValue":[i[2]||=e=>W.value=e,X],items:F,"item-title":`label`,"item-value":`value`,label:`模式`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):c(``,!0),R.value===`push`?(r(),u(C,{key:2,modelValue:G.value,"onUpdate:modelValue":[i[3]||=e=>G.value=e,X],items:I,"item-title":`label`,"item-value":`value`,label:`触发`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):c(``,!0),_(C,{modelValue:H.value,"onUpdate:modelValue":[i[4]||=e=>H.value=e,Ce],items:p(j),"item-title":`name`,"item-value":`id`,label:`服务器`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`180px`},clearable:``},null,8,[`modelValue`,`items`])]),_:1}),_(h),R.value===`commands`?(r(),u(w,{key:0,items:K.value,headers:p(ge),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.command":a(({item:e})=>[d(`code`,ie,m(e.command),1)]),"item.server_name":a(({item:e})=>[d(`span`,ae,m(e.server_name||`—`),1)]),"item.admin_username":a(({item:e})=>[d(`span`,oe,m(e.admin_username||`—`),1)]),"item.created_at":a(({item:e})=>[d(`span`,se,m(p(n)(e.created_at)),1)]),"no-data":a(()=>[...i[6]||=[d(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):R.value===`sessions`?(r(),u(w,{key:1,items:q.value,headers:p(_e),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.server_name":a(({item:e})=>[d(`span`,ce,m(e.server_name||`—`),1)]),"item.status":a(({item:e})=>[_(v,{color:e.status===`closed`?`grey`:`success`,size:`small`,variant:`tonal`,label:``},{default:a(()=>[l(m(e.status),1)]),_:2},1032,[`color`])]),"item.started_at":a(({item:e})=>[d(`span`,le,m(p(n)(e.started_at)),1)]),"no-data":a(()=>[...i[7]||=[d(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):(r(),u(w,{key:2,items:J.value,headers:p(ve),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.started_at":a(({item:e})=>[d(`span`,ue,m(p(n)(e.started_at)),1)]),"item.server_name":a(({item:e})=>[d(`span`,de,m(e.server_name||`—`),1)]),"item.status":a(({item:e})=>[_(v,{color:ye(e.status),size:`small`,variant:`tonal`,label:``},{default:a(()=>[l(m(be(e.status)),1)]),_:2},1032,[`color`])]),"item.sync_mode":a(({item:e})=>[d(`span`,fe,m(Y(e.sync_mode)),1)]),"item.trigger_type":a(({item:e})=>[d(`span`,pe,m(xe(e.trigger_type)),1)]),"item.source_path":a(({item:e})=>[d(`span`,{class:`text-caption text-truncate d-inline-block`,style:{"max-width":`200px`},title:e.source_path},m(e.source_path),9,me)]),"item.target_path":a(({item:e})=>[d(`span`,{class:`text-caption text-truncate d-inline-block`,style:{"max-width":`160px`},title:e.target_path},m(e.target_path),9,he)]),"item.push_permission":a(({item:e})=>[d(`span`,{class:f([`text-caption`,e.push_permission?``:`text-medium-emphasis`]),title:e.push_permission||`未配置 rsync 属主/权限修正`},m(p(re)(e.push_permission)),11,E)]),"item.error_message":a(({item:e})=>[e.error_message?(r(),g(`span`,{key:0,class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`180px`},title:e.error_message},m(e.error_message),9,D)):(r(),g(`span`,O,`—`))]),"no-data":a(()=>[...i[8]||=[d(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无推送记录`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`]))]),_:1})]),_:1}))}});export{k as default}; \ No newline at end of file +import{n as e,t}from"./useSnackbar-P0rXZaHt.js";import{Ht as n,Pr as r,Sr as i,Ur as a,Xr as o,_ as s,_r as c,br as l,gr as u,hr as d,ii as f,ni as p,oi as m,v as h,vr as g,xr as _,y as v}from"./index-Bplw5zZe.js";import{t as ee}from"./usePageActivateRefresh-C2xQnJah.js";import{n as y,t as b}from"./dataTable-esDY4cOk.js";import{n as x}from"./paginatedFetch-DmzXeKPu.js";import{r as S,t as C}from"./VCard-DwK3U69w.js";import{t as w}from"./VSelect-C2IkZQ4Y.js";import{t as T}from"./VDataTableServer-D1N34nyt.js";import{t as te}from"./apiError-D7r0BvbZ.js";import{t as ne}from"./useServerList-IslpqUAV.js";import{t as re}from"./labels-C-A2d08W.js";var ie={class:`text-body-2`},ae={class:`text-medium-emphasis`},oe={class:`text-medium-emphasis`},se={class:`text-caption text-medium-emphasis`},ce={class:`font-weight-medium`},le={class:`text-caption text-medium-emphasis`},ue={class:`text-caption text-medium-emphasis`},de={class:`text-medium-emphasis`},fe={class:`text-caption`},pe={class:`text-caption`},me=[`title`],he=[`title`],E=[`title`],D=[`title`],O={key:1,class:`text-caption text-medium-emphasis`},k=i({name:`CommandsPage`,__name:`CommandsPage`,setup(i){let k=[...b],A=t(),{servers:j,loadServers:M}=ne(),N=[{title:`命令视图`,value:`commands`},{title:`会话视图`,value:`sessions`},{title:`推送日志`,value:`push`}],P=[{label:`成功`,value:`success`},{label:`失败`,value:`failed`},{label:`进行中`,value:`running`},{label:`已取消`,value:`cancelled`}],F=[{label:`增量`,value:`incremental`},{label:`全量`,value:`full`},{label:`覆盖`,value:`overwrite`},{label:`校验和`,value:`checksum`}],I=[{label:`手动`,value:`manual`},{label:`调度`,value:`schedule`},{label:`重试`,value:`retry`},{label:`批量`,value:`batch`}],L=o(!1),R=o(`commands`),z=o(1),B=o(0),V=o(30),H=o(null),U=o(null),W=o(null),G=o(null),K=o([]),q=o([]),J=o([]),ge=y([{title:`命令`,key:`command`},{title:`服务器`,key:`server_name`},{title:`用户`,key:`admin_username`,width:100},{title:`时间`,key:`created_at`,width:160}]),_e=y([{title:`服务器`,key:`server_name`},{title:`状态`,key:`status`,width:80},{title:`来源`,key:`remote_addr`,width:120},{title:`开始时间`,key:`started_at`,width:160}]),ve=y([{title:`时间`,key:`started_at`,width:160},{title:`服务器`,key:`server_name`,width:120},{title:`状态`,key:`status`,width:88},{title:`模式`,key:`sync_mode`,width:80},{title:`触发`,key:`trigger_type`,width:72},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`权限`,key:`push_permission`,width:130},{title:`错误`,key:`error_message`,width:180}]);function ye(e){switch(e){case`success`:return`success`;case`failed`:return`error`;case`running`:return`warning`;case`cancelled`:return`grey`;default:return`default`}}function be(e){return P.find(t=>t.value===e)?.label||e}function Y(e){return F.find(t=>t.value===e)?.label||e||`—`}function xe(e){return I.find(t=>t.value===e)?.label||e||`—`}function Se(){z.value=1,$()}function Ce(){z.value=1,$()}function X(){z.value=1,$()}function Z(e){z.value=e,$()}function Q(e){V.value=e,z.value=1,$()}async function $(e=!1){e||(L.value=!0);try{if(R.value===`commands`){let e=await x(`/assets/command-logs`,{server_id:H.value||void 0},z.value,V.value);K.value=e.items,B.value=e.total}else if(R.value===`sessions`){let e=await x(`/assets/ssh-sessions`,{server_id:H.value||void 0},z.value,V.value);q.value=e.items,B.value=e.total}else{let e={};H.value!=null&&(e.server_id=H.value),U.value&&(e.status=U.value),W.value&&(e.sync_mode=W.value),G.value&&(e.trigger_type=G.value);let t=await x(`/servers/logs`,e,z.value,V.value);J.value=t.items,B.value=t.total}V.value===-1&&(z.value=1)}catch(e){K.value=[],q.value=[],J.value=[],B.value=0,A(te(e,`加载失败`),`error`)}finally{e||(L.value=!1)}}async function we(e=!1){await Promise.all([M(),$(e)])}return ee(e=>we(e)),(t,i)=>(r(),u(e,{fluid:``,class:`pa-6`},{default:a(()=>[_(C,{elevation:`0`,border:``,rounded:`lg`},{default:a(()=>[_(S,{class:`d-flex align-center flex-wrap ga-2`},{default:a(()=>[i[5]||=l(` 命令日志 `,-1),_(s),_(w,{modelValue:R.value,"onUpdate:modelValue":[i[0]||=e=>R.value=e,Se],items:N,"item-title":`title`,"item-value":`value`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`}},null,8,[`modelValue`]),R.value===`push`?(r(),u(w,{key:0,modelValue:U.value,"onUpdate:modelValue":[i[1]||=e=>U.value=e,X],items:P,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):c(``,!0),R.value===`push`?(r(),u(w,{key:1,modelValue:W.value,"onUpdate:modelValue":[i[2]||=e=>W.value=e,X],items:F,"item-title":`label`,"item-value":`value`,label:`模式`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):c(``,!0),R.value===`push`?(r(),u(w,{key:2,modelValue:G.value,"onUpdate:modelValue":[i[3]||=e=>G.value=e,X],items:I,"item-title":`label`,"item-value":`value`,label:`触发`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):c(``,!0),_(w,{modelValue:H.value,"onUpdate:modelValue":[i[4]||=e=>H.value=e,Ce],items:p(j),"item-title":`name`,"item-value":`id`,label:`服务器`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`180px`},clearable:``},null,8,[`modelValue`,`items`])]),_:1}),_(h),R.value===`commands`?(r(),u(T,{key:0,items:K.value,headers:p(ge),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.command":a(({item:e})=>[d(`code`,ie,m(e.command),1)]),"item.server_name":a(({item:e})=>[d(`span`,ae,m(e.server_name||`—`),1)]),"item.admin_username":a(({item:e})=>[d(`span`,oe,m(e.admin_username||`—`),1)]),"item.created_at":a(({item:e})=>[d(`span`,se,m(p(n)(e.created_at)),1)]),"no-data":a(()=>[...i[6]||=[d(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):R.value===`sessions`?(r(),u(T,{key:1,items:q.value,headers:p(_e),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.server_name":a(({item:e})=>[d(`span`,ce,m(e.server_name||`—`),1)]),"item.status":a(({item:e})=>[_(v,{color:e.status===`closed`?`grey`:`success`,size:`small`,variant:`tonal`,label:``},{default:a(()=>[l(m(e.status),1)]),_:2},1032,[`color`])]),"item.started_at":a(({item:e})=>[d(`span`,le,m(p(n)(e.started_at)),1)]),"no-data":a(()=>[...i[7]||=[d(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):(r(),u(T,{key:2,items:J.value,headers:p(ve),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.started_at":a(({item:e})=>[d(`span`,ue,m(p(n)(e.started_at)),1)]),"item.server_name":a(({item:e})=>[d(`span`,de,m(e.server_name||`—`),1)]),"item.status":a(({item:e})=>[_(v,{color:ye(e.status),size:`small`,variant:`tonal`,label:``},{default:a(()=>[l(m(be(e.status)),1)]),_:2},1032,[`color`])]),"item.sync_mode":a(({item:e})=>[d(`span`,fe,m(Y(e.sync_mode)),1)]),"item.trigger_type":a(({item:e})=>[d(`span`,pe,m(xe(e.trigger_type)),1)]),"item.source_path":a(({item:e})=>[d(`span`,{class:`text-caption text-truncate d-inline-block`,style:{"max-width":`200px`},title:e.source_path},m(e.source_path),9,me)]),"item.target_path":a(({item:e})=>[d(`span`,{class:`text-caption text-truncate d-inline-block`,style:{"max-width":`160px`},title:e.target_path},m(e.target_path),9,he)]),"item.push_permission":a(({item:e})=>[d(`span`,{class:f([`text-caption`,e.push_permission?``:`text-medium-emphasis`]),title:e.push_permission||`未配置 rsync 属主/权限修正`},m(p(re)(e.push_permission)),11,E)]),"item.error_message":a(({item:e})=>[e.error_message?(r(),g(`span`,{key:0,class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`180px`},title:e.error_message},m(e.error_message),9,D)):(r(),g(`span`,O,`—`))]),"no-data":a(()=>[...i[8]||=[d(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无推送记录`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`]))]),_:1})]),_:1}))}});export{k as default}; \ No newline at end of file diff --git a/web/app/assets/CommandsPage-jF7ko4hy.js b/web/app/assets/CommandsPage-jF7ko4hy.js deleted file mode 100644 index 61968938..00000000 --- a/web/app/assets/CommandsPage-jF7ko4hy.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./useSnackbar-CmDJGLzR.js";import{Ht as n,Pr as r,Sr as i,Ur as a,Xr as o,_ as s,_r as c,br as l,gr as u,hr as d,ii as f,ni as p,oi as m,v as h,vr as g,xr as _,y as v}from"./index-DawRgH7u.js";import{t as ee}from"./usePageActivateRefresh-BTfzAggZ.js";import{n as y,t as b}from"./dataTable-esDY4cOk.js";import{r as x,t as S}from"./VCard-rBfCdgX2.js";import{t as C}from"./VSelect-XuQYQvJc.js";import{t as w}from"./VDataTableServer-C4_rzPsO.js";import{t as te}from"./apiError-EQrzELs3.js";import{t as ne}from"./useServerList-CXphchDt.js";import{t as re}from"./labels-C-A2d08W.js";import{n as T}from"./paginatedFetch-BEWdPley.js";var ie={class:`text-body-2`},ae={class:`text-medium-emphasis`},oe={class:`text-medium-emphasis`},se={class:`text-caption text-medium-emphasis`},ce={class:`font-weight-medium`},le={class:`text-caption text-medium-emphasis`},ue={class:`text-caption text-medium-emphasis`},de={class:`text-medium-emphasis`},fe={class:`text-caption`},pe={class:`text-caption`},me=[`title`],he=[`title`],E=[`title`],D=[`title`],O={key:1,class:`text-caption text-medium-emphasis`},k=i({name:`CommandsPage`,__name:`CommandsPage`,setup(i){let k=[...b],A=t(),{servers:j,loadServers:M}=ne(),N=[{title:`命令视图`,value:`commands`},{title:`会话视图`,value:`sessions`},{title:`推送日志`,value:`push`}],P=[{label:`成功`,value:`success`},{label:`失败`,value:`failed`},{label:`进行中`,value:`running`},{label:`已取消`,value:`cancelled`}],F=[{label:`增量`,value:`incremental`},{label:`全量`,value:`full`},{label:`覆盖`,value:`overwrite`},{label:`校验和`,value:`checksum`}],I=[{label:`手动`,value:`manual`},{label:`调度`,value:`schedule`},{label:`重试`,value:`retry`},{label:`批量`,value:`batch`}],L=o(!1),R=o(`commands`),z=o(1),B=o(0),V=o(30),H=o(null),U=o(null),W=o(null),G=o(null),K=o([]),q=o([]),J=o([]),ge=y([{title:`命令`,key:`command`},{title:`服务器`,key:`server_name`},{title:`用户`,key:`admin_username`,width:100},{title:`时间`,key:`created_at`,width:160}]),_e=y([{title:`服务器`,key:`server_name`},{title:`状态`,key:`status`,width:80},{title:`来源`,key:`remote_addr`,width:120},{title:`开始时间`,key:`started_at`,width:160}]),ve=y([{title:`时间`,key:`started_at`,width:160},{title:`服务器`,key:`server_name`,width:120},{title:`状态`,key:`status`,width:88},{title:`模式`,key:`sync_mode`,width:80},{title:`触发`,key:`trigger_type`,width:72},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`权限`,key:`push_permission`,width:130},{title:`错误`,key:`error_message`,width:180}]);function ye(e){switch(e){case`success`:return`success`;case`failed`:return`error`;case`running`:return`warning`;case`cancelled`:return`grey`;default:return`default`}}function be(e){return P.find(t=>t.value===e)?.label||e}function Y(e){return F.find(t=>t.value===e)?.label||e||`—`}function xe(e){return I.find(t=>t.value===e)?.label||e||`—`}function Se(){z.value=1,$()}function Ce(){z.value=1,$()}function X(){z.value=1,$()}function Z(e){z.value=e,$()}function Q(e){V.value=e,z.value=1,$()}async function $(e=!1){e||(L.value=!0);try{if(R.value===`commands`){let e=await T(`/assets/command-logs`,{server_id:H.value||void 0},z.value,V.value);K.value=e.items,B.value=e.total}else if(R.value===`sessions`){let e=await T(`/assets/ssh-sessions`,{server_id:H.value||void 0},z.value,V.value);q.value=e.items,B.value=e.total}else{let e={};H.value!=null&&(e.server_id=H.value),U.value&&(e.status=U.value),W.value&&(e.sync_mode=W.value),G.value&&(e.trigger_type=G.value);let t=await T(`/servers/logs`,e,z.value,V.value);J.value=t.items,B.value=t.total}V.value===-1&&(z.value=1)}catch(e){K.value=[],q.value=[],J.value=[],B.value=0,A(te(e,`加载失败`),`error`)}finally{e||(L.value=!1)}}async function we(e=!1){await Promise.all([M(),$(e)])}return ee(e=>we(e)),(t,i)=>(r(),u(e,{fluid:``,class:`pa-6`},{default:a(()=>[_(S,{elevation:`0`,border:``,rounded:`lg`},{default:a(()=>[_(x,{class:`d-flex align-center flex-wrap ga-2`},{default:a(()=>[i[5]||=l(` 命令日志 `,-1),_(s),_(C,{modelValue:R.value,"onUpdate:modelValue":[i[0]||=e=>R.value=e,Se],items:N,"item-title":`title`,"item-value":`value`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`}},null,8,[`modelValue`]),R.value===`push`?(r(),u(C,{key:0,modelValue:U.value,"onUpdate:modelValue":[i[1]||=e=>U.value=e,X],items:P,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):c(``,!0),R.value===`push`?(r(),u(C,{key:1,modelValue:W.value,"onUpdate:modelValue":[i[2]||=e=>W.value=e,X],items:F,"item-title":`label`,"item-value":`value`,label:`模式`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):c(``,!0),R.value===`push`?(r(),u(C,{key:2,modelValue:G.value,"onUpdate:modelValue":[i[3]||=e=>G.value=e,X],items:I,"item-title":`label`,"item-value":`value`,label:`触发`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`}},null,8,[`modelValue`])):c(``,!0),_(C,{modelValue:H.value,"onUpdate:modelValue":[i[4]||=e=>H.value=e,Ce],items:p(j),"item-title":`name`,"item-value":`id`,label:`服务器`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`180px`},clearable:``},null,8,[`modelValue`,`items`])]),_:1}),_(h),R.value===`commands`?(r(),u(w,{key:0,items:K.value,headers:p(ge),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.command":a(({item:e})=>[d(`code`,ie,m(e.command),1)]),"item.server_name":a(({item:e})=>[d(`span`,ae,m(e.server_name||`—`),1)]),"item.admin_username":a(({item:e})=>[d(`span`,oe,m(e.admin_username||`—`),1)]),"item.created_at":a(({item:e})=>[d(`span`,se,m(p(n)(e.created_at)),1)]),"no-data":a(()=>[...i[6]||=[d(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):R.value===`sessions`?(r(),u(w,{key:1,items:q.value,headers:p(_e),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.server_name":a(({item:e})=>[d(`span`,ce,m(e.server_name||`—`),1)]),"item.status":a(({item:e})=>[_(v,{color:e.status===`closed`?`grey`:`success`,size:`small`,variant:`tonal`,label:``},{default:a(()=>[l(m(e.status),1)]),_:2},1032,[`color`])]),"item.started_at":a(({item:e})=>[d(`span`,le,m(p(n)(e.started_at)),1)]),"no-data":a(()=>[...i[7]||=[d(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):(r(),u(w,{key:2,items:J.value,headers:p(ve),"items-length":B.value,loading:L.value,page:z.value,"items-per-page":V.value,"items-per-page-options":k,hover:``,density:`compact`,"onUpdate:page":Z,"onUpdate:itemsPerPage":Q},{"item.started_at":a(({item:e})=>[d(`span`,ue,m(p(n)(e.started_at)),1)]),"item.server_name":a(({item:e})=>[d(`span`,de,m(e.server_name||`—`),1)]),"item.status":a(({item:e})=>[_(v,{color:ye(e.status),size:`small`,variant:`tonal`,label:``},{default:a(()=>[l(m(be(e.status)),1)]),_:2},1032,[`color`])]),"item.sync_mode":a(({item:e})=>[d(`span`,fe,m(Y(e.sync_mode)),1)]),"item.trigger_type":a(({item:e})=>[d(`span`,pe,m(xe(e.trigger_type)),1)]),"item.source_path":a(({item:e})=>[d(`span`,{class:`text-caption text-truncate d-inline-block`,style:{"max-width":`200px`},title:e.source_path},m(e.source_path),9,me)]),"item.target_path":a(({item:e})=>[d(`span`,{class:`text-caption text-truncate d-inline-block`,style:{"max-width":`160px`},title:e.target_path},m(e.target_path),9,he)]),"item.push_permission":a(({item:e})=>[d(`span`,{class:f([`text-caption`,e.push_permission?``:`text-medium-emphasis`]),title:e.push_permission||`未配置 rsync 属主/权限修正`},m(p(re)(e.push_permission)),11,E)]),"item.error_message":a(({item:e})=>[e.error_message?(r(),g(`span`,{key:0,class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`180px`},title:e.error_message},m(e.error_message),9,D)):(r(),g(`span`,O,`—`))]),"no-data":a(()=>[...i[8]||=[d(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无推送记录`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`]))]),_:1})]),_:1}))}});export{k as default}; \ No newline at end of file diff --git a/web/app/assets/CredentialsPage-CCFjugTy.js b/web/app/assets/CredentialsPage-B6u8fRAI.js similarity index 51% rename from web/app/assets/CredentialsPage-CCFjugTy.js rename to web/app/assets/CredentialsPage-B6u8fRAI.js index cfaf4b56..c8fccfff 100644 --- a/web/app/assets/CredentialsPage-CCFjugTy.js +++ b/web/app/assets/CredentialsPage-B6u8fRAI.js @@ -1 +1 @@ -import{Mr as e,Pr as t,Sr as n,tn as r,vr as i}from"./index-DZEQidkT.js";var a=n({name:`CredentialsPage`,__name:`CredentialsPage`,setup(n){let a=r();return e(()=>{a.replace({path:`/servers`,query:{credentials:`1`}})}),(e,n)=>(t(),i(`div`))}});export{a as default}; \ No newline at end of file +import{Mr as e,Pr as t,Sr as n,tn as r,vr as i}from"./index-Bplw5zZe.js";var a=n({name:`CredentialsPage`,__name:`CredentialsPage`,setup(n){let a=r();return e(()=>{a.replace({path:`/servers`,query:{credentials:`1`}})}),(e,n)=>(t(),i(`div`))}});export{a as default}; \ No newline at end of file diff --git a/web/app/assets/CredentialsPage-bQCPz0U_.js b/web/app/assets/CredentialsPage-bQCPz0U_.js deleted file mode 100644 index 582328cc..00000000 --- a/web/app/assets/CredentialsPage-bQCPz0U_.js +++ /dev/null @@ -1 +0,0 @@ -import{Mr as e,Pr as t,Sr as n,tn as r,vr as i}from"./index-DawRgH7u.js";var a=n({name:`CredentialsPage`,__name:`CredentialsPage`,setup(n){let a=r();return e(()=>{a.replace({path:`/servers`,query:{credentials:`1`}})}),(e,n)=>(t(),i(`div`))}});export{a as default}; \ No newline at end of file diff --git a/web/app/assets/DashboardPage-MBdDPrBx.js b/web/app/assets/DashboardPage-BDfRyW6v.js similarity index 93% rename from web/app/assets/DashboardPage-MBdDPrBx.js rename to web/app/assets/DashboardPage-BDfRyW6v.js index 507294ff..575630c8 100644 --- a/web/app/assets/DashboardPage-MBdDPrBx.js +++ b/web/app/assets/DashboardPage-BDfRyW6v.js @@ -1 +1 @@ -import{n as e,t}from"./useSnackbar-CmDJGLzR.js";import{n,t as r}from"./VRow-By04mHIT.js";import{Ir as i,P as a,Pr as o,S as s,Sr as c,Ur as l,Vr as ee,W as u,Xr as d,Xt as f,_r as p,br as m,dr as h,gr as g,hr as _,ii as v,kt as te,m as y,ni as b,oi as x,vr as S,vt as C,xr as w,y as T,yt as E}from"./index-DawRgH7u.js";import{t as D}from"./usePageActivateRefresh-BTfzAggZ.js";import{t as O}from"./VCard-rBfCdgX2.js";import{i as k,t as A}from"./auditNormalize-DWYIxo0q.js";import{n as j,r as M,t as N}from"./VSkeletonLoader-CkKVcJRy.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";var F={key:0,class:`text-center text-medium-emphasis py-4`},I={class:`text-body-large font-weight-regular`},L={class:`d-flex justify-space-between align-center text-medium-emphasis`},R={class:`py-1`},z={key:0,class:`text-center text-medium-emphasis py-4`},B={class:`text-caption`},V={class:`d-flex justify-space-between align-center`},H={class:`text-medium-emphasis`},U={class:`text-body-2 font-weight-medium`},W={key:0,class:`text-center text-medium-emphasis py-4`},G=P(c({name:`DashboardPage`,__name:`DashboardPage`,setup(c){let P=t(),G=d(!0),K=d([{subtitle:`服务器总数`,title:`0`,icon:`mdi-server-network`,color:`blue`},{subtitle:`在线`,title:`0`,icon:`mdi-check-circle-outline`,color:`green`},{subtitle:`离线`,title:`0`,icon:`mdi-alert-circle-outline`,color:`orange`},{subtitle:`告警中`,title:`0`,icon:`mdi-bell-alert-outline`,color:`red`}]),q=d([]),J=d([{title:`在线率`,progress:0,text:`在`,value:`0%`},{title:`Agent 覆盖`,progress:0,text:`A`,value:`0%`},{title:`CPU 平均`,progress:0,text:`C`,value:`0%`},{title:`内存平均`,progress:0,text:`M`,value:`0%`}]),Y=d({}),X=d(0),Z=d([]);async function Q(e=!1){e||(G.value=!0);try{let{data:e}=await E(C.serverStats,()=>f.get(`/servers/stats`));K.value[0].title=String(e.total),K.value[1].title=String(e.online),K.value[2].title=String(e.offline),K.value[3].title=String(e.alerts??0),Y.value=e.categories||{},X.value=e.total;let t=e.total?Math.round(e.online/e.total*100):0;J.value[0].progress=t,J.value[0].value=`${t}%`}catch{e||P(`加载统计数据失败`,`error`)}finally{e||(G.value=!1)}}async function $(){try{q.value=((await f.get(`/alert-history/`,{limit:5})).items||[]).map(e=>({title:e.server_name,subtitle:`${e.alert_type} ${e.is_recovery?`(已恢复)`:``} · ${M(e.created_at)}`,value:e.value,color:e.is_recovery?`green`:`red`,icon:e.is_recovery?`mdi-check-circle`:`mdi-alert-circle`}))}catch{q.value=[],P(`加载告警记录失败`,`error`)}}async function ne(){try{Z.value=A((await f.get(`/audit/`,{limit:10})).items||[]).slice(0,10)}catch{Z.value=[],P(`加载审计记录失败`,`error`)}}async function re(){try{let e=await f.get(`/servers/`,{per_page:200}),t=e.items||[],n=e.total||t.length;if(n===0)return;let r=t.filter(e=>e.agent_version).length,i=Math.round(r/n*100);J.value[1].progress=i,J.value[1].value=`${i}%`;let a=t.filter(e=>e.system_info?.cpu_usage!=null),o=t.filter(e=>e.system_info?.mem_usage!=null);if(a.length>0){let e=Math.round(a.reduce((e,t)=>e+(t.system_info.cpu_usage||0),0)/a.length);J.value[2].progress=e,J.value[2].value=`${e}%`}if(o.length>0){let e=Math.round(o.reduce((e,t)=>e+(t.system_info.mem_usage||0),0)/o.length);J.value[3].progress=e,J.value[3].value=`${e}%`}}catch{}}async function ie(e=!1){await Promise.all([Q(e),$(),re(),ne()]),e||f.post(`/settings/bing-wallpapers/sync`).catch(()=>{})}return ee(te().alerts,()=>{Q(!0),$()}),D(e=>ie(e)),(t,c)=>(o(),g(e,{fluid:``,class:`pa-4 pa-md-6 dashboard-root`},{default:l(()=>[G.value?(o(),g(N,{key:0,type:`heading, text`,class:`mb-4`})):(o(),g(j,{key:1,items:K.value},null,8,[`items`])),w(r,{class:`mt-5`},{default:l(()=>[w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`告警历史`,border:``},{append:l(()=>[...c[0]||=[_(`div`,{class:`my-5`},null,-1)]]),text:l(()=>[q.value.length===0?(o(),S(`div`,F,` 暂无告警 `)):p(``,!0),(o(!0),S(h,null,i(q.value,(e,t)=>(o(),g(y,{key:t,class:v([t!==0&&`mt-4`,`px-0`]),subtitle:e.subtitle,title:e.title,lines:`one`},{prepend:l(()=>[w(s,{color:e.color,icon:e.icon,variant:`tonal`,rounded:``},null,8,[`color`,`icon`])]),append:l(()=>[_(`span`,I,x(e.value),1)]),_:2},1032,[`class`,`subtitle`,`title`]))),128))]),_:1})]),_:1}),w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`资源概览`,border:``},{append:l(()=>[...c[1]||=[_(`div`,{class:`my-5`},null,-1)]]),text:l(()=>[(o(!0),S(h,null,i(J.value,(e,t)=>(o(),g(y,{key:t,class:v([t!==0&&`mt-4`,`px-0`])},{prepend:l(()=>[w(s,{text:e.text,color:`primary`,size:`large`,variant:`tonal`},null,8,[`text`])]),title:l(()=>[_(`div`,L,[_(`span`,null,x(e.title),1),_(`span`,null,x(e.value),1)])]),subtitle:l(()=>[_(`div`,R,[w(u,{"model-value":e.progress,"bg-color":`surface-light`,"bg-opacity":`1`,color:`primary`,height:`8`,rounded:``},null,8,[`model-value`])])]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),_:1}),w(r,null,{default:l(()=>[w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`分类分布`,border:``},{text:l(()=>[Object.keys(Y.value).length===0?(o(),S(`div`,z,` 暂无分类数据 `)):p(``,!0),(o(!0),S(h,null,i(Y.value,(e,t)=>(o(),g(y,{key:t,class:`px-0`},{prepend:l(()=>[w(s,{color:`primary`,variant:`tonal`,size:`small`},{default:l(()=>[_(`span`,B,x(t[0]?.toUpperCase()),1)]),_:2},1024)]),title:l(()=>[_(`div`,V,[_(`span`,H,x(t===`uncategorized`?`未分类`:t),1),_(`span`,U,x(e)+` 台`,1)])]),subtitle:l(()=>[w(u,{"model-value":X.value>0?e/X.value*100:0,"bg-color":`surface-light`,"bg-opacity":`1`,color:`primary`,height:`6`,rounded:``},null,8,[`model-value`])]),_:2},1024))),128))]),_:1})]),_:1}),w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`最近操作`,border:``},{append:l(()=>[w(a,{size:`small`,variant:`text`,to:`/audit`},{default:l(()=>[...c[2]||=[m(`查看全部`,-1)]]),_:1})]),text:l(()=>[Z.value.length===0?(o(),S(`div`,W,` 暂无操作记录 `)):p(``,!0),(o(!0),S(h,null,i(Z.value,e=>(o(),g(y,{key:e.id,title:b(k)(e),subtitle:`${e.admin_username} · ${b(M)(e.created_at)}`,class:`px-0`,lines:`two`},{append:l(()=>[w(T,{size:`x-small`,variant:`tonal`,label:``},{default:l(()=>[m(x(e.ip_address||`—`),1)]),_:2},1024)]),_:2},1032,[`title`,`subtitle`]))),128))]),_:1})]),_:1})]),_:1})]),_:1}))}}),[[`__scopeId`,`data-v-96be32bd`]]);export{G as default}; \ No newline at end of file +import{n as e,t}from"./useSnackbar-P0rXZaHt.js";import{n,t as r}from"./VRow-Jrv7cE2K.js";import{Ir as i,P as a,Pr as o,S as s,Sr as c,Ur as l,Vr as ee,W as u,Xr as d,Xt as f,_r as p,br as m,dr as h,gr as g,hr as _,ii as v,kt as te,m as y,ni as b,oi as x,vr as S,vt as C,xr as w,y as T,yt as E}from"./index-Bplw5zZe.js";import{t as D}from"./usePageActivateRefresh-C2xQnJah.js";import{t as O}from"./VCard-DwK3U69w.js";import{i as k,t as A}from"./auditNormalize-DWYIxo0q.js";import{n as j,r as M,t as N}from"./VSkeletonLoader-vo9o5RDt.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";var F={key:0,class:`text-center text-medium-emphasis py-4`},I={class:`text-body-large font-weight-regular`},L={class:`d-flex justify-space-between align-center text-medium-emphasis`},R={class:`py-1`},z={key:0,class:`text-center text-medium-emphasis py-4`},B={class:`text-caption`},V={class:`d-flex justify-space-between align-center`},H={class:`text-medium-emphasis`},U={class:`text-body-2 font-weight-medium`},W={key:0,class:`text-center text-medium-emphasis py-4`},G=P(c({name:`DashboardPage`,__name:`DashboardPage`,setup(c){let P=t(),G=d(!0),K=d([{subtitle:`服务器总数`,title:`0`,icon:`mdi-server-network`,color:`blue`},{subtitle:`在线`,title:`0`,icon:`mdi-check-circle-outline`,color:`green`},{subtitle:`离线`,title:`0`,icon:`mdi-alert-circle-outline`,color:`orange`},{subtitle:`告警中`,title:`0`,icon:`mdi-bell-alert-outline`,color:`red`}]),q=d([]),J=d([{title:`在线率`,progress:0,text:`在`,value:`0%`},{title:`Agent 覆盖`,progress:0,text:`A`,value:`0%`},{title:`CPU 平均`,progress:0,text:`C`,value:`0%`},{title:`内存平均`,progress:0,text:`M`,value:`0%`}]),Y=d({}),X=d(0),Z=d([]);async function Q(e=!1){e||(G.value=!0);try{let{data:e}=await E(C.serverStats,()=>f.get(`/servers/stats`));K.value[0].title=String(e.total),K.value[1].title=String(e.online),K.value[2].title=String(e.offline),K.value[3].title=String(e.alerts??0),Y.value=e.categories||{},X.value=e.total;let t=e.total?Math.round(e.online/e.total*100):0;J.value[0].progress=t,J.value[0].value=`${t}%`}catch{e||P(`加载统计数据失败`,`error`)}finally{e||(G.value=!1)}}async function $(){try{q.value=((await f.get(`/alert-history/`,{limit:5})).items||[]).map(e=>({title:e.server_name,subtitle:`${e.alert_type} ${e.is_recovery?`(已恢复)`:``} · ${M(e.created_at)}`,value:e.value,color:e.is_recovery?`green`:`red`,icon:e.is_recovery?`mdi-check-circle`:`mdi-alert-circle`}))}catch{q.value=[],P(`加载告警记录失败`,`error`)}}async function ne(){try{Z.value=A((await f.get(`/audit/`,{limit:10})).items||[]).slice(0,10)}catch{Z.value=[],P(`加载审计记录失败`,`error`)}}async function re(){try{let e=await f.get(`/servers/`,{per_page:200}),t=e.items||[],n=e.total||t.length;if(n===0)return;let r=t.filter(e=>e.agent_version).length,i=Math.round(r/n*100);J.value[1].progress=i,J.value[1].value=`${i}%`;let a=t.filter(e=>e.system_info?.cpu_usage!=null),o=t.filter(e=>e.system_info?.mem_usage!=null);if(a.length>0){let e=Math.round(a.reduce((e,t)=>e+(t.system_info.cpu_usage||0),0)/a.length);J.value[2].progress=e,J.value[2].value=`${e}%`}if(o.length>0){let e=Math.round(o.reduce((e,t)=>e+(t.system_info.mem_usage||0),0)/o.length);J.value[3].progress=e,J.value[3].value=`${e}%`}}catch{}}async function ie(e=!1){await Promise.all([Q(e),$(),re(),ne()]),e||f.post(`/settings/bing-wallpapers/sync`).catch(()=>{})}return ee(te().alerts,()=>{Q(!0),$()}),D(e=>ie(e)),(t,c)=>(o(),g(e,{fluid:``,class:`pa-4 pa-md-6 dashboard-root`},{default:l(()=>[G.value?(o(),g(N,{key:0,type:`heading, text`,class:`mb-4`})):(o(),g(j,{key:1,items:K.value},null,8,[`items`])),w(r,{class:`mt-5`},{default:l(()=>[w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`告警历史`,border:``},{append:l(()=>[...c[0]||=[_(`div`,{class:`my-5`},null,-1)]]),text:l(()=>[q.value.length===0?(o(),S(`div`,F,` 暂无告警 `)):p(``,!0),(o(!0),S(h,null,i(q.value,(e,t)=>(o(),g(y,{key:t,class:v([t!==0&&`mt-4`,`px-0`]),subtitle:e.subtitle,title:e.title,lines:`one`},{prepend:l(()=>[w(s,{color:e.color,icon:e.icon,variant:`tonal`,rounded:``},null,8,[`color`,`icon`])]),append:l(()=>[_(`span`,I,x(e.value),1)]),_:2},1032,[`class`,`subtitle`,`title`]))),128))]),_:1})]),_:1}),w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`资源概览`,border:``},{append:l(()=>[...c[1]||=[_(`div`,{class:`my-5`},null,-1)]]),text:l(()=>[(o(!0),S(h,null,i(J.value,(e,t)=>(o(),g(y,{key:t,class:v([t!==0&&`mt-4`,`px-0`])},{prepend:l(()=>[w(s,{text:e.text,color:`primary`,size:`large`,variant:`tonal`},null,8,[`text`])]),title:l(()=>[_(`div`,L,[_(`span`,null,x(e.title),1),_(`span`,null,x(e.value),1)])]),subtitle:l(()=>[_(`div`,R,[w(u,{"model-value":e.progress,"bg-color":`surface-light`,"bg-opacity":`1`,color:`primary`,height:`8`,rounded:``},null,8,[`model-value`])])]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),_:1}),w(r,null,{default:l(()=>[w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`分类分布`,border:``},{text:l(()=>[Object.keys(Y.value).length===0?(o(),S(`div`,z,` 暂无分类数据 `)):p(``,!0),(o(!0),S(h,null,i(Y.value,(e,t)=>(o(),g(y,{key:t,class:`px-0`},{prepend:l(()=>[w(s,{color:`primary`,variant:`tonal`,size:`small`},{default:l(()=>[_(`span`,B,x(t[0]?.toUpperCase()),1)]),_:2},1024)]),title:l(()=>[_(`div`,V,[_(`span`,H,x(t===`uncategorized`?`未分类`:t),1),_(`span`,U,x(e)+` 台`,1)])]),subtitle:l(()=>[w(u,{"model-value":X.value>0?e/X.value*100:0,"bg-color":`surface-light`,"bg-opacity":`1`,color:`primary`,height:`6`,rounded:``},null,8,[`model-value`])]),_:2},1024))),128))]),_:1})]),_:1}),w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`最近操作`,border:``},{append:l(()=>[w(a,{size:`small`,variant:`text`,to:`/audit`},{default:l(()=>[...c[2]||=[m(`查看全部`,-1)]]),_:1})]),text:l(()=>[Z.value.length===0?(o(),S(`div`,W,` 暂无操作记录 `)):p(``,!0),(o(!0),S(h,null,i(Z.value,e=>(o(),g(y,{key:e.id,title:b(k)(e),subtitle:`${e.admin_username} · ${b(M)(e.created_at)}`,class:`px-0`,lines:`two`},{append:l(()=>[w(T,{size:`x-small`,variant:`tonal`,label:``},{default:l(()=>[m(x(e.ip_address||`—`),1)]),_:2},1024)]),_:2},1032,[`title`,`subtitle`]))),128))]),_:1})]),_:1})]),_:1})]),_:1}))}}),[[`__scopeId`,`data-v-96be32bd`]]);export{G as default}; \ No newline at end of file diff --git a/web/app/assets/DashboardPage-ml3I9rRe.js b/web/app/assets/DashboardPage-ml3I9rRe.js deleted file mode 100644 index 6d014930..00000000 --- a/web/app/assets/DashboardPage-ml3I9rRe.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./useSnackbar-DaoOJlMz.js";import{n,t as r}from"./VRow-Wg9QrEcV.js";import{Ir as i,P as a,Pr as o,S as s,Sr as c,Ur as l,Vr as ee,W as u,Xr as d,Xt as f,_r as p,br as m,dr as h,gr as g,hr as _,ii as v,kt as te,m as y,ni as b,oi as x,vr as S,vt as C,xr as w,y as T,yt as E}from"./index-DZEQidkT.js";import{t as D}from"./usePageActivateRefresh-BmoMLdUi.js";import{t as O}from"./VCard-DiTj681b.js";import{i as k,t as A}from"./auditNormalize-DWYIxo0q.js";import{n as j,r as M,t as N}from"./VSkeletonLoader-2DBPWC-b.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";var F={key:0,class:`text-center text-medium-emphasis py-4`},I={class:`text-body-large font-weight-regular`},L={class:`d-flex justify-space-between align-center text-medium-emphasis`},R={class:`py-1`},z={key:0,class:`text-center text-medium-emphasis py-4`},B={class:`text-caption`},V={class:`d-flex justify-space-between align-center`},H={class:`text-medium-emphasis`},U={class:`text-body-2 font-weight-medium`},W={key:0,class:`text-center text-medium-emphasis py-4`},G=P(c({name:`DashboardPage`,__name:`DashboardPage`,setup(c){let P=t(),G=d(!0),K=d([{subtitle:`服务器总数`,title:`0`,icon:`mdi-server-network`,color:`blue`},{subtitle:`在线`,title:`0`,icon:`mdi-check-circle-outline`,color:`green`},{subtitle:`离线`,title:`0`,icon:`mdi-alert-circle-outline`,color:`orange`},{subtitle:`告警中`,title:`0`,icon:`mdi-bell-alert-outline`,color:`red`}]),q=d([]),J=d([{title:`在线率`,progress:0,text:`在`,value:`0%`},{title:`Agent 覆盖`,progress:0,text:`A`,value:`0%`},{title:`CPU 平均`,progress:0,text:`C`,value:`0%`},{title:`内存平均`,progress:0,text:`M`,value:`0%`}]),Y=d({}),X=d(0),Z=d([]);async function Q(e=!1){e||(G.value=!0);try{let{data:e}=await E(C.serverStats,()=>f.get(`/servers/stats`));K.value[0].title=String(e.total),K.value[1].title=String(e.online),K.value[2].title=String(e.offline),K.value[3].title=String(e.alerts??0),Y.value=e.categories||{},X.value=e.total;let t=e.total?Math.round(e.online/e.total*100):0;J.value[0].progress=t,J.value[0].value=`${t}%`}catch{e||P(`加载统计数据失败`,`error`)}finally{e||(G.value=!1)}}async function $(){try{q.value=((await f.get(`/alert-history/`,{limit:5})).items||[]).map(e=>({title:e.server_name,subtitle:`${e.alert_type} ${e.is_recovery?`(已恢复)`:``} · ${M(e.created_at)}`,value:e.value,color:e.is_recovery?`green`:`red`,icon:e.is_recovery?`mdi-check-circle`:`mdi-alert-circle`}))}catch{q.value=[],P(`加载告警记录失败`,`error`)}}async function ne(){try{Z.value=A((await f.get(`/audit/`,{limit:10})).items||[]).slice(0,10)}catch{Z.value=[],P(`加载审计记录失败`,`error`)}}async function re(){try{let e=await f.get(`/servers/`,{per_page:200}),t=e.items||[],n=e.total||t.length;if(n===0)return;let r=t.filter(e=>e.agent_version).length,i=Math.round(r/n*100);J.value[1].progress=i,J.value[1].value=`${i}%`;let a=t.filter(e=>e.system_info?.cpu_usage!=null),o=t.filter(e=>e.system_info?.mem_usage!=null);if(a.length>0){let e=Math.round(a.reduce((e,t)=>e+(t.system_info.cpu_usage||0),0)/a.length);J.value[2].progress=e,J.value[2].value=`${e}%`}if(o.length>0){let e=Math.round(o.reduce((e,t)=>e+(t.system_info.mem_usage||0),0)/o.length);J.value[3].progress=e,J.value[3].value=`${e}%`}}catch{}}async function ie(e=!1){await Promise.all([Q(e),$(),re(),ne()]),e||f.post(`/settings/bing-wallpapers/sync`).catch(()=>{})}return ee(te().alerts,()=>{Q(!0),$()}),D(e=>ie(e)),(t,c)=>(o(),g(e,{fluid:``,class:`pa-4 pa-md-6 dashboard-root`},{default:l(()=>[G.value?(o(),g(N,{key:0,type:`heading, text`,class:`mb-4`})):(o(),g(j,{key:1,items:K.value},null,8,[`items`])),w(r,{class:`mt-5`},{default:l(()=>[w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`告警历史`,border:``},{append:l(()=>[...c[0]||=[_(`div`,{class:`my-5`},null,-1)]]),text:l(()=>[q.value.length===0?(o(),S(`div`,F,` 暂无告警 `)):p(``,!0),(o(!0),S(h,null,i(q.value,(e,t)=>(o(),g(y,{key:t,class:v([t!==0&&`mt-4`,`px-0`]),subtitle:e.subtitle,title:e.title,lines:`one`},{prepend:l(()=>[w(s,{color:e.color,icon:e.icon,variant:`tonal`,rounded:``},null,8,[`color`,`icon`])]),append:l(()=>[_(`span`,I,x(e.value),1)]),_:2},1032,[`class`,`subtitle`,`title`]))),128))]),_:1})]),_:1}),w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`资源概览`,border:``},{append:l(()=>[...c[1]||=[_(`div`,{class:`my-5`},null,-1)]]),text:l(()=>[(o(!0),S(h,null,i(J.value,(e,t)=>(o(),g(y,{key:t,class:v([t!==0&&`mt-4`,`px-0`])},{prepend:l(()=>[w(s,{text:e.text,color:`primary`,size:`large`,variant:`tonal`},null,8,[`text`])]),title:l(()=>[_(`div`,L,[_(`span`,null,x(e.title),1),_(`span`,null,x(e.value),1)])]),subtitle:l(()=>[_(`div`,R,[w(u,{"model-value":e.progress,"bg-color":`surface-light`,"bg-opacity":`1`,color:`primary`,height:`8`,rounded:``},null,8,[`model-value`])])]),_:2},1032,[`class`]))),128))]),_:1})]),_:1})]),_:1}),w(r,null,{default:l(()=>[w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`分类分布`,border:``},{text:l(()=>[Object.keys(Y.value).length===0?(o(),S(`div`,z,` 暂无分类数据 `)):p(``,!0),(o(!0),S(h,null,i(Y.value,(e,t)=>(o(),g(y,{key:t,class:`px-0`},{prepend:l(()=>[w(s,{color:`primary`,variant:`tonal`,size:`small`},{default:l(()=>[_(`span`,B,x(t[0]?.toUpperCase()),1)]),_:2},1024)]),title:l(()=>[_(`div`,V,[_(`span`,H,x(t===`uncategorized`?`未分类`:t),1),_(`span`,U,x(e)+` 台`,1)])]),subtitle:l(()=>[w(u,{"model-value":X.value>0?e/X.value*100:0,"bg-color":`surface-light`,"bg-opacity":`1`,color:`primary`,height:`6`,rounded:``},null,8,[`model-value`])]),_:2},1024))),128))]),_:1})]),_:1}),w(n,{cols:`12`,md:`6`},{default:l(()=>[w(O,{elevation:`0`,rounded:`lg`,title:`最近操作`,border:``},{append:l(()=>[w(a,{size:`small`,variant:`text`,to:`/audit`},{default:l(()=>[...c[2]||=[m(`查看全部`,-1)]]),_:1})]),text:l(()=>[Z.value.length===0?(o(),S(`div`,W,` 暂无操作记录 `)):p(``,!0),(o(!0),S(h,null,i(Z.value,e=>(o(),g(y,{key:e.id,title:b(k)(e),subtitle:`${e.admin_username} · ${b(M)(e.created_at)}`,class:`px-0`,lines:`two`},{append:l(()=>[w(T,{size:`x-small`,variant:`tonal`,label:``},{default:l(()=>[m(x(e.ip_address||`—`),1)]),_:2},1024)]),_:2},1032,[`title`,`subtitle`]))),128))]),_:1})]),_:1})]),_:1})]),_:1}))}}),[[`__scopeId`,`data-v-96be32bd`]]);export{G as default}; \ No newline at end of file diff --git a/web/app/assets/FilesPage-CzC0-tAq.js b/web/app/assets/FilesPage-DGXiHGdY.js similarity index 99% rename from web/app/assets/FilesPage-CzC0-tAq.js rename to web/app/assets/FilesPage-DGXiHGdY.js index 89a96b59..7ff15f43 100644 --- a/web/app/assets/FilesPage-CzC0-tAq.js +++ b/web/app/assets/FilesPage-DGXiHGdY.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/initMonaco-BdzAW2O1.js","assets/index-DawRgH7u.js","assets/index-DUUkodzN.css","assets/initMonaco-DX2BVZF3.css"])))=>i.map(i=>d[i]); -import{a as e,i as t,n,t as r}from"./initMonaco-BdzAW2O1.js";import{t as i}from"./VDataTable-4SnAXj3j.js";import{n as a,t as o}from"./useSnackbar-CmDJGLzR.js";import{n as s,t as c}from"./VRow-By04mHIT.js";import{$n as l,$r as u,$t as d,Ar as f,C as p,Cn as m,Dr as h,E as g,Er as _,F as v,Fr as y,Gn as b,Gt as x,Hn as S,Ir as C,J as w,Jr as ee,Kr as te,L as T,Mr as ne,N as E,Nn as D,Or as re,P as O,Pr as k,Q as ie,Qn as A,Qt as ae,R as oe,Rn as j,Sr as M,Tn as se,Ur as N,Vr as ce,W as le,Wr as ue,X as de,Xr as P,Xt as F,Y as fe,Yn as pe,Yt as me,Zr as he,_ as I,_r as L,a as R,ai as ge,b as _e,bn as ve,br as z,c as ye,cn as be,cr as xe,ct as Se,dr as B,dt as Ce,en as we,er as Te,et as Ee,fn as De,fr as Oe,gr as V,h as H,hn as ke,hr as U,ht as Ae,i as je,ii as Me,in as Ne,kn as Pe,l as Fe,ln as Ie,lr as Le,lt as Re,m as W,mn as ze,mr as G,mt as Be,n as Ve,ni as K,nr as He,nt as Ue,o as We,oi as q,pn as Ge,q as Ke,qt as qe,r as Je,rn as Ye,rt as Xe,s as Ze,st as Qe,tn as $e,tr as et,un as tt,ur as J,ut as nt,v as rt,vr as Y,wn as it,wr as at,x as ot,xr as X,y as st,yn as ct,zr as lt}from"./index-DawRgH7u.js";import{t as ut}from"./dataTable-esDY4cOk.js";import{a as dt,n as ft,r as pt,t as Z}from"./VCard-rBfCdgX2.js";import{t as mt}from"./VSelect-XuQYQvJc.js";import{t as ht}from"./VCheckbox-0cpfrSvP.js";import{c as gt,l as _t,m as vt,o as yt,s as bt,t as xt,u as St}from"./VTextField-BZnszgeR.js";import{t as Ct}from"./apiError-EQrzELs3.js";import{t as wt}from"./useServerList-CXphchDt.js";import{t as Tt}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Et}from"./VDialog-8YoHW6GE.js";import{r as Dt}from"./validation-BMzYTJL4.js";var Ot=Symbol(`filesPage`);function kt(e){y(Ot,ee(e))}function At(){let e=at(Ot);if(!e)throw Error(`useFilesPageContext() must be used inside FilesPage`);return e}var jt=it({divider:[Number,String],...m()},`VBreadcrumbsDivider`),Mt=ct()({name:`VBreadcrumbsDivider`,props:jt(),setup(e,{slots:t}){return Ge(()=>U(`li`,{"aria-hidden":`true`,class:Me([`v-breadcrumbs-divider`,e.class]),style:ge(e.style)},[t?.default?.()??e.divider])),{}}}),Nt=it({active:Boolean,activeClass:String,activeColor:String,color:String,disabled:Boolean,title:String,...m(),...l(Ke(),[`width`,`maxWidth`]),...T(),...Re({tag:`li`})},`VBreadcrumbsItem`),Pt=ct()({name:`VBreadcrumbsItem`,props:Nt(),setup(e,{slots:t,attrs:n}){let r=oe(e,n),i=G(()=>e.active||r.isActive?.value),{dimensionStyles:a}=w(e),{textColorClasses:o,textColorStyles:s}=Se(()=>i.value?e.activeColor:e.color);return Ge(()=>X(e.tag,{class:Me([`v-breadcrumbs-item`,{"v-breadcrumbs-item--active":i.value,"v-breadcrumbs-item--disabled":e.disabled,[`${e.activeClass}`]:i.value&&e.activeClass},o.value,e.class]),style:ge([s.value,a.value,e.style]),"aria-current":i.value?`page`:void 0},{default:()=>[r.isLink.value?U(`a`,_({class:`v-breadcrumbs-item--link`,onClick:r.navigate.value},r.linkProps),[t.default?.()??e.title]):t.default?.()??e.title]})),{}}}),Ft=it({activeClass:String,activeColor:String,bgColor:String,color:String,disabled:Boolean,divider:{type:String,default:`/`},icon:De,items:{type:Array,default:()=>[]},...m(),...Be(),...nt(),...Re({tag:`ul`})},`VBreadcrumbs`),It=ct()({name:`VBreadcrumbs`,props:Ft(),setup(e,{slots:t}){let{backgroundColorClasses:n,backgroundColorStyles:r}=Qe(()=>e.bgColor),{densityClasses:i}=Ae(e),{roundedClasses:a}=Ce(e);ve({VBreadcrumbsDivider:{divider:u(()=>e.divider)},VBreadcrumbsItem:{activeClass:u(()=>e.activeClass),activeColor:u(()=>e.activeColor),color:u(()=>e.color),disabled:u(()=>e.disabled)}});let o=G(()=>e.items.map(e=>typeof e==`string`?{item:{title:e},raw:e}:{item:e,raw:e}));return Ge(()=>{let s=!!(t.prepend||e.icon);return X(e.tag,{class:Me([`v-breadcrumbs`,n.value,i.value,a.value,e.class]),style:ge([r.value,e.style])},{default:()=>[s&&U(`li`,{key:`prepend`,class:`v-breadcrumbs__prepend`},[t.prepend?X(ie,{key:`prepend-defaults`,disabled:!e.icon,defaults:{VIcon:{icon:e.icon,start:!0}}},t.prepend):X(de,{key:`prepend-icon`,start:!0,icon:e.icon},null)]),o.value.map(({item:e,raw:n},r,i)=>U(B,null,[t.item?.({item:e,index:r})??X(Pt,_({key:r,disabled:r>=i.length-1},typeof e==`string`?{title:e}:e),{default:t.title?()=>t.title?.({item:e,index:r}):void 0}),rt.divider?.({item:n,index:r}):void 0})])),t.default?.()]})}),{}}}),Lt={class:`text-body-2 mr-4`},Rt=M({__name:`FilesBreadcrumb`,setup(e){let t=At();return(e,n)=>(k(),Y(B,null,[X(It,{items:K(t).breadcrumbs,class:`pa-0 mb-2`},{item:N(({item:e,index:n})=>[X(Pt,{disabled:e.disabled,class:Me({"text-primary":!e.disabled,"cursor-pointer":!e.disabled}),onClick:e=>K(t).onBreadcrumbClick(n)},{default:N(()=>[z(q(e.title),1)]),_:2},1032,[`disabled`,`class`,`onClick`])]),divider:N(()=>[...n[1]||=[z(`/`,-1)]]),_:1},8,[`items`]),K(t).selectedFileCount>0?(k(),V(Z,{key:0,class:`mb-4`,color:`primary`,variant:`tonal`,rounded:`lg`},{default:N(()=>[X(ft,{class:`d-flex align-center py-2`},{default:N(()=>[U(`span`,Lt,`已选择 `+q(K(t).selectedFileCount)+` 个文件`,1),X(I),X(O,{size:`small`,variant:`text`,color:`error`,onClick:K(t).batchDelete},{default:N(()=>[...n[2]||=[z(`批量删除`,-1)]]),_:1},8,[`onClick`]),X(O,{size:`small`,variant:`text`,onClick:n[0]||=e=>K(t).selectedFiles=[]},{default:N(()=>[...n[3]||=[z(`取消选择`,-1)]]),_:1})]),_:1})]),_:1})):L(``,!0)],64))}});function zt(e){return e.filter(e=>e.name&&e.name!==`.`&&e.name!==`..`).map(e=>{let t=e.type===`directory`||!!e.is_dir,n=e.type===`symlink`||!!e.is_link,r=0;if(!t&&!n&&e.size!=null){let t=typeof e.size==`number`?e.size:parseInt(String(e.size),10);r=Number.isFinite(t)?t:0}let i=`file`;return t?i=`directory`:n&&(i=`symlink`),{name:e.name,type:i,size:r,modified:e.modified??``,permissions:e.permissions??e.perms??``,owner:e.owner??``,group:e.group??``,mode_octal:e.mode_octal??``,link_target:e.link_target??null}})}function Bt(e){if(Array.isArray(e))return{items:e};let t=e;return Array.isArray(t.items)?{items:t.items,error:t.error}:t.entries?.length?{items:zt(t.entries),error:t.error}:{items:t.items??[],error:t.error}}var Vt=`/www/wwwroot`;function Ht(e){if(e==null)return``;if(typeof e==`string`)return e;if(typeof e==`object`&&`value`in e){let t=e.value;if(typeof t==`string`)return t}return String(e)}function Q(e){let t=Ht(e).trim().replace(/\\/g,`/`);if(!t||t===`.`)return`/`;let n=t.startsWith(`/`)?t:`/${t}`;return n=n.replace(/\/+/g,`/`),n.length>1&&n.endsWith(`/`)&&(n=n.slice(0,-1)),n}function Ut(e){return Q(e).split(`/`).filter(Boolean)}function $(e,t){let n=Q(e),r=t.replace(/\/+/g,``).trim();if(!r||r===`.`)return n;if(r===`..`){let e=Ut(n);return e.pop(),e.length?`/${e.join(`/`)}`:`/`}return n===`/`?`/${r}`:`${n}/${r}`}function Wt(e){let t=Ut(e);return t.length?(t.pop(),t.length?`/${t.join(`/`)}`:`/`):null}function Gt(e){let t=e.trim();return t?t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)?`名称不能包含路径分隔符`:t===`.`||t===`..`?`非法名称`:!0:`名称不能为空`}function Kt(e){let t=Ut(Q(e)),n=[{title:`/`,path:`/`,disabled:t.length===0}],r=``;for(let e=0;eQ(n.rootPath||`/www/wwwroot`)),a=t,s=P(!1),c=P(null),l=P(new Set),u=P(new Map);function d(e){let t=new Set(l.value);e(t),l.value=t}function f(e){let t=new Map(u.value);e(t),u.value=t}function p(){l.value=new Set([i.value])}let m=G(()=>{let e=[],t=(n,r)=>{let i=u.value.get(n)??[];for(let n of i)e.push({...n,depth:r}),l.value.has(n.path)&&t(n.path,r+1)};return t(i.value,0),e});async function h(e){if(!n.serverId)return[];let{items:t}=Bt(await F.post(`/sync/browse`,{server_id:n.serverId,path:Q(e)}));return t.filter(e=>e.type===`directory`).sort((e,t)=>e.name.localeCompare(t.name)).map(t=>({path:$(e,t.name),name:t.name,depth:0,hasChildren:!0,loaded:!1}))}async function g(e){if(n.serverId){c.value=e;try{let t=await h(e);f(n=>{n.set(e,t);for(let e of t)n.has(e.path)||n.set(e.path,[])})}catch(e){r(e instanceof Error?e.message:`加载目录失败`,`error`)}finally{c.value=null}}}async function _(){if(!n.serverId)return;s.value=!0,u.value=new Map,p();let e=i.value;try{await g(e),f(t=>{for(let n of t.get(e)??[])t.has(n.path)||t.set(n.path,[])})}finally{s.value=!1}}async function v(e){if(l.value.has(e.path)){d(t=>{t.delete(e.path)});return}u.value.has(e.path)||await g(e.path),d(t=>{t.add(e.path)})}function y(e){let t=Q(e),n=i.value;t!==n&&d(e=>{if(e.add(n),!t.startsWith(n))return;let r=t.slice(n.length).replace(/^\//,``);if(!r)return;let i=n;for(let t of r.split(`/`).filter(Boolean))i=$(i,t),e.add(i)})}ce(()=>[n.serverId,i.value],([e])=>{e?_():(u.value=new Map,l.value=new Set)},{immediate:!0});async function b(e){if(!n.serverId)return;let t=Q(e),r=i.value;if(y(t),u.value.has(r)||await g(r),t===r||!t.startsWith(r))return;let a=t.slice(r.length).replace(/^\//,``).split(`/`).filter(Boolean),o=r;for(let e of a)u.value.has(o)||await g(o),o=$(o,e)}return ce(()=>n.currentPath,e=>{e&&b(e)},{immediate:!0}),(t,n)=>(k(),V(Z,{border:``,rounded:`lg`,class:Me([`file-dir-tree d-flex flex-column`,{"file-dir-tree--embedded":e.embedded}])},{default:N(()=>[e.embedded?(k(),Y(`div`,qt,[X(de,{size:`16`,class:`mr-1 text-medium-emphasis`},{default:N(()=>[...n[2]||=[z(`mdi-file-tree`,-1)]]),_:1}),n[3]||=U(`span`,{class:`text-caption text-medium-emphasis`},`目录`,-1),X(I),X(O,{icon:`mdi-refresh`,size:`x-small`,variant:`text`,disabled:!e.serverId,onClick:_},null,8,[`disabled`])])):(k(),V(pt,{key:0,class:`text-subtitle-2 py-2 px-3 d-flex align-center`},{default:N(()=>[X(de,{size:`18`,class:`mr-1`},{default:N(()=>[...n[0]||=[z(`mdi-file-tree`,-1)]]),_:1}),n[1]||=z(` 目录 `,-1),X(I),X(O,{icon:`mdi-refresh`,size:`x-small`,variant:`text`,disabled:!e.serverId,onClick:_},null,8,[`disabled`])]),_:1})),X(rt),X(ft,{class:`file-dir-tree-body pa-0 flex-grow-1`},{default:N(()=>[e.serverId?s.value?(k(),V(le,{key:1,indeterminate:``})):m.value.length===0?(k(),Y(`div`,Yt,` 暂无子目录(可点刷新) `)):(k(),V(Fe,{key:3,density:`compact`,nav:``,class:`py-0`},{default:N(()=>[(k(!0),Y(B,null,C(m.value,t=>(k(),Y(`div`,{key:t.path,class:`file-dir-tree-row d-flex align-center`,style:ge({paddingLeft:`${8+t.depth*14}px`})},[U(`button`,{type:`button`,class:`file-dir-tree-toggle`,onClick:J(e=>v(t),[`stop`])},[c.value===t.path?(k(),V(fe,{key:0,indeterminate:``,size:`14`,width:`2`})):(k(),V(de,{key:1,size:`16`},{default:N(()=>[z(q(l.value.has(t.path)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024))],8,Xt),U(`button`,{type:`button`,class:Me([`file-dir-tree-label text-body-2 text-truncate`,{"file-dir-tree-label--active":K(Q)(e.currentPath)===t.path}]),onClick:e=>a(`navigate`,t.path),onContextmenu:J(e=>a(`paste-target`,t.path),[`prevent`])},[X(de,{size:`14`,class:`mr-1`},{default:N(()=>[...n[4]||=[z(`mdi-folder-outline`,-1)]]),_:1}),z(` `+q(t.name),1)],42,Zt)],4))),128))]),_:1})):(k(),Y(`div`,Jt,`请先选择服务器`))]),_:1})]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-d76d91c6`]]);function $t(e,t){try{let n=localStorage.getItem(e);if(!n)return t;let r=JSON.parse(n);if(typeof r.x==`number`&&typeof r.y==`number`&&typeof r.w==`number`&&typeof r.h==`number`)return r}catch{}return t}function en(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function tn(e,t){let n=P($t(e,t)),r={px:0,py:0,rx:0,ry:0},i=!1,a={px:0,py:0,rw:0,rh:0},o=G(()=>({left:`${n.value.x}px`,top:`${n.value.y}px`,width:`${n.value.w}px`,height:`${n.value.h}px`}));function s(){let e=Math.min(window.innerWidth-16,1400),t=Math.min(window.innerHeight-16,900);n.value.w=Math.max(480,Math.min(n.value.w,e)),n.value.h=Math.max(320,Math.min(n.value.h,t)),n.value.x=Math.max(8,Math.min(n.value.x,window.innerWidth-n.value.w-8)),n.value.y=Math.max(8,Math.min(n.value.y,window.innerHeight-n.value.h-8))}function c(e){if(i){n.value.w=Math.max(480,a.rw+e.clientX-a.px),n.value.h=Math.max(320,a.rh+e.clientY-a.py),s();return}n.value.x=r.rx+e.clientX-r.px,n.value.y=r.ry+e.clientY-r.py,s()}function l(){i=!1,window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l),en(e,n.value)}function u(e){e.button===0&&(r={px:e.clientX,py:e.clientY,rx:n.value.x,ry:n.value.y},window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l))}function d(e){e.button===0&&(e.stopPropagation(),i=!0,a={px:e.clientX,py:e.clientY,rw:n.value.w,rh:n.value.h},window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l))}function p(){n.value.x=Math.max(16,(window.innerWidth-n.value.w)/2),n.value.y=Math.max(16,(window.innerHeight-n.value.h)/2),en(e,n.value)}return f(()=>{window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l)}),{rect:n,panelStyle:o,startDrag:u,startResize:d,centerOnScreen:p,clampToViewport:s}}var nn={js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`javascript`,ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`typescript`,vue:`html`,py:`python`,pyw:`python`,rb:`ruby`,sh:`shell`,bash:`shell`,zsh:`shell`,fish:`shell`,php:`php`,phtml:`php`,java:`java`,go:`go`,rs:`rust`,c:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,h:`c`,hpp:`cpp`,cs:`csharp`,swift:`swift`,kt:`kotlin`,kts:`kotlin`,html:`html`,htm:`html`,xhtml:`html`,css:`css`,scss:`scss`,sass:`scss`,less:`less`,json:`json`,jsonc:`json`,xml:`xml`,xsl:`xml`,xsd:`xml`,svg:`xml`,yaml:`yaml`,yml:`yaml`,toml:`toml`,md:`markdown`,mdx:`mdx`,sql:`sql`,graphql:`graphql`,gql:`graphql`,dockerfile:`dockerfile`,conf:`ini`,cfg:`ini`,cnf:`ini`,ini:`ini`,properties:`ini`,env:`ini`,tpl:`html`,twig:`twig`,blade:`php`,lua:`lua`,pl:`perl`,pm:`perl`,ps1:`powershell`,psm1:`powershell`,bat:`bat`,cmd:`bat`,r:`r`,dart:`dart`,scala:`scala`,clj:`clojure`,ex:`elixir`,exs:`elixir`,erl:`elixir`,hs:`haskell`,ml:`fsharp`,fs:`fsharp`,fsx:`fsharp`,vb:`vb`,pas:`pascal`,dockerignore:`plaintext`,gitignore:`plaintext`,gitattributes:`plaintext`,editorconfig:`ini`,htaccess:`shell`,service:`ini`,socket:`ini`,timer:`ini`,mount:`ini`,fstab:`ini`,crt:`plaintext`,pem:`plaintext`,key:`plaintext`,pub:`plaintext`,log:`plaintext`,lock:`json`},rn={dockerfile:`dockerfile`,makefile:`makefile`,gnumakefile:`makefile`,"cmakelists.txt":`plaintext`,gemfile:`ruby`,rakefile:`ruby`,vagrantfile:`ruby`,nginx:`nginx`,"nginx.conf":`nginx`,".env":`ini`,".env.example":`ini`,".env.local":`ini`,".gitignore":`plaintext`,".dockerignore":`plaintext`,".htaccess":`shell`,hosts:`plaintext`,crontab:`shell`,"supervisord.conf":`ini`,"php.ini":`ini`,"my.cnf":`ini`},an=[{title:`自动`,value:`auto`},{title:`Plain Text`,value:`plaintext`},{title:`PHP`,value:`php`},{title:`JavaScript`,value:`javascript`},{title:`TypeScript`,value:`typescript`},{title:`JSON`,value:`json`},{title:`HTML`,value:`html`},{title:`CSS`,value:`css`},{title:`SCSS`,value:`scss`},{title:`Shell`,value:`shell`},{title:`Python`,value:`python`},{title:`Go`,value:`go`},{title:`Rust`,value:`rust`},{title:`Java`,value:`java`},{title:`C`,value:`c`},{title:`C++`,value:`cpp`},{title:`C#`,value:`csharp`},{title:`SQL`,value:`sql`},{title:`YAML`,value:`yaml`},{title:`TOML`,value:`toml`},{title:`INI / Config`,value:`ini`},{title:`Markdown`,value:`markdown`},{title:`Dockerfile`,value:`dockerfile`},{title:`Nginx`,value:`nginx`},{title:`XML`,value:`xml`},{title:`Vue (HTML)`,value:`html`},{title:`Ruby`,value:`ruby`},{title:`Perl`,value:`perl`},{title:`PowerShell`,value:`powershell`}];function on(e,t){let n=e.toLowerCase(),r=(t?.split(`/`).pop()??e).toLowerCase();if(rn[r])return rn[r];if(rn[n])return rn[n];if(n.endsWith(`.blade.php`))return`php`;let i=n.split(`.`);if(i.length>2&&i[i.length-1]===`php`&&i.slice(-2).join(`.`)===`blade.php`)return`php`;let a=n.includes(`.`)?n.split(`.`).pop()??``:``;return a&&nn[a]?nn[a]:r.includes(`nginx`)&&(r.endsWith(`.conf`)||r===`nginx.conf`)?`nginx`:`plaintext`}function sn(e,t,n){return n&&n!==`auto`?n:on(e,t)}var cn=Symbol.for(`vuetify:v-tabs`),ln=it({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:`horizontal`},...A(v({selectedClass:`v-tab--selected`,variant:`text`}),[`active`,`block`,`flat`,`location`,`position`,`symbol`])},`VTab`),un=ct()({name:`VTab`,props:ln(),setup(e,{slots:t,attrs:n}){let{textColorClasses:r,textColorStyles:i}=Se(()=>e.sliderColor),{backgroundColorClasses:a,backgroundColorStyles:o}=Qe(()=>e.sliderColor),s=P(),c=P(),l=G(()=>e.direction===`horizontal`),u=G(()=>s.value?.group?.isSelected.value??!1);function d(e,t){return{opacity:[0,1]}}function f(t,n){return e.direction===`vertical`?{transform:[`scaleY(0)`,`scaleY(1)`]}:{transform:[`scaleX(0)`,`scaleX(1)`]}}function p(e,t){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=l.value?`x`:`y`,a=l.value?`X`:`Y`,o=l.value?`right`:`bottom`,s=l.value?`width`:`height`,c=n[i]>r[i]?n[o]-r[o]:n[i]-r[i],u=Math.sign(c)>0?l.value?`right`:`bottom`:Math.sign(c)<0?l.value?`left`:`top`:`center`,d=(Math.abs(c)+(Math.sign(c)<0?n[s]:r[s]))/Math.max(n[s],r[s])||0,f=n[s]/r[s]||0,p=1.5;return{transform:[`translate${a}(${c}px) scale${a}(${f})`,`translate${a}(${c/p}px) scale${a}(${(d-1)/p+1})`,`none`],transformOrigin:[,,,].fill(u)}}function m({value:t}){if(t){let t=s.value?.$el.parentElement?.querySelector(`.v-tab--selected .v-tab__slider`),n=c.value;if(!t||!n)return;let r=getComputedStyle(t).backgroundColor,i={fade:d,grow:f,shift:p}[e.sliderTransition??`shift`]??p,a=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??`shift`]??225);se(n,{backgroundColor:[r,r],...i(n,t)},{duration:a,easing:ke})}}return Ge(()=>{let l=O.filterProps(e);return X(O,_({symbol:cn,ref:s,class:[`v-tab`,e.class,u.value&&e.inset?a.value:[]],style:[e.style,u.value&&e.inset?o.value:[],{backgroundColor:u.value&&e.inset?`transparent !important`:void 0}],tabindex:u.value?0:-1,role:`tab`,"aria-selected":String(u.value),active:!1},l,n,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":m}),{...t,default:()=>U(B,null,[t.default?.()??e.text,!e.hideSlider&&U(`div`,{ref:c,class:Me([`v-tab__slider`,e.inset?a.value:r.value]),style:ge([i.value,e.inset?o.value:r.value])},null)])})}),Je({},s)}}),dn=e=>{let{touchstartX:t,touchendX:n,touchstartY:r,touchendY:i}=e,a=.5;e.offsetX=n-t,e.offsetY=i-r,Math.abs(e.offsetY)t+16&&e.right(e)),Math.abs(e.offsetX)r+16&&e.down(e))};function fn(e,t){let n=e.changedTouches[0];t.touchstartX=n.clientX,t.touchstartY=n.clientY,t.start?.({originalEvent:e,...t})}function pn(e,t){let n=e.changedTouches[0];t.touchendX=n.clientX,t.touchendY=n.clientY,t.end?.({originalEvent:e,...t}),dn(t)}function mn(e,t){let n=e.changedTouches[0];t.touchmoveX=n.clientX,t.touchmoveY=n.clientY,t.move?.({originalEvent:e,...t})}function hn(e={}){let t={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:e=>fn(e,t),touchend:e=>pn(e,t),touchmove:e=>mn(e,t)}}function gn(e,t){let n=t.value,r=n?.parent?e.parentElement:e,i=n?.options??{passive:!0},a=t.instance?.$.uid;if(!r||a===void 0)return;let o=hn(t.value);r._touchHandlers=r._touchHandlers??Object.create(null),r._touchHandlers[a]=o,pe(o).forEach(e=>{r.addEventListener(e,o[e],i)})}function _n(e,t){let n=t.value?.parent?e.parentElement:e,r=t.instance?.$.uid;if(!n?._touchHandlers||r===void 0)return;let i=n._touchHandlers[r];pe(i).forEach(e=>{n.removeEventListener(e,i[e])}),delete n._touchHandlers[r]}var vn={mounted:gn,unmounted:_n},yn=Symbol.for(`vuetify:v-window`),bn=Symbol.for(`vuetify:v-window-group`),xn=it({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:`$next`},prevIcon:{type:[Boolean,String,Function,Object],default:`$prev`},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e==`boolean`||e===`hover`},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:`horizontal`},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:`v-window-item--active`},mandatory:{type:[Boolean,String],default:`force`},crossfade:Boolean,transitionDuration:Number,...m(),...Re(),...Ye()},`VWindow`),Sn=ct()({name:`VWindow`,directives:{vTouch:vn},props:xn(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{themeClasses:n}=Ne(e),{isRtl:r}=Ie(),{t:i}=be(),a=Ue(e,bn),o=P(),s=G(()=>r.value?!e.reverse:e.reverse),c=he(!1),l=G(()=>e.crossfade?`v-window-crossfade-transition`:`v-window-${e.direction===`vertical`?`y`:`x`}${(s.value?!c.value:c.value)?`-reverse`:``}-transition`),d=he(0),f=P(void 0),p=G(()=>a.items.value.findIndex(e=>a.selected.value.includes(e.id)));ce(p,(e,t)=>{let n,r={left:0,top:0};et&&t>=0&&(n=ze(o.value),r.left=n?.scrollLeft,r.top=n?.scrollTop);let i=a.items.value.length,s=i-1;i<=2?c.value=e{!et||!n||(n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`}),requestAnimationFrame(()=>{n&&n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`})}))})},{flush:`sync`}),y(yn,{transition:l,isReversed:c,transitionCount:d,transitionHeight:f,rootRef:o});let m=u(()=>e.continuous||p.value!==0),g=u(()=>e.continuous||p.value!==a.items.value.length-1);function _(){m.value&&a.prev()}function v(){g.value&&a.next()}let b=G(()=>{let n=[],o={icon:r.value?e.nextIcon:e.prevIcon,class:`v-window__${s.value?`right`:`left`}`,onClick:a.prev,"aria-label":i(`$vuetify.carousel.prev`)};n.push(m.value?t.prev?t.prev({props:o}):X(O,o,null):U(`div`,null,null));let c={icon:r.value?e.prevIcon:e.nextIcon,class:`v-window__${s.value?`left`:`right`}`,onClick:a.next,"aria-label":i(`$vuetify.carousel.next`)};return n.push(g.value?t.next?t.next({props:c}):X(O,c,null):U(`div`,null,null)),n}),x=G(()=>e.touch===!1?e.touch:{left:()=>{s.value?_():v()},right:()=>{s.value?v():_()},start:({originalEvent:e})=>{e.stopPropagation()},...e.touch===!0?{}:e.touch});function S(t){(e.direction===`horizontal`&&t.key===`ArrowLeft`||e.direction===`vertical`&&t.key===`ArrowUp`)&&(t.preventDefault(),_(),h(()=>{m.value?C(0):C(1)})),(e.direction===`horizontal`&&t.key===`ArrowRight`||e.direction===`vertical`&&t.key===`ArrowDown`)&&(t.preventDefault(),v(),h(()=>{g.value?C(1):C(0)}))}function C(e){let t=b.value[e];t&&(Array.isArray(t)?t[0]:t).el?.focus()}return Ge(()=>ue(X(e.tag,{ref:o,class:Me([`v-window`,{"v-window--show-arrows-on-hover":e.showArrows===`hover`,"v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},n.value,e.class]),style:ge([e.style,{"--v-window-transition-duration":He()?null:D(e.transitionDuration,`ms`)}])},{default:()=>[U(`div`,{class:`v-window__container`,style:{height:f.value}},[t.default?.({group:a}),e.showArrows!==!1&&U(`div`,{class:Me([`v-window__controls`,{"v-window__controls--left":e.verticalArrows===`left`||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows===`right`}]),onKeydown:S},[b.value])]),t.additional?.({group:a})]}),[[vn,x.value]])),{group:a}}}),Cn=it({...A(xn(),[`continuous`,`nextIcon`,`prevIcon`,`showArrows`,`touch`,`mandatory`])},`VTabsWindow`),wn=ct()({name:`VTabsWindow`,props:Cn(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=at(cn,null),r=tt(e,`modelValue`),i=G({get(){return r.value!=null||!n?r.value:n.items.value.find(e=>n.selected.value.includes(e.id))?.value},set(e){r.value=e}});return Ge(()=>X(Sn,_({_as:`VTabsWindow`},Sn.filterProps(e),{modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-tabs-window`,e.class],style:e.style,mandatory:!1,touch:!1}),t)),{}}}),Tn=it({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...m(),...Ee(),...Ze()},`VWindowItem`),En=ct()({name:`VWindowItem`,directives:{vTouch:vn},props:Tn(),emits:{"group:selected":e=>!0},setup(e,{slots:t}){let n=at(yn),r=Xe(e,bn),{isBooted:i}=p();if(!n||!r)throw Error(`[Vuetify] VWindowItem must be used inside VWindow`);let a=he(!1),o=G(()=>i.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function s(){!a.value||!n||(a.value=!1,n.transitionCount.value>0&&(--n.transitionCount.value,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function c(){a.value||!n||(a.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=D(n.rootRef.value?.clientHeight)),n.transitionCount.value+=1)}function l(){s()}function u(e){a.value&&h(()=>{!o.value||!a.value||!n||(n.transitionHeight.value=D(e.clientHeight))})}let d=G(()=>{let t=n.isReversed.value?e.reverseTransition:e.transition;return o.value?{name:typeof t==`string`?t:n.transition.value,onBeforeEnter:c,onAfterEnter:s,onEnterCancelled:l,onBeforeLeave:c,onAfterLeave:s,onLeaveCancelled:l,onEnter:u}:!1}),{hasContent:f}=ye(e,r.isSelected);return Ge(()=>X(g,{transition:d.value,disabled:!i.value},{default:()=>[ue(U(`div`,{class:Me([`v-window-item`,r.selectedClass.value,e.class]),style:ge(e.style)},[f.value&&t.default?.()]),[[xe,r.isSelected.value]])]})),{groupItem:r}}}),Dn=it({...Tn()},`VTabsWindowItem`),On=ct()({name:`VTabsWindowItem`,props:Dn(),setup(e,{slots:t}){return Ge(()=>X(En,_({_as:`VTabsWindowItem`},En.filterProps(e),{class:[`v-tabs-window-item`,e.class],style:e.style}),t)),{}}});function kn(e){return e?e.map(e=>b(e)?e:{text:e,value:e}):[]}var An=it({alignTabs:{type:String,default:`start`},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...l(ln(),[`spaced`,`sliderTransition`,`sliderTransitionDuration`]),...ot({mandatory:`force`,selectedClass:`v-tab-item--selected`}),...Be(),...Re()},`VTabs`),jn=ct()({name:`VTabs`,props:An(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let r=tt(e,`modelValue`),i=G(()=>kn(e.items)),{densityClasses:a}=Ae(e),{backgroundColorClasses:o,backgroundColorStyles:s}=Qe(()=>e.bgColor),{scopeId:c}=We();return ve({VTab:{color:u(e,`color`),direction:u(e,`direction`),stacked:u(e,`stacked`),fixed:u(e,`fixedTabs`),inset:u(e,`inset`),sliderColor:u(e,`sliderColor`),sliderTransition:u(e,`sliderTransition`),sliderTransitionDuration:u(e,`sliderTransitionDuration`),hideSlider:u(e,`hideSlider`)}}),Ge(()=>{let l=_e.filterProps(e),u=!!(n.window||e.items.length>0);return U(B,null,[X(_e,_(l,{modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,class:[`v-tabs`,`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--inset":e.inset,"v-tabs--stacked":e.stacked},a.value,o.value,e.class],style:[{"--v-tabs-height":D(e.height),"--v-tabs-inset-padding":e.inset?D(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?D(e.insetRadius):void 0},s.value,e.style],role:`tablist`,symbol:cn},c,t),{default:n.default??(()=>i.value.map(t=>n.tab?.({item:t})??X(un,_(t,{key:t.text,value:t.value,spaced:e.spaced}),{default:n[`tab.${t.value}`]?()=>n[`tab.${t.value}`]?.({item:t}):void 0}))),prev:n.prev,next:n.next}),u&&X(wn,_({modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,key:`tabs-window`},c),{default:()=>[i.value.map(e=>n.item?.({item:e})??X(On,{value:e.value},{default:()=>n[`item.${e.value}`]?.({item:e})})),n.window?.()]})])}),{}}}),Mn={class:`text-truncate`,style:{"max-width":`130px`}},Nn={key:0,class:`text-warning ml-1`,style:{"font-size":`10px`}},Pn={class:`file-editor-main d-flex flex-grow-1 min-h-0`},Fn={class:`file-editor-content d-flex flex-column flex-grow-1 min-w-0 min-h-0`},In={class:`file-editor-body flex-grow-1 position-relative min-h-0`},Ln={class:`file-editor-status text-caption px-3 py-1 d-flex flex-wrap align-center ga-3`},Rn={class:`text-mono`},zn={key:0,class:`text-primary`,style:{"font-size":`11px`}},Bn={class:`text-truncate flex-grow-1 text-medium-emphasis`},Vn={key:2,class:`text-warning`},Hn={key:0,class:`text-warning ml-1`},Un=`nexus_file_editor_float`,Wn=Tt(M({__name:`FileEditorWorkbench`,props:{serverId:{},currentPath:{}},emits:[`saved`,`closed`,`path-change`,`paste-target`],setup(e,{expose:i,emit:a}){let s=n(),c=e,l=a,u=o(),d=Math.min(1120,Math.round(window.innerWidth*.88)),p=Math.min(760,Math.round(window.innerHeight*.82)),{panelStyle:m,startDrag:g,startResize:_,clampToViewport:v}=tn(Un,{x:Math.max(24,(window.innerWidth-d)/2),y:Math.max(24,(window.innerHeight-p)/2),w:d,h:p}),y=he([]),b=P(null),x=P(!1),S=P(!1),w=P(!1),ee=P(!1),T=P(!1),ne=P(1),E=P(1),D=P(c.currentPath||`/www/wwwroot`),re=G(()=>{let e=Q(c.currentPath||`/www/wwwroot`);return e===`/`||e.startsWith(`/www/wwwroot`)?Vt:e}),ie=P(!0),A=P(!1),ae=P(null),oe=P(),j=null,M=null,se=0;function ue(){y.value=y.value.slice()}function fe(e,t){e.modified!==t&&(e.modified=t,ue())}let pe=P(null),me=P(!1),R=G(()=>y.value.find(e=>e.id===b.value)??null),_e=G(()=>R.value?sn(R.value.name,R.value.path,R.value.languageId):`plaintext`),ve=G({get:()=>{let e=R.value?.languageId;return e==null||e===``?`auto`:String(e)},set:e=>{if(!R.value)return;let t=e==null?`auto`:String(e);R.value.languageId=t===`auto`?null:t}}),ye=G(()=>S.value?void 0:m.value),be=G(()=>me.value?`关闭编辑器`:`关闭文件`),xe=G(()=>{let e=(pe.value?y.value.find(e=>e.id===pe.value):y.value.find(e=>e.modified))?.name??`文件`;return me.value?`「${e}」等未保存的更改将丢失,确定吗?`:`「${e}」已修改但未保存,确定要关闭吗?`}),Se=G(()=>ae.value?y.value.find(e=>e.id===ae.value)?.name??``:``);function Ce(e){return e.replace(/\r\n/g,` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/initMonaco-CvAS2Es9.js","assets/index-Bplw5zZe.js","assets/index-DUUkodzN.css","assets/initMonaco-DX2BVZF3.css"])))=>i.map(i=>d[i]); +import{a as e,i as t,n,t as r}from"./initMonaco-CvAS2Es9.js";import{t as i}from"./VDataTable-PKQbaP3_.js";import{n as a,t as o}from"./useSnackbar-P0rXZaHt.js";import{n as s,t as c}from"./VRow-Jrv7cE2K.js";import{$n as l,$r as u,$t as d,Ar as f,C as p,Cn as m,Dr as h,E as g,Er as _,F as v,Fr as y,Gn as b,Gt as x,Hn as S,Ir as C,J as w,Jr as ee,Kr as te,L as T,Mr as ne,N as E,Nn as D,Or as re,P as O,Pr as k,Q as ie,Qn as A,Qt as ae,R as oe,Rn as j,Sr as M,Tn as se,Ur as N,Vr as ce,W as le,Wr as ue,X as de,Xr as P,Xt as F,Y as fe,Yn as pe,Yt as me,Zr as he,_ as I,_r as L,a as R,ai as ge,b as _e,bn as ve,br as z,c as ye,cn as be,cr as xe,ct as Se,dr as B,dt as Ce,en as we,er as Te,et as Ee,fn as De,fr as Oe,gr as V,h as H,hn as ke,hr as U,ht as Ae,i as je,ii as Me,in as Ne,kn as Pe,l as Fe,ln as Ie,lr as Le,lt as Re,m as W,mn as ze,mr as G,mt as Be,n as Ve,ni as K,nr as He,nt as Ue,o as We,oi as q,pn as Ge,q as Ke,qt as qe,r as Je,rn as Ye,rt as Xe,s as Ze,st as Qe,tn as $e,tr as et,un as tt,ur as J,ut as nt,v as rt,vr as Y,wn as it,wr as at,x as ot,xr as X,y as st,yn as ct,zr as lt}from"./index-Bplw5zZe.js";import{t as ut}from"./dataTable-esDY4cOk.js";import{a as dt,n as ft,r as pt,t as Z}from"./VCard-DwK3U69w.js";import{t as mt}from"./VSelect-C2IkZQ4Y.js";import{t as ht}from"./VCheckbox-BnLUWPSt.js";import{c as gt,l as _t,m as vt,o as yt,s as bt,t as xt,u as St}from"./VTextField-DVnxh9lX.js";import{t as Ct}from"./apiError-D7r0BvbZ.js";import{t as wt}from"./useServerList-IslpqUAV.js";import{t as Tt}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Et}from"./VDialog-DPwgR17F.js";import{r as Dt}from"./validation-BMzYTJL4.js";var Ot=Symbol(`filesPage`);function kt(e){y(Ot,ee(e))}function At(){let e=at(Ot);if(!e)throw Error(`useFilesPageContext() must be used inside FilesPage`);return e}var jt=it({divider:[Number,String],...m()},`VBreadcrumbsDivider`),Mt=ct()({name:`VBreadcrumbsDivider`,props:jt(),setup(e,{slots:t}){return Ge(()=>U(`li`,{"aria-hidden":`true`,class:Me([`v-breadcrumbs-divider`,e.class]),style:ge(e.style)},[t?.default?.()??e.divider])),{}}}),Nt=it({active:Boolean,activeClass:String,activeColor:String,color:String,disabled:Boolean,title:String,...m(),...l(Ke(),[`width`,`maxWidth`]),...T(),...Re({tag:`li`})},`VBreadcrumbsItem`),Pt=ct()({name:`VBreadcrumbsItem`,props:Nt(),setup(e,{slots:t,attrs:n}){let r=oe(e,n),i=G(()=>e.active||r.isActive?.value),{dimensionStyles:a}=w(e),{textColorClasses:o,textColorStyles:s}=Se(()=>i.value?e.activeColor:e.color);return Ge(()=>X(e.tag,{class:Me([`v-breadcrumbs-item`,{"v-breadcrumbs-item--active":i.value,"v-breadcrumbs-item--disabled":e.disabled,[`${e.activeClass}`]:i.value&&e.activeClass},o.value,e.class]),style:ge([s.value,a.value,e.style]),"aria-current":i.value?`page`:void 0},{default:()=>[r.isLink.value?U(`a`,_({class:`v-breadcrumbs-item--link`,onClick:r.navigate.value},r.linkProps),[t.default?.()??e.title]):t.default?.()??e.title]})),{}}}),Ft=it({activeClass:String,activeColor:String,bgColor:String,color:String,disabled:Boolean,divider:{type:String,default:`/`},icon:De,items:{type:Array,default:()=>[]},...m(),...Be(),...nt(),...Re({tag:`ul`})},`VBreadcrumbs`),It=ct()({name:`VBreadcrumbs`,props:Ft(),setup(e,{slots:t}){let{backgroundColorClasses:n,backgroundColorStyles:r}=Qe(()=>e.bgColor),{densityClasses:i}=Ae(e),{roundedClasses:a}=Ce(e);ve({VBreadcrumbsDivider:{divider:u(()=>e.divider)},VBreadcrumbsItem:{activeClass:u(()=>e.activeClass),activeColor:u(()=>e.activeColor),color:u(()=>e.color),disabled:u(()=>e.disabled)}});let o=G(()=>e.items.map(e=>typeof e==`string`?{item:{title:e},raw:e}:{item:e,raw:e}));return Ge(()=>{let s=!!(t.prepend||e.icon);return X(e.tag,{class:Me([`v-breadcrumbs`,n.value,i.value,a.value,e.class]),style:ge([r.value,e.style])},{default:()=>[s&&U(`li`,{key:`prepend`,class:`v-breadcrumbs__prepend`},[t.prepend?X(ie,{key:`prepend-defaults`,disabled:!e.icon,defaults:{VIcon:{icon:e.icon,start:!0}}},t.prepend):X(de,{key:`prepend-icon`,start:!0,icon:e.icon},null)]),o.value.map(({item:e,raw:n},r,i)=>U(B,null,[t.item?.({item:e,index:r})??X(Pt,_({key:r,disabled:r>=i.length-1},typeof e==`string`?{title:e}:e),{default:t.title?()=>t.title?.({item:e,index:r}):void 0}),rt.divider?.({item:n,index:r}):void 0})])),t.default?.()]})}),{}}}),Lt={class:`text-body-2 mr-4`},Rt=M({__name:`FilesBreadcrumb`,setup(e){let t=At();return(e,n)=>(k(),Y(B,null,[X(It,{items:K(t).breadcrumbs,class:`pa-0 mb-2`},{item:N(({item:e,index:n})=>[X(Pt,{disabled:e.disabled,class:Me({"text-primary":!e.disabled,"cursor-pointer":!e.disabled}),onClick:e=>K(t).onBreadcrumbClick(n)},{default:N(()=>[z(q(e.title),1)]),_:2},1032,[`disabled`,`class`,`onClick`])]),divider:N(()=>[...n[1]||=[z(`/`,-1)]]),_:1},8,[`items`]),K(t).selectedFileCount>0?(k(),V(Z,{key:0,class:`mb-4`,color:`primary`,variant:`tonal`,rounded:`lg`},{default:N(()=>[X(ft,{class:`d-flex align-center py-2`},{default:N(()=>[U(`span`,Lt,`已选择 `+q(K(t).selectedFileCount)+` 个文件`,1),X(I),X(O,{size:`small`,variant:`text`,color:`error`,onClick:K(t).batchDelete},{default:N(()=>[...n[2]||=[z(`批量删除`,-1)]]),_:1},8,[`onClick`]),X(O,{size:`small`,variant:`text`,onClick:n[0]||=e=>K(t).selectedFiles=[]},{default:N(()=>[...n[3]||=[z(`取消选择`,-1)]]),_:1})]),_:1})]),_:1})):L(``,!0)],64))}});function zt(e){return e.filter(e=>e.name&&e.name!==`.`&&e.name!==`..`).map(e=>{let t=e.type===`directory`||!!e.is_dir,n=e.type===`symlink`||!!e.is_link,r=0;if(!t&&!n&&e.size!=null){let t=typeof e.size==`number`?e.size:parseInt(String(e.size),10);r=Number.isFinite(t)?t:0}let i=`file`;return t?i=`directory`:n&&(i=`symlink`),{name:e.name,type:i,size:r,modified:e.modified??``,permissions:e.permissions??e.perms??``,owner:e.owner??``,group:e.group??``,mode_octal:e.mode_octal??``,link_target:e.link_target??null}})}function Bt(e){if(Array.isArray(e))return{items:e};let t=e;return Array.isArray(t.items)?{items:t.items,error:t.error}:t.entries?.length?{items:zt(t.entries),error:t.error}:{items:t.items??[],error:t.error}}var Vt=`/www/wwwroot`;function Ht(e){if(e==null)return``;if(typeof e==`string`)return e;if(typeof e==`object`&&`value`in e){let t=e.value;if(typeof t==`string`)return t}return String(e)}function Q(e){let t=Ht(e).trim().replace(/\\/g,`/`);if(!t||t===`.`)return`/`;let n=t.startsWith(`/`)?t:`/${t}`;return n=n.replace(/\/+/g,`/`),n.length>1&&n.endsWith(`/`)&&(n=n.slice(0,-1)),n}function Ut(e){return Q(e).split(`/`).filter(Boolean)}function $(e,t){let n=Q(e),r=t.replace(/\/+/g,``).trim();if(!r||r===`.`)return n;if(r===`..`){let e=Ut(n);return e.pop(),e.length?`/${e.join(`/`)}`:`/`}return n===`/`?`/${r}`:`${n}/${r}`}function Wt(e){let t=Ut(e);return t.length?(t.pop(),t.length?`/${t.join(`/`)}`:`/`):null}function Gt(e){let t=e.trim();return t?t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)?`名称不能包含路径分隔符`:t===`.`||t===`..`?`非法名称`:!0:`名称不能为空`}function Kt(e){let t=Ut(Q(e)),n=[{title:`/`,path:`/`,disabled:t.length===0}],r=``;for(let e=0;eQ(n.rootPath||`/www/wwwroot`)),a=t,s=P(!1),c=P(null),l=P(new Set),u=P(new Map);function d(e){let t=new Set(l.value);e(t),l.value=t}function f(e){let t=new Map(u.value);e(t),u.value=t}function p(){l.value=new Set([i.value])}let m=G(()=>{let e=[],t=(n,r)=>{let i=u.value.get(n)??[];for(let n of i)e.push({...n,depth:r}),l.value.has(n.path)&&t(n.path,r+1)};return t(i.value,0),e});async function h(e){if(!n.serverId)return[];let{items:t}=Bt(await F.post(`/sync/browse`,{server_id:n.serverId,path:Q(e)}));return t.filter(e=>e.type===`directory`).sort((e,t)=>e.name.localeCompare(t.name)).map(t=>({path:$(e,t.name),name:t.name,depth:0,hasChildren:!0,loaded:!1}))}async function g(e){if(n.serverId){c.value=e;try{let t=await h(e);f(n=>{n.set(e,t);for(let e of t)n.has(e.path)||n.set(e.path,[])})}catch(e){r(e instanceof Error?e.message:`加载目录失败`,`error`)}finally{c.value=null}}}async function _(){if(!n.serverId)return;s.value=!0,u.value=new Map,p();let e=i.value;try{await g(e),f(t=>{for(let n of t.get(e)??[])t.has(n.path)||t.set(n.path,[])})}finally{s.value=!1}}async function v(e){if(l.value.has(e.path)){d(t=>{t.delete(e.path)});return}u.value.has(e.path)||await g(e.path),d(t=>{t.add(e.path)})}function y(e){let t=Q(e),n=i.value;t!==n&&d(e=>{if(e.add(n),!t.startsWith(n))return;let r=t.slice(n.length).replace(/^\//,``);if(!r)return;let i=n;for(let t of r.split(`/`).filter(Boolean))i=$(i,t),e.add(i)})}ce(()=>[n.serverId,i.value],([e])=>{e?_():(u.value=new Map,l.value=new Set)},{immediate:!0});async function b(e){if(!n.serverId)return;let t=Q(e),r=i.value;if(y(t),u.value.has(r)||await g(r),t===r||!t.startsWith(r))return;let a=t.slice(r.length).replace(/^\//,``).split(`/`).filter(Boolean),o=r;for(let e of a)u.value.has(o)||await g(o),o=$(o,e)}return ce(()=>n.currentPath,e=>{e&&b(e)},{immediate:!0}),(t,n)=>(k(),V(Z,{border:``,rounded:`lg`,class:Me([`file-dir-tree d-flex flex-column`,{"file-dir-tree--embedded":e.embedded}])},{default:N(()=>[e.embedded?(k(),Y(`div`,qt,[X(de,{size:`16`,class:`mr-1 text-medium-emphasis`},{default:N(()=>[...n[2]||=[z(`mdi-file-tree`,-1)]]),_:1}),n[3]||=U(`span`,{class:`text-caption text-medium-emphasis`},`目录`,-1),X(I),X(O,{icon:`mdi-refresh`,size:`x-small`,variant:`text`,disabled:!e.serverId,onClick:_},null,8,[`disabled`])])):(k(),V(pt,{key:0,class:`text-subtitle-2 py-2 px-3 d-flex align-center`},{default:N(()=>[X(de,{size:`18`,class:`mr-1`},{default:N(()=>[...n[0]||=[z(`mdi-file-tree`,-1)]]),_:1}),n[1]||=z(` 目录 `,-1),X(I),X(O,{icon:`mdi-refresh`,size:`x-small`,variant:`text`,disabled:!e.serverId,onClick:_},null,8,[`disabled`])]),_:1})),X(rt),X(ft,{class:`file-dir-tree-body pa-0 flex-grow-1`},{default:N(()=>[e.serverId?s.value?(k(),V(le,{key:1,indeterminate:``})):m.value.length===0?(k(),Y(`div`,Yt,` 暂无子目录(可点刷新) `)):(k(),V(Fe,{key:3,density:`compact`,nav:``,class:`py-0`},{default:N(()=>[(k(!0),Y(B,null,C(m.value,t=>(k(),Y(`div`,{key:t.path,class:`file-dir-tree-row d-flex align-center`,style:ge({paddingLeft:`${8+t.depth*14}px`})},[U(`button`,{type:`button`,class:`file-dir-tree-toggle`,onClick:J(e=>v(t),[`stop`])},[c.value===t.path?(k(),V(fe,{key:0,indeterminate:``,size:`14`,width:`2`})):(k(),V(de,{key:1,size:`16`},{default:N(()=>[z(q(l.value.has(t.path)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024))],8,Xt),U(`button`,{type:`button`,class:Me([`file-dir-tree-label text-body-2 text-truncate`,{"file-dir-tree-label--active":K(Q)(e.currentPath)===t.path}]),onClick:e=>a(`navigate`,t.path),onContextmenu:J(e=>a(`paste-target`,t.path),[`prevent`])},[X(de,{size:`14`,class:`mr-1`},{default:N(()=>[...n[4]||=[z(`mdi-folder-outline`,-1)]]),_:1}),z(` `+q(t.name),1)],42,Zt)],4))),128))]),_:1})):(k(),Y(`div`,Jt,`请先选择服务器`))]),_:1})]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-d76d91c6`]]);function $t(e,t){try{let n=localStorage.getItem(e);if(!n)return t;let r=JSON.parse(n);if(typeof r.x==`number`&&typeof r.y==`number`&&typeof r.w==`number`&&typeof r.h==`number`)return r}catch{}return t}function en(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function tn(e,t){let n=P($t(e,t)),r={px:0,py:0,rx:0,ry:0},i=!1,a={px:0,py:0,rw:0,rh:0},o=G(()=>({left:`${n.value.x}px`,top:`${n.value.y}px`,width:`${n.value.w}px`,height:`${n.value.h}px`}));function s(){let e=Math.min(window.innerWidth-16,1400),t=Math.min(window.innerHeight-16,900);n.value.w=Math.max(480,Math.min(n.value.w,e)),n.value.h=Math.max(320,Math.min(n.value.h,t)),n.value.x=Math.max(8,Math.min(n.value.x,window.innerWidth-n.value.w-8)),n.value.y=Math.max(8,Math.min(n.value.y,window.innerHeight-n.value.h-8))}function c(e){if(i){n.value.w=Math.max(480,a.rw+e.clientX-a.px),n.value.h=Math.max(320,a.rh+e.clientY-a.py),s();return}n.value.x=r.rx+e.clientX-r.px,n.value.y=r.ry+e.clientY-r.py,s()}function l(){i=!1,window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l),en(e,n.value)}function u(e){e.button===0&&(r={px:e.clientX,py:e.clientY,rx:n.value.x,ry:n.value.y},window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l))}function d(e){e.button===0&&(e.stopPropagation(),i=!0,a={px:e.clientX,py:e.clientY,rw:n.value.w,rh:n.value.h},window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l))}function p(){n.value.x=Math.max(16,(window.innerWidth-n.value.w)/2),n.value.y=Math.max(16,(window.innerHeight-n.value.h)/2),en(e,n.value)}return f(()=>{window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l)}),{rect:n,panelStyle:o,startDrag:u,startResize:d,centerOnScreen:p,clampToViewport:s}}var nn={js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`javascript`,ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`typescript`,vue:`html`,py:`python`,pyw:`python`,rb:`ruby`,sh:`shell`,bash:`shell`,zsh:`shell`,fish:`shell`,php:`php`,phtml:`php`,java:`java`,go:`go`,rs:`rust`,c:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,h:`c`,hpp:`cpp`,cs:`csharp`,swift:`swift`,kt:`kotlin`,kts:`kotlin`,html:`html`,htm:`html`,xhtml:`html`,css:`css`,scss:`scss`,sass:`scss`,less:`less`,json:`json`,jsonc:`json`,xml:`xml`,xsl:`xml`,xsd:`xml`,svg:`xml`,yaml:`yaml`,yml:`yaml`,toml:`toml`,md:`markdown`,mdx:`mdx`,sql:`sql`,graphql:`graphql`,gql:`graphql`,dockerfile:`dockerfile`,conf:`ini`,cfg:`ini`,cnf:`ini`,ini:`ini`,properties:`ini`,env:`ini`,tpl:`html`,twig:`twig`,blade:`php`,lua:`lua`,pl:`perl`,pm:`perl`,ps1:`powershell`,psm1:`powershell`,bat:`bat`,cmd:`bat`,r:`r`,dart:`dart`,scala:`scala`,clj:`clojure`,ex:`elixir`,exs:`elixir`,erl:`elixir`,hs:`haskell`,ml:`fsharp`,fs:`fsharp`,fsx:`fsharp`,vb:`vb`,pas:`pascal`,dockerignore:`plaintext`,gitignore:`plaintext`,gitattributes:`plaintext`,editorconfig:`ini`,htaccess:`shell`,service:`ini`,socket:`ini`,timer:`ini`,mount:`ini`,fstab:`ini`,crt:`plaintext`,pem:`plaintext`,key:`plaintext`,pub:`plaintext`,log:`plaintext`,lock:`json`},rn={dockerfile:`dockerfile`,makefile:`makefile`,gnumakefile:`makefile`,"cmakelists.txt":`plaintext`,gemfile:`ruby`,rakefile:`ruby`,vagrantfile:`ruby`,nginx:`nginx`,"nginx.conf":`nginx`,".env":`ini`,".env.example":`ini`,".env.local":`ini`,".gitignore":`plaintext`,".dockerignore":`plaintext`,".htaccess":`shell`,hosts:`plaintext`,crontab:`shell`,"supervisord.conf":`ini`,"php.ini":`ini`,"my.cnf":`ini`},an=[{title:`自动`,value:`auto`},{title:`Plain Text`,value:`plaintext`},{title:`PHP`,value:`php`},{title:`JavaScript`,value:`javascript`},{title:`TypeScript`,value:`typescript`},{title:`JSON`,value:`json`},{title:`HTML`,value:`html`},{title:`CSS`,value:`css`},{title:`SCSS`,value:`scss`},{title:`Shell`,value:`shell`},{title:`Python`,value:`python`},{title:`Go`,value:`go`},{title:`Rust`,value:`rust`},{title:`Java`,value:`java`},{title:`C`,value:`c`},{title:`C++`,value:`cpp`},{title:`C#`,value:`csharp`},{title:`SQL`,value:`sql`},{title:`YAML`,value:`yaml`},{title:`TOML`,value:`toml`},{title:`INI / Config`,value:`ini`},{title:`Markdown`,value:`markdown`},{title:`Dockerfile`,value:`dockerfile`},{title:`Nginx`,value:`nginx`},{title:`XML`,value:`xml`},{title:`Vue (HTML)`,value:`html`},{title:`Ruby`,value:`ruby`},{title:`Perl`,value:`perl`},{title:`PowerShell`,value:`powershell`}];function on(e,t){let n=e.toLowerCase(),r=(t?.split(`/`).pop()??e).toLowerCase();if(rn[r])return rn[r];if(rn[n])return rn[n];if(n.endsWith(`.blade.php`))return`php`;let i=n.split(`.`);if(i.length>2&&i[i.length-1]===`php`&&i.slice(-2).join(`.`)===`blade.php`)return`php`;let a=n.includes(`.`)?n.split(`.`).pop()??``:``;return a&&nn[a]?nn[a]:r.includes(`nginx`)&&(r.endsWith(`.conf`)||r===`nginx.conf`)?`nginx`:`plaintext`}function sn(e,t,n){return n&&n!==`auto`?n:on(e,t)}var cn=Symbol.for(`vuetify:v-tabs`),ln=it({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:`horizontal`},...A(v({selectedClass:`v-tab--selected`,variant:`text`}),[`active`,`block`,`flat`,`location`,`position`,`symbol`])},`VTab`),un=ct()({name:`VTab`,props:ln(),setup(e,{slots:t,attrs:n}){let{textColorClasses:r,textColorStyles:i}=Se(()=>e.sliderColor),{backgroundColorClasses:a,backgroundColorStyles:o}=Qe(()=>e.sliderColor),s=P(),c=P(),l=G(()=>e.direction===`horizontal`),u=G(()=>s.value?.group?.isSelected.value??!1);function d(e,t){return{opacity:[0,1]}}function f(t,n){return e.direction===`vertical`?{transform:[`scaleY(0)`,`scaleY(1)`]}:{transform:[`scaleX(0)`,`scaleX(1)`]}}function p(e,t){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=l.value?`x`:`y`,a=l.value?`X`:`Y`,o=l.value?`right`:`bottom`,s=l.value?`width`:`height`,c=n[i]>r[i]?n[o]-r[o]:n[i]-r[i],u=Math.sign(c)>0?l.value?`right`:`bottom`:Math.sign(c)<0?l.value?`left`:`top`:`center`,d=(Math.abs(c)+(Math.sign(c)<0?n[s]:r[s]))/Math.max(n[s],r[s])||0,f=n[s]/r[s]||0,p=1.5;return{transform:[`translate${a}(${c}px) scale${a}(${f})`,`translate${a}(${c/p}px) scale${a}(${(d-1)/p+1})`,`none`],transformOrigin:[,,,].fill(u)}}function m({value:t}){if(t){let t=s.value?.$el.parentElement?.querySelector(`.v-tab--selected .v-tab__slider`),n=c.value;if(!t||!n)return;let r=getComputedStyle(t).backgroundColor,i={fade:d,grow:f,shift:p}[e.sliderTransition??`shift`]??p,a=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??`shift`]??225);se(n,{backgroundColor:[r,r],...i(n,t)},{duration:a,easing:ke})}}return Ge(()=>{let l=O.filterProps(e);return X(O,_({symbol:cn,ref:s,class:[`v-tab`,e.class,u.value&&e.inset?a.value:[]],style:[e.style,u.value&&e.inset?o.value:[],{backgroundColor:u.value&&e.inset?`transparent !important`:void 0}],tabindex:u.value?0:-1,role:`tab`,"aria-selected":String(u.value),active:!1},l,n,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":m}),{...t,default:()=>U(B,null,[t.default?.()??e.text,!e.hideSlider&&U(`div`,{ref:c,class:Me([`v-tab__slider`,e.inset?a.value:r.value]),style:ge([i.value,e.inset?o.value:r.value])},null)])})}),Je({},s)}}),dn=e=>{let{touchstartX:t,touchendX:n,touchstartY:r,touchendY:i}=e,a=.5;e.offsetX=n-t,e.offsetY=i-r,Math.abs(e.offsetY)t+16&&e.right(e)),Math.abs(e.offsetX)r+16&&e.down(e))};function fn(e,t){let n=e.changedTouches[0];t.touchstartX=n.clientX,t.touchstartY=n.clientY,t.start?.({originalEvent:e,...t})}function pn(e,t){let n=e.changedTouches[0];t.touchendX=n.clientX,t.touchendY=n.clientY,t.end?.({originalEvent:e,...t}),dn(t)}function mn(e,t){let n=e.changedTouches[0];t.touchmoveX=n.clientX,t.touchmoveY=n.clientY,t.move?.({originalEvent:e,...t})}function hn(e={}){let t={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:e=>fn(e,t),touchend:e=>pn(e,t),touchmove:e=>mn(e,t)}}function gn(e,t){let n=t.value,r=n?.parent?e.parentElement:e,i=n?.options??{passive:!0},a=t.instance?.$.uid;if(!r||a===void 0)return;let o=hn(t.value);r._touchHandlers=r._touchHandlers??Object.create(null),r._touchHandlers[a]=o,pe(o).forEach(e=>{r.addEventListener(e,o[e],i)})}function _n(e,t){let n=t.value?.parent?e.parentElement:e,r=t.instance?.$.uid;if(!n?._touchHandlers||r===void 0)return;let i=n._touchHandlers[r];pe(i).forEach(e=>{n.removeEventListener(e,i[e])}),delete n._touchHandlers[r]}var vn={mounted:gn,unmounted:_n},yn=Symbol.for(`vuetify:v-window`),bn=Symbol.for(`vuetify:v-window-group`),xn=it({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:`$next`},prevIcon:{type:[Boolean,String,Function,Object],default:`$prev`},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e==`boolean`||e===`hover`},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:`horizontal`},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:`v-window-item--active`},mandatory:{type:[Boolean,String],default:`force`},crossfade:Boolean,transitionDuration:Number,...m(),...Re(),...Ye()},`VWindow`),Sn=ct()({name:`VWindow`,directives:{vTouch:vn},props:xn(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{themeClasses:n}=Ne(e),{isRtl:r}=Ie(),{t:i}=be(),a=Ue(e,bn),o=P(),s=G(()=>r.value?!e.reverse:e.reverse),c=he(!1),l=G(()=>e.crossfade?`v-window-crossfade-transition`:`v-window-${e.direction===`vertical`?`y`:`x`}${(s.value?!c.value:c.value)?`-reverse`:``}-transition`),d=he(0),f=P(void 0),p=G(()=>a.items.value.findIndex(e=>a.selected.value.includes(e.id)));ce(p,(e,t)=>{let n,r={left:0,top:0};et&&t>=0&&(n=ze(o.value),r.left=n?.scrollLeft,r.top=n?.scrollTop);let i=a.items.value.length,s=i-1;i<=2?c.value=e{!et||!n||(n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`}),requestAnimationFrame(()=>{n&&n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`})}))})},{flush:`sync`}),y(yn,{transition:l,isReversed:c,transitionCount:d,transitionHeight:f,rootRef:o});let m=u(()=>e.continuous||p.value!==0),g=u(()=>e.continuous||p.value!==a.items.value.length-1);function _(){m.value&&a.prev()}function v(){g.value&&a.next()}let b=G(()=>{let n=[],o={icon:r.value?e.nextIcon:e.prevIcon,class:`v-window__${s.value?`right`:`left`}`,onClick:a.prev,"aria-label":i(`$vuetify.carousel.prev`)};n.push(m.value?t.prev?t.prev({props:o}):X(O,o,null):U(`div`,null,null));let c={icon:r.value?e.prevIcon:e.nextIcon,class:`v-window__${s.value?`left`:`right`}`,onClick:a.next,"aria-label":i(`$vuetify.carousel.next`)};return n.push(g.value?t.next?t.next({props:c}):X(O,c,null):U(`div`,null,null)),n}),x=G(()=>e.touch===!1?e.touch:{left:()=>{s.value?_():v()},right:()=>{s.value?v():_()},start:({originalEvent:e})=>{e.stopPropagation()},...e.touch===!0?{}:e.touch});function S(t){(e.direction===`horizontal`&&t.key===`ArrowLeft`||e.direction===`vertical`&&t.key===`ArrowUp`)&&(t.preventDefault(),_(),h(()=>{m.value?C(0):C(1)})),(e.direction===`horizontal`&&t.key===`ArrowRight`||e.direction===`vertical`&&t.key===`ArrowDown`)&&(t.preventDefault(),v(),h(()=>{g.value?C(1):C(0)}))}function C(e){let t=b.value[e];t&&(Array.isArray(t)?t[0]:t).el?.focus()}return Ge(()=>ue(X(e.tag,{ref:o,class:Me([`v-window`,{"v-window--show-arrows-on-hover":e.showArrows===`hover`,"v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},n.value,e.class]),style:ge([e.style,{"--v-window-transition-duration":He()?null:D(e.transitionDuration,`ms`)}])},{default:()=>[U(`div`,{class:`v-window__container`,style:{height:f.value}},[t.default?.({group:a}),e.showArrows!==!1&&U(`div`,{class:Me([`v-window__controls`,{"v-window__controls--left":e.verticalArrows===`left`||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows===`right`}]),onKeydown:S},[b.value])]),t.additional?.({group:a})]}),[[vn,x.value]])),{group:a}}}),Cn=it({...A(xn(),[`continuous`,`nextIcon`,`prevIcon`,`showArrows`,`touch`,`mandatory`])},`VTabsWindow`),wn=ct()({name:`VTabsWindow`,props:Cn(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=at(cn,null),r=tt(e,`modelValue`),i=G({get(){return r.value!=null||!n?r.value:n.items.value.find(e=>n.selected.value.includes(e.id))?.value},set(e){r.value=e}});return Ge(()=>X(Sn,_({_as:`VTabsWindow`},Sn.filterProps(e),{modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-tabs-window`,e.class],style:e.style,mandatory:!1,touch:!1}),t)),{}}}),Tn=it({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...m(),...Ee(),...Ze()},`VWindowItem`),En=ct()({name:`VWindowItem`,directives:{vTouch:vn},props:Tn(),emits:{"group:selected":e=>!0},setup(e,{slots:t}){let n=at(yn),r=Xe(e,bn),{isBooted:i}=p();if(!n||!r)throw Error(`[Vuetify] VWindowItem must be used inside VWindow`);let a=he(!1),o=G(()=>i.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function s(){!a.value||!n||(a.value=!1,n.transitionCount.value>0&&(--n.transitionCount.value,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function c(){a.value||!n||(a.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=D(n.rootRef.value?.clientHeight)),n.transitionCount.value+=1)}function l(){s()}function u(e){a.value&&h(()=>{!o.value||!a.value||!n||(n.transitionHeight.value=D(e.clientHeight))})}let d=G(()=>{let t=n.isReversed.value?e.reverseTransition:e.transition;return o.value?{name:typeof t==`string`?t:n.transition.value,onBeforeEnter:c,onAfterEnter:s,onEnterCancelled:l,onBeforeLeave:c,onAfterLeave:s,onLeaveCancelled:l,onEnter:u}:!1}),{hasContent:f}=ye(e,r.isSelected);return Ge(()=>X(g,{transition:d.value,disabled:!i.value},{default:()=>[ue(U(`div`,{class:Me([`v-window-item`,r.selectedClass.value,e.class]),style:ge(e.style)},[f.value&&t.default?.()]),[[xe,r.isSelected.value]])]})),{groupItem:r}}}),Dn=it({...Tn()},`VTabsWindowItem`),On=ct()({name:`VTabsWindowItem`,props:Dn(),setup(e,{slots:t}){return Ge(()=>X(En,_({_as:`VTabsWindowItem`},En.filterProps(e),{class:[`v-tabs-window-item`,e.class],style:e.style}),t)),{}}});function kn(e){return e?e.map(e=>b(e)?e:{text:e,value:e}):[]}var An=it({alignTabs:{type:String,default:`start`},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...l(ln(),[`spaced`,`sliderTransition`,`sliderTransitionDuration`]),...ot({mandatory:`force`,selectedClass:`v-tab-item--selected`}),...Be(),...Re()},`VTabs`),jn=ct()({name:`VTabs`,props:An(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let r=tt(e,`modelValue`),i=G(()=>kn(e.items)),{densityClasses:a}=Ae(e),{backgroundColorClasses:o,backgroundColorStyles:s}=Qe(()=>e.bgColor),{scopeId:c}=We();return ve({VTab:{color:u(e,`color`),direction:u(e,`direction`),stacked:u(e,`stacked`),fixed:u(e,`fixedTabs`),inset:u(e,`inset`),sliderColor:u(e,`sliderColor`),sliderTransition:u(e,`sliderTransition`),sliderTransitionDuration:u(e,`sliderTransitionDuration`),hideSlider:u(e,`hideSlider`)}}),Ge(()=>{let l=_e.filterProps(e),u=!!(n.window||e.items.length>0);return U(B,null,[X(_e,_(l,{modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,class:[`v-tabs`,`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--inset":e.inset,"v-tabs--stacked":e.stacked},a.value,o.value,e.class],style:[{"--v-tabs-height":D(e.height),"--v-tabs-inset-padding":e.inset?D(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?D(e.insetRadius):void 0},s.value,e.style],role:`tablist`,symbol:cn},c,t),{default:n.default??(()=>i.value.map(t=>n.tab?.({item:t})??X(un,_(t,{key:t.text,value:t.value,spaced:e.spaced}),{default:n[`tab.${t.value}`]?()=>n[`tab.${t.value}`]?.({item:t}):void 0}))),prev:n.prev,next:n.next}),u&&X(wn,_({modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,key:`tabs-window`},c),{default:()=>[i.value.map(e=>n.item?.({item:e})??X(On,{value:e.value},{default:()=>n[`item.${e.value}`]?.({item:e})})),n.window?.()]})])}),{}}}),Mn={class:`text-truncate`,style:{"max-width":`130px`}},Nn={key:0,class:`text-warning ml-1`,style:{"font-size":`10px`}},Pn={class:`file-editor-main d-flex flex-grow-1 min-h-0`},Fn={class:`file-editor-content d-flex flex-column flex-grow-1 min-w-0 min-h-0`},In={class:`file-editor-body flex-grow-1 position-relative min-h-0`},Ln={class:`file-editor-status text-caption px-3 py-1 d-flex flex-wrap align-center ga-3`},Rn={class:`text-mono`},zn={key:0,class:`text-primary`,style:{"font-size":`11px`}},Bn={class:`text-truncate flex-grow-1 text-medium-emphasis`},Vn={key:2,class:`text-warning`},Hn={key:0,class:`text-warning ml-1`},Un=`nexus_file_editor_float`,Wn=Tt(M({__name:`FileEditorWorkbench`,props:{serverId:{},currentPath:{}},emits:[`saved`,`closed`,`path-change`,`paste-target`],setup(e,{expose:i,emit:a}){let s=n(),c=e,l=a,u=o(),d=Math.min(1120,Math.round(window.innerWidth*.88)),p=Math.min(760,Math.round(window.innerHeight*.82)),{panelStyle:m,startDrag:g,startResize:_,clampToViewport:v}=tn(Un,{x:Math.max(24,(window.innerWidth-d)/2),y:Math.max(24,(window.innerHeight-p)/2),w:d,h:p}),y=he([]),b=P(null),x=P(!1),S=P(!1),w=P(!1),ee=P(!1),T=P(!1),ne=P(1),E=P(1),D=P(c.currentPath||`/www/wwwroot`),re=G(()=>{let e=Q(c.currentPath||`/www/wwwroot`);return e===`/`||e.startsWith(`/www/wwwroot`)?Vt:e}),ie=P(!0),A=P(!1),ae=P(null),oe=P(),j=null,M=null,se=0;function ue(){y.value=y.value.slice()}function fe(e,t){e.modified!==t&&(e.modified=t,ue())}let pe=P(null),me=P(!1),R=G(()=>y.value.find(e=>e.id===b.value)??null),_e=G(()=>R.value?sn(R.value.name,R.value.path,R.value.languageId):`plaintext`),ve=G({get:()=>{let e=R.value?.languageId;return e==null||e===``?`auto`:String(e)},set:e=>{if(!R.value)return;let t=e==null?`auto`:String(e);R.value.languageId=t===`auto`?null:t}}),ye=G(()=>S.value?void 0:m.value),be=G(()=>me.value?`关闭编辑器`:`关闭文件`),xe=G(()=>{let e=(pe.value?y.value.find(e=>e.id===pe.value):y.value.find(e=>e.modified))?.name??`文件`;return me.value?`「${e}」等未保存的更改将丢失,确定吗?`:`「${e}」已修改但未保存,确定要关闭吗?`}),Se=G(()=>ae.value?y.value.find(e=>e.id===ae.value)?.name??``:``);function Ce(e){return e.replace(/\r\n/g,` `).replace(/\r/g,` `)}function we(e,t){let n=Ce(e);return t===`CRLF`?n.replace(/\n/g,`\r -`):n}function Te(e){return sn(e.name,e.path,e.languageId)}function Ee(e){return`${c.serverId}:${Q(e)}`}function De(e){let t=Wt(Q(e));t&&(D.value=t)}function H(e){D.value=Q(e),l(`path-change`,D.value)}function ke(e){S.value||e.target.closest(`button, .v-tab, .v-btn, input, a`)||g(e)}function Ae(){if(!j)return;let e=j.getPosition();ne.value=e?.lineNumber??1,E.value=e?.column??1}function je(e=!1){if(!j||!R.value)return;let t=R.value,n=j.saveViewState();t.viewState=n?te(n):null;let r=()=>{!j||R.value?.id!==t.id||(t.content=Ce(j.getValue()),fe(t,t.content!==t.originalContent))};if(e){M&&=(clearTimeout(M),null),r();return}M&&clearTimeout(M),M=setTimeout(r,250)}async function Ne(){let e=++se;if(await h(),await h(),e!==se||!R.value)return;Re();let t=(n=0)=>{if(e!==se||!j)return;j.layout();let r=oe.value;r&&(r.clientWidth<2||r.clientHeight<2)&&n<12&&setTimeout(()=>t(n+1),50)};requestAnimationFrame(()=>t())}function Pe(){se++,M&&=(clearTimeout(M),null),j?.dispose(),j=null,ee.value=!1}function Fe(){for(let e of y.value)e.model?.dispose();y.value=[],b.value=null,Pe(),S.value=!1,x.value=!1}function Ie(e){let t=R.value;!t||!t.model||(t.languageId=e===`auto`||!e?null:e,s.editor.setModelLanguage(t.model,Te(t)))}function Le(e){if(j){if(!e.model){let t=Te(e),n=Ce(e.content);e.model=te(s.editor.createModel(n,t,s.Uri.parse(`nexus://${c.serverId}${e.path}`)))}j.setModel(e.model),e.viewState&&j.restoreViewState(e.viewState),s.editor.setModelLanguage(e.model,Te(e)),De(e.path),Ae()}}function Re(){if(!oe.value||!R.value)return;Pe(),ee.value=!1;let e=R.value;if(!e.model){let t=Te(e),n=Ce(e.content);e.model=te(s.editor.createModel(n,t,s.Uri.parse(`nexus://${c.serverId}${e.path}`)))}j=s.editor.create(oe.value,{...r(),model:e.model,wordWrap:ie.value?`on`:`off`,automaticLayout:!0}),e.viewState&&j.restoreViewState(e.viewState),j.onDidChangeModelContent(()=>{je(),Ae()}),j.onDidChangeCursorPosition(()=>{Ae()}),j.addCommand(s.KeyMod.CtrlCmd|s.KeyCode.KeyS,()=>{Ye()}),j.addCommand(s.KeyCode.Escape,()=>{S.value&&=!1}),j.addCommand(s.KeyMod.Alt|s.KeyCode.KeyZ,()=>{Je()}),De(e.path),t(s),ee.value=!0,Ae()}function W(e){if(typeof e!=`string`||!e)return;je(!0),b.value=e;let t=y.value.find(t=>t.id===e);t&&(j?Le(t):Ne())}function ze(e){b.value=e,x.value=!1,h(()=>{v();let t=y.value.find(t=>t.id===e);t&&(j?Le(t):Ne())})}function Be(e){let t=Ee(e.path),n=y.value.find(e=>e.id===t);if(n){b.value=t,x.value=!1,Ne().then(()=>{j&&Le(n)});return}try{let n=Ce(e.content),r=sn(e.name,e.path,null),i=s.Uri.parse(`nexus://${c.serverId}${e.path}`),a=s.editor.getModel(i);a&&a.dispose();let o=te(s.editor.createModel(n,r,i));y.value=[...y.value,{id:t,path:e.path,name:e.name,content:n,originalContent:n,modified:!1,languageId:null,eol:e.eol,etag:e.etag,mtime:e.mtime,model:o,viewState:null}],b.value=t,x.value=!1,De(e.path),Ne()}catch(e){u(e instanceof Error?e.message:`无法打开编辑器`,`error`),console.error(`[FileEditorWorkbench] openFile failed`,e)}}function Ve(e){let t=y.value.findIndex(t=>t.id===e);if(!(t<0)){if(y.value[t].model?.dispose(),y.value=y.value.filter(t=>t.id!==e),y.value.length===0){b.value=null,Pe(),S.value=!1,x.value=!1,l(`closed`);return}if(b.value===e){let e=y.value[Math.min(t,y.value.length-1)];b.value=e.id,Ne().then(()=>{let t=y.value.find(t=>t.id===e.id);t&&j&&Le(t)})}}}function He(e){let t=y.value.find(t=>t.id===e);if(!t)return;if(b.value===e&&je(!0),t.modified){pe.value=e,me.value=!1,T.value=!0;return}let n=b.value===e;n&&Pe(),Ve(e),n&&b.value&&Ne()}function Ue(){if(je(!0),y.value.some(e=>e.modified)){pe.value=null,me.value=!0,T.value=!0;return}Fe(),l(`closed`)}function We(){T.value=!1,pe.value=null,me.value=!1}function Ge(){if(T.value=!1,me.value)Fe(),l(`closed`);else if(pe.value){let e=pe.value,t=b.value===e;t&&Pe(),Ve(e),t&&b.value&&Ne()}pe.value=null,me.value=!1}async function Ke(){let e=me.value,t=pe.value;if(await Ye(),T.value=!1,me.value=!1,pe.value=null,e){y.value.some(e=>e.modified)||(Fe(),l(`closed`));return}if(t){let e=y.value.find(e=>e.id===t);if(e&&!e.modified){let e=b.value===t;e&&Pe(),Ve(t),e&&b.value&&Ne()}}}function Je(){ie.value=!ie.value,j?.updateOptions({wordWrap:ie.value?`on`:`off`})}async function Ye(e=!1){if(!c.serverId){u(`请先选择服务器`,`error`);return}je(!0);let t=R.value;if(!t||!t.modified)return;let n=we(j?.getValue()??t.content,t.eol);w.value=!0;try{let r=await F.post(`/sync/write-file`,{server_id:c.serverId,path:t.path,content:n,etag:e?null:t.etag}),i=Ce(n);t.content=i,t.originalContent=i,fe(t,!1),t.etag=r?.etag??null,ue(),u(`文件已保存`),l(`saved`,t.path)}catch(e){if(e instanceof qe&&e.status===409){ae.value=t.id,A.value=!0;return}u(e instanceof qe||e instanceof Error?e.message:`保存失败`,`error`)}finally{w.value=!1}}function Xe(){A.value=!1,ae.value=null}async function Ze(){A.value=!1;let e=ae.value;ae.value=null,!(!e||b.value!==e)&&await Ye(!0)}function Qe(){A.value=!1;let e=ae.value;if(ae.value=null,!e)return;let t=y.value.find(t=>t.id===e);if(t){if(t.content=t.originalContent,fe(t,!1),t.model){let e=we(t.originalContent,t.eol);t.model.setValue(Ce(e))}ue(),u(`已放弃本地修改`,`info`)}}ce(()=>c.currentPath,e=>{e&&(D.value=Q(e))}),ce(S,()=>{h(()=>j?.layout())}),ce(x,e=>{e||h(()=>j?.layout())});function $e(){return y.value.length>0}return i({openFile:Be,hasOpenTabs:$e}),f(()=>{for(let e of y.value)e.model?.dispose();Pe()}),(t,n)=>(k(),Y(B,null,[(k(),V(Oe,{to:`body`},[y.value.length>0&&!x.value&&R.value?(k(),Y(`div`,{key:0,class:Me([`file-editor-float`,{"file-editor-float--maximized":S.value}]),style:ge(ye.value)},[X(Z,{border:``,rounded:`lg`,class:`file-editor-panel d-flex flex-column h-100`},{default:N(()=>[U(`div`,{class:Me([`file-editor-toolbar d-flex align-center flex-shrink-0`,{"file-editor-toolbar--draggable":!S.value}]),onMousedown:ke},[S.value?L(``,!0):(k(),V(de,{key:0,size:`16`,class:`ml-2 mr-1 text-disabled file-editor-drag-hint`,onMousedown:n[0]||=J(()=>{},[`stop`])},{default:N(()=>[...n[19]||=[z(` mdi-drag `,-1)]]),_:1})),X(jn,{"model-value":b.value??void 0,density:`compact`,"show-arrows":``,class:`file-editor-tabs flex-grow-1 min-w-0`,"onUpdate:modelValue":W,onMousedown:n[1]||=J(()=>{},[`stop`])},{default:N(()=>[(k(!0),Y(B,null,C(y.value,e=>(k(),V(un,{key:e.id,value:e.id,class:`text-none px-2`},{default:N(()=>[U(`span`,Mn,q(e.name),1),e.modified?(k(),Y(`span`,Nn,`●`)):L(``,!0),X(O,{icon:`mdi-close`,size:`x-small`,variant:`text`,class:`ml-1 opacity-60`,density:`compact`,onClick:J(t=>He(e.id),[`stop`])},null,8,[`onClick`])]),_:2},1032,[`value`]))),128))]),_:1},8,[`model-value`]),X(rt,{vertical:``,class:`mx-1`,style:{height:`20px`,"align-self":`center`},onMousedown:n[2]||=J(()=>{},[`stop`])}),X(mt,{modelValue:ve.value,"onUpdate:modelValue":[n[3]||=e=>ve.value=e,Ie],items:K(an),"item-title":`title`,"item-value":`value`,density:`compact`,variant:`plain`,"hide-details":``,class:`file-editor-lang-select flex-shrink-0`,onMousedown:n[4]||=J(()=>{},[`stop`])},null,8,[`modelValue`,`items`]),X(O,{size:`small`,variant:`text`,color:ie.value?`primary`:void 0,title:ie.value?`关闭自动换行 (Alt+Z)`:`开启自动换行 (Alt+Z)`,density:`compact`,class:`flex-shrink-0 text-none px-2`,onMousedown:n[5]||=J(()=>{},[`stop`]),onClick:Je},{default:N(()=>[...n[20]||=[z(` 自动换行 `,-1)]]),_:1},8,[`color`,`title`]),X(rt,{vertical:``,class:`mx-1`,style:{height:`20px`,"align-self":`center`},onMousedown:n[6]||=J(()=>{},[`stop`])}),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-save`,loading:w.value,disabled:!R.value?.modified||!ee.value,class:`flex-shrink-0 mr-1`,onMousedown:n[7]||=J(()=>{},[`stop`]),onClick:Ye},{default:N(()=>[...n[21]||=[z(` 保存 `,-1)]]),_:1},8,[`loading`,`disabled`]),X(O,{size:`small`,variant:`text`,icon:S.value?`mdi-fullscreen-exit`:`mdi-fullscreen`,title:S.value?`退出全屏 (Esc)`:`全屏`,density:`compact`,onMousedown:n[8]||=J(()=>{},[`stop`]),onClick:n[9]||=e=>S.value=!S.value},null,8,[`icon`,`title`]),X(O,{size:`small`,variant:`text`,icon:`mdi-window-minimize`,title:`最小化`,density:`compact`,onMousedown:n[10]||=J(()=>{},[`stop`]),onClick:n[11]||=e=>x.value=!0}),X(O,{size:`small`,variant:`text`,icon:`mdi-close`,title:`关闭编辑器`,density:`compact`,class:`mr-1`,onMousedown:n[12]||=J(()=>{},[`stop`]),onClick:Ue})],34),U(`div`,Pn,[U(`aside`,{class:`file-editor-sidebar flex-shrink-0`,onMousedown:n[14]||=J(()=>{},[`stop`])},[X(Qt,{embedded:``,"server-id":e.serverId||null,"root-path":re.value,"current-path":D.value,onNavigate:H,onPasteTarget:n[13]||=e=>l(`paste-target`,e)},null,8,[`server-id`,`root-path`,`current-path`])],32),U(`div`,Fn,[U(`div`,In,[ee.value?L(``,!0):(k(),V(le,{key:0,indeterminate:``,absolute:``,class:`file-editor-progress`})),U(`div`,{ref_key:`editorHost`,ref:oe,class:`file-editor-host`},null,512)]),U(`div`,Ln,[U(`span`,Rn,q(ne.value)+`:`+q(E.value),1),X(rt,{vertical:``,style:{height:`12px`}}),U(`span`,null,q(_e.value),1),X(rt,{vertical:``,style:{height:`12px`}}),ie.value?(k(),Y(`span`,zn,`换行`)):L(``,!0),ie.value?(k(),V(rt,{key:1,vertical:``,style:{height:`12px`}})):L(``,!0),U(`span`,Bn,q(R.value?.path??``),1),R.value?.modified?(k(),Y(`span`,Vn,`未保存`)):L(``,!0)])])]),S.value?L(``,!0):(k(),Y(`div`,{key:0,class:`file-editor-resize`,title:`拖动调整大小`,onMousedown:n[15]||=J((...e)=>K(_)&&K(_)(...e),[`stop`])},null,32))]),_:1})],6)):L(``,!0),y.value.length>0&&x.value?(k(),V(Z,{key:1,border:``,rounded:`lg`,class:`file-editor-dock`},{default:N(()=>[n[22]||=U(`span`,{class:`text-caption text-medium-emphasis mr-2`},`编辑器`,-1),(k(!0),Y(B,null,C(y.value,e=>(k(),V(st,{key:e.id,size:`small`,color:e.id===b.value?`primary`:void 0,variant:`tonal`,class:`cursor-pointer`,onClick:t=>ze(e.id)},{default:N(()=>[z(q(e.name)+` `,1),e.modified?(k(),Y(`span`,Hn,`●`)):L(``,!0)]),_:2},1032,[`color`,`onClick`]))),128)),X(I),X(O,{size:`x-small`,variant:`text`,icon:`mdi-dock-window`,title:`展开`,onClick:n[16]||=e=>x.value=!1}),X(O,{size:`x-small`,variant:`text`,icon:`mdi-close`,title:`关闭全部`,onClick:Ue})]),_:1})):L(``,!0)])),X(Et,{modelValue:T.value,"onUpdate:modelValue":n[17]||=e=>T.value=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[z(q(be.value),1)]),_:1}),X(ft,null,{default:N(()=>[z(q(xe.value),1)]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:We},{default:N(()=>[...n[23]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`error`,variant:`flat`,onClick:Ge},{default:N(()=>[...n[24]||=[z(`不保存`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,onClick:Ke},{default:N(()=>[...n[25]||=[z(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:A.value,"onUpdate:modelValue":n[18]||=e=>A.value=e,"max-width":`440`,persistent:``},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,{class:`text-warning`},{default:N(()=>[X(de,{start:``},{default:N(()=>[...n[26]||=[z(`mdi-alert-outline`,-1)]]),_:1}),n[27]||=z(` 文件冲突 `,-1)]),_:1}),X(ft,null,{default:N(()=>[z(` 「`+q(Se.value)+`」已被外部修改。`,1),n[28]||=U(`br`,null,null,-1),n[29]||=U(`strong`,null,`覆盖`,-1),n[30]||=z(`会以当前编辑内容覆盖服务器版本;`,-1),n[31]||=U(`strong`,null,`放弃`,-1),n[32]||=z(`会丢弃本地修改。 `,-1)]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:Xe},{default:N(()=>[...n[33]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`error`,variant:`flat`,onClick:Qe},{default:N(()=>[...n[34]||=[z(`放弃本地修改`,-1)]]),_:1}),X(O,{color:`warning`,variant:`flat`,onClick:Ze},{default:N(()=>[...n[35]||=[z(`强制覆盖`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-509107ff`]]);function Gn(e){return e==null?``:String(e).trim()}function Kn(e){if(e.type===`symlink`)return`—`;let t=Gn(e.owner),n=Gn(e.group);return t?!n||n===t?t:`${t}:${n}`:`—`}function qn(e){if(e===`root`)return`warning`}function Jn(e){let t=[];e.permissions&&t.push(e.permissions),e.mode_octal&&t.push(e.mode_octal);let n=Gn(e.owner),r=Gn(e.group);return n&&t.push(r&&r!==n?`${n}:${r}`:n),t.join(` · `)||`—`}var Yn=[{label:`文件 644`,mode:`644`,for:`file`},{label:`目录 755`,mode:`755`,for:`directory`},{label:`私密 600`,mode:`600`,for:`file`},{label:`协作 775`,mode:`775`,for:`directory`},{label:`可执行 755`,mode:`755`,for:`file`}],Xn=`docs/deploy/nexus-files-sudoers.example`;function Zn(e){let t=e.toLowerCase();return t.includes(`permission denied`)||t.includes(`operation not permitted`)||t.includes(`无法访问`)||t.includes(`无权限`)||t.includes(`无写入权限`)||t.includes(`读取失败`)||t.includes(`chmod 失败`)}function Qn(e,t){if(!t||t===`root`||e.type!==`file`)return!1;let n=e.permissions??``;if(n.length<10)return!1;let r=Gn(e.owner),i=Gn(e.group),a=n.slice(1,4),o=n.slice(4,7),s=n.slice(7,10);return r===t?!a.includes(`r`):(i&&i===t||!s.includes(`r`))&&!o.includes(`r`)}function $n(){return`目标机安装示例:${Xn}(复制到 /etc/sudoers.d/nexus-files 后执行 visudo -cf 校验)`}function er(e){if(e.isRootSsh)return null;let t=[],n=e.unreadableCount??0;if(e.lastReadDeniedPath&&t.push(`无法读取「${e.lastReadDeniedPath}」:当前 SSH 用户无权限。`),n>0&&e.sshUser&&t.push(`当前目录约 ${n} 个文件对 SSH 用户「${e.sshUser}」不可读。`),t.length>0&&(e.filesElevation===`off`?t.push(`此服务器「文件提权」已关闭,不会自动 sudo。`):e.canSudo?e.whitelistOk?t.push(`系统已自动尝试 sudo -n 提权,如仍失败请检查 sudoers 白名单。`):t.push(`已有 sudo 但白名单不完整(须含 bash、chmod、chown、tee、cat 等)。`):t.push(`请配置免密 sudo(NOPASSWD)或使用「一键配置」,或改用 root SSH 用户。`)),!t.length)return null;let r=e.filesElevation===`off`||!e.canSudo||!e.whitelistOk?` ${$n()}`:``;return{type:!e.canSudo||e.filesElevation===`off`?`error`:`warning`,text:`${t.join(` `)}${r}`}}var tr={key:0,class:`text-body-2 mb-3 text-medium-emphasis`},nr={key:1,class:`text-caption mb-4`},rr={class:`d-flex flex-wrap ga-2 mb-4`},ir={class:`d-flex align-center flex-wrap ga-2 mb-2`},ar={class:`text-body-2`},or={key:0,class:`text-caption mt-1`},sr={class:`text-caption text-medium-emphasis mb-0`},cr=M({__name:`FilePermissionDialog`,props:{modelValue:{type:Boolean},file:{},serverId:{},loading:{type:Boolean}},emits:[`update:modelValue`,`apply`],setup(e,{emit:t}){let n=e,r=t,i=P(``),a=P(``),o=P(``),s=P(null),c=P(!1),l=P(!1),u=G(()=>n.file?.type===`directory`),d=G(()=>n.file?.name??``),f=G(()=>n.file?Jn(n.file):``),p=G(()=>{let e=n.file?.type===`directory`?`directory`:`file`;return Yn.filter(t=>t.for===e||t.for===`file`)}),m=G(()=>s.value?s.value.is_root||s.value.can_sudo_nopasswd&&s.value.whitelist_ok?`success`:s.value.can_sudo_nopasswd?`warning`:`error`:`info`);ce(()=>[n.modelValue,n.file],([e,t])=>{!e||!t||(i.value=t.mode_octal||``,a.value=t.owner||``,o.value=t.group&&t.group!==t.owner?t.group:``,l.value=!1,s.value=null,n.serverId&&g())});function h(e){return e===`off`?`关闭提权`:e===`always_sudo`?`始终 sudo`:`自动 sudo`}async function g(){if(n.serverId){c.value=!0;try{s.value=await F.get(`/servers/${n.serverId}/files-capability`)}catch(e){s.value={ssh_user:``,is_root:!1,files_elevation:`auto_sudo`,can_sudo_nopasswd:!1,whitelist_ok:!1,message:e instanceof Error?e.message:`检测失败`,docs_path:`docs/deploy/nexus-files-sudoers.example`}}finally{c.value=!1}}}function _(e){return t=>!!String(t||``).trim()||`${e}不能为空`}function v(e){return/^[0-7]{3,4}$/.test(String(e||``).trim())||`格式: 3–4 位八进制`}let y=/^[a-zA-Z0-9_.-]+$/;function b(e){let t=String(e||``).trim();return t?y.test(t)||`仅允许字母、数字、._-`:!0}function x(e){let t=String(e||``).trim();return t?a.value.trim()?y.test(t)||`仅允许字母、数字、._-`:`请先填写属主`:!0}function S(e){i.value=e}function w(){let e=i.value.trim();if(!/^[0-7]{3,4}$/.test(e))return;let t=a.value.trim(),s=o.value.trim(),c=u.value&&l.value;if(c){let t=n.file?.name??`该目录`;if(!window.confirm(`确认对目录「${t}」及其全部子项递归应用权限 ${e}?此操作影响范围大且不可自动撤销。`))return}r(`apply`,{mode:e,owner:t||void 0,group:s||void 0,recursive:c||void 0})}return(t,n)=>(k(),V(Et,{"model-value":e.modelValue,"max-width":`520`,"onUpdate:modelValue":n[5]||=e=>r(`update:modelValue`,e)},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[6]||=[z(`修改权限`,-1)]]),_:1}),X(ft,null,{default:N(()=>[d.value?(k(),Y(`p`,tr,q(d.value),1)):L(``,!0),f.value?(k(),Y(`p`,nr,` 当前:`+q(f.value),1)):L(``,!0),U(`div`,rr,[(k(!0),Y(B,null,C(p.value,e=>(k(),V(st,{key:e.mode+e.label,size:`small`,variant:`tonal`,color:`primary`,onClick:t=>S(e.mode)},{default:N(()=>[z(q(e.label),1)]),_:2},1032,[`onClick`]))),128))]),X(xt,{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,label:`八进制权限`,variant:`outlined`,density:`compact`,placeholder:`644 / 755`,rules:[_(`权限`),v],class:`mb-2`,onKeydown:Le(w,[`enter`])},null,8,[`modelValue`,`rules`]),X(xt,{modelValue:a.value,"onUpdate:modelValue":n[1]||=e=>a.value=e,label:`属主(可选)`,variant:`outlined`,density:`compact`,placeholder:`www`,rules:[b],class:`mb-2`},null,8,[`modelValue`,`rules`]),X(xt,{modelValue:o.value,"onUpdate:modelValue":n[2]||=e=>o.value=e,label:`属组(可选)`,variant:`outlined`,density:`compact`,placeholder:`www`,rules:[x],class:`mb-2`},null,8,[`modelValue`,`rules`]),u.value?(k(),V(ht,{key:2,modelValue:l.value,"onUpdate:modelValue":n[3]||=e=>l.value=e,label:`同时修改子项(递归 chmod/chown)`,density:`compact`,"hide-details":``,color:`warning`,class:`mb-2`},null,8,[`modelValue`])):L(``,!0),X(rt,{class:`my-4`}),U(`div`,ir,[n[8]||=U(`span`,{class:`text-caption text-medium-emphasis`},`提权能力`,-1),X(O,{size:`small`,variant:`tonal`,loading:c.value,disabled:!e.serverId,onClick:g},{default:N(()=>[...n[7]||=[z(` 检测提权能力 `,-1)]]),_:1},8,[`loading`,`disabled`])]),s.value?(k(),V(E,{key:3,type:m.value,variant:`tonal`,density:`compact`,class:`mb-2`},{default:N(()=>[U(`div`,ar,q(s.value.message),1),s.value.ssh_user?(k(),Y(`div`,or,` SSH 用户:`+q(s.value.ssh_user)+` · 策略:`+q(h(s.value.files_elevation)),1)):L(``,!0)]),_:1},8,[`type`])):L(``,!0),U(`p`,sr,[n[9]||=z(` 非 root 用户写/chmod 失败时将按服务器策略尝试 `,-1),n[10]||=U(`code`,null,`sudo -n`,-1),z(`。 `+q(K($n)()),1)])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[4]||=e=>r(`update:modelValue`,!1)},{default:N(()=>[...n[11]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:e.loading,onClick:w},{default:N(()=>[...n[12]||=[z(`应用`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}});function lr(){function e(e){return[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean).length>0||[...e.dataTransfer?.files??[]].length>0}async function t(e){let t=[],n=[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean);if(n.length)for(let e of n){let n=await ur(e,dr(`.`,e));t.push(...n.map(e=>e.file))}else t.push(...e.dataTransfer?.files??[]);return t}return{handleDrop:t,hasFilesOrFolders:e}}function ur(e,t=``){return new Promise((n,r)=>{e.isFile?e.file(e=>n([{file:e,path:t}]),r):e.isDirectory&&e.createReader().readEntries(async e=>{let r=[];for(let n of e)r.push(...await ur(n,dr(t,n)));n(r)})})}function dr(e,t){return t.isDirectory?`${e}/${t.name}`:e}var fr=it({filterByType:String},`file-accept`);function pr(e){let t=G(()=>e.filterByType?mr(e.filterByType):null);function n(e){if(t.value){let n=e.filter(t.value);return{accepted:n,rejected:e.filter(e=>!n.includes(e))}}return{accepted:e,rejected:[]}}return{filterAccepted:n}}function mr(e){let t=e.split(`,`).map(e=>e.trim().toLowerCase()),n=t.filter(e=>e.startsWith(`.`)),r=t.filter(e=>e.endsWith(`/*`)),i=t.filter(e=>!n.includes(e)&&!r.includes(e));return e=>{let t=e.name.split(`.`).at(-1)?.toLowerCase()??``,a=e.type.split(`/`).at(0)?.toLowerCase()??``;return i.includes(e.type)||n.includes(`.${t}`)||r.includes(`${a}/*`)}}var hr=it({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:`$vuetify.fileInput.counterSize`},counterString:{type:String,default:`$vuetify.fileInput.counter`},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:e=>typeof e==`boolean`||[1e3,1024].includes(Number(e))},truncateLength:{type:[Number,String],default:22},...A(St({prependIcon:`$file`}),[`direction`]),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>Te(e).every(e=>typeof e==`object`&&!!e)},...fr(),...bt({clearable:!0})},`VFileInput`),gr=ct()({name:`VFileInput`,inheritAttrs:!1,props:hr(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,rejected:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{t:i}=be(),{filterAccepted:a}=pr(e),o=tt(e,`modelValue`,e.modelValue,e=>Te(e),t=>!e.multiple&&Array.isArray(t)?t[0]:t),{isFocused:s,focus:c,blur:l}=vt(e),d=G(()=>typeof e.showSize==`boolean`?void 0:e.showSize),f=G(()=>(o.value??[]).reduce((e,{size:t=0})=>e+t,0)),p=G(()=>S(f.value,d.value)),m=G(()=>(o.value??[]).map(t=>{let{name:n=``,size:r=0}=t,i=O(n);return e.showSize?`${i} (${S(r,d.value)})`:i})),g=G(()=>{let t=o.value?.length??0;return e.showSize?i(e.counterSizeString,t,p.value):i(e.counterString,t)}),v=P(),y=P(),b=P(),x=u(()=>s.value||e.active),C=G(()=>[`plain`,`underlined`].includes(e.variant)),w=he(!1),{handleDrop:ee,hasFilesOrFolders:te}=lr();function T(){b.value!==document.activeElement&&b.value?.focus(),s.value||c()}function ne(e){b.value?.click()}function E(e){n(`mousedown:control`,e)}function D(e){b.value?.click(),n(`click:control`,e)}function re(t){t.stopPropagation(),T(),h(()=>{o.value=[],Pe(e[`onClick:clear`],t)})}function O(t){if(t.length{(!Array.isArray(e)||!e.length)&&b.value&&(b.value.value=``)}),Ge(()=>{let n=!!(r.counter||e.counter),i=!!(n||r.details),[a,c]=j(t),{modelValue:u,...d}=_t.filterProps(e),h={...yt.filterProps(e),"onClick:clear":re},S=t.webkitdirectory!==void 0&&t.webkitdirectory!==!1,ee=t.accept?String(t.accept):void 0,te=S?void 0:e.filterByType??ee;return X(_t,_({ref:v,modelValue:e.multiple?o.value:o.value[0],class:[`v-file-input`,{"v-file-input--chips":!!e.chips,"v-file-input--dragging":w.value,"v-file-input--hide":e.hideInput,"v-input--plain-underlined":C.value},e.class],style:e.style,"onClick:prepend":ne},a,d,{centerAffix:!C.value,focused:s.value,indentDetails:e.indentDetails??!C.value}),{...r,default:({id:t,isDisabled:n,isDirty:i,isReadonly:a,isValid:u,hasDetails:d})=>X(yt,_({ref:y,prependIcon:e.prependIcon,onMousedown:E,onClick:D,"onClick:prependInner":e[`onClick:prependInner`],"onClick:appendInner":e[`onClick:appendInner`]},h,{id:t.value,active:x.value||i.value,dirty:i.value||e.dirty,disabled:n.value,focused:s.value,details:d.value,error:u.value===!1,onDragover:k,onDrop:A}),{...r,default:({props:{class:t,...i},controlRef:s})=>U(B,null,[U(`input`,_({ref:e=>b.value=s.value=e,type:`file`,accept:te,readonly:a.value,disabled:n.value,multiple:e.multiple,name:e.name,onClick:e=>{e.stopPropagation(),a.value&&e.preventDefault(),T()},onChange:ae,onDragleave:ie,onFocus:T,onBlur:l},i,c),null),U(`div`,{class:Me(t)},[!!o.value?.length&&!e.hideInput&&(r.selection?r.selection({fileNames:m.value,totalBytes:f.value,totalBytesReadable:p.value}):e.chips?m.value.map(e=>X(st,{key:e,size:`small`,text:e},null)):m.value.join(`, `))])])}),details:i?t=>U(B,null,[r.details?.(t),n&&U(B,null,[U(`span`,null,null),X(gt,{active:!!o.value?.length,value:g.value,disabled:e.disabled},r.counter)])]):void 0})}),Je({},v,y,b)}}),_r={class:`text-body-2 mb-3`},vr={class:`text-body-2 mb-2 text-truncate`},yr={class:`text-truncate`},br={key:1,class:`files-preview-body text-body-2`},xr=Tt(M({__name:`FilesDialogs`,setup(e){let t=At();return(e,n)=>(k(),Y(B,null,[X(Et,{modelValue:K(t).showUpload,"onUpdate:modelValue":n[2]||=e=>K(t).showUpload=e,"max-width":`500`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[25]||=[z(`上传文件`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(gr,{modelValue:K(t).uploadFiles,"onUpdate:modelValue":n[0]||=e=>K(t).uploadFiles=e,label:`选择文件`,variant:`outlined`,multiple:``,"show-size":``},null,8,[`modelValue`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[1]||=e=>K(t).showUpload=!1},{default:N(()=>[...n[26]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).uploading,onClick:K(t).doUpload},{default:N(()=>[...n[27]||=[z(`上传`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showNewFile,"onUpdate:modelValue":n[5]||=e=>K(t).showNewFile=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[28]||=[z(`新建文件`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(xt,{modelValue:K(t).newFileName,"onUpdate:modelValue":n[3]||=e=>K(t).newFileName=e,label:`文件名`,variant:`outlined`,density:`compact`,rules:[K(t).validatePathSegment],placeholder:`example.conf`,autofocus:``,onKeydown:Le(K(t).doNewFile,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[4]||=e=>K(t).showNewFile=!1},{default:N(()=>[...n[29]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).actionLoading,onClick:K(t).doNewFile},{default:N(()=>[...n[30]||=[z(`创建`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showMkdir,"onUpdate:modelValue":n[8]||=e=>K(t).showMkdir=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[31]||=[z(`新建目录`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(xt,{modelValue:K(t).mkdirName,"onUpdate:modelValue":n[6]||=e=>K(t).mkdirName=e,label:`目录名`,variant:`outlined`,density:`compact`,rules:[K(t).validatePathSegment],onKeydown:Le(K(t).doMkdir,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[7]||=e=>K(t).showMkdir=!1},{default:N(()=>[...n[32]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,onClick:K(t).doMkdir},{default:N(()=>[...n[33]||=[z(`创建`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showFileDelete,"onUpdate:modelValue":n[10]||=e=>K(t).showFileDelete=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[34]||=[z(`确认删除`,-1)]]),_:1}),X(ft,null,{default:N(()=>[n[35]||=z(` 确定要删除 `,-1),U(`strong`,null,q(K(t).deletingFile?.name),1),n[36]||=z(` 吗? `,-1)]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[9]||=e=>K(t).showFileDelete=!1},{default:N(()=>[...n[37]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`error`,variant:`flat`,onClick:K(t).doDeleteFile},{default:N(()=>[...n[38]||=[z(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showRename,"onUpdate:modelValue":n[13]||=e=>K(t).showRename=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[39]||=[z(`重命名`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(xt,{modelValue:K(t).newName,"onUpdate:modelValue":n[11]||=e=>K(t).newName=e,label:`新名称`,variant:`outlined`,density:`compact`,rules:[K(t).required(`名称`)],autofocus:``,onKeydown:Le(K(t).doRename,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[12]||=e=>K(t).showRename=!1},{default:N(()=>[...n[40]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,onClick:K(t).doRename},{default:N(()=>[...n[41]||=[z(`确定`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(cr,{modelValue:K(t).showChmod,"onUpdate:modelValue":n[14]||=e=>K(t).showChmod=e,file:K(t).chmodFile,"server-id":K(t).selectedServer,loading:K(t).chmodLoading,onApply:K(t).doChmod},null,8,[`modelValue`,`file`,`server-id`,`loading`,`onApply`]),X(Et,{modelValue:K(t).showCompress,"onUpdate:modelValue":n[18]||=e=>K(t).showCompress=e,"max-width":`440`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[42]||=[z(`压缩`,-1)]]),_:1}),X(ft,null,{default:N(()=>[U(`p`,_r,`将压缩 `+q(K(t).compressPaths.length)+` 项到当前目录`,1),X(xt,{modelValue:K(t).compressDest,"onUpdate:modelValue":n[15]||=e=>K(t).compressDest=e,label:`压缩包路径`,variant:`outlined`,density:`compact`},null,8,[`modelValue`]),X(mt,{modelValue:K(t).compressFormat,"onUpdate:modelValue":n[16]||=e=>K(t).compressFormat=e,items:[{title:`tar.gz`,value:`tar.gz`},{title:`zip`,value:`zip`}],"item-title":`title`,"item-value":`value`,label:`格式`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[17]||=e=>K(t).showCompress=!1},{default:N(()=>[...n[43]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).actionLoading,onClick:K(t).doCompress},{default:N(()=>[...n[44]||=[z(`压缩`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showDecompress,"onUpdate:modelValue":n[21]||=e=>K(t).showDecompress=e,"max-width":`440`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[45]||=[z(`解压`,-1)]]),_:1}),X(ft,null,{default:N(()=>[U(`p`,vr,q(K(t).decompressSource),1),X(xt,{modelValue:K(t).decompressDest,"onUpdate:modelValue":n[19]||=e=>K(t).decompressDest=e,label:`解压到目录`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[20]||=e=>K(t).showDecompress=!1},{default:N(()=>[...n[46]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).actionLoading,onClick:K(t).doDecompress},{default:N(()=>[...n[47]||=[z(`解压`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showPreview,"onUpdate:modelValue":n[24]||=e=>K(t).showPreview=e,"max-width":`900`,scrollable:``},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,{class:`d-flex align-center`},{default:N(()=>[U(`span`,yr,q(K(t).previewTitle),1),X(I),X(O,{icon:`mdi-close`,variant:`text`,onClick:n[22]||=e=>K(t).showPreview=!1})]),_:1}),X(rt),X(ft,{style:{"max-height":`70vh`}},{default:N(()=>[K(t).previewLoading?(k(),V(le,{key:0,indeterminate:``,class:`mb-2`})):(k(),Y(`pre`,br,q(K(t).previewContent),1))]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[23]||=e=>K(t).showPreview=!1},{default:N(()=>[...n[48]||=[z(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-110ea120`]]),Sr=`nexus:files:last_server_id`,Cr=`nexus:files-hint-dismissed`,wr=[{value:25,title:`25`},{value:50,title:`50`},{value:100,title:`100`},{value:250,title:`250`},...ut.filter(e=>e.value===-1)],Tr=5e3,Er=it({id:String,interactive:Boolean,text:String,...A(R({closeOnBack:!1,location:`end`,locationStrategy:`connected`,eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:`auto`,scrim:!1,scrollStrategy:`reposition`,transition:null}),[`absolute`,`retainFocus`,`captureFocus`,`disableInitialFocus`])},`VTooltip`),Dr=ct()({name:`VTooltip`,props:Er(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=tt(e,`modelValue`),{scopeId:r}=We(),i=lt(),a=u(()=>e.id||`v-tooltip-${i}`),o=P(),s=G(()=>e.location.split(` `).length>1?e.location:e.location+` center`),c=G(()=>e.origin===`auto`||e.origin===`overlap`||e.origin.split(` `).length>1||e.location.split(` `).length>1?e.origin:e.origin+` center`),l=u(()=>e.transition==null?n.value?`scale-transition`:`fade-transition`:e.transition),d=G(()=>_({"aria-describedby":a.value},e.activatorProps));return Ge(()=>{let i=je.filterProps(e);return X(je,_({ref:o,class:[`v-tooltip`,{"v-tooltip--interactive":e.interactive},e.class],style:e.style,id:a.value},i,{modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,transition:l.value,absolute:!0,location:s.value,origin:c.value,role:`tooltip`,activatorProps:d.value,_disableGlobalStack:!0},r),{activator:t.activator,default:(...n)=>t.default?.(...n)??e.text})}),Je({},o)}}),Or={class:`d-flex align-center ga-2 min-w-0`},kr={class:`min-w-0`},Ar={key:0,class:`text-caption text-medium-emphasis text-truncate`},jr={class:`text-medium-emphasis`},Mr={class:`text-medium-emphasis`},Nr={class:`files-row-actions`},Pr={key:0,class:`text-center text-medium-emphasis py-8`},Fr={key:0,class:`text-caption mt-2 text-disabled`},Ir=Tt(M({__name:`FilesList`,setup(e){let t=At();return(e,n)=>(k(),Y(B,null,[X(Z,{elevation:`0`,border:``,rounded:`lg`,class:Me([`position-relative`,{"files-drop-active":K(t).dropActive}]),onDragenter:n[1]||=J(e=>K(t).dropActive=!0,[`prevent`]),onDragover:n[2]||=J(e=>K(t).dropActive=!0,[`prevent`]),onDragleave:n[3]||=J(e=>K(t).dropActive=!1,[`prevent`]),onDrop:J(K(t).onDropFiles,[`prevent`])},{default:N(()=>[K(t).loadingVisible?(k(),V(le,{key:0,indeterminate:``,color:`primary`,height:`2`,class:`files-table-progress`})):L(``,!0),X(i,{modelValue:K(t).selectedFiles,"onUpdate:modelValue":n[0]||=e=>K(t).selectedFiles=e,items:K(t).displayedFiles,headers:K(t).fileHeaders,loading:K(t).loadingVisible,"items-per-page":K(50),"items-per-page-options":[...K(wr)],"show-select":``,"return-object":``,hover:``,density:`comfortable`,"item-value":`name`,"row-props":K(t).fileRowProps},{"item.name":N(({item:e})=>[U(`div`,Or,[X(de,{color:K(t).entryIconColor(e),size:`20`},{default:N(()=>[z(q(K(t).entryIcon(e)),1)]),_:2},1032,[`color`]),K(t).isEntryLikelyUnreadable(e,K(t).sshUserForFiles)?(k(),V(de,{key:0,size:`18`,color:`warning`,title:`当前 SSH 用户可能无法读取`},{default:N(()=>[...n[20]||=[z(` mdi-shield-lock `,-1)]]),_:1})):L(``,!0),U(`div`,kr,[U(`span`,{class:Me({"font-weight-medium":e.type===`directory`})},q(e.name),3),e.type===`symlink`&&e.link_target?(k(),Y(`div`,Ar,` → `+q(e.link_target),1)):L(``,!0)])])]),"item.owner":N(({item:e})=>[X(Dr,{text:K(t).permissionTooltip(e),location:`top`},{activator:N(({props:n})=>[X(st,_(n,{size:`small`,variant:`tonal`,color:K(t).ownerChipColor(e.owner||``),class:`text-none`}),{default:N(()=>[z(q(K(t).formatOwnerChip(e)),1)]),_:2},1040,[`color`])]),_:2},1032,[`text`])]),"item.size":N(({item:e})=>[U(`span`,jr,q(e.type===`directory`?`—`:K(t).formatSize(e.size)),1)]),"item.modified":N(({item:e})=>[U(`span`,Mr,q(e.modified||`—`),1)]),"item.actions":N(({item:e})=>[U(`div`,Nr,[K(t).isRegularFile(e)?(k(),V(O,{key:0,variant:`outlined`,size:`small`,color:`primary`,class:`files-action-btn`,"prepend-icon":`mdi-pencil-outline`,onClick:J(n=>K(t).editFile(e),[`stop`])},{default:N(()=>[...n[21]||=[z(` 编辑 `,-1)]]),_:1},8,[`onClick`])):L(``,!0),K(t).isRegularFile(e)?(k(),V(O,{key:1,variant:`outlined`,size:`small`,class:`files-action-btn`,"prepend-icon":`mdi-eye-outline`,onClick:J(n=>K(t).previewFile(e),[`stop`])},{default:N(()=>[...n[22]||=[z(` 查看 `,-1)]]),_:1},8,[`onClick`])):L(``,!0),K(t).isRegularFile(e)?(k(),V(O,{key:2,variant:`outlined`,size:`small`,class:`files-action-btn`,"prepend-icon":`mdi-download-outline`,onClick:J(n=>K(t).downloadFile(e),[`stop`])},{default:N(()=>[...n[23]||=[z(` 下载 `,-1)]]),_:1},8,[`onClick`])):L(``,!0),X(O,{variant:`outlined`,size:`small`,color:`error`,class:`files-action-btn`,"prepend-icon":`mdi-delete-outline`,onClick:J(n=>K(t).confirmDeleteFile(e),[`stop`])},{default:N(()=>[...n[24]||=[z(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),"no-data":N(()=>[K(t).pageReady&&!K(t).loading&&!K(t).loadingVisible&&K(t).files.length===0?(k(),Y(`div`,Pr,[X(de,{size:`40`,class:`mb-2`},{default:N(()=>[...n[25]||=[z(`mdi-folder-open-outline`,-1)]]),_:1}),U(`div`,null,q(K(t).emptyHint),1),K(t).selectedServer?(k(),Y(`div`,Fr,` 单击目录进入 · 双击文件编辑 · Ctrl+A 全选 · Ctrl+C/V 复制粘贴 `)):L(``,!0)])):L(``,!0)]),_:1},8,[`modelValue`,`items`,`headers`,`loading`,`items-per-page`,`items-per-page-options`,`row-props`])]),_:1},8,[`class`,`onDrop`]),X(Ve,{modelValue:K(t).showContextMenu,"onUpdate:modelValue":n[19]||=e=>K(t).showContextMenu=e,target:[K(t).contextX,K(t).contextY],location:`bottom start`},{default:N(()=>[X(Fe,{density:`compact`,nav:``},{default:N(()=>[K(t).contextFile&&K(t).contextFile.type===`directory`?(k(),V(W,{key:0,"prepend-icon":`mdi-folder-open`,onClick:n[4]||=e=>K(t).contextAction(`open`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[26]||=[z(`打开`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isRegularFile(K(t).contextFile)?(k(),V(W,{key:1,"prepend-icon":`mdi-pencil`,onClick:n[5]||=e=>K(t).contextAction(`edit`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[27]||=[z(`编辑`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isRegularFile(K(t).contextFile)?(k(),V(W,{key:2,"prepend-icon":`mdi-eye`,onClick:n[6]||=e=>K(t).contextAction(`preview`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[28]||=[z(`查看`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isRegularFile(K(t).contextFile)?(k(),V(W,{key:3,"prepend-icon":`mdi-download`,onClick:n[7]||=e=>K(t).contextAction(`download`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[29]||=[z(`下载`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile?(k(),V(W,{key:4,"prepend-icon":`mdi-content-copy`,onClick:n[8]||=e=>K(t).contextAction(`copy`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[30]||=[z(`复制 (Ctrl+C)`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile?(k(),V(W,{key:5,"prepend-icon":`mdi-content-cut`,onClick:n[9]||=e=>K(t).contextAction(`cut`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[31]||=[z(`剪切 (Ctrl+X)`,-1)]]),_:1})]),_:1})):L(``,!0),X(W,{"prepend-icon":`mdi-content-paste`,disabled:!K(t).canPasteHere,onClick:n[10]||=e=>K(t).contextAction(`paste`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[32]||=[z(`粘贴到当前目录 (Ctrl+V)`,-1)]]),_:1})]),_:1},8,[`disabled`]),K(t).contextFile?.type===`directory`&&K(t).canPasteHere?(k(),V(W,{key:6,"prepend-icon":`mdi-folder-arrow-down`,onClick:n[11]||=e=>K(t).contextAction(`pasteInto`)},{default:N(()=>[X(H,null,{default:N(()=>[z(`粘贴到「`+q(K(t).contextFile.name)+`」`,1)]),_:1})]),_:1})):L(``,!0),X(W,{"prepend-icon":`mdi-link-variant`,onClick:n[12]||=e=>K(t).contextAction(`copyPath`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[33]||=[z(`复制路径`,-1)]]),_:1})]),_:1}),X(W,{"prepend-icon":`mdi-console`,onClick:n[13]||=e=>K(t).contextAction(`terminal`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[34]||=[z(`终端`,-1)]]),_:1})]),_:1}),X(rt),K(t).contextFile&&(K(t).isRegularFile(K(t).contextFile)||K(t).contextFile.type===`directory`)?(k(),V(W,{key:7,"prepend-icon":`mdi-zip-box`,onClick:n[14]||=e=>K(t).contextAction(`compress`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[35]||=[z(`压缩`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isArchiveName(K(t).contextFile.name)?(k(),V(W,{key:8,"prepend-icon":`mdi-package-up`,onClick:n[15]||=e=>K(t).contextAction(`decompress`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[36]||=[z(`解压`,-1)]]),_:1})]),_:1})):L(``,!0),X(rt),X(W,{"prepend-icon":`mdi-file-rename-box`,onClick:n[16]||=e=>K(t).contextAction(`rename`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[37]||=[z(`重命名`,-1)]]),_:1})]),_:1}),X(W,{"prepend-icon":`mdi-lock`,onClick:n[17]||=e=>K(t).contextAction(`chmod`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[38]||=[z(`修改权限`,-1)]]),_:1})]),_:1}),X(rt),X(W,{"prepend-icon":`mdi-delete`,onClick:n[18]||=e=>K(t).contextAction(`delete`)},{default:N(()=>[X(H,{class:`text-error`},{default:N(()=>[...n[39]||=[z(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`,`target`])],64))}}),[[`__scopeId`,`data-v-964388ad`]]),Lr={class:`d-flex flex-wrap align-center justify-space-between ga-2`},Rr=M({__name:`FilesPermissionAlert`,setup(e){let t=At();return(e,n)=>K(t).filesAccessHint?(k(),V(E,{key:0,type:K(t).filesAccessHint.type,variant:`tonal`,closable:``,prominent:``,density:`comfortable`,class:`mb-4`,icon:`mdi-shield-lock-outline`,"onClick:close":K(t).dismissFilesAccessHint},{default:N(()=>[U(`div`,Lr,[U(`span`,null,q(K(t).filesAccessHint.text.split(`目标机安装示例`)[0].trim()),1),K(t).sshUserForFiles&&K(t).sshUserForFiles!==`root`?(k(),V(O,{key:0,size:`small`,variant:`flat`,color:`primary`,"prepend-icon":`mdi-auto-fix`,loading:K(t).setupSudoLoading,disabled:K(t).setupSudoDone,onClick:J(K(t).setupFilesSudo,[`stop`])},{default:N(()=>[z(q(K(t).setupSudoDone?`已配置`:`一键配置 sudo 权限`),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):L(``,!0)])]),_:1},8,[`type`,`onClick:close`])):L(``,!0)}}),zr={class:`text-caption text-medium-emphasis mb-2 d-flex flex-wrap align-center ga-2`},Br=M({__name:`FilesStatusBar`,setup(e){let t=At();return(e,n)=>(k(),Y(`div`,zr,[U(`span`,null,q(K(t).statusSummary),1),K(t).browseError?(k(),V(st,{key:0,size:`x-small`,color:`warning`,variant:`tonal`},{default:N(()=>[z(q(K(t).browseError),1)]),_:1})):L(``,!0),K(t).hasClipboard?(k(),V(st,{key:1,size:`x-small`,color:`info`,variant:`tonal`,class:`cursor-pointer`,onClick:n[0]||=()=>K(t).pasteClipboard()},{default:N(()=>[z(q(K(t).clipboardSummary)+` → `+q(K(t).pasteDestLabel)+` · Ctrl+V 粘贴 `,1)]),_:1})):L(``,!0)]))}}),Vr=M({__name:`FilesToolbar`,setup(e){let t=At();return(e,n)=>(k(),V(Z,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4 pa-4`},{default:N(()=>[X(c,{align:`center`,dense:``},{default:N(()=>[X(s,{cols:`12`,sm:`4`},{default:N(()=>[X(mt,{modelValue:K(t).selectedServer,"onUpdate:modelValue":[n[0]||=e=>K(t).selectedServer=e,K(t).onServerChange],items:K(t).serverList,"item-title":`name`,"item-value":`id`,label:`选择服务器`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-server`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`])]),_:1}),X(s,{cols:`12`,sm:`4`},{default:N(()=>[X(xt,{modelValue:K(t).currentPath,"onUpdate:modelValue":n[1]||=e=>K(t).currentPath=e,label:`路径`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-folder`,"append-inner-icon":`mdi-arrow-right`,"onClick:appendInner":K(t).browseCurrent,onKeydown:Le(K(t).browseCurrent,[`enter`])},null,8,[`modelValue`,`onClick:appendInner`,`onKeydown`])]),_:1}),X(s,{cols:`12`,sm:`3`},{default:N(()=>[X(xt,{modelValue:K(t).fileFilter,"onUpdate:modelValue":n[2]||=e=>K(t).fileFilter=e,label:`筛选文件名`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-magnify`,clearable:``,"hide-details":``},null,8,[`modelValue`])]),_:1}),X(s,{cols:`12`,sm:`3`},{default:N(()=>[X(mt,{modelValue:K(t).extFilter,"onUpdate:modelValue":n[3]||=e=>K(t).extFilter=e,items:K(t).FILE_EXT_FILTERS,"item-title":`title`,"item-value":`value`,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`,`items`])]),_:1}),X(s,{cols:`12`,sm:`2`},{default:N(()=>[X(mt,{modelValue:K(t).sortBy,"onUpdate:modelValue":n[4]||=e=>K(t).sortBy=e,items:K(t).sortOptions,"item-title":`title`,"item-value":`value`,label:`排序`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`,`items`])]),_:1}),X(s,{cols:`12`,class:`d-flex ga-2 flex-wrap justify-end`},{default:N(()=>[X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-upload`,onClick:n[5]||=e=>K(t).showUpload=!0},{default:N(()=>[...n[10]||=[z(` 上传 `,-1)]]),_:1}),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-file-plus`,disabled:!K(t).selectedServer,onClick:n[6]||=e=>K(t).showNewFile=!0},{default:N(()=>[...n[11]||=[z(` 新建文件 `,-1)]]),_:1},8,[`disabled`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-folder-plus`,onClick:n[7]||=e=>K(t).showMkdir=!0},{default:N(()=>[...n[12]||=[z(` 新建目录 `,-1)]]),_:1}),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-zip-box`,disabled:!K(t).selectedServer||!K(t).selectedFileCount,onClick:n[8]||=e=>K(t).openCompressDialog()},{default:N(()=>[...n[13]||=[z(` 压缩 `,-1)]]),_:1},8,[`disabled`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-paste`,disabled:!K(t).canPasteHere,onClick:n[9]||=()=>K(t).pasteClipboard()},{default:N(()=>[...n[14]||=[z(` 粘贴 `,-1)]]),_:1},8,[`disabled`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-arrow-up`,disabled:!K(t).canGoUp,onClick:K(t).goUp},{default:N(()=>[...n[15]||=[z(` 上级 `,-1)]]),_:1},8,[`disabled`,`onClick`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-refresh`,onClick:K(t).browseCurrent},{default:N(()=>[...n[16]||=[z(`刷新`,-1)]]),_:1},8,[`onClick`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-console`,disabled:!K(t).selectedServer,onClick:K(t).openInTerminal},{default:N(()=>[...n[17]||=[z(` 终端 `,-1)]]),_:1},8,[`disabled`,`onClick`])]),_:1})]),_:1})]),_:1}))}}),Hr=P(null);function Ur(){let e=G(()=>Hr.value!==null),t=G(()=>Hr.value?`${Hr.value.mode===`cut`?`已剪切`:`已复制`} ${Hr.value.paths.length} 项`:``);function n(e,t,n){if(!n.length)return!1;let r=[...new Set(n.map(e=>Q(e)))];return Hr.value={mode:e,serverId:t,paths:r,label:r.map(e=>e.split(`/`).pop()||e).join(`, `)},!0}function r(){Hr.value=null}function i(e){return!!(Hr.value&&e&&Hr.value.serverId===e)}function a(e,t){let n=Q(t);for(let t of e){let e=Q(t);if(n===e)return`「${e.split(`/`).pop()||e}」与目标路径相同,无需粘贴`;if(n.startsWith(`${e}/`))return`不能粘贴到源目录「${e}」的内部`}return null}async function o(e){let t=Hr.value;if(!t)throw Error(`剪贴板为空`);let n=Q(e),i=a(t.paths,n);if(i)throw Error(i);let o=t.mode===`cut`?`move`:`copy`;await F.post(`/sync/file-clipboard`,{server_id:t.serverId,mode:o,sources:t.paths,dest_dir:n}),t.mode===`cut`&&r()}return{clipboard:Hr,hasClipboard:e,clipboardSummary:t,setFromSelection:n,clear:r,canPasteOnServer:i,validatePasteTarget:a,pasteToDirectory:o}}function Wr(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||e.isContentEditable}function Gr(e,t,n){function r(r){if(!Wr(r.target)){if(r.key===`F5`){r.preventDefault(),e.refresh();return}if(r.key===`Backspace`){r.preventDefault(),e.goUp();return}if(r.key===`F2`&&t.value.length===1){r.preventDefault(),e.renameSelection();return}if(r.key===`Delete`&&t.value.length>0&&(r.preventDefault(),e.deleteSelection()),(r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`a`){r.preventDefault(),e.selectAll();return}if((r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`c`){t.value.length>0&&(r.preventDefault(),e.copySelection());return}if((r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`x`){t.value.length>0&&(r.preventDefault(),e.cutSelection());return}(r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`v`&&n.value&&(r.preventDefault(),e.pasteClipboard())}}ne(()=>window.addEventListener(`keydown`,r)),f(()=>window.removeEventListener(`keydown`,r))}function Kr(e,t){return`${e}:${t}`}var qr=ae(`files`,()=>{let e=P(null),t=P(Vt),n=P([]),r=P(!1),i=P(!1),a=P(``),o=P(null),s=P(null),c=P(!1),l=P(!1),u=P(!1),d=P(!1),f=P(!1),p=P(!1),m=new Map;function h(e){return Date.now()-e.at<=Tr}function g(e,t){return m.get(Kr(e,t))??null}function _(e,t){let n=g(e,t);return!n||!h(n)?null:n.items}function v(e,t){return g(e,t)?.etag}function y(e,t){let n=g(e,t);n&&(n.at=Date.now())}function b(e,t,n,r){let i=Kr(e,t),a=m.get(i);if(m.set(i,{items:n,at:Date.now(),etag:r??a?.etag}),m.size>50){let e=[...m.entries()].sort((e,t)=>e[1].at-t[1].at)[0];e&&m.delete(e[0])}}function x(e,t){if(e==null){m.clear();return}if(t==null){let t=`${e}:`;for(let e of[...m.keys()])e.startsWith(t)&&m.delete(e);return}m.delete(Kr(e,t))}function S(){s.value=null,c.value=!1,u.value=!1}return{selectedServer:e,currentPath:t,files:n,loading:r,loadingVisible:i,browseError:a,filesCapability:o,lastReadDeniedPath:s,accessHintDismissed:c,setupSudoLoading:l,setupSudoDone:u,pageReady:d,routeReady:f,initing:p,getCacheEntry:g,getCached:_,getCachedEtag:v,touchCache:y,setCached:b,invalidateCache:x,resetForServerChange:S}}),Jr={directory:0,symlink:1,file:2};function Yr(e,t,n){let r=n===`asc`?1:-1;return[...e].sort((e,n)=>{let i=Jr[e.type]??9,a=Jr[n.type]??9;if(i!==a)return i-a;let o=0;return o=t===`name`?e.name.localeCompare(n.name):t===`size`?(e.size??0)-(n.size??0):(e.modified??``).localeCompare(n.modified??``),o*r})}var Xr=[{title:`全部`,value:``},{title:`.conf / .ini`,value:`conf,ini`},{title:`.log`,value:`log`},{title:`.sh`,value:`sh`},{title:`.py`,value:`py`},{title:`.json`,value:`json`},{title:`.yml / .yaml`,value:`yml,yaml`},{title:`.txt`,value:`txt`},{title:`.php`,value:`php`},{title:`.js / .ts`,value:`js,ts`}];function Zr(e,t){if(!t)return!0;let n=e.toLowerCase();return t.split(`,`).some(e=>n.endsWith(`.${e.trim()}`))}function Qr(e){let t=e.toLowerCase();return t.endsWith(`.tar.gz`)||t.endsWith(`.tgz`)||t.endsWith(`.zip`)}var $r=300*1024,ei=2*1024*1024,ti=40,ni=4,ri=new Map;function ii(e,t){return`${e}:${Q(t)}`}function ai(e){let t=Q(e),n=t.lastIndexOf(`/`);return n<=0?`/`:t.slice(0,n)||`/`}function oi(){ri.clear()}function si(e,t){let n=Q(t);for(let t of[...ri.keys()]){if(!t.startsWith(`${e}:`)){ri.delete(t);continue}ai(t.slice(`${e}:`.length))!==n&&ri.delete(t)}}function ci(e,t){ri.delete(ii(e,t))}function li(e){if(e.type!==`file`)return!1;let t=e.size??0;return t>0&&t<=307200}function ui(e){return e!=null&&e>0&&e>2097152}function di(e){return typeof e==`string`?{content:e,mtime:null,etag:null,eol:`LF`}:{content:e.content??JSON.stringify(e,null,2),mtime:e.mtime??null,etag:e.etag??null,eol:e.eol??`LF`}}async function fi(e,t,n=$r){let r=ii(e,t),i=ri.get(r);if(i!==void 0)return i;let a=di(await F.post(`/sync/read-file`,{server_id:e,path:Q(t),max_size:n}));return ri.set(r,a),a}function pi(e,t,n){let r=n.filter(li).sort((e,t)=>(e.size??0)-(t.size??0)).slice(0,ti);if(!r.length)return;let i=0,a=async()=>{for(;ia()))}function mi(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}function hi(e){let t=o(),{selectedServer:n,currentPath:r}=d(qr()),{selectedFiles:i,selectedAbsolutePaths:a,clearSelection:s}=e.selection,{setFromSelection:c,canPasteOnServer:l,pasteToDirectory:u}=Ur(),f=P(!1),p=P(!1),m=P(!1),g=P(``),_=P(!1),v=P(!1),y=P(``),b=P(`tar.gz`),x=P([]),S=P(!1),C=P(``),w=P(`.`),ee=P(!1),te=P([]),T=P(!1),ne=P(``),E=e.actionLoading??P(!1),D=P(null),re=P(!1),O=P(``),k=P(null),ie=P(!1),A=P(!1),ae=P(null),oe=P(!1),j=P(0),M=P(0),se=P(null);function N(e){if(e)return Q(e);let t=i.value.filter(e=>e.type===`directory`);return t.length===1&&i.value.length===1?$(r.value,t[0].name):Q(r.value)}let ce=G(()=>{let e=N();return e===Q(r.value)?`当前目录`:e});function le(e){if(!n.value)return;let r=a(e);if(!r.length){t(`请先选择文件或目录`,`warning`);return}c(`copy`,n.value,r)&&t(`已复制 ${r.length} 项`)}function ue(e){if(!n.value)return;let r=a(e);if(!r.length){t(`请先选择文件或目录`,`warning`);return}c(`cut`,n.value,r)&&t(`已剪切 ${r.length} 项`)}async function de(r){if(!n.value){t(`请先选择服务器`,`warning`);return}if(!l(n.value)){t(`剪贴板为空或服务器不一致`,`warning`);return}let i=N(r);E.value=!0;try{await u(i),s(),e.invalidateAfterMutation(i),await e.browse({force:!0}),t(`已粘贴到 ${i}`)}catch(e){t(e instanceof Error?e.message:`粘贴失败`,`error`)}finally{E.value=!1}}async function fe(e){if(f.value=!1,!n.value){t(`请先选择服务器`,`warning`);return}let r=e.dataTransfer?.files;r?.length&&(te.value=Array.from(r),await we())}function pe(t){if(oe.value=!1,!se.value)return;let n=se.value;switch(t){case`open`:e.openEntry(n);break;case`copy`:le([n]);break;case`cut`:ue([n]);break;case`paste`:de();break;case`pasteInto`:n.type===`directory`&&de($(r.value,n.name));break;case`edit`:e.editFile(n);break;case`preview`:e.previewFile(n);break;case`download`:xe(n);break;case`copyPath`:me(n);break;case`terminal`:e.openInTerminal();break;case`compress`:he([n]);break;case`decompress`:I(n);break;case`rename`:_e(n);break;case`chmod`:z(n);break;case`delete`:Se(n);break}}async function me(e){let n=$(r.value,e.name);try{await navigator.clipboard.writeText(n),t(`路径已复制`)}catch{t(`复制失败`,`error`)}}function he(e){if(!n.value)return;let a=e?.length?e:i.value.length?i.value:[];if(!a.length){t(`请选择要压缩的文件或目录`,`warning`);return}x.value=a.map(e=>$(r.value,e.name));let o=a.length===1?a[0].name.replace(/\.[^.]+$/,``):`archive`;y.value=$(r.value,`${o}.tar.gz`),b.value=`tar.gz`,v.value=!0}function I(e){if(n.value){if(!Qr(e.name)){t(`仅支持 .tar.gz / .tgz / .zip`,`warning`);return}C.value=$(r.value,e.name),w.value=r.value,S.value=!0}}async function L(){if(!(!n.value||!x.value.length||!y.value)){E.value=!0;try{let r=y.value;b.value===`zip`&&!r.endsWith(`.zip`)&&(r=r.replace(/\.tar\.gz$/i,`.zip`),r.endsWith(`.zip`)||(r+=`.zip`)),await F.post(`/sync/compress`,{server_id:n.value,paths:x.value,dest:r,format:b.value}),v.value=!1,s(),e.invalidateAfterMutation(),await e.browse({force:!0}),t(`压缩完成`)}catch(e){t(e instanceof Error?e.message:`压缩失败`,`error`)}finally{E.value=!1}}}async function R(){if(!(!n.value||!C.value)){E.value=!0;try{await F.post(`/sync/decompress`,{server_id:n.value,path:C.value,dest:w.value||`.`}),S.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`解压完成`)}catch(e){t(e instanceof Error?e.message:`解压失败`,`error`)}finally{E.value=!1}}}async function ge(){if(!n.value||!g.value)return;let i=Gt(g.value);if(i!==!0){t(i,`warning`);return}let a=g.value,o=$(r.value,a);E.value=!0;try{await F.post(`/sync/write-file`,{server_id:n.value,path:o,content:``}),m.value=!1,g.value=``,ci(n.value,o),e.invalidateAfterMutation(),await e.browse({force:!0}),t(`文件已创建`),await h(),e.editorWorkbench.value?.openFile({path:o,name:a,content:``,eol:`LF`,etag:null,mtime:null})}catch(e){t(e instanceof Error?e.message:`创建失败`,`error`)}finally{E.value=!1}}function _e(e){k.value=e,O.value=e.name,re.value=!0}async function ve(){if(!(!n.value||!k.value||!O.value))try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`rename`,path:$(r.value,k.value.name),new_path:$(r.value,O.value)}),re.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`重命名成功`)}catch(e){t(e instanceof Error?e.message:`重命名失败`,`error`)}}function z(e){ae.value=e,ie.value=!0}async function ye(i){if(!(!n.value||!ae.value)){A.value=!0;try{await F.post(`/sync/chmod`,{server_id:n.value,path:$(r.value,ae.value.name),mode:i.mode,owner:i.owner,group:i.group,recursive:i.recursive??!1}),ie.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`权限已修改`)}catch(e){t(e instanceof Error?e.message:`修改权限失败`,`error`)}finally{A.value=!1}}}async function be(){if(!n.value||!i.value.length||!confirm(`确定删除 ${i.value.length} 个文件?`))return;let a=0,o=0;for(let e of i.value)try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`delete`,path:$(r.value,e.name)}),a++}catch{o++}s(),e.invalidateAfterMutation(),await e.browse({force:!0}),o===0?t(`已删除 ${a} 项`):t(`删除完成:成功 ${a},失败 ${o}`,o>0?`warning`:`success`)}async function xe(e){if(n.value)try{let i=$(r.value,e.name),{blob:a,filename:o}=await F.download(`/sync/download`,{server_id:n.value,path:i});mi(a,o),t(`已下载 ${o}`)}catch(e){t(e instanceof Error?e.message:`下载失败`,`error`)}}async function Se(e){D.value=e,ee.value=!0}async function B(){if(!(!n.value||!D.value)){E.value=!0;try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`delete`,path:$(r.value,D.value.name)}),ee.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`已删除`)}catch(e){t(e instanceof Error?e.message:`删除失败`,`error`)}finally{E.value=!1}}}async function Ce(){if(!n.value||!ne.value)return;let i=Gt(ne.value);if(i!==!0){t(i,`warning`);return}E.value=!0;try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`mkdir`,path:$(r.value,ne.value)}),_.value=!1,ne.value=``,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`目录已创建`)}catch(e){t(e instanceof Error?e.message:`创建失败`,`error`)}finally{E.value=!1}}async function we(){if(!(!n.value||!te.value.length)){T.value=!0;try{let i=new FormData;for(let e of te.value)i.append(`file`,e);i.append(`server_id`,String(n.value)),i.append(`remote_path`,r.value),await F.upload(`/sync/upload`,i),p.value=!1,te.value=[],e.invalidateAfterMutation(),await e.browse({force:!0}),t(`上传成功`)}catch(e){t(e instanceof Error?e.message:`上传失败`,`error`)}finally{T.value=!1}}}function Te(e){return e instanceof HTMLElement?!!e.closest(`button, a, input, .v-checkbox, .v-selection-control`):!1}function Ee(e){let t=e.item;return{class:t.type===`directory`?`files-row--dir`:void 0,style:{cursor:t.type===`directory`||t.type===`symlink`?`pointer`:`default`},onClick:e=>{Te(e.target)||e.detail===1&&De(e,{item:t})},onDblclick:e=>{Te(e.target)||Oe(e,{item:t})},onContextmenu:e=>{Te(e.target)||V(e,{item:t})}}}function De(t,{item:n}){(n.type===`directory`||n.type===`symlink`)&&e.openEntry(n)}function Oe(t,{item:n}){n.type===`file`&&e.editFile(n)}function V(e,{item:t}){e.preventDefault(),se.value=t,j.value=e.clientX,M.value=e.clientY,oe.value=!0}return{dropActive:f,showUpload:p,showNewFile:m,newFileName:g,showMkdir:_,showCompress:v,compressDest:y,compressFormat:b,compressPaths:x,showDecompress:S,decompressSource:C,decompressDest:w,showFileDelete:ee,uploadFiles:te,uploading:T,mkdirName:ne,actionLoading:E,deletingFile:D,showRename:re,newName:O,renamingFile:k,showChmod:ie,chmodLoading:A,chmodFile:ae,showContextMenu:oe,contextX:j,contextY:M,contextFile:se,copyToClipboard:le,cutToClipboard:ue,pasteClipboard:de,onDropFiles:fe,contextAction:pe,openCompressDialog:he,openDecompressDialog:I,doCompress:L,doDecompress:R,doNewFile:ge,startRename:_e,doRename:ve,startChmod:z,doChmod:ye,batchDelete:be,downloadFile:xe,confirmDeleteFile:Se,doDeleteFile:B,doMkdir:Ce,doUpload:we,fileRowProps:Ee,pasteDestLabel:ce}}var gi=!1;function _i(){x(async()=>{let{initMonaco:e}=await import(`./initMonaco-BdzAW2O1.js`).then(e=>e.r);return{initMonaco:e}},__vite__mapDeps([0,1,2,3])).then(({initMonaco:t})=>{t(),e()})}function vi(){gi||(gi=!0,typeof requestIdleCallback==`function`?requestIdleCallback(_i,{timeout:3e3}):setTimeout(_i,300))}var yi=200,bi=0,xi=null,Si=``,Ci=null;function wi(e){return e.includes(`No such file or directory`)||e.includes(`not a directory`)}function Ti(e,t){return wi(e)?`路径不存在:${t},请检查服务器「target_path」设置`:e.includes(`Permission denied`)||e.includes(`Operation not permitted`)?`无读取权限(${t})`:e.includes(`connection_error`)||e.includes(`SSH pool at capacity`)?`SSH 连接失败或连接池繁忙,请稍后点「刷新」重试`:e.includes(`timed out`)||e.includes(`timeout`)?`远程命令超时(${t}),请检查目标机负载或网络`:e}function Ei(e){e.loading=!0,!Ci&&(Ci=setTimeout(()=>{Ci=null,e.loading&&(e.loadingVisible=!0)},yi))}function Di(e){e.loading=!1,Ci&&=(clearTimeout(Ci),null),e.loadingVisible=!1}async function Oi(e,t,n){let r={};n&&(r[`If-None-Match`]=n);try{return await me(`/files/browse`,{method:`GET`,params:{server_id:e,path:t},headers:r})}catch(n){if(!(n instanceof qe&&(n.status>=500||n.status===404||n.status===405)))throw n;return{status:200,data:await F.post(`/sync/browse`,{server_id:e,path:t}),etag:null}}}function ki(e){let t=o(),n=we(),r=$e(),i=qr(),{selectedServer:a,currentPath:s,files:c,loading:l,loadingVisible:u,browseError:f,pageReady:p,filesCapability:m}=d(i);function h(){let e={...n.query};a.value?(e.server_id=String(a.value),e.path=s.value===`/www/wwwroot`?void 0:s.value):(delete e.server_id,delete e.path),r.replace({query:e})}let g=G(()=>p.value?a.value?f.value?f.value:e?.value.trim()?`无匹配文件`:m.value?.is_root?`目录为空(${s.value}),可在上方修改路径或到「服务器」核对 target_path`:`目录为空(${s.value})`:`请先选择服务器`:`正在加载…`);function _(e,n,r,a,o){if(o!==bi)return!1;let{items:l,error:u}=Bt(r??{items:[]});if(u&&wi(u)&&n!==`/`){f.value=``;let e=Wt(n);if(e)return t(`路径 "${n}" 不存在,已自动跳转到上级目录`,`info`),s.value=e,v(),!0}return f.value=u?Ti(u,n):``,u&&!wi(u)&&t(Ti(u,n),`warning`),c.value=l,u||i.setCached(e,n,l,a??void 0),e&&l.length&&(si(e,n),pi(e,n,l),vi()),!0}async function v(e){if(!a.value)return;let n=Q(s.value),r=a.value,o=`${r}:${n}`,l=e?.force?null:i.getCached(r,n);if(l&&(c.value=l,f.value=``),xi&&Si===o)return xi;Si=o;let u=++bi;e?.silent||Ei(i),s.value=n;let d=e?.force?void 0:i.getCachedEtag(r,n);return xi=(async()=>{try{let e=await Oi(r,n,d);if(u!==bi)return;if(e.status===304){let t=i.getCacheEntry(r,n);if(t){c.value=t.items,i.touchCache(r,n),f.value=``;return}if(e=await Oi(r,n),u!==bi)return}_(r,n,e.data,e.etag,u)}catch(e){if(u!==bi)return;let n=Ct(e,`浏览目录失败`);f.value=n,t(n,`error`)}finally{u===bi&&(e?.silent?(i.loading=!1,i.loadingVisible=!1):Di(i),h()),Si===o&&(xi=null,Si=``)}})(),xi}function y(){if(!a.value){t(`请先选择服务器`,`warning`);return}s.value=Q(s.value),i.invalidateCache(a.value,s.value),v({force:!0})}function b(e){if(!a.value)return;let t=e??s.value;i.invalidateCache(a.value,Q(t)),oi()}return{emptyHint:g,browse:v,browseCurrent:y,invalidateAfterMutation:b,loadingVisible:u}}function Ai(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`:`—`}function ji(e){let t=o(),{selectedServer:n,currentPath:r,lastReadDeniedPath:i,accessHintDismissed:a}=d(qr()),s=P(!1),c=P(``),l=P(``),u=P(!1),f=P(null);async function p(){let e=Date.now()+8e3;for(;Date.now()setTimeout(e,40)),await h()}return f.value}function m(e,n){return ui(e.size)?(t(`文件超过 2MB(${Ai(e.size)}),无法${n},请下载或使用终端`,`warning`),!0):!1}function g(t){n.value&&t&&ci(n.value,t),e.invalidateAfterMutation(),e.browse({force:!0})}async function _(e){if(!n.value||m(e,`查看`))return;let o=$(r.value,e.name);c.value=e.name,l.value=``,u.value=!0,s.value=!0,(e.size??0)>307200&&t(`文件较大(${Ai(e.size)}),正在加载…`,`info`);try{l.value=(await fi(n.value,o,2097152)).content||`(空文件)`}catch(n){let r=n instanceof Error?n.message:`读取失败`;l.value=r,Zn(r)&&(i.value=e.name,a.value=!1),t(r,`error`)}finally{u.value=!1}}async function v(o){if(n.value&&!m(o,`编辑`)){(o.size??0)>307200&&t(`文件较大(${Ai(o.size)}),正在加载…`,`info`),e.actionLoading.value=!0;try{let e=$(r.value,o.name),i=await fi(n.value,e,ei),a=await p();if(!a){t(`编辑器尚未就绪,请稍后重试`,`error`);return}a.openFile({path:e,name:o.name,content:i.content,eol:i.eol,etag:i.etag,mtime:i.mtime})}catch(e){let n=e instanceof Error?e.message:`读取失败`;Zn(n)&&(i.value=o.name,a.value=!1),t(n,`error`)}finally{e.actionLoading.value=!1}}}return{showPreview:s,previewTitle:c,previewContent:l,previewLoading:u,editorWorkbench:f,previewFile:_,editFile:v,onEditorSaved:g,formatSize:Ai}}function Mi(e){let t=o(),n=we(),r=$e(),{servers:i,loadServers:a}=wt(),s=qr(),{selectedServer:c,currentPath:l,pageReady:u,routeReady:f,initing:p,accessHintDismissed:m}=d(s),h=G(()=>Kt(l.value)),g=G(()=>Wt(l.value)!==null);function _(e){if(e==null)return Vt;let t=i.value.find(t=>t.id===e)?.target_path?.trim();return t?Q(t):Vt}function v(){let e=n.query.path;return typeof e==`string`&&e.trim()?Q(e):_(c.value)}function y(){let e=n.query.server_id;if(e){let t=Number(e);if(Number.isFinite(t)&&i.value.some(e=>e.id===t))return t}let t=sessionStorage.getItem(Sr);if(t){let e=Number(t);if(Number.isFinite(e)&&i.value.some(t=>t.id===e))return e}return i.value[0]?.id??null}function b(n){if(!c.value){t(`请先选择服务器`,`warning`);return}l.value=Q(n),e.clearSelection(),e.browse()}function x(e){if(e.type===`directory`){b($(l.value,e.name));return}if(e.type===`symlink`){let n=e.link_target?.trim();n?.startsWith(`/`)?b(n):t(n?`符号链接 → ${n}`:`相对符号链接(请在终端中打开)`,`info`)}}function S(){let e=Wt(l.value);e!=null&&b(e)}function C(e){let t=h.value[e];t&&!t.disabled&&b(t.path)}function w(){c.value&&r.push({path:`/terminal`,query:{server_id:String(c.value),path:l.value||`/`}})}function ee(){p.value||(c.value&&sessionStorage.setItem(Sr,String(c.value)),s.invalidateCache(),l.value=_(c.value),e.clearSelection(),s.resetForServerChange(),sessionStorage.removeItem(Cr),(async()=>{await e.refreshFilesCapability(),await e.browse({force:!0})})())}let te=!1;return ne(async()=>{p.value=!0;try{if(await a(),sessionStorage.getItem(`nexus:files-hint-dismissed`)&&(m.value=!0),!i.value.length){t(`暂无可用服务器,请先在「服务器」页添加`,`warning`),u.value=!0;return}let r=y();if(r==null){u.value=!0;return}c.value=r;let o=n.query.path;l.value=typeof o==`string`&&o?Q(o):_(r),await e.refreshFilesCapability(),await e.browse(),u.value=!0,f.value=!0}finally{p.value=!1,te=!0}}),re(()=>{!te||!u.value||!c.value||e.browse({silent:!0})}),ce(()=>n.query.server_id,t=>{f.value&&t&&Number(t)!==c.value&&(c.value=Number(t),l.value=v(),s.resetForServerChange(),(async()=>{await e.refreshFilesCapability(),await e.browse({force:!0})})())}),ce(()=>n.query.path,()=>{if(!f.value||!c.value)return;let t=v();t!==Q(l.value)&&(l.value=t,e.clearSelection(),e.browse())}),{serverList:i,breadcrumbs:h,canGoUp:g,navigateToPath:b,openEntry:x,goUp:S,onBreadcrumbClick:C,openInTerminal:w,onServerChange:ee,defaultPathForServer:_}}function Ni(e){let t=o(),{selectedServer:n,files:r,browseError:i,filesCapability:a,lastReadDeniedPath:s,accessHintDismissed:c,setupSudoLoading:l,setupSudoDone:u}=d(qr()),f=G(()=>a.value?.ssh_user??null),p=G(()=>{let e=f.value;return e?r.value.filter(t=>Qn(t,e)).length:0}),m=G(()=>{if(c.value||!n.value||i.value&&wi(i.value))return null;let e=a.value;return er({sshUser:e?.ssh_user,canSudo:e?.can_sudo_nopasswd??!1,whitelistOk:e?.whitelist_ok??!1,isRootSsh:e?.is_root??!1,filesElevation:e?.files_elevation,capabilityMessage:e?.message,lastReadDeniedPath:s.value,unreadableCount:p.value})});function h(){c.value=!0,sessionStorage.setItem(Cr,`1`)}async function g(){if(!n.value){a.value=null;return}try{a.value=await F.get(`/servers/${n.value}/files-capability`)}catch{a.value=null}}async function _(){if(n.value){l.value=!0;try{let r=await F.post(`/servers/${n.value}/setup-files-sudo`,{});u.value=!0,t(r.message||`sudoers 配置成功,文件管理器现在可自动提权`,`success`),h(),await g(),await e.browse({force:!0})}catch(e){t(`一键配置失败:${e instanceof Error?e.message:`配置失败`}`,`error`)}finally{l.value=!1}}}return{sshUserForFiles:f,filesAccessHint:m,dismissFilesAccessHint:h,refreshFilesCapability:g,setupFilesSudo:_}}function Pi(){let{currentPath:e}=d(qr()),t=P([]),n=G(()=>t.value.length);function r(){t.value=[]}function i(n){return(n?.length?n:t.value).map(t=>$(e.value,t.name))}return{selectedFiles:t,selectedFileCount:n,clearSelection:r,selectedAbsolutePaths:i}}function Fi(){let e=P(``),t=P(``),n=P(`name`),r=[{title:`名称`,value:`name`},{title:`大小`,value:`size`},{title:`修改时间`,value:`modified`}],{selectedServer:i,currentPath:a,files:o,loading:s,browseError:c,pageReady:l,setupSudoLoading:u,setupSudoDone:f}=d(qr()),p=Pi(),{selectedFiles:m,selectedFileCount:h,clearSelection:g}=p,{emptyHint:_,browse:v,browseCurrent:y,invalidateAfterMutation:b,loadingVisible:x}=ki(e),S=Ni({browse:v}),{sshUserForFiles:C,filesAccessHint:w,dismissFilesAccessHint:ee,setupFilesSudo:te}=S,T=Mi({browse:v,refreshFilesCapability:S.refreshFilesCapability,clearSelection:g}),ne=P(!1),E=ji({browse:v,invalidateAfterMutation:b,actionLoading:ne}),D=hi({browse:v,invalidateAfterMutation:b,selection:p,openEntry:T.openEntry,editFile:E.editFile,previewFile:E.previewFile,openInTerminal:T.openInTerminal,editorWorkbench:E.editorWorkbench,actionLoading:ne}),{hasClipboard:re,clipboardSummary:O,canPasteOnServer:k}=Ur(),ie=G(()=>k(i.value)),A=G(()=>{let r=Yr(o.value,n.value,`asc`),i=t.value;i&&(r=r.filter(e=>Zr(e.name,i)));let a=e.value.trim().toLowerCase();return a&&(r=r.filter(e=>e.name.toLowerCase().includes(a))),r}),ae=G(()=>{let e=o.value.filter(e=>e.type===`directory`).length,t=o.value.filter(e=>e.type===`file`).length,n=o.value.filter(e=>e.type===`symlink`).length,r=o.value.filter(li).length,i=[`${e} 个目录`,`${t} 个文件`];return n&&i.push(`${n} 个链接`),r&&i.push(`${r} 个 ≤300KB 可预加载`),`${i.join(`,`)} · ${a.value}`});function oe(e){return Qr(e)}function j(e){return e.type===`directory`?`mdi-folder`:e.type===`symlink`?`mdi-link-variant`:`mdi-file-outline`}function M(e){return e.type===`directory`?`amber`:e.type===`symlink`?`teal`:`blue`}function se(e){return e.type===`file`}return Gr({refresh:y,goUp:T.goUp,renameSelection:()=>{m.value.length===1&&D.startRename(m.value[0])},deleteSelection:()=>{m.value.length>0&&D.batchDelete()},selectAll:()=>{m.value=[...A.value]},copySelection:()=>D.copyToClipboard(),cutSelection:()=>D.cutToClipboard(),pasteClipboard:()=>{D.pasteClipboard()}},m,ie),{FILE_EXT_FILTERS:Xr,validatePathSegment:Gt,required:Dt,fileFilter:e,extFilter:t,sortBy:n,sortOptions:r,selectedServer:i,currentPath:a,files:o,loading:s,loadingVisible:x,browseError:c,pageReady:l,setupSudoLoading:u,setupSudoDone:f,serverList:T.serverList,onServerChange:T.onServerChange,browseCurrent:y,filesAccessHint:w,dismissFilesAccessHint:ee,setupFilesSudo:te,sshUserForFiles:C,statusSummary:ae,hasClipboard:re,clipboardSummary:O,pasteDestLabel:D.pasteDestLabel,canPasteHere:ie,breadcrumbs:T.breadcrumbs,onBreadcrumbClick:T.onBreadcrumbClick,canGoUp:T.canGoUp,goUp:T.goUp,selectedFiles:m,selectedFileCount:h,displayedFiles:A,fileHeaders:[{title:`名称`,key:`name`},{title:`归属`,key:`owner`,width:110,sortable:!1},{title:`大小`,key:`size`,width:120},{title:`修改时间`,key:`modified`,width:180},{title:`操作`,key:`actions`,width:300,sortable:!1,align:`end`}],fileRowProps:D.fileRowProps,dropActive:D.dropActive,onDropFiles:D.onDropFiles,emptyHint:_,entryIcon:j,entryIconColor:M,isEntryLikelyUnreadable:Qn,formatOwnerChip:Kn,ownerChipColor:qn,permissionTooltip:Jn,formatSize:E.formatSize,isRegularFile:se,isArchiveName:oe,showUpload:D.showUpload,uploadFiles:D.uploadFiles,uploading:D.uploading,doUpload:D.doUpload,showNewFile:D.showNewFile,newFileName:D.newFileName,doNewFile:D.doNewFile,showMkdir:D.showMkdir,mkdirName:D.mkdirName,doMkdir:D.doMkdir,showFileDelete:D.showFileDelete,deletingFile:D.deletingFile,doDeleteFile:D.doDeleteFile,showRename:D.showRename,newName:D.newName,doRename:D.doRename,showChmod:D.showChmod,chmodFile:D.chmodFile,chmodLoading:D.chmodLoading,doChmod:D.doChmod,showCompress:D.showCompress,compressDest:D.compressDest,compressFormat:D.compressFormat,compressPaths:D.compressPaths,doCompress:D.doCompress,showDecompress:D.showDecompress,decompressSource:D.decompressSource,decompressDest:D.decompressDest,doDecompress:D.doDecompress,showContextMenu:D.showContextMenu,contextX:D.contextX,contextY:D.contextY,contextFile:D.contextFile,contextAction:D.contextAction,actionLoading:ne,batchDelete:D.batchDelete,openCompressDialog:D.openCompressDialog,showPreview:E.showPreview,previewTitle:E.previewTitle,previewContent:E.previewContent,previewLoading:E.previewLoading,editorWorkbench:E.editorWorkbench,onEditorSaved:E.onEditorSaved,navigateToPath:T.navigateToPath,pasteClipboard:D.pasteClipboard,editFile:E.editFile,previewFile:E.previewFile,downloadFile:D.downloadFile,confirmDeleteFile:D.confirmDeleteFile,openInTerminal:T.openInTerminal}}var Ii=M({name:`FilesPage`,__name:`FilesPage`,setup(e){let t=Fi();kt(t);let{editorWorkbench:n}=t,{selectedServer:r,currentPath:i}=d(qr());return(e,o)=>(k(),V(a,{fluid:``,class:`pa-6`},{default:N(()=>[X(Vr),X(Rr),X(Br),X(Rt),X(Ir),X(xr),X(Wn,{ref_key:`editorWorkbench`,ref:n,"server-id":K(r)??0,"current-path":K(i),onSaved:o[0]||=e=>K(t).onEditorSaved(e),onPathChange:K(t).navigateToPath,onPasteTarget:K(t).pasteClipboard},null,8,[`server-id`,`current-path`,`onPathChange`,`onPasteTarget`])]),_:1}))}});export{Ii as default}; \ No newline at end of file +`):n}function Te(e){return sn(e.name,e.path,e.languageId)}function Ee(e){return`${c.serverId}:${Q(e)}`}function De(e){let t=Wt(Q(e));t&&(D.value=t)}function H(e){D.value=Q(e),l(`path-change`,D.value)}function ke(e){S.value||e.target.closest(`button, .v-tab, .v-btn, input, a`)||g(e)}function Ae(){if(!j)return;let e=j.getPosition();ne.value=e?.lineNumber??1,E.value=e?.column??1}function je(e=!1){if(!j||!R.value)return;let t=R.value,n=j.saveViewState();t.viewState=n?te(n):null;let r=()=>{!j||R.value?.id!==t.id||(t.content=Ce(j.getValue()),fe(t,t.content!==t.originalContent))};if(e){M&&=(clearTimeout(M),null),r();return}M&&clearTimeout(M),M=setTimeout(r,250)}async function Ne(){let e=++se;if(await h(),await h(),e!==se||!R.value)return;Re();let t=(n=0)=>{if(e!==se||!j)return;j.layout();let r=oe.value;r&&(r.clientWidth<2||r.clientHeight<2)&&n<12&&setTimeout(()=>t(n+1),50)};requestAnimationFrame(()=>t())}function Pe(){se++,M&&=(clearTimeout(M),null),j?.dispose(),j=null,ee.value=!1}function Fe(){for(let e of y.value)e.model?.dispose();y.value=[],b.value=null,Pe(),S.value=!1,x.value=!1}function Ie(e){let t=R.value;!t||!t.model||(t.languageId=e===`auto`||!e?null:e,s.editor.setModelLanguage(t.model,Te(t)))}function Le(e){if(j){if(!e.model){let t=Te(e),n=Ce(e.content);e.model=te(s.editor.createModel(n,t,s.Uri.parse(`nexus://${c.serverId}${e.path}`)))}j.setModel(e.model),e.viewState&&j.restoreViewState(e.viewState),s.editor.setModelLanguage(e.model,Te(e)),De(e.path),Ae()}}function Re(){if(!oe.value||!R.value)return;Pe(),ee.value=!1;let e=R.value;if(!e.model){let t=Te(e),n=Ce(e.content);e.model=te(s.editor.createModel(n,t,s.Uri.parse(`nexus://${c.serverId}${e.path}`)))}j=s.editor.create(oe.value,{...r(),model:e.model,wordWrap:ie.value?`on`:`off`,automaticLayout:!0}),e.viewState&&j.restoreViewState(e.viewState),j.onDidChangeModelContent(()=>{je(),Ae()}),j.onDidChangeCursorPosition(()=>{Ae()}),j.addCommand(s.KeyMod.CtrlCmd|s.KeyCode.KeyS,()=>{Ye()}),j.addCommand(s.KeyCode.Escape,()=>{S.value&&=!1}),j.addCommand(s.KeyMod.Alt|s.KeyCode.KeyZ,()=>{Je()}),De(e.path),t(s),ee.value=!0,Ae()}function W(e){if(typeof e!=`string`||!e)return;je(!0),b.value=e;let t=y.value.find(t=>t.id===e);t&&(j?Le(t):Ne())}function ze(e){b.value=e,x.value=!1,h(()=>{v();let t=y.value.find(t=>t.id===e);t&&(j?Le(t):Ne())})}function Be(e){let t=Ee(e.path),n=y.value.find(e=>e.id===t);if(n){b.value=t,x.value=!1,Ne().then(()=>{j&&Le(n)});return}try{let n=Ce(e.content),r=sn(e.name,e.path,null),i=s.Uri.parse(`nexus://${c.serverId}${e.path}`),a=s.editor.getModel(i);a&&a.dispose();let o=te(s.editor.createModel(n,r,i));y.value=[...y.value,{id:t,path:e.path,name:e.name,content:n,originalContent:n,modified:!1,languageId:null,eol:e.eol,etag:e.etag,mtime:e.mtime,model:o,viewState:null}],b.value=t,x.value=!1,De(e.path),Ne()}catch(e){u(e instanceof Error?e.message:`无法打开编辑器`,`error`),console.error(`[FileEditorWorkbench] openFile failed`,e)}}function Ve(e){let t=y.value.findIndex(t=>t.id===e);if(!(t<0)){if(y.value[t].model?.dispose(),y.value=y.value.filter(t=>t.id!==e),y.value.length===0){b.value=null,Pe(),S.value=!1,x.value=!1,l(`closed`);return}if(b.value===e){let e=y.value[Math.min(t,y.value.length-1)];b.value=e.id,Ne().then(()=>{let t=y.value.find(t=>t.id===e.id);t&&j&&Le(t)})}}}function He(e){let t=y.value.find(t=>t.id===e);if(!t)return;if(b.value===e&&je(!0),t.modified){pe.value=e,me.value=!1,T.value=!0;return}let n=b.value===e;n&&Pe(),Ve(e),n&&b.value&&Ne()}function Ue(){if(je(!0),y.value.some(e=>e.modified)){pe.value=null,me.value=!0,T.value=!0;return}Fe(),l(`closed`)}function We(){T.value=!1,pe.value=null,me.value=!1}function Ge(){if(T.value=!1,me.value)Fe(),l(`closed`);else if(pe.value){let e=pe.value,t=b.value===e;t&&Pe(),Ve(e),t&&b.value&&Ne()}pe.value=null,me.value=!1}async function Ke(){let e=me.value,t=pe.value;if(await Ye(),T.value=!1,me.value=!1,pe.value=null,e){y.value.some(e=>e.modified)||(Fe(),l(`closed`));return}if(t){let e=y.value.find(e=>e.id===t);if(e&&!e.modified){let e=b.value===t;e&&Pe(),Ve(t),e&&b.value&&Ne()}}}function Je(){ie.value=!ie.value,j?.updateOptions({wordWrap:ie.value?`on`:`off`})}async function Ye(e=!1){if(!c.serverId){u(`请先选择服务器`,`error`);return}je(!0);let t=R.value;if(!t||!t.modified)return;let n=we(j?.getValue()??t.content,t.eol);w.value=!0;try{let r=await F.post(`/sync/write-file`,{server_id:c.serverId,path:t.path,content:n,etag:e?null:t.etag}),i=Ce(n);t.content=i,t.originalContent=i,fe(t,!1),t.etag=r?.etag??null,ue(),u(`文件已保存`),l(`saved`,t.path)}catch(e){if(e instanceof qe&&e.status===409){ae.value=t.id,A.value=!0;return}u(e instanceof qe||e instanceof Error?e.message:`保存失败`,`error`)}finally{w.value=!1}}function Xe(){A.value=!1,ae.value=null}async function Ze(){A.value=!1;let e=ae.value;ae.value=null,!(!e||b.value!==e)&&await Ye(!0)}function Qe(){A.value=!1;let e=ae.value;if(ae.value=null,!e)return;let t=y.value.find(t=>t.id===e);if(t){if(t.content=t.originalContent,fe(t,!1),t.model){let e=we(t.originalContent,t.eol);t.model.setValue(Ce(e))}ue(),u(`已放弃本地修改`,`info`)}}ce(()=>c.currentPath,e=>{e&&(D.value=Q(e))}),ce(S,()=>{h(()=>j?.layout())}),ce(x,e=>{e||h(()=>j?.layout())});function $e(){return y.value.length>0}return i({openFile:Be,hasOpenTabs:$e}),f(()=>{for(let e of y.value)e.model?.dispose();Pe()}),(t,n)=>(k(),Y(B,null,[(k(),V(Oe,{to:`body`},[y.value.length>0&&!x.value&&R.value?(k(),Y(`div`,{key:0,class:Me([`file-editor-float`,{"file-editor-float--maximized":S.value}]),style:ge(ye.value)},[X(Z,{border:``,rounded:`lg`,class:`file-editor-panel d-flex flex-column h-100`},{default:N(()=>[U(`div`,{class:Me([`file-editor-toolbar d-flex align-center flex-shrink-0`,{"file-editor-toolbar--draggable":!S.value}]),onMousedown:ke},[S.value?L(``,!0):(k(),V(de,{key:0,size:`16`,class:`ml-2 mr-1 text-disabled file-editor-drag-hint`,onMousedown:n[0]||=J(()=>{},[`stop`])},{default:N(()=>[...n[19]||=[z(` mdi-drag `,-1)]]),_:1})),X(jn,{"model-value":b.value??void 0,density:`compact`,"show-arrows":``,class:`file-editor-tabs flex-grow-1 min-w-0`,"onUpdate:modelValue":W,onMousedown:n[1]||=J(()=>{},[`stop`])},{default:N(()=>[(k(!0),Y(B,null,C(y.value,e=>(k(),V(un,{key:e.id,value:e.id,class:`text-none px-2`},{default:N(()=>[U(`span`,Mn,q(e.name),1),e.modified?(k(),Y(`span`,Nn,`●`)):L(``,!0),X(O,{icon:`mdi-close`,size:`x-small`,variant:`text`,class:`ml-1 opacity-60`,density:`compact`,onClick:J(t=>He(e.id),[`stop`])},null,8,[`onClick`])]),_:2},1032,[`value`]))),128))]),_:1},8,[`model-value`]),X(rt,{vertical:``,class:`mx-1`,style:{height:`20px`,"align-self":`center`},onMousedown:n[2]||=J(()=>{},[`stop`])}),X(mt,{modelValue:ve.value,"onUpdate:modelValue":[n[3]||=e=>ve.value=e,Ie],items:K(an),"item-title":`title`,"item-value":`value`,density:`compact`,variant:`plain`,"hide-details":``,class:`file-editor-lang-select flex-shrink-0`,onMousedown:n[4]||=J(()=>{},[`stop`])},null,8,[`modelValue`,`items`]),X(O,{size:`small`,variant:`text`,color:ie.value?`primary`:void 0,title:ie.value?`关闭自动换行 (Alt+Z)`:`开启自动换行 (Alt+Z)`,density:`compact`,class:`flex-shrink-0 text-none px-2`,onMousedown:n[5]||=J(()=>{},[`stop`]),onClick:Je},{default:N(()=>[...n[20]||=[z(` 自动换行 `,-1)]]),_:1},8,[`color`,`title`]),X(rt,{vertical:``,class:`mx-1`,style:{height:`20px`,"align-self":`center`},onMousedown:n[6]||=J(()=>{},[`stop`])}),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-save`,loading:w.value,disabled:!R.value?.modified||!ee.value,class:`flex-shrink-0 mr-1`,onMousedown:n[7]||=J(()=>{},[`stop`]),onClick:Ye},{default:N(()=>[...n[21]||=[z(` 保存 `,-1)]]),_:1},8,[`loading`,`disabled`]),X(O,{size:`small`,variant:`text`,icon:S.value?`mdi-fullscreen-exit`:`mdi-fullscreen`,title:S.value?`退出全屏 (Esc)`:`全屏`,density:`compact`,onMousedown:n[8]||=J(()=>{},[`stop`]),onClick:n[9]||=e=>S.value=!S.value},null,8,[`icon`,`title`]),X(O,{size:`small`,variant:`text`,icon:`mdi-window-minimize`,title:`最小化`,density:`compact`,onMousedown:n[10]||=J(()=>{},[`stop`]),onClick:n[11]||=e=>x.value=!0}),X(O,{size:`small`,variant:`text`,icon:`mdi-close`,title:`关闭编辑器`,density:`compact`,class:`mr-1`,onMousedown:n[12]||=J(()=>{},[`stop`]),onClick:Ue})],34),U(`div`,Pn,[U(`aside`,{class:`file-editor-sidebar flex-shrink-0`,onMousedown:n[14]||=J(()=>{},[`stop`])},[X(Qt,{embedded:``,"server-id":e.serverId||null,"root-path":re.value,"current-path":D.value,onNavigate:H,onPasteTarget:n[13]||=e=>l(`paste-target`,e)},null,8,[`server-id`,`root-path`,`current-path`])],32),U(`div`,Fn,[U(`div`,In,[ee.value?L(``,!0):(k(),V(le,{key:0,indeterminate:``,absolute:``,class:`file-editor-progress`})),U(`div`,{ref_key:`editorHost`,ref:oe,class:`file-editor-host`},null,512)]),U(`div`,Ln,[U(`span`,Rn,q(ne.value)+`:`+q(E.value),1),X(rt,{vertical:``,style:{height:`12px`}}),U(`span`,null,q(_e.value),1),X(rt,{vertical:``,style:{height:`12px`}}),ie.value?(k(),Y(`span`,zn,`换行`)):L(``,!0),ie.value?(k(),V(rt,{key:1,vertical:``,style:{height:`12px`}})):L(``,!0),U(`span`,Bn,q(R.value?.path??``),1),R.value?.modified?(k(),Y(`span`,Vn,`未保存`)):L(``,!0)])])]),S.value?L(``,!0):(k(),Y(`div`,{key:0,class:`file-editor-resize`,title:`拖动调整大小`,onMousedown:n[15]||=J((...e)=>K(_)&&K(_)(...e),[`stop`])},null,32))]),_:1})],6)):L(``,!0),y.value.length>0&&x.value?(k(),V(Z,{key:1,border:``,rounded:`lg`,class:`file-editor-dock`},{default:N(()=>[n[22]||=U(`span`,{class:`text-caption text-medium-emphasis mr-2`},`编辑器`,-1),(k(!0),Y(B,null,C(y.value,e=>(k(),V(st,{key:e.id,size:`small`,color:e.id===b.value?`primary`:void 0,variant:`tonal`,class:`cursor-pointer`,onClick:t=>ze(e.id)},{default:N(()=>[z(q(e.name)+` `,1),e.modified?(k(),Y(`span`,Hn,`●`)):L(``,!0)]),_:2},1032,[`color`,`onClick`]))),128)),X(I),X(O,{size:`x-small`,variant:`text`,icon:`mdi-dock-window`,title:`展开`,onClick:n[16]||=e=>x.value=!1}),X(O,{size:`x-small`,variant:`text`,icon:`mdi-close`,title:`关闭全部`,onClick:Ue})]),_:1})):L(``,!0)])),X(Et,{modelValue:T.value,"onUpdate:modelValue":n[17]||=e=>T.value=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[z(q(be.value),1)]),_:1}),X(ft,null,{default:N(()=>[z(q(xe.value),1)]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:We},{default:N(()=>[...n[23]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`error`,variant:`flat`,onClick:Ge},{default:N(()=>[...n[24]||=[z(`不保存`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,onClick:Ke},{default:N(()=>[...n[25]||=[z(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:A.value,"onUpdate:modelValue":n[18]||=e=>A.value=e,"max-width":`440`,persistent:``},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,{class:`text-warning`},{default:N(()=>[X(de,{start:``},{default:N(()=>[...n[26]||=[z(`mdi-alert-outline`,-1)]]),_:1}),n[27]||=z(` 文件冲突 `,-1)]),_:1}),X(ft,null,{default:N(()=>[z(` 「`+q(Se.value)+`」已被外部修改。`,1),n[28]||=U(`br`,null,null,-1),n[29]||=U(`strong`,null,`覆盖`,-1),n[30]||=z(`会以当前编辑内容覆盖服务器版本;`,-1),n[31]||=U(`strong`,null,`放弃`,-1),n[32]||=z(`会丢弃本地修改。 `,-1)]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:Xe},{default:N(()=>[...n[33]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`error`,variant:`flat`,onClick:Qe},{default:N(()=>[...n[34]||=[z(`放弃本地修改`,-1)]]),_:1}),X(O,{color:`warning`,variant:`flat`,onClick:Ze},{default:N(()=>[...n[35]||=[z(`强制覆盖`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-509107ff`]]);function Gn(e){return e==null?``:String(e).trim()}function Kn(e){if(e.type===`symlink`)return`—`;let t=Gn(e.owner),n=Gn(e.group);return t?!n||n===t?t:`${t}:${n}`:`—`}function qn(e){if(e===`root`)return`warning`}function Jn(e){let t=[];e.permissions&&t.push(e.permissions),e.mode_octal&&t.push(e.mode_octal);let n=Gn(e.owner),r=Gn(e.group);return n&&t.push(r&&r!==n?`${n}:${r}`:n),t.join(` · `)||`—`}var Yn=[{label:`文件 644`,mode:`644`,for:`file`},{label:`目录 755`,mode:`755`,for:`directory`},{label:`私密 600`,mode:`600`,for:`file`},{label:`协作 775`,mode:`775`,for:`directory`},{label:`可执行 755`,mode:`755`,for:`file`}],Xn=`docs/deploy/nexus-files-sudoers.example`;function Zn(e){let t=e.toLowerCase();return t.includes(`permission denied`)||t.includes(`operation not permitted`)||t.includes(`无法访问`)||t.includes(`无权限`)||t.includes(`无写入权限`)||t.includes(`读取失败`)||t.includes(`chmod 失败`)}function Qn(e,t){if(!t||t===`root`||e.type!==`file`)return!1;let n=e.permissions??``;if(n.length<10)return!1;let r=Gn(e.owner),i=Gn(e.group),a=n.slice(1,4),o=n.slice(4,7),s=n.slice(7,10);return r===t?!a.includes(`r`):(i&&i===t||!s.includes(`r`))&&!o.includes(`r`)}function $n(){return`目标机安装示例:${Xn}(复制到 /etc/sudoers.d/nexus-files 后执行 visudo -cf 校验)`}function er(e){if(e.isRootSsh)return null;let t=[],n=e.unreadableCount??0;if(e.lastReadDeniedPath&&t.push(`无法读取「${e.lastReadDeniedPath}」:当前 SSH 用户无权限。`),n>0&&e.sshUser&&t.push(`当前目录约 ${n} 个文件对 SSH 用户「${e.sshUser}」不可读。`),t.length>0&&(e.filesElevation===`off`?t.push(`此服务器「文件提权」已关闭,不会自动 sudo。`):e.canSudo?e.whitelistOk?t.push(`系统已自动尝试 sudo -n 提权,如仍失败请检查 sudoers 白名单。`):t.push(`已有 sudo 但白名单不完整(须含 bash、chmod、chown、tee、cat 等)。`):t.push(`请配置免密 sudo(NOPASSWD)或使用「一键配置」,或改用 root SSH 用户。`)),!t.length)return null;let r=e.filesElevation===`off`||!e.canSudo||!e.whitelistOk?` ${$n()}`:``;return{type:!e.canSudo||e.filesElevation===`off`?`error`:`warning`,text:`${t.join(` `)}${r}`}}var tr={key:0,class:`text-body-2 mb-3 text-medium-emphasis`},nr={key:1,class:`text-caption mb-4`},rr={class:`d-flex flex-wrap ga-2 mb-4`},ir={class:`d-flex align-center flex-wrap ga-2 mb-2`},ar={class:`text-body-2`},or={key:0,class:`text-caption mt-1`},sr={class:`text-caption text-medium-emphasis mb-0`},cr=M({__name:`FilePermissionDialog`,props:{modelValue:{type:Boolean},file:{},serverId:{},loading:{type:Boolean}},emits:[`update:modelValue`,`apply`],setup(e,{emit:t}){let n=e,r=t,i=P(``),a=P(``),o=P(``),s=P(null),c=P(!1),l=P(!1),u=G(()=>n.file?.type===`directory`),d=G(()=>n.file?.name??``),f=G(()=>n.file?Jn(n.file):``),p=G(()=>{let e=n.file?.type===`directory`?`directory`:`file`;return Yn.filter(t=>t.for===e||t.for===`file`)}),m=G(()=>s.value?s.value.is_root||s.value.can_sudo_nopasswd&&s.value.whitelist_ok?`success`:s.value.can_sudo_nopasswd?`warning`:`error`:`info`);ce(()=>[n.modelValue,n.file],([e,t])=>{!e||!t||(i.value=t.mode_octal||``,a.value=t.owner||``,o.value=t.group&&t.group!==t.owner?t.group:``,l.value=!1,s.value=null,n.serverId&&g())});function h(e){return e===`off`?`关闭提权`:e===`always_sudo`?`始终 sudo`:`自动 sudo`}async function g(){if(n.serverId){c.value=!0;try{s.value=await F.get(`/servers/${n.serverId}/files-capability`)}catch(e){s.value={ssh_user:``,is_root:!1,files_elevation:`auto_sudo`,can_sudo_nopasswd:!1,whitelist_ok:!1,message:e instanceof Error?e.message:`检测失败`,docs_path:`docs/deploy/nexus-files-sudoers.example`}}finally{c.value=!1}}}function _(e){return t=>!!String(t||``).trim()||`${e}不能为空`}function v(e){return/^[0-7]{3,4}$/.test(String(e||``).trim())||`格式: 3–4 位八进制`}let y=/^[a-zA-Z0-9_.-]+$/;function b(e){let t=String(e||``).trim();return t?y.test(t)||`仅允许字母、数字、._-`:!0}function x(e){let t=String(e||``).trim();return t?a.value.trim()?y.test(t)||`仅允许字母、数字、._-`:`请先填写属主`:!0}function S(e){i.value=e}function w(){let e=i.value.trim();if(!/^[0-7]{3,4}$/.test(e))return;let t=a.value.trim(),s=o.value.trim(),c=u.value&&l.value;if(c){let t=n.file?.name??`该目录`;if(!window.confirm(`确认对目录「${t}」及其全部子项递归应用权限 ${e}?此操作影响范围大且不可自动撤销。`))return}r(`apply`,{mode:e,owner:t||void 0,group:s||void 0,recursive:c||void 0})}return(t,n)=>(k(),V(Et,{"model-value":e.modelValue,"max-width":`520`,"onUpdate:modelValue":n[5]||=e=>r(`update:modelValue`,e)},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[6]||=[z(`修改权限`,-1)]]),_:1}),X(ft,null,{default:N(()=>[d.value?(k(),Y(`p`,tr,q(d.value),1)):L(``,!0),f.value?(k(),Y(`p`,nr,` 当前:`+q(f.value),1)):L(``,!0),U(`div`,rr,[(k(!0),Y(B,null,C(p.value,e=>(k(),V(st,{key:e.mode+e.label,size:`small`,variant:`tonal`,color:`primary`,onClick:t=>S(e.mode)},{default:N(()=>[z(q(e.label),1)]),_:2},1032,[`onClick`]))),128))]),X(xt,{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,label:`八进制权限`,variant:`outlined`,density:`compact`,placeholder:`644 / 755`,rules:[_(`权限`),v],class:`mb-2`,onKeydown:Le(w,[`enter`])},null,8,[`modelValue`,`rules`]),X(xt,{modelValue:a.value,"onUpdate:modelValue":n[1]||=e=>a.value=e,label:`属主(可选)`,variant:`outlined`,density:`compact`,placeholder:`www`,rules:[b],class:`mb-2`},null,8,[`modelValue`,`rules`]),X(xt,{modelValue:o.value,"onUpdate:modelValue":n[2]||=e=>o.value=e,label:`属组(可选)`,variant:`outlined`,density:`compact`,placeholder:`www`,rules:[x],class:`mb-2`},null,8,[`modelValue`,`rules`]),u.value?(k(),V(ht,{key:2,modelValue:l.value,"onUpdate:modelValue":n[3]||=e=>l.value=e,label:`同时修改子项(递归 chmod/chown)`,density:`compact`,"hide-details":``,color:`warning`,class:`mb-2`},null,8,[`modelValue`])):L(``,!0),X(rt,{class:`my-4`}),U(`div`,ir,[n[8]||=U(`span`,{class:`text-caption text-medium-emphasis`},`提权能力`,-1),X(O,{size:`small`,variant:`tonal`,loading:c.value,disabled:!e.serverId,onClick:g},{default:N(()=>[...n[7]||=[z(` 检测提权能力 `,-1)]]),_:1},8,[`loading`,`disabled`])]),s.value?(k(),V(E,{key:3,type:m.value,variant:`tonal`,density:`compact`,class:`mb-2`},{default:N(()=>[U(`div`,ar,q(s.value.message),1),s.value.ssh_user?(k(),Y(`div`,or,` SSH 用户:`+q(s.value.ssh_user)+` · 策略:`+q(h(s.value.files_elevation)),1)):L(``,!0)]),_:1},8,[`type`])):L(``,!0),U(`p`,sr,[n[9]||=z(` 非 root 用户写/chmod 失败时将按服务器策略尝试 `,-1),n[10]||=U(`code`,null,`sudo -n`,-1),z(`。 `+q(K($n)()),1)])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[4]||=e=>r(`update:modelValue`,!1)},{default:N(()=>[...n[11]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:e.loading,onClick:w},{default:N(()=>[...n[12]||=[z(`应用`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}});function lr(){function e(e){return[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean).length>0||[...e.dataTransfer?.files??[]].length>0}async function t(e){let t=[],n=[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean);if(n.length)for(let e of n){let n=await ur(e,dr(`.`,e));t.push(...n.map(e=>e.file))}else t.push(...e.dataTransfer?.files??[]);return t}return{handleDrop:t,hasFilesOrFolders:e}}function ur(e,t=``){return new Promise((n,r)=>{e.isFile?e.file(e=>n([{file:e,path:t}]),r):e.isDirectory&&e.createReader().readEntries(async e=>{let r=[];for(let n of e)r.push(...await ur(n,dr(t,n)));n(r)})})}function dr(e,t){return t.isDirectory?`${e}/${t.name}`:e}var fr=it({filterByType:String},`file-accept`);function pr(e){let t=G(()=>e.filterByType?mr(e.filterByType):null);function n(e){if(t.value){let n=e.filter(t.value);return{accepted:n,rejected:e.filter(e=>!n.includes(e))}}return{accepted:e,rejected:[]}}return{filterAccepted:n}}function mr(e){let t=e.split(`,`).map(e=>e.trim().toLowerCase()),n=t.filter(e=>e.startsWith(`.`)),r=t.filter(e=>e.endsWith(`/*`)),i=t.filter(e=>!n.includes(e)&&!r.includes(e));return e=>{let t=e.name.split(`.`).at(-1)?.toLowerCase()??``,a=e.type.split(`/`).at(0)?.toLowerCase()??``;return i.includes(e.type)||n.includes(`.${t}`)||r.includes(`${a}/*`)}}var hr=it({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:`$vuetify.fileInput.counterSize`},counterString:{type:String,default:`$vuetify.fileInput.counter`},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:e=>typeof e==`boolean`||[1e3,1024].includes(Number(e))},truncateLength:{type:[Number,String],default:22},...A(St({prependIcon:`$file`}),[`direction`]),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>Te(e).every(e=>typeof e==`object`&&!!e)},...fr(),...bt({clearable:!0})},`VFileInput`),gr=ct()({name:`VFileInput`,inheritAttrs:!1,props:hr(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,rejected:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{t:i}=be(),{filterAccepted:a}=pr(e),o=tt(e,`modelValue`,e.modelValue,e=>Te(e),t=>!e.multiple&&Array.isArray(t)?t[0]:t),{isFocused:s,focus:c,blur:l}=vt(e),d=G(()=>typeof e.showSize==`boolean`?void 0:e.showSize),f=G(()=>(o.value??[]).reduce((e,{size:t=0})=>e+t,0)),p=G(()=>S(f.value,d.value)),m=G(()=>(o.value??[]).map(t=>{let{name:n=``,size:r=0}=t,i=O(n);return e.showSize?`${i} (${S(r,d.value)})`:i})),g=G(()=>{let t=o.value?.length??0;return e.showSize?i(e.counterSizeString,t,p.value):i(e.counterString,t)}),v=P(),y=P(),b=P(),x=u(()=>s.value||e.active),C=G(()=>[`plain`,`underlined`].includes(e.variant)),w=he(!1),{handleDrop:ee,hasFilesOrFolders:te}=lr();function T(){b.value!==document.activeElement&&b.value?.focus(),s.value||c()}function ne(e){b.value?.click()}function E(e){n(`mousedown:control`,e)}function D(e){b.value?.click(),n(`click:control`,e)}function re(t){t.stopPropagation(),T(),h(()=>{o.value=[],Pe(e[`onClick:clear`],t)})}function O(t){if(t.length{(!Array.isArray(e)||!e.length)&&b.value&&(b.value.value=``)}),Ge(()=>{let n=!!(r.counter||e.counter),i=!!(n||r.details),[a,c]=j(t),{modelValue:u,...d}=_t.filterProps(e),h={...yt.filterProps(e),"onClick:clear":re},S=t.webkitdirectory!==void 0&&t.webkitdirectory!==!1,ee=t.accept?String(t.accept):void 0,te=S?void 0:e.filterByType??ee;return X(_t,_({ref:v,modelValue:e.multiple?o.value:o.value[0],class:[`v-file-input`,{"v-file-input--chips":!!e.chips,"v-file-input--dragging":w.value,"v-file-input--hide":e.hideInput,"v-input--plain-underlined":C.value},e.class],style:e.style,"onClick:prepend":ne},a,d,{centerAffix:!C.value,focused:s.value,indentDetails:e.indentDetails??!C.value}),{...r,default:({id:t,isDisabled:n,isDirty:i,isReadonly:a,isValid:u,hasDetails:d})=>X(yt,_({ref:y,prependIcon:e.prependIcon,onMousedown:E,onClick:D,"onClick:prependInner":e[`onClick:prependInner`],"onClick:appendInner":e[`onClick:appendInner`]},h,{id:t.value,active:x.value||i.value,dirty:i.value||e.dirty,disabled:n.value,focused:s.value,details:d.value,error:u.value===!1,onDragover:k,onDrop:A}),{...r,default:({props:{class:t,...i},controlRef:s})=>U(B,null,[U(`input`,_({ref:e=>b.value=s.value=e,type:`file`,accept:te,readonly:a.value,disabled:n.value,multiple:e.multiple,name:e.name,onClick:e=>{e.stopPropagation(),a.value&&e.preventDefault(),T()},onChange:ae,onDragleave:ie,onFocus:T,onBlur:l},i,c),null),U(`div`,{class:Me(t)},[!!o.value?.length&&!e.hideInput&&(r.selection?r.selection({fileNames:m.value,totalBytes:f.value,totalBytesReadable:p.value}):e.chips?m.value.map(e=>X(st,{key:e,size:`small`,text:e},null)):m.value.join(`, `))])])}),details:i?t=>U(B,null,[r.details?.(t),n&&U(B,null,[U(`span`,null,null),X(gt,{active:!!o.value?.length,value:g.value,disabled:e.disabled},r.counter)])]):void 0})}),Je({},v,y,b)}}),_r={class:`text-body-2 mb-3`},vr={class:`text-body-2 mb-2 text-truncate`},yr={class:`text-truncate`},br={key:1,class:`files-preview-body text-body-2`},xr=Tt(M({__name:`FilesDialogs`,setup(e){let t=At();return(e,n)=>(k(),Y(B,null,[X(Et,{modelValue:K(t).showUpload,"onUpdate:modelValue":n[2]||=e=>K(t).showUpload=e,"max-width":`500`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[25]||=[z(`上传文件`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(gr,{modelValue:K(t).uploadFiles,"onUpdate:modelValue":n[0]||=e=>K(t).uploadFiles=e,label:`选择文件`,variant:`outlined`,multiple:``,"show-size":``},null,8,[`modelValue`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[1]||=e=>K(t).showUpload=!1},{default:N(()=>[...n[26]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).uploading,onClick:K(t).doUpload},{default:N(()=>[...n[27]||=[z(`上传`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showNewFile,"onUpdate:modelValue":n[5]||=e=>K(t).showNewFile=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[28]||=[z(`新建文件`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(xt,{modelValue:K(t).newFileName,"onUpdate:modelValue":n[3]||=e=>K(t).newFileName=e,label:`文件名`,variant:`outlined`,density:`compact`,rules:[K(t).validatePathSegment],placeholder:`example.conf`,autofocus:``,onKeydown:Le(K(t).doNewFile,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[4]||=e=>K(t).showNewFile=!1},{default:N(()=>[...n[29]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).actionLoading,onClick:K(t).doNewFile},{default:N(()=>[...n[30]||=[z(`创建`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showMkdir,"onUpdate:modelValue":n[8]||=e=>K(t).showMkdir=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[31]||=[z(`新建目录`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(xt,{modelValue:K(t).mkdirName,"onUpdate:modelValue":n[6]||=e=>K(t).mkdirName=e,label:`目录名`,variant:`outlined`,density:`compact`,rules:[K(t).validatePathSegment],onKeydown:Le(K(t).doMkdir,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[7]||=e=>K(t).showMkdir=!1},{default:N(()=>[...n[32]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,onClick:K(t).doMkdir},{default:N(()=>[...n[33]||=[z(`创建`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showFileDelete,"onUpdate:modelValue":n[10]||=e=>K(t).showFileDelete=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[34]||=[z(`确认删除`,-1)]]),_:1}),X(ft,null,{default:N(()=>[n[35]||=z(` 确定要删除 `,-1),U(`strong`,null,q(K(t).deletingFile?.name),1),n[36]||=z(` 吗? `,-1)]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[9]||=e=>K(t).showFileDelete=!1},{default:N(()=>[...n[37]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`error`,variant:`flat`,onClick:K(t).doDeleteFile},{default:N(()=>[...n[38]||=[z(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showRename,"onUpdate:modelValue":n[13]||=e=>K(t).showRename=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[39]||=[z(`重命名`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(xt,{modelValue:K(t).newName,"onUpdate:modelValue":n[11]||=e=>K(t).newName=e,label:`新名称`,variant:`outlined`,density:`compact`,rules:[K(t).required(`名称`)],autofocus:``,onKeydown:Le(K(t).doRename,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[12]||=e=>K(t).showRename=!1},{default:N(()=>[...n[40]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,onClick:K(t).doRename},{default:N(()=>[...n[41]||=[z(`确定`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(cr,{modelValue:K(t).showChmod,"onUpdate:modelValue":n[14]||=e=>K(t).showChmod=e,file:K(t).chmodFile,"server-id":K(t).selectedServer,loading:K(t).chmodLoading,onApply:K(t).doChmod},null,8,[`modelValue`,`file`,`server-id`,`loading`,`onApply`]),X(Et,{modelValue:K(t).showCompress,"onUpdate:modelValue":n[18]||=e=>K(t).showCompress=e,"max-width":`440`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[42]||=[z(`压缩`,-1)]]),_:1}),X(ft,null,{default:N(()=>[U(`p`,_r,`将压缩 `+q(K(t).compressPaths.length)+` 项到当前目录`,1),X(xt,{modelValue:K(t).compressDest,"onUpdate:modelValue":n[15]||=e=>K(t).compressDest=e,label:`压缩包路径`,variant:`outlined`,density:`compact`},null,8,[`modelValue`]),X(mt,{modelValue:K(t).compressFormat,"onUpdate:modelValue":n[16]||=e=>K(t).compressFormat=e,items:[{title:`tar.gz`,value:`tar.gz`},{title:`zip`,value:`zip`}],"item-title":`title`,"item-value":`value`,label:`格式`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[17]||=e=>K(t).showCompress=!1},{default:N(()=>[...n[43]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).actionLoading,onClick:K(t).doCompress},{default:N(()=>[...n[44]||=[z(`压缩`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showDecompress,"onUpdate:modelValue":n[21]||=e=>K(t).showDecompress=e,"max-width":`440`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[45]||=[z(`解压`,-1)]]),_:1}),X(ft,null,{default:N(()=>[U(`p`,vr,q(K(t).decompressSource),1),X(xt,{modelValue:K(t).decompressDest,"onUpdate:modelValue":n[19]||=e=>K(t).decompressDest=e,label:`解压到目录`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[20]||=e=>K(t).showDecompress=!1},{default:N(()=>[...n[46]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).actionLoading,onClick:K(t).doDecompress},{default:N(()=>[...n[47]||=[z(`解压`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showPreview,"onUpdate:modelValue":n[24]||=e=>K(t).showPreview=e,"max-width":`900`,scrollable:``},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,{class:`d-flex align-center`},{default:N(()=>[U(`span`,yr,q(K(t).previewTitle),1),X(I),X(O,{icon:`mdi-close`,variant:`text`,onClick:n[22]||=e=>K(t).showPreview=!1})]),_:1}),X(rt),X(ft,{style:{"max-height":`70vh`}},{default:N(()=>[K(t).previewLoading?(k(),V(le,{key:0,indeterminate:``,class:`mb-2`})):(k(),Y(`pre`,br,q(K(t).previewContent),1))]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[23]||=e=>K(t).showPreview=!1},{default:N(()=>[...n[48]||=[z(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-110ea120`]]),Sr=`nexus:files:last_server_id`,Cr=`nexus:files-hint-dismissed`,wr=[{value:25,title:`25`},{value:50,title:`50`},{value:100,title:`100`},{value:250,title:`250`},...ut.filter(e=>e.value===-1)],Tr=5e3,Er=it({id:String,interactive:Boolean,text:String,...A(R({closeOnBack:!1,location:`end`,locationStrategy:`connected`,eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:`auto`,scrim:!1,scrollStrategy:`reposition`,transition:null}),[`absolute`,`retainFocus`,`captureFocus`,`disableInitialFocus`])},`VTooltip`),Dr=ct()({name:`VTooltip`,props:Er(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=tt(e,`modelValue`),{scopeId:r}=We(),i=lt(),a=u(()=>e.id||`v-tooltip-${i}`),o=P(),s=G(()=>e.location.split(` `).length>1?e.location:e.location+` center`),c=G(()=>e.origin===`auto`||e.origin===`overlap`||e.origin.split(` `).length>1||e.location.split(` `).length>1?e.origin:e.origin+` center`),l=u(()=>e.transition==null?n.value?`scale-transition`:`fade-transition`:e.transition),d=G(()=>_({"aria-describedby":a.value},e.activatorProps));return Ge(()=>{let i=je.filterProps(e);return X(je,_({ref:o,class:[`v-tooltip`,{"v-tooltip--interactive":e.interactive},e.class],style:e.style,id:a.value},i,{modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,transition:l.value,absolute:!0,location:s.value,origin:c.value,role:`tooltip`,activatorProps:d.value,_disableGlobalStack:!0},r),{activator:t.activator,default:(...n)=>t.default?.(...n)??e.text})}),Je({},o)}}),Or={class:`d-flex align-center ga-2 min-w-0`},kr={class:`min-w-0`},Ar={key:0,class:`text-caption text-medium-emphasis text-truncate`},jr={class:`text-medium-emphasis`},Mr={class:`text-medium-emphasis`},Nr={class:`files-row-actions`},Pr={key:0,class:`text-center text-medium-emphasis py-8`},Fr={key:0,class:`text-caption mt-2 text-disabled`},Ir=Tt(M({__name:`FilesList`,setup(e){let t=At();return(e,n)=>(k(),Y(B,null,[X(Z,{elevation:`0`,border:``,rounded:`lg`,class:Me([`position-relative`,{"files-drop-active":K(t).dropActive}]),onDragenter:n[1]||=J(e=>K(t).dropActive=!0,[`prevent`]),onDragover:n[2]||=J(e=>K(t).dropActive=!0,[`prevent`]),onDragleave:n[3]||=J(e=>K(t).dropActive=!1,[`prevent`]),onDrop:J(K(t).onDropFiles,[`prevent`])},{default:N(()=>[K(t).loadingVisible?(k(),V(le,{key:0,indeterminate:``,color:`primary`,height:`2`,class:`files-table-progress`})):L(``,!0),X(i,{modelValue:K(t).selectedFiles,"onUpdate:modelValue":n[0]||=e=>K(t).selectedFiles=e,items:K(t).displayedFiles,headers:K(t).fileHeaders,loading:K(t).loadingVisible,"items-per-page":K(50),"items-per-page-options":[...K(wr)],"show-select":``,"return-object":``,hover:``,density:`comfortable`,"item-value":`name`,"row-props":K(t).fileRowProps},{"item.name":N(({item:e})=>[U(`div`,Or,[X(de,{color:K(t).entryIconColor(e),size:`20`},{default:N(()=>[z(q(K(t).entryIcon(e)),1)]),_:2},1032,[`color`]),K(t).isEntryLikelyUnreadable(e,K(t).sshUserForFiles)?(k(),V(de,{key:0,size:`18`,color:`warning`,title:`当前 SSH 用户可能无法读取`},{default:N(()=>[...n[20]||=[z(` mdi-shield-lock `,-1)]]),_:1})):L(``,!0),U(`div`,kr,[U(`span`,{class:Me({"font-weight-medium":e.type===`directory`})},q(e.name),3),e.type===`symlink`&&e.link_target?(k(),Y(`div`,Ar,` → `+q(e.link_target),1)):L(``,!0)])])]),"item.owner":N(({item:e})=>[X(Dr,{text:K(t).permissionTooltip(e),location:`top`},{activator:N(({props:n})=>[X(st,_(n,{size:`small`,variant:`tonal`,color:K(t).ownerChipColor(e.owner||``),class:`text-none`}),{default:N(()=>[z(q(K(t).formatOwnerChip(e)),1)]),_:2},1040,[`color`])]),_:2},1032,[`text`])]),"item.size":N(({item:e})=>[U(`span`,jr,q(e.type===`directory`?`—`:K(t).formatSize(e.size)),1)]),"item.modified":N(({item:e})=>[U(`span`,Mr,q(e.modified||`—`),1)]),"item.actions":N(({item:e})=>[U(`div`,Nr,[K(t).isRegularFile(e)?(k(),V(O,{key:0,variant:`outlined`,size:`small`,color:`primary`,class:`files-action-btn`,"prepend-icon":`mdi-pencil-outline`,onClick:J(n=>K(t).editFile(e),[`stop`])},{default:N(()=>[...n[21]||=[z(` 编辑 `,-1)]]),_:1},8,[`onClick`])):L(``,!0),K(t).isRegularFile(e)?(k(),V(O,{key:1,variant:`outlined`,size:`small`,class:`files-action-btn`,"prepend-icon":`mdi-eye-outline`,onClick:J(n=>K(t).previewFile(e),[`stop`])},{default:N(()=>[...n[22]||=[z(` 查看 `,-1)]]),_:1},8,[`onClick`])):L(``,!0),K(t).isRegularFile(e)?(k(),V(O,{key:2,variant:`outlined`,size:`small`,class:`files-action-btn`,"prepend-icon":`mdi-download-outline`,onClick:J(n=>K(t).downloadFile(e),[`stop`])},{default:N(()=>[...n[23]||=[z(` 下载 `,-1)]]),_:1},8,[`onClick`])):L(``,!0),X(O,{variant:`outlined`,size:`small`,color:`error`,class:`files-action-btn`,"prepend-icon":`mdi-delete-outline`,onClick:J(n=>K(t).confirmDeleteFile(e),[`stop`])},{default:N(()=>[...n[24]||=[z(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),"no-data":N(()=>[K(t).pageReady&&!K(t).loading&&!K(t).loadingVisible&&K(t).files.length===0?(k(),Y(`div`,Pr,[X(de,{size:`40`,class:`mb-2`},{default:N(()=>[...n[25]||=[z(`mdi-folder-open-outline`,-1)]]),_:1}),U(`div`,null,q(K(t).emptyHint),1),K(t).selectedServer?(k(),Y(`div`,Fr,` 单击目录进入 · 双击文件编辑 · Ctrl+A 全选 · Ctrl+C/V 复制粘贴 `)):L(``,!0)])):L(``,!0)]),_:1},8,[`modelValue`,`items`,`headers`,`loading`,`items-per-page`,`items-per-page-options`,`row-props`])]),_:1},8,[`class`,`onDrop`]),X(Ve,{modelValue:K(t).showContextMenu,"onUpdate:modelValue":n[19]||=e=>K(t).showContextMenu=e,target:[K(t).contextX,K(t).contextY],location:`bottom start`},{default:N(()=>[X(Fe,{density:`compact`,nav:``},{default:N(()=>[K(t).contextFile&&K(t).contextFile.type===`directory`?(k(),V(W,{key:0,"prepend-icon":`mdi-folder-open`,onClick:n[4]||=e=>K(t).contextAction(`open`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[26]||=[z(`打开`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isRegularFile(K(t).contextFile)?(k(),V(W,{key:1,"prepend-icon":`mdi-pencil`,onClick:n[5]||=e=>K(t).contextAction(`edit`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[27]||=[z(`编辑`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isRegularFile(K(t).contextFile)?(k(),V(W,{key:2,"prepend-icon":`mdi-eye`,onClick:n[6]||=e=>K(t).contextAction(`preview`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[28]||=[z(`查看`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isRegularFile(K(t).contextFile)?(k(),V(W,{key:3,"prepend-icon":`mdi-download`,onClick:n[7]||=e=>K(t).contextAction(`download`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[29]||=[z(`下载`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile?(k(),V(W,{key:4,"prepend-icon":`mdi-content-copy`,onClick:n[8]||=e=>K(t).contextAction(`copy`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[30]||=[z(`复制 (Ctrl+C)`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile?(k(),V(W,{key:5,"prepend-icon":`mdi-content-cut`,onClick:n[9]||=e=>K(t).contextAction(`cut`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[31]||=[z(`剪切 (Ctrl+X)`,-1)]]),_:1})]),_:1})):L(``,!0),X(W,{"prepend-icon":`mdi-content-paste`,disabled:!K(t).canPasteHere,onClick:n[10]||=e=>K(t).contextAction(`paste`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[32]||=[z(`粘贴到当前目录 (Ctrl+V)`,-1)]]),_:1})]),_:1},8,[`disabled`]),K(t).contextFile?.type===`directory`&&K(t).canPasteHere?(k(),V(W,{key:6,"prepend-icon":`mdi-folder-arrow-down`,onClick:n[11]||=e=>K(t).contextAction(`pasteInto`)},{default:N(()=>[X(H,null,{default:N(()=>[z(`粘贴到「`+q(K(t).contextFile.name)+`」`,1)]),_:1})]),_:1})):L(``,!0),X(W,{"prepend-icon":`mdi-link-variant`,onClick:n[12]||=e=>K(t).contextAction(`copyPath`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[33]||=[z(`复制路径`,-1)]]),_:1})]),_:1}),X(W,{"prepend-icon":`mdi-console`,onClick:n[13]||=e=>K(t).contextAction(`terminal`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[34]||=[z(`终端`,-1)]]),_:1})]),_:1}),X(rt),K(t).contextFile&&(K(t).isRegularFile(K(t).contextFile)||K(t).contextFile.type===`directory`)?(k(),V(W,{key:7,"prepend-icon":`mdi-zip-box`,onClick:n[14]||=e=>K(t).contextAction(`compress`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[35]||=[z(`压缩`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isArchiveName(K(t).contextFile.name)?(k(),V(W,{key:8,"prepend-icon":`mdi-package-up`,onClick:n[15]||=e=>K(t).contextAction(`decompress`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[36]||=[z(`解压`,-1)]]),_:1})]),_:1})):L(``,!0),X(rt),X(W,{"prepend-icon":`mdi-file-rename-box`,onClick:n[16]||=e=>K(t).contextAction(`rename`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[37]||=[z(`重命名`,-1)]]),_:1})]),_:1}),X(W,{"prepend-icon":`mdi-lock`,onClick:n[17]||=e=>K(t).contextAction(`chmod`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[38]||=[z(`修改权限`,-1)]]),_:1})]),_:1}),X(rt),X(W,{"prepend-icon":`mdi-delete`,onClick:n[18]||=e=>K(t).contextAction(`delete`)},{default:N(()=>[X(H,{class:`text-error`},{default:N(()=>[...n[39]||=[z(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`,`target`])],64))}}),[[`__scopeId`,`data-v-964388ad`]]),Lr={class:`d-flex flex-wrap align-center justify-space-between ga-2`},Rr=M({__name:`FilesPermissionAlert`,setup(e){let t=At();return(e,n)=>K(t).filesAccessHint?(k(),V(E,{key:0,type:K(t).filesAccessHint.type,variant:`tonal`,closable:``,prominent:``,density:`comfortable`,class:`mb-4`,icon:`mdi-shield-lock-outline`,"onClick:close":K(t).dismissFilesAccessHint},{default:N(()=>[U(`div`,Lr,[U(`span`,null,q(K(t).filesAccessHint.text.split(`目标机安装示例`)[0].trim()),1),K(t).sshUserForFiles&&K(t).sshUserForFiles!==`root`?(k(),V(O,{key:0,size:`small`,variant:`flat`,color:`primary`,"prepend-icon":`mdi-auto-fix`,loading:K(t).setupSudoLoading,disabled:K(t).setupSudoDone,onClick:J(K(t).setupFilesSudo,[`stop`])},{default:N(()=>[z(q(K(t).setupSudoDone?`已配置`:`一键配置 sudo 权限`),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):L(``,!0)])]),_:1},8,[`type`,`onClick:close`])):L(``,!0)}}),zr={class:`text-caption text-medium-emphasis mb-2 d-flex flex-wrap align-center ga-2`},Br=M({__name:`FilesStatusBar`,setup(e){let t=At();return(e,n)=>(k(),Y(`div`,zr,[U(`span`,null,q(K(t).statusSummary),1),K(t).browseError?(k(),V(st,{key:0,size:`x-small`,color:`warning`,variant:`tonal`},{default:N(()=>[z(q(K(t).browseError),1)]),_:1})):L(``,!0),K(t).hasClipboard?(k(),V(st,{key:1,size:`x-small`,color:`info`,variant:`tonal`,class:`cursor-pointer`,onClick:n[0]||=()=>K(t).pasteClipboard()},{default:N(()=>[z(q(K(t).clipboardSummary)+` → `+q(K(t).pasteDestLabel)+` · Ctrl+V 粘贴 `,1)]),_:1})):L(``,!0)]))}}),Vr=M({__name:`FilesToolbar`,setup(e){let t=At();return(e,n)=>(k(),V(Z,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4 pa-4`},{default:N(()=>[X(c,{align:`center`,dense:``},{default:N(()=>[X(s,{cols:`12`,sm:`4`},{default:N(()=>[X(mt,{modelValue:K(t).selectedServer,"onUpdate:modelValue":[n[0]||=e=>K(t).selectedServer=e,K(t).onServerChange],items:K(t).serverList,"item-title":`name`,"item-value":`id`,label:`选择服务器`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-server`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`])]),_:1}),X(s,{cols:`12`,sm:`4`},{default:N(()=>[X(xt,{modelValue:K(t).currentPath,"onUpdate:modelValue":n[1]||=e=>K(t).currentPath=e,label:`路径`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-folder`,"append-inner-icon":`mdi-arrow-right`,"onClick:appendInner":K(t).browseCurrent,onKeydown:Le(K(t).browseCurrent,[`enter`])},null,8,[`modelValue`,`onClick:appendInner`,`onKeydown`])]),_:1}),X(s,{cols:`12`,sm:`3`},{default:N(()=>[X(xt,{modelValue:K(t).fileFilter,"onUpdate:modelValue":n[2]||=e=>K(t).fileFilter=e,label:`筛选文件名`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-magnify`,clearable:``,"hide-details":``},null,8,[`modelValue`])]),_:1}),X(s,{cols:`12`,sm:`3`},{default:N(()=>[X(mt,{modelValue:K(t).extFilter,"onUpdate:modelValue":n[3]||=e=>K(t).extFilter=e,items:K(t).FILE_EXT_FILTERS,"item-title":`title`,"item-value":`value`,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`,`items`])]),_:1}),X(s,{cols:`12`,sm:`2`},{default:N(()=>[X(mt,{modelValue:K(t).sortBy,"onUpdate:modelValue":n[4]||=e=>K(t).sortBy=e,items:K(t).sortOptions,"item-title":`title`,"item-value":`value`,label:`排序`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`,`items`])]),_:1}),X(s,{cols:`12`,class:`d-flex ga-2 flex-wrap justify-end`},{default:N(()=>[X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-upload`,onClick:n[5]||=e=>K(t).showUpload=!0},{default:N(()=>[...n[10]||=[z(` 上传 `,-1)]]),_:1}),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-file-plus`,disabled:!K(t).selectedServer,onClick:n[6]||=e=>K(t).showNewFile=!0},{default:N(()=>[...n[11]||=[z(` 新建文件 `,-1)]]),_:1},8,[`disabled`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-folder-plus`,onClick:n[7]||=e=>K(t).showMkdir=!0},{default:N(()=>[...n[12]||=[z(` 新建目录 `,-1)]]),_:1}),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-zip-box`,disabled:!K(t).selectedServer||!K(t).selectedFileCount,onClick:n[8]||=e=>K(t).openCompressDialog()},{default:N(()=>[...n[13]||=[z(` 压缩 `,-1)]]),_:1},8,[`disabled`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-paste`,disabled:!K(t).canPasteHere,onClick:n[9]||=()=>K(t).pasteClipboard()},{default:N(()=>[...n[14]||=[z(` 粘贴 `,-1)]]),_:1},8,[`disabled`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-arrow-up`,disabled:!K(t).canGoUp,onClick:K(t).goUp},{default:N(()=>[...n[15]||=[z(` 上级 `,-1)]]),_:1},8,[`disabled`,`onClick`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-refresh`,onClick:K(t).browseCurrent},{default:N(()=>[...n[16]||=[z(`刷新`,-1)]]),_:1},8,[`onClick`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-console`,disabled:!K(t).selectedServer,onClick:K(t).openInTerminal},{default:N(()=>[...n[17]||=[z(` 终端 `,-1)]]),_:1},8,[`disabled`,`onClick`])]),_:1})]),_:1})]),_:1}))}}),Hr=P(null);function Ur(){let e=G(()=>Hr.value!==null),t=G(()=>Hr.value?`${Hr.value.mode===`cut`?`已剪切`:`已复制`} ${Hr.value.paths.length} 项`:``);function n(e,t,n){if(!n.length)return!1;let r=[...new Set(n.map(e=>Q(e)))];return Hr.value={mode:e,serverId:t,paths:r,label:r.map(e=>e.split(`/`).pop()||e).join(`, `)},!0}function r(){Hr.value=null}function i(e){return!!(Hr.value&&e&&Hr.value.serverId===e)}function a(e,t){let n=Q(t);for(let t of e){let e=Q(t);if(n===e)return`「${e.split(`/`).pop()||e}」与目标路径相同,无需粘贴`;if(n.startsWith(`${e}/`))return`不能粘贴到源目录「${e}」的内部`}return null}async function o(e){let t=Hr.value;if(!t)throw Error(`剪贴板为空`);let n=Q(e),i=a(t.paths,n);if(i)throw Error(i);let o=t.mode===`cut`?`move`:`copy`;await F.post(`/sync/file-clipboard`,{server_id:t.serverId,mode:o,sources:t.paths,dest_dir:n}),t.mode===`cut`&&r()}return{clipboard:Hr,hasClipboard:e,clipboardSummary:t,setFromSelection:n,clear:r,canPasteOnServer:i,validatePasteTarget:a,pasteToDirectory:o}}function Wr(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||e.isContentEditable}function Gr(e,t,n){function r(r){if(!Wr(r.target)){if(r.key===`F5`){r.preventDefault(),e.refresh();return}if(r.key===`Backspace`){r.preventDefault(),e.goUp();return}if(r.key===`F2`&&t.value.length===1){r.preventDefault(),e.renameSelection();return}if(r.key===`Delete`&&t.value.length>0&&(r.preventDefault(),e.deleteSelection()),(r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`a`){r.preventDefault(),e.selectAll();return}if((r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`c`){t.value.length>0&&(r.preventDefault(),e.copySelection());return}if((r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`x`){t.value.length>0&&(r.preventDefault(),e.cutSelection());return}(r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`v`&&n.value&&(r.preventDefault(),e.pasteClipboard())}}ne(()=>window.addEventListener(`keydown`,r)),f(()=>window.removeEventListener(`keydown`,r))}function Kr(e,t){return`${e}:${t}`}var qr=ae(`files`,()=>{let e=P(null),t=P(Vt),n=P([]),r=P(!1),i=P(!1),a=P(``),o=P(null),s=P(null),c=P(!1),l=P(!1),u=P(!1),d=P(!1),f=P(!1),p=P(!1),m=new Map;function h(e){return Date.now()-e.at<=Tr}function g(e,t){return m.get(Kr(e,t))??null}function _(e,t){let n=g(e,t);return!n||!h(n)?null:n.items}function v(e,t){return g(e,t)?.etag}function y(e,t){let n=g(e,t);n&&(n.at=Date.now())}function b(e,t,n,r){let i=Kr(e,t),a=m.get(i);if(m.set(i,{items:n,at:Date.now(),etag:r??a?.etag}),m.size>50){let e=[...m.entries()].sort((e,t)=>e[1].at-t[1].at)[0];e&&m.delete(e[0])}}function x(e,t){if(e==null){m.clear();return}if(t==null){let t=`${e}:`;for(let e of[...m.keys()])e.startsWith(t)&&m.delete(e);return}m.delete(Kr(e,t))}function S(){s.value=null,c.value=!1,u.value=!1}return{selectedServer:e,currentPath:t,files:n,loading:r,loadingVisible:i,browseError:a,filesCapability:o,lastReadDeniedPath:s,accessHintDismissed:c,setupSudoLoading:l,setupSudoDone:u,pageReady:d,routeReady:f,initing:p,getCacheEntry:g,getCached:_,getCachedEtag:v,touchCache:y,setCached:b,invalidateCache:x,resetForServerChange:S}}),Jr={directory:0,symlink:1,file:2};function Yr(e,t,n){let r=n===`asc`?1:-1;return[...e].sort((e,n)=>{let i=Jr[e.type]??9,a=Jr[n.type]??9;if(i!==a)return i-a;let o=0;return o=t===`name`?e.name.localeCompare(n.name):t===`size`?(e.size??0)-(n.size??0):(e.modified??``).localeCompare(n.modified??``),o*r})}var Xr=[{title:`全部`,value:``},{title:`.conf / .ini`,value:`conf,ini`},{title:`.log`,value:`log`},{title:`.sh`,value:`sh`},{title:`.py`,value:`py`},{title:`.json`,value:`json`},{title:`.yml / .yaml`,value:`yml,yaml`},{title:`.txt`,value:`txt`},{title:`.php`,value:`php`},{title:`.js / .ts`,value:`js,ts`}];function Zr(e,t){if(!t)return!0;let n=e.toLowerCase();return t.split(`,`).some(e=>n.endsWith(`.${e.trim()}`))}function Qr(e){let t=e.toLowerCase();return t.endsWith(`.tar.gz`)||t.endsWith(`.tgz`)||t.endsWith(`.zip`)}var $r=300*1024,ei=2*1024*1024,ti=40,ni=4,ri=new Map;function ii(e,t){return`${e}:${Q(t)}`}function ai(e){let t=Q(e),n=t.lastIndexOf(`/`);return n<=0?`/`:t.slice(0,n)||`/`}function oi(){ri.clear()}function si(e,t){let n=Q(t);for(let t of[...ri.keys()]){if(!t.startsWith(`${e}:`)){ri.delete(t);continue}ai(t.slice(`${e}:`.length))!==n&&ri.delete(t)}}function ci(e,t){ri.delete(ii(e,t))}function li(e){if(e.type!==`file`)return!1;let t=e.size??0;return t>0&&t<=307200}function ui(e){return e!=null&&e>0&&e>2097152}function di(e){return typeof e==`string`?{content:e,mtime:null,etag:null,eol:`LF`}:{content:e.content??JSON.stringify(e,null,2),mtime:e.mtime??null,etag:e.etag??null,eol:e.eol??`LF`}}async function fi(e,t,n=$r){let r=ii(e,t),i=ri.get(r);if(i!==void 0)return i;let a=di(await F.post(`/sync/read-file`,{server_id:e,path:Q(t),max_size:n}));return ri.set(r,a),a}function pi(e,t,n){let r=n.filter(li).sort((e,t)=>(e.size??0)-(t.size??0)).slice(0,ti);if(!r.length)return;let i=0,a=async()=>{for(;ia()))}function mi(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}function hi(e){let t=o(),{selectedServer:n,currentPath:r}=d(qr()),{selectedFiles:i,selectedAbsolutePaths:a,clearSelection:s}=e.selection,{setFromSelection:c,canPasteOnServer:l,pasteToDirectory:u}=Ur(),f=P(!1),p=P(!1),m=P(!1),g=P(``),_=P(!1),v=P(!1),y=P(``),b=P(`tar.gz`),x=P([]),S=P(!1),C=P(``),w=P(`.`),ee=P(!1),te=P([]),T=P(!1),ne=P(``),E=e.actionLoading??P(!1),D=P(null),re=P(!1),O=P(``),k=P(null),ie=P(!1),A=P(!1),ae=P(null),oe=P(!1),j=P(0),M=P(0),se=P(null);function N(e){if(e)return Q(e);let t=i.value.filter(e=>e.type===`directory`);return t.length===1&&i.value.length===1?$(r.value,t[0].name):Q(r.value)}let ce=G(()=>{let e=N();return e===Q(r.value)?`当前目录`:e});function le(e){if(!n.value)return;let r=a(e);if(!r.length){t(`请先选择文件或目录`,`warning`);return}c(`copy`,n.value,r)&&t(`已复制 ${r.length} 项`)}function ue(e){if(!n.value)return;let r=a(e);if(!r.length){t(`请先选择文件或目录`,`warning`);return}c(`cut`,n.value,r)&&t(`已剪切 ${r.length} 项`)}async function de(r){if(!n.value){t(`请先选择服务器`,`warning`);return}if(!l(n.value)){t(`剪贴板为空或服务器不一致`,`warning`);return}let i=N(r);E.value=!0;try{await u(i),s(),e.invalidateAfterMutation(i),await e.browse({force:!0}),t(`已粘贴到 ${i}`)}catch(e){t(e instanceof Error?e.message:`粘贴失败`,`error`)}finally{E.value=!1}}async function fe(e){if(f.value=!1,!n.value){t(`请先选择服务器`,`warning`);return}let r=e.dataTransfer?.files;r?.length&&(te.value=Array.from(r),await we())}function pe(t){if(oe.value=!1,!se.value)return;let n=se.value;switch(t){case`open`:e.openEntry(n);break;case`copy`:le([n]);break;case`cut`:ue([n]);break;case`paste`:de();break;case`pasteInto`:n.type===`directory`&&de($(r.value,n.name));break;case`edit`:e.editFile(n);break;case`preview`:e.previewFile(n);break;case`download`:xe(n);break;case`copyPath`:me(n);break;case`terminal`:e.openInTerminal();break;case`compress`:he([n]);break;case`decompress`:I(n);break;case`rename`:_e(n);break;case`chmod`:z(n);break;case`delete`:Se(n);break}}async function me(e){let n=$(r.value,e.name);try{await navigator.clipboard.writeText(n),t(`路径已复制`)}catch{t(`复制失败`,`error`)}}function he(e){if(!n.value)return;let a=e?.length?e:i.value.length?i.value:[];if(!a.length){t(`请选择要压缩的文件或目录`,`warning`);return}x.value=a.map(e=>$(r.value,e.name));let o=a.length===1?a[0].name.replace(/\.[^.]+$/,``):`archive`;y.value=$(r.value,`${o}.tar.gz`),b.value=`tar.gz`,v.value=!0}function I(e){if(n.value){if(!Qr(e.name)){t(`仅支持 .tar.gz / .tgz / .zip`,`warning`);return}C.value=$(r.value,e.name),w.value=r.value,S.value=!0}}async function L(){if(!(!n.value||!x.value.length||!y.value)){E.value=!0;try{let r=y.value;b.value===`zip`&&!r.endsWith(`.zip`)&&(r=r.replace(/\.tar\.gz$/i,`.zip`),r.endsWith(`.zip`)||(r+=`.zip`)),await F.post(`/sync/compress`,{server_id:n.value,paths:x.value,dest:r,format:b.value}),v.value=!1,s(),e.invalidateAfterMutation(),await e.browse({force:!0}),t(`压缩完成`)}catch(e){t(e instanceof Error?e.message:`压缩失败`,`error`)}finally{E.value=!1}}}async function R(){if(!(!n.value||!C.value)){E.value=!0;try{await F.post(`/sync/decompress`,{server_id:n.value,path:C.value,dest:w.value||`.`}),S.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`解压完成`)}catch(e){t(e instanceof Error?e.message:`解压失败`,`error`)}finally{E.value=!1}}}async function ge(){if(!n.value||!g.value)return;let i=Gt(g.value);if(i!==!0){t(i,`warning`);return}let a=g.value,o=$(r.value,a);E.value=!0;try{await F.post(`/sync/write-file`,{server_id:n.value,path:o,content:``}),m.value=!1,g.value=``,ci(n.value,o),e.invalidateAfterMutation(),await e.browse({force:!0}),t(`文件已创建`),await h(),e.editorWorkbench.value?.openFile({path:o,name:a,content:``,eol:`LF`,etag:null,mtime:null})}catch(e){t(e instanceof Error?e.message:`创建失败`,`error`)}finally{E.value=!1}}function _e(e){k.value=e,O.value=e.name,re.value=!0}async function ve(){if(!(!n.value||!k.value||!O.value))try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`rename`,path:$(r.value,k.value.name),new_path:$(r.value,O.value)}),re.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`重命名成功`)}catch(e){t(e instanceof Error?e.message:`重命名失败`,`error`)}}function z(e){ae.value=e,ie.value=!0}async function ye(i){if(!(!n.value||!ae.value)){A.value=!0;try{await F.post(`/sync/chmod`,{server_id:n.value,path:$(r.value,ae.value.name),mode:i.mode,owner:i.owner,group:i.group,recursive:i.recursive??!1}),ie.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`权限已修改`)}catch(e){t(e instanceof Error?e.message:`修改权限失败`,`error`)}finally{A.value=!1}}}async function be(){if(!n.value||!i.value.length||!confirm(`确定删除 ${i.value.length} 个文件?`))return;let a=0,o=0;for(let e of i.value)try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`delete`,path:$(r.value,e.name)}),a++}catch{o++}s(),e.invalidateAfterMutation(),await e.browse({force:!0}),o===0?t(`已删除 ${a} 项`):t(`删除完成:成功 ${a},失败 ${o}`,o>0?`warning`:`success`)}async function xe(e){if(n.value)try{let i=$(r.value,e.name),{blob:a,filename:o}=await F.download(`/sync/download`,{server_id:n.value,path:i});mi(a,o),t(`已下载 ${o}`)}catch(e){t(e instanceof Error?e.message:`下载失败`,`error`)}}async function Se(e){D.value=e,ee.value=!0}async function B(){if(!(!n.value||!D.value)){E.value=!0;try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`delete`,path:$(r.value,D.value.name)}),ee.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`已删除`)}catch(e){t(e instanceof Error?e.message:`删除失败`,`error`)}finally{E.value=!1}}}async function Ce(){if(!n.value||!ne.value)return;let i=Gt(ne.value);if(i!==!0){t(i,`warning`);return}E.value=!0;try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`mkdir`,path:$(r.value,ne.value)}),_.value=!1,ne.value=``,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`目录已创建`)}catch(e){t(e instanceof Error?e.message:`创建失败`,`error`)}finally{E.value=!1}}async function we(){if(!(!n.value||!te.value.length)){T.value=!0;try{let i=new FormData;for(let e of te.value)i.append(`file`,e);i.append(`server_id`,String(n.value)),i.append(`remote_path`,r.value),await F.upload(`/sync/upload`,i),p.value=!1,te.value=[],e.invalidateAfterMutation(),await e.browse({force:!0}),t(`上传成功`)}catch(e){t(e instanceof Error?e.message:`上传失败`,`error`)}finally{T.value=!1}}}function Te(e){return e instanceof HTMLElement?!!e.closest(`button, a, input, .v-checkbox, .v-selection-control`):!1}function Ee(e){let t=e.item;return{class:t.type===`directory`?`files-row--dir`:void 0,style:{cursor:t.type===`directory`||t.type===`symlink`?`pointer`:`default`},onClick:e=>{Te(e.target)||e.detail===1&&De(e,{item:t})},onDblclick:e=>{Te(e.target)||Oe(e,{item:t})},onContextmenu:e=>{Te(e.target)||V(e,{item:t})}}}function De(t,{item:n}){(n.type===`directory`||n.type===`symlink`)&&e.openEntry(n)}function Oe(t,{item:n}){n.type===`file`&&e.editFile(n)}function V(e,{item:t}){e.preventDefault(),se.value=t,j.value=e.clientX,M.value=e.clientY,oe.value=!0}return{dropActive:f,showUpload:p,showNewFile:m,newFileName:g,showMkdir:_,showCompress:v,compressDest:y,compressFormat:b,compressPaths:x,showDecompress:S,decompressSource:C,decompressDest:w,showFileDelete:ee,uploadFiles:te,uploading:T,mkdirName:ne,actionLoading:E,deletingFile:D,showRename:re,newName:O,renamingFile:k,showChmod:ie,chmodLoading:A,chmodFile:ae,showContextMenu:oe,contextX:j,contextY:M,contextFile:se,copyToClipboard:le,cutToClipboard:ue,pasteClipboard:de,onDropFiles:fe,contextAction:pe,openCompressDialog:he,openDecompressDialog:I,doCompress:L,doDecompress:R,doNewFile:ge,startRename:_e,doRename:ve,startChmod:z,doChmod:ye,batchDelete:be,downloadFile:xe,confirmDeleteFile:Se,doDeleteFile:B,doMkdir:Ce,doUpload:we,fileRowProps:Ee,pasteDestLabel:ce}}var gi=!1;function _i(){x(async()=>{let{initMonaco:e}=await import(`./initMonaco-CvAS2Es9.js`).then(e=>e.r);return{initMonaco:e}},__vite__mapDeps([0,1,2,3])).then(({initMonaco:t})=>{t(),e()})}function vi(){gi||(gi=!0,typeof requestIdleCallback==`function`?requestIdleCallback(_i,{timeout:3e3}):setTimeout(_i,300))}var yi=200,bi=0,xi=null,Si=``,Ci=null;function wi(e){return e.includes(`No such file or directory`)||e.includes(`not a directory`)}function Ti(e,t){return wi(e)?`路径不存在:${t},请检查服务器「target_path」设置`:e.includes(`Permission denied`)||e.includes(`Operation not permitted`)?`无读取权限(${t})`:e.includes(`connection_error`)||e.includes(`SSH pool at capacity`)?`SSH 连接失败或连接池繁忙,请稍后点「刷新」重试`:e.includes(`timed out`)||e.includes(`timeout`)?`远程命令超时(${t}),请检查目标机负载或网络`:e}function Ei(e){e.loading=!0,!Ci&&(Ci=setTimeout(()=>{Ci=null,e.loading&&(e.loadingVisible=!0)},yi))}function Di(e){e.loading=!1,Ci&&=(clearTimeout(Ci),null),e.loadingVisible=!1}async function Oi(e,t,n){let r={};n&&(r[`If-None-Match`]=n);try{return await me(`/files/browse`,{method:`GET`,params:{server_id:e,path:t},headers:r})}catch(n){if(!(n instanceof qe&&(n.status>=500||n.status===404||n.status===405)))throw n;return{status:200,data:await F.post(`/sync/browse`,{server_id:e,path:t}),etag:null}}}function ki(e){let t=o(),n=we(),r=$e(),i=qr(),{selectedServer:a,currentPath:s,files:c,loading:l,loadingVisible:u,browseError:f,pageReady:p,filesCapability:m}=d(i);function h(){let e={...n.query};a.value?(e.server_id=String(a.value),e.path=s.value===`/www/wwwroot`?void 0:s.value):(delete e.server_id,delete e.path),r.replace({query:e})}let g=G(()=>p.value?a.value?f.value?f.value:e?.value.trim()?`无匹配文件`:m.value?.is_root?`目录为空(${s.value}),可在上方修改路径或到「服务器」核对 target_path`:`目录为空(${s.value})`:`请先选择服务器`:`正在加载…`);function _(e,n,r,a,o){if(o!==bi)return!1;let{items:l,error:u}=Bt(r??{items:[]});if(u&&wi(u)&&n!==`/`){f.value=``;let e=Wt(n);if(e)return t(`路径 "${n}" 不存在,已自动跳转到上级目录`,`info`),s.value=e,v(),!0}return f.value=u?Ti(u,n):``,u&&!wi(u)&&t(Ti(u,n),`warning`),c.value=l,u||i.setCached(e,n,l,a??void 0),e&&l.length&&(si(e,n),pi(e,n,l),vi()),!0}async function v(e){if(!a.value)return;let n=Q(s.value),r=a.value,o=`${r}:${n}`,l=e?.force?null:i.getCached(r,n);if(l&&(c.value=l,f.value=``),xi&&Si===o)return xi;Si=o;let u=++bi;e?.silent||Ei(i),s.value=n;let d=e?.force?void 0:i.getCachedEtag(r,n);return xi=(async()=>{try{let e=await Oi(r,n,d);if(u!==bi)return;if(e.status===304){let t=i.getCacheEntry(r,n);if(t){c.value=t.items,i.touchCache(r,n),f.value=``;return}if(e=await Oi(r,n),u!==bi)return}_(r,n,e.data,e.etag,u)}catch(e){if(u!==bi)return;let n=Ct(e,`浏览目录失败`);f.value=n,t(n,`error`)}finally{u===bi&&(e?.silent?(i.loading=!1,i.loadingVisible=!1):Di(i),h()),Si===o&&(xi=null,Si=``)}})(),xi}function y(){if(!a.value){t(`请先选择服务器`,`warning`);return}s.value=Q(s.value),i.invalidateCache(a.value,s.value),v({force:!0})}function b(e){if(!a.value)return;let t=e??s.value;i.invalidateCache(a.value,Q(t)),oi()}return{emptyHint:g,browse:v,browseCurrent:y,invalidateAfterMutation:b,loadingVisible:u}}function Ai(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`:`—`}function ji(e){let t=o(),{selectedServer:n,currentPath:r,lastReadDeniedPath:i,accessHintDismissed:a}=d(qr()),s=P(!1),c=P(``),l=P(``),u=P(!1),f=P(null);async function p(){let e=Date.now()+8e3;for(;Date.now()setTimeout(e,40)),await h()}return f.value}function m(e,n){return ui(e.size)?(t(`文件超过 2MB(${Ai(e.size)}),无法${n},请下载或使用终端`,`warning`),!0):!1}function g(t){n.value&&t&&ci(n.value,t),e.invalidateAfterMutation(),e.browse({force:!0})}async function _(e){if(!n.value||m(e,`查看`))return;let o=$(r.value,e.name);c.value=e.name,l.value=``,u.value=!0,s.value=!0,(e.size??0)>307200&&t(`文件较大(${Ai(e.size)}),正在加载…`,`info`);try{l.value=(await fi(n.value,o,2097152)).content||`(空文件)`}catch(n){let r=n instanceof Error?n.message:`读取失败`;l.value=r,Zn(r)&&(i.value=e.name,a.value=!1),t(r,`error`)}finally{u.value=!1}}async function v(o){if(n.value&&!m(o,`编辑`)){(o.size??0)>307200&&t(`文件较大(${Ai(o.size)}),正在加载…`,`info`),e.actionLoading.value=!0;try{let e=$(r.value,o.name),i=await fi(n.value,e,ei),a=await p();if(!a){t(`编辑器尚未就绪,请稍后重试`,`error`);return}a.openFile({path:e,name:o.name,content:i.content,eol:i.eol,etag:i.etag,mtime:i.mtime})}catch(e){let n=e instanceof Error?e.message:`读取失败`;Zn(n)&&(i.value=o.name,a.value=!1),t(n,`error`)}finally{e.actionLoading.value=!1}}}return{showPreview:s,previewTitle:c,previewContent:l,previewLoading:u,editorWorkbench:f,previewFile:_,editFile:v,onEditorSaved:g,formatSize:Ai}}function Mi(e){let t=o(),n=we(),r=$e(),{servers:i,loadServers:a}=wt(),s=qr(),{selectedServer:c,currentPath:l,pageReady:u,routeReady:f,initing:p,accessHintDismissed:m}=d(s),h=G(()=>Kt(l.value)),g=G(()=>Wt(l.value)!==null);function _(e){if(e==null)return Vt;let t=i.value.find(t=>t.id===e)?.target_path?.trim();return t?Q(t):Vt}function v(){let e=n.query.path;return typeof e==`string`&&e.trim()?Q(e):_(c.value)}function y(){let e=n.query.server_id;if(e){let t=Number(e);if(Number.isFinite(t)&&i.value.some(e=>e.id===t))return t}let t=sessionStorage.getItem(Sr);if(t){let e=Number(t);if(Number.isFinite(e)&&i.value.some(t=>t.id===e))return e}return i.value[0]?.id??null}function b(n){if(!c.value){t(`请先选择服务器`,`warning`);return}l.value=Q(n),e.clearSelection(),e.browse()}function x(e){if(e.type===`directory`){b($(l.value,e.name));return}if(e.type===`symlink`){let n=e.link_target?.trim();n?.startsWith(`/`)?b(n):t(n?`符号链接 → ${n}`:`相对符号链接(请在终端中打开)`,`info`)}}function S(){let e=Wt(l.value);e!=null&&b(e)}function C(e){let t=h.value[e];t&&!t.disabled&&b(t.path)}function w(){c.value&&r.push({path:`/terminal`,query:{server_id:String(c.value),path:l.value||`/`}})}function ee(){p.value||(c.value&&sessionStorage.setItem(Sr,String(c.value)),s.invalidateCache(),l.value=_(c.value),e.clearSelection(),s.resetForServerChange(),sessionStorage.removeItem(Cr),(async()=>{await e.refreshFilesCapability(),await e.browse({force:!0})})())}let te=!1;return ne(async()=>{p.value=!0;try{if(await a(),sessionStorage.getItem(`nexus:files-hint-dismissed`)&&(m.value=!0),!i.value.length){t(`暂无可用服务器,请先在「服务器」页添加`,`warning`),u.value=!0;return}let r=y();if(r==null){u.value=!0;return}c.value=r;let o=n.query.path;l.value=typeof o==`string`&&o?Q(o):_(r),await e.refreshFilesCapability(),await e.browse(),u.value=!0,f.value=!0}finally{p.value=!1,te=!0}}),re(()=>{!te||!u.value||!c.value||e.browse({silent:!0})}),ce(()=>n.query.server_id,t=>{f.value&&t&&Number(t)!==c.value&&(c.value=Number(t),l.value=v(),s.resetForServerChange(),(async()=>{await e.refreshFilesCapability(),await e.browse({force:!0})})())}),ce(()=>n.query.path,()=>{if(!f.value||!c.value)return;let t=v();t!==Q(l.value)&&(l.value=t,e.clearSelection(),e.browse())}),{serverList:i,breadcrumbs:h,canGoUp:g,navigateToPath:b,openEntry:x,goUp:S,onBreadcrumbClick:C,openInTerminal:w,onServerChange:ee,defaultPathForServer:_}}function Ni(e){let t=o(),{selectedServer:n,files:r,browseError:i,filesCapability:a,lastReadDeniedPath:s,accessHintDismissed:c,setupSudoLoading:l,setupSudoDone:u}=d(qr()),f=G(()=>a.value?.ssh_user??null),p=G(()=>{let e=f.value;return e?r.value.filter(t=>Qn(t,e)).length:0}),m=G(()=>{if(c.value||!n.value||i.value&&wi(i.value))return null;let e=a.value;return er({sshUser:e?.ssh_user,canSudo:e?.can_sudo_nopasswd??!1,whitelistOk:e?.whitelist_ok??!1,isRootSsh:e?.is_root??!1,filesElevation:e?.files_elevation,capabilityMessage:e?.message,lastReadDeniedPath:s.value,unreadableCount:p.value})});function h(){c.value=!0,sessionStorage.setItem(Cr,`1`)}async function g(){if(!n.value){a.value=null;return}try{a.value=await F.get(`/servers/${n.value}/files-capability`)}catch{a.value=null}}async function _(){if(n.value){l.value=!0;try{let r=await F.post(`/servers/${n.value}/setup-files-sudo`,{});u.value=!0,t(r.message||`sudoers 配置成功,文件管理器现在可自动提权`,`success`),h(),await g(),await e.browse({force:!0})}catch(e){t(`一键配置失败:${e instanceof Error?e.message:`配置失败`}`,`error`)}finally{l.value=!1}}}return{sshUserForFiles:f,filesAccessHint:m,dismissFilesAccessHint:h,refreshFilesCapability:g,setupFilesSudo:_}}function Pi(){let{currentPath:e}=d(qr()),t=P([]),n=G(()=>t.value.length);function r(){t.value=[]}function i(n){return(n?.length?n:t.value).map(t=>$(e.value,t.name))}return{selectedFiles:t,selectedFileCount:n,clearSelection:r,selectedAbsolutePaths:i}}function Fi(){let e=P(``),t=P(``),n=P(`name`),r=[{title:`名称`,value:`name`},{title:`大小`,value:`size`},{title:`修改时间`,value:`modified`}],{selectedServer:i,currentPath:a,files:o,loading:s,browseError:c,pageReady:l,setupSudoLoading:u,setupSudoDone:f}=d(qr()),p=Pi(),{selectedFiles:m,selectedFileCount:h,clearSelection:g}=p,{emptyHint:_,browse:v,browseCurrent:y,invalidateAfterMutation:b,loadingVisible:x}=ki(e),S=Ni({browse:v}),{sshUserForFiles:C,filesAccessHint:w,dismissFilesAccessHint:ee,setupFilesSudo:te}=S,T=Mi({browse:v,refreshFilesCapability:S.refreshFilesCapability,clearSelection:g}),ne=P(!1),E=ji({browse:v,invalidateAfterMutation:b,actionLoading:ne}),D=hi({browse:v,invalidateAfterMutation:b,selection:p,openEntry:T.openEntry,editFile:E.editFile,previewFile:E.previewFile,openInTerminal:T.openInTerminal,editorWorkbench:E.editorWorkbench,actionLoading:ne}),{hasClipboard:re,clipboardSummary:O,canPasteOnServer:k}=Ur(),ie=G(()=>k(i.value)),A=G(()=>{let r=Yr(o.value,n.value,`asc`),i=t.value;i&&(r=r.filter(e=>Zr(e.name,i)));let a=e.value.trim().toLowerCase();return a&&(r=r.filter(e=>e.name.toLowerCase().includes(a))),r}),ae=G(()=>{let e=o.value.filter(e=>e.type===`directory`).length,t=o.value.filter(e=>e.type===`file`).length,n=o.value.filter(e=>e.type===`symlink`).length,r=o.value.filter(li).length,i=[`${e} 个目录`,`${t} 个文件`];return n&&i.push(`${n} 个链接`),r&&i.push(`${r} 个 ≤300KB 可预加载`),`${i.join(`,`)} · ${a.value}`});function oe(e){return Qr(e)}function j(e){return e.type===`directory`?`mdi-folder`:e.type===`symlink`?`mdi-link-variant`:`mdi-file-outline`}function M(e){return e.type===`directory`?`amber`:e.type===`symlink`?`teal`:`blue`}function se(e){return e.type===`file`}return Gr({refresh:y,goUp:T.goUp,renameSelection:()=>{m.value.length===1&&D.startRename(m.value[0])},deleteSelection:()=>{m.value.length>0&&D.batchDelete()},selectAll:()=>{m.value=[...A.value]},copySelection:()=>D.copyToClipboard(),cutSelection:()=>D.cutToClipboard(),pasteClipboard:()=>{D.pasteClipboard()}},m,ie),{FILE_EXT_FILTERS:Xr,validatePathSegment:Gt,required:Dt,fileFilter:e,extFilter:t,sortBy:n,sortOptions:r,selectedServer:i,currentPath:a,files:o,loading:s,loadingVisible:x,browseError:c,pageReady:l,setupSudoLoading:u,setupSudoDone:f,serverList:T.serverList,onServerChange:T.onServerChange,browseCurrent:y,filesAccessHint:w,dismissFilesAccessHint:ee,setupFilesSudo:te,sshUserForFiles:C,statusSummary:ae,hasClipboard:re,clipboardSummary:O,pasteDestLabel:D.pasteDestLabel,canPasteHere:ie,breadcrumbs:T.breadcrumbs,onBreadcrumbClick:T.onBreadcrumbClick,canGoUp:T.canGoUp,goUp:T.goUp,selectedFiles:m,selectedFileCount:h,displayedFiles:A,fileHeaders:[{title:`名称`,key:`name`},{title:`归属`,key:`owner`,width:110,sortable:!1},{title:`大小`,key:`size`,width:120},{title:`修改时间`,key:`modified`,width:180},{title:`操作`,key:`actions`,width:300,sortable:!1,align:`end`}],fileRowProps:D.fileRowProps,dropActive:D.dropActive,onDropFiles:D.onDropFiles,emptyHint:_,entryIcon:j,entryIconColor:M,isEntryLikelyUnreadable:Qn,formatOwnerChip:Kn,ownerChipColor:qn,permissionTooltip:Jn,formatSize:E.formatSize,isRegularFile:se,isArchiveName:oe,showUpload:D.showUpload,uploadFiles:D.uploadFiles,uploading:D.uploading,doUpload:D.doUpload,showNewFile:D.showNewFile,newFileName:D.newFileName,doNewFile:D.doNewFile,showMkdir:D.showMkdir,mkdirName:D.mkdirName,doMkdir:D.doMkdir,showFileDelete:D.showFileDelete,deletingFile:D.deletingFile,doDeleteFile:D.doDeleteFile,showRename:D.showRename,newName:D.newName,doRename:D.doRename,showChmod:D.showChmod,chmodFile:D.chmodFile,chmodLoading:D.chmodLoading,doChmod:D.doChmod,showCompress:D.showCompress,compressDest:D.compressDest,compressFormat:D.compressFormat,compressPaths:D.compressPaths,doCompress:D.doCompress,showDecompress:D.showDecompress,decompressSource:D.decompressSource,decompressDest:D.decompressDest,doDecompress:D.doDecompress,showContextMenu:D.showContextMenu,contextX:D.contextX,contextY:D.contextY,contextFile:D.contextFile,contextAction:D.contextAction,actionLoading:ne,batchDelete:D.batchDelete,openCompressDialog:D.openCompressDialog,showPreview:E.showPreview,previewTitle:E.previewTitle,previewContent:E.previewContent,previewLoading:E.previewLoading,editorWorkbench:E.editorWorkbench,onEditorSaved:E.onEditorSaved,navigateToPath:T.navigateToPath,pasteClipboard:D.pasteClipboard,editFile:E.editFile,previewFile:E.previewFile,downloadFile:D.downloadFile,confirmDeleteFile:D.confirmDeleteFile,openInTerminal:T.openInTerminal}}var Ii=M({name:`FilesPage`,__name:`FilesPage`,setup(e){let t=Fi();kt(t);let{editorWorkbench:n}=t,{selectedServer:r,currentPath:i}=d(qr());return(e,o)=>(k(),V(a,{fluid:``,class:`pa-6`},{default:N(()=>[X(Vr),X(Rr),X(Br),X(Rt),X(Ir),X(xr),X(Wn,{ref_key:`editorWorkbench`,ref:n,"server-id":K(r)??0,"current-path":K(i),onSaved:o[0]||=e=>K(t).onEditorSaved(e),onPathChange:K(t).navigateToPath,onPasteTarget:K(t).pasteClipboard},null,8,[`server-id`,`current-path`,`onPathChange`,`onPasteTarget`])]),_:1}))}});export{Ii as default}; \ No newline at end of file diff --git a/web/app/assets/FilesPage-hxpfXqS1.js b/web/app/assets/FilesPage-hxpfXqS1.js deleted file mode 100644 index a24adab1..00000000 --- a/web/app/assets/FilesPage-hxpfXqS1.js +++ /dev/null @@ -1,5 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/initMonaco-CzdlaNu8.js","assets/index-DZEQidkT.js","assets/index-DUUkodzN.css","assets/initMonaco-DX2BVZF3.css"])))=>i.map(i=>d[i]); -import{a as e,i as t,n,t as r}from"./initMonaco-CzdlaNu8.js";import{t as i}from"./VDataTable-JI1AS0YS.js";import{n as a,t as o}from"./useSnackbar-DaoOJlMz.js";import{n as s,t as c}from"./VRow-Wg9QrEcV.js";import{$n as l,$r as u,$t as d,Ar as f,C as p,Cn as m,Dr as h,E as g,Er as _,F as v,Fr as y,Gn as b,Gt as x,Hn as S,Ir as C,J as w,Jr as ee,Kr as te,L as T,Mr as ne,N as E,Nn as D,Or as re,P as O,Pr as k,Q as ie,Qn as A,Qt as ae,R as oe,Rn as j,Sr as M,Tn as se,Ur as N,Vr as ce,W as le,Wr as ue,X as de,Xr as P,Xt as F,Y as fe,Yn as pe,Yt as me,Zr as he,_ as I,_r as L,a as R,ai as ge,b as _e,bn as ve,br as z,c as ye,cn as be,cr as xe,ct as Se,dr as B,dt as Ce,en as we,er as Te,et as Ee,fn as De,fr as Oe,gr as V,h as H,hn as ke,hr as U,ht as Ae,i as je,ii as Me,in as Ne,kn as Pe,l as Fe,ln as Ie,lr as Le,lt as Re,m as W,mn as ze,mr as G,mt as Be,n as Ve,ni as K,nr as He,nt as Ue,o as We,oi as q,pn as Ge,q as Ke,qt as qe,r as Je,rn as Ye,rt as Xe,s as Ze,st as Qe,tn as $e,tr as et,un as tt,ur as J,ut as nt,v as rt,vr as Y,wn as it,wr as at,x as ot,xr as X,y as st,yn as ct,zr as lt}from"./index-DZEQidkT.js";import{t as ut}from"./dataTable-esDY4cOk.js";import{a as dt,n as ft,r as pt,t as Z}from"./VCard-DiTj681b.js";import{t as mt}from"./VSelect-CzNpj4qJ.js";import{t as ht}from"./VCheckbox-5Fmz8kLZ.js";import{c as gt,l as _t,m as vt,o as yt,s as bt,t as xt,u as St}from"./VTextField-CvZimSXQ.js";import{t as Ct}from"./apiError-BqTTIuLB.js";import{t as wt}from"./useServerList-DTniLWx3.js";import{t as Tt}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Et}from"./VDialog-B2Te8j14.js";import{r as Dt}from"./validation-BMzYTJL4.js";var Ot=Symbol(`filesPage`);function kt(e){y(Ot,ee(e))}function At(){let e=at(Ot);if(!e)throw Error(`useFilesPageContext() must be used inside FilesPage`);return e}var jt=it({divider:[Number,String],...m()},`VBreadcrumbsDivider`),Mt=ct()({name:`VBreadcrumbsDivider`,props:jt(),setup(e,{slots:t}){return Ge(()=>U(`li`,{"aria-hidden":`true`,class:Me([`v-breadcrumbs-divider`,e.class]),style:ge(e.style)},[t?.default?.()??e.divider])),{}}}),Nt=it({active:Boolean,activeClass:String,activeColor:String,color:String,disabled:Boolean,title:String,...m(),...l(Ke(),[`width`,`maxWidth`]),...T(),...Re({tag:`li`})},`VBreadcrumbsItem`),Pt=ct()({name:`VBreadcrumbsItem`,props:Nt(),setup(e,{slots:t,attrs:n}){let r=oe(e,n),i=G(()=>e.active||r.isActive?.value),{dimensionStyles:a}=w(e),{textColorClasses:o,textColorStyles:s}=Se(()=>i.value?e.activeColor:e.color);return Ge(()=>X(e.tag,{class:Me([`v-breadcrumbs-item`,{"v-breadcrumbs-item--active":i.value,"v-breadcrumbs-item--disabled":e.disabled,[`${e.activeClass}`]:i.value&&e.activeClass},o.value,e.class]),style:ge([s.value,a.value,e.style]),"aria-current":i.value?`page`:void 0},{default:()=>[r.isLink.value?U(`a`,_({class:`v-breadcrumbs-item--link`,onClick:r.navigate.value},r.linkProps),[t.default?.()??e.title]):t.default?.()??e.title]})),{}}}),Ft=it({activeClass:String,activeColor:String,bgColor:String,color:String,disabled:Boolean,divider:{type:String,default:`/`},icon:De,items:{type:Array,default:()=>[]},...m(),...Be(),...nt(),...Re({tag:`ul`})},`VBreadcrumbs`),It=ct()({name:`VBreadcrumbs`,props:Ft(),setup(e,{slots:t}){let{backgroundColorClasses:n,backgroundColorStyles:r}=Qe(()=>e.bgColor),{densityClasses:i}=Ae(e),{roundedClasses:a}=Ce(e);ve({VBreadcrumbsDivider:{divider:u(()=>e.divider)},VBreadcrumbsItem:{activeClass:u(()=>e.activeClass),activeColor:u(()=>e.activeColor),color:u(()=>e.color),disabled:u(()=>e.disabled)}});let o=G(()=>e.items.map(e=>typeof e==`string`?{item:{title:e},raw:e}:{item:e,raw:e}));return Ge(()=>{let s=!!(t.prepend||e.icon);return X(e.tag,{class:Me([`v-breadcrumbs`,n.value,i.value,a.value,e.class]),style:ge([r.value,e.style])},{default:()=>[s&&U(`li`,{key:`prepend`,class:`v-breadcrumbs__prepend`},[t.prepend?X(ie,{key:`prepend-defaults`,disabled:!e.icon,defaults:{VIcon:{icon:e.icon,start:!0}}},t.prepend):X(de,{key:`prepend-icon`,start:!0,icon:e.icon},null)]),o.value.map(({item:e,raw:n},r,i)=>U(B,null,[t.item?.({item:e,index:r})??X(Pt,_({key:r,disabled:r>=i.length-1},typeof e==`string`?{title:e}:e),{default:t.title?()=>t.title?.({item:e,index:r}):void 0}),rt.divider?.({item:n,index:r}):void 0})])),t.default?.()]})}),{}}}),Lt={class:`text-body-2 mr-4`},Rt=M({__name:`FilesBreadcrumb`,setup(e){let t=At();return(e,n)=>(k(),Y(B,null,[X(It,{items:K(t).breadcrumbs,class:`pa-0 mb-2`},{item:N(({item:e,index:n})=>[X(Pt,{disabled:e.disabled,class:Me({"text-primary":!e.disabled,"cursor-pointer":!e.disabled}),onClick:e=>K(t).onBreadcrumbClick(n)},{default:N(()=>[z(q(e.title),1)]),_:2},1032,[`disabled`,`class`,`onClick`])]),divider:N(()=>[...n[1]||=[z(`/`,-1)]]),_:1},8,[`items`]),K(t).selectedFileCount>0?(k(),V(Z,{key:0,class:`mb-4`,color:`primary`,variant:`tonal`,rounded:`lg`},{default:N(()=>[X(ft,{class:`d-flex align-center py-2`},{default:N(()=>[U(`span`,Lt,`已选择 `+q(K(t).selectedFileCount)+` 个文件`,1),X(I),X(O,{size:`small`,variant:`text`,color:`error`,onClick:K(t).batchDelete},{default:N(()=>[...n[2]||=[z(`批量删除`,-1)]]),_:1},8,[`onClick`]),X(O,{size:`small`,variant:`text`,onClick:n[0]||=e=>K(t).selectedFiles=[]},{default:N(()=>[...n[3]||=[z(`取消选择`,-1)]]),_:1})]),_:1})]),_:1})):L(``,!0)],64))}});function zt(e){return e.filter(e=>e.name&&e.name!==`.`&&e.name!==`..`).map(e=>{let t=e.type===`directory`||!!e.is_dir,n=e.type===`symlink`||!!e.is_link,r=0;if(!t&&!n&&e.size!=null){let t=typeof e.size==`number`?e.size:parseInt(String(e.size),10);r=Number.isFinite(t)?t:0}let i=`file`;return t?i=`directory`:n&&(i=`symlink`),{name:e.name,type:i,size:r,modified:e.modified??``,permissions:e.permissions??e.perms??``,owner:e.owner??``,group:e.group??``,mode_octal:e.mode_octal??``,link_target:e.link_target??null}})}function Bt(e){if(Array.isArray(e))return{items:e};let t=e;return Array.isArray(t.items)?{items:t.items,error:t.error}:t.entries?.length?{items:zt(t.entries),error:t.error}:{items:t.items??[],error:t.error}}var Vt=`/www/wwwroot`;function Ht(e){if(e==null)return``;if(typeof e==`string`)return e;if(typeof e==`object`&&`value`in e){let t=e.value;if(typeof t==`string`)return t}return String(e)}function Q(e){let t=Ht(e).trim().replace(/\\/g,`/`);if(!t||t===`.`)return`/`;let n=t.startsWith(`/`)?t:`/${t}`;return n=n.replace(/\/+/g,`/`),n.length>1&&n.endsWith(`/`)&&(n=n.slice(0,-1)),n}function Ut(e){return Q(e).split(`/`).filter(Boolean)}function $(e,t){let n=Q(e),r=t.replace(/\/+/g,``).trim();if(!r||r===`.`)return n;if(r===`..`){let e=Ut(n);return e.pop(),e.length?`/${e.join(`/`)}`:`/`}return n===`/`?`/${r}`:`${n}/${r}`}function Wt(e){let t=Ut(e);return t.length?(t.pop(),t.length?`/${t.join(`/`)}`:`/`):null}function Gt(e){let t=e.trim();return t?t.includes(`/`)||t.includes(`\\`)||t.includes(`\0`)?`名称不能包含路径分隔符`:t===`.`||t===`..`?`非法名称`:!0:`名称不能为空`}function Kt(e){let t=Ut(Q(e)),n=[{title:`/`,path:`/`,disabled:t.length===0}],r=``;for(let e=0;eQ(n.rootPath||`/www/wwwroot`)),a=t,s=P(!1),c=P(null),l=P(new Set),u=P(new Map);function d(e){let t=new Set(l.value);e(t),l.value=t}function f(e){let t=new Map(u.value);e(t),u.value=t}function p(){l.value=new Set([i.value])}let m=G(()=>{let e=[],t=(n,r)=>{let i=u.value.get(n)??[];for(let n of i)e.push({...n,depth:r}),l.value.has(n.path)&&t(n.path,r+1)};return t(i.value,0),e});async function h(e){if(!n.serverId)return[];let{items:t}=Bt(await F.post(`/sync/browse`,{server_id:n.serverId,path:Q(e)}));return t.filter(e=>e.type===`directory`).sort((e,t)=>e.name.localeCompare(t.name)).map(t=>({path:$(e,t.name),name:t.name,depth:0,hasChildren:!0,loaded:!1}))}async function g(e){if(n.serverId){c.value=e;try{let t=await h(e);f(n=>{n.set(e,t);for(let e of t)n.has(e.path)||n.set(e.path,[])})}catch(e){r(e instanceof Error?e.message:`加载目录失败`,`error`)}finally{c.value=null}}}async function _(){if(!n.serverId)return;s.value=!0,u.value=new Map,p();let e=i.value;try{await g(e),f(t=>{for(let n of t.get(e)??[])t.has(n.path)||t.set(n.path,[])})}finally{s.value=!1}}async function v(e){if(l.value.has(e.path)){d(t=>{t.delete(e.path)});return}u.value.has(e.path)||await g(e.path),d(t=>{t.add(e.path)})}function y(e){let t=Q(e),n=i.value;t!==n&&d(e=>{if(e.add(n),!t.startsWith(n))return;let r=t.slice(n.length).replace(/^\//,``);if(!r)return;let i=n;for(let t of r.split(`/`).filter(Boolean))i=$(i,t),e.add(i)})}ce(()=>[n.serverId,i.value],([e])=>{e?_():(u.value=new Map,l.value=new Set)},{immediate:!0});async function b(e){if(!n.serverId)return;let t=Q(e),r=i.value;if(y(t),u.value.has(r)||await g(r),t===r||!t.startsWith(r))return;let a=t.slice(r.length).replace(/^\//,``).split(`/`).filter(Boolean),o=r;for(let e of a)u.value.has(o)||await g(o),o=$(o,e)}return ce(()=>n.currentPath,e=>{e&&b(e)},{immediate:!0}),(t,n)=>(k(),V(Z,{border:``,rounded:`lg`,class:Me([`file-dir-tree d-flex flex-column`,{"file-dir-tree--embedded":e.embedded}])},{default:N(()=>[e.embedded?(k(),Y(`div`,qt,[X(de,{size:`16`,class:`mr-1 text-medium-emphasis`},{default:N(()=>[...n[2]||=[z(`mdi-file-tree`,-1)]]),_:1}),n[3]||=U(`span`,{class:`text-caption text-medium-emphasis`},`目录`,-1),X(I),X(O,{icon:`mdi-refresh`,size:`x-small`,variant:`text`,disabled:!e.serverId,onClick:_},null,8,[`disabled`])])):(k(),V(pt,{key:0,class:`text-subtitle-2 py-2 px-3 d-flex align-center`},{default:N(()=>[X(de,{size:`18`,class:`mr-1`},{default:N(()=>[...n[0]||=[z(`mdi-file-tree`,-1)]]),_:1}),n[1]||=z(` 目录 `,-1),X(I),X(O,{icon:`mdi-refresh`,size:`x-small`,variant:`text`,disabled:!e.serverId,onClick:_},null,8,[`disabled`])]),_:1})),X(rt),X(ft,{class:`file-dir-tree-body pa-0 flex-grow-1`},{default:N(()=>[e.serverId?s.value?(k(),V(le,{key:1,indeterminate:``})):m.value.length===0?(k(),Y(`div`,Yt,` 暂无子目录(可点刷新) `)):(k(),V(Fe,{key:3,density:`compact`,nav:``,class:`py-0`},{default:N(()=>[(k(!0),Y(B,null,C(m.value,t=>(k(),Y(`div`,{key:t.path,class:`file-dir-tree-row d-flex align-center`,style:ge({paddingLeft:`${8+t.depth*14}px`})},[U(`button`,{type:`button`,class:`file-dir-tree-toggle`,onClick:J(e=>v(t),[`stop`])},[c.value===t.path?(k(),V(fe,{key:0,indeterminate:``,size:`14`,width:`2`})):(k(),V(de,{key:1,size:`16`},{default:N(()=>[z(q(l.value.has(t.path)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024))],8,Xt),U(`button`,{type:`button`,class:Me([`file-dir-tree-label text-body-2 text-truncate`,{"file-dir-tree-label--active":K(Q)(e.currentPath)===t.path}]),onClick:e=>a(`navigate`,t.path),onContextmenu:J(e=>a(`paste-target`,t.path),[`prevent`])},[X(de,{size:`14`,class:`mr-1`},{default:N(()=>[...n[4]||=[z(`mdi-folder-outline`,-1)]]),_:1}),z(` `+q(t.name),1)],42,Zt)],4))),128))]),_:1})):(k(),Y(`div`,Jt,`请先选择服务器`))]),_:1})]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-d76d91c6`]]);function $t(e,t){try{let n=localStorage.getItem(e);if(!n)return t;let r=JSON.parse(n);if(typeof r.x==`number`&&typeof r.y==`number`&&typeof r.w==`number`&&typeof r.h==`number`)return r}catch{}return t}function en(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function tn(e,t){let n=P($t(e,t)),r={px:0,py:0,rx:0,ry:0},i=!1,a={px:0,py:0,rw:0,rh:0},o=G(()=>({left:`${n.value.x}px`,top:`${n.value.y}px`,width:`${n.value.w}px`,height:`${n.value.h}px`}));function s(){let e=Math.min(window.innerWidth-16,1400),t=Math.min(window.innerHeight-16,900);n.value.w=Math.max(480,Math.min(n.value.w,e)),n.value.h=Math.max(320,Math.min(n.value.h,t)),n.value.x=Math.max(8,Math.min(n.value.x,window.innerWidth-n.value.w-8)),n.value.y=Math.max(8,Math.min(n.value.y,window.innerHeight-n.value.h-8))}function c(e){if(i){n.value.w=Math.max(480,a.rw+e.clientX-a.px),n.value.h=Math.max(320,a.rh+e.clientY-a.py),s();return}n.value.x=r.rx+e.clientX-r.px,n.value.y=r.ry+e.clientY-r.py,s()}function l(){i=!1,window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l),en(e,n.value)}function u(e){e.button===0&&(r={px:e.clientX,py:e.clientY,rx:n.value.x,ry:n.value.y},window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l))}function d(e){e.button===0&&(e.stopPropagation(),i=!0,a={px:e.clientX,py:e.clientY,rw:n.value.w,rh:n.value.h},window.addEventListener(`mousemove`,c),window.addEventListener(`mouseup`,l))}function p(){n.value.x=Math.max(16,(window.innerWidth-n.value.w)/2),n.value.y=Math.max(16,(window.innerHeight-n.value.h)/2),en(e,n.value)}return f(()=>{window.removeEventListener(`mousemove`,c),window.removeEventListener(`mouseup`,l)}),{rect:n,panelStyle:o,startDrag:u,startResize:d,centerOnScreen:p,clampToViewport:s}}var nn={js:`javascript`,mjs:`javascript`,cjs:`javascript`,jsx:`javascript`,ts:`typescript`,mts:`typescript`,cts:`typescript`,tsx:`typescript`,vue:`html`,py:`python`,pyw:`python`,rb:`ruby`,sh:`shell`,bash:`shell`,zsh:`shell`,fish:`shell`,php:`php`,phtml:`php`,java:`java`,go:`go`,rs:`rust`,c:`c`,cpp:`cpp`,cc:`cpp`,cxx:`cpp`,h:`c`,hpp:`cpp`,cs:`csharp`,swift:`swift`,kt:`kotlin`,kts:`kotlin`,html:`html`,htm:`html`,xhtml:`html`,css:`css`,scss:`scss`,sass:`scss`,less:`less`,json:`json`,jsonc:`json`,xml:`xml`,xsl:`xml`,xsd:`xml`,svg:`xml`,yaml:`yaml`,yml:`yaml`,toml:`toml`,md:`markdown`,mdx:`mdx`,sql:`sql`,graphql:`graphql`,gql:`graphql`,dockerfile:`dockerfile`,conf:`ini`,cfg:`ini`,cnf:`ini`,ini:`ini`,properties:`ini`,env:`ini`,tpl:`html`,twig:`twig`,blade:`php`,lua:`lua`,pl:`perl`,pm:`perl`,ps1:`powershell`,psm1:`powershell`,bat:`bat`,cmd:`bat`,r:`r`,dart:`dart`,scala:`scala`,clj:`clojure`,ex:`elixir`,exs:`elixir`,erl:`elixir`,hs:`haskell`,ml:`fsharp`,fs:`fsharp`,fsx:`fsharp`,vb:`vb`,pas:`pascal`,dockerignore:`plaintext`,gitignore:`plaintext`,gitattributes:`plaintext`,editorconfig:`ini`,htaccess:`shell`,service:`ini`,socket:`ini`,timer:`ini`,mount:`ini`,fstab:`ini`,crt:`plaintext`,pem:`plaintext`,key:`plaintext`,pub:`plaintext`,log:`plaintext`,lock:`json`},rn={dockerfile:`dockerfile`,makefile:`makefile`,gnumakefile:`makefile`,"cmakelists.txt":`plaintext`,gemfile:`ruby`,rakefile:`ruby`,vagrantfile:`ruby`,nginx:`nginx`,"nginx.conf":`nginx`,".env":`ini`,".env.example":`ini`,".env.local":`ini`,".gitignore":`plaintext`,".dockerignore":`plaintext`,".htaccess":`shell`,hosts:`plaintext`,crontab:`shell`,"supervisord.conf":`ini`,"php.ini":`ini`,"my.cnf":`ini`},an=[{title:`自动`,value:`auto`},{title:`Plain Text`,value:`plaintext`},{title:`PHP`,value:`php`},{title:`JavaScript`,value:`javascript`},{title:`TypeScript`,value:`typescript`},{title:`JSON`,value:`json`},{title:`HTML`,value:`html`},{title:`CSS`,value:`css`},{title:`SCSS`,value:`scss`},{title:`Shell`,value:`shell`},{title:`Python`,value:`python`},{title:`Go`,value:`go`},{title:`Rust`,value:`rust`},{title:`Java`,value:`java`},{title:`C`,value:`c`},{title:`C++`,value:`cpp`},{title:`C#`,value:`csharp`},{title:`SQL`,value:`sql`},{title:`YAML`,value:`yaml`},{title:`TOML`,value:`toml`},{title:`INI / Config`,value:`ini`},{title:`Markdown`,value:`markdown`},{title:`Dockerfile`,value:`dockerfile`},{title:`Nginx`,value:`nginx`},{title:`XML`,value:`xml`},{title:`Vue (HTML)`,value:`html`},{title:`Ruby`,value:`ruby`},{title:`Perl`,value:`perl`},{title:`PowerShell`,value:`powershell`}];function on(e,t){let n=e.toLowerCase(),r=(t?.split(`/`).pop()??e).toLowerCase();if(rn[r])return rn[r];if(rn[n])return rn[n];if(n.endsWith(`.blade.php`))return`php`;let i=n.split(`.`);if(i.length>2&&i[i.length-1]===`php`&&i.slice(-2).join(`.`)===`blade.php`)return`php`;let a=n.includes(`.`)?n.split(`.`).pop()??``:``;return a&&nn[a]?nn[a]:r.includes(`nginx`)&&(r.endsWith(`.conf`)||r===`nginx.conf`)?`nginx`:`plaintext`}function sn(e,t,n){return n&&n!==`auto`?n:on(e,t)}var cn=Symbol.for(`vuetify:v-tabs`),ln=it({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:`horizontal`},...A(v({selectedClass:`v-tab--selected`,variant:`text`}),[`active`,`block`,`flat`,`location`,`position`,`symbol`])},`VTab`),un=ct()({name:`VTab`,props:ln(),setup(e,{slots:t,attrs:n}){let{textColorClasses:r,textColorStyles:i}=Se(()=>e.sliderColor),{backgroundColorClasses:a,backgroundColorStyles:o}=Qe(()=>e.sliderColor),s=P(),c=P(),l=G(()=>e.direction===`horizontal`),u=G(()=>s.value?.group?.isSelected.value??!1);function d(e,t){return{opacity:[0,1]}}function f(t,n){return e.direction===`vertical`?{transform:[`scaleY(0)`,`scaleY(1)`]}:{transform:[`scaleX(0)`,`scaleX(1)`]}}function p(e,t){let n=t.getBoundingClientRect(),r=e.getBoundingClientRect(),i=l.value?`x`:`y`,a=l.value?`X`:`Y`,o=l.value?`right`:`bottom`,s=l.value?`width`:`height`,c=n[i]>r[i]?n[o]-r[o]:n[i]-r[i],u=Math.sign(c)>0?l.value?`right`:`bottom`:Math.sign(c)<0?l.value?`left`:`top`:`center`,d=(Math.abs(c)+(Math.sign(c)<0?n[s]:r[s]))/Math.max(n[s],r[s])||0,f=n[s]/r[s]||0,p=1.5;return{transform:[`translate${a}(${c}px) scale${a}(${f})`,`translate${a}(${c/p}px) scale${a}(${(d-1)/p+1})`,`none`],transformOrigin:[,,,].fill(u)}}function m({value:t}){if(t){let t=s.value?.$el.parentElement?.querySelector(`.v-tab--selected .v-tab__slider`),n=c.value;if(!t||!n)return;let r=getComputedStyle(t).backgroundColor,i={fade:d,grow:f,shift:p}[e.sliderTransition??`shift`]??p,a=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??`shift`]??225);se(n,{backgroundColor:[r,r],...i(n,t)},{duration:a,easing:ke})}}return Ge(()=>{let l=O.filterProps(e);return X(O,_({symbol:cn,ref:s,class:[`v-tab`,e.class,u.value&&e.inset?a.value:[]],style:[e.style,u.value&&e.inset?o.value:[],{backgroundColor:u.value&&e.inset?`transparent !important`:void 0}],tabindex:u.value?0:-1,role:`tab`,"aria-selected":String(u.value),active:!1},l,n,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":m}),{...t,default:()=>U(B,null,[t.default?.()??e.text,!e.hideSlider&&U(`div`,{ref:c,class:Me([`v-tab__slider`,e.inset?a.value:r.value]),style:ge([i.value,e.inset?o.value:r.value])},null)])})}),Je({},s)}}),dn=e=>{let{touchstartX:t,touchendX:n,touchstartY:r,touchendY:i}=e,a=.5;e.offsetX=n-t,e.offsetY=i-r,Math.abs(e.offsetY)t+16&&e.right(e)),Math.abs(e.offsetX)r+16&&e.down(e))};function fn(e,t){let n=e.changedTouches[0];t.touchstartX=n.clientX,t.touchstartY=n.clientY,t.start?.({originalEvent:e,...t})}function pn(e,t){let n=e.changedTouches[0];t.touchendX=n.clientX,t.touchendY=n.clientY,t.end?.({originalEvent:e,...t}),dn(t)}function mn(e,t){let n=e.changedTouches[0];t.touchmoveX=n.clientX,t.touchmoveY=n.clientY,t.move?.({originalEvent:e,...t})}function hn(e={}){let t={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:e=>fn(e,t),touchend:e=>pn(e,t),touchmove:e=>mn(e,t)}}function gn(e,t){let n=t.value,r=n?.parent?e.parentElement:e,i=n?.options??{passive:!0},a=t.instance?.$.uid;if(!r||a===void 0)return;let o=hn(t.value);r._touchHandlers=r._touchHandlers??Object.create(null),r._touchHandlers[a]=o,pe(o).forEach(e=>{r.addEventListener(e,o[e],i)})}function _n(e,t){let n=t.value?.parent?e.parentElement:e,r=t.instance?.$.uid;if(!n?._touchHandlers||r===void 0)return;let i=n._touchHandlers[r];pe(i).forEach(e=>{n.removeEventListener(e,i[e])}),delete n._touchHandlers[r]}var vn={mounted:gn,unmounted:_n},yn=Symbol.for(`vuetify:v-window`),bn=Symbol.for(`vuetify:v-window-group`),xn=it({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:`$next`},prevIcon:{type:[Boolean,String,Function,Object],default:`$prev`},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e==`boolean`||e===`hover`},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:`horizontal`},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:`v-window-item--active`},mandatory:{type:[Boolean,String],default:`force`},crossfade:Boolean,transitionDuration:Number,...m(),...Re(),...Ye()},`VWindow`),Sn=ct()({name:`VWindow`,directives:{vTouch:vn},props:xn(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{themeClasses:n}=Ne(e),{isRtl:r}=Ie(),{t:i}=be(),a=Ue(e,bn),o=P(),s=G(()=>r.value?!e.reverse:e.reverse),c=he(!1),l=G(()=>e.crossfade?`v-window-crossfade-transition`:`v-window-${e.direction===`vertical`?`y`:`x`}${(s.value?!c.value:c.value)?`-reverse`:``}-transition`),d=he(0),f=P(void 0),p=G(()=>a.items.value.findIndex(e=>a.selected.value.includes(e.id)));ce(p,(e,t)=>{let n,r={left:0,top:0};et&&t>=0&&(n=ze(o.value),r.left=n?.scrollLeft,r.top=n?.scrollTop);let i=a.items.value.length,s=i-1;i<=2?c.value=e{!et||!n||(n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`}),requestAnimationFrame(()=>{n&&n.scrollTop!==r.top&&n.scrollTo({...r,behavior:`instant`})}))})},{flush:`sync`}),y(yn,{transition:l,isReversed:c,transitionCount:d,transitionHeight:f,rootRef:o});let m=u(()=>e.continuous||p.value!==0),g=u(()=>e.continuous||p.value!==a.items.value.length-1);function _(){m.value&&a.prev()}function v(){g.value&&a.next()}let b=G(()=>{let n=[],o={icon:r.value?e.nextIcon:e.prevIcon,class:`v-window__${s.value?`right`:`left`}`,onClick:a.prev,"aria-label":i(`$vuetify.carousel.prev`)};n.push(m.value?t.prev?t.prev({props:o}):X(O,o,null):U(`div`,null,null));let c={icon:r.value?e.prevIcon:e.nextIcon,class:`v-window__${s.value?`left`:`right`}`,onClick:a.next,"aria-label":i(`$vuetify.carousel.next`)};return n.push(g.value?t.next?t.next({props:c}):X(O,c,null):U(`div`,null,null)),n}),x=G(()=>e.touch===!1?e.touch:{left:()=>{s.value?_():v()},right:()=>{s.value?v():_()},start:({originalEvent:e})=>{e.stopPropagation()},...e.touch===!0?{}:e.touch});function S(t){(e.direction===`horizontal`&&t.key===`ArrowLeft`||e.direction===`vertical`&&t.key===`ArrowUp`)&&(t.preventDefault(),_(),h(()=>{m.value?C(0):C(1)})),(e.direction===`horizontal`&&t.key===`ArrowRight`||e.direction===`vertical`&&t.key===`ArrowDown`)&&(t.preventDefault(),v(),h(()=>{g.value?C(1):C(0)}))}function C(e){let t=b.value[e];t&&(Array.isArray(t)?t[0]:t).el?.focus()}return Ge(()=>ue(X(e.tag,{ref:o,class:Me([`v-window`,{"v-window--show-arrows-on-hover":e.showArrows===`hover`,"v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},n.value,e.class]),style:ge([e.style,{"--v-window-transition-duration":He()?null:D(e.transitionDuration,`ms`)}])},{default:()=>[U(`div`,{class:`v-window__container`,style:{height:f.value}},[t.default?.({group:a}),e.showArrows!==!1&&U(`div`,{class:Me([`v-window__controls`,{"v-window__controls--left":e.verticalArrows===`left`||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows===`right`}]),onKeydown:S},[b.value])]),t.additional?.({group:a})]}),[[vn,x.value]])),{group:a}}}),Cn=it({...A(xn(),[`continuous`,`nextIcon`,`prevIcon`,`showArrows`,`touch`,`mandatory`])},`VTabsWindow`),wn=ct()({name:`VTabsWindow`,props:Cn(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=at(cn,null),r=tt(e,`modelValue`),i=G({get(){return r.value!=null||!n?r.value:n.items.value.find(e=>n.selected.value.includes(e.id))?.value},set(e){r.value=e}});return Ge(()=>X(Sn,_({_as:`VTabsWindow`},Sn.filterProps(e),{modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-tabs-window`,e.class],style:e.style,mandatory:!1,touch:!1}),t)),{}}}),Tn=it({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...m(),...Ee(),...Ze()},`VWindowItem`),En=ct()({name:`VWindowItem`,directives:{vTouch:vn},props:Tn(),emits:{"group:selected":e=>!0},setup(e,{slots:t}){let n=at(yn),r=Xe(e,bn),{isBooted:i}=p();if(!n||!r)throw Error(`[Vuetify] VWindowItem must be used inside VWindow`);let a=he(!1),o=G(()=>i.value&&(n.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function s(){!a.value||!n||(a.value=!1,n.transitionCount.value>0&&(--n.transitionCount.value,n.transitionCount.value===0&&(n.transitionHeight.value=void 0)))}function c(){a.value||!n||(a.value=!0,n.transitionCount.value===0&&(n.transitionHeight.value=D(n.rootRef.value?.clientHeight)),n.transitionCount.value+=1)}function l(){s()}function u(e){a.value&&h(()=>{!o.value||!a.value||!n||(n.transitionHeight.value=D(e.clientHeight))})}let d=G(()=>{let t=n.isReversed.value?e.reverseTransition:e.transition;return o.value?{name:typeof t==`string`?t:n.transition.value,onBeforeEnter:c,onAfterEnter:s,onEnterCancelled:l,onBeforeLeave:c,onAfterLeave:s,onLeaveCancelled:l,onEnter:u}:!1}),{hasContent:f}=ye(e,r.isSelected);return Ge(()=>X(g,{transition:d.value,disabled:!i.value},{default:()=>[ue(U(`div`,{class:Me([`v-window-item`,r.selectedClass.value,e.class]),style:ge(e.style)},[f.value&&t.default?.()]),[[xe,r.isSelected.value]])]})),{groupItem:r}}}),Dn=it({...Tn()},`VTabsWindowItem`),On=ct()({name:`VTabsWindowItem`,props:Dn(),setup(e,{slots:t}){return Ge(()=>X(En,_({_as:`VTabsWindowItem`},En.filterProps(e),{class:[`v-tabs-window-item`,e.class],style:e.style}),t)),{}}});function kn(e){return e?e.map(e=>b(e)?e:{text:e,value:e}):[]}var An=it({alignTabs:{type:String,default:`start`},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...l(ln(),[`spaced`,`sliderTransition`,`sliderTransitionDuration`]),...ot({mandatory:`force`,selectedClass:`v-tab-item--selected`}),...Be(),...Re()},`VTabs`),jn=ct()({name:`VTabs`,props:An(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let r=tt(e,`modelValue`),i=G(()=>kn(e.items)),{densityClasses:a}=Ae(e),{backgroundColorClasses:o,backgroundColorStyles:s}=Qe(()=>e.bgColor),{scopeId:c}=We();return ve({VTab:{color:u(e,`color`),direction:u(e,`direction`),stacked:u(e,`stacked`),fixed:u(e,`fixedTabs`),inset:u(e,`inset`),sliderColor:u(e,`sliderColor`),sliderTransition:u(e,`sliderTransition`),sliderTransitionDuration:u(e,`sliderTransitionDuration`),hideSlider:u(e,`hideSlider`)}}),Ge(()=>{let l=_e.filterProps(e),u=!!(n.window||e.items.length>0);return U(B,null,[X(_e,_(l,{modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,class:[`v-tabs`,`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--inset":e.inset,"v-tabs--stacked":e.stacked},a.value,o.value,e.class],style:[{"--v-tabs-height":D(e.height),"--v-tabs-inset-padding":e.inset?D(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?D(e.insetRadius):void 0},s.value,e.style],role:`tablist`,symbol:cn},c,t),{default:n.default??(()=>i.value.map(t=>n.tab?.({item:t})??X(un,_(t,{key:t.text,value:t.value,spaced:e.spaced}),{default:n[`tab.${t.value}`]?()=>n[`tab.${t.value}`]?.({item:t}):void 0}))),prev:n.prev,next:n.next}),u&&X(wn,_({modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,key:`tabs-window`},c),{default:()=>[i.value.map(e=>n.item?.({item:e})??X(On,{value:e.value},{default:()=>n[`item.${e.value}`]?.({item:e})})),n.window?.()]})])}),{}}}),Mn={class:`text-truncate`,style:{"max-width":`130px`}},Nn={key:0,class:`text-warning ml-1`,style:{"font-size":`10px`}},Pn={class:`file-editor-main d-flex flex-grow-1 min-h-0`},Fn={class:`file-editor-content d-flex flex-column flex-grow-1 min-w-0 min-h-0`},In={class:`file-editor-body flex-grow-1 position-relative min-h-0`},Ln={class:`file-editor-status text-caption px-3 py-1 d-flex flex-wrap align-center ga-3`},Rn={class:`text-mono`},zn={key:0,class:`text-primary`,style:{"font-size":`11px`}},Bn={class:`text-truncate flex-grow-1 text-medium-emphasis`},Vn={key:2,class:`text-warning`},Hn={key:0,class:`text-warning ml-1`},Un=`nexus_file_editor_float`,Wn=Tt(M({__name:`FileEditorWorkbench`,props:{serverId:{},currentPath:{}},emits:[`saved`,`closed`,`path-change`,`paste-target`],setup(e,{expose:i,emit:a}){let s=n(),c=e,l=a,u=o(),d=Math.min(1120,Math.round(window.innerWidth*.88)),p=Math.min(760,Math.round(window.innerHeight*.82)),{panelStyle:m,startDrag:g,startResize:_,clampToViewport:v}=tn(Un,{x:Math.max(24,(window.innerWidth-d)/2),y:Math.max(24,(window.innerHeight-p)/2),w:d,h:p}),y=he([]),b=P(null),x=P(!1),S=P(!1),w=P(!1),ee=P(!1),T=P(!1),ne=P(1),E=P(1),D=P(c.currentPath||`/www/wwwroot`),re=G(()=>{let e=Q(c.currentPath||`/www/wwwroot`);return e===`/`||e.startsWith(`/www/wwwroot`)?Vt:e}),ie=P(!0),A=P(!1),ae=P(null),oe=P(),j=null,M=null,se=0;function ue(){y.value=y.value.slice()}function fe(e,t){e.modified!==t&&(e.modified=t,ue())}let pe=P(null),me=P(!1),R=G(()=>y.value.find(e=>e.id===b.value)??null),_e=G(()=>R.value?sn(R.value.name,R.value.path,R.value.languageId):`plaintext`),ve=G({get:()=>{let e=R.value?.languageId;return e==null||e===``?`auto`:String(e)},set:e=>{if(!R.value)return;let t=e==null?`auto`:String(e);R.value.languageId=t===`auto`?null:t}}),ye=G(()=>S.value?void 0:m.value),be=G(()=>me.value?`关闭编辑器`:`关闭文件`),xe=G(()=>{let e=(pe.value?y.value.find(e=>e.id===pe.value):y.value.find(e=>e.modified))?.name??`文件`;return me.value?`「${e}」等未保存的更改将丢失,确定吗?`:`「${e}」已修改但未保存,确定要关闭吗?`}),Se=G(()=>ae.value?y.value.find(e=>e.id===ae.value)?.name??``:``);function Ce(e){return e.replace(/\r\n/g,` -`).replace(/\r/g,` -`)}function we(e,t){let n=Ce(e);return t===`CRLF`?n.replace(/\n/g,`\r -`):n}function Te(e){return sn(e.name,e.path,e.languageId)}function Ee(e){return`${c.serverId}:${Q(e)}`}function De(e){let t=Wt(Q(e));t&&(D.value=t)}function H(e){D.value=Q(e),l(`path-change`,D.value)}function ke(e){S.value||e.target.closest(`button, .v-tab, .v-btn, input, a`)||g(e)}function Ae(){if(!j)return;let e=j.getPosition();ne.value=e?.lineNumber??1,E.value=e?.column??1}function je(e=!1){if(!j||!R.value)return;let t=R.value,n=j.saveViewState();t.viewState=n?te(n):null;let r=()=>{!j||R.value?.id!==t.id||(t.content=Ce(j.getValue()),fe(t,t.content!==t.originalContent))};if(e){M&&=(clearTimeout(M),null),r();return}M&&clearTimeout(M),M=setTimeout(r,250)}async function Ne(){let e=++se;if(await h(),await h(),e!==se||!R.value)return;Re();let t=(n=0)=>{if(e!==se||!j)return;j.layout();let r=oe.value;r&&(r.clientWidth<2||r.clientHeight<2)&&n<12&&setTimeout(()=>t(n+1),50)};requestAnimationFrame(()=>t())}function Pe(){se++,M&&=(clearTimeout(M),null),j?.dispose(),j=null,ee.value=!1}function Fe(){for(let e of y.value)e.model?.dispose();y.value=[],b.value=null,Pe(),S.value=!1,x.value=!1}function Ie(e){let t=R.value;!t||!t.model||(t.languageId=e===`auto`||!e?null:e,s.editor.setModelLanguage(t.model,Te(t)))}function Le(e){if(j){if(!e.model){let t=Te(e),n=Ce(e.content);e.model=te(s.editor.createModel(n,t,s.Uri.parse(`nexus://${c.serverId}${e.path}`)))}j.setModel(e.model),e.viewState&&j.restoreViewState(e.viewState),s.editor.setModelLanguage(e.model,Te(e)),De(e.path),Ae()}}function Re(){if(!oe.value||!R.value)return;Pe(),ee.value=!1;let e=R.value;if(!e.model){let t=Te(e),n=Ce(e.content);e.model=te(s.editor.createModel(n,t,s.Uri.parse(`nexus://${c.serverId}${e.path}`)))}j=s.editor.create(oe.value,{...r(),model:e.model,wordWrap:ie.value?`on`:`off`,automaticLayout:!0}),e.viewState&&j.restoreViewState(e.viewState),j.onDidChangeModelContent(()=>{je(),Ae()}),j.onDidChangeCursorPosition(()=>{Ae()}),j.addCommand(s.KeyMod.CtrlCmd|s.KeyCode.KeyS,()=>{Ye()}),j.addCommand(s.KeyCode.Escape,()=>{S.value&&=!1}),j.addCommand(s.KeyMod.Alt|s.KeyCode.KeyZ,()=>{Je()}),De(e.path),t(s),ee.value=!0,Ae()}function W(e){if(typeof e!=`string`||!e)return;je(!0),b.value=e;let t=y.value.find(t=>t.id===e);t&&(j?Le(t):Ne())}function ze(e){b.value=e,x.value=!1,h(()=>{v();let t=y.value.find(t=>t.id===e);t&&(j?Le(t):Ne())})}function Be(e){let t=Ee(e.path),n=y.value.find(e=>e.id===t);if(n){b.value=t,x.value=!1,Ne().then(()=>{j&&Le(n)});return}try{let n=Ce(e.content),r=sn(e.name,e.path,null),i=s.Uri.parse(`nexus://${c.serverId}${e.path}`),a=s.editor.getModel(i);a&&a.dispose();let o=te(s.editor.createModel(n,r,i));y.value=[...y.value,{id:t,path:e.path,name:e.name,content:n,originalContent:n,modified:!1,languageId:null,eol:e.eol,etag:e.etag,mtime:e.mtime,model:o,viewState:null}],b.value=t,x.value=!1,De(e.path),Ne()}catch(e){u(e instanceof Error?e.message:`无法打开编辑器`,`error`),console.error(`[FileEditorWorkbench] openFile failed`,e)}}function Ve(e){let t=y.value.findIndex(t=>t.id===e);if(!(t<0)){if(y.value[t].model?.dispose(),y.value=y.value.filter(t=>t.id!==e),y.value.length===0){b.value=null,Pe(),S.value=!1,x.value=!1,l(`closed`);return}if(b.value===e){let e=y.value[Math.min(t,y.value.length-1)];b.value=e.id,Ne().then(()=>{let t=y.value.find(t=>t.id===e.id);t&&j&&Le(t)})}}}function He(e){let t=y.value.find(t=>t.id===e);if(!t)return;if(b.value===e&&je(!0),t.modified){pe.value=e,me.value=!1,T.value=!0;return}let n=b.value===e;n&&Pe(),Ve(e),n&&b.value&&Ne()}function Ue(){if(je(!0),y.value.some(e=>e.modified)){pe.value=null,me.value=!0,T.value=!0;return}Fe(),l(`closed`)}function We(){T.value=!1,pe.value=null,me.value=!1}function Ge(){if(T.value=!1,me.value)Fe(),l(`closed`);else if(pe.value){let e=pe.value,t=b.value===e;t&&Pe(),Ve(e),t&&b.value&&Ne()}pe.value=null,me.value=!1}async function Ke(){let e=me.value,t=pe.value;if(await Ye(),T.value=!1,me.value=!1,pe.value=null,e){y.value.some(e=>e.modified)||(Fe(),l(`closed`));return}if(t){let e=y.value.find(e=>e.id===t);if(e&&!e.modified){let e=b.value===t;e&&Pe(),Ve(t),e&&b.value&&Ne()}}}function Je(){ie.value=!ie.value,j?.updateOptions({wordWrap:ie.value?`on`:`off`})}async function Ye(e=!1){if(!c.serverId){u(`请先选择服务器`,`error`);return}je(!0);let t=R.value;if(!t||!t.modified)return;let n=we(j?.getValue()??t.content,t.eol);w.value=!0;try{let r=await F.post(`/sync/write-file`,{server_id:c.serverId,path:t.path,content:n,etag:e?null:t.etag}),i=Ce(n);t.content=i,t.originalContent=i,fe(t,!1),t.etag=r?.etag??null,ue(),u(`文件已保存`),l(`saved`,t.path)}catch(e){if(e instanceof qe&&e.status===409){ae.value=t.id,A.value=!0;return}u(e instanceof qe||e instanceof Error?e.message:`保存失败`,`error`)}finally{w.value=!1}}function Xe(){A.value=!1,ae.value=null}async function Ze(){A.value=!1;let e=ae.value;ae.value=null,!(!e||b.value!==e)&&await Ye(!0)}function Qe(){A.value=!1;let e=ae.value;if(ae.value=null,!e)return;let t=y.value.find(t=>t.id===e);if(t){if(t.content=t.originalContent,fe(t,!1),t.model){let e=we(t.originalContent,t.eol);t.model.setValue(Ce(e))}ue(),u(`已放弃本地修改`,`info`)}}ce(()=>c.currentPath,e=>{e&&(D.value=Q(e))}),ce(S,()=>{h(()=>j?.layout())}),ce(x,e=>{e||h(()=>j?.layout())});function $e(){return y.value.length>0}return i({openFile:Be,hasOpenTabs:$e}),f(()=>{for(let e of y.value)e.model?.dispose();Pe()}),(t,n)=>(k(),Y(B,null,[(k(),V(Oe,{to:`body`},[y.value.length>0&&!x.value&&R.value?(k(),Y(`div`,{key:0,class:Me([`file-editor-float`,{"file-editor-float--maximized":S.value}]),style:ge(ye.value)},[X(Z,{border:``,rounded:`lg`,class:`file-editor-panel d-flex flex-column h-100`},{default:N(()=>[U(`div`,{class:Me([`file-editor-toolbar d-flex align-center flex-shrink-0`,{"file-editor-toolbar--draggable":!S.value}]),onMousedown:ke},[S.value?L(``,!0):(k(),V(de,{key:0,size:`16`,class:`ml-2 mr-1 text-disabled file-editor-drag-hint`,onMousedown:n[0]||=J(()=>{},[`stop`])},{default:N(()=>[...n[19]||=[z(` mdi-drag `,-1)]]),_:1})),X(jn,{"model-value":b.value??void 0,density:`compact`,"show-arrows":``,class:`file-editor-tabs flex-grow-1 min-w-0`,"onUpdate:modelValue":W,onMousedown:n[1]||=J(()=>{},[`stop`])},{default:N(()=>[(k(!0),Y(B,null,C(y.value,e=>(k(),V(un,{key:e.id,value:e.id,class:`text-none px-2`},{default:N(()=>[U(`span`,Mn,q(e.name),1),e.modified?(k(),Y(`span`,Nn,`●`)):L(``,!0),X(O,{icon:`mdi-close`,size:`x-small`,variant:`text`,class:`ml-1 opacity-60`,density:`compact`,onClick:J(t=>He(e.id),[`stop`])},null,8,[`onClick`])]),_:2},1032,[`value`]))),128))]),_:1},8,[`model-value`]),X(rt,{vertical:``,class:`mx-1`,style:{height:`20px`,"align-self":`center`},onMousedown:n[2]||=J(()=>{},[`stop`])}),X(mt,{modelValue:ve.value,"onUpdate:modelValue":[n[3]||=e=>ve.value=e,Ie],items:K(an),"item-title":`title`,"item-value":`value`,density:`compact`,variant:`plain`,"hide-details":``,class:`file-editor-lang-select flex-shrink-0`,onMousedown:n[4]||=J(()=>{},[`stop`])},null,8,[`modelValue`,`items`]),X(O,{size:`small`,variant:`text`,color:ie.value?`primary`:void 0,title:ie.value?`关闭自动换行 (Alt+Z)`:`开启自动换行 (Alt+Z)`,density:`compact`,class:`flex-shrink-0 text-none px-2`,onMousedown:n[5]||=J(()=>{},[`stop`]),onClick:Je},{default:N(()=>[...n[20]||=[z(` 自动换行 `,-1)]]),_:1},8,[`color`,`title`]),X(rt,{vertical:``,class:`mx-1`,style:{height:`20px`,"align-self":`center`},onMousedown:n[6]||=J(()=>{},[`stop`])}),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-save`,loading:w.value,disabled:!R.value?.modified||!ee.value,class:`flex-shrink-0 mr-1`,onMousedown:n[7]||=J(()=>{},[`stop`]),onClick:Ye},{default:N(()=>[...n[21]||=[z(` 保存 `,-1)]]),_:1},8,[`loading`,`disabled`]),X(O,{size:`small`,variant:`text`,icon:S.value?`mdi-fullscreen-exit`:`mdi-fullscreen`,title:S.value?`退出全屏 (Esc)`:`全屏`,density:`compact`,onMousedown:n[8]||=J(()=>{},[`stop`]),onClick:n[9]||=e=>S.value=!S.value},null,8,[`icon`,`title`]),X(O,{size:`small`,variant:`text`,icon:`mdi-window-minimize`,title:`最小化`,density:`compact`,onMousedown:n[10]||=J(()=>{},[`stop`]),onClick:n[11]||=e=>x.value=!0}),X(O,{size:`small`,variant:`text`,icon:`mdi-close`,title:`关闭编辑器`,density:`compact`,class:`mr-1`,onMousedown:n[12]||=J(()=>{},[`stop`]),onClick:Ue})],34),U(`div`,Pn,[U(`aside`,{class:`file-editor-sidebar flex-shrink-0`,onMousedown:n[14]||=J(()=>{},[`stop`])},[X(Qt,{embedded:``,"server-id":e.serverId||null,"root-path":re.value,"current-path":D.value,onNavigate:H,onPasteTarget:n[13]||=e=>l(`paste-target`,e)},null,8,[`server-id`,`root-path`,`current-path`])],32),U(`div`,Fn,[U(`div`,In,[ee.value?L(``,!0):(k(),V(le,{key:0,indeterminate:``,absolute:``,class:`file-editor-progress`})),U(`div`,{ref_key:`editorHost`,ref:oe,class:`file-editor-host`},null,512)]),U(`div`,Ln,[U(`span`,Rn,q(ne.value)+`:`+q(E.value),1),X(rt,{vertical:``,style:{height:`12px`}}),U(`span`,null,q(_e.value),1),X(rt,{vertical:``,style:{height:`12px`}}),ie.value?(k(),Y(`span`,zn,`换行`)):L(``,!0),ie.value?(k(),V(rt,{key:1,vertical:``,style:{height:`12px`}})):L(``,!0),U(`span`,Bn,q(R.value?.path??``),1),R.value?.modified?(k(),Y(`span`,Vn,`未保存`)):L(``,!0)])])]),S.value?L(``,!0):(k(),Y(`div`,{key:0,class:`file-editor-resize`,title:`拖动调整大小`,onMousedown:n[15]||=J((...e)=>K(_)&&K(_)(...e),[`stop`])},null,32))]),_:1})],6)):L(``,!0),y.value.length>0&&x.value?(k(),V(Z,{key:1,border:``,rounded:`lg`,class:`file-editor-dock`},{default:N(()=>[n[22]||=U(`span`,{class:`text-caption text-medium-emphasis mr-2`},`编辑器`,-1),(k(!0),Y(B,null,C(y.value,e=>(k(),V(st,{key:e.id,size:`small`,color:e.id===b.value?`primary`:void 0,variant:`tonal`,class:`cursor-pointer`,onClick:t=>ze(e.id)},{default:N(()=>[z(q(e.name)+` `,1),e.modified?(k(),Y(`span`,Hn,`●`)):L(``,!0)]),_:2},1032,[`color`,`onClick`]))),128)),X(I),X(O,{size:`x-small`,variant:`text`,icon:`mdi-dock-window`,title:`展开`,onClick:n[16]||=e=>x.value=!1}),X(O,{size:`x-small`,variant:`text`,icon:`mdi-close`,title:`关闭全部`,onClick:Ue})]),_:1})):L(``,!0)])),X(Et,{modelValue:T.value,"onUpdate:modelValue":n[17]||=e=>T.value=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[z(q(be.value),1)]),_:1}),X(ft,null,{default:N(()=>[z(q(xe.value),1)]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:We},{default:N(()=>[...n[23]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`error`,variant:`flat`,onClick:Ge},{default:N(()=>[...n[24]||=[z(`不保存`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,onClick:Ke},{default:N(()=>[...n[25]||=[z(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:A.value,"onUpdate:modelValue":n[18]||=e=>A.value=e,"max-width":`440`,persistent:``},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,{class:`text-warning`},{default:N(()=>[X(de,{start:``},{default:N(()=>[...n[26]||=[z(`mdi-alert-outline`,-1)]]),_:1}),n[27]||=z(` 文件冲突 `,-1)]),_:1}),X(ft,null,{default:N(()=>[z(` 「`+q(Se.value)+`」已被外部修改。`,1),n[28]||=U(`br`,null,null,-1),n[29]||=U(`strong`,null,`覆盖`,-1),n[30]||=z(`会以当前编辑内容覆盖服务器版本;`,-1),n[31]||=U(`strong`,null,`放弃`,-1),n[32]||=z(`会丢弃本地修改。 `,-1)]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:Xe},{default:N(()=>[...n[33]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`error`,variant:`flat`,onClick:Qe},{default:N(()=>[...n[34]||=[z(`放弃本地修改`,-1)]]),_:1}),X(O,{color:`warning`,variant:`flat`,onClick:Ze},{default:N(()=>[...n[35]||=[z(`强制覆盖`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-509107ff`]]);function Gn(e){return e==null?``:String(e).trim()}function Kn(e){if(e.type===`symlink`)return`—`;let t=Gn(e.owner),n=Gn(e.group);return t?!n||n===t?t:`${t}:${n}`:`—`}function qn(e){if(e===`root`)return`warning`}function Jn(e){let t=[];e.permissions&&t.push(e.permissions),e.mode_octal&&t.push(e.mode_octal);let n=Gn(e.owner),r=Gn(e.group);return n&&t.push(r&&r!==n?`${n}:${r}`:n),t.join(` · `)||`—`}var Yn=[{label:`文件 644`,mode:`644`,for:`file`},{label:`目录 755`,mode:`755`,for:`directory`},{label:`私密 600`,mode:`600`,for:`file`},{label:`协作 775`,mode:`775`,for:`directory`},{label:`可执行 755`,mode:`755`,for:`file`}],Xn=`docs/deploy/nexus-files-sudoers.example`;function Zn(e){let t=e.toLowerCase();return t.includes(`permission denied`)||t.includes(`operation not permitted`)||t.includes(`无法访问`)||t.includes(`无权限`)||t.includes(`无写入权限`)||t.includes(`读取失败`)||t.includes(`chmod 失败`)}function Qn(e,t){if(!t||t===`root`||e.type!==`file`)return!1;let n=e.permissions??``;if(n.length<10)return!1;let r=Gn(e.owner),i=Gn(e.group),a=n.slice(1,4),o=n.slice(4,7),s=n.slice(7,10);return r===t?!a.includes(`r`):(i&&i===t||!s.includes(`r`))&&!o.includes(`r`)}function $n(){return`目标机安装示例:${Xn}(复制到 /etc/sudoers.d/nexus-files 后执行 visudo -cf 校验)`}function er(e){if(e.isRootSsh)return null;let t=[],n=e.unreadableCount??0;if(e.lastReadDeniedPath&&t.push(`无法读取「${e.lastReadDeniedPath}」:当前 SSH 用户无权限。`),n>0&&e.sshUser&&t.push(`当前目录约 ${n} 个文件对 SSH 用户「${e.sshUser}」不可读。`),t.length>0&&(e.filesElevation===`off`?t.push(`此服务器「文件提权」已关闭,不会自动 sudo。`):e.canSudo?e.whitelistOk?t.push(`系统已自动尝试 sudo -n 提权,如仍失败请检查 sudoers 白名单。`):t.push(`已有 sudo 但白名单不完整(须含 bash、chmod、chown、tee、cat 等)。`):t.push(`请配置免密 sudo(NOPASSWD)或使用「一键配置」,或改用 root SSH 用户。`)),!t.length)return null;let r=e.filesElevation===`off`||!e.canSudo||!e.whitelistOk?` ${$n()}`:``;return{type:!e.canSudo||e.filesElevation===`off`?`error`:`warning`,text:`${t.join(` `)}${r}`}}var tr={key:0,class:`text-body-2 mb-3 text-medium-emphasis`},nr={key:1,class:`text-caption mb-4`},rr={class:`d-flex flex-wrap ga-2 mb-4`},ir={class:`d-flex align-center flex-wrap ga-2 mb-2`},ar={class:`text-body-2`},or={key:0,class:`text-caption mt-1`},sr={class:`text-caption text-medium-emphasis mb-0`},cr=M({__name:`FilePermissionDialog`,props:{modelValue:{type:Boolean},file:{},serverId:{},loading:{type:Boolean}},emits:[`update:modelValue`,`apply`],setup(e,{emit:t}){let n=e,r=t,i=P(``),a=P(``),o=P(``),s=P(null),c=P(!1),l=P(!1),u=G(()=>n.file?.type===`directory`),d=G(()=>n.file?.name??``),f=G(()=>n.file?Jn(n.file):``),p=G(()=>{let e=n.file?.type===`directory`?`directory`:`file`;return Yn.filter(t=>t.for===e||t.for===`file`)}),m=G(()=>s.value?s.value.is_root||s.value.can_sudo_nopasswd&&s.value.whitelist_ok?`success`:s.value.can_sudo_nopasswd?`warning`:`error`:`info`);ce(()=>[n.modelValue,n.file],([e,t])=>{!e||!t||(i.value=t.mode_octal||``,a.value=t.owner||``,o.value=t.group&&t.group!==t.owner?t.group:``,l.value=!1,s.value=null,n.serverId&&g())});function h(e){return e===`off`?`关闭提权`:e===`always_sudo`?`始终 sudo`:`自动 sudo`}async function g(){if(n.serverId){c.value=!0;try{s.value=await F.get(`/servers/${n.serverId}/files-capability`)}catch(e){s.value={ssh_user:``,is_root:!1,files_elevation:`auto_sudo`,can_sudo_nopasswd:!1,whitelist_ok:!1,message:e instanceof Error?e.message:`检测失败`,docs_path:`docs/deploy/nexus-files-sudoers.example`}}finally{c.value=!1}}}function _(e){return t=>!!String(t||``).trim()||`${e}不能为空`}function v(e){return/^[0-7]{3,4}$/.test(String(e||``).trim())||`格式: 3–4 位八进制`}let y=/^[a-zA-Z0-9_.-]+$/;function b(e){let t=String(e||``).trim();return t?y.test(t)||`仅允许字母、数字、._-`:!0}function x(e){let t=String(e||``).trim();return t?a.value.trim()?y.test(t)||`仅允许字母、数字、._-`:`请先填写属主`:!0}function S(e){i.value=e}function w(){let e=i.value.trim();if(!/^[0-7]{3,4}$/.test(e))return;let t=a.value.trim(),s=o.value.trim(),c=u.value&&l.value;if(c){let t=n.file?.name??`该目录`;if(!window.confirm(`确认对目录「${t}」及其全部子项递归应用权限 ${e}?此操作影响范围大且不可自动撤销。`))return}r(`apply`,{mode:e,owner:t||void 0,group:s||void 0,recursive:c||void 0})}return(t,n)=>(k(),V(Et,{"model-value":e.modelValue,"max-width":`520`,"onUpdate:modelValue":n[5]||=e=>r(`update:modelValue`,e)},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[6]||=[z(`修改权限`,-1)]]),_:1}),X(ft,null,{default:N(()=>[d.value?(k(),Y(`p`,tr,q(d.value),1)):L(``,!0),f.value?(k(),Y(`p`,nr,` 当前:`+q(f.value),1)):L(``,!0),U(`div`,rr,[(k(!0),Y(B,null,C(p.value,e=>(k(),V(st,{key:e.mode+e.label,size:`small`,variant:`tonal`,color:`primary`,onClick:t=>S(e.mode)},{default:N(()=>[z(q(e.label),1)]),_:2},1032,[`onClick`]))),128))]),X(xt,{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,label:`八进制权限`,variant:`outlined`,density:`compact`,placeholder:`644 / 755`,rules:[_(`权限`),v],class:`mb-2`,onKeydown:Le(w,[`enter`])},null,8,[`modelValue`,`rules`]),X(xt,{modelValue:a.value,"onUpdate:modelValue":n[1]||=e=>a.value=e,label:`属主(可选)`,variant:`outlined`,density:`compact`,placeholder:`www`,rules:[b],class:`mb-2`},null,8,[`modelValue`,`rules`]),X(xt,{modelValue:o.value,"onUpdate:modelValue":n[2]||=e=>o.value=e,label:`属组(可选)`,variant:`outlined`,density:`compact`,placeholder:`www`,rules:[x],class:`mb-2`},null,8,[`modelValue`,`rules`]),u.value?(k(),V(ht,{key:2,modelValue:l.value,"onUpdate:modelValue":n[3]||=e=>l.value=e,label:`同时修改子项(递归 chmod/chown)`,density:`compact`,"hide-details":``,color:`warning`,class:`mb-2`},null,8,[`modelValue`])):L(``,!0),X(rt,{class:`my-4`}),U(`div`,ir,[n[8]||=U(`span`,{class:`text-caption text-medium-emphasis`},`提权能力`,-1),X(O,{size:`small`,variant:`tonal`,loading:c.value,disabled:!e.serverId,onClick:g},{default:N(()=>[...n[7]||=[z(` 检测提权能力 `,-1)]]),_:1},8,[`loading`,`disabled`])]),s.value?(k(),V(E,{key:3,type:m.value,variant:`tonal`,density:`compact`,class:`mb-2`},{default:N(()=>[U(`div`,ar,q(s.value.message),1),s.value.ssh_user?(k(),Y(`div`,or,` SSH 用户:`+q(s.value.ssh_user)+` · 策略:`+q(h(s.value.files_elevation)),1)):L(``,!0)]),_:1},8,[`type`])):L(``,!0),U(`p`,sr,[n[9]||=z(` 非 root 用户写/chmod 失败时将按服务器策略尝试 `,-1),n[10]||=U(`code`,null,`sudo -n`,-1),z(`。 `+q(K($n)()),1)])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[4]||=e=>r(`update:modelValue`,!1)},{default:N(()=>[...n[11]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:e.loading,onClick:w},{default:N(()=>[...n[12]||=[z(`应用`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}});function lr(){function e(e){return[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean).length>0||[...e.dataTransfer?.files??[]].length>0}async function t(e){let t=[],n=[...e.dataTransfer?.items??[]].filter(e=>e.kind===`file`).map(e=>e.webkitGetAsEntry()).filter(Boolean);if(n.length)for(let e of n){let n=await ur(e,dr(`.`,e));t.push(...n.map(e=>e.file))}else t.push(...e.dataTransfer?.files??[]);return t}return{handleDrop:t,hasFilesOrFolders:e}}function ur(e,t=``){return new Promise((n,r)=>{e.isFile?e.file(e=>n([{file:e,path:t}]),r):e.isDirectory&&e.createReader().readEntries(async e=>{let r=[];for(let n of e)r.push(...await ur(n,dr(t,n)));n(r)})})}function dr(e,t){return t.isDirectory?`${e}/${t.name}`:e}var fr=it({filterByType:String},`file-accept`);function pr(e){let t=G(()=>e.filterByType?mr(e.filterByType):null);function n(e){if(t.value){let n=e.filter(t.value);return{accepted:n,rejected:e.filter(e=>!n.includes(e))}}return{accepted:e,rejected:[]}}return{filterAccepted:n}}function mr(e){let t=e.split(`,`).map(e=>e.trim().toLowerCase()),n=t.filter(e=>e.startsWith(`.`)),r=t.filter(e=>e.endsWith(`/*`)),i=t.filter(e=>!n.includes(e)&&!r.includes(e));return e=>{let t=e.name.split(`.`).at(-1)?.toLowerCase()??``,a=e.type.split(`/`).at(0)?.toLowerCase()??``;return i.includes(e.type)||n.includes(`.${t}`)||r.includes(`${a}/*`)}}var hr=it({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:`$vuetify.fileInput.counterSize`},counterString:{type:String,default:`$vuetify.fileInput.counter`},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:e=>typeof e==`boolean`||[1e3,1024].includes(Number(e))},truncateLength:{type:[Number,String],default:22},...A(St({prependIcon:`$file`}),[`direction`]),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>Te(e).every(e=>typeof e==`object`&&!!e)},...fr(),...bt({clearable:!0})},`VFileInput`),gr=ct()({name:`VFileInput`,inheritAttrs:!1,props:hr(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,rejected:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{t:i}=be(),{filterAccepted:a}=pr(e),o=tt(e,`modelValue`,e.modelValue,e=>Te(e),t=>!e.multiple&&Array.isArray(t)?t[0]:t),{isFocused:s,focus:c,blur:l}=vt(e),d=G(()=>typeof e.showSize==`boolean`?void 0:e.showSize),f=G(()=>(o.value??[]).reduce((e,{size:t=0})=>e+t,0)),p=G(()=>S(f.value,d.value)),m=G(()=>(o.value??[]).map(t=>{let{name:n=``,size:r=0}=t,i=O(n);return e.showSize?`${i} (${S(r,d.value)})`:i})),g=G(()=>{let t=o.value?.length??0;return e.showSize?i(e.counterSizeString,t,p.value):i(e.counterString,t)}),v=P(),y=P(),b=P(),x=u(()=>s.value||e.active),C=G(()=>[`plain`,`underlined`].includes(e.variant)),w=he(!1),{handleDrop:ee,hasFilesOrFolders:te}=lr();function T(){b.value!==document.activeElement&&b.value?.focus(),s.value||c()}function ne(e){b.value?.click()}function E(e){n(`mousedown:control`,e)}function D(e){b.value?.click(),n(`click:control`,e)}function re(t){t.stopPropagation(),T(),h(()=>{o.value=[],Pe(e[`onClick:clear`],t)})}function O(t){if(t.length{(!Array.isArray(e)||!e.length)&&b.value&&(b.value.value=``)}),Ge(()=>{let n=!!(r.counter||e.counter),i=!!(n||r.details),[a,c]=j(t),{modelValue:u,...d}=_t.filterProps(e),h={...yt.filterProps(e),"onClick:clear":re},S=t.webkitdirectory!==void 0&&t.webkitdirectory!==!1,ee=t.accept?String(t.accept):void 0,te=S?void 0:e.filterByType??ee;return X(_t,_({ref:v,modelValue:e.multiple?o.value:o.value[0],class:[`v-file-input`,{"v-file-input--chips":!!e.chips,"v-file-input--dragging":w.value,"v-file-input--hide":e.hideInput,"v-input--plain-underlined":C.value},e.class],style:e.style,"onClick:prepend":ne},a,d,{centerAffix:!C.value,focused:s.value,indentDetails:e.indentDetails??!C.value}),{...r,default:({id:t,isDisabled:n,isDirty:i,isReadonly:a,isValid:u,hasDetails:d})=>X(yt,_({ref:y,prependIcon:e.prependIcon,onMousedown:E,onClick:D,"onClick:prependInner":e[`onClick:prependInner`],"onClick:appendInner":e[`onClick:appendInner`]},h,{id:t.value,active:x.value||i.value,dirty:i.value||e.dirty,disabled:n.value,focused:s.value,details:d.value,error:u.value===!1,onDragover:k,onDrop:A}),{...r,default:({props:{class:t,...i},controlRef:s})=>U(B,null,[U(`input`,_({ref:e=>b.value=s.value=e,type:`file`,accept:te,readonly:a.value,disabled:n.value,multiple:e.multiple,name:e.name,onClick:e=>{e.stopPropagation(),a.value&&e.preventDefault(),T()},onChange:ae,onDragleave:ie,onFocus:T,onBlur:l},i,c),null),U(`div`,{class:Me(t)},[!!o.value?.length&&!e.hideInput&&(r.selection?r.selection({fileNames:m.value,totalBytes:f.value,totalBytesReadable:p.value}):e.chips?m.value.map(e=>X(st,{key:e,size:`small`,text:e},null)):m.value.join(`, `))])])}),details:i?t=>U(B,null,[r.details?.(t),n&&U(B,null,[U(`span`,null,null),X(gt,{active:!!o.value?.length,value:g.value,disabled:e.disabled},r.counter)])]):void 0})}),Je({},v,y,b)}}),_r={class:`text-body-2 mb-3`},vr={class:`text-body-2 mb-2 text-truncate`},yr={class:`text-truncate`},br={key:1,class:`files-preview-body text-body-2`},xr=Tt(M({__name:`FilesDialogs`,setup(e){let t=At();return(e,n)=>(k(),Y(B,null,[X(Et,{modelValue:K(t).showUpload,"onUpdate:modelValue":n[2]||=e=>K(t).showUpload=e,"max-width":`500`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[25]||=[z(`上传文件`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(gr,{modelValue:K(t).uploadFiles,"onUpdate:modelValue":n[0]||=e=>K(t).uploadFiles=e,label:`选择文件`,variant:`outlined`,multiple:``,"show-size":``},null,8,[`modelValue`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[1]||=e=>K(t).showUpload=!1},{default:N(()=>[...n[26]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).uploading,onClick:K(t).doUpload},{default:N(()=>[...n[27]||=[z(`上传`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showNewFile,"onUpdate:modelValue":n[5]||=e=>K(t).showNewFile=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[28]||=[z(`新建文件`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(xt,{modelValue:K(t).newFileName,"onUpdate:modelValue":n[3]||=e=>K(t).newFileName=e,label:`文件名`,variant:`outlined`,density:`compact`,rules:[K(t).validatePathSegment],placeholder:`example.conf`,autofocus:``,onKeydown:Le(K(t).doNewFile,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[4]||=e=>K(t).showNewFile=!1},{default:N(()=>[...n[29]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).actionLoading,onClick:K(t).doNewFile},{default:N(()=>[...n[30]||=[z(`创建`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showMkdir,"onUpdate:modelValue":n[8]||=e=>K(t).showMkdir=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[31]||=[z(`新建目录`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(xt,{modelValue:K(t).mkdirName,"onUpdate:modelValue":n[6]||=e=>K(t).mkdirName=e,label:`目录名`,variant:`outlined`,density:`compact`,rules:[K(t).validatePathSegment],onKeydown:Le(K(t).doMkdir,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[7]||=e=>K(t).showMkdir=!1},{default:N(()=>[...n[32]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,onClick:K(t).doMkdir},{default:N(()=>[...n[33]||=[z(`创建`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showFileDelete,"onUpdate:modelValue":n[10]||=e=>K(t).showFileDelete=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[34]||=[z(`确认删除`,-1)]]),_:1}),X(ft,null,{default:N(()=>[n[35]||=z(` 确定要删除 `,-1),U(`strong`,null,q(K(t).deletingFile?.name),1),n[36]||=z(` 吗? `,-1)]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[9]||=e=>K(t).showFileDelete=!1},{default:N(()=>[...n[37]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`error`,variant:`flat`,onClick:K(t).doDeleteFile},{default:N(()=>[...n[38]||=[z(`删除`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showRename,"onUpdate:modelValue":n[13]||=e=>K(t).showRename=e,"max-width":`400`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[39]||=[z(`重命名`,-1)]]),_:1}),X(ft,null,{default:N(()=>[X(xt,{modelValue:K(t).newName,"onUpdate:modelValue":n[11]||=e=>K(t).newName=e,label:`新名称`,variant:`outlined`,density:`compact`,rules:[K(t).required(`名称`)],autofocus:``,onKeydown:Le(K(t).doRename,[`enter`])},null,8,[`modelValue`,`rules`,`onKeydown`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[12]||=e=>K(t).showRename=!1},{default:N(()=>[...n[40]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,onClick:K(t).doRename},{default:N(()=>[...n[41]||=[z(`确定`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(cr,{modelValue:K(t).showChmod,"onUpdate:modelValue":n[14]||=e=>K(t).showChmod=e,file:K(t).chmodFile,"server-id":K(t).selectedServer,loading:K(t).chmodLoading,onApply:K(t).doChmod},null,8,[`modelValue`,`file`,`server-id`,`loading`,`onApply`]),X(Et,{modelValue:K(t).showCompress,"onUpdate:modelValue":n[18]||=e=>K(t).showCompress=e,"max-width":`440`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[42]||=[z(`压缩`,-1)]]),_:1}),X(ft,null,{default:N(()=>[U(`p`,_r,`将压缩 `+q(K(t).compressPaths.length)+` 项到当前目录`,1),X(xt,{modelValue:K(t).compressDest,"onUpdate:modelValue":n[15]||=e=>K(t).compressDest=e,label:`压缩包路径`,variant:`outlined`,density:`compact`},null,8,[`modelValue`]),X(mt,{modelValue:K(t).compressFormat,"onUpdate:modelValue":n[16]||=e=>K(t).compressFormat=e,items:[{title:`tar.gz`,value:`tar.gz`},{title:`zip`,value:`zip`}],"item-title":`title`,"item-value":`value`,label:`格式`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[17]||=e=>K(t).showCompress=!1},{default:N(()=>[...n[43]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).actionLoading,onClick:K(t).doCompress},{default:N(()=>[...n[44]||=[z(`压缩`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showDecompress,"onUpdate:modelValue":n[21]||=e=>K(t).showDecompress=e,"max-width":`440`},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,null,{default:N(()=>[...n[45]||=[z(`解压`,-1)]]),_:1}),X(ft,null,{default:N(()=>[U(`p`,vr,q(K(t).decompressSource),1),X(xt,{modelValue:K(t).decompressDest,"onUpdate:modelValue":n[19]||=e=>K(t).decompressDest=e,label:`解压到目录`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[20]||=e=>K(t).showDecompress=!1},{default:N(()=>[...n[46]||=[z(`取消`,-1)]]),_:1}),X(O,{color:`primary`,variant:`flat`,loading:K(t).actionLoading,onClick:K(t).doDecompress},{default:N(()=>[...n[47]||=[z(`解压`,-1)]]),_:1},8,[`loading`,`onClick`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),X(Et,{modelValue:K(t).showPreview,"onUpdate:modelValue":n[24]||=e=>K(t).showPreview=e,"max-width":`900`,scrollable:``},{default:N(()=>[X(Z,{border:``},{default:N(()=>[X(pt,{class:`d-flex align-center`},{default:N(()=>[U(`span`,yr,q(K(t).previewTitle),1),X(I),X(O,{icon:`mdi-close`,variant:`text`,onClick:n[22]||=e=>K(t).showPreview=!1})]),_:1}),X(rt),X(ft,{style:{"max-height":`70vh`}},{default:N(()=>[K(t).previewLoading?(k(),V(le,{key:0,indeterminate:``,class:`mb-2`})):(k(),Y(`pre`,br,q(K(t).previewContent),1))]),_:1}),X(dt,null,{default:N(()=>[X(I),X(O,{variant:`text`,onClick:n[23]||=e=>K(t).showPreview=!1},{default:N(()=>[...n[48]||=[z(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-110ea120`]]),Sr=`nexus:files:last_server_id`,Cr=`nexus:files-hint-dismissed`,wr=[{value:25,title:`25`},{value:50,title:`50`},{value:100,title:`100`},{value:250,title:`250`},...ut.filter(e=>e.value===-1)],Tr=5e3,Er=it({id:String,interactive:Boolean,text:String,...A(R({closeOnBack:!1,location:`end`,locationStrategy:`connected`,eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:`auto`,scrim:!1,scrollStrategy:`reposition`,transition:null}),[`absolute`,`retainFocus`,`captureFocus`,`disableInitialFocus`])},`VTooltip`),Dr=ct()({name:`VTooltip`,props:Er(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=tt(e,`modelValue`),{scopeId:r}=We(),i=lt(),a=u(()=>e.id||`v-tooltip-${i}`),o=P(),s=G(()=>e.location.split(` `).length>1?e.location:e.location+` center`),c=G(()=>e.origin===`auto`||e.origin===`overlap`||e.origin.split(` `).length>1||e.location.split(` `).length>1?e.origin:e.origin+` center`),l=u(()=>e.transition==null?n.value?`scale-transition`:`fade-transition`:e.transition),d=G(()=>_({"aria-describedby":a.value},e.activatorProps));return Ge(()=>{let i=je.filterProps(e);return X(je,_({ref:o,class:[`v-tooltip`,{"v-tooltip--interactive":e.interactive},e.class],style:e.style,id:a.value},i,{modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,transition:l.value,absolute:!0,location:s.value,origin:c.value,role:`tooltip`,activatorProps:d.value,_disableGlobalStack:!0},r),{activator:t.activator,default:(...n)=>t.default?.(...n)??e.text})}),Je({},o)}}),Or={class:`d-flex align-center ga-2 min-w-0`},kr={class:`min-w-0`},Ar={key:0,class:`text-caption text-medium-emphasis text-truncate`},jr={class:`text-medium-emphasis`},Mr={class:`text-medium-emphasis`},Nr={class:`files-row-actions`},Pr={key:0,class:`text-center text-medium-emphasis py-8`},Fr={key:0,class:`text-caption mt-2 text-disabled`},Ir=Tt(M({__name:`FilesList`,setup(e){let t=At();return(e,n)=>(k(),Y(B,null,[X(Z,{elevation:`0`,border:``,rounded:`lg`,class:Me([`position-relative`,{"files-drop-active":K(t).dropActive}]),onDragenter:n[1]||=J(e=>K(t).dropActive=!0,[`prevent`]),onDragover:n[2]||=J(e=>K(t).dropActive=!0,[`prevent`]),onDragleave:n[3]||=J(e=>K(t).dropActive=!1,[`prevent`]),onDrop:J(K(t).onDropFiles,[`prevent`])},{default:N(()=>[K(t).loadingVisible?(k(),V(le,{key:0,indeterminate:``,color:`primary`,height:`2`,class:`files-table-progress`})):L(``,!0),X(i,{modelValue:K(t).selectedFiles,"onUpdate:modelValue":n[0]||=e=>K(t).selectedFiles=e,items:K(t).displayedFiles,headers:K(t).fileHeaders,loading:K(t).loadingVisible,"items-per-page":K(50),"items-per-page-options":[...K(wr)],"show-select":``,"return-object":``,hover:``,density:`comfortable`,"item-value":`name`,"row-props":K(t).fileRowProps},{"item.name":N(({item:e})=>[U(`div`,Or,[X(de,{color:K(t).entryIconColor(e),size:`20`},{default:N(()=>[z(q(K(t).entryIcon(e)),1)]),_:2},1032,[`color`]),K(t).isEntryLikelyUnreadable(e,K(t).sshUserForFiles)?(k(),V(de,{key:0,size:`18`,color:`warning`,title:`当前 SSH 用户可能无法读取`},{default:N(()=>[...n[20]||=[z(` mdi-shield-lock `,-1)]]),_:1})):L(``,!0),U(`div`,kr,[U(`span`,{class:Me({"font-weight-medium":e.type===`directory`})},q(e.name),3),e.type===`symlink`&&e.link_target?(k(),Y(`div`,Ar,` → `+q(e.link_target),1)):L(``,!0)])])]),"item.owner":N(({item:e})=>[X(Dr,{text:K(t).permissionTooltip(e),location:`top`},{activator:N(({props:n})=>[X(st,_(n,{size:`small`,variant:`tonal`,color:K(t).ownerChipColor(e.owner||``),class:`text-none`}),{default:N(()=>[z(q(K(t).formatOwnerChip(e)),1)]),_:2},1040,[`color`])]),_:2},1032,[`text`])]),"item.size":N(({item:e})=>[U(`span`,jr,q(e.type===`directory`?`—`:K(t).formatSize(e.size)),1)]),"item.modified":N(({item:e})=>[U(`span`,Mr,q(e.modified||`—`),1)]),"item.actions":N(({item:e})=>[U(`div`,Nr,[K(t).isRegularFile(e)?(k(),V(O,{key:0,variant:`outlined`,size:`small`,color:`primary`,class:`files-action-btn`,"prepend-icon":`mdi-pencil-outline`,onClick:J(n=>K(t).editFile(e),[`stop`])},{default:N(()=>[...n[21]||=[z(` 编辑 `,-1)]]),_:1},8,[`onClick`])):L(``,!0),K(t).isRegularFile(e)?(k(),V(O,{key:1,variant:`outlined`,size:`small`,class:`files-action-btn`,"prepend-icon":`mdi-eye-outline`,onClick:J(n=>K(t).previewFile(e),[`stop`])},{default:N(()=>[...n[22]||=[z(` 查看 `,-1)]]),_:1},8,[`onClick`])):L(``,!0),K(t).isRegularFile(e)?(k(),V(O,{key:2,variant:`outlined`,size:`small`,class:`files-action-btn`,"prepend-icon":`mdi-download-outline`,onClick:J(n=>K(t).downloadFile(e),[`stop`])},{default:N(()=>[...n[23]||=[z(` 下载 `,-1)]]),_:1},8,[`onClick`])):L(``,!0),X(O,{variant:`outlined`,size:`small`,color:`error`,class:`files-action-btn`,"prepend-icon":`mdi-delete-outline`,onClick:J(n=>K(t).confirmDeleteFile(e),[`stop`])},{default:N(()=>[...n[24]||=[z(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),"no-data":N(()=>[K(t).pageReady&&!K(t).loading&&!K(t).loadingVisible&&K(t).files.length===0?(k(),Y(`div`,Pr,[X(de,{size:`40`,class:`mb-2`},{default:N(()=>[...n[25]||=[z(`mdi-folder-open-outline`,-1)]]),_:1}),U(`div`,null,q(K(t).emptyHint),1),K(t).selectedServer?(k(),Y(`div`,Fr,` 单击目录进入 · 双击文件编辑 · Ctrl+A 全选 · Ctrl+C/V 复制粘贴 `)):L(``,!0)])):L(``,!0)]),_:1},8,[`modelValue`,`items`,`headers`,`loading`,`items-per-page`,`items-per-page-options`,`row-props`])]),_:1},8,[`class`,`onDrop`]),X(Ve,{modelValue:K(t).showContextMenu,"onUpdate:modelValue":n[19]||=e=>K(t).showContextMenu=e,target:[K(t).contextX,K(t).contextY],location:`bottom start`},{default:N(()=>[X(Fe,{density:`compact`,nav:``},{default:N(()=>[K(t).contextFile&&K(t).contextFile.type===`directory`?(k(),V(W,{key:0,"prepend-icon":`mdi-folder-open`,onClick:n[4]||=e=>K(t).contextAction(`open`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[26]||=[z(`打开`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isRegularFile(K(t).contextFile)?(k(),V(W,{key:1,"prepend-icon":`mdi-pencil`,onClick:n[5]||=e=>K(t).contextAction(`edit`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[27]||=[z(`编辑`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isRegularFile(K(t).contextFile)?(k(),V(W,{key:2,"prepend-icon":`mdi-eye`,onClick:n[6]||=e=>K(t).contextAction(`preview`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[28]||=[z(`查看`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isRegularFile(K(t).contextFile)?(k(),V(W,{key:3,"prepend-icon":`mdi-download`,onClick:n[7]||=e=>K(t).contextAction(`download`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[29]||=[z(`下载`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile?(k(),V(W,{key:4,"prepend-icon":`mdi-content-copy`,onClick:n[8]||=e=>K(t).contextAction(`copy`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[30]||=[z(`复制 (Ctrl+C)`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile?(k(),V(W,{key:5,"prepend-icon":`mdi-content-cut`,onClick:n[9]||=e=>K(t).contextAction(`cut`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[31]||=[z(`剪切 (Ctrl+X)`,-1)]]),_:1})]),_:1})):L(``,!0),X(W,{"prepend-icon":`mdi-content-paste`,disabled:!K(t).canPasteHere,onClick:n[10]||=e=>K(t).contextAction(`paste`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[32]||=[z(`粘贴到当前目录 (Ctrl+V)`,-1)]]),_:1})]),_:1},8,[`disabled`]),K(t).contextFile?.type===`directory`&&K(t).canPasteHere?(k(),V(W,{key:6,"prepend-icon":`mdi-folder-arrow-down`,onClick:n[11]||=e=>K(t).contextAction(`pasteInto`)},{default:N(()=>[X(H,null,{default:N(()=>[z(`粘贴到「`+q(K(t).contextFile.name)+`」`,1)]),_:1})]),_:1})):L(``,!0),X(W,{"prepend-icon":`mdi-link-variant`,onClick:n[12]||=e=>K(t).contextAction(`copyPath`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[33]||=[z(`复制路径`,-1)]]),_:1})]),_:1}),X(W,{"prepend-icon":`mdi-console`,onClick:n[13]||=e=>K(t).contextAction(`terminal`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[34]||=[z(`终端`,-1)]]),_:1})]),_:1}),X(rt),K(t).contextFile&&(K(t).isRegularFile(K(t).contextFile)||K(t).contextFile.type===`directory`)?(k(),V(W,{key:7,"prepend-icon":`mdi-zip-box`,onClick:n[14]||=e=>K(t).contextAction(`compress`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[35]||=[z(`压缩`,-1)]]),_:1})]),_:1})):L(``,!0),K(t).contextFile&&K(t).isArchiveName(K(t).contextFile.name)?(k(),V(W,{key:8,"prepend-icon":`mdi-package-up`,onClick:n[15]||=e=>K(t).contextAction(`decompress`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[36]||=[z(`解压`,-1)]]),_:1})]),_:1})):L(``,!0),X(rt),X(W,{"prepend-icon":`mdi-file-rename-box`,onClick:n[16]||=e=>K(t).contextAction(`rename`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[37]||=[z(`重命名`,-1)]]),_:1})]),_:1}),X(W,{"prepend-icon":`mdi-lock`,onClick:n[17]||=e=>K(t).contextAction(`chmod`)},{default:N(()=>[X(H,null,{default:N(()=>[...n[38]||=[z(`修改权限`,-1)]]),_:1})]),_:1}),X(rt),X(W,{"prepend-icon":`mdi-delete`,onClick:n[18]||=e=>K(t).contextAction(`delete`)},{default:N(()=>[X(H,{class:`text-error`},{default:N(()=>[...n[39]||=[z(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`,`target`])],64))}}),[[`__scopeId`,`data-v-964388ad`]]),Lr={class:`d-flex flex-wrap align-center justify-space-between ga-2`},Rr=M({__name:`FilesPermissionAlert`,setup(e){let t=At();return(e,n)=>K(t).filesAccessHint?(k(),V(E,{key:0,type:K(t).filesAccessHint.type,variant:`tonal`,closable:``,prominent:``,density:`comfortable`,class:`mb-4`,icon:`mdi-shield-lock-outline`,"onClick:close":K(t).dismissFilesAccessHint},{default:N(()=>[U(`div`,Lr,[U(`span`,null,q(K(t).filesAccessHint.text.split(`目标机安装示例`)[0].trim()),1),K(t).sshUserForFiles&&K(t).sshUserForFiles!==`root`?(k(),V(O,{key:0,size:`small`,variant:`flat`,color:`primary`,"prepend-icon":`mdi-auto-fix`,loading:K(t).setupSudoLoading,disabled:K(t).setupSudoDone,onClick:J(K(t).setupFilesSudo,[`stop`])},{default:N(()=>[z(q(K(t).setupSudoDone?`已配置`:`一键配置 sudo 权限`),1)]),_:1},8,[`loading`,`disabled`,`onClick`])):L(``,!0)])]),_:1},8,[`type`,`onClick:close`])):L(``,!0)}}),zr={class:`text-caption text-medium-emphasis mb-2 d-flex flex-wrap align-center ga-2`},Br=M({__name:`FilesStatusBar`,setup(e){let t=At();return(e,n)=>(k(),Y(`div`,zr,[U(`span`,null,q(K(t).statusSummary),1),K(t).browseError?(k(),V(st,{key:0,size:`x-small`,color:`warning`,variant:`tonal`},{default:N(()=>[z(q(K(t).browseError),1)]),_:1})):L(``,!0),K(t).hasClipboard?(k(),V(st,{key:1,size:`x-small`,color:`info`,variant:`tonal`,class:`cursor-pointer`,onClick:n[0]||=()=>K(t).pasteClipboard()},{default:N(()=>[z(q(K(t).clipboardSummary)+` → `+q(K(t).pasteDestLabel)+` · Ctrl+V 粘贴 `,1)]),_:1})):L(``,!0)]))}}),Vr=M({__name:`FilesToolbar`,setup(e){let t=At();return(e,n)=>(k(),V(Z,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4 pa-4`},{default:N(()=>[X(c,{align:`center`,dense:``},{default:N(()=>[X(s,{cols:`12`,sm:`4`},{default:N(()=>[X(mt,{modelValue:K(t).selectedServer,"onUpdate:modelValue":[n[0]||=e=>K(t).selectedServer=e,K(t).onServerChange],items:K(t).serverList,"item-title":`name`,"item-value":`id`,label:`选择服务器`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-server`},null,8,[`modelValue`,`items`,`onUpdate:modelValue`])]),_:1}),X(s,{cols:`12`,sm:`4`},{default:N(()=>[X(xt,{modelValue:K(t).currentPath,"onUpdate:modelValue":n[1]||=e=>K(t).currentPath=e,label:`路径`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-folder`,"append-inner-icon":`mdi-arrow-right`,"onClick:appendInner":K(t).browseCurrent,onKeydown:Le(K(t).browseCurrent,[`enter`])},null,8,[`modelValue`,`onClick:appendInner`,`onKeydown`])]),_:1}),X(s,{cols:`12`,sm:`3`},{default:N(()=>[X(xt,{modelValue:K(t).fileFilter,"onUpdate:modelValue":n[2]||=e=>K(t).fileFilter=e,label:`筛选文件名`,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-magnify`,clearable:``,"hide-details":``},null,8,[`modelValue`])]),_:1}),X(s,{cols:`12`,sm:`3`},{default:N(()=>[X(mt,{modelValue:K(t).extFilter,"onUpdate:modelValue":n[3]||=e=>K(t).extFilter=e,items:K(t).FILE_EXT_FILTERS,"item-title":`title`,"item-value":`value`,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`,`items`])]),_:1}),X(s,{cols:`12`,sm:`2`},{default:N(()=>[X(mt,{modelValue:K(t).sortBy,"onUpdate:modelValue":n[4]||=e=>K(t).sortBy=e,items:K(t).sortOptions,"item-title":`title`,"item-value":`value`,label:`排序`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`,`items`])]),_:1}),X(s,{cols:`12`,class:`d-flex ga-2 flex-wrap justify-end`},{default:N(()=>[X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-upload`,onClick:n[5]||=e=>K(t).showUpload=!0},{default:N(()=>[...n[10]||=[z(` 上传 `,-1)]]),_:1}),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-file-plus`,disabled:!K(t).selectedServer,onClick:n[6]||=e=>K(t).showNewFile=!0},{default:N(()=>[...n[11]||=[z(` 新建文件 `,-1)]]),_:1},8,[`disabled`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-folder-plus`,onClick:n[7]||=e=>K(t).showMkdir=!0},{default:N(()=>[...n[12]||=[z(` 新建目录 `,-1)]]),_:1}),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-zip-box`,disabled:!K(t).selectedServer||!K(t).selectedFileCount,onClick:n[8]||=e=>K(t).openCompressDialog()},{default:N(()=>[...n[13]||=[z(` 压缩 `,-1)]]),_:1},8,[`disabled`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-paste`,disabled:!K(t).canPasteHere,onClick:n[9]||=()=>K(t).pasteClipboard()},{default:N(()=>[...n[14]||=[z(` 粘贴 `,-1)]]),_:1},8,[`disabled`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-arrow-up`,disabled:!K(t).canGoUp,onClick:K(t).goUp},{default:N(()=>[...n[15]||=[z(` 上级 `,-1)]]),_:1},8,[`disabled`,`onClick`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-refresh`,onClick:K(t).browseCurrent},{default:N(()=>[...n[16]||=[z(`刷新`,-1)]]),_:1},8,[`onClick`]),X(O,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-console`,disabled:!K(t).selectedServer,onClick:K(t).openInTerminal},{default:N(()=>[...n[17]||=[z(` 终端 `,-1)]]),_:1},8,[`disabled`,`onClick`])]),_:1})]),_:1})]),_:1}))}}),Hr=P(null);function Ur(){let e=G(()=>Hr.value!==null),t=G(()=>Hr.value?`${Hr.value.mode===`cut`?`已剪切`:`已复制`} ${Hr.value.paths.length} 项`:``);function n(e,t,n){if(!n.length)return!1;let r=[...new Set(n.map(e=>Q(e)))];return Hr.value={mode:e,serverId:t,paths:r,label:r.map(e=>e.split(`/`).pop()||e).join(`, `)},!0}function r(){Hr.value=null}function i(e){return!!(Hr.value&&e&&Hr.value.serverId===e)}function a(e,t){let n=Q(t);for(let t of e){let e=Q(t);if(n===e)return`「${e.split(`/`).pop()||e}」与目标路径相同,无需粘贴`;if(n.startsWith(`${e}/`))return`不能粘贴到源目录「${e}」的内部`}return null}async function o(e){let t=Hr.value;if(!t)throw Error(`剪贴板为空`);let n=Q(e),i=a(t.paths,n);if(i)throw Error(i);let o=t.mode===`cut`?`move`:`copy`;await F.post(`/sync/file-clipboard`,{server_id:t.serverId,mode:o,sources:t.paths,dest_dir:n}),t.mode===`cut`&&r()}return{clipboard:Hr,hasClipboard:e,clipboardSummary:t,setFromSelection:n,clear:r,canPasteOnServer:i,validatePasteTarget:a,pasteToDirectory:o}}function Wr(e){if(!(e instanceof HTMLElement))return!1;let t=e.tagName;return t===`INPUT`||t===`TEXTAREA`||e.isContentEditable}function Gr(e,t,n){function r(r){if(!Wr(r.target)){if(r.key===`F5`){r.preventDefault(),e.refresh();return}if(r.key===`Backspace`){r.preventDefault(),e.goUp();return}if(r.key===`F2`&&t.value.length===1){r.preventDefault(),e.renameSelection();return}if(r.key===`Delete`&&t.value.length>0&&(r.preventDefault(),e.deleteSelection()),(r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`a`){r.preventDefault(),e.selectAll();return}if((r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`c`){t.value.length>0&&(r.preventDefault(),e.copySelection());return}if((r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`x`){t.value.length>0&&(r.preventDefault(),e.cutSelection());return}(r.ctrlKey||r.metaKey)&&r.key.toLowerCase()===`v`&&n.value&&(r.preventDefault(),e.pasteClipboard())}}ne(()=>window.addEventListener(`keydown`,r)),f(()=>window.removeEventListener(`keydown`,r))}function Kr(e,t){return`${e}:${t}`}var qr=ae(`files`,()=>{let e=P(null),t=P(Vt),n=P([]),r=P(!1),i=P(!1),a=P(``),o=P(null),s=P(null),c=P(!1),l=P(!1),u=P(!1),d=P(!1),f=P(!1),p=P(!1),m=new Map;function h(e){return Date.now()-e.at<=Tr}function g(e,t){return m.get(Kr(e,t))??null}function _(e,t){let n=g(e,t);return!n||!h(n)?null:n.items}function v(e,t){return g(e,t)?.etag}function y(e,t){let n=g(e,t);n&&(n.at=Date.now())}function b(e,t,n,r){let i=Kr(e,t),a=m.get(i);if(m.set(i,{items:n,at:Date.now(),etag:r??a?.etag}),m.size>50){let e=[...m.entries()].sort((e,t)=>e[1].at-t[1].at)[0];e&&m.delete(e[0])}}function x(e,t){if(e==null){m.clear();return}if(t==null){let t=`${e}:`;for(let e of[...m.keys()])e.startsWith(t)&&m.delete(e);return}m.delete(Kr(e,t))}function S(){s.value=null,c.value=!1,u.value=!1}return{selectedServer:e,currentPath:t,files:n,loading:r,loadingVisible:i,browseError:a,filesCapability:o,lastReadDeniedPath:s,accessHintDismissed:c,setupSudoLoading:l,setupSudoDone:u,pageReady:d,routeReady:f,initing:p,getCacheEntry:g,getCached:_,getCachedEtag:v,touchCache:y,setCached:b,invalidateCache:x,resetForServerChange:S}}),Jr={directory:0,symlink:1,file:2};function Yr(e,t,n){let r=n===`asc`?1:-1;return[...e].sort((e,n)=>{let i=Jr[e.type]??9,a=Jr[n.type]??9;if(i!==a)return i-a;let o=0;return o=t===`name`?e.name.localeCompare(n.name):t===`size`?(e.size??0)-(n.size??0):(e.modified??``).localeCompare(n.modified??``),o*r})}var Xr=[{title:`全部`,value:``},{title:`.conf / .ini`,value:`conf,ini`},{title:`.log`,value:`log`},{title:`.sh`,value:`sh`},{title:`.py`,value:`py`},{title:`.json`,value:`json`},{title:`.yml / .yaml`,value:`yml,yaml`},{title:`.txt`,value:`txt`},{title:`.php`,value:`php`},{title:`.js / .ts`,value:`js,ts`}];function Zr(e,t){if(!t)return!0;let n=e.toLowerCase();return t.split(`,`).some(e=>n.endsWith(`.${e.trim()}`))}function Qr(e){let t=e.toLowerCase();return t.endsWith(`.tar.gz`)||t.endsWith(`.tgz`)||t.endsWith(`.zip`)}var $r=300*1024,ei=2*1024*1024,ti=40,ni=4,ri=new Map;function ii(e,t){return`${e}:${Q(t)}`}function ai(e){let t=Q(e),n=t.lastIndexOf(`/`);return n<=0?`/`:t.slice(0,n)||`/`}function oi(){ri.clear()}function si(e,t){let n=Q(t);for(let t of[...ri.keys()]){if(!t.startsWith(`${e}:`)){ri.delete(t);continue}ai(t.slice(`${e}:`.length))!==n&&ri.delete(t)}}function ci(e,t){ri.delete(ii(e,t))}function li(e){if(e.type!==`file`)return!1;let t=e.size??0;return t>0&&t<=307200}function ui(e){return e!=null&&e>0&&e>2097152}function di(e){return typeof e==`string`?{content:e,mtime:null,etag:null,eol:`LF`}:{content:e.content??JSON.stringify(e,null,2),mtime:e.mtime??null,etag:e.etag??null,eol:e.eol??`LF`}}async function fi(e,t,n=$r){let r=ii(e,t),i=ri.get(r);if(i!==void 0)return i;let a=di(await F.post(`/sync/read-file`,{server_id:e,path:Q(t),max_size:n}));return ri.set(r,a),a}function pi(e,t,n){let r=n.filter(li).sort((e,t)=>(e.size??0)-(t.size??0)).slice(0,ti);if(!r.length)return;let i=0,a=async()=>{for(;ia()))}function mi(e,t){let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t,r.rel=`noopener`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)}function hi(e){let t=o(),{selectedServer:n,currentPath:r}=d(qr()),{selectedFiles:i,selectedAbsolutePaths:a,clearSelection:s}=e.selection,{setFromSelection:c,canPasteOnServer:l,pasteToDirectory:u}=Ur(),f=P(!1),p=P(!1),m=P(!1),g=P(``),_=P(!1),v=P(!1),y=P(``),b=P(`tar.gz`),x=P([]),S=P(!1),C=P(``),w=P(`.`),ee=P(!1),te=P([]),T=P(!1),ne=P(``),E=e.actionLoading??P(!1),D=P(null),re=P(!1),O=P(``),k=P(null),ie=P(!1),A=P(!1),ae=P(null),oe=P(!1),j=P(0),M=P(0),se=P(null);function N(e){if(e)return Q(e);let t=i.value.filter(e=>e.type===`directory`);return t.length===1&&i.value.length===1?$(r.value,t[0].name):Q(r.value)}let ce=G(()=>{let e=N();return e===Q(r.value)?`当前目录`:e});function le(e){if(!n.value)return;let r=a(e);if(!r.length){t(`请先选择文件或目录`,`warning`);return}c(`copy`,n.value,r)&&t(`已复制 ${r.length} 项`)}function ue(e){if(!n.value)return;let r=a(e);if(!r.length){t(`请先选择文件或目录`,`warning`);return}c(`cut`,n.value,r)&&t(`已剪切 ${r.length} 项`)}async function de(r){if(!n.value){t(`请先选择服务器`,`warning`);return}if(!l(n.value)){t(`剪贴板为空或服务器不一致`,`warning`);return}let i=N(r);E.value=!0;try{await u(i),s(),e.invalidateAfterMutation(i),await e.browse({force:!0}),t(`已粘贴到 ${i}`)}catch(e){t(e instanceof Error?e.message:`粘贴失败`,`error`)}finally{E.value=!1}}async function fe(e){if(f.value=!1,!n.value){t(`请先选择服务器`,`warning`);return}let r=e.dataTransfer?.files;r?.length&&(te.value=Array.from(r),await we())}function pe(t){if(oe.value=!1,!se.value)return;let n=se.value;switch(t){case`open`:e.openEntry(n);break;case`copy`:le([n]);break;case`cut`:ue([n]);break;case`paste`:de();break;case`pasteInto`:n.type===`directory`&&de($(r.value,n.name));break;case`edit`:e.editFile(n);break;case`preview`:e.previewFile(n);break;case`download`:xe(n);break;case`copyPath`:me(n);break;case`terminal`:e.openInTerminal();break;case`compress`:he([n]);break;case`decompress`:I(n);break;case`rename`:_e(n);break;case`chmod`:z(n);break;case`delete`:Se(n);break}}async function me(e){let n=$(r.value,e.name);try{await navigator.clipboard.writeText(n),t(`路径已复制`)}catch{t(`复制失败`,`error`)}}function he(e){if(!n.value)return;let a=e?.length?e:i.value.length?i.value:[];if(!a.length){t(`请选择要压缩的文件或目录`,`warning`);return}x.value=a.map(e=>$(r.value,e.name));let o=a.length===1?a[0].name.replace(/\.[^.]+$/,``):`archive`;y.value=$(r.value,`${o}.tar.gz`),b.value=`tar.gz`,v.value=!0}function I(e){if(n.value){if(!Qr(e.name)){t(`仅支持 .tar.gz / .tgz / .zip`,`warning`);return}C.value=$(r.value,e.name),w.value=r.value,S.value=!0}}async function L(){if(!(!n.value||!x.value.length||!y.value)){E.value=!0;try{let r=y.value;b.value===`zip`&&!r.endsWith(`.zip`)&&(r=r.replace(/\.tar\.gz$/i,`.zip`),r.endsWith(`.zip`)||(r+=`.zip`)),await F.post(`/sync/compress`,{server_id:n.value,paths:x.value,dest:r,format:b.value}),v.value=!1,s(),e.invalidateAfterMutation(),await e.browse({force:!0}),t(`压缩完成`)}catch(e){t(e instanceof Error?e.message:`压缩失败`,`error`)}finally{E.value=!1}}}async function R(){if(!(!n.value||!C.value)){E.value=!0;try{await F.post(`/sync/decompress`,{server_id:n.value,path:C.value,dest:w.value||`.`}),S.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`解压完成`)}catch(e){t(e instanceof Error?e.message:`解压失败`,`error`)}finally{E.value=!1}}}async function ge(){if(!n.value||!g.value)return;let i=Gt(g.value);if(i!==!0){t(i,`warning`);return}let a=g.value,o=$(r.value,a);E.value=!0;try{await F.post(`/sync/write-file`,{server_id:n.value,path:o,content:``}),m.value=!1,g.value=``,ci(n.value,o),e.invalidateAfterMutation(),await e.browse({force:!0}),t(`文件已创建`),await h(),e.editorWorkbench.value?.openFile({path:o,name:a,content:``,eol:`LF`,etag:null,mtime:null})}catch(e){t(e instanceof Error?e.message:`创建失败`,`error`)}finally{E.value=!1}}function _e(e){k.value=e,O.value=e.name,re.value=!0}async function ve(){if(!(!n.value||!k.value||!O.value))try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`rename`,path:$(r.value,k.value.name),new_path:$(r.value,O.value)}),re.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`重命名成功`)}catch(e){t(e instanceof Error?e.message:`重命名失败`,`error`)}}function z(e){ae.value=e,ie.value=!0}async function ye(i){if(!(!n.value||!ae.value)){A.value=!0;try{await F.post(`/sync/chmod`,{server_id:n.value,path:$(r.value,ae.value.name),mode:i.mode,owner:i.owner,group:i.group,recursive:i.recursive??!1}),ie.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`权限已修改`)}catch(e){t(e instanceof Error?e.message:`修改权限失败`,`error`)}finally{A.value=!1}}}async function be(){if(!n.value||!i.value.length||!confirm(`确定删除 ${i.value.length} 个文件?`))return;let a=0,o=0;for(let e of i.value)try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`delete`,path:$(r.value,e.name)}),a++}catch{o++}s(),e.invalidateAfterMutation(),await e.browse({force:!0}),o===0?t(`已删除 ${a} 项`):t(`删除完成:成功 ${a},失败 ${o}`,o>0?`warning`:`success`)}async function xe(e){if(n.value)try{let i=$(r.value,e.name),{blob:a,filename:o}=await F.download(`/sync/download`,{server_id:n.value,path:i});mi(a,o),t(`已下载 ${o}`)}catch(e){t(e instanceof Error?e.message:`下载失败`,`error`)}}async function Se(e){D.value=e,ee.value=!0}async function B(){if(!(!n.value||!D.value)){E.value=!0;try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`delete`,path:$(r.value,D.value.name)}),ee.value=!1,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`已删除`)}catch(e){t(e instanceof Error?e.message:`删除失败`,`error`)}finally{E.value=!1}}}async function Ce(){if(!n.value||!ne.value)return;let i=Gt(ne.value);if(i!==!0){t(i,`warning`);return}E.value=!0;try{await F.post(`/sync/file-ops`,{server_id:n.value,operation:`mkdir`,path:$(r.value,ne.value)}),_.value=!1,ne.value=``,e.invalidateAfterMutation(),await e.browse({force:!0}),t(`目录已创建`)}catch(e){t(e instanceof Error?e.message:`创建失败`,`error`)}finally{E.value=!1}}async function we(){if(!(!n.value||!te.value.length)){T.value=!0;try{let i=new FormData;for(let e of te.value)i.append(`file`,e);i.append(`server_id`,String(n.value)),i.append(`remote_path`,r.value),await F.upload(`/sync/upload`,i),p.value=!1,te.value=[],e.invalidateAfterMutation(),await e.browse({force:!0}),t(`上传成功`)}catch(e){t(e instanceof Error?e.message:`上传失败`,`error`)}finally{T.value=!1}}}function Te(e){return e instanceof HTMLElement?!!e.closest(`button, a, input, .v-checkbox, .v-selection-control`):!1}function Ee(e){let t=e.item;return{class:t.type===`directory`?`files-row--dir`:void 0,style:{cursor:t.type===`directory`||t.type===`symlink`?`pointer`:`default`},onClick:e=>{Te(e.target)||e.detail===1&&De(e,{item:t})},onDblclick:e=>{Te(e.target)||Oe(e,{item:t})},onContextmenu:e=>{Te(e.target)||V(e,{item:t})}}}function De(t,{item:n}){(n.type===`directory`||n.type===`symlink`)&&e.openEntry(n)}function Oe(t,{item:n}){n.type===`file`&&e.editFile(n)}function V(e,{item:t}){e.preventDefault(),se.value=t,j.value=e.clientX,M.value=e.clientY,oe.value=!0}return{dropActive:f,showUpload:p,showNewFile:m,newFileName:g,showMkdir:_,showCompress:v,compressDest:y,compressFormat:b,compressPaths:x,showDecompress:S,decompressSource:C,decompressDest:w,showFileDelete:ee,uploadFiles:te,uploading:T,mkdirName:ne,actionLoading:E,deletingFile:D,showRename:re,newName:O,renamingFile:k,showChmod:ie,chmodLoading:A,chmodFile:ae,showContextMenu:oe,contextX:j,contextY:M,contextFile:se,copyToClipboard:le,cutToClipboard:ue,pasteClipboard:de,onDropFiles:fe,contextAction:pe,openCompressDialog:he,openDecompressDialog:I,doCompress:L,doDecompress:R,doNewFile:ge,startRename:_e,doRename:ve,startChmod:z,doChmod:ye,batchDelete:be,downloadFile:xe,confirmDeleteFile:Se,doDeleteFile:B,doMkdir:Ce,doUpload:we,fileRowProps:Ee,pasteDestLabel:ce}}var gi=!1;function _i(){x(async()=>{let{initMonaco:e}=await import(`./initMonaco-CzdlaNu8.js`).then(e=>e.r);return{initMonaco:e}},__vite__mapDeps([0,1,2,3])).then(({initMonaco:t})=>{t(),e()})}function vi(){gi||(gi=!0,typeof requestIdleCallback==`function`?requestIdleCallback(_i,{timeout:3e3}):setTimeout(_i,300))}var yi=200,bi=0,xi=null,Si=``,Ci=null;function wi(e){return e.includes(`No such file or directory`)||e.includes(`not a directory`)}function Ti(e,t){return wi(e)?`路径不存在:${t},请检查服务器「target_path」设置`:e.includes(`Permission denied`)||e.includes(`Operation not permitted`)?`无读取权限(${t})`:e.includes(`connection_error`)||e.includes(`SSH pool at capacity`)?`SSH 连接失败或连接池繁忙,请稍后点「刷新」重试`:e.includes(`timed out`)||e.includes(`timeout`)?`远程命令超时(${t}),请检查目标机负载或网络`:e}function Ei(e){e.loading=!0,!Ci&&(Ci=setTimeout(()=>{Ci=null,e.loading&&(e.loadingVisible=!0)},yi))}function Di(e){e.loading=!1,Ci&&=(clearTimeout(Ci),null),e.loadingVisible=!1}async function Oi(e,t,n){let r={};n&&(r[`If-None-Match`]=n);try{return await me(`/files/browse`,{method:`GET`,params:{server_id:e,path:t},headers:r})}catch(n){if(!(n instanceof qe&&(n.status>=500||n.status===404||n.status===405)))throw n;return{status:200,data:await F.post(`/sync/browse`,{server_id:e,path:t}),etag:null}}}function ki(e){let t=o(),n=we(),r=$e(),i=qr(),{selectedServer:a,currentPath:s,files:c,loading:l,loadingVisible:u,browseError:f,pageReady:p,filesCapability:m}=d(i);function h(){let e={...n.query};a.value?(e.server_id=String(a.value),e.path=s.value===`/www/wwwroot`?void 0:s.value):(delete e.server_id,delete e.path),r.replace({query:e})}let g=G(()=>p.value?a.value?f.value?f.value:e?.value.trim()?`无匹配文件`:m.value?.is_root?`目录为空(${s.value}),可在上方修改路径或到「服务器」核对 target_path`:`目录为空(${s.value})`:`请先选择服务器`:`正在加载…`);function _(e,n,r,a,o){if(o!==bi)return!1;let{items:l,error:u}=Bt(r??{items:[]});if(u&&wi(u)&&n!==`/`){f.value=``;let e=Wt(n);if(e)return t(`路径 "${n}" 不存在,已自动跳转到上级目录`,`info`),s.value=e,v(),!0}return f.value=u?Ti(u,n):``,u&&!wi(u)&&t(Ti(u,n),`warning`),c.value=l,u||i.setCached(e,n,l,a??void 0),e&&l.length&&(si(e,n),pi(e,n,l),vi()),!0}async function v(e){if(!a.value)return;let n=Q(s.value),r=a.value,o=`${r}:${n}`,l=e?.force?null:i.getCached(r,n);if(l&&(c.value=l,f.value=``),xi&&Si===o)return xi;Si=o;let u=++bi;e?.silent||Ei(i),s.value=n;let d=e?.force?void 0:i.getCachedEtag(r,n);return xi=(async()=>{try{let e=await Oi(r,n,d);if(u!==bi)return;if(e.status===304){let t=i.getCacheEntry(r,n);if(t){c.value=t.items,i.touchCache(r,n),f.value=``;return}if(e=await Oi(r,n),u!==bi)return}_(r,n,e.data,e.etag,u)}catch(e){if(u!==bi)return;let n=Ct(e,`浏览目录失败`);f.value=n,t(n,`error`)}finally{u===bi&&(e?.silent?(i.loading=!1,i.loadingVisible=!1):Di(i),h()),Si===o&&(xi=null,Si=``)}})(),xi}function y(){if(!a.value){t(`请先选择服务器`,`warning`);return}s.value=Q(s.value),i.invalidateCache(a.value,s.value),v({force:!0})}function b(e){if(!a.value)return;let t=e??s.value;i.invalidateCache(a.value,Q(t)),oi()}return{emptyHint:g,browse:v,browseCurrent:y,invalidateAfterMutation:b,loadingVisible:u}}function Ai(e){return e?e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/1024/1024).toFixed(1)} MB`:`—`}function ji(e){let t=o(),{selectedServer:n,currentPath:r,lastReadDeniedPath:i,accessHintDismissed:a}=d(qr()),s=P(!1),c=P(``),l=P(``),u=P(!1),f=P(null);async function p(){let e=Date.now()+8e3;for(;Date.now()setTimeout(e,40)),await h()}return f.value}function m(e,n){return ui(e.size)?(t(`文件超过 2MB(${Ai(e.size)}),无法${n},请下载或使用终端`,`warning`),!0):!1}function g(t){n.value&&t&&ci(n.value,t),e.invalidateAfterMutation(),e.browse({force:!0})}async function _(e){if(!n.value||m(e,`查看`))return;let o=$(r.value,e.name);c.value=e.name,l.value=``,u.value=!0,s.value=!0,(e.size??0)>307200&&t(`文件较大(${Ai(e.size)}),正在加载…`,`info`);try{l.value=(await fi(n.value,o,2097152)).content||`(空文件)`}catch(n){let r=n instanceof Error?n.message:`读取失败`;l.value=r,Zn(r)&&(i.value=e.name,a.value=!1),t(r,`error`)}finally{u.value=!1}}async function v(o){if(n.value&&!m(o,`编辑`)){(o.size??0)>307200&&t(`文件较大(${Ai(o.size)}),正在加载…`,`info`),e.actionLoading.value=!0;try{let e=$(r.value,o.name),i=await fi(n.value,e,ei),a=await p();if(!a){t(`编辑器尚未就绪,请稍后重试`,`error`);return}a.openFile({path:e,name:o.name,content:i.content,eol:i.eol,etag:i.etag,mtime:i.mtime})}catch(e){let n=e instanceof Error?e.message:`读取失败`;Zn(n)&&(i.value=o.name,a.value=!1),t(n,`error`)}finally{e.actionLoading.value=!1}}}return{showPreview:s,previewTitle:c,previewContent:l,previewLoading:u,editorWorkbench:f,previewFile:_,editFile:v,onEditorSaved:g,formatSize:Ai}}function Mi(e){let t=o(),n=we(),r=$e(),{servers:i,loadServers:a}=wt(),s=qr(),{selectedServer:c,currentPath:l,pageReady:u,routeReady:f,initing:p,accessHintDismissed:m}=d(s),h=G(()=>Kt(l.value)),g=G(()=>Wt(l.value)!==null);function _(e){if(e==null)return Vt;let t=i.value.find(t=>t.id===e)?.target_path?.trim();return t?Q(t):Vt}function v(){let e=n.query.path;return typeof e==`string`&&e.trim()?Q(e):_(c.value)}function y(){let e=n.query.server_id;if(e){let t=Number(e);if(Number.isFinite(t)&&i.value.some(e=>e.id===t))return t}let t=sessionStorage.getItem(Sr);if(t){let e=Number(t);if(Number.isFinite(e)&&i.value.some(t=>t.id===e))return e}return i.value[0]?.id??null}function b(n){if(!c.value){t(`请先选择服务器`,`warning`);return}l.value=Q(n),e.clearSelection(),e.browse()}function x(e){if(e.type===`directory`){b($(l.value,e.name));return}if(e.type===`symlink`){let n=e.link_target?.trim();n?.startsWith(`/`)?b(n):t(n?`符号链接 → ${n}`:`相对符号链接(请在终端中打开)`,`info`)}}function S(){let e=Wt(l.value);e!=null&&b(e)}function C(e){let t=h.value[e];t&&!t.disabled&&b(t.path)}function w(){c.value&&r.push({path:`/terminal`,query:{server_id:String(c.value),path:l.value||`/`}})}function ee(){p.value||(c.value&&sessionStorage.setItem(Sr,String(c.value)),s.invalidateCache(),l.value=_(c.value),e.clearSelection(),s.resetForServerChange(),sessionStorage.removeItem(Cr),(async()=>{await e.refreshFilesCapability(),await e.browse({force:!0})})())}let te=!1;return ne(async()=>{p.value=!0;try{if(await a(),sessionStorage.getItem(`nexus:files-hint-dismissed`)&&(m.value=!0),!i.value.length){t(`暂无可用服务器,请先在「服务器」页添加`,`warning`),u.value=!0;return}let r=y();if(r==null){u.value=!0;return}c.value=r;let o=n.query.path;l.value=typeof o==`string`&&o?Q(o):_(r),await e.refreshFilesCapability(),await e.browse(),u.value=!0,f.value=!0}finally{p.value=!1,te=!0}}),re(()=>{!te||!u.value||!c.value||e.browse({silent:!0})}),ce(()=>n.query.server_id,t=>{f.value&&t&&Number(t)!==c.value&&(c.value=Number(t),l.value=v(),s.resetForServerChange(),(async()=>{await e.refreshFilesCapability(),await e.browse({force:!0})})())}),ce(()=>n.query.path,()=>{if(!f.value||!c.value)return;let t=v();t!==Q(l.value)&&(l.value=t,e.clearSelection(),e.browse())}),{serverList:i,breadcrumbs:h,canGoUp:g,navigateToPath:b,openEntry:x,goUp:S,onBreadcrumbClick:C,openInTerminal:w,onServerChange:ee,defaultPathForServer:_}}function Ni(e){let t=o(),{selectedServer:n,files:r,browseError:i,filesCapability:a,lastReadDeniedPath:s,accessHintDismissed:c,setupSudoLoading:l,setupSudoDone:u}=d(qr()),f=G(()=>a.value?.ssh_user??null),p=G(()=>{let e=f.value;return e?r.value.filter(t=>Qn(t,e)).length:0}),m=G(()=>{if(c.value||!n.value||i.value&&wi(i.value))return null;let e=a.value;return er({sshUser:e?.ssh_user,canSudo:e?.can_sudo_nopasswd??!1,whitelistOk:e?.whitelist_ok??!1,isRootSsh:e?.is_root??!1,filesElevation:e?.files_elevation,capabilityMessage:e?.message,lastReadDeniedPath:s.value,unreadableCount:p.value})});function h(){c.value=!0,sessionStorage.setItem(Cr,`1`)}async function g(){if(!n.value){a.value=null;return}try{a.value=await F.get(`/servers/${n.value}/files-capability`)}catch{a.value=null}}async function _(){if(n.value){l.value=!0;try{let r=await F.post(`/servers/${n.value}/setup-files-sudo`,{});u.value=!0,t(r.message||`sudoers 配置成功,文件管理器现在可自动提权`,`success`),h(),await g(),await e.browse({force:!0})}catch(e){t(`一键配置失败:${e instanceof Error?e.message:`配置失败`}`,`error`)}finally{l.value=!1}}}return{sshUserForFiles:f,filesAccessHint:m,dismissFilesAccessHint:h,refreshFilesCapability:g,setupFilesSudo:_}}function Pi(){let{currentPath:e}=d(qr()),t=P([]),n=G(()=>t.value.length);function r(){t.value=[]}function i(n){return(n?.length?n:t.value).map(t=>$(e.value,t.name))}return{selectedFiles:t,selectedFileCount:n,clearSelection:r,selectedAbsolutePaths:i}}function Fi(){let e=P(``),t=P(``),n=P(`name`),r=[{title:`名称`,value:`name`},{title:`大小`,value:`size`},{title:`修改时间`,value:`modified`}],{selectedServer:i,currentPath:a,files:o,loading:s,browseError:c,pageReady:l,setupSudoLoading:u,setupSudoDone:f}=d(qr()),p=Pi(),{selectedFiles:m,selectedFileCount:h,clearSelection:g}=p,{emptyHint:_,browse:v,browseCurrent:y,invalidateAfterMutation:b,loadingVisible:x}=ki(e),S=Ni({browse:v}),{sshUserForFiles:C,filesAccessHint:w,dismissFilesAccessHint:ee,setupFilesSudo:te}=S,T=Mi({browse:v,refreshFilesCapability:S.refreshFilesCapability,clearSelection:g}),ne=P(!1),E=ji({browse:v,invalidateAfterMutation:b,actionLoading:ne}),D=hi({browse:v,invalidateAfterMutation:b,selection:p,openEntry:T.openEntry,editFile:E.editFile,previewFile:E.previewFile,openInTerminal:T.openInTerminal,editorWorkbench:E.editorWorkbench,actionLoading:ne}),{hasClipboard:re,clipboardSummary:O,canPasteOnServer:k}=Ur(),ie=G(()=>k(i.value)),A=G(()=>{let r=Yr(o.value,n.value,`asc`),i=t.value;i&&(r=r.filter(e=>Zr(e.name,i)));let a=e.value.trim().toLowerCase();return a&&(r=r.filter(e=>e.name.toLowerCase().includes(a))),r}),ae=G(()=>{let e=o.value.filter(e=>e.type===`directory`).length,t=o.value.filter(e=>e.type===`file`).length,n=o.value.filter(e=>e.type===`symlink`).length,r=o.value.filter(li).length,i=[`${e} 个目录`,`${t} 个文件`];return n&&i.push(`${n} 个链接`),r&&i.push(`${r} 个 ≤300KB 可预加载`),`${i.join(`,`)} · ${a.value}`});function oe(e){return Qr(e)}function j(e){return e.type===`directory`?`mdi-folder`:e.type===`symlink`?`mdi-link-variant`:`mdi-file-outline`}function M(e){return e.type===`directory`?`amber`:e.type===`symlink`?`teal`:`blue`}function se(e){return e.type===`file`}return Gr({refresh:y,goUp:T.goUp,renameSelection:()=>{m.value.length===1&&D.startRename(m.value[0])},deleteSelection:()=>{m.value.length>0&&D.batchDelete()},selectAll:()=>{m.value=[...A.value]},copySelection:()=>D.copyToClipboard(),cutSelection:()=>D.cutToClipboard(),pasteClipboard:()=>{D.pasteClipboard()}},m,ie),{FILE_EXT_FILTERS:Xr,validatePathSegment:Gt,required:Dt,fileFilter:e,extFilter:t,sortBy:n,sortOptions:r,selectedServer:i,currentPath:a,files:o,loading:s,loadingVisible:x,browseError:c,pageReady:l,setupSudoLoading:u,setupSudoDone:f,serverList:T.serverList,onServerChange:T.onServerChange,browseCurrent:y,filesAccessHint:w,dismissFilesAccessHint:ee,setupFilesSudo:te,sshUserForFiles:C,statusSummary:ae,hasClipboard:re,clipboardSummary:O,pasteDestLabel:D.pasteDestLabel,canPasteHere:ie,breadcrumbs:T.breadcrumbs,onBreadcrumbClick:T.onBreadcrumbClick,canGoUp:T.canGoUp,goUp:T.goUp,selectedFiles:m,selectedFileCount:h,displayedFiles:A,fileHeaders:[{title:`名称`,key:`name`},{title:`归属`,key:`owner`,width:110,sortable:!1},{title:`大小`,key:`size`,width:120},{title:`修改时间`,key:`modified`,width:180},{title:`操作`,key:`actions`,width:300,sortable:!1,align:`end`}],fileRowProps:D.fileRowProps,dropActive:D.dropActive,onDropFiles:D.onDropFiles,emptyHint:_,entryIcon:j,entryIconColor:M,isEntryLikelyUnreadable:Qn,formatOwnerChip:Kn,ownerChipColor:qn,permissionTooltip:Jn,formatSize:E.formatSize,isRegularFile:se,isArchiveName:oe,showUpload:D.showUpload,uploadFiles:D.uploadFiles,uploading:D.uploading,doUpload:D.doUpload,showNewFile:D.showNewFile,newFileName:D.newFileName,doNewFile:D.doNewFile,showMkdir:D.showMkdir,mkdirName:D.mkdirName,doMkdir:D.doMkdir,showFileDelete:D.showFileDelete,deletingFile:D.deletingFile,doDeleteFile:D.doDeleteFile,showRename:D.showRename,newName:D.newName,doRename:D.doRename,showChmod:D.showChmod,chmodFile:D.chmodFile,chmodLoading:D.chmodLoading,doChmod:D.doChmod,showCompress:D.showCompress,compressDest:D.compressDest,compressFormat:D.compressFormat,compressPaths:D.compressPaths,doCompress:D.doCompress,showDecompress:D.showDecompress,decompressSource:D.decompressSource,decompressDest:D.decompressDest,doDecompress:D.doDecompress,showContextMenu:D.showContextMenu,contextX:D.contextX,contextY:D.contextY,contextFile:D.contextFile,contextAction:D.contextAction,actionLoading:ne,batchDelete:D.batchDelete,openCompressDialog:D.openCompressDialog,showPreview:E.showPreview,previewTitle:E.previewTitle,previewContent:E.previewContent,previewLoading:E.previewLoading,editorWorkbench:E.editorWorkbench,onEditorSaved:E.onEditorSaved,navigateToPath:T.navigateToPath,pasteClipboard:D.pasteClipboard,editFile:E.editFile,previewFile:E.previewFile,downloadFile:D.downloadFile,confirmDeleteFile:D.confirmDeleteFile,openInTerminal:T.openInTerminal}}var Ii=M({name:`FilesPage`,__name:`FilesPage`,setup(e){let t=Fi();kt(t);let{editorWorkbench:n}=t,{selectedServer:r,currentPath:i}=d(qr());return(e,o)=>(k(),V(a,{fluid:``,class:`pa-6`},{default:N(()=>[X(Vr),X(Rr),X(Br),X(Rt),X(Ir),X(xr),X(Wn,{ref_key:`editorWorkbench`,ref:n,"server-id":K(r)??0,"current-path":K(i),onSaved:o[0]||=e=>K(t).onEditorSaved(e),onPathChange:K(t).navigateToPath,onPasteTarget:K(t).pasteClipboard},null,8,[`server-id`,`current-path`,`onPathChange`,`onPasteTarget`])]),_:1}))}});export{Ii as default}; \ No newline at end of file diff --git a/web/app/assets/LoginPage-CCqcI-dk.js b/web/app/assets/LoginPage-CCqcI-dk.js deleted file mode 100644 index 6e32580d..00000000 --- a/web/app/assets/LoginPage-CCqcI-dk.js +++ /dev/null @@ -1,2 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-ml3I9rRe.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/index-DZEQidkT.js","assets/index-DUUkodzN.css","assets/VCard-DiTj681b.js","assets/VCard-BCYbpv-w.css","assets/VRow-Wg9QrEcV.js","assets/VRow-DIr3-SqU.css","assets/useSnackbar-DaoOJlMz.js","assets/useSnackbar-ku9EbwM-.css","assets/VSkeletonLoader-2DBPWC-b.js","assets/VSkeletonLoader-B03HMi2d.css","assets/usePageActivateRefresh-BmoMLdUi.js","assets/auditNormalize-DWYIxo0q.js","assets/DashboardPage-BpuLHXj7.css"])))=>i.map(i=>d[i]); -import{Gt as e,Jt as t,Kt as n,Mr as r,N as i,Nr as a,P as o,Pr as s,Sr as c,Ur as l,Vr as u,Xr as d,Xt as f,_r as p,ai as m,br as h,en as g,gr as _,hr as v,mr as y,oi as b,qt as x,tn as S,ur as C,vr as w,xr as T,y as E}from"./index-DZEQidkT.js";import{t as D}from"./VCard-DiTj681b.js";import{t as O}from"./VTextField-CvZimSXQ.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as A}from"./VForm-CIKxKkYK.js";var j={class:`login-page`},M={key:0,class:`login-center`},N={key:2,class:`text-center mt-4`},P=k(c({name:`LoginPage`,__name:`LoginPage`,setup(c){let k=g(),P=S(),F=n(),I=d(`checking`),L=d(``),R=d(``),z=d(``),B=d(!1),V=d(!1),H=d(``),U=d(!1),W=d(0),G=d(null),K=d([]),q=d(0),J=null,Y=y(()=>I.value===`checking`?{backgroundColor:`#0a0a12`}:K.value.length===0?{backgroundImage:`linear-gradient(135deg, #1a237e 0%, #0d47a1 40%, #1565c0 100%)`}:{backgroundImage:`url(${K.value[q.value]})`});async function X(){try{let e=await f.get(`/settings/bing-wallpapers`);e?.urls?.length&&(K.value=e.urls,q.value=Math.floor(Math.random()*e.urls.length))}catch{}}function Z(){J&&clearInterval(J),!(K.value.length<=1)&&(J=setInterval(()=>{q.value=(q.value+1)%K.value.length},36e5))}async function ee(){I.value=`checking`;try{return await f.get(`/auth/login-access`),I.value=`form`,!0}catch{return I.value=`blocked`,!1}}function te(){I.value===`form`&&e(()=>import(`./DashboardPage-ml3I9rRe.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))}u(I,e=>{e===`form`&&te()}),r(async()=>{await ee(),await X(),Z()}),a(()=>{J&&clearInterval(J),$&&clearInterval($)});let Q=d(Date.now()),$=null,ne=y(()=>{if(!G.value)return 0;let e=new Date(G.value).getTime()-Q.value;return Math.max(0,Math.ceil(e/6e4))});u(G,e=>{$&&=(clearInterval($),null),e&&($=setInterval(()=>{Q.value=Date.now()},3e4))});async function re(){if(!L.value||!R.value){H.value=`请输入用户名和密码`;return}V.value=!0,H.value=``;try{await F.login(L.value,R.value,U.value?z.value:void 0);let e=k.query.redirect||`/`,t=e.startsWith(`/`)&&!e.startsWith(`//`)?e:`/`;await P.replace(t)}catch(e){if(e instanceof t)U.value=!0,H.value=e.message;else if(e instanceof x){if(e.status===403){I.value=`blocked`;return}e.status===429?(G.value=new Date(Date.now()+900*1e3).toISOString(),H.value=`登录尝试过多,账户已锁定 15 分钟`):(W.value++,H.value=e.message)}else H.value=`网络错误,请重试`}finally{V.value=!1}}return(e,t)=>(s(),w(`div`,j,[v(`div`,{class:`wallpaper-bg`,style:m(Y.value)},null,4),t[6]||=v(`div`,{class:`wallpaper-overlay`},null,-1),I.value===`form`?(s(),w(`div`,M,[T(D,{elevation:`0`,rounded:`xl`,class:`login-card pa-10`,border:``},{default:l(()=>[H.value?(s(),_(i,{key:0,type:`error`,density:`compact`,class:`mb-4`,closable:``,"onClick:close":t[0]||=e=>H.value=``,rounded:`lg`,variant:`tonal`},{default:l(()=>[h(b(H.value),1)]),_:1})):p(``,!0),G.value?(s(),_(i,{key:1,type:`warning`,density:`compact`,class:`mb-4`,rounded:`lg`,variant:`tonal`},{default:l(()=>[h(` 账户已锁定,请 `+b(ne.value)+` 分钟后重试 `,1)]),_:1})):p(``,!0),T(A,{onSubmit:C(re,[`prevent`])},{default:l(()=>[T(O,{modelValue:L.value,"onUpdate:modelValue":t[1]||=e=>L.value=e,label:`用户名`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-account-outline`,disabled:V.value,class:`mb-4`,autocomplete:`username`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`]),T(O,{modelValue:R.value,"onUpdate:modelValue":t[2]||=e=>R.value=e,label:`密码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-lock-outline`,"append-inner-icon":B.value?`mdi-eye`:`mdi-eye-off`,type:B.value?`text`:`password`,"onClick:appendInner":t[3]||=e=>B.value=!B.value,disabled:V.value,class:`mb-4`,autocomplete:`current-password`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`append-inner-icon`,`type`,`disabled`]),U.value?(s(),_(O,{key:0,modelValue:z.value,"onUpdate:modelValue":t[4]||=e=>z.value=e,label:`TOTP 验证码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-shield-key-outline`,disabled:V.value,class:`mb-4`,autocomplete:`one-time-code`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`])):p(``,!0),T(o,{type:`submit`,color:`primary`,variant:`flat`,block:``,size:`large`,loading:V.value,disabled:!!G.value,rounded:`lg`,class:`mt-2`,height:`48`},{default:l(()=>[...t[5]||=[h(` 登录 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1}),W.value>0&&!G.value?(s(),w(`div`,N,[T(E,{size:`small`,variant:`tonal`,color:`warning`,label:``},{default:l(()=>[h(` 已失败 `+b(W.value)+` 次 `,1)]),_:1})])):p(``,!0)]),_:1})])):p(``,!0)]))}}),[[`__scopeId`,`data-v-5c1d22f2`]]);export{P as default}; \ No newline at end of file diff --git a/web/app/assets/LoginPage-BsHuUSjf.js b/web/app/assets/LoginPage-W0z3Jmx1.js similarity index 85% rename from web/app/assets/LoginPage-BsHuUSjf.js rename to web/app/assets/LoginPage-W0z3Jmx1.js index 97cd97a9..4e209995 100644 --- a/web/app/assets/LoginPage-BsHuUSjf.js +++ b/web/app/assets/LoginPage-W0z3Jmx1.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-MBdDPrBx.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/index-DawRgH7u.js","assets/index-DUUkodzN.css","assets/VCard-rBfCdgX2.js","assets/VCard-BCYbpv-w.css","assets/VRow-By04mHIT.js","assets/VRow-DIr3-SqU.css","assets/useSnackbar-CmDJGLzR.js","assets/useSnackbar-ku9EbwM-.css","assets/VSkeletonLoader-CkKVcJRy.js","assets/VSkeletonLoader-B03HMi2d.css","assets/usePageActivateRefresh-BTfzAggZ.js","assets/auditNormalize-DWYIxo0q.js","assets/DashboardPage-BpuLHXj7.css"])))=>i.map(i=>d[i]); -import{Gt as e,Jt as t,Kt as n,Mr as r,N as i,Nr as a,P as o,Pr as s,Sr as c,Ur as l,Vr as u,Xr as d,Xt as f,_r as p,ai as m,br as h,en as g,gr as _,hr as v,mr as y,oi as b,qt as x,tn as S,ur as C,vr as w,xr as T,y as E}from"./index-DawRgH7u.js";import{t as D}from"./VCard-rBfCdgX2.js";import{t as O}from"./VTextField-BZnszgeR.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as A}from"./VForm-Dh0_yaO1.js";var j={class:`login-page`},M={key:0,class:`login-center`},N={key:2,class:`text-center mt-4`},P=k(c({name:`LoginPage`,__name:`LoginPage`,setup(c){let k=g(),P=S(),F=n(),I=d(`checking`),L=d(``),R=d(``),z=d(``),B=d(!1),V=d(!1),H=d(``),U=d(!1),W=d(0),G=d(null),K=d([]),q=d(0),J=null,Y=y(()=>I.value===`checking`?{backgroundColor:`#0a0a12`}:K.value.length===0?{backgroundImage:`linear-gradient(135deg, #1a237e 0%, #0d47a1 40%, #1565c0 100%)`}:{backgroundImage:`url(${K.value[q.value]})`});async function X(){try{let e=await f.get(`/settings/bing-wallpapers`);e?.urls?.length&&(K.value=e.urls,q.value=Math.floor(Math.random()*e.urls.length))}catch{}}function Z(){J&&clearInterval(J),!(K.value.length<=1)&&(J=setInterval(()=>{q.value=(q.value+1)%K.value.length},36e5))}async function ee(){I.value=`checking`;try{return await f.get(`/auth/login-access`),I.value=`form`,!0}catch{return I.value=`blocked`,!1}}function te(){I.value===`form`&&e(()=>import(`./DashboardPage-MBdDPrBx.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))}u(I,e=>{e===`form`&&te()}),r(async()=>{await ee(),await X(),Z()}),a(()=>{J&&clearInterval(J),$&&clearInterval($)});let Q=d(Date.now()),$=null,ne=y(()=>{if(!G.value)return 0;let e=new Date(G.value).getTime()-Q.value;return Math.max(0,Math.ceil(e/6e4))});u(G,e=>{$&&=(clearInterval($),null),e&&($=setInterval(()=>{Q.value=Date.now()},3e4))});async function re(){if(!L.value||!R.value){H.value=`请输入用户名和密码`;return}V.value=!0,H.value=``;try{await F.login(L.value,R.value,U.value?z.value:void 0);let e=k.query.redirect||`/`,t=e.startsWith(`/`)&&!e.startsWith(`//`)?e:`/`;await P.replace(t)}catch(e){if(e instanceof t)U.value=!0,H.value=e.message;else if(e instanceof x){if(e.status===403){I.value=`blocked`;return}e.status===429?(G.value=new Date(Date.now()+900*1e3).toISOString(),H.value=`登录尝试过多,账户已锁定 15 分钟`):(W.value++,H.value=e.message)}else H.value=`网络错误,请重试`}finally{V.value=!1}}return(e,t)=>(s(),w(`div`,j,[v(`div`,{class:`wallpaper-bg`,style:m(Y.value)},null,4),t[6]||=v(`div`,{class:`wallpaper-overlay`},null,-1),I.value===`form`?(s(),w(`div`,M,[T(D,{elevation:`0`,rounded:`xl`,class:`login-card pa-10`,border:``},{default:l(()=>[H.value?(s(),_(i,{key:0,type:`error`,density:`compact`,class:`mb-4`,closable:``,"onClick:close":t[0]||=e=>H.value=``,rounded:`lg`,variant:`tonal`},{default:l(()=>[h(b(H.value),1)]),_:1})):p(``,!0),G.value?(s(),_(i,{key:1,type:`warning`,density:`compact`,class:`mb-4`,rounded:`lg`,variant:`tonal`},{default:l(()=>[h(` 账户已锁定,请 `+b(ne.value)+` 分钟后重试 `,1)]),_:1})):p(``,!0),T(A,{onSubmit:C(re,[`prevent`])},{default:l(()=>[T(O,{modelValue:L.value,"onUpdate:modelValue":t[1]||=e=>L.value=e,label:`用户名`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-account-outline`,disabled:V.value,class:`mb-4`,autocomplete:`username`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`]),T(O,{modelValue:R.value,"onUpdate:modelValue":t[2]||=e=>R.value=e,label:`密码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-lock-outline`,"append-inner-icon":B.value?`mdi-eye`:`mdi-eye-off`,type:B.value?`text`:`password`,"onClick:appendInner":t[3]||=e=>B.value=!B.value,disabled:V.value,class:`mb-4`,autocomplete:`current-password`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`append-inner-icon`,`type`,`disabled`]),U.value?(s(),_(O,{key:0,modelValue:z.value,"onUpdate:modelValue":t[4]||=e=>z.value=e,label:`TOTP 验证码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-shield-key-outline`,disabled:V.value,class:`mb-4`,autocomplete:`one-time-code`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`])):p(``,!0),T(o,{type:`submit`,color:`primary`,variant:`flat`,block:``,size:`large`,loading:V.value,disabled:!!G.value,rounded:`lg`,class:`mt-2`,height:`48`},{default:l(()=>[...t[5]||=[h(` 登录 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1}),W.value>0&&!G.value?(s(),w(`div`,N,[T(E,{size:`small`,variant:`tonal`,color:`warning`,label:``},{default:l(()=>[h(` 已失败 `+b(W.value)+` 次 `,1)]),_:1})])):p(``,!0)]),_:1})])):p(``,!0)]))}}),[[`__scopeId`,`data-v-5c1d22f2`]]);export{P as default}; \ No newline at end of file +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-BDfRyW6v.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/index-Bplw5zZe.js","assets/index-DUUkodzN.css","assets/VCard-DwK3U69w.js","assets/VCard-BCYbpv-w.css","assets/VRow-Jrv7cE2K.js","assets/VRow-DIr3-SqU.css","assets/useSnackbar-P0rXZaHt.js","assets/useSnackbar-ku9EbwM-.css","assets/VSkeletonLoader-vo9o5RDt.js","assets/VSkeletonLoader-B03HMi2d.css","assets/usePageActivateRefresh-C2xQnJah.js","assets/auditNormalize-DWYIxo0q.js","assets/DashboardPage-BpuLHXj7.css"])))=>i.map(i=>d[i]); +import{Gt as e,Jt as t,Kt as n,Mr as r,N as i,Nr as a,P as o,Pr as s,Sr as c,Ur as l,Vr as u,Xr as d,Xt as f,_r as p,ai as m,br as h,en as g,gr as _,hr as v,mr as y,oi as b,qt as x,tn as S,ur as C,vr as w,xr as T,y as E}from"./index-Bplw5zZe.js";import{t as D}from"./VCard-DwK3U69w.js";import{t as O}from"./VTextField-DVnxh9lX.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as A}from"./VForm-lsgZBPTi.js";var j={class:`login-page`},M={key:0,class:`login-center`},N={key:2,class:`text-center mt-4`},P=k(c({name:`LoginPage`,__name:`LoginPage`,setup(c){let k=g(),P=S(),F=n(),I=d(`checking`),L=d(``),R=d(``),z=d(``),B=d(!1),V=d(!1),H=d(``),U=d(!1),W=d(0),G=d(null),K=d([]),q=d(0),J=null,Y=y(()=>I.value===`checking`?{backgroundColor:`#0a0a12`}:K.value.length===0?{backgroundImage:`linear-gradient(135deg, #1a237e 0%, #0d47a1 40%, #1565c0 100%)`}:{backgroundImage:`url(${K.value[q.value]})`});async function X(){try{let e=await f.get(`/settings/bing-wallpapers`);e?.urls?.length&&(K.value=e.urls,q.value=Math.floor(Math.random()*e.urls.length))}catch{}}function Z(){J&&clearInterval(J),!(K.value.length<=1)&&(J=setInterval(()=>{q.value=(q.value+1)%K.value.length},36e5))}async function ee(){I.value=`checking`;try{return await f.get(`/auth/login-access`),I.value=`form`,!0}catch{return I.value=`blocked`,!1}}function te(){I.value===`form`&&e(()=>import(`./DashboardPage-BDfRyW6v.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))}u(I,e=>{e===`form`&&te()}),r(async()=>{await ee(),await X(),Z()}),a(()=>{J&&clearInterval(J),$&&clearInterval($)});let Q=d(Date.now()),$=null,ne=y(()=>{if(!G.value)return 0;let e=new Date(G.value).getTime()-Q.value;return Math.max(0,Math.ceil(e/6e4))});u(G,e=>{$&&=(clearInterval($),null),e&&($=setInterval(()=>{Q.value=Date.now()},3e4))});async function re(){if(!L.value||!R.value){H.value=`请输入用户名和密码`;return}V.value=!0,H.value=``;try{await F.login(L.value,R.value,U.value?z.value:void 0);let e=k.query.redirect||`/`,t=e.startsWith(`/`)&&!e.startsWith(`//`)?e:`/`;await P.replace(t)}catch(e){if(e instanceof t)U.value=!0,H.value=e.message;else if(e instanceof x){if(e.status===403){I.value=`blocked`;return}e.status===429?(G.value=new Date(Date.now()+900*1e3).toISOString(),H.value=`登录尝试过多,账户已锁定 15 分钟`):(W.value++,H.value=e.message)}else H.value=`网络错误,请重试`}finally{V.value=!1}}return(e,t)=>(s(),w(`div`,j,[v(`div`,{class:`wallpaper-bg`,style:m(Y.value)},null,4),t[6]||=v(`div`,{class:`wallpaper-overlay`},null,-1),I.value===`form`?(s(),w(`div`,M,[T(D,{elevation:`0`,rounded:`xl`,class:`login-card pa-10`,border:``},{default:l(()=>[H.value?(s(),_(i,{key:0,type:`error`,density:`compact`,class:`mb-4`,closable:``,"onClick:close":t[0]||=e=>H.value=``,rounded:`lg`,variant:`tonal`},{default:l(()=>[h(b(H.value),1)]),_:1})):p(``,!0),G.value?(s(),_(i,{key:1,type:`warning`,density:`compact`,class:`mb-4`,rounded:`lg`,variant:`tonal`},{default:l(()=>[h(` 账户已锁定,请 `+b(ne.value)+` 分钟后重试 `,1)]),_:1})):p(``,!0),T(A,{onSubmit:C(re,[`prevent`])},{default:l(()=>[T(O,{modelValue:L.value,"onUpdate:modelValue":t[1]||=e=>L.value=e,label:`用户名`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-account-outline`,disabled:V.value,class:`mb-4`,autocomplete:`username`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`]),T(O,{modelValue:R.value,"onUpdate:modelValue":t[2]||=e=>R.value=e,label:`密码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-lock-outline`,"append-inner-icon":B.value?`mdi-eye`:`mdi-eye-off`,type:B.value?`text`:`password`,"onClick:appendInner":t[3]||=e=>B.value=!B.value,disabled:V.value,class:`mb-4`,autocomplete:`current-password`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`append-inner-icon`,`type`,`disabled`]),U.value?(s(),_(O,{key:0,modelValue:z.value,"onUpdate:modelValue":t[4]||=e=>z.value=e,label:`TOTP 验证码`,variant:`outlined`,density:`comfortable`,"prepend-inner-icon":`mdi-shield-key-outline`,disabled:V.value,class:`mb-4`,autocomplete:`one-time-code`,rounded:`lg`,"hide-details":`auto`},null,8,[`modelValue`,`disabled`])):p(``,!0),T(o,{type:`submit`,color:`primary`,variant:`flat`,block:``,size:`large`,loading:V.value,disabled:!!G.value,rounded:`lg`,class:`mt-2`,height:`48`},{default:l(()=>[...t[5]||=[h(` 登录 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1}),W.value>0&&!G.value?(s(),w(`div`,N,[T(E,{size:`small`,variant:`tonal`,color:`warning`,label:``},{default:l(()=>[h(` 已失败 `+b(W.value)+` 次 `,1)]),_:1})])):p(``,!0)]),_:1})])):p(``,!0)]))}}),[[`__scopeId`,`data-v-5c1d22f2`]]);export{P as default}; \ No newline at end of file diff --git a/web/app/assets/PushPage-CGWMgBtG.js b/web/app/assets/PushPage-D9P303pT.js similarity index 98% rename from web/app/assets/PushPage-CGWMgBtG.js rename to web/app/assets/PushPage-D9P303pT.js index cf24e2e6..f907d305 100644 --- a/web/app/assets/PushPage-CGWMgBtG.js +++ b/web/app/assets/PushPage-D9P303pT.js @@ -1 +1 @@ -import{a as e}from"./VDataTable-4SnAXj3j.js";import{n as t,t as n}from"./useSnackbar-CmDJGLzR.js";import{n as r,t as i}from"./VRow-By04mHIT.js";import{Er as a,Ht as o,Ir as s,Kt as c,Mr as l,N as u,Nr as d,Or as f,P as p,Pr as m,Qn as h,Rn as g,Sr as _,Ur as v,W as y,X as b,Xr as x,Xt as S,Yr as C,_ as w,_r as T,br as E,bt as ee,dr as D,fn as O,gr as k,hr as A,ii as j,l as M,m as N,mr as P,ni as F,oi as I,pn as L,r as te,un as ne,v as R,vr as z,wn as re,xr as B,y as V,yn as H,yr as ie,zr as ae}from"./index-DawRgH7u.js";import{a as U,n as W,r as G,t as K}from"./VCard-rBfCdgX2.js";import{g as oe,h as se,m as ce,p as q,t as J}from"./VSelect-XuQYQvJc.js";import{t as le}from"./VCheckbox-0cpfrSvP.js";import{g as ue,l as Y,t as X,u as de}from"./VTextField-BZnszgeR.js";import{t as fe}from"./VDataTableServer-C4_rzPsO.js";import{a as pe,c as Z,i as me,n as he,o as ge,r as _e,s as ve,t as ye}from"./labels-C-A2d08W.js";import{t as Q}from"./VDialog-8YoHW6GE.js";import{a as be,i as xe,n as Se,r as Ce,t as we}from"./usePushStaging-CqPC7tz5.js";import{t as Te}from"./wsUrl-CqmqkTTE.js";var Ee=_({__name:`PushDiagnoseDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean},result:{},targetName:{}},emits:[`update:modelValue`],setup(e){return(t,n)=>(m(),k(Q,{"model-value":e.modelValue,"max-width":`520`,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:v(()=>[B(K,{border:``},{default:v(()=>[B(G,null,{default:v(()=>[E(`推送失败诊断 — `+I(e.targetName),1)]),_:1}),B(W,null,{default:v(()=>[e.loading?(m(),k(y,{key:0,indeterminate:``,class:`mb-3`})):e.result?(m(),z(D,{key:1},[B(M,{density:`compact`},{default:v(()=>[B(N,{title:`SSH 连接`},{append:v(()=>[B(b,{color:e.result.ssh_ok?`success`:`error`},{default:v(()=>[E(I(e.result.ssh_ok?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1}),e.result.disk_avail?(m(),k(N,{key:0,title:`磁盘可用: ${e.result.disk_avail}`},null,8,[`title`])):T(``,!0),e.result.disk_used_pct==null?T(``,!0):(m(),k(N,{key:1,title:`磁盘使用率: ${e.result.disk_used_pct}%`},null,8,[`title`])),B(N,{title:`目标路径存在`},{append:v(()=>[B(b,{color:e.result.path_exists?`success`:`error`},{default:v(()=>[E(I(e.result.path_exists?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1}),e.result.path_perms?(m(),k(N,{key:2,subtitle:e.result.path_perms,title:`权限`},null,8,[`subtitle`])):T(``,!0),B(N,{title:`目标路径可写`},{append:v(()=>[B(b,{color:e.result.path_writable?`success`:`error`},{default:v(()=>[E(I(e.result.path_writable?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1})]),_:1}),(m(!0),z(D,null,s(e.result.errors,(e,t)=>(m(),k(u,{key:t,type:`error`,density:`compact`,variant:`tonal`,class:`mt-2`},{default:v(()=>[E(I(F(Z)(e)),1)]),_:2},1024))),128))],64)):T(``,!0)]),_:1}),B(U,null,{default:v(()=>[B(w),B(p,{variant:`text`,onClick:n[0]||=e=>t.$emit(`update:modelValue`,!1)},{default:v(()=>[...n[2]||=[E(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),De={class:`text-caption`},Oe={class:`text-caption text-medium-emphasis`},ke=[`title`],Ae=[`title`],je={key:1,class:`text-caption text-medium-emphasis`},Me=_({__name:`PushHistoryTable`,props:{items:{},headers:{},total:{},loading:{type:Boolean},page:{},statusFilter:{},syncModeFilter:{},serverFilter:{},statusOptions:{},syncModeOptions:{},serverOptions:{},reconciling:{type:Boolean}},emits:[`update:page`,`update:statusFilter`,`update:syncModeFilter`,`update:serverFilter`,`filter-change`,`page-change`,`reconcile`,`diagnose`],setup(e){return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`},{default:v(()=>[B(G,{class:`d-flex flex-wrap align-center ga-2`},{default:v(()=>[n[6]||=A(`span`,null,`推送历史`,-1),B(w),B(J,{"model-value":e.statusFilter,items:e.statusOptions,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`},"onUpdate:modelValue":n[0]||=e=>{t.$emit(`update:statusFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),B(J,{"model-value":e.syncModeFilter,items:e.syncModeOptions,"item-title":`label`,"item-value":`value`,label:`模式`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`},"onUpdate:modelValue":n[1]||=e=>{t.$emit(`update:syncModeFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),B(J,{"model-value":e.serverFilter,items:e.serverOptions,"item-title":`title`,"item-value":`value`,label:`服务器`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`180px`},"onUpdate:modelValue":n[2]||=e=>{t.$emit(`update:serverFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),B(p,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-wrench`,loading:e.reconciling,onClick:n[3]||=e=>t.$emit(`reconcile`)},{default:v(()=>[...n[5]||=[E(` 修复卡住记录 `,-1)]]),_:1},8,[`loading`])]),_:1}),B(fe,{items:e.items,headers:e.headers,"items-length":e.total,loading:e.loading,page:e.page,"items-per-page":15,hover:``,density:`comfortable`,"onUpdate:page":n[4]||=e=>{t.$emit(`update:page`,e),t.$emit(`page-change`)}},{"item.status":v(({item:e})=>[B(V,{color:F(_e)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:v(()=>[E(I(F(me)(e.status)),1)]),_:2},1032,[`color`])]),"item.sync_mode":v(({item:e})=>[A(`span`,De,I(F(ve)(e.sync_mode)),1)]),"item.started_at":v(({item:e})=>[A(`span`,Oe,I(F(o)(e.started_at)),1)]),"item.push_permission":v(({item:e})=>[A(`span`,{class:j([`text-caption`,e.push_permission?``:`text-medium-emphasis`]),title:e.push_permission||`本次推送未配置 rsync 属主/权限修正`},I(F(ye)(e.push_permission)),11,ke)]),"item.error_message":v(({item:e})=>[e.error_message?(m(),z(`span`,{key:0,class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`200px`},title:F(Z)(e.error_message)},I(F(Z)(e.error_message)),9,Ae)):(m(),z(`span`,je,`—`))]),"item.actions":v(({item:e})=>[e.status===`failed`?(m(),k(p,{key:0,size:`x-small`,variant:`tonal`,"prepend-icon":`mdi-stethoscope`,onClick:n=>t.$emit(`diagnose`,e)},{default:v(()=>[...n[7]||=[E(` 诊断 `,-1)]]),_:1},8,[`onClick`])):T(``,!0)]),"no-data":v(()=>[...n[8]||=[A(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}))}}),Ne={class:`text-caption text-medium-emphasis`},Pe={key:2,class:`mb-2 text-body-2`},Fe={key:0,class:`text-error text-caption`},Ie={key:1,class:`text-warning text-caption`},Le={key:2,class:`text-caption text-medium-emphasis`},Re=_({__name:`PushPreviewDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean},results:{},selectedCount:{},previewDone:{},previewTotal:{},largeBatch:{type:Boolean},warnThreshold:{},errorCount:{},syncMode:{}},emits:[`update:modelValue`,`confirm-push`],setup(t){return(n,r)=>(m(),k(Q,{"model-value":t.modelValue,"max-width":`800`,"onUpdate:modelValue":r[2]||=e=>n.$emit(`update:modelValue`,e)},{default:v(()=>[B(K,{border:``},{default:v(()=>[B(G,{class:`d-flex align-center`},{default:v(()=>[r[3]||=E(` 推送预览 `,-1),B(w),A(`span`,Ne,[t.loading?(m(),z(D,{key:0},[E(I(t.previewDone)+` / `+I(t.previewTotal)+` 台`,1)],64)):(m(),z(D,{key:1},[E(I(t.results.length)+` 台`,1)],64))])]),_:1}),B(W,null,{default:v(()=>[t.loading?(m(),k(y,{key:0,"model-value":t.previewTotal?Math.round(t.previewDone/t.previewTotal*100):0,class:`mb-3`},null,8,[`model-value`])):T(``,!0),t.largeBatch&&!t.loading?(m(),k(u,{key:1,type:`info`,density:`compact`,variant:`tonal`,class:`mb-2`},{default:v(()=>[E(` 已预览 `+I(t.results.length)+` 台服务器(超过 `+I(t.warnThreshold)+` 台时推送耗时可能较长) `,1)]),_:1})):T(``,!0),t.loading?T(``,!0):(m(),z(`div`,Pe,[r[4]||=E(` 将推送到 `,-1),A(`strong`,null,I(t.selectedCount),1),r[5]||=E(` 台服务器 `,-1)])),t.results.length?(m(),k(e,{key:3,density:`compact`},{default:v(()=>[r[6]||=A(`thead`,null,[A(`tr`,null,[A(`th`,null,`服务器`),A(`th`,null,`文件数`),A(`th`,null,`预计传输`),A(`th`,null,`大小`),A(`th`,null,`备注`)])],-1),A(`tbody`,null,[(m(!0),z(D,null,s(t.results,e=>(m(),z(`tr`,{key:e.server_id},[A(`td`,null,I(e.server_name),1),A(`td`,null,I(e.stats?.files_total??`—`),1),A(`td`,null,I(e.stats?.files_transferred??`—`),1),A(`td`,null,I(e.stats?F(he)(e.stats.transfer_size_bytes??0):`—`),1),A(`td`,null,[e.error?(m(),z(`span`,Fe,I(F(Z)(e.error)),1)):t.syncMode===`full`&&(e.stats?.files_deleted??0)>0?(m(),z(`span`,Ie,`将删除 `+I(e.stats?.files_deleted)+` 个远端文件`,1)):(m(),z(`span`,Le,`—`))])]))),128))])]),_:1})):T(``,!0),t.errorCount>0&&!t.loading?(m(),k(u,{key:4,type:`warning`,density:`compact`,variant:`tonal`,class:`mt-3`},{default:v(()=>[E(I(t.errorCount)+` 台预览失败,推送时这些服务器可能仍会失败 `,1)]),_:1})):T(``,!0)]),_:1}),B(U,null,{default:v(()=>[B(w),B(p,{variant:`text`,onClick:r[0]||=e=>n.$emit(`update:modelValue`,!1)},{default:v(()=>[...r[7]||=[E(`关闭`,-1)]]),_:1}),B(p,{color:`primary`,variant:`flat`,disabled:t.loading,onClick:r[1]||=e=>n.$emit(`confirm-push`)},{default:v(()=>[...r[8]||=[E(`确认推送`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),ze={key:1,class:`text-caption text-medium-emphasis mb-2`},Be={key:0},Ve=_({__name:`PushProgressList`,props:{items:{},batchId:{},pushing:{type:Boolean},cancelling:{type:Boolean},retryingAll:{type:Boolean},failedRetryCount:{},doneCount:{},totalProgress:{}},emits:[`cancel`,`retry-all`],setup(e){return(t,n)=>e.items.length>0?(m(),k(K,{key:0,class:`mb-4`,elevation:`0`,border:``,rounded:`lg`},{default:v(()=>[B(G,{class:`d-flex align-center text-subtitle-1`},{default:v(()=>[n[3]||=E(` 推送进度 `,-1),B(w),e.failedRetryCount>0&&!e.pushing?(m(),k(p,{key:0,size:`small`,variant:`tonal`,color:`warning`,class:`mr-2`,"prepend-icon":`mdi-refresh`,loading:e.retryingAll,onClick:n[0]||=e=>t.$emit(`retry-all`)},{default:v(()=>[E(` 重试全部失败 (`+I(e.failedRetryCount)+`) `,1)]),_:1},8,[`loading`])):T(``,!0),e.batchId&&e.items.some(e=>e.status===`running`||e.status===`pending`)&&e.pushing?(m(),k(p,{key:1,size:`small`,variant:`tonal`,color:`error`,class:`mr-2`,loading:e.cancelling,onClick:n[1]||=e=>t.$emit(`cancel`)},{default:v(()=>[...n[2]||=[E(` 取消推送 `,-1)]]),_:1},8,[`loading`])):T(``,!0),B(V,{size:`small`,variant:`tonal`,color:`primary`},{default:v(()=>[E(I(e.items.filter(e=>e.status===`success`).length)+`/`+I(e.items.length)+` 完成 `,1)]),_:1})]),_:1}),B(R),B(W,null,{default:v(()=>[e.pushing||e.totalProgress>0?(m(),k(y,{key:0,"model-value":e.totalProgress,color:`primary`,height:`8`,rounded:``,class:`mb-3`},null,8,[`model-value`])):T(``,!0),e.items.length?(m(),z(`div`,ze,[E(I(e.doneCount)+` / `+I(e.items.length)+` 台已结束 `,1),e.items.some(e=>e.status===`failed`)?(m(),z(`span`,Be,` · `+I(e.items.filter(e=>e.status===`failed`).length)+` 失败 `,1)):T(``,!0)])):T(``,!0),B(M,{density:`compact`},{default:v(()=>[(m(!0),z(D,null,s(e.items,e=>(m(),k(N,{key:e.id,title:e.name},ie({append:v(()=>[e.status===`pending`?(m(),k(b,{key:0,color:`grey`},{default:v(()=>[...n[4]||=[E(`mdi-clock-outline`,-1)]]),_:1})):e.status===`running`?(m(),k(b,{key:1,color:`blue`,class:`mdi-spin`},{default:v(()=>[...n[5]||=[E(`mdi-loading`,-1)]]),_:1})):e.status===`success`?(m(),k(b,{key:2,color:`green`},{default:v(()=>[...n[6]||=[E(`mdi-check-circle`,-1)]]),_:1})):e.status===`cancelled`?(m(),k(b,{key:3,color:`grey`},{default:v(()=>[...n[7]||=[E(`mdi-cancel`,-1)]]),_:1})):(m(),k(b,{key:4,color:`red`},{default:v(()=>[...n[8]||=[E(`mdi-alert-circle`,-1)]]),_:1}))]),_:2},[e.detail?{name:`subtitle`,fn:v(()=>[A(`span`,{class:j(e.status===`failed`?`text-error`:`text-medium-emphasis`)},I(e.detail),3)]),key:`0`}:void 0]),1032,[`title`]))),128))]),_:1})]),_:1})]),_:1})):T(``,!0)}}),He={key:0,class:`text-center text-medium-emphasis py-6`},Ue={class:`d-flex align-center px-2 mb-2`},We={class:`text-caption text-medium-emphasis ml-1`},Ge={class:`d-flex align-center ga-2`},Ke={class:`text-body-2 font-weight-medium text-truncate`},qe={class:`text-caption text-medium-emphasis text-truncate`},Je=[`title`],Ye={key:0,class:`text-caption mt-1`},Xe=_({__name:`PushServerGrid`,props:{selectAll:{type:Boolean},serverSearch:{},serversLoading:{type:Boolean},serversByCategory:{},selectedIds:{},pushStatus:{},isCategoryAllSelected:{type:Function}},emits:[`update:serverSearch`,`toggle-all`,`refresh`,`toggle-category`,`toggle-server`],setup(e){return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:v(()=>[B(G,{class:`d-flex align-center`},{default:v(()=>[B(le,{"model-value":e.selectAll,label:`全选`,density:`compact`,"hide-details":``,class:`mr-4`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`toggle-all`)},null,8,[`model-value`]),B(X,{"model-value":e.serverSearch,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器...`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`240px`},"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:serverSearch`,e)},null,8,[`model-value`]),B(p,{icon:`mdi-refresh`,variant:`text`,size:`small`,loading:e.serversLoading,title:`刷新在线状态`,onClick:n[2]||=e=>t.$emit(`refresh`)},null,8,[`loading`])]),_:1}),B(R),B(W,{class:`pa-2`},{default:v(()=>[e.serversByCategory.length===0?(m(),z(`div`,He,`暂无服务器`)):(m(!0),z(D,{key:1},s(e.serversByCategory,a=>(m(),z(`div`,{key:a.category,class:`mb-4`},[A(`div`,Ue,[B(p,{size:`x-small`,variant:`text`,color:e.isCategoryAllSelected(a.category)?`primary`:`default`,onClick:e=>t.$emit(`toggle-category`,a.category)},{default:v(()=>[B(b,{size:`16`,class:`mr-1`},{default:v(()=>[E(I(e.isCategoryAllSelected(a.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),E(` `+I(a.category),1)]),_:2},1032,[`color`,`onClick`]),A(`span`,We,` (`+I(a.servers.filter(t=>e.selectedIds.has(t.id)).length)+`/`+I(a.servers.length)+`) `,1)]),B(i,{dense:``},{default:v(()=>[(m(!0),z(D,null,s(a.servers,i=>(m(),k(r,{key:i.id,cols:`6`,sm:`4`,md:`3`,lg:`2`},{default:v(()=>[B(K,{color:e.selectedIds.has(i.id)?`primary`:void 0,variant:e.selectedIds.has(i.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-3 cursor-pointer`,onClick:e=>t.$emit(`toggle-server`,i.id)},{default:v(()=>[A(`div`,Ge,[B(b,{color:F(ge)(i.is_online),size:`12`},{default:v(()=>[...n[3]||=[E(`mdi-circle`,-1)]]),_:1},8,[`color`]),A(`span`,Ke,I(i.name),1)]),A(`div`,qe,I(i.domain),1),A(`div`,{class:`text-caption text-medium-emphasis text-truncate`,title:i.target_path||`未配置目标路径`},` → `+I(i.target_path?.trim()||`未配置`),9,Je),e.pushStatus[i.id]?(m(),z(`div`,Ye,[B(V,{color:F(pe)(e.pushStatus[i.id]),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:v(()=>[E(I(e.pushStatus[i.id]),1)]),_:2},1032,[`color`])])):T(``,!0)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))]),_:1})]),_:1}))}}),Ze=re({...ce({falseIcon:`$radioOff`,trueIcon:`$radioOn`})},`VRadio`),$=H()({name:`VRadio`,props:Ze(),setup(e,{slots:t}){return L(()=>B(q,a(q.filterProps(e),{class:[`v-radio`,e.class],style:e.style,type:`radio`}),t)),{}}}),Qe=re({height:{type:[Number,String],default:`auto`},...h(de(),[`direction`]),...h(oe(),[`multiple`]),trueIcon:{type:O,default:`$radioOn`},falseIcon:{type:O,default:`$radioOff`},type:{type:String,default:`radio`}},`VRadioGroup`),$e=H()({name:`VRadioGroup`,inheritAttrs:!1,props:Qe(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let r=ae(),i=P(()=>e.id||`radio-group-${r}`),o=ne(e,`modelValue`),s=x();return L(()=>{let[r,c]=g(t),l=Y.filterProps(e),u=q.filterProps(e),d=n.label?n.label({label:e.label,props:{for:i.value}}):e.label;return B(Y,a({ref:s,class:[`v-radio-group`,e.class],style:e.style},r,l,{modelValue:o.value,"onUpdate:modelValue":e=>o.value=e,id:i.value}),{...n,default:({id:t,messagesId:r,isDisabled:i,isReadonly:s})=>A(D,null,[d&&B(ue,{id:t.value},{default:()=>[d]}),B(se,a(u,{id:t.value,"aria-describedby":r.value,defaultsTarget:`VRadio`,trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:i.value,readonly:s.value,"aria-labelledby":d?t.value:void 0,multiple:!1},c,{modelValue:o.value,"onUpdate:modelValue":e=>o.value=e}),n)])})}),te({},s)}}),et={class:`text-caption text-medium-emphasis mt-1`},tt=_({__name:`PushSyncModeCard`,props:{syncMode:{},syncModeDesc:{}},emits:[`update:syncMode`],setup(e,{emit:t}){let n=t;function r(e){e!=null&&n(`update:syncMode`,e)}return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:v(()=>[B(G,{class:`text-subtitle-1`},{default:v(()=>[...n[0]||=[E(`同步模式`,-1)]]),_:1}),B(W,null,{default:v(()=>[B($e,{"model-value":e.syncMode,inline:``,density:`compact`,"onUpdate:modelValue":r},{default:v(()=>[B($,{label:`增量同步`,value:`incremental`}),B($,{label:`全量同步`,value:`full`}),B($,{label:`校验和同步`,value:`checksum`})]),_:1},8,[`model-value`]),e.syncMode===`full`?(m(),k(u,{key:0,type:`warning`,density:`compact`,variant:`tonal`,class:`mt-2`},{default:v(()=>[...n[1]||=[E(` 全量同步会删除目标目录中不存在于源目录的文件 `,-1)]]),_:1})):T(``,!0),A(`div`,et,I(e.syncModeDesc),1)]),_:1})]),_:1}))}}),nt=_({__name:`PushToolbar`,props:{targetPath:{},submitting:{type:Boolean},pushing:{type:Boolean}},emits:[`update:targetPath`,`preview`,`push`],setup(e){return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4 pa-4`},{default:v(()=>[B(i,{align:`center`,dense:``},{default:v(()=>[B(r,{cols:`12`,sm:`8`},{default:v(()=>[B(X,{"model-value":e.targetPath,label:`目标路径`,placeholder:`/www/wwwroot`,hint:`留空则使用下方各服务器配置的路径;填写则统一覆盖所有选中服务器`,"persistent-hint":``,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-folder-marker`,clearable:``,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:targetPath`,e??``)},null,8,[`model-value`])]),_:1}),B(r,{cols:`12`,sm:`4`,class:`d-flex ga-2 justify-end`},{default:v(()=>[B(p,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-eye`,onClick:n[1]||=e=>t.$emit(`preview`)},{default:v(()=>[...n[3]||=[E(`预览`,-1)]]),_:1}),B(p,{size:`small`,color:`primary`,variant:`flat`,"prepend-icon":`mdi-upload`,loading:e.submitting,disabled:e.pushing,onClick:n[2]||=e=>t.$emit(`push`)},{default:v(()=>[...n[4]||=[E(` 推送 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1}))}}),rt=[`success`,`failed`,`cancelled`];function it(e){let t=x([]),n=x(!1),r=x(``),i=x(new Set),a=null;async function o(e=!1){e||(n.value=!0);try{t.value=(await S.get(`/servers/`,{per_page:200})).items||[]}catch{t.value=[]}finally{e||(n.value=!1)}}function s(e){c(),a=setInterval(()=>{o(!0)},3e4)}function c(){a&&=(clearInterval(a),null)}let l=P(()=>{if(!r.value)return t.value;let e=r.value.toLowerCase();return t.value.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.target_path||``).toLowerCase().includes(e))}),u=P(()=>{let e=l.value;return e.length>0&&e.every(e=>i.value.has(e.id))}),d=P(()=>{let e={};for(let t of l.value){let n=t.category||`未分类`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,servers:t}))});function f(e){let t=d.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>i.value.has(e.id))}function p(e){let t=d.value.find(t=>t.category===e);if(!t)return;let n=new Set(i.value),r=t.servers.every(e=>n.has(e.id));for(let e of t.servers)r?n.delete(e.id):n.add(e.id);i.value=n}function m(e){let t=new Set(i.value);t.has(e)?t.delete(e):t.add(e),i.value=t}function h(){let e=l.value,t=e.length>0&&e.every(e=>i.value.has(e.id)),n=new Set(i.value);for(let r of e)t?n.delete(r.id):n.add(r.id);i.value=n}return{servers:t,serversLoading:n,serverSearch:r,selectedIds:i,pushStatus:e,filteredServers:l,selectAll:u,serversByCategory:d,loadServers:o,startAutoRefresh:s,stopAutoRefresh:c,isCategoryAllSelected:f,toggleCategory:p,toggleServer:m,toggleAll:h}}function at(){return crypto.randomUUID().replace(/-/g,``).slice(0,12)}function ot(e,t,r){let i=n(),a=c(),o=x(!1),s=x(!1),l=x(!1),u=x(!1),d=x([]),f=x(``),p=x(null),m=[],h=P(()=>d.value.filter(e=>rt.includes(e.status)).length),g=P(()=>{let e=d.value.length;return e?Math.round(h.value/e*100):0});function _(){m.forEach(e=>clearTimeout(e)),m.length=0}function v(){let e=d.value.length;if(!e||!o.value||d.value.filter(e=>rt.includes(e.status)).lengthe.status===`failed`).length,n=d.value.filter(e=>e.status===`cancelled`).length,a=d.value.filter(e=>e.status===`success`).length;i(`推送完成:${a} 成功,${t} 失败${n?`,${n} 取消`:``}`)}function y(e){if(e.type!==`sync_progress`||e.batch_id!==f.value||e.server_id==null)return;let n=d.value.findIndex(t=>t.id===e.server_id);if(n===-1)return;let r=d.value[n],i=e.status;if(i===`running`)r.status=`running`,r.detail=`同步中...`;else if(i===`success`){r.status=`success`;let n=e.duration_seconds;r.detail=n==null?`完成`:`完成(${n}s)`,t.pushStatus.value[e.server_id]=`成功`}else i===`failed`?(r.status=`failed`,r.detail=Z(e.error_message)||`失败`,e.retry_job_id!=null&&(r.retryJobId=e.retry_job_id),t.pushStatus.value[e.server_id]=`失败`):i===`cancelled`&&(r.status=`cancelled`,r.detail=Z(e.error_message)||`已取消`,t.pushStatus.value[e.server_id]=`已取消`);v()}function b(e){let n=e.results;if(n){for(let[e,r]of Object.entries(n)){let n=Number(e);if(!Number.isFinite(n))continue;let i=d.value.findIndex(e=>e.id===n);if(i===-1)continue;let a=d.value[i],o=r.status;if(o===`success`){a.status=`success`;let e=r.duration_seconds;a.detail=e==null?`完成`:`完成(${e}s)`,t.pushStatus.value[n]=`成功`}else o===`failed`?(a.status=`failed`,a.detail=Z(r.error_message)||`失败`,r.retry_job_id!=null&&(a.retryJobId=r.retry_job_id),t.pushStatus.value[n]=`失败`):o===`cancelled`&&(a.status=`cancelled`,a.detail=Z(r.error_message)||`已取消`,t.pushStatus.value[n]=`已取消`)}v()}}function C(){if(!a.token)return Promise.reject(Error(`未登录,无法连接推送进度`));w();let e=Te(`/ws/sync`,{token:a.token}),n=new WebSocket(e);return new Promise((e,s)=>{n.onopen=()=>e(),n.onerror=()=>s(Error(`推送进度 WebSocket 连接失败`)),n.onmessage=e=>{if(e.data!==`pong`)try{let t=JSON.parse(e.data);if(t.type===`ping`){n.send(`pong`);return}y(t)}catch{}},n.onclose=e=>{if(p.value=null,e.code===4001||e.code===4401){a.forceLogout();return}e.code!==1e3&&o.value&&(d.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`failed`,e.detail=`连接中断`,t.pushStatus.value[e.id]=`失败`)}),o.value=!1,i(`推送进度连接中断,部分服务器状态未知`,`warning`),r())},p.value=n})}function w(){p.value&&=(p.value.close(1e3),null)}async function T(){if(f.value){l.value=!0;try{await S.post(`/sync/cancel`,{batch_id:f.value}),d.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`cancelled`,e.detail=`已取消`,t.pushStatus.value[e.id]=`已取消`)}),o.value=!1,w(),r(),i(`推送已取消`)}catch(e){i(e instanceof Error?e.message:`取消失败`,`error`)}finally{l.value=!1}}}async function E(){if(o.value||s.value)return;let n=[...t.selectedIds.value].map(e=>t.servers.value.find(t=>t.id===e)).filter(e=>e!=null);if(!e.validateForm(n.length,n))return;_(),w(),f.value=``,t.pushStatus.value={};let a=n.map(e=>e.id);d.value=a.map(e=>({id:e,name:t.servers.value.find(t=>t.id===e)?.name||`#${e}`,status:`pending`})),o.value=!0,s.value=!0,f.value=at();try{await C();let t=await S.post(`/sync/files`,{source_path:e.effectiveSourcePath(),target_path:e.effectiveTargetPath(),server_ids:a,sync_mode:e.syncMode.value,batch_id:f.value});t.batch_id&&t.batch_id!==f.value&&(f.value=t.batch_id),t.accepted?ee(`推送已提交(${a.length} 台),请在下方查看进度`):b(t)}catch(e){w();let t=e instanceof Error?e.message:`推送请求失败`;d.value.forEach(e=>{e.status=`failed`,e.detail=t}),o.value=!1,i(t,`error`),r();return}finally{s.value=!1}let c=setTimeout(()=>{o.value&&(d.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`failed`,e.detail=`等待超时`,t.pushStatus.value[e.id]=`失败`)}),o.value=!1,w(),r(),i(`推送超时,${h.value}/${d.value.length} 台已有结果`,`warning`))},3e5);m.push(c)}let D=P(()=>d.value.filter(e=>e.status===`failed`&&e.retryJobId!=null).length);async function O(){let e=d.value.filter(e=>e.status===`failed`&&e.retryJobId!=null).map(e=>e.retryJobId);if(!e.length){i(`没有可重试的失败任务(重试任务可能尚未创建)`,`warning`);return}u.value=!0;let t=0,n=0;try{for(let r of e)try{await S.post(`/retries/${r}/retry`),t++}catch{n++}i(n>0?`已提交 ${t} 个重试,${n} 个提交失败`:`已提交 ${t} 个失败服务器的重试任务`)}finally{u.value=!1}}function k(){w(),_()}return{pushing:o,submitting:s,cancelling:l,retryingAll:u,wsProgressItems:d,pushBatchId:f,doneCount:h,totalProgress:g,failedRetryCount:D,doPush:E,cancelPush:T,retryAllFailed:O,dispose:k}}function st(e,t){let n=x(!1),r=x([]),i=x(!1),a=x(0),o=x(0),s=P(()=>a.value>30),c=P(()=>r.value.filter(e=>e.error).length);async function l(t,n){try{let r=await S.post(`/sync/preview`,{source_path:e.effectiveSourcePath(),target_path:e.effectiveTargetPath(),server_id:t,sync_mode:e.syncMode.value});return r.error?{server_id:t,server_name:n,error:r.error}:{server_id:t,server_name:r.server_name||n,stats:r.stats}}catch(e){return{server_id:t,server_name:n,error:e instanceof Error?e.message:`预览失败`}}}async function u(){let s=[...t.selectedIds.value].map(e=>t.servers.value.find(t=>t.id===e)).filter(e=>e!=null);if(!e.validateForm(s.length,s))return;let c=s.map(e=>e.id);a.value=c.length,o.value=0,n.value=!0,i.value=!0,r.value=[];let u=c.map(e=>({id:e,name:t.servers.value.find(t=>t.id===e)?.name||`#${e}`}));for(let e=0;el(e.id,e.name)));r.value=[...r.value,...n],o.value=r.value.length}i.value=!1}function d(){n.value=!1}function f(e){n.value=!1,e()}return{showPreview:n,previewResults:r,previewLoading:i,previewTotal:a,previewDone:o,previewLargeBatch:s,previewWarnThreshold:30,previewErrorCount:c,doPreview:u,closePreview:d,confirmAndPush:f}}var ct=[{label:`成功`,value:`success`},{label:`失败`,value:`failed`},{label:`进行中`,value:`running`},{label:`已取消`,value:`cancelled`}],lt=[{label:`增量`,value:`incremental`},{label:`全量`,value:`full`},{label:`校验和`,value:`checksum`}],ut=[{title:`时间`,key:`started_at`,width:170},{title:`服务器`,key:`server_name`,width:120},{title:`状态`,key:`status`,width:88},{title:`模式`,key:`sync_mode`,width:88},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`权限`,key:`push_permission`,width:140},{title:`错误`,key:`error_message`,width:200},{title:`操作`,key:`actions`,width:88,sortable:!1}];function dt(e,t){let r=n(),i=x([]),a=x(0),o=x(!1),s=x(1),c=x(null),l=x(null),u=x(null),d=x(!1),f=x(!1),p=x(!1),m=x(null),h=x(null),g=P(()=>t.servers.value.map(e=>({title:e.name,value:e.id})));function _(){s.value=1,v()}async function v(e=!1){e||(o.value=!0);try{let e={page:s.value,per_page:15};c.value&&(e.status=c.value),l.value&&(e.sync_mode=l.value),u.value!=null&&(e.server_id=u.value);let t=await S.get(`/servers/logs`,e);i.value=t.items||[],a.value=t.total||0}catch{i.value=[],a.value=0}finally{e||(o.value=!1)}}async function y(){d.value=!0;try{let e=(await S.post(`/sync/reconcile-stale-logs`,{max_age_minutes:15})).reconciled??0;r(e>0?`已订正 ${e} 条卡住的推送记录`:`没有需要订正的记录`),await v()}catch(e){r(e instanceof Error?e.message:`订正失败`,`error`)}finally{d.value=!1}}async function b(t){h.value=t,m.value=null,f.value=!0,p.value=!0;try{m.value=await S.post(`/sync/diagnose`,{server_id:t.server_id,target_path:t.target_path||e.targetPath.value||void 0})}catch(e){r(e instanceof Error?e.message:`诊断失败`,`error`),f.value=!1}finally{p.value=!1}}function C(){f.value=!1}return{logs:i,logTotal:a,logLoading:o,logPage:s,logStatusFilter:c,logSyncModeFilter:l,logServerFilter:u,reconcilingLogs:d,logStatusOptions:ct,logSyncModeOptions:lt,logHeaders:ut,logServerOptions:g,showDiagnose:f,diagnoseLoading:p,diagnoseResult:m,diagnoseTarget:h,onLogFilterChange:_,loadLogs:v,reconcileStaleLogs:y,openDiagnose:b,closeDiagnose:C}}function ft(){let e=Se(),t=we(e.uploadedSource),n=it(x({})),r=dt(e,n),i=ot(e,n,()=>r.loadLogs()),a=st(e,n);function o(){a.confirmAndPush(()=>i.doPush())}let s=!1;function c(e=!1){e?(n.loadServers(!0),r.loadLogs(!0)):(n.loadServers(),r.loadLogs())}return l(()=>{c(!1),n.startAutoRefresh(()=>i.pushing.value),s=!0}),f(()=>{s&&c(!0)}),d(()=>{i.dispose(),n.stopAutoRefresh()}),{form:C(e),staging:C(t),servers:C(n),progress:C(i),preview:C(a),logs:C(r),onConfirmAndPush:o}}var pt=_({name:`PushPage`,__name:`PushPage`,setup(e){let{form:n,staging:r,servers:i,progress:a,preview:o,logs:s,onConfirmAndPush:c}=ft();return(e,l)=>(m(),k(t,{fluid:``,class:`pa-6`},{default:v(()=>[B(Ce,{"uploaded-source":F(n).uploadedSource,"validated-source":F(n).validatedSource,"source-path":F(n).sourcePath,"onUpdate:sourcePath":l[0]||=e=>F(n).sourcePath=e,"source-path-validating":F(n).sourcePathValidating,"is-dragging":F(n).isDragging,"source-uploading":F(n).sourceUploading,onDragover:l[1]||=e=>F(n).isDragging=!0,onDragleave:l[2]||=e=>F(n).isDragging=!1,onDrop:F(n).handleFileDrop,onFileSelect:F(n).handleFileSelect,onZipExtractSelect:F(n).handleZipExtractSelect,onClear:F(n).clearUploadedSource,onClearValidated:F(n).clearValidatedSource,onValidate:F(n).validateSourcePath},null,8,[`uploaded-source`,`validated-source`,`source-path`,`source-path-validating`,`is-dragging`,`source-uploading`,`onDrop`,`onFileSelect`,`onZipExtractSelect`,`onClear`,`onClearValidated`,`onValidate`]),F(n).uploadedSource?(m(),k(be,{key:0,"root-path":F(n).uploadedSource.sourcePath,"relative-path":F(r).relativePath,entries:F(r).entries,loading:F(r).loading,"selected-count":F(r).selectedCount,"all-selected":F(r).allSelected,"some-selected":F(r).someSelected,"is-selected":F(r).isSelected,"rename-open":F(r).renameOpen,"onUpdate:renameOpen":l[3]||=e=>F(r).renameOpen=e,"rename-value":F(r).renameValue,"onUpdate:renameValue":l[4]||=e=>F(r).renameValue=e,"rename-loading":F(r).renameLoading,"delete-open":F(r).deleteOpen,"onUpdate:deleteOpen":l[5]||=e=>F(r).deleteOpen=e,"delete-targets":F(r).deleteTargets,"delete-loading":F(r).deleteLoading,onRefresh:l[6]||=e=>F(r).refreshCurrent(),onGoRoot:F(r).goRoot,onOpenDir:F(r).openDirectory,onPreview:F(r).previewFile,onRename:F(r).openRename,onDelete:F(r).openDelete,onBatchDelete:F(r).openBatchDelete,onToggleSelect:F(r).toggleSelect,onToggleSelectAll:F(r).toggleSelectAll,onConfirmRename:F(r).confirmRename,onConfirmDelete:F(r).confirmDelete},null,8,[`root-path`,`relative-path`,`entries`,`loading`,`selected-count`,`all-selected`,`some-selected`,`is-selected`,`rename-open`,`rename-value`,`rename-loading`,`delete-open`,`delete-targets`,`delete-loading`,`onGoRoot`,`onOpenDir`,`onPreview`,`onRename`,`onDelete`,`onBatchDelete`,`onToggleSelect`,`onToggleSelectAll`,`onConfirmRename`,`onConfirmDelete`])):T(``,!0),B(xe,{modelValue:F(r).previewOpen,"onUpdate:modelValue":l[7]||=e=>F(r).previewOpen=e,loading:F(r).previewLoading,result:F(r).previewResult},null,8,[`modelValue`,`loading`,`result`]),B(nt,{"target-path":F(n).targetPath,"onUpdate:targetPath":l[8]||=e=>F(n).targetPath=e,submitting:F(a).submitting,pushing:F(a).pushing,onPreview:F(o).doPreview,onPush:F(a).doPush},null,8,[`target-path`,`submitting`,`pushing`,`onPreview`,`onPush`]),B(Xe,{"select-all":F(i).selectAll,"server-search":F(i).serverSearch,"onUpdate:serverSearch":l[9]||=e=>F(i).serverSearch=e,"servers-loading":F(i).serversLoading,"servers-by-category":F(i).serversByCategory,"selected-ids":F(i).selectedIds,"push-status":F(i).pushStatus,"is-category-all-selected":F(i).isCategoryAllSelected,onToggleAll:F(i).toggleAll,onRefresh:F(i).loadServers,onToggleCategory:F(i).toggleCategory,onToggleServer:F(i).toggleServer},null,8,[`select-all`,`server-search`,`servers-loading`,`servers-by-category`,`selected-ids`,`push-status`,`is-category-all-selected`,`onToggleAll`,`onRefresh`,`onToggleCategory`,`onToggleServer`]),B(tt,{"sync-mode":F(n).syncMode,"onUpdate:syncMode":l[10]||=e=>F(n).syncMode=e,"sync-mode-desc":F(n).syncModeDesc},null,8,[`sync-mode`,`sync-mode-desc`]),B(Ve,{items:F(a).wsProgressItems,"batch-id":F(a).pushBatchId,pushing:F(a).pushing,cancelling:F(a).cancelling,"retrying-all":F(a).retryingAll,"failed-retry-count":F(a).failedRetryCount,"done-count":F(a).doneCount,"total-progress":F(a).totalProgress,onCancel:F(a).cancelPush,onRetryAll:F(a).retryAllFailed},null,8,[`items`,`batch-id`,`pushing`,`cancelling`,`retrying-all`,`failed-retry-count`,`done-count`,`total-progress`,`onCancel`,`onRetryAll`]),B(Re,{modelValue:F(o).showPreview,"onUpdate:modelValue":l[11]||=e=>F(o).showPreview=e,loading:F(o).previewLoading,results:F(o).previewResults,"selected-count":F(i).selectedIds.size,"preview-done":F(o).previewDone,"preview-total":F(o).previewTotal,"large-batch":F(o).previewLargeBatch,"warn-threshold":F(o).previewWarnThreshold,"error-count":F(o).previewErrorCount,"sync-mode":F(n).syncMode,onConfirmPush:F(c)},null,8,[`modelValue`,`loading`,`results`,`selected-count`,`preview-done`,`preview-total`,`large-batch`,`warn-threshold`,`error-count`,`sync-mode`,`onConfirmPush`]),B(Ee,{modelValue:F(s).showDiagnose,"onUpdate:modelValue":l[12]||=e=>F(s).showDiagnose=e,loading:F(s).diagnoseLoading,result:F(s).diagnoseResult,"target-name":F(s).diagnoseTarget?.server_name??void 0},null,8,[`modelValue`,`loading`,`result`,`target-name`]),B(Me,{items:F(s).logs,headers:F(s).logHeaders,total:F(s).logTotal,loading:F(s).logLoading,page:F(s).logPage,"onUpdate:page":l[13]||=e=>F(s).logPage=e,"status-filter":F(s).logStatusFilter,"onUpdate:statusFilter":l[14]||=e=>F(s).logStatusFilter=e,"sync-mode-filter":F(s).logSyncModeFilter,"onUpdate:syncModeFilter":l[15]||=e=>F(s).logSyncModeFilter=e,"server-filter":F(s).logServerFilter,"onUpdate:serverFilter":l[16]||=e=>F(s).logServerFilter=e,"status-options":F(s).logStatusOptions,"sync-mode-options":F(s).logSyncModeOptions,"server-options":F(s).logServerOptions,reconciling:F(s).reconcilingLogs,onFilterChange:F(s).onLogFilterChange,onPageChange:F(s).loadLogs,onReconcile:F(s).reconcileStaleLogs,onDiagnose:F(s).openDiagnose},null,8,[`items`,`headers`,`total`,`loading`,`page`,`status-filter`,`sync-mode-filter`,`server-filter`,`status-options`,`sync-mode-options`,`server-options`,`reconciling`,`onFilterChange`,`onPageChange`,`onReconcile`,`onDiagnose`])]),_:1}))}});export{pt as default}; \ No newline at end of file +import{a as e}from"./VDataTable-PKQbaP3_.js";import{n as t,t as n}from"./useSnackbar-P0rXZaHt.js";import{n as r,t as i}from"./VRow-Jrv7cE2K.js";import{Er as a,Ht as o,Ir as s,Kt as c,Mr as l,N as u,Nr as d,Or as f,P as p,Pr as m,Qn as h,Rn as g,Sr as _,Ur as v,W as y,X as b,Xr as x,Xt as S,Yr as C,_ as w,_r as T,br as E,bt as ee,dr as D,fn as O,gr as k,hr as A,ii as j,l as M,m as N,mr as P,ni as F,oi as I,pn as L,r as te,un as ne,v as R,vr as z,wn as re,xr as B,y as V,yn as H,yr as ie,zr as ae}from"./index-Bplw5zZe.js";import{a as U,n as W,r as G,t as K}from"./VCard-DwK3U69w.js";import{g as oe,h as se,m as ce,p as q,t as J}from"./VSelect-C2IkZQ4Y.js";import{t as le}from"./VCheckbox-BnLUWPSt.js";import{g as ue,l as Y,t as X,u as de}from"./VTextField-DVnxh9lX.js";import{t as fe}from"./VDataTableServer-D1N34nyt.js";import{a as pe,c as Z,i as me,n as he,o as ge,r as _e,s as ve,t as ye}from"./labels-C-A2d08W.js";import{t as Q}from"./VDialog-DPwgR17F.js";import{a as be,i as xe,n as Se,r as Ce,t as we}from"./usePushStaging-CG8g6bPy.js";import{t as Te}from"./wsUrl-CqmqkTTE.js";var Ee=_({__name:`PushDiagnoseDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean},result:{},targetName:{}},emits:[`update:modelValue`],setup(e){return(t,n)=>(m(),k(Q,{"model-value":e.modelValue,"max-width":`520`,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:v(()=>[B(K,{border:``},{default:v(()=>[B(G,null,{default:v(()=>[E(`推送失败诊断 — `+I(e.targetName),1)]),_:1}),B(W,null,{default:v(()=>[e.loading?(m(),k(y,{key:0,indeterminate:``,class:`mb-3`})):e.result?(m(),z(D,{key:1},[B(M,{density:`compact`},{default:v(()=>[B(N,{title:`SSH 连接`},{append:v(()=>[B(b,{color:e.result.ssh_ok?`success`:`error`},{default:v(()=>[E(I(e.result.ssh_ok?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1}),e.result.disk_avail?(m(),k(N,{key:0,title:`磁盘可用: ${e.result.disk_avail}`},null,8,[`title`])):T(``,!0),e.result.disk_used_pct==null?T(``,!0):(m(),k(N,{key:1,title:`磁盘使用率: ${e.result.disk_used_pct}%`},null,8,[`title`])),B(N,{title:`目标路径存在`},{append:v(()=>[B(b,{color:e.result.path_exists?`success`:`error`},{default:v(()=>[E(I(e.result.path_exists?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1}),e.result.path_perms?(m(),k(N,{key:2,subtitle:e.result.path_perms,title:`权限`},null,8,[`subtitle`])):T(``,!0),B(N,{title:`目标路径可写`},{append:v(()=>[B(b,{color:e.result.path_writable?`success`:`error`},{default:v(()=>[E(I(e.result.path_writable?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1})]),_:1}),(m(!0),z(D,null,s(e.result.errors,(e,t)=>(m(),k(u,{key:t,type:`error`,density:`compact`,variant:`tonal`,class:`mt-2`},{default:v(()=>[E(I(F(Z)(e)),1)]),_:2},1024))),128))],64)):T(``,!0)]),_:1}),B(U,null,{default:v(()=>[B(w),B(p,{variant:`text`,onClick:n[0]||=e=>t.$emit(`update:modelValue`,!1)},{default:v(()=>[...n[2]||=[E(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),De={class:`text-caption`},Oe={class:`text-caption text-medium-emphasis`},ke=[`title`],Ae=[`title`],je={key:1,class:`text-caption text-medium-emphasis`},Me=_({__name:`PushHistoryTable`,props:{items:{},headers:{},total:{},loading:{type:Boolean},page:{},statusFilter:{},syncModeFilter:{},serverFilter:{},statusOptions:{},syncModeOptions:{},serverOptions:{},reconciling:{type:Boolean}},emits:[`update:page`,`update:statusFilter`,`update:syncModeFilter`,`update:serverFilter`,`filter-change`,`page-change`,`reconcile`,`diagnose`],setup(e){return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`},{default:v(()=>[B(G,{class:`d-flex flex-wrap align-center ga-2`},{default:v(()=>[n[6]||=A(`span`,null,`推送历史`,-1),B(w),B(J,{"model-value":e.statusFilter,items:e.statusOptions,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`},"onUpdate:modelValue":n[0]||=e=>{t.$emit(`update:statusFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),B(J,{"model-value":e.syncModeFilter,items:e.syncModeOptions,"item-title":`label`,"item-value":`value`,label:`模式`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`},"onUpdate:modelValue":n[1]||=e=>{t.$emit(`update:syncModeFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),B(J,{"model-value":e.serverFilter,items:e.serverOptions,"item-title":`title`,"item-value":`value`,label:`服务器`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`180px`},"onUpdate:modelValue":n[2]||=e=>{t.$emit(`update:serverFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),B(p,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-wrench`,loading:e.reconciling,onClick:n[3]||=e=>t.$emit(`reconcile`)},{default:v(()=>[...n[5]||=[E(` 修复卡住记录 `,-1)]]),_:1},8,[`loading`])]),_:1}),B(fe,{items:e.items,headers:e.headers,"items-length":e.total,loading:e.loading,page:e.page,"items-per-page":15,hover:``,density:`comfortable`,"onUpdate:page":n[4]||=e=>{t.$emit(`update:page`,e),t.$emit(`page-change`)}},{"item.status":v(({item:e})=>[B(V,{color:F(_e)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:v(()=>[E(I(F(me)(e.status)),1)]),_:2},1032,[`color`])]),"item.sync_mode":v(({item:e})=>[A(`span`,De,I(F(ve)(e.sync_mode)),1)]),"item.started_at":v(({item:e})=>[A(`span`,Oe,I(F(o)(e.started_at)),1)]),"item.push_permission":v(({item:e})=>[A(`span`,{class:j([`text-caption`,e.push_permission?``:`text-medium-emphasis`]),title:e.push_permission||`本次推送未配置 rsync 属主/权限修正`},I(F(ye)(e.push_permission)),11,ke)]),"item.error_message":v(({item:e})=>[e.error_message?(m(),z(`span`,{key:0,class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`200px`},title:F(Z)(e.error_message)},I(F(Z)(e.error_message)),9,Ae)):(m(),z(`span`,je,`—`))]),"item.actions":v(({item:e})=>[e.status===`failed`?(m(),k(p,{key:0,size:`x-small`,variant:`tonal`,"prepend-icon":`mdi-stethoscope`,onClick:n=>t.$emit(`diagnose`,e)},{default:v(()=>[...n[7]||=[E(` 诊断 `,-1)]]),_:1},8,[`onClick`])):T(``,!0)]),"no-data":v(()=>[...n[8]||=[A(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}))}}),Ne={class:`text-caption text-medium-emphasis`},Pe={key:2,class:`mb-2 text-body-2`},Fe={key:0,class:`text-error text-caption`},Ie={key:1,class:`text-warning text-caption`},Le={key:2,class:`text-caption text-medium-emphasis`},Re=_({__name:`PushPreviewDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean},results:{},selectedCount:{},previewDone:{},previewTotal:{},largeBatch:{type:Boolean},warnThreshold:{},errorCount:{},syncMode:{}},emits:[`update:modelValue`,`confirm-push`],setup(t){return(n,r)=>(m(),k(Q,{"model-value":t.modelValue,"max-width":`800`,"onUpdate:modelValue":r[2]||=e=>n.$emit(`update:modelValue`,e)},{default:v(()=>[B(K,{border:``},{default:v(()=>[B(G,{class:`d-flex align-center`},{default:v(()=>[r[3]||=E(` 推送预览 `,-1),B(w),A(`span`,Ne,[t.loading?(m(),z(D,{key:0},[E(I(t.previewDone)+` / `+I(t.previewTotal)+` 台`,1)],64)):(m(),z(D,{key:1},[E(I(t.results.length)+` 台`,1)],64))])]),_:1}),B(W,null,{default:v(()=>[t.loading?(m(),k(y,{key:0,"model-value":t.previewTotal?Math.round(t.previewDone/t.previewTotal*100):0,class:`mb-3`},null,8,[`model-value`])):T(``,!0),t.largeBatch&&!t.loading?(m(),k(u,{key:1,type:`info`,density:`compact`,variant:`tonal`,class:`mb-2`},{default:v(()=>[E(` 已预览 `+I(t.results.length)+` 台服务器(超过 `+I(t.warnThreshold)+` 台时推送耗时可能较长) `,1)]),_:1})):T(``,!0),t.loading?T(``,!0):(m(),z(`div`,Pe,[r[4]||=E(` 将推送到 `,-1),A(`strong`,null,I(t.selectedCount),1),r[5]||=E(` 台服务器 `,-1)])),t.results.length?(m(),k(e,{key:3,density:`compact`},{default:v(()=>[r[6]||=A(`thead`,null,[A(`tr`,null,[A(`th`,null,`服务器`),A(`th`,null,`文件数`),A(`th`,null,`预计传输`),A(`th`,null,`大小`),A(`th`,null,`备注`)])],-1),A(`tbody`,null,[(m(!0),z(D,null,s(t.results,e=>(m(),z(`tr`,{key:e.server_id},[A(`td`,null,I(e.server_name),1),A(`td`,null,I(e.stats?.files_total??`—`),1),A(`td`,null,I(e.stats?.files_transferred??`—`),1),A(`td`,null,I(e.stats?F(he)(e.stats.transfer_size_bytes??0):`—`),1),A(`td`,null,[e.error?(m(),z(`span`,Fe,I(F(Z)(e.error)),1)):t.syncMode===`full`&&(e.stats?.files_deleted??0)>0?(m(),z(`span`,Ie,`将删除 `+I(e.stats?.files_deleted)+` 个远端文件`,1)):(m(),z(`span`,Le,`—`))])]))),128))])]),_:1})):T(``,!0),t.errorCount>0&&!t.loading?(m(),k(u,{key:4,type:`warning`,density:`compact`,variant:`tonal`,class:`mt-3`},{default:v(()=>[E(I(t.errorCount)+` 台预览失败,推送时这些服务器可能仍会失败 `,1)]),_:1})):T(``,!0)]),_:1}),B(U,null,{default:v(()=>[B(w),B(p,{variant:`text`,onClick:r[0]||=e=>n.$emit(`update:modelValue`,!1)},{default:v(()=>[...r[7]||=[E(`关闭`,-1)]]),_:1}),B(p,{color:`primary`,variant:`flat`,disabled:t.loading,onClick:r[1]||=e=>n.$emit(`confirm-push`)},{default:v(()=>[...r[8]||=[E(`确认推送`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),ze={key:1,class:`text-caption text-medium-emphasis mb-2`},Be={key:0},Ve=_({__name:`PushProgressList`,props:{items:{},batchId:{},pushing:{type:Boolean},cancelling:{type:Boolean},retryingAll:{type:Boolean},failedRetryCount:{},doneCount:{},totalProgress:{}},emits:[`cancel`,`retry-all`],setup(e){return(t,n)=>e.items.length>0?(m(),k(K,{key:0,class:`mb-4`,elevation:`0`,border:``,rounded:`lg`},{default:v(()=>[B(G,{class:`d-flex align-center text-subtitle-1`},{default:v(()=>[n[3]||=E(` 推送进度 `,-1),B(w),e.failedRetryCount>0&&!e.pushing?(m(),k(p,{key:0,size:`small`,variant:`tonal`,color:`warning`,class:`mr-2`,"prepend-icon":`mdi-refresh`,loading:e.retryingAll,onClick:n[0]||=e=>t.$emit(`retry-all`)},{default:v(()=>[E(` 重试全部失败 (`+I(e.failedRetryCount)+`) `,1)]),_:1},8,[`loading`])):T(``,!0),e.batchId&&e.items.some(e=>e.status===`running`||e.status===`pending`)&&e.pushing?(m(),k(p,{key:1,size:`small`,variant:`tonal`,color:`error`,class:`mr-2`,loading:e.cancelling,onClick:n[1]||=e=>t.$emit(`cancel`)},{default:v(()=>[...n[2]||=[E(` 取消推送 `,-1)]]),_:1},8,[`loading`])):T(``,!0),B(V,{size:`small`,variant:`tonal`,color:`primary`},{default:v(()=>[E(I(e.items.filter(e=>e.status===`success`).length)+`/`+I(e.items.length)+` 完成 `,1)]),_:1})]),_:1}),B(R),B(W,null,{default:v(()=>[e.pushing||e.totalProgress>0?(m(),k(y,{key:0,"model-value":e.totalProgress,color:`primary`,height:`8`,rounded:``,class:`mb-3`},null,8,[`model-value`])):T(``,!0),e.items.length?(m(),z(`div`,ze,[E(I(e.doneCount)+` / `+I(e.items.length)+` 台已结束 `,1),e.items.some(e=>e.status===`failed`)?(m(),z(`span`,Be,` · `+I(e.items.filter(e=>e.status===`failed`).length)+` 失败 `,1)):T(``,!0)])):T(``,!0),B(M,{density:`compact`},{default:v(()=>[(m(!0),z(D,null,s(e.items,e=>(m(),k(N,{key:e.id,title:e.name},ie({append:v(()=>[e.status===`pending`?(m(),k(b,{key:0,color:`grey`},{default:v(()=>[...n[4]||=[E(`mdi-clock-outline`,-1)]]),_:1})):e.status===`running`?(m(),k(b,{key:1,color:`blue`,class:`mdi-spin`},{default:v(()=>[...n[5]||=[E(`mdi-loading`,-1)]]),_:1})):e.status===`success`?(m(),k(b,{key:2,color:`green`},{default:v(()=>[...n[6]||=[E(`mdi-check-circle`,-1)]]),_:1})):e.status===`cancelled`?(m(),k(b,{key:3,color:`grey`},{default:v(()=>[...n[7]||=[E(`mdi-cancel`,-1)]]),_:1})):(m(),k(b,{key:4,color:`red`},{default:v(()=>[...n[8]||=[E(`mdi-alert-circle`,-1)]]),_:1}))]),_:2},[e.detail?{name:`subtitle`,fn:v(()=>[A(`span`,{class:j(e.status===`failed`?`text-error`:`text-medium-emphasis`)},I(e.detail),3)]),key:`0`}:void 0]),1032,[`title`]))),128))]),_:1})]),_:1})]),_:1})):T(``,!0)}}),He={key:0,class:`text-center text-medium-emphasis py-6`},Ue={class:`d-flex align-center px-2 mb-2`},We={class:`text-caption text-medium-emphasis ml-1`},Ge={class:`d-flex align-center ga-2`},Ke={class:`text-body-2 font-weight-medium text-truncate`},qe={class:`text-caption text-medium-emphasis text-truncate`},Je=[`title`],Ye={key:0,class:`text-caption mt-1`},Xe=_({__name:`PushServerGrid`,props:{selectAll:{type:Boolean},serverSearch:{},serversLoading:{type:Boolean},serversByCategory:{},selectedIds:{},pushStatus:{},isCategoryAllSelected:{type:Function}},emits:[`update:serverSearch`,`toggle-all`,`refresh`,`toggle-category`,`toggle-server`],setup(e){return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:v(()=>[B(G,{class:`d-flex align-center`},{default:v(()=>[B(le,{"model-value":e.selectAll,label:`全选`,density:`compact`,"hide-details":``,class:`mr-4`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`toggle-all`)},null,8,[`model-value`]),B(X,{"model-value":e.serverSearch,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器...`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`240px`},"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:serverSearch`,e)},null,8,[`model-value`]),B(p,{icon:`mdi-refresh`,variant:`text`,size:`small`,loading:e.serversLoading,title:`刷新在线状态`,onClick:n[2]||=e=>t.$emit(`refresh`)},null,8,[`loading`])]),_:1}),B(R),B(W,{class:`pa-2`},{default:v(()=>[e.serversByCategory.length===0?(m(),z(`div`,He,`暂无服务器`)):(m(!0),z(D,{key:1},s(e.serversByCategory,a=>(m(),z(`div`,{key:a.category,class:`mb-4`},[A(`div`,Ue,[B(p,{size:`x-small`,variant:`text`,color:e.isCategoryAllSelected(a.category)?`primary`:`default`,onClick:e=>t.$emit(`toggle-category`,a.category)},{default:v(()=>[B(b,{size:`16`,class:`mr-1`},{default:v(()=>[E(I(e.isCategoryAllSelected(a.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),E(` `+I(a.category),1)]),_:2},1032,[`color`,`onClick`]),A(`span`,We,` (`+I(a.servers.filter(t=>e.selectedIds.has(t.id)).length)+`/`+I(a.servers.length)+`) `,1)]),B(i,{dense:``},{default:v(()=>[(m(!0),z(D,null,s(a.servers,i=>(m(),k(r,{key:i.id,cols:`6`,sm:`4`,md:`3`,lg:`2`},{default:v(()=>[B(K,{color:e.selectedIds.has(i.id)?`primary`:void 0,variant:e.selectedIds.has(i.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-3 cursor-pointer`,onClick:e=>t.$emit(`toggle-server`,i.id)},{default:v(()=>[A(`div`,Ge,[B(b,{color:F(ge)(i.is_online),size:`12`},{default:v(()=>[...n[3]||=[E(`mdi-circle`,-1)]]),_:1},8,[`color`]),A(`span`,Ke,I(i.name),1)]),A(`div`,qe,I(i.domain),1),A(`div`,{class:`text-caption text-medium-emphasis text-truncate`,title:i.target_path||`未配置目标路径`},` → `+I(i.target_path?.trim()||`未配置`),9,Je),e.pushStatus[i.id]?(m(),z(`div`,Ye,[B(V,{color:F(pe)(e.pushStatus[i.id]),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:v(()=>[E(I(e.pushStatus[i.id]),1)]),_:2},1032,[`color`])])):T(``,!0)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))]),_:1})]),_:1}))}}),Ze=re({...ce({falseIcon:`$radioOff`,trueIcon:`$radioOn`})},`VRadio`),$=H()({name:`VRadio`,props:Ze(),setup(e,{slots:t}){return L(()=>B(q,a(q.filterProps(e),{class:[`v-radio`,e.class],style:e.style,type:`radio`}),t)),{}}}),Qe=re({height:{type:[Number,String],default:`auto`},...h(de(),[`direction`]),...h(oe(),[`multiple`]),trueIcon:{type:O,default:`$radioOn`},falseIcon:{type:O,default:`$radioOff`},type:{type:String,default:`radio`}},`VRadioGroup`),$e=H()({name:`VRadioGroup`,inheritAttrs:!1,props:Qe(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let r=ae(),i=P(()=>e.id||`radio-group-${r}`),o=ne(e,`modelValue`),s=x();return L(()=>{let[r,c]=g(t),l=Y.filterProps(e),u=q.filterProps(e),d=n.label?n.label({label:e.label,props:{for:i.value}}):e.label;return B(Y,a({ref:s,class:[`v-radio-group`,e.class],style:e.style},r,l,{modelValue:o.value,"onUpdate:modelValue":e=>o.value=e,id:i.value}),{...n,default:({id:t,messagesId:r,isDisabled:i,isReadonly:s})=>A(D,null,[d&&B(ue,{id:t.value},{default:()=>[d]}),B(se,a(u,{id:t.value,"aria-describedby":r.value,defaultsTarget:`VRadio`,trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:i.value,readonly:s.value,"aria-labelledby":d?t.value:void 0,multiple:!1},c,{modelValue:o.value,"onUpdate:modelValue":e=>o.value=e}),n)])})}),te({},s)}}),et={class:`text-caption text-medium-emphasis mt-1`},tt=_({__name:`PushSyncModeCard`,props:{syncMode:{},syncModeDesc:{}},emits:[`update:syncMode`],setup(e,{emit:t}){let n=t;function r(e){e!=null&&n(`update:syncMode`,e)}return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:v(()=>[B(G,{class:`text-subtitle-1`},{default:v(()=>[...n[0]||=[E(`同步模式`,-1)]]),_:1}),B(W,null,{default:v(()=>[B($e,{"model-value":e.syncMode,inline:``,density:`compact`,"onUpdate:modelValue":r},{default:v(()=>[B($,{label:`增量同步`,value:`incremental`}),B($,{label:`全量同步`,value:`full`}),B($,{label:`校验和同步`,value:`checksum`})]),_:1},8,[`model-value`]),e.syncMode===`full`?(m(),k(u,{key:0,type:`warning`,density:`compact`,variant:`tonal`,class:`mt-2`},{default:v(()=>[...n[1]||=[E(` 全量同步会删除目标目录中不存在于源目录的文件 `,-1)]]),_:1})):T(``,!0),A(`div`,et,I(e.syncModeDesc),1)]),_:1})]),_:1}))}}),nt=_({__name:`PushToolbar`,props:{targetPath:{},submitting:{type:Boolean},pushing:{type:Boolean}},emits:[`update:targetPath`,`preview`,`push`],setup(e){return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4 pa-4`},{default:v(()=>[B(i,{align:`center`,dense:``},{default:v(()=>[B(r,{cols:`12`,sm:`8`},{default:v(()=>[B(X,{"model-value":e.targetPath,label:`目标路径`,placeholder:`/www/wwwroot`,hint:`留空则使用下方各服务器配置的路径;填写则统一覆盖所有选中服务器`,"persistent-hint":``,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-folder-marker`,clearable:``,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:targetPath`,e??``)},null,8,[`model-value`])]),_:1}),B(r,{cols:`12`,sm:`4`,class:`d-flex ga-2 justify-end`},{default:v(()=>[B(p,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-eye`,onClick:n[1]||=e=>t.$emit(`preview`)},{default:v(()=>[...n[3]||=[E(`预览`,-1)]]),_:1}),B(p,{size:`small`,color:`primary`,variant:`flat`,"prepend-icon":`mdi-upload`,loading:e.submitting,disabled:e.pushing,onClick:n[2]||=e=>t.$emit(`push`)},{default:v(()=>[...n[4]||=[E(` 推送 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1}))}}),rt=[`success`,`failed`,`cancelled`];function it(e){let t=x([]),n=x(!1),r=x(``),i=x(new Set),a=null;async function o(e=!1){e||(n.value=!0);try{t.value=(await S.get(`/servers/`,{per_page:200})).items||[]}catch{t.value=[]}finally{e||(n.value=!1)}}function s(e){c(),a=setInterval(()=>{o(!0)},3e4)}function c(){a&&=(clearInterval(a),null)}let l=P(()=>{if(!r.value)return t.value;let e=r.value.toLowerCase();return t.value.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.target_path||``).toLowerCase().includes(e))}),u=P(()=>{let e=l.value;return e.length>0&&e.every(e=>i.value.has(e.id))}),d=P(()=>{let e={};for(let t of l.value){let n=t.category||`未分类`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,servers:t}))});function f(e){let t=d.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>i.value.has(e.id))}function p(e){let t=d.value.find(t=>t.category===e);if(!t)return;let n=new Set(i.value),r=t.servers.every(e=>n.has(e.id));for(let e of t.servers)r?n.delete(e.id):n.add(e.id);i.value=n}function m(e){let t=new Set(i.value);t.has(e)?t.delete(e):t.add(e),i.value=t}function h(){let e=l.value,t=e.length>0&&e.every(e=>i.value.has(e.id)),n=new Set(i.value);for(let r of e)t?n.delete(r.id):n.add(r.id);i.value=n}return{servers:t,serversLoading:n,serverSearch:r,selectedIds:i,pushStatus:e,filteredServers:l,selectAll:u,serversByCategory:d,loadServers:o,startAutoRefresh:s,stopAutoRefresh:c,isCategoryAllSelected:f,toggleCategory:p,toggleServer:m,toggleAll:h}}function at(){return crypto.randomUUID().replace(/-/g,``).slice(0,12)}function ot(e,t,r){let i=n(),a=c(),o=x(!1),s=x(!1),l=x(!1),u=x(!1),d=x([]),f=x(``),p=x(null),m=[],h=P(()=>d.value.filter(e=>rt.includes(e.status)).length),g=P(()=>{let e=d.value.length;return e?Math.round(h.value/e*100):0});function _(){m.forEach(e=>clearTimeout(e)),m.length=0}function v(){let e=d.value.length;if(!e||!o.value||d.value.filter(e=>rt.includes(e.status)).lengthe.status===`failed`).length,n=d.value.filter(e=>e.status===`cancelled`).length,a=d.value.filter(e=>e.status===`success`).length;i(`推送完成:${a} 成功,${t} 失败${n?`,${n} 取消`:``}`)}function y(e){if(e.type!==`sync_progress`||e.batch_id!==f.value||e.server_id==null)return;let n=d.value.findIndex(t=>t.id===e.server_id);if(n===-1)return;let r=d.value[n],i=e.status;if(i===`running`)r.status=`running`,r.detail=`同步中...`;else if(i===`success`){r.status=`success`;let n=e.duration_seconds;r.detail=n==null?`完成`:`完成(${n}s)`,t.pushStatus.value[e.server_id]=`成功`}else i===`failed`?(r.status=`failed`,r.detail=Z(e.error_message)||`失败`,e.retry_job_id!=null&&(r.retryJobId=e.retry_job_id),t.pushStatus.value[e.server_id]=`失败`):i===`cancelled`&&(r.status=`cancelled`,r.detail=Z(e.error_message)||`已取消`,t.pushStatus.value[e.server_id]=`已取消`);v()}function b(e){let n=e.results;if(n){for(let[e,r]of Object.entries(n)){let n=Number(e);if(!Number.isFinite(n))continue;let i=d.value.findIndex(e=>e.id===n);if(i===-1)continue;let a=d.value[i],o=r.status;if(o===`success`){a.status=`success`;let e=r.duration_seconds;a.detail=e==null?`完成`:`完成(${e}s)`,t.pushStatus.value[n]=`成功`}else o===`failed`?(a.status=`failed`,a.detail=Z(r.error_message)||`失败`,r.retry_job_id!=null&&(a.retryJobId=r.retry_job_id),t.pushStatus.value[n]=`失败`):o===`cancelled`&&(a.status=`cancelled`,a.detail=Z(r.error_message)||`已取消`,t.pushStatus.value[n]=`已取消`)}v()}}function C(){if(!a.token)return Promise.reject(Error(`未登录,无法连接推送进度`));w();let e=Te(`/ws/sync`,{token:a.token}),n=new WebSocket(e);return new Promise((e,s)=>{n.onopen=()=>e(),n.onerror=()=>s(Error(`推送进度 WebSocket 连接失败`)),n.onmessage=e=>{if(e.data!==`pong`)try{let t=JSON.parse(e.data);if(t.type===`ping`){n.send(`pong`);return}y(t)}catch{}},n.onclose=e=>{if(p.value=null,e.code===4001||e.code===4401){a.forceLogout();return}e.code!==1e3&&o.value&&(d.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`failed`,e.detail=`连接中断`,t.pushStatus.value[e.id]=`失败`)}),o.value=!1,i(`推送进度连接中断,部分服务器状态未知`,`warning`),r())},p.value=n})}function w(){p.value&&=(p.value.close(1e3),null)}async function T(){if(f.value){l.value=!0;try{await S.post(`/sync/cancel`,{batch_id:f.value}),d.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`cancelled`,e.detail=`已取消`,t.pushStatus.value[e.id]=`已取消`)}),o.value=!1,w(),r(),i(`推送已取消`)}catch(e){i(e instanceof Error?e.message:`取消失败`,`error`)}finally{l.value=!1}}}async function E(){if(o.value||s.value)return;let n=[...t.selectedIds.value].map(e=>t.servers.value.find(t=>t.id===e)).filter(e=>e!=null);if(!e.validateForm(n.length,n))return;_(),w(),f.value=``,t.pushStatus.value={};let a=n.map(e=>e.id);d.value=a.map(e=>({id:e,name:t.servers.value.find(t=>t.id===e)?.name||`#${e}`,status:`pending`})),o.value=!0,s.value=!0,f.value=at();try{await C();let t=await S.post(`/sync/files`,{source_path:e.effectiveSourcePath(),target_path:e.effectiveTargetPath(),server_ids:a,sync_mode:e.syncMode.value,batch_id:f.value});t.batch_id&&t.batch_id!==f.value&&(f.value=t.batch_id),t.accepted?ee(`推送已提交(${a.length} 台),请在下方查看进度`):b(t)}catch(e){w();let t=e instanceof Error?e.message:`推送请求失败`;d.value.forEach(e=>{e.status=`failed`,e.detail=t}),o.value=!1,i(t,`error`),r();return}finally{s.value=!1}let c=setTimeout(()=>{o.value&&(d.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`failed`,e.detail=`等待超时`,t.pushStatus.value[e.id]=`失败`)}),o.value=!1,w(),r(),i(`推送超时,${h.value}/${d.value.length} 台已有结果`,`warning`))},3e5);m.push(c)}let D=P(()=>d.value.filter(e=>e.status===`failed`&&e.retryJobId!=null).length);async function O(){let e=d.value.filter(e=>e.status===`failed`&&e.retryJobId!=null).map(e=>e.retryJobId);if(!e.length){i(`没有可重试的失败任务(重试任务可能尚未创建)`,`warning`);return}u.value=!0;let t=0,n=0;try{for(let r of e)try{await S.post(`/retries/${r}/retry`),t++}catch{n++}i(n>0?`已提交 ${t} 个重试,${n} 个提交失败`:`已提交 ${t} 个失败服务器的重试任务`)}finally{u.value=!1}}function k(){w(),_()}return{pushing:o,submitting:s,cancelling:l,retryingAll:u,wsProgressItems:d,pushBatchId:f,doneCount:h,totalProgress:g,failedRetryCount:D,doPush:E,cancelPush:T,retryAllFailed:O,dispose:k}}function st(e,t){let n=x(!1),r=x([]),i=x(!1),a=x(0),o=x(0),s=P(()=>a.value>30),c=P(()=>r.value.filter(e=>e.error).length);async function l(t,n){try{let r=await S.post(`/sync/preview`,{source_path:e.effectiveSourcePath(),target_path:e.effectiveTargetPath(),server_id:t,sync_mode:e.syncMode.value});return r.error?{server_id:t,server_name:n,error:r.error}:{server_id:t,server_name:r.server_name||n,stats:r.stats}}catch(e){return{server_id:t,server_name:n,error:e instanceof Error?e.message:`预览失败`}}}async function u(){let s=[...t.selectedIds.value].map(e=>t.servers.value.find(t=>t.id===e)).filter(e=>e!=null);if(!e.validateForm(s.length,s))return;let c=s.map(e=>e.id);a.value=c.length,o.value=0,n.value=!0,i.value=!0,r.value=[];let u=c.map(e=>({id:e,name:t.servers.value.find(t=>t.id===e)?.name||`#${e}`}));for(let e=0;el(e.id,e.name)));r.value=[...r.value,...n],o.value=r.value.length}i.value=!1}function d(){n.value=!1}function f(e){n.value=!1,e()}return{showPreview:n,previewResults:r,previewLoading:i,previewTotal:a,previewDone:o,previewLargeBatch:s,previewWarnThreshold:30,previewErrorCount:c,doPreview:u,closePreview:d,confirmAndPush:f}}var ct=[{label:`成功`,value:`success`},{label:`失败`,value:`failed`},{label:`进行中`,value:`running`},{label:`已取消`,value:`cancelled`}],lt=[{label:`增量`,value:`incremental`},{label:`全量`,value:`full`},{label:`校验和`,value:`checksum`}],ut=[{title:`时间`,key:`started_at`,width:170},{title:`服务器`,key:`server_name`,width:120},{title:`状态`,key:`status`,width:88},{title:`模式`,key:`sync_mode`,width:88},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`权限`,key:`push_permission`,width:140},{title:`错误`,key:`error_message`,width:200},{title:`操作`,key:`actions`,width:88,sortable:!1}];function dt(e,t){let r=n(),i=x([]),a=x(0),o=x(!1),s=x(1),c=x(null),l=x(null),u=x(null),d=x(!1),f=x(!1),p=x(!1),m=x(null),h=x(null),g=P(()=>t.servers.value.map(e=>({title:e.name,value:e.id})));function _(){s.value=1,v()}async function v(e=!1){e||(o.value=!0);try{let e={page:s.value,per_page:15};c.value&&(e.status=c.value),l.value&&(e.sync_mode=l.value),u.value!=null&&(e.server_id=u.value);let t=await S.get(`/servers/logs`,e);i.value=t.items||[],a.value=t.total||0}catch{i.value=[],a.value=0}finally{e||(o.value=!1)}}async function y(){d.value=!0;try{let e=(await S.post(`/sync/reconcile-stale-logs`,{max_age_minutes:15})).reconciled??0;r(e>0?`已订正 ${e} 条卡住的推送记录`:`没有需要订正的记录`),await v()}catch(e){r(e instanceof Error?e.message:`订正失败`,`error`)}finally{d.value=!1}}async function b(t){h.value=t,m.value=null,f.value=!0,p.value=!0;try{m.value=await S.post(`/sync/diagnose`,{server_id:t.server_id,target_path:t.target_path||e.targetPath.value||void 0})}catch(e){r(e instanceof Error?e.message:`诊断失败`,`error`),f.value=!1}finally{p.value=!1}}function C(){f.value=!1}return{logs:i,logTotal:a,logLoading:o,logPage:s,logStatusFilter:c,logSyncModeFilter:l,logServerFilter:u,reconcilingLogs:d,logStatusOptions:ct,logSyncModeOptions:lt,logHeaders:ut,logServerOptions:g,showDiagnose:f,diagnoseLoading:p,diagnoseResult:m,diagnoseTarget:h,onLogFilterChange:_,loadLogs:v,reconcileStaleLogs:y,openDiagnose:b,closeDiagnose:C}}function ft(){let e=Se(),t=we(e.uploadedSource),n=it(x({})),r=dt(e,n),i=ot(e,n,()=>r.loadLogs()),a=st(e,n);function o(){a.confirmAndPush(()=>i.doPush())}let s=!1;function c(e=!1){e?(n.loadServers(!0),r.loadLogs(!0)):(n.loadServers(),r.loadLogs())}return l(()=>{c(!1),n.startAutoRefresh(()=>i.pushing.value),s=!0}),f(()=>{s&&c(!0)}),d(()=>{i.dispose(),n.stopAutoRefresh()}),{form:C(e),staging:C(t),servers:C(n),progress:C(i),preview:C(a),logs:C(r),onConfirmAndPush:o}}var pt=_({name:`PushPage`,__name:`PushPage`,setup(e){let{form:n,staging:r,servers:i,progress:a,preview:o,logs:s,onConfirmAndPush:c}=ft();return(e,l)=>(m(),k(t,{fluid:``,class:`pa-6`},{default:v(()=>[B(Ce,{"uploaded-source":F(n).uploadedSource,"validated-source":F(n).validatedSource,"source-path":F(n).sourcePath,"onUpdate:sourcePath":l[0]||=e=>F(n).sourcePath=e,"source-path-validating":F(n).sourcePathValidating,"is-dragging":F(n).isDragging,"source-uploading":F(n).sourceUploading,onDragover:l[1]||=e=>F(n).isDragging=!0,onDragleave:l[2]||=e=>F(n).isDragging=!1,onDrop:F(n).handleFileDrop,onFileSelect:F(n).handleFileSelect,onZipExtractSelect:F(n).handleZipExtractSelect,onClear:F(n).clearUploadedSource,onClearValidated:F(n).clearValidatedSource,onValidate:F(n).validateSourcePath},null,8,[`uploaded-source`,`validated-source`,`source-path`,`source-path-validating`,`is-dragging`,`source-uploading`,`onDrop`,`onFileSelect`,`onZipExtractSelect`,`onClear`,`onClearValidated`,`onValidate`]),F(n).uploadedSource?(m(),k(be,{key:0,"root-path":F(n).uploadedSource.sourcePath,"relative-path":F(r).relativePath,entries:F(r).entries,loading:F(r).loading,"selected-count":F(r).selectedCount,"all-selected":F(r).allSelected,"some-selected":F(r).someSelected,"is-selected":F(r).isSelected,"rename-open":F(r).renameOpen,"onUpdate:renameOpen":l[3]||=e=>F(r).renameOpen=e,"rename-value":F(r).renameValue,"onUpdate:renameValue":l[4]||=e=>F(r).renameValue=e,"rename-loading":F(r).renameLoading,"delete-open":F(r).deleteOpen,"onUpdate:deleteOpen":l[5]||=e=>F(r).deleteOpen=e,"delete-targets":F(r).deleteTargets,"delete-loading":F(r).deleteLoading,onRefresh:l[6]||=e=>F(r).refreshCurrent(),onGoRoot:F(r).goRoot,onOpenDir:F(r).openDirectory,onPreview:F(r).previewFile,onRename:F(r).openRename,onDelete:F(r).openDelete,onBatchDelete:F(r).openBatchDelete,onToggleSelect:F(r).toggleSelect,onToggleSelectAll:F(r).toggleSelectAll,onConfirmRename:F(r).confirmRename,onConfirmDelete:F(r).confirmDelete},null,8,[`root-path`,`relative-path`,`entries`,`loading`,`selected-count`,`all-selected`,`some-selected`,`is-selected`,`rename-open`,`rename-value`,`rename-loading`,`delete-open`,`delete-targets`,`delete-loading`,`onGoRoot`,`onOpenDir`,`onPreview`,`onRename`,`onDelete`,`onBatchDelete`,`onToggleSelect`,`onToggleSelectAll`,`onConfirmRename`,`onConfirmDelete`])):T(``,!0),B(xe,{modelValue:F(r).previewOpen,"onUpdate:modelValue":l[7]||=e=>F(r).previewOpen=e,loading:F(r).previewLoading,result:F(r).previewResult},null,8,[`modelValue`,`loading`,`result`]),B(nt,{"target-path":F(n).targetPath,"onUpdate:targetPath":l[8]||=e=>F(n).targetPath=e,submitting:F(a).submitting,pushing:F(a).pushing,onPreview:F(o).doPreview,onPush:F(a).doPush},null,8,[`target-path`,`submitting`,`pushing`,`onPreview`,`onPush`]),B(Xe,{"select-all":F(i).selectAll,"server-search":F(i).serverSearch,"onUpdate:serverSearch":l[9]||=e=>F(i).serverSearch=e,"servers-loading":F(i).serversLoading,"servers-by-category":F(i).serversByCategory,"selected-ids":F(i).selectedIds,"push-status":F(i).pushStatus,"is-category-all-selected":F(i).isCategoryAllSelected,onToggleAll:F(i).toggleAll,onRefresh:F(i).loadServers,onToggleCategory:F(i).toggleCategory,onToggleServer:F(i).toggleServer},null,8,[`select-all`,`server-search`,`servers-loading`,`servers-by-category`,`selected-ids`,`push-status`,`is-category-all-selected`,`onToggleAll`,`onRefresh`,`onToggleCategory`,`onToggleServer`]),B(tt,{"sync-mode":F(n).syncMode,"onUpdate:syncMode":l[10]||=e=>F(n).syncMode=e,"sync-mode-desc":F(n).syncModeDesc},null,8,[`sync-mode`,`sync-mode-desc`]),B(Ve,{items:F(a).wsProgressItems,"batch-id":F(a).pushBatchId,pushing:F(a).pushing,cancelling:F(a).cancelling,"retrying-all":F(a).retryingAll,"failed-retry-count":F(a).failedRetryCount,"done-count":F(a).doneCount,"total-progress":F(a).totalProgress,onCancel:F(a).cancelPush,onRetryAll:F(a).retryAllFailed},null,8,[`items`,`batch-id`,`pushing`,`cancelling`,`retrying-all`,`failed-retry-count`,`done-count`,`total-progress`,`onCancel`,`onRetryAll`]),B(Re,{modelValue:F(o).showPreview,"onUpdate:modelValue":l[11]||=e=>F(o).showPreview=e,loading:F(o).previewLoading,results:F(o).previewResults,"selected-count":F(i).selectedIds.size,"preview-done":F(o).previewDone,"preview-total":F(o).previewTotal,"large-batch":F(o).previewLargeBatch,"warn-threshold":F(o).previewWarnThreshold,"error-count":F(o).previewErrorCount,"sync-mode":F(n).syncMode,onConfirmPush:F(c)},null,8,[`modelValue`,`loading`,`results`,`selected-count`,`preview-done`,`preview-total`,`large-batch`,`warn-threshold`,`error-count`,`sync-mode`,`onConfirmPush`]),B(Ee,{modelValue:F(s).showDiagnose,"onUpdate:modelValue":l[12]||=e=>F(s).showDiagnose=e,loading:F(s).diagnoseLoading,result:F(s).diagnoseResult,"target-name":F(s).diagnoseTarget?.server_name??void 0},null,8,[`modelValue`,`loading`,`result`,`target-name`]),B(Me,{items:F(s).logs,headers:F(s).logHeaders,total:F(s).logTotal,loading:F(s).logLoading,page:F(s).logPage,"onUpdate:page":l[13]||=e=>F(s).logPage=e,"status-filter":F(s).logStatusFilter,"onUpdate:statusFilter":l[14]||=e=>F(s).logStatusFilter=e,"sync-mode-filter":F(s).logSyncModeFilter,"onUpdate:syncModeFilter":l[15]||=e=>F(s).logSyncModeFilter=e,"server-filter":F(s).logServerFilter,"onUpdate:serverFilter":l[16]||=e=>F(s).logServerFilter=e,"status-options":F(s).logStatusOptions,"sync-mode-options":F(s).logSyncModeOptions,"server-options":F(s).logServerOptions,reconciling:F(s).reconcilingLogs,onFilterChange:F(s).onLogFilterChange,onPageChange:F(s).loadLogs,onReconcile:F(s).reconcileStaleLogs,onDiagnose:F(s).openDiagnose},null,8,[`items`,`headers`,`total`,`loading`,`page`,`status-filter`,`sync-mode-filter`,`server-filter`,`status-options`,`sync-mode-options`,`server-options`,`reconciling`,`onFilterChange`,`onPageChange`,`onReconcile`,`onDiagnose`])]),_:1}))}});export{pt as default}; \ No newline at end of file diff --git a/web/app/assets/PushPage-In5b95X5.js b/web/app/assets/PushPage-In5b95X5.js deleted file mode 100644 index b9711a97..00000000 --- a/web/app/assets/PushPage-In5b95X5.js +++ /dev/null @@ -1 +0,0 @@ -import{a as e}from"./VDataTable-JI1AS0YS.js";import{n as t,t as n}from"./useSnackbar-DaoOJlMz.js";import{n as r,t as i}from"./VRow-Wg9QrEcV.js";import{Er as a,Ht as o,Ir as s,Kt as c,Mr as l,N as u,Nr as d,Or as f,P as p,Pr as m,Qn as h,Rn as g,Sr as _,Ur as v,W as y,X as b,Xr as x,Xt as S,Yr as C,_ as w,_r as T,br as E,bt as ee,dr as D,fn as O,gr as k,hr as A,ii as j,l as M,m as N,mr as P,ni as F,oi as I,pn as L,r as te,un as ne,v as R,vr as z,wn as re,xr as B,y as V,yn as H,yr as ie,zr as ae}from"./index-DZEQidkT.js";import{a as U,n as W,r as G,t as K}from"./VCard-DiTj681b.js";import{g as oe,h as se,m as ce,p as q,t as J}from"./VSelect-CzNpj4qJ.js";import{t as le}from"./VCheckbox-5Fmz8kLZ.js";import{g as ue,l as Y,t as X,u as de}from"./VTextField-CvZimSXQ.js";import{t as fe}from"./VDataTableServer-C1V2iC3x.js";import{a as pe,c as Z,i as me,n as he,o as ge,r as _e,s as ve,t as ye}from"./labels-C-A2d08W.js";import{t as Q}from"./VDialog-B2Te8j14.js";import{a as be,i as xe,n as Se,r as Ce,t as we}from"./usePushStaging-whqVGN6i.js";import{t as Te}from"./wsUrl-CqmqkTTE.js";var Ee=_({__name:`PushDiagnoseDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean},result:{},targetName:{}},emits:[`update:modelValue`],setup(e){return(t,n)=>(m(),k(Q,{"model-value":e.modelValue,"max-width":`520`,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{default:v(()=>[B(K,{border:``},{default:v(()=>[B(G,null,{default:v(()=>[E(`推送失败诊断 — `+I(e.targetName),1)]),_:1}),B(W,null,{default:v(()=>[e.loading?(m(),k(y,{key:0,indeterminate:``,class:`mb-3`})):e.result?(m(),z(D,{key:1},[B(M,{density:`compact`},{default:v(()=>[B(N,{title:`SSH 连接`},{append:v(()=>[B(b,{color:e.result.ssh_ok?`success`:`error`},{default:v(()=>[E(I(e.result.ssh_ok?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1}),e.result.disk_avail?(m(),k(N,{key:0,title:`磁盘可用: ${e.result.disk_avail}`},null,8,[`title`])):T(``,!0),e.result.disk_used_pct==null?T(``,!0):(m(),k(N,{key:1,title:`磁盘使用率: ${e.result.disk_used_pct}%`},null,8,[`title`])),B(N,{title:`目标路径存在`},{append:v(()=>[B(b,{color:e.result.path_exists?`success`:`error`},{default:v(()=>[E(I(e.result.path_exists?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1}),e.result.path_perms?(m(),k(N,{key:2,subtitle:e.result.path_perms,title:`权限`},null,8,[`subtitle`])):T(``,!0),B(N,{title:`目标路径可写`},{append:v(()=>[B(b,{color:e.result.path_writable?`success`:`error`},{default:v(()=>[E(I(e.result.path_writable?`mdi-check`:`mdi-close`),1)]),_:1},8,[`color`])]),_:1})]),_:1}),(m(!0),z(D,null,s(e.result.errors,(e,t)=>(m(),k(u,{key:t,type:`error`,density:`compact`,variant:`tonal`,class:`mt-2`},{default:v(()=>[E(I(F(Z)(e)),1)]),_:2},1024))),128))],64)):T(``,!0)]),_:1}),B(U,null,{default:v(()=>[B(w),B(p,{variant:`text`,onClick:n[0]||=e=>t.$emit(`update:modelValue`,!1)},{default:v(()=>[...n[2]||=[E(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),De={class:`text-caption`},Oe={class:`text-caption text-medium-emphasis`},ke=[`title`],Ae=[`title`],je={key:1,class:`text-caption text-medium-emphasis`},Me=_({__name:`PushHistoryTable`,props:{items:{},headers:{},total:{},loading:{type:Boolean},page:{},statusFilter:{},syncModeFilter:{},serverFilter:{},statusOptions:{},syncModeOptions:{},serverOptions:{},reconciling:{type:Boolean}},emits:[`update:page`,`update:statusFilter`,`update:syncModeFilter`,`update:serverFilter`,`filter-change`,`page-change`,`reconcile`,`diagnose`],setup(e){return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`},{default:v(()=>[B(G,{class:`d-flex flex-wrap align-center ga-2`},{default:v(()=>[n[6]||=A(`span`,null,`推送历史`,-1),B(w),B(J,{"model-value":e.statusFilter,items:e.statusOptions,"item-title":`label`,"item-value":`value`,label:`状态`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`},"onUpdate:modelValue":n[0]||=e=>{t.$emit(`update:statusFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),B(J,{"model-value":e.syncModeFilter,items:e.syncModeOptions,"item-title":`label`,"item-value":`value`,label:`模式`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`120px`},"onUpdate:modelValue":n[1]||=e=>{t.$emit(`update:syncModeFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),B(J,{"model-value":e.serverFilter,items:e.serverOptions,"item-title":`title`,"item-value":`value`,label:`服务器`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``,style:{"max-width":`180px`},"onUpdate:modelValue":n[2]||=e=>{t.$emit(`update:serverFilter`,e),t.$emit(`filter-change`)}},null,8,[`model-value`,`items`]),B(p,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-wrench`,loading:e.reconciling,onClick:n[3]||=e=>t.$emit(`reconcile`)},{default:v(()=>[...n[5]||=[E(` 修复卡住记录 `,-1)]]),_:1},8,[`loading`])]),_:1}),B(fe,{items:e.items,headers:e.headers,"items-length":e.total,loading:e.loading,page:e.page,"items-per-page":15,hover:``,density:`comfortable`,"onUpdate:page":n[4]||=e=>{t.$emit(`update:page`,e),t.$emit(`page-change`)}},{"item.status":v(({item:e})=>[B(V,{color:F(_e)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:v(()=>[E(I(F(me)(e.status)),1)]),_:2},1032,[`color`])]),"item.sync_mode":v(({item:e})=>[A(`span`,De,I(F(ve)(e.sync_mode)),1)]),"item.started_at":v(({item:e})=>[A(`span`,Oe,I(F(o)(e.started_at)),1)]),"item.push_permission":v(({item:e})=>[A(`span`,{class:j([`text-caption`,e.push_permission?``:`text-medium-emphasis`]),title:e.push_permission||`本次推送未配置 rsync 属主/权限修正`},I(F(ye)(e.push_permission)),11,ke)]),"item.error_message":v(({item:e})=>[e.error_message?(m(),z(`span`,{key:0,class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`200px`},title:F(Z)(e.error_message)},I(F(Z)(e.error_message)),9,Ae)):(m(),z(`span`,je,`—`))]),"item.actions":v(({item:e})=>[e.status===`failed`?(m(),k(p,{key:0,size:`x-small`,variant:`tonal`,"prepend-icon":`mdi-stethoscope`,onClick:n=>t.$emit(`diagnose`,e)},{default:v(()=>[...n[7]||=[E(` 诊断 `,-1)]]),_:1},8,[`onClick`])):T(``,!0)]),"no-data":v(()=>[...n[8]||=[A(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}))}}),Ne={class:`text-caption text-medium-emphasis`},Pe={key:2,class:`mb-2 text-body-2`},Fe={key:0,class:`text-error text-caption`},Ie={key:1,class:`text-warning text-caption`},Le={key:2,class:`text-caption text-medium-emphasis`},Re=_({__name:`PushPreviewDialog`,props:{modelValue:{type:Boolean},loading:{type:Boolean},results:{},selectedCount:{},previewDone:{},previewTotal:{},largeBatch:{type:Boolean},warnThreshold:{},errorCount:{},syncMode:{}},emits:[`update:modelValue`,`confirm-push`],setup(t){return(n,r)=>(m(),k(Q,{"model-value":t.modelValue,"max-width":`800`,"onUpdate:modelValue":r[2]||=e=>n.$emit(`update:modelValue`,e)},{default:v(()=>[B(K,{border:``},{default:v(()=>[B(G,{class:`d-flex align-center`},{default:v(()=>[r[3]||=E(` 推送预览 `,-1),B(w),A(`span`,Ne,[t.loading?(m(),z(D,{key:0},[E(I(t.previewDone)+` / `+I(t.previewTotal)+` 台`,1)],64)):(m(),z(D,{key:1},[E(I(t.results.length)+` 台`,1)],64))])]),_:1}),B(W,null,{default:v(()=>[t.loading?(m(),k(y,{key:0,"model-value":t.previewTotal?Math.round(t.previewDone/t.previewTotal*100):0,class:`mb-3`},null,8,[`model-value`])):T(``,!0),t.largeBatch&&!t.loading?(m(),k(u,{key:1,type:`info`,density:`compact`,variant:`tonal`,class:`mb-2`},{default:v(()=>[E(` 已预览 `+I(t.results.length)+` 台服务器(超过 `+I(t.warnThreshold)+` 台时推送耗时可能较长) `,1)]),_:1})):T(``,!0),t.loading?T(``,!0):(m(),z(`div`,Pe,[r[4]||=E(` 将推送到 `,-1),A(`strong`,null,I(t.selectedCount),1),r[5]||=E(` 台服务器 `,-1)])),t.results.length?(m(),k(e,{key:3,density:`compact`},{default:v(()=>[r[6]||=A(`thead`,null,[A(`tr`,null,[A(`th`,null,`服务器`),A(`th`,null,`文件数`),A(`th`,null,`预计传输`),A(`th`,null,`大小`),A(`th`,null,`备注`)])],-1),A(`tbody`,null,[(m(!0),z(D,null,s(t.results,e=>(m(),z(`tr`,{key:e.server_id},[A(`td`,null,I(e.server_name),1),A(`td`,null,I(e.stats?.files_total??`—`),1),A(`td`,null,I(e.stats?.files_transferred??`—`),1),A(`td`,null,I(e.stats?F(he)(e.stats.transfer_size_bytes??0):`—`),1),A(`td`,null,[e.error?(m(),z(`span`,Fe,I(F(Z)(e.error)),1)):t.syncMode===`full`&&(e.stats?.files_deleted??0)>0?(m(),z(`span`,Ie,`将删除 `+I(e.stats?.files_deleted)+` 个远端文件`,1)):(m(),z(`span`,Le,`—`))])]))),128))])]),_:1})):T(``,!0),t.errorCount>0&&!t.loading?(m(),k(u,{key:4,type:`warning`,density:`compact`,variant:`tonal`,class:`mt-3`},{default:v(()=>[E(I(t.errorCount)+` 台预览失败,推送时这些服务器可能仍会失败 `,1)]),_:1})):T(``,!0)]),_:1}),B(U,null,{default:v(()=>[B(w),B(p,{variant:`text`,onClick:r[0]||=e=>n.$emit(`update:modelValue`,!1)},{default:v(()=>[...r[7]||=[E(`关闭`,-1)]]),_:1}),B(p,{color:`primary`,variant:`flat`,disabled:t.loading,onClick:r[1]||=e=>n.$emit(`confirm-push`)},{default:v(()=>[...r[8]||=[E(`确认推送`,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),ze={key:1,class:`text-caption text-medium-emphasis mb-2`},Be={key:0},Ve=_({__name:`PushProgressList`,props:{items:{},batchId:{},pushing:{type:Boolean},cancelling:{type:Boolean},retryingAll:{type:Boolean},failedRetryCount:{},doneCount:{},totalProgress:{}},emits:[`cancel`,`retry-all`],setup(e){return(t,n)=>e.items.length>0?(m(),k(K,{key:0,class:`mb-4`,elevation:`0`,border:``,rounded:`lg`},{default:v(()=>[B(G,{class:`d-flex align-center text-subtitle-1`},{default:v(()=>[n[3]||=E(` 推送进度 `,-1),B(w),e.failedRetryCount>0&&!e.pushing?(m(),k(p,{key:0,size:`small`,variant:`tonal`,color:`warning`,class:`mr-2`,"prepend-icon":`mdi-refresh`,loading:e.retryingAll,onClick:n[0]||=e=>t.$emit(`retry-all`)},{default:v(()=>[E(` 重试全部失败 (`+I(e.failedRetryCount)+`) `,1)]),_:1},8,[`loading`])):T(``,!0),e.batchId&&e.items.some(e=>e.status===`running`||e.status===`pending`)&&e.pushing?(m(),k(p,{key:1,size:`small`,variant:`tonal`,color:`error`,class:`mr-2`,loading:e.cancelling,onClick:n[1]||=e=>t.$emit(`cancel`)},{default:v(()=>[...n[2]||=[E(` 取消推送 `,-1)]]),_:1},8,[`loading`])):T(``,!0),B(V,{size:`small`,variant:`tonal`,color:`primary`},{default:v(()=>[E(I(e.items.filter(e=>e.status===`success`).length)+`/`+I(e.items.length)+` 完成 `,1)]),_:1})]),_:1}),B(R),B(W,null,{default:v(()=>[e.pushing||e.totalProgress>0?(m(),k(y,{key:0,"model-value":e.totalProgress,color:`primary`,height:`8`,rounded:``,class:`mb-3`},null,8,[`model-value`])):T(``,!0),e.items.length?(m(),z(`div`,ze,[E(I(e.doneCount)+` / `+I(e.items.length)+` 台已结束 `,1),e.items.some(e=>e.status===`failed`)?(m(),z(`span`,Be,` · `+I(e.items.filter(e=>e.status===`failed`).length)+` 失败 `,1)):T(``,!0)])):T(``,!0),B(M,{density:`compact`},{default:v(()=>[(m(!0),z(D,null,s(e.items,e=>(m(),k(N,{key:e.id,title:e.name},ie({append:v(()=>[e.status===`pending`?(m(),k(b,{key:0,color:`grey`},{default:v(()=>[...n[4]||=[E(`mdi-clock-outline`,-1)]]),_:1})):e.status===`running`?(m(),k(b,{key:1,color:`blue`,class:`mdi-spin`},{default:v(()=>[...n[5]||=[E(`mdi-loading`,-1)]]),_:1})):e.status===`success`?(m(),k(b,{key:2,color:`green`},{default:v(()=>[...n[6]||=[E(`mdi-check-circle`,-1)]]),_:1})):e.status===`cancelled`?(m(),k(b,{key:3,color:`grey`},{default:v(()=>[...n[7]||=[E(`mdi-cancel`,-1)]]),_:1})):(m(),k(b,{key:4,color:`red`},{default:v(()=>[...n[8]||=[E(`mdi-alert-circle`,-1)]]),_:1}))]),_:2},[e.detail?{name:`subtitle`,fn:v(()=>[A(`span`,{class:j(e.status===`failed`?`text-error`:`text-medium-emphasis`)},I(e.detail),3)]),key:`0`}:void 0]),1032,[`title`]))),128))]),_:1})]),_:1})]),_:1})):T(``,!0)}}),He={key:0,class:`text-center text-medium-emphasis py-6`},Ue={class:`d-flex align-center px-2 mb-2`},We={class:`text-caption text-medium-emphasis ml-1`},Ge={class:`d-flex align-center ga-2`},Ke={class:`text-body-2 font-weight-medium text-truncate`},qe={class:`text-caption text-medium-emphasis text-truncate`},Je=[`title`],Ye={key:0,class:`text-caption mt-1`},Xe=_({__name:`PushServerGrid`,props:{selectAll:{type:Boolean},serverSearch:{},serversLoading:{type:Boolean},serversByCategory:{},selectedIds:{},pushStatus:{},isCategoryAllSelected:{type:Function}},emits:[`update:serverSearch`,`toggle-all`,`refresh`,`toggle-category`,`toggle-server`],setup(e){return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:v(()=>[B(G,{class:`d-flex align-center`},{default:v(()=>[B(le,{"model-value":e.selectAll,label:`全选`,density:`compact`,"hide-details":``,class:`mr-4`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`toggle-all`)},null,8,[`model-value`]),B(X,{"model-value":e.serverSearch,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器...`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`240px`},"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:serverSearch`,e)},null,8,[`model-value`]),B(p,{icon:`mdi-refresh`,variant:`text`,size:`small`,loading:e.serversLoading,title:`刷新在线状态`,onClick:n[2]||=e=>t.$emit(`refresh`)},null,8,[`loading`])]),_:1}),B(R),B(W,{class:`pa-2`},{default:v(()=>[e.serversByCategory.length===0?(m(),z(`div`,He,`暂无服务器`)):(m(!0),z(D,{key:1},s(e.serversByCategory,a=>(m(),z(`div`,{key:a.category,class:`mb-4`},[A(`div`,Ue,[B(p,{size:`x-small`,variant:`text`,color:e.isCategoryAllSelected(a.category)?`primary`:`default`,onClick:e=>t.$emit(`toggle-category`,a.category)},{default:v(()=>[B(b,{size:`16`,class:`mr-1`},{default:v(()=>[E(I(e.isCategoryAllSelected(a.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),E(` `+I(a.category),1)]),_:2},1032,[`color`,`onClick`]),A(`span`,We,` (`+I(a.servers.filter(t=>e.selectedIds.has(t.id)).length)+`/`+I(a.servers.length)+`) `,1)]),B(i,{dense:``},{default:v(()=>[(m(!0),z(D,null,s(a.servers,i=>(m(),k(r,{key:i.id,cols:`6`,sm:`4`,md:`3`,lg:`2`},{default:v(()=>[B(K,{color:e.selectedIds.has(i.id)?`primary`:void 0,variant:e.selectedIds.has(i.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-3 cursor-pointer`,onClick:e=>t.$emit(`toggle-server`,i.id)},{default:v(()=>[A(`div`,Ge,[B(b,{color:F(ge)(i.is_online),size:`12`},{default:v(()=>[...n[3]||=[E(`mdi-circle`,-1)]]),_:1},8,[`color`]),A(`span`,Ke,I(i.name),1)]),A(`div`,qe,I(i.domain),1),A(`div`,{class:`text-caption text-medium-emphasis text-truncate`,title:i.target_path||`未配置目标路径`},` → `+I(i.target_path?.trim()||`未配置`),9,Je),e.pushStatus[i.id]?(m(),z(`div`,Ye,[B(V,{color:F(pe)(e.pushStatus[i.id]),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:v(()=>[E(I(e.pushStatus[i.id]),1)]),_:2},1032,[`color`])])):T(``,!0)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))]),_:1})]),_:1}))}}),Ze=re({...ce({falseIcon:`$radioOff`,trueIcon:`$radioOn`})},`VRadio`),$=H()({name:`VRadio`,props:Ze(),setup(e,{slots:t}){return L(()=>B(q,a(q.filterProps(e),{class:[`v-radio`,e.class],style:e.style,type:`radio`}),t)),{}}}),Qe=re({height:{type:[Number,String],default:`auto`},...h(de(),[`direction`]),...h(oe(),[`multiple`]),trueIcon:{type:O,default:`$radioOn`},falseIcon:{type:O,default:`$radioOff`},type:{type:String,default:`radio`}},`VRadioGroup`),$e=H()({name:`VRadioGroup`,inheritAttrs:!1,props:Qe(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:t,slots:n}){let r=ae(),i=P(()=>e.id||`radio-group-${r}`),o=ne(e,`modelValue`),s=x();return L(()=>{let[r,c]=g(t),l=Y.filterProps(e),u=q.filterProps(e),d=n.label?n.label({label:e.label,props:{for:i.value}}):e.label;return B(Y,a({ref:s,class:[`v-radio-group`,e.class],style:e.style},r,l,{modelValue:o.value,"onUpdate:modelValue":e=>o.value=e,id:i.value}),{...n,default:({id:t,messagesId:r,isDisabled:i,isReadonly:s})=>A(D,null,[d&&B(ue,{id:t.value},{default:()=>[d]}),B(se,a(u,{id:t.value,"aria-describedby":r.value,defaultsTarget:`VRadio`,trueIcon:e.trueIcon,falseIcon:e.falseIcon,type:e.type,disabled:i.value,readonly:s.value,"aria-labelledby":d?t.value:void 0,multiple:!1},c,{modelValue:o.value,"onUpdate:modelValue":e=>o.value=e}),n)])})}),te({},s)}}),et={class:`text-caption text-medium-emphasis mt-1`},tt=_({__name:`PushSyncModeCard`,props:{syncMode:{},syncModeDesc:{}},emits:[`update:syncMode`],setup(e,{emit:t}){let n=t;function r(e){e!=null&&n(`update:syncMode`,e)}return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:v(()=>[B(G,{class:`text-subtitle-1`},{default:v(()=>[...n[0]||=[E(`同步模式`,-1)]]),_:1}),B(W,null,{default:v(()=>[B($e,{"model-value":e.syncMode,inline:``,density:`compact`,"onUpdate:modelValue":r},{default:v(()=>[B($,{label:`增量同步`,value:`incremental`}),B($,{label:`全量同步`,value:`full`}),B($,{label:`校验和同步`,value:`checksum`})]),_:1},8,[`model-value`]),e.syncMode===`full`?(m(),k(u,{key:0,type:`warning`,density:`compact`,variant:`tonal`,class:`mt-2`},{default:v(()=>[...n[1]||=[E(` 全量同步会删除目标目录中不存在于源目录的文件 `,-1)]]),_:1})):T(``,!0),A(`div`,et,I(e.syncModeDesc),1)]),_:1})]),_:1}))}}),nt=_({__name:`PushToolbar`,props:{targetPath:{},submitting:{type:Boolean},pushing:{type:Boolean}},emits:[`update:targetPath`,`preview`,`push`],setup(e){return(t,n)=>(m(),k(K,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4 pa-4`},{default:v(()=>[B(i,{align:`center`,dense:``},{default:v(()=>[B(r,{cols:`12`,sm:`8`},{default:v(()=>[B(X,{"model-value":e.targetPath,label:`目标路径`,placeholder:`/www/wwwroot`,hint:`留空则使用下方各服务器配置的路径;填写则统一覆盖所有选中服务器`,"persistent-hint":``,variant:`outlined`,density:`compact`,"prepend-inner-icon":`mdi-folder-marker`,clearable:``,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:targetPath`,e??``)},null,8,[`model-value`])]),_:1}),B(r,{cols:`12`,sm:`4`,class:`d-flex ga-2 justify-end`},{default:v(()=>[B(p,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-eye`,onClick:n[1]||=e=>t.$emit(`preview`)},{default:v(()=>[...n[3]||=[E(`预览`,-1)]]),_:1}),B(p,{size:`small`,color:`primary`,variant:`flat`,"prepend-icon":`mdi-upload`,loading:e.submitting,disabled:e.pushing,onClick:n[2]||=e=>t.$emit(`push`)},{default:v(()=>[...n[4]||=[E(` 推送 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1}))}}),rt=[`success`,`failed`,`cancelled`];function it(e){let t=x([]),n=x(!1),r=x(``),i=x(new Set),a=null;async function o(e=!1){e||(n.value=!0);try{t.value=(await S.get(`/servers/`,{per_page:200})).items||[]}catch{t.value=[]}finally{e||(n.value=!1)}}function s(e){c(),a=setInterval(()=>{o(!0)},3e4)}function c(){a&&=(clearInterval(a),null)}let l=P(()=>{if(!r.value)return t.value;let e=r.value.toLowerCase();return t.value.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.target_path||``).toLowerCase().includes(e))}),u=P(()=>{let e=l.value;return e.length>0&&e.every(e=>i.value.has(e.id))}),d=P(()=>{let e={};for(let t of l.value){let n=t.category||`未分类`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,servers:t}))});function f(e){let t=d.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>i.value.has(e.id))}function p(e){let t=d.value.find(t=>t.category===e);if(!t)return;let n=new Set(i.value),r=t.servers.every(e=>n.has(e.id));for(let e of t.servers)r?n.delete(e.id):n.add(e.id);i.value=n}function m(e){let t=new Set(i.value);t.has(e)?t.delete(e):t.add(e),i.value=t}function h(){let e=l.value,t=e.length>0&&e.every(e=>i.value.has(e.id)),n=new Set(i.value);for(let r of e)t?n.delete(r.id):n.add(r.id);i.value=n}return{servers:t,serversLoading:n,serverSearch:r,selectedIds:i,pushStatus:e,filteredServers:l,selectAll:u,serversByCategory:d,loadServers:o,startAutoRefresh:s,stopAutoRefresh:c,isCategoryAllSelected:f,toggleCategory:p,toggleServer:m,toggleAll:h}}function at(){return crypto.randomUUID().replace(/-/g,``).slice(0,12)}function ot(e,t,r){let i=n(),a=c(),o=x(!1),s=x(!1),l=x(!1),u=x(!1),d=x([]),f=x(``),p=x(null),m=[],h=P(()=>d.value.filter(e=>rt.includes(e.status)).length),g=P(()=>{let e=d.value.length;return e?Math.round(h.value/e*100):0});function _(){m.forEach(e=>clearTimeout(e)),m.length=0}function v(){let e=d.value.length;if(!e||!o.value||d.value.filter(e=>rt.includes(e.status)).lengthe.status===`failed`).length,n=d.value.filter(e=>e.status===`cancelled`).length,a=d.value.filter(e=>e.status===`success`).length;i(`推送完成:${a} 成功,${t} 失败${n?`,${n} 取消`:``}`)}function y(e){if(e.type!==`sync_progress`||e.batch_id!==f.value||e.server_id==null)return;let n=d.value.findIndex(t=>t.id===e.server_id);if(n===-1)return;let r=d.value[n],i=e.status;if(i===`running`)r.status=`running`,r.detail=`同步中...`;else if(i===`success`){r.status=`success`;let n=e.duration_seconds;r.detail=n==null?`完成`:`完成(${n}s)`,t.pushStatus.value[e.server_id]=`成功`}else i===`failed`?(r.status=`failed`,r.detail=Z(e.error_message)||`失败`,e.retry_job_id!=null&&(r.retryJobId=e.retry_job_id),t.pushStatus.value[e.server_id]=`失败`):i===`cancelled`&&(r.status=`cancelled`,r.detail=Z(e.error_message)||`已取消`,t.pushStatus.value[e.server_id]=`已取消`);v()}function b(e){let n=e.results;if(n){for(let[e,r]of Object.entries(n)){let n=Number(e);if(!Number.isFinite(n))continue;let i=d.value.findIndex(e=>e.id===n);if(i===-1)continue;let a=d.value[i],o=r.status;if(o===`success`){a.status=`success`;let e=r.duration_seconds;a.detail=e==null?`完成`:`完成(${e}s)`,t.pushStatus.value[n]=`成功`}else o===`failed`?(a.status=`failed`,a.detail=Z(r.error_message)||`失败`,r.retry_job_id!=null&&(a.retryJobId=r.retry_job_id),t.pushStatus.value[n]=`失败`):o===`cancelled`&&(a.status=`cancelled`,a.detail=Z(r.error_message)||`已取消`,t.pushStatus.value[n]=`已取消`)}v()}}function C(){if(!a.token)return Promise.reject(Error(`未登录,无法连接推送进度`));w();let e=Te(`/ws/sync`,{token:a.token}),n=new WebSocket(e);return new Promise((e,s)=>{n.onopen=()=>e(),n.onerror=()=>s(Error(`推送进度 WebSocket 连接失败`)),n.onmessage=e=>{if(e.data!==`pong`)try{let t=JSON.parse(e.data);if(t.type===`ping`){n.send(`pong`);return}y(t)}catch{}},n.onclose=e=>{if(p.value=null,e.code===4001||e.code===4401){a.forceLogout();return}e.code!==1e3&&o.value&&(d.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`failed`,e.detail=`连接中断`,t.pushStatus.value[e.id]=`失败`)}),o.value=!1,i(`推送进度连接中断,部分服务器状态未知`,`warning`),r())},p.value=n})}function w(){p.value&&=(p.value.close(1e3),null)}async function T(){if(f.value){l.value=!0;try{await S.post(`/sync/cancel`,{batch_id:f.value}),d.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`cancelled`,e.detail=`已取消`,t.pushStatus.value[e.id]=`已取消`)}),o.value=!1,w(),r(),i(`推送已取消`)}catch(e){i(e instanceof Error?e.message:`取消失败`,`error`)}finally{l.value=!1}}}async function E(){if(o.value||s.value)return;let n=[...t.selectedIds.value].map(e=>t.servers.value.find(t=>t.id===e)).filter(e=>e!=null);if(!e.validateForm(n.length,n))return;_(),w(),f.value=``,t.pushStatus.value={};let a=n.map(e=>e.id);d.value=a.map(e=>({id:e,name:t.servers.value.find(t=>t.id===e)?.name||`#${e}`,status:`pending`})),o.value=!0,s.value=!0,f.value=at();try{await C();let t=await S.post(`/sync/files`,{source_path:e.effectiveSourcePath(),target_path:e.effectiveTargetPath(),server_ids:a,sync_mode:e.syncMode.value,batch_id:f.value});t.batch_id&&t.batch_id!==f.value&&(f.value=t.batch_id),t.accepted?ee(`推送已提交(${a.length} 台),请在下方查看进度`):b(t)}catch(e){w();let t=e instanceof Error?e.message:`推送请求失败`;d.value.forEach(e=>{e.status=`failed`,e.detail=t}),o.value=!1,i(t,`error`),r();return}finally{s.value=!1}let c=setTimeout(()=>{o.value&&(d.value.forEach(e=>{(e.status===`pending`||e.status===`running`)&&(e.status=`failed`,e.detail=`等待超时`,t.pushStatus.value[e.id]=`失败`)}),o.value=!1,w(),r(),i(`推送超时,${h.value}/${d.value.length} 台已有结果`,`warning`))},3e5);m.push(c)}let D=P(()=>d.value.filter(e=>e.status===`failed`&&e.retryJobId!=null).length);async function O(){let e=d.value.filter(e=>e.status===`failed`&&e.retryJobId!=null).map(e=>e.retryJobId);if(!e.length){i(`没有可重试的失败任务(重试任务可能尚未创建)`,`warning`);return}u.value=!0;let t=0,n=0;try{for(let r of e)try{await S.post(`/retries/${r}/retry`),t++}catch{n++}i(n>0?`已提交 ${t} 个重试,${n} 个提交失败`:`已提交 ${t} 个失败服务器的重试任务`)}finally{u.value=!1}}function k(){w(),_()}return{pushing:o,submitting:s,cancelling:l,retryingAll:u,wsProgressItems:d,pushBatchId:f,doneCount:h,totalProgress:g,failedRetryCount:D,doPush:E,cancelPush:T,retryAllFailed:O,dispose:k}}function st(e,t){let n=x(!1),r=x([]),i=x(!1),a=x(0),o=x(0),s=P(()=>a.value>30),c=P(()=>r.value.filter(e=>e.error).length);async function l(t,n){try{let r=await S.post(`/sync/preview`,{source_path:e.effectiveSourcePath(),target_path:e.effectiveTargetPath(),server_id:t,sync_mode:e.syncMode.value});return r.error?{server_id:t,server_name:n,error:r.error}:{server_id:t,server_name:r.server_name||n,stats:r.stats}}catch(e){return{server_id:t,server_name:n,error:e instanceof Error?e.message:`预览失败`}}}async function u(){let s=[...t.selectedIds.value].map(e=>t.servers.value.find(t=>t.id===e)).filter(e=>e!=null);if(!e.validateForm(s.length,s))return;let c=s.map(e=>e.id);a.value=c.length,o.value=0,n.value=!0,i.value=!0,r.value=[];let u=c.map(e=>({id:e,name:t.servers.value.find(t=>t.id===e)?.name||`#${e}`}));for(let e=0;el(e.id,e.name)));r.value=[...r.value,...n],o.value=r.value.length}i.value=!1}function d(){n.value=!1}function f(e){n.value=!1,e()}return{showPreview:n,previewResults:r,previewLoading:i,previewTotal:a,previewDone:o,previewLargeBatch:s,previewWarnThreshold:30,previewErrorCount:c,doPreview:u,closePreview:d,confirmAndPush:f}}var ct=[{label:`成功`,value:`success`},{label:`失败`,value:`failed`},{label:`进行中`,value:`running`},{label:`已取消`,value:`cancelled`}],lt=[{label:`增量`,value:`incremental`},{label:`全量`,value:`full`},{label:`校验和`,value:`checksum`}],ut=[{title:`时间`,key:`started_at`,width:170},{title:`服务器`,key:`server_name`,width:120},{title:`状态`,key:`status`,width:88},{title:`模式`,key:`sync_mode`,width:88},{title:`源路径`,key:`source_path`},{title:`目标路径`,key:`target_path`},{title:`权限`,key:`push_permission`,width:140},{title:`错误`,key:`error_message`,width:200},{title:`操作`,key:`actions`,width:88,sortable:!1}];function dt(e,t){let r=n(),i=x([]),a=x(0),o=x(!1),s=x(1),c=x(null),l=x(null),u=x(null),d=x(!1),f=x(!1),p=x(!1),m=x(null),h=x(null),g=P(()=>t.servers.value.map(e=>({title:e.name,value:e.id})));function _(){s.value=1,v()}async function v(e=!1){e||(o.value=!0);try{let e={page:s.value,per_page:15};c.value&&(e.status=c.value),l.value&&(e.sync_mode=l.value),u.value!=null&&(e.server_id=u.value);let t=await S.get(`/servers/logs`,e);i.value=t.items||[],a.value=t.total||0}catch{i.value=[],a.value=0}finally{e||(o.value=!1)}}async function y(){d.value=!0;try{let e=(await S.post(`/sync/reconcile-stale-logs`,{max_age_minutes:15})).reconciled??0;r(e>0?`已订正 ${e} 条卡住的推送记录`:`没有需要订正的记录`),await v()}catch(e){r(e instanceof Error?e.message:`订正失败`,`error`)}finally{d.value=!1}}async function b(t){h.value=t,m.value=null,f.value=!0,p.value=!0;try{m.value=await S.post(`/sync/diagnose`,{server_id:t.server_id,target_path:t.target_path||e.targetPath.value||void 0})}catch(e){r(e instanceof Error?e.message:`诊断失败`,`error`),f.value=!1}finally{p.value=!1}}function C(){f.value=!1}return{logs:i,logTotal:a,logLoading:o,logPage:s,logStatusFilter:c,logSyncModeFilter:l,logServerFilter:u,reconcilingLogs:d,logStatusOptions:ct,logSyncModeOptions:lt,logHeaders:ut,logServerOptions:g,showDiagnose:f,diagnoseLoading:p,diagnoseResult:m,diagnoseTarget:h,onLogFilterChange:_,loadLogs:v,reconcileStaleLogs:y,openDiagnose:b,closeDiagnose:C}}function ft(){let e=Se(),t=we(e.uploadedSource),n=it(x({})),r=dt(e,n),i=ot(e,n,()=>r.loadLogs()),a=st(e,n);function o(){a.confirmAndPush(()=>i.doPush())}let s=!1;function c(e=!1){e?(n.loadServers(!0),r.loadLogs(!0)):(n.loadServers(),r.loadLogs())}return l(()=>{c(!1),n.startAutoRefresh(()=>i.pushing.value),s=!0}),f(()=>{s&&c(!0)}),d(()=>{i.dispose(),n.stopAutoRefresh()}),{form:C(e),staging:C(t),servers:C(n),progress:C(i),preview:C(a),logs:C(r),onConfirmAndPush:o}}var pt=_({name:`PushPage`,__name:`PushPage`,setup(e){let{form:n,staging:r,servers:i,progress:a,preview:o,logs:s,onConfirmAndPush:c}=ft();return(e,l)=>(m(),k(t,{fluid:``,class:`pa-6`},{default:v(()=>[B(Ce,{"uploaded-source":F(n).uploadedSource,"validated-source":F(n).validatedSource,"source-path":F(n).sourcePath,"onUpdate:sourcePath":l[0]||=e=>F(n).sourcePath=e,"source-path-validating":F(n).sourcePathValidating,"is-dragging":F(n).isDragging,"source-uploading":F(n).sourceUploading,onDragover:l[1]||=e=>F(n).isDragging=!0,onDragleave:l[2]||=e=>F(n).isDragging=!1,onDrop:F(n).handleFileDrop,onFileSelect:F(n).handleFileSelect,onZipExtractSelect:F(n).handleZipExtractSelect,onClear:F(n).clearUploadedSource,onClearValidated:F(n).clearValidatedSource,onValidate:F(n).validateSourcePath},null,8,[`uploaded-source`,`validated-source`,`source-path`,`source-path-validating`,`is-dragging`,`source-uploading`,`onDrop`,`onFileSelect`,`onZipExtractSelect`,`onClear`,`onClearValidated`,`onValidate`]),F(n).uploadedSource?(m(),k(be,{key:0,"root-path":F(n).uploadedSource.sourcePath,"relative-path":F(r).relativePath,entries:F(r).entries,loading:F(r).loading,"selected-count":F(r).selectedCount,"all-selected":F(r).allSelected,"some-selected":F(r).someSelected,"is-selected":F(r).isSelected,"rename-open":F(r).renameOpen,"onUpdate:renameOpen":l[3]||=e=>F(r).renameOpen=e,"rename-value":F(r).renameValue,"onUpdate:renameValue":l[4]||=e=>F(r).renameValue=e,"rename-loading":F(r).renameLoading,"delete-open":F(r).deleteOpen,"onUpdate:deleteOpen":l[5]||=e=>F(r).deleteOpen=e,"delete-targets":F(r).deleteTargets,"delete-loading":F(r).deleteLoading,onRefresh:l[6]||=e=>F(r).refreshCurrent(),onGoRoot:F(r).goRoot,onOpenDir:F(r).openDirectory,onPreview:F(r).previewFile,onRename:F(r).openRename,onDelete:F(r).openDelete,onBatchDelete:F(r).openBatchDelete,onToggleSelect:F(r).toggleSelect,onToggleSelectAll:F(r).toggleSelectAll,onConfirmRename:F(r).confirmRename,onConfirmDelete:F(r).confirmDelete},null,8,[`root-path`,`relative-path`,`entries`,`loading`,`selected-count`,`all-selected`,`some-selected`,`is-selected`,`rename-open`,`rename-value`,`rename-loading`,`delete-open`,`delete-targets`,`delete-loading`,`onGoRoot`,`onOpenDir`,`onPreview`,`onRename`,`onDelete`,`onBatchDelete`,`onToggleSelect`,`onToggleSelectAll`,`onConfirmRename`,`onConfirmDelete`])):T(``,!0),B(xe,{modelValue:F(r).previewOpen,"onUpdate:modelValue":l[7]||=e=>F(r).previewOpen=e,loading:F(r).previewLoading,result:F(r).previewResult},null,8,[`modelValue`,`loading`,`result`]),B(nt,{"target-path":F(n).targetPath,"onUpdate:targetPath":l[8]||=e=>F(n).targetPath=e,submitting:F(a).submitting,pushing:F(a).pushing,onPreview:F(o).doPreview,onPush:F(a).doPush},null,8,[`target-path`,`submitting`,`pushing`,`onPreview`,`onPush`]),B(Xe,{"select-all":F(i).selectAll,"server-search":F(i).serverSearch,"onUpdate:serverSearch":l[9]||=e=>F(i).serverSearch=e,"servers-loading":F(i).serversLoading,"servers-by-category":F(i).serversByCategory,"selected-ids":F(i).selectedIds,"push-status":F(i).pushStatus,"is-category-all-selected":F(i).isCategoryAllSelected,onToggleAll:F(i).toggleAll,onRefresh:F(i).loadServers,onToggleCategory:F(i).toggleCategory,onToggleServer:F(i).toggleServer},null,8,[`select-all`,`server-search`,`servers-loading`,`servers-by-category`,`selected-ids`,`push-status`,`is-category-all-selected`,`onToggleAll`,`onRefresh`,`onToggleCategory`,`onToggleServer`]),B(tt,{"sync-mode":F(n).syncMode,"onUpdate:syncMode":l[10]||=e=>F(n).syncMode=e,"sync-mode-desc":F(n).syncModeDesc},null,8,[`sync-mode`,`sync-mode-desc`]),B(Ve,{items:F(a).wsProgressItems,"batch-id":F(a).pushBatchId,pushing:F(a).pushing,cancelling:F(a).cancelling,"retrying-all":F(a).retryingAll,"failed-retry-count":F(a).failedRetryCount,"done-count":F(a).doneCount,"total-progress":F(a).totalProgress,onCancel:F(a).cancelPush,onRetryAll:F(a).retryAllFailed},null,8,[`items`,`batch-id`,`pushing`,`cancelling`,`retrying-all`,`failed-retry-count`,`done-count`,`total-progress`,`onCancel`,`onRetryAll`]),B(Re,{modelValue:F(o).showPreview,"onUpdate:modelValue":l[11]||=e=>F(o).showPreview=e,loading:F(o).previewLoading,results:F(o).previewResults,"selected-count":F(i).selectedIds.size,"preview-done":F(o).previewDone,"preview-total":F(o).previewTotal,"large-batch":F(o).previewLargeBatch,"warn-threshold":F(o).previewWarnThreshold,"error-count":F(o).previewErrorCount,"sync-mode":F(n).syncMode,onConfirmPush:F(c)},null,8,[`modelValue`,`loading`,`results`,`selected-count`,`preview-done`,`preview-total`,`large-batch`,`warn-threshold`,`error-count`,`sync-mode`,`onConfirmPush`]),B(Ee,{modelValue:F(s).showDiagnose,"onUpdate:modelValue":l[12]||=e=>F(s).showDiagnose=e,loading:F(s).diagnoseLoading,result:F(s).diagnoseResult,"target-name":F(s).diagnoseTarget?.server_name??void 0},null,8,[`modelValue`,`loading`,`result`,`target-name`]),B(Me,{items:F(s).logs,headers:F(s).logHeaders,total:F(s).logTotal,loading:F(s).logLoading,page:F(s).logPage,"onUpdate:page":l[13]||=e=>F(s).logPage=e,"status-filter":F(s).logStatusFilter,"onUpdate:statusFilter":l[14]||=e=>F(s).logStatusFilter=e,"sync-mode-filter":F(s).logSyncModeFilter,"onUpdate:syncModeFilter":l[15]||=e=>F(s).logSyncModeFilter=e,"server-filter":F(s).logServerFilter,"onUpdate:serverFilter":l[16]||=e=>F(s).logServerFilter=e,"status-options":F(s).logStatusOptions,"sync-mode-options":F(s).logSyncModeOptions,"server-options":F(s).logServerOptions,reconciling:F(s).reconcilingLogs,onFilterChange:F(s).onLogFilterChange,onPageChange:F(s).loadLogs,onReconcile:F(s).reconcileStaleLogs,onDiagnose:F(s).openDiagnose},null,8,[`items`,`headers`,`total`,`loading`,`page`,`status-filter`,`sync-mode-filter`,`server-filter`,`status-options`,`sync-mode-options`,`server-options`,`reconciling`,`onFilterChange`,`onPageChange`,`onReconcile`,`onDiagnose`])]),_:1}))}});export{pt as default}; \ No newline at end of file diff --git a/web/app/assets/RetriesPage-CWoEv_a3.js b/web/app/assets/RetriesPage-D57zbX1Y.js similarity index 90% rename from web/app/assets/RetriesPage-CWoEv_a3.js rename to web/app/assets/RetriesPage-D57zbX1Y.js index b6222769..31e1e05f 100644 --- a/web/app/assets/RetriesPage-CWoEv_a3.js +++ b/web/app/assets/RetriesPage-D57zbX1Y.js @@ -1 +1 @@ -import{n as e,t}from"./useSnackbar-CmDJGLzR.js";import{Ht as n,P as r,Pr as i,Sr as a,Ur as o,Xr as s,Xt as c,_ as l,_r as u,br as d,gr as f,hr as p,ni as m,oi as h,xr as g,y as _}from"./index-DawRgH7u.js";import{t as v}from"./usePageActivateRefresh-BTfzAggZ.js";import{n as y}from"./dataTable-esDY4cOk.js";import{a as b,n as x,r as S,t as C}from"./VCard-rBfCdgX2.js";import{t as w}from"./VSelect-XuQYQvJc.js";import{t as T}from"./VDataTableServer-C4_rzPsO.js";import{t as E}from"./VDialog-8YoHW6GE.js";import{t as D}from"./usePageAutoRefresh-CtJ56HJY.js";var O={class:`font-weight-medium text-truncate d-inline-block`,style:{"max-width":`240px`}},k={class:`text-medium-emphasis`},A={class:`text-medium-emphasis`},j={class:`text-caption text-medium-emphasis`},M={class:`text-caption text-medium-emphasis`},N=a({name:`RetriesPage`,__name:`RetriesPage`,setup(a){let N=t(),P=s(!1),F=s([]),I=s(0),L=s(1),R=s(null),z=s(!1),B=s(null),V=[{label:`待重试`,value:`pending`},{label:`重试中`,value:`retrying`},{label:`成功`,value:`success`},{label:`失败`,value:`failed`}],H=y([{title:`状态`,key:`status`,width:100},{title:`任务`,key:`operation`},{title:`服务器`,key:`server_name`},{title:`次数`,key:`retry_count`,width:100},{title:`下次重试`,key:`next_retry_at`,width:140},{title:`创建时间`,key:`created_at`,width:160},{title:``,key:`actions`,width:120,align:`end`}]);async function U(e=!1){e||(P.value=!0);try{let e=(await c.getList(`/retries/`,{limit:200})).items||[];R.value&&(e=e.filter(e=>e.status===R.value)),I.value=e.length;let t=(L.value-1)*20;F.value=e.slice(t,t+20)}catch(t){e||(F.value=[],I.value=0,N(t instanceof Error?t.message:`加载重试队列失败`,`error`))}finally{e||(P.value=!1)}}async function W(e){try{await c.post(`/retries/${e.id}/retry`),U(),N(`重试已触发`)}catch(e){N(e.message||`操作失败`,`error`)}}function G(e){B.value=e.id,z.value=!0}async function K(){if(B.value)try{await c.delete(`/retries/${B.value}`),z.value=!1,U(),N(`已删除`)}catch(e){N(e.message||`删除失败`,`error`)}}function q(e){return e===`success`?`success`:e===`failed`?`error`:e===`retrying`?`warning`:`info`}function J(e){return e===`pending`?`待重试`:e===`retrying`?`重试中`:e===`success`?`成功`:e===`failed`?`失败`:e}function Y(e){return e.source_path&&e.target_path?`${e.source_path} → ${e.target_path}`:e.source_path||e.target_path||`文件推送`}return D(()=>U(!0),15e3),v(e=>U(e)),(t,a)=>(i(),f(e,{fluid:``,class:`pa-6`},{default:o(()=>[g(C,{elevation:`0`,border:``,rounded:`lg`},{default:o(()=>[g(S,{class:`d-flex align-center text-h6`},{default:o(()=>[a[5]||=d(` 重试队列 `,-1),g(l),g(w,{modelValue:R.value,"onUpdate:modelValue":[a[0]||=e=>R.value=e,a[1]||=e=>{L.value=1,U()}],items:V,"item-title":`label`,"item-value":`value`,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},clearable:``},null,8,[`modelValue`])]),_:1}),g(T,{items:F.value,headers:m(H),"items-length":I.value,loading:P.value,page:L.value,"items-per-page":20,hover:``,density:`comfortable`,"onUpdate:page":a[2]||=e=>{L.value=e,U()}},{"item.status":o(({item:e})=>[g(_,{color:q(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:o(()=>[d(h(J(e.status)),1)]),_:2},1032,[`color`])]),"item.operation":o(({item:e})=>[p(`span`,O,h(Y(e)),1)]),"item.server_name":o(({item:e})=>[p(`span`,k,h(e.server_name||`—`),1)]),"item.retry_count":o(({item:e})=>[p(`span`,A,h(e.retry_count||0)+` / `+h(e.max_retries||3),1)]),"item.next_retry_at":o(({item:e})=>[p(`span`,j,h(m(n)(e.next_retry_at)),1)]),"item.created_at":o(({item:e})=>[p(`span`,M,h(m(n)(e.created_at)),1)]),"item.actions":o(({item:e})=>[e.status===`pending`||e.status===`failed`?(i(),f(r,{key:0,variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:t=>W(e)},{default:o(()=>[...a[6]||=[d(` 重试 `,-1)]]),_:1},8,[`onClick`])):u(``,!0),g(r,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>G(e)},{default:o(()=>[...a[7]||=[d(` 删除 `,-1)]]),_:1},8,[`onClick`])]),"no-data":o(()=>[...a[8]||=[p(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}),g(E,{modelValue:z.value,"onUpdate:modelValue":a[4]||=e=>z.value=e,"max-width":`400`},{default:o(()=>[g(C,{border:``},{default:o(()=>[g(S,null,{default:o(()=>[...a[9]||=[d(`确认删除`,-1)]]),_:1}),g(x,null,{default:o(()=>[...a[10]||=[d(`确定要删除此重试任务吗?`,-1)]]),_:1}),g(b,null,{default:o(()=>[g(l),g(r,{variant:`text`,onClick:a[3]||=e=>z.value=!1},{default:o(()=>[...a[11]||=[d(`取消`,-1)]]),_:1}),g(r,{color:`error`,variant:`flat`,onClick:K},{default:o(()=>[...a[12]||=[d(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{N as default}; \ No newline at end of file +import{n as e,t}from"./useSnackbar-P0rXZaHt.js";import{Ht as n,P as r,Pr as i,Sr as a,Ur as o,Xr as s,Xt as c,_ as l,_r as u,br as d,gr as f,hr as p,ni as m,oi as h,xr as g,y as _}from"./index-Bplw5zZe.js";import{t as v}from"./usePageActivateRefresh-C2xQnJah.js";import{n as y}from"./dataTable-esDY4cOk.js";import{a as b,n as x,r as S,t as C}from"./VCard-DwK3U69w.js";import{t as w}from"./VSelect-C2IkZQ4Y.js";import{t as T}from"./VDataTableServer-D1N34nyt.js";import{t as E}from"./VDialog-DPwgR17F.js";import{t as D}from"./usePageAutoRefresh-B7w3XG1Y.js";var O={class:`font-weight-medium text-truncate d-inline-block`,style:{"max-width":`240px`}},k={class:`text-medium-emphasis`},A={class:`text-medium-emphasis`},j={class:`text-caption text-medium-emphasis`},M={class:`text-caption text-medium-emphasis`},N=a({name:`RetriesPage`,__name:`RetriesPage`,setup(a){let N=t(),P=s(!1),F=s([]),I=s(0),L=s(1),R=s(null),z=s(!1),B=s(null),V=[{label:`待重试`,value:`pending`},{label:`重试中`,value:`retrying`},{label:`成功`,value:`success`},{label:`失败`,value:`failed`}],H=y([{title:`状态`,key:`status`,width:100},{title:`任务`,key:`operation`},{title:`服务器`,key:`server_name`},{title:`次数`,key:`retry_count`,width:100},{title:`下次重试`,key:`next_retry_at`,width:140},{title:`创建时间`,key:`created_at`,width:160},{title:``,key:`actions`,width:120,align:`end`}]);async function U(e=!1){e||(P.value=!0);try{let e=(await c.getList(`/retries/`,{limit:200})).items||[];R.value&&(e=e.filter(e=>e.status===R.value)),I.value=e.length;let t=(L.value-1)*20;F.value=e.slice(t,t+20)}catch(t){e||(F.value=[],I.value=0,N(t instanceof Error?t.message:`加载重试队列失败`,`error`))}finally{e||(P.value=!1)}}async function W(e){try{await c.post(`/retries/${e.id}/retry`),U(),N(`重试已触发`)}catch(e){N(e.message||`操作失败`,`error`)}}function G(e){B.value=e.id,z.value=!0}async function K(){if(B.value)try{await c.delete(`/retries/${B.value}`),z.value=!1,U(),N(`已删除`)}catch(e){N(e.message||`删除失败`,`error`)}}function q(e){return e===`success`?`success`:e===`failed`?`error`:e===`retrying`?`warning`:`info`}function J(e){return e===`pending`?`待重试`:e===`retrying`?`重试中`:e===`success`?`成功`:e===`failed`?`失败`:e}function Y(e){return e.source_path&&e.target_path?`${e.source_path} → ${e.target_path}`:e.source_path||e.target_path||`文件推送`}return D(()=>U(!0),15e3),v(e=>U(e)),(t,a)=>(i(),f(e,{fluid:``,class:`pa-6`},{default:o(()=>[g(C,{elevation:`0`,border:``,rounded:`lg`},{default:o(()=>[g(S,{class:`d-flex align-center text-h6`},{default:o(()=>[a[5]||=d(` 重试队列 `,-1),g(l),g(w,{modelValue:R.value,"onUpdate:modelValue":[a[0]||=e=>R.value=e,a[1]||=e=>{L.value=1,U()}],items:V,"item-title":`label`,"item-value":`value`,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},clearable:``},null,8,[`modelValue`])]),_:1}),g(T,{items:F.value,headers:m(H),"items-length":I.value,loading:P.value,page:L.value,"items-per-page":20,hover:``,density:`comfortable`,"onUpdate:page":a[2]||=e=>{L.value=e,U()}},{"item.status":o(({item:e})=>[g(_,{color:q(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:o(()=>[d(h(J(e.status)),1)]),_:2},1032,[`color`])]),"item.operation":o(({item:e})=>[p(`span`,O,h(Y(e)),1)]),"item.server_name":o(({item:e})=>[p(`span`,k,h(e.server_name||`—`),1)]),"item.retry_count":o(({item:e})=>[p(`span`,A,h(e.retry_count||0)+` / `+h(e.max_retries||3),1)]),"item.next_retry_at":o(({item:e})=>[p(`span`,j,h(m(n)(e.next_retry_at)),1)]),"item.created_at":o(({item:e})=>[p(`span`,M,h(m(n)(e.created_at)),1)]),"item.actions":o(({item:e})=>[e.status===`pending`||e.status===`failed`?(i(),f(r,{key:0,variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:t=>W(e)},{default:o(()=>[...a[6]||=[d(` 重试 `,-1)]]),_:1},8,[`onClick`])):u(``,!0),g(r,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>G(e)},{default:o(()=>[...a[7]||=[d(` 删除 `,-1)]]),_:1},8,[`onClick`])]),"no-data":o(()=>[...a[8]||=[p(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}),g(E,{modelValue:z.value,"onUpdate:modelValue":a[4]||=e=>z.value=e,"max-width":`400`},{default:o(()=>[g(C,{border:``},{default:o(()=>[g(S,null,{default:o(()=>[...a[9]||=[d(`确认删除`,-1)]]),_:1}),g(x,null,{default:o(()=>[...a[10]||=[d(`确定要删除此重试任务吗?`,-1)]]),_:1}),g(b,null,{default:o(()=>[g(l),g(r,{variant:`text`,onClick:a[3]||=e=>z.value=!1},{default:o(()=>[...a[11]||=[d(`取消`,-1)]]),_:1}),g(r,{color:`error`,variant:`flat`,onClick:K},{default:o(()=>[...a[12]||=[d(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{N as default}; \ No newline at end of file diff --git a/web/app/assets/RetriesPage-Dw_0lrBr.js b/web/app/assets/RetriesPage-Dw_0lrBr.js deleted file mode 100644 index 69a93462..00000000 --- a/web/app/assets/RetriesPage-Dw_0lrBr.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./useSnackbar-DaoOJlMz.js";import{Ht as n,P as r,Pr as i,Sr as a,Ur as o,Xr as s,Xt as c,_ as l,_r as u,br as d,gr as f,hr as p,ni as m,oi as h,xr as g,y as _}from"./index-DZEQidkT.js";import{t as v}from"./usePageActivateRefresh-BmoMLdUi.js";import{n as y}from"./dataTable-esDY4cOk.js";import{a as b,n as x,r as S,t as C}from"./VCard-DiTj681b.js";import{t as w}from"./VSelect-CzNpj4qJ.js";import{t as T}from"./VDataTableServer-C1V2iC3x.js";import{t as E}from"./VDialog-B2Te8j14.js";import{t as D}from"./usePageAutoRefresh-_5-kEzKg.js";var O={class:`font-weight-medium text-truncate d-inline-block`,style:{"max-width":`240px`}},k={class:`text-medium-emphasis`},A={class:`text-medium-emphasis`},j={class:`text-caption text-medium-emphasis`},M={class:`text-caption text-medium-emphasis`},N=a({name:`RetriesPage`,__name:`RetriesPage`,setup(a){let N=t(),P=s(!1),F=s([]),I=s(0),L=s(1),R=s(null),z=s(!1),B=s(null),V=[{label:`待重试`,value:`pending`},{label:`重试中`,value:`retrying`},{label:`成功`,value:`success`},{label:`失败`,value:`failed`}],H=y([{title:`状态`,key:`status`,width:100},{title:`任务`,key:`operation`},{title:`服务器`,key:`server_name`},{title:`次数`,key:`retry_count`,width:100},{title:`下次重试`,key:`next_retry_at`,width:140},{title:`创建时间`,key:`created_at`,width:160},{title:``,key:`actions`,width:120,align:`end`}]);async function U(e=!1){e||(P.value=!0);try{let e=(await c.getList(`/retries/`,{limit:200})).items||[];R.value&&(e=e.filter(e=>e.status===R.value)),I.value=e.length;let t=(L.value-1)*20;F.value=e.slice(t,t+20)}catch(t){e||(F.value=[],I.value=0,N(t instanceof Error?t.message:`加载重试队列失败`,`error`))}finally{e||(P.value=!1)}}async function W(e){try{await c.post(`/retries/${e.id}/retry`),U(),N(`重试已触发`)}catch(e){N(e.message||`操作失败`,`error`)}}function G(e){B.value=e.id,z.value=!0}async function K(){if(B.value)try{await c.delete(`/retries/${B.value}`),z.value=!1,U(),N(`已删除`)}catch(e){N(e.message||`删除失败`,`error`)}}function q(e){return e===`success`?`success`:e===`failed`?`error`:e===`retrying`?`warning`:`info`}function J(e){return e===`pending`?`待重试`:e===`retrying`?`重试中`:e===`success`?`成功`:e===`failed`?`失败`:e}function Y(e){return e.source_path&&e.target_path?`${e.source_path} → ${e.target_path}`:e.source_path||e.target_path||`文件推送`}return D(()=>U(!0),15e3),v(e=>U(e)),(t,a)=>(i(),f(e,{fluid:``,class:`pa-6`},{default:o(()=>[g(C,{elevation:`0`,border:``,rounded:`lg`},{default:o(()=>[g(S,{class:`d-flex align-center text-h6`},{default:o(()=>[a[5]||=d(` 重试队列 `,-1),g(l),g(w,{modelValue:R.value,"onUpdate:modelValue":[a[0]||=e=>R.value=e,a[1]||=e=>{L.value=1,U()}],items:V,"item-title":`label`,"item-value":`value`,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,style:{"max-width":`160px`},clearable:``},null,8,[`modelValue`])]),_:1}),g(T,{items:F.value,headers:m(H),"items-length":I.value,loading:P.value,page:L.value,"items-per-page":20,hover:``,density:`comfortable`,"onUpdate:page":a[2]||=e=>{L.value=e,U()}},{"item.status":o(({item:e})=>[g(_,{color:q(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:o(()=>[d(h(J(e.status)),1)]),_:2},1032,[`color`])]),"item.operation":o(({item:e})=>[p(`span`,O,h(Y(e)),1)]),"item.server_name":o(({item:e})=>[p(`span`,k,h(e.server_name||`—`),1)]),"item.retry_count":o(({item:e})=>[p(`span`,A,h(e.retry_count||0)+` / `+h(e.max_retries||3),1)]),"item.next_retry_at":o(({item:e})=>[p(`span`,j,h(m(n)(e.next_retry_at)),1)]),"item.created_at":o(({item:e})=>[p(`span`,M,h(m(n)(e.created_at)),1)]),"item.actions":o(({item:e})=>[e.status===`pending`||e.status===`failed`?(i(),f(r,{key:0,variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:t=>W(e)},{default:o(()=>[...a[6]||=[d(` 重试 `,-1)]]),_:1},8,[`onClick`])):u(``,!0),g(r,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>G(e)},{default:o(()=>[...a[7]||=[d(` 删除 `,-1)]]),_:1},8,[`onClick`])]),"no-data":o(()=>[...a[8]||=[p(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无数据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`])]),_:1}),g(E,{modelValue:z.value,"onUpdate:modelValue":a[4]||=e=>z.value=e,"max-width":`400`},{default:o(()=>[g(C,{border:``},{default:o(()=>[g(S,null,{default:o(()=>[...a[9]||=[d(`确认删除`,-1)]]),_:1}),g(x,null,{default:o(()=>[...a[10]||=[d(`确定要删除此重试任务吗?`,-1)]]),_:1}),g(b,null,{default:o(()=>[g(l),g(r,{variant:`text`,onClick:a[3]||=e=>z.value=!1},{default:o(()=>[...a[11]||=[d(`取消`,-1)]]),_:1}),g(r,{color:`error`,variant:`flat`,onClick:K},{default:o(()=>[...a[12]||=[d(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{N as default}; \ No newline at end of file diff --git a/web/app/assets/SchedulesPage-Cwk4pu75.js b/web/app/assets/SchedulesPage-Q44Ytj_a.js similarity index 96% rename from web/app/assets/SchedulesPage-Cwk4pu75.js rename to web/app/assets/SchedulesPage-Q44Ytj_a.js index fb0c89a1..ca3c1317 100644 --- a/web/app/assets/SchedulesPage-Cwk4pu75.js +++ b/web/app/assets/SchedulesPage-Q44Ytj_a.js @@ -1 +1 @@ -import{n as e,t}from"./useSnackbar-CmDJGLzR.js";import{n,t as r}from"./VRow-By04mHIT.js";import{$ as i,Ht as a,N as o,P as s,Pr as c,Sr as l,Ur as u,Vr as d,Xr as f,Xt as p,Yr as ee,_ as m,_r as h,br as g,bt as te,dr as _,gr as v,hr as y,mr as b,ni as x,oi as S,vr as C,xr as w,y as T}from"./index-DawRgH7u.js";import{t as E}from"./usePageActivateRefresh-BTfzAggZ.js";import{n as ne,r as re,t as ie}from"./dataTable-esDY4cOk.js";import{a as ae,n as oe,r as se,t as ce}from"./VCard-rBfCdgX2.js";import{t as le}from"./VSelect-XuQYQvJc.js";import{t as D}from"./VTextField-BZnszgeR.js";import{t as ue}from"./VDataTableServer-C4_rzPsO.js";import{t as O}from"./apiError-EQrzELs3.js";import{t as de}from"./useServerList-CXphchDt.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as pe}from"./VDialog-8YoHW6GE.js";import{a as me,i as he,n as ge,r as _e,t as ve}from"./usePushStaging-CqPC7tz5.js";import{t as ye}from"./ServerCategoryPicker-1rZGQM3V.js";import{t as be}from"./VSwitch-TNXNpeZv.js";import{t as xe}from"./VTextarea-9CeXtoSu.js";var Se=[{value:`day`,label:`当天`},{value:`day-n`,label:`每 N 天`},{value:`hour`,label:`每小时`},{value:`hour-n`,label:`每 N 小时`},{value:`minute-n`,label:`每 N 分钟`},{value:`week`,label:`每周`},{value:`month`,label:`每月`}],k=[{value:0,label:`周日`},{value:1,label:`周一`},{value:2,label:`周二`},{value:3,label:`周三`},{value:4,label:`周四`},{value:5,label:`周五`},{value:6,label:`周六`}];function A(){return{type:`day`,minute:0,hour:2,interval:2,week:1,monthDay:1,customCron:``}}function j(e,t,n){let r=Math.floor(Number(e));return Number.isNaN(r)?t:Math.min(n,Math.max(t,r))}function M(e){if(e.type===`custom`){let t=e.customCron.trim();if(!t)throw Error(`自定义 Cron 不能为空`);if(!N(t))throw Error(`Cron 须为 5 字段`);return t}let t=j(e.minute,0,59),n=j(e.hour,0,23);switch(e.type){case`day`:return`${t} ${n} * * *`;case`day-n`:return`${t} ${n} */${j(e.interval,1,365)} * *`;case`hour`:return`${t} * * * *`;case`hour-n`:return`${t} */${j(e.interval,1,23)} * * *`;case`minute-n`:return`*/${j(e.interval,1,59)} * * * *`;case`week`:return`${t} ${n} * * ${j(e.week,0,6)}`;case`month`:return`${t} ${n} ${j(e.monthDay,1,31)} * *`;default:throw Error(`未知执行周期类型`)}}function N(e){let t=e.trim().split(/\s+/);return t.length===5?t.every(e=>/^[\d*/,\-]+$/.test(e)):!1}function P(e){return e===`*`}function F(e){if(e===`*`)return{kind:`star`};if(e.startsWith(`*/`)){let t=parseInt(e.slice(2),10);if(!Number.isNaN(t)&&t>0)return{kind:`step`,step:t}}let t=parseInt(e,10);return Number.isNaN(t)?{kind:`star`}:{kind:`fixed`,value:t}}function I(e){let t=A(),n=(e||``).trim();if(!n)return t;let r=n.split(/\s+/);if(r.length!==5)return{...t,type:`custom`,customCron:n};let[i,a,o,s,c]=r;if(!P(s))return{...t,type:`custom`,customCron:n};let l=F(i),u=F(a),d=F(o),f=F(c);if(l.kind===`step`&&u.kind===`star`&&d.kind===`star`&&f.kind===`star`)return{...t,type:`minute-n`,interval:l.step};if(l.kind===`fixed`&&u.kind===`star`&&d.kind===`star`&&f.kind===`star`)return{...t,type:`hour`,minute:l.value};if(l.kind===`fixed`&&u.kind===`step`&&d.kind===`star`&&f.kind===`star`)return{...t,type:`hour-n`,minute:l.value,interval:u.step};if(l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`star`&&(f.kind===`fixed`||c===`7`)){let e=c===`7`?0:f.value;return{...t,type:`week`,minute:l.value,hour:u.value,week:e}}return l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`fixed`&&f.kind===`star`?{...t,type:`month`,minute:l.value,hour:u.value,monthDay:d.value}:l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`step`&&f.kind===`star`?{...t,type:`day-n`,minute:l.value,hour:u.value,interval:d.step}:l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`star`&&f.kind===`star`?{...t,type:`day`,minute:l.value,hour:u.value}:{...t,type:`custom`,customCron:n}}function L(e){return String(e).padStart(2,`0`)}function R(e){let t=typeof e==`string`?I(e):e;if(t.type===`custom`)return t.customCron?`自定义: ${t.customCron}`:`—`;let n=`${L(t.hour)}:${L(t.minute)}`;switch(t.type){case`day`:return`当天 ${n}`;case`day-n`:return`每 ${t.interval} 天 ${n}`;case`hour`:return`每小时 第 ${t.minute} 分`;case`hour-n`:return`每 ${t.interval} 小时 第 ${t.minute} 分`;case`minute-n`:return`每 ${t.interval} 分钟`;case`week`:return`每周${k.find(e=>e.value===t.week)?.label||`周${t.week}`} ${n}`;case`month`:return`每月 ${t.monthDay} 日 ${n}`;default:return`—`}}function Ce(e){if(e.type===`custom`)return e.customCron.trim()?N(e.customCron.trim())?null:`Cron 须为 5 字段`:`请填写 Cron 表达式`;try{return M(e),null}catch(e){return e instanceof Error?e.message:`执行周期无效`}}function z(e,t){for(let n of e.split(`,`)){if(n===`*`)return!0;if(n.startsWith(`*/`)){let e=parseInt(n.slice(2),10);if(e>0&&t%e===0)return!0;continue}if(n.includes(`-`)){let[e,r]=n.split(`-`,2),i=parseInt(e,10),a=parseInt(r,10);if(!Number.isNaN(i)&&!Number.isNaN(a)&&i<=t&&t<=a)return!0;continue}let e=parseInt(n,10);if(!Number.isNaN(e)&&(t===e||e===7&&t===0))return!0}return!1}function B(e,t){let n=e.trim().split(/\s+/);if(n.length!==5)return!1;let r=[t.getMinutes(),t.getHours(),t.getDate(),t.getMonth()+1,t.getDay()];return n.every((e,t)=>z(e,r[t]))}function we(e,t=new Date){let n=new Date(t);n.setSeconds(0,0),n.setMinutes(n.getMinutes()+1);let r=new Date(t.getTime()+366*24*60*60*1e3);for(;n<=r;){if(B(e,n))return new Date(n);n.setMinutes(n.getMinutes()+1)}return null}function Te(e,t){if(e?.trim())return I(e);if(t){let e=new Date(t);if(!Number.isNaN(e.getTime()))return{...A(),type:`day`,hour:e.getHours(),minute:e.getMinutes()}}return A()}function Ee(e,t,n){let r=R(Te(t,n));return e===`once`?`单次 · ${r}`:r}var V={class:`schedule-cycle-picker`},H={key:0,class:`cycle-type-fixed text-body-2`},U={class:`text-caption text-medium-emphasis mb-2`},W={key:6,class:`text-caption text-medium-emphasis`},G={key:0,class:`ms-1`},De=fe(l({__name:`ScheduleCyclePicker`,props:{modelValue:{},singleShot:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:t}){let i=e,a=t,l=Se,f=b(()=>i.singleShot===!0),p=b(()=>f.value?!0:[`day`,`day-n`,`week`,`month`].includes(i.modelValue.type)),ee=b(()=>f.value?`单次:当天指定时:分,在下一匹配时刻执行一次(不含日期选择)`:`循环:按重复方式与时:分持续执行`);d(()=>i.singleShot,e=>{e&&i.modelValue.type!==`custom`&&i.modelValue.type!==`day`&&a(`update:modelValue`,{...A(),...i.modelValue,type:`day`})},{immediate:!0});let m=b(()=>{try{return R(i.modelValue)}catch{return``}}),te=b(()=>{try{return i.modelValue.type===`custom`&&!i.modelValue.customCron.trim()?``:M(i.modelValue)}catch{return``}});function T(e,t,n){let r=Math.floor(Number(e));return Number.isNaN(r)?t:Math.min(n,Math.max(t,r))}function E(e){a(`update:modelValue`,{...i.modelValue,...e})}function ne(e){e&&a(`update:modelValue`,{...A(),...i.modelValue,type:e})}function re(){a(`update:modelValue`,{...A(),type:`day`})}return(t,i)=>(c(),C(`div`,V,[i[11]||=y(`div`,{class:`text-caption text-medium-emphasis mb-2`},`开始执行周期`,-1),w(r,{dense:``,class:`mb-2 align-center`},{default:u(()=>[w(n,{cols:`auto`,class:`cycle-type-col`},{default:u(()=>[f.value?(c(),C(`span`,H,`当天`)):(c(),v(le,{key:1,"model-value":e.modelValue.type===`custom`?null:e.modelValue.type,items:x(l),"item-title":`label`,"item-value":`value`,label:`重复方式`,variant:`outlined`,density:`compact`,"hide-details":``,class:`cycle-type-select`,"onUpdate:modelValue":ne},null,8,[`model-value`,`items`]))]),_:1}),p.value?(c(),C(_,{key:0},[w(n,{cols:`auto`,class:`time-col`},{default:u(()=>[w(D,{"model-value":e.modelValue.hour,label:`时`,type:`number`,min:`0`,max:`23`,variant:`outlined`,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[0]||=e=>E({hour:T(e,0,23)})},null,8,[`model-value`])]),_:1}),w(n,{cols:`auto`,class:`time-col`},{default:u(()=>[w(D,{"model-value":e.modelValue.minute,label:`分`,type:`number`,min:`0`,max:`59`,variant:`outlined`,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[1]||=e=>E({minute:T(e,0,59)})},null,8,[`model-value`])]),_:1})],64)):h(``,!0),!f.value&&(e.modelValue.type===`hour`||e.modelValue.type===`hour-n`)?(c(),v(n,{key:1,cols:`auto`,class:`time-col-wide`},{default:u(()=>[w(D,{"model-value":e.modelValue.minute,label:`第几分`,type:`number`,min:`0`,max:`59`,variant:`outlined`,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[2]||=e=>E({minute:T(e,0,59)})},null,8,[`model-value`])]),_:1})):h(``,!0)]),_:1}),y(`div`,U,S(ee.value),1),!f.value&&e.modelValue.type===`day-n`?(c(),v(D,{key:0,"model-value":e.modelValue.interval,label:`天数 N`,type:`number`,min:`1`,max:`365`,variant:`outlined`,density:`compact`,hint:`从每月 1 日起每 N 天执行(与宝塔一致)`,"persistent-hint":``,class:`mb-2`,"onUpdate:modelValue":i[3]||=e=>E({interval:T(e,1,365)})},null,8,[`model-value`])):h(``,!0),!f.value&&e.modelValue.type===`hour-n`?(c(),v(D,{key:1,"model-value":e.modelValue.interval,label:`小时 N`,type:`number`,min:`1`,max:`23`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[4]||=e=>E({interval:T(e,1,23)})},null,8,[`model-value`])):h(``,!0),!f.value&&e.modelValue.type===`minute-n`?(c(),v(D,{key:2,"model-value":e.modelValue.interval,label:`分钟 N`,type:`number`,min:x(1),max:`59`,variant:`outlined`,density:`compact`,hint:`从整点起每 N 分钟触发一次`,"persistent-hint":``,class:`mb-2`,"onUpdate:modelValue":i[5]||=e=>E({interval:T(e,x(1),59)})},null,8,[`model-value`,`min`])):h(``,!0),!f.value&&e.modelValue.type===`week`?(c(),v(le,{key:3,"model-value":e.modelValue.week,items:x(k),"item-title":`label`,"item-value":`value`,label:`星期`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[6]||=e=>E({week:T(e,0,6)})},null,8,[`model-value`,`items`])):h(``,!0),!f.value&&e.modelValue.type===`month`?(c(),v(D,{key:4,"model-value":e.modelValue.monthDay,label:`每月几号`,type:`number`,min:`1`,max:`31`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[7]||=e=>E({monthDay:T(e,1,31)})},null,8,[`model-value`])):h(``,!0),e.modelValue.type===`custom`?(c(),C(_,{key:5},[w(o,{type:`warning`,density:`compact`,variant:`tonal`,class:`mb-2 text-caption`},{default:u(()=>[...i[9]||=[g(` 当前 Cron 无法映射为可视化周期,可保留原表达式或改用上方周期类型重建。 `,-1)]]),_:1}),w(D,{"model-value":e.modelValue.customCron,label:`Cron 表达式(5 字段)`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[8]||=e=>E({customCron:String(e??``)})},null,8,[`model-value`]),w(s,{size:`small`,variant:`tonal`,color:`primary`,class:`mb-2`,onClick:re},{default:u(()=>[...i[10]||=[g(` 改用可视化周期 `,-1)]]),_:1})],64)):h(``,!0),m.value?(c(),C(`div`,W,[g(` 预览:`+S(m.value)+` `,1),te.value?(c(),C(`span`,G,`(`+S(te.value)+`)`,1)):h(``,!0)])):h(``,!0)]))}}),[[`__scopeId`,`data-v-f1c7b8d2`]]),Oe={class:`text-caption`},ke={key:0,class:`text-caption`},Ae={key:1,class:`text-caption`},je={class:`text-medium-emphasis`},Me={class:`text-caption text-medium-emphasis`},Ne={class:`text-caption text-medium-emphasis`},K=l({name:`SchedulesPage`,__name:`SchedulesPage`,setup(n){let r=[...ie],l=t(),{servers:d,loading:b,loadServers:fe}=de(),Se=ge(),k=ve(Se.uploadedSource),j=ee(Se),N=ee(k);function P(){j.clearUploadedSource(),j.clearValidatedSource()}async function F(e){P();let t=e.trim();t&&(j.sourcePath=t,await j.validateSourcePath())}let I=f(!1),L=f(null),R=f(null),z=f([]),B=f([]),V=f(1),H=f(0),U=f(20),W=f(!1),G=f(null),K=f(!1),q=f(``),J=f([]),Y=f({name:``,schedule_type:`push`,run_mode:`once`,cycle:A(),script_id:null,script_content:``,enabled:!0}),X=f(!1),Z=f(null),Pe=ne([{title:`名称`,key:`name`},{title:`类型`,key:`schedule_type`,width:80},{title:`模式`,key:`run_mode`,width:72},{title:`开始执行周期`,key:`cron_expr`,width:180},{title:`源文件 / 脚本`,key:`source_path`},{title:`服务器`,key:`server_count`,width:80},{title:`上次运行`,key:`last_run_at`,width:140},{title:`下次运行`,key:`next_run`,width:140},{title:`启用`,key:`enabled`,width:80},{title:`操作`,key:`actions`,width:200,align:`end`}]);function Q(e){if(Array.isArray(e))return e.map(e=>Number(e)).filter(e=>!Number.isNaN(e));if(typeof e==`string`&&e.trim())try{let t=JSON.parse(e);if(Array.isArray(t))return t.map(e=>Number(e)).filter(e=>!Number.isNaN(e))}catch{}return[]}function Fe(e){return Q(e).length}function Ie(e){if(e.script_id){let t=B.value.find(t=>t.id===e.script_id);return t?t.name:`脚本 #${e.script_id}`}let t=e.script_content?.trim();return t?t.length>48?`${t.slice(0,48)}…`:t:`—`}function Le(e){return{...e,server_ids:Q(e.server_ids)}}function Re(){let e=J.value;if(!Y.value.name.trim())throw Error(`请填写调度名称`);if(!e.length)throw Error(`请至少选择一台服务器`);let t={name:Y.value.name.trim(),schedule_type:Y.value.schedule_type,run_mode:Y.value.run_mode,server_ids:JSON.stringify(e),enabled:Y.value.enabled},n=Ce(Y.value.cycle);if(n)throw Error(n);let r=M(Y.value.cycle);if(t.cron_expr=r,Y.value.run_mode===`once`){let e=we(r);if(!e)throw Error(`无法计算单次执行时间,请检查开始执行周期`);t.fire_at=e.toISOString()}else t.fire_at=null;if(Y.value.schedule_type===`push`){let e=j.effectiveSourcePath();if(!e)throw j.sourcePath.trim()&&!j.validatedSource?Error(`请先点击「验证路径」确认 Nexus 主机上的源目录`):Error(`请上传源文件或验证 Nexus 主机源路径`);t.source_path=e}else{if(!Y.value.script_id&&!Y.value.script_content.trim())throw Error(`脚本调度须选择脚本库或填写命令内容`);Y.value.script_id&&(t.script_id=Y.value.script_id),Y.value.script_content.trim()&&(t.script_content=Y.value.script_content.trim())}return t}function ze(e){V.value=e,$()}function Be(e){U.value=e,V.value=1,$()}async function Ve(){try{B.value=(await p.getList(`/scripts/`)).items||[]}catch{B.value=[]}}async function $(e=!1){e||(I.value=!0);try{let e=((await p.getList(`/schedules/`)).items||[]).map(Le);H.value=e.length,z.value=re(e,V.value,U.value)}catch(e){z.value=[],H.value=0,l(O(e,`加载调度列表失败`),`error`)}finally{e||(I.value=!1)}}function He(e){G.value=e,q.value=``,P(),e?(J.value=Q(e.server_ids),Y.value={name:e.name,schedule_type:e.schedule_type===`script`?`script`:`push`,run_mode:e.run_mode===`cron`?`cron`:`once`,cycle:Te(e.cron_expr,e.fire_at),script_id:e.script_id??null,script_content:e.script_content||``,enabled:e.enabled},Y.value.schedule_type===`push`&&e.source_path&&F(e.source_path)):(J.value=[],Y.value={name:``,schedule_type:`push`,run_mode:`once`,cycle:A(),script_id:null,script_content:``,enabled:!0}),W.value=!0}async function Ue(){q.value=``,K.value=!0;try{let e=Re();G.value?await p.put(`/schedules/${G.value.id}`,e):await p.post(`/schedules/`,e),W.value=!1,$(),l(`保存成功`)}catch(e){let t=O(e,`保存失败`);q.value=t,l(t,`error`)}finally{K.value=!1}}async function We(e){L.value=e.id;try{await p.put(`/schedules/${e.id}`,{enabled:e.enabled}),$()}catch(t){e.enabled=!e.enabled,l(O(t,`操作失败`),`error`)}finally{L.value=null}}async function Ge(e){R.value=e.id;try{let t=Q(e.server_ids);e.schedule_type===`script`?(await p.post(`/scripts/exec`,{server_ids:t,script_id:e.script_id??void 0,command:e.script_content||void 0}),te(`已触发脚本执行`)):(await p.post(`/sync/files`,{source_path:e.source_path,server_ids:t,sync_mode:`incremental`}),l(`已触发推送`))}catch(e){l(O(e,`执行失败`),`error`)}finally{R.value=null}}function Ke(e){Z.value=e,X.value=!0}async function qe(){if(Z.value)try{await p.delete(`/schedules/${Z.value.id}`),X.value=!1,$(),l(`已删除`)}catch(e){l(O(e,`删除失败`),`error`)}}async function Je(e=!1){await Promise.all([$(e),fe({all:!0}),Ve()])}return E(e=>Je(e)),(t,n)=>(c(),v(e,{fluid:``,class:`pa-6`},{default:u(()=>[w(ce,{elevation:`0`,border:``,rounded:`lg`},{default:u(()=>[w(se,{class:`d-flex align-center text-h6`},{default:u(()=>[n[23]||=g(` 推送调度 `,-1),w(m),w(s,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:n[0]||=e=>He(null)},{default:u(()=>[...n[22]||=[g(`新建调度`,-1)]]),_:1})]),_:1}),w(ue,{items:z.value,headers:x(Pe),"items-length":H.value,loading:I.value,page:V.value,"items-per-page":U.value,"items-per-page-options":r,hover:``,density:`comfortable`,"onUpdate:page":ze,"onUpdate:itemsPerPage":Be},{"item.schedule_type":u(({item:e})=>[w(T,{size:`small`,variant:`tonal`,color:e.schedule_type===`script`?`secondary`:`primary`,label:``},{default:u(()=>[g(S(e.schedule_type===`script`?`脚本`:`推送`),1)]),_:2},1032,[`color`])]),"item.run_mode":u(({item:e})=>[y(`span`,Oe,S(e.run_mode===`once`?`单次`:`循环`),1)]),"item.cron_expr":u(({item:e})=>[w(T,{size:`small`,variant:`tonal`,label:``,"prepend-icon":`mdi-clock-outline`},{default:u(()=>[g(S(x(Ee)(e.run_mode,e.cron_expr,e.fire_at)),1)]),_:2},1024)]),"item.source_path":u(({item:e})=>[e.schedule_type===`script`?(c(),C(`span`,ke,S(Ie(e)),1)):(c(),C(`span`,Ae,S(e.source_path||`—`),1))]),"item.enabled":u(({item:e})=>[w(be,{modelValue:e.enabled,"onUpdate:modelValue":[t=>e.enabled=t,t=>We(e)],color:`primary`,density:`compact`,"hide-details":``,loading:L.value===e.id},null,8,[`modelValue`,`onUpdate:modelValue`,`loading`])]),"item.server_count":u(({item:e})=>[y(`span`,je,S(Fe(e.server_ids))+` 台`,1)]),"item.last_run_at":u(({item:e})=>[y(`span`,Me,S(e.last_run_at?x(a)(e.last_run_at):`从未运行`),1)]),"item.next_run":u(({item:e})=>[y(`span`,Ne,S(e.next_run?x(a)(e.next_run):`—`),1)]),"item.actions":u(({item:e})=>[w(s,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>He(e)},{default:u(()=>[...n[24]||=[g(`编辑`,-1)]]),_:1},8,[`onClick`]),w(s,{variant:`text`,size:`x-small`,density:`compact`,loading:R.value===e.id,onClick:t=>Ge(e)},{default:u(()=>[...n[25]||=[g(`立即执行`,-1)]]),_:1},8,[`loading`,`onClick`]),w(s,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>Ke(e)},{default:u(()=>[...n[26]||=[g(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":u(()=>[...n[27]||=[y(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无计划任务`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1}),w(pe,{modelValue:W.value,"onUpdate:modelValue":n[19]||=e=>W.value=e,"max-width":`800`,scrollable:``},{default:u(()=>[w(ce,{border:``},{default:u(()=>[w(se,null,{default:u(()=>[g(S(G.value?`编辑调度`:`新建调度`),1)]),_:1}),w(oe,null,{default:u(()=>[q.value?(c(),v(o,{key:0,type:`error`,density:`compact`,variant:`tonal`,class:`mb-3`,closable:``,"onClick:close":n[1]||=e=>q.value=``},{default:u(()=>[g(S(q.value),1)]),_:1})):h(``,!0),w(D,{modelValue:Y.value.name,"onUpdate:modelValue":n[2]||=e=>Y.value.name=e,label:`调度名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),w(i,{modelValue:Y.value.schedule_type,"onUpdate:modelValue":n[3]||=e=>Y.value.schedule_type=e,mandatory:``,density:`compact`,class:`mb-3`,color:`primary`},{default:u(()=>[w(s,{value:`push`,size:`small`},{default:u(()=>[...n[28]||=[g(`文件推送`,-1)]]),_:1}),w(s,{value:`script`,size:`small`},{default:u(()=>[...n[29]||=[g(`脚本执行`,-1)]]),_:1})]),_:1},8,[`modelValue`]),w(i,{modelValue:Y.value.run_mode,"onUpdate:modelValue":n[4]||=e=>Y.value.run_mode=e,mandatory:``,density:`compact`,class:`mb-3`,color:`primary`},{default:u(()=>[w(s,{value:`once`,size:`small`},{default:u(()=>[...n[30]||=[g(`单次执行`,-1)]]),_:1}),w(s,{value:`cron`,size:`small`},{default:u(()=>[...n[31]||=[g(`循环执行`,-1)]]),_:1})]),_:1},8,[`modelValue`]),w(De,{modelValue:Y.value.cycle,"onUpdate:modelValue":n[5]||=e=>Y.value.cycle=e,"single-shot":Y.value.run_mode===`once`,class:`mb-2`},null,8,[`modelValue`,`single-shot`]),w(o,{type:`info`,density:`compact`,variant:`tonal`,class:`mb-3 text-caption`},{default:u(()=>[...n[32]||=[g(` 单次执行选「当天」时:分;循环执行再选重复方式。同步模式、目标路径等按系统与各服务器配置。 `,-1)]]),_:1}),Y.value.schedule_type===`push`?(c(),C(_,{key:1},[w(_e,{class:`mb-2`,"uploaded-source":j.uploadedSource,"validated-source":j.validatedSource,"source-path":j.sourcePath,"onUpdate:sourcePath":n[6]||=e=>j.sourcePath=e,"source-path-validating":j.sourcePathValidating,"is-dragging":j.isDragging,"source-uploading":j.sourceUploading,onDragover:n[7]||=e=>j.isDragging=!0,onDragleave:n[8]||=e=>j.isDragging=!1,onDrop:j.handleFileDrop,onFileSelect:j.handleFileSelect,onZipExtractSelect:j.handleZipExtractSelect,onClear:j.clearUploadedSource,onClearValidated:j.clearValidatedSource,onValidate:j.validateSourcePath},null,8,[`uploaded-source`,`validated-source`,`source-path`,`source-path-validating`,`is-dragging`,`source-uploading`,`onDrop`,`onFileSelect`,`onZipExtractSelect`,`onClear`,`onClearValidated`,`onValidate`]),j.uploadedSource?(c(),v(me,{key:0,class:`mb-2`,"root-path":j.uploadedSource.sourcePath,"relative-path":N.relativePath,entries:N.entries,loading:N.loading,"selected-count":N.selectedCount,"all-selected":N.allSelected,"some-selected":N.someSelected,"is-selected":N.isSelected,"rename-open":N.renameOpen,"onUpdate:renameOpen":n[9]||=e=>N.renameOpen=e,"rename-value":N.renameValue,"onUpdate:renameValue":n[10]||=e=>N.renameValue=e,"rename-loading":N.renameLoading,"delete-open":N.deleteOpen,"onUpdate:deleteOpen":n[11]||=e=>N.deleteOpen=e,"delete-targets":N.deleteTargets,"delete-loading":N.deleteLoading,onRefresh:n[12]||=e=>N.refreshCurrent(),onGoRoot:N.goRoot,onOpenDir:N.openDirectory,onPreview:N.previewFile,onRename:N.openRename,onDelete:N.openDelete,onBatchDelete:N.openBatchDelete,onToggleSelect:N.toggleSelect,onToggleSelectAll:N.toggleSelectAll,onConfirmRename:N.confirmRename,onConfirmDelete:N.confirmDelete},null,8,[`root-path`,`relative-path`,`entries`,`loading`,`selected-count`,`all-selected`,`some-selected`,`is-selected`,`rename-open`,`rename-value`,`rename-loading`,`delete-open`,`delete-targets`,`delete-loading`,`onGoRoot`,`onOpenDir`,`onPreview`,`onRename`,`onDelete`,`onBatchDelete`,`onToggleSelect`,`onToggleSelectAll`,`onConfirmRename`,`onConfirmDelete`])):h(``,!0),w(he,{modelValue:N.previewOpen,"onUpdate:modelValue":n[13]||=e=>N.previewOpen=e,loading:N.previewLoading,result:N.previewResult},null,8,[`modelValue`,`loading`,`result`])],64)):(c(),C(_,{key:2},[w(le,{modelValue:Y.value.script_id,"onUpdate:modelValue":n[14]||=e=>Y.value.script_id=e,items:B.value,"item-title":`name`,"item-value":`id`,label:`脚本库(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),w(xe,{modelValue:Y.value.script_content,"onUpdate:modelValue":n[15]||=e=>Y.value.script_content=e,label:`命令内容(无脚本库时必填)`,variant:`outlined`,density:`compact`,rows:`4`,"auto-grow":``,class:`mb-2`},null,8,[`modelValue`])],64)),n[33]||=y(`div`,{class:`text-caption text-medium-emphasis mb-1`},`目标服务器(按分类选择)`,-1),w(ye,{modelValue:J.value,"onUpdate:modelValue":n[16]||=e=>J.value=e,servers:x(d),loading:x(b),"max-height":`320px`,class:`mb-2`},null,8,[`modelValue`,`servers`,`loading`]),w(be,{modelValue:Y.value.enabled,"onUpdate:modelValue":n[17]||=e=>Y.value.enabled=e,label:`启用`,color:`primary`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1}),w(ae,null,{default:u(()=>[w(m),w(s,{variant:`text`,onClick:n[18]||=e=>W.value=!1},{default:u(()=>[...n[34]||=[g(`取消`,-1)]]),_:1}),w(s,{color:`primary`,variant:`flat`,onClick:Ue,loading:K.value},{default:u(()=>[...n[35]||=[g(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(pe,{modelValue:X.value,"onUpdate:modelValue":n[21]||=e=>X.value=e,"max-width":`400`},{default:u(()=>[w(ce,{border:``},{default:u(()=>[w(se,null,{default:u(()=>[...n[36]||=[g(`确认删除`,-1)]]),_:1}),w(oe,null,{default:u(()=>[n[37]||=g(`确定要删除调度 `,-1),y(`strong`,null,S(Z.value?.name),1),n[38]||=g(` 吗?`,-1)]),_:1}),w(ae,null,{default:u(()=>[w(m),w(s,{variant:`text`,onClick:n[20]||=e=>X.value=!1},{default:u(()=>[...n[39]||=[g(`取消`,-1)]]),_:1}),w(s,{color:`error`,variant:`flat`,onClick:qe},{default:u(()=>[...n[40]||=[g(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{K as default}; \ No newline at end of file +import{n as e,t}from"./useSnackbar-P0rXZaHt.js";import{n,t as r}from"./VRow-Jrv7cE2K.js";import{$ as i,Ht as a,N as o,P as s,Pr as c,Sr as l,Ur as u,Vr as d,Xr as f,Xt as p,Yr as ee,_ as m,_r as h,br as g,bt as te,dr as _,gr as v,hr as y,mr as b,ni as x,oi as S,vr as C,xr as w,y as T}from"./index-Bplw5zZe.js";import{t as E}from"./usePageActivateRefresh-C2xQnJah.js";import{n as ne,r as re,t as ie}from"./dataTable-esDY4cOk.js";import{a as ae,n as oe,r as se,t as ce}from"./VCard-DwK3U69w.js";import{t as le}from"./VSelect-C2IkZQ4Y.js";import{t as D}from"./VTextField-DVnxh9lX.js";import{t as ue}from"./VDataTableServer-D1N34nyt.js";import{t as O}from"./apiError-D7r0BvbZ.js";import{t as de}from"./useServerList-IslpqUAV.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as pe}from"./VDialog-DPwgR17F.js";import{a as me,i as he,n as ge,r as _e,t as ve}from"./usePushStaging-CG8g6bPy.js";import{t as ye}from"./ServerCategoryPicker-BE313wTd.js";import{t as be}from"./VSwitch-B9ytL2C4.js";import{t as xe}from"./VTextarea-Cn1CYtMX.js";var Se=[{value:`day`,label:`当天`},{value:`day-n`,label:`每 N 天`},{value:`hour`,label:`每小时`},{value:`hour-n`,label:`每 N 小时`},{value:`minute-n`,label:`每 N 分钟`},{value:`week`,label:`每周`},{value:`month`,label:`每月`}],k=[{value:0,label:`周日`},{value:1,label:`周一`},{value:2,label:`周二`},{value:3,label:`周三`},{value:4,label:`周四`},{value:5,label:`周五`},{value:6,label:`周六`}];function A(){return{type:`day`,minute:0,hour:2,interval:2,week:1,monthDay:1,customCron:``}}function j(e,t,n){let r=Math.floor(Number(e));return Number.isNaN(r)?t:Math.min(n,Math.max(t,r))}function M(e){if(e.type===`custom`){let t=e.customCron.trim();if(!t)throw Error(`自定义 Cron 不能为空`);if(!N(t))throw Error(`Cron 须为 5 字段`);return t}let t=j(e.minute,0,59),n=j(e.hour,0,23);switch(e.type){case`day`:return`${t} ${n} * * *`;case`day-n`:return`${t} ${n} */${j(e.interval,1,365)} * *`;case`hour`:return`${t} * * * *`;case`hour-n`:return`${t} */${j(e.interval,1,23)} * * *`;case`minute-n`:return`*/${j(e.interval,1,59)} * * * *`;case`week`:return`${t} ${n} * * ${j(e.week,0,6)}`;case`month`:return`${t} ${n} ${j(e.monthDay,1,31)} * *`;default:throw Error(`未知执行周期类型`)}}function N(e){let t=e.trim().split(/\s+/);return t.length===5?t.every(e=>/^[\d*/,\-]+$/.test(e)):!1}function P(e){return e===`*`}function F(e){if(e===`*`)return{kind:`star`};if(e.startsWith(`*/`)){let t=parseInt(e.slice(2),10);if(!Number.isNaN(t)&&t>0)return{kind:`step`,step:t}}let t=parseInt(e,10);return Number.isNaN(t)?{kind:`star`}:{kind:`fixed`,value:t}}function I(e){let t=A(),n=(e||``).trim();if(!n)return t;let r=n.split(/\s+/);if(r.length!==5)return{...t,type:`custom`,customCron:n};let[i,a,o,s,c]=r;if(!P(s))return{...t,type:`custom`,customCron:n};let l=F(i),u=F(a),d=F(o),f=F(c);if(l.kind===`step`&&u.kind===`star`&&d.kind===`star`&&f.kind===`star`)return{...t,type:`minute-n`,interval:l.step};if(l.kind===`fixed`&&u.kind===`star`&&d.kind===`star`&&f.kind===`star`)return{...t,type:`hour`,minute:l.value};if(l.kind===`fixed`&&u.kind===`step`&&d.kind===`star`&&f.kind===`star`)return{...t,type:`hour-n`,minute:l.value,interval:u.step};if(l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`star`&&(f.kind===`fixed`||c===`7`)){let e=c===`7`?0:f.value;return{...t,type:`week`,minute:l.value,hour:u.value,week:e}}return l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`fixed`&&f.kind===`star`?{...t,type:`month`,minute:l.value,hour:u.value,monthDay:d.value}:l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`step`&&f.kind===`star`?{...t,type:`day-n`,minute:l.value,hour:u.value,interval:d.step}:l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`star`&&f.kind===`star`?{...t,type:`day`,minute:l.value,hour:u.value}:{...t,type:`custom`,customCron:n}}function L(e){return String(e).padStart(2,`0`)}function R(e){let t=typeof e==`string`?I(e):e;if(t.type===`custom`)return t.customCron?`自定义: ${t.customCron}`:`—`;let n=`${L(t.hour)}:${L(t.minute)}`;switch(t.type){case`day`:return`当天 ${n}`;case`day-n`:return`每 ${t.interval} 天 ${n}`;case`hour`:return`每小时 第 ${t.minute} 分`;case`hour-n`:return`每 ${t.interval} 小时 第 ${t.minute} 分`;case`minute-n`:return`每 ${t.interval} 分钟`;case`week`:return`每周${k.find(e=>e.value===t.week)?.label||`周${t.week}`} ${n}`;case`month`:return`每月 ${t.monthDay} 日 ${n}`;default:return`—`}}function Ce(e){if(e.type===`custom`)return e.customCron.trim()?N(e.customCron.trim())?null:`Cron 须为 5 字段`:`请填写 Cron 表达式`;try{return M(e),null}catch(e){return e instanceof Error?e.message:`执行周期无效`}}function z(e,t){for(let n of e.split(`,`)){if(n===`*`)return!0;if(n.startsWith(`*/`)){let e=parseInt(n.slice(2),10);if(e>0&&t%e===0)return!0;continue}if(n.includes(`-`)){let[e,r]=n.split(`-`,2),i=parseInt(e,10),a=parseInt(r,10);if(!Number.isNaN(i)&&!Number.isNaN(a)&&i<=t&&t<=a)return!0;continue}let e=parseInt(n,10);if(!Number.isNaN(e)&&(t===e||e===7&&t===0))return!0}return!1}function B(e,t){let n=e.trim().split(/\s+/);if(n.length!==5)return!1;let r=[t.getMinutes(),t.getHours(),t.getDate(),t.getMonth()+1,t.getDay()];return n.every((e,t)=>z(e,r[t]))}function we(e,t=new Date){let n=new Date(t);n.setSeconds(0,0),n.setMinutes(n.getMinutes()+1);let r=new Date(t.getTime()+366*24*60*60*1e3);for(;n<=r;){if(B(e,n))return new Date(n);n.setMinutes(n.getMinutes()+1)}return null}function Te(e,t){if(e?.trim())return I(e);if(t){let e=new Date(t);if(!Number.isNaN(e.getTime()))return{...A(),type:`day`,hour:e.getHours(),minute:e.getMinutes()}}return A()}function Ee(e,t,n){let r=R(Te(t,n));return e===`once`?`单次 · ${r}`:r}var V={class:`schedule-cycle-picker`},H={key:0,class:`cycle-type-fixed text-body-2`},U={class:`text-caption text-medium-emphasis mb-2`},W={key:6,class:`text-caption text-medium-emphasis`},G={key:0,class:`ms-1`},De=fe(l({__name:`ScheduleCyclePicker`,props:{modelValue:{},singleShot:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:t}){let i=e,a=t,l=Se,f=b(()=>i.singleShot===!0),p=b(()=>f.value?!0:[`day`,`day-n`,`week`,`month`].includes(i.modelValue.type)),ee=b(()=>f.value?`单次:当天指定时:分,在下一匹配时刻执行一次(不含日期选择)`:`循环:按重复方式与时:分持续执行`);d(()=>i.singleShot,e=>{e&&i.modelValue.type!==`custom`&&i.modelValue.type!==`day`&&a(`update:modelValue`,{...A(),...i.modelValue,type:`day`})},{immediate:!0});let m=b(()=>{try{return R(i.modelValue)}catch{return``}}),te=b(()=>{try{return i.modelValue.type===`custom`&&!i.modelValue.customCron.trim()?``:M(i.modelValue)}catch{return``}});function T(e,t,n){let r=Math.floor(Number(e));return Number.isNaN(r)?t:Math.min(n,Math.max(t,r))}function E(e){a(`update:modelValue`,{...i.modelValue,...e})}function ne(e){e&&a(`update:modelValue`,{...A(),...i.modelValue,type:e})}function re(){a(`update:modelValue`,{...A(),type:`day`})}return(t,i)=>(c(),C(`div`,V,[i[11]||=y(`div`,{class:`text-caption text-medium-emphasis mb-2`},`开始执行周期`,-1),w(r,{dense:``,class:`mb-2 align-center`},{default:u(()=>[w(n,{cols:`auto`,class:`cycle-type-col`},{default:u(()=>[f.value?(c(),C(`span`,H,`当天`)):(c(),v(le,{key:1,"model-value":e.modelValue.type===`custom`?null:e.modelValue.type,items:x(l),"item-title":`label`,"item-value":`value`,label:`重复方式`,variant:`outlined`,density:`compact`,"hide-details":``,class:`cycle-type-select`,"onUpdate:modelValue":ne},null,8,[`model-value`,`items`]))]),_:1}),p.value?(c(),C(_,{key:0},[w(n,{cols:`auto`,class:`time-col`},{default:u(()=>[w(D,{"model-value":e.modelValue.hour,label:`时`,type:`number`,min:`0`,max:`23`,variant:`outlined`,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[0]||=e=>E({hour:T(e,0,23)})},null,8,[`model-value`])]),_:1}),w(n,{cols:`auto`,class:`time-col`},{default:u(()=>[w(D,{"model-value":e.modelValue.minute,label:`分`,type:`number`,min:`0`,max:`59`,variant:`outlined`,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[1]||=e=>E({minute:T(e,0,59)})},null,8,[`model-value`])]),_:1})],64)):h(``,!0),!f.value&&(e.modelValue.type===`hour`||e.modelValue.type===`hour-n`)?(c(),v(n,{key:1,cols:`auto`,class:`time-col-wide`},{default:u(()=>[w(D,{"model-value":e.modelValue.minute,label:`第几分`,type:`number`,min:`0`,max:`59`,variant:`outlined`,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[2]||=e=>E({minute:T(e,0,59)})},null,8,[`model-value`])]),_:1})):h(``,!0)]),_:1}),y(`div`,U,S(ee.value),1),!f.value&&e.modelValue.type===`day-n`?(c(),v(D,{key:0,"model-value":e.modelValue.interval,label:`天数 N`,type:`number`,min:`1`,max:`365`,variant:`outlined`,density:`compact`,hint:`从每月 1 日起每 N 天执行(与宝塔一致)`,"persistent-hint":``,class:`mb-2`,"onUpdate:modelValue":i[3]||=e=>E({interval:T(e,1,365)})},null,8,[`model-value`])):h(``,!0),!f.value&&e.modelValue.type===`hour-n`?(c(),v(D,{key:1,"model-value":e.modelValue.interval,label:`小时 N`,type:`number`,min:`1`,max:`23`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[4]||=e=>E({interval:T(e,1,23)})},null,8,[`model-value`])):h(``,!0),!f.value&&e.modelValue.type===`minute-n`?(c(),v(D,{key:2,"model-value":e.modelValue.interval,label:`分钟 N`,type:`number`,min:x(1),max:`59`,variant:`outlined`,density:`compact`,hint:`从整点起每 N 分钟触发一次`,"persistent-hint":``,class:`mb-2`,"onUpdate:modelValue":i[5]||=e=>E({interval:T(e,x(1),59)})},null,8,[`model-value`,`min`])):h(``,!0),!f.value&&e.modelValue.type===`week`?(c(),v(le,{key:3,"model-value":e.modelValue.week,items:x(k),"item-title":`label`,"item-value":`value`,label:`星期`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[6]||=e=>E({week:T(e,0,6)})},null,8,[`model-value`,`items`])):h(``,!0),!f.value&&e.modelValue.type===`month`?(c(),v(D,{key:4,"model-value":e.modelValue.monthDay,label:`每月几号`,type:`number`,min:`1`,max:`31`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[7]||=e=>E({monthDay:T(e,1,31)})},null,8,[`model-value`])):h(``,!0),e.modelValue.type===`custom`?(c(),C(_,{key:5},[w(o,{type:`warning`,density:`compact`,variant:`tonal`,class:`mb-2 text-caption`},{default:u(()=>[...i[9]||=[g(` 当前 Cron 无法映射为可视化周期,可保留原表达式或改用上方周期类型重建。 `,-1)]]),_:1}),w(D,{"model-value":e.modelValue.customCron,label:`Cron 表达式(5 字段)`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[8]||=e=>E({customCron:String(e??``)})},null,8,[`model-value`]),w(s,{size:`small`,variant:`tonal`,color:`primary`,class:`mb-2`,onClick:re},{default:u(()=>[...i[10]||=[g(` 改用可视化周期 `,-1)]]),_:1})],64)):h(``,!0),m.value?(c(),C(`div`,W,[g(` 预览:`+S(m.value)+` `,1),te.value?(c(),C(`span`,G,`(`+S(te.value)+`)`,1)):h(``,!0)])):h(``,!0)]))}}),[[`__scopeId`,`data-v-f1c7b8d2`]]),Oe={class:`text-caption`},ke={key:0,class:`text-caption`},Ae={key:1,class:`text-caption`},je={class:`text-medium-emphasis`},Me={class:`text-caption text-medium-emphasis`},Ne={class:`text-caption text-medium-emphasis`},K=l({name:`SchedulesPage`,__name:`SchedulesPage`,setup(n){let r=[...ie],l=t(),{servers:d,loading:b,loadServers:fe}=de(),Se=ge(),k=ve(Se.uploadedSource),j=ee(Se),N=ee(k);function P(){j.clearUploadedSource(),j.clearValidatedSource()}async function F(e){P();let t=e.trim();t&&(j.sourcePath=t,await j.validateSourcePath())}let I=f(!1),L=f(null),R=f(null),z=f([]),B=f([]),V=f(1),H=f(0),U=f(20),W=f(!1),G=f(null),K=f(!1),q=f(``),J=f([]),Y=f({name:``,schedule_type:`push`,run_mode:`once`,cycle:A(),script_id:null,script_content:``,enabled:!0}),X=f(!1),Z=f(null),Pe=ne([{title:`名称`,key:`name`},{title:`类型`,key:`schedule_type`,width:80},{title:`模式`,key:`run_mode`,width:72},{title:`开始执行周期`,key:`cron_expr`,width:180},{title:`源文件 / 脚本`,key:`source_path`},{title:`服务器`,key:`server_count`,width:80},{title:`上次运行`,key:`last_run_at`,width:140},{title:`下次运行`,key:`next_run`,width:140},{title:`启用`,key:`enabled`,width:80},{title:`操作`,key:`actions`,width:200,align:`end`}]);function Q(e){if(Array.isArray(e))return e.map(e=>Number(e)).filter(e=>!Number.isNaN(e));if(typeof e==`string`&&e.trim())try{let t=JSON.parse(e);if(Array.isArray(t))return t.map(e=>Number(e)).filter(e=>!Number.isNaN(e))}catch{}return[]}function Fe(e){return Q(e).length}function Ie(e){if(e.script_id){let t=B.value.find(t=>t.id===e.script_id);return t?t.name:`脚本 #${e.script_id}`}let t=e.script_content?.trim();return t?t.length>48?`${t.slice(0,48)}…`:t:`—`}function Le(e){return{...e,server_ids:Q(e.server_ids)}}function Re(){let e=J.value;if(!Y.value.name.trim())throw Error(`请填写调度名称`);if(!e.length)throw Error(`请至少选择一台服务器`);let t={name:Y.value.name.trim(),schedule_type:Y.value.schedule_type,run_mode:Y.value.run_mode,server_ids:JSON.stringify(e),enabled:Y.value.enabled},n=Ce(Y.value.cycle);if(n)throw Error(n);let r=M(Y.value.cycle);if(t.cron_expr=r,Y.value.run_mode===`once`){let e=we(r);if(!e)throw Error(`无法计算单次执行时间,请检查开始执行周期`);t.fire_at=e.toISOString()}else t.fire_at=null;if(Y.value.schedule_type===`push`){let e=j.effectiveSourcePath();if(!e)throw j.sourcePath.trim()&&!j.validatedSource?Error(`请先点击「验证路径」确认 Nexus 主机上的源目录`):Error(`请上传源文件或验证 Nexus 主机源路径`);t.source_path=e}else{if(!Y.value.script_id&&!Y.value.script_content.trim())throw Error(`脚本调度须选择脚本库或填写命令内容`);Y.value.script_id&&(t.script_id=Y.value.script_id),Y.value.script_content.trim()&&(t.script_content=Y.value.script_content.trim())}return t}function ze(e){V.value=e,$()}function Be(e){U.value=e,V.value=1,$()}async function Ve(){try{B.value=(await p.getList(`/scripts/`)).items||[]}catch{B.value=[]}}async function $(e=!1){e||(I.value=!0);try{let e=((await p.getList(`/schedules/`)).items||[]).map(Le);H.value=e.length,z.value=re(e,V.value,U.value)}catch(e){z.value=[],H.value=0,l(O(e,`加载调度列表失败`),`error`)}finally{e||(I.value=!1)}}function He(e){G.value=e,q.value=``,P(),e?(J.value=Q(e.server_ids),Y.value={name:e.name,schedule_type:e.schedule_type===`script`?`script`:`push`,run_mode:e.run_mode===`cron`?`cron`:`once`,cycle:Te(e.cron_expr,e.fire_at),script_id:e.script_id??null,script_content:e.script_content||``,enabled:e.enabled},Y.value.schedule_type===`push`&&e.source_path&&F(e.source_path)):(J.value=[],Y.value={name:``,schedule_type:`push`,run_mode:`once`,cycle:A(),script_id:null,script_content:``,enabled:!0}),W.value=!0}async function Ue(){q.value=``,K.value=!0;try{let e=Re();G.value?await p.put(`/schedules/${G.value.id}`,e):await p.post(`/schedules/`,e),W.value=!1,$(),l(`保存成功`)}catch(e){let t=O(e,`保存失败`);q.value=t,l(t,`error`)}finally{K.value=!1}}async function We(e){L.value=e.id;try{await p.put(`/schedules/${e.id}`,{enabled:e.enabled}),$()}catch(t){e.enabled=!e.enabled,l(O(t,`操作失败`),`error`)}finally{L.value=null}}async function Ge(e){R.value=e.id;try{let t=Q(e.server_ids);e.schedule_type===`script`?(await p.post(`/scripts/exec`,{server_ids:t,script_id:e.script_id??void 0,command:e.script_content||void 0}),te(`已触发脚本执行`)):(await p.post(`/sync/files`,{source_path:e.source_path,server_ids:t,sync_mode:`incremental`}),l(`已触发推送`))}catch(e){l(O(e,`执行失败`),`error`)}finally{R.value=null}}function Ke(e){Z.value=e,X.value=!0}async function qe(){if(Z.value)try{await p.delete(`/schedules/${Z.value.id}`),X.value=!1,$(),l(`已删除`)}catch(e){l(O(e,`删除失败`),`error`)}}async function Je(e=!1){await Promise.all([$(e),fe({all:!0}),Ve()])}return E(e=>Je(e)),(t,n)=>(c(),v(e,{fluid:``,class:`pa-6`},{default:u(()=>[w(ce,{elevation:`0`,border:``,rounded:`lg`},{default:u(()=>[w(se,{class:`d-flex align-center text-h6`},{default:u(()=>[n[23]||=g(` 推送调度 `,-1),w(m),w(s,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:n[0]||=e=>He(null)},{default:u(()=>[...n[22]||=[g(`新建调度`,-1)]]),_:1})]),_:1}),w(ue,{items:z.value,headers:x(Pe),"items-length":H.value,loading:I.value,page:V.value,"items-per-page":U.value,"items-per-page-options":r,hover:``,density:`comfortable`,"onUpdate:page":ze,"onUpdate:itemsPerPage":Be},{"item.schedule_type":u(({item:e})=>[w(T,{size:`small`,variant:`tonal`,color:e.schedule_type===`script`?`secondary`:`primary`,label:``},{default:u(()=>[g(S(e.schedule_type===`script`?`脚本`:`推送`),1)]),_:2},1032,[`color`])]),"item.run_mode":u(({item:e})=>[y(`span`,Oe,S(e.run_mode===`once`?`单次`:`循环`),1)]),"item.cron_expr":u(({item:e})=>[w(T,{size:`small`,variant:`tonal`,label:``,"prepend-icon":`mdi-clock-outline`},{default:u(()=>[g(S(x(Ee)(e.run_mode,e.cron_expr,e.fire_at)),1)]),_:2},1024)]),"item.source_path":u(({item:e})=>[e.schedule_type===`script`?(c(),C(`span`,ke,S(Ie(e)),1)):(c(),C(`span`,Ae,S(e.source_path||`—`),1))]),"item.enabled":u(({item:e})=>[w(be,{modelValue:e.enabled,"onUpdate:modelValue":[t=>e.enabled=t,t=>We(e)],color:`primary`,density:`compact`,"hide-details":``,loading:L.value===e.id},null,8,[`modelValue`,`onUpdate:modelValue`,`loading`])]),"item.server_count":u(({item:e})=>[y(`span`,je,S(Fe(e.server_ids))+` 台`,1)]),"item.last_run_at":u(({item:e})=>[y(`span`,Me,S(e.last_run_at?x(a)(e.last_run_at):`从未运行`),1)]),"item.next_run":u(({item:e})=>[y(`span`,Ne,S(e.next_run?x(a)(e.next_run):`—`),1)]),"item.actions":u(({item:e})=>[w(s,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>He(e)},{default:u(()=>[...n[24]||=[g(`编辑`,-1)]]),_:1},8,[`onClick`]),w(s,{variant:`text`,size:`x-small`,density:`compact`,loading:R.value===e.id,onClick:t=>Ge(e)},{default:u(()=>[...n[25]||=[g(`立即执行`,-1)]]),_:1},8,[`loading`,`onClick`]),w(s,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>Ke(e)},{default:u(()=>[...n[26]||=[g(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":u(()=>[...n[27]||=[y(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无计划任务`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1}),w(pe,{modelValue:W.value,"onUpdate:modelValue":n[19]||=e=>W.value=e,"max-width":`800`,scrollable:``},{default:u(()=>[w(ce,{border:``},{default:u(()=>[w(se,null,{default:u(()=>[g(S(G.value?`编辑调度`:`新建调度`),1)]),_:1}),w(oe,null,{default:u(()=>[q.value?(c(),v(o,{key:0,type:`error`,density:`compact`,variant:`tonal`,class:`mb-3`,closable:``,"onClick:close":n[1]||=e=>q.value=``},{default:u(()=>[g(S(q.value),1)]),_:1})):h(``,!0),w(D,{modelValue:Y.value.name,"onUpdate:modelValue":n[2]||=e=>Y.value.name=e,label:`调度名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),w(i,{modelValue:Y.value.schedule_type,"onUpdate:modelValue":n[3]||=e=>Y.value.schedule_type=e,mandatory:``,density:`compact`,class:`mb-3`,color:`primary`},{default:u(()=>[w(s,{value:`push`,size:`small`},{default:u(()=>[...n[28]||=[g(`文件推送`,-1)]]),_:1}),w(s,{value:`script`,size:`small`},{default:u(()=>[...n[29]||=[g(`脚本执行`,-1)]]),_:1})]),_:1},8,[`modelValue`]),w(i,{modelValue:Y.value.run_mode,"onUpdate:modelValue":n[4]||=e=>Y.value.run_mode=e,mandatory:``,density:`compact`,class:`mb-3`,color:`primary`},{default:u(()=>[w(s,{value:`once`,size:`small`},{default:u(()=>[...n[30]||=[g(`单次执行`,-1)]]),_:1}),w(s,{value:`cron`,size:`small`},{default:u(()=>[...n[31]||=[g(`循环执行`,-1)]]),_:1})]),_:1},8,[`modelValue`]),w(De,{modelValue:Y.value.cycle,"onUpdate:modelValue":n[5]||=e=>Y.value.cycle=e,"single-shot":Y.value.run_mode===`once`,class:`mb-2`},null,8,[`modelValue`,`single-shot`]),w(o,{type:`info`,density:`compact`,variant:`tonal`,class:`mb-3 text-caption`},{default:u(()=>[...n[32]||=[g(` 单次执行选「当天」时:分;循环执行再选重复方式。同步模式、目标路径等按系统与各服务器配置。 `,-1)]]),_:1}),Y.value.schedule_type===`push`?(c(),C(_,{key:1},[w(_e,{class:`mb-2`,"uploaded-source":j.uploadedSource,"validated-source":j.validatedSource,"source-path":j.sourcePath,"onUpdate:sourcePath":n[6]||=e=>j.sourcePath=e,"source-path-validating":j.sourcePathValidating,"is-dragging":j.isDragging,"source-uploading":j.sourceUploading,onDragover:n[7]||=e=>j.isDragging=!0,onDragleave:n[8]||=e=>j.isDragging=!1,onDrop:j.handleFileDrop,onFileSelect:j.handleFileSelect,onZipExtractSelect:j.handleZipExtractSelect,onClear:j.clearUploadedSource,onClearValidated:j.clearValidatedSource,onValidate:j.validateSourcePath},null,8,[`uploaded-source`,`validated-source`,`source-path`,`source-path-validating`,`is-dragging`,`source-uploading`,`onDrop`,`onFileSelect`,`onZipExtractSelect`,`onClear`,`onClearValidated`,`onValidate`]),j.uploadedSource?(c(),v(me,{key:0,class:`mb-2`,"root-path":j.uploadedSource.sourcePath,"relative-path":N.relativePath,entries:N.entries,loading:N.loading,"selected-count":N.selectedCount,"all-selected":N.allSelected,"some-selected":N.someSelected,"is-selected":N.isSelected,"rename-open":N.renameOpen,"onUpdate:renameOpen":n[9]||=e=>N.renameOpen=e,"rename-value":N.renameValue,"onUpdate:renameValue":n[10]||=e=>N.renameValue=e,"rename-loading":N.renameLoading,"delete-open":N.deleteOpen,"onUpdate:deleteOpen":n[11]||=e=>N.deleteOpen=e,"delete-targets":N.deleteTargets,"delete-loading":N.deleteLoading,onRefresh:n[12]||=e=>N.refreshCurrent(),onGoRoot:N.goRoot,onOpenDir:N.openDirectory,onPreview:N.previewFile,onRename:N.openRename,onDelete:N.openDelete,onBatchDelete:N.openBatchDelete,onToggleSelect:N.toggleSelect,onToggleSelectAll:N.toggleSelectAll,onConfirmRename:N.confirmRename,onConfirmDelete:N.confirmDelete},null,8,[`root-path`,`relative-path`,`entries`,`loading`,`selected-count`,`all-selected`,`some-selected`,`is-selected`,`rename-open`,`rename-value`,`rename-loading`,`delete-open`,`delete-targets`,`delete-loading`,`onGoRoot`,`onOpenDir`,`onPreview`,`onRename`,`onDelete`,`onBatchDelete`,`onToggleSelect`,`onToggleSelectAll`,`onConfirmRename`,`onConfirmDelete`])):h(``,!0),w(he,{modelValue:N.previewOpen,"onUpdate:modelValue":n[13]||=e=>N.previewOpen=e,loading:N.previewLoading,result:N.previewResult},null,8,[`modelValue`,`loading`,`result`])],64)):(c(),C(_,{key:2},[w(le,{modelValue:Y.value.script_id,"onUpdate:modelValue":n[14]||=e=>Y.value.script_id=e,items:B.value,"item-title":`name`,"item-value":`id`,label:`脚本库(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),w(xe,{modelValue:Y.value.script_content,"onUpdate:modelValue":n[15]||=e=>Y.value.script_content=e,label:`命令内容(无脚本库时必填)`,variant:`outlined`,density:`compact`,rows:`4`,"auto-grow":``,class:`mb-2`},null,8,[`modelValue`])],64)),n[33]||=y(`div`,{class:`text-caption text-medium-emphasis mb-1`},`目标服务器(按分类选择)`,-1),w(ye,{modelValue:J.value,"onUpdate:modelValue":n[16]||=e=>J.value=e,servers:x(d),loading:x(b),"max-height":`320px`,class:`mb-2`},null,8,[`modelValue`,`servers`,`loading`]),w(be,{modelValue:Y.value.enabled,"onUpdate:modelValue":n[17]||=e=>Y.value.enabled=e,label:`启用`,color:`primary`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1}),w(ae,null,{default:u(()=>[w(m),w(s,{variant:`text`,onClick:n[18]||=e=>W.value=!1},{default:u(()=>[...n[34]||=[g(`取消`,-1)]]),_:1}),w(s,{color:`primary`,variant:`flat`,onClick:Ue,loading:K.value},{default:u(()=>[...n[35]||=[g(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(pe,{modelValue:X.value,"onUpdate:modelValue":n[21]||=e=>X.value=e,"max-width":`400`},{default:u(()=>[w(ce,{border:``},{default:u(()=>[w(se,null,{default:u(()=>[...n[36]||=[g(`确认删除`,-1)]]),_:1}),w(oe,null,{default:u(()=>[n[37]||=g(`确定要删除调度 `,-1),y(`strong`,null,S(Z.value?.name),1),n[38]||=g(` 吗?`,-1)]),_:1}),w(ae,null,{default:u(()=>[w(m),w(s,{variant:`text`,onClick:n[20]||=e=>X.value=!1},{default:u(()=>[...n[39]||=[g(`取消`,-1)]]),_:1}),w(s,{color:`error`,variant:`flat`,onClick:qe},{default:u(()=>[...n[40]||=[g(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{K as default}; \ No newline at end of file diff --git a/web/app/assets/SchedulesPage-TXjjFtcm.js b/web/app/assets/SchedulesPage-TXjjFtcm.js deleted file mode 100644 index df608ecc..00000000 --- a/web/app/assets/SchedulesPage-TXjjFtcm.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./useSnackbar-DaoOJlMz.js";import{n,t as r}from"./VRow-Wg9QrEcV.js";import{$ as i,Ht as a,N as o,P as s,Pr as c,Sr as l,Ur as u,Vr as d,Xr as f,Xt as p,Yr as ee,_ as m,_r as h,br as g,bt as te,dr as _,gr as v,hr as y,mr as b,ni as x,oi as S,vr as C,xr as w,y as T}from"./index-DZEQidkT.js";import{t as E}from"./usePageActivateRefresh-BmoMLdUi.js";import{n as ne,r as re,t as ie}from"./dataTable-esDY4cOk.js";import{a as ae,n as oe,r as se,t as ce}from"./VCard-DiTj681b.js";import{t as le}from"./VSelect-CzNpj4qJ.js";import{t as D}from"./VTextField-CvZimSXQ.js";import{t as ue}from"./VDataTableServer-C1V2iC3x.js";import{t as O}from"./apiError-BqTTIuLB.js";import{t as de}from"./useServerList-DTniLWx3.js";import{t as fe}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as pe}from"./VDialog-B2Te8j14.js";import{a as me,i as he,n as ge,r as _e,t as ve}from"./usePushStaging-whqVGN6i.js";import{t as ye}from"./ServerCategoryPicker-CZ_ad3il.js";import{t as be}from"./VSwitch-fZMfBV9n.js";import{t as xe}from"./VTextarea-tb0SPOpO.js";var Se=[{value:`day`,label:`当天`},{value:`day-n`,label:`每 N 天`},{value:`hour`,label:`每小时`},{value:`hour-n`,label:`每 N 小时`},{value:`minute-n`,label:`每 N 分钟`},{value:`week`,label:`每周`},{value:`month`,label:`每月`}],k=[{value:0,label:`周日`},{value:1,label:`周一`},{value:2,label:`周二`},{value:3,label:`周三`},{value:4,label:`周四`},{value:5,label:`周五`},{value:6,label:`周六`}];function A(){return{type:`day`,minute:0,hour:2,interval:2,week:1,monthDay:1,customCron:``}}function j(e,t,n){let r=Math.floor(Number(e));return Number.isNaN(r)?t:Math.min(n,Math.max(t,r))}function M(e){if(e.type===`custom`){let t=e.customCron.trim();if(!t)throw Error(`自定义 Cron 不能为空`);if(!N(t))throw Error(`Cron 须为 5 字段`);return t}let t=j(e.minute,0,59),n=j(e.hour,0,23);switch(e.type){case`day`:return`${t} ${n} * * *`;case`day-n`:return`${t} ${n} */${j(e.interval,1,365)} * *`;case`hour`:return`${t} * * * *`;case`hour-n`:return`${t} */${j(e.interval,1,23)} * * *`;case`minute-n`:return`*/${j(e.interval,1,59)} * * * *`;case`week`:return`${t} ${n} * * ${j(e.week,0,6)}`;case`month`:return`${t} ${n} ${j(e.monthDay,1,31)} * *`;default:throw Error(`未知执行周期类型`)}}function N(e){let t=e.trim().split(/\s+/);return t.length===5?t.every(e=>/^[\d*/,\-]+$/.test(e)):!1}function P(e){return e===`*`}function F(e){if(e===`*`)return{kind:`star`};if(e.startsWith(`*/`)){let t=parseInt(e.slice(2),10);if(!Number.isNaN(t)&&t>0)return{kind:`step`,step:t}}let t=parseInt(e,10);return Number.isNaN(t)?{kind:`star`}:{kind:`fixed`,value:t}}function I(e){let t=A(),n=(e||``).trim();if(!n)return t;let r=n.split(/\s+/);if(r.length!==5)return{...t,type:`custom`,customCron:n};let[i,a,o,s,c]=r;if(!P(s))return{...t,type:`custom`,customCron:n};let l=F(i),u=F(a),d=F(o),f=F(c);if(l.kind===`step`&&u.kind===`star`&&d.kind===`star`&&f.kind===`star`)return{...t,type:`minute-n`,interval:l.step};if(l.kind===`fixed`&&u.kind===`star`&&d.kind===`star`&&f.kind===`star`)return{...t,type:`hour`,minute:l.value};if(l.kind===`fixed`&&u.kind===`step`&&d.kind===`star`&&f.kind===`star`)return{...t,type:`hour-n`,minute:l.value,interval:u.step};if(l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`star`&&(f.kind===`fixed`||c===`7`)){let e=c===`7`?0:f.value;return{...t,type:`week`,minute:l.value,hour:u.value,week:e}}return l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`fixed`&&f.kind===`star`?{...t,type:`month`,minute:l.value,hour:u.value,monthDay:d.value}:l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`step`&&f.kind===`star`?{...t,type:`day-n`,minute:l.value,hour:u.value,interval:d.step}:l.kind===`fixed`&&u.kind===`fixed`&&d.kind===`star`&&f.kind===`star`?{...t,type:`day`,minute:l.value,hour:u.value}:{...t,type:`custom`,customCron:n}}function L(e){return String(e).padStart(2,`0`)}function R(e){let t=typeof e==`string`?I(e):e;if(t.type===`custom`)return t.customCron?`自定义: ${t.customCron}`:`—`;let n=`${L(t.hour)}:${L(t.minute)}`;switch(t.type){case`day`:return`当天 ${n}`;case`day-n`:return`每 ${t.interval} 天 ${n}`;case`hour`:return`每小时 第 ${t.minute} 分`;case`hour-n`:return`每 ${t.interval} 小时 第 ${t.minute} 分`;case`minute-n`:return`每 ${t.interval} 分钟`;case`week`:return`每周${k.find(e=>e.value===t.week)?.label||`周${t.week}`} ${n}`;case`month`:return`每月 ${t.monthDay} 日 ${n}`;default:return`—`}}function Ce(e){if(e.type===`custom`)return e.customCron.trim()?N(e.customCron.trim())?null:`Cron 须为 5 字段`:`请填写 Cron 表达式`;try{return M(e),null}catch(e){return e instanceof Error?e.message:`执行周期无效`}}function z(e,t){for(let n of e.split(`,`)){if(n===`*`)return!0;if(n.startsWith(`*/`)){let e=parseInt(n.slice(2),10);if(e>0&&t%e===0)return!0;continue}if(n.includes(`-`)){let[e,r]=n.split(`-`,2),i=parseInt(e,10),a=parseInt(r,10);if(!Number.isNaN(i)&&!Number.isNaN(a)&&i<=t&&t<=a)return!0;continue}let e=parseInt(n,10);if(!Number.isNaN(e)&&(t===e||e===7&&t===0))return!0}return!1}function B(e,t){let n=e.trim().split(/\s+/);if(n.length!==5)return!1;let r=[t.getMinutes(),t.getHours(),t.getDate(),t.getMonth()+1,t.getDay()];return n.every((e,t)=>z(e,r[t]))}function we(e,t=new Date){let n=new Date(t);n.setSeconds(0,0),n.setMinutes(n.getMinutes()+1);let r=new Date(t.getTime()+366*24*60*60*1e3);for(;n<=r;){if(B(e,n))return new Date(n);n.setMinutes(n.getMinutes()+1)}return null}function Te(e,t){if(e?.trim())return I(e);if(t){let e=new Date(t);if(!Number.isNaN(e.getTime()))return{...A(),type:`day`,hour:e.getHours(),minute:e.getMinutes()}}return A()}function Ee(e,t,n){let r=R(Te(t,n));return e===`once`?`单次 · ${r}`:r}var V={class:`schedule-cycle-picker`},H={key:0,class:`cycle-type-fixed text-body-2`},U={class:`text-caption text-medium-emphasis mb-2`},W={key:6,class:`text-caption text-medium-emphasis`},G={key:0,class:`ms-1`},De=fe(l({__name:`ScheduleCyclePicker`,props:{modelValue:{},singleShot:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:t}){let i=e,a=t,l=Se,f=b(()=>i.singleShot===!0),p=b(()=>f.value?!0:[`day`,`day-n`,`week`,`month`].includes(i.modelValue.type)),ee=b(()=>f.value?`单次:当天指定时:分,在下一匹配时刻执行一次(不含日期选择)`:`循环:按重复方式与时:分持续执行`);d(()=>i.singleShot,e=>{e&&i.modelValue.type!==`custom`&&i.modelValue.type!==`day`&&a(`update:modelValue`,{...A(),...i.modelValue,type:`day`})},{immediate:!0});let m=b(()=>{try{return R(i.modelValue)}catch{return``}}),te=b(()=>{try{return i.modelValue.type===`custom`&&!i.modelValue.customCron.trim()?``:M(i.modelValue)}catch{return``}});function T(e,t,n){let r=Math.floor(Number(e));return Number.isNaN(r)?t:Math.min(n,Math.max(t,r))}function E(e){a(`update:modelValue`,{...i.modelValue,...e})}function ne(e){e&&a(`update:modelValue`,{...A(),...i.modelValue,type:e})}function re(){a(`update:modelValue`,{...A(),type:`day`})}return(t,i)=>(c(),C(`div`,V,[i[11]||=y(`div`,{class:`text-caption text-medium-emphasis mb-2`},`开始执行周期`,-1),w(r,{dense:``,class:`mb-2 align-center`},{default:u(()=>[w(n,{cols:`auto`,class:`cycle-type-col`},{default:u(()=>[f.value?(c(),C(`span`,H,`当天`)):(c(),v(le,{key:1,"model-value":e.modelValue.type===`custom`?null:e.modelValue.type,items:x(l),"item-title":`label`,"item-value":`value`,label:`重复方式`,variant:`outlined`,density:`compact`,"hide-details":``,class:`cycle-type-select`,"onUpdate:modelValue":ne},null,8,[`model-value`,`items`]))]),_:1}),p.value?(c(),C(_,{key:0},[w(n,{cols:`auto`,class:`time-col`},{default:u(()=>[w(D,{"model-value":e.modelValue.hour,label:`时`,type:`number`,min:`0`,max:`23`,variant:`outlined`,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[0]||=e=>E({hour:T(e,0,23)})},null,8,[`model-value`])]),_:1}),w(n,{cols:`auto`,class:`time-col`},{default:u(()=>[w(D,{"model-value":e.modelValue.minute,label:`分`,type:`number`,min:`0`,max:`59`,variant:`outlined`,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[1]||=e=>E({minute:T(e,0,59)})},null,8,[`model-value`])]),_:1})],64)):h(``,!0),!f.value&&(e.modelValue.type===`hour`||e.modelValue.type===`hour-n`)?(c(),v(n,{key:1,cols:`auto`,class:`time-col-wide`},{default:u(()=>[w(D,{"model-value":e.modelValue.minute,label:`第几分`,type:`number`,min:`0`,max:`59`,variant:`outlined`,density:`compact`,"hide-details":``,"onUpdate:modelValue":i[2]||=e=>E({minute:T(e,0,59)})},null,8,[`model-value`])]),_:1})):h(``,!0)]),_:1}),y(`div`,U,S(ee.value),1),!f.value&&e.modelValue.type===`day-n`?(c(),v(D,{key:0,"model-value":e.modelValue.interval,label:`天数 N`,type:`number`,min:`1`,max:`365`,variant:`outlined`,density:`compact`,hint:`从每月 1 日起每 N 天执行(与宝塔一致)`,"persistent-hint":``,class:`mb-2`,"onUpdate:modelValue":i[3]||=e=>E({interval:T(e,1,365)})},null,8,[`model-value`])):h(``,!0),!f.value&&e.modelValue.type===`hour-n`?(c(),v(D,{key:1,"model-value":e.modelValue.interval,label:`小时 N`,type:`number`,min:`1`,max:`23`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[4]||=e=>E({interval:T(e,1,23)})},null,8,[`model-value`])):h(``,!0),!f.value&&e.modelValue.type===`minute-n`?(c(),v(D,{key:2,"model-value":e.modelValue.interval,label:`分钟 N`,type:`number`,min:x(1),max:`59`,variant:`outlined`,density:`compact`,hint:`从整点起每 N 分钟触发一次`,"persistent-hint":``,class:`mb-2`,"onUpdate:modelValue":i[5]||=e=>E({interval:T(e,x(1),59)})},null,8,[`model-value`,`min`])):h(``,!0),!f.value&&e.modelValue.type===`week`?(c(),v(le,{key:3,"model-value":e.modelValue.week,items:x(k),"item-title":`label`,"item-value":`value`,label:`星期`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[6]||=e=>E({week:T(e,0,6)})},null,8,[`model-value`,`items`])):h(``,!0),!f.value&&e.modelValue.type===`month`?(c(),v(D,{key:4,"model-value":e.modelValue.monthDay,label:`每月几号`,type:`number`,min:`1`,max:`31`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[7]||=e=>E({monthDay:T(e,1,31)})},null,8,[`model-value`])):h(``,!0),e.modelValue.type===`custom`?(c(),C(_,{key:5},[w(o,{type:`warning`,density:`compact`,variant:`tonal`,class:`mb-2 text-caption`},{default:u(()=>[...i[9]||=[g(` 当前 Cron 无法映射为可视化周期,可保留原表达式或改用上方周期类型重建。 `,-1)]]),_:1}),w(D,{"model-value":e.modelValue.customCron,label:`Cron 表达式(5 字段)`,variant:`outlined`,density:`compact`,class:`mb-2`,"onUpdate:modelValue":i[8]||=e=>E({customCron:String(e??``)})},null,8,[`model-value`]),w(s,{size:`small`,variant:`tonal`,color:`primary`,class:`mb-2`,onClick:re},{default:u(()=>[...i[10]||=[g(` 改用可视化周期 `,-1)]]),_:1})],64)):h(``,!0),m.value?(c(),C(`div`,W,[g(` 预览:`+S(m.value)+` `,1),te.value?(c(),C(`span`,G,`(`+S(te.value)+`)`,1)):h(``,!0)])):h(``,!0)]))}}),[[`__scopeId`,`data-v-f1c7b8d2`]]),Oe={class:`text-caption`},ke={class:`text-medium-emphasis`},Ae={class:`text-caption text-medium-emphasis`},je={class:`text-caption text-medium-emphasis`},K=l({name:`SchedulesPage`,__name:`SchedulesPage`,setup(n){let r=[...ie],l=t(),{servers:d,loading:b,loadServers:fe}=de(),Se=ge(),k=ve(Se.uploadedSource),j=ee(Se),N=ee(k);function P(){j.clearUploadedSource(),j.clearValidatedSource()}async function F(e){P();let t=e.trim();t&&(j.sourcePath=t,await j.validateSourcePath())}let I=f(!1),L=f(null),R=f(null),z=f([]),B=f([]),V=f(1),H=f(0),U=f(20),W=f(!1),G=f(null),K=f(!1),q=f(``),J=f([]),Y=f({name:``,schedule_type:`push`,run_mode:`once`,cycle:A(),script_id:null,script_content:``,enabled:!0}),X=f(!1),Z=f(null),Me=ne([{title:`名称`,key:`name`},{title:`类型`,key:`schedule_type`,width:80},{title:`模式`,key:`run_mode`,width:72},{title:`开始执行周期`,key:`cron_expr`,width:180},{title:`源文件 / 脚本`,key:`source_path`},{title:`服务器`,key:`server_count`,width:80},{title:`上次运行`,key:`last_run_at`,width:140},{title:`下次运行`,key:`next_run`,width:140},{title:`启用`,key:`enabled`,width:80},{title:`操作`,key:`actions`,width:200,align:`end`}]);function Q(e){if(Array.isArray(e))return e.map(e=>Number(e)).filter(e=>!Number.isNaN(e));if(typeof e==`string`&&e.trim())try{let t=JSON.parse(e);if(Array.isArray(t))return t.map(e=>Number(e)).filter(e=>!Number.isNaN(e))}catch{}return[]}function Ne(e){return Q(e).length}function Pe(e){return{...e,server_ids:Q(e.server_ids)}}function Fe(){let e=J.value;if(!Y.value.name.trim())throw Error(`请填写调度名称`);if(!e.length)throw Error(`请至少选择一台服务器`);let t={name:Y.value.name.trim(),schedule_type:Y.value.schedule_type,run_mode:Y.value.run_mode,server_ids:JSON.stringify(e),enabled:Y.value.enabled},n=Ce(Y.value.cycle);if(n)throw Error(n);let r=M(Y.value.cycle);if(t.cron_expr=r,Y.value.run_mode===`once`){let e=we(r);if(!e)throw Error(`无法计算单次执行时间,请检查开始执行周期`);t.fire_at=e.toISOString()}else t.fire_at=null;if(Y.value.schedule_type===`push`){let e=j.effectiveSourcePath();if(!e)throw j.sourcePath.trim()&&!j.validatedSource?Error(`请先点击「验证路径」确认 Nexus 主机上的源目录`):Error(`请上传源文件或验证 Nexus 主机源路径`);t.source_path=e}else{if(!Y.value.script_id&&!Y.value.script_content.trim())throw Error(`脚本调度须选择脚本库或填写命令内容`);Y.value.script_id&&(t.script_id=Y.value.script_id),Y.value.script_content.trim()&&(t.script_content=Y.value.script_content.trim())}return t}function Ie(e){V.value=e,$()}function Le(e){U.value=e,V.value=1,$()}async function Re(){try{B.value=(await p.getList(`/scripts/`)).items||[]}catch{B.value=[]}}async function $(e=!1){e||(I.value=!0);try{let e=((await p.getList(`/schedules/`)).items||[]).map(Pe);H.value=e.length,z.value=re(e,V.value,U.value)}catch(e){z.value=[],H.value=0,l(O(e,`加载调度列表失败`),`error`)}finally{e||(I.value=!1)}}function ze(e){G.value=e,q.value=``,P(),e?(J.value=Q(e.server_ids),Y.value={name:e.name,schedule_type:e.schedule_type===`script`?`script`:`push`,run_mode:e.run_mode===`cron`?`cron`:`once`,cycle:Te(e.cron_expr,e.fire_at),script_id:e.script_id??null,script_content:e.script_content||``,enabled:e.enabled},Y.value.schedule_type===`push`&&e.source_path&&F(e.source_path)):(J.value=[],Y.value={name:``,schedule_type:`push`,run_mode:`once`,cycle:A(),script_id:null,script_content:``,enabled:!0}),W.value=!0}async function Be(){q.value=``,K.value=!0;try{let e=Fe();G.value?await p.put(`/schedules/${G.value.id}`,e):await p.post(`/schedules/`,e),W.value=!1,$(),l(`保存成功`)}catch(e){let t=O(e,`保存失败`);q.value=t,l(t,`error`)}finally{K.value=!1}}async function Ve(e){L.value=e.id;try{await p.put(`/schedules/${e.id}`,{enabled:e.enabled}),$()}catch(t){e.enabled=!e.enabled,l(O(t,`操作失败`),`error`)}finally{L.value=null}}async function He(e){R.value=e.id;try{let t=Q(e.server_ids);e.schedule_type===`script`?(await p.post(`/scripts/exec`,{server_ids:t,script_id:e.script_id??void 0,command:e.script_content||void 0}),te(`已触发脚本执行`)):(await p.post(`/sync/files`,{source_path:e.source_path,server_ids:t,sync_mode:`incremental`}),l(`已触发推送`))}catch(e){l(O(e,`执行失败`),`error`)}finally{R.value=null}}function Ue(e){Z.value=e,X.value=!0}async function We(){if(Z.value)try{await p.delete(`/schedules/${Z.value.id}`),X.value=!1,$(),l(`已删除`)}catch(e){l(O(e,`删除失败`),`error`)}}async function Ge(e=!1){await Promise.all([$(e),fe({all:!0}),Re()])}return E(e=>Ge(e)),(t,n)=>(c(),v(e,{fluid:``,class:`pa-6`},{default:u(()=>[w(ce,{elevation:`0`,border:``,rounded:`lg`},{default:u(()=>[w(se,{class:`d-flex align-center text-h6`},{default:u(()=>[n[23]||=g(` 推送调度 `,-1),w(m),w(s,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:n[0]||=e=>ze(null)},{default:u(()=>[...n[22]||=[g(`新建调度`,-1)]]),_:1})]),_:1}),w(ue,{items:z.value,headers:x(Me),"items-length":H.value,loading:I.value,page:V.value,"items-per-page":U.value,"items-per-page-options":r,hover:``,density:`comfortable`,"onUpdate:page":Ie,"onUpdate:itemsPerPage":Le},{"item.schedule_type":u(({item:e})=>[w(T,{size:`small`,variant:`tonal`,color:e.schedule_type===`script`?`secondary`:`primary`,label:``},{default:u(()=>[g(S(e.schedule_type===`script`?`脚本`:`推送`),1)]),_:2},1032,[`color`])]),"item.run_mode":u(({item:e})=>[y(`span`,Oe,S(e.run_mode===`once`?`单次`:`循环`),1)]),"item.cron_expr":u(({item:e})=>[w(T,{size:`small`,variant:`tonal`,label:``,"prepend-icon":`mdi-clock-outline`},{default:u(()=>[g(S(x(Ee)(e.run_mode,e.cron_expr,e.fire_at)),1)]),_:2},1024)]),"item.enabled":u(({item:e})=>[w(be,{modelValue:e.enabled,"onUpdate:modelValue":[t=>e.enabled=t,t=>Ve(e)],color:`primary`,density:`compact`,"hide-details":``,loading:L.value===e.id},null,8,[`modelValue`,`onUpdate:modelValue`,`loading`])]),"item.server_count":u(({item:e})=>[y(`span`,ke,S(Ne(e.server_ids))+` 台`,1)]),"item.last_run_at":u(({item:e})=>[y(`span`,Ae,S(e.last_run_at?x(a)(e.last_run_at):`从未运行`),1)]),"item.next_run":u(({item:e})=>[y(`span`,je,S(e.next_run?x(a)(e.next_run):`—`),1)]),"item.actions":u(({item:e})=>[w(s,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>ze(e)},{default:u(()=>[...n[24]||=[g(`编辑`,-1)]]),_:1},8,[`onClick`]),w(s,{variant:`text`,size:`x-small`,density:`compact`,loading:R.value===e.id,onClick:t=>He(e)},{default:u(()=>[...n[25]||=[g(`立即执行`,-1)]]),_:1},8,[`loading`,`onClick`]),w(s,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>Ue(e)},{default:u(()=>[...n[26]||=[g(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":u(()=>[...n[27]||=[y(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无计划任务`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1}),w(pe,{modelValue:W.value,"onUpdate:modelValue":n[19]||=e=>W.value=e,"max-width":`800`,scrollable:``},{default:u(()=>[w(ce,{border:``},{default:u(()=>[w(se,null,{default:u(()=>[g(S(G.value?`编辑调度`:`新建调度`),1)]),_:1}),w(oe,null,{default:u(()=>[q.value?(c(),v(o,{key:0,type:`error`,density:`compact`,variant:`tonal`,class:`mb-3`,closable:``,"onClick:close":n[1]||=e=>q.value=``},{default:u(()=>[g(S(q.value),1)]),_:1})):h(``,!0),w(D,{modelValue:Y.value.name,"onUpdate:modelValue":n[2]||=e=>Y.value.name=e,label:`调度名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),w(i,{modelValue:Y.value.schedule_type,"onUpdate:modelValue":n[3]||=e=>Y.value.schedule_type=e,mandatory:``,density:`compact`,class:`mb-3`,color:`primary`},{default:u(()=>[w(s,{value:`push`,size:`small`},{default:u(()=>[...n[28]||=[g(`文件推送`,-1)]]),_:1}),w(s,{value:`script`,size:`small`},{default:u(()=>[...n[29]||=[g(`脚本执行`,-1)]]),_:1})]),_:1},8,[`modelValue`]),w(i,{modelValue:Y.value.run_mode,"onUpdate:modelValue":n[4]||=e=>Y.value.run_mode=e,mandatory:``,density:`compact`,class:`mb-3`,color:`primary`},{default:u(()=>[w(s,{value:`once`,size:`small`},{default:u(()=>[...n[30]||=[g(`单次执行`,-1)]]),_:1}),w(s,{value:`cron`,size:`small`},{default:u(()=>[...n[31]||=[g(`循环执行`,-1)]]),_:1})]),_:1},8,[`modelValue`]),w(De,{modelValue:Y.value.cycle,"onUpdate:modelValue":n[5]||=e=>Y.value.cycle=e,"single-shot":Y.value.run_mode===`once`,class:`mb-2`},null,8,[`modelValue`,`single-shot`]),w(o,{type:`info`,density:`compact`,variant:`tonal`,class:`mb-3 text-caption`},{default:u(()=>[...n[32]||=[g(` 单次执行选「当天」时:分;循环执行再选重复方式。同步模式、目标路径等按系统与各服务器配置。 `,-1)]]),_:1}),Y.value.schedule_type===`push`?(c(),C(_,{key:1},[w(_e,{class:`mb-2`,"uploaded-source":j.uploadedSource,"validated-source":j.validatedSource,"source-path":j.sourcePath,"onUpdate:sourcePath":n[6]||=e=>j.sourcePath=e,"source-path-validating":j.sourcePathValidating,"is-dragging":j.isDragging,"source-uploading":j.sourceUploading,onDragover:n[7]||=e=>j.isDragging=!0,onDragleave:n[8]||=e=>j.isDragging=!1,onDrop:j.handleFileDrop,onFileSelect:j.handleFileSelect,onZipExtractSelect:j.handleZipExtractSelect,onClear:j.clearUploadedSource,onClearValidated:j.clearValidatedSource,onValidate:j.validateSourcePath},null,8,[`uploaded-source`,`validated-source`,`source-path`,`source-path-validating`,`is-dragging`,`source-uploading`,`onDrop`,`onFileSelect`,`onZipExtractSelect`,`onClear`,`onClearValidated`,`onValidate`]),j.uploadedSource?(c(),v(me,{key:0,class:`mb-2`,"root-path":j.uploadedSource.sourcePath,"relative-path":N.relativePath,entries:N.entries,loading:N.loading,"selected-count":N.selectedCount,"all-selected":N.allSelected,"some-selected":N.someSelected,"is-selected":N.isSelected,"rename-open":N.renameOpen,"onUpdate:renameOpen":n[9]||=e=>N.renameOpen=e,"rename-value":N.renameValue,"onUpdate:renameValue":n[10]||=e=>N.renameValue=e,"rename-loading":N.renameLoading,"delete-open":N.deleteOpen,"onUpdate:deleteOpen":n[11]||=e=>N.deleteOpen=e,"delete-targets":N.deleteTargets,"delete-loading":N.deleteLoading,onRefresh:n[12]||=e=>N.refreshCurrent(),onGoRoot:N.goRoot,onOpenDir:N.openDirectory,onPreview:N.previewFile,onRename:N.openRename,onDelete:N.openDelete,onBatchDelete:N.openBatchDelete,onToggleSelect:N.toggleSelect,onToggleSelectAll:N.toggleSelectAll,onConfirmRename:N.confirmRename,onConfirmDelete:N.confirmDelete},null,8,[`root-path`,`relative-path`,`entries`,`loading`,`selected-count`,`all-selected`,`some-selected`,`is-selected`,`rename-open`,`rename-value`,`rename-loading`,`delete-open`,`delete-targets`,`delete-loading`,`onGoRoot`,`onOpenDir`,`onPreview`,`onRename`,`onDelete`,`onBatchDelete`,`onToggleSelect`,`onToggleSelectAll`,`onConfirmRename`,`onConfirmDelete`])):h(``,!0),w(he,{modelValue:N.previewOpen,"onUpdate:modelValue":n[13]||=e=>N.previewOpen=e,loading:N.previewLoading,result:N.previewResult},null,8,[`modelValue`,`loading`,`result`])],64)):(c(),C(_,{key:2},[w(le,{modelValue:Y.value.script_id,"onUpdate:modelValue":n[14]||=e=>Y.value.script_id=e,items:B.value,"item-title":`name`,"item-value":`id`,label:`脚本库(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),w(xe,{modelValue:Y.value.script_content,"onUpdate:modelValue":n[15]||=e=>Y.value.script_content=e,label:`命令内容(无脚本库时必填)`,variant:`outlined`,density:`compact`,rows:`4`,"auto-grow":``,class:`mb-2`},null,8,[`modelValue`])],64)),n[33]||=y(`div`,{class:`text-caption text-medium-emphasis mb-1`},`目标服务器(按分类选择)`,-1),w(ye,{modelValue:J.value,"onUpdate:modelValue":n[16]||=e=>J.value=e,servers:x(d),loading:x(b),"max-height":`320px`,class:`mb-2`},null,8,[`modelValue`,`servers`,`loading`]),w(be,{modelValue:Y.value.enabled,"onUpdate:modelValue":n[17]||=e=>Y.value.enabled=e,label:`启用`,color:`primary`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1}),w(ae,null,{default:u(()=>[w(m),w(s,{variant:`text`,onClick:n[18]||=e=>W.value=!1},{default:u(()=>[...n[34]||=[g(`取消`,-1)]]),_:1}),w(s,{color:`primary`,variant:`flat`,onClick:Be,loading:K.value},{default:u(()=>[...n[35]||=[g(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(pe,{modelValue:X.value,"onUpdate:modelValue":n[21]||=e=>X.value=e,"max-width":`400`},{default:u(()=>[w(ce,{border:``},{default:u(()=>[w(se,null,{default:u(()=>[...n[36]||=[g(`确认删除`,-1)]]),_:1}),w(oe,null,{default:u(()=>[n[37]||=g(`确定要删除调度 `,-1),y(`strong`,null,S(Z.value?.name),1),n[38]||=g(` 吗?`,-1)]),_:1}),w(ae,null,{default:u(()=>[w(m),w(s,{variant:`text`,onClick:n[20]||=e=>X.value=!1},{default:u(()=>[...n[39]||=[g(`取消`,-1)]]),_:1}),w(s,{color:`error`,variant:`flat`,onClick:We},{default:u(()=>[...n[40]||=[g(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{K as default}; \ No newline at end of file diff --git a/web/app/assets/ScriptRunsPage-C9JlCCAZ.js b/web/app/assets/ScriptRunsPage-C9JlCCAZ.js deleted file mode 100644 index b9d16ef7..00000000 --- a/web/app/assets/ScriptRunsPage-C9JlCCAZ.js +++ /dev/null @@ -1,4 +0,0 @@ -import{a as e}from"./VDataTable-JI1AS0YS.js";import{n as t,t as n}from"./useSnackbar-DaoOJlMz.js";import{n as r,t as i}from"./VRow-Wg9QrEcV.js";import{$ as a,At as o,Bt as ee,Dt as s,Et as c,Ft as te,Ht as ne,Ir as l,It as re,Lt as ie,Mr as ae,N as oe,Nr as se,Or as ce,Ot as le,P as u,Pr as d,Pt as ue,Rt as de,Sr as fe,Ur as f,Vr as p,Vt as pe,Xr as m,Xt as h,Y as me,_ as he,_r as g,br as _,bt as ge,dr as v,en as _e,gr as y,hr as b,ii as ve,jt as ye,mr as x,ni as S,oi as C,tn as be,ur as xe,v as Se,vr as w,xr as T,y as E,zt as Ce}from"./index-DZEQidkT.js";import{n as we}from"./dataTable-esDY4cOk.js";import{n as Te,t as D}from"./VCard-DiTj681b.js";import{t as Ee}from"./VSelect-CzNpj4qJ.js";import{t as De}from"./VDataTableServer-C1V2iC3x.js";import{t as O}from"./apiError-BqTTIuLB.js";import{t as Oe}from"./useServerList-DTniLWx3.js";import{t as ke}from"./paginatedFetch-DB49B9Xn.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Ae,t as je}from"./execDetailGrouping-DLvg5pqf.js";import{i as Me,n as Ne,r as Pe,t as Fe}from"./VExpansionPanels-CGDaaYev.js";var Ie={class:`d-flex align-center flex-wrap ga-2 mb-4`},Le={class:`text-h6`},Re={class:`text-caption text-medium-emphasis mb-2`},ze={key:0,class:`text-body-2 mb-3 pa-3 rounded bg-surface-variant overflow-auto`,style:{"max-height":`100px`}},Be={key:2,class:`d-flex flex-wrap ga-2 mb-3`},Ve={class:`text-body-2`},He={class:`d-flex align-center flex-wrap ga-2 mb-3`},Ue=[`onClick`],We={class:`font-weight-medium`},Ge={key:0,class:`text-caption text-medium-emphasis`},Ke=[`title`],qe={key:0},Je={class:`d-flex align-center ga-2 flex-grow-1 min-width-0`},Ye=[`title`],Xe={key:0,class:`text-medium-emphasis`},Ze={class:`d-flex align-center flex-wrap ga-2 mb-4`},Qe={class:`text-caption text-medium-emphasis`},A=k(fe({name:`ScriptRunsPage`,__name:`ScriptRunsPage`,setup(fe){let k=_e(),A=be(),j=n(),{servers:$e,loadServers:M}=Oe(),N=x(()=>{let e=k.params.id;if(!e)return null;let t=Number(e);return Number.isFinite(t)?t:null}),P=x(()=>le(k.query.kind)),et=x(()=>`${P.value===`server_batch`?`服务器任务`:`脚本执行`} #${N.value??``}`),F=m(!1),I=m([]),L=m(0),R=m(1),z=m(20),B=m(null),V=m(null),tt=[{title:`执行中`,value:`running`},{title:`已完成`,value:`completed`},{title:`部分成功`,value:`partial`},{title:`失败`,value:`failed`},{title:`已取消`,value:`cancelled`}],nt=[{title:`脚本`,value:`script`},{title:`服务器`,value:`server_batch`}],rt=we([{title:`ID`,key:`id`,width:72},{title:`类型`,key:`kind`,width:88},{title:`任务`,key:`label`},{title:`状态`,key:`status`,width:100},{title:`进度`,key:`progress`,width:88},{title:`台数`,key:`server_count`,width:72},{title:`操作人`,key:`operator`,width:88},{title:`开始时间`,key:`started_at`,width:168},{title:`操作`,key:`actions`,width:88}]),H=m(null),U=m(!1),W=m(`all`),G=m(`list`),it=m(null),at=m([]),K=null,ot=x(()=>new Map($e.value.map(e=>[e.id,e])));function st(e){return e||`—`}function ct(e){if(!e)return 0;try{let t=JSON.parse(e);return Array.isArray(t)?t.length:0}catch{return 0}}function lt(e){if(e.label)return e.label;let t=(e.command||``).replace(/^\[long_task\] /,``);return t.length>48?t.slice(0,48)+`…`:t||`执行 #${e.id}`}function ut(e){let t=(e.stderr||``).trim(),n=(e.stdout||``).trim(),r=(e.message||``).trim(),i=t||n||r||`—`;return{summary:(t||r||n||``).slice(0,200)||`—`,full:i}}let q=x(()=>{if(!H.value?.results)return[];let e=ot.value;return Object.entries(H.value.results).filter(([e])=>e!==`_meta`&&/^\d+$/.test(e)).map(([t,n])=>{let r=Number(t),i=e.get(r),a=String(n.status||``),o=n.phase?String(n.phase):void 0,s=n.exit_code??null,c=ut(n);return{serverId:t,serverIdNum:r,serverName:ee(t,H.value?.server_names,i?.name),serverDomain:i?.domain||``,status:a,phase:o,exitCode:s,summary:c.summary,fullOutput:c.full,failed:de(a,o,s),pending:Ce(o)}})}),dt=x(()=>W.value===`failed`?q.value.filter(e=>e.failed):W.value===`success`?q.value.filter(e=>!e.failed&&!e.pending):q.value),J=x(()=>pe(H.value?.results,H.value?.server_ids)),Y=x(()=>q.value.filter(e=>e.failed).map(e=>e.serverName)),X=x(()=>je(q.value.filter(e=>e.failed)));async function Z(e=!1){e||(F.value=!0);try{let e=await ke(async(e,t)=>{let n={limit:e,offset:t};B.value&&(n.status=B.value),V.value&&(n.kind=V.value);let r=await h.get(`/execution-records`,n);return{items:r.items||[],total:r.total||0}},R.value,z.value);I.value=e.items,L.value=e.total}catch(t){e||(I.value=[],L.value=0,j(O(t,`加载失败`),`error`))}finally{e||(F.value=!1)}}function ft(e){R.value=e,Z()}function pt(e){z.value=e,R.value=1,Z()}function mt(e){A.push(s(e.id,e.kind))}async function Q(e=!1,t=!1){if(N.value){t||(U.value=!0);try{let t=new URLSearchParams({kind:P.value});e&&P.value===`script`&&t.set(`fetch_logs`,`true`),H.value=await h.get(`/execution-records/${N.value}?${t.toString()}`),H.value?.status===`running`?ht():$()}catch(e){t||j(O(e,`加载详情失败`),`error`)}finally{t||(U.value=!1)}}}function ht(){K||=setInterval(()=>{Q(!1,!0)},3e3)}function $(){K&&=(clearInterval(K),null)}function gt(e){it.value=it.value===e?null:e}function _t(e){A.push({path:`/terminal`,query:{server_id:String(e)}})}async function vt(){if(N.value)try{await h.post(`/scripts/executions/${N.value}/stop`),await Q(!1),j(`已发送停止指令`)}catch(e){j(O(e,`停止失败`),`error`)}}async function yt(){if(N.value)try{let e=await h.post(`/scripts/executions/${N.value}/retry`,{}),t=ct(e.server_ids);ye(e.id,`${lt(e)}(重试)`,t,!!e.long_task,e.progress,e.status),ge(`重试已提交 #${e.id}`),A.push(s(e.id,`script`))}catch(e){j(O(e,`重试失败`),`error`)}}function bt(e){let t=e.serverDomain?` (${e.serverDomain})`:``,n=e.exitCode==null?``:` · exit ${e.exitCode}`,r=e.summary.split(` -`)[0]?.trim()||e.summary,i=r&&r!==`—`?` · ${r.slice(0,120)}`:``;return`- ${e.serverName}${t}${n}${i}`}async function xt(e,t){try{await navigator.clipboard.writeText(e),j(t)}catch{j(`复制失败`,`error`)}}async function St(){let e=q.value.filter(e=>e.failed);e.length&&await xt([`执行 #${N.value} · 失败 ${e.length} 台`,...e.map(bt)].join(` -`),`已复制失败清单`)}async function Ct(){let e=X.value;if(!e.length)return;let t=[`执行 #${N.value} · 失败分组 ${e.length} 类`];for(let n of e){t.push(`\n[${n.count} 台] ${n.errorKey}`);for(let e of n.rows.slice(0,20))t.push(` - ${e.serverName}`);n.rows.length>20&&t.push(` …及其他 ${n.rows.length-20} 台`)}await xt(t.join(` -`),`已复制分组摘要`)}p(B,()=>{R.value=1,Z()}),p(V,()=>{R.value=1,Z()}),p([N,P],([e])=>{$(),H.value=null,e?(W.value=`all`,G.value=`list`,Q(!1)):Z()},{immediate:!0}),Ae(e=>Z(e),{enabled:()=>!N.value});let wt=o(()=>{N.value?Q(!1,!0):Z(!0)}),Tt=!1;return ae(async()=>{await M({all:!0}),Tt=!0}),ce(async()=>{Tt&&(await M({all:!0}),N.value?await Q(!1,!0):await Z(!0))}),se(()=>{$(),wt()}),(n,o)=>(d(),y(t,{fluid:``,class:`pa-4`},{default:f(()=>[N.value?(d(),w(v,{key:0},[b(`div`,Ie,[T(u,{variant:`text`,"prepend-icon":`mdi-arrow-left`,onClick:o[0]||=e=>S(A).push(`/executions`)},{default:f(()=>[...o[8]||=[_(` 返回列表 `,-1)]]),_:1}),b(`h1`,Le,C(et.value),1),H.value?(d(),y(E,{key:0,color:S(re)(H.value.status),size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(ie)(H.value.status)),1)]),_:1},8,[`color`])):g(``,!0),T(he),H.value?.long_task&&P.value===`script`?(d(),y(u,{key:1,size:`small`,variant:`tonal`,loading:U.value,onClick:o[1]||=e=>Q(!0)},{default:f(()=>[...o[9]||=[_(` 拉取日志 `,-1)]]),_:1},8,[`loading`])):g(``,!0),P.value===`script`&&H.value&&(H.value.status===`running`||H.value.status===`partial`)?(d(),y(u,{key:2,size:`small`,variant:`text`,color:`error`,onClick:vt},{default:f(()=>[...o[10]||=[_(` 停止 `,-1)]]),_:1})):g(``,!0),P.value===`script`&&H.value&&(H.value.status===`failed`||H.value.status===`partial`)?(d(),y(u,{key:3,size:`small`,variant:`tonal`,color:`primary`,onClick:yt},{default:f(()=>[...o[11]||=[_(` 重试失败项 `,-1)]]),_:1})):g(``,!0)]),U.value&&!H.value?(d(),y(D,{key:0,elevation:`0`,border:``,rounded:`lg`,class:`pa-8 text-center`},{default:f(()=>[T(me,{indeterminate:``,color:`primary`})]),_:1})):H.value?(d(),y(D,{key:1,elevation:`0`,border:``,rounded:`lg`},{default:f(()=>[T(Te,null,{default:f(()=>[b(`div`,Re,C(st(H.value.progress))+` · 操作人 `+C(H.value.operator||`—`),1),P.value===`script`?(d(),w(`pre`,ze,C(H.value.command),1)):(d(),y(E,{key:1,size:`small`,variant:`tonal`,color:`info`,class:`mb-3`,label:``},{default:f(()=>[_(C(S(c)(P.value))+` · `+C(H.value.label||H.value.op||`—`),1)]),_:1})),J.value.total?(d(),w(`div`,Be,[T(E,{size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(`共 `+C(J.value.total)+` 台`,1)]),_:1}),J.value.success?(d(),y(E,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(` 成功 `+C(J.value.success),1)]),_:1})):g(``,!0),J.value.failed?(d(),y(E,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(` 失败 `+C(J.value.failed),1)]),_:1})):g(``,!0),J.value.pending?(d(),y(E,{key:2,color:`info`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(` 进行中 `+C(J.value.pending),1)]),_:1})):g(``,!0)])):g(``,!0),Y.value.length?(d(),y(oe,{key:3,type:`error`,variant:`tonal`,density:`compact`,class:`mb-3`,title:`失败 ${Y.value.length} 台`},{default:f(()=>[b(`div`,Ve,C(Y.value.join(`、`)),1)]),_:1},8,[`title`])):g(``,!0),b(`div`,He,[o[20]||=b(`span`,{class:`text-caption text-medium-emphasis`},`筛选`,-1),T(a,{modelValue:W.value,"onUpdate:modelValue":o[2]||=e=>W.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:f(()=>[T(u,{value:`all`,size:`small`},{default:f(()=>[...o[12]||=[_(`全部`,-1)]]),_:1}),T(u,{value:`failed`,size:`small`},{default:f(()=>[...o[13]||=[_(`仅失败`,-1)]]),_:1}),T(u,{value:`success`,size:`small`},{default:f(()=>[...o[14]||=[_(`仅成功`,-1)]]),_:1})]),_:1},8,[`modelValue`]),J.value.failed>0?(d(),w(v,{key:0},[T(Se,{vertical:``,class:`mx-1`}),o[19]||=b(`span`,{class:`text-caption text-medium-emphasis`},`视图`,-1),T(a,{modelValue:G.value,"onUpdate:modelValue":o[3]||=e=>G.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:f(()=>[T(u,{value:`list`,size:`small`},{default:f(()=>[...o[15]||=[_(`列表`,-1)]]),_:1}),T(u,{value:`group`,size:`small`},{default:f(()=>[...o[16]||=[_(`按错误分组`,-1)]]),_:1})]),_:1},8,[`modelValue`]),T(u,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:St},{default:f(()=>[...o[17]||=[_(` 复制失败清单 `,-1)]]),_:1}),G.value===`group`?(d(),y(u,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Ct},{default:f(()=>[...o[18]||=[_(` 复制分组摘要 `,-1)]]),_:1})):g(``,!0)],64)):g(``,!0)]),G.value===`list`?(d(),y(e,{key:4,density:`compact`},{default:f(()=>[o[22]||=b(`thead`,null,[b(`tr`,null,[b(`th`,null,`服务器`),b(`th`,null,`状态`),b(`th`,{style:{width:`72px`}},`退出码`),b(`th`,null,`错误摘要`),b(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),b(`tbody`,null,[(d(!0),w(v,null,l(dt.value,e=>(d(),w(`tr`,{key:e.serverId,class:ve([{"exec-detail-row--failed":e.failed},`cursor-pointer`]),onClick:t=>gt(e.serverId)},[b(`td`,null,[b(`div`,We,C(e.serverName),1),e.serverDomain?(d(),w(`div`,Ge,C(e.serverDomain),1)):g(``,!0)]),b(`td`,null,[T(E,{color:S(ue)(e.status,e.phase,e.exitCode),size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(te)(e.status,e.phase)),1)]),_:2},1032,[`color`])]),b(`td`,{class:ve({"text-error font-weight-medium":e.failed})},C(e.exitCode??`—`),3),b(`td`,{class:`text-truncate`,style:{"max-width":`280px`},title:e.summary},C(e.summary),9,Ke),b(`td`,{class:`text-end`,onClick:o[4]||=xe(()=>{},[`stop`])},[T(u,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>_t(e.serverIdNum)},null,8,[`onClick`])])],10,Ue))),128)),dt.value.length===0?(d(),w(`tr`,qe,[...o[21]||=[b(`td`,{colspan:`5`,class:`text-center text-medium-emphasis py-4`},`当前筛选无记录`,-1)]])):g(``,!0)])]),_:1})):X.value.length?(d(),y(Fe,{key:5,modelValue:at.value,"onUpdate:modelValue":o[5]||=e=>at.value=e,multiple:``,variant:`accordion`},{default:f(()=>[(d(!0),w(v,null,l(X.value,(e,t)=>(d(),y(Ne,{key:`${t}-${e.errorKey}`},{default:f(()=>[T(Pe,null,{default:f(()=>[b(`div`,Je,[b(`span`,{class:`text-body-2 text-truncate`,title:e.errorKey},C(e.errorKey),9,Ye),T(E,{color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(e.count)+` 台`,1)]),_:2},1024)])]),_:2},1024),T(Me,null,{default:f(()=>[(d(!0),w(v,null,l(e.rows,e=>(d(),w(`div`,{key:e.serverId,class:`text-body-2 py-1`},[_(C(e.serverName)+` `,1),e.serverDomain?(d(),w(`span`,Xe,`(`+C(e.serverDomain)+`)`,1)):g(``,!0)]))),128))]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`])):g(``,!0)]),_:1})]),_:1})):g(``,!0)],64)):(d(),w(v,{key:1},[b(`div`,Ze,[o[24]||=b(`h1`,{class:`text-h6`},`执行记录`,-1),T(he),T(u,{variant:`tonal`,"prepend-icon":`mdi-refresh`,loading:F.value,onClick:Z},{default:f(()=>[...o[23]||=[_(` 刷新 `,-1)]]),_:1},8,[`loading`])]),T(D,{elevation:`0`,border:``,rounded:`lg`},{default:f(()=>[T(Te,null,{default:f(()=>[T(i,{dense:``,class:`mb-2`},{default:f(()=>[T(r,{cols:`12`,sm:`4`},{default:f(()=>[T(Ee,{modelValue:V.value,"onUpdate:modelValue":o[6]||=e=>V.value=e,items:nt,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`])]),_:1}),T(r,{cols:`12`,sm:`4`},{default:f(()=>[T(Ee,{modelValue:B.value,"onUpdate:modelValue":o[7]||=e=>B.value=e,items:tt,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`])]),_:1})]),_:1}),T(De,{headers:S(rt),items:I.value,"items-length":L.value,loading:F.value,"items-per-page":z.value,page:R.value,"onUpdate:page":ft,"onUpdate:itemsPerPage":pt},{"item.kind":f(({item:e})=>[T(E,{size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(c)(e.kind)),1)]),_:2},1024)]),"item.label":f(({item:e})=>[_(C(e.label),1)]),"item.status":f(({item:e})=>[T(E,{color:S(re)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(ie)(e.status)),1)]),_:2},1032,[`color`])]),"item.progress":f(({item:e})=>[_(C(st(e.progress)),1)]),"item.server_count":f(({item:e})=>[_(C(e.server_count),1)]),"item.started_at":f(({item:e})=>[b(`span`,Qe,C(S(ne)(e.started_at)),1)]),"item.actions":f(({item:e})=>[T(u,{size:`x-small`,variant:`text`,color:`primary`,onClick:t=>mt(e)},{default:f(()=>[...o[25]||=[_(` 详情 `,-1)]]),_:1},8,[`onClick`])]),"no-data":f(()=>[...o[26]||=[b(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无执行记录`,-1)]]),_:1},8,[`headers`,`items`,`items-length`,`loading`,`items-per-page`,`page`])]),_:1})]),_:1})],64))]),_:1}))}}),[[`__scopeId`,`data-v-aa0343c7`]]);export{A as default}; \ No newline at end of file diff --git a/web/app/assets/ScriptRunsPage-BUukxLsB.js b/web/app/assets/ScriptRunsPage-D7kMfRJA.js similarity index 92% rename from web/app/assets/ScriptRunsPage-BUukxLsB.js rename to web/app/assets/ScriptRunsPage-D7kMfRJA.js index baaef205..4f73f907 100644 --- a/web/app/assets/ScriptRunsPage-BUukxLsB.js +++ b/web/app/assets/ScriptRunsPage-D7kMfRJA.js @@ -1,4 +1,4 @@ -import{a as e}from"./VDataTable-4SnAXj3j.js";import{n as t,t as n}from"./useSnackbar-CmDJGLzR.js";import{n as r,t as i}from"./VRow-By04mHIT.js";import{$ as a,At as o,Bt as ee,Dt as s,Et as c,Ft as te,Ht as ne,Ir as l,It as re,Lt as ie,Mr as ae,N as oe,Nr as se,Or as ce,Ot as le,P as u,Pr as d,Pt as ue,Rt as de,Sr as fe,Ur as f,Vr as p,Vt as pe,Xr as m,Xt as h,Y as me,_ as he,_r as g,br as _,bt as ge,dr as v,en as _e,gr as y,hr as b,ii as ve,jt as ye,mr as x,ni as S,oi as C,tn as be,ur as xe,v as Se,vr as w,xr as T,y as E,zt as Ce}from"./index-DawRgH7u.js";import{n as we}from"./dataTable-esDY4cOk.js";import{n as Te,t as D}from"./VCard-rBfCdgX2.js";import{t as Ee}from"./VSelect-XuQYQvJc.js";import{t as De}from"./VDataTableServer-C4_rzPsO.js";import{t as O}from"./apiError-EQrzELs3.js";import{t as Oe}from"./useServerList-CXphchDt.js";import{t as ke}from"./paginatedFetch-BEWdPley.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Ae,t as je}from"./execDetailGrouping-D7x-TKlJ.js";import{i as Me,n as Ne,r as Pe,t as Fe}from"./VExpansionPanels-CY-_n0ol.js";var Ie={class:`d-flex align-center flex-wrap ga-2 mb-4`},Le={class:`text-h6`},Re={class:`text-caption text-medium-emphasis mb-2`},ze={key:0,class:`text-body-2 mb-3 pa-3 rounded bg-surface-variant overflow-auto`,style:{"max-height":`100px`}},Be={key:2,class:`d-flex flex-wrap ga-2 mb-3`},Ve={class:`text-body-2`},He={class:`d-flex align-center flex-wrap ga-2 mb-3`},Ue=[`onClick`],We={class:`font-weight-medium`},Ge={key:0,class:`text-caption text-medium-emphasis`},Ke=[`title`],qe={key:0},Je={class:`d-flex align-center ga-2 flex-grow-1 min-width-0`},Ye=[`title`],Xe={key:0,class:`text-medium-emphasis`},Ze={class:`d-flex align-center flex-wrap ga-2 mb-4`},Qe={class:`text-caption text-medium-emphasis`},A=k(fe({name:`ScriptRunsPage`,__name:`ScriptRunsPage`,setup(fe){let k=_e(),A=be(),j=n(),{servers:$e,loadServers:M}=Oe(),N=x(()=>{let e=k.params.id;if(!e)return null;let t=Number(e);return Number.isFinite(t)?t:null}),P=x(()=>le(k.query.kind)),et=x(()=>`${P.value===`server_batch`?`服务器任务`:`脚本执行`} #${N.value??``}`),F=m(!1),I=m([]),L=m(0),R=m(1),z=m(20),B=m(null),V=m(null),tt=[{title:`执行中`,value:`running`},{title:`已完成`,value:`completed`},{title:`部分成功`,value:`partial`},{title:`失败`,value:`failed`},{title:`已取消`,value:`cancelled`}],nt=[{title:`脚本`,value:`script`},{title:`服务器`,value:`server_batch`}],rt=we([{title:`ID`,key:`id`,width:72},{title:`类型`,key:`kind`,width:88},{title:`任务`,key:`label`},{title:`状态`,key:`status`,width:100},{title:`进度`,key:`progress`,width:88},{title:`台数`,key:`server_count`,width:72},{title:`操作人`,key:`operator`,width:88},{title:`开始时间`,key:`started_at`,width:168},{title:`操作`,key:`actions`,width:88}]),H=m(null),U=m(!1),W=m(`all`),G=m(`list`),it=m(null),at=m([]),K=null,ot=x(()=>new Map($e.value.map(e=>[e.id,e])));function st(e){return e||`—`}function ct(e){if(!e)return 0;try{let t=JSON.parse(e);return Array.isArray(t)?t.length:0}catch{return 0}}function lt(e){if(e.label)return e.label;let t=(e.command||``).replace(/^\[long_task\] /,``);return t.length>48?t.slice(0,48)+`…`:t||`执行 #${e.id}`}function ut(e){let t=(e.stderr||``).trim(),n=(e.stdout||``).trim(),r=(e.message||``).trim(),i=t||n||r||`—`;return{summary:(t||r||n||``).slice(0,200)||`—`,full:i}}let q=x(()=>{if(!H.value?.results)return[];let e=ot.value;return Object.entries(H.value.results).filter(([e])=>e!==`_meta`&&/^\d+$/.test(e)).map(([t,n])=>{let r=Number(t),i=e.get(r),a=String(n.status||``),o=n.phase?String(n.phase):void 0,s=n.exit_code??null,c=ut(n);return{serverId:t,serverIdNum:r,serverName:ee(t,H.value?.server_names,i?.name),serverDomain:i?.domain||``,status:a,phase:o,exitCode:s,summary:c.summary,fullOutput:c.full,failed:de(a,o,s),pending:Ce(o)}})}),dt=x(()=>W.value===`failed`?q.value.filter(e=>e.failed):W.value===`success`?q.value.filter(e=>!e.failed&&!e.pending):q.value),J=x(()=>pe(H.value?.results,H.value?.server_ids)),Y=x(()=>q.value.filter(e=>e.failed).map(e=>e.serverName)),X=x(()=>je(q.value.filter(e=>e.failed)));async function Z(e=!1){e||(F.value=!0);try{let e=await ke(async(e,t)=>{let n={limit:e,offset:t};B.value&&(n.status=B.value),V.value&&(n.kind=V.value);let r=await h.get(`/execution-records`,n);return{items:r.items||[],total:r.total||0}},R.value,z.value);I.value=e.items,L.value=e.total}catch(t){e||(I.value=[],L.value=0,j(O(t,`加载失败`),`error`))}finally{e||(F.value=!1)}}function ft(e){R.value=e,Z()}function pt(e){z.value=e,R.value=1,Z()}function mt(e){A.push(s(e.id,e.kind))}async function Q(e=!1,t=!1){if(N.value){t||(U.value=!0);try{let t=new URLSearchParams({kind:P.value});e&&P.value===`script`&&t.set(`fetch_logs`,`true`),H.value=await h.get(`/execution-records/${N.value}?${t.toString()}`),H.value?.status===`running`?ht():$()}catch(e){t||j(O(e,`加载详情失败`),`error`)}finally{t||(U.value=!1)}}}function ht(){K||=setInterval(()=>{Q(!1,!0)},3e3)}function $(){K&&=(clearInterval(K),null)}function gt(e){it.value=it.value===e?null:e}function _t(e){A.push({path:`/terminal`,query:{server_id:String(e)}})}async function vt(){if(N.value)try{await h.post(`/scripts/executions/${N.value}/stop`),await Q(!1),j(`已发送停止指令`)}catch(e){j(O(e,`停止失败`),`error`)}}async function yt(){if(N.value)try{let e=await h.post(`/scripts/executions/${N.value}/retry`,{}),t=ct(e.server_ids);ye(e.id,`${lt(e)}(重试)`,t,!!e.long_task,e.progress,e.status),ge(`重试已提交 #${e.id}`),A.push(s(e.id,`script`))}catch(e){j(O(e,`重试失败`),`error`)}}function bt(e){let t=e.serverDomain?` (${e.serverDomain})`:``,n=e.exitCode==null?``:` · exit ${e.exitCode}`,r=e.summary.split(` +import{a as e}from"./VDataTable-PKQbaP3_.js";import{n as t,t as n}from"./useSnackbar-P0rXZaHt.js";import{n as r,t as i}from"./VRow-Jrv7cE2K.js";import{$ as a,At as o,Bt as ee,Dt as s,Et as c,Ft as te,Ht as ne,Ir as l,It as re,Lt as ie,Mr as ae,N as oe,Nr as se,Or as ce,Ot as le,P as u,Pr as d,Pt as ue,Rt as de,Sr as fe,Ur as f,Vr as p,Vt as pe,Xr as m,Xt as h,Y as me,_ as he,_r as g,br as _,bt as ge,dr as v,en as _e,gr as y,hr as b,ii as ve,jt as ye,mr as x,ni as S,oi as C,tn as be,ur as xe,v as Se,vr as w,xr as T,y as E,zt as Ce}from"./index-Bplw5zZe.js";import{n as we}from"./dataTable-esDY4cOk.js";import{t as Te}from"./paginatedFetch-DmzXeKPu.js";import{n as Ee,t as D}from"./VCard-DwK3U69w.js";import{t as De}from"./VSelect-C2IkZQ4Y.js";import{t as Oe}from"./VDataTableServer-D1N34nyt.js";import{t as O}from"./apiError-D7r0BvbZ.js";import{t as ke}from"./useServerList-IslpqUAV.js";import{t as k}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as Ae,t as je}from"./execDetailGrouping-DS4ZxwW6.js";import{i as Me,n as Ne,r as Pe,t as Fe}from"./VExpansionPanels-B73hBz74.js";var Ie={class:`d-flex align-center flex-wrap ga-2 mb-4`},Le={class:`text-h6`},Re={class:`text-caption text-medium-emphasis mb-2`},ze={key:0,class:`text-body-2 mb-3 pa-3 rounded bg-surface-variant overflow-auto`,style:{"max-height":`100px`}},Be={key:2,class:`d-flex flex-wrap ga-2 mb-3`},Ve={class:`text-body-2`},He={class:`d-flex align-center flex-wrap ga-2 mb-3`},Ue=[`onClick`],We={class:`font-weight-medium`},Ge={key:0,class:`text-caption text-medium-emphasis`},Ke=[`title`],qe={key:0},Je={class:`d-flex align-center ga-2 flex-grow-1 min-width-0`},Ye=[`title`],Xe={key:0,class:`text-medium-emphasis`},Ze={class:`d-flex align-center flex-wrap ga-2 mb-4`},Qe={class:`text-caption text-medium-emphasis`},A=k(fe({name:`ScriptRunsPage`,__name:`ScriptRunsPage`,setup(fe){let k=_e(),A=be(),j=n(),{servers:$e,loadServers:M}=ke(),N=x(()=>{let e=k.params.id;if(!e)return null;let t=Number(e);return Number.isFinite(t)?t:null}),P=x(()=>le(k.query.kind)),et=x(()=>`${P.value===`server_batch`?`服务器任务`:`脚本执行`} #${N.value??``}`),F=m(!1),I=m([]),L=m(0),R=m(1),z=m(20),B=m(null),V=m(null),tt=[{title:`执行中`,value:`running`},{title:`已完成`,value:`completed`},{title:`部分成功`,value:`partial`},{title:`失败`,value:`failed`},{title:`已取消`,value:`cancelled`}],nt=[{title:`脚本`,value:`script`},{title:`服务器`,value:`server_batch`}],rt=we([{title:`ID`,key:`id`,width:72},{title:`类型`,key:`kind`,width:88},{title:`任务`,key:`label`},{title:`状态`,key:`status`,width:100},{title:`进度`,key:`progress`,width:88},{title:`台数`,key:`server_count`,width:72},{title:`操作人`,key:`operator`,width:88},{title:`开始时间`,key:`started_at`,width:168},{title:`操作`,key:`actions`,width:88}]),H=m(null),U=m(!1),W=m(`all`),G=m(`list`),it=m(null),at=m([]),K=null,ot=x(()=>new Map($e.value.map(e=>[e.id,e])));function st(e){return e||`—`}function ct(e){if(!e)return 0;try{let t=JSON.parse(e);return Array.isArray(t)?t.length:0}catch{return 0}}function lt(e){if(e.label)return e.label;let t=(e.command||``).replace(/^\[long_task\] /,``);return t.length>48?t.slice(0,48)+`…`:t||`执行 #${e.id}`}function ut(e){let t=(e.stderr||``).trim(),n=(e.stdout||``).trim(),r=(e.message||``).trim(),i=t||n||r||`—`;return{summary:(t||r||n||``).slice(0,200)||`—`,full:i}}let q=x(()=>{if(!H.value?.results)return[];let e=ot.value;return Object.entries(H.value.results).filter(([e])=>e!==`_meta`&&/^\d+$/.test(e)).map(([t,n])=>{let r=Number(t),i=e.get(r),a=String(n.status||``),o=n.phase?String(n.phase):void 0,s=n.exit_code??null,c=ut(n);return{serverId:t,serverIdNum:r,serverName:ee(t,H.value?.server_names,i?.name),serverDomain:i?.domain||``,status:a,phase:o,exitCode:s,summary:c.summary,fullOutput:c.full,failed:de(a,o,s),pending:Ce(o)}})}),dt=x(()=>W.value===`failed`?q.value.filter(e=>e.failed):W.value===`success`?q.value.filter(e=>!e.failed&&!e.pending):q.value),J=x(()=>pe(H.value?.results,H.value?.server_ids)),Y=x(()=>q.value.filter(e=>e.failed).map(e=>e.serverName)),X=x(()=>je(q.value.filter(e=>e.failed)));async function Z(e=!1){e||(F.value=!0);try{let e=await Te(async(e,t)=>{let n={limit:e,offset:t};B.value&&(n.status=B.value),V.value&&(n.kind=V.value);let r=await h.get(`/execution-records`,n);return{items:r.items||[],total:r.total||0}},R.value,z.value);I.value=e.items,L.value=e.total}catch(t){e||(I.value=[],L.value=0,j(O(t,`加载失败`),`error`))}finally{e||(F.value=!1)}}function ft(e){R.value=e,Z()}function pt(e){z.value=e,R.value=1,Z()}function mt(e){A.push(s(e.id,e.kind))}async function Q(e=!1,t=!1){if(N.value){t||(U.value=!0);try{let t=new URLSearchParams({kind:P.value});e&&P.value===`script`&&t.set(`fetch_logs`,`true`),H.value=await h.get(`/execution-records/${N.value}?${t.toString()}`),H.value?.status===`running`?ht():$()}catch(e){t||j(O(e,`加载详情失败`),`error`)}finally{t||(U.value=!1)}}}function ht(){K||=setInterval(()=>{Q(!1,!0)},3e3)}function $(){K&&=(clearInterval(K),null)}function gt(e){it.value=it.value===e?null:e}function _t(e){A.push({path:`/terminal`,query:{server_id:String(e)}})}async function vt(){if(N.value)try{await h.post(`/scripts/executions/${N.value}/stop`),await Q(!1),j(`已发送停止指令`)}catch(e){j(O(e,`停止失败`),`error`)}}async function yt(){if(N.value)try{let e=await h.post(`/scripts/executions/${N.value}/retry`,{}),t=ct(e.server_ids);ye(e.id,`${lt(e)}(重试)`,t,!!e.long_task,e.progress,e.status),ge(`重试已提交 #${e.id}`),A.push(s(e.id,`script`))}catch(e){j(O(e,`重试失败`),`error`)}}function bt(e){let t=e.serverDomain?` (${e.serverDomain})`:``,n=e.exitCode==null?``:` · exit ${e.exitCode}`,r=e.summary.split(` `)[0]?.trim()||e.summary,i=r&&r!==`—`?` · ${r.slice(0,120)}`:``;return`- ${e.serverName}${t}${n}${i}`}async function xt(e,t){try{await navigator.clipboard.writeText(e),j(t)}catch{j(`复制失败`,`error`)}}async function St(){let e=q.value.filter(e=>e.failed);e.length&&await xt([`执行 #${N.value} · 失败 ${e.length} 台`,...e.map(bt)].join(` `),`已复制失败清单`)}async function Ct(){let e=X.value;if(!e.length)return;let t=[`执行 #${N.value} · 失败分组 ${e.length} 类`];for(let n of e){t.push(`\n[${n.count} 台] ${n.errorKey}`);for(let e of n.rows.slice(0,20))t.push(` - ${e.serverName}`);n.rows.length>20&&t.push(` …及其他 ${n.rows.length-20} 台`)}await xt(t.join(` -`),`已复制分组摘要`)}p(B,()=>{R.value=1,Z()}),p(V,()=>{R.value=1,Z()}),p([N,P],([e])=>{$(),H.value=null,e?(W.value=`all`,G.value=`list`,Q(!1)):Z()},{immediate:!0}),Ae(e=>Z(e),{enabled:()=>!N.value});let wt=o(()=>{N.value?Q(!1,!0):Z(!0)}),Tt=!1;return ae(async()=>{await M({all:!0}),Tt=!0}),ce(async()=>{Tt&&(await M({all:!0}),N.value?await Q(!1,!0):await Z(!0))}),se(()=>{$(),wt()}),(n,o)=>(d(),y(t,{fluid:``,class:`pa-4`},{default:f(()=>[N.value?(d(),w(v,{key:0},[b(`div`,Ie,[T(u,{variant:`text`,"prepend-icon":`mdi-arrow-left`,onClick:o[0]||=e=>S(A).push(`/executions`)},{default:f(()=>[...o[8]||=[_(` 返回列表 `,-1)]]),_:1}),b(`h1`,Le,C(et.value),1),H.value?(d(),y(E,{key:0,color:S(re)(H.value.status),size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(ie)(H.value.status)),1)]),_:1},8,[`color`])):g(``,!0),T(he),H.value?.long_task&&P.value===`script`?(d(),y(u,{key:1,size:`small`,variant:`tonal`,loading:U.value,onClick:o[1]||=e=>Q(!0)},{default:f(()=>[...o[9]||=[_(` 拉取日志 `,-1)]]),_:1},8,[`loading`])):g(``,!0),P.value===`script`&&H.value&&(H.value.status===`running`||H.value.status===`partial`)?(d(),y(u,{key:2,size:`small`,variant:`text`,color:`error`,onClick:vt},{default:f(()=>[...o[10]||=[_(` 停止 `,-1)]]),_:1})):g(``,!0),P.value===`script`&&H.value&&(H.value.status===`failed`||H.value.status===`partial`)?(d(),y(u,{key:3,size:`small`,variant:`tonal`,color:`primary`,onClick:yt},{default:f(()=>[...o[11]||=[_(` 重试失败项 `,-1)]]),_:1})):g(``,!0)]),U.value&&!H.value?(d(),y(D,{key:0,elevation:`0`,border:``,rounded:`lg`,class:`pa-8 text-center`},{default:f(()=>[T(me,{indeterminate:``,color:`primary`})]),_:1})):H.value?(d(),y(D,{key:1,elevation:`0`,border:``,rounded:`lg`},{default:f(()=>[T(Te,null,{default:f(()=>[b(`div`,Re,C(st(H.value.progress))+` · 操作人 `+C(H.value.operator||`—`),1),P.value===`script`?(d(),w(`pre`,ze,C(H.value.command),1)):(d(),y(E,{key:1,size:`small`,variant:`tonal`,color:`info`,class:`mb-3`,label:``},{default:f(()=>[_(C(S(c)(P.value))+` · `+C(H.value.label||H.value.op||`—`),1)]),_:1})),J.value.total?(d(),w(`div`,Be,[T(E,{size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(`共 `+C(J.value.total)+` 台`,1)]),_:1}),J.value.success?(d(),y(E,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(` 成功 `+C(J.value.success),1)]),_:1})):g(``,!0),J.value.failed?(d(),y(E,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(` 失败 `+C(J.value.failed),1)]),_:1})):g(``,!0),J.value.pending?(d(),y(E,{key:2,color:`info`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(` 进行中 `+C(J.value.pending),1)]),_:1})):g(``,!0)])):g(``,!0),Y.value.length?(d(),y(oe,{key:3,type:`error`,variant:`tonal`,density:`compact`,class:`mb-3`,title:`失败 ${Y.value.length} 台`},{default:f(()=>[b(`div`,Ve,C(Y.value.join(`、`)),1)]),_:1},8,[`title`])):g(``,!0),b(`div`,He,[o[20]||=b(`span`,{class:`text-caption text-medium-emphasis`},`筛选`,-1),T(a,{modelValue:W.value,"onUpdate:modelValue":o[2]||=e=>W.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:f(()=>[T(u,{value:`all`,size:`small`},{default:f(()=>[...o[12]||=[_(`全部`,-1)]]),_:1}),T(u,{value:`failed`,size:`small`},{default:f(()=>[...o[13]||=[_(`仅失败`,-1)]]),_:1}),T(u,{value:`success`,size:`small`},{default:f(()=>[...o[14]||=[_(`仅成功`,-1)]]),_:1})]),_:1},8,[`modelValue`]),J.value.failed>0?(d(),w(v,{key:0},[T(Se,{vertical:``,class:`mx-1`}),o[19]||=b(`span`,{class:`text-caption text-medium-emphasis`},`视图`,-1),T(a,{modelValue:G.value,"onUpdate:modelValue":o[3]||=e=>G.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:f(()=>[T(u,{value:`list`,size:`small`},{default:f(()=>[...o[15]||=[_(`列表`,-1)]]),_:1}),T(u,{value:`group`,size:`small`},{default:f(()=>[...o[16]||=[_(`按错误分组`,-1)]]),_:1})]),_:1},8,[`modelValue`]),T(u,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:St},{default:f(()=>[...o[17]||=[_(` 复制失败清单 `,-1)]]),_:1}),G.value===`group`?(d(),y(u,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Ct},{default:f(()=>[...o[18]||=[_(` 复制分组摘要 `,-1)]]),_:1})):g(``,!0)],64)):g(``,!0)]),G.value===`list`?(d(),y(e,{key:4,density:`compact`},{default:f(()=>[o[22]||=b(`thead`,null,[b(`tr`,null,[b(`th`,null,`服务器`),b(`th`,null,`状态`),b(`th`,{style:{width:`72px`}},`退出码`),b(`th`,null,`错误摘要`),b(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),b(`tbody`,null,[(d(!0),w(v,null,l(dt.value,e=>(d(),w(`tr`,{key:e.serverId,class:ve([{"exec-detail-row--failed":e.failed},`cursor-pointer`]),onClick:t=>gt(e.serverId)},[b(`td`,null,[b(`div`,We,C(e.serverName),1),e.serverDomain?(d(),w(`div`,Ge,C(e.serverDomain),1)):g(``,!0)]),b(`td`,null,[T(E,{color:S(ue)(e.status,e.phase,e.exitCode),size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(te)(e.status,e.phase)),1)]),_:2},1032,[`color`])]),b(`td`,{class:ve({"text-error font-weight-medium":e.failed})},C(e.exitCode??`—`),3),b(`td`,{class:`text-truncate`,style:{"max-width":`280px`},title:e.summary},C(e.summary),9,Ke),b(`td`,{class:`text-end`,onClick:o[4]||=xe(()=>{},[`stop`])},[T(u,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>_t(e.serverIdNum)},null,8,[`onClick`])])],10,Ue))),128)),dt.value.length===0?(d(),w(`tr`,qe,[...o[21]||=[b(`td`,{colspan:`5`,class:`text-center text-medium-emphasis py-4`},`当前筛选无记录`,-1)]])):g(``,!0)])]),_:1})):X.value.length?(d(),y(Fe,{key:5,modelValue:at.value,"onUpdate:modelValue":o[5]||=e=>at.value=e,multiple:``,variant:`accordion`},{default:f(()=>[(d(!0),w(v,null,l(X.value,(e,t)=>(d(),y(Ne,{key:`${t}-${e.errorKey}`},{default:f(()=>[T(Pe,null,{default:f(()=>[b(`div`,Je,[b(`span`,{class:`text-body-2 text-truncate`,title:e.errorKey},C(e.errorKey),9,Ye),T(E,{color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(e.count)+` 台`,1)]),_:2},1024)])]),_:2},1024),T(Me,null,{default:f(()=>[(d(!0),w(v,null,l(e.rows,e=>(d(),w(`div`,{key:e.serverId,class:`text-body-2 py-1`},[_(C(e.serverName)+` `,1),e.serverDomain?(d(),w(`span`,Xe,`(`+C(e.serverDomain)+`)`,1)):g(``,!0)]))),128))]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`])):g(``,!0)]),_:1})]),_:1})):g(``,!0)],64)):(d(),w(v,{key:1},[b(`div`,Ze,[o[24]||=b(`h1`,{class:`text-h6`},`执行记录`,-1),T(he),T(u,{variant:`tonal`,"prepend-icon":`mdi-refresh`,loading:F.value,onClick:Z},{default:f(()=>[...o[23]||=[_(` 刷新 `,-1)]]),_:1},8,[`loading`])]),T(D,{elevation:`0`,border:``,rounded:`lg`},{default:f(()=>[T(Te,null,{default:f(()=>[T(i,{dense:``,class:`mb-2`},{default:f(()=>[T(r,{cols:`12`,sm:`4`},{default:f(()=>[T(Ee,{modelValue:V.value,"onUpdate:modelValue":o[6]||=e=>V.value=e,items:nt,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`])]),_:1}),T(r,{cols:`12`,sm:`4`},{default:f(()=>[T(Ee,{modelValue:B.value,"onUpdate:modelValue":o[7]||=e=>B.value=e,items:tt,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`])]),_:1})]),_:1}),T(De,{headers:S(rt),items:I.value,"items-length":L.value,loading:F.value,"items-per-page":z.value,page:R.value,"onUpdate:page":ft,"onUpdate:itemsPerPage":pt},{"item.kind":f(({item:e})=>[T(E,{size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(c)(e.kind)),1)]),_:2},1024)]),"item.label":f(({item:e})=>[_(C(e.label),1)]),"item.status":f(({item:e})=>[T(E,{color:S(re)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(ie)(e.status)),1)]),_:2},1032,[`color`])]),"item.progress":f(({item:e})=>[_(C(st(e.progress)),1)]),"item.server_count":f(({item:e})=>[_(C(e.server_count),1)]),"item.started_at":f(({item:e})=>[b(`span`,Qe,C(S(ne)(e.started_at)),1)]),"item.actions":f(({item:e})=>[T(u,{size:`x-small`,variant:`text`,color:`primary`,onClick:t=>mt(e)},{default:f(()=>[...o[25]||=[_(` 详情 `,-1)]]),_:1},8,[`onClick`])]),"no-data":f(()=>[...o[26]||=[b(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无执行记录`,-1)]]),_:1},8,[`headers`,`items`,`items-length`,`loading`,`items-per-page`,`page`])]),_:1})]),_:1})],64))]),_:1}))}}),[[`__scopeId`,`data-v-aa0343c7`]]);export{A as default}; \ No newline at end of file +`),`已复制分组摘要`)}p(B,()=>{R.value=1,Z()}),p(V,()=>{R.value=1,Z()}),p([N,P],([e])=>{$(),H.value=null,e?(W.value=`all`,G.value=`list`,Q(!1)):Z()},{immediate:!0}),Ae(e=>Z(e),{enabled:()=>!N.value});let wt=o(()=>{N.value?Q(!1,!0):Z(!0)}),Tt=!1;return ae(async()=>{await M({all:!0}),Tt=!0}),ce(async()=>{Tt&&(await M({all:!0}),N.value?await Q(!1,!0):await Z(!0))}),se(()=>{$(),wt()}),(n,o)=>(d(),y(t,{fluid:``,class:`pa-4`},{default:f(()=>[N.value?(d(),w(v,{key:0},[b(`div`,Ie,[T(u,{variant:`text`,"prepend-icon":`mdi-arrow-left`,onClick:o[0]||=e=>S(A).push(`/executions`)},{default:f(()=>[...o[8]||=[_(` 返回列表 `,-1)]]),_:1}),b(`h1`,Le,C(et.value),1),H.value?(d(),y(E,{key:0,color:S(re)(H.value.status),size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(ie)(H.value.status)),1)]),_:1},8,[`color`])):g(``,!0),T(he),H.value?.long_task&&P.value===`script`?(d(),y(u,{key:1,size:`small`,variant:`tonal`,loading:U.value,onClick:o[1]||=e=>Q(!0)},{default:f(()=>[...o[9]||=[_(` 拉取日志 `,-1)]]),_:1},8,[`loading`])):g(``,!0),P.value===`script`&&H.value&&(H.value.status===`running`||H.value.status===`partial`)?(d(),y(u,{key:2,size:`small`,variant:`text`,color:`error`,onClick:vt},{default:f(()=>[...o[10]||=[_(` 停止 `,-1)]]),_:1})):g(``,!0),P.value===`script`&&H.value&&(H.value.status===`failed`||H.value.status===`partial`)?(d(),y(u,{key:3,size:`small`,variant:`tonal`,color:`primary`,onClick:yt},{default:f(()=>[...o[11]||=[_(` 重试失败项 `,-1)]]),_:1})):g(``,!0)]),U.value&&!H.value?(d(),y(D,{key:0,elevation:`0`,border:``,rounded:`lg`,class:`pa-8 text-center`},{default:f(()=>[T(me,{indeterminate:``,color:`primary`})]),_:1})):H.value?(d(),y(D,{key:1,elevation:`0`,border:``,rounded:`lg`},{default:f(()=>[T(Ee,null,{default:f(()=>[b(`div`,Re,C(st(H.value.progress))+` · 操作人 `+C(H.value.operator||`—`),1),P.value===`script`?(d(),w(`pre`,ze,C(H.value.command),1)):(d(),y(E,{key:1,size:`small`,variant:`tonal`,color:`info`,class:`mb-3`,label:``},{default:f(()=>[_(C(S(c)(P.value))+` · `+C(H.value.label||H.value.op||`—`),1)]),_:1})),J.value.total?(d(),w(`div`,Be,[T(E,{size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(`共 `+C(J.value.total)+` 台`,1)]),_:1}),J.value.success?(d(),y(E,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(` 成功 `+C(J.value.success),1)]),_:1})):g(``,!0),J.value.failed?(d(),y(E,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(` 失败 `+C(J.value.failed),1)]),_:1})):g(``,!0),J.value.pending?(d(),y(E,{key:2,color:`info`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[_(` 进行中 `+C(J.value.pending),1)]),_:1})):g(``,!0)])):g(``,!0),Y.value.length?(d(),y(oe,{key:3,type:`error`,variant:`tonal`,density:`compact`,class:`mb-3`,title:`失败 ${Y.value.length} 台`},{default:f(()=>[b(`div`,Ve,C(Y.value.join(`、`)),1)]),_:1},8,[`title`])):g(``,!0),b(`div`,He,[o[20]||=b(`span`,{class:`text-caption text-medium-emphasis`},`筛选`,-1),T(a,{modelValue:W.value,"onUpdate:modelValue":o[2]||=e=>W.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:f(()=>[T(u,{value:`all`,size:`small`},{default:f(()=>[...o[12]||=[_(`全部`,-1)]]),_:1}),T(u,{value:`failed`,size:`small`},{default:f(()=>[...o[13]||=[_(`仅失败`,-1)]]),_:1}),T(u,{value:`success`,size:`small`},{default:f(()=>[...o[14]||=[_(`仅成功`,-1)]]),_:1})]),_:1},8,[`modelValue`]),J.value.failed>0?(d(),w(v,{key:0},[T(Se,{vertical:``,class:`mx-1`}),o[19]||=b(`span`,{class:`text-caption text-medium-emphasis`},`视图`,-1),T(a,{modelValue:G.value,"onUpdate:modelValue":o[3]||=e=>G.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:f(()=>[T(u,{value:`list`,size:`small`},{default:f(()=>[...o[15]||=[_(`列表`,-1)]]),_:1}),T(u,{value:`group`,size:`small`},{default:f(()=>[...o[16]||=[_(`按错误分组`,-1)]]),_:1})]),_:1},8,[`modelValue`]),T(u,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:St},{default:f(()=>[...o[17]||=[_(` 复制失败清单 `,-1)]]),_:1}),G.value===`group`?(d(),y(u,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Ct},{default:f(()=>[...o[18]||=[_(` 复制分组摘要 `,-1)]]),_:1})):g(``,!0)],64)):g(``,!0)]),G.value===`list`?(d(),y(e,{key:4,density:`compact`},{default:f(()=>[o[22]||=b(`thead`,null,[b(`tr`,null,[b(`th`,null,`服务器`),b(`th`,null,`状态`),b(`th`,{style:{width:`72px`}},`退出码`),b(`th`,null,`错误摘要`),b(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),b(`tbody`,null,[(d(!0),w(v,null,l(dt.value,e=>(d(),w(`tr`,{key:e.serverId,class:ve([{"exec-detail-row--failed":e.failed},`cursor-pointer`]),onClick:t=>gt(e.serverId)},[b(`td`,null,[b(`div`,We,C(e.serverName),1),e.serverDomain?(d(),w(`div`,Ge,C(e.serverDomain),1)):g(``,!0)]),b(`td`,null,[T(E,{color:S(ue)(e.status,e.phase,e.exitCode),size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(te)(e.status,e.phase)),1)]),_:2},1032,[`color`])]),b(`td`,{class:ve({"text-error font-weight-medium":e.failed})},C(e.exitCode??`—`),3),b(`td`,{class:`text-truncate`,style:{"max-width":`280px`},title:e.summary},C(e.summary),9,Ke),b(`td`,{class:`text-end`,onClick:o[4]||=xe(()=>{},[`stop`])},[T(u,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>_t(e.serverIdNum)},null,8,[`onClick`])])],10,Ue))),128)),dt.value.length===0?(d(),w(`tr`,qe,[...o[21]||=[b(`td`,{colspan:`5`,class:`text-center text-medium-emphasis py-4`},`当前筛选无记录`,-1)]])):g(``,!0)])]),_:1})):X.value.length?(d(),y(Fe,{key:5,modelValue:at.value,"onUpdate:modelValue":o[5]||=e=>at.value=e,multiple:``,variant:`accordion`},{default:f(()=>[(d(!0),w(v,null,l(X.value,(e,t)=>(d(),y(Ne,{key:`${t}-${e.errorKey}`},{default:f(()=>[T(Pe,null,{default:f(()=>[b(`div`,Je,[b(`span`,{class:`text-body-2 text-truncate`,title:e.errorKey},C(e.errorKey),9,Ye),T(E,{color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(e.count)+` 台`,1)]),_:2},1024)])]),_:2},1024),T(Me,null,{default:f(()=>[(d(!0),w(v,null,l(e.rows,e=>(d(),w(`div`,{key:e.serverId,class:`text-body-2 py-1`},[_(C(e.serverName)+` `,1),e.serverDomain?(d(),w(`span`,Xe,`(`+C(e.serverDomain)+`)`,1)):g(``,!0)]))),128))]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`])):g(``,!0)]),_:1})]),_:1})):g(``,!0)],64)):(d(),w(v,{key:1},[b(`div`,Ze,[o[24]||=b(`h1`,{class:`text-h6`},`执行记录`,-1),T(he),T(u,{variant:`tonal`,"prepend-icon":`mdi-refresh`,loading:F.value,onClick:Z},{default:f(()=>[...o[23]||=[_(` 刷新 `,-1)]]),_:1},8,[`loading`])]),T(D,{elevation:`0`,border:``,rounded:`lg`},{default:f(()=>[T(Ee,null,{default:f(()=>[T(i,{dense:``,class:`mb-2`},{default:f(()=>[T(r,{cols:`12`,sm:`4`},{default:f(()=>[T(De,{modelValue:V.value,"onUpdate:modelValue":o[6]||=e=>V.value=e,items:nt,label:`类型`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`])]),_:1}),T(r,{cols:`12`,sm:`4`},{default:f(()=>[T(De,{modelValue:B.value,"onUpdate:modelValue":o[7]||=e=>B.value=e,items:tt,label:`状态筛选`,variant:`outlined`,density:`compact`,"hide-details":``,clearable:``},null,8,[`modelValue`])]),_:1})]),_:1}),T(Oe,{headers:S(rt),items:I.value,"items-length":L.value,loading:F.value,"items-per-page":z.value,page:R.value,"onUpdate:page":ft,"onUpdate:itemsPerPage":pt},{"item.kind":f(({item:e})=>[T(E,{size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(c)(e.kind)),1)]),_:2},1024)]),"item.label":f(({item:e})=>[_(C(e.label),1)]),"item.status":f(({item:e})=>[T(E,{color:S(re)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:f(()=>[_(C(S(ie)(e.status)),1)]),_:2},1032,[`color`])]),"item.progress":f(({item:e})=>[_(C(st(e.progress)),1)]),"item.server_count":f(({item:e})=>[_(C(e.server_count),1)]),"item.started_at":f(({item:e})=>[b(`span`,Qe,C(S(ne)(e.started_at)),1)]),"item.actions":f(({item:e})=>[T(u,{size:`x-small`,variant:`text`,color:`primary`,onClick:t=>mt(e)},{default:f(()=>[...o[25]||=[_(` 详情 `,-1)]]),_:1},8,[`onClick`])]),"no-data":f(()=>[...o[26]||=[b(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无执行记录`,-1)]]),_:1},8,[`headers`,`items`,`items-length`,`loading`,`items-per-page`,`page`])]),_:1})]),_:1})],64))]),_:1}))}}),[[`__scopeId`,`data-v-aa0343c7`]]);export{A as default}; \ No newline at end of file diff --git a/web/app/assets/ScriptsPage-BVe-wtMe.js b/web/app/assets/ScriptsPage-BVe-wtMe.js deleted file mode 100644 index c7dc1a53..00000000 --- a/web/app/assets/ScriptsPage-BVe-wtMe.js +++ /dev/null @@ -1,4 +0,0 @@ -import{n as e,t}from"./initMonaco-CzdlaNu8.js";import{a as n,x as r}from"./VDataTable-JI1AS0YS.js";import{n as i,t as a}from"./useSnackbar-DaoOJlMz.js";import{n as o,t as s}from"./VRow-Wg9QrEcV.js";import{$ as c,Ar as l,Bt as ee,Dr as te,Er as ne,Ft as re,Ht as ie,Ir as u,It as ae,Lt as oe,Mr as se,N as ce,O as le,P as d,Pr as f,Pt as ue,Rt as de,Sr as fe,Ur as p,Vr as pe,Vt as me,W as he,Wr as ge,X as m,Xr as h,Xt as g,_,_r as v,br as y,bt as _e,cr as ve,dr as b,gr as x,hr as S,ii as ye,jt as be,l as xe,lr as Se,m as Ce,mr as C,n as we,ni as w,oi as T,tn as Te,ur as Ee,v as E,vr as D,xr as O,y as k,zt as De}from"./index-DZEQidkT.js";import{t as Oe}from"./usePageActivateRefresh-BmoMLdUi.js";import{n as ke,t as Ae}from"./dataTable-esDY4cOk.js";import{a as A,n as j,r as M,t as N}from"./VCard-DiTj681b.js";import{t as je}from"./VSelect-CzNpj4qJ.js";import{t as Me}from"./VTextField-CvZimSXQ.js";import{t as Ne}from"./VDataTableServer-C1V2iC3x.js";import{t as P}from"./apiError-BqTTIuLB.js";import{t as Pe}from"./useServerList-DTniLWx3.js";import{t as Fe}from"./paginatedFetch-DB49B9Xn.js";import{t as Ie}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Le}from"./VDialog-B2Te8j14.js";import{r as Re}from"./validation-BMzYTJL4.js";import{t as ze}from"./ServerCategoryPicker-CZ_ad3il.js";import{t as Be}from"./VSwitch-fZMfBV9n.js";import{t as Ve}from"./VTextarea-tb0SPOpO.js";import{n as He,t as Ue}from"./execDetailGrouping-DLvg5pqf.js";import{i as We,n as Ge,r as Ke,t as qe}from"./VExpansionPanels-CGDaaYev.js";var Je=Ie(fe({__name:`ScriptContentEditor`,props:{modelValue:{},readonly:{type:Boolean}},emits:[`update:modelValue`],setup(n,{emit:r}){let i=n,a=r,o=e(),s=h(),c=null,ee=!1;function te(){s.value&&(c?.dispose(),c=o.editor.create(s.value,{...t({language:`shell`,readOnly:i.readonly??!1}),value:i.modelValue||``}),c.onDidChangeModelContent(()=>{ee||!c||a(`update:modelValue`,c.getValue())}))}return pe(()=>i.modelValue,e=>{c&&c.getValue()!==e&&(ee=!0,c.setValue(e||``),ee=!1)}),pe(()=>i.readonly,e=>{c?.updateOptions({readOnly:e??!1})}),se(()=>{te()}),l(()=>{c?.dispose(),c=null}),(e,t)=>(f(),D(`div`,{ref_key:`host`,ref:s,class:`script-content-editor`},null,512))}}),[[`__scopeId`,`data-v-8c9e5994`]]),Ye={class:`text-body-1 font-weight-medium`},Xe={class:`text-body-2 text-medium-emphasis`},Ze={class:`text-caption text-medium-emphasis mt-2`},Qe={key:3,class:`d-flex justify-center mt-4`},$e={class:`text-caption`},et={key:2,class:`text-center text-medium-emphasis py-6`},tt={class:`text-body-2`},nt={class:`text-caption text-medium-emphasis`},rt={class:`d-flex align-center flex-wrap ga-1`},it={class:`text-caption text-medium-emphasis mb-2`},at={class:`text-body-2 mb-3 pa-3 rounded bg-surface-variant overflow-auto`,style:{"max-height":`100px`}},ot={key:0,class:`d-flex flex-wrap ga-2 mb-3`},st={class:`text-body-2`},ct={class:`d-flex align-center flex-wrap ga-2 mb-3`},lt=[`onClick`],ut={class:`font-weight-medium`},dt={key:0,class:`text-caption text-medium-emphasis`},ft=[`title`],pt={key:0},mt={class:`d-flex align-center ga-2 flex-grow-1 min-width-0`},ht=[`title`],gt=[`onClick`],_t={class:`font-weight-medium`},vt={key:0,class:`text-caption text-medium-emphasis`},yt={class:`text-error font-weight-medium`},bt={key:4,class:`text-center text-medium-emphasis py-4`},xt={class:`d-flex align-center flex-wrap ga-2 mb-2`},St={class:`text-subtitle-2`},Ct={key:0,class:`text-medium-emphasis`},wt={class:`text-body-2 overflow-auto exec-detail-output`},Tt=Ie(fe({name:`ScriptsPage`,__name:`ScriptsPage`,setup(e){let t=[...Ae],l=a(),se=Te(),{servers:fe,loading:Ie,loadServers:Tt}=Pe(),Et=[{label:`运维`,value:`ops`},{label:`部署`,value:`deploy`},{label:`检查`,value:`check`},{label:`清理`,value:`cleanup`}],Dt=h(!1),Ot=h(``),F=h([]),I=h(null),kt=h([]),At=h(1),jt=h(20),L=h(!1),Mt=h(null),Nt=h(!1),R=h({name:``,category:`ops`,description:``,content:``}),z=h(!1),B=h(null),V=h([]),Pt=h(300),Ft=h(!1),It=h(null),Lt=h(!1),H=h(!1),Rt=h(null),zt=h(null),Bt=h([]),Vt=h(!1),Ht=h([]),Ut=h(0),U=h(1),Wt=h(20),Gt=h(!1),W=h(null),Kt=h(!1),qt=h(``),G=h([]),Jt=h(60),Yt=h(!1),Xt=h(null),Zt=h(!1),Qt=h(!1),K=h(null),$t=h(!1),en=h(null),q=h(`all`),tn=h(`list`),J=h(null),nn=h([]),rn=C(()=>kt.value.map(e=>({title:e.name,value:e.id}))),an=C(()=>{let e=Ot.value.trim().toLowerCase();return e?F.value.filter(t=>t.name.toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)||(t.description||``).toLowerCase().includes(e)):F.value}),on=C(()=>an.value.length),sn=C(()=>{let e=(At.value-1)*jt.value;return an.value.slice(e,e+jt.value)});pe(Ot,()=>{At.value=1});let cn=ke([{title:`ID`,key:`id`,width:72},{title:`脚本/命令`,key:`label`},{title:`状态`,key:`status`,width:100},{title:`进度`,key:`progress`,width:88},{title:`台数`,key:`server_count`,width:72},{title:`操作人`,key:`operator`,width:88},{title:`开始时间`,key:`started_at`,width:168},{title:`操作`,key:`actions`,width:180}]),ln=C(()=>W.value?F.value.find(e=>e.id===W.value)?.name||`脚本 #${W.value}`:``),un={started:`开始`,batch_progress:`批次进度`,execution_finished:`结束`,stopped:`停止`,retry_requested:`重试`,stuck_marked:`标记卡住`,server_auto_stuck:`子机超时`,auto_stuck:`自动卡住`,job_completed:`回调完成`},dn=C(()=>new Map(fe.value.map(e=>[e.id,e])));function fn(e){let t=(e.stderr||``).trim(),n=(e.stdout||``).trim(),r=(e.message||``).trim(),i=t||n||r||`—`;return{summary:(t||r||n||``).slice(0,200)||`—`,full:i}}let Y=C(()=>{if(!K.value?.results)return[];let e=dn.value;return Object.entries(K.value.results).filter(([e])=>e!==`_meta`&&/^\d+$/.test(e)).map(([t,n])=>{let r=Number(t),i=e.get(r),a=String(n.status||``),o=n.phase?String(n.phase):void 0,s=n.exit_code??null,c=fn(n),l=de(a,o,s),te=De(o);return{serverId:t,serverIdNum:r,serverName:ee(t,K.value?.server_names,i?.name),serverDomain:i?.domain||``,status:a,phase:o,exitCode:s,summary:c.summary,fullOutput:c.full,failed:l,pending:te}}).sort((e,t)=>e.failed===t.failed?e.pending===t.pending?e.serverName.localeCompare(t.serverName,`zh`):e.pending?1:-1:e.failed?-1:1)}),X=C(()=>me(K.value?.results,K.value?.server_ids)),pn=C(()=>Y.value.filter(e=>e.failed).map(e=>e.serverName)),mn=C(()=>Ue(Y.value)),hn=C(()=>q.value===`failed`?Y.value.filter(e=>e.failed):q.value===`success`?Y.value.filter(e=>!e.failed&&!e.pending):Y.value),Z=C(()=>Y.value.find(e=>e.serverId===J.value)||null);function gn(e){return me(e.results,e.server_ids)}function _n(e){return Et.find(t=>t.value===e)?.label||e}function vn(e){if(!e)return`—`;let t=e.startsWith(`[long_task] `)?e.slice(12):e;return t.length>60?`${t.slice(0,60)}…`:t}function yn(e){return e.script_id?F.value.find(t=>t.id===e.script_id)?.name||`脚本 #${e.script_id}`:`临时命令`}function bn(e){let t=e.events||[];return t.length?t.slice(-3).map(e=>{let t=un[e.action||``]||e.action||`事件`,n=ie(e.at),r=e.detail||``;return`${n} · ${t}${r?` — ${r}`:``}`}):[]}async function xn(e=!1){e||(Vt.value=!0);try{Bt.value=(await g.get(`/scripts/executions`,{limit:5})).items||[]}catch{e||(Bt.value=[])}finally{e||(Vt.value=!1)}}async function Q(e=!1){e||(Gt.value=!0);try{let e=await Fe(async(e,t)=>{let n={limit:e,offset:t};W.value&&(n.script_id=W.value);let r=await g.get(`/scripts/executions`,n);return{items:r.items||[],total:r.total||0}},U.value,Wt.value);Ht.value=e.items,Ut.value=e.total,Wt.value===-1&&(U.value=1)}catch{e||(Ht.value=[],Ut.value=0)}finally{e||(Gt.value=!1)}}function $(e=!1){xn(e),Q(e)}He($);function Sn(e){U.value=e,Q()}function Cn(e){Wt.value=e,U.value=1,Q()}function wn(){W.value=null,U.value=1,Q()}async function Tn(e){W.value=e.id,U.value=1,await Q(),await te(),zt.value?.scrollIntoView({behavior:`smooth`,block:`start`})}function En(e){return e||`—`}function Dn(e){if(!e)return 0;try{let t=JSON.parse(e);return Array.isArray(t)?t.length:0}catch{return 0}}function On(e){let t=e.id??e.execution_id;if(t==null)throw Error(`执行响应缺少 id`);return t}async function kn(){Dt.value=!0;try{F.value=(await g.getList(`/scripts/`)).items}catch(e){F.value=[],l(P(e,`加载脚本列表失败`),`error`)}finally{Dt.value=!1}}async function An(){try{I.value=await g.get(`/scripts/exec-config`)}catch{I.value=null}}async function jn(){try{kt.value=await g.getList(`/scripts/credentials`).then(e=>e.items)}catch{kt.value=[]}}function Mn(e){Mt.value=e,e?R.value={name:e.name,category:e.category||`ops`,description:e.description||``,content:e.content||``}:R.value={name:``,category:`ops`,description:``,content:``},L.value=!0}async function Nn(){if(!R.value.name.trim()||!R.value.content.trim()){l(`请填写名称与脚本内容`,`warning`);return}Nt.value=!0;try{let e={name:R.value.name.trim(),category:R.value.category,description:R.value.description.trim()||null,content:R.value.content};Mt.value?await g.put(`/scripts/${Mt.value.id}`,e):await g.post(`/scripts/`,e),L.value=!1,await kn(),l(`保存成功`)}catch(e){l(P(e,`保存失败`),`error`)}finally{Nt.value=!1}}function Pn(e){B.value=e,V.value=[],Ft.value=!1,It.value=null,z.value=!0}async function Fn(e,t,n){let r=await g.post(`/scripts/exec`,e);return be(On(r),t,n,!!e.long_task,r.progress,r.status),r}async function In(){if(!B.value||!V.value.length){l(`请选择服务器`,`warning`);return}Lt.value=!0;try{await Fn({script_id:B.value.id,server_ids:V.value,timeout:Pt.value,long_task:Ft.value,credential_id:It.value??void 0},B.value.name,V.value.length),z.value=!1,_e(`脚本已提交执行`),$()}catch(e){l(P(e,`执行失败`),`error`)}finally{Lt.value=!1}}function Ln(e){Rt.value=e,H.value=!0}async function Rn(){if(Rt.value)try{await g.delete(`/scripts/${Rt.value.id}`),H.value=!1,await kn(),l(`已删除`)}catch(e){l(P(e,`删除失败`),`error`)}}async function zn(){if(!(!qt.value.trim()||G.value.length===0)){Zt.value=!0;try{await Fn({command:qt.value.trim(),server_ids:G.value,timeout:Jt.value,long_task:Yt.value,credential_id:Xt.value??void 0},`临时命令`,G.value.length),_e(`已在 ${G.value.length} 台服务器上执行`),$()}catch(e){l(P(e,`执行失败`),`error`)}finally{Zt.value=!1}}}async function Bn(e){try{await g.post(`/scripts/executions/${e.id}/stop`),$(),l(`已发送停止指令`)}catch(e){l(P(e,`停止失败`),`error`)}}async function Vn(e){try{let t=await g.post(`/scripts/executions/${e.id}/retry`,{});be(On(t),`${yn(e)}(重试)`,Dn(e.server_ids)||Dn(t.server_ids),!!e.long_task,t.progress,t.status),$(),_e(`重试已提交`)}catch(e){l(P(e,`重试失败`),`error`)}}async function Hn(e){if(en.value=e,q.value=`all`,tn.value=`list`,J.value=null,nn.value=[],Qt.value=!0,await Zn(!1),me(K.value?.results,K.value?.server_ids).failed>0&&(K.value?.status===`failed`||K.value?.status===`partial`)){q.value=`failed`;let e=Y.value.find(e=>e.failed);e&&(J.value=e.serverId)}}function Un(e){let t=e.serverDomain?` (${e.serverDomain})`:``,n=e.exitCode==null?``:` · exit ${e.exitCode}`,r=e.summary.split(` -`)[0]?.trim()||e.summary,i=r&&r!==`—`?` · ${r.slice(0,120)}`:``;return`- ${e.serverName}${t}${n}${i}`}async function Wn(e,t){try{await navigator.clipboard.writeText(e),l(t)}catch{l(`复制失败`,`error`)}}async function Gn(){let e=Y.value.filter(e=>e.failed);e.length&&await Wn([`执行 #${K.value?.id??en.value} · 失败 ${e.length} 台`,...e.map(Un)].join(` -`),`已复制失败清单`)}async function Kn(){let e=mn.value;if(!e.length)return;let t=[`执行 #${K.value?.id??en.value} · 失败分组 ${e.length} 类`];for(let n of e){let e=n.rows.map(e=>e.serverName).join(`、`);t.push(`[${n.errorKey.slice(0,120)}] ${n.count} 台: ${e}`)}await Wn(t.join(` -`),`已复制分组摘要`)}function qn(e){J.value=J.value===e?null:e}async function Jn(e){if(!(!e.fullOutput||e.fullOutput===`—`))try{await navigator.clipboard.writeText(e.fullOutput),l(`已复制到剪贴板`)}catch{l(`复制失败`,`error`)}}function Yn(e){se.push({path:`/terminal`,query:{server_id:String(e)}})}async function Xn(){K.value&&await Vn(K.value)}async function Zn(e){if(en.value!=null){$t.value=!0;try{K.value=await g.get(`/scripts/executions/${en.value}`,{fetch_logs:e,log_lines:100})}catch(e){l(P(e,`加载详情失败`),`error`),Qt.value=!1}finally{$t.value=!1}}}async function Qn(e=!1){await Promise.all([kn(),Tt({all:!0}),An(),jn(),$(e)])}return Oe(e=>Qn(e)),(e,a)=>(f(),x(i,{fluid:``,class:`pa-6`},{default:p(()=>[O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:p(()=>[O(M,{class:`d-flex flex-wrap align-center ga-2`},{default:p(()=>[a[34]||=y(` 脚本库 `,-1),I.value?(f(),x(k,{key:0,size:`small`,variant:`tonal`,label:``,class:`ml-1`},{default:p(()=>[y(` 分批 `+T(I.value.batch_size)+` 台 · 并发 `+T(I.value.concurrency),1)]),_:1})):v(``,!0),O(_),O(Me,{modelValue:Ot.value,"onUpdate:modelValue":a[0]||=e=>Ot.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索...`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`240px`}},null,8,[`modelValue`]),O(d,{color:`primary`,variant:`flat`,class:`ml-1`,"prepend-icon":`mdi-plus`,size:`small`,onClick:a[1]||=e=>Mn(null)},{default:p(()=>[...a[33]||=[y(` 新建脚本 `,-1)]]),_:1})]),_:1})]),_:1}),O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:p(()=>[O(M,{class:`d-flex align-center`,style:{cursor:`pointer`},onClick:a[2]||=e=>Kt.value=!Kt.value},{default:p(()=>[O(m,{class:`mr-2`},{default:p(()=>[...a[35]||=[y(`mdi-console`,-1)]]),_:1}),a[36]||=y(` 临时命令执行 `,-1),O(_),O(m,null,{default:p(()=>[y(T(Kt.value?`mdi-chevron-up`:`mdi-chevron-down`),1)]),_:1})]),_:1}),O(le,null,{default:p(()=>[ge(S(`div`,null,[O(E),O(j,null,{default:p(()=>[O(Ve,{modelValue:qt.value,"onUpdate:modelValue":a[3]||=e=>qt.value=e,label:`命令`,variant:`outlined`,density:`compact`,rows:`3`,placeholder:`输入要执行的命令... (Ctrl+Enter 执行)`,class:`mb-3 font-monospace`,onKeydown:Se(Ee(zn,[`ctrl`]),[`enter`]),rules:[w(Re)(`命令`)]},null,8,[`modelValue`,`onKeydown`,`rules`]),a[38]||=S(`div`,{class:`text-caption text-medium-emphasis mb-1`},`目标服务器(按分类选择)`,-1),O(ze,{modelValue:G.value,"onUpdate:modelValue":a[4]||=e=>G.value=e,servers:w(fe),loading:w(Ie),"max-height":`220px`,class:`mb-3`},null,8,[`modelValue`,`servers`,`loading`]),O(s,{dense:``},{default:p(()=>[O(o,{cols:`6`,md:`2`},{default:p(()=>[O(Me,{modelValue:Jt.value,"onUpdate:modelValue":a[5]||=e=>Jt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:I.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),O(o,{cols:`6`,md:`3`},{default:p(()=>[O(je,{modelValue:Xt.value,"onUpdate:modelValue":a[6]||=e=>Xt.value=e,items:rn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``,"hide-details":``},null,8,[`modelValue`,`items`])]),_:1}),O(o,{cols:`12`,md:`2`,class:`d-flex align-center ga-2`},{default:p(()=>[O(Be,{modelValue:Yt.value,"onUpdate:modelValue":a[7]||=e=>Yt.value=e,label:`长任务`,density:`compact`,"hide-details":``,color:`primary`},null,8,[`modelValue`]),O(d,{color:`primary`,variant:`flat`,onClick:zn,loading:Zt.value,disabled:!qt.value.trim()||G.value.length===0},{default:p(()=>[...a[37]||=[y(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1})],512),[[ve,Kt.value]])]),_:1})]),_:1}),Dt.value?(f(),x(he,{key:0,indeterminate:``,color:`primary`})):v(``,!0),sn.value.length?(f(),x(s,{key:1},{default:p(()=>[(f(!0),D(b,null,u(sn.value,e=>(f(),x(o,{cols:`12`,sm:`6`,md:`4`,key:e.id},{default:p(()=>[O(N,{elevation:`0`,border:``,rounded:`lg`,class:`fill-height`},{default:p(()=>[O(M,{class:`d-flex align-center`},{default:p(()=>[O(m,{color:`primary`,class:`mr-2`},{default:p(()=>[...a[39]||=[y(`mdi-code-braces`,-1)]]),_:1}),S(`span`,Ye,T(e.name),1),O(_),O(we,null,{activator:p(({props:e})=>[O(d,ne({icon:`mdi-dots-vertical`,variant:`text`,size:`small`},{ref_for:!0},e),null,16)]),default:p(()=>[O(xe,{density:`compact`},{default:p(()=>[O(Ce,{title:`编辑`,onClick:t=>Mn(e)},{prepend:p(()=>[O(m,null,{default:p(()=>[...a[40]||=[y(`mdi-pencil`,-1)]]),_:1})]),_:1},8,[`onClick`]),O(Ce,{title:`执行`,onClick:t=>Pn(e)},{prepend:p(()=>[O(m,null,{default:p(()=>[...a[41]||=[y(`mdi-play`,-1)]]),_:1})]),_:1},8,[`onClick`]),O(Ce,{title:`删除`,onClick:t=>Ln(e),class:`text-error`},{prepend:p(()=>[O(m,{color:`error`},{default:p(()=>[...a[42]||=[y(`mdi-delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024),O(j,null,{default:p(()=>[e.category?(f(),x(k,{key:0,size:`small`,variant:`tonal`,label:``,class:`mb-2`},{default:p(()=>[y(T(_n(e.category)),1)]),_:2},1024)):v(``,!0),S(`div`,Xe,T(e.description||`无描述`),1),S(`div`,Ze,` 更新于 `+T(w(ie)(e.updated_at||e.created_at)),1)]),_:2},1024),O(A,null,{default:p(()=>[O(d,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-play`,color:`primary`,onClick:t=>Pn(e)},{default:p(()=>[...a[43]||=[y(` 执行 `,-1)]]),_:1},8,[`onClick`]),O(_),O(d,{size:`small`,variant:`text`,onClick:t=>Tn(e)},{default:p(()=>[...a[44]||=[y(`历史`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):Dt.value?v(``,!0):(f(),x(N,{key:2,elevation:`0`,border:``,rounded:`lg`},{default:p(()=>[O(j,{class:`text-center text-medium-emphasis py-10`},{default:p(()=>[...a[45]||=[y(`暂无脚本,点击「新建脚本」添加`,-1)]]),_:1})]),_:1})),on.value>jt.value?(f(),D(`div`,Qe,[O(r,{modelValue:At.value,"onUpdate:modelValue":a[8]||=e=>At.value=e,length:Math.ceil(on.value/jt.value),rounded:``,density:`compact`},null,8,[`modelValue`,`length`])])):v(``,!0),S(`div`,{ref_key:`historySectionRef`,ref:zt},[O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:p(()=>[O(M,{class:`d-flex align-center text-subtitle-1`},{default:p(()=>[O(m,{class:`mr-2`},{default:p(()=>[...a[46]||=[y(`mdi-history`,-1)]]),_:1}),a[47]||=y(` 最近执行 `,-1),O(_),O(d,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Vt.value,onClick:xn},null,8,[`loading`])]),_:1}),O(E),O(j,{class:`pa-0`},{default:p(()=>[Vt.value?(f(),x(he,{key:0,indeterminate:``,color:`primary`})):v(``,!0),Bt.value.length?(f(),x(xe,{key:1,density:`compact`,class:`py-0`},{default:p(()=>[(f(!0),D(b,null,u(Bt.value,e=>(f(),x(Ce,{key:e.id,title:`#${e.id} · ${yn(e)}`,onClick:t=>Hn(e.id),style:{cursor:`pointer`}},{subtitle:p(()=>[S(`div`,$e,T(w(oe)(e.status))+` · `+T(Dn(e.server_ids))+` 台 · `+T(e.operator||`—`)+` · `+T(w(ie)(e.started_at)),1),(f(!0),D(b,null,u(bn(e),(e,t)=>(f(),D(`div`,{key:t,class:`text-caption text-medium-emphasis font-monospace mt-1`},T(e),1))),128))]),append:p(()=>[O(k,{color:w(ae)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(oe)(e.status)),1)]),_:2},1032,[`color`])]),_:2},1032,[`title`,`onClick`]))),128))]),_:1})):Vt.value?v(``,!0):(f(),D(`div`,et,`暂无执行记录`))]),_:1})]),_:1}),O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:p(()=>[O(M,{class:`d-flex flex-wrap align-center ga-2 text-subtitle-1`},{default:p(()=>[O(m,{class:`mr-1`},{default:p(()=>[...a[48]||=[y(`mdi-format-list-bulleted`,-1)]]),_:1}),a[49]||=y(` 全部执行历史 `,-1),W.value?(f(),x(k,{key:0,size:`small`,variant:`tonal`,closable:``,label:``,"onClick:close":wn},{default:p(()=>[y(T(ln.value),1)]),_:1})):v(``,!0),O(_),O(d,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Gt.value,onClick:Q},null,8,[`loading`])]),_:1}),O(E),O(Ne,{items:Ht.value,headers:w(cn),"items-length":Ut.value,loading:Gt.value,page:U.value,"items-per-page":Wt.value,"items-per-page-options":t,density:`compact`,hover:``,"onUpdate:page":Sn,"onUpdate:itemsPerPage":Cn},{"item.label":p(({item:e})=>[S(`div`,tt,T(yn(e)),1),S(`code`,nt,T(vn(e.command)),1)]),"item.status":p(({item:e})=>[O(k,{color:w(ae)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(oe)(e.status)),1)]),_:2},1032,[`color`])]),"item.server_count":p(({item:e})=>[y(T(Dn(e.server_ids)),1)]),"item.progress":p(({item:e})=>[S(`div`,rt,[S(`span`,null,T(En(e.progress)),1),gn(e).failed>0?(f(),x(k,{key:0,color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(gn(e).failed)+` 台失败 `,1)]),_:2},1024)):v(``,!0)])]),"item.started_at":p(({item:e})=>[y(T(w(ie)(e.started_at)),1)]),"item.actions":p(({item:e})=>[O(d,{size:`x-small`,variant:`text`,onClick:t=>Hn(e.id)},{default:p(()=>[...a[50]||=[y(`详情`,-1)]]),_:1},8,[`onClick`]),e.status===`running`||e.status===`partial`?(f(),x(d,{key:0,size:`x-small`,variant:`text`,color:`error`,onClick:t=>Bn(e)},{default:p(()=>[...a[51]||=[y(` 停止 `,-1)]]),_:1},8,[`onClick`])):v(``,!0),e.status===`failed`||e.status===`partial`?(f(),x(d,{key:1,size:`x-small`,variant:`text`,color:`primary`,onClick:t=>Vn(e)},{default:p(()=>[...a[52]||=[y(` 重试 `,-1)]]),_:1},8,[`onClick`])):v(``,!0)]),"no-data":p(()=>[...a[53]||=[S(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无执行记录`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1})],512),O(Le,{modelValue:L.value,"onUpdate:modelValue":a[14]||=e=>L.value=e,"max-width":`900`,scrollable:``},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,null,{default:p(()=>[y(T(Mt.value?`编辑脚本`:`新建脚本`),1)]),_:1}),O(E),O(j,null,{default:p(()=>[O(Me,{modelValue:R.value.name,"onUpdate:modelValue":a[9]||=e=>R.value.name=e,label:`脚本名称`,variant:`outlined`,density:`compact`,class:`mb-2`,rules:[w(Re)(`脚本名称`)]},null,8,[`modelValue`,`rules`]),O(je,{modelValue:R.value.category,"onUpdate:modelValue":a[10]||=e=>R.value.category=e,items:Et,"item-title":`label`,"item-value":`value`,label:`分类`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),O(Ve,{modelValue:R.value.description,"onUpdate:modelValue":a[11]||=e=>R.value.description=e,label:`描述`,variant:`outlined`,density:`compact`,rows:`2`,class:`mb-2`},null,8,[`modelValue`]),a[54]||=S(`div`,{class:`text-caption text-medium-emphasis mb-1`},`脚本内容`,-1),O(Je,{modelValue:R.value.content,"onUpdate:modelValue":a[12]||=e=>R.value.content=e},null,8,[`modelValue`])]),_:1}),O(E),O(A,null,{default:p(()=>[O(_),O(d,{variant:`text`,onClick:a[13]||=e=>L.value=!1},{default:p(()=>[...a[55]||=[y(`取消`,-1)]]),_:1}),O(d,{color:`primary`,variant:`flat`,onClick:Nn,loading:Nt.value,disabled:!R.value.content.trim()},{default:p(()=>[...a[56]||=[y(` 保存 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),O(Le,{modelValue:z.value,"onUpdate:modelValue":a[20]||=e=>z.value=e,"max-width":`720`,scrollable:``},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,null,{default:p(()=>[y(`执行脚本: `+T(B.value?.name),1)]),_:1}),O(j,null,{default:p(()=>[a[57]||=S(`div`,{class:`text-caption text-medium-emphasis mb-1`},`选择服务器(按分类勾选)`,-1),O(ze,{modelValue:V.value,"onUpdate:modelValue":a[15]||=e=>V.value=e,servers:w(fe),loading:w(Ie),"max-height":`360px`,class:`mb-2`},null,8,[`modelValue`,`servers`,`loading`]),O(s,{dense:``},{default:p(()=>[O(o,{cols:`6`},{default:p(()=>[O(Me,{modelValue:Pt.value,"onUpdate:modelValue":a[16]||=e=>Pt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:I.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),O(o,{cols:`6`},{default:p(()=>[O(je,{modelValue:It.value,"onUpdate:modelValue":a[17]||=e=>It.value=e,items:rn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``},null,8,[`modelValue`,`items`])]),_:1})]),_:1}),O(Be,{modelValue:Ft.value,"onUpdate:modelValue":a[18]||=e=>Ft.value=e,label:`长任务(nohup + Agent 回调,适合超时较长的脚本)`,density:`compact`,color:`primary`},null,8,[`modelValue`])]),_:1}),O(A,null,{default:p(()=>[O(_),O(d,{variant:`text`,onClick:a[19]||=e=>z.value=!1},{default:p(()=>[...a[58]||=[y(`取消`,-1)]]),_:1}),O(d,{color:`primary`,variant:`flat`,onClick:In,loading:Lt.value,disabled:!V.value.length},{default:p(()=>[...a[59]||=[y(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),O(Le,{modelValue:H.value,"onUpdate:modelValue":a[22]||=e=>H.value=e,"max-width":`400`},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,null,{default:p(()=>[...a[60]||=[y(`确认删除`,-1)]]),_:1}),O(j,null,{default:p(()=>[a[61]||=y(`确定要删除脚本 `,-1),S(`strong`,null,T(Rt.value?.name),1),a[62]||=y(` 吗?`,-1)]),_:1}),O(A,null,{default:p(()=>[O(_),O(d,{variant:`text`,onClick:a[21]||=e=>H.value=!1},{default:p(()=>[...a[63]||=[y(`取消`,-1)]]),_:1}),O(d,{color:`error`,variant:`flat`,onClick:Rn},{default:p(()=>[...a[64]||=[y(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),O(Le,{modelValue:Qt.value,"onUpdate:modelValue":a[32]||=e=>Qt.value=e,"max-width":`960`,scrollable:``},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,{class:`d-flex align-center flex-wrap ga-2`},{default:p(()=>[S(`span`,null,`执行详情 #`+T(K.value?.id),1),K.value?(f(),x(k,{key:0,color:w(ae)(K.value.status),size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(oe)(K.value.status)),1)]),_:1},8,[`color`])):v(``,!0),O(_),K.value?.long_task?(f(),x(d,{key:1,size:`small`,variant:`tonal`,loading:$t.value,onClick:a[23]||=e=>Zn(!0)},{default:p(()=>[...a[65]||=[y(` 拉取日志 `,-1)]]),_:1},8,[`loading`])):v(``,!0)]),_:1}),O(E),K.value?(f(),x(j,{key:0},{default:p(()=>[S(`div`,it,T(En(K.value.progress))+` · 操作人 `+T(K.value.operator||`—`),1),S(`pre`,at,T(K.value.command),1),X.value.total?(f(),D(`div`,ot,[O(k,{size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(`共 `+T(X.value.total)+` 台`,1)]),_:1}),X.value.success?(f(),x(k,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(` 成功 `+T(X.value.success),1)]),_:1})):v(``,!0),X.value.failed?(f(),x(k,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(` 失败 `+T(X.value.failed),1)]),_:1})):v(``,!0),X.value.pending?(f(),x(k,{key:2,color:`info`,size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(` 进行中 `+T(X.value.pending),1)]),_:1})):v(``,!0)])):v(``,!0),pn.value.length?(f(),x(ce,{key:1,type:`error`,variant:`tonal`,density:`compact`,class:`mb-3`,title:`失败 ${pn.value.length} 台`},{default:p(()=>[S(`div`,st,T(pn.value.join(`、`)),1)]),_:1},8,[`title`])):v(``,!0),S(`div`,ct,[a[74]||=S(`span`,{class:`text-caption text-medium-emphasis`},`筛选`,-1),O(c,{modelValue:q.value,"onUpdate:modelValue":a[24]||=e=>q.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:p(()=>[O(d,{value:`all`,size:`small`},{default:p(()=>[...a[66]||=[y(`全部`,-1)]]),_:1}),O(d,{value:`failed`,size:`small`},{default:p(()=>[...a[67]||=[y(`仅失败`,-1)]]),_:1}),O(d,{value:`success`,size:`small`},{default:p(()=>[...a[68]||=[y(`仅成功`,-1)]]),_:1})]),_:1},8,[`modelValue`]),X.value.failed>0?(f(),D(b,{key:0},[O(E,{vertical:``,class:`mx-1`}),a[73]||=S(`span`,{class:`text-caption text-medium-emphasis`},`视图`,-1),O(c,{modelValue:tn.value,"onUpdate:modelValue":a[25]||=e=>tn.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:p(()=>[O(d,{value:`list`,size:`small`},{default:p(()=>[...a[69]||=[y(`列表`,-1)]]),_:1}),O(d,{value:`group`,size:`small`},{default:p(()=>[...a[70]||=[y(`按错误分组`,-1)]]),_:1})]),_:1},8,[`modelValue`]),O(d,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Gn},{default:p(()=>[...a[71]||=[y(` 复制失败清单 `,-1)]]),_:1}),tn.value===`group`?(f(),x(d,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Kn},{default:p(()=>[...a[72]||=[y(` 复制分组摘要 `,-1)]]),_:1})):v(``,!0)],64)):v(``,!0)]),tn.value===`list`?(f(),x(n,{key:2,density:`compact`,class:`exec-detail-table`},{default:p(()=>[a[76]||=S(`thead`,null,[S(`tr`,null,[S(`th`,null,`服务器`),S(`th`,null,`状态`),S(`th`,{style:{width:`72px`}},`退出码`),S(`th`,null,`错误摘要`),S(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),S(`tbody`,null,[(f(!0),D(b,null,u(hn.value,e=>(f(),D(`tr`,{key:e.serverId,class:ye([{"exec-detail-row--failed":e.failed,"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[S(`td`,null,[S(`div`,ut,T(e.serverName),1),e.serverDomain?(f(),D(`div`,dt,T(e.serverDomain),1)):v(``,!0)]),S(`td`,null,[O(k,{color:w(ue)(e.status,e.phase,e.exitCode),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(re)(e.status,e.phase)),1)]),_:2},1032,[`color`])]),S(`td`,{class:ye({"text-error font-weight-medium":e.failed})},T(e.exitCode??`—`),3),S(`td`,{class:`text-truncate`,style:{"max-width":`280px`},title:e.summary},T(e.summary),9,ft),S(`td`,{class:`text-end`,onClick:a[26]||=Ee(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(f(),x(d,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):v(``,!0),O(d,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,lt))),128)),hn.value.length===0?(f(),D(`tr`,pt,[...a[75]||=[S(`td`,{colspan:`5`,class:`text-center text-medium-emphasis py-4`},`当前筛选无记录`,-1)]])):v(``,!0)])]),_:1})):mn.value.length?(f(),x(qe,{key:3,modelValue:nn.value,"onUpdate:modelValue":a[28]||=e=>nn.value=e,multiple:``,variant:`accordion`,class:`exec-detail-groups`},{default:p(()=>[(f(!0),D(b,null,u(mn.value,(e,t)=>(f(),x(Ge,{key:`${t}-${e.errorKey}`},{default:p(()=>[O(Ke,null,{default:p(()=>[S(`div`,mt,[S(`span`,{class:`text-body-2 text-truncate`,title:e.errorKey},T(e.errorKey),9,ht),O(k,{color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(e.count)+` 台`,1)]),_:2},1024)])]),_:2},1024),O(We,null,{default:p(()=>[O(n,{density:`compact`},{default:p(()=>[a[77]||=S(`thead`,null,[S(`tr`,null,[S(`th`,null,`服务器`),S(`th`,{style:{width:`72px`}},`退出码`),S(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),S(`tbody`,null,[(f(!0),D(b,null,u(e.rows,e=>(f(),D(`tr`,{key:e.serverId,class:ye([{"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[S(`td`,null,[S(`div`,_t,T(e.serverName),1),e.serverDomain?(f(),D(`div`,vt,T(e.serverDomain),1)):v(``,!0)]),S(`td`,yt,T(e.exitCode??`—`),1),S(`td`,{class:`text-end`,onClick:a[27]||=Ee(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(f(),x(d,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):v(``,!0),O(d,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,gt))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`])):(f(),D(`div`,bt,`无失败记录可分组`)),Z.value?(f(),x(N,{key:5,variant:`tonal`,color:Z.value.failed?`error`:void 0,class:`mt-3 pa-3`},{default:p(()=>[S(`div`,xt,[S(`span`,St,[y(T(Z.value.serverName)+` `,1),Z.value.serverDomain?(f(),D(`span`,Ct,`(`+T(Z.value.serverDomain)+`)`,1)):v(``,!0)]),O(_),O(d,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-content-copy`,onClick:a[29]||=e=>Jn(Z.value)},{default:p(()=>[...a[78]||=[y(` 复制 `,-1)]]),_:1}),O(d,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-console`,onClick:a[30]||=e=>Yn(Z.value.serverIdNum)},{default:p(()=>[...a[79]||=[y(` 终端 `,-1)]]),_:1})]),S(`pre`,wt,T(Z.value.fullOutput),1)]),_:1},8,[`color`])):v(``,!0)]),_:1})):v(``,!0),K.value?(f(),x(A,{key:1},{default:p(()=>[K.value.status===`failed`||K.value.status===`partial`?(f(),x(d,{key:0,color:`primary`,variant:`text`,onClick:Xn},{default:p(()=>[...a[80]||=[y(` 重试失败项 `,-1)]]),_:1})):v(``,!0),O(_),O(d,{variant:`text`,onClick:a[31]||=e=>Qt.value=!1},{default:p(()=>[...a[81]||=[y(`关闭`,-1)]]),_:1})]),_:1})):v(``,!0)]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-990c5229`]]);export{Tt as default}; \ No newline at end of file diff --git a/web/app/assets/ScriptsPage-BIUEJ3WR.js b/web/app/assets/ScriptsPage-Bxvpai9k.js similarity index 94% rename from web/app/assets/ScriptsPage-BIUEJ3WR.js rename to web/app/assets/ScriptsPage-Bxvpai9k.js index f5a52692..c78c14a1 100644 --- a/web/app/assets/ScriptsPage-BIUEJ3WR.js +++ b/web/app/assets/ScriptsPage-Bxvpai9k.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./initMonaco-BdzAW2O1.js";import{a as n,x as r}from"./VDataTable-4SnAXj3j.js";import{n as i,t as a}from"./useSnackbar-CmDJGLzR.js";import{n as o,t as s}from"./VRow-By04mHIT.js";import{$ as c,Ar as l,Bt as ee,Dr as te,Er as ne,Ft as re,Ht as ie,Ir as u,It as ae,Lt as oe,Mr as se,N as ce,O as le,P as d,Pr as f,Pt as ue,Rt as de,Sr as fe,Ur as p,Vr as pe,Vt as me,W as he,Wr as ge,X as m,Xr as h,Xt as g,_,_r as v,br as y,bt as _e,cr as ve,dr as b,gr as x,hr as S,ii as ye,jt as be,l as xe,lr as Se,m as Ce,mr as C,n as we,ni as w,oi as T,tn as Te,ur as Ee,v as E,vr as D,xr as O,y as k,zt as De}from"./index-DawRgH7u.js";import{t as Oe}from"./usePageActivateRefresh-BTfzAggZ.js";import{n as ke,t as Ae}from"./dataTable-esDY4cOk.js";import{a as A,n as j,r as M,t as N}from"./VCard-rBfCdgX2.js";import{t as je}from"./VSelect-XuQYQvJc.js";import{t as Me}from"./VTextField-BZnszgeR.js";import{t as Ne}from"./VDataTableServer-C4_rzPsO.js";import{t as P}from"./apiError-EQrzELs3.js";import{t as Pe}from"./useServerList-CXphchDt.js";import{t as Fe}from"./paginatedFetch-BEWdPley.js";import{t as Ie}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Le}from"./VDialog-8YoHW6GE.js";import{r as Re}from"./validation-BMzYTJL4.js";import{t as ze}from"./ServerCategoryPicker-1rZGQM3V.js";import{t as Be}from"./VSwitch-TNXNpeZv.js";import{t as Ve}from"./VTextarea-9CeXtoSu.js";import{n as He,t as Ue}from"./execDetailGrouping-D7x-TKlJ.js";import{i as We,n as Ge,r as Ke,t as qe}from"./VExpansionPanels-CY-_n0ol.js";var Je=Ie(fe({__name:`ScriptContentEditor`,props:{modelValue:{},readonly:{type:Boolean}},emits:[`update:modelValue`],setup(n,{emit:r}){let i=n,a=r,o=e(),s=h(),c=null,ee=!1;function te(){s.value&&(c?.dispose(),c=o.editor.create(s.value,{...t({language:`shell`,readOnly:i.readonly??!1}),value:i.modelValue||``}),c.onDidChangeModelContent(()=>{ee||!c||a(`update:modelValue`,c.getValue())}))}return pe(()=>i.modelValue,e=>{c&&c.getValue()!==e&&(ee=!0,c.setValue(e||``),ee=!1)}),pe(()=>i.readonly,e=>{c?.updateOptions({readOnly:e??!1})}),se(()=>{te()}),l(()=>{c?.dispose(),c=null}),(e,t)=>(f(),D(`div`,{ref_key:`host`,ref:s,class:`script-content-editor`},null,512))}}),[[`__scopeId`,`data-v-8c9e5994`]]),Ye={class:`text-body-1 font-weight-medium`},Xe={class:`text-body-2 text-medium-emphasis`},Ze={class:`text-caption text-medium-emphasis mt-2`},Qe={key:3,class:`d-flex justify-center mt-4`},$e={class:`text-caption`},et={key:2,class:`text-center text-medium-emphasis py-6`},tt={class:`text-body-2`},nt={class:`text-caption text-medium-emphasis`},rt={class:`d-flex align-center flex-wrap ga-1`},it={class:`text-caption text-medium-emphasis mb-2`},at={class:`text-body-2 mb-3 pa-3 rounded bg-surface-variant overflow-auto`,style:{"max-height":`100px`}},ot={key:0,class:`d-flex flex-wrap ga-2 mb-3`},st={class:`text-body-2`},ct={class:`d-flex align-center flex-wrap ga-2 mb-3`},lt=[`onClick`],ut={class:`font-weight-medium`},dt={key:0,class:`text-caption text-medium-emphasis`},ft=[`title`],pt={key:0},mt={class:`d-flex align-center ga-2 flex-grow-1 min-width-0`},ht=[`title`],gt=[`onClick`],_t={class:`font-weight-medium`},vt={key:0,class:`text-caption text-medium-emphasis`},yt={class:`text-error font-weight-medium`},bt={key:4,class:`text-center text-medium-emphasis py-4`},xt={class:`d-flex align-center flex-wrap ga-2 mb-2`},St={class:`text-subtitle-2`},Ct={key:0,class:`text-medium-emphasis`},wt={class:`text-body-2 overflow-auto exec-detail-output`},Tt=Ie(fe({name:`ScriptsPage`,__name:`ScriptsPage`,setup(e){let t=[...Ae],l=a(),se=Te(),{servers:fe,loading:Ie,loadServers:Tt}=Pe(),Et=[{label:`运维`,value:`ops`},{label:`部署`,value:`deploy`},{label:`检查`,value:`check`},{label:`清理`,value:`cleanup`}],Dt=h(!1),Ot=h(``),F=h([]),I=h(null),kt=h([]),At=h(1),jt=h(20),L=h(!1),Mt=h(null),Nt=h(!1),R=h({name:``,category:`ops`,description:``,content:``}),z=h(!1),B=h(null),V=h([]),Pt=h(300),Ft=h(!1),It=h(null),Lt=h(!1),H=h(!1),Rt=h(null),zt=h(null),Bt=h([]),Vt=h(!1),Ht=h([]),Ut=h(0),U=h(1),Wt=h(20),Gt=h(!1),W=h(null),Kt=h(!1),qt=h(``),G=h([]),Jt=h(60),Yt=h(!1),Xt=h(null),Zt=h(!1),Qt=h(!1),K=h(null),$t=h(!1),en=h(null),q=h(`all`),tn=h(`list`),J=h(null),nn=h([]),rn=C(()=>kt.value.map(e=>({title:e.name,value:e.id}))),an=C(()=>{let e=Ot.value.trim().toLowerCase();return e?F.value.filter(t=>t.name.toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)||(t.description||``).toLowerCase().includes(e)):F.value}),on=C(()=>an.value.length),sn=C(()=>{let e=(At.value-1)*jt.value;return an.value.slice(e,e+jt.value)});pe(Ot,()=>{At.value=1});let cn=ke([{title:`ID`,key:`id`,width:72},{title:`脚本/命令`,key:`label`},{title:`状态`,key:`status`,width:100},{title:`进度`,key:`progress`,width:88},{title:`台数`,key:`server_count`,width:72},{title:`操作人`,key:`operator`,width:88},{title:`开始时间`,key:`started_at`,width:168},{title:`操作`,key:`actions`,width:180}]),ln=C(()=>W.value?F.value.find(e=>e.id===W.value)?.name||`脚本 #${W.value}`:``),un={started:`开始`,batch_progress:`批次进度`,execution_finished:`结束`,stopped:`停止`,retry_requested:`重试`,stuck_marked:`标记卡住`,server_auto_stuck:`子机超时`,auto_stuck:`自动卡住`,job_completed:`回调完成`},dn=C(()=>new Map(fe.value.map(e=>[e.id,e])));function fn(e){let t=(e.stderr||``).trim(),n=(e.stdout||``).trim(),r=(e.message||``).trim(),i=t||n||r||`—`;return{summary:(t||r||n||``).slice(0,200)||`—`,full:i}}let Y=C(()=>{if(!K.value?.results)return[];let e=dn.value;return Object.entries(K.value.results).filter(([e])=>e!==`_meta`&&/^\d+$/.test(e)).map(([t,n])=>{let r=Number(t),i=e.get(r),a=String(n.status||``),o=n.phase?String(n.phase):void 0,s=n.exit_code??null,c=fn(n),l=de(a,o,s),te=De(o);return{serverId:t,serverIdNum:r,serverName:ee(t,K.value?.server_names,i?.name),serverDomain:i?.domain||``,status:a,phase:o,exitCode:s,summary:c.summary,fullOutput:c.full,failed:l,pending:te}}).sort((e,t)=>e.failed===t.failed?e.pending===t.pending?e.serverName.localeCompare(t.serverName,`zh`):e.pending?1:-1:e.failed?-1:1)}),X=C(()=>me(K.value?.results,K.value?.server_ids)),pn=C(()=>Y.value.filter(e=>e.failed).map(e=>e.serverName)),mn=C(()=>Ue(Y.value)),hn=C(()=>q.value===`failed`?Y.value.filter(e=>e.failed):q.value===`success`?Y.value.filter(e=>!e.failed&&!e.pending):Y.value),Z=C(()=>Y.value.find(e=>e.serverId===J.value)||null);function gn(e){return me(e.results,e.server_ids)}function _n(e){return Et.find(t=>t.value===e)?.label||e}function vn(e){if(!e)return`—`;let t=e.startsWith(`[long_task] `)?e.slice(12):e;return t.length>60?`${t.slice(0,60)}…`:t}function yn(e){return e.script_id?F.value.find(t=>t.id===e.script_id)?.name||`脚本 #${e.script_id}`:`临时命令`}function bn(e){let t=e.events||[];return t.length?t.slice(-3).map(e=>{let t=un[e.action||``]||e.action||`事件`,n=ie(e.at),r=e.detail||``;return`${n} · ${t}${r?` — ${r}`:``}`}):[]}async function xn(e=!1){e||(Vt.value=!0);try{Bt.value=(await g.get(`/scripts/executions`,{limit:5})).items||[]}catch{e||(Bt.value=[])}finally{e||(Vt.value=!1)}}async function Q(e=!1){e||(Gt.value=!0);try{let e=await Fe(async(e,t)=>{let n={limit:e,offset:t};W.value&&(n.script_id=W.value);let r=await g.get(`/scripts/executions`,n);return{items:r.items||[],total:r.total||0}},U.value,Wt.value);Ht.value=e.items,Ut.value=e.total,Wt.value===-1&&(U.value=1)}catch{e||(Ht.value=[],Ut.value=0)}finally{e||(Gt.value=!1)}}function $(e=!1){xn(e),Q(e)}He($);function Sn(e){U.value=e,Q()}function Cn(e){Wt.value=e,U.value=1,Q()}function wn(){W.value=null,U.value=1,Q()}async function Tn(e){W.value=e.id,U.value=1,await Q(),await te(),zt.value?.scrollIntoView({behavior:`smooth`,block:`start`})}function En(e){return e||`—`}function Dn(e){if(!e)return 0;try{let t=JSON.parse(e);return Array.isArray(t)?t.length:0}catch{return 0}}function On(e){let t=e.id??e.execution_id;if(t==null)throw Error(`执行响应缺少 id`);return t}async function kn(){Dt.value=!0;try{F.value=(await g.getList(`/scripts/`)).items}catch(e){F.value=[],l(P(e,`加载脚本列表失败`),`error`)}finally{Dt.value=!1}}async function An(){try{I.value=await g.get(`/scripts/exec-config`)}catch{I.value=null}}async function jn(){try{kt.value=await g.getList(`/scripts/credentials`).then(e=>e.items)}catch{kt.value=[]}}function Mn(e){Mt.value=e,e?R.value={name:e.name,category:e.category||`ops`,description:e.description||``,content:e.content||``}:R.value={name:``,category:`ops`,description:``,content:``},L.value=!0}async function Nn(){if(!R.value.name.trim()||!R.value.content.trim()){l(`请填写名称与脚本内容`,`warning`);return}Nt.value=!0;try{let e={name:R.value.name.trim(),category:R.value.category,description:R.value.description.trim()||null,content:R.value.content};Mt.value?await g.put(`/scripts/${Mt.value.id}`,e):await g.post(`/scripts/`,e),L.value=!1,await kn(),l(`保存成功`)}catch(e){l(P(e,`保存失败`),`error`)}finally{Nt.value=!1}}function Pn(e){B.value=e,V.value=[],Ft.value=!1,It.value=null,z.value=!0}async function Fn(e,t,n){let r=await g.post(`/scripts/exec`,e);return be(On(r),t,n,!!e.long_task,r.progress,r.status),r}async function In(){if(!B.value||!V.value.length){l(`请选择服务器`,`warning`);return}Lt.value=!0;try{await Fn({script_id:B.value.id,server_ids:V.value,timeout:Pt.value,long_task:Ft.value,credential_id:It.value??void 0},B.value.name,V.value.length),z.value=!1,_e(`脚本已提交执行`),$()}catch(e){l(P(e,`执行失败`),`error`)}finally{Lt.value=!1}}function Ln(e){Rt.value=e,H.value=!0}async function Rn(){if(Rt.value)try{await g.delete(`/scripts/${Rt.value.id}`),H.value=!1,await kn(),l(`已删除`)}catch(e){l(P(e,`删除失败`),`error`)}}async function zn(){if(!(!qt.value.trim()||G.value.length===0)){Zt.value=!0;try{await Fn({command:qt.value.trim(),server_ids:G.value,timeout:Jt.value,long_task:Yt.value,credential_id:Xt.value??void 0},`临时命令`,G.value.length),_e(`已在 ${G.value.length} 台服务器上执行`),$()}catch(e){l(P(e,`执行失败`),`error`)}finally{Zt.value=!1}}}async function Bn(e){try{await g.post(`/scripts/executions/${e.id}/stop`),$(),l(`已发送停止指令`)}catch(e){l(P(e,`停止失败`),`error`)}}async function Vn(e){try{let t=await g.post(`/scripts/executions/${e.id}/retry`,{});be(On(t),`${yn(e)}(重试)`,Dn(e.server_ids)||Dn(t.server_ids),!!e.long_task,t.progress,t.status),$(),_e(`重试已提交`)}catch(e){l(P(e,`重试失败`),`error`)}}async function Hn(e){if(en.value=e,q.value=`all`,tn.value=`list`,J.value=null,nn.value=[],Qt.value=!0,await Zn(!1),me(K.value?.results,K.value?.server_ids).failed>0&&(K.value?.status===`failed`||K.value?.status===`partial`)){q.value=`failed`;let e=Y.value.find(e=>e.failed);e&&(J.value=e.serverId)}}function Un(e){let t=e.serverDomain?` (${e.serverDomain})`:``,n=e.exitCode==null?``:` · exit ${e.exitCode}`,r=e.summary.split(` +import{n as e,t}from"./initMonaco-CvAS2Es9.js";import{a as n,x as r}from"./VDataTable-PKQbaP3_.js";import{n as i,t as a}from"./useSnackbar-P0rXZaHt.js";import{n as o,t as s}from"./VRow-Jrv7cE2K.js";import{$ as c,Ar as l,Bt as ee,Dr as te,Er as ne,Ft as re,Ht as ie,Ir as u,It as ae,Lt as oe,Mr as se,N as ce,O as le,P as d,Pr as f,Pt as ue,Rt as de,Sr as fe,Ur as p,Vr as pe,Vt as me,W as he,Wr as ge,X as m,Xr as h,Xt as g,_,_r as v,br as y,bt as _e,cr as ve,dr as b,gr as x,hr as S,ii as ye,jt as be,l as xe,lr as Se,m as Ce,mr as C,n as we,ni as w,oi as T,tn as Te,ur as Ee,v as E,vr as D,xr as O,y as k,zt as De}from"./index-Bplw5zZe.js";import{t as Oe}from"./usePageActivateRefresh-C2xQnJah.js";import{n as ke,t as Ae}from"./dataTable-esDY4cOk.js";import{t as je}from"./paginatedFetch-DmzXeKPu.js";import{a as A,n as j,r as M,t as N}from"./VCard-DwK3U69w.js";import{t as Me}from"./VSelect-C2IkZQ4Y.js";import{t as Ne}from"./VTextField-DVnxh9lX.js";import{t as Pe}from"./VDataTableServer-D1N34nyt.js";import{t as P}from"./apiError-D7r0BvbZ.js";import{t as Fe}from"./useServerList-IslpqUAV.js";import{t as Ie}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Le}from"./VDialog-DPwgR17F.js";import{r as Re}from"./validation-BMzYTJL4.js";import{t as ze}from"./ServerCategoryPicker-BE313wTd.js";import{t as Be}from"./VSwitch-B9ytL2C4.js";import{t as Ve}from"./VTextarea-Cn1CYtMX.js";import{n as He,t as Ue}from"./execDetailGrouping-DS4ZxwW6.js";import{i as We,n as Ge,r as Ke,t as qe}from"./VExpansionPanels-B73hBz74.js";var Je=Ie(fe({__name:`ScriptContentEditor`,props:{modelValue:{},readonly:{type:Boolean}},emits:[`update:modelValue`],setup(n,{emit:r}){let i=n,a=r,o=e(),s=h(),c=null,ee=!1;function te(){s.value&&(c?.dispose(),c=o.editor.create(s.value,{...t({language:`shell`,readOnly:i.readonly??!1}),value:i.modelValue||``}),c.onDidChangeModelContent(()=>{ee||!c||a(`update:modelValue`,c.getValue())}))}return pe(()=>i.modelValue,e=>{c&&c.getValue()!==e&&(ee=!0,c.setValue(e||``),ee=!1)}),pe(()=>i.readonly,e=>{c?.updateOptions({readOnly:e??!1})}),se(()=>{te()}),l(()=>{c?.dispose(),c=null}),(e,t)=>(f(),D(`div`,{ref_key:`host`,ref:s,class:`script-content-editor`},null,512))}}),[[`__scopeId`,`data-v-8c9e5994`]]),Ye={class:`text-body-1 font-weight-medium`},Xe={class:`text-body-2 text-medium-emphasis`},Ze={class:`text-caption text-medium-emphasis mt-2`},Qe={key:3,class:`d-flex justify-center mt-4`},$e={class:`text-caption`},et={key:2,class:`text-center text-medium-emphasis py-6`},tt={class:`text-body-2`},nt={class:`text-caption text-medium-emphasis`},rt={class:`d-flex align-center flex-wrap ga-1`},it={class:`text-caption text-medium-emphasis mb-2`},at={class:`text-body-2 mb-3 pa-3 rounded bg-surface-variant overflow-auto`,style:{"max-height":`100px`}},ot={key:0,class:`d-flex flex-wrap ga-2 mb-3`},st={class:`text-body-2`},ct={class:`d-flex align-center flex-wrap ga-2 mb-3`},lt=[`onClick`],ut={class:`font-weight-medium`},dt={key:0,class:`text-caption text-medium-emphasis`},ft=[`title`],pt={key:0},mt={class:`d-flex align-center ga-2 flex-grow-1 min-width-0`},ht=[`title`],gt=[`onClick`],_t={class:`font-weight-medium`},vt={key:0,class:`text-caption text-medium-emphasis`},yt={class:`text-error font-weight-medium`},bt={key:4,class:`text-center text-medium-emphasis py-4`},xt={class:`d-flex align-center flex-wrap ga-2 mb-2`},St={class:`text-subtitle-2`},Ct={key:0,class:`text-medium-emphasis`},wt={class:`text-body-2 overflow-auto exec-detail-output`},Tt=Ie(fe({name:`ScriptsPage`,__name:`ScriptsPage`,setup(e){let t=[...Ae],l=a(),se=Te(),{servers:fe,loading:Ie,loadServers:Tt}=Fe(),Et=[{label:`运维`,value:`ops`},{label:`部署`,value:`deploy`},{label:`检查`,value:`check`},{label:`清理`,value:`cleanup`}],Dt=h(!1),Ot=h(``),F=h([]),I=h(null),kt=h([]),At=h(1),jt=h(20),L=h(!1),Mt=h(null),Nt=h(!1),R=h({name:``,category:`ops`,description:``,content:``}),z=h(!1),B=h(null),V=h([]),Pt=h(300),Ft=h(!1),It=h(null),Lt=h(!1),H=h(!1),Rt=h(null),zt=h(null),Bt=h([]),Vt=h(!1),Ht=h([]),Ut=h(0),U=h(1),Wt=h(20),Gt=h(!1),W=h(null),Kt=h(!1),qt=h(``),G=h([]),Jt=h(60),Yt=h(!1),Xt=h(null),Zt=h(!1),Qt=h(!1),K=h(null),$t=h(!1),en=h(null),q=h(`all`),tn=h(`list`),J=h(null),nn=h([]),rn=C(()=>kt.value.map(e=>({title:e.name,value:e.id}))),an=C(()=>{let e=Ot.value.trim().toLowerCase();return e?F.value.filter(t=>t.name.toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)||(t.description||``).toLowerCase().includes(e)):F.value}),on=C(()=>an.value.length),sn=C(()=>{let e=(At.value-1)*jt.value;return an.value.slice(e,e+jt.value)});pe(Ot,()=>{At.value=1});let cn=ke([{title:`ID`,key:`id`,width:72},{title:`脚本/命令`,key:`label`},{title:`状态`,key:`status`,width:100},{title:`进度`,key:`progress`,width:88},{title:`台数`,key:`server_count`,width:72},{title:`操作人`,key:`operator`,width:88},{title:`开始时间`,key:`started_at`,width:168},{title:`操作`,key:`actions`,width:180}]),ln=C(()=>W.value?F.value.find(e=>e.id===W.value)?.name||`脚本 #${W.value}`:``),un={started:`开始`,batch_progress:`批次进度`,execution_finished:`结束`,stopped:`停止`,retry_requested:`重试`,stuck_marked:`标记卡住`,server_auto_stuck:`子机超时`,auto_stuck:`自动卡住`,job_completed:`回调完成`},dn=C(()=>new Map(fe.value.map(e=>[e.id,e])));function fn(e){let t=(e.stderr||``).trim(),n=(e.stdout||``).trim(),r=(e.message||``).trim(),i=t||n||r||`—`;return{summary:(t||r||n||``).slice(0,200)||`—`,full:i}}let Y=C(()=>{if(!K.value?.results)return[];let e=dn.value;return Object.entries(K.value.results).filter(([e])=>e!==`_meta`&&/^\d+$/.test(e)).map(([t,n])=>{let r=Number(t),i=e.get(r),a=String(n.status||``),o=n.phase?String(n.phase):void 0,s=n.exit_code??null,c=fn(n),l=de(a,o,s),te=De(o);return{serverId:t,serverIdNum:r,serverName:ee(t,K.value?.server_names,i?.name),serverDomain:i?.domain||``,status:a,phase:o,exitCode:s,summary:c.summary,fullOutput:c.full,failed:l,pending:te}}).sort((e,t)=>e.failed===t.failed?e.pending===t.pending?e.serverName.localeCompare(t.serverName,`zh`):e.pending?1:-1:e.failed?-1:1)}),X=C(()=>me(K.value?.results,K.value?.server_ids)),pn=C(()=>Y.value.filter(e=>e.failed).map(e=>e.serverName)),mn=C(()=>Ue(Y.value)),hn=C(()=>q.value===`failed`?Y.value.filter(e=>e.failed):q.value===`success`?Y.value.filter(e=>!e.failed&&!e.pending):Y.value),Z=C(()=>Y.value.find(e=>e.serverId===J.value)||null);function gn(e){return me(e.results,e.server_ids)}function _n(e){return Et.find(t=>t.value===e)?.label||e}function vn(e){if(!e)return`—`;let t=e.startsWith(`[long_task] `)?e.slice(12):e;return t.length>60?`${t.slice(0,60)}…`:t}function yn(e){return e.script_id?F.value.find(t=>t.id===e.script_id)?.name||`脚本 #${e.script_id}`:`临时命令`}function bn(e){let t=e.events||[];return t.length?t.slice(-3).map(e=>{let t=un[e.action||``]||e.action||`事件`,n=ie(e.at),r=e.detail||``;return`${n} · ${t}${r?` — ${r}`:``}`}):[]}async function xn(e=!1){e||(Vt.value=!0);try{Bt.value=(await g.get(`/scripts/executions`,{limit:5})).items||[]}catch{e||(Bt.value=[])}finally{e||(Vt.value=!1)}}async function Q(e=!1){e||(Gt.value=!0);try{let e=await je(async(e,t)=>{let n={limit:e,offset:t};W.value&&(n.script_id=W.value);let r=await g.get(`/scripts/executions`,n);return{items:r.items||[],total:r.total||0}},U.value,Wt.value);Ht.value=e.items,Ut.value=e.total,Wt.value===-1&&(U.value=1)}catch{e||(Ht.value=[],Ut.value=0)}finally{e||(Gt.value=!1)}}function $(e=!1){xn(e),Q(e)}He($);function Sn(e){U.value=e,Q()}function Cn(e){Wt.value=e,U.value=1,Q()}function wn(){W.value=null,U.value=1,Q()}async function Tn(e){W.value=e.id,U.value=1,await Q(),await te(),zt.value?.scrollIntoView({behavior:`smooth`,block:`start`})}function En(e){return e||`—`}function Dn(e){if(!e)return 0;try{let t=JSON.parse(e);return Array.isArray(t)?t.length:0}catch{return 0}}function On(e){let t=e.id??e.execution_id;if(t==null)throw Error(`执行响应缺少 id`);return t}async function kn(){Dt.value=!0;try{F.value=(await g.getList(`/scripts/`)).items}catch(e){F.value=[],l(P(e,`加载脚本列表失败`),`error`)}finally{Dt.value=!1}}async function An(){try{I.value=await g.get(`/scripts/exec-config`)}catch{I.value=null}}async function jn(){try{kt.value=await g.getList(`/scripts/credentials`).then(e=>e.items)}catch{kt.value=[]}}function Mn(e){Mt.value=e,e?R.value={name:e.name,category:e.category||`ops`,description:e.description||``,content:e.content||``}:R.value={name:``,category:`ops`,description:``,content:``},L.value=!0}async function Nn(){if(!R.value.name.trim()||!R.value.content.trim()){l(`请填写名称与脚本内容`,`warning`);return}Nt.value=!0;try{let e={name:R.value.name.trim(),category:R.value.category,description:R.value.description.trim()||null,content:R.value.content};Mt.value?await g.put(`/scripts/${Mt.value.id}`,e):await g.post(`/scripts/`,e),L.value=!1,await kn(),l(`保存成功`)}catch(e){l(P(e,`保存失败`),`error`)}finally{Nt.value=!1}}function Pn(e){B.value=e,V.value=[],Ft.value=!1,It.value=null,z.value=!0}async function Fn(e,t,n){let r=await g.post(`/scripts/exec`,e);return be(On(r),t,n,!!e.long_task,r.progress,r.status),r}async function In(){if(!B.value||!V.value.length){l(`请选择服务器`,`warning`);return}Lt.value=!0;try{await Fn({script_id:B.value.id,server_ids:V.value,timeout:Pt.value,long_task:Ft.value,credential_id:It.value??void 0},B.value.name,V.value.length),z.value=!1,_e(`脚本已提交执行`),$()}catch(e){l(P(e,`执行失败`),`error`)}finally{Lt.value=!1}}function Ln(e){Rt.value=e,H.value=!0}async function Rn(){if(Rt.value)try{await g.delete(`/scripts/${Rt.value.id}`),H.value=!1,await kn(),l(`已删除`)}catch(e){l(P(e,`删除失败`),`error`)}}async function zn(){if(!(!qt.value.trim()||G.value.length===0)){Zt.value=!0;try{await Fn({command:qt.value.trim(),server_ids:G.value,timeout:Jt.value,long_task:Yt.value,credential_id:Xt.value??void 0},`临时命令`,G.value.length),_e(`已在 ${G.value.length} 台服务器上执行`),$()}catch(e){l(P(e,`执行失败`),`error`)}finally{Zt.value=!1}}}async function Bn(e){try{await g.post(`/scripts/executions/${e.id}/stop`),$(),l(`已发送停止指令`)}catch(e){l(P(e,`停止失败`),`error`)}}async function Vn(e){try{let t=await g.post(`/scripts/executions/${e.id}/retry`,{});be(On(t),`${yn(e)}(重试)`,Dn(e.server_ids)||Dn(t.server_ids),!!e.long_task,t.progress,t.status),$(),_e(`重试已提交`)}catch(e){l(P(e,`重试失败`),`error`)}}async function Hn(e){if(en.value=e,q.value=`all`,tn.value=`list`,J.value=null,nn.value=[],Qt.value=!0,await Zn(!1),me(K.value?.results,K.value?.server_ids).failed>0&&(K.value?.status===`failed`||K.value?.status===`partial`)){q.value=`failed`;let e=Y.value.find(e=>e.failed);e&&(J.value=e.serverId)}}function Un(e){let t=e.serverDomain?` (${e.serverDomain})`:``,n=e.exitCode==null?``:` · exit ${e.exitCode}`,r=e.summary.split(` `)[0]?.trim()||e.summary,i=r&&r!==`—`?` · ${r.slice(0,120)}`:``;return`- ${e.serverName}${t}${n}${i}`}async function Wn(e,t){try{await navigator.clipboard.writeText(e),l(t)}catch{l(`复制失败`,`error`)}}async function Gn(){let e=Y.value.filter(e=>e.failed);e.length&&await Wn([`执行 #${K.value?.id??en.value} · 失败 ${e.length} 台`,...e.map(Un)].join(` `),`已复制失败清单`)}async function Kn(){let e=mn.value;if(!e.length)return;let t=[`执行 #${K.value?.id??en.value} · 失败分组 ${e.length} 类`];for(let n of e){let e=n.rows.map(e=>e.serverName).join(`、`);t.push(`[${n.errorKey.slice(0,120)}] ${n.count} 台: ${e}`)}await Wn(t.join(` -`),`已复制分组摘要`)}function qn(e){J.value=J.value===e?null:e}async function Jn(e){if(!(!e.fullOutput||e.fullOutput===`—`))try{await navigator.clipboard.writeText(e.fullOutput),l(`已复制到剪贴板`)}catch{l(`复制失败`,`error`)}}function Yn(e){se.push({path:`/terminal`,query:{server_id:String(e)}})}async function Xn(){K.value&&await Vn(K.value)}async function Zn(e){if(en.value!=null){$t.value=!0;try{K.value=await g.get(`/scripts/executions/${en.value}`,{fetch_logs:e,log_lines:100})}catch(e){l(P(e,`加载详情失败`),`error`),Qt.value=!1}finally{$t.value=!1}}}async function Qn(e=!1){await Promise.all([kn(),Tt({all:!0}),An(),jn(),$(e)])}return Oe(e=>Qn(e)),(e,a)=>(f(),x(i,{fluid:``,class:`pa-6`},{default:p(()=>[O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:p(()=>[O(M,{class:`d-flex flex-wrap align-center ga-2`},{default:p(()=>[a[34]||=y(` 脚本库 `,-1),I.value?(f(),x(k,{key:0,size:`small`,variant:`tonal`,label:``,class:`ml-1`},{default:p(()=>[y(` 分批 `+T(I.value.batch_size)+` 台 · 并发 `+T(I.value.concurrency),1)]),_:1})):v(``,!0),O(_),O(Me,{modelValue:Ot.value,"onUpdate:modelValue":a[0]||=e=>Ot.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索...`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`240px`}},null,8,[`modelValue`]),O(d,{color:`primary`,variant:`flat`,class:`ml-1`,"prepend-icon":`mdi-plus`,size:`small`,onClick:a[1]||=e=>Mn(null)},{default:p(()=>[...a[33]||=[y(` 新建脚本 `,-1)]]),_:1})]),_:1})]),_:1}),O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:p(()=>[O(M,{class:`d-flex align-center`,style:{cursor:`pointer`},onClick:a[2]||=e=>Kt.value=!Kt.value},{default:p(()=>[O(m,{class:`mr-2`},{default:p(()=>[...a[35]||=[y(`mdi-console`,-1)]]),_:1}),a[36]||=y(` 临时命令执行 `,-1),O(_),O(m,null,{default:p(()=>[y(T(Kt.value?`mdi-chevron-up`:`mdi-chevron-down`),1)]),_:1})]),_:1}),O(le,null,{default:p(()=>[ge(S(`div`,null,[O(E),O(j,null,{default:p(()=>[O(Ve,{modelValue:qt.value,"onUpdate:modelValue":a[3]||=e=>qt.value=e,label:`命令`,variant:`outlined`,density:`compact`,rows:`3`,placeholder:`输入要执行的命令... (Ctrl+Enter 执行)`,class:`mb-3 font-monospace`,onKeydown:Se(Ee(zn,[`ctrl`]),[`enter`]),rules:[w(Re)(`命令`)]},null,8,[`modelValue`,`onKeydown`,`rules`]),a[38]||=S(`div`,{class:`text-caption text-medium-emphasis mb-1`},`目标服务器(按分类选择)`,-1),O(ze,{modelValue:G.value,"onUpdate:modelValue":a[4]||=e=>G.value=e,servers:w(fe),loading:w(Ie),"max-height":`220px`,class:`mb-3`},null,8,[`modelValue`,`servers`,`loading`]),O(s,{dense:``},{default:p(()=>[O(o,{cols:`6`,md:`2`},{default:p(()=>[O(Me,{modelValue:Jt.value,"onUpdate:modelValue":a[5]||=e=>Jt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:I.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),O(o,{cols:`6`,md:`3`},{default:p(()=>[O(je,{modelValue:Xt.value,"onUpdate:modelValue":a[6]||=e=>Xt.value=e,items:rn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``,"hide-details":``},null,8,[`modelValue`,`items`])]),_:1}),O(o,{cols:`12`,md:`2`,class:`d-flex align-center ga-2`},{default:p(()=>[O(Be,{modelValue:Yt.value,"onUpdate:modelValue":a[7]||=e=>Yt.value=e,label:`长任务`,density:`compact`,"hide-details":``,color:`primary`},null,8,[`modelValue`]),O(d,{color:`primary`,variant:`flat`,onClick:zn,loading:Zt.value,disabled:!qt.value.trim()||G.value.length===0},{default:p(()=>[...a[37]||=[y(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1})],512),[[ve,Kt.value]])]),_:1})]),_:1}),Dt.value?(f(),x(he,{key:0,indeterminate:``,color:`primary`})):v(``,!0),sn.value.length?(f(),x(s,{key:1},{default:p(()=>[(f(!0),D(b,null,u(sn.value,e=>(f(),x(o,{cols:`12`,sm:`6`,md:`4`,key:e.id},{default:p(()=>[O(N,{elevation:`0`,border:``,rounded:`lg`,class:`fill-height`},{default:p(()=>[O(M,{class:`d-flex align-center`},{default:p(()=>[O(m,{color:`primary`,class:`mr-2`},{default:p(()=>[...a[39]||=[y(`mdi-code-braces`,-1)]]),_:1}),S(`span`,Ye,T(e.name),1),O(_),O(we,null,{activator:p(({props:e})=>[O(d,ne({icon:`mdi-dots-vertical`,variant:`text`,size:`small`},{ref_for:!0},e),null,16)]),default:p(()=>[O(xe,{density:`compact`},{default:p(()=>[O(Ce,{title:`编辑`,onClick:t=>Mn(e)},{prepend:p(()=>[O(m,null,{default:p(()=>[...a[40]||=[y(`mdi-pencil`,-1)]]),_:1})]),_:1},8,[`onClick`]),O(Ce,{title:`执行`,onClick:t=>Pn(e)},{prepend:p(()=>[O(m,null,{default:p(()=>[...a[41]||=[y(`mdi-play`,-1)]]),_:1})]),_:1},8,[`onClick`]),O(Ce,{title:`删除`,onClick:t=>Ln(e),class:`text-error`},{prepend:p(()=>[O(m,{color:`error`},{default:p(()=>[...a[42]||=[y(`mdi-delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024),O(j,null,{default:p(()=>[e.category?(f(),x(k,{key:0,size:`small`,variant:`tonal`,label:``,class:`mb-2`},{default:p(()=>[y(T(_n(e.category)),1)]),_:2},1024)):v(``,!0),S(`div`,Xe,T(e.description||`无描述`),1),S(`div`,Ze,` 更新于 `+T(w(ie)(e.updated_at||e.created_at)),1)]),_:2},1024),O(A,null,{default:p(()=>[O(d,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-play`,color:`primary`,onClick:t=>Pn(e)},{default:p(()=>[...a[43]||=[y(` 执行 `,-1)]]),_:1},8,[`onClick`]),O(_),O(d,{size:`small`,variant:`text`,onClick:t=>Tn(e)},{default:p(()=>[...a[44]||=[y(`历史`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):Dt.value?v(``,!0):(f(),x(N,{key:2,elevation:`0`,border:``,rounded:`lg`},{default:p(()=>[O(j,{class:`text-center text-medium-emphasis py-10`},{default:p(()=>[...a[45]||=[y(`暂无脚本,点击「新建脚本」添加`,-1)]]),_:1})]),_:1})),on.value>jt.value?(f(),D(`div`,Qe,[O(r,{modelValue:At.value,"onUpdate:modelValue":a[8]||=e=>At.value=e,length:Math.ceil(on.value/jt.value),rounded:``,density:`compact`},null,8,[`modelValue`,`length`])])):v(``,!0),S(`div`,{ref_key:`historySectionRef`,ref:zt},[O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:p(()=>[O(M,{class:`d-flex align-center text-subtitle-1`},{default:p(()=>[O(m,{class:`mr-2`},{default:p(()=>[...a[46]||=[y(`mdi-history`,-1)]]),_:1}),a[47]||=y(` 最近执行 `,-1),O(_),O(d,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Vt.value,onClick:xn},null,8,[`loading`])]),_:1}),O(E),O(j,{class:`pa-0`},{default:p(()=>[Vt.value?(f(),x(he,{key:0,indeterminate:``,color:`primary`})):v(``,!0),Bt.value.length?(f(),x(xe,{key:1,density:`compact`,class:`py-0`},{default:p(()=>[(f(!0),D(b,null,u(Bt.value,e=>(f(),x(Ce,{key:e.id,title:`#${e.id} · ${yn(e)}`,onClick:t=>Hn(e.id),style:{cursor:`pointer`}},{subtitle:p(()=>[S(`div`,$e,T(w(oe)(e.status))+` · `+T(Dn(e.server_ids))+` 台 · `+T(e.operator||`—`)+` · `+T(w(ie)(e.started_at)),1),(f(!0),D(b,null,u(bn(e),(e,t)=>(f(),D(`div`,{key:t,class:`text-caption text-medium-emphasis font-monospace mt-1`},T(e),1))),128))]),append:p(()=>[O(k,{color:w(ae)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(oe)(e.status)),1)]),_:2},1032,[`color`])]),_:2},1032,[`title`,`onClick`]))),128))]),_:1})):Vt.value?v(``,!0):(f(),D(`div`,et,`暂无执行记录`))]),_:1})]),_:1}),O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:p(()=>[O(M,{class:`d-flex flex-wrap align-center ga-2 text-subtitle-1`},{default:p(()=>[O(m,{class:`mr-1`},{default:p(()=>[...a[48]||=[y(`mdi-format-list-bulleted`,-1)]]),_:1}),a[49]||=y(` 全部执行历史 `,-1),W.value?(f(),x(k,{key:0,size:`small`,variant:`tonal`,closable:``,label:``,"onClick:close":wn},{default:p(()=>[y(T(ln.value),1)]),_:1})):v(``,!0),O(_),O(d,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Gt.value,onClick:Q},null,8,[`loading`])]),_:1}),O(E),O(Ne,{items:Ht.value,headers:w(cn),"items-length":Ut.value,loading:Gt.value,page:U.value,"items-per-page":Wt.value,"items-per-page-options":t,density:`compact`,hover:``,"onUpdate:page":Sn,"onUpdate:itemsPerPage":Cn},{"item.label":p(({item:e})=>[S(`div`,tt,T(yn(e)),1),S(`code`,nt,T(vn(e.command)),1)]),"item.status":p(({item:e})=>[O(k,{color:w(ae)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(oe)(e.status)),1)]),_:2},1032,[`color`])]),"item.server_count":p(({item:e})=>[y(T(Dn(e.server_ids)),1)]),"item.progress":p(({item:e})=>[S(`div`,rt,[S(`span`,null,T(En(e.progress)),1),gn(e).failed>0?(f(),x(k,{key:0,color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(gn(e).failed)+` 台失败 `,1)]),_:2},1024)):v(``,!0)])]),"item.started_at":p(({item:e})=>[y(T(w(ie)(e.started_at)),1)]),"item.actions":p(({item:e})=>[O(d,{size:`x-small`,variant:`text`,onClick:t=>Hn(e.id)},{default:p(()=>[...a[50]||=[y(`详情`,-1)]]),_:1},8,[`onClick`]),e.status===`running`||e.status===`partial`?(f(),x(d,{key:0,size:`x-small`,variant:`text`,color:`error`,onClick:t=>Bn(e)},{default:p(()=>[...a[51]||=[y(` 停止 `,-1)]]),_:1},8,[`onClick`])):v(``,!0),e.status===`failed`||e.status===`partial`?(f(),x(d,{key:1,size:`x-small`,variant:`text`,color:`primary`,onClick:t=>Vn(e)},{default:p(()=>[...a[52]||=[y(` 重试 `,-1)]]),_:1},8,[`onClick`])):v(``,!0)]),"no-data":p(()=>[...a[53]||=[S(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无执行记录`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1})],512),O(Le,{modelValue:L.value,"onUpdate:modelValue":a[14]||=e=>L.value=e,"max-width":`900`,scrollable:``},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,null,{default:p(()=>[y(T(Mt.value?`编辑脚本`:`新建脚本`),1)]),_:1}),O(E),O(j,null,{default:p(()=>[O(Me,{modelValue:R.value.name,"onUpdate:modelValue":a[9]||=e=>R.value.name=e,label:`脚本名称`,variant:`outlined`,density:`compact`,class:`mb-2`,rules:[w(Re)(`脚本名称`)]},null,8,[`modelValue`,`rules`]),O(je,{modelValue:R.value.category,"onUpdate:modelValue":a[10]||=e=>R.value.category=e,items:Et,"item-title":`label`,"item-value":`value`,label:`分类`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),O(Ve,{modelValue:R.value.description,"onUpdate:modelValue":a[11]||=e=>R.value.description=e,label:`描述`,variant:`outlined`,density:`compact`,rows:`2`,class:`mb-2`},null,8,[`modelValue`]),a[54]||=S(`div`,{class:`text-caption text-medium-emphasis mb-1`},`脚本内容`,-1),O(Je,{modelValue:R.value.content,"onUpdate:modelValue":a[12]||=e=>R.value.content=e},null,8,[`modelValue`])]),_:1}),O(E),O(A,null,{default:p(()=>[O(_),O(d,{variant:`text`,onClick:a[13]||=e=>L.value=!1},{default:p(()=>[...a[55]||=[y(`取消`,-1)]]),_:1}),O(d,{color:`primary`,variant:`flat`,onClick:Nn,loading:Nt.value,disabled:!R.value.content.trim()},{default:p(()=>[...a[56]||=[y(` 保存 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),O(Le,{modelValue:z.value,"onUpdate:modelValue":a[20]||=e=>z.value=e,"max-width":`720`,scrollable:``},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,null,{default:p(()=>[y(`执行脚本: `+T(B.value?.name),1)]),_:1}),O(j,null,{default:p(()=>[a[57]||=S(`div`,{class:`text-caption text-medium-emphasis mb-1`},`选择服务器(按分类勾选)`,-1),O(ze,{modelValue:V.value,"onUpdate:modelValue":a[15]||=e=>V.value=e,servers:w(fe),loading:w(Ie),"max-height":`360px`,class:`mb-2`},null,8,[`modelValue`,`servers`,`loading`]),O(s,{dense:``},{default:p(()=>[O(o,{cols:`6`},{default:p(()=>[O(Me,{modelValue:Pt.value,"onUpdate:modelValue":a[16]||=e=>Pt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:I.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),O(o,{cols:`6`},{default:p(()=>[O(je,{modelValue:It.value,"onUpdate:modelValue":a[17]||=e=>It.value=e,items:rn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``},null,8,[`modelValue`,`items`])]),_:1})]),_:1}),O(Be,{modelValue:Ft.value,"onUpdate:modelValue":a[18]||=e=>Ft.value=e,label:`长任务(nohup + Agent 回调,适合超时较长的脚本)`,density:`compact`,color:`primary`},null,8,[`modelValue`])]),_:1}),O(A,null,{default:p(()=>[O(_),O(d,{variant:`text`,onClick:a[19]||=e=>z.value=!1},{default:p(()=>[...a[58]||=[y(`取消`,-1)]]),_:1}),O(d,{color:`primary`,variant:`flat`,onClick:In,loading:Lt.value,disabled:!V.value.length},{default:p(()=>[...a[59]||=[y(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),O(Le,{modelValue:H.value,"onUpdate:modelValue":a[22]||=e=>H.value=e,"max-width":`400`},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,null,{default:p(()=>[...a[60]||=[y(`确认删除`,-1)]]),_:1}),O(j,null,{default:p(()=>[a[61]||=y(`确定要删除脚本 `,-1),S(`strong`,null,T(Rt.value?.name),1),a[62]||=y(` 吗?`,-1)]),_:1}),O(A,null,{default:p(()=>[O(_),O(d,{variant:`text`,onClick:a[21]||=e=>H.value=!1},{default:p(()=>[...a[63]||=[y(`取消`,-1)]]),_:1}),O(d,{color:`error`,variant:`flat`,onClick:Rn},{default:p(()=>[...a[64]||=[y(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),O(Le,{modelValue:Qt.value,"onUpdate:modelValue":a[32]||=e=>Qt.value=e,"max-width":`960`,scrollable:``},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,{class:`d-flex align-center flex-wrap ga-2`},{default:p(()=>[S(`span`,null,`执行详情 #`+T(K.value?.id),1),K.value?(f(),x(k,{key:0,color:w(ae)(K.value.status),size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(oe)(K.value.status)),1)]),_:1},8,[`color`])):v(``,!0),O(_),K.value?.long_task?(f(),x(d,{key:1,size:`small`,variant:`tonal`,loading:$t.value,onClick:a[23]||=e=>Zn(!0)},{default:p(()=>[...a[65]||=[y(` 拉取日志 `,-1)]]),_:1},8,[`loading`])):v(``,!0)]),_:1}),O(E),K.value?(f(),x(j,{key:0},{default:p(()=>[S(`div`,it,T(En(K.value.progress))+` · 操作人 `+T(K.value.operator||`—`),1),S(`pre`,at,T(K.value.command),1),X.value.total?(f(),D(`div`,ot,[O(k,{size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(`共 `+T(X.value.total)+` 台`,1)]),_:1}),X.value.success?(f(),x(k,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(` 成功 `+T(X.value.success),1)]),_:1})):v(``,!0),X.value.failed?(f(),x(k,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(` 失败 `+T(X.value.failed),1)]),_:1})):v(``,!0),X.value.pending?(f(),x(k,{key:2,color:`info`,size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(` 进行中 `+T(X.value.pending),1)]),_:1})):v(``,!0)])):v(``,!0),pn.value.length?(f(),x(ce,{key:1,type:`error`,variant:`tonal`,density:`compact`,class:`mb-3`,title:`失败 ${pn.value.length} 台`},{default:p(()=>[S(`div`,st,T(pn.value.join(`、`)),1)]),_:1},8,[`title`])):v(``,!0),S(`div`,ct,[a[74]||=S(`span`,{class:`text-caption text-medium-emphasis`},`筛选`,-1),O(c,{modelValue:q.value,"onUpdate:modelValue":a[24]||=e=>q.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:p(()=>[O(d,{value:`all`,size:`small`},{default:p(()=>[...a[66]||=[y(`全部`,-1)]]),_:1}),O(d,{value:`failed`,size:`small`},{default:p(()=>[...a[67]||=[y(`仅失败`,-1)]]),_:1}),O(d,{value:`success`,size:`small`},{default:p(()=>[...a[68]||=[y(`仅成功`,-1)]]),_:1})]),_:1},8,[`modelValue`]),X.value.failed>0?(f(),D(b,{key:0},[O(E,{vertical:``,class:`mx-1`}),a[73]||=S(`span`,{class:`text-caption text-medium-emphasis`},`视图`,-1),O(c,{modelValue:tn.value,"onUpdate:modelValue":a[25]||=e=>tn.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:p(()=>[O(d,{value:`list`,size:`small`},{default:p(()=>[...a[69]||=[y(`列表`,-1)]]),_:1}),O(d,{value:`group`,size:`small`},{default:p(()=>[...a[70]||=[y(`按错误分组`,-1)]]),_:1})]),_:1},8,[`modelValue`]),O(d,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Gn},{default:p(()=>[...a[71]||=[y(` 复制失败清单 `,-1)]]),_:1}),tn.value===`group`?(f(),x(d,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Kn},{default:p(()=>[...a[72]||=[y(` 复制分组摘要 `,-1)]]),_:1})):v(``,!0)],64)):v(``,!0)]),tn.value===`list`?(f(),x(n,{key:2,density:`compact`,class:`exec-detail-table`},{default:p(()=>[a[76]||=S(`thead`,null,[S(`tr`,null,[S(`th`,null,`服务器`),S(`th`,null,`状态`),S(`th`,{style:{width:`72px`}},`退出码`),S(`th`,null,`错误摘要`),S(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),S(`tbody`,null,[(f(!0),D(b,null,u(hn.value,e=>(f(),D(`tr`,{key:e.serverId,class:ye([{"exec-detail-row--failed":e.failed,"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[S(`td`,null,[S(`div`,ut,T(e.serverName),1),e.serverDomain?(f(),D(`div`,dt,T(e.serverDomain),1)):v(``,!0)]),S(`td`,null,[O(k,{color:w(ue)(e.status,e.phase,e.exitCode),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(re)(e.status,e.phase)),1)]),_:2},1032,[`color`])]),S(`td`,{class:ye({"text-error font-weight-medium":e.failed})},T(e.exitCode??`—`),3),S(`td`,{class:`text-truncate`,style:{"max-width":`280px`},title:e.summary},T(e.summary),9,ft),S(`td`,{class:`text-end`,onClick:a[26]||=Ee(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(f(),x(d,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):v(``,!0),O(d,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,lt))),128)),hn.value.length===0?(f(),D(`tr`,pt,[...a[75]||=[S(`td`,{colspan:`5`,class:`text-center text-medium-emphasis py-4`},`当前筛选无记录`,-1)]])):v(``,!0)])]),_:1})):mn.value.length?(f(),x(qe,{key:3,modelValue:nn.value,"onUpdate:modelValue":a[28]||=e=>nn.value=e,multiple:``,variant:`accordion`,class:`exec-detail-groups`},{default:p(()=>[(f(!0),D(b,null,u(mn.value,(e,t)=>(f(),x(Ge,{key:`${t}-${e.errorKey}`},{default:p(()=>[O(Ke,null,{default:p(()=>[S(`div`,mt,[S(`span`,{class:`text-body-2 text-truncate`,title:e.errorKey},T(e.errorKey),9,ht),O(k,{color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(e.count)+` 台`,1)]),_:2},1024)])]),_:2},1024),O(We,null,{default:p(()=>[O(n,{density:`compact`},{default:p(()=>[a[77]||=S(`thead`,null,[S(`tr`,null,[S(`th`,null,`服务器`),S(`th`,{style:{width:`72px`}},`退出码`),S(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),S(`tbody`,null,[(f(!0),D(b,null,u(e.rows,e=>(f(),D(`tr`,{key:e.serverId,class:ye([{"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[S(`td`,null,[S(`div`,_t,T(e.serverName),1),e.serverDomain?(f(),D(`div`,vt,T(e.serverDomain),1)):v(``,!0)]),S(`td`,yt,T(e.exitCode??`—`),1),S(`td`,{class:`text-end`,onClick:a[27]||=Ee(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(f(),x(d,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):v(``,!0),O(d,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,gt))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`])):(f(),D(`div`,bt,`无失败记录可分组`)),Z.value?(f(),x(N,{key:5,variant:`tonal`,color:Z.value.failed?`error`:void 0,class:`mt-3 pa-3`},{default:p(()=>[S(`div`,xt,[S(`span`,St,[y(T(Z.value.serverName)+` `,1),Z.value.serverDomain?(f(),D(`span`,Ct,`(`+T(Z.value.serverDomain)+`)`,1)):v(``,!0)]),O(_),O(d,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-content-copy`,onClick:a[29]||=e=>Jn(Z.value)},{default:p(()=>[...a[78]||=[y(` 复制 `,-1)]]),_:1}),O(d,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-console`,onClick:a[30]||=e=>Yn(Z.value.serverIdNum)},{default:p(()=>[...a[79]||=[y(` 终端 `,-1)]]),_:1})]),S(`pre`,wt,T(Z.value.fullOutput),1)]),_:1},8,[`color`])):v(``,!0)]),_:1})):v(``,!0),K.value?(f(),x(A,{key:1},{default:p(()=>[K.value.status===`failed`||K.value.status===`partial`?(f(),x(d,{key:0,color:`primary`,variant:`text`,onClick:Xn},{default:p(()=>[...a[80]||=[y(` 重试失败项 `,-1)]]),_:1})):v(``,!0),O(_),O(d,{variant:`text`,onClick:a[31]||=e=>Qt.value=!1},{default:p(()=>[...a[81]||=[y(`关闭`,-1)]]),_:1})]),_:1})):v(``,!0)]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-990c5229`]]);export{Tt as default}; \ No newline at end of file +`),`已复制分组摘要`)}function qn(e){J.value=J.value===e?null:e}async function Jn(e){if(!(!e.fullOutput||e.fullOutput===`—`))try{await navigator.clipboard.writeText(e.fullOutput),l(`已复制到剪贴板`)}catch{l(`复制失败`,`error`)}}function Yn(e){se.push({path:`/terminal`,query:{server_id:String(e)}})}async function Xn(){K.value&&await Vn(K.value)}async function Zn(e){if(en.value!=null){$t.value=!0;try{K.value=await g.get(`/scripts/executions/${en.value}`,{fetch_logs:e,log_lines:100})}catch(e){l(P(e,`加载详情失败`),`error`),Qt.value=!1}finally{$t.value=!1}}}async function Qn(e=!1){await Promise.all([kn(),Tt({all:!0}),An(),jn(),$(e)])}return Oe(e=>Qn(e)),(e,a)=>(f(),x(i,{fluid:``,class:`pa-6`},{default:p(()=>[O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:p(()=>[O(M,{class:`d-flex flex-wrap align-center ga-2`},{default:p(()=>[a[34]||=y(` 脚本库 `,-1),I.value?(f(),x(k,{key:0,size:`small`,variant:`tonal`,label:``,class:`ml-1`},{default:p(()=>[y(` 分批 `+T(I.value.batch_size)+` 台 · 并发 `+T(I.value.concurrency),1)]),_:1})):v(``,!0),O(_),O(Ne,{modelValue:Ot.value,"onUpdate:modelValue":a[0]||=e=>Ot.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索...`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`240px`}},null,8,[`modelValue`]),O(d,{color:`primary`,variant:`flat`,class:`ml-1`,"prepend-icon":`mdi-plus`,size:`small`,onClick:a[1]||=e=>Mn(null)},{default:p(()=>[...a[33]||=[y(` 新建脚本 `,-1)]]),_:1})]),_:1})]),_:1}),O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:p(()=>[O(M,{class:`d-flex align-center`,style:{cursor:`pointer`},onClick:a[2]||=e=>Kt.value=!Kt.value},{default:p(()=>[O(m,{class:`mr-2`},{default:p(()=>[...a[35]||=[y(`mdi-console`,-1)]]),_:1}),a[36]||=y(` 临时命令执行 `,-1),O(_),O(m,null,{default:p(()=>[y(T(Kt.value?`mdi-chevron-up`:`mdi-chevron-down`),1)]),_:1})]),_:1}),O(le,null,{default:p(()=>[ge(S(`div`,null,[O(E),O(j,null,{default:p(()=>[O(Ve,{modelValue:qt.value,"onUpdate:modelValue":a[3]||=e=>qt.value=e,label:`命令`,variant:`outlined`,density:`compact`,rows:`3`,placeholder:`输入要执行的命令... (Ctrl+Enter 执行)`,class:`mb-3 font-monospace`,onKeydown:Se(Ee(zn,[`ctrl`]),[`enter`]),rules:[w(Re)(`命令`)]},null,8,[`modelValue`,`onKeydown`,`rules`]),a[38]||=S(`div`,{class:`text-caption text-medium-emphasis mb-1`},`目标服务器(按分类选择)`,-1),O(ze,{modelValue:G.value,"onUpdate:modelValue":a[4]||=e=>G.value=e,servers:w(fe),loading:w(Ie),"max-height":`220px`,class:`mb-3`},null,8,[`modelValue`,`servers`,`loading`]),O(s,{dense:``},{default:p(()=>[O(o,{cols:`6`,md:`2`},{default:p(()=>[O(Ne,{modelValue:Jt.value,"onUpdate:modelValue":a[5]||=e=>Jt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:I.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),O(o,{cols:`6`,md:`3`},{default:p(()=>[O(Me,{modelValue:Xt.value,"onUpdate:modelValue":a[6]||=e=>Xt.value=e,items:rn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``,"hide-details":``},null,8,[`modelValue`,`items`])]),_:1}),O(o,{cols:`12`,md:`2`,class:`d-flex align-center ga-2`},{default:p(()=>[O(Be,{modelValue:Yt.value,"onUpdate:modelValue":a[7]||=e=>Yt.value=e,label:`长任务`,density:`compact`,"hide-details":``,color:`primary`},null,8,[`modelValue`]),O(d,{color:`primary`,variant:`flat`,onClick:zn,loading:Zt.value,disabled:!qt.value.trim()||G.value.length===0},{default:p(()=>[...a[37]||=[y(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1})],512),[[ve,Kt.value]])]),_:1})]),_:1}),Dt.value?(f(),x(he,{key:0,indeterminate:``,color:`primary`})):v(``,!0),sn.value.length?(f(),x(s,{key:1},{default:p(()=>[(f(!0),D(b,null,u(sn.value,e=>(f(),x(o,{cols:`12`,sm:`6`,md:`4`,key:e.id},{default:p(()=>[O(N,{elevation:`0`,border:``,rounded:`lg`,class:`fill-height`},{default:p(()=>[O(M,{class:`d-flex align-center`},{default:p(()=>[O(m,{color:`primary`,class:`mr-2`},{default:p(()=>[...a[39]||=[y(`mdi-code-braces`,-1)]]),_:1}),S(`span`,Ye,T(e.name),1),O(_),O(we,null,{activator:p(({props:e})=>[O(d,ne({icon:`mdi-dots-vertical`,variant:`text`,size:`small`},{ref_for:!0},e),null,16)]),default:p(()=>[O(xe,{density:`compact`},{default:p(()=>[O(Ce,{title:`编辑`,onClick:t=>Mn(e)},{prepend:p(()=>[O(m,null,{default:p(()=>[...a[40]||=[y(`mdi-pencil`,-1)]]),_:1})]),_:1},8,[`onClick`]),O(Ce,{title:`执行`,onClick:t=>Pn(e)},{prepend:p(()=>[O(m,null,{default:p(()=>[...a[41]||=[y(`mdi-play`,-1)]]),_:1})]),_:1},8,[`onClick`]),O(Ce,{title:`删除`,onClick:t=>Ln(e),class:`text-error`},{prepend:p(()=>[O(m,{color:`error`},{default:p(()=>[...a[42]||=[y(`mdi-delete`,-1)]]),_:1})]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024),O(j,null,{default:p(()=>[e.category?(f(),x(k,{key:0,size:`small`,variant:`tonal`,label:``,class:`mb-2`},{default:p(()=>[y(T(_n(e.category)),1)]),_:2},1024)):v(``,!0),S(`div`,Xe,T(e.description||`无描述`),1),S(`div`,Ze,` 更新于 `+T(w(ie)(e.updated_at||e.created_at)),1)]),_:2},1024),O(A,null,{default:p(()=>[O(d,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-play`,color:`primary`,onClick:t=>Pn(e)},{default:p(()=>[...a[43]||=[y(` 执行 `,-1)]]),_:1},8,[`onClick`]),O(_),O(d,{size:`small`,variant:`text`,onClick:t=>Tn(e)},{default:p(()=>[...a[44]||=[y(`历史`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):Dt.value?v(``,!0):(f(),x(N,{key:2,elevation:`0`,border:``,rounded:`lg`},{default:p(()=>[O(j,{class:`text-center text-medium-emphasis py-10`},{default:p(()=>[...a[45]||=[y(`暂无脚本,点击「新建脚本」添加`,-1)]]),_:1})]),_:1})),on.value>jt.value?(f(),D(`div`,Qe,[O(r,{modelValue:At.value,"onUpdate:modelValue":a[8]||=e=>At.value=e,length:Math.ceil(on.value/jt.value),rounded:``,density:`compact`},null,8,[`modelValue`,`length`])])):v(``,!0),S(`div`,{ref_key:`historySectionRef`,ref:zt},[O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:p(()=>[O(M,{class:`d-flex align-center text-subtitle-1`},{default:p(()=>[O(m,{class:`mr-2`},{default:p(()=>[...a[46]||=[y(`mdi-history`,-1)]]),_:1}),a[47]||=y(` 最近执行 `,-1),O(_),O(d,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Vt.value,onClick:xn},null,8,[`loading`])]),_:1}),O(E),O(j,{class:`pa-0`},{default:p(()=>[Vt.value?(f(),x(he,{key:0,indeterminate:``,color:`primary`})):v(``,!0),Bt.value.length?(f(),x(xe,{key:1,density:`compact`,class:`py-0`},{default:p(()=>[(f(!0),D(b,null,u(Bt.value,e=>(f(),x(Ce,{key:e.id,title:`#${e.id} · ${yn(e)}`,onClick:t=>Hn(e.id),style:{cursor:`pointer`}},{subtitle:p(()=>[S(`div`,$e,T(w(oe)(e.status))+` · `+T(Dn(e.server_ids))+` 台 · `+T(e.operator||`—`)+` · `+T(w(ie)(e.started_at)),1),(f(!0),D(b,null,u(bn(e),(e,t)=>(f(),D(`div`,{key:t,class:`text-caption text-medium-emphasis font-monospace mt-1`},T(e),1))),128))]),append:p(()=>[O(k,{color:w(ae)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(oe)(e.status)),1)]),_:2},1032,[`color`])]),_:2},1032,[`title`,`onClick`]))),128))]),_:1})):Vt.value?v(``,!0):(f(),D(`div`,et,`暂无执行记录`))]),_:1})]),_:1}),O(N,{elevation:`0`,border:``,rounded:`lg`,class:`mt-4`},{default:p(()=>[O(M,{class:`d-flex flex-wrap align-center ga-2 text-subtitle-1`},{default:p(()=>[O(m,{class:`mr-1`},{default:p(()=>[...a[48]||=[y(`mdi-format-list-bulleted`,-1)]]),_:1}),a[49]||=y(` 全部执行历史 `,-1),W.value?(f(),x(k,{key:0,size:`small`,variant:`tonal`,closable:``,label:``,"onClick:close":wn},{default:p(()=>[y(T(ln.value),1)]),_:1})):v(``,!0),O(_),O(d,{size:`small`,variant:`text`,icon:`mdi-refresh`,loading:Gt.value,onClick:Q},null,8,[`loading`])]),_:1}),O(E),O(Pe,{items:Ht.value,headers:w(cn),"items-length":Ut.value,loading:Gt.value,page:U.value,"items-per-page":Wt.value,"items-per-page-options":t,density:`compact`,hover:``,"onUpdate:page":Sn,"onUpdate:itemsPerPage":Cn},{"item.label":p(({item:e})=>[S(`div`,tt,T(yn(e)),1),S(`code`,nt,T(vn(e.command)),1)]),"item.status":p(({item:e})=>[O(k,{color:w(ae)(e.status),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(oe)(e.status)),1)]),_:2},1032,[`color`])]),"item.server_count":p(({item:e})=>[y(T(Dn(e.server_ids)),1)]),"item.progress":p(({item:e})=>[S(`div`,rt,[S(`span`,null,T(En(e.progress)),1),gn(e).failed>0?(f(),x(k,{key:0,color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(gn(e).failed)+` 台失败 `,1)]),_:2},1024)):v(``,!0)])]),"item.started_at":p(({item:e})=>[y(T(w(ie)(e.started_at)),1)]),"item.actions":p(({item:e})=>[O(d,{size:`x-small`,variant:`text`,onClick:t=>Hn(e.id)},{default:p(()=>[...a[50]||=[y(`详情`,-1)]]),_:1},8,[`onClick`]),e.status===`running`||e.status===`partial`?(f(),x(d,{key:0,size:`x-small`,variant:`text`,color:`error`,onClick:t=>Bn(e)},{default:p(()=>[...a[51]||=[y(` 停止 `,-1)]]),_:1},8,[`onClick`])):v(``,!0),e.status===`failed`||e.status===`partial`?(f(),x(d,{key:1,size:`x-small`,variant:`text`,color:`primary`,onClick:t=>Vn(e)},{default:p(()=>[...a[52]||=[y(` 重试 `,-1)]]),_:1},8,[`onClick`])):v(``,!0)]),"no-data":p(()=>[...a[53]||=[S(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无执行记录`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])]),_:1})],512),O(Le,{modelValue:L.value,"onUpdate:modelValue":a[14]||=e=>L.value=e,"max-width":`900`,scrollable:``},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,null,{default:p(()=>[y(T(Mt.value?`编辑脚本`:`新建脚本`),1)]),_:1}),O(E),O(j,null,{default:p(()=>[O(Ne,{modelValue:R.value.name,"onUpdate:modelValue":a[9]||=e=>R.value.name=e,label:`脚本名称`,variant:`outlined`,density:`compact`,class:`mb-2`,rules:[w(Re)(`脚本名称`)]},null,8,[`modelValue`,`rules`]),O(Me,{modelValue:R.value.category,"onUpdate:modelValue":a[10]||=e=>R.value.category=e,items:Et,"item-title":`label`,"item-value":`value`,label:`分类`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),O(Ve,{modelValue:R.value.description,"onUpdate:modelValue":a[11]||=e=>R.value.description=e,label:`描述`,variant:`outlined`,density:`compact`,rows:`2`,class:`mb-2`},null,8,[`modelValue`]),a[54]||=S(`div`,{class:`text-caption text-medium-emphasis mb-1`},`脚本内容`,-1),O(Je,{modelValue:R.value.content,"onUpdate:modelValue":a[12]||=e=>R.value.content=e},null,8,[`modelValue`])]),_:1}),O(E),O(A,null,{default:p(()=>[O(_),O(d,{variant:`text`,onClick:a[13]||=e=>L.value=!1},{default:p(()=>[...a[55]||=[y(`取消`,-1)]]),_:1}),O(d,{color:`primary`,variant:`flat`,onClick:Nn,loading:Nt.value,disabled:!R.value.content.trim()},{default:p(()=>[...a[56]||=[y(` 保存 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),O(Le,{modelValue:z.value,"onUpdate:modelValue":a[20]||=e=>z.value=e,"max-width":`720`,scrollable:``},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,null,{default:p(()=>[y(`执行脚本: `+T(B.value?.name),1)]),_:1}),O(j,null,{default:p(()=>[a[57]||=S(`div`,{class:`text-caption text-medium-emphasis mb-1`},`选择服务器(按分类勾选)`,-1),O(ze,{modelValue:V.value,"onUpdate:modelValue":a[15]||=e=>V.value=e,servers:w(fe),loading:w(Ie),"max-height":`360px`,class:`mb-2`},null,8,[`modelValue`,`servers`,`loading`]),O(s,{dense:``},{default:p(()=>[O(o,{cols:`6`},{default:p(()=>[O(Ne,{modelValue:Pt.value,"onUpdate:modelValue":a[16]||=e=>Pt.value=e,modelModifiers:{number:!0},label:`超时(秒)`,variant:`outlined`,density:`compact`,type:`number`,max:I.value?.max_timeout??600},null,8,[`modelValue`,`max`])]),_:1}),O(o,{cols:`6`},{default:p(()=>[O(Me,{modelValue:It.value,"onUpdate:modelValue":a[17]||=e=>It.value=e,items:rn.value,"item-title":`title`,"item-value":`value`,label:`DB 凭据(可选)`,variant:`outlined`,density:`compact`,clearable:``},null,8,[`modelValue`,`items`])]),_:1})]),_:1}),O(Be,{modelValue:Ft.value,"onUpdate:modelValue":a[18]||=e=>Ft.value=e,label:`长任务(nohup + Agent 回调,适合超时较长的脚本)`,density:`compact`,color:`primary`},null,8,[`modelValue`])]),_:1}),O(A,null,{default:p(()=>[O(_),O(d,{variant:`text`,onClick:a[19]||=e=>z.value=!1},{default:p(()=>[...a[58]||=[y(`取消`,-1)]]),_:1}),O(d,{color:`primary`,variant:`flat`,onClick:In,loading:Lt.value,disabled:!V.value.length},{default:p(()=>[...a[59]||=[y(` 执行 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),O(Le,{modelValue:H.value,"onUpdate:modelValue":a[22]||=e=>H.value=e,"max-width":`400`},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,null,{default:p(()=>[...a[60]||=[y(`确认删除`,-1)]]),_:1}),O(j,null,{default:p(()=>[a[61]||=y(`确定要删除脚本 `,-1),S(`strong`,null,T(Rt.value?.name),1),a[62]||=y(` 吗?`,-1)]),_:1}),O(A,null,{default:p(()=>[O(_),O(d,{variant:`text`,onClick:a[21]||=e=>H.value=!1},{default:p(()=>[...a[63]||=[y(`取消`,-1)]]),_:1}),O(d,{color:`error`,variant:`flat`,onClick:Rn},{default:p(()=>[...a[64]||=[y(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),O(Le,{modelValue:Qt.value,"onUpdate:modelValue":a[32]||=e=>Qt.value=e,"max-width":`960`,scrollable:``},{default:p(()=>[O(N,{border:``},{default:p(()=>[O(M,{class:`d-flex align-center flex-wrap ga-2`},{default:p(()=>[S(`span`,null,`执行详情 #`+T(K.value?.id),1),K.value?(f(),x(k,{key:0,color:w(ae)(K.value.status),size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(oe)(K.value.status)),1)]),_:1},8,[`color`])):v(``,!0),O(_),K.value?.long_task?(f(),x(d,{key:1,size:`small`,variant:`tonal`,loading:$t.value,onClick:a[23]||=e=>Zn(!0)},{default:p(()=>[...a[65]||=[y(` 拉取日志 `,-1)]]),_:1},8,[`loading`])):v(``,!0)]),_:1}),O(E),K.value?(f(),x(j,{key:0},{default:p(()=>[S(`div`,it,T(En(K.value.progress))+` · 操作人 `+T(K.value.operator||`—`),1),S(`pre`,at,T(K.value.command),1),X.value.total?(f(),D(`div`,ot,[O(k,{size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(`共 `+T(X.value.total)+` 台`,1)]),_:1}),X.value.success?(f(),x(k,{key:0,color:`success`,size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(` 成功 `+T(X.value.success),1)]),_:1})):v(``,!0),X.value.failed?(f(),x(k,{key:1,color:`error`,size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(` 失败 `+T(X.value.failed),1)]),_:1})):v(``,!0),X.value.pending?(f(),x(k,{key:2,color:`info`,size:`small`,variant:`tonal`,label:``},{default:p(()=>[y(` 进行中 `+T(X.value.pending),1)]),_:1})):v(``,!0)])):v(``,!0),pn.value.length?(f(),x(ce,{key:1,type:`error`,variant:`tonal`,density:`compact`,class:`mb-3`,title:`失败 ${pn.value.length} 台`},{default:p(()=>[S(`div`,st,T(pn.value.join(`、`)),1)]),_:1},8,[`title`])):v(``,!0),S(`div`,ct,[a[74]||=S(`span`,{class:`text-caption text-medium-emphasis`},`筛选`,-1),O(c,{modelValue:q.value,"onUpdate:modelValue":a[24]||=e=>q.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:p(()=>[O(d,{value:`all`,size:`small`},{default:p(()=>[...a[66]||=[y(`全部`,-1)]]),_:1}),O(d,{value:`failed`,size:`small`},{default:p(()=>[...a[67]||=[y(`仅失败`,-1)]]),_:1}),O(d,{value:`success`,size:`small`},{default:p(()=>[...a[68]||=[y(`仅成功`,-1)]]),_:1})]),_:1},8,[`modelValue`]),X.value.failed>0?(f(),D(b,{key:0},[O(E,{vertical:``,class:`mx-1`}),a[73]||=S(`span`,{class:`text-caption text-medium-emphasis`},`视图`,-1),O(c,{modelValue:tn.value,"onUpdate:modelValue":a[25]||=e=>tn.value=e,mandatory:``,density:`compact`,color:`primary`,variant:`outlined`,divided:``},{default:p(()=>[O(d,{value:`list`,size:`small`},{default:p(()=>[...a[69]||=[y(`列表`,-1)]]),_:1}),O(d,{value:`group`,size:`small`},{default:p(()=>[...a[70]||=[y(`按错误分组`,-1)]]),_:1})]),_:1},8,[`modelValue`]),O(d,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Gn},{default:p(()=>[...a[71]||=[y(` 复制失败清单 `,-1)]]),_:1}),tn.value===`group`?(f(),x(d,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-content-copy`,onClick:Kn},{default:p(()=>[...a[72]||=[y(` 复制分组摘要 `,-1)]]),_:1})):v(``,!0)],64)):v(``,!0)]),tn.value===`list`?(f(),x(n,{key:2,density:`compact`,class:`exec-detail-table`},{default:p(()=>[a[76]||=S(`thead`,null,[S(`tr`,null,[S(`th`,null,`服务器`),S(`th`,null,`状态`),S(`th`,{style:{width:`72px`}},`退出码`),S(`th`,null,`错误摘要`),S(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),S(`tbody`,null,[(f(!0),D(b,null,u(hn.value,e=>(f(),D(`tr`,{key:e.serverId,class:ye([{"exec-detail-row--failed":e.failed,"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[S(`td`,null,[S(`div`,ut,T(e.serverName),1),e.serverDomain?(f(),D(`div`,dt,T(e.serverDomain),1)):v(``,!0)]),S(`td`,null,[O(k,{color:w(ue)(e.status,e.phase,e.exitCode),size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(w(re)(e.status,e.phase)),1)]),_:2},1032,[`color`])]),S(`td`,{class:ye({"text-error font-weight-medium":e.failed})},T(e.exitCode??`—`),3),S(`td`,{class:`text-truncate`,style:{"max-width":`280px`},title:e.summary},T(e.summary),9,ft),S(`td`,{class:`text-end`,onClick:a[26]||=Ee(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(f(),x(d,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):v(``,!0),O(d,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,lt))),128)),hn.value.length===0?(f(),D(`tr`,pt,[...a[75]||=[S(`td`,{colspan:`5`,class:`text-center text-medium-emphasis py-4`},`当前筛选无记录`,-1)]])):v(``,!0)])]),_:1})):mn.value.length?(f(),x(qe,{key:3,modelValue:nn.value,"onUpdate:modelValue":a[28]||=e=>nn.value=e,multiple:``,variant:`accordion`,class:`exec-detail-groups`},{default:p(()=>[(f(!0),D(b,null,u(mn.value,(e,t)=>(f(),x(Ge,{key:`${t}-${e.errorKey}`},{default:p(()=>[O(Ke,null,{default:p(()=>[S(`div`,mt,[S(`span`,{class:`text-body-2 text-truncate`,title:e.errorKey},T(e.errorKey),9,ht),O(k,{color:`error`,size:`x-small`,variant:`tonal`,label:``},{default:p(()=>[y(T(e.count)+` 台`,1)]),_:2},1024)])]),_:2},1024),O(We,null,{default:p(()=>[O(n,{density:`compact`},{default:p(()=>[a[77]||=S(`thead`,null,[S(`tr`,null,[S(`th`,null,`服务器`),S(`th`,{style:{width:`72px`}},`退出码`),S(`th`,{style:{width:`120px`},class:`text-end`},`操作`)])],-1),S(`tbody`,null,[(f(!0),D(b,null,u(e.rows,e=>(f(),D(`tr`,{key:e.serverId,class:ye([{"exec-detail-row--active":J.value===e.serverId},`exec-detail-row cursor-pointer`]),onClick:t=>qn(e.serverId)},[S(`td`,null,[S(`div`,_t,T(e.serverName),1),e.serverDomain?(f(),D(`div`,vt,T(e.serverDomain),1)):v(``,!0)]),S(`td`,yt,T(e.exitCode??`—`),1),S(`td`,{class:`text-end`,onClick:a[27]||=Ee(()=>{},[`stop`])},[e.fullOutput&&e.fullOutput!==`—`?(f(),x(d,{key:0,size:`x-small`,variant:`text`,icon:`mdi-content-copy`,title:`复制输出`,onClick:t=>Jn(e)},null,8,[`onClick`])):v(``,!0),O(d,{size:`x-small`,variant:`text`,icon:`mdi-console`,title:`打开终端`,onClick:t=>Yn(e.serverIdNum)},null,8,[`onClick`])])],10,gt))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`])):(f(),D(`div`,bt,`无失败记录可分组`)),Z.value?(f(),x(N,{key:5,variant:`tonal`,color:Z.value.failed?`error`:void 0,class:`mt-3 pa-3`},{default:p(()=>[S(`div`,xt,[S(`span`,St,[y(T(Z.value.serverName)+` `,1),Z.value.serverDomain?(f(),D(`span`,Ct,`(`+T(Z.value.serverDomain)+`)`,1)):v(``,!0)]),O(_),O(d,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-content-copy`,onClick:a[29]||=e=>Jn(Z.value)},{default:p(()=>[...a[78]||=[y(` 复制 `,-1)]]),_:1}),O(d,{size:`x-small`,variant:`text`,"prepend-icon":`mdi-console`,onClick:a[30]||=e=>Yn(Z.value.serverIdNum)},{default:p(()=>[...a[79]||=[y(` 终端 `,-1)]]),_:1})]),S(`pre`,wt,T(Z.value.fullOutput),1)]),_:1},8,[`color`])):v(``,!0)]),_:1})):v(``,!0),K.value?(f(),x(A,{key:1},{default:p(()=>[K.value.status===`failed`||K.value.status===`partial`?(f(),x(d,{key:0,color:`primary`,variant:`text`,onClick:Xn},{default:p(()=>[...a[80]||=[y(` 重试失败项 `,-1)]]),_:1})):v(``,!0),O(_),O(d,{variant:`text`,onClick:a[31]||=e=>Qt.value=!1},{default:p(()=>[...a[81]||=[y(`关闭`,-1)]]),_:1})]),_:1})):v(``,!0)]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-990c5229`]]);export{Tt as default}; \ No newline at end of file diff --git a/web/app/assets/ServerCategoryPicker-1rZGQM3V.js b/web/app/assets/ServerCategoryPicker-BE313wTd.js similarity index 92% rename from web/app/assets/ServerCategoryPicker-1rZGQM3V.js rename to web/app/assets/ServerCategoryPicker-BE313wTd.js index 37504517..c6b01ce7 100644 --- a/web/app/assets/ServerCategoryPicker-1rZGQM3V.js +++ b/web/app/assets/ServerCategoryPicker-BE313wTd.js @@ -1 +1 @@ -import{n as e,t}from"./VRow-By04mHIT.js";import{Br as n,Ir as r,P as i,Pr as a,Sr as o,Tr as s,Ur as c,X as l,Xr as u,Y as d,_r as f,ai as p,br as m,dr as h,gr as g,hr as _,mr as v,ni as y,oi as b,vr as x,xr as S,y as C}from"./index-DawRgH7u.js";import{t as w}from"./VCard-rBfCdgX2.js";import{t as T}from"./VCheckbox-0cpfrSvP.js";import{t as E}from"./VTextField-BZnszgeR.js";import{o as D}from"./labels-C-A2d08W.js";import{t as O}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as k}from"./useServerCategories-RxfHjr4v.js";var A={class:`server-category-picker`},j={class:`d-flex align-center flex-wrap ga-2 mb-2`},M={key:0,class:`text-center text-medium-emphasis py-4`},N={class:`d-flex align-center px-1 mb-1`},P={class:`text-caption text-medium-emphasis ml-1`},F={class:`d-flex align-center ga-2`},I={class:`text-body-2 font-weight-medium text-truncate`},L={class:`text-caption text-medium-emphasis text-truncate`},R=O(o({__name:`ServerCategoryPicker`,props:s({servers:{},loading:{type:Boolean,default:!1},maxHeight:{default:`280px`}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(o){let s=n(o,`modelValue`),O=o,R=u(``),z=v(()=>new Set(s.value)),B=v(()=>{let e=R.value.trim().toLowerCase();return e?O.servers.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)):O.servers}),V=v(()=>{let e={};for(let t of B.value){let n=t.category?.trim()||`uncategorized`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,label:k(e),servers:[...t].sort((e,t)=>e.name.localeCompare(t.name,`zh`))})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))}),H=v(()=>{let e=B.value;return e.length>0&&e.every(e=>z.value.has(e.id))});function U(e){return e.servers.filter(e=>z.value.has(e.id)).length}function W(e){let t=V.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>z.value.has(e.id))}function G(e){s.value=[...e]}function K(e){let t=new Set(s.value);t.has(e)?t.delete(e):t.add(e),G(t)}function q(e){let t=V.value.find(t=>t.category===e);if(!t)return;let n=new Set(s.value),r=t.servers.every(e=>n.has(e.id));for(let e of t.servers)r?n.delete(e.id):n.add(e.id);G(n)}function J(){let e=B.value,t=new Set(s.value),n=e.length>0&&e.every(e=>t.has(e.id));for(let r of e)n?t.delete(r.id):t.add(r.id);G(t)}return(n,u)=>(a(),x(`div`,A,[_(`div`,j,[S(T,{"model-value":H.value,label:`全选`,density:`compact`,"hide-details":``,"onUpdate:modelValue":J},null,8,[`model-value`]),S(E,{modelValue:R.value,"onUpdate:modelValue":u[0]||=e=>R.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`220px`},clearable:``},null,8,[`modelValue`]),s.value.length>0?(a(),g(C,{key:0,size:`small`,color:`primary`,variant:`tonal`,label:``},{default:c(()=>[m(` 已选 `+b(s.value.length)+` 台 `,1)]),_:1})):f(``,!0),o.loading?(a(),g(d,{key:1,indeterminate:``,size:`18`,width:`2`})):f(``,!0)]),_(`div`,{class:`picker-scroll`,style:p({maxHeight:o.maxHeight})},[!o.loading&&V.value.length===0?(a(),x(`div`,M,` 暂无服务器 `)):f(``,!0),(a(!0),x(h,null,r(V.value,n=>(a(),x(`div`,{key:n.category,class:`mb-3`},[_(`div`,N,[S(i,{size:`x-small`,variant:`text`,color:W(n.category)?`primary`:`default`,onClick:e=>q(n.category)},{default:c(()=>[S(l,{size:`16`,class:`mr-1`},{default:c(()=>[m(b(W(n.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),m(` `+b(n.label),1)]),_:2},1032,[`color`,`onClick`]),_(`span`,P,` (`+b(U(n))+`/`+b(n.servers.length)+`) `,1)]),S(t,{dense:``},{default:c(()=>[(a(!0),x(h,null,r(n.servers,t=>(a(),g(e,{key:t.id,cols:`12`,sm:`6`},{default:c(()=>[S(w,{color:z.value.has(t.id)?`primary`:void 0,variant:z.value.has(t.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-2 cursor-pointer`,onClick:e=>K(t.id)},{default:c(()=>[_(`div`,F,[S(l,{color:y(D)(t.is_online),size:`10`},{default:c(()=>[...u[1]||=[m(`mdi-circle`,-1)]]),_:1},8,[`color`]),_(`span`,I,b(t.name),1)]),_(`div`,L,b(t.domain),1)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))],4)]))}}),[[`__scopeId`,`data-v-4d1df917`]]);export{R as t}; \ No newline at end of file +import{n as e,t}from"./VRow-Jrv7cE2K.js";import{Br as n,Ir as r,P as i,Pr as a,Sr as o,Tr as s,Ur as c,X as l,Xr as u,Y as d,_r as f,ai as p,br as m,dr as h,gr as g,hr as _,mr as v,ni as y,oi as b,vr as x,xr as S,y as C}from"./index-Bplw5zZe.js";import{t as w}from"./VCard-DwK3U69w.js";import{t as T}from"./VCheckbox-BnLUWPSt.js";import{t as E}from"./VTextField-DVnxh9lX.js";import{o as D}from"./labels-C-A2d08W.js";import{t as O}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as k}from"./useServerCategories-D9bG0IAJ.js";var A={class:`server-category-picker`},j={class:`d-flex align-center flex-wrap ga-2 mb-2`},M={key:0,class:`text-center text-medium-emphasis py-4`},N={class:`d-flex align-center px-1 mb-1`},P={class:`text-caption text-medium-emphasis ml-1`},F={class:`d-flex align-center ga-2`},I={class:`text-body-2 font-weight-medium text-truncate`},L={class:`text-caption text-medium-emphasis text-truncate`},R=O(o({__name:`ServerCategoryPicker`,props:s({servers:{},loading:{type:Boolean,default:!1},maxHeight:{default:`280px`}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(o){let s=n(o,`modelValue`),O=o,R=u(``),z=v(()=>new Set(s.value)),B=v(()=>{let e=R.value.trim().toLowerCase();return e?O.servers.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)):O.servers}),V=v(()=>{let e={};for(let t of B.value){let n=t.category?.trim()||`uncategorized`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,label:k(e),servers:[...t].sort((e,t)=>e.name.localeCompare(t.name,`zh`))})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))}),H=v(()=>{let e=B.value;return e.length>0&&e.every(e=>z.value.has(e.id))});function U(e){return e.servers.filter(e=>z.value.has(e.id)).length}function W(e){let t=V.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>z.value.has(e.id))}function G(e){s.value=[...e]}function K(e){let t=new Set(s.value);t.has(e)?t.delete(e):t.add(e),G(t)}function q(e){let t=V.value.find(t=>t.category===e);if(!t)return;let n=new Set(s.value),r=t.servers.every(e=>n.has(e.id));for(let e of t.servers)r?n.delete(e.id):n.add(e.id);G(n)}function J(){let e=B.value,t=new Set(s.value),n=e.length>0&&e.every(e=>t.has(e.id));for(let r of e)n?t.delete(r.id):t.add(r.id);G(t)}return(n,u)=>(a(),x(`div`,A,[_(`div`,j,[S(T,{"model-value":H.value,label:`全选`,density:`compact`,"hide-details":``,"onUpdate:modelValue":J},null,8,[`model-value`]),S(E,{modelValue:R.value,"onUpdate:modelValue":u[0]||=e=>R.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`220px`},clearable:``},null,8,[`modelValue`]),s.value.length>0?(a(),g(C,{key:0,size:`small`,color:`primary`,variant:`tonal`,label:``},{default:c(()=>[m(` 已选 `+b(s.value.length)+` 台 `,1)]),_:1})):f(``,!0),o.loading?(a(),g(d,{key:1,indeterminate:``,size:`18`,width:`2`})):f(``,!0)]),_(`div`,{class:`picker-scroll`,style:p({maxHeight:o.maxHeight})},[!o.loading&&V.value.length===0?(a(),x(`div`,M,` 暂无服务器 `)):f(``,!0),(a(!0),x(h,null,r(V.value,n=>(a(),x(`div`,{key:n.category,class:`mb-3`},[_(`div`,N,[S(i,{size:`x-small`,variant:`text`,color:W(n.category)?`primary`:`default`,onClick:e=>q(n.category)},{default:c(()=>[S(l,{size:`16`,class:`mr-1`},{default:c(()=>[m(b(W(n.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),m(` `+b(n.label),1)]),_:2},1032,[`color`,`onClick`]),_(`span`,P,` (`+b(U(n))+`/`+b(n.servers.length)+`) `,1)]),S(t,{dense:``},{default:c(()=>[(a(!0),x(h,null,r(n.servers,t=>(a(),g(e,{key:t.id,cols:`12`,sm:`6`},{default:c(()=>[S(w,{color:z.value.has(t.id)?`primary`:void 0,variant:z.value.has(t.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-2 cursor-pointer`,onClick:e=>K(t.id)},{default:c(()=>[_(`div`,F,[S(l,{color:y(D)(t.is_online),size:`10`},{default:c(()=>[...u[1]||=[m(`mdi-circle`,-1)]]),_:1},8,[`color`]),_(`span`,I,b(t.name),1)]),_(`div`,L,b(t.domain),1)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))],4)]))}}),[[`__scopeId`,`data-v-4d1df917`]]);export{R as t}; \ No newline at end of file diff --git a/web/app/assets/ServerCategoryPicker-CZ_ad3il.js b/web/app/assets/ServerCategoryPicker-CZ_ad3il.js deleted file mode 100644 index 59a56f14..00000000 --- a/web/app/assets/ServerCategoryPicker-CZ_ad3il.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./VRow-Wg9QrEcV.js";import{Br as n,Ir as r,P as i,Pr as a,Sr as o,Tr as s,Ur as c,X as l,Xr as u,Y as d,_r as f,ai as p,br as m,dr as h,gr as g,hr as _,mr as v,ni as y,oi as b,vr as x,xr as S,y as C}from"./index-DZEQidkT.js";import{t as w}from"./VCard-DiTj681b.js";import{t as T}from"./VCheckbox-5Fmz8kLZ.js";import{t as E}from"./VTextField-CvZimSXQ.js";import{o as D}from"./labels-C-A2d08W.js";import{t as O}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as k}from"./useServerCategories-CdnJojpL.js";var A={class:`server-category-picker`},j={class:`d-flex align-center flex-wrap ga-2 mb-2`},M={key:0,class:`text-center text-medium-emphasis py-4`},N={class:`d-flex align-center px-1 mb-1`},P={class:`text-caption text-medium-emphasis ml-1`},F={class:`d-flex align-center ga-2`},I={class:`text-body-2 font-weight-medium text-truncate`},L={class:`text-caption text-medium-emphasis text-truncate`},R=O(o({__name:`ServerCategoryPicker`,props:s({servers:{},loading:{type:Boolean,default:!1},maxHeight:{default:`280px`}},{modelValue:{default:()=>[]},modelModifiers:{}}),emits:[`update:modelValue`],setup(o){let s=n(o,`modelValue`),O=o,R=u(``),z=v(()=>new Set(s.value)),B=v(()=>{let e=R.value.trim().toLowerCase();return e?O.servers.filter(t=>t.name.toLowerCase().includes(e)||(t.domain||``).toLowerCase().includes(e)||(t.category||``).toLowerCase().includes(e)):O.servers}),V=v(()=>{let e={};for(let t of B.value){let n=t.category?.trim()||`uncategorized`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,label:k(e),servers:[...t].sort((e,t)=>e.name.localeCompare(t.name,`zh`))})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))}),H=v(()=>{let e=B.value;return e.length>0&&e.every(e=>z.value.has(e.id))});function U(e){return e.servers.filter(e=>z.value.has(e.id)).length}function W(e){let t=V.value.find(t=>t.category===e);return!t||t.servers.length===0?!1:t.servers.every(e=>z.value.has(e.id))}function G(e){s.value=[...e]}function K(e){let t=new Set(s.value);t.has(e)?t.delete(e):t.add(e),G(t)}function q(e){let t=V.value.find(t=>t.category===e);if(!t)return;let n=new Set(s.value),r=t.servers.every(e=>n.has(e.id));for(let e of t.servers)r?n.delete(e.id):n.add(e.id);G(n)}function J(){let e=B.value,t=new Set(s.value),n=e.length>0&&e.every(e=>t.has(e.id));for(let r of e)n?t.delete(r.id):t.add(r.id);G(t)}return(n,u)=>(a(),x(`div`,A,[_(`div`,j,[S(T,{"model-value":H.value,label:`全选`,density:`compact`,"hide-details":``,"onUpdate:modelValue":J},null,8,[`model-value`]),S(E,{modelValue:R.value,"onUpdate:modelValue":u[0]||=e=>R.value=e,"prepend-inner-icon":`mdi-magnify`,label:`搜索服务器`,density:`compact`,"hide-details":``,variant:`outlined`,rounded:``,style:{"max-width":`220px`},clearable:``},null,8,[`modelValue`]),s.value.length>0?(a(),g(C,{key:0,size:`small`,color:`primary`,variant:`tonal`,label:``},{default:c(()=>[m(` 已选 `+b(s.value.length)+` 台 `,1)]),_:1})):f(``,!0),o.loading?(a(),g(d,{key:1,indeterminate:``,size:`18`,width:`2`})):f(``,!0)]),_(`div`,{class:`picker-scroll`,style:p({maxHeight:o.maxHeight})},[!o.loading&&V.value.length===0?(a(),x(`div`,M,` 暂无服务器 `)):f(``,!0),(a(!0),x(h,null,r(V.value,n=>(a(),x(`div`,{key:n.category,class:`mb-3`},[_(`div`,N,[S(i,{size:`x-small`,variant:`text`,color:W(n.category)?`primary`:`default`,onClick:e=>q(n.category)},{default:c(()=>[S(l,{size:`16`,class:`mr-1`},{default:c(()=>[m(b(W(n.category)?`mdi-checkbox-marked`:`mdi-checkbox-blank-outline`),1)]),_:2},1024),m(` `+b(n.label),1)]),_:2},1032,[`color`,`onClick`]),_(`span`,P,` (`+b(U(n))+`/`+b(n.servers.length)+`) `,1)]),S(t,{dense:``},{default:c(()=>[(a(!0),x(h,null,r(n.servers,t=>(a(),g(e,{key:t.id,cols:`12`,sm:`6`},{default:c(()=>[S(w,{color:z.value.has(t.id)?`primary`:void 0,variant:z.value.has(t.id)?`tonal`:`outlined`,rounded:`lg`,class:`pa-2 cursor-pointer`,onClick:e=>K(t.id)},{default:c(()=>[_(`div`,F,[S(l,{color:y(D)(t.is_online),size:`10`},{default:c(()=>[...u[1]||=[m(`mdi-circle`,-1)]]),_:1},8,[`color`]),_(`span`,I,b(t.name),1)]),_(`div`,L,b(t.domain),1)]),_:2},1032,[`color`,`variant`,`onClick`])]),_:2},1024))),128))]),_:2},1024)]))),128))],4)]))}}),[[`__scopeId`,`data-v-4d1df917`]]);export{R as t}; \ No newline at end of file diff --git a/web/app/assets/ServersPage-C4_GVaof.js b/web/app/assets/ServersPage-C4_GVaof.js deleted file mode 100644 index 90382124..00000000 --- a/web/app/assets/ServersPage-C4_GVaof.js +++ /dev/null @@ -1,5 +0,0 @@ -import{a as e,t}from"./VDataTable-JI1AS0YS.js";import{n,t as r}from"./useSnackbar-DaoOJlMz.js";import{n as i,t as a}from"./VRow-Wg9QrEcV.js";import{$ as o,$r as s,Ar as c,At as l,Dr as u,Er as d,Gr as f,Ht as p,In as m,Ir as h,Ln as g,Mr as ee,Mt as te,N as ne,Nr as _,P as v,Pr as y,Q as re,Qn as b,S as ie,Sr as x,Un as ae,Ur as S,Vr as C,W as oe,Wr as w,X as se,Xr as T,Xt as E,Y as ce,Zn as le,Zr as D,_ as O,_r as k,ai as ue,br as A,bt as de,cn as fe,cr as pe,ct as me,d as he,dr as ge,en as _e,er as ve,f as ye,g as be,gn as xe,gr as j,h as M,hr as N,ii as Se,jn as Ce,l as we,lr as Te,m as Ee,mr as P,n as De,ni as F,oi as I,p as Oe,pn as ke,r as Ae,t as je,tn as Me,tr as L,un as R,ur as z,v as Ne,vr as B,vt as Pe,wn as Fe,xr as V,y as H,yn as U,yt as Ie}from"./index-DZEQidkT.js";import{t as Le}from"./usePageActivateRefresh-BmoMLdUi.js";import{n as Re,t as ze}from"./dataTable-esDY4cOk.js";import{a as W,n as G,r as K,t as q}from"./VCard-DiTj681b.js";import{a as Be,c as Ve,d as He,i as Ue,l as We,n as Ge,o as Ke,r as J,s as qe,t as Je,u as Ye}from"./VSelect-CzNpj4qJ.js";import{h as Xe,n as Y,p as Ze,t as X}from"./VTextField-CvZimSXQ.js";import{t as Qe}from"./VDataTableServer-C1V2iC3x.js";import{t as Z}from"./apiError-BqTTIuLB.js";import{t as $e}from"./labels-C-A2d08W.js";import{n as et}from"./paginatedFetch-DB49B9Xn.js";import{a as tt,i as nt,n as rt,r as it,t as at}from"./VSkeletonLoader-2DBPWC-b.js";import{t as ot}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Q}from"./VDialog-B2Te8j14.js";import{r as st}from"./validation-BMzYTJL4.js";import{t as ct}from"./usePageAutoRefresh-_5-kEzKg.js";import{n as lt,t as ut}from"./useServerCategories-CdnJojpL.js";import{t as dt}from"./VTextarea-tb0SPOpO.js";import{i as ft,n as pt,r as mt,t as ht}from"./VExpansionPanels-CGDaaYev.js";var gt={status:`status`,name:`name`,domain:`domain`,address:`domain`,category:`category`,target_path:`target_path`,agent_version:`agent_version`,agent:`agent_version`,last_heartbeat:`heartbeat`,heartbeat:`heartbeat`};function _t(e){if(!e.length)return{};let t=gt[e[0].key];return t?{sort_by:t,sort_order:e[0].order}:{}}function vt(e){let t=e?.targetPathUnset,n=T([]),r=T(!1),i=T(1),a=T(20),o=T(0),s=T(``),c=T(``),l=T([]);function u(){return{search:s.value||void 0,category:c.value||void 0,..._t(l.value),...t===void 0?{}:{target_path_unset:t}}}async function d(e){e?.silent||(r.value=!0);try{let e=await et(`/servers/`,u(),i.value,a.value);n.value=e.items,o.value=e.total,a.value===-1&&(i.value=1)}catch(e){throw n.value=[],o.value=0,e}finally{r.value=!1}}let f;_(()=>clearTimeout(f));function p(){clearTimeout(f),f=setTimeout(()=>{i.value=1,d()},300)}function m(e){i.value=e,d()}function h(e){a.value=e,i.value=1,d()}function g(e){c.value=e,i.value=1,d()}C(l,()=>{i.value=1,d()},{deep:!0});async function ee(){return(await et(`/servers/`,u(),1,-1)).items}return{servers:n,loading:r,page:i,itemsPerPage:a,total:o,search:s,categoryFilter:c,sortBy:l,loadServers:d,onSearch:p,onPageChange:m,onItemsPerPageChange:h,onCategoryChange:g,loadAllServers:ee,listQueryParams:u}}function yt(e){let t=(e??``).trim();return t===``||t===`/www/wwwroot`}function bt(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.trunc(e);if(typeof e==`string`&&/^\d+$/.test(e.trim())){let t=Number(e.trim());return Number.isFinite(t)&&t>0?t:null}return null}function xt(e){let t=[];for(let n of e){let e=bt(typeof n==`object`&&n&&`id`in n?n.id:n);e!==null&&t.push(e)}return[...new Set(t)]}var St=Fe({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Be({filterKeys:[`title`]}),...Ge({hideNoData:!0,returnObject:!0}),...b(Y({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`])},`VCombobox`),Ct=U()({name:`VCombobox`,props:St(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,{emit:t,slots:n}){let{t:r}=fe(),i=T(),a=D(!1),o=D(!0),c=D(!1),l=T(),f=T(),p=D(-1),h=!1,{items:ee,transformIn:te,transformOut:ne}=ye(e),{textColorClasses:_,textColorStyles:v}=me(()=>i.value?.color),{InputIcon:y}=Xe(e),b=R(e,`modelValue`,[],e=>te(ve(e)),t=>{let n=ne(t);return e.multiple?n:n[0]??null}),x=Ze(e),S=s(()=>e.closableChips&&!x.isReadonly.value&&!x.isDisabled.value),oe=P(()=>!!(e.chips||n.chip)),w=P(()=>oe.value||!!n.selection),E=D(!e.multiple&&!w.value?b.value[0]?.title??``:``),ce=D(null),O=P({get:()=>E.value,set:async t=>{if(E.value=t??``,t===null||t===``&&!e.multiple&&!w.value?b.value=[]:!e.multiple&&!w.value&&(b.value=[he(e,t)],u(()=>f.value?.scrollToIndex(0))),t&&e.multiple&&e.delimiters?.length){let e=Qe(t);e.length>1&&(Z(e),E.value=``)}t||(p.value=-1),o.value=!t}}),k=P(()=>typeof e.counterValue==`function`?e.counterValue(b.value):typeof e.counterValue==`number`?e.counterValue:e.multiple?b.value.length:O.value.length),{filteredItems:de,getMatches:pe}=Ke(e,ee,()=>ce.value??(e.alwaysFilter||!o.value?O.value:``)),_e=P(()=>e.hideSelected&&ce.value===null?de.value.filter(e=>!b.value.some(t=>t.value===e.value)):de.value),be=P(()=>e.hideNoData&&!_e.value.length||x.isReadonly.value||x.isDisabled.value),j=R(e,`menu`),M=P({get:()=>j.value,set:e=>{j.value&&!e&&l.value?.ΨopenChildren.size||e&&be.value||(j.value=e)}}),{menuId:Te,ariaExpanded:F,ariaControls:I}=J(e,M);C(E,e=>{h?u(()=>h=!1):a.value&&!M.value&&(M.value=!0),t(`update:search`,e)}),C(b,t=>{!e.multiple&&!w.value&&(E.value=t[0]?.title??``)});let Me=P(()=>b.value.map(e=>e.value)),z=P(()=>_e.value.find(e=>e.type===`item`&&!e.props.disabled)),B=P(()=>(e.autoSelectFirst===!0||e.autoSelectFirst===`exact`&&O.value===z.value?.title)&&_e.value.length>0&&!o.value&&!c.value),Pe=T(),Fe=T(),U=T(),Ie=Ve(Pe,i),Le=We(M,()=>l.value?.contentEl,()=>i.value?.controlRef),{onTabKeydown:Re}=qe({groups:[{type:`element`,contentRef:Fe},{type:`list`,contentRef:Pe,displayItemsCount:()=>_e.value.length},{type:`element`,contentRef:U}],onLeave:()=>{M.value=!1,i.value?.focus()}});function ze(t){h=!0,u(()=>h=!1),e.openOnClear&&(M.value=!0)}function W(){be.value||(M.value=!0)}function G(e){be.value||(a.value&&(e.preventDefault(),e.stopPropagation()),M.value=!M.value)}function K(e){e.key===`Tab`&&Re(e),Pe.value?.$el.contains(e.target)&&(Ce(e)||e.key===`Backspace`)&&i.value?.focus()}function q(t){if(ae(t)||x.isReadonly.value)return;let n=i.value?.selectionStart,r=b.value.length;if([`Enter`,`ArrowDown`,`ArrowUp`].includes(t.key)&&t.preventDefault(),[`Enter`,`ArrowDown`].includes(t.key)&&(M.value=!0),[`Escape`].includes(t.key)&&(M.value=!1),B.value&&[`Enter`,`Tab`].includes(t.key)&&z.value&&!b.value.some(({value:e})=>e===z.value.value)&&Y(z.value),t.key===`ArrowDown`&&B.value&&Pe.value?.focus(`next`),t.key===`Enter`&&O.value&&(Y(he(e,O.value),!0,!0),w.value&&(E.value=``)),[`Backspace`,`Delete`].includes(t.key)){if(!e.multiple&&w.value&&b.value.length>0&&!O.value)return Y(b.value[0],!1);if(~p.value){t.preventDefault();let e=p.value;Y(b.value[p.value],!1),p.value=e>=r-1?r-2:e}else t.key===`Backspace`&&!O.value&&(p.value=r-1);return}if(e.multiple)if(t.key===`ArrowLeft`){if(p.value<0&&n&&n>0)return;let e=p.value>-1?p.value-1:r-1;b.value[e]?p.value=e:(p.value=-1,i.value?.setSelectionRange(O.value.length,O.value.length))}else if(t.key===`ArrowRight`){if(p.value<0)return;let e=p.value+1;b.value[e]?p.value=e:(p.value=-1,i.value?.setSelectionRange(0,0))}else ~p.value&&Ce(t)&&(p.value=-1)}function Be(t){let n=Qe(t?.clipboardData?.getData(`Text`)??``);n.length>1&&e.multiple&&(t.preventDefault(),Z(n))}function Ge(){e.eager&&f.value?.calculateVisibleItems()}function Je(){a.value&&(l.value?.contentEl?._clickOutside?.lastMousedownWasOutside?a.value=!1:i.value?.focus()),o.value=!0,ce.value=null}function Y(t,n=!0,r=!1){if(!(!t||t.props.disabled))if(e.multiple){let r=b.value.findIndex(n=>(e.valueComparator||xe)(n.value,t.value)),i=n??!~r;if(~r){let e=i?[...b.value,t]:[...b.value];e.splice(r,1),b.value=e}else i&&(b.value=[...b.value,t]);e.clearOnSelect&&(O.value=``)}else{let i=n!==!1;b.value=i?[t]:[],(!o.value||e.alwaysFilter)&&E.value&&(ce.value=E.value),E.value=i&&!w.value?t.title:``,u(()=>{M.value=r,o.value=!0})}}function Qe(t){let n=[` -`,...e.delimiters??[]].map(g).join(`|`);return t.split(RegExp(`(?:${n})+`))}async function Z(t){for(let n of t)n=n.trim(),n&&(Y(he(e,n)),await u())}function $e(e){a.value=!0,setTimeout(()=>{c.value=!0})}function et(e){if(c.value=!1,!i.value?.$el.contains(e.relatedTarget)){if(Le(e))return;a.value=!1}}let tt=0;function nt(){tt=performance.now()}function rt(e){let t=e.relatedTarget;((l.value?.contentEl)?.contains(t)||!t&&performance.now()-tt<10)&&(a.value=!0)}return C(a,(t,n)=>{if(!(t||t===n)&&(p.value=-1,M.value=!1,O.value)){if(e.multiple){Y(he(e,O.value));return}if(!w.value)return;b.value.some(({title:e})=>e===O.value)?E.value=``:Y(he(e,O.value))}}),C(M,t=>{if(!e.hideSelected&&t&&b.value.length&&o.value){let t=_e.value.findIndex(t=>b.value.some(n=>(e.valueComparator||xe)(n.value,t.value)));L&&window.requestAnimationFrame(()=>{t>=0&&f.value?.scrollToIndex(t)})}t&&(ce.value=null)}),C(ee,(e,t)=>{M.value||a.value&&!t.length&&e.length&&(M.value=!0)}),ke(()=>{let t=!!(!e.hideNoData||_e.value.length||n[`prepend-item`]||n[`append-item`]||n[`no-data`]),s=b.value.length>0,c=X.filterProps(e),u={search:O,filteredItems:de.value};return V(X,d({ref:i},c,{modelValue:O.value,"onUpdate:modelValue":e=>O.value=e,focused:a.value,"onUpdate:focused":e=>a.value=e,validationValue:b.externalValue,counterValue:k.value,dirty:s,class:[`v-combobox`,{"v-combobox--active-menu":M.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!w.value,"v-combobox--selecting-index":p.value>-1,[`v-combobox--${e.multiple?`multiple`:`single`}`]:!0},e.class],style:e.style,readonly:x.isReadonly.value,placeholder:s?void 0:e.placeholder,"onClick:clear":ze,"onMousedown:control":W,onKeydown:q,onPaste:Be,onBlur:rt,"aria-expanded":F.value,"aria-controls":I.value}),{...n,default:({id:i})=>N(ge,null,[V(De,d({id:Te.value,ref:l,modelValue:M.value,"onUpdate:modelValue":e=>M.value=e,activator:`parent`,disabled:be.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ge,onAfterLeave:Je},e.menuProps,{contentClass:[`v-combobox__content`,e.menuProps?.contentClass]}),{default:()=>[V(je,{elevation:e.menuElevation,onFocusin:$e,onKeydown:K,onMousedown:nt},{default:()=>[n[`menu-header`]&&N(`header`,{ref:Fe},[n[`menu-header`](u)]),t&&V(we,d({key:`combobox-list`,ref:Pe,filterable:!0,selected:Me.value,selectStrategy:e.multiple?`independent`:`single-independent`,onMousedown:e=>e.preventDefault(),selectable:!!_e.value.length,onFocusout:et,tabindex:`-1`,"aria-live":`polite`,"aria-labelledby":`${i.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},Ie,e.listProps),{default:()=>[n[`prepend-item`]?.(),!_e.value.length&&!e.hideNoData&&(n[`no-data`]?.()??V(Ee,{key:`no-data`,title:r(e.noDataText)},null)),V(Ye,{ref:f,renderless:!0,items:_e.value,itemKey:`value`},{default:({item:t,index:r,itemRef:i})=>{let a=d(t.props,{ref:i,key:t.value,active:B.value&&t===z.value?!0:void 0,onClick:()=>Y(t,null),"aria-posinset":r+1,"aria-setsize":_e.value.length});return t.type===`divider`?n.divider?.({props:t.raw,index:r})??V(Ne,d(t.props,{key:`divider-${r}`}),null):t.type===`subheader`?n.subheader?.({props:t.raw,index:r})??V(Oe,d(t.props,{key:`subheader-${r}`}),null):n.item?.({item:t.raw,internalItem:t,index:r,props:a})??V(Ee,d(a,{role:`option`}),{prepend:({isSelected:n})=>N(ge,null,[e.multiple&&!e.hideSelected?V(He,{key:t.value,modelValue:n,ripple:!1,tabindex:`-1`,"aria-hidden":!0,onClick:e=>e.preventDefault()},null):void 0,t.props.prependAvatar&&V(ie,{image:t.props.prependAvatar},null),t.props.prependIcon&&V(se,{icon:t.props.prependIcon},null)]),title:()=>o.value?t.title:Ue(`v-combobox`,t.title,pe(t)?.title)})}}),n[`append-item`]?.()]}),n[`menu-footer`]&&N(`footer`,{ref:U},[n[`menu-footer`](u)])]})]}),b.value.map((t,r)=>{function i(e){e.stopPropagation(),e.preventDefault(),Y(t,!1)}let a=d(H.filterProps(t.props),{"onClick:close":i,onKeydown(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),i(e))},onMousedown(e){e.preventDefault(),e.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),o=oe.value?!!n.chip:!!n.selection,s=o?m(oe.value?n.chip({item:t.raw,internalItem:t,index:r,props:a}):n.selection({item:t.raw,internalItem:t,index:r})):void 0;if(!(o&&!s))return N(`div`,{key:t.value,class:Se([`v-combobox__selection`,r===p.value&&[`v-combobox__selection--selected`,_.value]]),style:ue(r===p.value?v.value:{})},[oe.value?n.chip?V(re,{key:`chip-defaults`,defaults:{VChip:{closable:S.value,size:`small`,text:t.title}}},{default:()=>[s]}):V(H,d({key:`chip`,closable:S.value,size:`small`,text:t.title,disabled:t.props.disabled},a),null):s??N(`span`,{class:`v-combobox__selection-text`},[t.title,e.multiple&&rN(ge,null,[n[`append-inner`]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?V(se,{class:`v-combobox__menu-icon`,color:i.value?.fieldIconColor,icon:e.menuIcon,onMousedown:G,onClick:le,"aria-hidden":!0,tabindex:`-1`},null):void 0,e.appendInnerIcon&&V(y,{key:`append-icon`,name:`appendInner`,color:t[0].iconColor.value},null)])})}),Ae({isFocused:a,isPristine:o,menu:M,search:O,selectionIndex:p,filteredItems:de,select:Y},i)}}),wt=x({__name:`ServerFormDialog`,props:{modelValue:{type:Boolean},form:{},isEditing:{type:Boolean},saving:{type:Boolean},lookupsLoading:{type:Boolean},passwordPresets:{},sshKeyPresets:{},categoryOptions:{},platforms:{},nodes:{},editHints:{},filesElevationItems:{}},emits:[`update:modelValue`,`save`],setup(e,{emit:t}){let n=e,r=t,s=P(()=>n.form.preset_id||n.isEditing?[]:[st(`SSH 密码或选择密码预设`)]),c=P(()=>n.form.ssh_key_preset_id||n.isEditing?[]:[st(`私钥或选择 SSH 密钥预设`)]);return(t,n)=>(y(),j(Q,{"model-value":e.modelValue,"max-width":`720`,scrollable:``,persistent:``,"onUpdate:modelValue":n[18]||=e=>r(`update:modelValue`,e)},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,{class:`d-flex align-center`},{default:S(()=>[A(I(e.isEditing?`编辑服务器`:`添加服务器`)+` `,1),V(O),V(v,{icon:`mdi-close`,variant:`text`,size:`small`,disabled:e.saving,onClick:n[0]||=e=>r(`update:modelValue`,!1)},null,8,[`disabled`])]),_:1}),V(Ne),V(G,{class:`pt-4`},{default:S(()=>[e.lookupsLoading?(y(),j(oe,{key:0,indeterminate:``,color:`primary`,class:`mb-3`})):k(``,!0),n[21]||=N(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`基本信息`,-1),V(a,{dense:``},{default:S(()=>[V(i,{cols:`12`,sm:`6`},{default:S(()=>[V(X,{modelValue:e.form.name,"onUpdate:modelValue":n[1]||=t=>e.form.name=t,label:`名称`,variant:`outlined`,density:`compact`,rules:[F(st)(`服务器名称`)]},null,8,[`modelValue`,`rules`])]),_:1}),V(i,{cols:`12`,sm:`6`},{default:S(()=>[V(X,{modelValue:e.form.domain,"onUpdate:modelValue":n[2]||=t=>e.form.domain=t,label:`域名 / IP`,variant:`outlined`,density:`compact`,placeholder:`例:192.168.1.10`,rules:[F(st)(`域名或 IP`)]},null,8,[`modelValue`,`rules`])]),_:1}),V(i,{cols:`6`,sm:`4`},{default:S(()=>[V(X,{modelValue:e.form.port,"onUpdate:modelValue":n[3]||=t=>e.form.port=t,modelModifiers:{number:!0},label:`SSH 端口`,type:`number`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),V(i,{cols:`6`,sm:`8`},{default:S(()=>[V(X,{modelValue:e.form.username,"onUpdate:modelValue":n[4]||=t=>e.form.username=t,label:`SSH 用户名`,variant:`outlined`,density:`compact`,placeholder:`root`,rules:[F(st)(`SSH 用户名`)]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1}),V(Ne,{class:`my-4`}),n[22]||=N(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`认证方式`,-1),V(o,{modelValue:e.form.auth_method,"onUpdate:modelValue":n[5]||=t=>e.form.auth_method=t,mandatory:``,density:`compact`,variant:`outlined`,class:`mb-3`},{default:S(()=>[V(v,{value:`password`,size:`small`},{default:S(()=>[...n[19]||=[A(`密码`,-1)]]),_:1}),V(v,{value:`key`,size:`small`},{default:S(()=>[...n[20]||=[A(`SSH 密钥`,-1)]]),_:1})]),_:1},8,[`modelValue`]),e.form.auth_method===`password`?(y(),B(ge,{key:1},[V(Je,{modelValue:e.form.preset_id,"onUpdate:modelValue":n[6]||=t=>e.form.preset_id=t,items:e.passwordPresets,"item-title":`display`,"item-value":`id`,label:`密码预设(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`,hint:`选择后由服务端解密填入,无需再填密码框`,"persistent-hint":``},null,8,[`modelValue`,`items`]),e.form.preset_id?k(``,!0):(y(),j(X,{key:0,modelValue:e.form.password,"onUpdate:modelValue":n[7]||=t=>e.form.password=t,label:`SSH 密码`,variant:`outlined`,density:`compact`,type:`password`,placeholder:e.isEditing&&e.editHints.password_set?`留空表示不修改`:`安装 Agent 需可 SSH`,rules:s.value},null,8,[`modelValue`,`placeholder`,`rules`]))],64)):(y(),B(ge,{key:2},[V(Je,{modelValue:e.form.ssh_key_preset_id,"onUpdate:modelValue":n[8]||=t=>e.form.ssh_key_preset_id=t,items:e.sshKeyPresets,"item-title":`display`,"item-value":`id`,label:`SSH 密钥预设(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`,hint:`选择后由服务端解密私钥,无需再粘贴`,"persistent-hint":``},null,8,[`modelValue`,`items`]),V(X,{modelValue:e.form.ssh_key_path,"onUpdate:modelValue":n[9]||=t=>e.form.ssh_key_path=t,label:`密钥路径(可选)`,variant:`outlined`,density:`compact`,placeholder:`~/.ssh/id_rsa`,class:`mb-2`},null,8,[`modelValue`]),e.form.ssh_key_preset_id?k(``,!0):(y(),j(dt,{key:0,modelValue:e.form.ssh_key_private,"onUpdate:modelValue":n[10]||=t=>e.form.ssh_key_private=t,label:`私钥 PEM`,variant:`outlined`,density:`compact`,rows:`4`,"auto-grow":``,placeholder:e.isEditing&&e.editHints.ssh_key_private_set?`留空表示不修改私钥`:`粘贴 -----BEGIN ... PRIVATE KEY-----`,rules:c.value},null,8,[`modelValue`,`placeholder`,`rules`]))],64)),V(Ne,{class:`my-4`}),n[23]||=N(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`部署`,-1),V(X,{modelValue:e.form.target_path,"onUpdate:modelValue":n[11]||=t=>e.form.target_path=t,label:`目标路径`,variant:`outlined`,density:`compact`,placeholder:`/www/wwwroot`,hint:`文件同步与推送的根目录,须为绝对路径`,"persistent-hint":``,class:`mb-2`,rules:[F(st)(`目标路径`)]},null,8,[`modelValue`,`rules`]),V(Ct,{modelValue:e.form.category,"onUpdate:modelValue":n[12]||=t=>e.form.category=t,items:e.categoryOptions,label:`分类`,variant:`outlined`,density:`compact`,clearable:``,hint:`可从已有分类选择或输入新分类`,"persistent-hint":``},null,8,[`modelValue`,`items`]),V(ht,{variant:`accordion`,class:`mt-4`},{default:S(()=>[V(pt,{title:`高级选项`},{default:S(()=>[V(ft,null,{default:S(()=>[V(Je,{modelValue:e.form.platform_id,"onUpdate:modelValue":n[13]||=t=>e.form.platform_id=t,items:e.platforms,"item-title":`name`,"item-value":`id`,label:`平台`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),V(Je,{modelValue:e.form.node_id,"onUpdate:modelValue":n[14]||=t=>e.form.node_id=t,items:e.nodes,"item-title":`name`,"item-value":`id`,label:`节点`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),V(Je,{modelValue:e.form.files_elevation,"onUpdate:modelValue":n[15]||=t=>e.form.files_elevation=t,items:e.filesElevationItems,"item-title":`title`,"item-value":`value`,label:`文件管理提权`,variant:`outlined`,density:`compact`,hint:`非 root 用户需目标机配置免密 sudo`,"persistent-hint":``},null,8,[`modelValue`,`items`])]),_:1})]),_:1})]),_:1})]),_:1}),V(Ne),V(W,{class:`pa-4`},{default:S(()=>[V(O),V(v,{variant:`text`,disabled:e.saving,onClick:n[16]||=e=>r(`update:modelValue`,!1)},{default:S(()=>[...n[24]||=[A(`取消`,-1)]]),_:1},8,[`disabled`]),V(v,{color:`primary`,variant:`flat`,loading:e.saving,onClick:n[17]||=e=>r(`save`)},{default:S(()=>[...n[25]||=[A(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),Tt={class:`text-body-2 mr-4`},Et=x({__name:`ServerBatchActionBar`,props:{count:{}},emits:[`batch-category`,`health-check`,`detect-path`,`install-agent`,`upgrade-agent`,`uninstall-agent`,`batch-delete`,`clear`],setup(e){return(t,n)=>e.count>0?(y(),j(q,{key:0,class:`mx-4 mb-2`,color:`primary`,variant:`tonal`,rounded:`lg`},{default:S(()=>[V(G,{class:`d-flex align-center py-2 flex-wrap ga-1`},{default:S(()=>[N(`span`,Tt,`已选择 `+I(e.count)+` 台服务器`,1),V(O),V(v,{size:`small`,variant:`text`,onClick:n[0]||=e=>t.$emit(`batch-category`)},{default:S(()=>[...n[8]||=[A(`修改分类`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[1]||=e=>t.$emit(`health-check`)},{default:S(()=>[...n[9]||=[A(`健康检查`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[2]||=e=>t.$emit(`detect-path`)},{default:S(()=>[...n[10]||=[A(`检测目标路径`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[3]||=e=>t.$emit(`install-agent`)},{default:S(()=>[...n[11]||=[A(`安装Agent`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[4]||=e=>t.$emit(`upgrade-agent`)},{default:S(()=>[...n[12]||=[A(`升级Agent`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,color:`error`,onClick:n[5]||=e=>t.$emit(`uninstall-agent`)},{default:S(()=>[...n[13]||=[A(`卸载Agent`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,color:`error`,onClick:n[6]||=e=>t.$emit(`batch-delete`)},{default:S(()=>[...n[14]||=[A(`批量删除`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[7]||=e=>t.$emit(`clear`)},{default:S(()=>[...n[15]||=[A(`取消选择`,-1)]]),_:1})]),_:1})]),_:1})):k(``,!0)}}),Dt={class:`server-inline-detail pa-3 rounded-b-lg`},Ot={class:`d-flex flex-wrap ga-4 mb-2 text-body-2`},kt={class:`d-flex align-center ga-2 mb-2`},At={class:`text-body-2 text-truncate`},jt={key:1,class:`text-caption text-error py-1`},Mt={key:2,class:`text-caption text-medium-emphasis py-1`},Nt=ot(x({__name:`ServerInlineDetail`,props:{server:{}},emits:[`edit-path`],setup(e){let t=e,n=T(!1),r=T(``),i=T(null),a=0;function o(e){switch(e){case`success`:return`success`;case`failed`:return`error`;case`running`:return`warning`;case`cancelled`:return`grey`;default:return`default`}}function s(e){switch(e){case`success`:return`成功`;case`failed`:return`失败`;case`running`:return`进行中`;case`cancelled`:return`已取消`;default:return e}}function l(e){let t=[];return e.started_at&&t.push(p(e.started_at)),e.sync_mode&&t.push(e.sync_mode),e.trigger_type&&t.push(e.trigger_type),e.push_permission&&t.push(`权限 ${$e(e.push_permission)}`),t.join(` · `)||`—`}function u(e){return Array.isArray(e)?e:e&&typeof e==`object`&&Array.isArray(e.items)?e.items:[]}async function d(){let e=++a;n.value=!0,r.value=``,i.value=null;try{let n=await E.get(`/servers/${t.server.id}/logs`,{limit:1});if(e!==a)return;i.value=u(n)[0]??null}catch(t){if(e!==a)return;r.value=Z(t,`加载同步日志失败`),i.value=null}finally{e===a&&(n.value=!1)}}return C(()=>t.server.id,()=>{d()},{immediate:!0}),c(()=>{a+=1}),(t,a)=>(y(),B(`div`,Dt,[N(`div`,Ot,[N(`div`,null,[a[1]||=N(`span`,{class:`text-caption text-medium-emphasis`},`CPU`,-1),A(` `+I(e.server.system_info?.cpu_usage??`—`)+`% `,1)]),N(`div`,null,[a[2]||=N(`span`,{class:`text-caption text-medium-emphasis`},`内存`,-1),A(` `+I(e.server.system_info?.mem_usage??`—`)+`% `,1)]),N(`div`,null,[a[3]||=N(`span`,{class:`text-caption text-medium-emphasis`},`磁盘`,-1),A(` `+I(e.server.system_info?.disk_usage??`—`)+`% `,1)]),N(`div`,null,[a[4]||=N(`span`,{class:`text-caption text-medium-emphasis`},`Agent`,-1),A(` `+I(e.server.agent_version||`未安装`),1)])]),N(`div`,kt,[a[5]||=N(`span`,{class:`text-caption text-medium-emphasis shrink-0`},`目标路径`,-1),N(`span`,At,I(e.server.target_path?.trim()||`未配置(推送页留空时无法推送到此机)`),1),V(v,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:a[0]||=z(e=>t.$emit(`edit-path`),[`stop`])})]),a[6]||=N(`div`,{class:`text-caption text-medium-emphasis mb-1`},`同步日志`,-1),n.value?(y(),j(at,{key:0,type:`list-item-two-line`})):r.value?(y(),B(`div`,jt,I(r.value),1)):i.value?(y(),j(Ee,{key:3,density:`compact`,class:`bg-transparent pa-0`,subtitle:l(i.value),title:`${i.value.source_path} → ${i.value.target_path}`},{append:S(()=>[V(H,{size:`x-small`,color:o(i.value.status),variant:`tonal`,label:``},{default:S(()=>[A(I(s(i.value.status)),1)]),_:1},8,[`color`])]),_:1},8,[`subtitle`,`title`])):(y(),B(`div`,Mt,`暂无同步日志`))]))}}),[[`__scopeId`,`data-v-599683b3`]]),Pt=[`onClick`],Ft={class:`font-weight-medium`},It={class:`text-medium-emphasis`},Lt={key:1,class:`text-medium-emphasis`},Rt={key:1,class:`d-flex align-center ga-1`},zt=[`title`],Bt={class:`text-medium-emphasis`},Vt={class:`text-caption text-medium-emphasis`},Ht={class:`d-flex ga-1`},Ut=[`colspan`],Wt=ot(x({__name:`ServerUnsetPathPanel`,props:{servers:{},loading:{type:Boolean},total:{},page:{},itemsPerPage:{},itemsPerPageOptions:{},sortBy:{},expandedIds:{},selectedItems:{},selectAllLoading:{type:Boolean},editingPathId:{},editingPathValue:{},savingPathId:{}},emits:[`refresh`,`update:sort-by`,`update:page`,`update:items-per-page`,`update:selected-items`,`update:expanded-ids`,`update:editing-path-value`,`select-all-filtered`,`toggle-expand`,`terminal`,`files`,`detect-path-single`,`edit`,`delete`,`edit-path`,`save-path`,`cancel-edit-path`,`batch-category`,`health-check`,`detect-path`,`install-agent`,`upgrade-agent`,`uninstall-agent`,`batch-delete`,`clear-selection`],setup(e,{emit:t}){let n=e,r=t,i=[{title:`状态`,key:`status`,width:100},{title:`名称`,key:`name`},{title:`地址`,key:`domain`},{title:`分类`,key:`category`,width:100},{title:`目标路径`,key:`target_path`,width:200},{title:`Agent`,key:`agent_version`,width:100},{title:`心跳`,key:`last_heartbeat`,width:120},{title:`操作`,key:`actions`,width:260,align:`end`,sortable:!1}],a=P(()=>xt(n.selectedItems).length),o=P({get:()=>n.expandedIds,set:e=>{r(`update:expanded-ids`,e.map(e=>Number(e)).filter(e=>!Number.isNaN(e)))}});function s(e){return n.expandedIds.includes(e)}return(t,n)=>(y(),j(q,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:S(()=>[V(K,{class:`d-flex align-center flex-wrap ga-2`},{default:S(()=>[n[20]||=A(` 未设置路径服务器 `,-1),e.total>0?(y(),j(H,{key:0,size:`small`,color:`warning`,variant:`tonal`,label:``},{default:S(()=>[A(I(e.total),1)]),_:1})):k(``,!0),V(O),V(v,{size:`small`,variant:`tonal`,disabled:e.total===0,loading:e.selectAllLoading,onClick:n[0]||=e=>t.$emit(`select-all-filtered`)},{default:S(()=>[A(` 全选筛选结果 (`+I(e.total)+`) `,1)]),_:1},8,[`disabled`,`loading`]),V(v,{variant:`text`,size:`small`,"prepend-icon":`mdi-refresh`,loading:e.loading,onClick:n[1]||=e=>t.$emit(`refresh`)},{default:S(()=>[...n[19]||=[A(` 刷新 `,-1)]]),_:1},8,[`loading`])]),_:1}),V(Et,{count:a.value,onBatchCategory:n[2]||=e=>t.$emit(`batch-category`),onHealthCheck:n[3]||=e=>t.$emit(`health-check`),onDetectPath:n[4]||=e=>t.$emit(`detect-path`),onInstallAgent:n[5]||=e=>t.$emit(`install-agent`),onUpgradeAgent:n[6]||=e=>t.$emit(`upgrade-agent`),onUninstallAgent:n[7]||=e=>t.$emit(`uninstall-agent`),onBatchDelete:n[8]||=e=>t.$emit(`batch-delete`),onClear:n[9]||=e=>t.$emit(`clear-selection`)},null,8,[`count`]),V(Qe,{class:`server-unset-path-table`,items:e.servers,headers:i,"items-length":e.total,loading:e.loading,page:e.page,"items-per-page":e.itemsPerPage,"items-per-page-options":e.itemsPerPageOptions,hover:``,density:`comfortable`,"item-value":`id`,"show-select":``,"show-expand":``,"model-value":e.selectedItems,"sort-by":e.sortBy,expanded:o.value,"onUpdate:expanded":n[14]||=e=>o.value=e,"onUpdate:modelValue":n[15]||=e=>t.$emit(`update:selected-items`,e),"onUpdate:sortBy":n[16]||=e=>t.$emit(`update:sort-by`,e),"onUpdate:page":n[17]||=e=>t.$emit(`update:page`,e),"onUpdate:itemsPerPage":n[18]||=e=>t.$emit(`update:items-per-page`,e)},{"item.data-table-expand":S(()=>[...n[21]||=[]]),"item.status":S(({item:e})=>[V(H,{color:F(nt)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:S(()=>[A(I(F(tt)(e.status)),1)]),_:2},1032,[`color`])]),"item.name":S(({item:e})=>[N(`div`,{class:`d-flex align-center cursor-pointer text-primary`,onClick:z(n=>t.$emit(`toggle-expand`,e),[`stop`])},[V(se,{size:`small`,class:`mr-1`},{default:S(()=>[A(I(s(e.id)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024),N(`span`,Ft,I(e.name),1)],8,Pt)]),"item.domain":S(({item:e})=>[N(`span`,It,I(e.domain)+`:`+I(e.port),1)]),"item.category":S(({item:e})=>[e.category?(y(),j(H,{key:0,color:`primary`,variant:`tonal`,size:`small`,label:``},{default:S(()=>[A(I(e.category),1)]),_:2},1024)):(y(),B(`span`,Lt,`—`))]),"item.target_path":S(({item:r})=>[e.editingPathId===r.id?(y(),B(`div`,{key:0,class:`d-flex align-center ga-1`,onClick:n[13]||=z(()=>{},[`stop`])},[V(X,{"model-value":e.editingPathValue,density:`compact`,variant:`outlined`,"hide-details":``,placeholder:`/www/wwwroot`,style:{"max-width":`140px`},"onUpdate:modelValue":n[10]||=e=>t.$emit(`update:editing-path-value`,e),onKeyup:[Te(e=>t.$emit(`save-path`,r.id),[`enter`]),n[11]||=Te(e=>t.$emit(`cancel-edit-path`),[`esc`])]},null,8,[`model-value`,`onKeyup`]),V(v,{icon:`mdi-check`,size:`x-small`,variant:`text`,color:`primary`,loading:e.savingPathId===r.id,onClick:e=>t.$emit(`save-path`,r.id)},null,8,[`loading`,`onClick`]),V(v,{icon:`mdi-close`,size:`x-small`,variant:`text`,onClick:n[12]||=e=>t.$emit(`cancel-edit-path`)})])):(y(),B(`div`,Rt,[N(`span`,{class:`text-caption text-medium-emphasis text-truncate d-inline-block`,style:{"max-width":`140px`},title:r.target_path||`未配置`},I(r.target_path?.trim()||`—`),9,zt),V(v,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:z(e=>t.$emit(`edit-path`,r),[`stop`])},null,8,[`onClick`])]))]),"item.agent_version":S(({item:e})=>[N(`span`,Bt,I(e.agent_version||`—`),1)]),"item.last_heartbeat":S(({item:e})=>[N(`span`,Vt,I(F(it)(e.last_heartbeat)),1)]),"item.actions":S(({item:e})=>[N(`div`,Ht,[V(v,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:z(n=>t.$emit(`terminal`,e),[`stop`])},{default:S(()=>[...n[22]||=[A(` 终端 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(n=>t.$emit(`files`,e),[`stop`])},{default:S(()=>[...n[23]||=[A(` 文件 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(n=>t.$emit(`detect-path-single`,e),[`stop`])},{default:S(()=>[...n[24]||=[A(` 检测路径 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(n=>t.$emit(`edit`,e),[`stop`])},{default:S(()=>[...n[25]||=[A(` 编辑 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:z(n=>t.$emit(`delete`,e),[`stop`])},{default:S(()=>[...n[26]||=[A(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),"expanded-row":S(({columns:e,item:n})=>[N(`tr`,null,[N(`td`,{colspan:e.length,class:`pa-0`},[V(Nt,{server:n,onEditPath:e=>t.$emit(`edit-path`,n)},null,8,[`server`,`onEditPath`])],8,Ut)])]),"no-data":S(()=>[...n[27]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无未设置路径的服务器`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`,`items-per-page-options`,`model-value`,`sort-by`,`expanded`])]),_:1}))}}),[[`__scopeId`,`data-v-ffa01e2f`]]),Gt={class:`credentials-manager`},Kt={class:`d-flex align-center flex-wrap ga-2 mb-3`},qt={class:`text-caption text-medium-emphasis`},Jt=x({name:`CredentialsManager`,__name:`CredentialsManager`,props:{active:{type:Boolean}},setup(e){let n=e,i=[...ze],a=r(),s=T(!1),c=T(`passwords`),l=T(null),u=T(1),d=T(0),f=T(20),m=T([]),h=T(!1),g=T({name:``,username:`root`,password:``}),ee=Re([{title:`预设名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`创建时间`,key:`created_at`,width:180},{title:`操作`,key:`actions`,width:150,align:`end`}]),te=T([]),ne=T(!1),_=T({name:``,username:`root`,public_key:``,private_key:``}),re=Re([{title:`名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`私钥`,key:`private_key_set`,width:120},{title:`操作`,key:`actions`,width:150,align:`end`}]),b=T([]),ie=T(!1),x=T({name:``,host:``,port:3306,username:``,password:``,database:``}),ae=Re([{title:`名称`,key:`name`},{title:`主机`,key:`host`},{title:`端口`,key:`port`,width:80},{title:`用户名`,key:`username`},{title:`数据库`,key:`database`},{title:`操作`,key:`actions`,width:150,align:`end`}]),oe=T(!1),w=T(``),se=T(null);function ce(e){f.value=e,u.value=1,c.value===`sshkeys`?k():c.value===`db`&&ue()}function le(e){return p(e)}async function D(e=!1){e||(s.value=!0);try{let e=await E.getList(`/presets/`);m.value=e.items,d.value=e.total}catch(e){m.value=[],a(Z(e,`加载密码预设失败`),`error`)}finally{e||(s.value=!1)}}async function k(e=!1){e||(s.value=!0);try{let e=await et(`/ssh-key-presets/`,{},u.value,f.value);te.value=e.items,d.value=e.total,f.value===-1&&(u.value=1)}catch(e){te.value=[],a(Z(e,`加载 SSH 密钥失败`),`error`)}finally{e||(s.value=!1)}}async function ue(e=!1){e||(s.value=!0);try{let e=await et(`/scripts/credentials`,{},u.value,f.value);b.value=e.items,d.value=e.total,f.value===-1&&(u.value=1)}catch(e){b.value=[],a(Z(e,`加载数据库凭据失败`),`error`)}finally{e||(s.value=!1)}}function de(e=!1){switch(c.value){case`passwords`:D(e);break;case`sshkeys`:k(e);break;case`db`:ue(e);break}}C(c,()=>{u.value=1,de()}),C(()=>n.active,e=>{e&&de()},{immediate:!0});function fe(e){l.value=e.id,g.value={name:e.name,username:e.username||`root`,password:``},h.value=!0}async function pe(){let e=g.value.name.trim(),t=g.value.password;if(!e){a(`请填写预设名称`,`error`);return}if(!l.value&&!t){a(`请填写 SSH 密码`,`error`);return}try{let n=g.value.username.trim()||`root`;if(l.value){let r={name:e,username:n};t&&(r.encrypted_pw=t),await E.put(`/presets/${l.value}`,r)}else await E.post(`/presets/`,{name:e,username:n,encrypted_pw:t});h.value=!1,D(),a(`保存成功`)}catch(e){a(Z(e,`保存失败`),`error`)}}function me(e){l.value=e.id,_.value={name:e.name,username:e.username||`root`,public_key:e.public_key||``,private_key:``},ne.value=!0}async function he(){try{l.value?await E.put(`/ssh-key-presets/${l.value}`,_.value):await E.post(`/ssh-key-presets/`,_.value),ne.value=!1,k(),a(`保存成功`)}catch(e){a(Z(e,`保存失败`),`error`)}}function _e(e){l.value=e.id,x.value={name:e.name,host:e.host||``,port:e.port||3306,username:e.username||``,password:``,database:e.database||``},ie.value=!0}async function ve(){try{l.value?await E.put(`/scripts/credentials/${l.value}`,x.value):await E.post(`/scripts/credentials`,x.value),ie.value=!1,ue(),a(`保存成功`)}catch(e){a(Z(e,`保存失败`),`error`)}}function ye(){l.value=null,c.value===`passwords`?(g.value={name:``,username:`root`,password:``},h.value=!0):c.value===`sshkeys`?(_.value={name:``,username:`root`,public_key:``,private_key:``},ne.value=!0):(x.value={name:``,host:``,port:3306,username:``,password:``,database:``},ie.value=!0)}function be(e,t){w.value=e,se.value=t.id,oe.value=!0}async function xe(){try{w.value===`password`?await E.delete(`/presets/${se.value}`):w.value===`sshkey`?await E.delete(`/ssh-key-presets/${se.value}`):await E.delete(`/scripts/credentials/${se.value}`),oe.value=!1,de(),a(`已删除`)}catch(e){a(Z(e,`删除失败`),`error`)}}return(e,n)=>(y(),B(`div`,Gt,[N(`div`,Kt,[V(o,{modelValue:c.value,"onUpdate:modelValue":n[0]||=e=>c.value=e,mandatory:``,density:`compact`,variant:`outlined`},{default:S(()=>[V(v,{size:`small`,value:`passwords`},{default:S(()=>[...n[24]||=[A(`密码预设`,-1)]]),_:1}),V(v,{size:`small`,value:`sshkeys`},{default:S(()=>[...n[25]||=[A(`SSH 密钥`,-1)]]),_:1}),V(v,{size:`small`,value:`db`},{default:S(()=>[...n[26]||=[A(`数据库凭据`,-1)]]),_:1})]),_:1},8,[`modelValue`]),V(O),V(v,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:ye},{default:S(()=>[...n[27]||=[A(`添加`,-1)]]),_:1})]),c.value===`passwords`?(y(),B(ge,{key:0},[n[31]||=N(`p`,{class:`text-body-2 text-medium-emphasis mb-2`},` 保存常用 SSH 账号+密码模板;快速添加服务器时将按顺序轮询所有预设尝试登录。 `,-1),V(t,{items:m.value,headers:F(ee),loading:s.value,hover:``,density:`comfortable`,"items-per-page":20,"items-per-page-options":i},{"item.created_at":S(({item:e})=>[N(`span`,qt,I(le(e.created_at)),1)]),"item.actions":S(({item:e})=>[V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>fe(e)},{default:S(()=>[...n[28]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>be(`password`,e)},{default:S(()=>[...n[29]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...n[30]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无密码预设`,-1)]]),_:1},8,[`items`,`headers`,`loading`])],64)):c.value===`sshkeys`?(y(),j(Qe,{key:1,items:te.value,headers:F(re),"items-length":d.value,loading:s.value,page:u.value,"items-per-page":f.value,"items-per-page-options":i,hover:``,density:`comfortable`,"onUpdate:page":n[1]||=e=>{u.value=e,k()},"onUpdate:itemsPerPage":ce},{"item.private_key_set":S(({item:e})=>[V(H,{color:e.private_key_set?`success`:`grey`,size:`small`,variant:`tonal`,label:``},{default:S(()=>[A(I(e.private_key_set?`已设置`:`未设置`),1)]),_:2},1032,[`color`])]),"item.actions":S(({item:e})=>[V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>me(e)},{default:S(()=>[...n[32]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>be(`sshkey`,e)},{default:S(()=>[...n[33]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...n[34]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):(y(),j(Qe,{key:2,items:b.value,headers:F(ae),"items-length":d.value,loading:s.value,page:u.value,"items-per-page":f.value,"items-per-page-options":i,hover:``,density:`comfortable`,"onUpdate:page":n[2]||=e=>{u.value=e,ue()},"onUpdate:itemsPerPage":ce},{"item.actions":S(({item:e})=>[V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>_e(e)},{default:S(()=>[...n[35]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>be(`db`,e)},{default:S(()=>[...n[36]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...n[37]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])),V(Q,{modelValue:h.value,"onUpdate:modelValue":n[7]||=e=>h.value=e,"max-width":`500`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[A(I(l.value?`编辑密码预设`:`新建密码预设`),1)]),_:1}),V(G,null,{default:S(()=>[V(X,{modelValue:g.value.name,"onUpdate:modelValue":n[3]||=e=>g.value.name=e,label:`预设名称`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`如:生产环境 root 密码`,rules:[F(st)(`预设名称`)]},null,8,[`modelValue`,`rules`]),V(X,{modelValue:g.value.username,"onUpdate:modelValue":n[4]||=e=>g.value.username=e,label:`SSH 用户名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`root`,rules:[F(st)(`SSH 用户名`)]},null,8,[`modelValue`,`rules`]),V(X,{modelValue:g.value.password,"onUpdate:modelValue":n[5]||=e=>g.value.password=e,label:`SSH 密码`,variant:`outlined`,density:`compact`,type:`password`,placeholder:l.value?`留空表示不修改`:`必填`,rules:l.value?[]:[F(st)(`SSH 密码`)]},null,8,[`modelValue`,`placeholder`,`rules`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:n[6]||=e=>h.value=!1},{default:S(()=>[...n[38]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:pe},{default:S(()=>[...n[39]||=[A(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:ne.value,"onUpdate:modelValue":n[13]||=e=>ne.value=e,"max-width":`500`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[A(I(l.value?`编辑 SSH 密钥`:`新建 SSH 密钥`),1)]),_:1}),V(G,null,{default:S(()=>[V(X,{modelValue:_.value.name,"onUpdate:modelValue":n[8]||=e=>_.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:_.value.username,"onUpdate:modelValue":n[9]||=e=>_.value.username=e,label:`SSH 用户名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`root`},null,8,[`modelValue`]),V(dt,{modelValue:_.value.public_key,"onUpdate:modelValue":n[10]||=e=>_.value.public_key=e,label:`公钥`,variant:`outlined`,density:`compact`,rows:`3`,class:`mb-2`},null,8,[`modelValue`]),V(dt,{modelValue:_.value.private_key,"onUpdate:modelValue":n[11]||=e=>_.value.private_key=e,label:`私钥`,variant:`outlined`,density:`compact`,rows:`5`},null,8,[`modelValue`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:n[12]||=e=>ne.value=!1},{default:S(()=>[...n[40]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:he},{default:S(()=>[...n[41]||=[A(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:ie.value,"onUpdate:modelValue":n[21]||=e=>ie.value=e,"max-width":`500`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[A(I(l.value?`编辑数据库凭据`:`新建数据库凭据`),1)]),_:1}),V(G,null,{default:S(()=>[V(X,{modelValue:x.value.name,"onUpdate:modelValue":n[14]||=e=>x.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.host,"onUpdate:modelValue":n[15]||=e=>x.value.host=e,label:`主机`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.port,"onUpdate:modelValue":n[16]||=e=>x.value.port=e,label:`端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.username,"onUpdate:modelValue":n[17]||=e=>x.value.username=e,label:`用户名`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.password,"onUpdate:modelValue":n[18]||=e=>x.value.password=e,label:`密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.database,"onUpdate:modelValue":n[19]||=e=>x.value.database=e,label:`数据库`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:n[20]||=e=>ie.value=!1},{default:S(()=>[...n[42]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:ve},{default:S(()=>[...n[43]||=[A(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:oe.value,"onUpdate:modelValue":n[23]||=e=>oe.value=e,"max-width":`400`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...n[44]||=[A(`确认删除`,-1)]]),_:1}),V(G,null,{default:S(()=>[...n[45]||=[A(`确定要删除此凭据吗?`,-1)]]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:n[22]||=e=>oe.value=!1},{default:S(()=>[...n[46]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`error`,variant:`flat`,onClick:xe},{default:S(()=>[...n[47]||=[A(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]))}}),Yt=x({__name:`CredentialsDialog`,props:{modelValue:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t;return(t,r)=>(y(),j(Q,{"model-value":e.modelValue,"max-width":`960`,scrollable:``,"onUpdate:modelValue":r[1]||=e=>n(`update:modelValue`,e)},{default:S(()=>[V(q,{border:``,rounded:`lg`},{default:S(()=>[V(K,{class:`d-flex align-center`},{default:S(()=>[r[2]||=A(` 凭据管理 `,-1),V(O),V(v,{icon:`mdi-close`,variant:`text`,size:`small`,onClick:r[0]||=e=>n(`update:modelValue`,!1)})]),_:1}),V(Ne),V(G,{class:`pa-4`},{default:S(()=>[e.modelValue?(y(),j(Jt,{key:0,active:e.modelValue},null,8,[`active`])):k(``,!0)]),_:1})]),_:1})]),_:1},8,[`model-value`]))}});function Xt(){return{name:``,domain:``,port:22,username:`root`,auth_method:`password`,preset_id:null,password:``,ssh_key_preset_id:null,ssh_key_path:``,ssh_key_private:``,target_path:`/www/wwwroot`,category:``,platform_id:null,node_id:null,files_elevation:`auto_sudo`}}function Zt(e){return e===`uncategorized`?``:e}function Qt(e){let t=e.auth_method===`key`?`key`:`password`;return{name:e.name,domain:e.domain||``,port:e.port??22,username:e.username||`root`,auth_method:t,preset_id:e.preset_id,password:``,ssh_key_preset_id:e.ssh_key_preset_id,ssh_key_path:e.ssh_key_path||``,ssh_key_private:``,target_path:e.target_path||`/www/wwwroot`,category:e.category||``,platform_id:e.platform_id,node_id:e.node_id,files_elevation:e.files_elevation||`auto_sudo`}}function $t(e){let t=r(),n=T(!1),i=T(null),a=T(!1),o=T(Xt()),s=T({password_set:!1,ssh_key_private_set:!1}),c=T([]),l=T([]),u=T([]),d=T([]),f=T([]),p=T(!1),m=P(()=>i.value!=null),h=[{title:`自动(权限失败时 sudo)`,value:`auto_sudo`},{title:`关闭 sudo`,value:`off`},{title:`始终 sudo(排障)`,value:`always_sudo`}];async function g(){p.value=!0;try{let[e,t,n,r]=await Promise.all([E.get(`/servers/categories`),E.getList(`/presets/`,{per_page:500}),E.getList(`/ssh-key-presets/`,{per_page:500}),E.get(`/assets/nodes`)]),i=new Set;for(let t of e.categories||[]){let e=Zt(t.name);e&&i.add(e)}u.value=[...i].sort((e,t)=>e.localeCompare(t,`zh`)),d.value=(e.platforms||[]).map(e=>({id:e.id,name:e.name})),c.value=(t.items||[]).map(e=>({...e,display:`${e.name} (${e.username||`root`})`})),l.value=(n.items||[]).map(e=>({...e,display:`${e.name} (${e.username||`root`})`})),f.value=Array.isArray(r)?r:[]}catch{t(`加载表单选项失败`,`error`)}finally{p.value=!1}}async function ee(){i.value=null,o.value=Xt(),s.value={password_set:!1,ssh_key_private_set:!1},n.value=!0,await g()}async function te(e){i.value=e.id,o.value=Qt(e),s.value={password_set:!!e.password_set,ssh_key_private_set:!!(e.ssh_key_private_set||e.ssh_key_configured)},n.value=!0,await g()}function ne(){n.value=!1,i.value=null,o.value=Xt(),s.value={password_set:!1,ssh_key_private_set:!1}}function _(){let e=o.value;if(!e.name.trim())return`请填写服务器名称`;if(!e.domain.trim())return`请填写域名或 IP`;if(!e.username.trim())return`请填写 SSH 用户名`;let t=Number(e.port);if(!Number.isFinite(t)||t<1||t>65535)return`SSH 端口无效`;let n=e.target_path.trim();if(!n)return`请填写目标路径(部署根目录)`;if(!n.startsWith(`/`))return`目标路径须为绝对路径(以 / 开头)`;if(e.auth_method===`password`){if(!m.value&&!e.preset_id&&!e.password.trim())return`请选择密码预设或填写 SSH 密码(安装 Agent 需要可 SSH)`}else if(!m.value&&!e.ssh_key_preset_id&&!e.ssh_key_private.trim())return`请选择 SSH 密钥预设或粘贴私钥`;return null}function v(){let e=o.value,t={name:e.name.trim(),domain:e.domain.trim(),port:Number(e.port),username:e.username.trim()||`root`,auth_method:e.auth_method,target_path:e.target_path.trim(),category:e.category.trim()||void 0,platform_id:e.platform_id??void 0,node_id:e.node_id??void 0,files_elevation:e.files_elevation,agent_port:8601};return e.auth_method===`password`?(e.preset_id!=null&&(t.preset_id=e.preset_id),e.password.trim()&&(t.password=e.password.trim()),m.value||!e.preset_id&&e.password.trim()):(e.ssh_key_preset_id!=null&&(t.ssh_key_preset_id=e.ssh_key_preset_id),e.ssh_key_path.trim()&&(t.ssh_key_path=e.ssh_key_path.trim()),e.ssh_key_private.trim()&&(t.ssh_key_private=e.ssh_key_private.trim())),t}async function y(){let n=_();if(n){t(n,`error`);return}a.value=!0;try{let n=v();m.value&&i.value!=null?await E.put(`/servers/${i.value}`,n):await E.post(`/servers/`,n),ne(),e(),t(`保存成功`)}catch(e){t(Z(e,`保存失败`),`error`)}finally{a.value=!1}}return{visible:n,editingId:i,isEditing:m,saving:a,form:o,editHints:s,passwordPresets:c,sshKeyPresets:l,categoryOptions:u,platforms:d,nodes:f,lookupsLoading:p,filesElevationItems:h,openAdd:ee,openEdit:te,close:ne,save:y}}var en={class:`d-flex align-center flex-wrap ga-2`},tn=[`onClick`],nn={class:`font-weight-medium`},rn={class:`text-medium-emphasis`},an={key:1,class:`text-medium-emphasis`},on={key:1,class:`d-flex align-center ga-1`},sn=[`title`],cn={class:`text-medium-emphasis`},ln={class:`text-caption text-medium-emphasis`},un={class:`d-flex ga-1`},dn=[`colspan`],fn={key:2,class:`px-4 pb-4`},pn={key:0,class:`text-center py-8`},mn={key:1,class:`text-center text-medium-emphasis py-6`},hn={class:`d-flex align-center ga-2 flex-grow-1`},gn={class:`text-caption text-medium-emphasis`},_n={class:`font-weight-medium`},vn={class:`text-medium-emphasis`},yn={class:`text-caption text-medium-emphasis text-truncate`,style:{"max-width":`180px`}},bn={class:`text-medium-emphasis`},xn={class:`text-caption text-medium-emphasis`},Sn=[`title`],Cn={key:1,class:`text-medium-emphasis`},wn={class:`text-body-2 mb-2`},Tn={class:`text-body-2 text-medium-emphasis mb-3`},En={key:0,class:`text-caption text-medium-emphasis mt-1`},Dn={key:0},On={key:0},kn=ot(x({name:`ServersPage`,__name:`ServersPage`,setup(s){async function u(e,t,n){let r={category:`/servers/batch/category`,"health-check":`/servers/check`,"detect-path":`/servers/batch/detect-path`,"install-agent":`/servers/batch/install-agent`,"upgrade-agent":`/servers/batch/upgrade-agent`,"uninstall-agent":`/servers/batch/uninstall-agent`}[e];if(!r)return null;let i=e===`category`?{server_ids:t,...n}:{server_ids:t},a=await E.post(r,i);if(!a?.job_id)throw Error(`服务端未返回任务 ID,请确认已部署支持后台批量任务的新版本`);return te(a.job_id,a.label,a.total,a.op||e,a.progress,a.status),de(`${a.label} 已提交`),a}ee(()=>{d=l(e=>{e.taskKind===`server_batch`&&Promise.all([kt(!0),J(!0),bt(),cr(!0)])})});let d=null;c(()=>{d?.()});let p=[...ze],m=r(),g=Me(),_=_e(),re=T(!1);function b(){if(_.query.credentials===`1`){re.value=!0;let e={..._.query};delete e.credentials,g.replace({path:_.path,query:e})}}C(()=>_.query.credentials,()=>b(),{immediate:!0});let{servers:ie,loading:x,page:ae,itemsPerPage:oe,total:le,search:D,categoryFilter:ue,sortBy:fe,loadServers:me,onSearch:he,onPageChange:ve,onItemsPerPageChange:ye,onCategoryChange:xe,loadAllServers:Se,listQueryParams:Ce}=vt({targetPathUnset:!1}),De=T([]),Oe=T(0),ke=T(!1),Ae=T(1),je=T(10),L=T([]),R=T([]);function Ne(e){return P({get:()=>e.value,set:t=>{e.value=t.map(e=>Number(e)).filter(e=>!Number.isNaN(e))}})}let Fe=Ne(L),U=T([]),Re=P(()=>new Set(xt(U.value))),Be=T(!1),Ve=T(`main`);function Ue(e){return e===`main`?{items:rr,ids:ir}:{items:U,ids:Re}}let We=P(()=>Ue(Ve.value).ids.value.size);async function Ge(){return(await et(`/servers/`,{...Ce(),target_path_unset:!0},1,-1)).items}async function Ke(){if(!(Oe.value<=0)){Be.value=!0;try{let e=await Ge();U.value=e.map(e=>e.id),m(`已选择未设路径筛选结果 ${e.length} 台`)}catch{m(`加载未设路径筛选结果失败`,`error`)}finally{Be.value=!1}}}async function J(e=!1){e||(ke.value=!0);try{let e=await et(`/servers/`,{...Ce(),target_path_unset:!0},Ae.value,je.value);De.value=e.items,Oe.value=e.total}catch{De.value=[],Oe.value=0,e||m(`加载未设置路径服务器失败`,`error`)}finally{e||(ke.value=!1)}}function qe(e){L.value=L.value.includes(e.id)?[]:[e.id]}function Je(e){R.value=R.value.includes(e.id)?[]:[e.id]}function Ye(e){L.value=[],ve(e)}function Xe(e){L.value=[],ye(e)}function Y(e){R.value=[],U.value=[],Ae.value=e,J()}function Ze(e){R.value=[],U.value=[],je.value=e,Ae.value=1,J()}async function $e(e){try{await u(`detect-path`,[e.id])}catch(e){m(Z(e,`提交检测任务失败`),`error`)}}function ot(e,t){let n=yt(t);L.value.includes(e)&&n&&(L.value=[]),R.value.includes(e)&&!n&&(R.value=[])}let{categories:st,loading:gt,totalCount:_t,loadCategories:bt}=lt(),St=T(`table`),Tt=T([]),Dt=T(!1),Ot=T([]);async function kt(e=!1){try{await me({silent:e}),await J(e),St.value===`group`&&await At(e)}catch{e||m(`加载服务器列表失败`,`error`)}}async function At(e=!1){e||(Dt.value=!0);try{Tt.value=await Se(),Ot.value=Mt.value.map(e=>e.category)}catch{e||(Tt.value=[],m(`加载分类视图失败`,`error`))}finally{e||(Dt.value=!1)}}async function jt(){try{await me({silent:!0}),await J(!0),St.value===`group`&&await At(!0)}catch{}}ct(jt,3e4);let Mt=P(()=>{let e={};for(let t of Tt.value){let n=t.category?.trim()||`uncategorized`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,label:ut(e),servers:t})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))});function Pt(e){xe(e),St.value===`group`&&At()}function Ft(e,t){let n=new Set(rr.value.map(e=>typeof e==`number`?e:e.id));t?n.add(e):n.delete(e),rr.value=[...n]}let It=T(!1);async function Lt(){if(!(le.value<=0)){It.value=!0;try{let e=await Se();rr.value=e.map(e=>e.id),m(`已选择当前筛选结果 ${e.length} 台`)}catch{m(`加载筛选结果失败`,`error`)}finally{It.value=!1}}}function Rt(e){return e.length>0&&e.every(e=>ir.value.has(e.id))}function zt(e){let t=Rt(e),n=new Set(ir.value);for(let r of e)t?n.delete(r.id):n.add(r.id);rr.value=[...n]}C(ue,()=>{rr.value=[],U.value=[],L.value=[],R.value=[],Ae.value=1,J()}),C(fe,()=>{rr.value=[],U.value=[],L.value=[],R.value=[],Ae.value=1,St.value===`group`&&At(),J()},{deep:!0}),C(D,()=>{rr.value=[],U.value=[],L.value=[],R.value=[],Ae.value=1}),C(St,e=>{e===`group`&&At()});let Bt=T(!1),Vt=T(!1),Ht=T(null),Ut=T(!1),Gt=T(!1),Kt=T({domain:``,port:22,name:``}),qt=T([]),Jt=T(!1),Xt=T(null),Zt=T(!1),Qt=T([]),kn=T(``),An=T(!1),jn=T(null),Mn=T(!1),Nn=[{title:`名称`,key:`name`},{title:`地址`,key:`address`},{title:`尝试次数`,key:`attempts`,width:100},{title:`最后错误`,key:`last_error`},{title:`最后尝试`,key:`last_attempt_at`,width:160},{title:`操作`,key:`actions`,width:140,align:`end`}];function Pn(){Kt.value={domain:``,port:22,name:``},Ut.value=!0}function Fn(e,t){Qt.value=e,kn.value=t||``,Zt.value=!0}async function In(){Jt.value=!0;try{qt.value=(await E.get(`/servers/pending`)).items||[]}catch(e){qt.value=[],m(Z(e,`加载失败列表失败`),`error`)}finally{Jt.value=!1}}async function Ln(){let e=Kt.value.domain.trim();if(!e){m(`请填写 IP 或域名`,`error`);return}Gt.value=!0;try{let t={domain:e,port:Kt.value.port||22},n=Kt.value.name.trim();n&&(t.name=n);let r=await E.post(`/servers/add-by-ip`,t);r.success&&r.server?(Ut.value=!1,m(`添加成功:${r.matched_preset} (${r.matched_username})`),kt(),cr()):(Ut.value=!1,Fn(r.errors||[],r.message),In())}catch(e){m(Z(e,`添加失败`),`error`)}finally{Gt.value=!1}}async function Rn(e){Xt.value=e.id;try{let t=await E.post(`/servers/pending/${e.id}/retry`,{});t.success&&t.server?(m(`重试成功:${t.matched_preset} (${t.matched_username})`),kt(),cr(),In()):(Fn(t.errors||[],t.message),In())}catch(e){m(Z(e,`重试失败`),`error`)}finally{Xt.value=null}}function zn(e){jn.value=e,An.value=!0}async function Bn(){if(jn.value){Mn.value=!0;try{await E.delete(`/servers/pending/${jn.value.id}`),An.value=!1,m(`已从失败列表移除`),In()}catch(e){m(Z(e,`删除失败`),`error`)}finally{Mn.value=!1}}}let{visible:Vn,form:Hn,isEditing:Un,saving:Wn,lookupsLoading:Gn,passwordPresets:Kn,sshKeyPresets:qn,categoryOptions:Jn,platforms:Yn,nodes:Xn,editHints:Zn,filesElevationItems:Qn,openAdd:$n,openEdit:er,close:tr,save:nr}=$t(()=>{kt(),cr(),bt()});C(Vn,(e,t)=>{t&&!e&&tr()});let rr=T([]),ir=P(()=>new Set(xt(rr.value))),ar=[{title:`状态`,key:`status`,width:100},{title:`名称`,key:`name`},{title:`地址`,key:`domain`},{title:`分类`,key:`category`,width:100},{title:`目标路径`,key:`target_path`,width:200},{title:`Agent`,key:`agent_version`,width:100},{title:`心跳`,key:`last_heartbeat`,width:120},{title:`操作`,key:`actions`,width:200,align:`end`,sortable:!1}],or=T(!0),sr=T([{subtitle:`服务器总数`,title:`0`,icon:`mdi-server-network`,color:`blue`},{subtitle:`在线`,title:`0`,icon:`mdi-check-circle-outline`,color:`green`},{subtitle:`离线`,title:`0`,icon:`mdi-alert-circle-outline`,color:`orange`},{subtitle:`告警中`,title:`0`,icon:`mdi-bell-alert-outline`,color:`red`}]);async function cr(e=!1){e||(or.value=!0);try{let{data:e}=await Ie(Pe.serverStats,()=>E.get(`/servers/stats`));sr.value[0].title=String(e.total),sr.value[1].title=String(e.online),sr.value[2].title=String(e.offline),sr.value[3].title=String(e.alerts??0)}catch{}finally{e||(or.value=!1)}}function lr(e){g.push({path:`/terminal`,query:{server_id:String(e.id)}})}function ur(e){g.push({path:`/files`,query:{server_id:String(e.id)}})}function dr(e){er(e)}function fr(e){Ht.value=e,Bt.value=!0}let pr=T(!1),mr=T(``),hr=T(!1),gr=P(()=>{let e=st.value.filter(e=>e.name!==`uncategorized`).map(e=>e.label);if(Jn.value.length)for(let t of Jn.value)t&&!e.includes(t)&&e.push(t);return e.sort((e,t)=>e.localeCompare(t,`zh`))});function _r(e){Ve.value=e;let{ids:t}=Ue(e);if(t.value.size===0){m(`请先勾选至少一台服务器`,`error`);return}mr.value=``,pr.value=!0}async function vr(){let{items:e,ids:t}=Ue(Ve.value),n=[...t.value];if(n.length!==0){hr.value=!0;try{await u(`category`,n,{category:(mr.value||``).trim()}),pr.value=!1,e.value=[]}catch(e){m(Z(e,`批量修改分类失败`),`error`)}finally{hr.value=!1}}}let yr=T(!1),br=T(null),xr=T(``),Sr=T(null);function Cr(e){Ve.value=e;let{ids:t}=Ue(e);if(!t.value.size){m(`请先选择服务器`,`warning`);return}yr.value=!0}async function wr(){let{items:e,ids:t}=Ue(Ve.value),n=[...t.value];if(n.length){yr.value=!1;try{await u(`detect-path`,n),e.value=[]}catch(e){m(Z(e,`提交检测任务失败`),`error`)}}}async function Tr(e){Ve.value=e;let{items:t}=Ue(e),n=xt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}try{await u(`health-check`,n)}catch(e){m(Z(e,`提交健康检查失败`),`error`)}}async function Er(e){Ve.value=e;let{items:t}=Ue(e),n=xt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}try{await u(`install-agent`,n)}catch(e){m(Z(e,`提交安装任务失败`),`error`)}}async function Dr(e){Ve.value=e;let{items:t}=Ue(e),n=xt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}if(confirm(`确定对 ${n.length} 台服务器升级 Agent?`))try{await u(`upgrade-agent`,n)}catch(e){m(Z(e,`提交升级任务失败`),`error`)}}async function Or(e){Ve.value=e;let{items:t}=Ue(e),n=xt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}if(confirm(`确定对 ${n.length} 台已安装 Agent 的服务器执行卸载?\n将停止服务、删除 /opt/nexus-agent 并清除 Agent 状态。`))try{await u(`uninstall-agent`,n)}catch(e){m(Z(e,`提交卸载任务失败`),`error`)}}function kr(e){br.value=e.id,xr.value=e.target_path?.trim()||`/www/wwwroot`}function Ar(){br.value=null,xr.value=``,Sr.value=null}async function jr(e){let t=xr.value.trim();if(!t){m(`目标路径不能为空`,`warning`);return}if(!t.startsWith(`/`)){m(`目标路径须为绝对路径(以 / 开头)`,`warning`);return}Sr.value=e;try{await E.put(`/servers/${e}`,{target_path:t}),m(`目标路径已更新`),Ar(),await Promise.all([kt(),J()]),ot(e,t)}catch(e){m(Z(e,`保存失败`),`error`)}finally{Sr.value=null}}async function Mr(e){Ve.value=e;let{items:t,ids:n}=Ue(e);if(n.value.size&&confirm(`确定删除选中的 ${n.value.size} 台服务器?`)){for(let e of n.value)try{await E.delete(`/servers/${e}`)}catch{}t.value=[],m(`批量删除完成`),await Promise.all([kt(),J()]),cr()}}let Nr=T(!1),Pr=T(``),Fr=T(22),Ir=T(8601),Lr=T(!1),$=T(null);function Rr(e){let t=e.trim();if(!t)return``;let n=t.indexOf(` `);if(n>=0)return t.slice(n+1).trim();let r=t.lastIndexOf(`,`);if(r>=0){let e=t.slice(r+1).trim(),n=t.slice(0,r).trim();if(e&&n&&(e.includes(`.`)||e.includes(`:`)))return e}return t}function zr(e){let t=new Set,n=[],r=0;for(let i of e.split(` -`)){let e=Rr(i);if(!e)continue;r+=1;let a=e.toLowerCase();t.has(a)||(t.add(a),n.push(e))}return{unique:n.length,raw:r,deduped:Math.max(0,r-n.length)}}let Br=P(()=>zr(Pr.value));function Vr(){Pr.value=``,Fr.value=22,Ir.value=8601,$.value=null,Nr.value=!0}async function Hr(){let e=Pr.value.trim();if(!e){m(`请填写至少一个 IP 或域名`,`error`);return}Lr.value=!0,$.value=null;try{let t=await E.post(`/servers/add-by-ips-batch`,{text:e,port:Fr.value||22,agent_port:Ir.value||8601});$.value=t,t.created>0&&(kt(),cr()),t.pending>0&&In(),m(t.pending>0?`添加完成:${t.created} 台成功,${t.pending} 台进入连接失败列表`:`添加完成:${t.created} 台成功`,t.pending>0?`warning`:`success`)}catch(e){m(Z(e,`批量添加失败`),`error`)}finally{Lr.value=!1}}async function Ur(){if(!Ht.value)return;let e=Ht.value.id;Vt.value=!0;try{await E.delete(`/servers/${e}`),Bt.value=!1,L.value=L.value.filter(t=>t!==e),R.value=R.value.filter(t=>t!==e),await Promise.all([kt(),J()]),cr(),m(`已删除`)}catch(e){m(Z(e,`删除失败`),`error`)}finally{Vt.value=!1}}async function Wr(e=!1){await Promise.all([cr(e),bt(e),kt(e)]),e||await In()}return Le(e=>Wr(e)),(r,s)=>(y(),j(n,{fluid:``,class:`pa-4 pa-md-6`},{default:S(()=>[or.value?(y(),j(at,{key:0,type:`heading, text`,class:`mb-4`})):(y(),j(rt,{key:1,items:sr.value},null,8,[`items`])),V(q,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:S(()=>[V(K,{class:`d-flex align-center`},{default:S(()=>[s[64]||=A(` 服务器列表 `,-1),V(O),V(X,{modelValue:F(D),"onUpdate:modelValue":[s[0]||=e=>f(D)?D.value=e:null,F(he)],"prepend-inner-icon":`mdi-magnify`,label:`搜索...`,density:`compact`,"hide-details":``,rounded:``,style:{"max-width":`240px`},variant:`outlined`},null,8,[`modelValue`,`onUpdate:modelValue`]),V(v,{color:`primary`,variant:`flat`,class:`ml-3`,"prepend-icon":`mdi-plus`,size:`small`,onClick:F($n)},{default:S(()=>[...s[57]||=[A(` 添加 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-flash`,size:`small`,onClick:Pn},{default:S(()=>[...s[58]||=[A(` 快速添加(IP) `,-1)]]),_:1}),V(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-ip-network`,size:`small`,onClick:Vr},{default:S(()=>[...s[59]||=[A(` 批量添加 `,-1)]]),_:1}),V(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-key-outline`,size:`small`,onClick:s[1]||=e=>re.value=!0},{default:S(()=>[...s[60]||=[A(` 凭据 `,-1)]]),_:1}),V(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-folder-search`,size:`small`,disabled:ir.value.size===0,title:`请先勾选至少一台服务器`,onClick:s[2]||=e=>Cr(`main`)},{default:S(()=>[...s[61]||=[A(` 检测路径 `,-1)]]),_:1},8,[`disabled`]),V(o,{modelValue:St.value,"onUpdate:modelValue":s[3]||=e=>St.value=e,mandatory:``,density:`compact`,class:`ml-2`,color:`primary`,variant:`outlined`,divided:``},{default:S(()=>[V(v,{value:`table`,size:`small`,"prepend-icon":`mdi-table`},{default:S(()=>[...s[62]||=[A(`列表`,-1)]]),_:1}),V(v,{value:`group`,size:`small`,"prepend-icon":`mdi-folder-multiple`},{default:S(()=>[...s[63]||=[A(`分类`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),V(G,{class:`pt-0 pb-2`},{default:S(()=>[N(`div`,en,[s[65]||=N(`span`,{class:`text-caption text-medium-emphasis mr-1`},`分类筛选`,-1),V(H,{color:F(ue)===``?`primary`:void 0,variant:F(ue)===``?`flat`:`outlined`,size:`small`,label:``,onClick:s[4]||=e=>Pt(``)},{default:S(()=>[A(` 全部 `+I(F(_t)),1)]),_:1},8,[`color`,`variant`]),(y(!0),B(ge,null,h(F(st),e=>(y(),j(H,{key:e.name,color:F(ue)===e.name?`primary`:void 0,variant:F(ue)===e.name?`flat`:`outlined`,size:`small`,label:``,onClick:t=>Pt(e.name)},{default:S(()=>[A(I(e.label)+` `+I(e.count),1)]),_:2},1032,[`color`,`variant`,`onClick`]))),128)),F(gt)?(y(),j(ce,{key:0,indeterminate:``,size:`16`,width:`2`})):k(``,!0),V(O),V(v,{size:`small`,variant:`tonal`,disabled:F(le)===0,loading:It.value,onClick:Lt},{default:S(()=>[A(` 全选筛选结果 (`+I(F(le))+`) `,1)]),_:1},8,[`disabled`,`loading`])])]),_:1}),V(Et,{count:ir.value.size,onBatchCategory:s[5]||=e=>_r(`main`),onHealthCheck:s[6]||=e=>Tr(`main`),onDetectPath:s[7]||=e=>Cr(`main`),onInstallAgent:s[8]||=e=>Er(`main`),onUpgradeAgent:s[9]||=e=>Dr(`main`),onUninstallAgent:s[10]||=e=>Or(`main`),onBatchDelete:s[11]||=e=>Mr(`main`),onClear:s[12]||=e=>rr.value=[]},null,8,[`count`]),St.value===`table`&&F(x)&&!F(ie).length?(y(),j(at,{key:0,type:`table-heading, table-row-divider@8`,class:`mb-4`})):k(``,!0),St.value===`table`?w((y(),j(Qe,{key:1,items:F(ie),headers:ar,"items-length":F(le),loading:F(x),page:F(ae),"items-per-page":F(oe),"items-per-page-options":p,hover:``,density:`comfortable`,"item-value":`id`,"show-select":``,modelValue:rr.value,"onUpdate:modelValue":s[15]||=e=>rr.value=e,"sort-by":F(fe),"onUpdate:sortBy":s[16]||=e=>f(fe)?fe.value=e:null,expanded:F(Fe),"onUpdate:expanded":s[17]||=e=>f(Fe)?Fe.value=e:null,"show-expand":``,class:`server-main-table`,"onUpdate:page":Ye,"onUpdate:itemsPerPage":Xe},{"item.data-table-expand":S(()=>[...s[66]||=[]]),"item.status":S(({item:e})=>[V(H,{color:F(nt)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:S(()=>[A(I(F(tt)(e.status)),1)]),_:2},1032,[`color`])]),"item.name":S(({item:e})=>[N(`div`,{class:`d-flex align-center cursor-pointer text-primary`,onClick:z(t=>qe(e),[`stop`])},[V(se,{size:`small`,class:`mr-1`},{default:S(()=>[A(I(L.value.includes(e.id)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024),N(`span`,nn,I(e.name),1)],8,tn)]),"item.domain":S(({item:e})=>[N(`span`,rn,I(e.domain)+`:`+I(e.port),1)]),"item.category":S(({item:e})=>[e.category?(y(),j(H,{key:0,color:`primary`,variant:`tonal`,size:`small`,label:``},{default:S(()=>[A(I(e.category),1)]),_:2},1024)):(y(),B(`span`,an,`—`))]),"item.target_path":S(({item:e})=>[br.value===e.id?(y(),B(`div`,{key:0,class:`d-flex align-center ga-1`,onClick:s[14]||=z(()=>{},[`stop`])},[V(X,{modelValue:xr.value,"onUpdate:modelValue":s[13]||=e=>xr.value=e,density:`compact`,variant:`outlined`,"hide-details":``,placeholder:`/www/wwwroot`,style:{"max-width":`140px`},onKeyup:[Te(t=>jr(e.id),[`enter`]),Te(Ar,[`esc`])]},null,8,[`modelValue`,`onKeyup`]),V(v,{icon:`mdi-check`,size:`x-small`,variant:`text`,color:`primary`,loading:Sr.value===e.id,onClick:t=>jr(e.id)},null,8,[`loading`,`onClick`]),V(v,{icon:`mdi-close`,size:`x-small`,variant:`text`,onClick:Ar})])):(y(),B(`div`,on,[N(`span`,{class:`text-caption text-medium-emphasis text-truncate d-inline-block`,style:{"max-width":`140px`},title:e.target_path||`未配置`},I(e.target_path?.trim()||`—`),9,sn),V(v,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:z(t=>kr(e),[`stop`])},null,8,[`onClick`])]))]),"item.agent_version":S(({item:e})=>[N(`span`,cn,I(e.agent_version||`—`),1)]),"item.last_heartbeat":S(({item:e})=>[N(`span`,ln,I(F(it)(e.last_heartbeat)),1)]),"item.actions":S(({item:e})=>[N(`div`,un,[V(v,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:z(t=>lr(e),[`stop`])},{default:S(()=>[...s[67]||=[A(`终端`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(t=>ur(e),[`stop`])},{default:S(()=>[...s[68]||=[A(`文件`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(t=>dr(e),[`stop`])},{default:S(()=>[...s[69]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:z(t=>fr(e),[`stop`])},{default:S(()=>[...s[70]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])])]),"expanded-row":S(({columns:e,item:t})=>[N(`tr`,null,[N(`td`,{colspan:e.length,class:`pa-0`},[V(Nt,{server:t,onEditPath:e=>kr(t)},null,8,[`server`,`onEditPath`])],8,dn)])]),"no-data":S(()=>[...s[71]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无服务器数据`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`,`modelValue`,`sort-by`,`expanded`])),[[pe,!(F(x)&&!F(ie).length)]]):(y(),B(`div`,fn,[Dt.value?(y(),B(`div`,pn,[V(ce,{indeterminate:``,size:`32`}),s[72]||=N(`div`,{class:`text-caption text-medium-emphasis mt-2`},`按分类加载中…`,-1)])):Mt.value.length===0?(y(),B(`div`,mn,` 暂无服务器数据 `)):(y(),j(ht,{key:2,modelValue:Ot.value,"onUpdate:modelValue":s[20]||=e=>Ot.value=e,multiple:``,variant:`accordion`,class:`servers-category-panels`},{default:S(()=>[(y(!0),B(ge,null,h(Mt.value,t=>(y(),j(pt,{key:t.category},{default:S(()=>[V(mt,null,{default:S(()=>[N(`div`,hn,[V(H,{color:`primary`,variant:`tonal`,size:`small`,label:``},{default:S(()=>[A(I(t.label),1)]),_:2},1024),N(`span`,gn,I(t.servers.length)+` 台`,1),V(O),V(v,{size:`x-small`,variant:`text`,onClick:z(e=>zt(t.servers),[`stop`])},{default:S(()=>[A(I(Rt(t.servers)?`取消本组`:`全选本组`),1)]),_:2},1032,[`onClick`])])]),_:2},1024),V(ft,null,{default:S(()=>[V(e,{density:`compact`,hover:``},{default:S(()=>[s[74]||=N(`thead`,null,[N(`tr`,null,[N(`th`,{style:{width:`40px`}}),N(`th`,null,`状态`),N(`th`,null,`名称`),N(`th`,null,`地址`),N(`th`,null,`目标路径`),N(`th`,{class:`text-end`},`操作`)])],-1),N(`tbody`,null,[(y(!0),B(ge,null,h(t.servers,e=>(y(),B(`tr`,{key:e.id},[N(`td`,{onClick:s[18]||=z(()=>{},[`stop`])},[V(He,{"model-value":ir.value.has(e.id),density:`compact`,"hide-details":``,"onUpdate:modelValue":t=>Ft(e.id,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),N(`td`,null,[V(H,{color:F(nt)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:S(()=>[A(I(F(tt)(e.status)),1)]),_:2},1032,[`color`])]),N(`td`,_n,I(e.name),1),N(`td`,vn,I(e.domain)+`:`+I(e.port),1),N(`td`,yn,I(e.target_path?.trim()||`—`),1),N(`td`,{class:`text-end`,onClick:s[19]||=z(()=>{},[`stop`])},[V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>dr(e)},{default:S(()=>[...s[73]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`]))]))]),_:1}),V(Wt,{servers:De.value,loading:ke.value,total:Oe.value,page:Ae.value,"items-per-page":je.value,"items-per-page-options":p,"expanded-ids":R.value,"selected-items":U.value,"onUpdate:selectedItems":s[21]||=e=>U.value=e,"sort-by":F(fe),"onUpdate:sortBy":s[22]||=e=>f(fe)?fe.value=e:null,"select-all-loading":Be.value,"editing-path-id":br.value,"editing-path-value":xr.value,"saving-path-id":Sr.value,onRefresh:s[23]||=e=>J(),"onUpdate:page":Y,"onUpdate:itemsPerPage":Ze,"onUpdate:expandedIds":s[24]||=e=>R.value=e,"onUpdate:editingPathValue":s[25]||=e=>xr.value=e,onSelectAllFiltered:Ke,onToggleExpand:Je,onTerminal:lr,onFiles:ur,onDetectPathSingle:$e,onEdit:dr,onDelete:fr,onEditPath:kr,onSavePath:jr,onCancelEditPath:Ar,onBatchCategory:s[26]||=e=>_r(`unset`),onHealthCheck:s[27]||=e=>Tr(`unset`),onDetectPath:s[28]||=e=>Cr(`unset`),onInstallAgent:s[29]||=e=>Er(`unset`),onUpgradeAgent:s[30]||=e=>Dr(`unset`),onUninstallAgent:s[31]||=e=>Or(`unset`),onBatchDelete:s[32]||=e=>Mr(`unset`),onClearSelection:s[33]||=e=>U.value=[]},null,8,[`servers`,`loading`,`total`,`page`,`items-per-page`,`expanded-ids`,`selected-items`,`sort-by`,`select-all-loading`,`editing-path-id`,`editing-path-value`,`saving-path-id`]),V(q,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:S(()=>[V(K,{class:`d-flex align-center`},{default:S(()=>[s[76]||=A(` 连接失败列表 `,-1),qt.value.length?(y(),j(H,{key:0,size:`small`,class:`ml-2`,color:`error`,variant:`tonal`,label:``},{default:S(()=>[A(I(qt.value.length),1)]),_:1})):k(``,!0),V(O),V(v,{variant:`text`,size:`small`,"prepend-icon":`mdi-refresh`,loading:Jt.value,onClick:In},{default:S(()=>[...s[75]||=[A(` 刷新 `,-1)]]),_:1},8,[`loading`])]),_:1}),V(t,{items:qt.value,headers:Nn,loading:Jt.value,hover:``,density:`comfortable`,"items-per-page":10},{"item.address":S(({item:e})=>[N(`span`,bn,I(e.domain)+`:`+I(e.port),1)]),"item.last_attempt_at":S(({item:e})=>[N(`span`,xn,I(F(it)(e.last_attempt_at)),1)]),"item.last_error":S(({item:e})=>[N(`span`,{class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`320px`},title:e.last_error},I(e.last_error||`—`),9,Sn)]),"item.actions":S(({item:e})=>[V(v,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,loading:Xt.value===e.id,onClick:t=>Rn(e)},{default:S(()=>[...s[77]||=[A(` 重试 `,-1)]]),_:1},8,[`loading`,`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>zn(e)},{default:S(()=>[...s[78]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...s[79]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无连接失败记录`,-1)]]),_:1},8,[`items`,`loading`])]),_:1}),V(wt,{modelValue:F(Vn),"onUpdate:modelValue":s[34]||=e=>f(Vn)?Vn.value=e:null,form:F(Hn),"is-editing":F(Un),saving:F(Wn),"lookups-loading":F(Gn),"password-presets":F(Kn),"ssh-key-presets":F(qn),"category-options":F(Jn),platforms:F(Yn),nodes:F(Xn),"edit-hints":F(Zn),"files-elevation-items":F(Qn),onSave:F(nr)},null,8,[`modelValue`,`form`,`is-editing`,`saving`,`lookups-loading`,`password-presets`,`ssh-key-presets`,`category-options`,`platforms`,`nodes`,`edit-hints`,`files-elevation-items`,`onSave`]),V(Q,{modelValue:Bt.value,"onUpdate:modelValue":s[36]||=e=>Bt.value=e,"max-width":`400`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[80]||=[A(`确认删除`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[81]||=A(`确定要删除服务器 `,-1),N(`strong`,null,I(Ht.value?.name),1),s[82]||=A(` 吗?`,-1)]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[35]||=e=>Bt.value=!1},{default:S(()=>[...s[83]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`error`,variant:`flat`,onClick:Ur,loading:Vt.value},{default:S(()=>[...s[84]||=[A(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:Ut.value,"onUpdate:modelValue":s[41]||=e=>Ut.value=e,"max-width":`480`,persistent:``},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[85]||=[A(`快速添加服务器(仅 IP)`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[86]||=N(`p`,{class:`text-body-2 text-medium-emphasis mb-3`},` 将按顺序轮询凭据管理中的全部密码预设与 SSH 密钥预设尝试登录,首个成功即加入服务器列表。 `,-1),V(X,{modelValue:Kt.value.domain,"onUpdate:modelValue":s[37]||=e=>Kt.value.domain=e,label:`IP 或域名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`192.168.1.10`,rules:[e=>!!e?.trim()||`必填`]},null,8,[`modelValue`,`rules`]),V(X,{modelValue:Kt.value.port,"onUpdate:modelValue":s[38]||=e=>Kt.value.port=e,modelModifiers:{number:!0},label:`SSH 端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:Kt.value.name,"onUpdate:modelValue":s[39]||=e=>Kt.value.name=e,label:`显示名称(可选)`,variant:`outlined`,density:`compact`,hint:`留空则使用 IP`,"persistent-hint":``},null,8,[`modelValue`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,disabled:Gt.value,onClick:s[40]||=e=>Ut.value=!1},{default:S(()=>[...s[87]||=[A(`取消`,-1)]]),_:1},8,[`disabled`]),V(v,{color:`primary`,variant:`flat`,loading:Gt.value,onClick:Ln},{default:S(()=>[...s[88]||=[A(`开始轮询`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:Zt.value,"onUpdate:modelValue":s[43]||=e=>Zt.value=e,"max-width":`560`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,{class:`text-error`},{default:S(()=>[...s[89]||=[A(`SSH 连接失败`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[90]||=N(`p`,{class:`text-body-2 mb-3`},`已尝试全部凭据预设,均未登录成功。该服务器已加入「连接失败列表」,可稍后重试。`,-1),Qt.value.length?(y(),j(we,{key:0,density:`compact`,class:`bg-grey-lighten-4 rounded`},{default:S(()=>[(y(!0),B(ge,null,h(Qt.value,(e,t)=>(y(),j(Ee,{key:t},{default:S(()=>[V(M,{class:`text-body-2`},{default:S(()=>[A(` [`+I(e.preset_type===`password`?`密码`:e.preset_type===`system`?`系统`:`密钥`)+`] `+I(e.preset_name)+` (`+I(e.username)+`) `,1)]),_:2},1024),V(be,{class:`text-error`},{default:S(()=>[A(I(e.error),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(y(),B(`p`,Cn,I(kn.value),1))]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{color:`primary`,variant:`flat`,onClick:s[42]||=e=>Zt.value=!1},{default:S(()=>[...s[91]||=[A(`知道了`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:An.value,"onUpdate:modelValue":s[45]||=e=>An.value=e,"max-width":`400`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[92]||=[A(`确认删除`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[93]||=A(`从失败列表移除 `,-1),N(`strong`,null,I(jn.value?.domain),1),s[94]||=A(`?`,-1)]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[44]||=e=>An.value=!1},{default:S(()=>[...s[95]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`error`,variant:`flat`,loading:Mn.value,onClick:Bn},{default:S(()=>[...s[96]||=[A(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:yr.value,"onUpdate:modelValue":s[47]||=e=>yr.value=e,"max-width":`480`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[97]||=[A(`自动检测目标路径`,-1)]]),_:1}),V(G,null,{default:S(()=>[N(`p`,wn,[s[98]||=A(` 将对选中的 `,-1),N(`strong`,null,I(We.value),1),s[99]||=A(` 台服务器执行 SSH 检测。 `,-1)]),s[100]||=N(`p`,{class:`text-body-2 text-medium-emphasis mb-0`},[A(` 在远程 `),N(`code`,null,`/www/wwwroot`),A(` 下搜索 `),N(`code`,null,`workerman.bat`),A(`,找到后将所在目录写入各服务器的 `),N(`strong`,null,`target_path`),A(`(找到第一个即停止)。 `)],-1)]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[46]||=e=>yr.value=!1},{default:S(()=>[...s[101]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:wr},{default:S(()=>[...s[102]||=[A(`开始检测`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:pr.value,"onUpdate:modelValue":s[50]||=e=>pr.value=e,"max-width":`420`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[103]||=[A(`批量修改分类`,-1)]]),_:1}),V(G,null,{default:S(()=>[N(`div`,Tn,` 已选择 `+I(We.value)+` 台服务器,将统一设置为以下分类(留空表示清除分类)。 `,1),V(Ct,{modelValue:mr.value,"onUpdate:modelValue":s[48]||=e=>mr.value=e,items:gr.value,label:`分类`,variant:`outlined`,density:`compact`,clearable:``,"hide-details":``,placeholder:`输入或选择分类`},null,8,[`modelValue`,`items`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[49]||=e=>pr.value=!1},{default:S(()=>[...s[104]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,loading:hr.value,onClick:vr},{default:S(()=>[...s[105]||=[A(` 确认 `,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:Nr.value,"onUpdate:modelValue":s[55]||=e=>Nr.value=e,"max-width":`560`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[106]||=[A(`批量添加服务器`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[107]||=N(`div`,{class:`text-body-2 text-medium-emphasis mb-3`},` 每行一个 IP 或域名;也可使用「名称 + Tab + IP」附带显示名称。空白行自动忽略,重复地址自动去重(不区分大小写)。SSH 凭据从「凭据」预设轮询匹配;连接失败将进入下方「连接失败列表」。 `,-1),V(dt,{modelValue:Pr.value,"onUpdate:modelValue":s[51]||=e=>Pr.value=e,label:`IP / 域名列表(可选:名称 Tab IP)`,variant:`outlined`,density:`compact`,rows:`10`,"auto-grow":``,placeholder:`武汉示例公司 192.168.1.10 -192.168.1.11 -10.0.0.5`},null,8,[`modelValue`]),Br.value.unique>0?(y(),B(`div`,En,[A(` 将添加 `+I(Br.value.unique)+` 台 `,1),Br.value.deduped>0?(y(),B(`span`,Dn,`(已去重 `+I(Br.value.deduped)+` 个重复)`,1)):k(``,!0)])):k(``,!0),V(a,{dense:``,class:`mt-1`},{default:S(()=>[V(i,{cols:`6`},{default:S(()=>[V(X,{modelValue:Fr.value,"onUpdate:modelValue":s[52]||=e=>Fr.value=e,modelModifiers:{number:!0},label:`SSH 端口`,type:`number`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1}),V(i,{cols:`6`},{default:S(()=>[V(X,{modelValue:Ir.value,"onUpdate:modelValue":s[53]||=e=>Ir.value=e,modelModifiers:{number:!0},label:`Agent 端口`,type:`number`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1})]),_:1}),$.value?(y(),j(ne,{key:1,type:$.value.pending>0?`warning`:`success`,density:`compact`,variant:`tonal`,class:`mt-3`},{default:S(()=>[A(` 共 `+I($.value.total)+` 台:成功 `+I($.value.created)+`,待连接 `+I($.value.pending)+`,跳过 `+I($.value.skipped)+` `,1),($.value.duplicates_removed??0)>0?(y(),B(`span`,On,` (输入 `+I($.value.input_lines)+` 行,去重 `+I($.value.duplicates_removed)+` 个) `,1)):k(``,!0)]),_:1},8,[`type`])):k(``,!0)]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[54]||=e=>Nr.value=!1},{default:S(()=>[...s[108]||=[A(`关闭`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:Hr,loading:Lr.value,disabled:!Pr.value.trim()},{default:S(()=>[...s[109]||=[A(` 开始添加 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Yt,{modelValue:re.value,"onUpdate:modelValue":s[56]||=e=>re.value=e},null,8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-44874d03`]]);export{kn as default}; \ No newline at end of file diff --git a/web/app/assets/ServersPage-C8kywVR0.js b/web/app/assets/ServersPage-C8kywVR0.js deleted file mode 100644 index b2545746..00000000 --- a/web/app/assets/ServersPage-C8kywVR0.js +++ /dev/null @@ -1,5 +0,0 @@ -import{a as e,t}from"./VDataTable-4SnAXj3j.js";import{n,t as r}from"./useSnackbar-CmDJGLzR.js";import{n as i,t as a}from"./VRow-By04mHIT.js";import{$ as o,$r as s,Ar as c,At as l,Dr as u,Er as d,Gr as f,Ht as p,In as m,Ir as h,Ln as g,Mr as ee,Mt as te,N as ne,Nr as _,P as v,Pr as y,Q as re,Qn as b,S as ie,Sr as x,Un as ae,Ur as S,Vr as C,W as oe,Wr as w,X as se,Xr as T,Xt as E,Y as ce,Zn as le,Zr as D,_ as O,_r as k,ai as ue,br as A,bt as de,cn as fe,cr as pe,ct as me,d as he,dr as ge,en as _e,er as ve,f as ye,g as be,gn as xe,gr as j,h as M,hr as N,ii as Se,jn as Ce,l as we,lr as Te,m as Ee,mr as P,n as De,ni as F,oi as I,p as Oe,pn as ke,r as Ae,t as je,tn as Me,tr as L,un as R,ur as z,v as Ne,vr as B,vt as Pe,wn as Fe,xr as V,y as H,yn as U,yt as Ie}from"./index-DawRgH7u.js";import{t as Le}from"./usePageActivateRefresh-BTfzAggZ.js";import{n as Re,t as ze}from"./dataTable-esDY4cOk.js";import{a as W,n as G,r as K,t as q}from"./VCard-rBfCdgX2.js";import{a as Be,c as Ve,d as He,i as Ue,l as We,n as Ge,o as Ke,r as J,s as qe,t as Je,u as Ye}from"./VSelect-XuQYQvJc.js";import{h as Xe,n as Y,p as Ze,t as X}from"./VTextField-BZnszgeR.js";import{t as Qe}from"./VDataTableServer-C4_rzPsO.js";import{t as Z}from"./apiError-EQrzELs3.js";import{t as $e}from"./labels-C-A2d08W.js";import{n as et}from"./paginatedFetch-BEWdPley.js";import{a as tt,i as nt,n as rt,r as it,t as at}from"./VSkeletonLoader-CkKVcJRy.js";import{t as ot}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as Q}from"./VDialog-8YoHW6GE.js";import{r as st}from"./validation-BMzYTJL4.js";import{t as ct}from"./usePageAutoRefresh-CtJ56HJY.js";import{n as lt,t as ut}from"./useServerCategories-RxfHjr4v.js";import{t as dt}from"./VTextarea-9CeXtoSu.js";import{i as ft,n as pt,r as mt,t as ht}from"./VExpansionPanels-CY-_n0ol.js";var gt={status:`status`,name:`name`,domain:`domain`,address:`domain`,category:`category`,target_path:`target_path`,agent_version:`agent_version`,agent:`agent_version`,last_heartbeat:`heartbeat`,heartbeat:`heartbeat`};function _t(e){if(!e.length)return{};let t=gt[e[0].key];return t?{sort_by:t,sort_order:e[0].order}:{}}function vt(e){let t=e?.targetPathUnset,n=T([]),r=T(!1),i=T(1),a=T(20),o=T(0),s=T(``),c=T(``),l=T([]);function u(){return{search:s.value||void 0,category:c.value||void 0,..._t(l.value),...t===void 0?{}:{target_path_unset:t}}}async function d(e){e?.silent||(r.value=!0);try{let e=await et(`/servers/`,u(),i.value,a.value);n.value=e.items,o.value=e.total,a.value===-1&&(i.value=1)}catch(e){throw n.value=[],o.value=0,e}finally{r.value=!1}}let f;_(()=>clearTimeout(f));function p(){clearTimeout(f),f=setTimeout(()=>{i.value=1,d()},300)}function m(e){i.value=e,d()}function h(e){a.value=e,i.value=1,d()}function g(e){c.value=e,i.value=1,d()}C(l,()=>{i.value=1,d()},{deep:!0});async function ee(){return(await et(`/servers/`,u(),1,-1)).items}return{servers:n,loading:r,page:i,itemsPerPage:a,total:o,search:s,categoryFilter:c,sortBy:l,loadServers:d,onSearch:p,onPageChange:m,onItemsPerPageChange:h,onCategoryChange:g,loadAllServers:ee,listQueryParams:u}}function yt(e){let t=(e??``).trim();return t===``||t===`/www/wwwroot`}function bt(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.trunc(e);if(typeof e==`string`&&/^\d+$/.test(e.trim())){let t=Number(e.trim());return Number.isFinite(t)&&t>0?t:null}return null}function xt(e){let t=[];for(let n of e){let e=bt(typeof n==`object`&&n&&`id`in n?n.id:n);e!==null&&t.push(e)}return[...new Set(t)]}var St=Fe({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Be({filterKeys:[`title`]}),...Ge({hideNoData:!0,returnObject:!0}),...b(Y({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`])},`VCombobox`),Ct=U()({name:`VCombobox`,props:St(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,{emit:t,slots:n}){let{t:r}=fe(),i=T(),a=D(!1),o=D(!0),c=D(!1),l=T(),f=T(),p=D(-1),h=!1,{items:ee,transformIn:te,transformOut:ne}=ye(e),{textColorClasses:_,textColorStyles:v}=me(()=>i.value?.color),{InputIcon:y}=Xe(e),b=R(e,`modelValue`,[],e=>te(ve(e)),t=>{let n=ne(t);return e.multiple?n:n[0]??null}),x=Ze(e),S=s(()=>e.closableChips&&!x.isReadonly.value&&!x.isDisabled.value),oe=P(()=>!!(e.chips||n.chip)),w=P(()=>oe.value||!!n.selection),E=D(!e.multiple&&!w.value?b.value[0]?.title??``:``),ce=D(null),O=P({get:()=>E.value,set:async t=>{if(E.value=t??``,t===null||t===``&&!e.multiple&&!w.value?b.value=[]:!e.multiple&&!w.value&&(b.value=[he(e,t)],u(()=>f.value?.scrollToIndex(0))),t&&e.multiple&&e.delimiters?.length){let e=Qe(t);e.length>1&&(Z(e),E.value=``)}t||(p.value=-1),o.value=!t}}),k=P(()=>typeof e.counterValue==`function`?e.counterValue(b.value):typeof e.counterValue==`number`?e.counterValue:e.multiple?b.value.length:O.value.length),{filteredItems:de,getMatches:pe}=Ke(e,ee,()=>ce.value??(e.alwaysFilter||!o.value?O.value:``)),_e=P(()=>e.hideSelected&&ce.value===null?de.value.filter(e=>!b.value.some(t=>t.value===e.value)):de.value),be=P(()=>e.hideNoData&&!_e.value.length||x.isReadonly.value||x.isDisabled.value),j=R(e,`menu`),M=P({get:()=>j.value,set:e=>{j.value&&!e&&l.value?.ΨopenChildren.size||e&&be.value||(j.value=e)}}),{menuId:Te,ariaExpanded:F,ariaControls:I}=J(e,M);C(E,e=>{h?u(()=>h=!1):a.value&&!M.value&&(M.value=!0),t(`update:search`,e)}),C(b,t=>{!e.multiple&&!w.value&&(E.value=t[0]?.title??``)});let Me=P(()=>b.value.map(e=>e.value)),z=P(()=>_e.value.find(e=>e.type===`item`&&!e.props.disabled)),B=P(()=>(e.autoSelectFirst===!0||e.autoSelectFirst===`exact`&&O.value===z.value?.title)&&_e.value.length>0&&!o.value&&!c.value),Pe=T(),Fe=T(),U=T(),Ie=Ve(Pe,i),Le=We(M,()=>l.value?.contentEl,()=>i.value?.controlRef),{onTabKeydown:Re}=qe({groups:[{type:`element`,contentRef:Fe},{type:`list`,contentRef:Pe,displayItemsCount:()=>_e.value.length},{type:`element`,contentRef:U}],onLeave:()=>{M.value=!1,i.value?.focus()}});function ze(t){h=!0,u(()=>h=!1),e.openOnClear&&(M.value=!0)}function W(){be.value||(M.value=!0)}function G(e){be.value||(a.value&&(e.preventDefault(),e.stopPropagation()),M.value=!M.value)}function K(e){e.key===`Tab`&&Re(e),Pe.value?.$el.contains(e.target)&&(Ce(e)||e.key===`Backspace`)&&i.value?.focus()}function q(t){if(ae(t)||x.isReadonly.value)return;let n=i.value?.selectionStart,r=b.value.length;if([`Enter`,`ArrowDown`,`ArrowUp`].includes(t.key)&&t.preventDefault(),[`Enter`,`ArrowDown`].includes(t.key)&&(M.value=!0),[`Escape`].includes(t.key)&&(M.value=!1),B.value&&[`Enter`,`Tab`].includes(t.key)&&z.value&&!b.value.some(({value:e})=>e===z.value.value)&&Y(z.value),t.key===`ArrowDown`&&B.value&&Pe.value?.focus(`next`),t.key===`Enter`&&O.value&&(Y(he(e,O.value),!0,!0),w.value&&(E.value=``)),[`Backspace`,`Delete`].includes(t.key)){if(!e.multiple&&w.value&&b.value.length>0&&!O.value)return Y(b.value[0],!1);if(~p.value){t.preventDefault();let e=p.value;Y(b.value[p.value],!1),p.value=e>=r-1?r-2:e}else t.key===`Backspace`&&!O.value&&(p.value=r-1);return}if(e.multiple)if(t.key===`ArrowLeft`){if(p.value<0&&n&&n>0)return;let e=p.value>-1?p.value-1:r-1;b.value[e]?p.value=e:(p.value=-1,i.value?.setSelectionRange(O.value.length,O.value.length))}else if(t.key===`ArrowRight`){if(p.value<0)return;let e=p.value+1;b.value[e]?p.value=e:(p.value=-1,i.value?.setSelectionRange(0,0))}else ~p.value&&Ce(t)&&(p.value=-1)}function Be(t){let n=Qe(t?.clipboardData?.getData(`Text`)??``);n.length>1&&e.multiple&&(t.preventDefault(),Z(n))}function Ge(){e.eager&&f.value?.calculateVisibleItems()}function Je(){a.value&&(l.value?.contentEl?._clickOutside?.lastMousedownWasOutside?a.value=!1:i.value?.focus()),o.value=!0,ce.value=null}function Y(t,n=!0,r=!1){if(!(!t||t.props.disabled))if(e.multiple){let r=b.value.findIndex(n=>(e.valueComparator||xe)(n.value,t.value)),i=n??!~r;if(~r){let e=i?[...b.value,t]:[...b.value];e.splice(r,1),b.value=e}else i&&(b.value=[...b.value,t]);e.clearOnSelect&&(O.value=``)}else{let i=n!==!1;b.value=i?[t]:[],(!o.value||e.alwaysFilter)&&E.value&&(ce.value=E.value),E.value=i&&!w.value?t.title:``,u(()=>{M.value=r,o.value=!0})}}function Qe(t){let n=[` -`,...e.delimiters??[]].map(g).join(`|`);return t.split(RegExp(`(?:${n})+`))}async function Z(t){for(let n of t)n=n.trim(),n&&(Y(he(e,n)),await u())}function $e(e){a.value=!0,setTimeout(()=>{c.value=!0})}function et(e){if(c.value=!1,!i.value?.$el.contains(e.relatedTarget)){if(Le(e))return;a.value=!1}}let tt=0;function nt(){tt=performance.now()}function rt(e){let t=e.relatedTarget;((l.value?.contentEl)?.contains(t)||!t&&performance.now()-tt<10)&&(a.value=!0)}return C(a,(t,n)=>{if(!(t||t===n)&&(p.value=-1,M.value=!1,O.value)){if(e.multiple){Y(he(e,O.value));return}if(!w.value)return;b.value.some(({title:e})=>e===O.value)?E.value=``:Y(he(e,O.value))}}),C(M,t=>{if(!e.hideSelected&&t&&b.value.length&&o.value){let t=_e.value.findIndex(t=>b.value.some(n=>(e.valueComparator||xe)(n.value,t.value)));L&&window.requestAnimationFrame(()=>{t>=0&&f.value?.scrollToIndex(t)})}t&&(ce.value=null)}),C(ee,(e,t)=>{M.value||a.value&&!t.length&&e.length&&(M.value=!0)}),ke(()=>{let t=!!(!e.hideNoData||_e.value.length||n[`prepend-item`]||n[`append-item`]||n[`no-data`]),s=b.value.length>0,c=X.filterProps(e),u={search:O,filteredItems:de.value};return V(X,d({ref:i},c,{modelValue:O.value,"onUpdate:modelValue":e=>O.value=e,focused:a.value,"onUpdate:focused":e=>a.value=e,validationValue:b.externalValue,counterValue:k.value,dirty:s,class:[`v-combobox`,{"v-combobox--active-menu":M.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!w.value,"v-combobox--selecting-index":p.value>-1,[`v-combobox--${e.multiple?`multiple`:`single`}`]:!0},e.class],style:e.style,readonly:x.isReadonly.value,placeholder:s?void 0:e.placeholder,"onClick:clear":ze,"onMousedown:control":W,onKeydown:q,onPaste:Be,onBlur:rt,"aria-expanded":F.value,"aria-controls":I.value}),{...n,default:({id:i})=>N(ge,null,[V(De,d({id:Te.value,ref:l,modelValue:M.value,"onUpdate:modelValue":e=>M.value=e,activator:`parent`,disabled:be.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ge,onAfterLeave:Je},e.menuProps,{contentClass:[`v-combobox__content`,e.menuProps?.contentClass]}),{default:()=>[V(je,{elevation:e.menuElevation,onFocusin:$e,onKeydown:K,onMousedown:nt},{default:()=>[n[`menu-header`]&&N(`header`,{ref:Fe},[n[`menu-header`](u)]),t&&V(we,d({key:`combobox-list`,ref:Pe,filterable:!0,selected:Me.value,selectStrategy:e.multiple?`independent`:`single-independent`,onMousedown:e=>e.preventDefault(),selectable:!!_e.value.length,onFocusout:et,tabindex:`-1`,"aria-live":`polite`,"aria-labelledby":`${i.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},Ie,e.listProps),{default:()=>[n[`prepend-item`]?.(),!_e.value.length&&!e.hideNoData&&(n[`no-data`]?.()??V(Ee,{key:`no-data`,title:r(e.noDataText)},null)),V(Ye,{ref:f,renderless:!0,items:_e.value,itemKey:`value`},{default:({item:t,index:r,itemRef:i})=>{let a=d(t.props,{ref:i,key:t.value,active:B.value&&t===z.value?!0:void 0,onClick:()=>Y(t,null),"aria-posinset":r+1,"aria-setsize":_e.value.length});return t.type===`divider`?n.divider?.({props:t.raw,index:r})??V(Ne,d(t.props,{key:`divider-${r}`}),null):t.type===`subheader`?n.subheader?.({props:t.raw,index:r})??V(Oe,d(t.props,{key:`subheader-${r}`}),null):n.item?.({item:t.raw,internalItem:t,index:r,props:a})??V(Ee,d(a,{role:`option`}),{prepend:({isSelected:n})=>N(ge,null,[e.multiple&&!e.hideSelected?V(He,{key:t.value,modelValue:n,ripple:!1,tabindex:`-1`,"aria-hidden":!0,onClick:e=>e.preventDefault()},null):void 0,t.props.prependAvatar&&V(ie,{image:t.props.prependAvatar},null),t.props.prependIcon&&V(se,{icon:t.props.prependIcon},null)]),title:()=>o.value?t.title:Ue(`v-combobox`,t.title,pe(t)?.title)})}}),n[`append-item`]?.()]}),n[`menu-footer`]&&N(`footer`,{ref:U},[n[`menu-footer`](u)])]})]}),b.value.map((t,r)=>{function i(e){e.stopPropagation(),e.preventDefault(),Y(t,!1)}let a=d(H.filterProps(t.props),{"onClick:close":i,onKeydown(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),i(e))},onMousedown(e){e.preventDefault(),e.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),o=oe.value?!!n.chip:!!n.selection,s=o?m(oe.value?n.chip({item:t.raw,internalItem:t,index:r,props:a}):n.selection({item:t.raw,internalItem:t,index:r})):void 0;if(!(o&&!s))return N(`div`,{key:t.value,class:Se([`v-combobox__selection`,r===p.value&&[`v-combobox__selection--selected`,_.value]]),style:ue(r===p.value?v.value:{})},[oe.value?n.chip?V(re,{key:`chip-defaults`,defaults:{VChip:{closable:S.value,size:`small`,text:t.title}}},{default:()=>[s]}):V(H,d({key:`chip`,closable:S.value,size:`small`,text:t.title,disabled:t.props.disabled},a),null):s??N(`span`,{class:`v-combobox__selection-text`},[t.title,e.multiple&&rN(ge,null,[n[`append-inner`]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?V(se,{class:`v-combobox__menu-icon`,color:i.value?.fieldIconColor,icon:e.menuIcon,onMousedown:G,onClick:le,"aria-hidden":!0,tabindex:`-1`},null):void 0,e.appendInnerIcon&&V(y,{key:`append-icon`,name:`appendInner`,color:t[0].iconColor.value},null)])})}),Ae({isFocused:a,isPristine:o,menu:M,search:O,selectionIndex:p,filteredItems:de,select:Y},i)}}),wt=x({__name:`ServerFormDialog`,props:{modelValue:{type:Boolean},form:{},isEditing:{type:Boolean},saving:{type:Boolean},lookupsLoading:{type:Boolean},passwordPresets:{},sshKeyPresets:{},categoryOptions:{},platforms:{},nodes:{},editHints:{},filesElevationItems:{}},emits:[`update:modelValue`,`save`],setup(e,{emit:t}){let n=e,r=t,s=P(()=>n.form.preset_id||n.isEditing?[]:[st(`SSH 密码或选择密码预设`)]),c=P(()=>n.form.ssh_key_preset_id||n.isEditing?[]:[st(`私钥或选择 SSH 密钥预设`)]);return(t,n)=>(y(),j(Q,{"model-value":e.modelValue,"max-width":`720`,scrollable:``,persistent:``,"onUpdate:modelValue":n[18]||=e=>r(`update:modelValue`,e)},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,{class:`d-flex align-center`},{default:S(()=>[A(I(e.isEditing?`编辑服务器`:`添加服务器`)+` `,1),V(O),V(v,{icon:`mdi-close`,variant:`text`,size:`small`,disabled:e.saving,onClick:n[0]||=e=>r(`update:modelValue`,!1)},null,8,[`disabled`])]),_:1}),V(Ne),V(G,{class:`pt-4`},{default:S(()=>[e.lookupsLoading?(y(),j(oe,{key:0,indeterminate:``,color:`primary`,class:`mb-3`})):k(``,!0),n[21]||=N(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`基本信息`,-1),V(a,{dense:``},{default:S(()=>[V(i,{cols:`12`,sm:`6`},{default:S(()=>[V(X,{modelValue:e.form.name,"onUpdate:modelValue":n[1]||=t=>e.form.name=t,label:`名称`,variant:`outlined`,density:`compact`,rules:[F(st)(`服务器名称`)]},null,8,[`modelValue`,`rules`])]),_:1}),V(i,{cols:`12`,sm:`6`},{default:S(()=>[V(X,{modelValue:e.form.domain,"onUpdate:modelValue":n[2]||=t=>e.form.domain=t,label:`域名 / IP`,variant:`outlined`,density:`compact`,placeholder:`例:192.168.1.10`,rules:[F(st)(`域名或 IP`)]},null,8,[`modelValue`,`rules`])]),_:1}),V(i,{cols:`6`,sm:`4`},{default:S(()=>[V(X,{modelValue:e.form.port,"onUpdate:modelValue":n[3]||=t=>e.form.port=t,modelModifiers:{number:!0},label:`SSH 端口`,type:`number`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),V(i,{cols:`6`,sm:`8`},{default:S(()=>[V(X,{modelValue:e.form.username,"onUpdate:modelValue":n[4]||=t=>e.form.username=t,label:`SSH 用户名`,variant:`outlined`,density:`compact`,placeholder:`root`,rules:[F(st)(`SSH 用户名`)]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1}),V(Ne,{class:`my-4`}),n[22]||=N(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`认证方式`,-1),V(o,{modelValue:e.form.auth_method,"onUpdate:modelValue":n[5]||=t=>e.form.auth_method=t,mandatory:``,density:`compact`,variant:`outlined`,class:`mb-3`},{default:S(()=>[V(v,{value:`password`,size:`small`},{default:S(()=>[...n[19]||=[A(`密码`,-1)]]),_:1}),V(v,{value:`key`,size:`small`},{default:S(()=>[...n[20]||=[A(`SSH 密钥`,-1)]]),_:1})]),_:1},8,[`modelValue`]),e.form.auth_method===`password`?(y(),B(ge,{key:1},[V(Je,{modelValue:e.form.preset_id,"onUpdate:modelValue":n[6]||=t=>e.form.preset_id=t,items:e.passwordPresets,"item-title":`display`,"item-value":`id`,label:`密码预设(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`,hint:`选择后由服务端解密填入,无需再填密码框`,"persistent-hint":``},null,8,[`modelValue`,`items`]),e.form.preset_id?k(``,!0):(y(),j(X,{key:0,modelValue:e.form.password,"onUpdate:modelValue":n[7]||=t=>e.form.password=t,label:`SSH 密码`,variant:`outlined`,density:`compact`,type:`password`,placeholder:e.isEditing&&e.editHints.password_set?`留空表示不修改`:`安装 Agent 需可 SSH`,rules:s.value},null,8,[`modelValue`,`placeholder`,`rules`]))],64)):(y(),B(ge,{key:2},[V(Je,{modelValue:e.form.ssh_key_preset_id,"onUpdate:modelValue":n[8]||=t=>e.form.ssh_key_preset_id=t,items:e.sshKeyPresets,"item-title":`display`,"item-value":`id`,label:`SSH 密钥预设(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`,hint:`选择后由服务端解密私钥,无需再粘贴`,"persistent-hint":``},null,8,[`modelValue`,`items`]),V(X,{modelValue:e.form.ssh_key_path,"onUpdate:modelValue":n[9]||=t=>e.form.ssh_key_path=t,label:`密钥路径(可选)`,variant:`outlined`,density:`compact`,placeholder:`~/.ssh/id_rsa`,class:`mb-2`},null,8,[`modelValue`]),e.form.ssh_key_preset_id?k(``,!0):(y(),j(dt,{key:0,modelValue:e.form.ssh_key_private,"onUpdate:modelValue":n[10]||=t=>e.form.ssh_key_private=t,label:`私钥 PEM`,variant:`outlined`,density:`compact`,rows:`4`,"auto-grow":``,placeholder:e.isEditing&&e.editHints.ssh_key_private_set?`留空表示不修改私钥`:`粘贴 -----BEGIN ... PRIVATE KEY-----`,rules:c.value},null,8,[`modelValue`,`placeholder`,`rules`]))],64)),V(Ne,{class:`my-4`}),n[23]||=N(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`部署`,-1),V(X,{modelValue:e.form.target_path,"onUpdate:modelValue":n[11]||=t=>e.form.target_path=t,label:`目标路径`,variant:`outlined`,density:`compact`,placeholder:`/www/wwwroot`,hint:`文件同步与推送的根目录,须为绝对路径`,"persistent-hint":``,class:`mb-2`,rules:[F(st)(`目标路径`)]},null,8,[`modelValue`,`rules`]),V(Ct,{modelValue:e.form.category,"onUpdate:modelValue":n[12]||=t=>e.form.category=t,items:e.categoryOptions,label:`分类`,variant:`outlined`,density:`compact`,clearable:``,hint:`可从已有分类选择或输入新分类`,"persistent-hint":``},null,8,[`modelValue`,`items`]),V(ht,{variant:`accordion`,class:`mt-4`},{default:S(()=>[V(pt,{title:`高级选项`},{default:S(()=>[V(ft,null,{default:S(()=>[V(Je,{modelValue:e.form.platform_id,"onUpdate:modelValue":n[13]||=t=>e.form.platform_id=t,items:e.platforms,"item-title":`name`,"item-value":`id`,label:`平台`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),V(Je,{modelValue:e.form.node_id,"onUpdate:modelValue":n[14]||=t=>e.form.node_id=t,items:e.nodes,"item-title":`name`,"item-value":`id`,label:`节点`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),V(Je,{modelValue:e.form.files_elevation,"onUpdate:modelValue":n[15]||=t=>e.form.files_elevation=t,items:e.filesElevationItems,"item-title":`title`,"item-value":`value`,label:`文件管理提权`,variant:`outlined`,density:`compact`,hint:`非 root 用户需目标机配置免密 sudo`,"persistent-hint":``},null,8,[`modelValue`,`items`])]),_:1})]),_:1})]),_:1})]),_:1}),V(Ne),V(W,{class:`pa-4`},{default:S(()=>[V(O),V(v,{variant:`text`,disabled:e.saving,onClick:n[16]||=e=>r(`update:modelValue`,!1)},{default:S(()=>[...n[24]||=[A(`取消`,-1)]]),_:1},8,[`disabled`]),V(v,{color:`primary`,variant:`flat`,loading:e.saving,onClick:n[17]||=e=>r(`save`)},{default:S(()=>[...n[25]||=[A(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),Tt={class:`text-body-2 mr-4`},Et=x({__name:`ServerBatchActionBar`,props:{count:{}},emits:[`batch-category`,`health-check`,`detect-path`,`install-agent`,`upgrade-agent`,`uninstall-agent`,`batch-delete`,`clear`],setup(e){return(t,n)=>e.count>0?(y(),j(q,{key:0,class:`mx-4 mb-2`,color:`primary`,variant:`tonal`,rounded:`lg`},{default:S(()=>[V(G,{class:`d-flex align-center py-2 flex-wrap ga-1`},{default:S(()=>[N(`span`,Tt,`已选择 `+I(e.count)+` 台服务器`,1),V(O),V(v,{size:`small`,variant:`text`,onClick:n[0]||=e=>t.$emit(`batch-category`)},{default:S(()=>[...n[8]||=[A(`修改分类`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[1]||=e=>t.$emit(`health-check`)},{default:S(()=>[...n[9]||=[A(`健康检查`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[2]||=e=>t.$emit(`detect-path`)},{default:S(()=>[...n[10]||=[A(`检测目标路径`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[3]||=e=>t.$emit(`install-agent`)},{default:S(()=>[...n[11]||=[A(`安装Agent`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[4]||=e=>t.$emit(`upgrade-agent`)},{default:S(()=>[...n[12]||=[A(`升级Agent`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,color:`error`,onClick:n[5]||=e=>t.$emit(`uninstall-agent`)},{default:S(()=>[...n[13]||=[A(`卸载Agent`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,color:`error`,onClick:n[6]||=e=>t.$emit(`batch-delete`)},{default:S(()=>[...n[14]||=[A(`批量删除`,-1)]]),_:1}),V(v,{size:`small`,variant:`text`,onClick:n[7]||=e=>t.$emit(`clear`)},{default:S(()=>[...n[15]||=[A(`取消选择`,-1)]]),_:1})]),_:1})]),_:1})):k(``,!0)}}),Dt={class:`server-inline-detail pa-3 rounded-b-lg`},Ot={class:`d-flex flex-wrap ga-4 mb-2 text-body-2`},kt={class:`d-flex align-center ga-2 mb-2`},At={class:`text-body-2 text-truncate`},jt={key:1,class:`text-caption text-error py-1`},Mt={key:2,class:`text-caption text-medium-emphasis py-1`},Nt=ot(x({__name:`ServerInlineDetail`,props:{server:{}},emits:[`edit-path`],setup(e){let t=e,n=T(!1),r=T(``),i=T(null),a=0;function o(e){switch(e){case`success`:return`success`;case`failed`:return`error`;case`running`:return`warning`;case`cancelled`:return`grey`;default:return`default`}}function s(e){switch(e){case`success`:return`成功`;case`failed`:return`失败`;case`running`:return`进行中`;case`cancelled`:return`已取消`;default:return e}}function l(e){let t=[];return e.started_at&&t.push(p(e.started_at)),e.sync_mode&&t.push(e.sync_mode),e.trigger_type&&t.push(e.trigger_type),e.push_permission&&t.push(`权限 ${$e(e.push_permission)}`),t.join(` · `)||`—`}function u(e){return Array.isArray(e)?e:e&&typeof e==`object`&&Array.isArray(e.items)?e.items:[]}async function d(){let e=++a;n.value=!0,r.value=``,i.value=null;try{let n=await E.get(`/servers/${t.server.id}/logs`,{limit:1});if(e!==a)return;i.value=u(n)[0]??null}catch(t){if(e!==a)return;r.value=Z(t,`加载同步日志失败`),i.value=null}finally{e===a&&(n.value=!1)}}return C(()=>t.server.id,()=>{d()},{immediate:!0}),c(()=>{a+=1}),(t,a)=>(y(),B(`div`,Dt,[N(`div`,Ot,[N(`div`,null,[a[1]||=N(`span`,{class:`text-caption text-medium-emphasis`},`CPU`,-1),A(` `+I(e.server.system_info?.cpu_usage??`—`)+`% `,1)]),N(`div`,null,[a[2]||=N(`span`,{class:`text-caption text-medium-emphasis`},`内存`,-1),A(` `+I(e.server.system_info?.mem_usage??`—`)+`% `,1)]),N(`div`,null,[a[3]||=N(`span`,{class:`text-caption text-medium-emphasis`},`磁盘`,-1),A(` `+I(e.server.system_info?.disk_usage??`—`)+`% `,1)]),N(`div`,null,[a[4]||=N(`span`,{class:`text-caption text-medium-emphasis`},`Agent`,-1),A(` `+I(e.server.agent_version||`未安装`),1)])]),N(`div`,kt,[a[5]||=N(`span`,{class:`text-caption text-medium-emphasis shrink-0`},`目标路径`,-1),N(`span`,At,I(e.server.target_path?.trim()||`未配置(推送页留空时无法推送到此机)`),1),V(v,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:a[0]||=z(e=>t.$emit(`edit-path`),[`stop`])})]),a[6]||=N(`div`,{class:`text-caption text-medium-emphasis mb-1`},`同步日志`,-1),n.value?(y(),j(at,{key:0,type:`list-item-two-line`})):r.value?(y(),B(`div`,jt,I(r.value),1)):i.value?(y(),j(Ee,{key:3,density:`compact`,class:`bg-transparent pa-0`,subtitle:l(i.value),title:`${i.value.source_path} → ${i.value.target_path}`},{append:S(()=>[V(H,{size:`x-small`,color:o(i.value.status),variant:`tonal`,label:``},{default:S(()=>[A(I(s(i.value.status)),1)]),_:1},8,[`color`])]),_:1},8,[`subtitle`,`title`])):(y(),B(`div`,Mt,`暂无同步日志`))]))}}),[[`__scopeId`,`data-v-599683b3`]]),Pt=[`onClick`],Ft={class:`font-weight-medium`},It={class:`text-medium-emphasis`},Lt={key:1,class:`text-medium-emphasis`},Rt={key:1,class:`d-flex align-center ga-1`},zt=[`title`],Bt={class:`text-medium-emphasis`},Vt={class:`text-caption text-medium-emphasis`},Ht={class:`d-flex ga-1`},Ut=[`colspan`],Wt=ot(x({__name:`ServerUnsetPathPanel`,props:{servers:{},loading:{type:Boolean},total:{},page:{},itemsPerPage:{},itemsPerPageOptions:{},sortBy:{},expandedIds:{},selectedItems:{},selectAllLoading:{type:Boolean},editingPathId:{},editingPathValue:{},savingPathId:{}},emits:[`refresh`,`update:sort-by`,`update:page`,`update:items-per-page`,`update:selected-items`,`update:expanded-ids`,`update:editing-path-value`,`select-all-filtered`,`toggle-expand`,`terminal`,`files`,`detect-path-single`,`edit`,`delete`,`edit-path`,`save-path`,`cancel-edit-path`,`batch-category`,`health-check`,`detect-path`,`install-agent`,`upgrade-agent`,`uninstall-agent`,`batch-delete`,`clear-selection`],setup(e,{emit:t}){let n=e,r=t,i=[{title:`状态`,key:`status`,width:100},{title:`名称`,key:`name`},{title:`地址`,key:`domain`},{title:`分类`,key:`category`,width:100},{title:`目标路径`,key:`target_path`,width:200},{title:`Agent`,key:`agent_version`,width:100},{title:`心跳`,key:`last_heartbeat`,width:120},{title:`操作`,key:`actions`,width:260,align:`end`,sortable:!1}],a=P(()=>xt(n.selectedItems).length),o=P({get:()=>n.expandedIds,set:e=>{r(`update:expanded-ids`,e.map(e=>Number(e)).filter(e=>!Number.isNaN(e)))}});function s(e){return n.expandedIds.includes(e)}return(t,n)=>(y(),j(q,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:S(()=>[V(K,{class:`d-flex align-center flex-wrap ga-2`},{default:S(()=>[n[20]||=A(` 未设置路径服务器 `,-1),e.total>0?(y(),j(H,{key:0,size:`small`,color:`warning`,variant:`tonal`,label:``},{default:S(()=>[A(I(e.total),1)]),_:1})):k(``,!0),V(O),V(v,{size:`small`,variant:`tonal`,disabled:e.total===0,loading:e.selectAllLoading,onClick:n[0]||=e=>t.$emit(`select-all-filtered`)},{default:S(()=>[A(` 全选筛选结果 (`+I(e.total)+`) `,1)]),_:1},8,[`disabled`,`loading`]),V(v,{variant:`text`,size:`small`,"prepend-icon":`mdi-refresh`,loading:e.loading,onClick:n[1]||=e=>t.$emit(`refresh`)},{default:S(()=>[...n[19]||=[A(` 刷新 `,-1)]]),_:1},8,[`loading`])]),_:1}),V(Et,{count:a.value,onBatchCategory:n[2]||=e=>t.$emit(`batch-category`),onHealthCheck:n[3]||=e=>t.$emit(`health-check`),onDetectPath:n[4]||=e=>t.$emit(`detect-path`),onInstallAgent:n[5]||=e=>t.$emit(`install-agent`),onUpgradeAgent:n[6]||=e=>t.$emit(`upgrade-agent`),onUninstallAgent:n[7]||=e=>t.$emit(`uninstall-agent`),onBatchDelete:n[8]||=e=>t.$emit(`batch-delete`),onClear:n[9]||=e=>t.$emit(`clear-selection`)},null,8,[`count`]),V(Qe,{class:`server-unset-path-table`,items:e.servers,headers:i,"items-length":e.total,loading:e.loading,page:e.page,"items-per-page":e.itemsPerPage,"items-per-page-options":e.itemsPerPageOptions,hover:``,density:`comfortable`,"item-value":`id`,"show-select":``,"show-expand":``,"model-value":e.selectedItems,"sort-by":e.sortBy,expanded:o.value,"onUpdate:expanded":n[14]||=e=>o.value=e,"onUpdate:modelValue":n[15]||=e=>t.$emit(`update:selected-items`,e),"onUpdate:sortBy":n[16]||=e=>t.$emit(`update:sort-by`,e),"onUpdate:page":n[17]||=e=>t.$emit(`update:page`,e),"onUpdate:itemsPerPage":n[18]||=e=>t.$emit(`update:items-per-page`,e)},{"item.data-table-expand":S(()=>[...n[21]||=[]]),"item.status":S(({item:e})=>[V(H,{color:F(nt)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:S(()=>[A(I(F(tt)(e.status)),1)]),_:2},1032,[`color`])]),"item.name":S(({item:e})=>[N(`div`,{class:`d-flex align-center cursor-pointer text-primary`,onClick:z(n=>t.$emit(`toggle-expand`,e),[`stop`])},[V(se,{size:`small`,class:`mr-1`},{default:S(()=>[A(I(s(e.id)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024),N(`span`,Ft,I(e.name),1)],8,Pt)]),"item.domain":S(({item:e})=>[N(`span`,It,I(e.domain)+`:`+I(e.port),1)]),"item.category":S(({item:e})=>[e.category?(y(),j(H,{key:0,color:`primary`,variant:`tonal`,size:`small`,label:``},{default:S(()=>[A(I(e.category),1)]),_:2},1024)):(y(),B(`span`,Lt,`—`))]),"item.target_path":S(({item:r})=>[e.editingPathId===r.id?(y(),B(`div`,{key:0,class:`d-flex align-center ga-1`,onClick:n[13]||=z(()=>{},[`stop`])},[V(X,{"model-value":e.editingPathValue,density:`compact`,variant:`outlined`,"hide-details":``,placeholder:`/www/wwwroot`,style:{"max-width":`140px`},"onUpdate:modelValue":n[10]||=e=>t.$emit(`update:editing-path-value`,e),onKeyup:[Te(e=>t.$emit(`save-path`,r.id),[`enter`]),n[11]||=Te(e=>t.$emit(`cancel-edit-path`),[`esc`])]},null,8,[`model-value`,`onKeyup`]),V(v,{icon:`mdi-check`,size:`x-small`,variant:`text`,color:`primary`,loading:e.savingPathId===r.id,onClick:e=>t.$emit(`save-path`,r.id)},null,8,[`loading`,`onClick`]),V(v,{icon:`mdi-close`,size:`x-small`,variant:`text`,onClick:n[12]||=e=>t.$emit(`cancel-edit-path`)})])):(y(),B(`div`,Rt,[N(`span`,{class:`text-caption text-medium-emphasis text-truncate d-inline-block`,style:{"max-width":`140px`},title:r.target_path||`未配置`},I(r.target_path?.trim()||`—`),9,zt),V(v,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:z(e=>t.$emit(`edit-path`,r),[`stop`])},null,8,[`onClick`])]))]),"item.agent_version":S(({item:e})=>[N(`span`,Bt,I(e.agent_version||`—`),1)]),"item.last_heartbeat":S(({item:e})=>[N(`span`,Vt,I(F(it)(e.last_heartbeat)),1)]),"item.actions":S(({item:e})=>[N(`div`,Ht,[V(v,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:z(n=>t.$emit(`terminal`,e),[`stop`])},{default:S(()=>[...n[22]||=[A(` 终端 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(n=>t.$emit(`files`,e),[`stop`])},{default:S(()=>[...n[23]||=[A(` 文件 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(n=>t.$emit(`detect-path-single`,e),[`stop`])},{default:S(()=>[...n[24]||=[A(` 检测路径 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(n=>t.$emit(`edit`,e),[`stop`])},{default:S(()=>[...n[25]||=[A(` 编辑 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:z(n=>t.$emit(`delete`,e),[`stop`])},{default:S(()=>[...n[26]||=[A(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),"expanded-row":S(({columns:e,item:n})=>[N(`tr`,null,[N(`td`,{colspan:e.length,class:`pa-0`},[V(Nt,{server:n,onEditPath:e=>t.$emit(`edit-path`,n)},null,8,[`server`,`onEditPath`])],8,Ut)])]),"no-data":S(()=>[...n[27]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无未设置路径的服务器`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`,`items-per-page-options`,`model-value`,`sort-by`,`expanded`])]),_:1}))}}),[[`__scopeId`,`data-v-ffa01e2f`]]),Gt={class:`credentials-manager`},Kt={class:`d-flex align-center flex-wrap ga-2 mb-3`},qt={class:`text-caption text-medium-emphasis`},Jt=x({name:`CredentialsManager`,__name:`CredentialsManager`,props:{active:{type:Boolean}},setup(e){let n=e,i=[...ze],a=r(),s=T(!1),c=T(`passwords`),l=T(null),u=T(1),d=T(0),f=T(20),m=T([]),h=T(!1),g=T({name:``,username:`root`,password:``}),ee=Re([{title:`预设名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`创建时间`,key:`created_at`,width:180},{title:`操作`,key:`actions`,width:150,align:`end`}]),te=T([]),ne=T(!1),_=T({name:``,username:`root`,public_key:``,private_key:``}),re=Re([{title:`名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`私钥`,key:`private_key_set`,width:120},{title:`操作`,key:`actions`,width:150,align:`end`}]),b=T([]),ie=T(!1),x=T({name:``,host:``,port:3306,username:``,password:``,database:``}),ae=Re([{title:`名称`,key:`name`},{title:`主机`,key:`host`},{title:`端口`,key:`port`,width:80},{title:`用户名`,key:`username`},{title:`数据库`,key:`database`},{title:`操作`,key:`actions`,width:150,align:`end`}]),oe=T(!1),w=T(``),se=T(null);function ce(e){f.value=e,u.value=1,c.value===`sshkeys`?k():c.value===`db`&&ue()}function le(e){return p(e)}async function D(e=!1){e||(s.value=!0);try{let e=await E.getList(`/presets/`);m.value=e.items,d.value=e.total}catch(e){m.value=[],a(Z(e,`加载密码预设失败`),`error`)}finally{e||(s.value=!1)}}async function k(e=!1){e||(s.value=!0);try{let e=await et(`/ssh-key-presets/`,{},u.value,f.value);te.value=e.items,d.value=e.total,f.value===-1&&(u.value=1)}catch(e){te.value=[],a(Z(e,`加载 SSH 密钥失败`),`error`)}finally{e||(s.value=!1)}}async function ue(e=!1){e||(s.value=!0);try{let e=await et(`/scripts/credentials`,{},u.value,f.value);b.value=e.items,d.value=e.total,f.value===-1&&(u.value=1)}catch(e){b.value=[],a(Z(e,`加载数据库凭据失败`),`error`)}finally{e||(s.value=!1)}}function de(e=!1){switch(c.value){case`passwords`:D(e);break;case`sshkeys`:k(e);break;case`db`:ue(e);break}}C(c,()=>{u.value=1,de()}),C(()=>n.active,e=>{e&&de()},{immediate:!0});function fe(e){l.value=e.id,g.value={name:e.name,username:e.username||`root`,password:``},h.value=!0}async function pe(){let e=g.value.name.trim(),t=g.value.password;if(!e){a(`请填写预设名称`,`error`);return}if(!l.value&&!t){a(`请填写 SSH 密码`,`error`);return}try{let n=g.value.username.trim()||`root`;if(l.value){let r={name:e,username:n};t&&(r.encrypted_pw=t),await E.put(`/presets/${l.value}`,r)}else await E.post(`/presets/`,{name:e,username:n,encrypted_pw:t});h.value=!1,D(),a(`保存成功`)}catch(e){a(Z(e,`保存失败`),`error`)}}function me(e){l.value=e.id,_.value={name:e.name,username:e.username||`root`,public_key:e.public_key||``,private_key:``},ne.value=!0}async function he(){try{l.value?await E.put(`/ssh-key-presets/${l.value}`,_.value):await E.post(`/ssh-key-presets/`,_.value),ne.value=!1,k(),a(`保存成功`)}catch(e){a(Z(e,`保存失败`),`error`)}}function _e(e){l.value=e.id,x.value={name:e.name,host:e.host||``,port:e.port||3306,username:e.username||``,password:``,database:e.database||``},ie.value=!0}async function ve(){try{l.value?await E.put(`/scripts/credentials/${l.value}`,x.value):await E.post(`/scripts/credentials`,x.value),ie.value=!1,ue(),a(`保存成功`)}catch(e){a(Z(e,`保存失败`),`error`)}}function ye(){l.value=null,c.value===`passwords`?(g.value={name:``,username:`root`,password:``},h.value=!0):c.value===`sshkeys`?(_.value={name:``,username:`root`,public_key:``,private_key:``},ne.value=!0):(x.value={name:``,host:``,port:3306,username:``,password:``,database:``},ie.value=!0)}function be(e,t){w.value=e,se.value=t.id,oe.value=!0}async function xe(){try{w.value===`password`?await E.delete(`/presets/${se.value}`):w.value===`sshkey`?await E.delete(`/ssh-key-presets/${se.value}`):await E.delete(`/scripts/credentials/${se.value}`),oe.value=!1,de(),a(`已删除`)}catch(e){a(Z(e,`删除失败`),`error`)}}return(e,n)=>(y(),B(`div`,Gt,[N(`div`,Kt,[V(o,{modelValue:c.value,"onUpdate:modelValue":n[0]||=e=>c.value=e,mandatory:``,density:`compact`,variant:`outlined`},{default:S(()=>[V(v,{size:`small`,value:`passwords`},{default:S(()=>[...n[24]||=[A(`密码预设`,-1)]]),_:1}),V(v,{size:`small`,value:`sshkeys`},{default:S(()=>[...n[25]||=[A(`SSH 密钥`,-1)]]),_:1}),V(v,{size:`small`,value:`db`},{default:S(()=>[...n[26]||=[A(`数据库凭据`,-1)]]),_:1})]),_:1},8,[`modelValue`]),V(O),V(v,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:ye},{default:S(()=>[...n[27]||=[A(`添加`,-1)]]),_:1})]),c.value===`passwords`?(y(),B(ge,{key:0},[n[31]||=N(`p`,{class:`text-body-2 text-medium-emphasis mb-2`},` 保存常用 SSH 账号+密码模板;快速添加服务器时将按顺序轮询所有预设尝试登录。 `,-1),V(t,{items:m.value,headers:F(ee),loading:s.value,hover:``,density:`comfortable`,"items-per-page":20,"items-per-page-options":i},{"item.created_at":S(({item:e})=>[N(`span`,qt,I(le(e.created_at)),1)]),"item.actions":S(({item:e})=>[V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>fe(e)},{default:S(()=>[...n[28]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>be(`password`,e)},{default:S(()=>[...n[29]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...n[30]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无密码预设`,-1)]]),_:1},8,[`items`,`headers`,`loading`])],64)):c.value===`sshkeys`?(y(),j(Qe,{key:1,items:te.value,headers:F(re),"items-length":d.value,loading:s.value,page:u.value,"items-per-page":f.value,"items-per-page-options":i,hover:``,density:`comfortable`,"onUpdate:page":n[1]||=e=>{u.value=e,k()},"onUpdate:itemsPerPage":ce},{"item.private_key_set":S(({item:e})=>[V(H,{color:e.private_key_set?`success`:`grey`,size:`small`,variant:`tonal`,label:``},{default:S(()=>[A(I(e.private_key_set?`已设置`:`未设置`),1)]),_:2},1032,[`color`])]),"item.actions":S(({item:e})=>[V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>me(e)},{default:S(()=>[...n[32]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>be(`sshkey`,e)},{default:S(()=>[...n[33]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...n[34]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):(y(),j(Qe,{key:2,items:b.value,headers:F(ae),"items-length":d.value,loading:s.value,page:u.value,"items-per-page":f.value,"items-per-page-options":i,hover:``,density:`comfortable`,"onUpdate:page":n[2]||=e=>{u.value=e,ue()},"onUpdate:itemsPerPage":ce},{"item.actions":S(({item:e})=>[V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>_e(e)},{default:S(()=>[...n[35]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>be(`db`,e)},{default:S(()=>[...n[36]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...n[37]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])),V(Q,{modelValue:h.value,"onUpdate:modelValue":n[7]||=e=>h.value=e,"max-width":`500`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[A(I(l.value?`编辑密码预设`:`新建密码预设`),1)]),_:1}),V(G,null,{default:S(()=>[V(X,{modelValue:g.value.name,"onUpdate:modelValue":n[3]||=e=>g.value.name=e,label:`预设名称`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`如:生产环境 root 密码`,rules:[F(st)(`预设名称`)]},null,8,[`modelValue`,`rules`]),V(X,{modelValue:g.value.username,"onUpdate:modelValue":n[4]||=e=>g.value.username=e,label:`SSH 用户名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`root`,rules:[F(st)(`SSH 用户名`)]},null,8,[`modelValue`,`rules`]),V(X,{modelValue:g.value.password,"onUpdate:modelValue":n[5]||=e=>g.value.password=e,label:`SSH 密码`,variant:`outlined`,density:`compact`,type:`password`,placeholder:l.value?`留空表示不修改`:`必填`,rules:l.value?[]:[F(st)(`SSH 密码`)]},null,8,[`modelValue`,`placeholder`,`rules`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:n[6]||=e=>h.value=!1},{default:S(()=>[...n[38]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:pe},{default:S(()=>[...n[39]||=[A(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:ne.value,"onUpdate:modelValue":n[13]||=e=>ne.value=e,"max-width":`500`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[A(I(l.value?`编辑 SSH 密钥`:`新建 SSH 密钥`),1)]),_:1}),V(G,null,{default:S(()=>[V(X,{modelValue:_.value.name,"onUpdate:modelValue":n[8]||=e=>_.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:_.value.username,"onUpdate:modelValue":n[9]||=e=>_.value.username=e,label:`SSH 用户名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`root`},null,8,[`modelValue`]),V(dt,{modelValue:_.value.public_key,"onUpdate:modelValue":n[10]||=e=>_.value.public_key=e,label:`公钥`,variant:`outlined`,density:`compact`,rows:`3`,class:`mb-2`},null,8,[`modelValue`]),V(dt,{modelValue:_.value.private_key,"onUpdate:modelValue":n[11]||=e=>_.value.private_key=e,label:`私钥`,variant:`outlined`,density:`compact`,rows:`5`},null,8,[`modelValue`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:n[12]||=e=>ne.value=!1},{default:S(()=>[...n[40]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:he},{default:S(()=>[...n[41]||=[A(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:ie.value,"onUpdate:modelValue":n[21]||=e=>ie.value=e,"max-width":`500`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[A(I(l.value?`编辑数据库凭据`:`新建数据库凭据`),1)]),_:1}),V(G,null,{default:S(()=>[V(X,{modelValue:x.value.name,"onUpdate:modelValue":n[14]||=e=>x.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.host,"onUpdate:modelValue":n[15]||=e=>x.value.host=e,label:`主机`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.port,"onUpdate:modelValue":n[16]||=e=>x.value.port=e,label:`端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.username,"onUpdate:modelValue":n[17]||=e=>x.value.username=e,label:`用户名`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.password,"onUpdate:modelValue":n[18]||=e=>x.value.password=e,label:`密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:x.value.database,"onUpdate:modelValue":n[19]||=e=>x.value.database=e,label:`数据库`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:n[20]||=e=>ie.value=!1},{default:S(()=>[...n[42]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:ve},{default:S(()=>[...n[43]||=[A(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:oe.value,"onUpdate:modelValue":n[23]||=e=>oe.value=e,"max-width":`400`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...n[44]||=[A(`确认删除`,-1)]]),_:1}),V(G,null,{default:S(()=>[...n[45]||=[A(`确定要删除此凭据吗?`,-1)]]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:n[22]||=e=>oe.value=!1},{default:S(()=>[...n[46]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`error`,variant:`flat`,onClick:xe},{default:S(()=>[...n[47]||=[A(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]))}}),Yt=x({__name:`CredentialsDialog`,props:{modelValue:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t;return(t,r)=>(y(),j(Q,{"model-value":e.modelValue,"max-width":`960`,scrollable:``,"onUpdate:modelValue":r[1]||=e=>n(`update:modelValue`,e)},{default:S(()=>[V(q,{border:``,rounded:`lg`},{default:S(()=>[V(K,{class:`d-flex align-center`},{default:S(()=>[r[2]||=A(` 凭据管理 `,-1),V(O),V(v,{icon:`mdi-close`,variant:`text`,size:`small`,onClick:r[0]||=e=>n(`update:modelValue`,!1)})]),_:1}),V(Ne),V(G,{class:`pa-4`},{default:S(()=>[e.modelValue?(y(),j(Jt,{key:0,active:e.modelValue},null,8,[`active`])):k(``,!0)]),_:1})]),_:1})]),_:1},8,[`model-value`]))}});function Xt(){return{name:``,domain:``,port:22,username:`root`,auth_method:`password`,preset_id:null,password:``,ssh_key_preset_id:null,ssh_key_path:``,ssh_key_private:``,target_path:`/www/wwwroot`,category:``,platform_id:null,node_id:null,files_elevation:`auto_sudo`}}function Zt(e){return e===`uncategorized`?``:e}function Qt(e){let t=e.auth_method===`key`?`key`:`password`;return{name:e.name,domain:e.domain||``,port:e.port??22,username:e.username||`root`,auth_method:t,preset_id:e.preset_id,password:``,ssh_key_preset_id:e.ssh_key_preset_id,ssh_key_path:e.ssh_key_path||``,ssh_key_private:``,target_path:e.target_path||`/www/wwwroot`,category:e.category||``,platform_id:e.platform_id,node_id:e.node_id,files_elevation:e.files_elevation||`auto_sudo`}}function $t(e){let t=r(),n=T(!1),i=T(null),a=T(!1),o=T(Xt()),s=T({password_set:!1,ssh_key_private_set:!1}),c=T([]),l=T([]),u=T([]),d=T([]),f=T([]),p=T(!1),m=P(()=>i.value!=null),h=[{title:`自动(权限失败时 sudo)`,value:`auto_sudo`},{title:`关闭 sudo`,value:`off`},{title:`始终 sudo(排障)`,value:`always_sudo`}];async function g(){p.value=!0;try{let[e,t,n,r]=await Promise.all([E.get(`/servers/categories`),E.getList(`/presets/`,{per_page:500}),E.getList(`/ssh-key-presets/`,{per_page:500}),E.get(`/assets/nodes`)]),i=new Set;for(let t of e.categories||[]){let e=Zt(t.name);e&&i.add(e)}u.value=[...i].sort((e,t)=>e.localeCompare(t,`zh`)),d.value=(e.platforms||[]).map(e=>({id:e.id,name:e.name})),c.value=(t.items||[]).map(e=>({...e,display:`${e.name} (${e.username||`root`})`})),l.value=(n.items||[]).map(e=>({...e,display:`${e.name} (${e.username||`root`})`})),f.value=Array.isArray(r)?r:[]}catch{t(`加载表单选项失败`,`error`)}finally{p.value=!1}}async function ee(){i.value=null,o.value=Xt(),s.value={password_set:!1,ssh_key_private_set:!1},n.value=!0,await g()}async function te(e){i.value=e.id,o.value=Qt(e),s.value={password_set:!!e.password_set,ssh_key_private_set:!!(e.ssh_key_private_set||e.ssh_key_configured)},n.value=!0,await g()}function ne(){n.value=!1,i.value=null,o.value=Xt(),s.value={password_set:!1,ssh_key_private_set:!1}}function _(){let e=o.value;if(!e.name.trim())return`请填写服务器名称`;if(!e.domain.trim())return`请填写域名或 IP`;if(!e.username.trim())return`请填写 SSH 用户名`;let t=Number(e.port);if(!Number.isFinite(t)||t<1||t>65535)return`SSH 端口无效`;let n=e.target_path.trim();if(!n)return`请填写目标路径(部署根目录)`;if(!n.startsWith(`/`))return`目标路径须为绝对路径(以 / 开头)`;if(e.auth_method===`password`){if(!m.value&&!e.preset_id&&!e.password.trim())return`请选择密码预设或填写 SSH 密码(安装 Agent 需要可 SSH)`}else if(!m.value&&!e.ssh_key_preset_id&&!e.ssh_key_private.trim())return`请选择 SSH 密钥预设或粘贴私钥`;return null}function v(){let e=o.value,t={name:e.name.trim(),domain:e.domain.trim(),port:Number(e.port),username:e.username.trim()||`root`,auth_method:e.auth_method,target_path:e.target_path.trim(),category:e.category.trim()||void 0,platform_id:e.platform_id??void 0,node_id:e.node_id??void 0,files_elevation:e.files_elevation,agent_port:8601};return e.auth_method===`password`?(e.preset_id!=null&&(t.preset_id=e.preset_id),e.password.trim()&&(t.password=e.password.trim()),m.value||!e.preset_id&&e.password.trim()):(e.ssh_key_preset_id!=null&&(t.ssh_key_preset_id=e.ssh_key_preset_id),e.ssh_key_path.trim()&&(t.ssh_key_path=e.ssh_key_path.trim()),e.ssh_key_private.trim()&&(t.ssh_key_private=e.ssh_key_private.trim())),t}async function y(){let n=_();if(n){t(n,`error`);return}a.value=!0;try{let n=v();m.value&&i.value!=null?await E.put(`/servers/${i.value}`,n):await E.post(`/servers/`,n),ne(),e(),t(`保存成功`)}catch(e){t(Z(e,`保存失败`),`error`)}finally{a.value=!1}}return{visible:n,editingId:i,isEditing:m,saving:a,form:o,editHints:s,passwordPresets:c,sshKeyPresets:l,categoryOptions:u,platforms:d,nodes:f,lookupsLoading:p,filesElevationItems:h,openAdd:ee,openEdit:te,close:ne,save:y}}var en={class:`d-flex align-center flex-wrap ga-2`},tn=[`onClick`],nn={class:`font-weight-medium`},rn={class:`text-medium-emphasis`},an={key:1,class:`text-medium-emphasis`},on={key:1,class:`d-flex align-center ga-1`},sn=[`title`],cn={class:`text-medium-emphasis`},ln={class:`text-caption text-medium-emphasis`},un={class:`d-flex ga-1`},dn=[`colspan`],fn={key:2,class:`px-4 pb-4`},pn={key:0,class:`text-center py-8`},mn={key:1,class:`text-center text-medium-emphasis py-6`},hn={class:`d-flex align-center ga-2 flex-grow-1`},gn={class:`text-caption text-medium-emphasis`},_n={class:`font-weight-medium`},vn={class:`text-medium-emphasis`},yn={class:`text-caption text-medium-emphasis text-truncate`,style:{"max-width":`180px`}},bn={class:`text-medium-emphasis`},xn={class:`text-caption text-medium-emphasis`},Sn=[`title`],Cn={key:1,class:`text-medium-emphasis`},wn={class:`text-body-2 mb-2`},Tn={class:`text-body-2 text-medium-emphasis mb-3`},En={key:0,class:`text-caption text-medium-emphasis mt-1`},Dn={key:0},On={key:0},kn=ot(x({name:`ServersPage`,__name:`ServersPage`,setup(s){async function u(e,t,n){let r={category:`/servers/batch/category`,"health-check":`/servers/check`,"detect-path":`/servers/batch/detect-path`,"install-agent":`/servers/batch/install-agent`,"upgrade-agent":`/servers/batch/upgrade-agent`,"uninstall-agent":`/servers/batch/uninstall-agent`}[e];if(!r)return null;let i=e===`category`?{server_ids:t,...n}:{server_ids:t},a=await E.post(r,i);if(!a?.job_id)throw Error(`服务端未返回任务 ID,请确认已部署支持后台批量任务的新版本`);return te(a.job_id,a.label,a.total,a.op||e,a.progress,a.status),de(`${a.label} 已提交`),a}ee(()=>{d=l(e=>{e.taskKind===`server_batch`&&Promise.all([kt(!0),J(!0),bt(),cr(!0)])})});let d=null;c(()=>{d?.()});let p=[...ze],m=r(),g=Me(),_=_e(),re=T(!1);function b(){if(_.query.credentials===`1`){re.value=!0;let e={..._.query};delete e.credentials,g.replace({path:_.path,query:e})}}C(()=>_.query.credentials,()=>b(),{immediate:!0});let{servers:ie,loading:x,page:ae,itemsPerPage:oe,total:le,search:D,categoryFilter:ue,sortBy:fe,loadServers:me,onSearch:he,onPageChange:ve,onItemsPerPageChange:ye,onCategoryChange:xe,loadAllServers:Se,listQueryParams:Ce}=vt({targetPathUnset:!1}),De=T([]),Oe=T(0),ke=T(!1),Ae=T(1),je=T(10),L=T([]),R=T([]);function Ne(e){return P({get:()=>e.value,set:t=>{e.value=t.map(e=>Number(e)).filter(e=>!Number.isNaN(e))}})}let Fe=Ne(L),U=T([]),Re=P(()=>new Set(xt(U.value))),Be=T(!1),Ve=T(`main`);function Ue(e){return e===`main`?{items:rr,ids:ir}:{items:U,ids:Re}}let We=P(()=>Ue(Ve.value).ids.value.size);async function Ge(){return(await et(`/servers/`,{...Ce(),target_path_unset:!0},1,-1)).items}async function Ke(){if(!(Oe.value<=0)){Be.value=!0;try{let e=await Ge();U.value=e.map(e=>e.id),m(`已选择未设路径筛选结果 ${e.length} 台`)}catch{m(`加载未设路径筛选结果失败`,`error`)}finally{Be.value=!1}}}async function J(e=!1){e||(ke.value=!0);try{let e=await et(`/servers/`,{...Ce(),target_path_unset:!0},Ae.value,je.value);De.value=e.items,Oe.value=e.total}catch{De.value=[],Oe.value=0,e||m(`加载未设置路径服务器失败`,`error`)}finally{e||(ke.value=!1)}}function qe(e){L.value=L.value.includes(e.id)?[]:[e.id]}function Je(e){R.value=R.value.includes(e.id)?[]:[e.id]}function Ye(e){L.value=[],ve(e)}function Xe(e){L.value=[],ye(e)}function Y(e){R.value=[],U.value=[],Ae.value=e,J()}function Ze(e){R.value=[],U.value=[],je.value=e,Ae.value=1,J()}async function $e(e){try{await u(`detect-path`,[e.id])}catch(e){m(Z(e,`提交检测任务失败`),`error`)}}function ot(e,t){let n=yt(t);L.value.includes(e)&&n&&(L.value=[]),R.value.includes(e)&&!n&&(R.value=[])}let{categories:st,loading:gt,totalCount:_t,loadCategories:bt}=lt(),St=T(`table`),Tt=T([]),Dt=T(!1),Ot=T([]);async function kt(e=!1){try{await me({silent:e}),await J(e),St.value===`group`&&await At(e)}catch{e||m(`加载服务器列表失败`,`error`)}}async function At(e=!1){e||(Dt.value=!0);try{Tt.value=await Se(),Ot.value=Mt.value.map(e=>e.category)}catch{e||(Tt.value=[],m(`加载分类视图失败`,`error`))}finally{e||(Dt.value=!1)}}async function jt(){try{await me({silent:!0}),await J(!0),St.value===`group`&&await At(!0)}catch{}}ct(jt,3e4);let Mt=P(()=>{let e={};for(let t of Tt.value){let n=t.category?.trim()||`uncategorized`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,label:ut(e),servers:t})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))});function Pt(e){xe(e),St.value===`group`&&At()}function Ft(e,t){let n=new Set(rr.value.map(e=>typeof e==`number`?e:e.id));t?n.add(e):n.delete(e),rr.value=[...n]}let It=T(!1);async function Lt(){if(!(le.value<=0)){It.value=!0;try{let e=await Se();rr.value=e.map(e=>e.id),m(`已选择当前筛选结果 ${e.length} 台`)}catch{m(`加载筛选结果失败`,`error`)}finally{It.value=!1}}}function Rt(e){return e.length>0&&e.every(e=>ir.value.has(e.id))}function zt(e){let t=Rt(e),n=new Set(ir.value);for(let r of e)t?n.delete(r.id):n.add(r.id);rr.value=[...n]}C(ue,()=>{rr.value=[],U.value=[],L.value=[],R.value=[],Ae.value=1,J()}),C(fe,()=>{rr.value=[],U.value=[],L.value=[],R.value=[],Ae.value=1,St.value===`group`&&At(),J()},{deep:!0}),C(D,()=>{rr.value=[],U.value=[],L.value=[],R.value=[],Ae.value=1}),C(St,e=>{e===`group`&&At()});let Bt=T(!1),Vt=T(!1),Ht=T(null),Ut=T(!1),Gt=T(!1),Kt=T({domain:``,port:22,name:``}),qt=T([]),Jt=T(!1),Xt=T(null),Zt=T(!1),Qt=T([]),kn=T(``),An=T(!1),jn=T(null),Mn=T(!1),Nn=[{title:`名称`,key:`name`},{title:`地址`,key:`address`},{title:`尝试次数`,key:`attempts`,width:100},{title:`最后错误`,key:`last_error`},{title:`最后尝试`,key:`last_attempt_at`,width:160},{title:`操作`,key:`actions`,width:140,align:`end`}];function Pn(){Kt.value={domain:``,port:22,name:``},Ut.value=!0}function Fn(e,t){Qt.value=e,kn.value=t||``,Zt.value=!0}async function In(){Jt.value=!0;try{qt.value=(await E.get(`/servers/pending`)).items||[]}catch(e){qt.value=[],m(Z(e,`加载失败列表失败`),`error`)}finally{Jt.value=!1}}async function Ln(){let e=Kt.value.domain.trim();if(!e){m(`请填写 IP 或域名`,`error`);return}Gt.value=!0;try{let t={domain:e,port:Kt.value.port||22},n=Kt.value.name.trim();n&&(t.name=n);let r=await E.post(`/servers/add-by-ip`,t);r.success&&r.server?(Ut.value=!1,m(`添加成功:${r.matched_preset} (${r.matched_username})`),kt(),cr()):(Ut.value=!1,Fn(r.errors||[],r.message),In())}catch(e){m(Z(e,`添加失败`),`error`)}finally{Gt.value=!1}}async function Rn(e){Xt.value=e.id;try{let t=await E.post(`/servers/pending/${e.id}/retry`,{});t.success&&t.server?(m(`重试成功:${t.matched_preset} (${t.matched_username})`),kt(),cr(),In()):(Fn(t.errors||[],t.message),In())}catch(e){m(Z(e,`重试失败`),`error`)}finally{Xt.value=null}}function zn(e){jn.value=e,An.value=!0}async function Bn(){if(jn.value){Mn.value=!0;try{await E.delete(`/servers/pending/${jn.value.id}`),An.value=!1,m(`已从失败列表移除`),In()}catch(e){m(Z(e,`删除失败`),`error`)}finally{Mn.value=!1}}}let{visible:Vn,form:Hn,isEditing:Un,saving:Wn,lookupsLoading:Gn,passwordPresets:Kn,sshKeyPresets:qn,categoryOptions:Jn,platforms:Yn,nodes:Xn,editHints:Zn,filesElevationItems:Qn,openAdd:$n,openEdit:er,close:tr,save:nr}=$t(()=>{kt(),cr(),bt()});C(Vn,(e,t)=>{t&&!e&&tr()});let rr=T([]),ir=P(()=>new Set(xt(rr.value))),ar=[{title:`状态`,key:`status`,width:100},{title:`名称`,key:`name`},{title:`地址`,key:`domain`},{title:`分类`,key:`category`,width:100},{title:`目标路径`,key:`target_path`,width:200},{title:`Agent`,key:`agent_version`,width:100},{title:`心跳`,key:`last_heartbeat`,width:120},{title:`操作`,key:`actions`,width:200,align:`end`,sortable:!1}],or=T(!0),sr=T([{subtitle:`服务器总数`,title:`0`,icon:`mdi-server-network`,color:`blue`},{subtitle:`在线`,title:`0`,icon:`mdi-check-circle-outline`,color:`green`},{subtitle:`离线`,title:`0`,icon:`mdi-alert-circle-outline`,color:`orange`},{subtitle:`告警中`,title:`0`,icon:`mdi-bell-alert-outline`,color:`red`}]);async function cr(e=!1){e||(or.value=!0);try{let{data:e}=await Ie(Pe.serverStats,()=>E.get(`/servers/stats`));sr.value[0].title=String(e.total),sr.value[1].title=String(e.online),sr.value[2].title=String(e.offline),sr.value[3].title=String(e.alerts??0)}catch{}finally{e||(or.value=!1)}}function lr(e){g.push({path:`/terminal`,query:{server_id:String(e.id)}})}function ur(e){g.push({path:`/files`,query:{server_id:String(e.id)}})}function dr(e){er(e)}function fr(e){Ht.value=e,Bt.value=!0}let pr=T(!1),mr=T(``),hr=T(!1),gr=P(()=>{let e=st.value.filter(e=>e.name!==`uncategorized`).map(e=>e.label);if(Jn.value.length)for(let t of Jn.value)t&&!e.includes(t)&&e.push(t);return e.sort((e,t)=>e.localeCompare(t,`zh`))});function _r(e){Ve.value=e;let{ids:t}=Ue(e);if(t.value.size===0){m(`请先勾选至少一台服务器`,`error`);return}mr.value=``,pr.value=!0}async function vr(){let{items:e,ids:t}=Ue(Ve.value),n=[...t.value];if(n.length!==0){hr.value=!0;try{await u(`category`,n,{category:(mr.value||``).trim()}),pr.value=!1,e.value=[]}catch(e){m(Z(e,`批量修改分类失败`),`error`)}finally{hr.value=!1}}}let yr=T(!1),br=T(null),xr=T(``),Sr=T(null);function Cr(e){Ve.value=e;let{ids:t}=Ue(e);if(!t.value.size){m(`请先选择服务器`,`warning`);return}yr.value=!0}async function wr(){let{items:e,ids:t}=Ue(Ve.value),n=[...t.value];if(n.length){yr.value=!1;try{await u(`detect-path`,n),e.value=[]}catch(e){m(Z(e,`提交检测任务失败`),`error`)}}}async function Tr(e){Ve.value=e;let{items:t}=Ue(e),n=xt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}try{await u(`health-check`,n)}catch(e){m(Z(e,`提交健康检查失败`),`error`)}}async function Er(e){Ve.value=e;let{items:t}=Ue(e),n=xt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}try{await u(`install-agent`,n)}catch(e){m(Z(e,`提交安装任务失败`),`error`)}}async function Dr(e){Ve.value=e;let{items:t}=Ue(e),n=xt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}if(confirm(`确定对 ${n.length} 台服务器升级 Agent?`))try{await u(`upgrade-agent`,n)}catch(e){m(Z(e,`提交升级任务失败`),`error`)}}async function Or(e){Ve.value=e;let{items:t}=Ue(e),n=xt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}if(confirm(`确定对 ${n.length} 台已安装 Agent 的服务器执行卸载?\n将停止服务、删除 /opt/nexus-agent 并清除 Agent 状态。`))try{await u(`uninstall-agent`,n)}catch(e){m(Z(e,`提交卸载任务失败`),`error`)}}function kr(e){br.value=e.id,xr.value=e.target_path?.trim()||`/www/wwwroot`}function Ar(){br.value=null,xr.value=``,Sr.value=null}async function jr(e){let t=xr.value.trim();if(!t){m(`目标路径不能为空`,`warning`);return}if(!t.startsWith(`/`)){m(`目标路径须为绝对路径(以 / 开头)`,`warning`);return}Sr.value=e;try{await E.put(`/servers/${e}`,{target_path:t}),m(`目标路径已更新`),Ar(),await Promise.all([kt(),J()]),ot(e,t)}catch(e){m(Z(e,`保存失败`),`error`)}finally{Sr.value=null}}async function Mr(e){Ve.value=e;let{items:t,ids:n}=Ue(e);if(n.value.size&&confirm(`确定删除选中的 ${n.value.size} 台服务器?`)){for(let e of n.value)try{await E.delete(`/servers/${e}`)}catch{}t.value=[],m(`批量删除完成`),await Promise.all([kt(),J()]),cr()}}let Nr=T(!1),Pr=T(``),Fr=T(22),Ir=T(8601),Lr=T(!1),$=T(null);function Rr(e){let t=e.trim();if(!t)return``;let n=t.indexOf(` `);if(n>=0)return t.slice(n+1).trim();let r=t.lastIndexOf(`,`);if(r>=0){let e=t.slice(r+1).trim(),n=t.slice(0,r).trim();if(e&&n&&(e.includes(`.`)||e.includes(`:`)))return e}return t}function zr(e){let t=new Set,n=[],r=0;for(let i of e.split(` -`)){let e=Rr(i);if(!e)continue;r+=1;let a=e.toLowerCase();t.has(a)||(t.add(a),n.push(e))}return{unique:n.length,raw:r,deduped:Math.max(0,r-n.length)}}let Br=P(()=>zr(Pr.value));function Vr(){Pr.value=``,Fr.value=22,Ir.value=8601,$.value=null,Nr.value=!0}async function Hr(){let e=Pr.value.trim();if(!e){m(`请填写至少一个 IP 或域名`,`error`);return}Lr.value=!0,$.value=null;try{let t=await E.post(`/servers/add-by-ips-batch`,{text:e,port:Fr.value||22,agent_port:Ir.value||8601});$.value=t,t.created>0&&(kt(),cr()),t.pending>0&&In(),m(t.pending>0?`添加完成:${t.created} 台成功,${t.pending} 台进入连接失败列表`:`添加完成:${t.created} 台成功`,t.pending>0?`warning`:`success`)}catch(e){m(Z(e,`批量添加失败`),`error`)}finally{Lr.value=!1}}async function Ur(){if(!Ht.value)return;let e=Ht.value.id;Vt.value=!0;try{await E.delete(`/servers/${e}`),Bt.value=!1,L.value=L.value.filter(t=>t!==e),R.value=R.value.filter(t=>t!==e),await Promise.all([kt(),J()]),cr(),m(`已删除`)}catch(e){m(Z(e,`删除失败`),`error`)}finally{Vt.value=!1}}async function Wr(e=!1){await Promise.all([cr(e),bt(e),kt(e)]),e||await In()}return Le(e=>Wr(e)),(r,s)=>(y(),j(n,{fluid:``,class:`pa-4 pa-md-6`},{default:S(()=>[or.value?(y(),j(at,{key:0,type:`heading, text`,class:`mb-4`})):(y(),j(rt,{key:1,items:sr.value},null,8,[`items`])),V(q,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:S(()=>[V(K,{class:`d-flex align-center`},{default:S(()=>[s[64]||=A(` 服务器列表 `,-1),V(O),V(X,{modelValue:F(D),"onUpdate:modelValue":[s[0]||=e=>f(D)?D.value=e:null,F(he)],"prepend-inner-icon":`mdi-magnify`,label:`搜索...`,density:`compact`,"hide-details":``,rounded:``,style:{"max-width":`240px`},variant:`outlined`},null,8,[`modelValue`,`onUpdate:modelValue`]),V(v,{color:`primary`,variant:`flat`,class:`ml-3`,"prepend-icon":`mdi-plus`,size:`small`,onClick:F($n)},{default:S(()=>[...s[57]||=[A(` 添加 `,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-flash`,size:`small`,onClick:Pn},{default:S(()=>[...s[58]||=[A(` 快速添加(IP) `,-1)]]),_:1}),V(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-ip-network`,size:`small`,onClick:Vr},{default:S(()=>[...s[59]||=[A(` 批量添加 `,-1)]]),_:1}),V(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-key-outline`,size:`small`,onClick:s[1]||=e=>re.value=!0},{default:S(()=>[...s[60]||=[A(` 凭据 `,-1)]]),_:1}),V(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-folder-search`,size:`small`,disabled:ir.value.size===0,title:`请先勾选至少一台服务器`,onClick:s[2]||=e=>Cr(`main`)},{default:S(()=>[...s[61]||=[A(` 检测路径 `,-1)]]),_:1},8,[`disabled`]),V(o,{modelValue:St.value,"onUpdate:modelValue":s[3]||=e=>St.value=e,mandatory:``,density:`compact`,class:`ml-2`,color:`primary`,variant:`outlined`,divided:``},{default:S(()=>[V(v,{value:`table`,size:`small`,"prepend-icon":`mdi-table`},{default:S(()=>[...s[62]||=[A(`列表`,-1)]]),_:1}),V(v,{value:`group`,size:`small`,"prepend-icon":`mdi-folder-multiple`},{default:S(()=>[...s[63]||=[A(`分类`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),V(G,{class:`pt-0 pb-2`},{default:S(()=>[N(`div`,en,[s[65]||=N(`span`,{class:`text-caption text-medium-emphasis mr-1`},`分类筛选`,-1),V(H,{color:F(ue)===``?`primary`:void 0,variant:F(ue)===``?`flat`:`outlined`,size:`small`,label:``,onClick:s[4]||=e=>Pt(``)},{default:S(()=>[A(` 全部 `+I(F(_t)),1)]),_:1},8,[`color`,`variant`]),(y(!0),B(ge,null,h(F(st),e=>(y(),j(H,{key:e.name,color:F(ue)===e.name?`primary`:void 0,variant:F(ue)===e.name?`flat`:`outlined`,size:`small`,label:``,onClick:t=>Pt(e.name)},{default:S(()=>[A(I(e.label)+` `+I(e.count),1)]),_:2},1032,[`color`,`variant`,`onClick`]))),128)),F(gt)?(y(),j(ce,{key:0,indeterminate:``,size:`16`,width:`2`})):k(``,!0),V(O),V(v,{size:`small`,variant:`tonal`,disabled:F(le)===0,loading:It.value,onClick:Lt},{default:S(()=>[A(` 全选筛选结果 (`+I(F(le))+`) `,1)]),_:1},8,[`disabled`,`loading`])])]),_:1}),V(Et,{count:ir.value.size,onBatchCategory:s[5]||=e=>_r(`main`),onHealthCheck:s[6]||=e=>Tr(`main`),onDetectPath:s[7]||=e=>Cr(`main`),onInstallAgent:s[8]||=e=>Er(`main`),onUpgradeAgent:s[9]||=e=>Dr(`main`),onUninstallAgent:s[10]||=e=>Or(`main`),onBatchDelete:s[11]||=e=>Mr(`main`),onClear:s[12]||=e=>rr.value=[]},null,8,[`count`]),St.value===`table`&&F(x)&&!F(ie).length?(y(),j(at,{key:0,type:`table-heading, table-row-divider@8`,class:`mb-4`})):k(``,!0),St.value===`table`?w((y(),j(Qe,{key:1,items:F(ie),headers:ar,"items-length":F(le),loading:F(x),page:F(ae),"items-per-page":F(oe),"items-per-page-options":p,hover:``,density:`comfortable`,"item-value":`id`,"show-select":``,modelValue:rr.value,"onUpdate:modelValue":s[15]||=e=>rr.value=e,"sort-by":F(fe),"onUpdate:sortBy":s[16]||=e=>f(fe)?fe.value=e:null,expanded:F(Fe),"onUpdate:expanded":s[17]||=e=>f(Fe)?Fe.value=e:null,"show-expand":``,class:`server-main-table`,"onUpdate:page":Ye,"onUpdate:itemsPerPage":Xe},{"item.data-table-expand":S(()=>[...s[66]||=[]]),"item.status":S(({item:e})=>[V(H,{color:F(nt)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:S(()=>[A(I(F(tt)(e.status)),1)]),_:2},1032,[`color`])]),"item.name":S(({item:e})=>[N(`div`,{class:`d-flex align-center cursor-pointer text-primary`,onClick:z(t=>qe(e),[`stop`])},[V(se,{size:`small`,class:`mr-1`},{default:S(()=>[A(I(L.value.includes(e.id)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024),N(`span`,nn,I(e.name),1)],8,tn)]),"item.domain":S(({item:e})=>[N(`span`,rn,I(e.domain)+`:`+I(e.port),1)]),"item.category":S(({item:e})=>[e.category?(y(),j(H,{key:0,color:`primary`,variant:`tonal`,size:`small`,label:``},{default:S(()=>[A(I(e.category),1)]),_:2},1024)):(y(),B(`span`,an,`—`))]),"item.target_path":S(({item:e})=>[br.value===e.id?(y(),B(`div`,{key:0,class:`d-flex align-center ga-1`,onClick:s[14]||=z(()=>{},[`stop`])},[V(X,{modelValue:xr.value,"onUpdate:modelValue":s[13]||=e=>xr.value=e,density:`compact`,variant:`outlined`,"hide-details":``,placeholder:`/www/wwwroot`,style:{"max-width":`140px`},onKeyup:[Te(t=>jr(e.id),[`enter`]),Te(Ar,[`esc`])]},null,8,[`modelValue`,`onKeyup`]),V(v,{icon:`mdi-check`,size:`x-small`,variant:`text`,color:`primary`,loading:Sr.value===e.id,onClick:t=>jr(e.id)},null,8,[`loading`,`onClick`]),V(v,{icon:`mdi-close`,size:`x-small`,variant:`text`,onClick:Ar})])):(y(),B(`div`,on,[N(`span`,{class:`text-caption text-medium-emphasis text-truncate d-inline-block`,style:{"max-width":`140px`},title:e.target_path||`未配置`},I(e.target_path?.trim()||`—`),9,sn),V(v,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:z(t=>kr(e),[`stop`])},null,8,[`onClick`])]))]),"item.agent_version":S(({item:e})=>[N(`span`,cn,I(e.agent_version||`—`),1)]),"item.last_heartbeat":S(({item:e})=>[N(`span`,ln,I(F(it)(e.last_heartbeat)),1)]),"item.actions":S(({item:e})=>[N(`div`,un,[V(v,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:z(t=>lr(e),[`stop`])},{default:S(()=>[...s[67]||=[A(`终端`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(t=>ur(e),[`stop`])},{default:S(()=>[...s[68]||=[A(`文件`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:z(t=>dr(e),[`stop`])},{default:S(()=>[...s[69]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:z(t=>fr(e),[`stop`])},{default:S(()=>[...s[70]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])])]),"expanded-row":S(({columns:e,item:t})=>[N(`tr`,null,[N(`td`,{colspan:e.length,class:`pa-0`},[V(Nt,{server:t,onEditPath:e=>kr(t)},null,8,[`server`,`onEditPath`])],8,dn)])]),"no-data":S(()=>[...s[71]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无服务器数据`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`,`modelValue`,`sort-by`,`expanded`])),[[pe,!(F(x)&&!F(ie).length)]]):(y(),B(`div`,fn,[Dt.value?(y(),B(`div`,pn,[V(ce,{indeterminate:``,size:`32`}),s[72]||=N(`div`,{class:`text-caption text-medium-emphasis mt-2`},`按分类加载中…`,-1)])):Mt.value.length===0?(y(),B(`div`,mn,` 暂无服务器数据 `)):(y(),j(ht,{key:2,modelValue:Ot.value,"onUpdate:modelValue":s[20]||=e=>Ot.value=e,multiple:``,variant:`accordion`,class:`servers-category-panels`},{default:S(()=>[(y(!0),B(ge,null,h(Mt.value,t=>(y(),j(pt,{key:t.category},{default:S(()=>[V(mt,null,{default:S(()=>[N(`div`,hn,[V(H,{color:`primary`,variant:`tonal`,size:`small`,label:``},{default:S(()=>[A(I(t.label),1)]),_:2},1024),N(`span`,gn,I(t.servers.length)+` 台`,1),V(O),V(v,{size:`x-small`,variant:`text`,onClick:z(e=>zt(t.servers),[`stop`])},{default:S(()=>[A(I(Rt(t.servers)?`取消本组`:`全选本组`),1)]),_:2},1032,[`onClick`])])]),_:2},1024),V(ft,null,{default:S(()=>[V(e,{density:`compact`,hover:``},{default:S(()=>[s[74]||=N(`thead`,null,[N(`tr`,null,[N(`th`,{style:{width:`40px`}}),N(`th`,null,`状态`),N(`th`,null,`名称`),N(`th`,null,`地址`),N(`th`,null,`目标路径`),N(`th`,{class:`text-end`},`操作`)])],-1),N(`tbody`,null,[(y(!0),B(ge,null,h(t.servers,e=>(y(),B(`tr`,{key:e.id},[N(`td`,{onClick:s[18]||=z(()=>{},[`stop`])},[V(He,{"model-value":ir.value.has(e.id),density:`compact`,"hide-details":``,"onUpdate:modelValue":t=>Ft(e.id,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),N(`td`,null,[V(H,{color:F(nt)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:S(()=>[A(I(F(tt)(e.status)),1)]),_:2},1032,[`color`])]),N(`td`,_n,I(e.name),1),N(`td`,vn,I(e.domain)+`:`+I(e.port),1),N(`td`,yn,I(e.target_path?.trim()||`—`),1),N(`td`,{class:`text-end`,onClick:s[19]||=z(()=>{},[`stop`])},[V(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>dr(e)},{default:S(()=>[...s[73]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`]))]))]),_:1}),V(Wt,{servers:De.value,loading:ke.value,total:Oe.value,page:Ae.value,"items-per-page":je.value,"items-per-page-options":p,"expanded-ids":R.value,"selected-items":U.value,"onUpdate:selectedItems":s[21]||=e=>U.value=e,"sort-by":F(fe),"onUpdate:sortBy":s[22]||=e=>f(fe)?fe.value=e:null,"select-all-loading":Be.value,"editing-path-id":br.value,"editing-path-value":xr.value,"saving-path-id":Sr.value,onRefresh:s[23]||=e=>J(),"onUpdate:page":Y,"onUpdate:itemsPerPage":Ze,"onUpdate:expandedIds":s[24]||=e=>R.value=e,"onUpdate:editingPathValue":s[25]||=e=>xr.value=e,onSelectAllFiltered:Ke,onToggleExpand:Je,onTerminal:lr,onFiles:ur,onDetectPathSingle:$e,onEdit:dr,onDelete:fr,onEditPath:kr,onSavePath:jr,onCancelEditPath:Ar,onBatchCategory:s[26]||=e=>_r(`unset`),onHealthCheck:s[27]||=e=>Tr(`unset`),onDetectPath:s[28]||=e=>Cr(`unset`),onInstallAgent:s[29]||=e=>Er(`unset`),onUpgradeAgent:s[30]||=e=>Dr(`unset`),onUninstallAgent:s[31]||=e=>Or(`unset`),onBatchDelete:s[32]||=e=>Mr(`unset`),onClearSelection:s[33]||=e=>U.value=[]},null,8,[`servers`,`loading`,`total`,`page`,`items-per-page`,`expanded-ids`,`selected-items`,`sort-by`,`select-all-loading`,`editing-path-id`,`editing-path-value`,`saving-path-id`]),V(q,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:S(()=>[V(K,{class:`d-flex align-center`},{default:S(()=>[s[76]||=A(` 连接失败列表 `,-1),qt.value.length?(y(),j(H,{key:0,size:`small`,class:`ml-2`,color:`error`,variant:`tonal`,label:``},{default:S(()=>[A(I(qt.value.length),1)]),_:1})):k(``,!0),V(O),V(v,{variant:`text`,size:`small`,"prepend-icon":`mdi-refresh`,loading:Jt.value,onClick:In},{default:S(()=>[...s[75]||=[A(` 刷新 `,-1)]]),_:1},8,[`loading`])]),_:1}),V(t,{items:qt.value,headers:Nn,loading:Jt.value,hover:``,density:`comfortable`,"items-per-page":10},{"item.address":S(({item:e})=>[N(`span`,bn,I(e.domain)+`:`+I(e.port),1)]),"item.last_attempt_at":S(({item:e})=>[N(`span`,xn,I(F(it)(e.last_attempt_at)),1)]),"item.last_error":S(({item:e})=>[N(`span`,{class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`320px`},title:e.last_error},I(e.last_error||`—`),9,Sn)]),"item.actions":S(({item:e})=>[V(v,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,loading:Xt.value===e.id,onClick:t=>Rn(e)},{default:S(()=>[...s[77]||=[A(` 重试 `,-1)]]),_:1},8,[`loading`,`onClick`]),V(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>zn(e)},{default:S(()=>[...s[78]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...s[79]||=[N(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无连接失败记录`,-1)]]),_:1},8,[`items`,`loading`])]),_:1}),V(wt,{modelValue:F(Vn),"onUpdate:modelValue":s[34]||=e=>f(Vn)?Vn.value=e:null,form:F(Hn),"is-editing":F(Un),saving:F(Wn),"lookups-loading":F(Gn),"password-presets":F(Kn),"ssh-key-presets":F(qn),"category-options":F(Jn),platforms:F(Yn),nodes:F(Xn),"edit-hints":F(Zn),"files-elevation-items":F(Qn),onSave:F(nr)},null,8,[`modelValue`,`form`,`is-editing`,`saving`,`lookups-loading`,`password-presets`,`ssh-key-presets`,`category-options`,`platforms`,`nodes`,`edit-hints`,`files-elevation-items`,`onSave`]),V(Q,{modelValue:Bt.value,"onUpdate:modelValue":s[36]||=e=>Bt.value=e,"max-width":`400`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[80]||=[A(`确认删除`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[81]||=A(`确定要删除服务器 `,-1),N(`strong`,null,I(Ht.value?.name),1),s[82]||=A(` 吗?`,-1)]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[35]||=e=>Bt.value=!1},{default:S(()=>[...s[83]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`error`,variant:`flat`,onClick:Ur,loading:Vt.value},{default:S(()=>[...s[84]||=[A(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:Ut.value,"onUpdate:modelValue":s[41]||=e=>Ut.value=e,"max-width":`480`,persistent:``},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[85]||=[A(`快速添加服务器(仅 IP)`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[86]||=N(`p`,{class:`text-body-2 text-medium-emphasis mb-3`},` 将按顺序轮询凭据管理中的全部密码预设与 SSH 密钥预设尝试登录,首个成功即加入服务器列表。 `,-1),V(X,{modelValue:Kt.value.domain,"onUpdate:modelValue":s[37]||=e=>Kt.value.domain=e,label:`IP 或域名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`192.168.1.10`,rules:[e=>!!e?.trim()||`必填`]},null,8,[`modelValue`,`rules`]),V(X,{modelValue:Kt.value.port,"onUpdate:modelValue":s[38]||=e=>Kt.value.port=e,modelModifiers:{number:!0},label:`SSH 端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),V(X,{modelValue:Kt.value.name,"onUpdate:modelValue":s[39]||=e=>Kt.value.name=e,label:`显示名称(可选)`,variant:`outlined`,density:`compact`,hint:`留空则使用 IP`,"persistent-hint":``},null,8,[`modelValue`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,disabled:Gt.value,onClick:s[40]||=e=>Ut.value=!1},{default:S(()=>[...s[87]||=[A(`取消`,-1)]]),_:1},8,[`disabled`]),V(v,{color:`primary`,variant:`flat`,loading:Gt.value,onClick:Ln},{default:S(()=>[...s[88]||=[A(`开始轮询`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:Zt.value,"onUpdate:modelValue":s[43]||=e=>Zt.value=e,"max-width":`560`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,{class:`text-error`},{default:S(()=>[...s[89]||=[A(`SSH 连接失败`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[90]||=N(`p`,{class:`text-body-2 mb-3`},`已尝试全部凭据预设,均未登录成功。该服务器已加入「连接失败列表」,可稍后重试。`,-1),Qt.value.length?(y(),j(we,{key:0,density:`compact`,class:`bg-grey-lighten-4 rounded`},{default:S(()=>[(y(!0),B(ge,null,h(Qt.value,(e,t)=>(y(),j(Ee,{key:t},{default:S(()=>[V(M,{class:`text-body-2`},{default:S(()=>[A(` [`+I(e.preset_type===`password`?`密码`:e.preset_type===`system`?`系统`:`密钥`)+`] `+I(e.preset_name)+` (`+I(e.username)+`) `,1)]),_:2},1024),V(be,{class:`text-error`},{default:S(()=>[A(I(e.error),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(y(),B(`p`,Cn,I(kn.value),1))]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{color:`primary`,variant:`flat`,onClick:s[42]||=e=>Zt.value=!1},{default:S(()=>[...s[91]||=[A(`知道了`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:An.value,"onUpdate:modelValue":s[45]||=e=>An.value=e,"max-width":`400`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[92]||=[A(`确认删除`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[93]||=A(`从失败列表移除 `,-1),N(`strong`,null,I(jn.value?.domain),1),s[94]||=A(`?`,-1)]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[44]||=e=>An.value=!1},{default:S(()=>[...s[95]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`error`,variant:`flat`,loading:Mn.value,onClick:Bn},{default:S(()=>[...s[96]||=[A(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:yr.value,"onUpdate:modelValue":s[47]||=e=>yr.value=e,"max-width":`480`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[97]||=[A(`自动检测目标路径`,-1)]]),_:1}),V(G,null,{default:S(()=>[N(`p`,wn,[s[98]||=A(` 将对选中的 `,-1),N(`strong`,null,I(We.value),1),s[99]||=A(` 台服务器执行 SSH 检测。 `,-1)]),s[100]||=N(`p`,{class:`text-body-2 text-medium-emphasis mb-0`},[A(` 在远程 `),N(`code`,null,`/www/wwwroot`),A(` 下搜索 `),N(`code`,null,`workerman.bat`),A(`,找到后将所在目录写入各服务器的 `),N(`strong`,null,`target_path`),A(`(找到第一个即停止)。 `)],-1)]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[46]||=e=>yr.value=!1},{default:S(()=>[...s[101]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:wr},{default:S(()=>[...s[102]||=[A(`开始检测`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:pr.value,"onUpdate:modelValue":s[50]||=e=>pr.value=e,"max-width":`420`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[103]||=[A(`批量修改分类`,-1)]]),_:1}),V(G,null,{default:S(()=>[N(`div`,Tn,` 已选择 `+I(We.value)+` 台服务器,将统一设置为以下分类(留空表示清除分类)。 `,1),V(Ct,{modelValue:mr.value,"onUpdate:modelValue":s[48]||=e=>mr.value=e,items:gr.value,label:`分类`,variant:`outlined`,density:`compact`,clearable:``,"hide-details":``,placeholder:`输入或选择分类`},null,8,[`modelValue`,`items`])]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[49]||=e=>pr.value=!1},{default:S(()=>[...s[104]||=[A(`取消`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,loading:hr.value,onClick:vr},{default:S(()=>[...s[105]||=[A(` 确认 `,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Q,{modelValue:Nr.value,"onUpdate:modelValue":s[55]||=e=>Nr.value=e,"max-width":`560`},{default:S(()=>[V(q,{border:``},{default:S(()=>[V(K,null,{default:S(()=>[...s[106]||=[A(`批量添加服务器`,-1)]]),_:1}),V(G,null,{default:S(()=>[s[107]||=N(`div`,{class:`text-body-2 text-medium-emphasis mb-3`},` 每行一个 IP 或域名;也可使用「名称 + Tab + IP」附带显示名称。空白行自动忽略,重复地址自动去重(不区分大小写)。SSH 凭据从「凭据」预设轮询匹配;连接失败将进入下方「连接失败列表」。 `,-1),V(dt,{modelValue:Pr.value,"onUpdate:modelValue":s[51]||=e=>Pr.value=e,label:`IP / 域名列表(可选:名称 Tab IP)`,variant:`outlined`,density:`compact`,rows:`10`,"auto-grow":``,placeholder:`武汉示例公司 192.168.1.10 -192.168.1.11 -10.0.0.5`},null,8,[`modelValue`]),Br.value.unique>0?(y(),B(`div`,En,[A(` 将添加 `+I(Br.value.unique)+` 台 `,1),Br.value.deduped>0?(y(),B(`span`,Dn,`(已去重 `+I(Br.value.deduped)+` 个重复)`,1)):k(``,!0)])):k(``,!0),V(a,{dense:``,class:`mt-1`},{default:S(()=>[V(i,{cols:`6`},{default:S(()=>[V(X,{modelValue:Fr.value,"onUpdate:modelValue":s[52]||=e=>Fr.value=e,modelModifiers:{number:!0},label:`SSH 端口`,type:`number`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1}),V(i,{cols:`6`},{default:S(()=>[V(X,{modelValue:Ir.value,"onUpdate:modelValue":s[53]||=e=>Ir.value=e,modelModifiers:{number:!0},label:`Agent 端口`,type:`number`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1})]),_:1}),$.value?(y(),j(ne,{key:1,type:$.value.pending>0?`warning`:`success`,density:`compact`,variant:`tonal`,class:`mt-3`},{default:S(()=>[A(` 共 `+I($.value.total)+` 台:成功 `+I($.value.created)+`,待连接 `+I($.value.pending)+`,跳过 `+I($.value.skipped)+` `,1),($.value.duplicates_removed??0)>0?(y(),B(`span`,On,` (输入 `+I($.value.input_lines)+` 行,去重 `+I($.value.duplicates_removed)+` 个) `,1)):k(``,!0)]),_:1},8,[`type`])):k(``,!0)]),_:1}),V(W,null,{default:S(()=>[V(O),V(v,{variant:`text`,onClick:s[54]||=e=>Nr.value=!1},{default:S(()=>[...s[108]||=[A(`关闭`,-1)]]),_:1}),V(v,{color:`primary`,variant:`flat`,onClick:Hr,loading:Lr.value,disabled:!Pr.value.trim()},{default:S(()=>[...s[109]||=[A(` 开始添加 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),V(Yt,{modelValue:re.value,"onUpdate:modelValue":s[56]||=e=>re.value=e},null,8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-44874d03`]]);export{kn as default}; \ No newline at end of file diff --git a/web/app/assets/ServersPage-NKayZaaE.js b/web/app/assets/ServersPage-NKayZaaE.js new file mode 100644 index 00000000..37bbecef --- /dev/null +++ b/web/app/assets/ServersPage-NKayZaaE.js @@ -0,0 +1,5 @@ +import{a as e,t}from"./VDataTable-PKQbaP3_.js";import{n,t as r}from"./useSnackbar-P0rXZaHt.js";import{n as i,t as a}from"./VRow-Jrv7cE2K.js";import{$ as o,$r as s,Ar as c,At as l,Dr as u,Er as d,Gr as f,Ht as p,In as m,Ir as h,Ln as g,Mr as ee,Mt as te,N as ne,Nr as _,P as v,Pr as y,Q as re,Qn as b,S as ie,Sr as x,Un as ae,Ur as S,Vr as C,W as oe,Wr as w,X as se,Xr as T,Xt as E,Y as ce,Zn as le,Zr as D,_ as O,_r as k,ai as ue,br as A,bt as de,cn as fe,cr as pe,ct as me,d as he,dr as ge,en as j,er as _e,f as ve,g as ye,gn as be,gr as M,h as N,hr as P,ii as xe,jn as Se,l as Ce,lr as we,m as Te,mr as F,n as Ee,ni as I,oi as L,p as De,pn as Oe,r as ke,t as Ae,tn as je,tr as R,un as z,ur as B,v as Me,vr as V,vt as Ne,wn as Pe,xr as H,y as U,yn as W,yt as Fe}from"./index-Bplw5zZe.js";import{t as Ie}from"./usePageActivateRefresh-C2xQnJah.js";import{n as Le,t as Re}from"./dataTable-esDY4cOk.js";import{n as ze}from"./paginatedFetch-DmzXeKPu.js";import{a as G,n as K,r as q,t as J}from"./VCard-DwK3U69w.js";import{a as Be,c as Ve,d as He,i as Ue,l as We,n as Ge,o as Ke,r as Y,s as qe,t as X,u as Je}from"./VSelect-C2IkZQ4Y.js";import{h as Ye,n as Xe,p as Ze,t as Z}from"./VTextField-DVnxh9lX.js";import{t as Qe}from"./VDataTableServer-D1N34nyt.js";import{t as Q}from"./apiError-D7r0BvbZ.js";import{t as $e}from"./labels-C-A2d08W.js";import{a as et,i as tt,n as nt,r as rt,t as it}from"./VSkeletonLoader-vo9o5RDt.js";import{t as at}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as $}from"./VDialog-DPwgR17F.js";import{r as ot}from"./validation-BMzYTJL4.js";import{t as st}from"./usePageAutoRefresh-B7w3XG1Y.js";import{n as ct,t as lt}from"./useServerCategories-D9bG0IAJ.js";import{t as ut}from"./VTextarea-Cn1CYtMX.js";import{i as dt,n as ft,r as pt,t as mt}from"./VExpansionPanels-B73hBz74.js";var ht={status:`status`,name:`name`,domain:`domain`,address:`domain`,category:`category`,target_path:`target_path`,agent_version:`agent_version`,agent:`agent_version`,last_heartbeat:`heartbeat`,heartbeat:`heartbeat`};function gt(e){if(!e.length)return{};let t=ht[e[0].key];return t?{sort_by:t,sort_order:e[0].order}:{}}function _t(e){let t=e?.targetPathUnset,n=T([]),r=T(!1),i=T(1),a=T(20),o=T(0),s=T(``),c=T(``),l=T([]);function u(){return{search:s.value||void 0,category:c.value||void 0,...gt(l.value),...t===void 0?{}:{target_path_unset:t}}}async function d(e){e?.silent||(r.value=!0);try{let e=await ze(`/servers/`,u(),i.value,a.value);n.value=e.items,o.value=e.total,a.value===-1&&(i.value=1)}catch(e){throw n.value=[],o.value=0,e}finally{r.value=!1}}let f;_(()=>clearTimeout(f));function p(){clearTimeout(f),f=setTimeout(()=>{i.value=1,d()},300)}function m(e){i.value=e,d()}function h(e){a.value=e,i.value=1,d()}function g(e){c.value=e,i.value=1,d()}C(l,()=>{i.value=1,d()},{deep:!0});async function ee(){return(await ze(`/servers/`,u(),1,-1)).items}return{servers:n,loading:r,page:i,itemsPerPage:a,total:o,search:s,categoryFilter:c,sortBy:l,loadServers:d,onSearch:p,onPageChange:m,onItemsPerPageChange:h,onCategoryChange:g,loadAllServers:ee,listQueryParams:u}}function vt(e){let t=(e??``).trim();return t===``||t===`/www/wwwroot`}function yt(e){if(typeof e==`number`&&Number.isFinite(e)&&e>0)return Math.trunc(e);if(typeof e==`string`&&/^\d+$/.test(e.trim())){let t=Number(e.trim());return Number.isFinite(t)&&t>0?t:null}return null}function bt(e){let t=[];for(let n of e){let e=yt(typeof n==`object`&&n&&`id`in n?n.id:n);e!==null&&t.push(e)}return[...new Set(t)]}var xt=Pe({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Be({filterKeys:[`title`]}),...Ge({hideNoData:!0,returnObject:!0}),...b(Xe({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`])},`VCombobox`),St=W()({name:`VCombobox`,props:xt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:search":e=>!0,"update:menu":e=>!0},setup(e,{emit:t,slots:n}){let{t:r}=fe(),i=T(),a=D(!1),o=D(!0),c=D(!1),l=T(),f=T(),p=D(-1),h=!1,{items:ee,transformIn:te,transformOut:ne}=ve(e),{textColorClasses:_,textColorStyles:v}=me(()=>i.value?.color),{InputIcon:y}=Ye(e),b=z(e,`modelValue`,[],e=>te(_e(e)),t=>{let n=ne(t);return e.multiple?n:n[0]??null}),x=Ze(e),S=s(()=>e.closableChips&&!x.isReadonly.value&&!x.isDisabled.value),oe=F(()=>!!(e.chips||n.chip)),w=F(()=>oe.value||!!n.selection),E=D(!e.multiple&&!w.value?b.value[0]?.title??``:``),ce=D(null),O=F({get:()=>E.value,set:async t=>{if(E.value=t??``,t===null||t===``&&!e.multiple&&!w.value?b.value=[]:!e.multiple&&!w.value&&(b.value=[he(e,t)],u(()=>f.value?.scrollToIndex(0))),t&&e.multiple&&e.delimiters?.length){let e=Xe(t);e.length>1&&(Qe(e),E.value=``)}t||(p.value=-1),o.value=!t}}),k=F(()=>typeof e.counterValue==`function`?e.counterValue(b.value):typeof e.counterValue==`number`?e.counterValue:e.multiple?b.value.length:O.value.length),{filteredItems:de,getMatches:pe}=Ke(e,ee,()=>ce.value??(e.alwaysFilter||!o.value?O.value:``)),j=F(()=>e.hideSelected&&ce.value===null?de.value.filter(e=>!b.value.some(t=>t.value===e.value)):de.value),ye=F(()=>e.hideNoData&&!j.value.length||x.isReadonly.value||x.isDisabled.value),M=z(e,`menu`),N=F({get:()=>M.value,set:e=>{M.value&&!e&&l.value?.ΨopenChildren.size||e&&ye.value||(M.value=e)}}),{menuId:we,ariaExpanded:I,ariaControls:L}=Y(e,N);C(E,e=>{h?u(()=>h=!1):a.value&&!N.value&&(N.value=!0),t(`update:search`,e)}),C(b,t=>{!e.multiple&&!w.value&&(E.value=t[0]?.title??``)});let je=F(()=>b.value.map(e=>e.value)),B=F(()=>j.value.find(e=>e.type===`item`&&!e.props.disabled)),V=F(()=>(e.autoSelectFirst===!0||e.autoSelectFirst===`exact`&&O.value===B.value?.title)&&j.value.length>0&&!o.value&&!c.value),Ne=T(),Pe=T(),W=T(),Fe=Ve(Ne,i),Ie=We(N,()=>l.value?.contentEl,()=>i.value?.controlRef),{onTabKeydown:Le}=qe({groups:[{type:`element`,contentRef:Pe},{type:`list`,contentRef:Ne,displayItemsCount:()=>j.value.length},{type:`element`,contentRef:W}],onLeave:()=>{N.value=!1,i.value?.focus()}});function Re(t){h=!0,u(()=>h=!1),e.openOnClear&&(N.value=!0)}function ze(){ye.value||(N.value=!0)}function G(e){ye.value||(a.value&&(e.preventDefault(),e.stopPropagation()),N.value=!N.value)}function K(e){e.key===`Tab`&&Le(e),Ne.value?.$el.contains(e.target)&&(Se(e)||e.key===`Backspace`)&&i.value?.focus()}function q(t){if(ae(t)||x.isReadonly.value)return;let n=i.value?.selectionStart,r=b.value.length;if([`Enter`,`ArrowDown`,`ArrowUp`].includes(t.key)&&t.preventDefault(),[`Enter`,`ArrowDown`].includes(t.key)&&(N.value=!0),[`Escape`].includes(t.key)&&(N.value=!1),V.value&&[`Enter`,`Tab`].includes(t.key)&&B.value&&!b.value.some(({value:e})=>e===B.value.value)&&X(B.value),t.key===`ArrowDown`&&V.value&&Ne.value?.focus(`next`),t.key===`Enter`&&O.value&&(X(he(e,O.value),!0,!0),w.value&&(E.value=``)),[`Backspace`,`Delete`].includes(t.key)){if(!e.multiple&&w.value&&b.value.length>0&&!O.value)return X(b.value[0],!1);if(~p.value){t.preventDefault();let e=p.value;X(b.value[p.value],!1),p.value=e>=r-1?r-2:e}else t.key===`Backspace`&&!O.value&&(p.value=r-1);return}if(e.multiple)if(t.key===`ArrowLeft`){if(p.value<0&&n&&n>0)return;let e=p.value>-1?p.value-1:r-1;b.value[e]?p.value=e:(p.value=-1,i.value?.setSelectionRange(O.value.length,O.value.length))}else if(t.key===`ArrowRight`){if(p.value<0)return;let e=p.value+1;b.value[e]?p.value=e:(p.value=-1,i.value?.setSelectionRange(0,0))}else ~p.value&&Se(t)&&(p.value=-1)}function J(t){let n=Xe(t?.clipboardData?.getData(`Text`)??``);n.length>1&&e.multiple&&(t.preventDefault(),Qe(n))}function Be(){e.eager&&f.value?.calculateVisibleItems()}function Ge(){a.value&&(l.value?.contentEl?._clickOutside?.lastMousedownWasOutside?a.value=!1:i.value?.focus()),o.value=!0,ce.value=null}function X(t,n=!0,r=!1){if(!(!t||t.props.disabled))if(e.multiple){let r=b.value.findIndex(n=>(e.valueComparator||be)(n.value,t.value)),i=n??!~r;if(~r){let e=i?[...b.value,t]:[...b.value];e.splice(r,1),b.value=e}else i&&(b.value=[...b.value,t]);e.clearOnSelect&&(O.value=``)}else{let i=n!==!1;b.value=i?[t]:[],(!o.value||e.alwaysFilter)&&E.value&&(ce.value=E.value),E.value=i&&!w.value?t.title:``,u(()=>{N.value=r,o.value=!0})}}function Xe(t){let n=[` +`,...e.delimiters??[]].map(g).join(`|`);return t.split(RegExp(`(?:${n})+`))}async function Qe(t){for(let n of t)n=n.trim(),n&&(X(he(e,n)),await u())}function Q(e){a.value=!0,setTimeout(()=>{c.value=!0})}function $e(e){if(c.value=!1,!i.value?.$el.contains(e.relatedTarget)){if(Ie(e))return;a.value=!1}}let et=0;function tt(){et=performance.now()}function nt(e){let t=e.relatedTarget;((l.value?.contentEl)?.contains(t)||!t&&performance.now()-et<10)&&(a.value=!0)}return C(a,(t,n)=>{if(!(t||t===n)&&(p.value=-1,N.value=!1,O.value)){if(e.multiple){X(he(e,O.value));return}if(!w.value)return;b.value.some(({title:e})=>e===O.value)?E.value=``:X(he(e,O.value))}}),C(N,t=>{if(!e.hideSelected&&t&&b.value.length&&o.value){let t=j.value.findIndex(t=>b.value.some(n=>(e.valueComparator||be)(n.value,t.value)));R&&window.requestAnimationFrame(()=>{t>=0&&f.value?.scrollToIndex(t)})}t&&(ce.value=null)}),C(ee,(e,t)=>{N.value||a.value&&!t.length&&e.length&&(N.value=!0)}),Oe(()=>{let t=!!(!e.hideNoData||j.value.length||n[`prepend-item`]||n[`append-item`]||n[`no-data`]),s=b.value.length>0,c=Z.filterProps(e),u={search:O,filteredItems:de.value};return H(Z,d({ref:i},c,{modelValue:O.value,"onUpdate:modelValue":e=>O.value=e,focused:a.value,"onUpdate:focused":e=>a.value=e,validationValue:b.externalValue,counterValue:k.value,dirty:s,class:[`v-combobox`,{"v-combobox--active-menu":N.value,"v-combobox--chips":!!e.chips,"v-combobox--selection-slot":!!w.value,"v-combobox--selecting-index":p.value>-1,[`v-combobox--${e.multiple?`multiple`:`single`}`]:!0},e.class],style:e.style,readonly:x.isReadonly.value,placeholder:s?void 0:e.placeholder,"onClick:clear":Re,"onMousedown:control":ze,onKeydown:q,onPaste:J,onBlur:nt,"aria-expanded":I.value,"aria-controls":L.value}),{...n,default:({id:i})=>P(ge,null,[H(Ee,d({id:we.value,ref:l,modelValue:N.value,"onUpdate:modelValue":e=>N.value=e,activator:`parent`,disabled:ye.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Be,onAfterLeave:Ge},e.menuProps,{contentClass:[`v-combobox__content`,e.menuProps?.contentClass]}),{default:()=>[H(Ae,{elevation:e.menuElevation,onFocusin:Q,onKeydown:K,onMousedown:tt},{default:()=>[n[`menu-header`]&&P(`header`,{ref:Pe},[n[`menu-header`](u)]),t&&H(Ce,d({key:`combobox-list`,ref:Ne,filterable:!0,selected:je.value,selectStrategy:e.multiple?`independent`:`single-independent`,onMousedown:e=>e.preventDefault(),selectable:!!j.value.length,onFocusout:$e,tabindex:`-1`,"aria-live":`polite`,"aria-labelledby":`${i.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},Fe,e.listProps),{default:()=>[n[`prepend-item`]?.(),!j.value.length&&!e.hideNoData&&(n[`no-data`]?.()??H(Te,{key:`no-data`,title:r(e.noDataText)},null)),H(Je,{ref:f,renderless:!0,items:j.value,itemKey:`value`},{default:({item:t,index:r,itemRef:i})=>{let a=d(t.props,{ref:i,key:t.value,active:V.value&&t===B.value?!0:void 0,onClick:()=>X(t,null),"aria-posinset":r+1,"aria-setsize":j.value.length});return t.type===`divider`?n.divider?.({props:t.raw,index:r})??H(Me,d(t.props,{key:`divider-${r}`}),null):t.type===`subheader`?n.subheader?.({props:t.raw,index:r})??H(De,d(t.props,{key:`subheader-${r}`}),null):n.item?.({item:t.raw,internalItem:t,index:r,props:a})??H(Te,d(a,{role:`option`}),{prepend:({isSelected:n})=>P(ge,null,[e.multiple&&!e.hideSelected?H(He,{key:t.value,modelValue:n,ripple:!1,tabindex:`-1`,"aria-hidden":!0,onClick:e=>e.preventDefault()},null):void 0,t.props.prependAvatar&&H(ie,{image:t.props.prependAvatar},null),t.props.prependIcon&&H(se,{icon:t.props.prependIcon},null)]),title:()=>o.value?t.title:Ue(`v-combobox`,t.title,pe(t)?.title)})}}),n[`append-item`]?.()]}),n[`menu-footer`]&&P(`footer`,{ref:W},[n[`menu-footer`](u)])]})]}),b.value.map((t,r)=>{function i(e){e.stopPropagation(),e.preventDefault(),X(t,!1)}let a=d(U.filterProps(t.props),{"onClick:close":i,onKeydown(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),i(e))},onMousedown(e){e.preventDefault(),e.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),o=oe.value?!!n.chip:!!n.selection,s=o?m(oe.value?n.chip({item:t.raw,internalItem:t,index:r,props:a}):n.selection({item:t.raw,internalItem:t,index:r})):void 0;if(!(o&&!s))return P(`div`,{key:t.value,class:xe([`v-combobox__selection`,r===p.value&&[`v-combobox__selection--selected`,_.value]]),style:ue(r===p.value?v.value:{})},[oe.value?n.chip?H(re,{key:`chip-defaults`,defaults:{VChip:{closable:S.value,size:`small`,text:t.title}}},{default:()=>[s]}):H(U,d({key:`chip`,closable:S.value,size:`small`,text:t.title,disabled:t.props.disabled},a),null):s??P(`span`,{class:`v-combobox__selection-text`},[t.title,e.multiple&&rP(ge,null,[n[`append-inner`]?.(...t),(!e.hideNoData||e.items.length)&&e.menuIcon?H(se,{class:`v-combobox__menu-icon`,color:i.value?.fieldIconColor,icon:e.menuIcon,onMousedown:G,onClick:le,"aria-hidden":!0,tabindex:`-1`},null):void 0,e.appendInnerIcon&&H(y,{key:`append-icon`,name:`appendInner`,color:t[0].iconColor.value},null)])})}),ke({isFocused:a,isPristine:o,menu:N,search:O,selectionIndex:p,filteredItems:de,select:X},i)}}),Ct=x({__name:`ServerFormDialog`,props:{modelValue:{type:Boolean},form:{},isEditing:{type:Boolean},saving:{type:Boolean},lookupsLoading:{type:Boolean},passwordPresets:{},sshKeyPresets:{},categoryOptions:{},platforms:{},nodes:{},editHints:{},filesElevationItems:{}},emits:[`update:modelValue`,`save`],setup(e,{emit:t}){let n=e,r=t,s=F(()=>n.form.preset_id||n.isEditing?[]:[ot(`SSH 密码或选择密码预设`)]),c=F(()=>n.form.ssh_key_preset_id||n.isEditing?[]:[ot(`私钥或选择 SSH 密钥预设`)]);return(t,n)=>(y(),M($,{"model-value":e.modelValue,"max-width":`720`,scrollable:``,persistent:``,"onUpdate:modelValue":n[18]||=e=>r(`update:modelValue`,e)},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,{class:`d-flex align-center`},{default:S(()=>[A(L(e.isEditing?`编辑服务器`:`添加服务器`)+` `,1),H(O),H(v,{icon:`mdi-close`,variant:`text`,size:`small`,disabled:e.saving,onClick:n[0]||=e=>r(`update:modelValue`,!1)},null,8,[`disabled`])]),_:1}),H(Me),H(K,{class:`pt-4`},{default:S(()=>[e.lookupsLoading?(y(),M(oe,{key:0,indeterminate:``,color:`primary`,class:`mb-3`})):k(``,!0),n[21]||=P(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`基本信息`,-1),H(a,{dense:``},{default:S(()=>[H(i,{cols:`12`,sm:`6`},{default:S(()=>[H(Z,{modelValue:e.form.name,"onUpdate:modelValue":n[1]||=t=>e.form.name=t,label:`名称`,variant:`outlined`,density:`compact`,rules:[I(ot)(`服务器名称`)]},null,8,[`modelValue`,`rules`])]),_:1}),H(i,{cols:`12`,sm:`6`},{default:S(()=>[H(Z,{modelValue:e.form.domain,"onUpdate:modelValue":n[2]||=t=>e.form.domain=t,label:`域名 / IP`,variant:`outlined`,density:`compact`,placeholder:`例:192.168.1.10`,rules:[I(ot)(`域名或 IP`)]},null,8,[`modelValue`,`rules`])]),_:1}),H(i,{cols:`6`,sm:`4`},{default:S(()=>[H(Z,{modelValue:e.form.port,"onUpdate:modelValue":n[3]||=t=>e.form.port=t,modelModifiers:{number:!0},label:`SSH 端口`,type:`number`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),H(i,{cols:`6`,sm:`8`},{default:S(()=>[H(Z,{modelValue:e.form.username,"onUpdate:modelValue":n[4]||=t=>e.form.username=t,label:`SSH 用户名`,variant:`outlined`,density:`compact`,placeholder:`root`,rules:[I(ot)(`SSH 用户名`)]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1}),H(Me,{class:`my-4`}),n[22]||=P(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`认证方式`,-1),H(o,{modelValue:e.form.auth_method,"onUpdate:modelValue":n[5]||=t=>e.form.auth_method=t,mandatory:``,density:`compact`,variant:`outlined`,class:`mb-3`},{default:S(()=>[H(v,{value:`password`,size:`small`},{default:S(()=>[...n[19]||=[A(`密码`,-1)]]),_:1}),H(v,{value:`key`,size:`small`},{default:S(()=>[...n[20]||=[A(`SSH 密钥`,-1)]]),_:1})]),_:1},8,[`modelValue`]),e.form.auth_method===`password`?(y(),V(ge,{key:1},[H(X,{modelValue:e.form.preset_id,"onUpdate:modelValue":n[6]||=t=>e.form.preset_id=t,items:e.passwordPresets,"item-title":`display`,"item-value":`id`,label:`密码预设(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`,hint:`选择后由服务端解密填入,无需再填密码框`,"persistent-hint":``},null,8,[`modelValue`,`items`]),e.form.preset_id?k(``,!0):(y(),M(Z,{key:0,modelValue:e.form.password,"onUpdate:modelValue":n[7]||=t=>e.form.password=t,label:`SSH 密码`,variant:`outlined`,density:`compact`,type:`password`,placeholder:e.isEditing&&e.editHints.password_set?`留空表示不修改`:`安装 Agent 需可 SSH`,rules:s.value},null,8,[`modelValue`,`placeholder`,`rules`]))],64)):(y(),V(ge,{key:2},[H(X,{modelValue:e.form.ssh_key_preset_id,"onUpdate:modelValue":n[8]||=t=>e.form.ssh_key_preset_id=t,items:e.sshKeyPresets,"item-title":`display`,"item-value":`id`,label:`SSH 密钥预设(可选)`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`,hint:`选择后由服务端解密私钥,无需再粘贴`,"persistent-hint":``},null,8,[`modelValue`,`items`]),H(Z,{modelValue:e.form.ssh_key_path,"onUpdate:modelValue":n[9]||=t=>e.form.ssh_key_path=t,label:`密钥路径(可选)`,variant:`outlined`,density:`compact`,placeholder:`~/.ssh/id_rsa`,class:`mb-2`},null,8,[`modelValue`]),e.form.ssh_key_preset_id?k(``,!0):(y(),M(ut,{key:0,modelValue:e.form.ssh_key_private,"onUpdate:modelValue":n[10]||=t=>e.form.ssh_key_private=t,label:`私钥 PEM`,variant:`outlined`,density:`compact`,rows:`4`,"auto-grow":``,placeholder:e.isEditing&&e.editHints.ssh_key_private_set?`留空表示不修改私钥`:`粘贴 -----BEGIN ... PRIVATE KEY-----`,rules:c.value},null,8,[`modelValue`,`placeholder`,`rules`]))],64)),H(Me,{class:`my-4`}),n[23]||=P(`div`,{class:`text-subtitle-2 text-medium-emphasis mb-2`},`部署`,-1),H(Z,{modelValue:e.form.target_path,"onUpdate:modelValue":n[11]||=t=>e.form.target_path=t,label:`目标路径`,variant:`outlined`,density:`compact`,placeholder:`/www/wwwroot`,hint:`文件同步与推送的根目录,须为绝对路径`,"persistent-hint":``,class:`mb-2`,rules:[I(ot)(`目标路径`)]},null,8,[`modelValue`,`rules`]),H(St,{modelValue:e.form.category,"onUpdate:modelValue":n[12]||=t=>e.form.category=t,items:e.categoryOptions,label:`分类`,variant:`outlined`,density:`compact`,clearable:``,hint:`可从已有分类选择或输入新分类`,"persistent-hint":``},null,8,[`modelValue`,`items`]),H(mt,{variant:`accordion`,class:`mt-4`},{default:S(()=>[H(ft,{title:`高级选项`},{default:S(()=>[H(dt,null,{default:S(()=>[H(X,{modelValue:e.form.platform_id,"onUpdate:modelValue":n[13]||=t=>e.form.platform_id=t,items:e.platforms,"item-title":`name`,"item-value":`id`,label:`平台`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),H(X,{modelValue:e.form.node_id,"onUpdate:modelValue":n[14]||=t=>e.form.node_id=t,items:e.nodes,"item-title":`name`,"item-value":`id`,label:`节点`,variant:`outlined`,density:`compact`,clearable:``,class:`mb-2`},null,8,[`modelValue`,`items`]),H(X,{modelValue:e.form.files_elevation,"onUpdate:modelValue":n[15]||=t=>e.form.files_elevation=t,items:e.filesElevationItems,"item-title":`title`,"item-value":`value`,label:`文件管理提权`,variant:`outlined`,density:`compact`,hint:`非 root 用户需目标机配置免密 sudo`,"persistent-hint":``},null,8,[`modelValue`,`items`])]),_:1})]),_:1})]),_:1})]),_:1}),H(Me),H(G,{class:`pa-4`},{default:S(()=>[H(O),H(v,{variant:`text`,disabled:e.saving,onClick:n[16]||=e=>r(`update:modelValue`,!1)},{default:S(()=>[...n[24]||=[A(`取消`,-1)]]),_:1},8,[`disabled`]),H(v,{color:`primary`,variant:`flat`,loading:e.saving,onClick:n[17]||=e=>r(`save`)},{default:S(()=>[...n[25]||=[A(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),wt={class:`text-body-2 mr-4`},Tt=x({__name:`ServerBatchActionBar`,props:{count:{}},emits:[`batch-category`,`health-check`,`detect-path`,`install-agent`,`upgrade-agent`,`uninstall-agent`,`batch-delete`,`clear`],setup(e){return(t,n)=>e.count>0?(y(),M(J,{key:0,class:`mx-4 mb-2`,color:`primary`,variant:`tonal`,rounded:`lg`},{default:S(()=>[H(K,{class:`d-flex align-center py-2 flex-wrap ga-1`},{default:S(()=>[P(`span`,wt,`已选择 `+L(e.count)+` 台服务器`,1),H(O),H(v,{size:`small`,variant:`text`,onClick:n[0]||=e=>t.$emit(`batch-category`)},{default:S(()=>[...n[8]||=[A(`修改分类`,-1)]]),_:1}),H(v,{size:`small`,variant:`text`,onClick:n[1]||=e=>t.$emit(`health-check`)},{default:S(()=>[...n[9]||=[A(`健康检查`,-1)]]),_:1}),H(v,{size:`small`,variant:`text`,onClick:n[2]||=e=>t.$emit(`detect-path`)},{default:S(()=>[...n[10]||=[A(`检测目标路径`,-1)]]),_:1}),H(v,{size:`small`,variant:`text`,onClick:n[3]||=e=>t.$emit(`install-agent`)},{default:S(()=>[...n[11]||=[A(`安装Agent`,-1)]]),_:1}),H(v,{size:`small`,variant:`text`,onClick:n[4]||=e=>t.$emit(`upgrade-agent`)},{default:S(()=>[...n[12]||=[A(`升级Agent`,-1)]]),_:1}),H(v,{size:`small`,variant:`text`,color:`error`,onClick:n[5]||=e=>t.$emit(`uninstall-agent`)},{default:S(()=>[...n[13]||=[A(`卸载Agent`,-1)]]),_:1}),H(v,{size:`small`,variant:`text`,color:`error`,onClick:n[6]||=e=>t.$emit(`batch-delete`)},{default:S(()=>[...n[14]||=[A(`批量删除`,-1)]]),_:1}),H(v,{size:`small`,variant:`text`,onClick:n[7]||=e=>t.$emit(`clear`)},{default:S(()=>[...n[15]||=[A(`取消选择`,-1)]]),_:1})]),_:1})]),_:1})):k(``,!0)}}),Et={class:`server-inline-detail pa-3 rounded-b-lg`},Dt={class:`d-flex flex-wrap ga-4 mb-2 text-body-2`},Ot={class:`d-flex align-center ga-2 mb-2`},kt={class:`text-body-2 text-truncate`},At={key:1,class:`text-caption text-error py-1`},jt={key:2,class:`text-caption text-medium-emphasis py-1`},Mt=at(x({__name:`ServerInlineDetail`,props:{server:{}},emits:[`edit-path`],setup(e){let t=e,n=T(!1),r=T(``),i=T(null),a=0;function o(e){switch(e){case`success`:return`success`;case`failed`:return`error`;case`running`:return`warning`;case`cancelled`:return`grey`;default:return`default`}}function s(e){switch(e){case`success`:return`成功`;case`failed`:return`失败`;case`running`:return`进行中`;case`cancelled`:return`已取消`;default:return e}}function l(e){let t=[];return e.started_at&&t.push(p(e.started_at)),e.sync_mode&&t.push(e.sync_mode),e.trigger_type&&t.push(e.trigger_type),e.push_permission&&t.push(`权限 ${$e(e.push_permission)}`),t.join(` · `)||`—`}function u(e){return Array.isArray(e)?e:e&&typeof e==`object`&&Array.isArray(e.items)?e.items:[]}async function d(){let e=++a;n.value=!0,r.value=``,i.value=null;try{let n=await E.get(`/servers/${t.server.id}/logs`,{limit:1});if(e!==a)return;i.value=u(n)[0]??null}catch(t){if(e!==a)return;r.value=Q(t,`加载同步日志失败`),i.value=null}finally{e===a&&(n.value=!1)}}return C(()=>t.server.id,()=>{d()},{immediate:!0}),c(()=>{a+=1}),(t,a)=>(y(),V(`div`,Et,[P(`div`,Dt,[P(`div`,null,[a[1]||=P(`span`,{class:`text-caption text-medium-emphasis`},`CPU`,-1),A(` `+L(e.server.system_info?.cpu_usage??`—`)+`% `,1)]),P(`div`,null,[a[2]||=P(`span`,{class:`text-caption text-medium-emphasis`},`内存`,-1),A(` `+L(e.server.system_info?.mem_usage??`—`)+`% `,1)]),P(`div`,null,[a[3]||=P(`span`,{class:`text-caption text-medium-emphasis`},`磁盘`,-1),A(` `+L(e.server.system_info?.disk_usage??`—`)+`% `,1)]),P(`div`,null,[a[4]||=P(`span`,{class:`text-caption text-medium-emphasis`},`Agent`,-1),A(` `+L(e.server.agent_version||`未安装`),1)])]),P(`div`,Ot,[a[5]||=P(`span`,{class:`text-caption text-medium-emphasis shrink-0`},`目标路径`,-1),P(`span`,kt,L(e.server.target_path?.trim()||`未配置(推送页留空时无法推送到此机)`),1),H(v,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:a[0]||=B(e=>t.$emit(`edit-path`),[`stop`])})]),a[6]||=P(`div`,{class:`text-caption text-medium-emphasis mb-1`},`同步日志`,-1),n.value?(y(),M(it,{key:0,type:`list-item-two-line`})):r.value?(y(),V(`div`,At,L(r.value),1)):i.value?(y(),M(Te,{key:3,density:`compact`,class:`bg-transparent pa-0`,subtitle:l(i.value),title:`${i.value.source_path} → ${i.value.target_path}`},{append:S(()=>[H(U,{size:`x-small`,color:o(i.value.status),variant:`tonal`,label:``},{default:S(()=>[A(L(s(i.value.status)),1)]),_:1},8,[`color`])]),_:1},8,[`subtitle`,`title`])):(y(),V(`div`,jt,`暂无同步日志`))]))}}),[[`__scopeId`,`data-v-599683b3`]]),Nt=[`onClick`],Pt={class:`font-weight-medium`},Ft={class:`text-medium-emphasis`},It={key:1,class:`text-medium-emphasis`},Lt={key:1,class:`d-flex align-center ga-1`},Rt=[`title`],zt={class:`text-medium-emphasis`},Bt={class:`text-caption text-medium-emphasis`},Vt={class:`d-flex ga-1`},Ht=[`colspan`],Ut=at(x({__name:`ServerUnsetPathPanel`,props:{servers:{},loading:{type:Boolean},total:{},page:{},itemsPerPage:{},itemsPerPageOptions:{},sortBy:{},expandedIds:{},selectedItems:{},selectAllLoading:{type:Boolean},editingPathId:{},editingPathValue:{},savingPathId:{}},emits:[`refresh`,`update:sort-by`,`update:page`,`update:items-per-page`,`update:selected-items`,`update:expanded-ids`,`update:editing-path-value`,`select-all-filtered`,`toggle-expand`,`terminal`,`files`,`detect-path-single`,`edit`,`delete`,`edit-path`,`save-path`,`cancel-edit-path`,`batch-category`,`health-check`,`detect-path`,`install-agent`,`upgrade-agent`,`uninstall-agent`,`batch-delete`,`clear-selection`],setup(e,{emit:t}){let n=e,r=t,i=[{title:`状态`,key:`status`,width:100},{title:`名称`,key:`name`},{title:`地址`,key:`domain`},{title:`分类`,key:`category`,width:100},{title:`目标路径`,key:`target_path`,width:200},{title:`Agent`,key:`agent_version`,width:100},{title:`心跳`,key:`last_heartbeat`,width:120},{title:`操作`,key:`actions`,width:260,align:`end`,sortable:!1}],a=F(()=>bt(n.selectedItems).length),o=F({get:()=>n.expandedIds,set:e=>{r(`update:expanded-ids`,e.map(e=>Number(e)).filter(e=>!Number.isNaN(e)))}});function s(e){return n.expandedIds.includes(e)}return(t,n)=>(y(),M(J,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:S(()=>[H(q,{class:`d-flex align-center flex-wrap ga-2`},{default:S(()=>[n[20]||=A(` 未设置路径服务器 `,-1),e.total>0?(y(),M(U,{key:0,size:`small`,color:`warning`,variant:`tonal`,label:``},{default:S(()=>[A(L(e.total),1)]),_:1})):k(``,!0),H(O),H(v,{size:`small`,variant:`tonal`,disabled:e.total===0,loading:e.selectAllLoading,onClick:n[0]||=e=>t.$emit(`select-all-filtered`)},{default:S(()=>[A(` 全选筛选结果 (`+L(e.total)+`) `,1)]),_:1},8,[`disabled`,`loading`]),H(v,{variant:`text`,size:`small`,"prepend-icon":`mdi-refresh`,loading:e.loading,onClick:n[1]||=e=>t.$emit(`refresh`)},{default:S(()=>[...n[19]||=[A(` 刷新 `,-1)]]),_:1},8,[`loading`])]),_:1}),H(Tt,{count:a.value,onBatchCategory:n[2]||=e=>t.$emit(`batch-category`),onHealthCheck:n[3]||=e=>t.$emit(`health-check`),onDetectPath:n[4]||=e=>t.$emit(`detect-path`),onInstallAgent:n[5]||=e=>t.$emit(`install-agent`),onUpgradeAgent:n[6]||=e=>t.$emit(`upgrade-agent`),onUninstallAgent:n[7]||=e=>t.$emit(`uninstall-agent`),onBatchDelete:n[8]||=e=>t.$emit(`batch-delete`),onClear:n[9]||=e=>t.$emit(`clear-selection`)},null,8,[`count`]),H(Qe,{class:`server-unset-path-table`,items:e.servers,headers:i,"items-length":e.total,loading:e.loading,page:e.page,"items-per-page":e.itemsPerPage,"items-per-page-options":e.itemsPerPageOptions,hover:``,density:`comfortable`,"item-value":`id`,"show-select":``,"show-expand":``,"model-value":e.selectedItems,"sort-by":e.sortBy,expanded:o.value,"onUpdate:expanded":n[14]||=e=>o.value=e,"onUpdate:modelValue":n[15]||=e=>t.$emit(`update:selected-items`,e),"onUpdate:sortBy":n[16]||=e=>t.$emit(`update:sort-by`,e),"onUpdate:page":n[17]||=e=>t.$emit(`update:page`,e),"onUpdate:itemsPerPage":n[18]||=e=>t.$emit(`update:items-per-page`,e)},{"item.data-table-expand":S(()=>[...n[21]||=[]]),"item.status":S(({item:e})=>[H(U,{color:I(tt)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:S(()=>[A(L(I(et)(e.status)),1)]),_:2},1032,[`color`])]),"item.name":S(({item:e})=>[P(`div`,{class:`d-flex align-center cursor-pointer text-primary`,onClick:B(n=>t.$emit(`toggle-expand`,e),[`stop`])},[H(se,{size:`small`,class:`mr-1`},{default:S(()=>[A(L(s(e.id)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024),P(`span`,Pt,L(e.name),1)],8,Nt)]),"item.domain":S(({item:e})=>[P(`span`,Ft,L(e.domain)+`:`+L(e.port),1)]),"item.category":S(({item:e})=>[e.category?(y(),M(U,{key:0,color:`primary`,variant:`tonal`,size:`small`,label:``},{default:S(()=>[A(L(e.category),1)]),_:2},1024)):(y(),V(`span`,It,`—`))]),"item.target_path":S(({item:r})=>[e.editingPathId===r.id?(y(),V(`div`,{key:0,class:`d-flex align-center ga-1`,onClick:n[13]||=B(()=>{},[`stop`])},[H(Z,{"model-value":e.editingPathValue,density:`compact`,variant:`outlined`,"hide-details":``,placeholder:`/www/wwwroot`,style:{"max-width":`140px`},"onUpdate:modelValue":n[10]||=e=>t.$emit(`update:editing-path-value`,e),onKeyup:[we(e=>t.$emit(`save-path`,r.id),[`enter`]),n[11]||=we(e=>t.$emit(`cancel-edit-path`),[`esc`])]},null,8,[`model-value`,`onKeyup`]),H(v,{icon:`mdi-check`,size:`x-small`,variant:`text`,color:`primary`,loading:e.savingPathId===r.id,onClick:e=>t.$emit(`save-path`,r.id)},null,8,[`loading`,`onClick`]),H(v,{icon:`mdi-close`,size:`x-small`,variant:`text`,onClick:n[12]||=e=>t.$emit(`cancel-edit-path`)})])):(y(),V(`div`,Lt,[P(`span`,{class:`text-caption text-medium-emphasis text-truncate d-inline-block`,style:{"max-width":`140px`},title:r.target_path||`未配置`},L(r.target_path?.trim()||`—`),9,Rt),H(v,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:B(e=>t.$emit(`edit-path`,r),[`stop`])},null,8,[`onClick`])]))]),"item.agent_version":S(({item:e})=>[P(`span`,zt,L(e.agent_version||`—`),1)]),"item.last_heartbeat":S(({item:e})=>[P(`span`,Bt,L(I(rt)(e.last_heartbeat)),1)]),"item.actions":S(({item:e})=>[P(`div`,Vt,[H(v,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:B(n=>t.$emit(`terminal`,e),[`stop`])},{default:S(()=>[...n[22]||=[A(` 终端 `,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:B(n=>t.$emit(`files`,e),[`stop`])},{default:S(()=>[...n[23]||=[A(` 文件 `,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:B(n=>t.$emit(`detect-path-single`,e),[`stop`])},{default:S(()=>[...n[24]||=[A(` 检测路径 `,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:B(n=>t.$emit(`edit`,e),[`stop`])},{default:S(()=>[...n[25]||=[A(` 编辑 `,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:B(n=>t.$emit(`delete`,e),[`stop`])},{default:S(()=>[...n[26]||=[A(` 删除 `,-1)]]),_:1},8,[`onClick`])])]),"expanded-row":S(({columns:e,item:n})=>[P(`tr`,null,[P(`td`,{colspan:e.length,class:`pa-0`},[H(Mt,{server:n,onEditPath:e=>t.$emit(`edit-path`,n)},null,8,[`server`,`onEditPath`])],8,Ht)])]),"no-data":S(()=>[...n[27]||=[P(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无未设置路径的服务器`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`,`items-per-page-options`,`model-value`,`sort-by`,`expanded`])]),_:1}))}}),[[`__scopeId`,`data-v-ffa01e2f`]]),Wt={class:`credentials-manager`},Gt={class:`d-flex align-center flex-wrap ga-2 mb-3`},Kt={class:`text-caption text-medium-emphasis`},qt=x({name:`CredentialsManager`,__name:`CredentialsManager`,props:{active:{type:Boolean}},setup(e){let n=e,i=[...Re],a=r(),s=T(!1),c=T(`passwords`),l=T(null),u=T(1),d=T(0),f=T(20),m=T([]),h=T(!1),g=T({name:``,username:`root`,password:``}),ee=Le([{title:`预设名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`创建时间`,key:`created_at`,width:180},{title:`操作`,key:`actions`,width:150,align:`end`}]),te=T([]),ne=T(!1),_=T({name:``,username:`root`,public_key:``,private_key:``}),re=Le([{title:`名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`私钥`,key:`private_key_set`,width:120},{title:`操作`,key:`actions`,width:150,align:`end`}]),b=T([]),ie=T(!1),x=T({name:``,host:``,port:3306,username:``,password:``,database:``}),ae=Le([{title:`名称`,key:`name`},{title:`主机`,key:`host`},{title:`端口`,key:`port`,width:80},{title:`用户名`,key:`username`},{title:`数据库`,key:`database`},{title:`操作`,key:`actions`,width:150,align:`end`}]),oe=T(!1),w=T(``),se=T(null);function ce(e){f.value=e,u.value=1,c.value===`sshkeys`?k():c.value===`db`&&ue()}function le(e){return p(e)}async function D(e=!1){e||(s.value=!0);try{let e=await E.getList(`/presets/`);m.value=e.items,d.value=e.total}catch(e){m.value=[],a(Q(e,`加载密码预设失败`),`error`)}finally{e||(s.value=!1)}}async function k(e=!1){e||(s.value=!0);try{let e=await ze(`/ssh-key-presets/`,{},u.value,f.value);te.value=e.items,d.value=e.total,f.value===-1&&(u.value=1)}catch(e){te.value=[],a(Q(e,`加载 SSH 密钥失败`),`error`)}finally{e||(s.value=!1)}}async function ue(e=!1){e||(s.value=!0);try{let e=await ze(`/scripts/credentials`,{},u.value,f.value);b.value=e.items,d.value=e.total,f.value===-1&&(u.value=1)}catch(e){b.value=[],a(Q(e,`加载数据库凭据失败`),`error`)}finally{e||(s.value=!1)}}function de(e=!1){switch(c.value){case`passwords`:D(e);break;case`sshkeys`:k(e);break;case`db`:ue(e);break}}C(c,()=>{u.value=1,de()}),C(()=>n.active,e=>{e&&de()},{immediate:!0});function fe(e){l.value=e.id,g.value={name:e.name,username:e.username||`root`,password:``},h.value=!0}async function pe(){let e=g.value.name.trim(),t=g.value.password;if(!e){a(`请填写预设名称`,`error`);return}if(!l.value&&!t){a(`请填写 SSH 密码`,`error`);return}try{let n=g.value.username.trim()||`root`;if(l.value){let r={name:e,username:n};t&&(r.encrypted_pw=t),await E.put(`/presets/${l.value}`,r)}else await E.post(`/presets/`,{name:e,username:n,encrypted_pw:t});h.value=!1,D(),a(`保存成功`)}catch(e){a(Q(e,`保存失败`),`error`)}}function me(e){l.value=e.id,_.value={name:e.name,username:e.username||`root`,public_key:e.public_key||``,private_key:``},ne.value=!0}async function he(){try{l.value?await E.put(`/ssh-key-presets/${l.value}`,_.value):await E.post(`/ssh-key-presets/`,_.value),ne.value=!1,k(),a(`保存成功`)}catch(e){a(Q(e,`保存失败`),`error`)}}function j(e){l.value=e.id,x.value={name:e.name,host:e.host||``,port:e.port||3306,username:e.username||``,password:``,database:e.database||``},ie.value=!0}async function _e(){try{l.value?await E.put(`/scripts/credentials/${l.value}`,x.value):await E.post(`/scripts/credentials`,x.value),ie.value=!1,ue(),a(`保存成功`)}catch(e){a(Q(e,`保存失败`),`error`)}}function ve(){l.value=null,c.value===`passwords`?(g.value={name:``,username:`root`,password:``},h.value=!0):c.value===`sshkeys`?(_.value={name:``,username:`root`,public_key:``,private_key:``},ne.value=!0):(x.value={name:``,host:``,port:3306,username:``,password:``,database:``},ie.value=!0)}function ye(e,t){w.value=e,se.value=t.id,oe.value=!0}async function be(){try{w.value===`password`?await E.delete(`/presets/${se.value}`):w.value===`sshkey`?await E.delete(`/ssh-key-presets/${se.value}`):await E.delete(`/scripts/credentials/${se.value}`),oe.value=!1,de(),a(`已删除`)}catch(e){a(Q(e,`删除失败`),`error`)}}return(e,n)=>(y(),V(`div`,Wt,[P(`div`,Gt,[H(o,{modelValue:c.value,"onUpdate:modelValue":n[0]||=e=>c.value=e,mandatory:``,density:`compact`,variant:`outlined`},{default:S(()=>[H(v,{size:`small`,value:`passwords`},{default:S(()=>[...n[24]||=[A(`密码预设`,-1)]]),_:1}),H(v,{size:`small`,value:`sshkeys`},{default:S(()=>[...n[25]||=[A(`SSH 密钥`,-1)]]),_:1}),H(v,{size:`small`,value:`db`},{default:S(()=>[...n[26]||=[A(`数据库凭据`,-1)]]),_:1})]),_:1},8,[`modelValue`]),H(O),H(v,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:ve},{default:S(()=>[...n[27]||=[A(`添加`,-1)]]),_:1})]),c.value===`passwords`?(y(),V(ge,{key:0},[n[31]||=P(`p`,{class:`text-body-2 text-medium-emphasis mb-2`},` 保存常用 SSH 账号+密码模板;快速添加服务器时将按顺序轮询所有预设尝试登录。 `,-1),H(t,{items:m.value,headers:I(ee),loading:s.value,hover:``,density:`comfortable`,"items-per-page":20,"items-per-page-options":i},{"item.created_at":S(({item:e})=>[P(`span`,Kt,L(le(e.created_at)),1)]),"item.actions":S(({item:e})=>[H(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>fe(e)},{default:S(()=>[...n[28]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>ye(`password`,e)},{default:S(()=>[...n[29]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...n[30]||=[P(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无密码预设`,-1)]]),_:1},8,[`items`,`headers`,`loading`])],64)):c.value===`sshkeys`?(y(),M(Qe,{key:1,items:te.value,headers:I(re),"items-length":d.value,loading:s.value,page:u.value,"items-per-page":f.value,"items-per-page-options":i,hover:``,density:`comfortable`,"onUpdate:page":n[1]||=e=>{u.value=e,k()},"onUpdate:itemsPerPage":ce},{"item.private_key_set":S(({item:e})=>[H(U,{color:e.private_key_set?`success`:`grey`,size:`small`,variant:`tonal`,label:``},{default:S(()=>[A(L(e.private_key_set?`已设置`:`未设置`),1)]),_:2},1032,[`color`])]),"item.actions":S(({item:e})=>[H(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>me(e)},{default:S(()=>[...n[32]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>ye(`sshkey`,e)},{default:S(()=>[...n[33]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...n[34]||=[P(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])):(y(),M(Qe,{key:2,items:b.value,headers:I(ae),"items-length":d.value,loading:s.value,page:u.value,"items-per-page":f.value,"items-per-page-options":i,hover:``,density:`comfortable`,"onUpdate:page":n[2]||=e=>{u.value=e,ue()},"onUpdate:itemsPerPage":ce},{"item.actions":S(({item:e})=>[H(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>j(e)},{default:S(()=>[...n[35]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>ye(`db`,e)},{default:S(()=>[...n[36]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...n[37]||=[P(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`headers`,`items-length`,`loading`,`page`,`items-per-page`])),H($,{modelValue:h.value,"onUpdate:modelValue":n[7]||=e=>h.value=e,"max-width":`500`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[A(L(l.value?`编辑密码预设`:`新建密码预设`),1)]),_:1}),H(K,null,{default:S(()=>[H(Z,{modelValue:g.value.name,"onUpdate:modelValue":n[3]||=e=>g.value.name=e,label:`预设名称`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`如:生产环境 root 密码`,rules:[I(ot)(`预设名称`)]},null,8,[`modelValue`,`rules`]),H(Z,{modelValue:g.value.username,"onUpdate:modelValue":n[4]||=e=>g.value.username=e,label:`SSH 用户名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`root`,rules:[I(ot)(`SSH 用户名`)]},null,8,[`modelValue`,`rules`]),H(Z,{modelValue:g.value.password,"onUpdate:modelValue":n[5]||=e=>g.value.password=e,label:`SSH 密码`,variant:`outlined`,density:`compact`,type:`password`,placeholder:l.value?`留空表示不修改`:`必填`,rules:l.value?[]:[I(ot)(`SSH 密码`)]},null,8,[`modelValue`,`placeholder`,`rules`])]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,onClick:n[6]||=e=>h.value=!1},{default:S(()=>[...n[38]||=[A(`取消`,-1)]]),_:1}),H(v,{color:`primary`,variant:`flat`,onClick:pe},{default:S(()=>[...n[39]||=[A(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H($,{modelValue:ne.value,"onUpdate:modelValue":n[13]||=e=>ne.value=e,"max-width":`500`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[A(L(l.value?`编辑 SSH 密钥`:`新建 SSH 密钥`),1)]),_:1}),H(K,null,{default:S(()=>[H(Z,{modelValue:_.value.name,"onUpdate:modelValue":n[8]||=e=>_.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),H(Z,{modelValue:_.value.username,"onUpdate:modelValue":n[9]||=e=>_.value.username=e,label:`SSH 用户名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`root`},null,8,[`modelValue`]),H(ut,{modelValue:_.value.public_key,"onUpdate:modelValue":n[10]||=e=>_.value.public_key=e,label:`公钥`,variant:`outlined`,density:`compact`,rows:`3`,class:`mb-2`},null,8,[`modelValue`]),H(ut,{modelValue:_.value.private_key,"onUpdate:modelValue":n[11]||=e=>_.value.private_key=e,label:`私钥`,variant:`outlined`,density:`compact`,rows:`5`},null,8,[`modelValue`])]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,onClick:n[12]||=e=>ne.value=!1},{default:S(()=>[...n[40]||=[A(`取消`,-1)]]),_:1}),H(v,{color:`primary`,variant:`flat`,onClick:he},{default:S(()=>[...n[41]||=[A(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H($,{modelValue:ie.value,"onUpdate:modelValue":n[21]||=e=>ie.value=e,"max-width":`500`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[A(L(l.value?`编辑数据库凭据`:`新建数据库凭据`),1)]),_:1}),H(K,null,{default:S(()=>[H(Z,{modelValue:x.value.name,"onUpdate:modelValue":n[14]||=e=>x.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),H(Z,{modelValue:x.value.host,"onUpdate:modelValue":n[15]||=e=>x.value.host=e,label:`主机`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),H(Z,{modelValue:x.value.port,"onUpdate:modelValue":n[16]||=e=>x.value.port=e,label:`端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),H(Z,{modelValue:x.value.username,"onUpdate:modelValue":n[17]||=e=>x.value.username=e,label:`用户名`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),H(Z,{modelValue:x.value.password,"onUpdate:modelValue":n[18]||=e=>x.value.password=e,label:`密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-2`},null,8,[`modelValue`]),H(Z,{modelValue:x.value.database,"onUpdate:modelValue":n[19]||=e=>x.value.database=e,label:`数据库`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,onClick:n[20]||=e=>ie.value=!1},{default:S(()=>[...n[42]||=[A(`取消`,-1)]]),_:1}),H(v,{color:`primary`,variant:`flat`,onClick:_e},{default:S(()=>[...n[43]||=[A(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H($,{modelValue:oe.value,"onUpdate:modelValue":n[23]||=e=>oe.value=e,"max-width":`400`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[...n[44]||=[A(`确认删除`,-1)]]),_:1}),H(K,null,{default:S(()=>[...n[45]||=[A(`确定要删除此凭据吗?`,-1)]]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,onClick:n[22]||=e=>oe.value=!1},{default:S(()=>[...n[46]||=[A(`取消`,-1)]]),_:1}),H(v,{color:`error`,variant:`flat`,onClick:be},{default:S(()=>[...n[47]||=[A(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]))}}),Jt=x({__name:`CredentialsDialog`,props:{modelValue:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t;return(t,r)=>(y(),M($,{"model-value":e.modelValue,"max-width":`960`,scrollable:``,"onUpdate:modelValue":r[1]||=e=>n(`update:modelValue`,e)},{default:S(()=>[H(J,{border:``,rounded:`lg`},{default:S(()=>[H(q,{class:`d-flex align-center`},{default:S(()=>[r[2]||=A(` 凭据管理 `,-1),H(O),H(v,{icon:`mdi-close`,variant:`text`,size:`small`,onClick:r[0]||=e=>n(`update:modelValue`,!1)})]),_:1}),H(Me),H(K,{class:`pa-4`},{default:S(()=>[e.modelValue?(y(),M(qt,{key:0,active:e.modelValue},null,8,[`active`])):k(``,!0)]),_:1})]),_:1})]),_:1},8,[`model-value`]))}});function Yt(){return{name:``,domain:``,port:22,username:`root`,auth_method:`password`,preset_id:null,password:``,ssh_key_preset_id:null,ssh_key_path:``,ssh_key_private:``,target_path:`/www/wwwroot`,category:``,platform_id:null,node_id:null,files_elevation:`auto_sudo`}}function Xt(e){return e===`uncategorized`?``:e}function Zt(e){let t=e.auth_method===`key`?`key`:`password`;return{name:e.name,domain:e.domain||``,port:e.port??22,username:e.username||`root`,auth_method:t,preset_id:e.preset_id,password:``,ssh_key_preset_id:e.ssh_key_preset_id,ssh_key_path:e.ssh_key_path||``,ssh_key_private:``,target_path:e.target_path||`/www/wwwroot`,category:e.category||``,platform_id:e.platform_id,node_id:e.node_id,files_elevation:e.files_elevation||`auto_sudo`}}function Qt(e){let t=r(),n=T(!1),i=T(null),a=T(!1),o=T(Yt()),s=T({password_set:!1,ssh_key_private_set:!1}),c=T([]),l=T([]),u=T([]),d=T([]),f=T([]),p=T(!1),m=F(()=>i.value!=null),h=[{title:`自动(权限失败时 sudo)`,value:`auto_sudo`},{title:`关闭 sudo`,value:`off`},{title:`始终 sudo(排障)`,value:`always_sudo`}];async function g(){p.value=!0;try{let[e,t,n,r]=await Promise.all([E.get(`/servers/categories`),E.getList(`/presets/`,{per_page:500}),E.getList(`/ssh-key-presets/`,{per_page:500}),E.get(`/assets/nodes`)]),i=new Set;for(let t of e.categories||[]){let e=Xt(t.name);e&&i.add(e)}u.value=[...i].sort((e,t)=>e.localeCompare(t,`zh`)),d.value=(e.platforms||[]).map(e=>({id:e.id,name:e.name})),c.value=(t.items||[]).map(e=>({...e,display:`${e.name} (${e.username||`root`})`})),l.value=(n.items||[]).map(e=>({...e,display:`${e.name} (${e.username||`root`})`})),f.value=Array.isArray(r)?r:[]}catch{t(`加载表单选项失败`,`error`)}finally{p.value=!1}}async function ee(){i.value=null,o.value=Yt(),s.value={password_set:!1,ssh_key_private_set:!1},n.value=!0,await g()}async function te(e){i.value=e.id,o.value=Zt(e),s.value={password_set:!!e.password_set,ssh_key_private_set:!!(e.ssh_key_private_set||e.ssh_key_configured)},n.value=!0,await g()}function ne(){n.value=!1,i.value=null,o.value=Yt(),s.value={password_set:!1,ssh_key_private_set:!1}}function _(){let e=o.value;if(!e.name.trim())return`请填写服务器名称`;if(!e.domain.trim())return`请填写域名或 IP`;if(!e.username.trim())return`请填写 SSH 用户名`;let t=Number(e.port);if(!Number.isFinite(t)||t<1||t>65535)return`SSH 端口无效`;let n=e.target_path.trim();if(!n)return`请填写目标路径(部署根目录)`;if(!n.startsWith(`/`))return`目标路径须为绝对路径(以 / 开头)`;if(e.auth_method===`password`){if(!m.value&&!e.preset_id&&!e.password.trim())return`请选择密码预设或填写 SSH 密码(安装 Agent 需要可 SSH)`}else if(!m.value&&!e.ssh_key_preset_id&&!e.ssh_key_private.trim())return`请选择 SSH 密钥预设或粘贴私钥`;return null}function v(){let e=o.value,t={name:e.name.trim(),domain:e.domain.trim(),port:Number(e.port),username:e.username.trim()||`root`,auth_method:e.auth_method,target_path:e.target_path.trim(),category:e.category.trim()||void 0,platform_id:e.platform_id??void 0,node_id:e.node_id??void 0,files_elevation:e.files_elevation,agent_port:8601};return e.auth_method===`password`?(e.preset_id!=null&&(t.preset_id=e.preset_id),e.password.trim()&&(t.password=e.password.trim()),m.value||!e.preset_id&&e.password.trim()):(e.ssh_key_preset_id!=null&&(t.ssh_key_preset_id=e.ssh_key_preset_id),e.ssh_key_path.trim()&&(t.ssh_key_path=e.ssh_key_path.trim()),e.ssh_key_private.trim()&&(t.ssh_key_private=e.ssh_key_private.trim())),t}async function y(){let n=_();if(n){t(n,`error`);return}a.value=!0;try{let n=v();m.value&&i.value!=null?await E.put(`/servers/${i.value}`,n):await E.post(`/servers/`,n),ne(),e(),t(`保存成功`)}catch(e){t(Q(e,`保存失败`),`error`)}finally{a.value=!1}}return{visible:n,editingId:i,isEditing:m,saving:a,form:o,editHints:s,passwordPresets:c,sshKeyPresets:l,categoryOptions:u,platforms:d,nodes:f,lookupsLoading:p,filesElevationItems:h,openAdd:ee,openEdit:te,close:ne,save:y}}var $t={class:`d-flex align-center flex-wrap ga-2`},en=[`onClick`],tn={class:`font-weight-medium`},nn={class:`text-medium-emphasis`},rn={key:1,class:`text-medium-emphasis`},an={key:1,class:`d-flex align-center ga-1`},on=[`title`],sn={class:`text-medium-emphasis`},cn={class:`text-caption text-medium-emphasis`},ln={class:`d-flex ga-1`},un=[`colspan`],dn={key:2,class:`px-4 pb-4`},fn={key:0,class:`text-center py-8`},pn={key:1,class:`text-center text-medium-emphasis py-6`},mn={class:`d-flex align-center ga-2 flex-grow-1`},hn={class:`text-caption text-medium-emphasis`},gn={class:`font-weight-medium`},_n={class:`text-medium-emphasis`},vn={class:`text-caption text-medium-emphasis text-truncate`,style:{"max-width":`180px`}},yn={class:`text-medium-emphasis`},bn={class:`text-caption text-medium-emphasis`},xn=[`title`],Sn={key:1,class:`text-medium-emphasis`},Cn={class:`text-body-2 mb-2`},wn={class:`text-body-2 text-medium-emphasis mb-3`},Tn={key:0,class:`text-caption text-medium-emphasis mt-1`},En={key:0},Dn={key:0},On=at(x({name:`ServersPage`,__name:`ServersPage`,setup(s){async function u(e,t,n){let r={category:`/servers/batch/category`,"health-check":`/servers/check`,"detect-path":`/servers/batch/detect-path`,"install-agent":`/servers/batch/install-agent`,"upgrade-agent":`/servers/batch/upgrade-agent`,"uninstall-agent":`/servers/batch/uninstall-agent`}[e];if(!r)return null;let i=e===`category`?{server_ids:t,...n}:{server_ids:t},a=await E.post(r,i);if(!a?.job_id)throw Error(`服务端未返回任务 ID,请确认已部署支持后台批量任务的新版本`);return te(a.job_id,a.label,a.total,a.op||e,a.progress,a.status),de(`${a.label} 已提交`),a}ee(()=>{d=l(e=>{e.taskKind===`server_batch`&&Promise.all([Ot(!0),Y(!0),yt(),sr(!0)])})});let d=null;c(()=>{d?.()});let p=[...Re],m=r(),g=je(),_=j(),re=T(!1);function b(){if(_.query.credentials===`1`){re.value=!0;let e={..._.query};delete e.credentials,g.replace({path:_.path,query:e})}}C(()=>_.query.credentials,()=>b(),{immediate:!0});let{servers:ie,loading:x,page:ae,itemsPerPage:oe,total:le,search:D,categoryFilter:ue,sortBy:fe,loadServers:me,onSearch:he,onPageChange:_e,onItemsPerPageChange:ve,onCategoryChange:be,loadAllServers:xe,listQueryParams:Se}=_t({targetPathUnset:!1}),Ee=T([]),De=T(0),Oe=T(!1),ke=T(1),Ae=T(10),R=T([]),z=T([]);function Me(e){return F({get:()=>e.value,set:t=>{e.value=t.map(e=>Number(e)).filter(e=>!Number.isNaN(e))}})}let Pe=Me(R),W=T([]),Le=F(()=>new Set(bt(W.value))),Be=T(!1),Ve=T(`main`);function Ue(e){return e===`main`?{items:nr,ids:rr}:{items:W,ids:Le}}let We=F(()=>Ue(Ve.value).ids.value.size);async function Ge(){return(await ze(`/servers/`,{...Se(),target_path_unset:!0},1,-1)).items}async function Ke(){if(!(De.value<=0)){Be.value=!0;try{let e=await Ge();W.value=e.map(e=>e.id),m(`已选择未设路径筛选结果 ${e.length} 台`)}catch{m(`加载未设路径筛选结果失败`,`error`)}finally{Be.value=!1}}}async function Y(e=!1){e||(Oe.value=!0);try{let e=await ze(`/servers/`,{...Se(),target_path_unset:!0},ke.value,Ae.value);Ee.value=e.items,De.value=e.total}catch{Ee.value=[],De.value=0,e||m(`加载未设置路径服务器失败`,`error`)}finally{e||(Oe.value=!1)}}function qe(e){R.value=R.value.includes(e.id)?[]:[e.id]}function X(e){z.value=z.value.includes(e.id)?[]:[e.id]}function Je(e){R.value=[],_e(e)}function Ye(e){R.value=[],ve(e)}function Xe(e){z.value=[],W.value=[],ke.value=e,Y()}function Ze(e){z.value=[],W.value=[],Ae.value=e,ke.value=1,Y()}async function $e(e){try{await u(`detect-path`,[e.id])}catch(e){m(Q(e,`提交检测任务失败`),`error`)}}function at(e,t){let n=vt(t);R.value.includes(e)&&n&&(R.value=[]),z.value.includes(e)&&!n&&(z.value=[])}let{categories:ot,loading:ht,totalCount:gt,loadCategories:yt}=ct(),xt=T(`table`),wt=T([]),Et=T(!1),Dt=T([]);async function Ot(e=!1){try{await me({silent:e}),await Y(e),xt.value===`group`&&await kt(e)}catch{e||m(`加载服务器列表失败`,`error`)}}async function kt(e=!1){e||(Et.value=!0);try{wt.value=await xe(),Dt.value=jt.value.map(e=>e.category)}catch{e||(wt.value=[],m(`加载分类视图失败`,`error`))}finally{e||(Et.value=!1)}}async function At(){try{await me({silent:!0}),await Y(!0),xt.value===`group`&&await kt(!0)}catch{}}st(At,3e4);let jt=F(()=>{let e={};for(let t of wt.value){let n=t.category?.trim()||`uncategorized`;e[n]||(e[n]=[]),e[n].push(t)}return Object.entries(e).map(([e,t])=>({category:e,label:lt(e),servers:t})).sort((e,t)=>e.category===`uncategorized`?1:t.category===`uncategorized`?-1:e.label.localeCompare(t.label,`zh`))});function Nt(e){be(e),xt.value===`group`&&kt()}function Pt(e,t){let n=new Set(nr.value.map(e=>typeof e==`number`?e:e.id));t?n.add(e):n.delete(e),nr.value=[...n]}let Ft=T(!1);async function It(){if(!(le.value<=0)){Ft.value=!0;try{let e=await xe();nr.value=e.map(e=>e.id),m(`已选择当前筛选结果 ${e.length} 台`)}catch{m(`加载筛选结果失败`,`error`)}finally{Ft.value=!1}}}function Lt(e){return e.length>0&&e.every(e=>rr.value.has(e.id))}function Rt(e){let t=Lt(e),n=new Set(rr.value);for(let r of e)t?n.delete(r.id):n.add(r.id);nr.value=[...n]}C(ue,()=>{nr.value=[],W.value=[],R.value=[],z.value=[],ke.value=1,Y()}),C(fe,()=>{nr.value=[],W.value=[],R.value=[],z.value=[],ke.value=1,xt.value===`group`&&kt(),Y()},{deep:!0}),C(D,()=>{nr.value=[],W.value=[],R.value=[],z.value=[],ke.value=1}),C(xt,e=>{e===`group`&&kt()});let zt=T(!1),Bt=T(!1),Vt=T(null),Ht=T(!1),Wt=T(!1),Gt=T({domain:``,port:22,name:``}),Kt=T([]),qt=T(!1),Yt=T(null),Xt=T(!1),Zt=T([]),On=T(``),kn=T(!1),An=T(null),jn=T(!1),Mn=[{title:`名称`,key:`name`},{title:`地址`,key:`address`},{title:`尝试次数`,key:`attempts`,width:100},{title:`最后错误`,key:`last_error`},{title:`最后尝试`,key:`last_attempt_at`,width:160},{title:`操作`,key:`actions`,width:140,align:`end`}];function Nn(){Gt.value={domain:``,port:22,name:``},Ht.value=!0}function Pn(e,t){Zt.value=e,On.value=t||``,Xt.value=!0}async function Fn(){qt.value=!0;try{Kt.value=(await E.get(`/servers/pending`)).items||[]}catch(e){Kt.value=[],m(Q(e,`加载失败列表失败`),`error`)}finally{qt.value=!1}}async function In(){let e=Gt.value.domain.trim();if(!e){m(`请填写 IP 或域名`,`error`);return}Wt.value=!0;try{let t={domain:e,port:Gt.value.port||22},n=Gt.value.name.trim();n&&(t.name=n);let r=await E.post(`/servers/add-by-ip`,t);r.success&&r.server?(Ht.value=!1,m(`添加成功:${r.matched_preset} (${r.matched_username})`),Ot(),sr()):(Ht.value=!1,Pn(r.errors||[],r.message),Fn())}catch(e){m(Q(e,`添加失败`),`error`)}finally{Wt.value=!1}}async function Ln(e){Yt.value=e.id;try{let t=await E.post(`/servers/pending/${e.id}/retry`,{});t.success&&t.server?(m(`重试成功:${t.matched_preset} (${t.matched_username})`),Ot(),sr(),Fn()):(Pn(t.errors||[],t.message),Fn())}catch(e){m(Q(e,`重试失败`),`error`)}finally{Yt.value=null}}function Rn(e){An.value=e,kn.value=!0}async function zn(){if(An.value){jn.value=!0;try{await E.delete(`/servers/pending/${An.value.id}`),kn.value=!1,m(`已从失败列表移除`),Fn()}catch(e){m(Q(e,`删除失败`),`error`)}finally{jn.value=!1}}}let{visible:Bn,form:Vn,isEditing:Hn,saving:Un,lookupsLoading:Wn,passwordPresets:Gn,sshKeyPresets:Kn,categoryOptions:qn,platforms:Jn,nodes:Yn,editHints:Xn,filesElevationItems:Zn,openAdd:Qn,openEdit:$n,close:er,save:tr}=Qt(()=>{Ot(),sr(),yt()});C(Bn,(e,t)=>{t&&!e&&er()});let nr=T([]),rr=F(()=>new Set(bt(nr.value))),ir=[{title:`状态`,key:`status`,width:100},{title:`名称`,key:`name`},{title:`地址`,key:`domain`},{title:`分类`,key:`category`,width:100},{title:`目标路径`,key:`target_path`,width:200},{title:`Agent`,key:`agent_version`,width:100},{title:`心跳`,key:`last_heartbeat`,width:120},{title:`操作`,key:`actions`,width:200,align:`end`,sortable:!1}],ar=T(!0),or=T([{subtitle:`服务器总数`,title:`0`,icon:`mdi-server-network`,color:`blue`},{subtitle:`在线`,title:`0`,icon:`mdi-check-circle-outline`,color:`green`},{subtitle:`离线`,title:`0`,icon:`mdi-alert-circle-outline`,color:`orange`},{subtitle:`告警中`,title:`0`,icon:`mdi-bell-alert-outline`,color:`red`}]);async function sr(e=!1){e||(ar.value=!0);try{let{data:e}=await Fe(Ne.serverStats,()=>E.get(`/servers/stats`));or.value[0].title=String(e.total),or.value[1].title=String(e.online),or.value[2].title=String(e.offline),or.value[3].title=String(e.alerts??0)}catch{}finally{e||(ar.value=!1)}}function cr(e){g.push({path:`/terminal`,query:{server_id:String(e.id)}})}function lr(e){g.push({path:`/files`,query:{server_id:String(e.id)}})}function ur(e){$n(e)}function dr(e){Vt.value=e,zt.value=!0}let fr=T(!1),pr=T(``),mr=T(!1),hr=F(()=>{let e=ot.value.filter(e=>e.name!==`uncategorized`).map(e=>e.label);if(qn.value.length)for(let t of qn.value)t&&!e.includes(t)&&e.push(t);return e.sort((e,t)=>e.localeCompare(t,`zh`))});function gr(e){Ve.value=e;let{ids:t}=Ue(e);if(t.value.size===0){m(`请先勾选至少一台服务器`,`error`);return}pr.value=``,fr.value=!0}async function _r(){let{items:e,ids:t}=Ue(Ve.value),n=[...t.value];if(n.length!==0){mr.value=!0;try{await u(`category`,n,{category:(pr.value||``).trim()}),fr.value=!1,e.value=[]}catch(e){m(Q(e,`批量修改分类失败`),`error`)}finally{mr.value=!1}}}let vr=T(!1),yr=T(null),br=T(``),xr=T(null);function Sr(e){Ve.value=e;let{ids:t}=Ue(e);if(!t.value.size){m(`请先选择服务器`,`warning`);return}vr.value=!0}async function Cr(){let{items:e,ids:t}=Ue(Ve.value),n=[...t.value];if(n.length){vr.value=!1;try{await u(`detect-path`,n),e.value=[]}catch(e){m(Q(e,`提交检测任务失败`),`error`)}}}async function wr(e){Ve.value=e;let{items:t}=Ue(e),n=bt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}try{await u(`health-check`,n)}catch(e){m(Q(e,`提交健康检查失败`),`error`)}}async function Tr(e){Ve.value=e;let{items:t}=Ue(e),n=bt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}try{await u(`install-agent`,n)}catch(e){m(Q(e,`提交安装任务失败`),`error`)}}async function Er(e){Ve.value=e;let{items:t}=Ue(e),n=bt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}if(confirm(`确定对 ${n.length} 台服务器升级 Agent?`))try{await u(`upgrade-agent`,n)}catch(e){m(Q(e,`提交升级任务失败`),`error`)}}async function Dr(e){Ve.value=e;let{items:t}=Ue(e),n=bt(t.value);if(!n.length){m(`请先选择服务器`,`warning`);return}if(confirm(`确定对 ${n.length} 台已安装 Agent 的服务器执行卸载?\n将停止服务、删除 /opt/nexus-agent 并清除 Agent 状态。`))try{await u(`uninstall-agent`,n)}catch(e){m(Q(e,`提交卸载任务失败`),`error`)}}function Or(e){yr.value=e.id,br.value=e.target_path?.trim()||`/www/wwwroot`}function kr(){yr.value=null,br.value=``,xr.value=null}async function Ar(e){let t=br.value.trim();if(!t){m(`目标路径不能为空`,`warning`);return}if(!t.startsWith(`/`)){m(`目标路径须为绝对路径(以 / 开头)`,`warning`);return}xr.value=e;try{await E.put(`/servers/${e}`,{target_path:t}),m(`目标路径已更新`),kr(),await Promise.all([Ot(),Y()]),at(e,t)}catch(e){m(Q(e,`保存失败`),`error`)}finally{xr.value=null}}async function jr(e){Ve.value=e;let{items:t,ids:n}=Ue(e);if(n.value.size&&confirm(`确定删除选中的 ${n.value.size} 台服务器?`)){for(let e of n.value)try{await E.delete(`/servers/${e}`)}catch{}t.value=[],m(`批量删除完成`),await Promise.all([Ot(),Y()]),sr()}}let Mr=T(!1),Nr=T(``),Pr=T(22),Fr=T(8601),Ir=T(!1),Lr=T(null);function Rr(e){let t=e.trim();if(!t)return``;let n=t.indexOf(` `);if(n>=0)return t.slice(n+1).trim();let r=t.lastIndexOf(`,`);if(r>=0){let e=t.slice(r+1).trim(),n=t.slice(0,r).trim();if(e&&n&&(e.includes(`.`)||e.includes(`:`)))return e}return t}function zr(e){let t=new Set,n=[],r=0;for(let i of e.split(` +`)){let e=Rr(i);if(!e)continue;r+=1;let a=e.toLowerCase();t.has(a)||(t.add(a),n.push(e))}return{unique:n.length,raw:r,deduped:Math.max(0,r-n.length)}}let Br=F(()=>zr(Nr.value));function Vr(){Nr.value=``,Pr.value=22,Fr.value=8601,Lr.value=null,Mr.value=!0}async function Hr(){let e=Nr.value.trim();if(!e){m(`请填写至少一个 IP 或域名`,`error`);return}Ir.value=!0,Lr.value=null;try{let t=await E.post(`/servers/add-by-ips-batch`,{text:e,port:Pr.value||22,agent_port:Fr.value||8601});Lr.value=t,t.created>0&&(Ot(),sr()),t.pending>0&&Fn(),m(t.pending>0?`添加完成:${t.created} 台成功,${t.pending} 台进入连接失败列表`:`添加完成:${t.created} 台成功`,t.pending>0?`warning`:`success`)}catch(e){m(Q(e,`批量添加失败`),`error`)}finally{Ir.value=!1}}async function Ur(){if(!Vt.value)return;let e=Vt.value.id;Bt.value=!0;try{await E.delete(`/servers/${e}`),zt.value=!1,R.value=R.value.filter(t=>t!==e),z.value=z.value.filter(t=>t!==e),await Promise.all([Ot(),Y()]),sr(),m(`已删除`)}catch(e){m(Q(e,`删除失败`),`error`)}finally{Bt.value=!1}}async function Wr(e=!1){await Promise.all([sr(e),yt(e),Ot(e)]),e||await Fn()}return Ie(e=>Wr(e)),(r,s)=>(y(),M(n,{fluid:``,class:`pa-4 pa-md-6`},{default:S(()=>[ar.value?(y(),M(it,{key:0,type:`heading, text`,class:`mb-4`})):(y(),M(nt,{key:1,items:or.value},null,8,[`items`])),H(J,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:S(()=>[H(q,{class:`d-flex align-center`},{default:S(()=>[s[64]||=A(` 服务器列表 `,-1),H(O),H(Z,{modelValue:I(D),"onUpdate:modelValue":[s[0]||=e=>f(D)?D.value=e:null,I(he)],"prepend-inner-icon":`mdi-magnify`,label:`搜索...`,density:`compact`,"hide-details":``,rounded:``,style:{"max-width":`240px`},variant:`outlined`},null,8,[`modelValue`,`onUpdate:modelValue`]),H(v,{color:`primary`,variant:`flat`,class:`ml-3`,"prepend-icon":`mdi-plus`,size:`small`,onClick:I(Qn)},{default:S(()=>[...s[57]||=[A(` 添加 `,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-flash`,size:`small`,onClick:Nn},{default:S(()=>[...s[58]||=[A(` 快速添加(IP) `,-1)]]),_:1}),H(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-ip-network`,size:`small`,onClick:Vr},{default:S(()=>[...s[59]||=[A(` 批量添加 `,-1)]]),_:1}),H(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-key-outline`,size:`small`,onClick:s[1]||=e=>re.value=!0},{default:S(()=>[...s[60]||=[A(` 凭据 `,-1)]]),_:1}),H(v,{variant:`tonal`,class:`ml-2`,"prepend-icon":`mdi-folder-search`,size:`small`,disabled:rr.value.size===0,title:`请先勾选至少一台服务器`,onClick:s[2]||=e=>Sr(`main`)},{default:S(()=>[...s[61]||=[A(` 检测路径 `,-1)]]),_:1},8,[`disabled`]),H(o,{modelValue:xt.value,"onUpdate:modelValue":s[3]||=e=>xt.value=e,mandatory:``,density:`compact`,class:`ml-2`,color:`primary`,variant:`outlined`,divided:``},{default:S(()=>[H(v,{value:`table`,size:`small`,"prepend-icon":`mdi-table`},{default:S(()=>[...s[62]||=[A(`列表`,-1)]]),_:1}),H(v,{value:`group`,size:`small`,"prepend-icon":`mdi-folder-multiple`},{default:S(()=>[...s[63]||=[A(`分类`,-1)]]),_:1})]),_:1},8,[`modelValue`])]),_:1}),H(K,{class:`pt-0 pb-2`},{default:S(()=>[P(`div`,$t,[s[65]||=P(`span`,{class:`text-caption text-medium-emphasis mr-1`},`分类筛选`,-1),H(U,{color:I(ue)===``?`primary`:void 0,variant:I(ue)===``?`flat`:`outlined`,size:`small`,label:``,onClick:s[4]||=e=>Nt(``)},{default:S(()=>[A(` 全部 `+L(I(gt)),1)]),_:1},8,[`color`,`variant`]),(y(!0),V(ge,null,h(I(ot),e=>(y(),M(U,{key:e.name,color:I(ue)===e.name?`primary`:void 0,variant:I(ue)===e.name?`flat`:`outlined`,size:`small`,label:``,onClick:t=>Nt(e.name)},{default:S(()=>[A(L(e.label)+` `+L(e.count),1)]),_:2},1032,[`color`,`variant`,`onClick`]))),128)),I(ht)?(y(),M(ce,{key:0,indeterminate:``,size:`16`,width:`2`})):k(``,!0),H(O),H(v,{size:`small`,variant:`tonal`,disabled:I(le)===0,loading:Ft.value,onClick:It},{default:S(()=>[A(` 全选筛选结果 (`+L(I(le))+`) `,1)]),_:1},8,[`disabled`,`loading`])])]),_:1}),H(Tt,{count:rr.value.size,onBatchCategory:s[5]||=e=>gr(`main`),onHealthCheck:s[6]||=e=>wr(`main`),onDetectPath:s[7]||=e=>Sr(`main`),onInstallAgent:s[8]||=e=>Tr(`main`),onUpgradeAgent:s[9]||=e=>Er(`main`),onUninstallAgent:s[10]||=e=>Dr(`main`),onBatchDelete:s[11]||=e=>jr(`main`),onClear:s[12]||=e=>nr.value=[]},null,8,[`count`]),xt.value===`table`&&I(x)&&!I(ie).length?(y(),M(it,{key:0,type:`table-heading, table-row-divider@8`,class:`mb-4`})):k(``,!0),xt.value===`table`?w((y(),M(Qe,{key:1,items:I(ie),headers:ir,"items-length":I(le),loading:I(x),page:I(ae),"items-per-page":I(oe),"items-per-page-options":p,hover:``,density:`comfortable`,"item-value":`id`,"show-select":``,modelValue:nr.value,"onUpdate:modelValue":s[15]||=e=>nr.value=e,"sort-by":I(fe),"onUpdate:sortBy":s[16]||=e=>f(fe)?fe.value=e:null,expanded:I(Pe),"onUpdate:expanded":s[17]||=e=>f(Pe)?Pe.value=e:null,"show-expand":``,class:`server-main-table`,"onUpdate:page":Je,"onUpdate:itemsPerPage":Ye},{"item.data-table-expand":S(()=>[...s[66]||=[]]),"item.status":S(({item:e})=>[H(U,{color:I(tt)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:S(()=>[A(L(I(et)(e.status)),1)]),_:2},1032,[`color`])]),"item.name":S(({item:e})=>[P(`div`,{class:`d-flex align-center cursor-pointer text-primary`,onClick:B(t=>qe(e),[`stop`])},[H(se,{size:`small`,class:`mr-1`},{default:S(()=>[A(L(R.value.includes(e.id)?`mdi-chevron-down`:`mdi-chevron-right`),1)]),_:2},1024),P(`span`,tn,L(e.name),1)],8,en)]),"item.domain":S(({item:e})=>[P(`span`,nn,L(e.domain)+`:`+L(e.port),1)]),"item.category":S(({item:e})=>[e.category?(y(),M(U,{key:0,color:`primary`,variant:`tonal`,size:`small`,label:``},{default:S(()=>[A(L(e.category),1)]),_:2},1024)):(y(),V(`span`,rn,`—`))]),"item.target_path":S(({item:e})=>[yr.value===e.id?(y(),V(`div`,{key:0,class:`d-flex align-center ga-1`,onClick:s[14]||=B(()=>{},[`stop`])},[H(Z,{modelValue:br.value,"onUpdate:modelValue":s[13]||=e=>br.value=e,density:`compact`,variant:`outlined`,"hide-details":``,placeholder:`/www/wwwroot`,style:{"max-width":`140px`},onKeyup:[we(t=>Ar(e.id),[`enter`]),we(kr,[`esc`])]},null,8,[`modelValue`,`onKeyup`]),H(v,{icon:`mdi-check`,size:`x-small`,variant:`text`,color:`primary`,loading:xr.value===e.id,onClick:t=>Ar(e.id)},null,8,[`loading`,`onClick`]),H(v,{icon:`mdi-close`,size:`x-small`,variant:`text`,onClick:kr})])):(y(),V(`div`,an,[P(`span`,{class:`text-caption text-medium-emphasis text-truncate d-inline-block`,style:{"max-width":`140px`},title:e.target_path||`未配置`},L(e.target_path?.trim()||`—`),9,on),H(v,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,density:`compact`,title:`编辑目标路径`,onClick:B(t=>Or(e),[`stop`])},null,8,[`onClick`])]))]),"item.agent_version":S(({item:e})=>[P(`span`,sn,L(e.agent_version||`—`),1)]),"item.last_heartbeat":S(({item:e})=>[P(`span`,cn,L(I(rt)(e.last_heartbeat)),1)]),"item.actions":S(({item:e})=>[P(`div`,ln,[H(v,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,onClick:B(t=>cr(e),[`stop`])},{default:S(()=>[...s[67]||=[A(`终端`,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:B(t=>lr(e),[`stop`])},{default:S(()=>[...s[68]||=[A(`文件`,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:B(t=>ur(e),[`stop`])},{default:S(()=>[...s[69]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`]),H(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:B(t=>dr(e),[`stop`])},{default:S(()=>[...s[70]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])])]),"expanded-row":S(({columns:e,item:t})=>[P(`tr`,null,[P(`td`,{colspan:e.length,class:`pa-0`},[H(Mt,{server:t,onEditPath:e=>Or(t)},null,8,[`server`,`onEditPath`])],8,un)])]),"no-data":S(()=>[...s[71]||=[P(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无服务器数据`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`,`modelValue`,`sort-by`,`expanded`])),[[pe,!(I(x)&&!I(ie).length)]]):(y(),V(`div`,dn,[Et.value?(y(),V(`div`,fn,[H(ce,{indeterminate:``,size:`32`}),s[72]||=P(`div`,{class:`text-caption text-medium-emphasis mt-2`},`按分类加载中…`,-1)])):jt.value.length===0?(y(),V(`div`,pn,` 暂无服务器数据 `)):(y(),M(mt,{key:2,modelValue:Dt.value,"onUpdate:modelValue":s[20]||=e=>Dt.value=e,multiple:``,variant:`accordion`,class:`servers-category-panels`},{default:S(()=>[(y(!0),V(ge,null,h(jt.value,t=>(y(),M(ft,{key:t.category},{default:S(()=>[H(pt,null,{default:S(()=>[P(`div`,mn,[H(U,{color:`primary`,variant:`tonal`,size:`small`,label:``},{default:S(()=>[A(L(t.label),1)]),_:2},1024),P(`span`,hn,L(t.servers.length)+` 台`,1),H(O),H(v,{size:`x-small`,variant:`text`,onClick:B(e=>Rt(t.servers),[`stop`])},{default:S(()=>[A(L(Lt(t.servers)?`取消本组`:`全选本组`),1)]),_:2},1032,[`onClick`])])]),_:2},1024),H(dt,null,{default:S(()=>[H(e,{density:`compact`,hover:``},{default:S(()=>[s[74]||=P(`thead`,null,[P(`tr`,null,[P(`th`,{style:{width:`40px`}}),P(`th`,null,`状态`),P(`th`,null,`名称`),P(`th`,null,`地址`),P(`th`,null,`目标路径`),P(`th`,{class:`text-end`},`操作`)])],-1),P(`tbody`,null,[(y(!0),V(ge,null,h(t.servers,e=>(y(),V(`tr`,{key:e.id},[P(`td`,{onClick:s[18]||=B(()=>{},[`stop`])},[H(He,{"model-value":rr.value.has(e.id),density:`compact`,"hide-details":``,"onUpdate:modelValue":t=>Pt(e.id,t)},null,8,[`model-value`,`onUpdate:modelValue`])]),P(`td`,null,[H(U,{color:I(tt)(e.status),size:`x-small`,variant:`tonal`,label:``,border:`sm`},{default:S(()=>[A(L(I(et)(e.status)),1)]),_:2},1032,[`color`])]),P(`td`,gn,L(e.name),1),P(`td`,_n,L(e.domain)+`:`+L(e.port),1),P(`td`,vn,L(e.target_path?.trim()||`—`),1),P(`td`,{class:`text-end`,onClick:s[19]||=B(()=>{},[`stop`])},[H(v,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>ur(e)},{default:S(()=>[...s[73]||=[A(`编辑`,-1)]]),_:1},8,[`onClick`])])]))),128))])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1},8,[`modelValue`]))]))]),_:1}),H(Ut,{servers:Ee.value,loading:Oe.value,total:De.value,page:ke.value,"items-per-page":Ae.value,"items-per-page-options":p,"expanded-ids":z.value,"selected-items":W.value,"onUpdate:selectedItems":s[21]||=e=>W.value=e,"sort-by":I(fe),"onUpdate:sortBy":s[22]||=e=>f(fe)?fe.value=e:null,"select-all-loading":Be.value,"editing-path-id":yr.value,"editing-path-value":br.value,"saving-path-id":xr.value,onRefresh:s[23]||=e=>Y(),"onUpdate:page":Xe,"onUpdate:itemsPerPage":Ze,"onUpdate:expandedIds":s[24]||=e=>z.value=e,"onUpdate:editingPathValue":s[25]||=e=>br.value=e,onSelectAllFiltered:Ke,onToggleExpand:X,onTerminal:cr,onFiles:lr,onDetectPathSingle:$e,onEdit:ur,onDelete:dr,onEditPath:Or,onSavePath:Ar,onCancelEditPath:kr,onBatchCategory:s[26]||=e=>gr(`unset`),onHealthCheck:s[27]||=e=>wr(`unset`),onDetectPath:s[28]||=e=>Sr(`unset`),onInstallAgent:s[29]||=e=>Tr(`unset`),onUpgradeAgent:s[30]||=e=>Er(`unset`),onUninstallAgent:s[31]||=e=>Dr(`unset`),onBatchDelete:s[32]||=e=>jr(`unset`),onClearSelection:s[33]||=e=>W.value=[]},null,8,[`servers`,`loading`,`total`,`page`,`items-per-page`,`expanded-ids`,`selected-items`,`sort-by`,`select-all-loading`,`editing-path-id`,`editing-path-value`,`saving-path-id`]),H(J,{elevation:`0`,rounded:`lg`,class:`my-5`,border:``},{default:S(()=>[H(q,{class:`d-flex align-center`},{default:S(()=>[s[76]||=A(` 连接失败列表 `,-1),Kt.value.length?(y(),M(U,{key:0,size:`small`,class:`ml-2`,color:`error`,variant:`tonal`,label:``},{default:S(()=>[A(L(Kt.value.length),1)]),_:1})):k(``,!0),H(O),H(v,{variant:`text`,size:`small`,"prepend-icon":`mdi-refresh`,loading:qt.value,onClick:Fn},{default:S(()=>[...s[75]||=[A(` 刷新 `,-1)]]),_:1},8,[`loading`])]),_:1}),H(t,{items:Kt.value,headers:Mn,loading:qt.value,hover:``,density:`comfortable`,"items-per-page":10},{"item.address":S(({item:e})=>[P(`span`,yn,L(e.domain)+`:`+L(e.port),1)]),"item.last_attempt_at":S(({item:e})=>[P(`span`,bn,L(I(rt)(e.last_attempt_at)),1)]),"item.last_error":S(({item:e})=>[P(`span`,{class:`text-caption text-error text-truncate d-inline-block`,style:{"max-width":`320px`},title:e.last_error},L(e.last_error||`—`),9,xn)]),"item.actions":S(({item:e})=>[H(v,{variant:`text`,size:`x-small`,color:`primary`,density:`compact`,loading:Yt.value===e.id,onClick:t=>Ln(e)},{default:S(()=>[...s[77]||=[A(` 重试 `,-1)]]),_:1},8,[`loading`,`onClick`]),H(v,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>Rn(e)},{default:S(()=>[...s[78]||=[A(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":S(()=>[...s[79]||=[P(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无连接失败记录`,-1)]]),_:1},8,[`items`,`loading`])]),_:1}),H(Ct,{modelValue:I(Bn),"onUpdate:modelValue":s[34]||=e=>f(Bn)?Bn.value=e:null,form:I(Vn),"is-editing":I(Hn),saving:I(Un),"lookups-loading":I(Wn),"password-presets":I(Gn),"ssh-key-presets":I(Kn),"category-options":I(qn),platforms:I(Jn),nodes:I(Yn),"edit-hints":I(Xn),"files-elevation-items":I(Zn),onSave:I(tr)},null,8,[`modelValue`,`form`,`is-editing`,`saving`,`lookups-loading`,`password-presets`,`ssh-key-presets`,`category-options`,`platforms`,`nodes`,`edit-hints`,`files-elevation-items`,`onSave`]),H($,{modelValue:zt.value,"onUpdate:modelValue":s[36]||=e=>zt.value=e,"max-width":`400`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[...s[80]||=[A(`确认删除`,-1)]]),_:1}),H(K,null,{default:S(()=>[s[81]||=A(`确定要删除服务器 `,-1),P(`strong`,null,L(Vt.value?.name),1),s[82]||=A(` 吗?`,-1)]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,onClick:s[35]||=e=>zt.value=!1},{default:S(()=>[...s[83]||=[A(`取消`,-1)]]),_:1}),H(v,{color:`error`,variant:`flat`,onClick:Ur,loading:Bt.value},{default:S(()=>[...s[84]||=[A(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H($,{modelValue:Ht.value,"onUpdate:modelValue":s[41]||=e=>Ht.value=e,"max-width":`480`,persistent:``},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[...s[85]||=[A(`快速添加服务器(仅 IP)`,-1)]]),_:1}),H(K,null,{default:S(()=>[s[86]||=P(`p`,{class:`text-body-2 text-medium-emphasis mb-3`},` 将按顺序轮询凭据管理中的全部密码预设与 SSH 密钥预设尝试登录,首个成功即加入服务器列表。 `,-1),H(Z,{modelValue:Gt.value.domain,"onUpdate:modelValue":s[37]||=e=>Gt.value.domain=e,label:`IP 或域名`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`192.168.1.10`,rules:[e=>!!e?.trim()||`必填`]},null,8,[`modelValue`,`rules`]),H(Z,{modelValue:Gt.value.port,"onUpdate:modelValue":s[38]||=e=>Gt.value.port=e,modelModifiers:{number:!0},label:`SSH 端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),H(Z,{modelValue:Gt.value.name,"onUpdate:modelValue":s[39]||=e=>Gt.value.name=e,label:`显示名称(可选)`,variant:`outlined`,density:`compact`,hint:`留空则使用 IP`,"persistent-hint":``},null,8,[`modelValue`])]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,disabled:Wt.value,onClick:s[40]||=e=>Ht.value=!1},{default:S(()=>[...s[87]||=[A(`取消`,-1)]]),_:1},8,[`disabled`]),H(v,{color:`primary`,variant:`flat`,loading:Wt.value,onClick:In},{default:S(()=>[...s[88]||=[A(`开始轮询`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H($,{modelValue:Xt.value,"onUpdate:modelValue":s[43]||=e=>Xt.value=e,"max-width":`560`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,{class:`text-error`},{default:S(()=>[...s[89]||=[A(`SSH 连接失败`,-1)]]),_:1}),H(K,null,{default:S(()=>[s[90]||=P(`p`,{class:`text-body-2 mb-3`},`已尝试全部凭据预设,均未登录成功。该服务器已加入「连接失败列表」,可稍后重试。`,-1),Zt.value.length?(y(),M(Ce,{key:0,density:`compact`,class:`bg-grey-lighten-4 rounded`},{default:S(()=>[(y(!0),V(ge,null,h(Zt.value,(e,t)=>(y(),M(Te,{key:t},{default:S(()=>[H(N,{class:`text-body-2`},{default:S(()=>[A(` [`+L(e.preset_type===`password`?`密码`:e.preset_type===`system`?`系统`:`密钥`)+`] `+L(e.preset_name)+` (`+L(e.username)+`) `,1)]),_:2},1024),H(ye,{class:`text-error`},{default:S(()=>[A(L(e.error),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(y(),V(`p`,Sn,L(On.value),1))]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{color:`primary`,variant:`flat`,onClick:s[42]||=e=>Xt.value=!1},{default:S(()=>[...s[91]||=[A(`知道了`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H($,{modelValue:kn.value,"onUpdate:modelValue":s[45]||=e=>kn.value=e,"max-width":`400`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[...s[92]||=[A(`确认删除`,-1)]]),_:1}),H(K,null,{default:S(()=>[s[93]||=A(`从失败列表移除 `,-1),P(`strong`,null,L(An.value?.domain),1),s[94]||=A(`?`,-1)]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,onClick:s[44]||=e=>kn.value=!1},{default:S(()=>[...s[95]||=[A(`取消`,-1)]]),_:1}),H(v,{color:`error`,variant:`flat`,loading:jn.value,onClick:zn},{default:S(()=>[...s[96]||=[A(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H($,{modelValue:vr.value,"onUpdate:modelValue":s[47]||=e=>vr.value=e,"max-width":`480`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[...s[97]||=[A(`自动检测目标路径`,-1)]]),_:1}),H(K,null,{default:S(()=>[P(`p`,Cn,[s[98]||=A(` 将对选中的 `,-1),P(`strong`,null,L(We.value),1),s[99]||=A(` 台服务器执行 SSH 检测。 `,-1)]),s[100]||=P(`p`,{class:`text-body-2 text-medium-emphasis mb-0`},[A(` 在远程 `),P(`code`,null,`/www/wwwroot`),A(` 下搜索 `),P(`code`,null,`workerman.bat`),A(`,找到后将所在目录写入各服务器的 `),P(`strong`,null,`target_path`),A(`(找到第一个即停止)。 `)],-1)]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,onClick:s[46]||=e=>vr.value=!1},{default:S(()=>[...s[101]||=[A(`取消`,-1)]]),_:1}),H(v,{color:`primary`,variant:`flat`,onClick:Cr},{default:S(()=>[...s[102]||=[A(`开始检测`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H($,{modelValue:fr.value,"onUpdate:modelValue":s[50]||=e=>fr.value=e,"max-width":`420`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[...s[103]||=[A(`批量修改分类`,-1)]]),_:1}),H(K,null,{default:S(()=>[P(`div`,wn,` 已选择 `+L(We.value)+` 台服务器,将统一设置为以下分类(留空表示清除分类)。 `,1),H(St,{modelValue:pr.value,"onUpdate:modelValue":s[48]||=e=>pr.value=e,items:hr.value,label:`分类`,variant:`outlined`,density:`compact`,clearable:``,"hide-details":``,placeholder:`输入或选择分类`},null,8,[`modelValue`,`items`])]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,onClick:s[49]||=e=>fr.value=!1},{default:S(()=>[...s[104]||=[A(`取消`,-1)]]),_:1}),H(v,{color:`primary`,variant:`flat`,loading:mr.value,onClick:_r},{default:S(()=>[...s[105]||=[A(` 确认 `,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H($,{modelValue:Mr.value,"onUpdate:modelValue":s[55]||=e=>Mr.value=e,"max-width":`560`},{default:S(()=>[H(J,{border:``},{default:S(()=>[H(q,null,{default:S(()=>[...s[106]||=[A(`批量添加服务器`,-1)]]),_:1}),H(K,null,{default:S(()=>[s[107]||=P(`div`,{class:`text-body-2 text-medium-emphasis mb-3`},` 每行一个 IP 或域名;也可使用「名称 + Tab + IP」附带显示名称。空白行自动忽略,重复地址自动去重(不区分大小写)。SSH 凭据从「凭据」预设轮询匹配;连接失败将进入下方「连接失败列表」。 `,-1),H(ut,{modelValue:Nr.value,"onUpdate:modelValue":s[51]||=e=>Nr.value=e,label:`IP / 域名列表(可选:名称 Tab IP)`,variant:`outlined`,density:`compact`,rows:`10`,"auto-grow":``,placeholder:`武汉示例公司 192.168.1.10 +192.168.1.11 +10.0.0.5`},null,8,[`modelValue`]),Br.value.unique>0?(y(),V(`div`,Tn,[A(` 将添加 `+L(Br.value.unique)+` 台 `,1),Br.value.deduped>0?(y(),V(`span`,En,`(已去重 `+L(Br.value.deduped)+` 个重复)`,1)):k(``,!0)])):k(``,!0),H(a,{dense:``,class:`mt-1`},{default:S(()=>[H(i,{cols:`6`},{default:S(()=>[H(Z,{modelValue:Pr.value,"onUpdate:modelValue":s[52]||=e=>Pr.value=e,modelModifiers:{number:!0},label:`SSH 端口`,type:`number`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1}),H(i,{cols:`6`},{default:S(()=>[H(Z,{modelValue:Fr.value,"onUpdate:modelValue":s[53]||=e=>Fr.value=e,modelModifiers:{number:!0},label:`Agent 端口`,type:`number`,variant:`outlined`,density:`compact`,"hide-details":``},null,8,[`modelValue`])]),_:1})]),_:1}),Lr.value?(y(),M(ne,{key:1,type:Lr.value.pending>0?`warning`:`success`,density:`compact`,variant:`tonal`,class:`mt-3`},{default:S(()=>[A(` 共 `+L(Lr.value.total)+` 台:成功 `+L(Lr.value.created)+`,待连接 `+L(Lr.value.pending)+`,跳过 `+L(Lr.value.skipped)+` `,1),(Lr.value.duplicates_removed??0)>0?(y(),V(`span`,Dn,` (输入 `+L(Lr.value.input_lines)+` 行,去重 `+L(Lr.value.duplicates_removed)+` 个) `,1)):k(``,!0)]),_:1},8,[`type`])):k(``,!0)]),_:1}),H(G,null,{default:S(()=>[H(O),H(v,{variant:`text`,onClick:s[54]||=e=>Mr.value=!1},{default:S(()=>[...s[108]||=[A(`关闭`,-1)]]),_:1}),H(v,{color:`primary`,variant:`flat`,onClick:Hr,loading:Ir.value,disabled:!Nr.value.trim()},{default:S(()=>[...s[109]||=[A(` 开始添加 `,-1)]]),_:1},8,[`loading`,`disabled`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),H(Jt,{modelValue:re.value,"onUpdate:modelValue":s[56]||=e=>re.value=e},null,8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-44874d03`]]);export{On as default}; \ No newline at end of file diff --git a/web/app/assets/SettingsPage-C2WmgeTn.js b/web/app/assets/SettingsPage-C2WmgeTn.js deleted file mode 100644 index 9d117f49..00000000 --- a/web/app/assets/SettingsPage-C2WmgeTn.js +++ /dev/null @@ -1,4 +0,0 @@ -import{n as e,t}from"./useSnackbar-DaoOJlMz.js";import{n,t as r}from"./VRow-Wg9QrEcV.js";import{Ct as i,Ir as a,Kt as ee,Mr as te,P as o,Pr as s,Sr as c,St as ne,Ur as l,W as re,X as u,Xr as d,Xt as f,_ as p,_r as m,br as h,dr as g,g as ie,gr as _,h as ae,hr as v,l as oe,m as se,mr as ce,ni as y,oi as b,ur as x,v as S,vr as C,wt as le,xr as w,xt as T,y as E}from"./index-DZEQidkT.js";import{t as D}from"./usePageActivateRefresh-BmoMLdUi.js";import{a as O,n as k,r as A,t as j}from"./VCard-DiTj681b.js";import{t as M}from"./VSelect-CzNpj4qJ.js";import{t as N}from"./VTextField-CvZimSXQ.js";import{t as ue}from"./VDialog-B2Te8j14.js";import{n as P,r as F,t as de}from"./validation-BMzYTJL4.js";import{t as I}from"./VForm-CIKxKkYK.js";import{t as L}from"./VSwitch-fZMfBV9n.js";import{t as fe}from"./VTextarea-tb0SPOpO.js";import{n as R,r as pe}from"./useTerminalQuickCommands-DSsRozRD.js";var z={key:1,class:`text-medium-emphasis text-body-2 mb-4`},B={class:`text-caption text-medium-emphasis mr-2`,style:{"min-width":`1.5rem`}},me={class:`d-flex flex-wrap ga-2`},he=c({__name:`TerminalQuickCommandsSettings`,setup(e){let n=t(),{commands:r,loading:i,load:ee,create:c,update:ne,remove:f,reorder:ce,customCommands:x,builtinCommands:le}=R(),T=d(!1),D=d(null),M=d(``),P=d(``),F=d(!1),de=d(!1),I=d(!1),L=d(null),fe=d(``);function he(){D.value=null,M.value=``,P.value=``,T.value=!0}function ge(e){D.value=e.id,M.value=e.name,P.value=e.cmd.replace(/\r$/,``),T.value=!0}async function _e(){if(!M.value.trim()||!P.value.trim()){n(`名称和命令不能为空`,`warning`);return}let e=P.value.trim();e.endsWith(`\r`)||(e+=`\r`),F.value=!0;try{D.value?await ne(D.value,M.value,e):await c(M.value,e),T.value=!1,n(`已保存`)}catch(e){n(e instanceof Error?e.message:`保存失败`,`error`)}finally{F.value=!1}}function ve(e){L.value=e.id,fe.value=e.name,I.value=!0}async function ye(){if(L.value){F.value=!0;try{await f(L.value),I.value=!1,n(`已删除`)}catch(e){n(e instanceof Error?e.message:`删除失败`,`error`)}finally{F.value=!1}}}async function be(e){let t=x();if(e<=0)return;let n=t.map(e=>e.id),r=n[e-1];n[e-1]=n[e],n[e]=r,await Se(n)}async function xe(e){let t=x();if(e>=t.length-1)return;let n=t.map(e=>e.id),r=n[e+1];n[e+1]=n[e],n[e]=r,await Se(n)}async function Se(e){de.value=!0;try{await ce(e)}catch(e){n(e instanceof Error?e.message:`排序失败`,`error`)}finally{de.value=!1}}return te(()=>{ee().catch(e=>n(e.message,`error`))}),(e,t)=>(s(),_(j,{id:`terminal-quick-commands`,elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center flex-wrap ga-2`},{default:l(()=>[w(u,{class:`mr-1`},{default:l(()=>[...t[6]||=[h(`mdi-flash`,-1)]]),_:1}),t[8]||=h(` 终端快捷命令 `,-1),w(p),w(o,{size:`small`,color:`primary`,variant:`flat`,"prepend-icon":`mdi-plus`,onClick:he},{default:l(()=>[...t[7]||=[h(` 添加命令 `,-1)]]),_:1})]),_:1}),w(S),w(k,null,{default:l(()=>[t[9]||=v(`div`,{class:`text-body-2 text-medium-emphasis mb-4`},` 自定义命令显示在终端栏最前(优先级最高)。终端页仅可点击执行;在此添加、编辑、删除与调整顺序。 `,-1),y(i)?(s(),_(re,{key:0,indeterminate:``,color:`primary`,class:`mb-3`})):m(``,!0),y(x)().length===0&&!y(i)?(s(),C(`div`,z,` 暂无自定义命令,点击「添加命令」创建。 `)):m(``,!0),y(x)().length?(s(),_(oe,{key:2,density:`compact`,class:`mb-4 pa-0`},{default:l(()=>[(s(!0),C(g,null,a(y(x)(),(e,t)=>(s(),_(se,{key:e.id,border:``,rounded:`lg`,class:`mb-2`},{prepend:l(()=>[v(`span`,B,b(t+1),1)]),append:l(()=>[w(o,{icon:`mdi-arrow-up`,size:`x-small`,variant:`text`,disabled:t===0||de.value,onClick:e=>be(t)},null,8,[`disabled`,`onClick`]),w(o,{icon:`mdi-arrow-down`,size:`x-small`,variant:`text`,disabled:t===y(x)().length-1||de.value,onClick:e=>xe(t)},null,8,[`disabled`,`onClick`]),w(o,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,onClick:t=>ge(e)},null,8,[`onClick`]),w(o,{icon:`mdi-delete`,size:`x-small`,variant:`text`,color:`error`,onClick:t=>ve(e)},null,8,[`onClick`])]),default:l(()=>[w(ae,null,{default:l(()=>[h(b(e.name),1)]),_:2},1024),w(ie,{class:`font-mono text-truncate`},{default:l(()=>[h(b(e.cmd),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):m(``,!0),t[10]||=v(`div`,{class:`text-subtitle-2 mb-2`},`系统内置(不可编辑)`,-1),v(`div`,me,[(s(!0),C(g,null,a(y(le)(),e=>(s(),_(E,{key:e.id,size:`small`,variant:`outlined`,label:``},{default:l(()=>[h(b(e.name),1)]),_:2},1024))),128))])]),_:1}),w(ue,{modelValue:T.value,"onUpdate:modelValue":t[3]||=e=>T.value=e,"max-width":`520`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[h(b(D.value?`编辑命令`:`添加快捷命令`),1)]),_:1}),w(k,null,{default:l(()=>[w(N,{modelValue:M.value,"onUpdate:modelValue":t[0]||=e=>M.value=e,label:`显示名称`,variant:`outlined`,density:`compact`,class:`mb-3`},null,8,[`modelValue`]),t[11]||=v(`div`,{class:`text-body-2 text-medium-emphasis mb-2`},`命令内容(发送时自动追加回车)`,-1),w(pe,{modelValue:P.value,"onUpdate:modelValue":t[1]||=e=>P.value=e,multiline:``,rows:4,placeholder:`systemctl status nginx`},null,8,[`modelValue`])]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:t[2]||=e=>T.value=!1},{default:l(()=>[...t[12]||=[h(`取消`,-1)]]),_:1}),w(o,{color:`primary`,variant:`flat`,loading:F.value,onClick:_e},{default:l(()=>[...t[13]||=[h(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(ue,{modelValue:I.value,"onUpdate:modelValue":t[5]||=e=>I.value=e,"max-width":`400`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[...t[14]||=[h(`删除命令`,-1)]]),_:1}),w(k,null,{default:l(()=>[h(`确定删除「`+b(fe.value)+`」?`,1)]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:t[4]||=e=>I.value=!1},{default:l(()=>[...t[15]||=[h(`取消`,-1)]]),_:1}),w(o,{color:`error`,variant:`flat`,loading:F.value,onClick:ye},{default:l(()=>[...t[16]||=[h(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),ge=[{key:`notify_alert_cpu`,label:`CPU 超阈值告警`,desc:`CPU 超阈值或恢复时推送;关闭则该类告警与恢复均不通知`,group:`服务器资源`},{key:`notify_alert_mem`,label:`内存超阈值告警`,desc:`内存超阈值或恢复时推送;关闭则该类告警与恢复均不通知`,group:`服务器资源`},{key:`notify_alert_disk`,label:`磁盘超阈值告警`,desc:`磁盘超阈值或恢复时推送;关闭则该类告警与恢复均不通知`,group:`服务器资源`},{key:`notify_recovery`,label:`资源恢复正常`,desc:`CPU/内存/磁盘回落正常时推送(须总开关开启且对应资源开关未关)`,group:`服务器资源`},{key:`notify_time_drift`,label:`时钟偏差严重 (≥60s)`,desc:`子机与主机时间偏差过大影响 TOTP/cron`,group:`服务器`},{key:`notify_system_redis`,label:`Redis 连接异常 / 恢复`,desc:`Redis 不可达或恢复时推送`,group:`系统`},{key:`notify_system_mysql`,label:`MySQL 连接异常 / 恢复`,desc:`MySQL 不可达或恢复时推送`,group:`系统`},{key:`notify_restart`,label:`Nexus 后端重启`,desc:`Python 服务崩溃重启成功/失败时推送`,group:`系统`},{key:`notify_script_complete`,label:`脚本执行完成`,desc:`脚本批量执行结束时推送汇总与看板链接(不含失败明细)`,group:`运维`}],_e={class:`d-flex flex-wrap ga-2 mb-4`},ve={class:`text-caption text-medium-emphasis font-weight-medium mt-2 mb-1`},ye={class:`d-flex flex-wrap align-center ga-2 mb-3`},be={class:`d-flex flex-wrap ga-2`},xe={key:1,class:`text-caption text-medium-emphasis mt-2 mb-0`},Se={class:`d-flex align-center mb-3`},Ce={key:0,class:`text-center mb-3`},we=[`src`],Te={key:0,class:`d-flex align-center justify-center ga-2 mt-2`},Ee={class:`text-caption pa-1 bg-grey-lighten-4 rounded`,style:{"user-select":`all`}},De={key:1},Oe={key:1,class:`d-flex ga-2 align-center`},ke={class:`d-flex align-center ga-2`},Ae={class:`d-flex flex-wrap ga-2 mb-3`},je={key:0,class:`mb-4`},Me={class:`text-caption text-medium-emphasis mb-2`},Ne={key:0},Pe={class:`d-flex flex-wrap ga-1`},Fe={key:1,class:`text-caption text-medium-emphasis mb-4`},Ie={class:`text-caption text-medium-emphasis`},Le={class:`text-body-2 mb-2`},Re={class:`d-flex flex-wrap ga-1 mb-2`,style:{"max-height":`240px`,"overflow-y":`auto`}},ze={key:0,class:`text-body-2 text-medium-emphasis`},V=c({name:`SettingsPage`,__name:`SettingsPage`,setup(te){let c=t(),{saveToServer:ie,previewSound:ae}=T(),R=ee(),pe=i,z=d(ne),B=d(!1),me=d(!1),V=d({system_name:``,system_title:``,cpu_alert_threshold:80,mem_alert_threshold:80,disk_alert_threshold:80,db_pool_size:10,db_max_overflow:20,telegram_bot_token:``,telegram_chat_id:``}),H=d(``),U=d(!1),Be=d(!1),Ve=d(null),He=d(!1),Ue=d(!1),We=d(!1),Ge=d([]),W=d(!1),Ke=d(!1),G=d({}),qe=d(null),K=d(null),Je=d(!1),Ye=d(!1),Xe=ce(()=>{let e={};for(let t of ge)e[t.group]||(e[t.group]=[]),e[t.group].push(t);return e});function Ze(e){let t=String(e??`true`).trim().toLowerCase();return![`false`,`0`,`no`,`off`].includes(t)}let q=d({current:``,new_pw:``,confirm:``,totp_code:``}),Qe=d(!1),J=d(``),Y=d(``),$e=d(``),et=d(!1),tt=d(!1),nt=d(``),rt=d(``),it=d(!1),X=d(!1),at=d(``),ot=d(!1),st=d(!1),ct=d(!1),Z=d(``),lt=d(``),Q=d([]),ut=d(null),dt=d(0),ft=d(!1),pt=d(!1),$=d(!1),mt=d([]),ht=ce(()=>Q.value.slice(0,24));async function gt(e=!1){e||(me.value=!0);try{let e=await f.get(`/settings/`),t=Array.isArray(e)?e:[],n=Object.keys(V.value);for(let e of t){let t=e.key;if(t===`telegram_bot_token`){U.value=!!e.value_set,H.value=``;continue}if(t===`script_exec_complete_sound`){z.value=le(e.value);continue}if(t&&ge.some(e=>e.key===t)){G.value[t]=Ze(e.value);continue}if(t&&n.includes(t)){let n=e.value;typeof n==`string`&&/^\d+(\.\d+)?$/.test(n)?V.value[t]=Number(n):V.value[t]=n}}}catch{c(`加载设置失败`,`error`)}finally{e||(me.value=!1)}}async function _t(){try{let e=await f.get(`/settings/ip-allowlist`);ct.value=e.enabled||!1,Z.value=e.subscription_url||``,lt.value=(e.manual_ips||[]).join(` -`),Q.value=e.subscription_ips||[],ut.value=e.last_refresh||null,dt.value=e.total_count??new Set([...e.manual_ips||[],...e.subscription_ips||[]]).size}catch{c(`加载白名单失败`,`error`)}}async function vt(){let e=Ve.value;if(e){let{valid:t}=await e.validate();if(!t)return}Be.value=!0;try{let e=Object.entries(V.value).filter(([e])=>[`system_name`,`system_title`,`cpu_alert_threshold`,`mem_alert_threshold`,`disk_alert_threshold`,`db_pool_size`,`db_max_overflow`].includes(e));for(let[t,n]of e)await f.put(`/settings/${t}`,{value:String(n??``)});c(`设置已保存`)}catch(e){c(e instanceof Error?e.message:`保存失败`,`error`)}finally{Be.value=!1}}async function yt(e){let t=H.value.trim(),n=String(V.value.telegram_chat_id||``).trim();return e?.requireToken&&!t&&!U.value?(c(`请先填写 Bot Token`,`error`),!1):e?.requireChatId&&!n?(c(`请先填写或检测 Chat ID`,`error`),!1):(t&&(await f.put(`/settings/telegram_bot_token`,{value:t}),U.value=!0,H.value=``,W.value=!1),n&&await f.put(`/settings/telegram_chat_id`,{value:n}),!0)}async function bt(e=!1){e||(Je.value=!0);try{K.value=await f.get(`/settings/ops-patrol/status`)}catch{K.value=null}finally{e||(Je.value=!1)}}async function xt(){Ye.value=!0;try{if(!await yt({requireToken:!0,requireChatId:!0}))return;let e=await f.post(`/settings/ops-patrol/sync-telegram`,{});K.value={...K.value||{},telegram_layer3_ready:e.telegram_layer3_ready,telegram_env_synced:e.env_status.env_synced,env_status:e.env_status,telegram_app_configured:!0},c(`巡检 Telegram 已同步至 .env`),await bt()}catch(e){c(e instanceof Error?e.message:`同步失败`,`error`)}finally{Ye.value=!1}}async function St(){Ke.value=!0;try{let e=H.value.trim(),t=String(V.value.telegram_chat_id||``).trim();if(!e&&!t&&!U.value){c(`请先填写 Bot Token 或 Chat ID`,`warning`);return}await yt(),await bt(),c(`Telegram 配置已保存`)}catch(e){c(e instanceof Error?e.message:`保存失败`,`error`)}finally{Ke.value=!1}}async function Ct(e){if(!e||B.value)return;let t=z.value;z.value=e,B.value=!0;try{await ie(e),c(`提示音设置已保存`)}catch(e){z.value=t,c(e instanceof Error?e.message:`保存失败`,`error`)}finally{B.value=!1}}function wt(){ae(z.value)}async function Tt(e,t){let n=G.value[e];G.value[e]=t,qe.value=e;try{await f.put(`/settings/${e}`,{value:t?`true`:`false`})}catch(t){G.value[e]=n,c(t instanceof Error?t.message:`保存失败,已撤销`,`error`)}finally{qe.value=null}}async function Et(){He.value=!0;try{if(!await yt({requireToken:!0,requireChatId:!0}))return;await f.post(`/settings/telegram/test`),c(`测试消息已发送`)}catch(e){c(e instanceof Error?e.message:`发送失败`,`error`)}finally{He.value=!1}}async function Dt(){Ue.value=!0;try{if(!await yt({requireToken:!0}))return;if(Ge.value=(await f.get(`/settings/telegram/chats`)).chats||[],!Ge.value.length){c(`未检测到对话,请先向 Bot 发送一条消息后再试`,`warning`);return}We.value=!0}catch(e){c(e instanceof Error?e.message:`检测失败`,`error`)}finally{Ue.value=!1}}async function Ot(e){let t=String(e.id);V.value.telegram_chat_id=t,We.value=!1;try{await f.put(`/settings/telegram_chat_id`,{value:t}),c(`已选择 Chat ID: ${t}`)}catch(e){c(e instanceof Error?e.message:`保存 Chat ID 失败`,`error`)}}async function kt(){if(q.value.new_pw!==q.value.confirm){c(`两次密码不一致`,`error`);return}Qe.value=!0;try{let e={current_password:q.value.current,new_password:q.value.new_pw};R.admin?.totp_enabled&&q.value.totp_code&&(e.totp_code=q.value.totp_code),await f.put(`/auth/password`,e),q.value={current:``,new_pw:``,confirm:``,totp_code:``},c(`密码已修改`)}catch(e){c(e instanceof Error?e.message:`修改失败`,`error`)}finally{Qe.value=!1}}async function At(){try{let e=await f.post(`/auth/totp/setup`);J.value=e.qr_code,Y.value=e.secret||``}catch(e){c(e instanceof Error?e.message:`生成失败`,`error`)}}async function jt(){et.value=!0;try{await f.post(`/auth/totp/enable`,{code:$e.value}),await R.fetchProfile(),J.value=``,$e.value=``,c(`TOTP 已启用`)}catch(e){c(e.message||`启用失败`,`error`)}finally{et.value=!1}}function Mt(){tt.value=!0}async function Nt(){it.value=!0;try{await f.post(`/auth/totp/disable`,{admin_id:R.admin?.id,current_password:nt.value,totp_code:rt.value}),await R.fetchProfile(),tt.value=!1,nt.value=``,rt.value=``,c(`TOTP 已禁用`)}catch(e){c(e.message||`禁用失败`,`error`)}finally{it.value=!1}}function Pt(){Y.value&&(navigator.clipboard.writeText(Y.value),c(`密钥已复制`))}async function Ft(){if(X.value){X.value=!1;return}ot.value=!0;try{at.value=(await f.post(`/settings/api-key/reveal`,{})).value,X.value=!0}catch(e){c(e instanceof Error?e.message:`获取 API Key 失败`,`error`)}finally{ot.value=!1}}async function It(){if(W.value){W.value=!1,U.value&&(H.value=``);return}if(H.value.trim()){W.value=!0;return}if(!U.value){W.value=!0;return}st.value=!0;try{H.value=(await f.post(`/settings/telegram/reveal-token`,{})).value,W.value=!0}catch(e){c(e instanceof Error?e.message:`获取 Bot Token 失败`,`error`)}finally{st.value=!1}}function Lt(){if(!X.value||!at.value){c(`请先点击眼睛图标显示 API Key`,`warning`);return}navigator.clipboard.writeText(at.value),c(`已复制到剪贴板`)}async function Rt(){try{await f.post(`/settings/ip-allowlist/toggle?enabled=${ct.value?`true`:`false`}`)}catch(e){c(e instanceof Error?e.message:`操作失败`,`error`)}}async function zt(){let e=Z.value.trim();if(!e){c(`请先填写订阅 URL`,`error`);return}pt.value=!0;try{if(mt.value=(await f.post(`/settings/ip-allowlist/parse-subscription`,{url:e})).hosts||[],!mt.value.length){c(`未能解析出任何节点`,`warning`);return}$.value=!0}catch(e){c(e instanceof Error?e.message:`解析失败`,`error`)}finally{pt.value=!1}}async function Bt(){ft.value=!0;try{let e={manual_ips:lt.value.split(` -`).map(e=>e.trim()).filter(Boolean),subscription_url:Z.value.trim(),enabled:ct.value};await f.post(`/settings/ip-allowlist`,e),c(`白名单已保存`),$.value=!1,await _t()}catch(e){c(e instanceof Error?e.message:`保存失败`,`error`)}finally{ft.value=!1}}async function Vt(e=!1){await Promise.all([gt(e),_t(),bt(e),R.fetchProfile()])}return D(e=>Vt(e)),(t,i)=>(s(),_(e,{fluid:``,class:`pa-6`},{default:l(()=>[w(r,null,{default:l(()=>[w(n,{cols:`12`,lg:`6`},{default:l(()=>[w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[27]||=[h(`mdi-cog`,-1)]]),_:1}),i[28]||=h(` 系统设置 `,-1)]),_:1}),me.value?(s(),_(re,{key:0,indeterminate:``,color:`primary`})):m(``,!0),w(S),w(I,{ref_key:`systemSettingsFormRef`,ref:Ve,onSubmit:x(vt,[`prevent`])},{default:l(()=>[w(k,null,{default:l(()=>[w(N,{modelValue:V.value.system_name,"onUpdate:modelValue":i[0]||=e=>V.value.system_name=e,label:`系统名称`,variant:`outlined`,density:`compact`,class:`mb-3`,rules:[y(F)(`系统名称`)]},null,8,[`modelValue`,`rules`]),w(N,{modelValue:V.value.system_title,"onUpdate:modelValue":i[1]||=e=>V.value.system_title=e,label:`系统标题`,variant:`outlined`,density:`compact`,class:`mb-3`,rules:[y(F)(`系统标题`)]},null,8,[`modelValue`,`rules`]),w(S,{class:`my-4`}),i[29]||=v(`div`,{class:`text-subtitle-2 mb-3`},`告警阈值`,-1),w(r,{dense:``},{default:l(()=>[w(n,{cols:`4`},{default:l(()=>[w(N,{modelValue:V.value.cpu_alert_threshold,"onUpdate:modelValue":i[2]||=e=>V.value.cpu_alert_threshold=e,label:`CPU %`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`阈值`),y(P)(1,100,`阈值`)]},null,8,[`modelValue`,`rules`])]),_:1}),w(n,{cols:`4`},{default:l(()=>[w(N,{modelValue:V.value.mem_alert_threshold,"onUpdate:modelValue":i[3]||=e=>V.value.mem_alert_threshold=e,label:`内存 %`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`阈值`),y(P)(1,100,`阈值`)]},null,8,[`modelValue`,`rules`])]),_:1}),w(n,{cols:`4`},{default:l(()=>[w(N,{modelValue:V.value.disk_alert_threshold,"onUpdate:modelValue":i[4]||=e=>V.value.disk_alert_threshold=e,label:`磁盘 %`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`阈值`),y(P)(1,100,`阈值`)]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1}),w(S,{class:`my-4`}),i[30]||=v(`div`,{class:`text-subtitle-2 mb-3`},`连接池`,-1),w(r,{dense:``},{default:l(()=>[w(n,{cols:`6`},{default:l(()=>[w(N,{modelValue:V.value.db_pool_size,"onUpdate:modelValue":i[5]||=e=>V.value.db_pool_size=e,label:`连接池大小`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`连接池大小`),y(P)(1,1e3,`连接池大小`)]},null,8,[`modelValue`,`rules`])]),_:1}),w(n,{cols:`6`},{default:l(()=>[w(N,{modelValue:V.value.db_max_overflow,"onUpdate:modelValue":i[6]||=e=>V.value.db_max_overflow=e,label:`溢出连接数`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`溢出连接数`),y(P)(1,1e3,`溢出连接数`)]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1})]),_:1}),w(O,{class:`px-4 pb-4`},{default:l(()=>[w(p),w(o,{type:`submit`,color:`primary`,variant:`flat`,loading:Be.value},{default:l(()=>[...i[31]||=[h(`保存设置`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1},512)]),_:1}),w(he),w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[32]||=[h(`mdi-bell-ring-outline`,-1)]]),_:1}),i[33]||=h(` 界面提示 `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[i[35]||=v(`p`,{class:`text-caption text-medium-emphasis mb-3`},` 脚本批量执行全部结束时,在浏览器播放提示音(仅当前登录的管理员会话,与 Telegram 推送无关)。 `,-1),w(M,{modelValue:z.value,"onUpdate:modelValue":[i[7]||=e=>z.value=e,Ct],items:y(pe),"item-title":`title`,"item-value":`value`,label:`脚本执行完成提示音`,variant:`outlined`,density:`compact`,"hide-details":``,class:`mb-3`,loading:B.value,disabled:B.value},null,8,[`modelValue`,`items`,`loading`,`disabled`]),w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-volume-high`,disabled:z.value===`off`||B.value,onClick:wt},{default:l(()=>[...i[34]||=[h(` 试听 `,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1}),w(j,{elevation:`0`,border:``,rounded:`lg`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[36]||=[h(`mdi-send`,-1)]]),_:1}),i[37]||=h(` Telegram 推送 `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[w(N,{modelValue:H.value,"onUpdate:modelValue":i[8]||=e=>H.value=e,label:`Bot Token`,variant:`outlined`,density:`compact`,class:`mb-3`,placeholder:U.value?`已配置(留空保持不变)`:`输入 Bot Token`,type:W.value?`text`:`password`,"append-inner-icon":W.value?`mdi-eye-off`:`mdi-eye`,"onClick:appendInner":It},null,8,[`modelValue`,`placeholder`,`type`,`append-inner-icon`]),U.value&&!H.value?(s(),_(E,{key:0,size:`small`,color:`success`,variant:`tonal`,class:`mb-3`},{default:l(()=>[...i[38]||=[h(`Token 已配置`,-1)]]),_:1})):m(``,!0),w(N,{modelValue:V.value.telegram_chat_id,"onUpdate:modelValue":i[9]||=e=>V.value.telegram_chat_id=e,label:`Chat ID`,variant:`outlined`,density:`compact`,class:`mb-3`},null,8,[`modelValue`]),i[46]||=v(`p`,{class:`text-caption text-medium-emphasis mb-3`},` 在 Telegram 向 Bot 发送任意消息后,可点击下方按钮自动检测 Chat ID。 `,-1),v(`div`,_e,[w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-radar`,onClick:Dt,loading:Ue.value},{default:l(()=>[...i[39]||=[h(`检测 Chat ID`,-1)]]),_:1},8,[`loading`]),w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-message-text`,onClick:Et,loading:He.value},{default:l(()=>[...i[40]||=[h(`发送测试消息`,-1)]]),_:1},8,[`loading`]),w(o,{size:`small`,variant:`tonal`,color:`primary`,"prepend-icon":`mdi-content-save`,onClick:St,loading:Ke.value},{default:l(()=>[...i[41]||=[h(`保存 Telegram 配置`,-1)]]),_:1},8,[`loading`])]),w(S,{class:`my-3`}),i[47]||=v(`div`,{class:`text-subtitle-2 mb-1`},`告警通知项目`,-1),i[48]||=v(`p`,{class:`text-caption text-medium-emphasis mb-3`},` 关闭后该类告警仍记录日志,但不发送 Telegram 消息。Bot Token 未配置时全部静默。 `,-1),(s(!0),C(g,null,a(Xe.value,(e,t)=>(s(),C(g,{key:t},[v(`div`,ve,b(t),1),(s(!0),C(g,null,a(e,e=>(s(),_(L,{key:e.key,"model-value":G.value[e.key]??!0,label:e.label,hint:e.desc,"persistent-hint":``,color:`primary`,density:`compact`,"hide-details":`auto`,class:`mb-1`,disabled:qe.value===e.key,"onUpdate:modelValue":t=>Tt(e.key,!!t)},null,8,[`model-value`,`label`,`hint`,`disabled`,`onUpdate:modelValue`]))),128))],64))),128)),w(S,{class:`my-4`}),i[49]||=v(`div`,{class:`text-subtitle-2 mb-1`},`Layer 3 宿主机巡检`,-1),i[50]||=v(`p`,{class:`text-caption text-medium-emphasis mb-3`},[h(` 每分钟由宿主机 cron 执行 `),v(`code`,null,`health_monitor.sh`),h(`:连续 3 次 /health 失败则自动重启并推送 Telegram。 配置保存后会自动同步至 .env;亦可手动同步。未同步时脚本会从数据库读取 Telegram 配置。 `)],-1),v(`div`,ye,[w(E,{size:`small`,color:K.value?.telegram_layer3_ready?`success`:`warning`,variant:`tonal`},{default:l(()=>[h(b(K.value?.telegram_layer3_ready?`巡检 Telegram 就绪`:`请先配置 Telegram`),1)]),_:1},8,[`color`]),K.value?(s(),_(E,{key:0,size:`small`,color:K.value.telegram_env_synced?`success`:`grey`,variant:`tonal`},{default:l(()=>[h(b(K.value.telegram_env_synced?`.env 已同步`:`.env 未同步(可用 DB 回退)`),1)]),_:1},8,[`color`])):m(``,!0)]),v(`div`,be,[w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-sync`,onClick:xt,loading:Ye.value,disabled:!K.value?.telegram_app_configured},{default:l(()=>[...i[42]||=[h(` 同步巡检 Telegram `,-1)]]),_:1},8,[`loading`,`disabled`]),w(o,{size:`small`,variant:`text`,"prepend-icon":`mdi-refresh`,onClick:bt,loading:Je.value},{default:l(()=>[...i[43]||=[h(` 刷新状态 `,-1)]]),_:1},8,[`loading`])]),K.value?(s(),C(`p`,xe,[i[44]||=h(` 宿主机安装 cron:`,-1),v(`code`,null,b(K.value.cron_install_command),1),i[45]||=h(` · 日志:`,-1),v(`code`,null,b(K.value.health_log_path),1)])):m(``,!0)]),_:1})]),_:1})]),_:1}),w(n,{cols:`12`,lg:`6`},{default:l(()=>[w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[51]||=[h(`mdi-lock`,-1)]]),_:1}),i[52]||=h(` 修改密码 `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[w(N,{modelValue:q.value.current,"onUpdate:modelValue":i[10]||=e=>q.value.current=e,label:`当前密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-3`,rules:[y(F)(`密码`)]},null,8,[`modelValue`,`rules`]),w(N,{modelValue:q.value.new_pw,"onUpdate:modelValue":i[11]||=e=>q.value.new_pw=e,label:`新密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-3`,rules:[y(F)(`密码`)]},null,8,[`modelValue`,`rules`]),w(N,{modelValue:q.value.confirm,"onUpdate:modelValue":i[12]||=e=>q.value.confirm=e,label:`确认新密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-3`,rules:[y(F)(`确认密码`),y(de)(()=>q.value.new_pw)]},null,8,[`modelValue`,`rules`]),y(R).admin?.totp_enabled?(s(),_(N,{key:0,modelValue:q.value.totp_code,"onUpdate:modelValue":i[13]||=e=>q.value.totp_code=e,label:`TOTP 验证码`,variant:`outlined`,density:`compact`,type:`text`,inputmode:`numeric`,maxlength:`6`,class:`mb-3`,rules:y(R).admin?.totp_enabled?[y(F)(`验证码`)]:[]},null,8,[`modelValue`,`rules`])):m(``,!0)]),_:1}),w(O,{class:`px-4 pb-4`},{default:l(()=>[w(p),w(o,{color:`primary`,variant:`flat`,onClick:kt,loading:Qe.value},{default:l(()=>[...i[53]||=[h(`修改密码`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1}),w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[54]||=[h(`mdi-shield-key`,-1)]]),_:1}),i[55]||=h(` 双因素认证 (TOTP) `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[v(`div`,Se,[i[56]||=v(`span`,{class:`text-body-2`},`状态:`,-1),w(E,{color:y(R).admin?.totp_enabled?`success`:`grey`,size:`small`,variant:`tonal`,label:``,class:`ml-2`},{default:l(()=>[h(b(y(R).admin?.totp_enabled?`已启用`:`未启用`),1)]),_:1},8,[`color`])]),J.value?(s(),C(`div`,Ce,[v(`img`,{src:J.value,alt:`TOTP QR`,style:{"max-width":`200px`}},null,8,we),Y.value?(s(),C(`div`,Te,[v(`code`,Ee,b(Y.value),1),w(o,{size:`x-small`,variant:`text`,icon:`mdi-content-copy`,onClick:Pt})])):m(``,!0),i[57]||=v(`div`,{class:`text-caption text-medium-emphasis mt-1`},`用认证器 App 扫描二维码或手动输入密钥`,-1)])):m(``,!0),y(R).admin?.totp_enabled?(s(),_(o,{key:2,size:`small`,variant:`tonal`,color:`error`,"prepend-icon":`mdi-shield-off`,onClick:Mt},{default:l(()=>[...i[60]||=[h(`禁用 TOTP`,-1)]]),_:1})):(s(),C(`div`,De,[J.value?(s(),C(`div`,Oe,[w(N,{modelValue:$e.value,"onUpdate:modelValue":i[14]||=e=>$e.value=e,label:`验证码`,variant:`outlined`,density:`compact`,style:{"max-width":`160px`}},null,8,[`modelValue`]),w(o,{color:`primary`,variant:`flat`,size:`small`,onClick:jt,loading:et.value},{default:l(()=>[...i[59]||=[h(`启用`,-1)]]),_:1},8,[`loading`])])):(s(),_(o,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-qrcode`,onClick:At},{default:l(()=>[...i[58]||=[h(`生成二维码`,-1)]]),_:1}))]))]),_:1})]),_:1}),w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[61]||=[h(`mdi-key`,-1)]]),_:1}),i[62]||=h(` API Key `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[v(`div`,ke,[w(N,{"model-value":X.value?at.value:`••••••••`,label:`API Key`,variant:`outlined`,density:`compact`,readonly:``,type:X.value?`text`:`password`,style:{"max-width":`320px`}},null,8,[`model-value`,`type`]),w(o,{variant:`text`,size:`small`,icon:X.value?`mdi-eye-off`:`mdi-eye`,onClick:Ft,loading:ot.value},null,8,[`icon`,`loading`]),w(o,{variant:`text`,size:`small`,icon:`mdi-content-copy`,onClick:Lt})])]),_:1})]),_:1}),w(j,{elevation:`0`,border:``,rounded:`lg`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[63]||=[h(`mdi-ip-network`,-1)]]),_:1}),i[64]||=h(` 登录 IP 白名单 `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[w(L,{modelValue:ct.value,"onUpdate:modelValue":[i[15]||=e=>ct.value=e,Rt],label:`启用 IP 白名单(仅白名单 IP 可登录)`,color:`primary`,density:`compact`,"hide-details":``,class:`mb-4`},null,8,[`modelValue`]),i[67]||=v(`div`,{class:`text-subtitle-2 mb-2`},`代理订阅`,-1),i[68]||=v(`p`,{class:`text-caption text-medium-emphasis mb-2`},` 填写 SS/VMess/VLESS 等订阅链接,保存后每 2 小时自动刷新节点 IP 并合并进白名单。 `,-1),w(N,{modelValue:Z.value,"onUpdate:modelValue":i[16]||=e=>Z.value=e,label:`订阅 URL`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`https://example.com/sub?token=...`},null,8,[`modelValue`]),v(`div`,Ae,[w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-cloud-download`,onClick:zt,loading:pt.value},{default:l(()=>[...i[65]||=[h(`解析预览`,-1)]]),_:1},8,[`loading`]),w(o,{size:`small`,variant:`tonal`,color:`primary`,"prepend-icon":`mdi-content-save`,onClick:Bt,loading:ft.value},{default:l(()=>[...i[66]||=[h(`保存白名单`,-1)]]),_:1},8,[`loading`])]),Q.value.length?(s(),C(`div`,je,[v(`div`,Me,[h(` 订阅节点 `+b(Q.value.length)+` 个 `,1),ut.value?(s(),C(`span`,Ne,` · 上次刷新 `+b(ut.value),1)):m(``,!0)]),v(`div`,Pe,[(s(!0),C(g,null,a(ht.value,e=>(s(),_(E,{key:e,size:`x-small`,variant:`tonal`,label:``},{default:l(()=>[h(b(e),1)]),_:2},1024))),128)),Q.value.length>ht.value.length?(s(),_(E,{key:0,size:`x-small`,variant:`text`,label:``},{default:l(()=>[h(` +`+b(Q.value.length-ht.value.length)+` 更多 `,1)]),_:1})):m(``,!0)])])):Z.value?(s(),C(`div`,Fe,b(ut.value?`上次刷新 ${ut.value},暂无节点`:`等待首次刷新…保存订阅 URL 后将自动拉取`),1)):m(``,!0),w(S,{class:`my-3`}),i[69]||=v(`div`,{class:`text-subtitle-2 mb-2`},`手动 IP`,-1),w(fe,{modelValue:lt.value,"onUpdate:modelValue":i[17]||=e=>lt.value=e,label:`手动 IP / CIDR(每行一个)`,variant:`outlined`,density:`compact`,rows:`4`,class:`mb-2`,placeholder:`1.2.3.4 -10.0.0.0/24`},null,8,[`modelValue`]),v(`div`,Ie,` 手动 IP 与订阅节点合并生效;共 `+b(dt.value)+` 条(去重后)。 `,1)]),_:1})]),_:1})]),_:1})]),_:1}),w(ue,{modelValue:$.value,"onUpdate:modelValue":i[20]||=e=>$.value=e,"max-width":`520`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[...i[70]||=[h(`订阅解析预览`,-1)]]),_:1}),w(k,null,{default:l(()=>[v(`div`,Le,[i[71]||=h(`共解析出 `,-1),v(`strong`,null,b(mt.value.length),1),i[72]||=h(` 个节点 IP / 域名:`,-1)]),v(`div`,Re,[(s(!0),C(g,null,a(mt.value,e=>(s(),_(E,{key:e,size:`small`,variant:`tonal`,label:``},{default:l(()=>[h(b(e),1)]),_:2},1024))),128))]),i[73]||=v(`div`,{class:`text-caption text-medium-emphasis`},`点击「保存白名单」后才会写入订阅 URL 并触发后台刷新。`,-1)]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:i[18]||=e=>$.value=!1},{default:l(()=>[...i[74]||=[h(`关闭`,-1)]]),_:1}),w(o,{color:`primary`,variant:`flat`,onClick:i[19]||=e=>{$.value=!1,Bt()}},{default:l(()=>[...i[75]||=[h(`保存白名单`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(ue,{modelValue:We.value,"onUpdate:modelValue":i[22]||=e=>We.value=e,"max-width":`480`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[...i[76]||=[h(`选择 Chat ID`,-1)]]),_:1}),w(k,null,{default:l(()=>[Ge.value.length?(s(),_(oe,{key:1,density:`compact`,lines:`two`},{default:l(()=>[(s(!0),C(g,null,a(Ge.value,e=>(s(),_(se,{key:e.id,title:e.title||e.username||`Chat ${e.id}`,subtitle:`${e.type}${e.username?` · @`+e.username:``} · ID ${e.id}`,onClick:t=>Ot(e)},null,8,[`title`,`subtitle`,`onClick`]))),128))]),_:1})):(s(),C(`div`,ze,` 未检测到对话。请先在 Telegram 向 Bot 发送一条消息,然后重新检测。 `))]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:i[21]||=e=>We.value=!1},{default:l(()=>[...i[77]||=[h(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(ue,{modelValue:tt.value,"onUpdate:modelValue":i[26]||=e=>tt.value=e,"max-width":`400`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[...i[78]||=[h(`禁用 TOTP`,-1)]]),_:1}),w(k,null,{default:l(()=>[w(N,{modelValue:nt.value,"onUpdate:modelValue":i[23]||=e=>nt.value=e,label:`当前密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-2`,rules:[y(F)()]},null,8,[`modelValue`,`rules`]),w(N,{modelValue:rt.value,"onUpdate:modelValue":i[24]||=e=>rt.value=e,label:`验证码`,variant:`outlined`,density:`compact`,rules:[y(F)()]},null,8,[`modelValue`,`rules`])]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:i[25]||=e=>tt.value=!1},{default:l(()=>[...i[79]||=[h(`取消`,-1)]]),_:1}),w(o,{color:`error`,variant:`flat`,onClick:Nt,loading:it.value},{default:l(()=>[...i[80]||=[h(`禁用`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{V as default}; \ No newline at end of file diff --git a/web/app/assets/SettingsPage-BhucmhU8.js b/web/app/assets/SettingsPage-CHfQvlHo.js similarity index 98% rename from web/app/assets/SettingsPage-BhucmhU8.js rename to web/app/assets/SettingsPage-CHfQvlHo.js index 3394d98c..69ace9ee 100644 --- a/web/app/assets/SettingsPage-BhucmhU8.js +++ b/web/app/assets/SettingsPage-CHfQvlHo.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./useSnackbar-CmDJGLzR.js";import{n,t as r}from"./VRow-By04mHIT.js";import{Ct as i,Ir as a,Kt as ee,Mr as te,P as o,Pr as s,Sr as c,St as ne,Ur as l,W as re,X as u,Xr as d,Xt as f,_ as p,_r as m,br as h,dr as g,g as ie,gr as _,h as ae,hr as v,l as oe,m as se,mr as ce,ni as y,oi as b,ur as x,v as S,vr as C,wt as le,xr as w,xt as T,y as E}from"./index-DawRgH7u.js";import{t as D}from"./usePageActivateRefresh-BTfzAggZ.js";import{a as O,n as k,r as A,t as j}from"./VCard-rBfCdgX2.js";import{t as M}from"./VSelect-XuQYQvJc.js";import{t as N}from"./VTextField-BZnszgeR.js";import{t as ue}from"./VDialog-8YoHW6GE.js";import{n as P,r as F,t as de}from"./validation-BMzYTJL4.js";import{t as I}from"./VForm-Dh0_yaO1.js";import{t as L}from"./VSwitch-TNXNpeZv.js";import{t as fe}from"./VTextarea-9CeXtoSu.js";import{n as R,r as pe}from"./useTerminalQuickCommands-BGuDe6GB.js";var z={key:1,class:`text-medium-emphasis text-body-2 mb-4`},B={class:`text-caption text-medium-emphasis mr-2`,style:{"min-width":`1.5rem`}},me={class:`d-flex flex-wrap ga-2`},he=c({__name:`TerminalQuickCommandsSettings`,setup(e){let n=t(),{commands:r,loading:i,load:ee,create:c,update:ne,remove:f,reorder:ce,customCommands:x,builtinCommands:le}=R(),T=d(!1),D=d(null),M=d(``),P=d(``),F=d(!1),de=d(!1),I=d(!1),L=d(null),fe=d(``);function he(){D.value=null,M.value=``,P.value=``,T.value=!0}function ge(e){D.value=e.id,M.value=e.name,P.value=e.cmd.replace(/\r$/,``),T.value=!0}async function _e(){if(!M.value.trim()||!P.value.trim()){n(`名称和命令不能为空`,`warning`);return}let e=P.value.trim();e.endsWith(`\r`)||(e+=`\r`),F.value=!0;try{D.value?await ne(D.value,M.value,e):await c(M.value,e),T.value=!1,n(`已保存`)}catch(e){n(e instanceof Error?e.message:`保存失败`,`error`)}finally{F.value=!1}}function ve(e){L.value=e.id,fe.value=e.name,I.value=!0}async function ye(){if(L.value){F.value=!0;try{await f(L.value),I.value=!1,n(`已删除`)}catch(e){n(e instanceof Error?e.message:`删除失败`,`error`)}finally{F.value=!1}}}async function be(e){let t=x();if(e<=0)return;let n=t.map(e=>e.id),r=n[e-1];n[e-1]=n[e],n[e]=r,await Se(n)}async function xe(e){let t=x();if(e>=t.length-1)return;let n=t.map(e=>e.id),r=n[e+1];n[e+1]=n[e],n[e]=r,await Se(n)}async function Se(e){de.value=!0;try{await ce(e)}catch(e){n(e instanceof Error?e.message:`排序失败`,`error`)}finally{de.value=!1}}return te(()=>{ee().catch(e=>n(e.message,`error`))}),(e,t)=>(s(),_(j,{id:`terminal-quick-commands`,elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center flex-wrap ga-2`},{default:l(()=>[w(u,{class:`mr-1`},{default:l(()=>[...t[6]||=[h(`mdi-flash`,-1)]]),_:1}),t[8]||=h(` 终端快捷命令 `,-1),w(p),w(o,{size:`small`,color:`primary`,variant:`flat`,"prepend-icon":`mdi-plus`,onClick:he},{default:l(()=>[...t[7]||=[h(` 添加命令 `,-1)]]),_:1})]),_:1}),w(S),w(k,null,{default:l(()=>[t[9]||=v(`div`,{class:`text-body-2 text-medium-emphasis mb-4`},` 自定义命令显示在终端栏最前(优先级最高)。终端页仅可点击执行;在此添加、编辑、删除与调整顺序。 `,-1),y(i)?(s(),_(re,{key:0,indeterminate:``,color:`primary`,class:`mb-3`})):m(``,!0),y(x)().length===0&&!y(i)?(s(),C(`div`,z,` 暂无自定义命令,点击「添加命令」创建。 `)):m(``,!0),y(x)().length?(s(),_(oe,{key:2,density:`compact`,class:`mb-4 pa-0`},{default:l(()=>[(s(!0),C(g,null,a(y(x)(),(e,t)=>(s(),_(se,{key:e.id,border:``,rounded:`lg`,class:`mb-2`},{prepend:l(()=>[v(`span`,B,b(t+1),1)]),append:l(()=>[w(o,{icon:`mdi-arrow-up`,size:`x-small`,variant:`text`,disabled:t===0||de.value,onClick:e=>be(t)},null,8,[`disabled`,`onClick`]),w(o,{icon:`mdi-arrow-down`,size:`x-small`,variant:`text`,disabled:t===y(x)().length-1||de.value,onClick:e=>xe(t)},null,8,[`disabled`,`onClick`]),w(o,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,onClick:t=>ge(e)},null,8,[`onClick`]),w(o,{icon:`mdi-delete`,size:`x-small`,variant:`text`,color:`error`,onClick:t=>ve(e)},null,8,[`onClick`])]),default:l(()=>[w(ae,null,{default:l(()=>[h(b(e.name),1)]),_:2},1024),w(ie,{class:`font-mono text-truncate`},{default:l(()=>[h(b(e.cmd),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):m(``,!0),t[10]||=v(`div`,{class:`text-subtitle-2 mb-2`},`系统内置(不可编辑)`,-1),v(`div`,me,[(s(!0),C(g,null,a(y(le)(),e=>(s(),_(E,{key:e.id,size:`small`,variant:`outlined`,label:``},{default:l(()=>[h(b(e.name),1)]),_:2},1024))),128))])]),_:1}),w(ue,{modelValue:T.value,"onUpdate:modelValue":t[3]||=e=>T.value=e,"max-width":`520`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[h(b(D.value?`编辑命令`:`添加快捷命令`),1)]),_:1}),w(k,null,{default:l(()=>[w(N,{modelValue:M.value,"onUpdate:modelValue":t[0]||=e=>M.value=e,label:`显示名称`,variant:`outlined`,density:`compact`,class:`mb-3`},null,8,[`modelValue`]),t[11]||=v(`div`,{class:`text-body-2 text-medium-emphasis mb-2`},`命令内容(发送时自动追加回车)`,-1),w(pe,{modelValue:P.value,"onUpdate:modelValue":t[1]||=e=>P.value=e,multiline:``,rows:4,placeholder:`systemctl status nginx`},null,8,[`modelValue`])]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:t[2]||=e=>T.value=!1},{default:l(()=>[...t[12]||=[h(`取消`,-1)]]),_:1}),w(o,{color:`primary`,variant:`flat`,loading:F.value,onClick:_e},{default:l(()=>[...t[13]||=[h(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(ue,{modelValue:I.value,"onUpdate:modelValue":t[5]||=e=>I.value=e,"max-width":`400`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[...t[14]||=[h(`删除命令`,-1)]]),_:1}),w(k,null,{default:l(()=>[h(`确定删除「`+b(fe.value)+`」?`,1)]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:t[4]||=e=>I.value=!1},{default:l(()=>[...t[15]||=[h(`取消`,-1)]]),_:1}),w(o,{color:`error`,variant:`flat`,loading:F.value,onClick:ye},{default:l(()=>[...t[16]||=[h(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),ge=[{key:`notify_alert_cpu`,label:`CPU 超阈值告警`,desc:`CPU 超阈值或恢复时推送;关闭则该类告警与恢复均不通知`,group:`服务器资源`},{key:`notify_alert_mem`,label:`内存超阈值告警`,desc:`内存超阈值或恢复时推送;关闭则该类告警与恢复均不通知`,group:`服务器资源`},{key:`notify_alert_disk`,label:`磁盘超阈值告警`,desc:`磁盘超阈值或恢复时推送;关闭则该类告警与恢复均不通知`,group:`服务器资源`},{key:`notify_recovery`,label:`资源恢复正常`,desc:`CPU/内存/磁盘回落正常时推送(须总开关开启且对应资源开关未关)`,group:`服务器资源`},{key:`notify_time_drift`,label:`时钟偏差严重 (≥60s)`,desc:`子机与主机时间偏差过大影响 TOTP/cron`,group:`服务器`},{key:`notify_system_redis`,label:`Redis 连接异常 / 恢复`,desc:`Redis 不可达或恢复时推送`,group:`系统`},{key:`notify_system_mysql`,label:`MySQL 连接异常 / 恢复`,desc:`MySQL 不可达或恢复时推送`,group:`系统`},{key:`notify_restart`,label:`Nexus 后端重启`,desc:`Python 服务崩溃重启成功/失败时推送`,group:`系统`},{key:`notify_script_complete`,label:`脚本执行完成`,desc:`脚本批量执行结束时推送汇总与看板链接(不含失败明细)`,group:`运维`}],_e={class:`d-flex flex-wrap ga-2 mb-4`},ve={class:`text-caption text-medium-emphasis font-weight-medium mt-2 mb-1`},ye={class:`d-flex flex-wrap align-center ga-2 mb-3`},be={class:`d-flex flex-wrap ga-2`},xe={key:1,class:`text-caption text-medium-emphasis mt-2 mb-0`},Se={class:`d-flex align-center mb-3`},Ce={key:0,class:`text-center mb-3`},we=[`src`],Te={key:0,class:`d-flex align-center justify-center ga-2 mt-2`},Ee={class:`text-caption pa-1 bg-grey-lighten-4 rounded`,style:{"user-select":`all`}},De={key:1},Oe={key:1,class:`d-flex ga-2 align-center`},ke={class:`d-flex align-center ga-2`},Ae={class:`d-flex flex-wrap ga-2 mb-3`},je={key:0,class:`mb-4`},Me={class:`text-caption text-medium-emphasis mb-2`},Ne={key:0},Pe={class:`d-flex flex-wrap ga-1`},Fe={key:1,class:`text-caption text-medium-emphasis mb-4`},Ie={class:`text-caption text-medium-emphasis`},Le={class:`text-body-2 mb-2`},Re={class:`d-flex flex-wrap ga-1 mb-2`,style:{"max-height":`240px`,"overflow-y":`auto`}},ze={key:0,class:`text-body-2 text-medium-emphasis`},V=c({name:`SettingsPage`,__name:`SettingsPage`,setup(te){let c=t(),{saveToServer:ie,previewSound:ae}=T(),R=ee(),pe=i,z=d(ne),B=d(!1),me=d(!1),V=d({system_name:``,system_title:``,cpu_alert_threshold:80,mem_alert_threshold:80,disk_alert_threshold:80,db_pool_size:10,db_max_overflow:20,telegram_bot_token:``,telegram_chat_id:``}),H=d(``),U=d(!1),Be=d(!1),Ve=d(null),He=d(!1),Ue=d(!1),We=d(!1),Ge=d([]),W=d(!1),Ke=d(!1),G=d({}),qe=d(null),K=d(null),Je=d(!1),Ye=d(!1),Xe=ce(()=>{let e={};for(let t of ge)e[t.group]||(e[t.group]=[]),e[t.group].push(t);return e});function Ze(e){let t=String(e??`true`).trim().toLowerCase();return![`false`,`0`,`no`,`off`].includes(t)}let q=d({current:``,new_pw:``,confirm:``,totp_code:``}),Qe=d(!1),J=d(``),Y=d(``),$e=d(``),et=d(!1),tt=d(!1),nt=d(``),rt=d(``),it=d(!1),X=d(!1),at=d(``),ot=d(!1),st=d(!1),ct=d(!1),Z=d(``),lt=d(``),Q=d([]),ut=d(null),dt=d(0),ft=d(!1),pt=d(!1),$=d(!1),mt=d([]),ht=ce(()=>Q.value.slice(0,24));async function gt(e=!1){e||(me.value=!0);try{let e=await f.get(`/settings/`),t=Array.isArray(e)?e:[],n=Object.keys(V.value);for(let e of t){let t=e.key;if(t===`telegram_bot_token`){U.value=!!e.value_set,H.value=``;continue}if(t===`script_exec_complete_sound`){z.value=le(e.value);continue}if(t&&ge.some(e=>e.key===t)){G.value[t]=Ze(e.value);continue}if(t&&n.includes(t)){let n=e.value;typeof n==`string`&&/^\d+(\.\d+)?$/.test(n)?V.value[t]=Number(n):V.value[t]=n}}}catch{c(`加载设置失败`,`error`)}finally{e||(me.value=!1)}}async function _t(){try{let e=await f.get(`/settings/ip-allowlist`);ct.value=e.enabled||!1,Z.value=e.subscription_url||``,lt.value=(e.manual_ips||[]).join(` +import{n as e,t}from"./useSnackbar-P0rXZaHt.js";import{n,t as r}from"./VRow-Jrv7cE2K.js";import{Ct as i,Ir as a,Kt as ee,Mr as te,P as o,Pr as s,Sr as c,St as ne,Ur as l,W as re,X as u,Xr as d,Xt as f,_ as p,_r as m,br as h,dr as g,g as ie,gr as _,h as ae,hr as v,l as oe,m as se,mr as ce,ni as y,oi as b,ur as x,v as S,vr as C,wt as le,xr as w,xt as T,y as E}from"./index-Bplw5zZe.js";import{t as D}from"./usePageActivateRefresh-C2xQnJah.js";import{a as O,n as k,r as A,t as j}from"./VCard-DwK3U69w.js";import{t as M}from"./VSelect-C2IkZQ4Y.js";import{t as N}from"./VTextField-DVnxh9lX.js";import{t as ue}from"./VDialog-DPwgR17F.js";import{n as P,r as F,t as de}from"./validation-BMzYTJL4.js";import{t as I}from"./VForm-lsgZBPTi.js";import{t as L}from"./VSwitch-B9ytL2C4.js";import{t as fe}from"./VTextarea-Cn1CYtMX.js";import{n as R,r as pe}from"./useTerminalQuickCommands-CBnMQV9W.js";var z={key:1,class:`text-medium-emphasis text-body-2 mb-4`},B={class:`text-caption text-medium-emphasis mr-2`,style:{"min-width":`1.5rem`}},me={class:`d-flex flex-wrap ga-2`},he=c({__name:`TerminalQuickCommandsSettings`,setup(e){let n=t(),{commands:r,loading:i,load:ee,create:c,update:ne,remove:f,reorder:ce,customCommands:x,builtinCommands:le}=R(),T=d(!1),D=d(null),M=d(``),P=d(``),F=d(!1),de=d(!1),I=d(!1),L=d(null),fe=d(``);function he(){D.value=null,M.value=``,P.value=``,T.value=!0}function ge(e){D.value=e.id,M.value=e.name,P.value=e.cmd.replace(/\r$/,``),T.value=!0}async function _e(){if(!M.value.trim()||!P.value.trim()){n(`名称和命令不能为空`,`warning`);return}let e=P.value.trim();e.endsWith(`\r`)||(e+=`\r`),F.value=!0;try{D.value?await ne(D.value,M.value,e):await c(M.value,e),T.value=!1,n(`已保存`)}catch(e){n(e instanceof Error?e.message:`保存失败`,`error`)}finally{F.value=!1}}function ve(e){L.value=e.id,fe.value=e.name,I.value=!0}async function ye(){if(L.value){F.value=!0;try{await f(L.value),I.value=!1,n(`已删除`)}catch(e){n(e instanceof Error?e.message:`删除失败`,`error`)}finally{F.value=!1}}}async function be(e){let t=x();if(e<=0)return;let n=t.map(e=>e.id),r=n[e-1];n[e-1]=n[e],n[e]=r,await Se(n)}async function xe(e){let t=x();if(e>=t.length-1)return;let n=t.map(e=>e.id),r=n[e+1];n[e+1]=n[e],n[e]=r,await Se(n)}async function Se(e){de.value=!0;try{await ce(e)}catch(e){n(e instanceof Error?e.message:`排序失败`,`error`)}finally{de.value=!1}}return te(()=>{ee().catch(e=>n(e.message,`error`))}),(e,t)=>(s(),_(j,{id:`terminal-quick-commands`,elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center flex-wrap ga-2`},{default:l(()=>[w(u,{class:`mr-1`},{default:l(()=>[...t[6]||=[h(`mdi-flash`,-1)]]),_:1}),t[8]||=h(` 终端快捷命令 `,-1),w(p),w(o,{size:`small`,color:`primary`,variant:`flat`,"prepend-icon":`mdi-plus`,onClick:he},{default:l(()=>[...t[7]||=[h(` 添加命令 `,-1)]]),_:1})]),_:1}),w(S),w(k,null,{default:l(()=>[t[9]||=v(`div`,{class:`text-body-2 text-medium-emphasis mb-4`},` 自定义命令显示在终端栏最前(优先级最高)。终端页仅可点击执行;在此添加、编辑、删除与调整顺序。 `,-1),y(i)?(s(),_(re,{key:0,indeterminate:``,color:`primary`,class:`mb-3`})):m(``,!0),y(x)().length===0&&!y(i)?(s(),C(`div`,z,` 暂无自定义命令,点击「添加命令」创建。 `)):m(``,!0),y(x)().length?(s(),_(oe,{key:2,density:`compact`,class:`mb-4 pa-0`},{default:l(()=>[(s(!0),C(g,null,a(y(x)(),(e,t)=>(s(),_(se,{key:e.id,border:``,rounded:`lg`,class:`mb-2`},{prepend:l(()=>[v(`span`,B,b(t+1),1)]),append:l(()=>[w(o,{icon:`mdi-arrow-up`,size:`x-small`,variant:`text`,disabled:t===0||de.value,onClick:e=>be(t)},null,8,[`disabled`,`onClick`]),w(o,{icon:`mdi-arrow-down`,size:`x-small`,variant:`text`,disabled:t===y(x)().length-1||de.value,onClick:e=>xe(t)},null,8,[`disabled`,`onClick`]),w(o,{icon:`mdi-pencil`,size:`x-small`,variant:`text`,onClick:t=>ge(e)},null,8,[`onClick`]),w(o,{icon:`mdi-delete`,size:`x-small`,variant:`text`,color:`error`,onClick:t=>ve(e)},null,8,[`onClick`])]),default:l(()=>[w(ae,null,{default:l(()=>[h(b(e.name),1)]),_:2},1024),w(ie,{class:`font-mono text-truncate`},{default:l(()=>[h(b(e.cmd),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):m(``,!0),t[10]||=v(`div`,{class:`text-subtitle-2 mb-2`},`系统内置(不可编辑)`,-1),v(`div`,me,[(s(!0),C(g,null,a(y(le)(),e=>(s(),_(E,{key:e.id,size:`small`,variant:`outlined`,label:``},{default:l(()=>[h(b(e.name),1)]),_:2},1024))),128))])]),_:1}),w(ue,{modelValue:T.value,"onUpdate:modelValue":t[3]||=e=>T.value=e,"max-width":`520`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[h(b(D.value?`编辑命令`:`添加快捷命令`),1)]),_:1}),w(k,null,{default:l(()=>[w(N,{modelValue:M.value,"onUpdate:modelValue":t[0]||=e=>M.value=e,label:`显示名称`,variant:`outlined`,density:`compact`,class:`mb-3`},null,8,[`modelValue`]),t[11]||=v(`div`,{class:`text-body-2 text-medium-emphasis mb-2`},`命令内容(发送时自动追加回车)`,-1),w(pe,{modelValue:P.value,"onUpdate:modelValue":t[1]||=e=>P.value=e,multiline:``,rows:4,placeholder:`systemctl status nginx`},null,8,[`modelValue`])]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:t[2]||=e=>T.value=!1},{default:l(()=>[...t[12]||=[h(`取消`,-1)]]),_:1}),w(o,{color:`primary`,variant:`flat`,loading:F.value,onClick:_e},{default:l(()=>[...t[13]||=[h(`保存`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(ue,{modelValue:I.value,"onUpdate:modelValue":t[5]||=e=>I.value=e,"max-width":`400`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[...t[14]||=[h(`删除命令`,-1)]]),_:1}),w(k,null,{default:l(()=>[h(`确定删除「`+b(fe.value)+`」?`,1)]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:t[4]||=e=>I.value=!1},{default:l(()=>[...t[15]||=[h(`取消`,-1)]]),_:1}),w(o,{color:`error`,variant:`flat`,loading:F.value,onClick:ye},{default:l(()=>[...t[16]||=[h(`删除`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),ge=[{key:`notify_alert_cpu`,label:`CPU 超阈值告警`,desc:`CPU 超阈值或恢复时推送;关闭则该类告警与恢复均不通知`,group:`服务器资源`},{key:`notify_alert_mem`,label:`内存超阈值告警`,desc:`内存超阈值或恢复时推送;关闭则该类告警与恢复均不通知`,group:`服务器资源`},{key:`notify_alert_disk`,label:`磁盘超阈值告警`,desc:`磁盘超阈值或恢复时推送;关闭则该类告警与恢复均不通知`,group:`服务器资源`},{key:`notify_recovery`,label:`资源恢复正常`,desc:`CPU/内存/磁盘回落正常时推送(须总开关开启且对应资源开关未关)`,group:`服务器资源`},{key:`notify_time_drift`,label:`时钟偏差严重 (≥60s)`,desc:`子机与主机时间偏差过大影响 TOTP/cron`,group:`服务器`},{key:`notify_system_redis`,label:`Redis 连接异常 / 恢复`,desc:`Redis 不可达或恢复时推送`,group:`系统`},{key:`notify_system_mysql`,label:`MySQL 连接异常 / 恢复`,desc:`MySQL 不可达或恢复时推送`,group:`系统`},{key:`notify_restart`,label:`Nexus 后端重启`,desc:`Python 服务崩溃重启成功/失败时推送`,group:`系统`},{key:`notify_script_complete`,label:`脚本执行完成`,desc:`脚本批量执行结束时推送汇总与看板链接(不含失败明细)`,group:`运维`}],_e={class:`d-flex flex-wrap ga-2 mb-4`},ve={class:`text-caption text-medium-emphasis font-weight-medium mt-2 mb-1`},ye={class:`d-flex flex-wrap align-center ga-2 mb-3`},be={class:`d-flex flex-wrap ga-2`},xe={key:1,class:`text-caption text-medium-emphasis mt-2 mb-0`},Se={class:`d-flex align-center mb-3`},Ce={key:0,class:`text-center mb-3`},we=[`src`],Te={key:0,class:`d-flex align-center justify-center ga-2 mt-2`},Ee={class:`text-caption pa-1 bg-grey-lighten-4 rounded`,style:{"user-select":`all`}},De={key:1},Oe={key:1,class:`d-flex ga-2 align-center`},ke={class:`d-flex align-center ga-2`},Ae={class:`d-flex flex-wrap ga-2 mb-3`},je={key:0,class:`mb-4`},Me={class:`text-caption text-medium-emphasis mb-2`},Ne={key:0},Pe={class:`d-flex flex-wrap ga-1`},Fe={key:1,class:`text-caption text-medium-emphasis mb-4`},Ie={class:`text-caption text-medium-emphasis`},Le={class:`text-body-2 mb-2`},Re={class:`d-flex flex-wrap ga-1 mb-2`,style:{"max-height":`240px`,"overflow-y":`auto`}},ze={key:0,class:`text-body-2 text-medium-emphasis`},V=c({name:`SettingsPage`,__name:`SettingsPage`,setup(te){let c=t(),{saveToServer:ie,previewSound:ae}=T(),R=ee(),pe=i,z=d(ne),B=d(!1),me=d(!1),V=d({system_name:``,system_title:``,cpu_alert_threshold:80,mem_alert_threshold:80,disk_alert_threshold:80,db_pool_size:10,db_max_overflow:20,telegram_bot_token:``,telegram_chat_id:``}),H=d(``),U=d(!1),Be=d(!1),Ve=d(null),He=d(!1),Ue=d(!1),We=d(!1),Ge=d([]),W=d(!1),Ke=d(!1),G=d({}),qe=d(null),K=d(null),Je=d(!1),Ye=d(!1),Xe=ce(()=>{let e={};for(let t of ge)e[t.group]||(e[t.group]=[]),e[t.group].push(t);return e});function Ze(e){let t=String(e??`true`).trim().toLowerCase();return![`false`,`0`,`no`,`off`].includes(t)}let q=d({current:``,new_pw:``,confirm:``,totp_code:``}),Qe=d(!1),J=d(``),Y=d(``),$e=d(``),et=d(!1),tt=d(!1),nt=d(``),rt=d(``),it=d(!1),X=d(!1),at=d(``),ot=d(!1),st=d(!1),ct=d(!1),Z=d(``),lt=d(``),Q=d([]),ut=d(null),dt=d(0),ft=d(!1),pt=d(!1),$=d(!1),mt=d([]),ht=ce(()=>Q.value.slice(0,24));async function gt(e=!1){e||(me.value=!0);try{let e=await f.get(`/settings/`),t=Array.isArray(e)?e:[],n=Object.keys(V.value);for(let e of t){let t=e.key;if(t===`telegram_bot_token`){U.value=!!e.value_set,H.value=``;continue}if(t===`script_exec_complete_sound`){z.value=le(e.value);continue}if(t&&ge.some(e=>e.key===t)){G.value[t]=Ze(e.value);continue}if(t&&n.includes(t)){let n=e.value;typeof n==`string`&&/^\d+(\.\d+)?$/.test(n)?V.value[t]=Number(n):V.value[t]=n}}}catch{c(`加载设置失败`,`error`)}finally{e||(me.value=!1)}}async function _t(){try{let e=await f.get(`/settings/ip-allowlist`);ct.value=e.enabled||!1,Z.value=e.subscription_url||``,lt.value=(e.manual_ips||[]).join(` `),Q.value=e.subscription_ips||[],ut.value=e.last_refresh||null,dt.value=e.total_count??new Set([...e.manual_ips||[],...e.subscription_ips||[]]).size}catch{c(`加载白名单失败`,`error`)}}async function vt(){let e=Ve.value;if(e){let{valid:t}=await e.validate();if(!t)return}Be.value=!0;try{let e=Object.entries(V.value).filter(([e])=>[`system_name`,`system_title`,`cpu_alert_threshold`,`mem_alert_threshold`,`disk_alert_threshold`,`db_pool_size`,`db_max_overflow`].includes(e));for(let[t,n]of e)await f.put(`/settings/${t}`,{value:String(n??``)});c(`设置已保存`)}catch(e){c(e instanceof Error?e.message:`保存失败`,`error`)}finally{Be.value=!1}}async function yt(e){let t=H.value.trim(),n=String(V.value.telegram_chat_id||``).trim();return e?.requireToken&&!t&&!U.value?(c(`请先填写 Bot Token`,`error`),!1):e?.requireChatId&&!n?(c(`请先填写或检测 Chat ID`,`error`),!1):(t&&(await f.put(`/settings/telegram_bot_token`,{value:t}),U.value=!0,H.value=``,W.value=!1),n&&await f.put(`/settings/telegram_chat_id`,{value:n}),!0)}async function bt(e=!1){e||(Je.value=!0);try{K.value=await f.get(`/settings/ops-patrol/status`)}catch{K.value=null}finally{e||(Je.value=!1)}}async function xt(){Ye.value=!0;try{if(!await yt({requireToken:!0,requireChatId:!0}))return;let e=await f.post(`/settings/ops-patrol/sync-telegram`,{});K.value={...K.value||{},telegram_layer3_ready:e.telegram_layer3_ready,telegram_env_synced:e.env_status.env_synced,env_status:e.env_status,telegram_app_configured:!0},c(`巡检 Telegram 已同步至 .env`),await bt()}catch(e){c(e instanceof Error?e.message:`同步失败`,`error`)}finally{Ye.value=!1}}async function St(){Ke.value=!0;try{let e=H.value.trim(),t=String(V.value.telegram_chat_id||``).trim();if(!e&&!t&&!U.value){c(`请先填写 Bot Token 或 Chat ID`,`warning`);return}await yt(),await bt(),c(`Telegram 配置已保存`)}catch(e){c(e instanceof Error?e.message:`保存失败`,`error`)}finally{Ke.value=!1}}async function Ct(e){if(!e||B.value)return;let t=z.value;z.value=e,B.value=!0;try{await ie(e),c(`提示音设置已保存`)}catch(e){z.value=t,c(e instanceof Error?e.message:`保存失败`,`error`)}finally{B.value=!1}}function wt(){ae(z.value)}async function Tt(e,t){let n=G.value[e];G.value[e]=t,qe.value=e;try{await f.put(`/settings/${e}`,{value:t?`true`:`false`})}catch(t){G.value[e]=n,c(t instanceof Error?t.message:`保存失败,已撤销`,`error`)}finally{qe.value=null}}async function Et(){He.value=!0;try{if(!await yt({requireToken:!0,requireChatId:!0}))return;await f.post(`/settings/telegram/test`),c(`测试消息已发送`)}catch(e){c(e instanceof Error?e.message:`发送失败`,`error`)}finally{He.value=!1}}async function Dt(){Ue.value=!0;try{if(!await yt({requireToken:!0}))return;if(Ge.value=(await f.get(`/settings/telegram/chats`)).chats||[],!Ge.value.length){c(`未检测到对话,请先向 Bot 发送一条消息后再试`,`warning`);return}We.value=!0}catch(e){c(e instanceof Error?e.message:`检测失败`,`error`)}finally{Ue.value=!1}}async function Ot(e){let t=String(e.id);V.value.telegram_chat_id=t,We.value=!1;try{await f.put(`/settings/telegram_chat_id`,{value:t}),c(`已选择 Chat ID: ${t}`)}catch(e){c(e instanceof Error?e.message:`保存 Chat ID 失败`,`error`)}}async function kt(){if(q.value.new_pw!==q.value.confirm){c(`两次密码不一致`,`error`);return}Qe.value=!0;try{let e={current_password:q.value.current,new_password:q.value.new_pw};R.admin?.totp_enabled&&q.value.totp_code&&(e.totp_code=q.value.totp_code),await f.put(`/auth/password`,e),q.value={current:``,new_pw:``,confirm:``,totp_code:``},c(`密码已修改`)}catch(e){c(e instanceof Error?e.message:`修改失败`,`error`)}finally{Qe.value=!1}}async function At(){try{let e=await f.post(`/auth/totp/setup`);J.value=e.qr_code,Y.value=e.secret||``}catch(e){c(e instanceof Error?e.message:`生成失败`,`error`)}}async function jt(){et.value=!0;try{await f.post(`/auth/totp/enable`,{code:$e.value}),await R.fetchProfile(),J.value=``,$e.value=``,c(`TOTP 已启用`)}catch(e){c(e.message||`启用失败`,`error`)}finally{et.value=!1}}function Mt(){tt.value=!0}async function Nt(){it.value=!0;try{await f.post(`/auth/totp/disable`,{admin_id:R.admin?.id,current_password:nt.value,totp_code:rt.value}),await R.fetchProfile(),tt.value=!1,nt.value=``,rt.value=``,c(`TOTP 已禁用`)}catch(e){c(e.message||`禁用失败`,`error`)}finally{it.value=!1}}function Pt(){Y.value&&(navigator.clipboard.writeText(Y.value),c(`密钥已复制`))}async function Ft(){if(X.value){X.value=!1;return}ot.value=!0;try{at.value=(await f.post(`/settings/api-key/reveal`,{})).value,X.value=!0}catch(e){c(e instanceof Error?e.message:`获取 API Key 失败`,`error`)}finally{ot.value=!1}}async function It(){if(W.value){W.value=!1,U.value&&(H.value=``);return}if(H.value.trim()){W.value=!0;return}if(!U.value){W.value=!0;return}st.value=!0;try{H.value=(await f.post(`/settings/telegram/reveal-token`,{})).value,W.value=!0}catch(e){c(e instanceof Error?e.message:`获取 Bot Token 失败`,`error`)}finally{st.value=!1}}function Lt(){if(!X.value||!at.value){c(`请先点击眼睛图标显示 API Key`,`warning`);return}navigator.clipboard.writeText(at.value),c(`已复制到剪贴板`)}async function Rt(){try{await f.post(`/settings/ip-allowlist/toggle?enabled=${ct.value?`true`:`false`}`)}catch(e){c(e instanceof Error?e.message:`操作失败`,`error`)}}async function zt(){let e=Z.value.trim();if(!e){c(`请先填写订阅 URL`,`error`);return}pt.value=!0;try{if(mt.value=(await f.post(`/settings/ip-allowlist/parse-subscription`,{url:e})).hosts||[],!mt.value.length){c(`未能解析出任何节点`,`warning`);return}$.value=!0}catch(e){c(e instanceof Error?e.message:`解析失败`,`error`)}finally{pt.value=!1}}async function Bt(){ft.value=!0;try{let e={manual_ips:lt.value.split(` `).map(e=>e.trim()).filter(Boolean),subscription_url:Z.value.trim(),enabled:ct.value};await f.post(`/settings/ip-allowlist`,e),c(`白名单已保存`),$.value=!1,await _t()}catch(e){c(e instanceof Error?e.message:`保存失败`,`error`)}finally{ft.value=!1}}async function Vt(e=!1){await Promise.all([gt(e),_t(),bt(e),R.fetchProfile()])}return D(e=>Vt(e)),(t,i)=>(s(),_(e,{fluid:``,class:`pa-6`},{default:l(()=>[w(r,null,{default:l(()=>[w(n,{cols:`12`,lg:`6`},{default:l(()=>[w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[27]||=[h(`mdi-cog`,-1)]]),_:1}),i[28]||=h(` 系统设置 `,-1)]),_:1}),me.value?(s(),_(re,{key:0,indeterminate:``,color:`primary`})):m(``,!0),w(S),w(I,{ref_key:`systemSettingsFormRef`,ref:Ve,onSubmit:x(vt,[`prevent`])},{default:l(()=>[w(k,null,{default:l(()=>[w(N,{modelValue:V.value.system_name,"onUpdate:modelValue":i[0]||=e=>V.value.system_name=e,label:`系统名称`,variant:`outlined`,density:`compact`,class:`mb-3`,rules:[y(F)(`系统名称`)]},null,8,[`modelValue`,`rules`]),w(N,{modelValue:V.value.system_title,"onUpdate:modelValue":i[1]||=e=>V.value.system_title=e,label:`系统标题`,variant:`outlined`,density:`compact`,class:`mb-3`,rules:[y(F)(`系统标题`)]},null,8,[`modelValue`,`rules`]),w(S,{class:`my-4`}),i[29]||=v(`div`,{class:`text-subtitle-2 mb-3`},`告警阈值`,-1),w(r,{dense:``},{default:l(()=>[w(n,{cols:`4`},{default:l(()=>[w(N,{modelValue:V.value.cpu_alert_threshold,"onUpdate:modelValue":i[2]||=e=>V.value.cpu_alert_threshold=e,label:`CPU %`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`阈值`),y(P)(1,100,`阈值`)]},null,8,[`modelValue`,`rules`])]),_:1}),w(n,{cols:`4`},{default:l(()=>[w(N,{modelValue:V.value.mem_alert_threshold,"onUpdate:modelValue":i[3]||=e=>V.value.mem_alert_threshold=e,label:`内存 %`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`阈值`),y(P)(1,100,`阈值`)]},null,8,[`modelValue`,`rules`])]),_:1}),w(n,{cols:`4`},{default:l(()=>[w(N,{modelValue:V.value.disk_alert_threshold,"onUpdate:modelValue":i[4]||=e=>V.value.disk_alert_threshold=e,label:`磁盘 %`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`阈值`),y(P)(1,100,`阈值`)]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1}),w(S,{class:`my-4`}),i[30]||=v(`div`,{class:`text-subtitle-2 mb-3`},`连接池`,-1),w(r,{dense:``},{default:l(()=>[w(n,{cols:`6`},{default:l(()=>[w(N,{modelValue:V.value.db_pool_size,"onUpdate:modelValue":i[5]||=e=>V.value.db_pool_size=e,label:`连接池大小`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`连接池大小`),y(P)(1,1e3,`连接池大小`)]},null,8,[`modelValue`,`rules`])]),_:1}),w(n,{cols:`6`},{default:l(()=>[w(N,{modelValue:V.value.db_max_overflow,"onUpdate:modelValue":i[6]||=e=>V.value.db_max_overflow=e,label:`溢出连接数`,variant:`outlined`,density:`compact`,type:`number`,rules:[y(F)(`溢出连接数`),y(P)(1,1e3,`溢出连接数`)]},null,8,[`modelValue`,`rules`])]),_:1})]),_:1})]),_:1}),w(O,{class:`px-4 pb-4`},{default:l(()=>[w(p),w(o,{type:`submit`,color:`primary`,variant:`flat`,loading:Be.value},{default:l(()=>[...i[31]||=[h(`保存设置`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1},512)]),_:1}),w(he),w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[32]||=[h(`mdi-bell-ring-outline`,-1)]]),_:1}),i[33]||=h(` 界面提示 `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[i[35]||=v(`p`,{class:`text-caption text-medium-emphasis mb-3`},` 脚本批量执行全部结束时,在浏览器播放提示音(仅当前登录的管理员会话,与 Telegram 推送无关)。 `,-1),w(M,{modelValue:z.value,"onUpdate:modelValue":[i[7]||=e=>z.value=e,Ct],items:y(pe),"item-title":`title`,"item-value":`value`,label:`脚本执行完成提示音`,variant:`outlined`,density:`compact`,"hide-details":``,class:`mb-3`,loading:B.value,disabled:B.value},null,8,[`modelValue`,`items`,`loading`,`disabled`]),w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-volume-high`,disabled:z.value===`off`||B.value,onClick:wt},{default:l(()=>[...i[34]||=[h(` 试听 `,-1)]]),_:1},8,[`disabled`])]),_:1})]),_:1}),w(j,{elevation:`0`,border:``,rounded:`lg`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[36]||=[h(`mdi-send`,-1)]]),_:1}),i[37]||=h(` Telegram 推送 `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[w(N,{modelValue:H.value,"onUpdate:modelValue":i[8]||=e=>H.value=e,label:`Bot Token`,variant:`outlined`,density:`compact`,class:`mb-3`,placeholder:U.value?`已配置(留空保持不变)`:`输入 Bot Token`,type:W.value?`text`:`password`,"append-inner-icon":W.value?`mdi-eye-off`:`mdi-eye`,"onClick:appendInner":It},null,8,[`modelValue`,`placeholder`,`type`,`append-inner-icon`]),U.value&&!H.value?(s(),_(E,{key:0,size:`small`,color:`success`,variant:`tonal`,class:`mb-3`},{default:l(()=>[...i[38]||=[h(`Token 已配置`,-1)]]),_:1})):m(``,!0),w(N,{modelValue:V.value.telegram_chat_id,"onUpdate:modelValue":i[9]||=e=>V.value.telegram_chat_id=e,label:`Chat ID`,variant:`outlined`,density:`compact`,class:`mb-3`},null,8,[`modelValue`]),i[46]||=v(`p`,{class:`text-caption text-medium-emphasis mb-3`},` 在 Telegram 向 Bot 发送任意消息后,可点击下方按钮自动检测 Chat ID。 `,-1),v(`div`,_e,[w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-radar`,onClick:Dt,loading:Ue.value},{default:l(()=>[...i[39]||=[h(`检测 Chat ID`,-1)]]),_:1},8,[`loading`]),w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-message-text`,onClick:Et,loading:He.value},{default:l(()=>[...i[40]||=[h(`发送测试消息`,-1)]]),_:1},8,[`loading`]),w(o,{size:`small`,variant:`tonal`,color:`primary`,"prepend-icon":`mdi-content-save`,onClick:St,loading:Ke.value},{default:l(()=>[...i[41]||=[h(`保存 Telegram 配置`,-1)]]),_:1},8,[`loading`])]),w(S,{class:`my-3`}),i[47]||=v(`div`,{class:`text-subtitle-2 mb-1`},`告警通知项目`,-1),i[48]||=v(`p`,{class:`text-caption text-medium-emphasis mb-3`},` 关闭后该类告警仍记录日志,但不发送 Telegram 消息。Bot Token 未配置时全部静默。 `,-1),(s(!0),C(g,null,a(Xe.value,(e,t)=>(s(),C(g,{key:t},[v(`div`,ve,b(t),1),(s(!0),C(g,null,a(e,e=>(s(),_(L,{key:e.key,"model-value":G.value[e.key]??!0,label:e.label,hint:e.desc,"persistent-hint":``,color:`primary`,density:`compact`,"hide-details":`auto`,class:`mb-1`,disabled:qe.value===e.key,"onUpdate:modelValue":t=>Tt(e.key,!!t)},null,8,[`model-value`,`label`,`hint`,`disabled`,`onUpdate:modelValue`]))),128))],64))),128)),w(S,{class:`my-4`}),i[49]||=v(`div`,{class:`text-subtitle-2 mb-1`},`Layer 3 宿主机巡检`,-1),i[50]||=v(`p`,{class:`text-caption text-medium-emphasis mb-3`},[h(` 每分钟由宿主机 cron 执行 `),v(`code`,null,`health_monitor.sh`),h(`:连续 3 次 /health 失败则自动重启并推送 Telegram。 配置保存后会自动同步至 .env;亦可手动同步。未同步时脚本会从数据库读取 Telegram 配置。 `)],-1),v(`div`,ye,[w(E,{size:`small`,color:K.value?.telegram_layer3_ready?`success`:`warning`,variant:`tonal`},{default:l(()=>[h(b(K.value?.telegram_layer3_ready?`巡检 Telegram 就绪`:`请先配置 Telegram`),1)]),_:1},8,[`color`]),K.value?(s(),_(E,{key:0,size:`small`,color:K.value.telegram_env_synced?`success`:`grey`,variant:`tonal`},{default:l(()=>[h(b(K.value.telegram_env_synced?`.env 已同步`:`.env 未同步(可用 DB 回退)`),1)]),_:1},8,[`color`])):m(``,!0)]),v(`div`,be,[w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-sync`,onClick:xt,loading:Ye.value,disabled:!K.value?.telegram_app_configured},{default:l(()=>[...i[42]||=[h(` 同步巡检 Telegram `,-1)]]),_:1},8,[`loading`,`disabled`]),w(o,{size:`small`,variant:`text`,"prepend-icon":`mdi-refresh`,onClick:bt,loading:Je.value},{default:l(()=>[...i[43]||=[h(` 刷新状态 `,-1)]]),_:1},8,[`loading`])]),K.value?(s(),C(`p`,xe,[i[44]||=h(` 宿主机安装 cron:`,-1),v(`code`,null,b(K.value.cron_install_command),1),i[45]||=h(` · 日志:`,-1),v(`code`,null,b(K.value.health_log_path),1)])):m(``,!0)]),_:1})]),_:1})]),_:1}),w(n,{cols:`12`,lg:`6`},{default:l(()=>[w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[51]||=[h(`mdi-lock`,-1)]]),_:1}),i[52]||=h(` 修改密码 `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[w(N,{modelValue:q.value.current,"onUpdate:modelValue":i[10]||=e=>q.value.current=e,label:`当前密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-3`,rules:[y(F)(`密码`)]},null,8,[`modelValue`,`rules`]),w(N,{modelValue:q.value.new_pw,"onUpdate:modelValue":i[11]||=e=>q.value.new_pw=e,label:`新密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-3`,rules:[y(F)(`密码`)]},null,8,[`modelValue`,`rules`]),w(N,{modelValue:q.value.confirm,"onUpdate:modelValue":i[12]||=e=>q.value.confirm=e,label:`确认新密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-3`,rules:[y(F)(`确认密码`),y(de)(()=>q.value.new_pw)]},null,8,[`modelValue`,`rules`]),y(R).admin?.totp_enabled?(s(),_(N,{key:0,modelValue:q.value.totp_code,"onUpdate:modelValue":i[13]||=e=>q.value.totp_code=e,label:`TOTP 验证码`,variant:`outlined`,density:`compact`,type:`text`,inputmode:`numeric`,maxlength:`6`,class:`mb-3`,rules:y(R).admin?.totp_enabled?[y(F)(`验证码`)]:[]},null,8,[`modelValue`,`rules`])):m(``,!0)]),_:1}),w(O,{class:`px-4 pb-4`},{default:l(()=>[w(p),w(o,{color:`primary`,variant:`flat`,onClick:kt,loading:Qe.value},{default:l(()=>[...i[53]||=[h(`修改密码`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1}),w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[54]||=[h(`mdi-shield-key`,-1)]]),_:1}),i[55]||=h(` 双因素认证 (TOTP) `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[v(`div`,Se,[i[56]||=v(`span`,{class:`text-body-2`},`状态:`,-1),w(E,{color:y(R).admin?.totp_enabled?`success`:`grey`,size:`small`,variant:`tonal`,label:``,class:`ml-2`},{default:l(()=>[h(b(y(R).admin?.totp_enabled?`已启用`:`未启用`),1)]),_:1},8,[`color`])]),J.value?(s(),C(`div`,Ce,[v(`img`,{src:J.value,alt:`TOTP QR`,style:{"max-width":`200px`}},null,8,we),Y.value?(s(),C(`div`,Te,[v(`code`,Ee,b(Y.value),1),w(o,{size:`x-small`,variant:`text`,icon:`mdi-content-copy`,onClick:Pt})])):m(``,!0),i[57]||=v(`div`,{class:`text-caption text-medium-emphasis mt-1`},`用认证器 App 扫描二维码或手动输入密钥`,-1)])):m(``,!0),y(R).admin?.totp_enabled?(s(),_(o,{key:2,size:`small`,variant:`tonal`,color:`error`,"prepend-icon":`mdi-shield-off`,onClick:Mt},{default:l(()=>[...i[60]||=[h(`禁用 TOTP`,-1)]]),_:1})):(s(),C(`div`,De,[J.value?(s(),C(`div`,Oe,[w(N,{modelValue:$e.value,"onUpdate:modelValue":i[14]||=e=>$e.value=e,label:`验证码`,variant:`outlined`,density:`compact`,style:{"max-width":`160px`}},null,8,[`modelValue`]),w(o,{color:`primary`,variant:`flat`,size:`small`,onClick:jt,loading:et.value},{default:l(()=>[...i[59]||=[h(`启用`,-1)]]),_:1},8,[`loading`])])):(s(),_(o,{key:0,size:`small`,variant:`tonal`,"prepend-icon":`mdi-qrcode`,onClick:At},{default:l(()=>[...i[58]||=[h(`生成二维码`,-1)]]),_:1}))]))]),_:1})]),_:1}),w(j,{elevation:`0`,border:``,rounded:`lg`,class:`mb-4`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[61]||=[h(`mdi-key`,-1)]]),_:1}),i[62]||=h(` API Key `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[v(`div`,ke,[w(N,{"model-value":X.value?at.value:`••••••••`,label:`API Key`,variant:`outlined`,density:`compact`,readonly:``,type:X.value?`text`:`password`,style:{"max-width":`320px`}},null,8,[`model-value`,`type`]),w(o,{variant:`text`,size:`small`,icon:X.value?`mdi-eye-off`:`mdi-eye`,onClick:Ft,loading:ot.value},null,8,[`icon`,`loading`]),w(o,{variant:`text`,size:`small`,icon:`mdi-content-copy`,onClick:Lt})])]),_:1})]),_:1}),w(j,{elevation:`0`,border:``,rounded:`lg`},{default:l(()=>[w(A,{class:`d-flex align-center`},{default:l(()=>[w(u,{class:`mr-2`},{default:l(()=>[...i[63]||=[h(`mdi-ip-network`,-1)]]),_:1}),i[64]||=h(` 登录 IP 白名单 `,-1)]),_:1}),w(S),w(k,null,{default:l(()=>[w(L,{modelValue:ct.value,"onUpdate:modelValue":[i[15]||=e=>ct.value=e,Rt],label:`启用 IP 白名单(仅白名单 IP 可登录)`,color:`primary`,density:`compact`,"hide-details":``,class:`mb-4`},null,8,[`modelValue`]),i[67]||=v(`div`,{class:`text-subtitle-2 mb-2`},`代理订阅`,-1),i[68]||=v(`p`,{class:`text-caption text-medium-emphasis mb-2`},` 填写 SS/VMess/VLESS 等订阅链接,保存后每 2 小时自动刷新节点 IP 并合并进白名单。 `,-1),w(N,{modelValue:Z.value,"onUpdate:modelValue":i[16]||=e=>Z.value=e,label:`订阅 URL`,variant:`outlined`,density:`compact`,class:`mb-2`,placeholder:`https://example.com/sub?token=...`},null,8,[`modelValue`]),v(`div`,Ae,[w(o,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-cloud-download`,onClick:zt,loading:pt.value},{default:l(()=>[...i[65]||=[h(`解析预览`,-1)]]),_:1},8,[`loading`]),w(o,{size:`small`,variant:`tonal`,color:`primary`,"prepend-icon":`mdi-content-save`,onClick:Bt,loading:ft.value},{default:l(()=>[...i[66]||=[h(`保存白名单`,-1)]]),_:1},8,[`loading`])]),Q.value.length?(s(),C(`div`,je,[v(`div`,Me,[h(` 订阅节点 `+b(Q.value.length)+` 个 `,1),ut.value?(s(),C(`span`,Ne,` · 上次刷新 `+b(ut.value),1)):m(``,!0)]),v(`div`,Pe,[(s(!0),C(g,null,a(ht.value,e=>(s(),_(E,{key:e,size:`x-small`,variant:`tonal`,label:``},{default:l(()=>[h(b(e),1)]),_:2},1024))),128)),Q.value.length>ht.value.length?(s(),_(E,{key:0,size:`x-small`,variant:`text`,label:``},{default:l(()=>[h(` +`+b(Q.value.length-ht.value.length)+` 更多 `,1)]),_:1})):m(``,!0)])])):Z.value?(s(),C(`div`,Fe,b(ut.value?`上次刷新 ${ut.value},暂无节点`:`等待首次刷新…保存订阅 URL 后将自动拉取`),1)):m(``,!0),w(S,{class:`my-3`}),i[69]||=v(`div`,{class:`text-subtitle-2 mb-2`},`手动 IP`,-1),w(fe,{modelValue:lt.value,"onUpdate:modelValue":i[17]||=e=>lt.value=e,label:`手动 IP / CIDR(每行一个)`,variant:`outlined`,density:`compact`,rows:`4`,class:`mb-2`,placeholder:`1.2.3.4 10.0.0.0/24`},null,8,[`modelValue`]),v(`div`,Ie,` 手动 IP 与订阅节点合并生效;共 `+b(dt.value)+` 条(去重后)。 `,1)]),_:1})]),_:1})]),_:1})]),_:1}),w(ue,{modelValue:$.value,"onUpdate:modelValue":i[20]||=e=>$.value=e,"max-width":`520`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[...i[70]||=[h(`订阅解析预览`,-1)]]),_:1}),w(k,null,{default:l(()=>[v(`div`,Le,[i[71]||=h(`共解析出 `,-1),v(`strong`,null,b(mt.value.length),1),i[72]||=h(` 个节点 IP / 域名:`,-1)]),v(`div`,Re,[(s(!0),C(g,null,a(mt.value,e=>(s(),_(E,{key:e,size:`small`,variant:`tonal`,label:``},{default:l(()=>[h(b(e),1)]),_:2},1024))),128))]),i[73]||=v(`div`,{class:`text-caption text-medium-emphasis`},`点击「保存白名单」后才会写入订阅 URL 并触发后台刷新。`,-1)]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:i[18]||=e=>$.value=!1},{default:l(()=>[...i[74]||=[h(`关闭`,-1)]]),_:1}),w(o,{color:`primary`,variant:`flat`,onClick:i[19]||=e=>{$.value=!1,Bt()}},{default:l(()=>[...i[75]||=[h(`保存白名单`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(ue,{modelValue:We.value,"onUpdate:modelValue":i[22]||=e=>We.value=e,"max-width":`480`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[...i[76]||=[h(`选择 Chat ID`,-1)]]),_:1}),w(k,null,{default:l(()=>[Ge.value.length?(s(),_(oe,{key:1,density:`compact`,lines:`two`},{default:l(()=>[(s(!0),C(g,null,a(Ge.value,e=>(s(),_(se,{key:e.id,title:e.title||e.username||`Chat ${e.id}`,subtitle:`${e.type}${e.username?` · @`+e.username:``} · ID ${e.id}`,onClick:t=>Ot(e)},null,8,[`title`,`subtitle`,`onClick`]))),128))]),_:1})):(s(),C(`div`,ze,` 未检测到对话。请先在 Telegram 向 Bot 发送一条消息,然后重新检测。 `))]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:i[21]||=e=>We.value=!1},{default:l(()=>[...i[77]||=[h(`关闭`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),w(ue,{modelValue:tt.value,"onUpdate:modelValue":i[26]||=e=>tt.value=e,"max-width":`400`},{default:l(()=>[w(j,{border:``},{default:l(()=>[w(A,null,{default:l(()=>[...i[78]||=[h(`禁用 TOTP`,-1)]]),_:1}),w(k,null,{default:l(()=>[w(N,{modelValue:nt.value,"onUpdate:modelValue":i[23]||=e=>nt.value=e,label:`当前密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-2`,rules:[y(F)()]},null,8,[`modelValue`,`rules`]),w(N,{modelValue:rt.value,"onUpdate:modelValue":i[24]||=e=>rt.value=e,label:`验证码`,variant:`outlined`,density:`compact`,rules:[y(F)()]},null,8,[`modelValue`,`rules`])]),_:1}),w(O,null,{default:l(()=>[w(p),w(o,{variant:`text`,onClick:i[25]||=e=>tt.value=!1},{default:l(()=>[...i[79]||=[h(`取消`,-1)]]),_:1}),w(o,{color:`error`,variant:`flat`,onClick:Nt,loading:it.value},{default:l(()=>[...i[80]||=[h(`禁用`,-1)]]),_:1},8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{V as default}; \ No newline at end of file diff --git a/web/app/assets/TerminalPage-C1FKwM_U.js b/web/app/assets/TerminalPage-C1FKwM_U.js deleted file mode 100644 index 419f16f2..00000000 --- a/web/app/assets/TerminalPage-C1FKwM_U.js +++ /dev/null @@ -1,40 +0,0 @@ -import{n as e,t}from"./useSnackbar-DaoOJlMz.js";import{Ar as n,Dr as r,Gr as i,Ir as a,Kr as o,Lr as s,Mr as c,P as l,Pr as u,Sr as d,Ur as f,Vr as p,X as m,Xr as h,Xt as g,_r as _,ai as v,br as y,dr as ee,en as te,gr as ne,h as re,hr as b,i as ie,ii as ae,l as x,m as oe,mr as S,n as se,ni as C,oi as ce,tn as w,ur as le,v as ue,vr as T,wr as de,xr as E,y as D}from"./index-DZEQidkT.js";import{n as fe,r as pe,t as me}from"./VCard-DiTj681b.js";import{t as he}from"./VSelect-CzNpj4qJ.js";import{t as ge}from"./VTextField-CvZimSXQ.js";import{t as _e}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ve}from"./VDialog-B2Te8j14.js";import{t as ye}from"./wsUrl-CqmqkTTE.js";import{r as be,t as xe}from"./useTerminalQuickCommands-DSsRozRD.js";var Se=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,we=(e,t)=>{for(var n in t)Se(e,n,{get:t[n],enumerable:!0})},O=(e,t,n,r)=>{for(var i=r>1?void 0:r?Ce(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Se(t,n,i),i},k=(e,t)=>(n,r)=>t(n,r,e),Te=`Terminal input`,Ee={get:()=>Te,set:e=>Te=e},De=`Too much output to announce, navigate to rows manually to read`,Oe={get:()=>De,set:e=>De=e};function ke(e){return e.replace(/\r?\n/g,`\r`)}function Ae(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function je(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Me(e,t,n,r){e.stopPropagation(),e.clipboardData&&Ne(e.clipboardData.getData(`text/plain`),t,n,r)}function Ne(e,t,n,r){e=ke(e),e=Ae(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Pe(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function Fe(e,t,n,r,i){Pe(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ie(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Le(e,t=0,n=e.length){let r=``;for(let i=t;i65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var Re=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},ze=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Be=``,Ve=` `,He=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Ue}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Ue=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},We=class e extends He{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Ue,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ie(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Ge=`di$target`,Ke=`di$dependencies`,qe=new Map;function Je(e){return e[Ke]||[]}function A(e){if(qe.has(e))return qe.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Ye(t,e,r)};return t._id=e,qe.set(e,t),t}function Ye(e,t,n){t[Ge]===t?t[Ke].push({id:e,index:n}):(t[Ke]=[{id:e,index:n}],t[Ge]=t)}var Xe=A(`BufferService`),Ze=A(`CoreMouseService`),Qe=A(`CoreService`),$e=A(`CharsetService`),et=A(`InstantiationService`),tt=A(`LogService`),nt=A(`OptionsService`),rt=A(`OscLinkService`),it=A(`UnicodeService`),at=A(`DecorationService`),ot=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new We,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;ti?i.activate(e,t,a):st(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};ot=O([k(0,Xe),k(1,nt),k(2,rt)],ot);function st(e,t){if(confirm(`Do you want to navigate to ${t}? - -WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var ct=A(`CharSizeService`),lt=A(`CoreBrowserService`),ut=A(`MouseService`),dt=A(`RenderService`),ft=A(`SelectionService`),pt=A(`CharacterJoinerService`),mt=A(`ThemeService`),ht=A(`LinkProviderService`),gt=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?St.isErrorNoTelemetry(e)?new St(e.message+` - -`+e.stack):Error(e.message+` - -`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function _t(e){yt(e)||gt.onUnexpectedError(e)}var vt=`Canceled`;function yt(e){return e instanceof bt?!0:e instanceof Error&&e.name===vt&&e.message===vt}var bt=class extends Error{constructor(){super(vt),this.name=this.message}};function xt(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var St=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},Ct=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function wt(e,t,n=0,r=e.length){let i=n,a=r;for(;i{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Dt||={});function Ot(e,t){return(n,r)=>t(e(n),e(r))}var kt=(e,t)=>e-t,At=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>t(n)?e(n):!0))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>e(n)?(t=n,!1):!0),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||Dt.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};At.empty=new At(e=>{});function jt(e,t){let n=Object.create(null);for(let r of e){let e=t(r),i=n[e];i||=n[e]=[],i.push(r)}return n}var Mt=class{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){let n=this.map.get(e);n&&(n.delete(t),n.size===0&&this.map.delete(e))}forEach(e,t){let n=this.map.get(e);n&&n.forEach(t)}get(e){return this.map.get(e)||new Set}};function Nt(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var Pt;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);tt.source!==null&&!this.getRootParent(t,e).isSingleton).flatMap(([e])=>e)}computeLeakingDisposables(e=10,t){let n;if(t)n=t;else{let e=new Map,t=[...this.livingDisposables.values()].filter(t=>t.source!==null&&!this.getRootParent(t,e).isSingleton);if(t.length===0)return;let r=new Set(t.map(e=>e.value));if(n=t.filter(e=>!(e.parent&&r.has(e.parent))),n.length===0)throw Error(`There are cyclic diposable chains!`)}if(!n)return;function r(e){function t(e,t){for(;e.length>0&&t.some(t=>typeof t==`string`?t===e[0]:e[0].match(t));)e.shift()}let n=e.source.split(` -`).map(e=>e.trim().replace(`at `,``)).filter(e=>e!==``);return t(n,[`Error`,/^trackDisposable \(.*\)$/,/^DisposableTracker.trackDisposable \(.*\)$/]),n.reverse()}let i=new Mt;for(let e of n){let t=r(e);for(let n=0;n<=t.length;n++)i.add(t.slice(0,n).join(` -`),e)}n.sort(Ot(e=>e.idx,kt));let a=``,o=0;for(let t of n.slice(0,e)){o++;let e=r(t),s=[];for(let t=0;tr(e)[t]),e=>e);delete o[e[t]];for(let[e,t]of Object.entries(o))s.unshift(` - stacktraces of ${t.length} other leaks continue with ${e}`);s.unshift(a)}a+=` - - -==================== Leaking disposable ${o}/${n.length}: ${t.value.constructor.name} ==================== -${s.join(` -`)} -============================================================ - -`}return n.length>e&&(a+=` - - -... and ${n.length-e} more leaking disposables - -`),{leaks:n,details:a}}};Lt.idx=0;function Rt(e){It=e}if(Ft){let e=`__is_disposable_tracked__`;Rt(new class{trackDisposable(t){let n=Error(`Potentially leaked disposable`).stack;setTimeout(()=>{t[e]||console.log(n)},3e3)}setParent(t,n){if(t&&t!==M.None)try{t[e]=!0}catch{}}markAsDisposed(t){if(t&&t!==M.None)try{t[e]=!0}catch{}}markAsSingleton(e){}})}function zt(e){return It?.trackDisposable(e),e}function Bt(e){It?.markAsDisposed(e)}function Vt(e,t){It?.setParent(e,t)}function Ht(e,t){if(It)for(let n of e)It.setParent(n,t)}function Ut(e){return It?.markAsSingleton(e),e}function Wt(e){if(Pt.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function Gt(...e){let t=j(()=>Wt(e));return Ht(e,t),t}function j(e){let t=zt({dispose:Nt(()=>{Bt(t),e()})});return t}var Kt=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,zt(this)}dispose(){this._isDisposed||(Bt(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Wt(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return Vt(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),Vt(e,null))}};Kt.DISABLE_DISPOSED_WARNING=!1;var qt=Kt,M=class{constructor(){this._store=new qt,zt(this),Vt(this._store,this)}dispose(){Bt(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};M.None=Object.freeze({dispose(){}});var Jt=class{constructor(){this._isDisposed=!1,zt(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&Vt(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Bt(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&Vt(e,null),e}},Yt=typeof window==`object`?window:globalThis,Xt=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};Xt.Undefined=new Xt(void 0);var N=Xt,Zt=class{constructor(){this._first=N.Undefined,this._last=N.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===N.Undefined}clear(){let e=this._first;for(;e!==N.Undefined;){let t=e.next;e.prev=N.Undefined,e.next=N.Undefined,e=t}this._first=N.Undefined,this._last=N.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new N(e);if(this._first===N.Undefined)this._first=n,this._last=n;else if(t){let e=this._last;this._last=n,n.prev=e,e.next=n}else{let e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==N.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==N.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==N.Undefined&&e.next!==N.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===N.Undefined&&e.next===N.Undefined?(this._first=N.Undefined,this._last=N.Undefined):e.next===N.Undefined?(this._last=this._last.prev,this._last.next=N.Undefined):e.prev===N.Undefined&&(this._first=this._first.next,this._first.prev=N.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==N.Undefined;)yield e.element,e=e.next}},Qt=globalThis.performance&&typeof globalThis.performance.now==`function`,$t=class e{static create(t){return new e(t)}constructor(e){this._now=Qt&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},en=!1,tn=!1,nn=!1,P;(e=>{e.None=()=>M.None;function t(e){if(nn){let{onDidAddListener:t}=e,n=ln.create(),r=0;e.onDidAddListener=()=>{++r===2&&(console.warn(`snapshotted emitter LIKELY used public and SHOULD HAVE BEEN created with DisposableStore. snapshotted here`),n.print()),t?.()}}}function n(e,t){return f(e,()=>{},0,void 0,!0,void 0,t)}e.defer=n;function r(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=r;function i(e,t,n){return u((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=i;function a(e,t,n){return u((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=a;function o(e,t,n){return u((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=o;function s(e){return e}e.signal=s;function c(...e){return(t,n=null,r)=>d(Gt(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=c;function l(e,t,n,r){let a=n;return i(e,e=>(a=t(a,e),a),r)}e.reduce=l;function u(e,n){let r,i={onWillAddFirstListener(){r=e(a.fire,a)},onDidRemoveLastListener(){r?.dispose()}};n||t(i);let a=new F(i);return n?.add(a),a.event}function d(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function f(e,n,r=100,i=!1,a=!1,o,s){let c,l,u,d=0,f,p={leakWarningThreshold:o,onWillAddFirstListener(){c=e(e=>{d++,l=n(l,e),i&&!u&&(m.fire(l),l=void 0),f=()=>{let e=l;l=void 0,u=void 0,(!i||d>1)&&m.fire(e),d=0},typeof r==`number`?(clearTimeout(u),u=setTimeout(f,r)):u===void 0&&(u=0,queueMicrotask(f))})},onWillRemoveListener(){a&&d>0&&f?.()},onDidRemoveLastListener(){f=void 0,c.dispose()}};s||t(p);let m=new F(p);return s?.add(m),m.event}e.debounce=f;function p(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=p;function m(e,t=(e,t)=>e===t,n){let r=!0,i;return o(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=m;function h(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=h;function g(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new F({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=g;function _(e,t){return(n,r,i)=>{let a=t(new y);return e(function(e){let t=a.evaluate(e);t!==v&&n.call(r,t)},void 0,i)}}e.chain=_;let v=Symbol(`HaltChainable`);class y{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:v),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:v}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===v)break;return e}}function ee(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new F({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=ee;function te(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new F({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=te;function ne(e){return new Promise(t=>r(e)(t))}e.toPromise=ne;function re(e){let t=new F;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=re;function b(e,t){return e(e=>t.fire(e))}e.forward=b;function ie(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=ie;class ae{constructor(e,n){this._observable=e,this._counter=0,this._hasChanged=!1;let r={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};n||t(r),this.emitter=new F(r),n&&n.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function x(e,t){return new ae(e,t).emitter.event}e.fromObservable=x;function oe(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof qt?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=oe})(P||={});var rn=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new $t,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};rn.all=new Set,rn._idPool=0;var an=rn,on=-1,sn=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t{if(e instanceof pn)t(e);else for(let n=0;n{e.length!==0&&(console.warn(`[LEAKING LISTENERS] GC'ed these listeners that were NOT yet disposed:`),console.warn(e.join(` -`)),e.length=0)},3e3),gn=new FinalizationRegistry(t=>{typeof t==`string`&&e.push(t)})}var F=class{constructor(e){this._size=0,this._options=e,this._leakageMon=on>0||this._options?.leakWarningThreshold?new cn(e?.onListenerError??_t,this._options?.leakWarningThreshold??on):void 0,this._perfMon=this._options?._profName?new an(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){if(!this._disposed){if(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners){if(tn){let e=this._listeners;queueMicrotask(()=>{hn(e,e=>e.stack?.print())})}this._listeners=void 0,this._size=0}this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose()}}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new dn(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||_t)(n),M.None}if(this._disposed)return M.None;t&&(e=e.bind(t));let r=new pn(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=ln.create(),i=this._leakageMon.check(r.stack,this._size+1)),tn&&(r.stack=ln.create()),this._listeners?this._listeners instanceof pn?(this._deliveryQueue??=new _n,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=j(()=>{gn?.unregister(a),i?.(),this._removeListener(r)});if(n instanceof qt?n.add(a):Array.isArray(n)&&n.push(a),gn){let e=Error().stack.split(` -`).slice(2,3).join(` -`).trim(),t=/(file:|vscode-file:\/\/vscode-app)?(\/[^:]*:\d+:\d+)/.exec(e);gn.register(a,t?.[2]??e,a)}return a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*mn<=t.length){let e=0;for(let n=0;n0}},_n=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},vn=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new F,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new F,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};vn.INSTANCE=new vn;var yn=vn;function bn(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}yn.INSTANCE.onDidChangeZoomLevel;function xn(e){return yn.INSTANCE.getZoomFactor(e)}yn.INSTANCE.onDidChangeFullscreen;var Sn=typeof navigator==`object`?navigator.userAgent:``,Cn=Sn.indexOf(`Firefox`)>=0,wn=Sn.indexOf(`AppleWebKit`)>=0,Tn=Sn.indexOf(`Chrome`)>=0,En=!Tn&&Sn.indexOf(`Safari`)>=0;Sn.indexOf(`Electron/`),Sn.indexOf(`Android`);var Dn=!1;if(typeof Yt.matchMedia==`function`){let e=Yt.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=Yt.matchMedia(`(display-mode: fullscreen)`);Dn=e.matches,bn(Yt,e,({matches:e})=>{Dn&&t.matches||(Dn=e)})}function On(){return Dn}var kn=`en`,An=!1,jn=!1,Mn=!1,Nn=!1,Pn=!1,Fn=kn,In,Ln=globalThis,Rn;typeof Ln.vscode<`u`&&typeof Ln.vscode.process<`u`?Rn=Ln.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(Rn=process);var zn=typeof Rn?.versions?.electron==`string`&&Rn?.type===`renderer`;if(typeof Rn==`object`){An=Rn.platform===`win32`,jn=Rn.platform===`darwin`,Mn=Rn.platform===`linux`,Mn&&Rn.env.SNAP&&Rn.env.SNAP_REVISION,Rn.env.CI||Rn.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Fn=kn;let e=Rn.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,Fn=t.resolvedLanguage||kn,t.languagePack?.translationsConfigFile}catch{}Nn=!0}else typeof navigator==`object`&&!zn?(In=navigator.userAgent,An=In.indexOf(`Windows`)>=0,jn=In.indexOf(`Macintosh`)>=0,(In.indexOf(`Macintosh`)>=0||In.indexOf(`iPad`)>=0||In.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,Mn=In.indexOf(`Linux`)>=0,In?.indexOf(`Mobi`),Pn=!0,Fn=globalThis._VSCODE_NLS_LANGUAGE||kn,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var Bn=An,Vn=jn,Hn=Mn,Un=Nn;Pn&&typeof Ln.importScripts==`function`&&Ln.origin;var Wn=In,Gn=Fn,Kn;(e=>{function t(){return Gn}e.value=t;function n(){return Gn.length===2?Gn===`en`:Gn.length>=3?Gn[0]===`e`&&Gn[1]===`n`&&Gn[2]===`-`:!1}e.isDefaultVariant=n;function r(){return Gn===`en`}e.isDefault=r})(Kn||={});var qn=typeof Ln.postMessage==`function`&&!Ln.importScripts;(()=>{if(qn){let e=[];Ln.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n{let r=++t;e.push({id:r,callback:n}),Ln.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var Jn=!!(Wn&&Wn.indexOf(`Chrome`)>=0);Wn&&Wn.indexOf(`Firefox`),!Jn&&Wn&&Wn.indexOf(`Safari`),Wn&&Wn.indexOf(`Edg/`),Wn&&Wn.indexOf(`Android`);var Yn=typeof navigator==`object`?navigator:{};Un||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||Yn&&Yn.clipboard&&Yn.clipboard.writeText,Un||Yn&&Yn.clipboard&&Yn.clipboard.readText,Un||On()||Yn.keyboard,`ontouchstart`in Yt||Yn.maxTouchPoints,Yt.PointerEvent&&(`ontouchstart`in Yt||navigator.maxTouchPoints);var Xn=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},Zn=new Xn,Qn=new Xn,$n=new Xn,er=Array(230),tr;(e=>{function t(e){return Zn.keyCodeToStr(e)}e.toString=t;function n(e){return Zn.strToKeyCode(e)}e.fromString=n;function r(e){return Qn.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return $n.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return Qn.strToKeyCode(e)||$n.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return Zn.keyCodeToStr(e)}e.toElectronAccelerator=o})(tr||={});var nr=class e{constructor(e,t,n,r,i){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}equals(t){return t instanceof e&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){return`K${this.ctrlKey?`1`:`0`}${this.shiftKey?`1`:`0`}${this.altKey?`1`:`0`}${this.metaKey?`1`:`0`}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new rr([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},rr=class{constructor(e){if(e.length===0)throw xt(`chords`);this.chords=e}getHashCode(){let e=``;for(let t=0,n=this.chords.length;t{function t(t){return t===e.None||t===e.Cancelled||t instanceof _r?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:P.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:hr})})(gr||={});var _r=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?hr:(this._emitter||=new F,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},vr=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e==`function`&&typeof t==`number`&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new Ct(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new Ct(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},yr=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new Ct(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=j(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var br;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(br||={});var xr=class e{static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new F,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};xr.EMPTY=xr.fromArray([]);function Sr(e){return 55296<=e&&e<=56319}function Cr(e){return 56320<=e&&e<=57343}function wr(e,t){return(e-55296<<10)+(t-56320)+65536}function Tr(e){return Er(e,0)}function Er(e,t){switch(typeof e){case`object`:return e===null?Dr(349,t):Array.isArray(e)?Ar(e,t):jr(e,t);case`string`:return kr(e,t);case`boolean`:return Or(e,t);case`number`:return Dr(e,t);case`undefined`:return Dr(937,t);default:return Dr(617,t)}}function Dr(e,t){return(t<<5)-t+e|0}function Or(e,t){return Dr(e?433:863,t)}function kr(e,t){t=Dr(149417,t);for(let n=0,r=e.length;nEr(t,e),t)}function jr(e,t){return t=Dr(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=kr(n,t),Er(e[n],t)),t)}function Mr(e,t,n=32){let r=n-t,i=~((1<>>r)>>>0}function Nr(e,t=0,n=e.byteLength,r=0){for(let i=0;ie.toString(16).padStart(2,`0`)).join(``):Pr((e>>>0).toString(16),t/4)}var Ir=class e{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){let t=e.length;if(t===0)return;let n=this._buff,r=this._buffLen,i=this._leftoverHighSurrogate,a,o;for(i===0?(a=e.charCodeAt(0),o=0):(a=i,o=-1,i=0);;){let s=a;if(Sr(a))if(o+1>>6,e[t++]=128|(n&63)>>>0):n<65536?(e[t++]=224|(n&61440)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0):(e[t++]=240|(n&1835008)>>>18,e[t++]=128|(n&258048)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Fr(this._h0)+Fr(this._h1)+Fr(this._h2)+Fr(this._h3)+Fr(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,Nr(this._buff,this._buffLen),this._buffLen>56&&(this._step(),Nr(this._buff));let e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){let t=e._bigBlock32,n=this._buffDV;for(let e=0;e<64;e+=4)t.setUint32(e,n.getUint32(e,!1),!1);for(let e=64;e<320;e+=4)t.setUint32(e,Mr(t.getUint32(e-12,!1)^t.getUint32(e-32,!1)^t.getUint32(e-56,!1)^t.getUint32(e-64,!1),1),!1);let r=this._h0,i=this._h1,a=this._h2,o=this._h3,s=this._h4,c,l,u;for(let e=0;e<80;e++)e<20?(c=i&a|~i&o,l=1518500249):e<40?(c=i^a^o,l=1859775393):e<60?(c=i&a|i&o|a&o,l=2400959708):(c=i^a^o,l=3395469782),u=Mr(r,5)+c+s+l+t.getUint32(e*4,!1)&4294967295,s=o,o=a,a=Mr(i,30),i=r,r=u;this._h0=this._h0+r&4294967295,this._h1=this._h1+i&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+o&4294967295,this._h4=this._h4+s&4294967295}};Ir._bigBlock32=new DataView(new ArrayBuffer(320));var{registerWindow:Lr,getWindow:Rr,getDocument:zr,getWindows:Br,getWindowsCount:Vr,getWindowId:Hr,getWindowById:Ur,hasWindow:Wr,onDidRegisterWindow:Gr,onWillUnregisterWindow:Kr,onDidUnregisterWindow:qr}=function(){let e=new Map,t={window:Yt,disposables:new qt};e.set(Yt.vscodeWindowId,t);let n=new F,r=new F,i=new F;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return M.None;let a=new qt,o={window:t,disposables:a.add(new qt)};return e.set(t.vscodeWindowId,o),a.add(j(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(I(t,L.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:Yt},getDocument(e){return Rr(e).document}}}(),Jr=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function I(e,t,n,r){return new Jr(e,t,n,r)}function Yr(e,t){return function(n){return t(new pr(e,n))}}function Xr(e){return function(t){return e(new lr(t))}}var Zr=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=Yr(Rr(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=Xr(n)),I(e,t,i,r)},Qr,$r=class extends yr{constructor(e){super(),this.defaultTarget=e&&Rr(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},ei=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){_t(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,n=new Map,r=new Map,i=i=>{n.set(i,!1);let a=e.get(i)??[];for(t.set(i,a),e.set(i,[]),r.set(i,!0);a.length>0;)a.sort(ei.sort),a.shift().execute();r.set(i,!1)};Qr=(t,r,a=0)=>{let o=Hr(t),s=new ei(r,a),c=e.get(o);return c||(c=[],e.set(o,c)),c.push(s),n.get(o)||(n.set(o,!0),t.requestAnimationFrame(()=>i(o))),s}})();var ti=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};ti.None=new ti(0,0);function ni(e){let t=e.getBoundingClientRect(),n=Rr(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=Tr(n),a=r.get(i);if(a)a.users+=1;else{let o=new F,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(j(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var L={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,WHEEL:`wheel`,KEY_DOWN:`keydown`,KEY_PRESS:`keypress`,KEY_UP:`keyup`,LOAD:`load`,BEFORE_UNLOAD:`beforeunload`,UNLOAD:`unload`,PAGE_SHOW:`pageshow`,PAGE_HIDE:`pagehide`,PASTE:`paste`,ABORT:`abort`,ERROR:`error`,RESIZE:`resize`,SCROLL:`scroll`,FULLSCREEN_CHANGE:`fullscreenchange`,WK_FULLSCREEN_CHANGE:`webkitfullscreenchange`,SELECT:`select`,CHANGE:`change`,SUBMIT:`submit`,RESET:`reset`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,STORAGE:`storage`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`,ANIMATION_START:wn?`webkitAnimationStart`:`animationstart`,ANIMATION_END:wn?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:wn?`webkitAnimationIteration`:`animationiteration`},ri=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;function ii(e,t,n,...r){let i=ri.exec(t);if(!i)throw Error(`Bad use of emmet`);let a=i[1]||`div`,o;return o=e===`http://www.w3.org/1999/xhtml`?document.createElement(a):document.createElementNS(e,a),i[3]&&(o.id=i[3]),i[4]&&(o.className=i[4].replace(/\./g,` `).trim()),n&&Object.entries(n).forEach(([e,t])=>{typeof t>`u`||(/^on\w+$/.test(e)?o[e]=t:e===`selected`?t&&o.setAttribute(e,`true`):o.setAttribute(e,t))}),o.append(...r),o}function ai(e,t,...n){return ii(`http://www.w3.org/1999/xhtml`,e,t,...n)}ai.SVG=function(e,t,...n){return ii(`http://www.w3.org/2000/svg`,e,t,...n)};var oi=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingTop=``,this._paddingLeft=``,this._paddingBottom=``,this._paddingRight=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}setMaxWidth(e){let t=si(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=si(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=si(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=si(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=si(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=si(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=si(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=si(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=si(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=si(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=si(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=si(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=si(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=si(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function si(e){return typeof e==`number`?`${e}px`:e}function ci(e){return new oi(e)}var li=class{constructor(){this._hooks=new qt,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(j(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=Rr(e)}this._hooks.add(I(a,L.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(I(a,L.POINTER_UP,e=>this.stopMonitoring(!0)))}};function ui(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length!==0&&console.warn(`Memoize should only be used in functions with zero parameters`)):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var di;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(di||={});var fi=class e extends M{constructor(){super(),this.dispatched=!1,this.targets=new Zt,this.ignoreTargets=new Zt,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(P.runAndSubscribe(Gr,({window:e,disposables:t})=>{t.add(I(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(I(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(I(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:Yt,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=Ut(new e),j(e.INSTANCE.targets.push(t))):M.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=Ut(new e),j(e.INSTANCE.ignoreTargets.push(t))):M.None}static isTouchDevice(){return`ontouchstart`in Yt||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n=e.HOLD_DELAY&&Math.abs(s.initialPageX-Et(s.rollingPageX))<30&&Math.abs(s.initialPageY-Et(s.rollingPageY))<30){let e=this.newGestureEvent(di.Contextmenu,s.initialTarget);e.pageX=Et(s.rollingPageX),e.pageY=Et(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=Et(s.rollingPageX),n=Et(s.rollingPageY),i=Et(s.rollingTimestamps)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=n-s.rollingPageY[0],c=[...this.targets].filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(t,c,r,Math.abs(a)/i,a>0?1:-1,e,Math.abs(o)/i,o>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(di.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(n.preventDefault(),n.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===di.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else (t.type===di.Change||t.type===di.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let e of this.ignoreTargets)if(e.contains(t.initialTarget))return;let e=[];for(let n of this.targets)if(n.contains(t.initialTarget)){let r=0,i=t.initialTarget;for(;i&&i!==n;)r++,i=i.parentElement;e.push([r,n])}e.sort((e,t)=>e[0]-t[0]);for(let[n,r]of e)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,n,r,i,a,o,s,c,l){this.handle=Qr(t,()=>{let u=Date.now(),d=u-r,f=0,p=0,m=!0;i+=e.SCROLL_FRICTION*d,s+=e.SCROLL_FRICTION*d,i>0&&(m=!1,f=a*i*d),s>0&&(m=!1,p=c*s*d);let h=this.newGestureEvent(di.Change);h.translationX=f,h.translationY=p,n.forEach(e=>e.dispatchEvent(h)),m||this.inertia(t,n,u,i,a,o+f,s,c,l+p)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n3&&(i.rollingPageX.shift(),i.rollingPageY.shift(),i.rollingTimestamps.shift()),i.rollingPageX.push(r.pageX),i.rollingPageY.push(r.pageY),i.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};fi.SCROLL_FRICTION=-.005,fi.HOLD_DELAY=700,fi.CLEAR_TAP_COUNT_TIME=400,O([ui],fi,`isTouchDevice`,1);var pi=fi,mi=class extends M{onclick(e,t){this._register(I(e,L.CLICK,n=>t(new pr(Rr(e),n))))}onmousedown(e,t){this._register(I(e,L.MOUSE_DOWN,n=>t(new pr(Rr(e),n))))}onmouseover(e,t){this._register(I(e,L.MOUSE_OVER,n=>t(new pr(Rr(e),n))))}onmouseleave(e,t){this._register(I(e,L.MOUSE_LEAVE,n=>t(new pr(Rr(e),n))))}onkeydown(e,t){this._register(I(e,L.KEY_DOWN,e=>t(new lr(e))))}onkeyup(e,t){this._register(I(e,L.KEY_UP,e=>t(new lr(e))))}oninput(e,t){this._register(I(e,L.INPUT,t))}onblur(e,t){this._register(I(e,L.BLUR,t))}onfocus(e,t){this._register(I(e,L.FOCUS,t))}onchange(e,t){this._register(I(e,L.CHANGE,t))}ignoreGesture(e){return pi.ignoreTarget(e)}},hi=11,gi=class extends mi{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(`div`),this.bgDomNode.className=`arrow-background`,this.bgDomNode.style.position=`absolute`,this.bgDomNode.style.width=e.bgWidth+`px`,this.bgDomNode.style.height=e.bgHeight+`px`,typeof e.top<`u`&&(this.bgDomNode.style.top=`0px`),typeof e.left<`u`&&(this.bgDomNode.style.left=`0px`),typeof e.bottom<`u`&&(this.bgDomNode.style.bottom=`0px`),typeof e.right<`u`&&(this.bgDomNode.style.right=`0px`),this.domNode=document.createElement(`div`),this.domNode.className=e.className,this.domNode.style.position=`absolute`,this.domNode.style.width=hi+`px`,this.domNode.style.height=hi+`px`,typeof e.top<`u`&&(this.domNode.style.top=e.top+`px`),typeof e.left<`u`&&(this.domNode.style.left=e.left+`px`),typeof e.bottom<`u`&&(this.domNode.style.bottom=e.bottom+`px`),typeof e.right<`u`&&(this.domNode.style.right=e.right+`px`),this._pointerMoveMonitor=this._register(new li),this._register(Zr(this.bgDomNode,L.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(Zr(this.domNode,L.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new $r),this._pointerdownScheduleRepeatTimer=this._register(new vr)}_arrowPointerDown(e){!e.target||!(e.target instanceof Element)||(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Rr(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},_i=class e{constructor(e,t,n,r,i,a,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,r|=0,i|=0,a|=0,o|=0),this.rawScrollLeft=r,this.rawScrollTop=o,t<0&&(t=0),r+t>n&&(r=n-t),r<0&&(r=0),i<0&&(i=0),o+i>a&&(o=a-i),o<0&&(o=0),this.width=t,this.scrollWidth=n,this.scrollLeft=r,this.height=i,this.scrollHeight=a,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(t,n){return new e(this._forceIntegerValues,typeof t.width<`u`?t.width:this.width,typeof t.scrollWidth<`u`?t.scrollWidth:this.scrollWidth,n?this.rawScrollLeft:this.scrollLeft,typeof t.height<`u`?t.height:this.height,typeof t.scrollHeight<`u`?t.scrollHeight:this.scrollHeight,n?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new e(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<`u`?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<`u`?t.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){let n=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:s}}},vi=class extends M{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new F),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new _i(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){let n=this._state.withScrollDimensions(e,t);this._setState(n,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>`u`?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>`u`?this._smoothScrolling.to.scrollTop:e.scrollTop};let n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let r;r=t?new Si(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let t=this._state.withScrollPosition(e);this._smoothScrolling=Si.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}},yi=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function bi(e,t){let n=t-e;return function(t){return e+n*wi(t)}}function xi(e,t,n){return function(r){return r2.5*n){let r,i;return e{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?` fade`:``)))}},Ei=140,Di=class extends mi{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new Ti(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new li),this._shouldRender=!0,this.domNode=ci(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(`absolute`),this._register(I(this.domNode.domNode,L.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new gi(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=ci(document.createElement(`div`)),this.slider.setClassName(`slider`),this.slider.setPosition(`absolute`),this.slider.setTop(e),this.slider.setLeft(t),typeof n==`number`&&this.slider.setWidth(n),typeof r==`number`&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(`strict`),this.domNode.domNode.appendChild(this.slider.domNode),this._register(I(this.slider.domNode,L.POINTER_DOWN,e=>{e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderPointerPosition(e);n<=i&&i<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&typeof e.offsetX==`number`&&typeof e.offsetY==`number`)t=e.offsetX,n=e.offsetY;else{let r=ni(this.domNode.domNode);t=e.pageX-r.left,n=e.pageY-r.top}let r=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName(`active`,!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let i=this._sliderOrthogonalPointerPosition(e),a=Math.abs(i-n);if(Bn&&a>Ei){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName(`active`,!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Oi=class e{constructor(e,t,n,r,i,a){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=i,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let t=Math.round(e);return this._visibleSize===t?!1:(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){let t=Math.round(e);return this._scrollSize===t?!1:(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){let t=Math.round(e);return this._scrollPosition===t?!1:(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,r,i){let a=Math.max(0,n-e),o=Math.max(0,a-2*t),s=r>0&&r>n;if(!s)return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(20,Math.floor(n*o/r))),l=(o-c)/(r-n),u=i*l;return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(c),computedSliderRatio:l,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize,n=this._scrollPosition;return t0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(n+=.25),t){let r=Math.abs(e.deltaX),i=Math.abs(e.deltaY),a=Math.abs(t.deltaX),o=Math.abs(t.deltaY),s=Math.max(Math.min(r,a),1),c=Math.max(Math.min(i,o),1),l=Math.max(r,a),u=Math.max(i,o);l%s===0&&u%c===0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};Fi.INSTANCE=new Fi;var Ii=Fi,Li=class extends mi{constructor(e,t,n){super(),this._onScroll=this._register(new F),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new F),this.onWillScroll=this._onWillScroll.event,this._options=zi(t),this._scrollable=n,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let r={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Ai(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new ki(this._scrollable,this._options,r)),this._domNode=document.createElement(`div`),this._domNode.className=`xterm-scrollable-element `+this._options.className,this._domNode.setAttribute(`role`,`presentation`),this._domNode.style.position=`relative`,this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=ci(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=ci(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=ci(document.createElement(`div`)),this._topLeftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new vr),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Wt(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,Vn&&(this._options.className+=` mac`),this._domNode.className=`xterm-scrollable-element `+this._options.className}updateOptions(e){typeof e.handleMouseWheel<`u`&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<`u`&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<`u`&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<`u`&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<`u`&&(this._options.horizontal=e.horizontal),typeof e.vertical<`u`&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<`u`&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<`u`&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<`u`&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new mr(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Wt(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(I(this._listenOnDomNode,L.MOUSE_WHEEL,e=>{this._onMouseWheel(new mr(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=Ii.INSTANCE;Ni&&t.acceptStandardWheelEvent(e);let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&i+r===0?i=r=0:Math.abs(r)>=Math.abs(i)?i=0:r=0),this._options.flipAxes&&([r,i]=[i,r]);let a=!Vn&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!i&&(i=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(i*=this._options.fastScrollSensitivity,r*=this._options.fastScrollSensitivity);let o=this._scrollable.getFutureScrollPosition(),s={};if(r){let e=Mi*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=Mi*i,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(s,t)}s=this._scrollable.validateScrollPosition(s),(o.scrollLeft!==s.scrollLeft||o.scrollTop!==s.scrollTop)&&(Ni&&this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(s):this._scrollable.setScrollPositionNow(s),n=!0)}let r=n;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,r=n?` left`:``,i=t?` top`:``,a=n||t?` top-left-corner`:``;this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${i}`),this._topLeftShadowDomNode.setClassName(`shadow${a}${i}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),ji)}},Ri=class extends Li{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function zi(e){let t={lazyRender:typeof e.lazyRender<`u`?e.lazyRender:!1,className:typeof e.className<`u`?e.className:``,useShadows:typeof e.useShadows<`u`?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<`u`?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<`u`?e.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<`u`?e.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<`u`?e.alwaysConsumeMouseWheel:!1,scrollYToX:typeof e.scrollYToX<`u`?e.scrollYToX:!1,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<`u`?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<`u`?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<`u`?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<`u`?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<`u`?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<`u`?e.listenOnDomNode:null,horizontal:typeof e.horizontal<`u`?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<`u`?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<`u`?e.horizontalHasArrows:!1,vertical:typeof e.vertical<`u`?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<`u`?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<`u`?e.verticalHasArrows:!1,verticalSliderSize:typeof e.verticalSliderSize<`u`?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<`u`?e.scrollByPage:!1};return t.horizontalSliderSize=typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<`u`?e.verticalSliderSize:t.verticalScrollbarSize,Vn&&(t.className+=` mac`),t}var Bi=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new F),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new vi({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>Qr(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new Ri(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange([`scrollSensitivity`,`fastScrollSensitivity`,`overviewRuler`],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(i.onProtocolChange(e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(e&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(P.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(j(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(j(()=>this._styleElement.remove())),this._register(P.runAndSubscribe(a.onChangeColors,()=>{this._styleElement.textContent=[`.xterm .xterm-scrollable-element > .scrollbar > .slider {`,` background: ${a.colors.scrollbarSliderBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider:hover {`,` background: ${a.colors.scrollbarSliderHoverBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider.active {`,` background: ${a.colors.scrollbarSliderActiveBackground.css};`,`}`].join(` -`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(e=>this._handleScroll(e)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),n=t-this._bufferService.buffer.ydisp;n!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(n)),this._isHandlingScroll=!1}};Bi=O([k(2,Xe),k(3,lt),k(4,Ze),k(5,mt),k(6,nt),k(7,dt)],Bi);var Vi=class extends M{constructor(e,t,n,r,i){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=n,this._decorationService=r,this._renderService=i,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement(`div`),this._container.classList.add(`xterm-decoration-container`),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(e=>this._removeDecoration(e))),this._register(j(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let t=this._coreBrowserService.mainDocument.createElement(`div`);t.classList.add(`xterm-decoration`),t.classList.toggle(`xterm-decoration-top-layer`,e?.options?.layer===`top`),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let n=e.options.x??0;return n&&n>this._bufferService.cols&&(t.style.display=`none`),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=`none`,e.onRenderEmitter.fire(e.element));else{let n=this._decorationElements.get(e);n||(n=this._createElement(e),e.element=n,this._decorationElements.set(e,n),this._container.appendChild(n),e.onDispose(()=>{this._decorationElements.delete(e),n.remove()})),n.style.display=this._altBufferIsActive?`none`:`block`,this._altBufferIsActive||(n.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,n.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,n.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,n.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(n)}}_refreshXPosition(e,t=e.element){if(!t)return;let n=e.options.x??0;(e.options.anchor||`left`)===`right`?t.style.right=n?`${n*this._renderService.dimensions.css.cell.width}px`:``:t.style.left=n?`${n*this._renderService.dimensions.css.cell.width}px`:``}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};Vi=O([k(1,Xe),k(2,lt),k(3,at),k(4,dt)],Vi);var Hi=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,n){return t>=e.startBufferLine-this._linePadding[n||`full`]&&t<=e.endBufferLine+this._linePadding[n||`full`]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},Ui={full:0,left:0,center:0,right:0},Wi={full:0,left:0,center:0,right:0},Gi={full:0,left:0,center:0,right:0},Ki=class extends M{constructor(e,t,n,r,i,a,o,s){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=n,this._decorationService=r,this._renderService=i,this._optionsService=a,this._themeService=o,this._coreBrowserService=s,this._colorZoneStore=new Hi,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`),this._canvas.classList.add(`xterm-decoration-overview-ruler`),this._refreshCanvasDimensions(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(j(()=>this._canvas?.remove()));let c=this._canvas.getContext(`2d`);if(c)this._ctx=c;else throw Error(`Ctx cannot be null`);this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?`none`:`block`})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange(`overviewRuler`,()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);Wi.full=this._canvas.width,Wi.left=e,Wi.center=t,Wi.right=e,this._refreshDrawHeightConstants(),Gi.full=1,Gi.left=1,Gi.center=1+Wi.left,Gi.right=1+Wi.left+Wi.center}_refreshDrawHeightConstants(){Ui.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);Ui.left=t,Ui.center=t,Ui.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Ui.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Ui.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Ui.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Ui.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!==`full`&&this._renderColorZone(t);for(let t of e)t.position===`full`&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(Gi[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Ui[e.position||`full`]/2),Wi[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Ui[e.position||`full`]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};Ki=O([k(2,Xe),k(3,at),k(4,dt),k(5,nt),k(6,mt),k(7,lt)],Ki);var R;(e=>(e.NUL=`\0`,e.SOH=``,e.STX=``,e.ETX=``,e.EOT=``,e.ENQ=``,e.ACK=``,e.BEL=`\x07`,e.BS=`\b`,e.HT=` `,e.LF=` -`,e.VT=`\v`,e.FF=`\f`,e.CR=`\r`,e.SO=``,e.SI=``,e.DLE=``,e.DC1=``,e.DC2=``,e.DC3=``,e.DC4=``,e.NAK=``,e.SYN=``,e.ETB=``,e.CAN=``,e.EM=``,e.SUB=``,e.ESC=`\x1B`,e.FS=``,e.GS=``,e.RS=``,e.US=``,e.SP=` `,e.DEL=``))(R||={});var qi;(e=>(e.PAD=`€`,e.HOP=``,e.BPH=`‚`,e.NBH=`ƒ`,e.IND=`„`,e.NEL=`…`,e.SSA=`†`,e.ESA=`‡`,e.HTS=`ˆ`,e.HTJ=`‰`,e.VTS=`Š`,e.PLD=`‹`,e.PLU=`Œ`,e.RI=``,e.SS2=`Ž`,e.SS3=``,e.DCS=``,e.PU1=`‘`,e.PU2=`’`,e.STS=`“`,e.CCH=`”`,e.MW=`•`,e.SPA=`–`,e.EPA=`—`,e.SOS=`˜`,e.SGCI=`™`,e.SCI=`š`,e.CSI=`›`,e.ST=`œ`,e.OSC=``,e.PM=`ž`,e.APC=`Ÿ`))(qi||={});var Ji;(e=>e.ST=`${R.ESC}\\`)(Ji||={});var Yi=class{constructor(e,t,n,r,i,a){this._textarea=e,this._compositionView=t,this._bufferService=n,this._optionsService=r,this._coreService=i,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=``}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=``,this._dataAlreadySent=``,this._compositionView.classList.add(`active`)}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(e){if(this._compositionView.classList.remove(`active`),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let t;e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,n=t.replace(e,``);this._dataAlreadySent=n,t.length>e.length?this._coreService.triggerDataEvent(n,!0):t.lengththis.updateCompositionElements(!0),0)}}};Yi=O([k(2,Xe),k(3,nt),k(4,Qe),k(5,dt)],Yi);var z=0,B=0,V=0,H=0,Xi={css:`#00000000`,rgba:0},U;(e=>{function t(e,t,n,r){return r===void 0?`#${$i(e)}${$i(t)}${$i(n)}`:`#${$i(e)}${$i(t)}${$i(n)}${$i(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(U||={});var W;(e=>{function t(e,t){if(H=(t.rgba&255)/255,H===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return z=a+Math.round((n-a)*H),B=o+Math.round((r-o)*H),V=s+Math.round((i-s)*H),{css:U.toCss(z,B,V),rgba:U.toRgba(z,B,V)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=Qi.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return U.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[z,B,V]=Qi.toChannels(t),{css:U.toCss(z,B,V),rgba:t}}e.opaque=i;function a(e,t){return H=Math.round(t*255),[z,B,V]=Qi.toChannels(e.rgba),{css:U.toCss(z,B,V,H),rgba:U.toRgba(z,B,V,H)}}e.opacity=a;function o(e,t){return H=e.rgba&255,a(e,H*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(W||={});var G;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return z=parseInt(e.slice(1,2).repeat(2),16),B=parseInt(e.slice(2,3).repeat(2),16),V=parseInt(e.slice(3,4).repeat(2),16),U.toColor(z,B,V);case 5:return z=parseInt(e.slice(1,2).repeat(2),16),B=parseInt(e.slice(2,3).repeat(2),16),V=parseInt(e.slice(3,4).repeat(2),16),H=parseInt(e.slice(4,5).repeat(2),16),U.toColor(z,B,V,H);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return z=parseInt(r[1]),B=parseInt(r[2]),V=parseInt(r[3]),H=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),U.toColor(z,B,V,H);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[z,B,V,H]=t.getImageData(0,0,1,1).data,H!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:U.toRgba(z,B,V,H),css:e}}e.toColor=r})(G||={});var Zi;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(Zi||={});var Qi;(e=>{function t(e,t){if(H=(t&255)/255,H===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return z=a+Math.round((n-a)*H),B=o+Math.round((r-o)*H),V=s+Math.round((i-s)*H),U.toRgba(z,B,V)}e.blend=t;function n(e,t,n){let a=Zi.relativeLuminance(e>>8),o=Zi.relativeLuminance(t>>8);if(ea(a,o)>8));if(sea(a,Zi.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=ea(a,Zi.relativeLuminance(s>>8));if(cea(a,Zi.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=ea(Zi.relativeLuminance2(o,s,c),Zi.relativeLuminance2(r,i,a));for(;l0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=ea(Zi.relativeLuminance2(o,s,c),Zi.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=ea(Zi.relativeLuminance2(o,s,c),Zi.relativeLuminance2(r,i,a));for(;l>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})(Qi||={});function $i(e){let t=e.toString(16);return t.length<2?`0`+t:t}function ea(e,t){return e1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t=ae,ce=S,w=this._workCell;if(f.length>0&&S===f[0][0]&&C){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v=r[1],C?(se=!0,w=new ta(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),ce=r[1]-1,m=w.getWidth()):ae=r[1]}let le=this._isCellInSelection(S,t),ue=n&&S===a,T=oe&&S>=l&&S<=u,de=!1;this._decorationService.forEachDecorationAtCell(S,t,void 0,e=>{de=!0});let E=w.getChars()||Ve;if(E===` `&&(w.isUnderline()||w.isOverline())&&(E=`\xA0`),ie=m*s-c.get(E,w.isBold(),w.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(le&&b||!le&&!b&&w.bg===y)&&(le&&b&&p.selectionForeground||w.fg===ee)&&w.extended.ext===te&&T===ne&&ie===re&&!ue&&!se&&!de&&C){w.isInvisible()?_+=Ve:_+=E,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(y=w.bg,ee=w.fg,te=w.extended.ext,ne=T,re=ie,b=le,se&&a>=S&&a<=ce&&(a=S),!this._coreService.isCursorHidden&&ue&&this._coreService.isCursorInitialized){if(x.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&x.push(`xterm-cursor-blink`),x.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:x.push(`xterm-cursor-outline`);break;case`block`:x.push(`xterm-cursor-block`);break;case`bar`:x.push(`xterm-cursor-bar`);break;case`underline`:x.push(`xterm-cursor-underline`);break;default:break}}if(w.isBold()&&x.push(`xterm-bold`),w.isItalic()&&x.push(`xterm-italic`),w.isDim()&&x.push(`xterm-dim`),_=w.isInvisible()?Ve:w.getChars()||Ve,w.isUnderline()&&(x.push(`xterm-underline-${w.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!w.isUnderlineColorDefault()))if(w.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${He.toColorRGB(w.getUnderlineColor()).join(`,`)})`;else{let e=w.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&w.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}w.isOverline()&&(x.push(`xterm-overline`),_===` `&&(_=`\xA0`)),w.isStrikethrough()&&x.push(`xterm-strikethrough`),T&&(h.style.textDecoration=`underline`);let D=w.getFgColor(),fe=w.getFgColorMode(),pe=w.getBgColor(),me=w.getBgColorMode(),he=!!w.isInverse();if(he){let e=D;D=pe,pe=e;let t=fe;fe=me,me=t}let ge,_e,ve=!1;this._decorationService.forEachDecorationAtCell(S,t,void 0,e=>{e.options.layer!==`top`&&ve||(e.backgroundColorRGB&&(me=50331648,pe=e.backgroundColorRGB.rgba>>8&16777215,ge=e.backgroundColorRGB),e.foregroundColorRGB&&(fe=50331648,D=e.foregroundColorRGB.rgba>>8&16777215,_e=e.foregroundColorRGB),ve=e.options.layer===`top`)}),!ve&&le&&(ge=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,pe=ge.rgba>>8&16777215,me=50331648,ve=!0,p.selectionForeground&&(fe=50331648,D=p.selectionForeground.rgba>>8&16777215,_e=p.selectionForeground)),ve&&x.push(`xterm-decoration-top`);let ye;switch(me){case 16777216:case 33554432:ye=p.ansi[pe],x.push(`xterm-bg-${pe}`);break;case 50331648:ye=U.toColor(pe>>16,pe>>8&255,pe&255),this._addStyle(h,`background-color:#${la((pe>>>0).toString(16),`0`,6)}`);break;default:he?(ye=p.foreground,x.push(`xterm-bg-257`)):ye=p.background}switch(ge||w.isDim()&&(ge=W.multiplyOpacity(ye,.5)),fe){case 16777216:case 33554432:w.isBold()&&D<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(D+=8),this._applyMinimumContrast(h,ye,p.ansi[D],w,ge,void 0)||x.push(`xterm-fg-${D}`);break;case 50331648:let e=U.toColor(D>>16&255,D>>8&255,D&255);this._applyMinimumContrast(h,ye,e,w,ge,_e)||this._addStyle(h,`color:#${la(D.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,ye,p.foreground,w,ge,_e)||he&&x.push(`xterm-fg-257`)}x.length&&=(h.className=x.join(` `),0),!ue&&!se&&!de&&C?g++:h.textContent=_,ie!==this.defaultSpacing&&(h.style.letterSpacing=`${ie}px`),d.push(h),S=ce}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||aa(r.getCode()))return!1;let o=this._getContrastCache(r),s;if(!i&&!a&&(s=o.getColor(t.rgba,n.rgba)),s===void 0){let e=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);s=W.ensureContrastRatio(i||t,a||n,e),o.setColor((i||t).rgba,(a||n).rgba,s??null)}return s?(this._addStyle(e,`color:${s.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(`style`,`${e.getAttribute(`style`)||``}${t};`)}_isCellInSelection(e,t){let n=this._selectionStart,r=this._selectionEnd;return!n||!r?!1:this._columnSelectMode?n[0]<=r[0]?e>=n[0]&&t>=n[1]&&e=n[1]&&e>=r[0]&&t<=r[1]:t>n[1]&&t=n[0]&&e=n[0]}};ca=O([k(1,pt),k(2,nt),k(3,lt),k(4,Qe),k(5,at),k(6,mt)],ca);function la(e,t,n){for(;e.length0&&(this._flat[r]=t),t}let i=e;t&&(i+=`B`),n&&(i+=`I`);let a=this._holey.get(i);if(a===void 0){let r=0;t&&(r|=1),n&&(r|=2),a=this._measure(e,r),a>0&&this._holey.set(i,a)}return a}_measure(e,t){let n=this._measureElements[t];return n.textContent=e.repeat(32),n.offsetWidth/32}},da=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);if(s>=e.rows||c<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0]}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n=this.startCol&&t=this.startCol):!1}};function fa(){return new da}var pa=`xterm-dom-renderer-owner-`,ma=`xterm-rows`,ha=`xterm-fg-`,ga=`xterm-bg-`,_a=`xterm-focus`,va=`xterm-selection`,ya=1,ba=class extends M{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(),this._terminal=e,this._document=t,this._element=n,this._screenElement=r,this._viewportElement=i,this._helperContainer=a,this._linkifier2=o,this._charSizeService=c,this._optionsService=l,this._bufferService=u,this._coreService=d,this._coreBrowserService=f,this._themeService=p,this._terminalClass=ya++,this._rowElements=[],this._selectionRenderModel=fa(),this.onRequestRedraw=this._register(new F).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(ma),this._rowContainer.style.lineHeight=`normal`,this._rowContainer.setAttribute(`aria-hidden`,`true`),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement(`div`),this._selectionContainer.classList.add(va),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=oa(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(e=>this._injectCss(e))),this._injectCss(this._themeService.colors),this._rowFactory=s.createInstance(ca,document),this._element.classList.add(pa+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(e=>this._handleLinkHover(e))),this._register(this._linkifier2.onHideLinkUnderline(e=>this._handleLinkLeave(e))),this._register(j(()=>{this._element.classList.remove(pa+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new ua(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=`hidden`;this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${ma} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${ma} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${ma} .xterm-dim { color: ${W.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let n=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,i=`blink_block_${this._terminalClass}`;t+=`@keyframes ${n} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${r} { 50% { box-shadow: none; }}`,t+=`@keyframes ${i} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${ma}.${_a} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${ma}.${_a} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${ma}.${_a} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${ma} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${ma} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${ma} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${ma} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${ma} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${va} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${va} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${va} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${ha}${n} { color: ${r.css}; }${this._terminalSelector} .${ha}${n}.xterm-dim { color: ${W.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${ga}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${ha}257 { color: ${W.opaque(e.background).css}; }${this._terminalSelector} .${ha}257.xterm-dim { color: ${W.multiplyOpacity(W.opaque(e.background),.5).css}; }${this._terminalSelector} .${ga}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get(`W`,!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){let e=this._document.createElement(`div`);this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(_a),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(_a),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,n){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,n),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,n),!this._selectionRenderModel.hasSelection))return;let r=this._selectionRenderModel.viewportStartRow,i=this._selectionRenderModel.viewportEndRow,a=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,s=this._document.createDocumentFragment();if(n){let n=e[0]>t[0];s.appendChild(this._createSelectionElement(a,n?t[0]:e[0],n?e[0]:t[0],o-a+1))}else{let n=r===a?e[0]:0,c=a===i?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(a,n,c));let l=o-a-1;if(s.appendChild(this._createSelectionElement(a+1,0,this._bufferService.cols,l)),a!==o){let e=i===o?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(s)}_createSelectionElement(e,t,n,r=1){let i=this._document.createElement(`div`),a=t*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(n-t);return a+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-a),i.style.height=`${r*this.dimensions.css.cell.height}px`,i.style.top=`${e*this.dimensions.css.cell.height}px`,i.style.left=`${a}px`,i.style.width=`${o}px`,i}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let n=this._bufferService.buffer,r=n.ybase+n.y,i=Math.min(n.x,this._bufferService.cols-1),a=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,s=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=t;c++){let e=c+n.ydisp,t=this._rowElements[c],l=n.lines.get(e);if(!t||!l)break;t.replaceChildren(...this._rowFactory.createRow(l,e,e===r,o,s,i,a,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${pa}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,n,r,i,a){n<0&&(e=0),r<0&&(t=0);let o=this._bufferService.rows-1;n=Math.max(Math.min(n,o),0),r=Math.max(Math.min(r,o),0),i=Math.min(i,this._bufferService.cols);let s=this._bufferService.buffer,c=s.ybase+s.y,l=Math.min(s.x,i-1),u=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=n;o<=r;++o){let p=o+s.ydisp,m=this._rowElements[o],h=s.lines.get(p);if(!m||!h)break;m.replaceChildren(...this._rowFactory.createRow(h,p,p===c,d,f,l,u,this.dimensions.css.cell.width,this._widthCache,a?o===n?e:0:-1,a?(o===r?t:i)-1:-1))}}};ba=O([k(7,et),k(8,ct),k(9,nt),k(10,Xe),k(11,Qe),k(12,lt),k(13,mt)],ba);var xa=class extends M{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new F),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new wa(this._optionsService))}catch{this._measureStrategy=this._register(new Ca(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([`fontFamily`,`fontSize`],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};xa=O([k(2,nt)],xa);var Sa=class extends M{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},Ca=class extends Sa{constructor(e,t,n){super(),this._document=e,this._parentElement=t,this._optionsService=n,this._measureElement=this._document.createElement(`span`),this._measureElement.classList.add(`xterm-char-measure-element`),this._measureElement.textContent=`W`.repeat(32),this._measureElement.setAttribute(`aria-hidden`,`true`),this._measureElement.style.whiteSpace=`pre`,this._measureElement.style.fontKerning=`none`,this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},wa=class extends Sa{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(`2d`);let t=this._ctx.measureText(`W`);if(!(`width`in t&&`fontBoundingBoxAscent`in t&&`fontBoundingBoxDescent`in t))throw Error(`Required font metrics not supported`)}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText(`W`);return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},Ta=class extends M{constructor(e,t,n){super(),this._textarea=e,this._window=t,this.mainDocument=n,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Ea(this._window)),this._onDprChange=this._register(new F),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new F),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(P.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(I(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(I(this._textarea,`blur`,()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},Ea=class extends M{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new Jt),this._onDprChange=this._register(new F),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(j(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=I(this._parentWindow,`resize`,()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},Da=class extends M{constructor(){super(),this.linkProviders=[],this._register(j(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function Oa(e,t,n){let r=n.getBoundingClientRect(),i=e.getComputedStyle(n),a=parseInt(i.getPropertyValue(`padding-left`)),o=parseInt(i.getPropertyValue(`padding-top`));return[t.clientX-r.left-a,t.clientY-r.top-o]}function ka(e,t,n,r,i,a,o,s,c){if(!a)return;let l=Oa(e,t,n);if(l)return l[0]=Math.ceil((l[0]+(c?o/2:0))/o),l[1]=Math.ceil(l[1]/s),l[0]=Math.min(Math.max(l[0],1),r+ +!!c),l[1]=Math.min(Math.max(l[1],1),i),l}var Aa=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return ka(window,e,t,n,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,i)}getMouseReportCoords(e,t){let n=Oa(window,e,t);if(this._charSizeService.hasValidSize)return n[0]=Math.min(Math.max(n[0],0),this._renderService.dimensions.css.canvas.width-1),n[1]=Math.min(Math.max(n[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(n[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(n[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(n[0]),y:Math.floor(n[1])}}};Aa=O([k(0,dt),k(1,ct)],Aa);var ja=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()),this._animationFrame}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t),!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},Ma={};we(Ma,{getSafariVersion:()=>za,isChromeOS:()=>Ga,isFirefox:()=>Ia,isIpad:()=>Va,isIphone:()=>Ha,isLegacyEdge:()=>La,isLinux:()=>Wa,isMac:()=>Ba,isNode:()=>Na,isSafari:()=>Ra,isWindows:()=>Ua});var Na=typeof process<`u`&&`title`in process,Pa=Na?`node`:navigator.userAgent,Fa=Na?`node`:navigator.platform,Ia=Pa.includes(`Firefox`),La=Pa.includes(`Edge`),Ra=/^((?!chrome|android).)*safari/i.test(Pa);function za(){if(!Ra)return 0;let e=Pa.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var Ba=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(Fa),Va=Fa===`iPad`,Ha=Fa===`iPhone`,Ua=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(Fa),Wa=Fa.indexOf(`Linux`)>=0,Ga=/\bCrOS\b/.test(Pa),Ka=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._ii){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},qa=class extends Ka{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},Ja=class extends Ka{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},Ya=!Na&&`requestIdleCallback`in window?Ja:qa,Xa=class{constructor(){this._queue=new Ya}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},Za=class extends M{constructor(e,t,n,r,i,a,o,s,c){super(),this._rowCount=e,this._optionsService=n,this._charSizeService=r,this._coreService=i,this._coreBrowserService=s,this._renderer=this._register(new Jt),this._pausedResizeTask=new Xa,this._observerDisposable=this._register(new Jt),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new F),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new F),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new F),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new F),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new ja((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new Qa(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(j(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(a.onDecorationRegistered(()=>this._fullRefresh())),this._register(a.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange([`customGlyphs`,`drawBoldTextInBrightColors`,`letterSpacing`,`lineHeight`,`fontFamily`,`fontSize`,`fontWeight`,`fontWeightBold`,`minimumContrastRatio`,`rescaleOverlappingGlyphs`],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange([`cursorBlink`,`cursorStyle`],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(e=>this._registerIntersectionObserver(e,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if(`IntersectionObserver`in e){let n=new e.IntersectionObserver(e=>this._handleIntersectionChange(e[e.length-1]),{threshold:0});n.observe(t),this._observerDisposable.value=j(()=>n.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,n=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let r=this._syncOutputHandler.flush();r&&(e=Math.min(e,r.start),t=Math.max(t,r.end)),n||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&=(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,t)):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,n){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=n,this._renderer.value?.handleSelectionChanged(e,t,n)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};Za=O([k(2,nt),k(3,ct),k(4,Qe),k(5,at),k(6,Xe),k(7,lt),k(8,mt)],Za);var Qa=class{constructor(e,t,n){this._coreBrowserService=e,this._coreService=t,this._onTimeout=n,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function $a(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return no(i,a,e,t,n,r)+ro(a,t,n,r)+io(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,fo(Math.abs(i-e),uo(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return fo(to(a>t?e:i,n)+(s-1)*n.cols+1+eo(a>t?i:e,n),uo(o,r))}function eo(e,t){return e-1}function to(e,t){return t.cols-e}function no(e,t,n,r,i,a){return ro(t,r,i,a).length===0?``:fo(lo(e,t,e,t-oo(t,i),!1,i).length,uo(`D`,a))}function ro(e,t,n,r){let i=e-oo(e,n),a=t-oo(t,n);return fo(Math.abs(i-a)-ao(e,t,n),uo(co(e,t),r))}function io(e,t,n,r,i,a){let o;o=ro(t,r,i,a).length>0?r-oo(r,i):t;let s=r,c=so(e,t,n,r,i,a);return fo(lo(e,o,n,s,c===`C`,i).length,uo(c,a))}function ao(e,t,n){let r=0,i=e-oo(e,n),a=t-oo(t,n);for(let o=0;o=0&&e0?r-oo(r,i):t,e=n&&ot?`A`:`B`}function lo(e,t,n,r,i,a){let o=e,s=t,c=``;for(;(o!==n||s!==r)&&s>=0&&sa.cols-1?(c+=a.buffer.translateBufferLineToString(s,!1,e,o),o=0,e=0,s++):!i&&o<0&&(c+=a.buffer.translateBufferLineToString(s,!1,0,e+1),o=a.cols-1,e=o,s--);return c+a.buffer.translateBufferLineToString(s,!1,e,o)}function uo(e,t){let n=t?`O`:`[`;return R.ESC+n+e}function fo(e,t){e=Math.floor(e);let n=``;for(let r=0;rthis._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function mo(e,t){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var ho=50,go=15,_o=50,vo=500,yo=RegExp(`\xA0`,`g`),bo=class extends M{constructor(e,t,n,r,i,a,o,s,c){super(),this._element=e,this._screenElement=t,this._linkifier=n,this._bufferService=r,this._coreService=i,this._mouseService=a,this._optionsService=o,this._renderService=s,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new We,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new F),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new F),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new F),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new F),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(e=>this._handleTrim(e)),this._register(this._bufferService.buffers.onBufferActivate(e=>this._handleBufferActivate(e))),this.enable(),this._model=new po(this._bufferService),this._activeSelectionMode=0,this._register(j(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(e=>{e.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return``;let n=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return``;let i=e[0]e.replace(yo,` `)).join(Ua?`\r -`:` -`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),Wa&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r||!t?!1:this._areCoordsInSelection(t,n,r)}isCellInSelection(e,t){let n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r?!1:this._areCoordsInSelection([e,t],n,r)}_areCoordsInSelection(e,t,n){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]}_selectWordAtCursor(e,t){let n=this._linkifier.currentLink?.link?.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=mo(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(e);return r?(this._selectWordAt(r,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=Oa(this._coreBrowserService.window,e,this._screenElement)[1],n=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=n?0:(t>n&&(t-=n),t=Math.min(Math.max(t,-ho),ho),t/=ho,t/Math.abs(t)+Math.round(t*(go-1)))}shouldForceSelection(e){return Ba?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener(`mouseup`,this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),_o)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener(`mousemove`,this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener(`mouseup`,this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(Ba&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let n=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&tthis._handleTrim(e))}_convertViewportColToCharacterIndex(e,t){let n=t;for(let r=0;t>=r;r++){let i=e.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?n--:i>1&&t!==r&&(n+=i-1)}return n}setSelection(e,t,n){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=n,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,n=!0,r=!0){if(e[0]>=this._bufferService.cols)return;let i=this._bufferService.buffer,a=i.lines.get(e[1]);if(!a)return;let o=i.translateBufferLineToString(e[1],!1),s=this._convertViewportColToCharacterIndex(a,e[0]),c=s,l=e[0]-s,u=0,d=0,f=0,p=0;if(o.charAt(s)===` `){for(;s>0&&o.charAt(s-1)===` `;)s--;for(;c1&&(p+=r-1,c+=r-1);t>0&&s>0&&!this._isCharWordSeparator(a.loadCell(t-1,this._workCell));){a.loadCell(t-1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,t--):e>1&&(f+=e-1,s-=e-1),s--,t--}for(;n1&&(p+=e-1,c+=e-1),c++,n++}}c++;let m=s+l-u+f,h=Math.min(this._bufferService.cols,c-s+u+d-f-p);if(!(!t&&o.slice(s,c).trim()===``)){if(n&&m===0&&a.getCodePoint(0)!==32){let t=i.lines.get(e[1]-1);if(t&&a.isWrapped&&t.getCodePoint(this._bufferService.cols-1)!==32){let t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){let e=this._bufferService.cols-t.start;m-=e,h+=e}}}if(r&&m+h===this._bufferService.cols&&a.getCodePoint(this._bufferService.cols-1)!==32){let t=i.lines.get(e[1]+1);if(t?.isWrapped&&t.getCodePoint(0)!==32){let t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(h+=t.length)}}return{start:m,length:h}}}_selectWordAt(e,t){let n=this._getWordAt(e,t);if(n){for(;n.start<0;)n.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[n.start,e[1]],this._model.selectionStartLength=n.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let n=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,n--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,n++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,n]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),n={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=mo(n,this._bufferService.cols)}};bo=O([k(3,Xe),k(4,Qe),k(5,ut),k(6,nt),k(7,dt),k(8,lt)],bo);var xo=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},So=class{constructor(){this._color=new xo,this._css=new xo}setCss(e,t,n){this._css.set(e,t,n)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,n){this._color.set(e,t,n)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},K=Object.freeze((()=>{let e=[G.toColor(`#2e3436`),G.toColor(`#cc0000`),G.toColor(`#4e9a06`),G.toColor(`#c4a000`),G.toColor(`#3465a4`),G.toColor(`#75507b`),G.toColor(`#06989a`),G.toColor(`#d3d7cf`),G.toColor(`#555753`),G.toColor(`#ef2929`),G.toColor(`#8ae234`),G.toColor(`#fce94f`),G.toColor(`#729fcf`),G.toColor(`#ad7fa8`),G.toColor(`#34e2e2`),G.toColor(`#eeeeec`)],t=[0,95,135,175,215,255];for(let n=0;n<216;n++){let r=t[n/36%6|0],i=t[n/6%6|0],a=t[n%6];e.push({css:U.toCss(r,i,a),rgba:U.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:U.toCss(n,n,n),rgba:U.toRgba(n,n,n)})}return e})()),Co=G.toColor(`#ffffff`),wo=G.toColor(`#000000`),To=G.toColor(`#ffffff`),Eo=wo,Do={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},Oo=Co,ko=class extends M{constructor(e){super(),this._optionsService=e,this._contrastCache=new So,this._halfContrastCache=new So,this._onChangeColors=this._register(new F),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:Co,background:wo,cursor:To,cursorAccent:Eo,selectionForeground:void 0,selectionBackgroundTransparent:Do,selectionBackgroundOpaque:W.blend(wo,Do),selectionInactiveBackgroundTransparent:Do,selectionInactiveBackgroundOpaque:W.blend(wo,Do),scrollbarSliderBackground:W.opacity(Co,.2),scrollbarSliderHoverBackground:W.opacity(Co,.4),scrollbarSliderActiveBackground:W.opacity(Co,.5),overviewRulerBorder:Co,ansi:K.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange(`minimumContrastRatio`,()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange(`theme`,()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=q(e.foreground,Co),t.background=q(e.background,wo),t.cursor=W.blend(t.background,q(e.cursor,To)),t.cursorAccent=W.blend(t.background,q(e.cursorAccent,Eo)),t.selectionBackgroundTransparent=q(e.selectionBackground,Do),t.selectionBackgroundOpaque=W.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=q(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=W.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?q(e.selectionForeground,Xi):void 0,t.selectionForeground===Xi&&(t.selectionForeground=void 0),W.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=W.opacity(t.selectionBackgroundTransparent,.3)),W.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=W.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=q(e.scrollbarSliderBackground,W.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=q(e.scrollbarSliderHoverBackground,W.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=q(e.scrollbarSliderActiveBackground,W.opacity(t.foreground,.5)),t.overviewRulerBorder=q(e.overviewRulerBorder,Oo),t.ansi=K.slice(),t.ansi[0]=q(e.black,K[0]),t.ansi[1]=q(e.red,K[1]),t.ansi[2]=q(e.green,K[2]),t.ansi[3]=q(e.yellow,K[3]),t.ansi[4]=q(e.blue,K[4]),t.ansi[5]=q(e.magenta,K[5]),t.ansi[6]=q(e.cyan,K[6]),t.ansi[7]=q(e.white,K[7]),t.ansi[8]=q(e.brightBlack,K[8]),t.ansi[9]=q(e.brightRed,K[9]),t.ansi[10]=q(e.brightGreen,K[10]),t.ansi[11]=q(e.brightYellow,K[11]),t.ansi[12]=q(e.brightBlue,K[12]),t.ansi[13]=q(e.brightMagenta,K[13]),t.ansi[14]=q(e.brightCyan,K[14]),t.ansi[15]=q(e.brightWhite,K[15]),e.extendedAnsi){let n=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let r=0;re.index-t.index),r=[];for(let t of n){let n=this._services.get(t.id);if(!n)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);r.push(n)}let i=n.length>0?n[0].index:t.length;if(t.length!==i)throw Error(`[createInstance] First service dependency of ${e.name} at position ${i+1} conflicts with ${t.length} static arguments`);return new e(...t,...r)}},Mo={trace:0,debug:1,info:2,warn:3,error:4,off:5},No=`xterm.js: `,Po=class extends M{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),Fo=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Mo[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;tthis._length)for(let t=this._length;t=e;t--)this._array[this._getCyclicIndex(t+n.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;tthis._maxLength){let e=this._length+n.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=n.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,n){if(!(t<=0)){if(e<0||e>=this._length)throw Error(`start argument out of range`);if(e+n<0)throw Error(`Cannot shift elements in list beyond index 0`);if(n>0){for(let r=t-1;r>=0;r--)this.set(e+r+n,this.get(e+r));let r=e+t+n-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*J+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*J+0]=e|2097152|t[2]<<22):this._data[e*J+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*J+0]>>22}hasWidth(e){return this._data[e*J+0]&12582912}getFg(e){return this._data[e*J+1]}getBg(e){return this._data[e*J+2]}hasContent(e){return this._data[e*J+0]&4194303}getCodePoint(e){let t=this._data[e*J+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*J+0]&2097152}getString(e){let t=this._data[e*J+0];return t&2097152?this._combined[e]:t&2097151?Ie(t&2097151):``}isProtected(e){return this._data[e*J+2]&536870912}loadCell(e,t){return Lo=e*J,t.content=this._data[Lo+0],t.fg=this._data[Lo+1],t.bg=this._data[Lo+2],t.content&2097152&&(t.combinedData=this._combined[e]),t.bg&268435456&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){t.content&2097152&&(this._combined[e]=t.combinedData),t.bg&268435456&&(this._extendedAttrs[e]=t.extended),this._data[e*J+0]=t.content,this._data[e*J+1]=t.fg,this._data[e*J+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*J+0]=t|n<<22,this._data[e*J+1]=r.fg,this._data[e*J+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*J+0];r&2097152?this._combined[e]+=Ie(t):r&2097151?(this._combined[e]=Ie(r&2097151)+Ie(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*J+0]=r}insertCells(e,t,n){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t=0;--n)this.setCell(e+t+n,this.loadCell(e+n,r));for(let r=0;rthis.length){if(this._data.buffer.byteLength>=n*4)this._data=new Uint32Array(this._data.buffer,0,n);else{let e=new Uint32Array(n);e.set(this._data),this._data=e}for(let n=this.length;n=e&&delete this._combined[r]}let r=Object.keys(this._extendedAttrs);for(let t=0;t=e&&delete this._extendedAttrs[n]}}return this.length=e,n*4*Ro=0;--e)if(this._data[e*J+0]&4194303)return e+(this._data[e*J+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*J+0]&4194303||this._data[e*J+2]&50331648)return e+(this._data[e*J+0]>>22);return 0}copyCellsFrom(e,t,n,r,i){let a=e._data;if(i)for(let i=r-1;i>=0;i--){for(let e=0;e=t&&(this._combined[i-t+n]=e._combined[i])}}translateToString(e,t,n,r){t??=0,n??=this.length,e&&(n=Math.min(n,this.getTrimmedLength())),r&&(r.length=0);let i=``;for(;t>22||1}return r&&r.push(t),i}};function Bo(e,t,n,r,i,a){let o=[];for(let s=0;s=s&&r0&&(e>d||u[e].getTrimmedLength()===0);e--)h++;h>0&&(o.push(s+u.length-h),o.push(h)),s+=u.length-1}return o}function Vo(e,t){let n=[],r=0,i=t[r],a=0;for(let o=0;oWo(e,r,t)).reduce((e,t)=>e+t),a=0,o=0,s=0;for(;sc&&(a-=c,o++);let l=e[o].getWidth(a-1)===2;l&&a--;let u=l?n-1:n;r.push(u),s+=u}return r}function Wo(e,t,n){if(t===e.length-1)return e[t].getTrimmedLength();let r=!e[t].hasContent(n-1)&&e[t].getWidth(n-1)===1,i=e[t+1].getWidth(0)===2;return r&&i?n-1:n}var Go=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new F),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Wt(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};Go._nextId=1;var Ko=Go,X={},qo=X.B;X[0]={"`":`◆`,a:`▒`,b:`␉`,c:`␌`,d:`␍`,e:`␊`,f:`°`,g:`±`,h:`␤`,i:`␋`,j:`┘`,k:`┐`,l:`┌`,m:`└`,n:`┼`,o:`⎺`,p:`⎻`,q:`─`,r:`⎼`,s:`⎽`,t:`├`,u:`┤`,v:`┴`,w:`┬`,x:`│`,y:`≤`,z:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},X.A={"#":`£`},X.B=void 0,X[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},X.C=X[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},X.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},X.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},X.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},X.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},X.E=X[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},X.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},X.H=X[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},X[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var Jo=4294967295,Yo=class{constructor(e,t,n){this._hasScrollback=e,this._optionsService=t,this._bufferService=n,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=Y.clone(),this.savedCharset=qo,this.markers=[],this._nullCell=We.fromCharData([0,Be,1,0]),this._whitespaceCell=We.fromCharData([0,Ve,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new Ya,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Io(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new Ue),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new Ue),this._whitespaceCell}getBlankLine(e,t){return new zo(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&eJo?Jo:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=Y);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new Io(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(Y),r=0,i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+a+1?(this.ybase--,a++,this.ydisp>0&&this.ydisp--):this.lines.push(new zo(e,n)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),a&&(this.y+=a),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend===`conpty`&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=Bo(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(Y),n);if(r.length>0){let n=Vo(this.lines,r);Ho(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(Y),i=n;for(;i-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length=0;o--){let s=this.lines.get(o);if(!s||!s.isWrapped&&s.getTrimmedLength()<=e)continue;let c=[s];for(;s.isWrapped&&o>0;)s=this.lines.get(--o),c.unshift(s);if(!n){let e=this.ybase+this.y;if(e>=o&&e0&&(i.push({start:o+c.length+a,newLines:p}),a+=p.length),c.push(...p);let m=u.length-1,h=u[m];h===0&&(m--,h=u[m]);let g=c.length-d-1,_=l;for(;g>=0;){let e=Math.min(_,h);if(c[m]===void 0)break;c[m].copyCellsFrom(c[g],_-e,h-e,e,!0),h-=e,h===0&&(m--,h=u[m]),_-=e,_===0&&(g--,_=Wo(c,Math.max(g,0),this._cols))}for(let t=0;t0;)this.ybase===0?this.y0){let e=[],t=[];for(let e=0;e=0;l--)if(s&&s.start>r+c){for(let e=s.newLines.length-1;e>=0;e--)this.lines.set(l--,s.newLines[e]);l++,e.push({index:r+1,amount:s.newLines.length}),c+=s.newLines.length,s=i[++o]}else this.lines.set(l,t[r--]);let l=0;for(let t=e.length-1;t>=0;t--)e[t].index+=l,this.lines.onInsertEmitter.fire(e[t]),l+=e[t].amount;let u=Math.max(0,n+a-this.lines.maxLength);u>0&&this.lines.onTrimEmitter.fire(u)}}translateBufferLineToString(e,t,n=0,r){let i=this.lines.get(e);return i?i.translateToString(t,n,r):``}getWrappedRangeForLine(e){let t=e,n=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;n+10;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e??=this.x;!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t{t.line-=e,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(e=>{t.line>=e.index&&(t.line+=e.amount)})),t.register(this.lines.onDelete(e=>{t.line>=e.index&&t.linee.index&&(t.line-=e.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},Xo=class extends M{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new F),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange(`scrollback`,()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange(`tabStopWidth`,()=>this.setupTabStops()))}reset(){this._normal=new Yo(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new Yo(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},Zo=2,Qo=1,$o=class extends M{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new F),this.onResize=this._onResize.event,this._onScroll=this._register(new F),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,Zo),this.rows=Math.max(e.rawOptions.rows||0,Qo),this.buffers=this._register(new Xo(e,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let n=this.cols!==e,r=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:n,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let n=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==e.fg||r.getBg(0)!==e.bg)&&(r=n.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;let i=n.ybase+n.scrollTop,a=n.ybase+n.scrollBottom;if(n.scrollTop===0){let e=n.lines.isFull;a===n.lines.length-1?e?n.lines.recycle().copyFrom(r):n.lines.push(r.clone()):n.lines.splice(a+1,0,r.clone()),e?this.isUserScrolling&&(n.ydisp=Math.max(n.ydisp-1,0)):(n.ybase++,this.isUserScrolling||n.ydisp++)}else{let e=a-i+1;n.lines.shiftElements(i+1,e-1,-1),n.lines.set(a,r.clone())}this.isUserScrolling||(n.ydisp=n.ybase),this._onScroll.fire(n.ydisp)}scrollLines(e,t){let n=this.buffer;if(e<0){if(n.ydisp===0)return;this.isUserScrolling=!0}else e+n.ydisp>=n.ybase&&(this.isUserScrolling=!1);let r=n.ydisp;n.ydisp=Math.max(Math.min(n.ydisp+e,n.ybase),0),r!==n.ydisp&&(t||this._onScroll.fire(n.ydisp))}};$o=O([k(0,nt)],$o);var es={cols:80,rows:24,cursorBlink:!1,cursorStyle:`block`,cursorWidth:1,cursorInactiveStyle:`outline`,customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:`alt`,fastScrollSensitivity:5,fontFamily:`monospace`,fontSize:15,fontWeight:`normal`,fontWeightBold:`bold`,ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:`info`,logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:Ba,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},ts=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],ns=class extends M{constructor(e){super(),this._onOptionChange=this._register(new F),this.onOptionChange=this._onOptionChange.event;let t={...es};for(let n in e)if(n in t)try{let r=e[n];t[n]=this._sanitizeAndValidateOption(n,r)}catch(e){console.error(e)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(j(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(n=>{n===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(n=>{e.indexOf(n)!==-1&&t()})}_setupOptions(){let e=e=>{if(!(e in es))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in es))throw Error(`No option with key "${e}"`);t=this._sanitizeAndValidateOption(e,t),this.rawOptions[e]!==t&&(this.rawOptions[e]=t,this._onOptionChange.fire(e))};for(let n in this.rawOptions){let r={get:e.bind(this,n),set:t.bind(this,n)};Object.defineProperty(this.options,n,r)}}_sanitizeAndValidateOption(e,t){switch(e){case`cursorStyle`:if(t||=es[e],!rs(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=es[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=ts.includes(t)?t:es[e];break;case`cursorWidth`:t=Math.floor(t);case`lineHeight`:case`tabStopWidth`:if(t<1)throw Error(`${e} cannot be less than 1, value: ${t}`);break;case`minimumContrastRatio`:t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case`scrollback`:if(t=Math.min(t,4294967295),t<0)throw Error(`${e} cannot be less than 0, value: ${t}`);break;case`fastScrollSensitivity`:case`scrollSensitivity`:if(t<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case`rows`:case`cols`:if(!t&&t!==0)throw Error(`${e} must be numeric, value: ${t}`);break;case`windowsPty`:t??={};break}return t}};function rs(e){return e===`block`||e===`underline`||e===`bar`}function is(e,t=5){if(typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};for(let r in e)n[r]=t<=1?e[r]:e[r]&&is(e[r],t-1);return n}var as=Object.freeze({insertMode:!1}),os=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),ss=class extends M{constructor(e,t,n){super(),this._bufferService=e,this._logService=t,this._optionsService=n,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new F),this.onData=this._onData.event,this._onUserInput=this._register(new F),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new F),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new F),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=is(as),this.decPrivateModes=is(os)}reset(){this.modes=is(as),this.decPrivateModes=is(os)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let n=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&n.ybase!==n.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace(`sending data (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace(`sending binary (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};ss=O([k(0,Xe),k(1,tt),k(2,nt)],ss);var cs={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>!(e.action===32&&e.button===3)},ANY:{events:31,restrict:e=>!0}};function ls(e,t){let n=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(n|=64,n|=e.action):(n|=e.button&3,e.button&4&&(n|=64),e.button&8&&(n|=128),e.action===32?n|=32:e.action===0&&!t&&(n|=3)),n}var us=String.fromCharCode,ds={DEFAULT:e=>{let t=[ls(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${us(t[0])}${us(t[1])}${us(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${ls(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${ls(e,!0)};${e.x};${e.y}${t}`}},fs=class extends M{constructor(e,t,n){super(),this._bufferService=e,this._coreService=t,this._optionsService=n,this._protocols={},this._encodings={},this._activeProtocol=``,this._activeEncoding=``,this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new F),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(cs))this.addProtocol(e,cs[e]);for(let e of Object.keys(ds))this.addEncoding(e,ds[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol=`NONE`,this.activeEncoding=`DEFAULT`,this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,n){if(e.deltaY===0||e.shiftKey||t===void 0||n===void 0)return 0;let r=t/n,i=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(i/=r+0,Math.abs(e.deltaY)<50&&(i*=.3),this._wheelPartialScroll+=i,i=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(i*=this._bufferService.rows),i}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding===`SGR_PIXELS`))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding===`DEFAULT`?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,n){if(n){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return!(e.button!==t.button||e.action!==t.action||e.ctrl!==t.ctrl||e.alt!==t.alt||e.shift!==t.shift)}};fs=O([k(0,Xe),k(1,Qe),k(2,nt)],fs);var ps=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],ms=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],Z;function hs(e,t){let n=0,r=t.length-1,i;if(et[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let n=this.wcwidth(e),r=n===0&&t!==0;if(r){let e=_s.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return _s.createPropertyValue(0,n,r)}},_s=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new F,this.onChange=this._onChange.event;let e=new gs;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return(e&1)!=0}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,n=!1){return(e&16777215)<<3|(t&3)<<1|!!n}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(t){let n=0,r=0,i=t.length;for(let a=0;a=i)return n+this.wcwidth(o);let e=t.charCodeAt(a);56320<=e&&e<=57343?o=(o-55296)*1024+e-56320+65536:n+=this.wcwidth(e)}let s=this.charProperties(o,r),c=e.extractWidth(s);e.extractShouldJoin(s)&&(c-=e.extractWidth(r)),n+=c,r=s}return n}charProperties(e,t){return this._activeProvider.charProperties(e,t)}},vs=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function ys(e){let t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&t&&(n.isWrapped=t[3]!==0&&t[3]!==32)}var bs=2147483647,xs=256,Ss=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>xs)throw Error(`maxSubParamsLength must not be greater than 256`);this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let n=new e;if(!t.length)return n;for(let e=+!!Array.isArray(t[0]);e>8,r=this._subParamsIdx[t]&255;r-n>0&&e.push(Array.prototype.slice.call(this._subParams,n,r))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>bs?bs:e}addSubParam(e){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParams[this._subParamsLength++]=e>bs?bs:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let t=this._subParamsIdx[e]>>8,n=this._subParamsIdx[e]&255;return n-t>0?this._subParams.subarray(t,n):null}getSubParamsAll(){let e={};for(let t=0;t>8,r=this._subParamsIdx[t]&255;r-n>0&&(e[t]=this._subParams.slice(n,r))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let n=this._digitIsSub?this._subParams:this.params,r=n[t-1];n[t-1]=~r?Math.min(r*10+e,bs):e}},Cs=[],ws=class{constructor(){this._state=0,this._active=Cs,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Cs}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=Cs,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Cs,!this._active.length)this._handlerFb(this._id,`START`);else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,n){if(!this._active.length)this._handlerFb(this._id,`PUT`,Le(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}start(){this.reset(),this._state=1}put(e,t,n){if(this._state!==3){if(this._state===1)for(;t0&&this._put(e,t,n)}}end(e,t=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,`END`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].end(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].end(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=Cs,this._id=-1,this._state=0}}},Ts=class{constructor(e){this._handler=e,this._data=``,this._hitLimit=!1}start(){this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=Le(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(e=>(this._data=``,this._hitLimit=!1,e));return this._data=``,this._hitLimit=!1,t}},Es=[],Ds=class{constructor(){this._handlers=Object.create(null),this._active=Es,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Es}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=Es,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||Es,!this._active.length)this._handlerFb(this._ident,`HOOK`,t);else for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t)}put(e,t,n){if(!this._active.length)this._handlerFb(this._ident,`PUT`,Le(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,`UNHOOK`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].unhook(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].unhook(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=Es,this._ident=0}},Os=new Ss;Os.addParam(0);var ks=class{constructor(e){this._handler=e,this._data=``,this._params=Os,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():Os,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=Le(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(e=>(this._params=Os,this._data=``,this._hitLimit=!1,e));return this._params=Os,this._data=``,this._hitLimit=!1,t}},As=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,n,r){this.table[t<<8|e]=n<<4|r}addMany(e,t,n,r){for(let i=0;it),n=(e,n)=>t.slice(e,n),r=n(32,127),i=n(0,24);i.push(25),i.push.apply(i,n(28,32));let a=n(0,14),o;for(o in e.setDefault(1,0),e.addMany(r,0,2,0),a)e.addMany([24,26,153,154],o,3,0),e.addMany(n(128,144),o,3,0),e.addMany(n(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(i,0,3,0),e.addMany(i,1,3,1),e.add(127,1,0,1),e.addMany(i,8,0,8),e.addMany(i,3,3,3),e.add(127,3,0,3),e.addMany(i,4,3,4),e.add(127,4,0,4),e.addMany(i,6,3,6),e.addMany(i,5,3,5),e.add(127,5,0,5),e.addMany(i,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(r,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(n(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(r,7,0,7),e.addMany(i,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(n(64,127),3,7,0),e.addMany(n(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(n(48,60),4,8,4),e.addMany(n(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(n(32,64),6,0,6),e.add(127,6,0,6),e.addMany(n(64,127),6,0,0),e.addMany(n(32,48),3,9,5),e.addMany(n(32,48),5,9,5),e.addMany(n(48,64),5,0,6),e.addMany(n(64,127),5,7,0),e.addMany(n(32,48),4,9,5),e.addMany(n(32,48),1,9,2),e.addMany(n(32,48),2,9,2),e.addMany(n(48,127),2,10,0),e.addMany(n(48,80),1,10,0),e.addMany(n(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(n(96,127),1,10,0),e.add(80,1,11,9),e.addMany(i,9,0,9),e.add(127,9,0,9),e.addMany(n(28,32),9,0,9),e.addMany(n(32,48),9,9,12),e.addMany(n(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(i,11,0,11),e.addMany(n(32,128),11,0,11),e.addMany(n(28,32),11,0,11),e.addMany(i,10,0,10),e.add(127,10,0,10),e.addMany(n(28,32),10,0,10),e.addMany(n(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(n(32,48),10,9,12),e.addMany(i,12,0,12),e.add(127,12,0,12),e.addMany(n(28,32),12,0,12),e.addMany(n(32,48),12,9,12),e.addMany(n(48,64),12,0,11),e.addMany(n(64,127),12,12,13),e.addMany(n(64,127),10,12,13),e.addMany(n(64,127),9,12,13),e.addMany(i,13,13,13),e.addMany(r,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(js,0,2,0),e.add(js,8,5,8),e.add(js,6,0,6),e.add(js,11,0,11),e.add(js,13,13,13),e}(),Ns=class extends M{constructor(e=Ms){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new Ss,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,n)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(j(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new ws),this._dcsParser=this._register(new Ds),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:`\\`},()=>!0)}_identifier(e,t=[64,126]){let n=0;if(e.prefix){if(e.prefix.length>1)throw Error(`only one byte as prefix supported`);if(n=e.prefix.charCodeAt(0),n&&60>n||n>63)throw Error(`prefix must be in range 0x3c .. 0x3f`)}if(e.intermediates){if(e.intermediates.length>2)throw Error(`only two bytes as intermediates are supported`);for(let t=0;tr||r>47)throw Error(`intermediate must be in range 0x20 .. 0x2f`);n<<=8,n|=r}}if(e.final.length!==1)throw Error(`final must be a single byte`);let r=e.final.charCodeAt(0);if(t[0]>r||r>t[1])throw Error(`final must be in range ${t[0]} .. ${t[1]}`);return n<<=8,n|=r,n}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join(``)}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let n=this._identifier(e,[48,126]);this._escHandlers[n]===void 0&&(this._escHandlers[n]=[]);let r=this._escHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let n=this._identifier(e);this._csiHandlers[n]===void 0&&(this._csiHandlers[n]=[]);let r=this._csiHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,n,r,i){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=n,this._parseStack.transition=r,this._parseStack.chunkPos=i}parse(e,t,n){let r=0,i=0,a=0,o;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,a=this._parseStack.chunkPos+1;else{if(n===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error(`improper continuation due to previous async handler, giving up parsing`);let t=this._parseStack.handlers,i=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](this._params),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 4:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,a=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let n=a;n>4){case 2:for(let i=n+1;;++i){if(i>=t||(r=e[i])<32||r>126&&r=t||(r=e[i])<32||r>126&&r=t||(r=e[i])<32||r>126&&r=t||(r=e[i])<32||r>126&&r=0&&(o=a[s](this._params),o!==!0);s--)if(o instanceof Promise)return this._preserveStack(3,a,s,i,n),o;s<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++n47&&r<60);n--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],l=c?c.length-1:-1;for(;l>=0&&(o=c[l](),o!==!0);l--)if(o instanceof Promise)return this._preserveStack(4,c,l,i,n),o;l<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let i=n+1;;++i)if(i>=t||(r=e[i])===24||r===26||r===27||r>127&&r=t||(r=e[i])<32||r>127&&r>4:i>>8}return n}}function Ls(e,t){let n=e.toString(16),r=n.length<2?`0`+n:n;switch(t){case 4:return n[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function Rs(e,t=16){let[n,r,i]=e;return`rgb:${Ls(n,t)}/${Ls(r,t)}/${Ls(i,t)}`}var zs={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Bs=131072,Vs=10;function Hs(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var Us=5e3,Ws=0,Gs=class extends M{constructor(e,t,n,r,i,a,o,s,c=new Ns){super(),this._bufferService=e,this._charsetService=t,this._coreService=n,this._logService=r,this._optionsService=i,this._oscLinkService=a,this._coreMouseService=o,this._unicodeService=s,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new Re,this._utf8Decoder=new ze,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=Y.clone(),this._eraseAttrDataInternal=Y.clone(),this._onRequestBell=this._register(new F),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new F),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new F),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new F),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new F),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new F),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new F),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new F),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new F),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new F),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new F),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new F),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new F),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new Ks(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,t)=>{this._logService.debug(`Unknown CSI code: `,{identifier:this._parser.identToString(e),params:t.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug(`Unknown ESC code: `,{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug(`Unknown EXECUTE code: `,{code:e})}),this._parser.setOscHandlerFallback((e,t,n)=>{this._logService.debug(`Unknown OSC code: `,{identifier:e,action:t,data:n})}),this._parser.setDcsHandlerFallback((e,t,n)=>{t===`HOOK`&&(n=n.toArray()),this._logService.debug(`Unknown DCS code: `,{identifier:this._parser.identToString(e),action:t,payload:n})}),this._parser.setPrintHandler((e,t,n)=>this.print(e,t,n)),this._parser.registerCsiHandler({final:`@`},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:` `,final:`@`},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:`A`},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:` `,final:`A`},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:`B`},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:`C`},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:`D`},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:`E`},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:`F`},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:`G`},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:`H`},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:`I`},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:`J`},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`J`},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:`K`},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`K`},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:`L`},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:`M`},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:`P`},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:`S`},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:`T`},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:`X`},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:`Z`},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:`a`},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:`b`},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:`c`},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:`>`,final:`c`},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:`d`},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:`e`},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:`f`},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:`g`},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:`h`},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`h`},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:`l`},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`l`},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:`m`},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:`n`},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:`?`,final:`n`},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:`!`,final:`p`},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:` `,final:`q`},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:`r`},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:`s`},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:`t`},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:`u`},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`}`},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`~`},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:`"`,final:`q`},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:`$`,final:`p`},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:`?`,intermediates:`$`,final:`p`},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler(R.BEL,()=>this.bell()),this._parser.setExecuteHandler(R.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(R.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(R.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(R.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(R.BS,()=>this.backspace()),this._parser.setExecuteHandler(R.HT,()=>this.tab()),this._parser.setExecuteHandler(R.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(R.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(qi.IND,()=>this.index()),this._parser.setExecuteHandler(qi.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(qi.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Ts(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new Ts(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new Ts(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new Ts(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new Ts(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new Ts(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new Ts(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new Ts(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new Ts(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new Ts(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new Ts(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new Ts(e=>this.restoreCursorColor(e))),this._parser.registerEscHandler({final:`7`},()=>this.saveCursor()),this._parser.registerEscHandler({final:`8`},()=>this.restoreCursor()),this._parser.registerEscHandler({final:`D`},()=>this.index()),this._parser.registerEscHandler({final:`E`},()=>this.nextLine()),this._parser.registerEscHandler({final:`H`},()=>this.tabSet()),this._parser.registerEscHandler({final:`M`},()=>this.reverseIndex()),this._parser.registerEscHandler({final:`=`},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:`>`},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:`c`},()=>this.fullReset()),this._parser.registerEscHandler({final:`n`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`o`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`|`},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:`}`},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:`~`},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:`%`,final:`@`},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:`%`,final:`G`},()=>this.selectDefaultCharset());for(let e in X)this._parser.registerEscHandler({intermediates:`(`,final:e},()=>this.selectCharset(`(`+e)),this._parser.registerEscHandler({intermediates:`)`,final:e},()=>this.selectCharset(`)`+e)),this._parser.registerEscHandler({intermediates:`*`,final:e},()=>this.selectCharset(`*`+e)),this._parser.registerEscHandler({intermediates:`+`,final:e},()=>this.selectCharset(`+`+e)),this._parser.registerEscHandler({intermediates:`-`,final:e},()=>this.selectCharset(`-`+e)),this._parser.registerEscHandler({intermediates:`.`,final:e},()=>this.selectCharset(`.`+e)),this._parser.registerEscHandler({intermediates:`/`,final:e},()=>this.selectCharset(`/`+e));this._parser.registerEscHandler({intermediates:`#`,final:`8`},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error(`Parsing error: `,e),e)),this._parser.registerDcsHandler({intermediates:`$`,final:`q`},new ks((e,t)=>this.requestStatusString(e,t)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,n,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=n,this._parseStack.position=r}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((e,t)=>setTimeout(()=>t(`#SLOW_TIMEOUT`),Us))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${Us} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let n,r=this._activeBuffer.x,i=this._activeBuffer.y,a=0,o=this._parseStack.paused;if(o){if(n=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(n),n;r=this._parseStack.cursorStartX,i=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>Bs&&(a=this._parseStack.position+Bs)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==`string`?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join(``)}"`}`),this._logService.logLevel===0&&this._logService.trace(`parsing data (codes)`,typeof e==`string`?e.split(``).map(e=>e.charCodeAt(0)):e),this._parseBuffer.lengthBs)for(let t=a;t0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let p=t;ps){if(c){let e=d,t=this._activeBuffer.x-m;for(this._activeBuffer.x=m,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&d instanceof zo&&d.copyCellsFrom(e,t,0,m,!1);t=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u);continue}if(l&&(d.insertCells(this._activeBuffer.x,i-m,this._activeBuffer.getNullCell(u)),d.getWidth(s-1)===2&&d.setCellFromCodepoint(s-1,0,1,u)),d.setCellFromCodepoint(this._activeBuffer.x++,r,i,u),i>0)for(;--i;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final===`t`&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,e=>Hs(e.params[0],this._optionsService.rawOptions.windowOptions)?t(e):!0):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new ks(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new Ts(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,n,r=!1,i=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);a.replaceCells(t,n,this._activeBuffer.getNullCell(this._eraseAttrData()),i),r&&(a.isWrapped=!1)}_resetBufferLine(e,t=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n&&(n.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),n.isWrapped=!1)}eraseInDisplay(e,t=!1){this._restrictCursor(this._bufferService.cols);let n;switch(e.params[0]){case 0:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);n=this._bufferService.cols&&(this._activeBuffer.lines.get(n+1).isWrapped=!1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(n=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,n-1);n--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+n)?.getTrimmedLength(););for(;n>=0;n--)this._bufferService.scroll(this._eraseAttrData())}else{for(n=this._bufferService.rows,this._dirtyRowTracker.markDirty(n-1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y65535?2:1}let c=s;for(let e=1;e0||(this._is(`xterm`)||this._is(`rxvt-unicode`)||this._is(`screen`)?this._coreService.triggerDataEvent(R.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(R.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(R.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(R.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(R.ESC+`[>83;40003;0c`)),!0}_is(e){return(this._optionsService.rawOptions.termName+``).indexOf(e)===0}setMode(e){for(let t=0;t(e[e.NOT_RECOGNIZED=0]=`NOT_RECOGNIZED`,e[e.SET=1]=`SET`,e[e.RESET=2]=`RESET`,e[e.PERMANENTLY_SET=3]=`PERMANENTLY_SET`,e[e.PERMANENTLY_RESET=4]=`PERMANENTLY_RESET`))(n||={});let r=this._coreService.decPrivateModes,{activeProtocol:i,activeEncoding:a}=this._coreMouseService,o=this._coreService,{buffers:s,cols:c}=this._bufferService,{active:l,alt:u}=s,d=this._optionsService.rawOptions,f=(e,n)=>(o.triggerDataEvent(`${R.ESC}[${t?``:`?`}${e};${n}$y`),!0),p=e=>e?1:2,m=e.params[0];return t?m===2?f(m,4):m===4?f(m,p(o.modes.insertMode)):m===12?f(m,3):m===20?f(m,p(d.convertEol)):f(m,0):m===1?f(m,p(r.applicationCursorKeys)):m===3?f(m,d.windowOptions.setWinLines?c===80?2:+(c===132):0):m===6?f(m,p(r.origin)):m===7?f(m,p(r.wraparound)):m===8?f(m,3):m===9?f(m,p(i===`X10`)):m===12?f(m,p(d.cursorBlink)):m===25?f(m,p(!o.isCursorHidden)):m===45?f(m,p(r.reverseWraparound)):m===66?f(m,p(r.applicationKeypad)):m===67?f(m,4):m===1e3?f(m,p(i===`VT200`)):m===1002?f(m,p(i===`DRAG`)):m===1003?f(m,p(i===`ANY`)):m===1004?f(m,p(r.sendFocus)):m===1005?f(m,4):m===1006?f(m,p(a===`SGR`)):m===1015?f(m,4):m===1016?f(m,p(a===`SGR_PIXELS`)):m===1048?f(m,1):m===47||m===1047||m===1049?f(m,p(l===u)):m===2004?f(m,p(r.bracketedPasteMode)):m===2026?f(m,p(r.synchronizedOutput)):f(m,0)}_updateAttrColor(e,t,n,r,i){return t===2?(e|=50331648,e&=-16777216,e|=He.fromColorRGB([n,r,i])):t===5&&(e&=-50331904,e|=33554432|n&255),e}_extractColor(e,t,n){let r=[0,0,-1,0,0,0],i=0,a=0;do{if(r[a+i]=e.params[t+a],e.hasSubParams(t+a)){let n=e.getSubParams(t+a),o=0;do r[1]===5&&(i=1),r[a+o+1+i]=n[o];while(++o=2||r[1]===2&&a+i>=5)break;r[1]&&(i=1)}while(++a+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=Y.fg,e.bg=Y.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,n,r=this._curAttrData;for(let i=0;i=30&&n<=37?(r.fg&=-50331904,r.fg|=16777216|n-30):n>=40&&n<=47?(r.bg&=-50331904,r.bg|=16777216|n-40):n>=90&&n<=97?(r.fg&=-50331904,r.fg|=n-90|16777224):n>=100&&n<=107?(r.bg&=-50331904,r.bg|=n-100|16777224):n===0?this._processSGR0(r):n===1?r.fg|=134217728:n===3?r.bg|=67108864:n===4?(r.fg|=268435456,this._processUnderline(e.hasSubParams(i)?e.getSubParams(i)[0]:1,r)):n===5?r.fg|=536870912:n===7?r.fg|=67108864:n===8?r.fg|=1073741824:n===9?r.fg|=2147483648:n===2?r.bg|=134217728:n===21?this._processUnderline(2,r):n===22?(r.fg&=-134217729,r.bg&=-134217729):n===23?r.bg&=-67108865:n===24?(r.fg&=-268435457,this._processUnderline(0,r)):n===25?r.fg&=-536870913:n===27?r.fg&=-67108865:n===28?r.fg&=-1073741825:n===29?r.fg&=2147483647:n===39?(r.fg&=-67108864,r.fg|=Y.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=Y.bg&16777215):n===38||n===48||n===58?i+=this._extractColor(e,i,r):n===53?r.bg|=1073741824:n===55?r.bg&=-1073741825:n===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):n===100?(r.fg&=-67108864,r.fg|=Y.fg&16777215,r.bg&=-67108864,r.bg|=Y.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${R.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${R.ESC}[${e};${t}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${R.ESC}[?${e};${t}R`);break;case 15:break;case 25:break;case 26:break;case 53:break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=Y.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=`block`;break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=`underline`;break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=`bar`;break}let e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){let t=e.params[0]||1,n;return(e.length<2||(n=e.params[1])>this._bufferService.rows||n===0)&&(n=this._bufferService.rows),n>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=n-1,this._setCursor(0,0)),!0}windowOptions(e){if(!Hs(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${R.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Vs&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Vs&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],n=e.split(`;`);for(;n.length>1;){let e=n.shift(),r=n.shift();if(/^\d+$/.exec(e)){let n=parseInt(e);if(qs(n))if(r===`?`)t.push({type:0,index:n});else{let e=Is(r);e&&t.push({type:1,index:n,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(`;`);if(t===-1)return!0;let n=e.slice(0,t).trim(),r=e.slice(t+1);return r?this._createHyperlink(n,r):n.trim()?!1:this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let n=e.split(`:`),r,i=n.findIndex(e=>e.startsWith(`id=`));return i!==-1&&(r=n[i].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let n=e.split(`;`);for(let e=0;e=this._specialColors.length);++e,++t)if(n[e]===`?`)this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=Is(n[e]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],n=e.split(`;`);for(let e=0;e=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=Y.clone(),this._eraseAttrDataInternal=Y.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new We;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t(this._coreService.triggerDataEvent(`${R.ESC}${e}${R.ESC}\\`),!0),r=this._bufferService.buffer,i=this._optionsService.rawOptions;return n(e===`"q`?`P1$r${+!!this._curAttrData.isProtected()}"q`:e===`"p`?`P1$r61;1"p`:e===`r`?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:e===`m`?`P1$r0m`:e===` q`?`P1$r${{block:2,underline:4,bar:6}[i.cursorStyle]-+!!i.cursorBlink} q`:`P0$r`)}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},Ks=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){ethis.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(Ws=e,e=t,t=Ws),ethis.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};Ks=O([k(0,Xe)],Ks);function qs(e){return 0<=e&&e<256}var Js=5e7,Ys=12,Xs=50,Zs=class extends M{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new F),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let n;for(;n=this._writeBuffer.shift();){this._action(n);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>Js)throw Error(`write data discarded, use flow control to avoid losing data`);if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let n=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],r=this._action(e,t);if(r){r.catch(e=>(queueMicrotask(()=>{throw e}),Promise.resolve(!1))).then(e=>performance.now()-n>=Ys?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(n,e));return}let i=this._callbacks[this._bufferOffset];if(i&&i(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-n>=Ys)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Xs&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},Qs=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let n=t.addMarker(t.ybase+t.y),r={data:e,id:this._nextId++,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(r,n)),this._dataByLinkId.set(r.id,r),r.id}let n=e,r=this._getEntryIdKey(n),i=this._entriesWithId.get(r);if(i)return this.addLineToLink(i.id,t.ybase+t.y),i.id;let a=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(n),data:n,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(o,a)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){let n=this._dataByLinkId.get(e);if(n&&n.lines.every(e=>e.line!==t)){let e=this._bufferService.buffer.addMarker(t);n.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(n,e))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let n=e.lines.indexOf(t);n!==-1&&(e.lines.splice(n,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};Qs=O([k(0,Xe)],Qs);var $s=!1,ec=class extends M{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new Jt),this._onBinary=this._register(new F),this.onBinary=this._onBinary.event,this._onData=this._register(new F),this.onData=this._onData.event,this._onLineFeed=this._register(new F),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new F),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new F),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new F),this._instantiationService=new jo,this.optionsService=this._register(new ns(e)),this._instantiationService.setService(nt,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance($o)),this._instantiationService.setService(Xe,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(Po)),this._instantiationService.setService(tt,this._logService),this.coreService=this._register(this._instantiationService.createInstance(ss)),this._instantiationService.setService(Qe,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(fs)),this._instantiationService.setService(Ze,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(_s)),this._instantiationService.setService(it,this.unicodeService),this._charsetService=this._instantiationService.createInstance(vs),this._instantiationService.setService($e,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(Qs),this._instantiationService.setService(rt,this._oscLinkService),this._inputHandler=this._register(new Gs(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(P.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(P.forward(this._bufferService.onResize,this._onResize)),this._register(P.forward(this.coreService.onData,this._onData)),this._register(P.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange([`windowsMode`,`windowsPty`],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new Zs((e,t)=>this._inputHandler.parse(e,t))),this._register(P.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new F),this._onScroll.event(e=>{this._onScrollApi?.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!$s&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),$s=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,Zo),t=Math.max(t,Qo),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend===`conpty`&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(ys.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(ys(this._bufferService),!1))),this._windowsWrappingHeuristics.value=j(()=>{for(let t of e)t.dispose()})}}},tc={48:[`0`,`)`],49:[`1`,`!`],50:[`2`,`@`],51:[`3`,`#`],52:[`4`,`$`],53:[`5`,`%`],54:[`6`,`^`],55:[`7`,`&`],56:[`8`,`*`],57:[`9`,`(`],186:[`;`,`:`],187:[`=`,`+`],188:[`,`,`<`],189:[`-`,`_`],190:[`.`,`>`],191:[`/`,`?`],192:["`",`~`],219:[`[`,`{`],220:[`\\`,`|`],221:[`]`,`}`],222:[`'`,`"`]};function nc(e,t,n,r){let i={type:0,cancel:!1,key:void 0},a=!!e.shiftKey|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key===`UIKeyInputUpArrow`?t?i.key=R.ESC+`OA`:i.key=R.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?t?i.key=R.ESC+`OD`:i.key=R.ESC+`[D`:e.key===`UIKeyInputRightArrow`?t?i.key=R.ESC+`OC`:i.key=R.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(t?i.key=R.ESC+`OB`:i.key=R.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:R.DEL,e.altKey&&(i.key=R.ESC+i.key);break;case 9:if(e.shiftKey){i.key=R.ESC+`[Z`;break}i.key=R.HT,i.cancel=!0;break;case 13:i.key=e.altKey?R.ESC+R.CR:R.CR,i.cancel=!0;break;case 27:i.key=R.ESC,e.altKey&&(i.key=R.ESC+R.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;a?i.key=R.ESC+`[1;`+(a+1)+`D`:t?i.key=R.ESC+`OD`:i.key=R.ESC+`[D`;break;case 39:if(e.metaKey)break;a?i.key=R.ESC+`[1;`+(a+1)+`C`:t?i.key=R.ESC+`OC`:i.key=R.ESC+`[C`;break;case 38:if(e.metaKey)break;a?i.key=R.ESC+`[1;`+(a+1)+`A`:t?i.key=R.ESC+`OA`:i.key=R.ESC+`[A`;break;case 40:if(e.metaKey)break;a?i.key=R.ESC+`[1;`+(a+1)+`B`:t?i.key=R.ESC+`OB`:i.key=R.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=R.ESC+`[2~`);break;case 46:a?i.key=R.ESC+`[3;`+(a+1)+`~`:i.key=R.ESC+`[3~`;break;case 36:a?i.key=R.ESC+`[1;`+(a+1)+`H`:t?i.key=R.ESC+`OH`:i.key=R.ESC+`[H`;break;case 35:a?i.key=R.ESC+`[1;`+(a+1)+`F`:t?i.key=R.ESC+`OF`:i.key=R.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:e.ctrlKey?i.key=R.ESC+`[5;`+(a+1)+`~`:i.key=R.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:e.ctrlKey?i.key=R.ESC+`[6;`+(a+1)+`~`:i.key=R.ESC+`[6~`;break;case 112:a?i.key=R.ESC+`[1;`+(a+1)+`P`:i.key=R.ESC+`OP`;break;case 113:a?i.key=R.ESC+`[1;`+(a+1)+`Q`:i.key=R.ESC+`OQ`;break;case 114:a?i.key=R.ESC+`[1;`+(a+1)+`R`:i.key=R.ESC+`OR`;break;case 115:a?i.key=R.ESC+`[1;`+(a+1)+`S`:i.key=R.ESC+`OS`;break;case 116:a?i.key=R.ESC+`[15;`+(a+1)+`~`:i.key=R.ESC+`[15~`;break;case 117:a?i.key=R.ESC+`[17;`+(a+1)+`~`:i.key=R.ESC+`[17~`;break;case 118:a?i.key=R.ESC+`[18;`+(a+1)+`~`:i.key=R.ESC+`[18~`;break;case 119:a?i.key=R.ESC+`[19;`+(a+1)+`~`:i.key=R.ESC+`[19~`;break;case 120:a?i.key=R.ESC+`[20;`+(a+1)+`~`:i.key=R.ESC+`[20~`;break;case 121:a?i.key=R.ESC+`[21;`+(a+1)+`~`:i.key=R.ESC+`[21~`;break;case 122:a?i.key=R.ESC+`[23;`+(a+1)+`~`:i.key=R.ESC+`[23~`;break;case 123:a?i.key=R.ESC+`[24;`+(a+1)+`~`:i.key=R.ESC+`[24~`;break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?i.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?i.key=R.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=R.DEL:e.keyCode===219?i.key=R.ESC:e.keyCode===220?i.key=R.FS:e.keyCode===221&&(i.key=R.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=tc[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=R.ESC+t;else if(e.keyCode>=65&&e.keyCode<=90){let t=e.ctrlKey?e.keyCode-64:e.keyCode+32,n=String.fromCharCode(t);e.shiftKey&&(n=n.toUpperCase()),i.key=R.ESC+n}else if(e.keyCode===32)i.key=R.ESC+(e.ctrlKey?R.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=R.ESC+t,i.cancel=!0}}else n&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(i.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?i.key=e.key:e.key&&e.ctrlKey&&(e.key===`_`&&(i.key=R.US),e.key===`@`&&(i.key=R.NUL));break}return i}var Q=0,rc=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new Ya,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new Ya,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((e,t)=>this._getKey(e)-this._getKey(t)),t=0,n=0,r=Array(this._array.length+this._insertedValues.length);for(let i=0;i=this._array.length||this._getKey(e[t])<=this._getKey(this._array[n])?(r[i]=e[t],t++):r[i]=this._array[n++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(Q=this._search(t),Q===-1)||this._getKey(this._array[Q])!==t)return!1;do if(this._array[Q]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(Q),!0;while(++Qe-t),t=0,n=Array(this._array.length-e.length),r=0;for(let i=0;i0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(Q=this._search(e),!(Q<0||Q>=this._array.length)&&this._getKey(this._array[Q])===e))do yield this._array[Q];while(++Q=this._array.length)&&this._getKey(this._array[Q])===e))do t(this._array[Q]);while(++Q=t;){let r=t+n>>1,i=this._getKey(this._array[r]);if(i>e)n=r-1;else if(i0&&this._getKey(this._array[r-1])===e;)r--;return r}}return t}},ic=0,ac=0,oc=class extends M{constructor(){super(),this._decorations=new rc(e=>e?.marker.line),this._onDecorationRegistered=this._register(new F),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new F),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(j(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new sc(e);if(t){let e=t.marker.onDispose(()=>t.dispose()),n=t.onDispose(()=>{n.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,n){let r=0,i=0;for(let a of this._decorations.getKeyIterator(t))r=a.options.x??0,i=r+(a.options.width??1),e>=r&&e{ic=t.options.x??0,ac=ic+(t.options.width??1),e>=ic&&e=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=r-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},t)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},uc=20,dc=!1,fc=class extends M{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``;let i=this._coreBrowserService.mainDocument;this._accessibilityContainer=i.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=i.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;ethis._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=i.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new lc(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);dc?(this._accessibilityContainer.classList.add(`debug`),this._rowContainer.classList.add(`debug`),this._debugRootContainer=i.createElement(`div`),this._debugRootContainer.classList.add(`xterm`),this._debugRootContainer.appendChild(i.createTextNode(`------start a11y------`)),this._debugRootContainer.appendChild(this._accessibilityContainer),this._debugRootContainer.appendChild(i.createTextNode(`------end a11y------`)),this._terminal.element.insertAdjacentElement(`afterend`,this._debugRootContainer)):this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this._register(this._terminal.onResize(e=>this._handleResize(e.rows))),this._register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(e=>this._handleChar(e))),this._register(this._terminal.onLineFeed(()=>this._handleChar(` -`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(I(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(j(()=>{dc?this._debugRootContainer.remove():this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===` -`&&(this._liveRegionLineCount++,this._liveRegionLineCount===uc+1&&(this._liveRegion.textContent+=Oe.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(!(!a||!o)){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;ee;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e{Wt(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(I(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(I(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(I(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(I(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;re?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;tthis._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;ethis._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&mc(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Wt(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};pc=O([k(1,ut),k(2,dt),k(3,Xe),k(4,ht)],pc);function mc(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var hc=class extends ec{constructor(e={}){super(e),this._linkifier=this._register(new Jt),this.browser=Ma,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Jt),this._onCursorMove=this._register(new F),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new F),this.onKey=this._onKey.event,this._onRender=this._register(new F),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new F),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new F),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new F),this.onBell=this._onBell.event,this._onFocus=this._register(new F),this._onBlur=this._register(new F),this._onA11yCharEmitter=this._register(new F),this._onA11yTabEmitter=this._register(new F),this._onWillOpen=this._register(new F),this._setup(),this._decorationService=this._instantiationService.createInstance(oc),this._instantiationService.setService(at,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Da),this._instantiationService.setService(ht,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(ot)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(P.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(P.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(P.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(P.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(j(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=W.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${R.ESC}]${n};${Rs(r)}${Ji.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=U.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=U.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(fc,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(R.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(R.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(I(this.element,`copy`,e=>{this.hasSelection()&&je(e,this._selectionService)}));let e=e=>Me(e,this.textarea,this.coreService,this.optionsService);this._register(I(this.textarea,`paste`,e)),this._register(I(this.element,`paste`,e)),Ia?this._register(I(this.element,`mousedown`,e=>{e.button===2&&Fe(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(I(this.element,`contextmenu`,e=>{Fe(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Wa&&this._register(I(this.element,`auxclick`,e=>{e.button===1&&Pe(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(I(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(I(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(I(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(I(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(I(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(I(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(I(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement(`div`),this.element.dir=`ltr`,this.element.classList.add(`terminal`),this.element.classList.add(`xterm`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(I(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,Ee.get()),Ga||this.textarea.setAttribute(`aria-multiline`,`false`),this.textarea.setAttribute(`autocorrect`,`off`),this.textarea.setAttribute(`autocapitalize`,`off`),this.textarea.setAttribute(`spellcheck`,`false`),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange(`disableStdin`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Ta,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(lt,this._coreBrowserService),this._register(I(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(I(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(xa,this._document,this._helperContainer),this._instantiationService.setService(ct,this._charSizeService),this._themeService=this._instantiationService.createInstance(ko),this._instantiationService.setService(mt,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(na),this._instantiationService.setService(pt,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Za,this.rows,this.screenElement)),this._instantiationService.setService(dt,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(Yi,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Aa),this._instantiationService.setService(ut,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(pc,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Bi,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(bo,this.element,this.screenElement,r)),this._instantiationService.setService(ft,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(P.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Vi,this.screenElement)),this._register(I(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add(`enable-mouse-events`)):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(fc,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Ki,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Ki,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(ba,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(e)}};this._register(this.coreMouseService.onProtocolChange(e=>{e?(this.optionsService.rawOptions.logLevel===`debug`&&this._logService.debug(`Binding to mouse events:`,this.coreMouseService.explainEvents(e)),this.element.classList.add(`enable-mouse-events`),this._selectionService.disable()):(this._logService.debug(`Unbinding from mouse events.`),this.element.classList.remove(`enable-mouse-events`),this._selectionService.enable()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(I(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(e)))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(I(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=R.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?this.element.classList.add(`column-select`):this.element.classList.remove(`column-select`)}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){Ne(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,n){this._selectionService.setSelection(e,t,n)}getSelection(){return this._selectionService?this._selectionService.selectionText:``}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=nc(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((n.key===R.ETX||n.key===R.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(gc(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){this._charSizeService?.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new We)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},yc=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new vc(t)}getNullCell(){return new We}},bc=class extends M{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new F),this.onBufferChange=this._onBufferChange.event,this._normal=new yc(this._core.buffers.normal,`normal`),this._alternate=new yc(this._core.buffers.alt,`alternate`),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw Error(`Active buffer is neither normal nor alternate`)}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},xc=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},Sc=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},Cc=[`cols`,`rows`],wc=0,Tc=class extends M{constructor(e){super(),this._core=this._register(new hc(e)),this._addonManager=this._register(new _c),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(Cc.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw Error(`You must set the allowProposedApi option to true to use proposed API`)}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||=new xc(this._core),this._parser}get unicode(){return this._checkProposedApi(),new Sc(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||=this._register(new bc(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`;break}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r -`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return Ee.get()},set promptLabel(e){Ee.set(e)},get tooMuchOutput(){return Oe.get()},set tooMuchOutput(e){Oe.set(e)}}}_verifyIntegers(...e){for(wc of e)if(wc===1/0||isNaN(wc)||wc%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(wc of e)if(wc&&(wc===1/0||isNaN(wc)||wc%1!=0||wc<0))throw Error(`This API only accepts positive integers`)}},Ec=2,Dc=1,Oc=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(Ec,Math.floor(u/e.css.cell.width)),rows:Math.max(Dc,Math.floor(l/e.css.cell.height))}}},kc=class{constructor(e,t,n,r={}){this._terminal=e,this._regex=t,this._handler=n,this._options=r}provideLinks(e,t){let n=jc.computeLink(e,this._regex,this._terminal,this._handler);t(this._addCallbacks(n))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(t,n)=>{if(this._options.hover){let{range:r}=e;this._options.hover(t,n,r)}},e))}};function Ac(e){try{let t=new URL(e),n=t.password&&t.username?`${t.protocol}//${t.username}:${t.password}@${t.host}`:t.username?`${t.protocol}//${t.username}@${t.host}`:`${t.protocol}//${t.host}`;return e.toLocaleLowerCase().startsWith(n.toLocaleLowerCase())}catch{return!1}}var jc=class e{static computeLink(t,n,r,i){let a=new RegExp(n.source,(n.flags||``)+`g`),[o,s]=e._getWindowedLineStrings(t-1,r),c=o.join(``),l,u=[];for(;l=a.exec(c);){let t=l[0];if(!Ac(t))continue;let[n,a]=e._mapStrIdx(r,s,0,l.index),[o,c]=e._mapStrIdx(r,n,a,t.length);if(n===-1||a===-1||o===-1||c===-1)continue;let d={start:{x:a+1,y:n+1},end:{x:c,y:o+1}};u.push({range:d,text:t,activate:i})}return u}static _getWindowedLineStrings(e,t){let n,r=e,i=e,a=0,o=``,s=[];if(n=t.buffer.active.getLine(e)){let e=n.translateToString(!0);if(n.isWrapped&&e[0]!==` `){for(a=0;(n=t.buffer.active.getLine(--r))&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),!(!n.isWrapped||o.indexOf(` `)!==-1)););s.reverse()}for(s.push(e),a=0;(n=t.buffer.active.getLine(++i))&&n.isWrapped&&a<2048&&(o=n.translateToString(!0),a+=o.length,s.push(o),o.indexOf(` `)===-1););}return[s,r]}static _mapStrIdx(e,t,n,r){let i=e.buffer.active,a=i.getNullCell(),o=n;for(;r;){let e=i.getLine(t);if(!e)return[-1,-1];for(let n=o;n`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function Nc(e,t){let n=window.open();if(n){try{n.opener=null}catch{}n.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}var Pc=class{constructor(e=Nc,t={}){this._handler=e,this._options=t}activate(e){this._terminal=e;let t=this._options,n=t.urlRegex||Mc;this._linkProvider=this._terminal.registerLinkProvider(new kc(this._terminal,n,this._handler,t))}dispose(){this._linkProvider?.dispose()}},Fc=new Map;function Ic(){return{ws:null,term:null,fitAddon:null,resizeObserver:null,reconnectTimer:null,pingTimer:null,uptimeTimer:null}}function Lc(e){let t=Ic();return Fc.set(e,t),t}function $(e){return Fc.get(e)}function Rc(e){Fc.delete(e)}function zc(e,t){let n=$(e);n&&(n.term=o(t))}function Bc(e,t){let n=$(e);n&&(n.fitAddon=o(t))}function Vc(e,t){let n=$(e);n&&(n.resizeObserver=o(t))}function Hc(e){return $(e)?.ws?.readyState===WebSocket.OPEN}function Uc(e){Fc.forEach((t,n)=>e(n,t))}function Wc(e){let t=(e||``).trim();return t&&/^[^\x00-\x1f\x7f"'`\\]+$/.test(t)?t:``}function Gc(e){switch(e.status){case`connecting`:return`连接中…`;case`connected`:return`已连接`;case`error`:return`连接失败`;default:return`未连接`}}function Kc(e){switch(e.status){case`connecting`:return`warning`;case`connected`:return`success`;case`error`:return`error`;default:return`grey`}}var qc=`nexus_term_fontSize`,Jc=`nexus_term_scrollback`,Yc=[{title:`1 千行`,value:1e3},{title:`5 千行`,value:5e3},{title:`1 万行`,value:1e4},{title:`5 万行`,value:5e4}];function Xc(){let e=h(parseInt(localStorage.getItem(qc)||`14`,10)),t=h(parseInt(localStorage.getItem(Jc)||`1000`,10));function n(t){e.value=Math.max(10,Math.min(24,e.value+t)),localStorage.setItem(qc,String(e.value)),Uc((t,n)=>{if(n.term){n.term.options.fontSize=e.value;try{n.fitAddon?.fit()}catch{}}})}function r(e){t.value=e,localStorage.setItem(Jc,String(e)),Uc((t,n)=>{n.term&&(n.term.options.scrollback=e)})}function i(t){let n=$(t)?.term;n&&(n.options.fontSize=e.value)}return{fontSize:e,scrollback:t,scrollbackOptions:Yc,changeFontSize:n,changeScrollback:r,applyFontToSession:i}}var Zc=`nexus_term_history`;function Qc(){try{return JSON.parse(localStorage.getItem(Zc)||`[]`)}catch{return[]}}function $c(e,t,n){let r=h(``);function i(){let i=e();if(!i)return;if(!Hc(i.id)){n?.();return}let a=r.value;if(!a||(i.cmdHistory.push(a),i.cmdIdx=-1,!t(i.id,a+`\r`)))return;r.value=``;let o=Qc();o.length>=200&&o.shift(),o.push(a),localStorage.setItem(Zc,JSON.stringify(o))}function a(e){if(e.key===`Enter`&&!e.shiftKey){e.preventDefault(),i();return}if(e.key===`ArrowUp`){e.preventDefault(),o();return}e.key===`ArrowDown`&&(e.preventDefault(),s())}function o(){let t=e();t&&t.cmdIdx0?(t.cmdIdx--,r.value=t.cmdHistory[t.cmdHistory.length-1-t.cmdIdx]):(t.cmdIdx=-1,r.value=``))}function c(){return[...Qc()]}return{cmdInput:r,sendCmd:i,onCmdKeydown:a,cmdHistoryUp:o,cmdHistoryDown:s,loadHistoryForNewSession:c}}var el={background:`#000000`,foreground:`#ffffff`,cursor:`#ffffff`,cursorAccent:`#000000`,selectionBackground:`#4d4d4d`,selectionForeground:`#ffffff`,black:`#000000`,red:`#cd3131`,green:`#0dbc79`,yellow:`#e5e510`,blue:`#2472c8`,magenta:`#bc3fbc`,cyan:`#11a8cd`,white:`#e5e5e5`,brightBlack:`#666666`,brightRed:`#f14c4c`,brightGreen:`#23d18b`,brightYellow:`#f5f543`,brightBlue:`#3b8eea`,brightMagenta:`#d670d6`,brightCyan:`#29b8db`,brightWhite:`#ffffff`};function tl(e){if(typeof e.data_b64==`string`&&e.data_b64.length>0){let t=atob(e.data_b64),n=new Uint8Array(t.length);for(let e=0;es.value.find(e=>e.id===c.value)||null),y=S(()=>{let e=c.value;return e?Hc(e):!1}),ee=S(()=>!v.value);function ne(){let e=n.query.server_id??n.query.server,t=Number(e);return Number.isFinite(t)&&t>0?t:0}async function re(e,t=24){for(let n=0;n{let e=m.value.toLowerCase().trim();return f.value.filter(t=>!e||t.name.toLowerCase().includes(e)||t.domain.toLowerCase().includes(e))}),ie=S(()=>s.value.length===0&&!d.value);function ae(e){return s.value.find(t=>t.id===e)}function x(e,t){let n=$(e)?.ws;return!n||n.readyState!==WebSocket.OPEN?!1:(n.send(JSON.stringify({type:`DATA`,data:t})),!0)}let oe=$c(()=>v.value,x,()=>a(`终端连接中,请稍候`,`warning`));function se(){Uc((e,t)=>{try{t.fitAddon?.fit()}catch{}})}p(e,()=>{r(()=>{se(),setTimeout(se,220)})});function C(e,t){e&&u.set(t,e)}function ce(){return new Tc({cursorBlink:!0,cursorStyle:`bar`,fontSize:o.fontSize.value,scrollback:o.scrollback.value,fontFamily:`"Cascadia Code","Fira Code","JetBrains Mono",Menlo,monospace`,theme:el,allowProposedApi:!0,drawBoldTextInBrightColors:!0})}function le(e,t){let n=Wc(t);!n||!Hc(e.id)||(x(e.id,`cd ${n}\r`),e.initialCdSent=!0)}function ue(e){let t=$(e.id);t?.uptimeTimer&&(clearInterval(t.uptimeTimer),t.uptimeTimer=null),e.uptime=``}function T(e){if(!e.connectionStartTime){e.uptime=``;return}let t=Math.floor((Date.now()-e.connectionStartTime)/1e3),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;e.uptime=`${String(n).padStart(2,`0`)}:${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`}function de(e){e.connectionStartTime=Date.now(),ue(e),T(e);let t=$(e.id);t&&(t.uptimeTimer=setInterval(()=>T(e),1e3))}function E(e){let t=$(e.id);t?.pingTimer&&(clearInterval(t.pingTimer),t.pingTimer=null),e.pingMs=null}function D(e){E(e),e.pingMs=null;let t=$(e.id);t&&(t.pingTimer=setInterval(()=>{Hc(e.id)&&$(e.id)?.ws?.send(JSON.stringify({type:`PING`,ts:Date.now()}))},5e3))}function fe(e){let t=$(e);if(t){if(t.reconnectTimer&&=(clearTimeout(t.reconnectTimer),null),t.pingTimer&&=(clearInterval(t.pingTimer),null),t.uptimeTimer&&=(clearInterval(t.uptimeTimer),null),t.ws){try{t.ws.close(1e3)}catch{}t.ws=null}if(t.term){try{t.term.dispose()}catch{}t.term=null}if(t.resizeObserver){try{t.resizeObserver.disconnect()}catch{}t.resizeObserver=null}t.fitAddon=null,Rc(e)}}async function pe(e){let t=ae(e);if(!t)return;let n=$(e);if(!n)return;if(n.ws){try{n.ws.close(1e3)}catch{}n.ws=null}t.status=`connecting`;let r;try{r=(await g.post(`/auth/webssh-token`,{server_id:t.serverId})).webssh_token}catch(e){let r=e instanceof Error?e.message:`无法获取终端令牌`;t.status=`error`,n.term?.writeln(`\r\n\x1b[31m⚠ ${r}\x1b[0m`),t.showOverlay=!0,t.overlayMsg=r,t.reconnectCountdown=``;return}let a=ye(`/ws/terminal/${t.serverId}`,{token:r}),o=new WebSocket(a);n.ws=o,o.onopen=()=>{t.status=`connected`,t.manualDisconnect=!1,t.reconnectAttempt=0,n.reconnectTimer&&=(clearTimeout(n.reconnectTimer),null),t.showOverlay=!1,t.overlayMsg=``,t.reconnectCountdown=``,de(t),D(t),n.term?.focus()},o.onmessage=e=>{try{let r=JSON.parse(e.data);switch(r.type){case`TERMINAL_INIT`:t.serverName=r.server_name||t.serverName;{let e=n.fitAddon?.proposeDimensions();e&&o.readyState===WebSocket.OPEN&&o.send(JSON.stringify({type:`RESIZE`,cols:e.cols,rows:e.rows}))}t.pendingPath&&!t.initialCdSent&&o.readyState===WebSocket.OPEN&&le(t,t.pendingPath);break;case`DATA`:n.term?.write(tl(r));break;case`ERROR`:n.term?.write(`\r\n\x1b[31m⚠ ${r.message}\x1b[0m\r\n`);break;case`PONG`:t.pingMs=Date.now()-(r.ts||0);break;case`CLOSE`:n.term?.write(`\r -\x1B[33m━━ 连接已关闭 ━━\x1B[0m\r -`);break}}catch{n.term?.write(e.data)}},o.onclose=e=>{if(E(t),e.code===4001){n.term?.write(`\r -\x1B[31m⚠ 认证失败,请重新登录\x1B[0m\r -`),setTimeout(()=>i.push(`/login`),2e3);return}if(e.code===4003){t.status=`error`,n.term?.write(`\r\n\x1b[31m⚠ 授权失败: ${e.reason||`SSH凭据未配置`}\x1b[0m\r\n`),t.showOverlay=!0,t.overlayMsg=e.reason||`SSH 凭据未配置`,t.reconnectCountdown=``;return}t.status=`error`,n.ws=null,!t.manualDisconnect&&e.code!==1e3&&e.code!==4001&&e.code!==4003?me(t):(t.showOverlay=!0,t.overlayMsg=`连接已断开`,t.reconnectCountdown=``)},o.onerror=()=>{}}function me(e){let t=$(e.id);if(!t)return;e.reconnectAttempt++;let n=Math.min(1e3*2**(e.reconnectAttempt-1),3e4);e.showOverlay=!0,e.overlayMsg=`连接已断开`,e.reconnectCountdown=`${Math.ceil(n/1e3)} 秒后自动重连…`,t.reconnectTimer=setTimeout(()=>{he(e)},n)}async function he(e){let t=$(e.id);t&&(e.showOverlay=!1,e.reconnectCountdown=``,e.manualDisconnect=!1,e.reconnectAttempt=0,t.term?.clear(),await pe(e.id))}function ge(){let e=v.value;if(!e)return;let t=$(e.id);t?.reconnectTimer&&(clearTimeout(t.reconnectTimer),t.reconnectTimer=null),e.reconnectAttempt=0,he(e)}function _e(){let e=v.value;if(!e)return;let t=$(e.id);t&&(e.manualDisconnect=!0,t.reconnectTimer&&=(clearTimeout(t.reconnectTimer),null),t.ws&&=(t.ws.readyState===WebSocket.OPEN&&(t.ws.send(JSON.stringify({type:`CLOSE`})),t.ws.close(1e3,`User disconnect`)),null),E(e),ue(e),e.showOverlay=!0,e.overlayMsg=`连接已断开`,e.reconnectCountdown=``)}async function ve(e){c.value=e,await r();let t=$(e);t?.fitAddon&&setTimeout(()=>{try{t.fitAddon.fit()}catch{}},50),t?.term?.focus()}async function be(e){let t=s.value.findIndex(t=>t.id===e);if(t<0)return;if(fe(e),u.delete(e),s.value.splice(t,1),s.value.length===0){c.value=``;return}let n=Math.min(t,s.value.length-1);await ve(s.value[n].id)}async function Se(e,t){if(s.value.length>=nl){a(`最多10个标签`,`warning`);return}if(!e){d.value=!0;return}let n=s.value.find(t=>t.serverId===e);if(n){a(`该服务器已有会话,已切换过去`,`info`),await ve(n.id),t?.path&&le(n,t.path);return}let r=f.value.find(t=>t.id===e),i=r?r.name:`#${e}`,o=`term_${Date.now()}`,c={id:o,serverId:e,serverName:i,cwd:``,cmdHistory:oe.loadHistoryForNewSession(),cmdIdx:-1,reconnectAttempt:0,manualDisconnect:!1,status:`idle`,showOverlay:!1,overlayMsg:``,reconnectCountdown:``,uptime:``,pingMs:null,connectionStartTime:0,pendingPath:Wc(t?.path||``),initialCdSent:!1};Lc(o),s.value.push(c),await ve(o);let l=await re(o);if(!l){a(`终端面板未就绪,请关闭标签后重试`,`error`),await be(o);return}let u=ce(),p=new Oc;u.loadAddon(p),u.loadAddon(new Pc),u.open(l),zc(o,u),Bc(o,p),u.onData(e=>{Hc(o)&&x(o,e)}),u.onResize(({cols:e,rows:t})=>{let n=$(o)?.ws;n?.readyState===WebSocket.OPEN&&n.send(JSON.stringify({type:`RESIZE`,cols:e,rows:t}))}),u.onTitleChange(e=>{let t=ae(o);if(t){let n=e.match(/^(\/.+)/);n&&(t.cwd=n[1])}});let m=new ResizeObserver(()=>{try{p.fit()}catch{}});m.observe(l),Vc(o,m),await pe(o),setTimeout(()=>{try{p.fit()}catch{}},100),u.focus()}async function Ce(){let e=ne(),t=Wc(String(n.query.path||``)),r=n.query.new_tab===`1`||n.query.new_tab===`true`;if(e){if(!r){let n=s.value.find(t=>t.serverId===e);if(n){await ve(n.id),t&&le(n,t);return}}await Se(e,{path:t})}}function we(){document.fullscreenElement?document.exitFullscreen?.():l.value?.requestFullscreen?.()}async function O(){try{_.value=xe(await g.get(`/terminal/quick-commands`)||[])}catch{a(`快捷命令加载失败,已使用内置命令`,`warning`),_.value=xe([{id:1,name:`系统状态`,cmd:`systemctl status --no-pager 2>&1 | head -20\r`,is_builtin:!0,sort_order:1001},{id:2,name:`系统日志`,cmd:`journalctl -n 30 --no-pager 2>&1\r`,is_builtin:!0,sort_order:1002},{id:3,name:`磁盘使用`,cmd:`df -h\r`,is_builtin:!0,sort_order:1003},{id:4,name:`内存使用`,cmd:`free -h\r`,is_builtin:!0,sort_order:1004},{id:5,name:`进程列表`,cmd:`ps aux --sort=-%mem 2>&1 | head -15\r`,is_builtin:!0,sort_order:1005}])}}function k(e){let t=v.value;if(!t||!Hc(t.id)){a(`终端未连接`,`warning`);return}x(t.id,e),$(t.id)?.term?.focus()}async function Te(){try{f.value=(await g.get(`/servers/`,{per_page:200})).items||[]}catch{}}function Ee(e){if(e.ctrlKey&&e.key===`l`){e.preventDefault();let t=v.value,n=t?$(t.id):void 0;n?.term&&(n.term.clear(),Hc(t.id)&&x(t.id,`\f`));return}if(e.ctrlKey&&(e.key===`+`||e.key===`=`)){e.preventDefault(),o.changeFontSize(1);return}e.ctrlKey&&e.key===`-`&&(e.preventDefault(),o.changeFontSize(-1)),e.ctrlKey&&e.shiftKey&&e.key===`F`&&(e.preventDefault(),we())}function De(){s.value.map(e=>e.id).forEach(fe),u.clear(),s.value=[],c.value=``}return p(()=>[n.query.server_id,n.query.server,n.query.path,n.query.new_tab],()=>{Ce()}),{sessions:s,activeSessionId:c,activeSession:v,activeSessionConnected:y,cmdBarDisabled:ee,termContainer:l,showServerDialog:d,servers:f,serverSearch:m,filteredServers:b,showEmptyPicker:ie,quickCmds:_,fontSize:o.fontSize,scrollback:o.scrollback,scrollbackOptions:o.scrollbackOptions,changeFontSize:o.changeFontSize,changeScrollback:o.changeScrollback,cmdInput:oe.cmdInput,sendCmd:oe.sendCmd,onCmdKeydown:oe.onCmdKeydown,setTermRef:C,switchTab:ve,closeTab:be,newSession:Se,disconnect:_e,reconnect:ge,toggleFullscreen:we,loadQuickCmds:O,execQuickCmd:k,loadServers:Te,applyRouteQuery:Ce,onGlobalKeydown:Ee,disposeAllSessions:De,getNative:$,sendWsData:x}}var il={class:`d-flex align-center px-2 py-1 shrink-0 terminal-tab-bar`},al={class:`d-flex align-center ga-1 overflow-x-auto flex-grow-1`},ol={class:`text-truncate terminal-tab-bar__title`},sl=_e(d({__name:`TerminalTabBar`,props:{sessions:{},activeSessionId:{}},emits:[`switch`,`close`,`new`],setup(e){return(t,n)=>(u(),T(`div`,il,[b(`div`,al,[(u(!0),T(ee,null,a(e.sessions,r=>(u(),ne(D,{key:r.id,variant:r.id===e.activeSessionId?`flat`:`outlined`,color:r.id===e.activeSessionId?`primary`:`default`,size:`small`,label:``,class:`cursor-pointer`,onClick:e=>t.$emit(`switch`,r.id)},{prepend:f(()=>[E(m,{size:`8`,color:r.status===`connected`?`success`:r.status===`connecting`?`warning`:`grey`},{default:f(()=>[...n[1]||=[y(` mdi-circle `,-1)]]),_:1},8,[`color`])]),default:f(()=>[b(`span`,ol,ce(r.serverName),1),E(m,{end:``,size:`12`,class:`ml-1`,onClick:le(e=>t.$emit(`close`,r.id),[`stop`])},{default:f(()=>[...n[2]||=[y(`mdi-close`,-1)]]),_:1},8,[`onClick`])]),_:2},1032,[`variant`,`color`,`onClick`]))),128)),E(l,{size:`small`,variant:`tonal`,"prepend-icon":`mdi-plus`,onClick:n[0]||=e=>t.$emit(`new`)},{default:f(()=>[...n[3]||=[y(` 新建会话 `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-071fb540`]]),cl={class:`d-flex align-center justify-space-between px-4 py-1 shrink-0 terminal-toolbar`},ll={class:`d-flex align-center ga-3`},ul={class:`text-body-2 font-weight-medium`},dl={key:0,class:`text-caption text-medium-emphasis font-mono terminal-toolbar__cwd`},fl={key:2,class:`text-caption text-medium-emphasis`},pl={key:3,class:`text-caption text-medium-emphasis`},ml={class:`d-flex align-center ga-2 terminal-toolbar-actions`},hl={class:`text-body-2 font-weight-medium terminal-toolbar__font-size`},gl=_e(d({__name:`TerminalToolbar`,props:{session:{},fontSize:{},scrollback:{}},emits:[`font-change`,`scrollback-change`,`fullscreen`,`disconnect`],setup(e){let t=e,n=S(()=>t.session?Gc(t.session):``),r=S(()=>t.session?Kc(t.session):`grey`);return(t,i)=>(u(),T(`div`,cl,[b(`div`,ll,[b(`span`,ul,ce(e.session?.serverName||`...`),1),e.session?.cwd?(u(),T(`span`,dl,ce(e.session.cwd),1)):_(``,!0),e.session?(u(),ne(D,{key:1,color:r.value,variant:`tonal`,size:`x-small`,label:``},{prepend:f(()=>[E(m,{start:``,size:`8`},{default:f(()=>[...i[5]||=[y(`mdi-circle`,-1)]]),_:1})]),default:f(()=>[y(` `+ce(n.value),1)]),_:1},8,[`color`])):_(``,!0),e.session?.uptime?(u(),T(`span`,fl,ce(e.session.uptime),1)):_(``,!0),e.session?.pingMs!==null&&e.session?.pingMs!==void 0?(u(),T(`span`,pl,ce(e.session.pingMs)+`ms `,1)):_(``,!0)]),b(`div`,ml,[i[10]||=b(`span`,{class:`text-body-2 text-medium-emphasis shrink-0`},`字号`,-1),E(l,{variant:`tonal`,size:`small`,onClick:i[0]||=e=>t.$emit(`font-change`,-1)},{default:f(()=>[...i[6]||=[y(`缩小`,-1)]]),_:1}),b(`span`,hl,ce(e.fontSize),1),E(l,{variant:`tonal`,size:`small`,onClick:i[1]||=e=>t.$emit(`font-change`,1)},{default:f(()=>[...i[7]||=[y(`放大`,-1)]]),_:1}),E(he,{"model-value":e.scrollback,items:C(Yc),"item-title":`title`,"item-value":`value`,label:`回滚行数`,density:`comfortable`,"hide-details":``,variant:`outlined`,class:`terminal-toolbar-scrollback`,"onUpdate:modelValue":i[2]||=e=>t.$emit(`scrollback-change`,e)},null,8,[`model-value`,`items`]),E(l,{variant:`tonal`,size:`small`,"prepend-icon":`mdi-fullscreen`,onClick:i[3]||=e=>t.$emit(`fullscreen`)},{default:f(()=>[...i[8]||=[y(` 全屏 `,-1)]]),_:1}),E(l,{variant:`tonal`,size:`small`,color:`error`,"prepend-icon":`mdi-link-off`,onClick:i[4]||=e=>t.$emit(`disconnect`)},{default:f(()=>[...i[9]||=[y(` 断开 `,-1)]]),_:1})])]))}}),[[`__scopeId`,`data-v-951cf59a`]]),_l={key:0,class:`d-flex flex-column align-center justify-center fill-height pa-6`},vl={class:`text-center`},yl={class:`text-h6 mb-2`},bl={key:0,class:`text-body-2 text-medium-emphasis mb-4`},xl={class:`d-flex ga-3 justify-center`},Sl=_e(d({__name:`TerminalArea`,props:{sessions:{},activeSessionId:{},activeSession:{},showEmpty:{type:Boolean}},emits:[`context-menu`,`reconnect`,`go-servers`,`pane-ref`],setup(e,{expose:t,emit:n}){let r=e,i=n,o=h(null);function c(e){let t=e===r.activeSessionId;return{position:`absolute`,top:`0`,right:`0`,bottom:`0`,left:`0`,zIndex:+!!t,pointerEvents:t?`auto`:`none`,opacity:+!!t}}function d(e,t){i(`pane-ref`,e,t)}return t({containerRef:o}),(t,n)=>(u(),T(`div`,{ref_key:`containerRef`,ref:o,class:`flex-grow-1 terminal-area`,onContextmenu:n[2]||=e=>t.$emit(`context-menu`,e)},[(u(!0),T(ee,null,a(e.sessions,e=>(u(),T(`div`,{key:e.id,ref_for:!0,ref:t=>d(t,e.id),class:`terminal-area__pane`,style:v(c(e.id))},null,4))),128)),e.showEmpty?(u(),T(`div`,_l,[E(m,{size:`56`,color:`primary`,class:`mb-3`},{default:f(()=>[...n[3]||=[y(`mdi-console-network`,-1)]]),_:1}),n[4]||=b(`div`,{class:`text-h6 mb-1 text-center`},`WebSSH 终端`,-1),n[5]||=b(`div`,{class:`text-body-2 text-medium-emphasis mb-4 text-center`},` 选择一台服务器开始会话,或从服务器页点击「终端」 `,-1),s(t.$slots,`empty-picker`,{},void 0,!0)])):_(``,!0),e.activeSession?.showOverlay?(u(),ne(ie,{key:1,"model-value":!0,contained:``,class:`terminal-area__overlay d-flex align-center justify-center`,persistent:``,scrim:`rgba(0, 0, 0, 0.72)`},{default:f(()=>[b(`div`,vl,[b(`div`,yl,ce(e.activeSession.overlayMsg),1),e.activeSession.reconnectCountdown?(u(),T(`div`,bl,ce(e.activeSession.reconnectCountdown),1)):_(``,!0),b(`div`,xl,[E(l,{color:`primary`,variant:`flat`,onClick:n[0]||=e=>t.$emit(`reconnect`)},{default:f(()=>[...n[6]||=[y(`重新连接`,-1)]]),_:1}),E(l,{variant:`outlined`,onClick:n[1]||=e=>t.$emit(`go-servers`)},{default:f(()=>[...n[7]||=[y(`返回列表`,-1)]]),_:1})])])]),_:1})):_(``,!0)],544))}}),[[`__scopeId`,`data-v-ec25cfec`]]),Cl={class:`flex-grow-1 cmd-bar__input-wrap`},wl=_e(d({__name:`TerminalCmdBar`,props:{modelValue:{},disabled:{type:Boolean}},emits:[`update:modelValue`,`keydown`,`context-menu`],setup(e,{expose:t}){let n=h(null);function r(){return n.value?.getInputEl()??null}function i(){return n.value?.getSelectionText()??``}function a(){n.value?.selectAllInput()}async function o(e){await n.value?.insertAtSelection(e)}return t({getInputEl:r,getSelectionText:i,selectAllInput:a,insertAtSelection:o}),(t,r)=>(u(),T(`div`,{class:ae([`d-flex align-start ga-2 px-3 py-2 shrink-0 cmd-bar cmd-bar--tall`,{"cmd-bar--inactive":e.disabled}]),onContextmenu:r[2]||=e=>t.$emit(`context-menu`,e)},[r[3]||=b(`span`,{class:`cmd-bar__prompt font-mono text-primary shrink-0`},`❯`,-1),b(`div`,Cl,[E(be,{ref_key:`fieldRef`,ref:n,"model-value":e.modelValue,multiline:``,rows:2,size:`large`,placeholder:`输入命令,Enter 发送,Shift+Enter 换行`,disabled:e.disabled,"onUpdate:modelValue":r[0]||=e=>t.$emit(`update:modelValue`,e),onKeydown:r[1]||=e=>t.$emit(`keydown`,e)},null,8,[`model-value`,`disabled`])])],34))}}),[[`__scopeId`,`data-v-ced73cdc`]]),Tl={class:`terminal-quick-bar shrink-0`},El={class:`d-flex align-center ga-1 flex-grow-1 overflow-x-auto`},Dl=_e(d({__name:`TerminalQuickBar`,props:{commands:{},disconnectDisabled:{type:Boolean}},emits:[`exec`,`disconnect`],setup(e){return(t,n)=>(u(),T(`div`,Tl,[n[2]||=b(`span`,{class:`terminal-quick-bar__label`},`快捷命令`,-1),b(`div`,El,[(u(!0),T(ee,null,a(e.commands,e=>(u(),ne(D,{key:e.id,size:`small`,variant:e.is_builtin?`outlined`:`flat`,color:e.is_builtin?`default`:`primary`,label:``,class:`cursor-pointer`,onClick:n=>t.$emit(`exec`,e.cmd)},{default:f(()=>[y(ce(e.name),1)]),_:2},1032,[`variant`,`color`,`onClick`]))),128))]),E(l,{size:`small`,variant:`text`,color:`error`,"prepend-icon":`mdi-link-off`,disabled:e.disconnectDisabled,onClick:n[0]||=e=>t.$emit(`disconnect`)},{default:f(()=>[...n[1]||=[y(` 断开 `,-1)]]),_:1},8,[`disabled`])]))}}),[[`__scopeId`,`data-v-f75a3e34`]]),Ol=_e(d({__name:`TerminalServerPicker`,props:{servers:{},search:{},mode:{default:`inline`}},emits:[`update:search`,`select`],setup(e){return(t,n)=>e.mode===`inline`?(u(),ne(me,{key:0,border:``,rounded:`lg`,class:`empty-server-picker`,"max-width":`520`,width:`100%`},{default:f(()=>[E(fe,{class:`pa-3`},{default:f(()=>[E(ge,{"model-value":e.search,"prepend-inner-icon":`mdi-magnify`,placeholder:`搜索服务器…`,variant:`outlined`,density:`compact`,"hide-details":``,class:`mb-2`,"onUpdate:modelValue":n[0]||=e=>t.$emit(`update:search`,e)},null,8,[`model-value`]),E(x,{density:`compact`,class:`empty-server-picker__list`,nav:``},{default:f(()=>[(u(!0),T(ee,null,a(e.servers,e=>(u(),ne(oe,{key:e.id,title:e.name,subtitle:e.domain,rounded:`lg`,onClick:n=>t.$emit(`select`,e.id)},{prepend:f(()=>[E(m,{color:e.is_online?`success`:`grey`,size:`8`},{default:f(()=>[...n[2]||=[y(`mdi-circle`,-1)]]),_:1},8,[`color`])]),_:2},1032,[`title`,`subtitle`,`onClick`]))),128)),e.servers.length===0?(u(),ne(oe,{key:0,class:`text-medium-emphasis`},{default:f(()=>[...n[3]||=[y(` 暂无匹配的服务器 `,-1)]]),_:1})):_(``,!0)]),_:1})]),_:1})]),_:1})):(u(),T(ee,{key:1},[E(ge,{"model-value":e.search,"prepend-inner-icon":`mdi-magnify`,placeholder:`搜索…`,variant:`outlined`,density:`compact`,class:`mb-3`,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:search`,e)},null,8,[`model-value`]),E(x,{density:`compact`,"max-height":`300`,style:{"overflow-y":`auto`}},{default:f(()=>[(u(!0),T(ee,null,a(e.servers,e=>(u(),ne(oe,{key:e.id,title:e.name,subtitle:e.domain,onClick:n=>t.$emit(`select`,e.id)},{prepend:f(()=>[E(m,{color:e.is_online?`success`:`grey`,size:`8`},{default:f(()=>[...n[4]||=[y(`mdi-circle`,-1)]]),_:1},8,[`color`])]),_:2},1032,[`title`,`subtitle`,`onClick`]))),128)),e.servers.length===0?(u(),ne(oe,{key:0,class:`text-medium-emphasis`},{default:f(()=>[...n[5]||=[y(` 暂无匹配的服务器 `,-1)]]),_:1})):_(``,!0)]),_:1})],64))}}),[[`__scopeId`,`data-v-abd2b4bc`]]),kl={class:`d-flex flex-column flex-grow-1`,style:{"min-height":`0`}},Al=_e(d({name:`TerminalPage`,__name:`TerminalPage`,setup(r){let a=w(),o=t(),{sessions:s,activeSessionId:l,activeSession:d,cmdBarDisabled:m,termContainer:g,showServerDialog:v,serverSearch:te,filteredServers:ie,showEmptyPicker:ae,quickCmds:ce,fontSize:le,scrollback:D,changeFontSize:he,changeScrollback:ge,cmdInput:_e,onCmdKeydown:ye,setTermRef:be,switchTab:xe,closeTab:Se,newSession:Ce,disconnect:we,reconnect:O,toggleFullscreen:k,loadQuickCmds:Te,execQuickCmd:Ee,loadServers:De,applyRouteQuery:Oe,onGlobalKeydown:ke,disposeAllSessions:Ae,getNative:je}=rl(de(`nexusDrawer`,h(!0))),Me=h(null),Ne=h(null);p(()=>Me.value?.containerRef,e=>{g.value=e??null},{flush:`post`});let Pe=h(!1),Fe=h(0),Ie=h(0),Le=h(`terminal`),Re=S(()=>Ie.value>window.innerHeight*.55?`top end`:`bottom end`);function ze(e){te.value=e}function Be(e,t){e.preventDefault(),Le.value=t,Fe.value=e.clientX,Ie.value=e.clientY,Pe.value=!0}function Ve(e){Be(e,`terminal`)}function He(e){Be(e,`command`)}function Ue(e){v.value=!1,Ce(e)}function We(){if(Pe.value=!1,Le.value===`command`){let e=Ne.value?.getSelectionText()||``;if(e){navigator.clipboard.writeText(e).catch(()=>o(`复制失败`,`error`));return}}let e=window.getSelection()?.toString();if(e){navigator.clipboard.writeText(e).catch(()=>o(`复制失败`,`error`));return}let t=d.value;if(t){let e=je(t.id)?.term?.getSelection();e&&navigator.clipboard.writeText(e).catch(()=>o(`复制失败`,`error`))}}async function Ge(){Pe.value=!1;try{let e=await navigator.clipboard.readText();if(!e)return;if(Le.value===`command`){await Ne.value?.insertAtSelection(e);return}let t=d.value;je(t?.id||``)?.term?.paste(e)}catch{o(`剪贴板访问被拒绝`,`warning`)}}function Ke(){if(Pe.value=!1,Le.value===`command`){Ne.value?.selectAllInput();return}je(d.value?.id||``)?.term?.selectAll()}function qe(){Pe.value=!1,je(d.value?.id||``)?.term?.clear()}function Je(){Pe.value=!1;let e=d.value;e&&Se(e.id)}return c(async()=>{document.addEventListener(`keydown`,ke),await De(),await Te(),await Oe()}),n(()=>{document.removeEventListener(`keydown`,ke),Ae()}),(t,n)=>(u(),ne(e,{fluid:``,class:`pa-0 d-flex flex-column terminal-root terminal-root--classic`},{default:f(()=>[E(se,{modelValue:Pe.value,"onUpdate:modelValue":n[0]||=e=>Pe.value=e,target:[Fe.value,Ie.value],location:Re.value,"content-class":`terminal-ctx-menu`},{default:f(()=>[E(x,{density:`comfortable`,nav:``,class:`py-1`},{default:f(()=>[E(oe,{"prepend-icon":`mdi-content-copy`,rounded:`lg`,onClick:We},{default:f(()=>[E(re,null,{default:f(()=>[...n[6]||=[y(`复制`,-1)]]),_:1})]),_:1}),E(oe,{"prepend-icon":`mdi-content-paste`,rounded:`lg`,onClick:Ge},{default:f(()=>[E(re,null,{default:f(()=>[...n[7]||=[y(`粘贴`,-1)]]),_:1})]),_:1}),E(oe,{"prepend-icon":`mdi-select-all`,rounded:`lg`,onClick:Ke},{default:f(()=>[E(re,null,{default:f(()=>[...n[8]||=[y(`全选`,-1)]]),_:1})]),_:1}),Le.value===`terminal`?(u(),T(ee,{key:0},[E(ue,{class:`my-1`}),E(oe,{"prepend-icon":`mdi-delete-sweep`,rounded:`lg`,onClick:qe},{default:f(()=>[E(re,null,{default:f(()=>[...n[9]||=[y(`清屏`,-1)]]),_:1})]),_:1}),E(oe,{"prepend-icon":`mdi-logout`,rounded:`lg`,disabled:!C(d),onClick:Je},{default:f(()=>[E(re,{class:`text-error`},{default:f(()=>[...n[10]||=[y(`断开连接`,-1)]]),_:1})]),_:1},8,[`disabled`])],64)):_(``,!0)]),_:1})]),_:1},8,[`modelValue`,`target`,`location`]),b(`div`,kl,[E(sl,{sessions:C(s),"active-session-id":C(l),onSwitch:C(xe),onClose:C(Se),onNew:n[1]||=e=>C(Ce)()},null,8,[`sessions`,`active-session-id`,`onSwitch`,`onClose`]),C(s).length>0?(u(),ne(gl,{key:0,session:C(d),"font-size":C(le),scrollback:C(D),onFontChange:C(he),onScrollbackChange:C(ge),onFullscreen:C(k),onDisconnect:C(we)},null,8,[`session`,`font-size`,`scrollback`,`onFontChange`,`onScrollbackChange`,`onFullscreen`,`onDisconnect`])):_(``,!0),E(Sl,{ref_key:`areaRef`,ref:Me,sessions:C(s),"active-session-id":C(l),"active-session":C(d),"show-empty":C(ae),onContextMenu:Ve,onPaneRef:C(be),onReconnect:C(O),onGoServers:n[3]||=e=>C(a).push(`/servers`)},{"empty-picker":f(()=>[E(Ol,{servers:C(ie),search:C(te),mode:`inline`,"onUpdate:search":ze,onSelect:n[2]||=e=>C(Ce)(e)},null,8,[`servers`,`search`])]),_:1},8,[`sessions`,`active-session-id`,`active-session`,`show-empty`,`onPaneRef`,`onReconnect`]),E(Dl,{commands:C(ce),"disconnect-disabled":!C(d),onExec:C(Ee),onDisconnect:C(we)},null,8,[`commands`,`disconnect-disabled`,`onExec`,`onDisconnect`]),E(wl,{ref_key:`cmdBarRef`,ref:Ne,modelValue:C(_e),"onUpdate:modelValue":n[4]||=e=>i(_e)?_e.value=e:null,disabled:C(m),onKeydown:C(ye),onContextMenu:He},null,8,[`modelValue`,`disabled`,`onKeydown`])]),E(ve,{modelValue:C(v),"onUpdate:modelValue":n[5]||=e=>i(v)?v.value=e:null,"max-width":`400`},{default:f(()=>[E(me,{border:``},{default:f(()=>[E(pe,null,{default:f(()=>[...n[11]||=[y(`选择服务器`,-1)]]),_:1}),E(fe,null,{default:f(()=>[E(Ol,{servers:C(ie),search:C(te),mode:`dialog`,"onUpdate:search":ze,onSelect:Ue},null,8,[`servers`,`search`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-06d82291`]]);export{Al as default}; \ No newline at end of file diff --git a/web/app/assets/TerminalPage-AfvJqsJf.js b/web/app/assets/TerminalPage-CI1qyspn.js similarity index 99% rename from web/app/assets/TerminalPage-AfvJqsJf.js rename to web/app/assets/TerminalPage-CI1qyspn.js index 82017021..dc1d0bd0 100644 --- a/web/app/assets/TerminalPage-AfvJqsJf.js +++ b/web/app/assets/TerminalPage-CI1qyspn.js @@ -1,4 +1,4 @@ -import{n as e,t}from"./useSnackbar-CmDJGLzR.js";import{Ar as n,Dr as r,Gr as i,Ir as a,Kr as o,Lr as s,Mr as c,P as l,Pr as u,Sr as d,Ur as f,Vr as p,X as m,Xr as h,Xt as g,_r as _,ai as v,br as y,dr as ee,en as te,gr as ne,h as re,hr as b,i as ie,ii as ae,l as x,m as oe,mr as S,n as se,ni as C,oi as ce,tn as w,ur as le,v as ue,vr as T,wr as de,xr as E,y as D}from"./index-DawRgH7u.js";import{n as fe,r as pe,t as me}from"./VCard-rBfCdgX2.js";import{t as he}from"./VSelect-XuQYQvJc.js";import{t as ge}from"./VTextField-BZnszgeR.js";import{t as _e}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ve}from"./VDialog-8YoHW6GE.js";import{t as ye}from"./wsUrl-CqmqkTTE.js";import{r as be,t as xe}from"./useTerminalQuickCommands-BGuDe6GB.js";var Se=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,we=(e,t)=>{for(var n in t)Se(e,n,{get:t[n],enumerable:!0})},O=(e,t,n,r)=>{for(var i=r>1?void 0:r?Ce(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Se(t,n,i),i},k=(e,t)=>(n,r)=>t(n,r,e),Te=`Terminal input`,Ee={get:()=>Te,set:e=>Te=e},De=`Too much output to announce, navigate to rows manually to read`,Oe={get:()=>De,set:e=>De=e};function ke(e){return e.replace(/\r?\n/g,`\r`)}function Ae(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function je(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Me(e,t,n,r){e.stopPropagation(),e.clipboardData&&Ne(e.clipboardData.getData(`text/plain`),t,n,r)}function Ne(e,t,n,r){e=ke(e),e=Ae(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Pe(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function Fe(e,t,n,r,i){Pe(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ie(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Le(e,t=0,n=e.length){let r=``;for(let i=t;i65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var Re=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},ze=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Be=``,Ve=` `,He=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Ue}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Ue=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},We=class e extends He{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Ue,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ie(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Ge=`di$target`,Ke=`di$dependencies`,qe=new Map;function Je(e){return e[Ke]||[]}function A(e){if(qe.has(e))return qe.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Ye(t,e,r)};return t._id=e,qe.set(e,t),t}function Ye(e,t,n){t[Ge]===t?t[Ke].push({id:e,index:n}):(t[Ke]=[{id:e,index:n}],t[Ge]=t)}var Xe=A(`BufferService`),Ze=A(`CoreMouseService`),Qe=A(`CoreService`),$e=A(`CharsetService`),et=A(`InstantiationService`),tt=A(`LogService`),nt=A(`OptionsService`),rt=A(`OscLinkService`),it=A(`UnicodeService`),at=A(`DecorationService`),ot=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new We,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;ti?i.activate(e,t,a):st(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};ot=O([k(0,Xe),k(1,nt),k(2,rt)],ot);function st(e,t){if(confirm(`Do you want to navigate to ${t}? +import{n as e,t}from"./useSnackbar-P0rXZaHt.js";import{Ar as n,Dr as r,Gr as i,Ir as a,Kr as o,Lr as s,Mr as c,P as l,Pr as u,Sr as d,Ur as f,Vr as p,X as m,Xr as h,Xt as g,_r as _,ai as v,br as y,dr as ee,en as te,gr as ne,h as re,hr as b,i as ie,ii as ae,l as x,m as oe,mr as S,n as se,ni as C,oi as ce,tn as w,ur as le,v as ue,vr as T,wr as de,xr as E,y as D}from"./index-Bplw5zZe.js";import{n as fe,r as pe,t as me}from"./VCard-DwK3U69w.js";import{t as he}from"./VSelect-C2IkZQ4Y.js";import{t as ge}from"./VTextField-DVnxh9lX.js";import{t as _e}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as ve}from"./VDialog-DPwgR17F.js";import{t as ye}from"./wsUrl-CqmqkTTE.js";import{r as be,t as xe}from"./useTerminalQuickCommands-CBnMQV9W.js";var Se=Object.defineProperty,Ce=Object.getOwnPropertyDescriptor,we=(e,t)=>{for(var n in t)Se(e,n,{get:t[n],enumerable:!0})},O=(e,t,n,r)=>{for(var i=r>1?void 0:r?Ce(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&Se(t,n,i),i},k=(e,t)=>(n,r)=>t(n,r,e),Te=`Terminal input`,Ee={get:()=>Te,set:e=>Te=e},De=`Too much output to announce, navigate to rows manually to read`,Oe={get:()=>De,set:e=>De=e};function ke(e){return e.replace(/\r?\n/g,`\r`)}function Ae(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function je(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Me(e,t,n,r){e.stopPropagation(),e.clipboardData&&Ne(e.clipboardData.getData(`text/plain`),t,n,r)}function Ne(e,t,n,r){e=ke(e),e=Ae(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Pe(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function Fe(e,t,n,r,i){Pe(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ie(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Le(e,t=0,n=e.length){let r=``;for(let i=t;i65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var Re=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},ze=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},Be=``,Ve=` `,He=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Ue}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},Ue=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},We=class e extends He{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Ue,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Ie(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Ge=`di$target`,Ke=`di$dependencies`,qe=new Map;function Je(e){return e[Ke]||[]}function A(e){if(qe.has(e))return qe.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Ye(t,e,r)};return t._id=e,qe.set(e,t),t}function Ye(e,t,n){t[Ge]===t?t[Ke].push({id:e,index:n}):(t[Ke]=[{id:e,index:n}],t[Ge]=t)}var Xe=A(`BufferService`),Ze=A(`CoreMouseService`),Qe=A(`CoreService`),$e=A(`CharsetService`),et=A(`InstantiationService`),tt=A(`LogService`),nt=A(`OptionsService`),rt=A(`OscLinkService`),it=A(`UnicodeService`),at=A(`DecorationService`),ot=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new We,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;ti?i.activate(e,t,a):st(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};ot=O([k(0,Xe),k(1,nt),k(2,rt)],ot);function st(e,t){if(confirm(`Do you want to navigate to ${t}? WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var ct=A(`CharSizeService`),lt=A(`CoreBrowserService`),ut=A(`MouseService`),dt=A(`RenderService`),ft=A(`SelectionService`),pt=A(`CharacterJoinerService`),mt=A(`ThemeService`),ht=A(`LinkProviderService`),gt=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?St.isErrorNoTelemetry(e)?new St(e.message+` diff --git a/web/app/assets/VCard-DiTj681b.js b/web/app/assets/VCard-DwK3U69w.js similarity index 98% rename from web/app/assets/VCard-DiTj681b.js rename to web/app/assets/VCard-DwK3U69w.js index 45f870eb..8cfdfb0c 100644 --- a/web/app/assets/VCard-DiTj681b.js +++ b/web/app/assets/VCard-DwK3U69w.js @@ -1 +1 @@ -import{B as e,Cn as t,Er as n,G as r,H as i,I as a,J as o,K as s,L as c,Nn as l,Q as u,R as d,S as f,U as p,V as m,Vr as h,Wr as g,X as _,Zr as v,_n as y,_t as b,ai as x,at as S,bn as C,dr as w,dt as T,fn as E,ft as D,gt as O,hr as k,ht as A,ii as j,in as M,it as N,lt as P,mt as F,oi as I,ot as L,pn as R,pt as z,q as ee,rn as B,ut as V,w as H,wn as U,xr as W,yn as G,z as K}from"./index-DZEQidkT.js";var q=U({...t(),...P()},`VCardActions`),J=G()({name:`VCardActions`,props:q(),setup(e,{slots:t}){return C({VBtn:{slim:!0,variant:`text`}}),R(()=>W(e.tag,{class:j([`v-card-actions`,e.class]),style:x(e.style)},t)),{}}}),Y=U({opacity:[Number,String],...t(),...P()},`VCardSubtitle`),X=G()({name:`VCardSubtitle`,props:Y(),setup(e,{slots:t}){return R(()=>W(e.tag,{class:j([`v-card-subtitle`,e.class]),style:x([{"--v-card-subtitle-opacity":e.opacity},e.style])},t)),{}}}),Z=y(`v-card-title`),Q=U({appendAvatar:String,appendIcon:E,prependAvatar:String,prependIcon:E,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...t(),...F(),...P()},`VCardItem`),te=G()({name:`VCardItem`,props:Q(),setup(e,{slots:t}){return R(()=>{let n=!!(e.prependAvatar||e.prependIcon),r=!!(n||t.prepend),i=!!(e.appendAvatar||e.appendIcon),a=!!(i||t.append),o=!!(e.title!=null||t.title),s=!!(e.subtitle!=null||t.subtitle);return W(e.tag,{class:j([`v-card-item`,e.class]),style:x(e.style)},{default:()=>[r&&k(`div`,{key:`prepend`,class:`v-card-item__prepend`},[t.prepend?W(u,{key:`prepend-defaults`,disabled:!n,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},t.prepend):k(w,null,[e.prependAvatar&&W(f,{key:`prepend-avatar`,density:e.density,image:e.prependAvatar},null),e.prependIcon&&W(_,{key:`prepend-icon`,density:e.density,icon:e.prependIcon},null)])]),k(`div`,{class:`v-card-item__content`},[o&&W(Z,{key:`title`},{default:()=>[t.title?.()??I(e.title)]}),s&&W(X,{key:`subtitle`},{default:()=>[t.subtitle?.()??I(e.subtitle)]}),t.default?.()]),a&&k(`div`,{key:`append`,class:`v-card-item__append`},[t.append?W(u,{key:`append-defaults`,disabled:!i,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},t.append):k(w,null,[e.appendIcon&&W(_,{key:`append-icon`,density:e.density,icon:e.appendIcon},null),e.appendAvatar&&W(f,{key:`append-avatar`,density:e.density,image:e.appendAvatar},null)])])]})}),{}}}),ne=U({opacity:[Number,String],...t(),...P()},`VCardText`),$=G()({name:`VCardText`,props:ne(),setup(e,{slots:t}){return R(()=>W(e.tag,{class:j([`v-card-text`,e.class]),style:x([{"--v-card-text-opacity":e.opacity},e.style])},t)),{}}}),re=U({appendAvatar:String,appendIcon:E,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:E,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...O(),...t(),...F(),...ee(),...D(),...i(),...r(),...K(),...V(),...c(),...P(),...B(),...S({variant:`elevated`})},`VCard`),ie=G()({name:`VCard`,directives:{vRipple:a},props:re(),setup(t,{attrs:r,slots:i}){let{themeClasses:c}=M(t),{borderClasses:f}=b(t),{colorClasses:_,colorStyles:y,variantClasses:x}=L(t),{densityClasses:S}=A(t),{dimensionStyles:C}=o(t),{elevationClasses:w}=z(t),{loaderClasses:E}=p(t),{locationStyles:D}=s(t),{positionClasses:O}=e(t),{roundedClasses:j}=T(t),P=d(t,r),F=v(void 0);return h(()=>t.loading,(e,t)=>{F.value=!e&&typeof t==`string`?t:typeof e==`boolean`?void 0:e},{immediate:!0}),R(()=>{let e=t.link!==!1&&P.isLink.value,r=!t.disabled&&t.link!==!1&&(t.link||P.isClickable.value),o=e?`a`:t.tag,s=!!(i.title||t.title!=null),d=!!(i.subtitle||t.subtitle!=null),p=s||d,h=!!(i.append||t.appendAvatar||t.appendIcon),v=!!(i.prepend||t.prependAvatar||t.prependIcon),b=!!(i.image||t.image),T=p||v||h,A=!!(i.text||t.text!=null);return g(W(o,n(P.linkProps,{class:[`v-card`,{"v-card--disabled":t.disabled,"v-card--flat":t.flat,"v-card--hover":t.hover&&!(t.disabled||t.flat),"v-card--link":r},c.value,f.value,_.value,S.value,w.value,E.value,O.value,j.value,x.value,t.class],style:[y.value,C.value,D.value,{"--v-card-height":l(t.height)},t.style],onClick:r&&P.navigate.value,tabindex:t.disabled?-1:void 0}),{default:()=>[b&&k(`div`,{key:`image`,class:`v-card__image`},[i.image?W(u,{key:`image-defaults`,disabled:!t.image,defaults:{VImg:{cover:!0,src:t.image}}},i.image):W(H,{key:`image-img`,cover:!0,src:t.image},null)]),W(m,{name:`v-card`,active:!!t.loading,color:F.value},{default:i.loader}),T&&W(te,{key:`item`,prependAvatar:t.prependAvatar,prependIcon:t.prependIcon,title:t.title,subtitle:t.subtitle,appendAvatar:t.appendAvatar,appendIcon:t.appendIcon},{default:i.item,prepend:i.prepend,title:i.title,subtitle:i.subtitle,append:i.append}),A&&W($,{key:`text`},{default:()=>[i.text?.()??t.text]}),i.default?.(),i.actions&&W(J,null,{default:i.actions}),N(r,`v-card`)]}),[[a,r&&t.ripple]])}),{}}});export{J as a,X as i,$ as n,Z as r,ie as t}; \ No newline at end of file +import{B as e,Cn as t,Er as n,G as r,H as i,I as a,J as o,K as s,L as c,Nn as l,Q as u,R as d,S as f,U as p,V as m,Vr as h,Wr as g,X as _,Zr as v,_n as y,_t as b,ai as x,at as S,bn as C,dr as w,dt as T,fn as E,ft as D,gt as O,hr as k,ht as A,ii as j,in as M,it as N,lt as P,mt as F,oi as I,ot as L,pn as R,pt as z,q as ee,rn as B,ut as V,w as H,wn as U,xr as W,yn as G,z as K}from"./index-Bplw5zZe.js";var q=U({...t(),...P()},`VCardActions`),J=G()({name:`VCardActions`,props:q(),setup(e,{slots:t}){return C({VBtn:{slim:!0,variant:`text`}}),R(()=>W(e.tag,{class:j([`v-card-actions`,e.class]),style:x(e.style)},t)),{}}}),Y=U({opacity:[Number,String],...t(),...P()},`VCardSubtitle`),X=G()({name:`VCardSubtitle`,props:Y(),setup(e,{slots:t}){return R(()=>W(e.tag,{class:j([`v-card-subtitle`,e.class]),style:x([{"--v-card-subtitle-opacity":e.opacity},e.style])},t)),{}}}),Z=y(`v-card-title`),Q=U({appendAvatar:String,appendIcon:E,prependAvatar:String,prependIcon:E,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...t(),...F(),...P()},`VCardItem`),te=G()({name:`VCardItem`,props:Q(),setup(e,{slots:t}){return R(()=>{let n=!!(e.prependAvatar||e.prependIcon),r=!!(n||t.prepend),i=!!(e.appendAvatar||e.appendIcon),a=!!(i||t.append),o=!!(e.title!=null||t.title),s=!!(e.subtitle!=null||t.subtitle);return W(e.tag,{class:j([`v-card-item`,e.class]),style:x(e.style)},{default:()=>[r&&k(`div`,{key:`prepend`,class:`v-card-item__prepend`},[t.prepend?W(u,{key:`prepend-defaults`,disabled:!n,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},t.prepend):k(w,null,[e.prependAvatar&&W(f,{key:`prepend-avatar`,density:e.density,image:e.prependAvatar},null),e.prependIcon&&W(_,{key:`prepend-icon`,density:e.density,icon:e.prependIcon},null)])]),k(`div`,{class:`v-card-item__content`},[o&&W(Z,{key:`title`},{default:()=>[t.title?.()??I(e.title)]}),s&&W(X,{key:`subtitle`},{default:()=>[t.subtitle?.()??I(e.subtitle)]}),t.default?.()]),a&&k(`div`,{key:`append`,class:`v-card-item__append`},[t.append?W(u,{key:`append-defaults`,disabled:!i,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},t.append):k(w,null,[e.appendIcon&&W(_,{key:`append-icon`,density:e.density,icon:e.appendIcon},null),e.appendAvatar&&W(f,{key:`append-avatar`,density:e.density,image:e.appendAvatar},null)])])]})}),{}}}),ne=U({opacity:[Number,String],...t(),...P()},`VCardText`),$=G()({name:`VCardText`,props:ne(),setup(e,{slots:t}){return R(()=>W(e.tag,{class:j([`v-card-text`,e.class]),style:x([{"--v-card-text-opacity":e.opacity},e.style])},t)),{}}}),re=U({appendAvatar:String,appendIcon:E,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:E,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...O(),...t(),...F(),...ee(),...D(),...i(),...r(),...K(),...V(),...c(),...P(),...B(),...S({variant:`elevated`})},`VCard`),ie=G()({name:`VCard`,directives:{vRipple:a},props:re(),setup(t,{attrs:r,slots:i}){let{themeClasses:c}=M(t),{borderClasses:f}=b(t),{colorClasses:_,colorStyles:y,variantClasses:x}=L(t),{densityClasses:S}=A(t),{dimensionStyles:C}=o(t),{elevationClasses:w}=z(t),{loaderClasses:E}=p(t),{locationStyles:D}=s(t),{positionClasses:O}=e(t),{roundedClasses:j}=T(t),P=d(t,r),F=v(void 0);return h(()=>t.loading,(e,t)=>{F.value=!e&&typeof t==`string`?t:typeof e==`boolean`?void 0:e},{immediate:!0}),R(()=>{let e=t.link!==!1&&P.isLink.value,r=!t.disabled&&t.link!==!1&&(t.link||P.isClickable.value),o=e?`a`:t.tag,s=!!(i.title||t.title!=null),d=!!(i.subtitle||t.subtitle!=null),p=s||d,h=!!(i.append||t.appendAvatar||t.appendIcon),v=!!(i.prepend||t.prependAvatar||t.prependIcon),b=!!(i.image||t.image),T=p||v||h,A=!!(i.text||t.text!=null);return g(W(o,n(P.linkProps,{class:[`v-card`,{"v-card--disabled":t.disabled,"v-card--flat":t.flat,"v-card--hover":t.hover&&!(t.disabled||t.flat),"v-card--link":r},c.value,f.value,_.value,S.value,w.value,E.value,O.value,j.value,x.value,t.class],style:[y.value,C.value,D.value,{"--v-card-height":l(t.height)},t.style],onClick:r&&P.navigate.value,tabindex:t.disabled?-1:void 0}),{default:()=>[b&&k(`div`,{key:`image`,class:`v-card__image`},[i.image?W(u,{key:`image-defaults`,disabled:!t.image,defaults:{VImg:{cover:!0,src:t.image}}},i.image):W(H,{key:`image-img`,cover:!0,src:t.image},null)]),W(m,{name:`v-card`,active:!!t.loading,color:F.value},{default:i.loader}),T&&W(te,{key:`item`,prependAvatar:t.prependAvatar,prependIcon:t.prependIcon,title:t.title,subtitle:t.subtitle,appendAvatar:t.appendAvatar,appendIcon:t.appendIcon},{default:i.item,prepend:i.prepend,title:i.title,subtitle:i.subtitle,append:i.append}),A&&W($,{key:`text`},{default:()=>[i.text?.()??t.text]}),i.default?.(),i.actions&&W(J,null,{default:i.actions}),N(r,`v-card`)]}),[[a,r&&t.ripple]])}),{}}});export{J as a,X as i,$ as n,Z as r,ie as t}; \ No newline at end of file diff --git a/web/app/assets/VCard-rBfCdgX2.js b/web/app/assets/VCard-rBfCdgX2.js deleted file mode 100644 index d7e0db46..00000000 --- a/web/app/assets/VCard-rBfCdgX2.js +++ /dev/null @@ -1 +0,0 @@ -import{B as e,Cn as t,Er as n,G as r,H as i,I as a,J as o,K as s,L as c,Nn as l,Q as u,R as d,S as f,U as p,V as m,Vr as h,Wr as g,X as _,Zr as v,_n as y,_t as b,ai as x,at as S,bn as C,dr as w,dt as T,fn as E,ft as D,gt as O,hr as k,ht as A,ii as j,in as M,it as N,lt as P,mt as F,oi as I,ot as L,pn as R,pt as z,q as ee,rn as B,ut as V,w as H,wn as U,xr as W,yn as G,z as K}from"./index-DawRgH7u.js";var q=U({...t(),...P()},`VCardActions`),J=G()({name:`VCardActions`,props:q(),setup(e,{slots:t}){return C({VBtn:{slim:!0,variant:`text`}}),R(()=>W(e.tag,{class:j([`v-card-actions`,e.class]),style:x(e.style)},t)),{}}}),Y=U({opacity:[Number,String],...t(),...P()},`VCardSubtitle`),X=G()({name:`VCardSubtitle`,props:Y(),setup(e,{slots:t}){return R(()=>W(e.tag,{class:j([`v-card-subtitle`,e.class]),style:x([{"--v-card-subtitle-opacity":e.opacity},e.style])},t)),{}}}),Z=y(`v-card-title`),Q=U({appendAvatar:String,appendIcon:E,prependAvatar:String,prependIcon:E,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...t(),...F(),...P()},`VCardItem`),te=G()({name:`VCardItem`,props:Q(),setup(e,{slots:t}){return R(()=>{let n=!!(e.prependAvatar||e.prependIcon),r=!!(n||t.prepend),i=!!(e.appendAvatar||e.appendIcon),a=!!(i||t.append),o=!!(e.title!=null||t.title),s=!!(e.subtitle!=null||t.subtitle);return W(e.tag,{class:j([`v-card-item`,e.class]),style:x(e.style)},{default:()=>[r&&k(`div`,{key:`prepend`,class:`v-card-item__prepend`},[t.prepend?W(u,{key:`prepend-defaults`,disabled:!n,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},t.prepend):k(w,null,[e.prependAvatar&&W(f,{key:`prepend-avatar`,density:e.density,image:e.prependAvatar},null),e.prependIcon&&W(_,{key:`prepend-icon`,density:e.density,icon:e.prependIcon},null)])]),k(`div`,{class:`v-card-item__content`},[o&&W(Z,{key:`title`},{default:()=>[t.title?.()??I(e.title)]}),s&&W(X,{key:`subtitle`},{default:()=>[t.subtitle?.()??I(e.subtitle)]}),t.default?.()]),a&&k(`div`,{key:`append`,class:`v-card-item__append`},[t.append?W(u,{key:`append-defaults`,disabled:!i,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},t.append):k(w,null,[e.appendIcon&&W(_,{key:`append-icon`,density:e.density,icon:e.appendIcon},null),e.appendAvatar&&W(f,{key:`append-avatar`,density:e.density,image:e.appendAvatar},null)])])]})}),{}}}),ne=U({opacity:[Number,String],...t(),...P()},`VCardText`),$=G()({name:`VCardText`,props:ne(),setup(e,{slots:t}){return R(()=>W(e.tag,{class:j([`v-card-text`,e.class]),style:x([{"--v-card-text-opacity":e.opacity},e.style])},t)),{}}}),re=U({appendAvatar:String,appendIcon:E,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:E,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...O(),...t(),...F(),...ee(),...D(),...i(),...r(),...K(),...V(),...c(),...P(),...B(),...S({variant:`elevated`})},`VCard`),ie=G()({name:`VCard`,directives:{vRipple:a},props:re(),setup(t,{attrs:r,slots:i}){let{themeClasses:c}=M(t),{borderClasses:f}=b(t),{colorClasses:_,colorStyles:y,variantClasses:x}=L(t),{densityClasses:S}=A(t),{dimensionStyles:C}=o(t),{elevationClasses:w}=z(t),{loaderClasses:E}=p(t),{locationStyles:D}=s(t),{positionClasses:O}=e(t),{roundedClasses:j}=T(t),P=d(t,r),F=v(void 0);return h(()=>t.loading,(e,t)=>{F.value=!e&&typeof t==`string`?t:typeof e==`boolean`?void 0:e},{immediate:!0}),R(()=>{let e=t.link!==!1&&P.isLink.value,r=!t.disabled&&t.link!==!1&&(t.link||P.isClickable.value),o=e?`a`:t.tag,s=!!(i.title||t.title!=null),d=!!(i.subtitle||t.subtitle!=null),p=s||d,h=!!(i.append||t.appendAvatar||t.appendIcon),v=!!(i.prepend||t.prependAvatar||t.prependIcon),b=!!(i.image||t.image),T=p||v||h,A=!!(i.text||t.text!=null);return g(W(o,n(P.linkProps,{class:[`v-card`,{"v-card--disabled":t.disabled,"v-card--flat":t.flat,"v-card--hover":t.hover&&!(t.disabled||t.flat),"v-card--link":r},c.value,f.value,_.value,S.value,w.value,E.value,O.value,j.value,x.value,t.class],style:[y.value,C.value,D.value,{"--v-card-height":l(t.height)},t.style],onClick:r&&P.navigate.value,tabindex:t.disabled?-1:void 0}),{default:()=>[b&&k(`div`,{key:`image`,class:`v-card__image`},[i.image?W(u,{key:`image-defaults`,disabled:!t.image,defaults:{VImg:{cover:!0,src:t.image}}},i.image):W(H,{key:`image-img`,cover:!0,src:t.image},null)]),W(m,{name:`v-card`,active:!!t.loading,color:F.value},{default:i.loader}),T&&W(te,{key:`item`,prependAvatar:t.prependAvatar,prependIcon:t.prependIcon,title:t.title,subtitle:t.subtitle,appendAvatar:t.appendAvatar,appendIcon:t.appendIcon},{default:i.item,prepend:i.prepend,title:i.title,subtitle:i.subtitle,append:i.append}),A&&W($,{key:`text`},{default:()=>[i.text?.()??t.text]}),i.default?.(),i.actions&&W(J,null,{default:i.actions}),N(r,`v-card`)]}),[[a,r&&t.ripple]])}),{}}});export{J as a,X as i,$ as n,Z as r,ie as t}; \ No newline at end of file diff --git a/web/app/assets/VCheckbox-5Fmz8kLZ.js b/web/app/assets/VCheckbox-5Fmz8kLZ.js deleted file mode 100644 index da47da5b..00000000 --- a/web/app/assets/VCheckbox-5Fmz8kLZ.js +++ /dev/null @@ -1 +0,0 @@ -import{Er as e,Qn as t,Rn as n,Xr as r,pn as i,r as a,un as o,wn as s,xr as c,yn as l,zr as u}from"./index-DZEQidkT.js";import{d,f}from"./VSelect-CzNpj4qJ.js";import{l as p,m,u as h}from"./VTextField-CvZimSXQ.js";var g=s({...t(h(),[`direction`]),...t(f(),[`inline`])},`VCheckbox`),_=l()({name:`VCheckbox`,inheritAttrs:!1,props:g(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(t,{attrs:s,slots:l}){let f=o(t,`modelValue`),{isFocused:h,focus:g,blur:_}=m(t),v=r(),y=u();return i(()=>{let[r,i]=n(s),a=p.filterProps(t),o=d.filterProps(t);return c(p,e({ref:v,class:[`v-checkbox`,t.class]},r,a,{modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,id:t.id||`checkbox-${y}`,focused:h.value,style:t.style}),{...l,default:({id:t,messagesId:n,isDisabled:r,isReadonly:a,isValid:s})=>c(d,e(o,{id:t.value,"aria-describedby":n.value,disabled:r.value,readonly:a.value},i,{error:s.value===!1,modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,onFocus:g,onBlur:_}),l)})}),a({},v)}});export{_ as t}; \ No newline at end of file diff --git a/web/app/assets/VCheckbox-0cpfrSvP.js b/web/app/assets/VCheckbox-BnLUWPSt.js similarity index 80% rename from web/app/assets/VCheckbox-0cpfrSvP.js rename to web/app/assets/VCheckbox-BnLUWPSt.js index d3352375..4d39398c 100644 --- a/web/app/assets/VCheckbox-0cpfrSvP.js +++ b/web/app/assets/VCheckbox-BnLUWPSt.js @@ -1 +1 @@ -import{Er as e,Qn as t,Rn as n,Xr as r,pn as i,r as a,un as o,wn as s,xr as c,yn as l,zr as u}from"./index-DawRgH7u.js";import{d,f}from"./VSelect-XuQYQvJc.js";import{l as p,m,u as h}from"./VTextField-BZnszgeR.js";var g=s({...t(h(),[`direction`]),...t(f(),[`inline`])},`VCheckbox`),_=l()({name:`VCheckbox`,inheritAttrs:!1,props:g(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(t,{attrs:s,slots:l}){let f=o(t,`modelValue`),{isFocused:h,focus:g,blur:_}=m(t),v=r(),y=u();return i(()=>{let[r,i]=n(s),a=p.filterProps(t),o=d.filterProps(t);return c(p,e({ref:v,class:[`v-checkbox`,t.class]},r,a,{modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,id:t.id||`checkbox-${y}`,focused:h.value,style:t.style}),{...l,default:({id:t,messagesId:n,isDisabled:r,isReadonly:a,isValid:s})=>c(d,e(o,{id:t.value,"aria-describedby":n.value,disabled:r.value,readonly:a.value},i,{error:s.value===!1,modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,onFocus:g,onBlur:_}),l)})}),a({},v)}});export{_ as t}; \ No newline at end of file +import{Er as e,Qn as t,Rn as n,Xr as r,pn as i,r as a,un as o,wn as s,xr as c,yn as l,zr as u}from"./index-Bplw5zZe.js";import{d,f}from"./VSelect-C2IkZQ4Y.js";import{l as p,m,u as h}from"./VTextField-DVnxh9lX.js";var g=s({...t(h(),[`direction`]),...t(f(),[`inline`])},`VCheckbox`),_=l()({name:`VCheckbox`,inheritAttrs:!1,props:g(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(t,{attrs:s,slots:l}){let f=o(t,`modelValue`),{isFocused:h,focus:g,blur:_}=m(t),v=r(),y=u();return i(()=>{let[r,i]=n(s),a=p.filterProps(t),o=d.filterProps(t);return c(p,e({ref:v,class:[`v-checkbox`,t.class]},r,a,{modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,id:t.id||`checkbox-${y}`,focused:h.value,style:t.style}),{...l,default:({id:t,messagesId:n,isDisabled:r,isReadonly:a,isValid:s})=>c(d,e(o,{id:t.value,"aria-describedby":n.value,disabled:r.value,readonly:a.value},i,{error:s.value===!1,modelValue:f.value,"onUpdate:modelValue":e=>f.value=e,onFocus:g,onBlur:_}),l)})}),a({},v)}});export{_ as t}; \ No newline at end of file diff --git a/web/app/assets/VDataTable-JI1AS0YS.js b/web/app/assets/VDataTable-JI1AS0YS.js deleted file mode 100644 index 994f3833..00000000 --- a/web/app/assets/VDataTable-JI1AS0YS.js +++ /dev/null @@ -1 +0,0 @@ -import{$n as e,$r as t,Bn as n,Cn as r,Dr as i,Er as a,Fr as o,Gn as s,H as c,Hr as l,Jn as u,Kn as d,Mn as f,Nn as p,On as m,P as h,Pn as g,Qn as _,Qr as v,U as y,V as b,Vn as x,Vr as S,Wn as C,X as w,Xr as T,Z as E,Zr as D,ai as ee,at as O,bn as k,br as A,cn as j,dr as M,ei as te,er as N,fn as P,ft as F,gn as I,gt as ne,hr as L,ht as re,ii as R,in as ie,ir as ae,jr as oe,kn as se,ln as ce,lt as z,mr as B,mt as V,nn as le,oi as ue,on as de,pn as H,qn as fe,ri as pe,rn as me,sn as U,st as he,ti as W,un as G,ur as K,ut as ge,v as _e,vn as ve,wn as q,wr as J,xn as ye,xr as Y,y as be,yn as X}from"./index-DZEQidkT.js";import{a as xe,d as Z,o as Se,t as Ce}from"./VSelect-CzNpj4qJ.js";function we(e,t,n){return Object.keys(e).filter(e=>d(e)&&e.endsWith(t)).reduce((r,i)=>(r[i.slice(0,-t.length)]=t=>se(e[i],t,n(t)),r),{})}function Te(){let e=T([]);oe(()=>e.value=[]);function t(t,n){e.value[n]=t}return{refs:e,updateRef:t}}var Ee=q({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1==0},totalVisible:[Number,String],firstIcon:{type:P,default:`$first`},prevIcon:{type:P,default:`$prev`},nextIcon:{type:P,default:`$next`},lastIcon:{type:P,default:`$last`},ariaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.root`},pageAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.page`},currentPageAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.currentPage`},firstAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.first`},previousAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.previous`},nextAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.next`},lastAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.last`},ellipsis:{type:String,default:`...`},showFirstLastPage:Boolean,...ne(),...r(),...V(),...F(),...ge(),...E(),...z({tag:`nav`}),...me(),...O({variant:`text`})},`VPagination`),De=X()({name:`VPagination`,props:Ee(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,{slots:n,emit:r}){let o=G(e,`modelValue`),{t:s,n:c}=j(),{isRtl:l}=ce(),{themeClasses:d}=ie(e),{width:f}=U(),p=D(-1);k(void 0,{scoped:!0});let{resizeRef:m}=le(e=>{if(!e.length)return;let{target:t,contentRect:n}=e[0],r=t.querySelector(`.v-pagination__list > *`);if(!r)return;let i=n.width;p.value=b(i,r.offsetWidth+parseFloat(getComputedStyle(r).marginRight)*2)}),_=B(()=>parseInt(e.length,10)),v=B(()=>parseInt(e.start,10)),y=B(()=>e.totalVisible==null?p.value>=0?p.value:b(f.value,58):parseInt(e.totalVisible,10));function b(t,n){let r=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((t-n*r)/n).toFixed(2))))}let x=B(()=>{if(_.value<=0||isNaN(_.value)||_.value>2**53-1||y.value<=0)return[];if(y.value===1)return[o.value];if(_.value<=y.value)return g(_.value,v.value);let t=y.value%2==0,n=t?y.value/2:Math.floor(y.value/2),r=t?n:n+1,i=_.value-n;if(r-o.value>=0)return[...g(Math.max(1,y.value-1),v.value),e.ellipsis,_.value];if(o.value-i>=+!!t){let t=y.value-1,n=_.value-t+v.value;return[v.value,e.ellipsis,...g(t,n)]}else{let t=Math.max(1,y.value-2),n=t===1?o.value:o.value-Math.ceil(t/2)+v.value;return[v.value,e.ellipsis,...g(t,n),e.ellipsis,_.value]}});function S(e,t,n){e.preventDefault(),o.value=t,n&&r(n,t)}let{refs:C,updateRef:w}=Te();k({VPaginationBtn:{color:t(()=>e.color),border:t(()=>e.border),density:t(()=>e.density),size:t(()=>e.size),variant:t(()=>e.variant),rounded:t(()=>e.rounded),elevation:t(()=>e.elevation)}});let T=B(()=>x.value.map((t,n)=>{let r=e=>w(e,n);if(typeof t==`string`)return{isActive:!1,key:`ellipsis-${n}`,page:t,props:{ref:r,ellipsis:!0,icon:!0,disabled:!0}};{let n=t===o.value;return{isActive:n,key:t,page:c(t),props:{ref:r,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:n?e.activeColor:e.color,"aria-current":n,"aria-label":s(n?e.currentPageAriaLabel:e.pageAriaLabel,t),onClick:e=>S(e,t)}}}})),E=B(()=>{let t=!!e.disabled||o.value<=v.value,n=!!e.disabled||o.value>=v.value+_.value-1;return{first:e.showFirstLastPage?{icon:l.value?e.lastIcon:e.firstIcon,onClick:e=>S(e,v.value,`first`),disabled:t,"aria-label":s(e.firstAriaLabel),"aria-disabled":t}:void 0,prev:{icon:l.value?e.nextIcon:e.prevIcon,onClick:e=>S(e,o.value-1,`prev`),disabled:t,"aria-label":s(e.previousAriaLabel),"aria-disabled":t},next:{icon:l.value?e.prevIcon:e.nextIcon,onClick:e=>S(e,o.value+1,`next`),disabled:n,"aria-label":s(e.nextAriaLabel),"aria-disabled":n},last:e.showFirstLastPage?{icon:l.value?e.firstIcon:e.lastIcon,onClick:e=>S(e,v.value+_.value-1,`last`),disabled:n,"aria-label":s(e.lastAriaLabel),"aria-disabled":n}:void 0}});function O(){let e=o.value-v.value;C.value[e]?.$el.focus()}function A(t){t.key===u.left&&!e.disabled&&o.value>Number(e.start)?(--o.value,i(O)):t.key===u.right&&!e.disabled&&o.valueY(e.tag,{ref:m,class:R([`v-pagination`,d.value,e.class]),style:ee(e.style),role:`navigation`,"aria-label":s(e.ariaLabel),onKeydown:A,"data-test":`v-pagination-root`},{default:()=>[L(`ul`,{class:`v-pagination__list`},[e.showFirstLastPage&&L(`li`,{key:`first`,class:`v-pagination__first`,"data-test":`v-pagination-first`},[n.first?n.first(E.value.first):Y(h,a({_as:`VPaginationBtn`},E.value.first),null)]),L(`li`,{key:`prev`,class:`v-pagination__prev`,"data-test":`v-pagination-prev`},[n.prev?n.prev(E.value.prev):Y(h,a({_as:`VPaginationBtn`},E.value.prev),null)]),T.value.map((e,t)=>L(`li`,{key:e.key,class:R([`v-pagination__item`,{"v-pagination__item--is-active":e.isActive}]),"data-test":`v-pagination-item`},[n.item?n.item(e):Y(h,a({_as:`VPaginationBtn`},e.props),{default:()=>[e.page]})])),L(`li`,{key:`next`,class:`v-pagination__next`,"data-test":`v-pagination-next`},[n.next?n.next(E.value.next):Y(h,a({_as:`VPaginationBtn`},E.value.next),null)]),e.showFirstLastPage&&L(`li`,{key:`last`,class:`v-pagination__last`,"data-test":`v-pagination-last`},[n.last?n.last(E.value.last):Y(h,a({_as:`VPaginationBtn`},E.value.last),null)])])]})),{}}}),Oe=q({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10},pageBy:{type:String,default:`any`}},`DataTable-paginate`),ke=Symbol.for(`vuetify:data-table-pagination`);function Ae(e){return{page:G(e,`page`,void 0,e=>Number(e??1)),itemsPerPage:G(e,`itemsPerPage`,void 0,e=>Number(e??10))}}function je(e){let{page:t,itemsPerPage:n,itemsLength:r}=e,i=B(()=>n.value===-1?0:n.value*(t.value-1)),a=B(()=>n.value===-1?r.value:Math.min(r.value,i.value+n.value)),s=B(()=>n.value===-1||r.value===0?1:Math.ceil(r.value/n.value));S([t,s],()=>{t.value>s.value&&(t.value=s.value)});function c(e){n.value=e,t.value=1}function l(){t.value=f(t.value+1,1,s.value)}function u(){t.value=f(t.value-1,1,s.value)}function d(e){t.value=f(e,1,s.value)}let p={page:t,itemsPerPage:n,startIndex:i,stopIndex:a,pageCount:s,itemsLength:r,nextPage:l,prevPage:u,setPage:d,setItemsPerPage:c};return o(ke,p),p}function Me(){let e=J(ke);if(!e)throw Error(`Missing pagination!`);return e}function Ne(e){let t=ye(`usePaginatedItems`),{items:n,startIndex:r,stopIndex:i,itemsPerPage:a}=e,o=B(()=>a.value<=0?W(n):W(n).slice(r.value,i.value));return S(o,e=>{t.emit(`update:currentItems`,e)},{immediate:!0}),{paginatedItems:o}}function Pe(e){let{sortedItems:t,paginate:n,group:r}=e,i=W(e.pageBy);if(i===`item`){let{paginatedItems:e,pageCount:i,setItemsPerPage:a,prevPage:o,nextPage:s,setPage:c}=n(t),{flatItems:l}=r(e);return{pageCount:i,setItemsPerPage:a,prevPage:o,nextPage:s,setPage:c,paginatedItems:l}}if(i===`group`){let{flatItems:e,groups:i}=r(t),{paginatedItems:a,pageCount:o,setItemsPerPage:s,prevPage:c,nextPage:l,setPage:u}=n(i);return{pageCount:o,setItemsPerPage:s,prevPage:c,nextPage:l,setPage:u,paginatedItems:B(()=>{if(!a.value.length)return[];let t=a.value.at(0).id,n=a.value.at(-1).id,r=e.value.findIndex(e=>e.type===`group`&&e.id===t),i=e.value.findIndex(e=>e.type===`group`&&e.id===n),o=e.value.findIndex((e,t)=>t>i&&e.type===`group`&&e.depth===0);return e.value.slice(r,o===-1?void 0:o)})}}if(i===`any`){let{flatItems:e}=r(t),{paginatedItems:i,pageCount:a,setItemsPerPage:o,prevPage:s,nextPage:c,setPage:l}=n(e);return{pageCount:a,setItemsPerPage:o,prevPage:s,nextPage:c,setPage:l,paginatedItems:i}}throw Error(`Unrecognized pagination target ${i}`)}var Fe=q({color:String,prevIcon:{type:P,default:`$prev`},nextIcon:{type:P,default:`$next`},firstIcon:{type:P,default:`$first`},lastIcon:{type:P,default:`$last`},itemsPerPageText:{type:String,default:`$vuetify.dataFooter.itemsPerPageText`},pageText:{type:String,default:`$vuetify.dataFooter.pageText`},firstPageLabel:{type:String,default:`$vuetify.dataFooter.firstPage`},prevPageLabel:{type:String,default:`$vuetify.dataFooter.prevPage`},nextPageLabel:{type:String,default:`$vuetify.dataFooter.nextPage`},lastPageLabel:{type:String,default:`$vuetify.dataFooter.lastPage`},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:`10`},{value:25,title:`25`},{value:50,title:`50`},{value:100,title:`100`},{value:-1,title:`$vuetify.dataFooter.itemsPerPageAll`}]},showCurrentPage:Boolean},`VDataTableFooter`),Ie=X()({name:`VDataTableFooter`,props:Fe(),setup(e,{slots:t}){let{t:n}=j(),{page:r,pageCount:i,startIndex:o,stopIndex:s,itemsLength:c,itemsPerPage:l,setItemsPerPage:u}=Me(),d=B(()=>e.itemsPerPageOptions.map(e=>typeof e==`number`?{value:e,title:e===-1?n(`$vuetify.dataFooter.itemsPerPageAll`):String(e)}:{...e,title:isNaN(Number(e.title))?n(e.title):e.title}));return H(()=>{let f=De.filterProps(e);return L(`div`,{class:`v-data-table-footer`},[t.prepend?.(),L(`div`,{class:`v-data-table-footer__items-per-page`},[L(`span`,null,[n(e.itemsPerPageText)]),Y(Ce,{items:d.value,itemColor:e.color,modelValue:l.value,"onUpdate:modelValue":e=>u(Number(e)),density:`compact`,variant:`outlined`,"aria-label":n(e.itemsPerPageText),hideDetails:!0},null)]),L(`div`,{class:`v-data-table-footer__info`},[L(`div`,null,[n(e.pageText,c.value?o.value+1:0,s.value,c.value)])]),L(`div`,{class:`v-data-table-footer__pagination`},[Y(De,a({modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,density:`comfortable`,firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:i.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:+!!e.showCurrentPage,variant:`plain`},_(f,[`color`])),null)])])}),{}}}),Q=ve({align:{type:String,default:`start`},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,{slots:t})=>{let n=e.tag??`td`,r=typeof e.fixed==`string`?e.fixed:e.fixed?`start`:`none`;return Y(n,{class:R([`v-data-table__td`,{"v-data-table-column--fixed":r===`start`,"v-data-table-column--fixed-end":r===`end`,"v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:p(e.height),width:p(e.width),maxWidth:p(e.maxWidth),left:r===`start`?p(e.fixedOffset||null):void 0,right:r===`end`?p(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?p(e.indent):void 0}},{default:()=>[t.default?.()]})}),Le=q({headers:Array},`DataTable-header`),Re=Symbol.for(`vuetify:data-table-headers`),ze={title:``,sortable:!1},Be={...ze,width:48};function Ve(e=[]){let t=e.map(e=>({element:e,priority:0}));return{enqueue:(e,n)=>{let r=!1;for(let i=0;in){t.splice(i,0,{element:e,priority:n}),r=!0;break}r||t.push({element:e,priority:n})},size:()=>t.length,count:()=>{let e=0;if(!t.length)return 0;let n=Math.floor(t[0].priority);for(let r=0;rt.shift()}}function He(e,t=[]){if(!e.children)t.push(e);else for(let n of e.children)He(n,t);return t}function Ue(e,t=new Set){for(let n of e)n.key&&t.add(n.key),n.children&&Ue(n.children,t);return t}function We(e){if(e.key){if(e.key===`data-table-group`)return ze;if([`data-table-expand`,`data-table-select`].includes(e.key))return Be}}function Ge(e,t=0){return e.children?Math.max(t,...e.children.map(e=>Ge(e,t+1))):t}function Ke(e){let t=!1;function n(e,r,i=`none`){if(e)if(i!==`none`&&(e.fixed=i),e.fixed===!0&&(e.fixed=`start`),e.fixed===r)if(e.children)if(r===`start`)for(let t=e.children.length-1;t>=0;t--)n(e.children[t],r,r);else for(let t=0;t=0;t--)n(e.children[t],r);else for(let t=0;t=0;t--)n(e[t],`start`);for(let t=0;t=0;t--)i=Je(e[t],i)}function qe(e,t=0){if(!e)return t;if(e.children){e.fixedOffset=t;for(let n of e.children)t=qe(n,t)}else e.fixed&&e.fixed!==`end`&&(e.fixedOffset=t,t+=parseFloat(e.width||`0`)||0);return t}function Je(e,t=0){if(!e)return t;if(e.children){e.fixedEndOffset=t;for(let n of e.children)t=Je(n,t)}else e.fixed===`end`&&(e.fixedEndOffset=t,t+=parseFloat(e.width||`0`)||0);return t}function Ye(e,t){let n=[],r=0,i=Ve(e);for(;i.size()>0;){let e=i.count(),a=[],o=1;for(;e>0;){let{element:n,priority:s}=i.dequeue(),c=t-r-Ge(n);if(a.push({...n,rowspan:c??1,colspan:n.children?He(n).length:1}),n.children)for(let e of n.children){let t=s%1+o/10**(r+2);i.enqueue(e,r+c+t)}o+=1,--e}r+=1,n.push(a)}return{columns:e.map(e=>He(e)).flat(),headers:n}}function Xe(e){let t=[];for(let n of e){let e={...We(n),...n},r=e.key??(typeof e.value==`string`?e.value:null),i=e.value??r??null,a={...e,key:r,value:i,sortable:e.sortable??(e.key!=null||!!e.sort),children:e.children?Xe(e.children):void 0};t.push(a)}return t}function Ze(e,t){let n=T([]),r=T([]),i=T({}),a=T({}),s=T({});l(()=>{let o=(e.headers||Object.keys(e.items[0]??{}).map(e=>({key:e,title:pe(e)}))).slice(),c=Ue(o);t?.groupBy?.value.length&&!c.has(`data-table-group`)&&o.unshift({key:`data-table-group`,title:`Group`}),t?.showSelect?.value&&!c.has(`data-table-select`)&&o.unshift({key:`data-table-select`}),t?.showExpand?.value&&!c.has(`data-table-expand`)&&o.push({key:`data-table-expand`});let l=Xe(o);Ke(l);let u=Ye(l,Math.max(...l.map(e=>Ge(e)))+1);n.value=u.headers,r.value=u.columns;let d=u.headers.flat(1);for(let e of d)e.key&&(e.sortable&&(e.sort&&(i.value[e.key]=e.sort),e.sortRaw&&(a.value[e.key]=e.sortRaw)),e.filter&&(s.value[e.key]=e.filter))});let c={headers:n,columns:r,sortFunctions:i,sortRawFunctions:a,filterFunctions:s};return o(Re,c),c}function $(){let e=J(Re);if(!e)throw Error(`Missing headers!`);return e}var Qe={showSelectAll:!1,allSelected:()=>[],select:({items:e,value:t})=>new Set(t?[e[0]?.value]:[]),selectAll:({selected:e})=>e},$e={showSelectAll:!0,allSelected:({currentPage:e})=>e,select:({items:e,value:t,selected:n})=>{for(let r of e)t?n.add(r.value):n.delete(r.value);return n},selectAll:({value:e,currentPage:t,selected:n})=>$e.select({items:t,value:e,selected:n})},et={showSelectAll:!0,allSelected:({allItems:e})=>e,select:({items:e,value:t,selected:n})=>{for(let r of e)t?n.add(r.value):n.delete(r.value);return n},selectAll:({value:e,allItems:t})=>new Set(e?t.map(e=>e.value):[])},tt=q({showSelect:Boolean,selectStrategy:{type:[String,Object],default:`page`},modelValue:{type:Array,default:()=>[]},valueComparator:Function},`DataTable-select`),nt=Symbol.for(`vuetify:data-table-selection`);function rt(e,{allItems:n,currentPage:r}){let i=G(e,`modelValue`,e.modelValue,t=>{let r=e.valueComparator;return r?new Set(N(t).map(e=>n.value.find(t=>r(e,t.value))?.value??e)):new Set(N(t).map(e=>fe(e)?n.value.find(t=>e===t.value)?.value??e:n.value.find(t=>I(e,t.value))?.value??e))},e=>[...e.values()]),a=B(()=>n.value.filter(e=>e.selectable)),s=B(()=>W(r).filter(e=>e.selectable)),c=B(()=>{if(typeof e.selectStrategy==`object`)return e.selectStrategy;switch(e.selectStrategy){case`single`:return Qe;case`all`:return et;default:return $e}}),l=D(null);function u(e){return N(e).every(e=>i.value.has(e.value))}function d(e){return N(e).some(e=>i.value.has(e.value))}function f(e,t){i.value=c.value.select({items:e,value:t,selected:new Set(i.value)})}function p(t,n,i){let a=[],o=W(r);if(n??=o.findIndex(e=>e.value===t.value),e.selectStrategy!==`single`&&i?.shiftKey&&l.value!==null){let[e,t]=[l.value,n].sort((e,t)=>e-t);a.push(...o.slice(e,t+1).filter(e=>e.selectable))}else a.push(t),l.value=n;f(a,!u([t]))}function m(e){i.value=c.value.selectAll({value:e,allItems:a.value,currentPage:s.value,selected:new Set(i.value)})}let h={toggleSelect:p,select:f,selectAll:m,isSelected:u,isSomeSelected:d,someSelected:B(()=>i.value.size>0),allSelected:B(()=>{let e=c.value.allSelected({allItems:a.value,currentPage:s.value});return!!e.length&&u(e)}),showSelectAll:t(()=>c.value.showSelectAll),lastSelectedIndex:l,selectStrategy:c};return o(nt,h),h}function it(){let e=J(nt);if(!e)throw Error(`Missing selection!`);return e}var at=q({initialSortOrder:{type:String,default:`asc`,validator:e=>!e||[`asc`,`desc`].includes(e)},sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:{type:[Boolean,Object],default:!1},mustSort:Boolean},`DataTable-sort`),ot=Symbol.for(`vuetify:data-table-sort`);function st(e){let n=t(()=>e.initialSortOrder),r=G(e,`sortBy`),i=t(()=>e.mustSort);return{initialSortOrder:n,sortBy:r,multiSort:t(()=>e.multiSort),mustSort:i}}function ct(e,t){if(!s(e))return{active:!!e};let{key:n,mode:r,modifier:i}=e,a=i===`alt`&&t?.altKey||i===`shift`&&t?.shiftKey;return{active:!n||t?.ctrlKey||t?.metaKey||!1,mode:a?r===`append`?`prepend`:`append`:r}}function lt(e){let{initialSortOrder:t,sortBy:n,mustSort:r,multiSort:i,page:a}=e,s=(e,o,s=!1)=>{if(e.key==null)return;let c=n.value.map(e=>({...e}))??[],l=c.find(t=>t.key===e.key),u=t.value,d=t.value===`desc`?`asc`:`desc`;if(l)l.order===d?s||r.value&&c.length===1?l.order=t.value:c=c.filter(t=>t.key!==e.key):l.order=d;else{let{active:t,mode:n}=ct(i.value,o);t?n===`prepend`?c.unshift({key:e.key,order:u}):c.push({key:e.key,order:u}):c=[{key:e.key,order:u}]}n.value=c,a&&(a.value=1)};function c(e){return!!n.value.find(t=>t.key===e.key)}let l={sortBy:n,toggleSort:s,isSorted:c};return o(ot,l),l}function ut(){let e=J(ot);if(!e)throw Error(`Missing sort!`);return e}function dt(e,t,n,r){let i=j();return{sortedItems:B(()=>n.value.length?ft(t.value,n.value,i.current.value,{transform:r?.transform,sortFunctions:{...e.customKeySort,...r?.sortFunctions?.value},sortRawFunctions:r?.sortRawFunctions?.value}):t.value)}}function ft(e,t,r,i){let a=new Intl.Collator(r,{sensitivity:`accent`,usage:`sort`});return e.map(e=>[e,i?.transform?i.transform(e):e]).sort((e,r)=>{for(let o=0;oe==null?e:e.toString().toLocaleLowerCase()),u!==d))return C(u)&&C(d)?0:C(u)?-1:C(d)?1:!isNaN(u)&&!isNaN(d)?Number(u)-Number(d):a.compare(u,d)}return 0}).map(([e])=>e)}var pt=q({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortIcon:{type:P},sortAscIcon:{type:P,default:`$sortAsc`},sortDescIcon:{type:P,default:`$sortDesc`},headerProps:{type:Object},sticky:Boolean,...V(),...de(),...c()},`VDataTableHeaders`),mt=X()({name:`VDataTableHeaders`,props:pt(),setup(e,{slots:t}){let{t:n}=j(),{toggleSort:r,sortBy:o,isSorted:s}=ut(),{someSelected:c,allSelected:l,selectAll:u,showSelectAll:d}=it(),{columns:f,headers:m}=$(),{loaderClasses:h}=y(e);function g(t,n){if(!(e.sticky||e.fixedHeader)&&!t.fixed)return;let r=typeof t.fixed==`string`?t.fixed:t.fixed?`start`:`none`;return{position:`sticky`,left:r===`start`?p(t.fixedOffset):void 0,right:r===`end`?p(t.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${n})`:void 0}}function _(t,n){t.key===`Enter`&&!e.disableSort&&r(n,t)}function v(t){switch(o.value.find(e=>e.key===t.key)?.order){case`asc`:return e.sortAscIcon;case`desc`:return e.sortDescIcon;default:return e.sortIcon||(e.initialSortOrder===`asc`?e.sortAscIcon:e.sortDescIcon)}}let{backgroundColorClasses:x,backgroundColorStyles:S}=he(()=>e.color),{displayClasses:C,mobile:T}=U(e),E=B(()=>({headers:m.value,columns:f.value,toggleSort:r,isSorted:s,sortBy:o.value,someSelected:c.value,allSelected:l.value,selectAll:u,getSortIcon:v})),D=B(()=>[`v-data-table__th`,{"v-data-table__th--sticky":e.sticky||e.fixedHeader},C.value,h.value]),O=({column:n,x:i,y:f})=>{let m=n.key===`data-table-select`||n.key===`data-table-expand`,h=n.key===`data-table-group`&&n.width===0&&!n.title,y=a(e.headerProps??{},n.headerProps??{}),b=n.sortable&&!e.disableSort;return Y(Q,a({tag:`th`,align:n.align,class:[{"v-data-table__th--sortable":b,"v-data-table__th--sorted":s(n),"v-data-table__th--fixed":n.fixed},...D.value],style:{width:p(n.width),minWidth:p(n.minWidth),maxWidth:p(n.maxWidth),...g(n,f)},colspan:n.colspan,rowspan:n.rowspan,fixed:n.fixed,nowrap:n.nowrap,lastFixed:n.lastFixed,firstFixedEnd:n.firstFixedEnd,noPadding:m,empty:h,tabindex:b?0:void 0,onClick:b?e=>r(n,e):void 0,onKeydown:b?e=>_(e,n):void 0},y),{default:()=>{let i=`header.${n.key}`,a={column:n,selectAll:u,isSorted:s,toggleSort:r,sortBy:o.value,someSelected:c.value,allSelected:l.value,getSortIcon:v};return t[i]?t[i](a):h?``:n.key===`data-table-select`?t[`header.data-table-select`]?.(a)??(d.value&&Y(Z,{color:e.color,density:e.density,modelValue:l.value,indeterminate:c.value&&!l.value,"onUpdate:modelValue":u},null)):L(`div`,{class:`v-data-table-header__content`},[L(`span`,null,[n.title]),n.sortable&&!e.disableSort&&Y(w,{key:`icon`,class:`v-data-table-header__sort-icon`,icon:v(n)},null),e.multiSort&&s(n)&&L(`div`,{key:`badge`,class:R([`v-data-table-header__sort-badge`,...x.value]),style:ee(S.value)},[o.value.findIndex(e=>e.key===n.key)+1])])}})},k=()=>{let t=B(()=>f.value.filter(t=>t?.sortable&&!e.disableSort)),d=f.value.find(e=>e.key===`data-table-select`),p=B({get:()=>t.value.filter(({key:e})=>o.value.some(t=>t.key===e)),set:e=>{let t=N(e),n=o.value.map(e=>e.key);t.filter(({key:e})=>!n.includes(e)).forEach(e=>r(e)),i(()=>o.value=o.value.filter(({key:e})=>t.some(t=>t.key===e)))}});return Y(Q,a({tag:`th`,class:[...D.value],colspan:m.value.length+1},e.headerProps),{default:()=>[L(`div`,{class:`v-data-table-header__content`},[Y(Ce,{modelValue:p.value,"onUpdate:modelValue":e=>p.value=e,chips:!0,color:e.color,class:`v-data-table__td-sort-select`,clearable:!0,density:`default`,items:t.value,label:n(`$vuetify.dataTable.sortBy`),multiple:e.multiSort,variant:`underlined`,returnObject:!0,"onClick:clear":()=>o.value=[]},{append:d?()=>Y(Z,{color:e.color,density:`compact`,modelValue:l.value,indeterminate:c.value&&!l.value,"onUpdate:modelValue":()=>u(!l.value)},null):void 0,chip:({internalItem:e})=>Y(be,{onClick:e.raw.sortable?()=>r(e.raw,void 0,!0):void 0,onMousedown:e=>{e.preventDefault(),e.stopPropagation()}},{default:()=>[e.title,Y(w,{class:R([`v-data-table__td-sort-icon`,s(e.raw)&&`v-data-table__td-sort-icon-active`]),icon:v(e.raw),size:`small`},null)]})})])]})};H(()=>T.value?L(`tr`,null,[Y(k,null,null)]):L(M,null,[t.headers?t.headers(E.value):m.value.map((e,t)=>L(`tr`,null,[e.map((e,n)=>Y(O,{column:e,x:n,y:t},null))])),e.loading&&L(`tr`,{class:`v-data-table-progress`},[L(`th`,{colspan:f.value.length},[Y(b,{name:`v-data-table-progress`,absolute:!0,active:!0,color:typeof e.loading==`boolean`||e.loading===`true`?e.color:e.loading,indeterminate:!0},{default:t.loader})])])]))}}),ht=q({groupBy:{type:Array,default:()=>[]}},`DataTable-group`),gt=Symbol.for(`vuetify:data-table-group`);function _t(e){return{groupBy:G(e,`groupBy`)}}function vt(e){let{disableSort:t,groupBy:n,sortBy:r}=e,i=T(new Set),a=B(()=>n.value.map(e=>({...e,order:e.order??!1})).concat(t?.value?[]:r.value));function s(e){return i.value.has(e.id)}function c(e){let t=new Set(i.value);s(e)?t.delete(e.id):t.add(e.id),i.value=t}function l(e){function t(e){let n=[];for(let r of e.items)`type`in r&&r.type===`group`?n.push(...t(r)):n.push(r);return[...new Set(n)]}return t({type:`group`,items:e,id:`dummy`,key:`dummy`,value:`dummy`,depth:0})}let u={sortByWithGroups:a,toggleGroup:c,opened:i,groupBy:n,extractRows:l,isGroupOpen:s};return o(gt,u),u}function yt(){let e=J(gt);if(!e)throw Error(`Missing group!`);return e}function bt(e,t){if(!e.length)return[];let r=new Map;for(let i of e){let e=n(i.raw,t);r.has(e)||r.set(e,[]),r.get(e).push(i)}return r}function xt(e,t,n=0,r=`root`){if(!t.length)return[];let i=bt(e,t[0]),a=[],o=t.slice(1);return i.forEach((e,i)=>{let s=t[0],c=`${r}_${s}_${i}`;a.push({depth:n,id:c,key:s,value:i,items:o.length?xt(e,o,n+1,c):e,type:`group`})}),a}function St(e,t,n){let r=[];for(let i of e)`type`in i&&i.type===`group`?(i.value!=null&&r.push(i),(t.has(i.id)||i.value==null)&&(r.push(...St(i.items,t,n)),n&&r.push({...i,type:`group-summary`}))):r.push(i);return r}function Ct(e,t,n,r){let i=B(()=>t.value.length?xt(W(e),t.value.map(e=>e.key)):[]);return{groups:i,flatItems:B(()=>t.value.length?St(i.value,n.value,W(r)):W(e))}}var wt=q({item:{type:Object,required:!0},groupCollapseIcon:{type:P,default:`$tableGroupCollapse`},groupExpandIcon:{type:P,default:`$tableGroupExpand`},...V()},`VDataTableGroupHeaderRow`),Tt=X()({name:`VDataTableGroupHeaderRow`,props:wt(),setup(e,{slots:n}){let{isGroupOpen:r,toggleGroup:i,extractRows:a}=yt(),{isSelected:o,isSomeSelected:s,select:c}=it(),{columns:l}=$(),u=B(()=>a([e.item])),d=t(()=>l.value.length-+!!l.value.some(e=>e.key===`data-table-select`));return()=>L(`tr`,{class:`v-data-table-group-header-row`,style:{"--v-data-table-group-header-row-depth":e.item.depth}},[l.value.map(t=>{if(t.key===`data-table-group`){let t=r(e.item)?e.groupCollapseIcon:e.groupExpandIcon,a=()=>i(e.item);return n[`data-table-group`]?.({item:e.item,count:u.value.length,props:{icon:t,onClick:a}})??Y(Q,{class:`v-data-table-group-header-row__column`,colspan:d.value},{default:()=>[Y(h,{size:`small`,variant:`text`,icon:t,onClick:a},null),L(`span`,null,[e.item.value]),L(`span`,null,[A(`(`),u.value.length,A(`)`)])]})}else if(t.key===`data-table-select`){let t=u.value.filter(e=>e.selectable),r=t.length>0&&o(t),i=s(t)&&!r,a=e=>c(t,e);return n[`data-table-select`]?.({props:{modelValue:r,indeterminate:i,"onUpdate:modelValue":a}})??Y(Q,{class:`v-data-table__td--select-row`,noPadding:!0},{default:()=>[Y(Z,{density:e.density,disabled:t.length===0,modelValue:r,indeterminate:i,"onUpdate:modelValue":a},null)]})}return``})])}}),Et=q({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},`DataTable-expand`),Dt=Symbol.for(`vuetify:datatable:expanded`);function Ot(e){let n=t(()=>e.expandOnClick),r=G(e,`expanded`,e.expanded,e=>new Set(e),e=>[...e.values()]);function i(e,t){let n=new Set(r.value),i=v(e.value);if(t)n.add(e.value);else{let e=[...r.value].find(e=>v(e)===i);n.delete(e)}r.value=n}function a(e){let t=v(e.value);return[...r.value].some(e=>v(e)===t)}function s(e){i(e,!a(e))}let c={expand:i,expanded:r,expandOnClick:n,isExpanded:a,toggleExpand:s};return o(Dt,c),c}function kt(){let e=J(Dt);if(!e)throw Error(`foo`);return e}var At=q({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:P,default:`$collapse`},expandIcon:{type:P,default:`$expand`},onClick:m(),onContextmenu:m(),onDblclick:m(),...V(),...de()},`VDataTableRow`),jt=X()({name:`VDataTableRow`,props:At(),setup(e,{slots:t}){let{displayClasses:r,mobile:i}=U(e,`v-data-table__tr`),{isSelected:o,toggleSelect:s,someSelected:c,allSelected:l,selectAll:u}=it(),{isExpanded:d,toggleExpand:f}=kt(),{toggleSort:p,sortBy:m,isSorted:g}=ut(),{columns:_}=$();H(()=>L(`tr`,{class:R([`v-data-table__tr`,{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},r.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&_.value.map((r,_)=>{let v=e.item,y=`item.${r.key}`,b=`header.${r.key}`,x={index:e.index,item:v.raw,internalItem:v,value:n(v.columns,r.key),column:r,isSelected:o,toggleSelect:s,isExpanded:d,toggleExpand:f},S={column:r,selectAll:u,isSorted:g,toggleSort:p,sortBy:m.value,someSelected:c.value,allSelected:l.value,getSortIcon:()=>``},C=typeof e.cellProps==`function`?e.cellProps({index:x.index,item:x.item,internalItem:x.internalItem,value:x.value,column:r}):e.cellProps,w=typeof r.cellProps==`function`?r.cellProps({index:x.index,item:x.item,internalItem:x.internalItem,value:x.value}):r.cellProps,T=r.key===`data-table-select`||r.key===`data-table-expand`,E=r.key===`data-table-group`&&r.width===0&&!r.title;return Y(Q,a({align:r.align,indent:r.indent,class:{"v-data-table__td--expanded-row":r.key===`data-table-expand`,"v-data-table__td--select-row":r.key===`data-table-select`},fixed:r.fixed,fixedOffset:r.fixedOffset,fixedEndOffset:r.fixedEndOffset,lastFixed:r.lastFixed,firstFixedEnd:r.firstFixedEnd,maxWidth:i.value?void 0:r.maxWidth,noPadding:T,empty:E,nowrap:r.nowrap,width:i.value?void 0:r.width},C,w),{default:()=>{if(r.key===`data-table-select`)return t[`item.data-table-select`]?.({...x,props:{color:e.color,disabled:!v.selectable,modelValue:o([v]),onClick:K(()=>s(v),[`stop`])}})??Y(Z,{color:e.color,disabled:!v.selectable,density:e.density,modelValue:o([v]),onClick:K(t=>s(v,e.index,t),[`stop`])},null);if(r.key===`data-table-expand`)return t[`item.data-table-expand`]?.({...x,props:{icon:d(v)?e.collapseIcon:e.expandIcon,size:`small`,variant:`text`,onClick:K(()=>f(v),[`stop`])}})??Y(h,{icon:d(v)?e.collapseIcon:e.expandIcon,size:`small`,variant:`text`,onClick:K(()=>f(v),[`stop`])},null);if(t[y]&&!i.value)return t[y](x);let n=ue(x.value);return i.value?L(M,null,[L(`div`,{class:`v-data-table__td-title`},[t[b]?.(S)??r.title]),L(`div`,{class:`v-data-table__td-value`},[t[y]?.(x)??n])]):n}})})]))}}),Mt=q({color:String,loading:[Boolean,String],loadingText:{type:String,default:`$vuetify.dataIterator.loadingText`},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:`$vuetify.noDataText`},rowProps:[Object,Function],cellProps:[Object,Function],...e(At(),[`collapseIcon`,`expandIcon`,`density`]),...e(wt(),[`groupCollapseIcon`,`groupExpandIcon`,`density`]),...de()},`VDataTableRows`),Nt=X()({name:`VDataTableRows`,inheritAttrs:!1,props:Mt(),setup(t,{attrs:n,slots:r}){let{columns:i}=$(),{expandOnClick:o,toggleExpand:s,isExpanded:c}=kt(),{isSelected:l,toggleSelect:u}=it(),{toggleGroup:d,isGroupOpen:f}=yt(),{t:p}=j(),{mobile:m}=U(t);return H(()=>{let h=e(t,[`groupCollapseIcon`,`groupExpandIcon`,`density`]);return t.loading&&(!t.items.length||r.loading)?L(`tr`,{class:`v-data-table-rows-loading`,key:`loading`},[L(`td`,{colspan:i.value.length},[r.loading?.()??p(t.loadingText)])]):!t.loading&&!t.items.length&&!t.hideNoData?L(`tr`,{class:`v-data-table-rows-no-data`,key:`no-data`},[L(`td`,{colspan:i.value.length},[r[`no-data`]?.()??p(t.noDataText)])]):L(M,null,[t.items.map((e,p)=>{if(e.type===`group`){let t={index:p,item:e,columns:i.value,isExpanded:c,toggleExpand:s,isSelected:l,toggleSelect:u,toggleGroup:d,isGroupOpen:f};return r[`group-header`]?r[`group-header`](t):Y(Tt,a({key:`group-header_${e.id}`,item:e},we(n,`:groupHeader`,()=>t),h),r)}if(e.type===`group-summary`){let t={index:p,item:e,columns:i.value,toggleGroup:d};return r[`group-summary`]?.(t)??``}let g={index:e.virtualIndex??p,item:e.raw,internalItem:e,columns:i.value,isExpanded:c,toggleExpand:s,isSelected:l,toggleSelect:u},_={...g,props:a({key:`item_${e.key??e.index}`,onClick:o.value?()=>{s(e)}:void 0,index:p,item:e,color:t.color,cellProps:t.cellProps,collapseIcon:t.collapseIcon,expandIcon:t.expandIcon,density:t.density,mobile:m.value},we(n,`:row`,()=>g),typeof t.rowProps==`function`?t.rowProps({item:g.item,index:g.index,internalItem:g.internalItem}):t.rowProps)};return L(M,{key:_.props.key},[r.item?r.item(_):Y(jt,_.props,r),c(e)&&r[`expanded-row`]?.(g)])})])}),{}}}),Pt=q({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>[`even`,`odd`].includes(e)},...r(),...V(),...z(),...me()},`VTable`),Ft=X()({name:`VTable`,props:Pt(),setup(e,{slots:t,emit:n}){let{themeClasses:r}=ie(e),{densityClasses:i}=re(e);return H(()=>Y(e.tag,{class:R([`v-table`,{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!t.top,"v-table--has-bottom":!!t.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped===`even`,"v-table--striped-odd":e.striped===`odd`},r.value,i.value,e.class]),style:ee(e.style)},{default:()=>[t.top?.(),t.default?L(`div`,{class:`v-table__wrapper`,style:{height:p(e.height)}},[L(`table`,null,[t.default()])]):t.wrapper?.(),t.bottom?.()]})),{}}}),It=q({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:`id`},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},`DataTable-items`);function Lt(e,t,n,r){let i=e.returnObject?t:x(t,e.itemValue),a=x(t,e.itemSelectable,!0),o=r.reduce((e,n)=>(n.key!=null&&(e[n.key]=x(t,n.value)),e),{});return{type:`item`,key:e.returnObject?x(t,e.itemValue):i,index:n,value:i,selectable:a,columns:o,raw:t}}function Rt(e,t,n){return t.map((t,r)=>Lt(e,t,r,n))}function zt(e,t){return{items:B(()=>Rt(e,e.items,t.value))}}function Bt({page:e,itemsPerPage:t,sortBy:n,groupBy:r,search:i}){let a=ye(`VDataTable`),o=()=>({page:e.value,itemsPerPage:t.value,sortBy:n.value,groupBy:r.value,search:i.value}),s=null;S(o,t=>{I(s,t)||(s&&s.search!==t.search&&(e.value=1),a.emit(`update:options`,t),s=t)},{deep:!0,immediate:!0})}var Vt=q({...Mt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...Et(),...ht(),...Le(),...It(),...tt(),...at(),..._(pt(),[`multiSort`,`initialSortOrder`]),...Pt()},`DataTable`),Ht=q({...Oe(),...Vt(),...xe(),...Fe()},`VDataTable`),Ut=X()({name:`VDataTable`,props:Ht(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,{attrs:n,slots:r}){let{groupBy:i}=_t(e),{initialSortOrder:o,sortBy:s,multiSort:c,mustSort:l}=st(e),{page:u,itemsPerPage:d}=Ae(e),{disableSort:f}=te(e),{columns:p,headers:m,sortFunctions:h,sortRawFunctions:g,filterFunctions:v}=Ze(e,{groupBy:i,showSelect:t(()=>e.showSelect),showExpand:t(()=>e.showExpand)}),{items:y}=zt(e,p),b=t(()=>e.search),{filteredItems:x}=Se(e,y,b,{transform:e=>e.columns,customKeyFilter:v}),{toggleSort:S}=lt({initialSortOrder:o,sortBy:s,multiSort:c,mustSort:l,page:u}),{sortByWithGroups:C,opened:w,extractRows:T,isGroupOpen:E,toggleGroup:D}=vt({groupBy:i,sortBy:s,disableSort:f}),{sortedItems:ee}=dt(e,x,C,{transform:e=>({...e.raw,...e.columns}),sortFunctions:h,sortRawFunctions:g}),{pageCount:O,setItemsPerPage:A,prevPage:j,nextPage:N,setPage:P,paginatedItems:F}=Pe({pageBy:B(()=>e.pageBy===`auto`?e.groupBy.length?`group`:`item`:e.pageBy),sortedItems:ee,paginate:e=>{let{startIndex:t,stopIndex:n,pageCount:r,setItemsPerPage:i,prevPage:a,nextPage:o,setPage:s}=je({page:u,itemsPerPage:d,itemsLength:B(()=>W(e).length)}),{paginatedItems:c}=Ne({items:e,startIndex:t,stopIndex:n,itemsPerPage:d});return{paginatedItems:c,pageCount:r,setItemsPerPage:i,prevPage:a,nextPage:o,setPage:s}},group:e=>Ct(e,i,w,()=>!!r[`group-summary`])}),I=B(()=>T(F.value)),{isSelected:ne,select:re,selectAll:R,toggleSelect:ie,someSelected:ae,allSelected:oe}=rt(e,{allItems:y,currentPage:I}),{isExpanded:se,toggleExpand:ce}=Ot(e);Bt({page:u,itemsPerPage:d,sortBy:s,groupBy:i,search:b}),k({VDataTableRows:{hideNoData:t(()=>e.hideNoData),noDataText:t(()=>e.noDataText),loading:t(()=>e.loading),loadingText:t(()=>e.loadingText)}});let z=B(()=>({page:u.value,itemsPerPage:d.value,sortBy:s.value,pageCount:O.value,toggleSort:S,setItemsPerPage:A,prevPage:j,nextPage:N,setPage:P,someSelected:ae.value,allSelected:oe.value,isSelected:ne,select:re,selectAll:R,toggleSelect:ie,isExpanded:se,toggleExpand:ce,isGroupOpen:E,toggleGroup:D,items:I.value.map(e=>e.raw),internalItems:I.value,groupedItems:F.value,columns:p.value,headers:m.value}));return H(()=>{let t=Ie.filterProps(e),i=mt.filterProps(_(e,[`multiSort`])),o=Nt.filterProps(e),s=Ft.filterProps(e);return Y(Ft,a({class:[`v-data-table`,{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},s,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>r.top?.(z.value),default:()=>r.default?r.default(z.value):L(M,null,[r.colgroup?.(z.value),!e.hideDefaultHeader&&L(`thead`,{key:`thead`},[Y(mt,a(i,{multiSort:!!e.multiSort}),r)]),r.thead?.(z.value),!e.hideDefaultBody&&L(`tbody`,null,[r[`body.prepend`]?.(z.value),r.body?r.body(z.value):Y(Nt,a(n,o,{items:F.value}),r),r[`body.append`]?.(z.value)]),r.tbody?.(z.value),r.tfoot?.(z.value)]),bottom:()=>r.bottom?r.bottom(z.value):!e.hideDefaultFooter&&L(M,null,[Y(_e,null,null),Y(Ie,t,{prepend:r[`footer.prepend`]})])})}),{}}});export{Fe as _,Ft as a,je as b,_t as c,mt as d,st as f,Ie as g,Ze as h,zt as i,vt as l,rt as m,Vt as n,Nt as o,lt as p,Bt as r,Ot as s,Ut as t,Ct as u,Ae as v,De as x,Oe as y}; \ No newline at end of file diff --git a/web/app/assets/VDataTable-4SnAXj3j.js b/web/app/assets/VDataTable-PKQbaP3_.js similarity index 99% rename from web/app/assets/VDataTable-4SnAXj3j.js rename to web/app/assets/VDataTable-PKQbaP3_.js index 2fe865a7..e9f6223e 100644 --- a/web/app/assets/VDataTable-4SnAXj3j.js +++ b/web/app/assets/VDataTable-PKQbaP3_.js @@ -1 +1 @@ -import{$n as e,$r as t,Bn as n,Cn as r,Dr as i,Er as a,Fr as o,Gn as s,H as c,Hr as l,Jn as u,Kn as d,Mn as f,Nn as p,On as m,P as h,Pn as g,Qn as _,Qr as v,U as y,V as b,Vn as x,Vr as S,Wn as C,X as w,Xr as T,Z as E,Zr as D,ai as ee,at as O,bn as k,br as A,cn as j,dr as M,ei as te,er as N,fn as P,ft as F,gn as I,gt as ne,hr as L,ht as re,ii as R,in as ie,ir as ae,jr as oe,kn as se,ln as ce,lt as z,mr as B,mt as V,nn as le,oi as ue,on as de,pn as H,qn as fe,ri as pe,rn as me,sn as U,st as he,ti as W,un as G,ur as K,ut as ge,v as _e,vn as ve,wn as q,wr as J,xn as ye,xr as Y,y as be,yn as X}from"./index-DawRgH7u.js";import{a as xe,d as Z,o as Se,t as Ce}from"./VSelect-XuQYQvJc.js";function we(e,t,n){return Object.keys(e).filter(e=>d(e)&&e.endsWith(t)).reduce((r,i)=>(r[i.slice(0,-t.length)]=t=>se(e[i],t,n(t)),r),{})}function Te(){let e=T([]);oe(()=>e.value=[]);function t(t,n){e.value[n]=t}return{refs:e,updateRef:t}}var Ee=q({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1==0},totalVisible:[Number,String],firstIcon:{type:P,default:`$first`},prevIcon:{type:P,default:`$prev`},nextIcon:{type:P,default:`$next`},lastIcon:{type:P,default:`$last`},ariaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.root`},pageAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.page`},currentPageAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.currentPage`},firstAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.first`},previousAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.previous`},nextAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.next`},lastAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.last`},ellipsis:{type:String,default:`...`},showFirstLastPage:Boolean,...ne(),...r(),...V(),...F(),...ge(),...E(),...z({tag:`nav`}),...me(),...O({variant:`text`})},`VPagination`),De=X()({name:`VPagination`,props:Ee(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,{slots:n,emit:r}){let o=G(e,`modelValue`),{t:s,n:c}=j(),{isRtl:l}=ce(),{themeClasses:d}=ie(e),{width:f}=U(),p=D(-1);k(void 0,{scoped:!0});let{resizeRef:m}=le(e=>{if(!e.length)return;let{target:t,contentRect:n}=e[0],r=t.querySelector(`.v-pagination__list > *`);if(!r)return;let i=n.width;p.value=b(i,r.offsetWidth+parseFloat(getComputedStyle(r).marginRight)*2)}),_=B(()=>parseInt(e.length,10)),v=B(()=>parseInt(e.start,10)),y=B(()=>e.totalVisible==null?p.value>=0?p.value:b(f.value,58):parseInt(e.totalVisible,10));function b(t,n){let r=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((t-n*r)/n).toFixed(2))))}let x=B(()=>{if(_.value<=0||isNaN(_.value)||_.value>2**53-1||y.value<=0)return[];if(y.value===1)return[o.value];if(_.value<=y.value)return g(_.value,v.value);let t=y.value%2==0,n=t?y.value/2:Math.floor(y.value/2),r=t?n:n+1,i=_.value-n;if(r-o.value>=0)return[...g(Math.max(1,y.value-1),v.value),e.ellipsis,_.value];if(o.value-i>=+!!t){let t=y.value-1,n=_.value-t+v.value;return[v.value,e.ellipsis,...g(t,n)]}else{let t=Math.max(1,y.value-2),n=t===1?o.value:o.value-Math.ceil(t/2)+v.value;return[v.value,e.ellipsis,...g(t,n),e.ellipsis,_.value]}});function S(e,t,n){e.preventDefault(),o.value=t,n&&r(n,t)}let{refs:C,updateRef:w}=Te();k({VPaginationBtn:{color:t(()=>e.color),border:t(()=>e.border),density:t(()=>e.density),size:t(()=>e.size),variant:t(()=>e.variant),rounded:t(()=>e.rounded),elevation:t(()=>e.elevation)}});let T=B(()=>x.value.map((t,n)=>{let r=e=>w(e,n);if(typeof t==`string`)return{isActive:!1,key:`ellipsis-${n}`,page:t,props:{ref:r,ellipsis:!0,icon:!0,disabled:!0}};{let n=t===o.value;return{isActive:n,key:t,page:c(t),props:{ref:r,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:n?e.activeColor:e.color,"aria-current":n,"aria-label":s(n?e.currentPageAriaLabel:e.pageAriaLabel,t),onClick:e=>S(e,t)}}}})),E=B(()=>{let t=!!e.disabled||o.value<=v.value,n=!!e.disabled||o.value>=v.value+_.value-1;return{first:e.showFirstLastPage?{icon:l.value?e.lastIcon:e.firstIcon,onClick:e=>S(e,v.value,`first`),disabled:t,"aria-label":s(e.firstAriaLabel),"aria-disabled":t}:void 0,prev:{icon:l.value?e.nextIcon:e.prevIcon,onClick:e=>S(e,o.value-1,`prev`),disabled:t,"aria-label":s(e.previousAriaLabel),"aria-disabled":t},next:{icon:l.value?e.prevIcon:e.nextIcon,onClick:e=>S(e,o.value+1,`next`),disabled:n,"aria-label":s(e.nextAriaLabel),"aria-disabled":n},last:e.showFirstLastPage?{icon:l.value?e.firstIcon:e.lastIcon,onClick:e=>S(e,v.value+_.value-1,`last`),disabled:n,"aria-label":s(e.lastAriaLabel),"aria-disabled":n}:void 0}});function O(){let e=o.value-v.value;C.value[e]?.$el.focus()}function A(t){t.key===u.left&&!e.disabled&&o.value>Number(e.start)?(--o.value,i(O)):t.key===u.right&&!e.disabled&&o.valueY(e.tag,{ref:m,class:R([`v-pagination`,d.value,e.class]),style:ee(e.style),role:`navigation`,"aria-label":s(e.ariaLabel),onKeydown:A,"data-test":`v-pagination-root`},{default:()=>[L(`ul`,{class:`v-pagination__list`},[e.showFirstLastPage&&L(`li`,{key:`first`,class:`v-pagination__first`,"data-test":`v-pagination-first`},[n.first?n.first(E.value.first):Y(h,a({_as:`VPaginationBtn`},E.value.first),null)]),L(`li`,{key:`prev`,class:`v-pagination__prev`,"data-test":`v-pagination-prev`},[n.prev?n.prev(E.value.prev):Y(h,a({_as:`VPaginationBtn`},E.value.prev),null)]),T.value.map((e,t)=>L(`li`,{key:e.key,class:R([`v-pagination__item`,{"v-pagination__item--is-active":e.isActive}]),"data-test":`v-pagination-item`},[n.item?n.item(e):Y(h,a({_as:`VPaginationBtn`},e.props),{default:()=>[e.page]})])),L(`li`,{key:`next`,class:`v-pagination__next`,"data-test":`v-pagination-next`},[n.next?n.next(E.value.next):Y(h,a({_as:`VPaginationBtn`},E.value.next),null)]),e.showFirstLastPage&&L(`li`,{key:`last`,class:`v-pagination__last`,"data-test":`v-pagination-last`},[n.last?n.last(E.value.last):Y(h,a({_as:`VPaginationBtn`},E.value.last),null)])])]})),{}}}),Oe=q({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10},pageBy:{type:String,default:`any`}},`DataTable-paginate`),ke=Symbol.for(`vuetify:data-table-pagination`);function Ae(e){return{page:G(e,`page`,void 0,e=>Number(e??1)),itemsPerPage:G(e,`itemsPerPage`,void 0,e=>Number(e??10))}}function je(e){let{page:t,itemsPerPage:n,itemsLength:r}=e,i=B(()=>n.value===-1?0:n.value*(t.value-1)),a=B(()=>n.value===-1?r.value:Math.min(r.value,i.value+n.value)),s=B(()=>n.value===-1||r.value===0?1:Math.ceil(r.value/n.value));S([t,s],()=>{t.value>s.value&&(t.value=s.value)});function c(e){n.value=e,t.value=1}function l(){t.value=f(t.value+1,1,s.value)}function u(){t.value=f(t.value-1,1,s.value)}function d(e){t.value=f(e,1,s.value)}let p={page:t,itemsPerPage:n,startIndex:i,stopIndex:a,pageCount:s,itemsLength:r,nextPage:l,prevPage:u,setPage:d,setItemsPerPage:c};return o(ke,p),p}function Me(){let e=J(ke);if(!e)throw Error(`Missing pagination!`);return e}function Ne(e){let t=ye(`usePaginatedItems`),{items:n,startIndex:r,stopIndex:i,itemsPerPage:a}=e,o=B(()=>a.value<=0?W(n):W(n).slice(r.value,i.value));return S(o,e=>{t.emit(`update:currentItems`,e)},{immediate:!0}),{paginatedItems:o}}function Pe(e){let{sortedItems:t,paginate:n,group:r}=e,i=W(e.pageBy);if(i===`item`){let{paginatedItems:e,pageCount:i,setItemsPerPage:a,prevPage:o,nextPage:s,setPage:c}=n(t),{flatItems:l}=r(e);return{pageCount:i,setItemsPerPage:a,prevPage:o,nextPage:s,setPage:c,paginatedItems:l}}if(i===`group`){let{flatItems:e,groups:i}=r(t),{paginatedItems:a,pageCount:o,setItemsPerPage:s,prevPage:c,nextPage:l,setPage:u}=n(i);return{pageCount:o,setItemsPerPage:s,prevPage:c,nextPage:l,setPage:u,paginatedItems:B(()=>{if(!a.value.length)return[];let t=a.value.at(0).id,n=a.value.at(-1).id,r=e.value.findIndex(e=>e.type===`group`&&e.id===t),i=e.value.findIndex(e=>e.type===`group`&&e.id===n),o=e.value.findIndex((e,t)=>t>i&&e.type===`group`&&e.depth===0);return e.value.slice(r,o===-1?void 0:o)})}}if(i===`any`){let{flatItems:e}=r(t),{paginatedItems:i,pageCount:a,setItemsPerPage:o,prevPage:s,nextPage:c,setPage:l}=n(e);return{pageCount:a,setItemsPerPage:o,prevPage:s,nextPage:c,setPage:l,paginatedItems:i}}throw Error(`Unrecognized pagination target ${i}`)}var Fe=q({color:String,prevIcon:{type:P,default:`$prev`},nextIcon:{type:P,default:`$next`},firstIcon:{type:P,default:`$first`},lastIcon:{type:P,default:`$last`},itemsPerPageText:{type:String,default:`$vuetify.dataFooter.itemsPerPageText`},pageText:{type:String,default:`$vuetify.dataFooter.pageText`},firstPageLabel:{type:String,default:`$vuetify.dataFooter.firstPage`},prevPageLabel:{type:String,default:`$vuetify.dataFooter.prevPage`},nextPageLabel:{type:String,default:`$vuetify.dataFooter.nextPage`},lastPageLabel:{type:String,default:`$vuetify.dataFooter.lastPage`},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:`10`},{value:25,title:`25`},{value:50,title:`50`},{value:100,title:`100`},{value:-1,title:`$vuetify.dataFooter.itemsPerPageAll`}]},showCurrentPage:Boolean},`VDataTableFooter`),Ie=X()({name:`VDataTableFooter`,props:Fe(),setup(e,{slots:t}){let{t:n}=j(),{page:r,pageCount:i,startIndex:o,stopIndex:s,itemsLength:c,itemsPerPage:l,setItemsPerPage:u}=Me(),d=B(()=>e.itemsPerPageOptions.map(e=>typeof e==`number`?{value:e,title:e===-1?n(`$vuetify.dataFooter.itemsPerPageAll`):String(e)}:{...e,title:isNaN(Number(e.title))?n(e.title):e.title}));return H(()=>{let f=De.filterProps(e);return L(`div`,{class:`v-data-table-footer`},[t.prepend?.(),L(`div`,{class:`v-data-table-footer__items-per-page`},[L(`span`,null,[n(e.itemsPerPageText)]),Y(Ce,{items:d.value,itemColor:e.color,modelValue:l.value,"onUpdate:modelValue":e=>u(Number(e)),density:`compact`,variant:`outlined`,"aria-label":n(e.itemsPerPageText),hideDetails:!0},null)]),L(`div`,{class:`v-data-table-footer__info`},[L(`div`,null,[n(e.pageText,c.value?o.value+1:0,s.value,c.value)])]),L(`div`,{class:`v-data-table-footer__pagination`},[Y(De,a({modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,density:`comfortable`,firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:i.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:+!!e.showCurrentPage,variant:`plain`},_(f,[`color`])),null)])])}),{}}}),Q=ve({align:{type:String,default:`start`},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,{slots:t})=>{let n=e.tag??`td`,r=typeof e.fixed==`string`?e.fixed:e.fixed?`start`:`none`;return Y(n,{class:R([`v-data-table__td`,{"v-data-table-column--fixed":r===`start`,"v-data-table-column--fixed-end":r===`end`,"v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:p(e.height),width:p(e.width),maxWidth:p(e.maxWidth),left:r===`start`?p(e.fixedOffset||null):void 0,right:r===`end`?p(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?p(e.indent):void 0}},{default:()=>[t.default?.()]})}),Le=q({headers:Array},`DataTable-header`),Re=Symbol.for(`vuetify:data-table-headers`),ze={title:``,sortable:!1},Be={...ze,width:48};function Ve(e=[]){let t=e.map(e=>({element:e,priority:0}));return{enqueue:(e,n)=>{let r=!1;for(let i=0;in){t.splice(i,0,{element:e,priority:n}),r=!0;break}r||t.push({element:e,priority:n})},size:()=>t.length,count:()=>{let e=0;if(!t.length)return 0;let n=Math.floor(t[0].priority);for(let r=0;rt.shift()}}function He(e,t=[]){if(!e.children)t.push(e);else for(let n of e.children)He(n,t);return t}function Ue(e,t=new Set){for(let n of e)n.key&&t.add(n.key),n.children&&Ue(n.children,t);return t}function We(e){if(e.key){if(e.key===`data-table-group`)return ze;if([`data-table-expand`,`data-table-select`].includes(e.key))return Be}}function Ge(e,t=0){return e.children?Math.max(t,...e.children.map(e=>Ge(e,t+1))):t}function Ke(e){let t=!1;function n(e,r,i=`none`){if(e)if(i!==`none`&&(e.fixed=i),e.fixed===!0&&(e.fixed=`start`),e.fixed===r)if(e.children)if(r===`start`)for(let t=e.children.length-1;t>=0;t--)n(e.children[t],r,r);else for(let t=0;t=0;t--)n(e.children[t],r);else for(let t=0;t=0;t--)n(e[t],`start`);for(let t=0;t=0;t--)i=Je(e[t],i)}function qe(e,t=0){if(!e)return t;if(e.children){e.fixedOffset=t;for(let n of e.children)t=qe(n,t)}else e.fixed&&e.fixed!==`end`&&(e.fixedOffset=t,t+=parseFloat(e.width||`0`)||0);return t}function Je(e,t=0){if(!e)return t;if(e.children){e.fixedEndOffset=t;for(let n of e.children)t=Je(n,t)}else e.fixed===`end`&&(e.fixedEndOffset=t,t+=parseFloat(e.width||`0`)||0);return t}function Ye(e,t){let n=[],r=0,i=Ve(e);for(;i.size()>0;){let e=i.count(),a=[],o=1;for(;e>0;){let{element:n,priority:s}=i.dequeue(),c=t-r-Ge(n);if(a.push({...n,rowspan:c??1,colspan:n.children?He(n).length:1}),n.children)for(let e of n.children){let t=s%1+o/10**(r+2);i.enqueue(e,r+c+t)}o+=1,--e}r+=1,n.push(a)}return{columns:e.map(e=>He(e)).flat(),headers:n}}function Xe(e){let t=[];for(let n of e){let e={...We(n),...n},r=e.key??(typeof e.value==`string`?e.value:null),i=e.value??r??null,a={...e,key:r,value:i,sortable:e.sortable??(e.key!=null||!!e.sort),children:e.children?Xe(e.children):void 0};t.push(a)}return t}function Ze(e,t){let n=T([]),r=T([]),i=T({}),a=T({}),s=T({});l(()=>{let o=(e.headers||Object.keys(e.items[0]??{}).map(e=>({key:e,title:pe(e)}))).slice(),c=Ue(o);t?.groupBy?.value.length&&!c.has(`data-table-group`)&&o.unshift({key:`data-table-group`,title:`Group`}),t?.showSelect?.value&&!c.has(`data-table-select`)&&o.unshift({key:`data-table-select`}),t?.showExpand?.value&&!c.has(`data-table-expand`)&&o.push({key:`data-table-expand`});let l=Xe(o);Ke(l);let u=Ye(l,Math.max(...l.map(e=>Ge(e)))+1);n.value=u.headers,r.value=u.columns;let d=u.headers.flat(1);for(let e of d)e.key&&(e.sortable&&(e.sort&&(i.value[e.key]=e.sort),e.sortRaw&&(a.value[e.key]=e.sortRaw)),e.filter&&(s.value[e.key]=e.filter))});let c={headers:n,columns:r,sortFunctions:i,sortRawFunctions:a,filterFunctions:s};return o(Re,c),c}function $(){let e=J(Re);if(!e)throw Error(`Missing headers!`);return e}var Qe={showSelectAll:!1,allSelected:()=>[],select:({items:e,value:t})=>new Set(t?[e[0]?.value]:[]),selectAll:({selected:e})=>e},$e={showSelectAll:!0,allSelected:({currentPage:e})=>e,select:({items:e,value:t,selected:n})=>{for(let r of e)t?n.add(r.value):n.delete(r.value);return n},selectAll:({value:e,currentPage:t,selected:n})=>$e.select({items:t,value:e,selected:n})},et={showSelectAll:!0,allSelected:({allItems:e})=>e,select:({items:e,value:t,selected:n})=>{for(let r of e)t?n.add(r.value):n.delete(r.value);return n},selectAll:({value:e,allItems:t})=>new Set(e?t.map(e=>e.value):[])},tt=q({showSelect:Boolean,selectStrategy:{type:[String,Object],default:`page`},modelValue:{type:Array,default:()=>[]},valueComparator:Function},`DataTable-select`),nt=Symbol.for(`vuetify:data-table-selection`);function rt(e,{allItems:n,currentPage:r}){let i=G(e,`modelValue`,e.modelValue,t=>{let r=e.valueComparator;return r?new Set(N(t).map(e=>n.value.find(t=>r(e,t.value))?.value??e)):new Set(N(t).map(e=>fe(e)?n.value.find(t=>e===t.value)?.value??e:n.value.find(t=>I(e,t.value))?.value??e))},e=>[...e.values()]),a=B(()=>n.value.filter(e=>e.selectable)),s=B(()=>W(r).filter(e=>e.selectable)),c=B(()=>{if(typeof e.selectStrategy==`object`)return e.selectStrategy;switch(e.selectStrategy){case`single`:return Qe;case`all`:return et;default:return $e}}),l=D(null);function u(e){return N(e).every(e=>i.value.has(e.value))}function d(e){return N(e).some(e=>i.value.has(e.value))}function f(e,t){i.value=c.value.select({items:e,value:t,selected:new Set(i.value)})}function p(t,n,i){let a=[],o=W(r);if(n??=o.findIndex(e=>e.value===t.value),e.selectStrategy!==`single`&&i?.shiftKey&&l.value!==null){let[e,t]=[l.value,n].sort((e,t)=>e-t);a.push(...o.slice(e,t+1).filter(e=>e.selectable))}else a.push(t),l.value=n;f(a,!u([t]))}function m(e){i.value=c.value.selectAll({value:e,allItems:a.value,currentPage:s.value,selected:new Set(i.value)})}let h={toggleSelect:p,select:f,selectAll:m,isSelected:u,isSomeSelected:d,someSelected:B(()=>i.value.size>0),allSelected:B(()=>{let e=c.value.allSelected({allItems:a.value,currentPage:s.value});return!!e.length&&u(e)}),showSelectAll:t(()=>c.value.showSelectAll),lastSelectedIndex:l,selectStrategy:c};return o(nt,h),h}function it(){let e=J(nt);if(!e)throw Error(`Missing selection!`);return e}var at=q({initialSortOrder:{type:String,default:`asc`,validator:e=>!e||[`asc`,`desc`].includes(e)},sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:{type:[Boolean,Object],default:!1},mustSort:Boolean},`DataTable-sort`),ot=Symbol.for(`vuetify:data-table-sort`);function st(e){let n=t(()=>e.initialSortOrder),r=G(e,`sortBy`),i=t(()=>e.mustSort);return{initialSortOrder:n,sortBy:r,multiSort:t(()=>e.multiSort),mustSort:i}}function ct(e,t){if(!s(e))return{active:!!e};let{key:n,mode:r,modifier:i}=e,a=i===`alt`&&t?.altKey||i===`shift`&&t?.shiftKey;return{active:!n||t?.ctrlKey||t?.metaKey||!1,mode:a?r===`append`?`prepend`:`append`:r}}function lt(e){let{initialSortOrder:t,sortBy:n,mustSort:r,multiSort:i,page:a}=e,s=(e,o,s=!1)=>{if(e.key==null)return;let c=n.value.map(e=>({...e}))??[],l=c.find(t=>t.key===e.key),u=t.value,d=t.value===`desc`?`asc`:`desc`;if(l)l.order===d?s||r.value&&c.length===1?l.order=t.value:c=c.filter(t=>t.key!==e.key):l.order=d;else{let{active:t,mode:n}=ct(i.value,o);t?n===`prepend`?c.unshift({key:e.key,order:u}):c.push({key:e.key,order:u}):c=[{key:e.key,order:u}]}n.value=c,a&&(a.value=1)};function c(e){return!!n.value.find(t=>t.key===e.key)}let l={sortBy:n,toggleSort:s,isSorted:c};return o(ot,l),l}function ut(){let e=J(ot);if(!e)throw Error(`Missing sort!`);return e}function dt(e,t,n,r){let i=j();return{sortedItems:B(()=>n.value.length?ft(t.value,n.value,i.current.value,{transform:r?.transform,sortFunctions:{...e.customKeySort,...r?.sortFunctions?.value},sortRawFunctions:r?.sortRawFunctions?.value}):t.value)}}function ft(e,t,r,i){let a=new Intl.Collator(r,{sensitivity:`accent`,usage:`sort`});return e.map(e=>[e,i?.transform?i.transform(e):e]).sort((e,r)=>{for(let o=0;oe==null?e:e.toString().toLocaleLowerCase()),u!==d))return C(u)&&C(d)?0:C(u)?-1:C(d)?1:!isNaN(u)&&!isNaN(d)?Number(u)-Number(d):a.compare(u,d)}return 0}).map(([e])=>e)}var pt=q({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortIcon:{type:P},sortAscIcon:{type:P,default:`$sortAsc`},sortDescIcon:{type:P,default:`$sortDesc`},headerProps:{type:Object},sticky:Boolean,...V(),...de(),...c()},`VDataTableHeaders`),mt=X()({name:`VDataTableHeaders`,props:pt(),setup(e,{slots:t}){let{t:n}=j(),{toggleSort:r,sortBy:o,isSorted:s}=ut(),{someSelected:c,allSelected:l,selectAll:u,showSelectAll:d}=it(),{columns:f,headers:m}=$(),{loaderClasses:h}=y(e);function g(t,n){if(!(e.sticky||e.fixedHeader)&&!t.fixed)return;let r=typeof t.fixed==`string`?t.fixed:t.fixed?`start`:`none`;return{position:`sticky`,left:r===`start`?p(t.fixedOffset):void 0,right:r===`end`?p(t.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${n})`:void 0}}function _(t,n){t.key===`Enter`&&!e.disableSort&&r(n,t)}function v(t){switch(o.value.find(e=>e.key===t.key)?.order){case`asc`:return e.sortAscIcon;case`desc`:return e.sortDescIcon;default:return e.sortIcon||(e.initialSortOrder===`asc`?e.sortAscIcon:e.sortDescIcon)}}let{backgroundColorClasses:x,backgroundColorStyles:S}=he(()=>e.color),{displayClasses:C,mobile:T}=U(e),E=B(()=>({headers:m.value,columns:f.value,toggleSort:r,isSorted:s,sortBy:o.value,someSelected:c.value,allSelected:l.value,selectAll:u,getSortIcon:v})),D=B(()=>[`v-data-table__th`,{"v-data-table__th--sticky":e.sticky||e.fixedHeader},C.value,h.value]),O=({column:n,x:i,y:f})=>{let m=n.key===`data-table-select`||n.key===`data-table-expand`,h=n.key===`data-table-group`&&n.width===0&&!n.title,y=a(e.headerProps??{},n.headerProps??{}),b=n.sortable&&!e.disableSort;return Y(Q,a({tag:`th`,align:n.align,class:[{"v-data-table__th--sortable":b,"v-data-table__th--sorted":s(n),"v-data-table__th--fixed":n.fixed},...D.value],style:{width:p(n.width),minWidth:p(n.minWidth),maxWidth:p(n.maxWidth),...g(n,f)},colspan:n.colspan,rowspan:n.rowspan,fixed:n.fixed,nowrap:n.nowrap,lastFixed:n.lastFixed,firstFixedEnd:n.firstFixedEnd,noPadding:m,empty:h,tabindex:b?0:void 0,onClick:b?e=>r(n,e):void 0,onKeydown:b?e=>_(e,n):void 0},y),{default:()=>{let i=`header.${n.key}`,a={column:n,selectAll:u,isSorted:s,toggleSort:r,sortBy:o.value,someSelected:c.value,allSelected:l.value,getSortIcon:v};return t[i]?t[i](a):h?``:n.key===`data-table-select`?t[`header.data-table-select`]?.(a)??(d.value&&Y(Z,{color:e.color,density:e.density,modelValue:l.value,indeterminate:c.value&&!l.value,"onUpdate:modelValue":u},null)):L(`div`,{class:`v-data-table-header__content`},[L(`span`,null,[n.title]),n.sortable&&!e.disableSort&&Y(w,{key:`icon`,class:`v-data-table-header__sort-icon`,icon:v(n)},null),e.multiSort&&s(n)&&L(`div`,{key:`badge`,class:R([`v-data-table-header__sort-badge`,...x.value]),style:ee(S.value)},[o.value.findIndex(e=>e.key===n.key)+1])])}})},k=()=>{let t=B(()=>f.value.filter(t=>t?.sortable&&!e.disableSort)),d=f.value.find(e=>e.key===`data-table-select`),p=B({get:()=>t.value.filter(({key:e})=>o.value.some(t=>t.key===e)),set:e=>{let t=N(e),n=o.value.map(e=>e.key);t.filter(({key:e})=>!n.includes(e)).forEach(e=>r(e)),i(()=>o.value=o.value.filter(({key:e})=>t.some(t=>t.key===e)))}});return Y(Q,a({tag:`th`,class:[...D.value],colspan:m.value.length+1},e.headerProps),{default:()=>[L(`div`,{class:`v-data-table-header__content`},[Y(Ce,{modelValue:p.value,"onUpdate:modelValue":e=>p.value=e,chips:!0,color:e.color,class:`v-data-table__td-sort-select`,clearable:!0,density:`default`,items:t.value,label:n(`$vuetify.dataTable.sortBy`),multiple:e.multiSort,variant:`underlined`,returnObject:!0,"onClick:clear":()=>o.value=[]},{append:d?()=>Y(Z,{color:e.color,density:`compact`,modelValue:l.value,indeterminate:c.value&&!l.value,"onUpdate:modelValue":()=>u(!l.value)},null):void 0,chip:({internalItem:e})=>Y(be,{onClick:e.raw.sortable?()=>r(e.raw,void 0,!0):void 0,onMousedown:e=>{e.preventDefault(),e.stopPropagation()}},{default:()=>[e.title,Y(w,{class:R([`v-data-table__td-sort-icon`,s(e.raw)&&`v-data-table__td-sort-icon-active`]),icon:v(e.raw),size:`small`},null)]})})])]})};H(()=>T.value?L(`tr`,null,[Y(k,null,null)]):L(M,null,[t.headers?t.headers(E.value):m.value.map((e,t)=>L(`tr`,null,[e.map((e,n)=>Y(O,{column:e,x:n,y:t},null))])),e.loading&&L(`tr`,{class:`v-data-table-progress`},[L(`th`,{colspan:f.value.length},[Y(b,{name:`v-data-table-progress`,absolute:!0,active:!0,color:typeof e.loading==`boolean`||e.loading===`true`?e.color:e.loading,indeterminate:!0},{default:t.loader})])])]))}}),ht=q({groupBy:{type:Array,default:()=>[]}},`DataTable-group`),gt=Symbol.for(`vuetify:data-table-group`);function _t(e){return{groupBy:G(e,`groupBy`)}}function vt(e){let{disableSort:t,groupBy:n,sortBy:r}=e,i=T(new Set),a=B(()=>n.value.map(e=>({...e,order:e.order??!1})).concat(t?.value?[]:r.value));function s(e){return i.value.has(e.id)}function c(e){let t=new Set(i.value);s(e)?t.delete(e.id):t.add(e.id),i.value=t}function l(e){function t(e){let n=[];for(let r of e.items)`type`in r&&r.type===`group`?n.push(...t(r)):n.push(r);return[...new Set(n)]}return t({type:`group`,items:e,id:`dummy`,key:`dummy`,value:`dummy`,depth:0})}let u={sortByWithGroups:a,toggleGroup:c,opened:i,groupBy:n,extractRows:l,isGroupOpen:s};return o(gt,u),u}function yt(){let e=J(gt);if(!e)throw Error(`Missing group!`);return e}function bt(e,t){if(!e.length)return[];let r=new Map;for(let i of e){let e=n(i.raw,t);r.has(e)||r.set(e,[]),r.get(e).push(i)}return r}function xt(e,t,n=0,r=`root`){if(!t.length)return[];let i=bt(e,t[0]),a=[],o=t.slice(1);return i.forEach((e,i)=>{let s=t[0],c=`${r}_${s}_${i}`;a.push({depth:n,id:c,key:s,value:i,items:o.length?xt(e,o,n+1,c):e,type:`group`})}),a}function St(e,t,n){let r=[];for(let i of e)`type`in i&&i.type===`group`?(i.value!=null&&r.push(i),(t.has(i.id)||i.value==null)&&(r.push(...St(i.items,t,n)),n&&r.push({...i,type:`group-summary`}))):r.push(i);return r}function Ct(e,t,n,r){let i=B(()=>t.value.length?xt(W(e),t.value.map(e=>e.key)):[]);return{groups:i,flatItems:B(()=>t.value.length?St(i.value,n.value,W(r)):W(e))}}var wt=q({item:{type:Object,required:!0},groupCollapseIcon:{type:P,default:`$tableGroupCollapse`},groupExpandIcon:{type:P,default:`$tableGroupExpand`},...V()},`VDataTableGroupHeaderRow`),Tt=X()({name:`VDataTableGroupHeaderRow`,props:wt(),setup(e,{slots:n}){let{isGroupOpen:r,toggleGroup:i,extractRows:a}=yt(),{isSelected:o,isSomeSelected:s,select:c}=it(),{columns:l}=$(),u=B(()=>a([e.item])),d=t(()=>l.value.length-+!!l.value.some(e=>e.key===`data-table-select`));return()=>L(`tr`,{class:`v-data-table-group-header-row`,style:{"--v-data-table-group-header-row-depth":e.item.depth}},[l.value.map(t=>{if(t.key===`data-table-group`){let t=r(e.item)?e.groupCollapseIcon:e.groupExpandIcon,a=()=>i(e.item);return n[`data-table-group`]?.({item:e.item,count:u.value.length,props:{icon:t,onClick:a}})??Y(Q,{class:`v-data-table-group-header-row__column`,colspan:d.value},{default:()=>[Y(h,{size:`small`,variant:`text`,icon:t,onClick:a},null),L(`span`,null,[e.item.value]),L(`span`,null,[A(`(`),u.value.length,A(`)`)])]})}else if(t.key===`data-table-select`){let t=u.value.filter(e=>e.selectable),r=t.length>0&&o(t),i=s(t)&&!r,a=e=>c(t,e);return n[`data-table-select`]?.({props:{modelValue:r,indeterminate:i,"onUpdate:modelValue":a}})??Y(Q,{class:`v-data-table__td--select-row`,noPadding:!0},{default:()=>[Y(Z,{density:e.density,disabled:t.length===0,modelValue:r,indeterminate:i,"onUpdate:modelValue":a},null)]})}return``})])}}),Et=q({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},`DataTable-expand`),Dt=Symbol.for(`vuetify:datatable:expanded`);function Ot(e){let n=t(()=>e.expandOnClick),r=G(e,`expanded`,e.expanded,e=>new Set(e),e=>[...e.values()]);function i(e,t){let n=new Set(r.value),i=v(e.value);if(t)n.add(e.value);else{let e=[...r.value].find(e=>v(e)===i);n.delete(e)}r.value=n}function a(e){let t=v(e.value);return[...r.value].some(e=>v(e)===t)}function s(e){i(e,!a(e))}let c={expand:i,expanded:r,expandOnClick:n,isExpanded:a,toggleExpand:s};return o(Dt,c),c}function kt(){let e=J(Dt);if(!e)throw Error(`foo`);return e}var At=q({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:P,default:`$collapse`},expandIcon:{type:P,default:`$expand`},onClick:m(),onContextmenu:m(),onDblclick:m(),...V(),...de()},`VDataTableRow`),jt=X()({name:`VDataTableRow`,props:At(),setup(e,{slots:t}){let{displayClasses:r,mobile:i}=U(e,`v-data-table__tr`),{isSelected:o,toggleSelect:s,someSelected:c,allSelected:l,selectAll:u}=it(),{isExpanded:d,toggleExpand:f}=kt(),{toggleSort:p,sortBy:m,isSorted:g}=ut(),{columns:_}=$();H(()=>L(`tr`,{class:R([`v-data-table__tr`,{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},r.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&_.value.map((r,_)=>{let v=e.item,y=`item.${r.key}`,b=`header.${r.key}`,x={index:e.index,item:v.raw,internalItem:v,value:n(v.columns,r.key),column:r,isSelected:o,toggleSelect:s,isExpanded:d,toggleExpand:f},S={column:r,selectAll:u,isSorted:g,toggleSort:p,sortBy:m.value,someSelected:c.value,allSelected:l.value,getSortIcon:()=>``},C=typeof e.cellProps==`function`?e.cellProps({index:x.index,item:x.item,internalItem:x.internalItem,value:x.value,column:r}):e.cellProps,w=typeof r.cellProps==`function`?r.cellProps({index:x.index,item:x.item,internalItem:x.internalItem,value:x.value}):r.cellProps,T=r.key===`data-table-select`||r.key===`data-table-expand`,E=r.key===`data-table-group`&&r.width===0&&!r.title;return Y(Q,a({align:r.align,indent:r.indent,class:{"v-data-table__td--expanded-row":r.key===`data-table-expand`,"v-data-table__td--select-row":r.key===`data-table-select`},fixed:r.fixed,fixedOffset:r.fixedOffset,fixedEndOffset:r.fixedEndOffset,lastFixed:r.lastFixed,firstFixedEnd:r.firstFixedEnd,maxWidth:i.value?void 0:r.maxWidth,noPadding:T,empty:E,nowrap:r.nowrap,width:i.value?void 0:r.width},C,w),{default:()=>{if(r.key===`data-table-select`)return t[`item.data-table-select`]?.({...x,props:{color:e.color,disabled:!v.selectable,modelValue:o([v]),onClick:K(()=>s(v),[`stop`])}})??Y(Z,{color:e.color,disabled:!v.selectable,density:e.density,modelValue:o([v]),onClick:K(t=>s(v,e.index,t),[`stop`])},null);if(r.key===`data-table-expand`)return t[`item.data-table-expand`]?.({...x,props:{icon:d(v)?e.collapseIcon:e.expandIcon,size:`small`,variant:`text`,onClick:K(()=>f(v),[`stop`])}})??Y(h,{icon:d(v)?e.collapseIcon:e.expandIcon,size:`small`,variant:`text`,onClick:K(()=>f(v),[`stop`])},null);if(t[y]&&!i.value)return t[y](x);let n=ue(x.value);return i.value?L(M,null,[L(`div`,{class:`v-data-table__td-title`},[t[b]?.(S)??r.title]),L(`div`,{class:`v-data-table__td-value`},[t[y]?.(x)??n])]):n}})})]))}}),Mt=q({color:String,loading:[Boolean,String],loadingText:{type:String,default:`$vuetify.dataIterator.loadingText`},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:`$vuetify.noDataText`},rowProps:[Object,Function],cellProps:[Object,Function],...e(At(),[`collapseIcon`,`expandIcon`,`density`]),...e(wt(),[`groupCollapseIcon`,`groupExpandIcon`,`density`]),...de()},`VDataTableRows`),Nt=X()({name:`VDataTableRows`,inheritAttrs:!1,props:Mt(),setup(t,{attrs:n,slots:r}){let{columns:i}=$(),{expandOnClick:o,toggleExpand:s,isExpanded:c}=kt(),{isSelected:l,toggleSelect:u}=it(),{toggleGroup:d,isGroupOpen:f}=yt(),{t:p}=j(),{mobile:m}=U(t);return H(()=>{let h=e(t,[`groupCollapseIcon`,`groupExpandIcon`,`density`]);return t.loading&&(!t.items.length||r.loading)?L(`tr`,{class:`v-data-table-rows-loading`,key:`loading`},[L(`td`,{colspan:i.value.length},[r.loading?.()??p(t.loadingText)])]):!t.loading&&!t.items.length&&!t.hideNoData?L(`tr`,{class:`v-data-table-rows-no-data`,key:`no-data`},[L(`td`,{colspan:i.value.length},[r[`no-data`]?.()??p(t.noDataText)])]):L(M,null,[t.items.map((e,p)=>{if(e.type===`group`){let t={index:p,item:e,columns:i.value,isExpanded:c,toggleExpand:s,isSelected:l,toggleSelect:u,toggleGroup:d,isGroupOpen:f};return r[`group-header`]?r[`group-header`](t):Y(Tt,a({key:`group-header_${e.id}`,item:e},we(n,`:groupHeader`,()=>t),h),r)}if(e.type===`group-summary`){let t={index:p,item:e,columns:i.value,toggleGroup:d};return r[`group-summary`]?.(t)??``}let g={index:e.virtualIndex??p,item:e.raw,internalItem:e,columns:i.value,isExpanded:c,toggleExpand:s,isSelected:l,toggleSelect:u},_={...g,props:a({key:`item_${e.key??e.index}`,onClick:o.value?()=>{s(e)}:void 0,index:p,item:e,color:t.color,cellProps:t.cellProps,collapseIcon:t.collapseIcon,expandIcon:t.expandIcon,density:t.density,mobile:m.value},we(n,`:row`,()=>g),typeof t.rowProps==`function`?t.rowProps({item:g.item,index:g.index,internalItem:g.internalItem}):t.rowProps)};return L(M,{key:_.props.key},[r.item?r.item(_):Y(jt,_.props,r),c(e)&&r[`expanded-row`]?.(g)])})])}),{}}}),Pt=q({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>[`even`,`odd`].includes(e)},...r(),...V(),...z(),...me()},`VTable`),Ft=X()({name:`VTable`,props:Pt(),setup(e,{slots:t,emit:n}){let{themeClasses:r}=ie(e),{densityClasses:i}=re(e);return H(()=>Y(e.tag,{class:R([`v-table`,{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!t.top,"v-table--has-bottom":!!t.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped===`even`,"v-table--striped-odd":e.striped===`odd`},r.value,i.value,e.class]),style:ee(e.style)},{default:()=>[t.top?.(),t.default?L(`div`,{class:`v-table__wrapper`,style:{height:p(e.height)}},[L(`table`,null,[t.default()])]):t.wrapper?.(),t.bottom?.()]})),{}}}),It=q({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:`id`},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},`DataTable-items`);function Lt(e,t,n,r){let i=e.returnObject?t:x(t,e.itemValue),a=x(t,e.itemSelectable,!0),o=r.reduce((e,n)=>(n.key!=null&&(e[n.key]=x(t,n.value)),e),{});return{type:`item`,key:e.returnObject?x(t,e.itemValue):i,index:n,value:i,selectable:a,columns:o,raw:t}}function Rt(e,t,n){return t.map((t,r)=>Lt(e,t,r,n))}function zt(e,t){return{items:B(()=>Rt(e,e.items,t.value))}}function Bt({page:e,itemsPerPage:t,sortBy:n,groupBy:r,search:i}){let a=ye(`VDataTable`),o=()=>({page:e.value,itemsPerPage:t.value,sortBy:n.value,groupBy:r.value,search:i.value}),s=null;S(o,t=>{I(s,t)||(s&&s.search!==t.search&&(e.value=1),a.emit(`update:options`,t),s=t)},{deep:!0,immediate:!0})}var Vt=q({...Mt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...Et(),...ht(),...Le(),...It(),...tt(),...at(),..._(pt(),[`multiSort`,`initialSortOrder`]),...Pt()},`DataTable`),Ht=q({...Oe(),...Vt(),...xe(),...Fe()},`VDataTable`),Ut=X()({name:`VDataTable`,props:Ht(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,{attrs:n,slots:r}){let{groupBy:i}=_t(e),{initialSortOrder:o,sortBy:s,multiSort:c,mustSort:l}=st(e),{page:u,itemsPerPage:d}=Ae(e),{disableSort:f}=te(e),{columns:p,headers:m,sortFunctions:h,sortRawFunctions:g,filterFunctions:v}=Ze(e,{groupBy:i,showSelect:t(()=>e.showSelect),showExpand:t(()=>e.showExpand)}),{items:y}=zt(e,p),b=t(()=>e.search),{filteredItems:x}=Se(e,y,b,{transform:e=>e.columns,customKeyFilter:v}),{toggleSort:S}=lt({initialSortOrder:o,sortBy:s,multiSort:c,mustSort:l,page:u}),{sortByWithGroups:C,opened:w,extractRows:T,isGroupOpen:E,toggleGroup:D}=vt({groupBy:i,sortBy:s,disableSort:f}),{sortedItems:ee}=dt(e,x,C,{transform:e=>({...e.raw,...e.columns}),sortFunctions:h,sortRawFunctions:g}),{pageCount:O,setItemsPerPage:A,prevPage:j,nextPage:N,setPage:P,paginatedItems:F}=Pe({pageBy:B(()=>e.pageBy===`auto`?e.groupBy.length?`group`:`item`:e.pageBy),sortedItems:ee,paginate:e=>{let{startIndex:t,stopIndex:n,pageCount:r,setItemsPerPage:i,prevPage:a,nextPage:o,setPage:s}=je({page:u,itemsPerPage:d,itemsLength:B(()=>W(e).length)}),{paginatedItems:c}=Ne({items:e,startIndex:t,stopIndex:n,itemsPerPage:d});return{paginatedItems:c,pageCount:r,setItemsPerPage:i,prevPage:a,nextPage:o,setPage:s}},group:e=>Ct(e,i,w,()=>!!r[`group-summary`])}),I=B(()=>T(F.value)),{isSelected:ne,select:re,selectAll:R,toggleSelect:ie,someSelected:ae,allSelected:oe}=rt(e,{allItems:y,currentPage:I}),{isExpanded:se,toggleExpand:ce}=Ot(e);Bt({page:u,itemsPerPage:d,sortBy:s,groupBy:i,search:b}),k({VDataTableRows:{hideNoData:t(()=>e.hideNoData),noDataText:t(()=>e.noDataText),loading:t(()=>e.loading),loadingText:t(()=>e.loadingText)}});let z=B(()=>({page:u.value,itemsPerPage:d.value,sortBy:s.value,pageCount:O.value,toggleSort:S,setItemsPerPage:A,prevPage:j,nextPage:N,setPage:P,someSelected:ae.value,allSelected:oe.value,isSelected:ne,select:re,selectAll:R,toggleSelect:ie,isExpanded:se,toggleExpand:ce,isGroupOpen:E,toggleGroup:D,items:I.value.map(e=>e.raw),internalItems:I.value,groupedItems:F.value,columns:p.value,headers:m.value}));return H(()=>{let t=Ie.filterProps(e),i=mt.filterProps(_(e,[`multiSort`])),o=Nt.filterProps(e),s=Ft.filterProps(e);return Y(Ft,a({class:[`v-data-table`,{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},s,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>r.top?.(z.value),default:()=>r.default?r.default(z.value):L(M,null,[r.colgroup?.(z.value),!e.hideDefaultHeader&&L(`thead`,{key:`thead`},[Y(mt,a(i,{multiSort:!!e.multiSort}),r)]),r.thead?.(z.value),!e.hideDefaultBody&&L(`tbody`,null,[r[`body.prepend`]?.(z.value),r.body?r.body(z.value):Y(Nt,a(n,o,{items:F.value}),r),r[`body.append`]?.(z.value)]),r.tbody?.(z.value),r.tfoot?.(z.value)]),bottom:()=>r.bottom?r.bottom(z.value):!e.hideDefaultFooter&&L(M,null,[Y(_e,null,null),Y(Ie,t,{prepend:r[`footer.prepend`]})])})}),{}}});export{Fe as _,Ft as a,je as b,_t as c,mt as d,st as f,Ie as g,Ze as h,zt as i,vt as l,rt as m,Vt as n,Nt as o,lt as p,Bt as r,Ot as s,Ut as t,Ct as u,Ae as v,De as x,Oe as y}; \ No newline at end of file +import{$n as e,$r as t,Bn as n,Cn as r,Dr as i,Er as a,Fr as o,Gn as s,H as c,Hr as l,Jn as u,Kn as d,Mn as f,Nn as p,On as m,P as h,Pn as g,Qn as _,Qr as v,U as y,V as b,Vn as x,Vr as S,Wn as C,X as w,Xr as T,Z as E,Zr as D,ai as ee,at as O,bn as k,br as A,cn as j,dr as M,ei as te,er as N,fn as P,ft as F,gn as I,gt as ne,hr as L,ht as re,ii as R,in as ie,ir as ae,jr as oe,kn as se,ln as ce,lt as z,mr as B,mt as V,nn as le,oi as ue,on as de,pn as H,qn as fe,ri as pe,rn as me,sn as U,st as he,ti as W,un as G,ur as K,ut as ge,v as _e,vn as ve,wn as q,wr as J,xn as ye,xr as Y,y as be,yn as X}from"./index-Bplw5zZe.js";import{a as xe,d as Z,o as Se,t as Ce}from"./VSelect-C2IkZQ4Y.js";function we(e,t,n){return Object.keys(e).filter(e=>d(e)&&e.endsWith(t)).reduce((r,i)=>(r[i.slice(0,-t.length)]=t=>se(e[i],t,n(t)),r),{})}function Te(){let e=T([]);oe(()=>e.value=[]);function t(t,n){e.value[n]=t}return{refs:e,updateRef:t}}var Ee=q({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1==0},totalVisible:[Number,String],firstIcon:{type:P,default:`$first`},prevIcon:{type:P,default:`$prev`},nextIcon:{type:P,default:`$next`},lastIcon:{type:P,default:`$last`},ariaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.root`},pageAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.page`},currentPageAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.currentPage`},firstAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.first`},previousAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.previous`},nextAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.next`},lastAriaLabel:{type:String,default:`$vuetify.pagination.ariaLabel.last`},ellipsis:{type:String,default:`...`},showFirstLastPage:Boolean,...ne(),...r(),...V(),...F(),...ge(),...E(),...z({tag:`nav`}),...me(),...O({variant:`text`})},`VPagination`),De=X()({name:`VPagination`,props:Ee(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,{slots:n,emit:r}){let o=G(e,`modelValue`),{t:s,n:c}=j(),{isRtl:l}=ce(),{themeClasses:d}=ie(e),{width:f}=U(),p=D(-1);k(void 0,{scoped:!0});let{resizeRef:m}=le(e=>{if(!e.length)return;let{target:t,contentRect:n}=e[0],r=t.querySelector(`.v-pagination__list > *`);if(!r)return;let i=n.width;p.value=b(i,r.offsetWidth+parseFloat(getComputedStyle(r).marginRight)*2)}),_=B(()=>parseInt(e.length,10)),v=B(()=>parseInt(e.start,10)),y=B(()=>e.totalVisible==null?p.value>=0?p.value:b(f.value,58):parseInt(e.totalVisible,10));function b(t,n){let r=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((t-n*r)/n).toFixed(2))))}let x=B(()=>{if(_.value<=0||isNaN(_.value)||_.value>2**53-1||y.value<=0)return[];if(y.value===1)return[o.value];if(_.value<=y.value)return g(_.value,v.value);let t=y.value%2==0,n=t?y.value/2:Math.floor(y.value/2),r=t?n:n+1,i=_.value-n;if(r-o.value>=0)return[...g(Math.max(1,y.value-1),v.value),e.ellipsis,_.value];if(o.value-i>=+!!t){let t=y.value-1,n=_.value-t+v.value;return[v.value,e.ellipsis,...g(t,n)]}else{let t=Math.max(1,y.value-2),n=t===1?o.value:o.value-Math.ceil(t/2)+v.value;return[v.value,e.ellipsis,...g(t,n),e.ellipsis,_.value]}});function S(e,t,n){e.preventDefault(),o.value=t,n&&r(n,t)}let{refs:C,updateRef:w}=Te();k({VPaginationBtn:{color:t(()=>e.color),border:t(()=>e.border),density:t(()=>e.density),size:t(()=>e.size),variant:t(()=>e.variant),rounded:t(()=>e.rounded),elevation:t(()=>e.elevation)}});let T=B(()=>x.value.map((t,n)=>{let r=e=>w(e,n);if(typeof t==`string`)return{isActive:!1,key:`ellipsis-${n}`,page:t,props:{ref:r,ellipsis:!0,icon:!0,disabled:!0}};{let n=t===o.value;return{isActive:n,key:t,page:c(t),props:{ref:r,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:n?e.activeColor:e.color,"aria-current":n,"aria-label":s(n?e.currentPageAriaLabel:e.pageAriaLabel,t),onClick:e=>S(e,t)}}}})),E=B(()=>{let t=!!e.disabled||o.value<=v.value,n=!!e.disabled||o.value>=v.value+_.value-1;return{first:e.showFirstLastPage?{icon:l.value?e.lastIcon:e.firstIcon,onClick:e=>S(e,v.value,`first`),disabled:t,"aria-label":s(e.firstAriaLabel),"aria-disabled":t}:void 0,prev:{icon:l.value?e.nextIcon:e.prevIcon,onClick:e=>S(e,o.value-1,`prev`),disabled:t,"aria-label":s(e.previousAriaLabel),"aria-disabled":t},next:{icon:l.value?e.prevIcon:e.nextIcon,onClick:e=>S(e,o.value+1,`next`),disabled:n,"aria-label":s(e.nextAriaLabel),"aria-disabled":n},last:e.showFirstLastPage?{icon:l.value?e.firstIcon:e.lastIcon,onClick:e=>S(e,v.value+_.value-1,`last`),disabled:n,"aria-label":s(e.lastAriaLabel),"aria-disabled":n}:void 0}});function O(){let e=o.value-v.value;C.value[e]?.$el.focus()}function A(t){t.key===u.left&&!e.disabled&&o.value>Number(e.start)?(--o.value,i(O)):t.key===u.right&&!e.disabled&&o.valueY(e.tag,{ref:m,class:R([`v-pagination`,d.value,e.class]),style:ee(e.style),role:`navigation`,"aria-label":s(e.ariaLabel),onKeydown:A,"data-test":`v-pagination-root`},{default:()=>[L(`ul`,{class:`v-pagination__list`},[e.showFirstLastPage&&L(`li`,{key:`first`,class:`v-pagination__first`,"data-test":`v-pagination-first`},[n.first?n.first(E.value.first):Y(h,a({_as:`VPaginationBtn`},E.value.first),null)]),L(`li`,{key:`prev`,class:`v-pagination__prev`,"data-test":`v-pagination-prev`},[n.prev?n.prev(E.value.prev):Y(h,a({_as:`VPaginationBtn`},E.value.prev),null)]),T.value.map((e,t)=>L(`li`,{key:e.key,class:R([`v-pagination__item`,{"v-pagination__item--is-active":e.isActive}]),"data-test":`v-pagination-item`},[n.item?n.item(e):Y(h,a({_as:`VPaginationBtn`},e.props),{default:()=>[e.page]})])),L(`li`,{key:`next`,class:`v-pagination__next`,"data-test":`v-pagination-next`},[n.next?n.next(E.value.next):Y(h,a({_as:`VPaginationBtn`},E.value.next),null)]),e.showFirstLastPage&&L(`li`,{key:`last`,class:`v-pagination__last`,"data-test":`v-pagination-last`},[n.last?n.last(E.value.last):Y(h,a({_as:`VPaginationBtn`},E.value.last),null)])])]})),{}}}),Oe=q({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10},pageBy:{type:String,default:`any`}},`DataTable-paginate`),ke=Symbol.for(`vuetify:data-table-pagination`);function Ae(e){return{page:G(e,`page`,void 0,e=>Number(e??1)),itemsPerPage:G(e,`itemsPerPage`,void 0,e=>Number(e??10))}}function je(e){let{page:t,itemsPerPage:n,itemsLength:r}=e,i=B(()=>n.value===-1?0:n.value*(t.value-1)),a=B(()=>n.value===-1?r.value:Math.min(r.value,i.value+n.value)),s=B(()=>n.value===-1||r.value===0?1:Math.ceil(r.value/n.value));S([t,s],()=>{t.value>s.value&&(t.value=s.value)});function c(e){n.value=e,t.value=1}function l(){t.value=f(t.value+1,1,s.value)}function u(){t.value=f(t.value-1,1,s.value)}function d(e){t.value=f(e,1,s.value)}let p={page:t,itemsPerPage:n,startIndex:i,stopIndex:a,pageCount:s,itemsLength:r,nextPage:l,prevPage:u,setPage:d,setItemsPerPage:c};return o(ke,p),p}function Me(){let e=J(ke);if(!e)throw Error(`Missing pagination!`);return e}function Ne(e){let t=ye(`usePaginatedItems`),{items:n,startIndex:r,stopIndex:i,itemsPerPage:a}=e,o=B(()=>a.value<=0?W(n):W(n).slice(r.value,i.value));return S(o,e=>{t.emit(`update:currentItems`,e)},{immediate:!0}),{paginatedItems:o}}function Pe(e){let{sortedItems:t,paginate:n,group:r}=e,i=W(e.pageBy);if(i===`item`){let{paginatedItems:e,pageCount:i,setItemsPerPage:a,prevPage:o,nextPage:s,setPage:c}=n(t),{flatItems:l}=r(e);return{pageCount:i,setItemsPerPage:a,prevPage:o,nextPage:s,setPage:c,paginatedItems:l}}if(i===`group`){let{flatItems:e,groups:i}=r(t),{paginatedItems:a,pageCount:o,setItemsPerPage:s,prevPage:c,nextPage:l,setPage:u}=n(i);return{pageCount:o,setItemsPerPage:s,prevPage:c,nextPage:l,setPage:u,paginatedItems:B(()=>{if(!a.value.length)return[];let t=a.value.at(0).id,n=a.value.at(-1).id,r=e.value.findIndex(e=>e.type===`group`&&e.id===t),i=e.value.findIndex(e=>e.type===`group`&&e.id===n),o=e.value.findIndex((e,t)=>t>i&&e.type===`group`&&e.depth===0);return e.value.slice(r,o===-1?void 0:o)})}}if(i===`any`){let{flatItems:e}=r(t),{paginatedItems:i,pageCount:a,setItemsPerPage:o,prevPage:s,nextPage:c,setPage:l}=n(e);return{pageCount:a,setItemsPerPage:o,prevPage:s,nextPage:c,setPage:l,paginatedItems:i}}throw Error(`Unrecognized pagination target ${i}`)}var Fe=q({color:String,prevIcon:{type:P,default:`$prev`},nextIcon:{type:P,default:`$next`},firstIcon:{type:P,default:`$first`},lastIcon:{type:P,default:`$last`},itemsPerPageText:{type:String,default:`$vuetify.dataFooter.itemsPerPageText`},pageText:{type:String,default:`$vuetify.dataFooter.pageText`},firstPageLabel:{type:String,default:`$vuetify.dataFooter.firstPage`},prevPageLabel:{type:String,default:`$vuetify.dataFooter.prevPage`},nextPageLabel:{type:String,default:`$vuetify.dataFooter.nextPage`},lastPageLabel:{type:String,default:`$vuetify.dataFooter.lastPage`},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:`10`},{value:25,title:`25`},{value:50,title:`50`},{value:100,title:`100`},{value:-1,title:`$vuetify.dataFooter.itemsPerPageAll`}]},showCurrentPage:Boolean},`VDataTableFooter`),Ie=X()({name:`VDataTableFooter`,props:Fe(),setup(e,{slots:t}){let{t:n}=j(),{page:r,pageCount:i,startIndex:o,stopIndex:s,itemsLength:c,itemsPerPage:l,setItemsPerPage:u}=Me(),d=B(()=>e.itemsPerPageOptions.map(e=>typeof e==`number`?{value:e,title:e===-1?n(`$vuetify.dataFooter.itemsPerPageAll`):String(e)}:{...e,title:isNaN(Number(e.title))?n(e.title):e.title}));return H(()=>{let f=De.filterProps(e);return L(`div`,{class:`v-data-table-footer`},[t.prepend?.(),L(`div`,{class:`v-data-table-footer__items-per-page`},[L(`span`,null,[n(e.itemsPerPageText)]),Y(Ce,{items:d.value,itemColor:e.color,modelValue:l.value,"onUpdate:modelValue":e=>u(Number(e)),density:`compact`,variant:`outlined`,"aria-label":n(e.itemsPerPageText),hideDetails:!0},null)]),L(`div`,{class:`v-data-table-footer__info`},[L(`div`,null,[n(e.pageText,c.value?o.value+1:0,s.value,c.value)])]),L(`div`,{class:`v-data-table-footer__pagination`},[Y(De,a({modelValue:r.value,"onUpdate:modelValue":e=>r.value=e,density:`comfortable`,firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:i.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:+!!e.showCurrentPage,variant:`plain`},_(f,[`color`])),null)])])}),{}}}),Q=ve({align:{type:String,default:`start`},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,{slots:t})=>{let n=e.tag??`td`,r=typeof e.fixed==`string`?e.fixed:e.fixed?`start`:`none`;return Y(n,{class:R([`v-data-table__td`,{"v-data-table-column--fixed":r===`start`,"v-data-table-column--fixed-end":r===`end`,"v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:p(e.height),width:p(e.width),maxWidth:p(e.maxWidth),left:r===`start`?p(e.fixedOffset||null):void 0,right:r===`end`?p(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?p(e.indent):void 0}},{default:()=>[t.default?.()]})}),Le=q({headers:Array},`DataTable-header`),Re=Symbol.for(`vuetify:data-table-headers`),ze={title:``,sortable:!1},Be={...ze,width:48};function Ve(e=[]){let t=e.map(e=>({element:e,priority:0}));return{enqueue:(e,n)=>{let r=!1;for(let i=0;in){t.splice(i,0,{element:e,priority:n}),r=!0;break}r||t.push({element:e,priority:n})},size:()=>t.length,count:()=>{let e=0;if(!t.length)return 0;let n=Math.floor(t[0].priority);for(let r=0;rt.shift()}}function He(e,t=[]){if(!e.children)t.push(e);else for(let n of e.children)He(n,t);return t}function Ue(e,t=new Set){for(let n of e)n.key&&t.add(n.key),n.children&&Ue(n.children,t);return t}function We(e){if(e.key){if(e.key===`data-table-group`)return ze;if([`data-table-expand`,`data-table-select`].includes(e.key))return Be}}function Ge(e,t=0){return e.children?Math.max(t,...e.children.map(e=>Ge(e,t+1))):t}function Ke(e){let t=!1;function n(e,r,i=`none`){if(e)if(i!==`none`&&(e.fixed=i),e.fixed===!0&&(e.fixed=`start`),e.fixed===r)if(e.children)if(r===`start`)for(let t=e.children.length-1;t>=0;t--)n(e.children[t],r,r);else for(let t=0;t=0;t--)n(e.children[t],r);else for(let t=0;t=0;t--)n(e[t],`start`);for(let t=0;t=0;t--)i=Je(e[t],i)}function qe(e,t=0){if(!e)return t;if(e.children){e.fixedOffset=t;for(let n of e.children)t=qe(n,t)}else e.fixed&&e.fixed!==`end`&&(e.fixedOffset=t,t+=parseFloat(e.width||`0`)||0);return t}function Je(e,t=0){if(!e)return t;if(e.children){e.fixedEndOffset=t;for(let n of e.children)t=Je(n,t)}else e.fixed===`end`&&(e.fixedEndOffset=t,t+=parseFloat(e.width||`0`)||0);return t}function Ye(e,t){let n=[],r=0,i=Ve(e);for(;i.size()>0;){let e=i.count(),a=[],o=1;for(;e>0;){let{element:n,priority:s}=i.dequeue(),c=t-r-Ge(n);if(a.push({...n,rowspan:c??1,colspan:n.children?He(n).length:1}),n.children)for(let e of n.children){let t=s%1+o/10**(r+2);i.enqueue(e,r+c+t)}o+=1,--e}r+=1,n.push(a)}return{columns:e.map(e=>He(e)).flat(),headers:n}}function Xe(e){let t=[];for(let n of e){let e={...We(n),...n},r=e.key??(typeof e.value==`string`?e.value:null),i=e.value??r??null,a={...e,key:r,value:i,sortable:e.sortable??(e.key!=null||!!e.sort),children:e.children?Xe(e.children):void 0};t.push(a)}return t}function Ze(e,t){let n=T([]),r=T([]),i=T({}),a=T({}),s=T({});l(()=>{let o=(e.headers||Object.keys(e.items[0]??{}).map(e=>({key:e,title:pe(e)}))).slice(),c=Ue(o);t?.groupBy?.value.length&&!c.has(`data-table-group`)&&o.unshift({key:`data-table-group`,title:`Group`}),t?.showSelect?.value&&!c.has(`data-table-select`)&&o.unshift({key:`data-table-select`}),t?.showExpand?.value&&!c.has(`data-table-expand`)&&o.push({key:`data-table-expand`});let l=Xe(o);Ke(l);let u=Ye(l,Math.max(...l.map(e=>Ge(e)))+1);n.value=u.headers,r.value=u.columns;let d=u.headers.flat(1);for(let e of d)e.key&&(e.sortable&&(e.sort&&(i.value[e.key]=e.sort),e.sortRaw&&(a.value[e.key]=e.sortRaw)),e.filter&&(s.value[e.key]=e.filter))});let c={headers:n,columns:r,sortFunctions:i,sortRawFunctions:a,filterFunctions:s};return o(Re,c),c}function $(){let e=J(Re);if(!e)throw Error(`Missing headers!`);return e}var Qe={showSelectAll:!1,allSelected:()=>[],select:({items:e,value:t})=>new Set(t?[e[0]?.value]:[]),selectAll:({selected:e})=>e},$e={showSelectAll:!0,allSelected:({currentPage:e})=>e,select:({items:e,value:t,selected:n})=>{for(let r of e)t?n.add(r.value):n.delete(r.value);return n},selectAll:({value:e,currentPage:t,selected:n})=>$e.select({items:t,value:e,selected:n})},et={showSelectAll:!0,allSelected:({allItems:e})=>e,select:({items:e,value:t,selected:n})=>{for(let r of e)t?n.add(r.value):n.delete(r.value);return n},selectAll:({value:e,allItems:t})=>new Set(e?t.map(e=>e.value):[])},tt=q({showSelect:Boolean,selectStrategy:{type:[String,Object],default:`page`},modelValue:{type:Array,default:()=>[]},valueComparator:Function},`DataTable-select`),nt=Symbol.for(`vuetify:data-table-selection`);function rt(e,{allItems:n,currentPage:r}){let i=G(e,`modelValue`,e.modelValue,t=>{let r=e.valueComparator;return r?new Set(N(t).map(e=>n.value.find(t=>r(e,t.value))?.value??e)):new Set(N(t).map(e=>fe(e)?n.value.find(t=>e===t.value)?.value??e:n.value.find(t=>I(e,t.value))?.value??e))},e=>[...e.values()]),a=B(()=>n.value.filter(e=>e.selectable)),s=B(()=>W(r).filter(e=>e.selectable)),c=B(()=>{if(typeof e.selectStrategy==`object`)return e.selectStrategy;switch(e.selectStrategy){case`single`:return Qe;case`all`:return et;default:return $e}}),l=D(null);function u(e){return N(e).every(e=>i.value.has(e.value))}function d(e){return N(e).some(e=>i.value.has(e.value))}function f(e,t){i.value=c.value.select({items:e,value:t,selected:new Set(i.value)})}function p(t,n,i){let a=[],o=W(r);if(n??=o.findIndex(e=>e.value===t.value),e.selectStrategy!==`single`&&i?.shiftKey&&l.value!==null){let[e,t]=[l.value,n].sort((e,t)=>e-t);a.push(...o.slice(e,t+1).filter(e=>e.selectable))}else a.push(t),l.value=n;f(a,!u([t]))}function m(e){i.value=c.value.selectAll({value:e,allItems:a.value,currentPage:s.value,selected:new Set(i.value)})}let h={toggleSelect:p,select:f,selectAll:m,isSelected:u,isSomeSelected:d,someSelected:B(()=>i.value.size>0),allSelected:B(()=>{let e=c.value.allSelected({allItems:a.value,currentPage:s.value});return!!e.length&&u(e)}),showSelectAll:t(()=>c.value.showSelectAll),lastSelectedIndex:l,selectStrategy:c};return o(nt,h),h}function it(){let e=J(nt);if(!e)throw Error(`Missing selection!`);return e}var at=q({initialSortOrder:{type:String,default:`asc`,validator:e=>!e||[`asc`,`desc`].includes(e)},sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:{type:[Boolean,Object],default:!1},mustSort:Boolean},`DataTable-sort`),ot=Symbol.for(`vuetify:data-table-sort`);function st(e){let n=t(()=>e.initialSortOrder),r=G(e,`sortBy`),i=t(()=>e.mustSort);return{initialSortOrder:n,sortBy:r,multiSort:t(()=>e.multiSort),mustSort:i}}function ct(e,t){if(!s(e))return{active:!!e};let{key:n,mode:r,modifier:i}=e,a=i===`alt`&&t?.altKey||i===`shift`&&t?.shiftKey;return{active:!n||t?.ctrlKey||t?.metaKey||!1,mode:a?r===`append`?`prepend`:`append`:r}}function lt(e){let{initialSortOrder:t,sortBy:n,mustSort:r,multiSort:i,page:a}=e,s=(e,o,s=!1)=>{if(e.key==null)return;let c=n.value.map(e=>({...e}))??[],l=c.find(t=>t.key===e.key),u=t.value,d=t.value===`desc`?`asc`:`desc`;if(l)l.order===d?s||r.value&&c.length===1?l.order=t.value:c=c.filter(t=>t.key!==e.key):l.order=d;else{let{active:t,mode:n}=ct(i.value,o);t?n===`prepend`?c.unshift({key:e.key,order:u}):c.push({key:e.key,order:u}):c=[{key:e.key,order:u}]}n.value=c,a&&(a.value=1)};function c(e){return!!n.value.find(t=>t.key===e.key)}let l={sortBy:n,toggleSort:s,isSorted:c};return o(ot,l),l}function ut(){let e=J(ot);if(!e)throw Error(`Missing sort!`);return e}function dt(e,t,n,r){let i=j();return{sortedItems:B(()=>n.value.length?ft(t.value,n.value,i.current.value,{transform:r?.transform,sortFunctions:{...e.customKeySort,...r?.sortFunctions?.value},sortRawFunctions:r?.sortRawFunctions?.value}):t.value)}}function ft(e,t,r,i){let a=new Intl.Collator(r,{sensitivity:`accent`,usage:`sort`});return e.map(e=>[e,i?.transform?i.transform(e):e]).sort((e,r)=>{for(let o=0;oe==null?e:e.toString().toLocaleLowerCase()),u!==d))return C(u)&&C(d)?0:C(u)?-1:C(d)?1:!isNaN(u)&&!isNaN(d)?Number(u)-Number(d):a.compare(u,d)}return 0}).map(([e])=>e)}var pt=q({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortIcon:{type:P},sortAscIcon:{type:P,default:`$sortAsc`},sortDescIcon:{type:P,default:`$sortDesc`},headerProps:{type:Object},sticky:Boolean,...V(),...de(),...c()},`VDataTableHeaders`),mt=X()({name:`VDataTableHeaders`,props:pt(),setup(e,{slots:t}){let{t:n}=j(),{toggleSort:r,sortBy:o,isSorted:s}=ut(),{someSelected:c,allSelected:l,selectAll:u,showSelectAll:d}=it(),{columns:f,headers:m}=$(),{loaderClasses:h}=y(e);function g(t,n){if(!(e.sticky||e.fixedHeader)&&!t.fixed)return;let r=typeof t.fixed==`string`?t.fixed:t.fixed?`start`:`none`;return{position:`sticky`,left:r===`start`?p(t.fixedOffset):void 0,right:r===`end`?p(t.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${n})`:void 0}}function _(t,n){t.key===`Enter`&&!e.disableSort&&r(n,t)}function v(t){switch(o.value.find(e=>e.key===t.key)?.order){case`asc`:return e.sortAscIcon;case`desc`:return e.sortDescIcon;default:return e.sortIcon||(e.initialSortOrder===`asc`?e.sortAscIcon:e.sortDescIcon)}}let{backgroundColorClasses:x,backgroundColorStyles:S}=he(()=>e.color),{displayClasses:C,mobile:T}=U(e),E=B(()=>({headers:m.value,columns:f.value,toggleSort:r,isSorted:s,sortBy:o.value,someSelected:c.value,allSelected:l.value,selectAll:u,getSortIcon:v})),D=B(()=>[`v-data-table__th`,{"v-data-table__th--sticky":e.sticky||e.fixedHeader},C.value,h.value]),O=({column:n,x:i,y:f})=>{let m=n.key===`data-table-select`||n.key===`data-table-expand`,h=n.key===`data-table-group`&&n.width===0&&!n.title,y=a(e.headerProps??{},n.headerProps??{}),b=n.sortable&&!e.disableSort;return Y(Q,a({tag:`th`,align:n.align,class:[{"v-data-table__th--sortable":b,"v-data-table__th--sorted":s(n),"v-data-table__th--fixed":n.fixed},...D.value],style:{width:p(n.width),minWidth:p(n.minWidth),maxWidth:p(n.maxWidth),...g(n,f)},colspan:n.colspan,rowspan:n.rowspan,fixed:n.fixed,nowrap:n.nowrap,lastFixed:n.lastFixed,firstFixedEnd:n.firstFixedEnd,noPadding:m,empty:h,tabindex:b?0:void 0,onClick:b?e=>r(n,e):void 0,onKeydown:b?e=>_(e,n):void 0},y),{default:()=>{let i=`header.${n.key}`,a={column:n,selectAll:u,isSorted:s,toggleSort:r,sortBy:o.value,someSelected:c.value,allSelected:l.value,getSortIcon:v};return t[i]?t[i](a):h?``:n.key===`data-table-select`?t[`header.data-table-select`]?.(a)??(d.value&&Y(Z,{color:e.color,density:e.density,modelValue:l.value,indeterminate:c.value&&!l.value,"onUpdate:modelValue":u},null)):L(`div`,{class:`v-data-table-header__content`},[L(`span`,null,[n.title]),n.sortable&&!e.disableSort&&Y(w,{key:`icon`,class:`v-data-table-header__sort-icon`,icon:v(n)},null),e.multiSort&&s(n)&&L(`div`,{key:`badge`,class:R([`v-data-table-header__sort-badge`,...x.value]),style:ee(S.value)},[o.value.findIndex(e=>e.key===n.key)+1])])}})},k=()=>{let t=B(()=>f.value.filter(t=>t?.sortable&&!e.disableSort)),d=f.value.find(e=>e.key===`data-table-select`),p=B({get:()=>t.value.filter(({key:e})=>o.value.some(t=>t.key===e)),set:e=>{let t=N(e),n=o.value.map(e=>e.key);t.filter(({key:e})=>!n.includes(e)).forEach(e=>r(e)),i(()=>o.value=o.value.filter(({key:e})=>t.some(t=>t.key===e)))}});return Y(Q,a({tag:`th`,class:[...D.value],colspan:m.value.length+1},e.headerProps),{default:()=>[L(`div`,{class:`v-data-table-header__content`},[Y(Ce,{modelValue:p.value,"onUpdate:modelValue":e=>p.value=e,chips:!0,color:e.color,class:`v-data-table__td-sort-select`,clearable:!0,density:`default`,items:t.value,label:n(`$vuetify.dataTable.sortBy`),multiple:e.multiSort,variant:`underlined`,returnObject:!0,"onClick:clear":()=>o.value=[]},{append:d?()=>Y(Z,{color:e.color,density:`compact`,modelValue:l.value,indeterminate:c.value&&!l.value,"onUpdate:modelValue":()=>u(!l.value)},null):void 0,chip:({internalItem:e})=>Y(be,{onClick:e.raw.sortable?()=>r(e.raw,void 0,!0):void 0,onMousedown:e=>{e.preventDefault(),e.stopPropagation()}},{default:()=>[e.title,Y(w,{class:R([`v-data-table__td-sort-icon`,s(e.raw)&&`v-data-table__td-sort-icon-active`]),icon:v(e.raw),size:`small`},null)]})})])]})};H(()=>T.value?L(`tr`,null,[Y(k,null,null)]):L(M,null,[t.headers?t.headers(E.value):m.value.map((e,t)=>L(`tr`,null,[e.map((e,n)=>Y(O,{column:e,x:n,y:t},null))])),e.loading&&L(`tr`,{class:`v-data-table-progress`},[L(`th`,{colspan:f.value.length},[Y(b,{name:`v-data-table-progress`,absolute:!0,active:!0,color:typeof e.loading==`boolean`||e.loading===`true`?e.color:e.loading,indeterminate:!0},{default:t.loader})])])]))}}),ht=q({groupBy:{type:Array,default:()=>[]}},`DataTable-group`),gt=Symbol.for(`vuetify:data-table-group`);function _t(e){return{groupBy:G(e,`groupBy`)}}function vt(e){let{disableSort:t,groupBy:n,sortBy:r}=e,i=T(new Set),a=B(()=>n.value.map(e=>({...e,order:e.order??!1})).concat(t?.value?[]:r.value));function s(e){return i.value.has(e.id)}function c(e){let t=new Set(i.value);s(e)?t.delete(e.id):t.add(e.id),i.value=t}function l(e){function t(e){let n=[];for(let r of e.items)`type`in r&&r.type===`group`?n.push(...t(r)):n.push(r);return[...new Set(n)]}return t({type:`group`,items:e,id:`dummy`,key:`dummy`,value:`dummy`,depth:0})}let u={sortByWithGroups:a,toggleGroup:c,opened:i,groupBy:n,extractRows:l,isGroupOpen:s};return o(gt,u),u}function yt(){let e=J(gt);if(!e)throw Error(`Missing group!`);return e}function bt(e,t){if(!e.length)return[];let r=new Map;for(let i of e){let e=n(i.raw,t);r.has(e)||r.set(e,[]),r.get(e).push(i)}return r}function xt(e,t,n=0,r=`root`){if(!t.length)return[];let i=bt(e,t[0]),a=[],o=t.slice(1);return i.forEach((e,i)=>{let s=t[0],c=`${r}_${s}_${i}`;a.push({depth:n,id:c,key:s,value:i,items:o.length?xt(e,o,n+1,c):e,type:`group`})}),a}function St(e,t,n){let r=[];for(let i of e)`type`in i&&i.type===`group`?(i.value!=null&&r.push(i),(t.has(i.id)||i.value==null)&&(r.push(...St(i.items,t,n)),n&&r.push({...i,type:`group-summary`}))):r.push(i);return r}function Ct(e,t,n,r){let i=B(()=>t.value.length?xt(W(e),t.value.map(e=>e.key)):[]);return{groups:i,flatItems:B(()=>t.value.length?St(i.value,n.value,W(r)):W(e))}}var wt=q({item:{type:Object,required:!0},groupCollapseIcon:{type:P,default:`$tableGroupCollapse`},groupExpandIcon:{type:P,default:`$tableGroupExpand`},...V()},`VDataTableGroupHeaderRow`),Tt=X()({name:`VDataTableGroupHeaderRow`,props:wt(),setup(e,{slots:n}){let{isGroupOpen:r,toggleGroup:i,extractRows:a}=yt(),{isSelected:o,isSomeSelected:s,select:c}=it(),{columns:l}=$(),u=B(()=>a([e.item])),d=t(()=>l.value.length-+!!l.value.some(e=>e.key===`data-table-select`));return()=>L(`tr`,{class:`v-data-table-group-header-row`,style:{"--v-data-table-group-header-row-depth":e.item.depth}},[l.value.map(t=>{if(t.key===`data-table-group`){let t=r(e.item)?e.groupCollapseIcon:e.groupExpandIcon,a=()=>i(e.item);return n[`data-table-group`]?.({item:e.item,count:u.value.length,props:{icon:t,onClick:a}})??Y(Q,{class:`v-data-table-group-header-row__column`,colspan:d.value},{default:()=>[Y(h,{size:`small`,variant:`text`,icon:t,onClick:a},null),L(`span`,null,[e.item.value]),L(`span`,null,[A(`(`),u.value.length,A(`)`)])]})}else if(t.key===`data-table-select`){let t=u.value.filter(e=>e.selectable),r=t.length>0&&o(t),i=s(t)&&!r,a=e=>c(t,e);return n[`data-table-select`]?.({props:{modelValue:r,indeterminate:i,"onUpdate:modelValue":a}})??Y(Q,{class:`v-data-table__td--select-row`,noPadding:!0},{default:()=>[Y(Z,{density:e.density,disabled:t.length===0,modelValue:r,indeterminate:i,"onUpdate:modelValue":a},null)]})}return``})])}}),Et=q({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},`DataTable-expand`),Dt=Symbol.for(`vuetify:datatable:expanded`);function Ot(e){let n=t(()=>e.expandOnClick),r=G(e,`expanded`,e.expanded,e=>new Set(e),e=>[...e.values()]);function i(e,t){let n=new Set(r.value),i=v(e.value);if(t)n.add(e.value);else{let e=[...r.value].find(e=>v(e)===i);n.delete(e)}r.value=n}function a(e){let t=v(e.value);return[...r.value].some(e=>v(e)===t)}function s(e){i(e,!a(e))}let c={expand:i,expanded:r,expandOnClick:n,isExpanded:a,toggleExpand:s};return o(Dt,c),c}function kt(){let e=J(Dt);if(!e)throw Error(`foo`);return e}var At=q({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:P,default:`$collapse`},expandIcon:{type:P,default:`$expand`},onClick:m(),onContextmenu:m(),onDblclick:m(),...V(),...de()},`VDataTableRow`),jt=X()({name:`VDataTableRow`,props:At(),setup(e,{slots:t}){let{displayClasses:r,mobile:i}=U(e,`v-data-table__tr`),{isSelected:o,toggleSelect:s,someSelected:c,allSelected:l,selectAll:u}=it(),{isExpanded:d,toggleExpand:f}=kt(),{toggleSort:p,sortBy:m,isSorted:g}=ut(),{columns:_}=$();H(()=>L(`tr`,{class:R([`v-data-table__tr`,{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},r.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&_.value.map((r,_)=>{let v=e.item,y=`item.${r.key}`,b=`header.${r.key}`,x={index:e.index,item:v.raw,internalItem:v,value:n(v.columns,r.key),column:r,isSelected:o,toggleSelect:s,isExpanded:d,toggleExpand:f},S={column:r,selectAll:u,isSorted:g,toggleSort:p,sortBy:m.value,someSelected:c.value,allSelected:l.value,getSortIcon:()=>``},C=typeof e.cellProps==`function`?e.cellProps({index:x.index,item:x.item,internalItem:x.internalItem,value:x.value,column:r}):e.cellProps,w=typeof r.cellProps==`function`?r.cellProps({index:x.index,item:x.item,internalItem:x.internalItem,value:x.value}):r.cellProps,T=r.key===`data-table-select`||r.key===`data-table-expand`,E=r.key===`data-table-group`&&r.width===0&&!r.title;return Y(Q,a({align:r.align,indent:r.indent,class:{"v-data-table__td--expanded-row":r.key===`data-table-expand`,"v-data-table__td--select-row":r.key===`data-table-select`},fixed:r.fixed,fixedOffset:r.fixedOffset,fixedEndOffset:r.fixedEndOffset,lastFixed:r.lastFixed,firstFixedEnd:r.firstFixedEnd,maxWidth:i.value?void 0:r.maxWidth,noPadding:T,empty:E,nowrap:r.nowrap,width:i.value?void 0:r.width},C,w),{default:()=>{if(r.key===`data-table-select`)return t[`item.data-table-select`]?.({...x,props:{color:e.color,disabled:!v.selectable,modelValue:o([v]),onClick:K(()=>s(v),[`stop`])}})??Y(Z,{color:e.color,disabled:!v.selectable,density:e.density,modelValue:o([v]),onClick:K(t=>s(v,e.index,t),[`stop`])},null);if(r.key===`data-table-expand`)return t[`item.data-table-expand`]?.({...x,props:{icon:d(v)?e.collapseIcon:e.expandIcon,size:`small`,variant:`text`,onClick:K(()=>f(v),[`stop`])}})??Y(h,{icon:d(v)?e.collapseIcon:e.expandIcon,size:`small`,variant:`text`,onClick:K(()=>f(v),[`stop`])},null);if(t[y]&&!i.value)return t[y](x);let n=ue(x.value);return i.value?L(M,null,[L(`div`,{class:`v-data-table__td-title`},[t[b]?.(S)??r.title]),L(`div`,{class:`v-data-table__td-value`},[t[y]?.(x)??n])]):n}})})]))}}),Mt=q({color:String,loading:[Boolean,String],loadingText:{type:String,default:`$vuetify.dataIterator.loadingText`},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:`$vuetify.noDataText`},rowProps:[Object,Function],cellProps:[Object,Function],...e(At(),[`collapseIcon`,`expandIcon`,`density`]),...e(wt(),[`groupCollapseIcon`,`groupExpandIcon`,`density`]),...de()},`VDataTableRows`),Nt=X()({name:`VDataTableRows`,inheritAttrs:!1,props:Mt(),setup(t,{attrs:n,slots:r}){let{columns:i}=$(),{expandOnClick:o,toggleExpand:s,isExpanded:c}=kt(),{isSelected:l,toggleSelect:u}=it(),{toggleGroup:d,isGroupOpen:f}=yt(),{t:p}=j(),{mobile:m}=U(t);return H(()=>{let h=e(t,[`groupCollapseIcon`,`groupExpandIcon`,`density`]);return t.loading&&(!t.items.length||r.loading)?L(`tr`,{class:`v-data-table-rows-loading`,key:`loading`},[L(`td`,{colspan:i.value.length},[r.loading?.()??p(t.loadingText)])]):!t.loading&&!t.items.length&&!t.hideNoData?L(`tr`,{class:`v-data-table-rows-no-data`,key:`no-data`},[L(`td`,{colspan:i.value.length},[r[`no-data`]?.()??p(t.noDataText)])]):L(M,null,[t.items.map((e,p)=>{if(e.type===`group`){let t={index:p,item:e,columns:i.value,isExpanded:c,toggleExpand:s,isSelected:l,toggleSelect:u,toggleGroup:d,isGroupOpen:f};return r[`group-header`]?r[`group-header`](t):Y(Tt,a({key:`group-header_${e.id}`,item:e},we(n,`:groupHeader`,()=>t),h),r)}if(e.type===`group-summary`){let t={index:p,item:e,columns:i.value,toggleGroup:d};return r[`group-summary`]?.(t)??``}let g={index:e.virtualIndex??p,item:e.raw,internalItem:e,columns:i.value,isExpanded:c,toggleExpand:s,isSelected:l,toggleSelect:u},_={...g,props:a({key:`item_${e.key??e.index}`,onClick:o.value?()=>{s(e)}:void 0,index:p,item:e,color:t.color,cellProps:t.cellProps,collapseIcon:t.collapseIcon,expandIcon:t.expandIcon,density:t.density,mobile:m.value},we(n,`:row`,()=>g),typeof t.rowProps==`function`?t.rowProps({item:g.item,index:g.index,internalItem:g.internalItem}):t.rowProps)};return L(M,{key:_.props.key},[r.item?r.item(_):Y(jt,_.props,r),c(e)&&r[`expanded-row`]?.(g)])})])}),{}}}),Pt=q({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>[`even`,`odd`].includes(e)},...r(),...V(),...z(),...me()},`VTable`),Ft=X()({name:`VTable`,props:Pt(),setup(e,{slots:t,emit:n}){let{themeClasses:r}=ie(e),{densityClasses:i}=re(e);return H(()=>Y(e.tag,{class:R([`v-table`,{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!t.top,"v-table--has-bottom":!!t.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped===`even`,"v-table--striped-odd":e.striped===`odd`},r.value,i.value,e.class]),style:ee(e.style)},{default:()=>[t.top?.(),t.default?L(`div`,{class:`v-table__wrapper`,style:{height:p(e.height)}},[L(`table`,null,[t.default()])]):t.wrapper?.(),t.bottom?.()]})),{}}}),It=q({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:`id`},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},`DataTable-items`);function Lt(e,t,n,r){let i=e.returnObject?t:x(t,e.itemValue),a=x(t,e.itemSelectable,!0),o=r.reduce((e,n)=>(n.key!=null&&(e[n.key]=x(t,n.value)),e),{});return{type:`item`,key:e.returnObject?x(t,e.itemValue):i,index:n,value:i,selectable:a,columns:o,raw:t}}function Rt(e,t,n){return t.map((t,r)=>Lt(e,t,r,n))}function zt(e,t){return{items:B(()=>Rt(e,e.items,t.value))}}function Bt({page:e,itemsPerPage:t,sortBy:n,groupBy:r,search:i}){let a=ye(`VDataTable`),o=()=>({page:e.value,itemsPerPage:t.value,sortBy:n.value,groupBy:r.value,search:i.value}),s=null;S(o,t=>{I(s,t)||(s&&s.search!==t.search&&(e.value=1),a.emit(`update:options`,t),s=t)},{deep:!0,immediate:!0})}var Vt=q({...Mt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...Et(),...ht(),...Le(),...It(),...tt(),...at(),..._(pt(),[`multiSort`,`initialSortOrder`]),...Pt()},`DataTable`),Ht=q({...Oe(),...Vt(),...xe(),...Fe()},`VDataTable`),Ut=X()({name:`VDataTable`,props:Ht(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,{attrs:n,slots:r}){let{groupBy:i}=_t(e),{initialSortOrder:o,sortBy:s,multiSort:c,mustSort:l}=st(e),{page:u,itemsPerPage:d}=Ae(e),{disableSort:f}=te(e),{columns:p,headers:m,sortFunctions:h,sortRawFunctions:g,filterFunctions:v}=Ze(e,{groupBy:i,showSelect:t(()=>e.showSelect),showExpand:t(()=>e.showExpand)}),{items:y}=zt(e,p),b=t(()=>e.search),{filteredItems:x}=Se(e,y,b,{transform:e=>e.columns,customKeyFilter:v}),{toggleSort:S}=lt({initialSortOrder:o,sortBy:s,multiSort:c,mustSort:l,page:u}),{sortByWithGroups:C,opened:w,extractRows:T,isGroupOpen:E,toggleGroup:D}=vt({groupBy:i,sortBy:s,disableSort:f}),{sortedItems:ee}=dt(e,x,C,{transform:e=>({...e.raw,...e.columns}),sortFunctions:h,sortRawFunctions:g}),{pageCount:O,setItemsPerPage:A,prevPage:j,nextPage:N,setPage:P,paginatedItems:F}=Pe({pageBy:B(()=>e.pageBy===`auto`?e.groupBy.length?`group`:`item`:e.pageBy),sortedItems:ee,paginate:e=>{let{startIndex:t,stopIndex:n,pageCount:r,setItemsPerPage:i,prevPage:a,nextPage:o,setPage:s}=je({page:u,itemsPerPage:d,itemsLength:B(()=>W(e).length)}),{paginatedItems:c}=Ne({items:e,startIndex:t,stopIndex:n,itemsPerPage:d});return{paginatedItems:c,pageCount:r,setItemsPerPage:i,prevPage:a,nextPage:o,setPage:s}},group:e=>Ct(e,i,w,()=>!!r[`group-summary`])}),I=B(()=>T(F.value)),{isSelected:ne,select:re,selectAll:R,toggleSelect:ie,someSelected:ae,allSelected:oe}=rt(e,{allItems:y,currentPage:I}),{isExpanded:se,toggleExpand:ce}=Ot(e);Bt({page:u,itemsPerPage:d,sortBy:s,groupBy:i,search:b}),k({VDataTableRows:{hideNoData:t(()=>e.hideNoData),noDataText:t(()=>e.noDataText),loading:t(()=>e.loading),loadingText:t(()=>e.loadingText)}});let z=B(()=>({page:u.value,itemsPerPage:d.value,sortBy:s.value,pageCount:O.value,toggleSort:S,setItemsPerPage:A,prevPage:j,nextPage:N,setPage:P,someSelected:ae.value,allSelected:oe.value,isSelected:ne,select:re,selectAll:R,toggleSelect:ie,isExpanded:se,toggleExpand:ce,isGroupOpen:E,toggleGroup:D,items:I.value.map(e=>e.raw),internalItems:I.value,groupedItems:F.value,columns:p.value,headers:m.value}));return H(()=>{let t=Ie.filterProps(e),i=mt.filterProps(_(e,[`multiSort`])),o=Nt.filterProps(e),s=Ft.filterProps(e);return Y(Ft,a({class:[`v-data-table`,{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},s,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>r.top?.(z.value),default:()=>r.default?r.default(z.value):L(M,null,[r.colgroup?.(z.value),!e.hideDefaultHeader&&L(`thead`,{key:`thead`},[Y(mt,a(i,{multiSort:!!e.multiSort}),r)]),r.thead?.(z.value),!e.hideDefaultBody&&L(`tbody`,null,[r[`body.prepend`]?.(z.value),r.body?r.body(z.value):Y(Nt,a(n,o,{items:F.value}),r),r[`body.append`]?.(z.value)]),r.tbody?.(z.value),r.tfoot?.(z.value)]),bottom:()=>r.bottom?r.bottom(z.value):!e.hideDefaultFooter&&L(M,null,[Y(_e,null,null),Y(Ie,t,{prepend:r[`footer.prepend`]})])})}),{}}});export{Fe as _,Ft as a,je as b,_t as c,mt as d,st as f,Ie as g,Ze as h,zt as i,vt as l,rt as m,Vt as n,Nt as o,lt as p,Bt as r,Ot as s,Ut as t,Ct as u,Ae as v,De as x,Oe as y}; \ No newline at end of file diff --git a/web/app/assets/VDataTableServer-C4_rzPsO.js b/web/app/assets/VDataTableServer-C4_rzPsO.js deleted file mode 100644 index 729dce9e..00000000 --- a/web/app/assets/VDataTableServer-C4_rzPsO.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,a as t,b as n,c as r,d as i,f as a,g as o,h as s,i as ee,l as c,m as l,n as u,o as d,p as f,r as te,s as p,u as m,v as h,y as g}from"./VDataTable-4SnAXj3j.js";import{$r as _,Er as v,Fr as y,Qn as b,bn as x,dr as S,ei as C,hr as w,mr as T,pn as E,v as ne,wn as D,xr as O,yn as k}from"./index-DawRgH7u.js";var A=D({itemsLength:{type:[Number,String],required:!0},...g(),...u(),...e()},`VDataTableServer`),j=k()({name:`VDataTableServer`,props:A(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:expanded":e=>!0,"update:groupBy":e=>!0},setup(e,{attrs:u,slots:g}){let{groupBy:D}=r(e),{initialSortOrder:k,sortBy:A,multiSort:j,mustSort:M}=a(e),{page:N,itemsPerPage:P}=h(e),{disableSort:F}=C(e),I=T(()=>parseInt(e.itemsLength,10)),{columns:L,headers:R}=s(e,{groupBy:D,showSelect:_(()=>e.showSelect),showExpand:_(()=>e.showExpand)}),{items:z}=ee(e,L),{toggleSort:B}=f({initialSortOrder:k,sortBy:A,multiSort:j,mustSort:M,page:N}),{opened:V,isGroupOpen:H,toggleGroup:re,extractRows:U}=c({groupBy:D,sortBy:A,disableSort:F}),{pageCount:W,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J}=n({page:N,itemsPerPage:P,itemsLength:I}),{flatItems:Y}=m(z,D,V,()=>!!g[`group-summary`]),{isSelected:X,select:ie,selectAll:Z,toggleSelect:ae,someSelected:oe,allSelected:se}=l(e,{allItems:z,currentPage:z}),{isExpanded:ce,toggleExpand:le}=p(e),Q=T(()=>U(z.value));te({page:N,itemsPerPage:P,sortBy:A,groupBy:D,search:_(()=>e.search)}),y(`v-data-table`,{toggleSort:B,sortBy:A}),x({VDataTableRows:{hideNoData:_(()=>e.hideNoData),noDataText:_(()=>e.noDataText),loading:_(()=>e.loading),loadingText:_(()=>e.loadingText)}});let $=T(()=>({page:N.value,itemsPerPage:P.value,sortBy:A.value,pageCount:W.value,toggleSort:B,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J,someSelected:oe.value,allSelected:se.value,isSelected:X,select:ie,selectAll:Z,toggleSelect:ae,isExpanded:ce,toggleExpand:le,isGroupOpen:H,toggleGroup:re,items:Q.value.map(e=>e.raw),internalItems:Q.value,groupedItems:Y.value,columns:L.value,headers:R.value}));E(()=>{let n=o.filterProps(e),r=i.filterProps(b(e,[`multiSort`])),a=d.filterProps(e),s=t.filterProps(e);return O(t,v({class:[`v-data-table`,{"v-data-table--loading":e.loading},e.class],style:e.style},s,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>g.top?.($.value),default:()=>g.default?g.default($.value):w(S,null,[g.colgroup?.($.value),!e.hideDefaultHeader&&w(`thead`,{key:`thead`,class:`v-data-table__thead`,role:`rowgroup`},[O(i,v(r,{multiSort:!!e.multiSort}),g)]),g.thead?.($.value),!e.hideDefaultBody&&w(`tbody`,{class:`v-data-table__tbody`,role:`rowgroup`},[g[`body.prepend`]?.($.value),g.body?g.body($.value):O(d,v(u,a,{items:Y.value}),g),g[`body.append`]?.($.value)]),g.tbody?.($.value),g.tfoot?.($.value)]),bottom:()=>g.bottom?g.bottom($.value):!e.hideDefaultFooter&&w(S,null,[O(ne,null,null),O(o,n,{prepend:g[`footer.prepend`]})])})})}});export{j as t}; \ No newline at end of file diff --git a/web/app/assets/VDataTableServer-C1V2iC3x.js b/web/app/assets/VDataTableServer-D1N34nyt.js similarity index 95% rename from web/app/assets/VDataTableServer-C1V2iC3x.js rename to web/app/assets/VDataTableServer-D1N34nyt.js index c1fbb065..34fb6adc 100644 --- a/web/app/assets/VDataTableServer-C1V2iC3x.js +++ b/web/app/assets/VDataTableServer-D1N34nyt.js @@ -1 +1 @@ -import{_ as e,a as t,b as n,c as r,d as i,f as a,g as o,h as s,i as ee,l as c,m as l,n as u,o as d,p as f,r as te,s as p,u as m,v as h,y as g}from"./VDataTable-JI1AS0YS.js";import{$r as _,Er as v,Fr as y,Qn as b,bn as x,dr as S,ei as C,hr as w,mr as T,pn as E,v as ne,wn as D,xr as O,yn as k}from"./index-DZEQidkT.js";var A=D({itemsLength:{type:[Number,String],required:!0},...g(),...u(),...e()},`VDataTableServer`),j=k()({name:`VDataTableServer`,props:A(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:expanded":e=>!0,"update:groupBy":e=>!0},setup(e,{attrs:u,slots:g}){let{groupBy:D}=r(e),{initialSortOrder:k,sortBy:A,multiSort:j,mustSort:M}=a(e),{page:N,itemsPerPage:P}=h(e),{disableSort:F}=C(e),I=T(()=>parseInt(e.itemsLength,10)),{columns:L,headers:R}=s(e,{groupBy:D,showSelect:_(()=>e.showSelect),showExpand:_(()=>e.showExpand)}),{items:z}=ee(e,L),{toggleSort:B}=f({initialSortOrder:k,sortBy:A,multiSort:j,mustSort:M,page:N}),{opened:V,isGroupOpen:H,toggleGroup:re,extractRows:U}=c({groupBy:D,sortBy:A,disableSort:F}),{pageCount:W,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J}=n({page:N,itemsPerPage:P,itemsLength:I}),{flatItems:Y}=m(z,D,V,()=>!!g[`group-summary`]),{isSelected:X,select:ie,selectAll:Z,toggleSelect:ae,someSelected:oe,allSelected:se}=l(e,{allItems:z,currentPage:z}),{isExpanded:ce,toggleExpand:le}=p(e),Q=T(()=>U(z.value));te({page:N,itemsPerPage:P,sortBy:A,groupBy:D,search:_(()=>e.search)}),y(`v-data-table`,{toggleSort:B,sortBy:A}),x({VDataTableRows:{hideNoData:_(()=>e.hideNoData),noDataText:_(()=>e.noDataText),loading:_(()=>e.loading),loadingText:_(()=>e.loadingText)}});let $=T(()=>({page:N.value,itemsPerPage:P.value,sortBy:A.value,pageCount:W.value,toggleSort:B,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J,someSelected:oe.value,allSelected:se.value,isSelected:X,select:ie,selectAll:Z,toggleSelect:ae,isExpanded:ce,toggleExpand:le,isGroupOpen:H,toggleGroup:re,items:Q.value.map(e=>e.raw),internalItems:Q.value,groupedItems:Y.value,columns:L.value,headers:R.value}));E(()=>{let n=o.filterProps(e),r=i.filterProps(b(e,[`multiSort`])),a=d.filterProps(e),s=t.filterProps(e);return O(t,v({class:[`v-data-table`,{"v-data-table--loading":e.loading},e.class],style:e.style},s,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>g.top?.($.value),default:()=>g.default?g.default($.value):w(S,null,[g.colgroup?.($.value),!e.hideDefaultHeader&&w(`thead`,{key:`thead`,class:`v-data-table__thead`,role:`rowgroup`},[O(i,v(r,{multiSort:!!e.multiSort}),g)]),g.thead?.($.value),!e.hideDefaultBody&&w(`tbody`,{class:`v-data-table__tbody`,role:`rowgroup`},[g[`body.prepend`]?.($.value),g.body?g.body($.value):O(d,v(u,a,{items:Y.value}),g),g[`body.append`]?.($.value)]),g.tbody?.($.value),g.tfoot?.($.value)]),bottom:()=>g.bottom?g.bottom($.value):!e.hideDefaultFooter&&w(S,null,[O(ne,null,null),O(o,n,{prepend:g[`footer.prepend`]})])})})}});export{j as t}; \ No newline at end of file +import{_ as e,a as t,b as n,c as r,d as i,f as a,g as o,h as s,i as ee,l as c,m as l,n as u,o as d,p as f,r as te,s as p,u as m,v as h,y as g}from"./VDataTable-PKQbaP3_.js";import{$r as _,Er as v,Fr as y,Qn as b,bn as x,dr as S,ei as C,hr as w,mr as T,pn as E,v as ne,wn as D,xr as O,yn as k}from"./index-Bplw5zZe.js";var A=D({itemsLength:{type:[Number,String],required:!0},...g(),...u(),...e()},`VDataTableServer`),j=k()({name:`VDataTableServer`,props:A(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:expanded":e=>!0,"update:groupBy":e=>!0},setup(e,{attrs:u,slots:g}){let{groupBy:D}=r(e),{initialSortOrder:k,sortBy:A,multiSort:j,mustSort:M}=a(e),{page:N,itemsPerPage:P}=h(e),{disableSort:F}=C(e),I=T(()=>parseInt(e.itemsLength,10)),{columns:L,headers:R}=s(e,{groupBy:D,showSelect:_(()=>e.showSelect),showExpand:_(()=>e.showExpand)}),{items:z}=ee(e,L),{toggleSort:B}=f({initialSortOrder:k,sortBy:A,multiSort:j,mustSort:M,page:N}),{opened:V,isGroupOpen:H,toggleGroup:re,extractRows:U}=c({groupBy:D,sortBy:A,disableSort:F}),{pageCount:W,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J}=n({page:N,itemsPerPage:P,itemsLength:I}),{flatItems:Y}=m(z,D,V,()=>!!g[`group-summary`]),{isSelected:X,select:ie,selectAll:Z,toggleSelect:ae,someSelected:oe,allSelected:se}=l(e,{allItems:z,currentPage:z}),{isExpanded:ce,toggleExpand:le}=p(e),Q=T(()=>U(z.value));te({page:N,itemsPerPage:P,sortBy:A,groupBy:D,search:_(()=>e.search)}),y(`v-data-table`,{toggleSort:B,sortBy:A}),x({VDataTableRows:{hideNoData:_(()=>e.hideNoData),noDataText:_(()=>e.noDataText),loading:_(()=>e.loading),loadingText:_(()=>e.loadingText)}});let $=T(()=>({page:N.value,itemsPerPage:P.value,sortBy:A.value,pageCount:W.value,toggleSort:B,setItemsPerPage:G,prevPage:K,nextPage:q,setPage:J,someSelected:oe.value,allSelected:se.value,isSelected:X,select:ie,selectAll:Z,toggleSelect:ae,isExpanded:ce,toggleExpand:le,isGroupOpen:H,toggleGroup:re,items:Q.value.map(e=>e.raw),internalItems:Q.value,groupedItems:Y.value,columns:L.value,headers:R.value}));E(()=>{let n=o.filterProps(e),r=i.filterProps(b(e,[`multiSort`])),a=d.filterProps(e),s=t.filterProps(e);return O(t,v({class:[`v-data-table`,{"v-data-table--loading":e.loading},e.class],style:e.style},s,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>g.top?.($.value),default:()=>g.default?g.default($.value):w(S,null,[g.colgroup?.($.value),!e.hideDefaultHeader&&w(`thead`,{key:`thead`,class:`v-data-table__thead`,role:`rowgroup`},[O(i,v(r,{multiSort:!!e.multiSort}),g)]),g.thead?.($.value),!e.hideDefaultBody&&w(`tbody`,{class:`v-data-table__tbody`,role:`rowgroup`},[g[`body.prepend`]?.($.value),g.body?g.body($.value):O(d,v(u,a,{items:Y.value}),g),g[`body.append`]?.($.value)]),g.tbody?.($.value),g.tfoot?.($.value)]),bottom:()=>g.bottom?g.bottom($.value):!e.hideDefaultFooter&&w(S,null,[O(ne,null,null),O(o,n,{prepend:g[`footer.prepend`]})])})})}});export{j as t}; \ No newline at end of file diff --git a/web/app/assets/VDialog-B2Te8j14.js b/web/app/assets/VDialog-B2Te8j14.js deleted file mode 100644 index 5d08a8d4..00000000 --- a/web/app/assets/VDialog-B2Te8j14.js +++ /dev/null @@ -1 +0,0 @@ -import{Dr as e,Er as t,M as n,Q as r,Qn as i,Vr as a,Xr as o,a as s,i as c,o as l,pn as u,r as d,un as f,wn as p,xr as m,yn as h}from"./index-DZEQidkT.js";var g=p({fullscreen:Boolean,scrollable:Boolean,...i(s({captureFocus:!0,origin:`center center`,scrollStrategy:`block`,transition:{component:n},zIndex:2400,retainFocus:!0}),[`disableInitialFocus`])},`VDialog`),_=h()({name:`VDialog`,props:g(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(n,{emit:i,slots:s}){let p=f(n,`modelValue`),{scopeId:h}=l(),g=o();function _(){i(`afterEnter`),(n.scrim||n.retainFocus)&&g.value?.contentEl&&!g.value.contentEl.contains(document.activeElement)&&g.value.contentEl.focus({preventScroll:!0})}function v(){i(`afterLeave`)}return a(p,async t=>{t||(await e(),g.value.activatorEl?.focus({preventScroll:!0}))}),u(()=>{let e=c.filterProps(n),i=t({"aria-haspopup":`dialog`},n.activatorProps),a=t({tabindex:-1},n.contentProps);return m(c,t({ref:g,class:[`v-dialog`,{"v-dialog--fullscreen":n.fullscreen,"v-dialog--scrollable":n.scrollable},n.class],style:n.style},e,{modelValue:p.value,"onUpdate:modelValue":e=>p.value=e,"aria-modal":`true`,activatorProps:i,contentProps:a,height:n.fullscreen?void 0:n.height,width:n.fullscreen?void 0:n.width,maxHeight:n.fullscreen?void 0:n.maxHeight,maxWidth:n.fullscreen?void 0:n.maxWidth,role:`dialog`,onAfterEnter:_,onAfterLeave:v},h),{activator:s.activator,default:(...e)=>m(r,{root:`VDialog`},{default:()=>[s.default?.(...e)]})})}),d({},g)}});export{_ as t}; \ No newline at end of file diff --git a/web/app/assets/VDialog-8YoHW6GE.js b/web/app/assets/VDialog-DPwgR17F.js similarity index 95% rename from web/app/assets/VDialog-8YoHW6GE.js rename to web/app/assets/VDialog-DPwgR17F.js index 66e1b7f6..1412559a 100644 --- a/web/app/assets/VDialog-8YoHW6GE.js +++ b/web/app/assets/VDialog-DPwgR17F.js @@ -1 +1 @@ -import{Dr as e,Er as t,M as n,Q as r,Qn as i,Vr as a,Xr as o,a as s,i as c,o as l,pn as u,r as d,un as f,wn as p,xr as m,yn as h}from"./index-DawRgH7u.js";var g=p({fullscreen:Boolean,scrollable:Boolean,...i(s({captureFocus:!0,origin:`center center`,scrollStrategy:`block`,transition:{component:n},zIndex:2400,retainFocus:!0}),[`disableInitialFocus`])},`VDialog`),_=h()({name:`VDialog`,props:g(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(n,{emit:i,slots:s}){let p=f(n,`modelValue`),{scopeId:h}=l(),g=o();function _(){i(`afterEnter`),(n.scrim||n.retainFocus)&&g.value?.contentEl&&!g.value.contentEl.contains(document.activeElement)&&g.value.contentEl.focus({preventScroll:!0})}function v(){i(`afterLeave`)}return a(p,async t=>{t||(await e(),g.value.activatorEl?.focus({preventScroll:!0}))}),u(()=>{let e=c.filterProps(n),i=t({"aria-haspopup":`dialog`},n.activatorProps),a=t({tabindex:-1},n.contentProps);return m(c,t({ref:g,class:[`v-dialog`,{"v-dialog--fullscreen":n.fullscreen,"v-dialog--scrollable":n.scrollable},n.class],style:n.style},e,{modelValue:p.value,"onUpdate:modelValue":e=>p.value=e,"aria-modal":`true`,activatorProps:i,contentProps:a,height:n.fullscreen?void 0:n.height,width:n.fullscreen?void 0:n.width,maxHeight:n.fullscreen?void 0:n.maxHeight,maxWidth:n.fullscreen?void 0:n.maxWidth,role:`dialog`,onAfterEnter:_,onAfterLeave:v},h),{activator:s.activator,default:(...e)=>m(r,{root:`VDialog`},{default:()=>[s.default?.(...e)]})})}),d({},g)}});export{_ as t}; \ No newline at end of file +import{Dr as e,Er as t,M as n,Q as r,Qn as i,Vr as a,Xr as o,a as s,i as c,o as l,pn as u,r as d,un as f,wn as p,xr as m,yn as h}from"./index-Bplw5zZe.js";var g=p({fullscreen:Boolean,scrollable:Boolean,...i(s({captureFocus:!0,origin:`center center`,scrollStrategy:`block`,transition:{component:n},zIndex:2400,retainFocus:!0}),[`disableInitialFocus`])},`VDialog`),_=h()({name:`VDialog`,props:g(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(n,{emit:i,slots:s}){let p=f(n,`modelValue`),{scopeId:h}=l(),g=o();function _(){i(`afterEnter`),(n.scrim||n.retainFocus)&&g.value?.contentEl&&!g.value.contentEl.contains(document.activeElement)&&g.value.contentEl.focus({preventScroll:!0})}function v(){i(`afterLeave`)}return a(p,async t=>{t||(await e(),g.value.activatorEl?.focus({preventScroll:!0}))}),u(()=>{let e=c.filterProps(n),i=t({"aria-haspopup":`dialog`},n.activatorProps),a=t({tabindex:-1},n.contentProps);return m(c,t({ref:g,class:[`v-dialog`,{"v-dialog--fullscreen":n.fullscreen,"v-dialog--scrollable":n.scrollable},n.class],style:n.style},e,{modelValue:p.value,"onUpdate:modelValue":e=>p.value=e,"aria-modal":`true`,activatorProps:i,contentProps:a,height:n.fullscreen?void 0:n.height,width:n.fullscreen?void 0:n.width,maxHeight:n.fullscreen?void 0:n.maxHeight,maxWidth:n.fullscreen?void 0:n.maxWidth,role:`dialog`,onAfterEnter:_,onAfterLeave:v},h),{activator:s.activator,default:(...e)=>m(r,{root:`VDialog`},{default:()=>[s.default?.(...e)]})})}),d({},g)}});export{_ as t}; \ No newline at end of file diff --git a/web/app/assets/VExpansionPanels-CGDaaYev.js b/web/app/assets/VExpansionPanels-B73hBz74.js similarity index 98% rename from web/app/assets/VExpansionPanels-CGDaaYev.js rename to web/app/assets/VExpansionPanels-B73hBz74.js index b482d3bf..b2318870 100644 --- a/web/app/assets/VExpansionPanels-CGDaaYev.js +++ b/web/app/assets/VExpansionPanels-B73hBz74.js @@ -1 +1 @@ -import{$n as e,$r as t,Cn as n,Fr as r,I as i,J as a,O as o,Q as s,Wr as c,X as l,ai as u,bn as d,c as f,cr as p,dt as m,et as h,fn as g,ft as _,hr as v,ii as y,in as b,lt as x,mr as S,nt as C,pn as w,pt as T,q as E,rn as D,rt as O,s as k,st as A,tt as j,ut as M,wn as N,wr as P,xr as F,yn as I}from"./index-DZEQidkT.js";var L=Symbol.for(`vuetify:v-expansion-panel`),R=N({...n(),...k()},`VExpansionPanelText`),z=I()({name:`VExpansionPanelText`,props:R(),setup(e,{slots:t}){let n=P(L);if(!n)throw Error(`[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel`);let{hasContent:r,onAfterLeave:i}=f(e,n.isSelected);return w(()=>F(o,{onAfterLeave:i},{default:()=>[c(v(`div`,{class:y([`v-expansion-panel-text`,e.class]),style:u(e.style)},[t.default&&r.value&&v(`div`,{class:`v-expansion-panel-text__wrapper`},[t.default?.()])]),[[p,n.isSelected.value]])]})),{}}}),B=N({color:String,expandIcon:{type:g,default:`$expand`},collapseIcon:{type:g,default:`$collapse`},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...n(),...E()},`VExpansionPanelTitle`),V=I()({name:`VExpansionPanelTitle`,directives:{vRipple:i},props:B(),setup(e,{slots:n}){let r=P(L);if(!r)throw Error(`[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel`);let{backgroundColorClasses:o,backgroundColorStyles:d}=A(()=>e.color),{dimensionStyles:f}=a(e),p=S(()=>({collapseIcon:e.collapseIcon,disabled:r.disabled.value,expanded:r.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),m=t(()=>r.isSelected.value?e.collapseIcon:e.expandIcon);return w(()=>c(v(`button`,{class:y([`v-expansion-panel-title`,{"v-expansion-panel-title--active":r.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},o.value,e.class]),style:u([d.value,f.value,e.style]),type:`button`,tabindex:r.disabled.value?-1:void 0,disabled:r.disabled.value,"aria-expanded":r.isSelected.value,onClick:e.readonly?void 0:r.toggle},[v(`span`,{class:`v-expansion-panel-title__overlay`},null),n.default?.(p.value),!e.hideActions&&F(s,{defaults:{VIcon:{icon:m.value}}},{default:()=>[v(`span`,{class:`v-expansion-panel-title__icon`},[n.actions?.(p.value)??F(l,null,null)])]})]),[[i,e.ripple]])),{}}}),H=N({title:String,text:String,bgColor:String,..._(),...h(),...M(),...x(),...B(),...R()},`VExpansionPanel`),U=I()({name:`VExpansionPanel`,props:H(),emits:{"group:selected":e=>!0},setup(e,{slots:n}){let i=O(e,L),{backgroundColorClasses:a,backgroundColorStyles:o}=A(()=>e.bgColor),{elevationClasses:c}=T(e),{roundedClasses:l}=m(e),d=t(()=>i?.disabled.value||e.disabled),f=S(()=>i.group.items.value.reduce((e,t,n)=>(i.group.selected.value.includes(t.id)&&e.push(n),e),[])),p=S(()=>{let e=i.group.items.value.findIndex(e=>e.id===i.id);return!i.isSelected.value&&f.value.some(t=>t-e===1)}),h=S(()=>{let e=i.group.items.value.findIndex(e=>e.id===i.id);return!i.isSelected.value&&f.value.some(t=>t-e===-1)});return r(L,i),w(()=>{let t=!!(n.text||e.text),r=!!(n.title||e.title),f=V.filterProps(e),m=z.filterProps(e);return F(e.tag,{class:y([`v-expansion-panel`,{"v-expansion-panel--active":i.isSelected.value,"v-expansion-panel--before-active":p.value,"v-expansion-panel--after-active":h.value,"v-expansion-panel--disabled":d.value},l.value,a.value,e.class]),style:u([o.value,e.style])},{default:()=>[v(`div`,{class:y([`v-expansion-panel__shadow`,...c.value])},null),F(s,{defaults:{VExpansionPanelTitle:{...f},VExpansionPanelText:{...m}}},{default:()=>[r&&F(V,{key:`title`},{default:()=>[n.title?n.title():e.title]}),t&&F(z,{key:`text`},{default:()=>[n.text?n.text():e.text]}),n.default?.()]})]})}),{groupItem:i}}}),W=[`default`,`accordion`,`inset`,`popout`],G=N({flat:Boolean,...j(),...e(H(),[`bgColor`,`collapseIcon`,`color`,`eager`,`elevation`,`expandIcon`,`focusable`,`hideActions`,`readonly`,`ripple`,`static`]),...M(),...D(),...n(),...x(),variant:{type:String,default:`default`,validator:e=>W.includes(e)}},`VExpansionPanels`),K=I()({name:`VExpansionPanels`,props:G(),emits:{"update:modelValue":e=>!0},setup(e,{slots:n}){let{next:r,prev:i}=C(e,L),{themeClasses:a}=b(e),{roundedClasses:o}=m(e),s=t(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return d({VExpansionPanel:{bgColor:t(()=>e.bgColor),collapseIcon:t(()=>e.collapseIcon),color:t(()=>e.color),eager:t(()=>e.eager),elevation:t(()=>e.elevation),expandIcon:t(()=>e.expandIcon),focusable:t(()=>e.focusable),hideActions:t(()=>e.hideActions),readonly:t(()=>e.readonly),ripple:t(()=>e.ripple),static:t(()=>e.static)}}),w(()=>F(e.tag,{class:y([`v-expansion-panels`,{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},a.value,o.value,s.value,e.class]),style:u(e.style)},{default:()=>[n.default?.({prev:i,next:r})]})),{next:r,prev:i}}});export{z as i,U as n,V as r,K as t}; \ No newline at end of file +import{$n as e,$r as t,Cn as n,Fr as r,I as i,J as a,O as o,Q as s,Wr as c,X as l,ai as u,bn as d,c as f,cr as p,dt as m,et as h,fn as g,ft as _,hr as v,ii as y,in as b,lt as x,mr as S,nt as C,pn as w,pt as T,q as E,rn as D,rt as O,s as k,st as A,tt as j,ut as M,wn as N,wr as P,xr as F,yn as I}from"./index-Bplw5zZe.js";var L=Symbol.for(`vuetify:v-expansion-panel`),R=N({...n(),...k()},`VExpansionPanelText`),z=I()({name:`VExpansionPanelText`,props:R(),setup(e,{slots:t}){let n=P(L);if(!n)throw Error(`[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel`);let{hasContent:r,onAfterLeave:i}=f(e,n.isSelected);return w(()=>F(o,{onAfterLeave:i},{default:()=>[c(v(`div`,{class:y([`v-expansion-panel-text`,e.class]),style:u(e.style)},[t.default&&r.value&&v(`div`,{class:`v-expansion-panel-text__wrapper`},[t.default?.()])]),[[p,n.isSelected.value]])]})),{}}}),B=N({color:String,expandIcon:{type:g,default:`$expand`},collapseIcon:{type:g,default:`$collapse`},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...n(),...E()},`VExpansionPanelTitle`),V=I()({name:`VExpansionPanelTitle`,directives:{vRipple:i},props:B(),setup(e,{slots:n}){let r=P(L);if(!r)throw Error(`[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel`);let{backgroundColorClasses:o,backgroundColorStyles:d}=A(()=>e.color),{dimensionStyles:f}=a(e),p=S(()=>({collapseIcon:e.collapseIcon,disabled:r.disabled.value,expanded:r.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),m=t(()=>r.isSelected.value?e.collapseIcon:e.expandIcon);return w(()=>c(v(`button`,{class:y([`v-expansion-panel-title`,{"v-expansion-panel-title--active":r.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},o.value,e.class]),style:u([d.value,f.value,e.style]),type:`button`,tabindex:r.disabled.value?-1:void 0,disabled:r.disabled.value,"aria-expanded":r.isSelected.value,onClick:e.readonly?void 0:r.toggle},[v(`span`,{class:`v-expansion-panel-title__overlay`},null),n.default?.(p.value),!e.hideActions&&F(s,{defaults:{VIcon:{icon:m.value}}},{default:()=>[v(`span`,{class:`v-expansion-panel-title__icon`},[n.actions?.(p.value)??F(l,null,null)])]})]),[[i,e.ripple]])),{}}}),H=N({title:String,text:String,bgColor:String,..._(),...h(),...M(),...x(),...B(),...R()},`VExpansionPanel`),U=I()({name:`VExpansionPanel`,props:H(),emits:{"group:selected":e=>!0},setup(e,{slots:n}){let i=O(e,L),{backgroundColorClasses:a,backgroundColorStyles:o}=A(()=>e.bgColor),{elevationClasses:c}=T(e),{roundedClasses:l}=m(e),d=t(()=>i?.disabled.value||e.disabled),f=S(()=>i.group.items.value.reduce((e,t,n)=>(i.group.selected.value.includes(t.id)&&e.push(n),e),[])),p=S(()=>{let e=i.group.items.value.findIndex(e=>e.id===i.id);return!i.isSelected.value&&f.value.some(t=>t-e===1)}),h=S(()=>{let e=i.group.items.value.findIndex(e=>e.id===i.id);return!i.isSelected.value&&f.value.some(t=>t-e===-1)});return r(L,i),w(()=>{let t=!!(n.text||e.text),r=!!(n.title||e.title),f=V.filterProps(e),m=z.filterProps(e);return F(e.tag,{class:y([`v-expansion-panel`,{"v-expansion-panel--active":i.isSelected.value,"v-expansion-panel--before-active":p.value,"v-expansion-panel--after-active":h.value,"v-expansion-panel--disabled":d.value},l.value,a.value,e.class]),style:u([o.value,e.style])},{default:()=>[v(`div`,{class:y([`v-expansion-panel__shadow`,...c.value])},null),F(s,{defaults:{VExpansionPanelTitle:{...f},VExpansionPanelText:{...m}}},{default:()=>[r&&F(V,{key:`title`},{default:()=>[n.title?n.title():e.title]}),t&&F(z,{key:`text`},{default:()=>[n.text?n.text():e.text]}),n.default?.()]})]})}),{groupItem:i}}}),W=[`default`,`accordion`,`inset`,`popout`],G=N({flat:Boolean,...j(),...e(H(),[`bgColor`,`collapseIcon`,`color`,`eager`,`elevation`,`expandIcon`,`focusable`,`hideActions`,`readonly`,`ripple`,`static`]),...M(),...D(),...n(),...x(),variant:{type:String,default:`default`,validator:e=>W.includes(e)}},`VExpansionPanels`),K=I()({name:`VExpansionPanels`,props:G(),emits:{"update:modelValue":e=>!0},setup(e,{slots:n}){let{next:r,prev:i}=C(e,L),{themeClasses:a}=b(e),{roundedClasses:o}=m(e),s=t(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return d({VExpansionPanel:{bgColor:t(()=>e.bgColor),collapseIcon:t(()=>e.collapseIcon),color:t(()=>e.color),eager:t(()=>e.eager),elevation:t(()=>e.elevation),expandIcon:t(()=>e.expandIcon),focusable:t(()=>e.focusable),hideActions:t(()=>e.hideActions),readonly:t(()=>e.readonly),ripple:t(()=>e.ripple),static:t(()=>e.static)}}),w(()=>F(e.tag,{class:y([`v-expansion-panels`,{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},a.value,o.value,s.value,e.class]),style:u(e.style)},{default:()=>[n.default?.({prev:i,next:r})]})),{next:r,prev:i}}});export{z as i,U as n,V as r,K as t}; \ No newline at end of file diff --git a/web/app/assets/VExpansionPanels-CY-_n0ol.js b/web/app/assets/VExpansionPanels-CY-_n0ol.js deleted file mode 100644 index 50749352..00000000 --- a/web/app/assets/VExpansionPanels-CY-_n0ol.js +++ /dev/null @@ -1 +0,0 @@ -import{$n as e,$r as t,Cn as n,Fr as r,I as i,J as a,O as o,Q as s,Wr as c,X as l,ai as u,bn as d,c as f,cr as p,dt as m,et as h,fn as g,ft as _,hr as v,ii as y,in as b,lt as x,mr as S,nt as C,pn as w,pt as T,q as E,rn as D,rt as O,s as k,st as A,tt as j,ut as M,wn as N,wr as P,xr as F,yn as I}from"./index-DawRgH7u.js";var L=Symbol.for(`vuetify:v-expansion-panel`),R=N({...n(),...k()},`VExpansionPanelText`),z=I()({name:`VExpansionPanelText`,props:R(),setup(e,{slots:t}){let n=P(L);if(!n)throw Error(`[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel`);let{hasContent:r,onAfterLeave:i}=f(e,n.isSelected);return w(()=>F(o,{onAfterLeave:i},{default:()=>[c(v(`div`,{class:y([`v-expansion-panel-text`,e.class]),style:u(e.style)},[t.default&&r.value&&v(`div`,{class:`v-expansion-panel-text__wrapper`},[t.default?.()])]),[[p,n.isSelected.value]])]})),{}}}),B=N({color:String,expandIcon:{type:g,default:`$expand`},collapseIcon:{type:g,default:`$collapse`},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...n(),...E()},`VExpansionPanelTitle`),V=I()({name:`VExpansionPanelTitle`,directives:{vRipple:i},props:B(),setup(e,{slots:n}){let r=P(L);if(!r)throw Error(`[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel`);let{backgroundColorClasses:o,backgroundColorStyles:d}=A(()=>e.color),{dimensionStyles:f}=a(e),p=S(()=>({collapseIcon:e.collapseIcon,disabled:r.disabled.value,expanded:r.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),m=t(()=>r.isSelected.value?e.collapseIcon:e.expandIcon);return w(()=>c(v(`button`,{class:y([`v-expansion-panel-title`,{"v-expansion-panel-title--active":r.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},o.value,e.class]),style:u([d.value,f.value,e.style]),type:`button`,tabindex:r.disabled.value?-1:void 0,disabled:r.disabled.value,"aria-expanded":r.isSelected.value,onClick:e.readonly?void 0:r.toggle},[v(`span`,{class:`v-expansion-panel-title__overlay`},null),n.default?.(p.value),!e.hideActions&&F(s,{defaults:{VIcon:{icon:m.value}}},{default:()=>[v(`span`,{class:`v-expansion-panel-title__icon`},[n.actions?.(p.value)??F(l,null,null)])]})]),[[i,e.ripple]])),{}}}),H=N({title:String,text:String,bgColor:String,..._(),...h(),...M(),...x(),...B(),...R()},`VExpansionPanel`),U=I()({name:`VExpansionPanel`,props:H(),emits:{"group:selected":e=>!0},setup(e,{slots:n}){let i=O(e,L),{backgroundColorClasses:a,backgroundColorStyles:o}=A(()=>e.bgColor),{elevationClasses:c}=T(e),{roundedClasses:l}=m(e),d=t(()=>i?.disabled.value||e.disabled),f=S(()=>i.group.items.value.reduce((e,t,n)=>(i.group.selected.value.includes(t.id)&&e.push(n),e),[])),p=S(()=>{let e=i.group.items.value.findIndex(e=>e.id===i.id);return!i.isSelected.value&&f.value.some(t=>t-e===1)}),h=S(()=>{let e=i.group.items.value.findIndex(e=>e.id===i.id);return!i.isSelected.value&&f.value.some(t=>t-e===-1)});return r(L,i),w(()=>{let t=!!(n.text||e.text),r=!!(n.title||e.title),f=V.filterProps(e),m=z.filterProps(e);return F(e.tag,{class:y([`v-expansion-panel`,{"v-expansion-panel--active":i.isSelected.value,"v-expansion-panel--before-active":p.value,"v-expansion-panel--after-active":h.value,"v-expansion-panel--disabled":d.value},l.value,a.value,e.class]),style:u([o.value,e.style])},{default:()=>[v(`div`,{class:y([`v-expansion-panel__shadow`,...c.value])},null),F(s,{defaults:{VExpansionPanelTitle:{...f},VExpansionPanelText:{...m}}},{default:()=>[r&&F(V,{key:`title`},{default:()=>[n.title?n.title():e.title]}),t&&F(z,{key:`text`},{default:()=>[n.text?n.text():e.text]}),n.default?.()]})]})}),{groupItem:i}}}),W=[`default`,`accordion`,`inset`,`popout`],G=N({flat:Boolean,...j(),...e(H(),[`bgColor`,`collapseIcon`,`color`,`eager`,`elevation`,`expandIcon`,`focusable`,`hideActions`,`readonly`,`ripple`,`static`]),...M(),...D(),...n(),...x(),variant:{type:String,default:`default`,validator:e=>W.includes(e)}},`VExpansionPanels`),K=I()({name:`VExpansionPanels`,props:G(),emits:{"update:modelValue":e=>!0},setup(e,{slots:n}){let{next:r,prev:i}=C(e,L),{themeClasses:a}=b(e),{roundedClasses:o}=m(e),s=t(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return d({VExpansionPanel:{bgColor:t(()=>e.bgColor),collapseIcon:t(()=>e.collapseIcon),color:t(()=>e.color),eager:t(()=>e.eager),elevation:t(()=>e.elevation),expandIcon:t(()=>e.expandIcon),focusable:t(()=>e.focusable),hideActions:t(()=>e.hideActions),readonly:t(()=>e.readonly),ripple:t(()=>e.ripple),static:t(()=>e.static)}}),w(()=>F(e.tag,{class:y([`v-expansion-panels`,{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},a.value,o.value,s.value,e.class]),style:u(e.style)},{default:()=>[n.default?.({prev:i,next:r})]})),{next:r,prev:i}}});export{z as i,U as n,V as r,K as t}; \ No newline at end of file diff --git a/web/app/assets/VForm-Dh0_yaO1.js b/web/app/assets/VForm-Dh0_yaO1.js deleted file mode 100644 index 62e7ada1..00000000 --- a/web/app/assets/VForm-Dh0_yaO1.js +++ /dev/null @@ -1 +0,0 @@ -import{Cn as e,Xr as t,ai as n,hr as r,ii as i,pn as a,r as o,wn as s,yn as c}from"./index-DawRgH7u.js";import{d as l,f as u}from"./VTextField-BZnszgeR.js";var d=s({...e(),...u()},`VForm`),f=c()({name:`VForm`,props:d(),emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,{slots:s,emit:c}){let u=l(e),d=t();function f(e){e.preventDefault(),u.reset()}function p(e){let t=e,n=u.validate();t.then=n.then.bind(n),t.catch=n.catch.bind(n),t.finally=n.finally.bind(n),c(`submit`,t),t.defaultPrevented||n.then(({valid:e})=>{e&&d.value?.submit()}),t.preventDefault()}return a(()=>r(`form`,{ref:d,class:i([`v-form`,e.class]),style:n(e.style),novalidate:!0,onReset:f,onSubmit:p},[s.default?.({get errors(){return u.errors.value},get isDisabled(){return u.isDisabled.value},get isReadonly(){return u.isReadonly.value},get isValidating(){return u.isValidating.value},get isValid(){return u.isValid.value},get items(){return u.items.value},validate:u.validate,reset:u.reset,resetValidation:u.resetValidation})])),o(u,d)}});export{f as t}; \ No newline at end of file diff --git a/web/app/assets/VForm-CIKxKkYK.js b/web/app/assets/VForm-lsgZBPTi.js similarity index 87% rename from web/app/assets/VForm-CIKxKkYK.js rename to web/app/assets/VForm-lsgZBPTi.js index d2020d05..3d274c2d 100644 --- a/web/app/assets/VForm-CIKxKkYK.js +++ b/web/app/assets/VForm-lsgZBPTi.js @@ -1 +1 @@ -import{Cn as e,Xr as t,ai as n,hr as r,ii as i,pn as a,r as o,wn as s,yn as c}from"./index-DZEQidkT.js";import{d as l,f as u}from"./VTextField-CvZimSXQ.js";var d=s({...e(),...u()},`VForm`),f=c()({name:`VForm`,props:d(),emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,{slots:s,emit:c}){let u=l(e),d=t();function f(e){e.preventDefault(),u.reset()}function p(e){let t=e,n=u.validate();t.then=n.then.bind(n),t.catch=n.catch.bind(n),t.finally=n.finally.bind(n),c(`submit`,t),t.defaultPrevented||n.then(({valid:e})=>{e&&d.value?.submit()}),t.preventDefault()}return a(()=>r(`form`,{ref:d,class:i([`v-form`,e.class]),style:n(e.style),novalidate:!0,onReset:f,onSubmit:p},[s.default?.({get errors(){return u.errors.value},get isDisabled(){return u.isDisabled.value},get isReadonly(){return u.isReadonly.value},get isValidating(){return u.isValidating.value},get isValid(){return u.isValid.value},get items(){return u.items.value},validate:u.validate,reset:u.reset,resetValidation:u.resetValidation})])),o(u,d)}});export{f as t}; \ No newline at end of file +import{Cn as e,Xr as t,ai as n,hr as r,ii as i,pn as a,r as o,wn as s,yn as c}from"./index-Bplw5zZe.js";import{d as l,f as u}from"./VTextField-DVnxh9lX.js";var d=s({...e(),...u()},`VForm`),f=c()({name:`VForm`,props:d(),emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,{slots:s,emit:c}){let u=l(e),d=t();function f(e){e.preventDefault(),u.reset()}function p(e){let t=e,n=u.validate();t.then=n.then.bind(n),t.catch=n.catch.bind(n),t.finally=n.finally.bind(n),c(`submit`,t),t.defaultPrevented||n.then(({valid:e})=>{e&&d.value?.submit()}),t.preventDefault()}return a(()=>r(`form`,{ref:d,class:i([`v-form`,e.class]),style:n(e.style),novalidate:!0,onReset:f,onSubmit:p},[s.default?.({get errors(){return u.errors.value},get isDisabled(){return u.isDisabled.value},get isReadonly(){return u.isReadonly.value},get isValidating(){return u.isValidating.value},get isValid(){return u.isValid.value},get items(){return u.items.value},validate:u.validate,reset:u.reset,resetValidation:u.resetValidation})])),o(u,d)}});export{f as t}; \ No newline at end of file diff --git a/web/app/assets/VRow-By04mHIT.js b/web/app/assets/VRow-Jrv7cE2K.js similarity index 98% rename from web/app/assets/VRow-By04mHIT.js rename to web/app/assets/VRow-Jrv7cE2K.js index c0145de9..5980ef5a 100644 --- a/web/app/assets/VRow-By04mHIT.js +++ b/web/app/assets/VRow-Jrv7cE2K.js @@ -1 +1 @@ -import{Cn as e,Cr as t,Nn as n,Yn as r,an as i,lt as a,mr as o,mt as s,or as c,ri as l,wn as u,yn as d}from"./index-DawRgH7u.js";var f=i.reduce((e,t)=>(e[t]={type:[Boolean,String,Number],default:!1},e),{}),p=i.reduce((e,t)=>{let n=`offset`+l(t);return e[n]={type:[String,Number],default:null},e},{}),m={col:r(f),offset:r(p),order:[`order`,`orderSm`,`orderMd`,`orderLg`,`orderXl`,`orderXxl`]};function h(e){if(typeof e==`string`&&e.includes(`/`)){let[t,n]=e.split(`/`);return{cols:Number(t),size:Number(n)}}return{cols:e}}function g(e,t,n){if(n==null||n===!1)return{};let{cols:r,size:i}=h(n),a=t.replace(e,``).toLowerCase();return e===`offset`?{className:`v-col--offset-${a}-${r}`,variables:[{[`--v-col-offset-base-${a}`]:i}]}:e===`order`?{className:`order-${a}-${r}`}:{className:r===``||r===!0?`v-col--${a}`:`v-col--cols-${a}-${r}`,variables:[{[`--v-col-size-base-${a}`]:i}]}}var _=[`auto`,`start`,`end`,`center`,`baseline`,`stretch`],v=e=>_.includes(e),y=u({cols:{type:[Boolean,String,Number],default:!1},...f,offset:{type:[String,Number],default:null},...p,order:{type:[String,Number],default:null},orderSm:{type:[String,Number],default:null},orderMd:{type:[String,Number],default:null},orderLg:{type:[String,Number],default:null},orderXl:{type:[String,Number],default:null},orderXxl:{type:[String,Number],default:null},alignSelf:{type:String,default:null,validator:v},...e(),...a()},`VCol`),b=d()({name:`VCol`,props:y(),setup(e,{slots:n}){let r=o(()=>h(e.cols).size),i=o(()=>h(e.offset).size),a=o(()=>{let t=[`v-col`],n=[],r;for(r in m)m[r].forEach(i=>{let a=e[i],{className:o,variables:s}=g(r,i,a);o&&t.push(o),s&&n.push(...s)});let{cols:i}=h(e.cols),{cols:a}=h(e.offset);return t.push({[`v-col--cols-${i}`]:i,[`v-col--offset-${a}`]:a,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),{classes:t,variables:n}});return()=>t(e.tag,{class:[a.value.classes,e.class],style:[{"--v-col-size-base":r.value},{"--v-col-offset-base":i.value},a.value.variables,e.style]},n.default?.())}}),x=[`start`,`end`,`center`],S=[`space-between`,`space-around`,`space-evenly`],C=[...x,`baseline`,`stretch`],w=e=>C.includes(e),T=[...x,...S],E=e=>T.includes(e),D=[...x,...S,`stretch`],O=e=>D.includes(e),k={align:[`align`,`alignSm`,`alignMd`,`alignLg`,`alignXl`,`alignXxl`],justify:[`justify`,`justifySm`,`justifyMd`,`justifyLg`,`justifyXl`,`justifyXxl`],alignContent:[`alignContent`,`alignContentSm`,`alignContentMd`,`alignContentLg`,`alignContentXl`,`alignContentXxl`]},A={align:`align`,justify:`justify`,alignContent:`align-content`};function j(e,t,n){let r=A[e];if(n!=null){if(t){let n=t.replace(e,``);r+=`-${n}`}return r+=`-${n}`,r.toLowerCase()}}var M=u({dense:Boolean,align:{type:String,default:null,validator:w},alignSm:{type:String,default:null,validator:w},alignMd:{type:String,default:null,validator:w},alignLg:{type:String,default:null,validator:w},alignXl:{type:String,default:null,validator:w},alignXxl:{type:String,default:null,validator:w},justify:{type:String,default:null,validator:E},justifySm:{type:String,default:null,validator:E},justifyMd:{type:String,default:null,validator:E},justifyLg:{type:String,default:null,validator:E},justifyXl:{type:String,default:null,validator:E},justifyXxl:{type:String,default:null,validator:E},alignContent:{type:String,default:null,validator:O},alignContentSm:{type:String,default:null,validator:O},alignContentMd:{type:String,default:null,validator:O},alignContentLg:{type:String,default:null,validator:O},alignContentXl:{type:String,default:null,validator:O},alignContentXxl:{type:String,default:null,validator:O},noGutters:Boolean,gap:[Number,String,Array],size:[Number,String],...e(),...s(),...a()},`VRow`),N=d()({name:`VRow`,props:M(),setup(e,{slots:r}){e.dense&&c(`dense`,`density="comfortable"`);let i=o(()=>{let t=[],n;for(n in k)k[n].forEach(r=>{let i=e[r],a=j(n,r,i);a&&t.push(a)});return t.push({"v-row--no-gutters":e.noGutters,"v-row--density-default":e.density===`default`&&!e.noGutters&&!e.dense,"v-row--density-compact":e.density===`compact`,"v-row--density-comfortable":e.density===`comfortable`||e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),t}),a=o(()=>Array.isArray(e.gap)?n(e.gap[0]||0):n(e.gap)),s=o(()=>Array.isArray(e.gap)?n(e.gap[1]||0):a.value);return()=>t(e.tag,{class:[`v-row`,i.value,e.class],style:[{"--v-col-gap-x":a.value,"--v-col-gap-y":s.value,"--v-row-columns":e.size},e.style]},r.default?.())}});export{b as n,N as t}; \ No newline at end of file +import{Cn as e,Cr as t,Nn as n,Yn as r,an as i,lt as a,mr as o,mt as s,or as c,ri as l,wn as u,yn as d}from"./index-Bplw5zZe.js";var f=i.reduce((e,t)=>(e[t]={type:[Boolean,String,Number],default:!1},e),{}),p=i.reduce((e,t)=>{let n=`offset`+l(t);return e[n]={type:[String,Number],default:null},e},{}),m={col:r(f),offset:r(p),order:[`order`,`orderSm`,`orderMd`,`orderLg`,`orderXl`,`orderXxl`]};function h(e){if(typeof e==`string`&&e.includes(`/`)){let[t,n]=e.split(`/`);return{cols:Number(t),size:Number(n)}}return{cols:e}}function g(e,t,n){if(n==null||n===!1)return{};let{cols:r,size:i}=h(n),a=t.replace(e,``).toLowerCase();return e===`offset`?{className:`v-col--offset-${a}-${r}`,variables:[{[`--v-col-offset-base-${a}`]:i}]}:e===`order`?{className:`order-${a}-${r}`}:{className:r===``||r===!0?`v-col--${a}`:`v-col--cols-${a}-${r}`,variables:[{[`--v-col-size-base-${a}`]:i}]}}var _=[`auto`,`start`,`end`,`center`,`baseline`,`stretch`],v=e=>_.includes(e),y=u({cols:{type:[Boolean,String,Number],default:!1},...f,offset:{type:[String,Number],default:null},...p,order:{type:[String,Number],default:null},orderSm:{type:[String,Number],default:null},orderMd:{type:[String,Number],default:null},orderLg:{type:[String,Number],default:null},orderXl:{type:[String,Number],default:null},orderXxl:{type:[String,Number],default:null},alignSelf:{type:String,default:null,validator:v},...e(),...a()},`VCol`),b=d()({name:`VCol`,props:y(),setup(e,{slots:n}){let r=o(()=>h(e.cols).size),i=o(()=>h(e.offset).size),a=o(()=>{let t=[`v-col`],n=[],r;for(r in m)m[r].forEach(i=>{let a=e[i],{className:o,variables:s}=g(r,i,a);o&&t.push(o),s&&n.push(...s)});let{cols:i}=h(e.cols),{cols:a}=h(e.offset);return t.push({[`v-col--cols-${i}`]:i,[`v-col--offset-${a}`]:a,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),{classes:t,variables:n}});return()=>t(e.tag,{class:[a.value.classes,e.class],style:[{"--v-col-size-base":r.value},{"--v-col-offset-base":i.value},a.value.variables,e.style]},n.default?.())}}),x=[`start`,`end`,`center`],S=[`space-between`,`space-around`,`space-evenly`],C=[...x,`baseline`,`stretch`],w=e=>C.includes(e),T=[...x,...S],E=e=>T.includes(e),D=[...x,...S,`stretch`],O=e=>D.includes(e),k={align:[`align`,`alignSm`,`alignMd`,`alignLg`,`alignXl`,`alignXxl`],justify:[`justify`,`justifySm`,`justifyMd`,`justifyLg`,`justifyXl`,`justifyXxl`],alignContent:[`alignContent`,`alignContentSm`,`alignContentMd`,`alignContentLg`,`alignContentXl`,`alignContentXxl`]},A={align:`align`,justify:`justify`,alignContent:`align-content`};function j(e,t,n){let r=A[e];if(n!=null){if(t){let n=t.replace(e,``);r+=`-${n}`}return r+=`-${n}`,r.toLowerCase()}}var M=u({dense:Boolean,align:{type:String,default:null,validator:w},alignSm:{type:String,default:null,validator:w},alignMd:{type:String,default:null,validator:w},alignLg:{type:String,default:null,validator:w},alignXl:{type:String,default:null,validator:w},alignXxl:{type:String,default:null,validator:w},justify:{type:String,default:null,validator:E},justifySm:{type:String,default:null,validator:E},justifyMd:{type:String,default:null,validator:E},justifyLg:{type:String,default:null,validator:E},justifyXl:{type:String,default:null,validator:E},justifyXxl:{type:String,default:null,validator:E},alignContent:{type:String,default:null,validator:O},alignContentSm:{type:String,default:null,validator:O},alignContentMd:{type:String,default:null,validator:O},alignContentLg:{type:String,default:null,validator:O},alignContentXl:{type:String,default:null,validator:O},alignContentXxl:{type:String,default:null,validator:O},noGutters:Boolean,gap:[Number,String,Array],size:[Number,String],...e(),...s(),...a()},`VRow`),N=d()({name:`VRow`,props:M(),setup(e,{slots:r}){e.dense&&c(`dense`,`density="comfortable"`);let i=o(()=>{let t=[],n;for(n in k)k[n].forEach(r=>{let i=e[r],a=j(n,r,i);a&&t.push(a)});return t.push({"v-row--no-gutters":e.noGutters,"v-row--density-default":e.density===`default`&&!e.noGutters&&!e.dense,"v-row--density-compact":e.density===`compact`,"v-row--density-comfortable":e.density===`comfortable`||e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),t}),a=o(()=>Array.isArray(e.gap)?n(e.gap[0]||0):n(e.gap)),s=o(()=>Array.isArray(e.gap)?n(e.gap[1]||0):a.value);return()=>t(e.tag,{class:[`v-row`,i.value,e.class],style:[{"--v-col-gap-x":a.value,"--v-col-gap-y":s.value,"--v-row-columns":e.size},e.style]},r.default?.())}});export{b as n,N as t}; \ No newline at end of file diff --git a/web/app/assets/VRow-Wg9QrEcV.js b/web/app/assets/VRow-Wg9QrEcV.js deleted file mode 100644 index 06ea162f..00000000 --- a/web/app/assets/VRow-Wg9QrEcV.js +++ /dev/null @@ -1 +0,0 @@ -import{Cn as e,Cr as t,Nn as n,Yn as r,an as i,lt as a,mr as o,mt as s,or as c,ri as l,wn as u,yn as d}from"./index-DZEQidkT.js";var f=i.reduce((e,t)=>(e[t]={type:[Boolean,String,Number],default:!1},e),{}),p=i.reduce((e,t)=>{let n=`offset`+l(t);return e[n]={type:[String,Number],default:null},e},{}),m={col:r(f),offset:r(p),order:[`order`,`orderSm`,`orderMd`,`orderLg`,`orderXl`,`orderXxl`]};function h(e){if(typeof e==`string`&&e.includes(`/`)){let[t,n]=e.split(`/`);return{cols:Number(t),size:Number(n)}}return{cols:e}}function g(e,t,n){if(n==null||n===!1)return{};let{cols:r,size:i}=h(n),a=t.replace(e,``).toLowerCase();return e===`offset`?{className:`v-col--offset-${a}-${r}`,variables:[{[`--v-col-offset-base-${a}`]:i}]}:e===`order`?{className:`order-${a}-${r}`}:{className:r===``||r===!0?`v-col--${a}`:`v-col--cols-${a}-${r}`,variables:[{[`--v-col-size-base-${a}`]:i}]}}var _=[`auto`,`start`,`end`,`center`,`baseline`,`stretch`],v=e=>_.includes(e),y=u({cols:{type:[Boolean,String,Number],default:!1},...f,offset:{type:[String,Number],default:null},...p,order:{type:[String,Number],default:null},orderSm:{type:[String,Number],default:null},orderMd:{type:[String,Number],default:null},orderLg:{type:[String,Number],default:null},orderXl:{type:[String,Number],default:null},orderXxl:{type:[String,Number],default:null},alignSelf:{type:String,default:null,validator:v},...e(),...a()},`VCol`),b=d()({name:`VCol`,props:y(),setup(e,{slots:n}){let r=o(()=>h(e.cols).size),i=o(()=>h(e.offset).size),a=o(()=>{let t=[`v-col`],n=[],r;for(r in m)m[r].forEach(i=>{let a=e[i],{className:o,variables:s}=g(r,i,a);o&&t.push(o),s&&n.push(...s)});let{cols:i}=h(e.cols),{cols:a}=h(e.offset);return t.push({[`v-col--cols-${i}`]:i,[`v-col--offset-${a}`]:a,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),{classes:t,variables:n}});return()=>t(e.tag,{class:[a.value.classes,e.class],style:[{"--v-col-size-base":r.value},{"--v-col-offset-base":i.value},a.value.variables,e.style]},n.default?.())}}),x=[`start`,`end`,`center`],S=[`space-between`,`space-around`,`space-evenly`],C=[...x,`baseline`,`stretch`],w=e=>C.includes(e),T=[...x,...S],E=e=>T.includes(e),D=[...x,...S,`stretch`],O=e=>D.includes(e),k={align:[`align`,`alignSm`,`alignMd`,`alignLg`,`alignXl`,`alignXxl`],justify:[`justify`,`justifySm`,`justifyMd`,`justifyLg`,`justifyXl`,`justifyXxl`],alignContent:[`alignContent`,`alignContentSm`,`alignContentMd`,`alignContentLg`,`alignContentXl`,`alignContentXxl`]},A={align:`align`,justify:`justify`,alignContent:`align-content`};function j(e,t,n){let r=A[e];if(n!=null){if(t){let n=t.replace(e,``);r+=`-${n}`}return r+=`-${n}`,r.toLowerCase()}}var M=u({dense:Boolean,align:{type:String,default:null,validator:w},alignSm:{type:String,default:null,validator:w},alignMd:{type:String,default:null,validator:w},alignLg:{type:String,default:null,validator:w},alignXl:{type:String,default:null,validator:w},alignXxl:{type:String,default:null,validator:w},justify:{type:String,default:null,validator:E},justifySm:{type:String,default:null,validator:E},justifyMd:{type:String,default:null,validator:E},justifyLg:{type:String,default:null,validator:E},justifyXl:{type:String,default:null,validator:E},justifyXxl:{type:String,default:null,validator:E},alignContent:{type:String,default:null,validator:O},alignContentSm:{type:String,default:null,validator:O},alignContentMd:{type:String,default:null,validator:O},alignContentLg:{type:String,default:null,validator:O},alignContentXl:{type:String,default:null,validator:O},alignContentXxl:{type:String,default:null,validator:O},noGutters:Boolean,gap:[Number,String,Array],size:[Number,String],...e(),...s(),...a()},`VRow`),N=d()({name:`VRow`,props:M(),setup(e,{slots:r}){e.dense&&c(`dense`,`density="comfortable"`);let i=o(()=>{let t=[],n;for(n in k)k[n].forEach(r=>{let i=e[r],a=j(n,r,i);a&&t.push(a)});return t.push({"v-row--no-gutters":e.noGutters,"v-row--density-default":e.density===`default`&&!e.noGutters&&!e.dense,"v-row--density-compact":e.density===`compact`,"v-row--density-comfortable":e.density===`comfortable`||e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),t}),a=o(()=>Array.isArray(e.gap)?n(e.gap[0]||0):n(e.gap)),s=o(()=>Array.isArray(e.gap)?n(e.gap[1]||0):a.value);return()=>t(e.tag,{class:[`v-row`,i.value,e.class],style:[{"--v-col-gap-x":a.value,"--v-col-gap-y":s.value,"--v-row-columns":e.size},e.style]},r.default?.())}});export{b as n,N as t}; \ No newline at end of file diff --git a/web/app/assets/VSelect-XuQYQvJc.js b/web/app/assets/VSelect-C2IkZQ4Y.js similarity index 99% rename from web/app/assets/VSelect-XuQYQvJc.js rename to web/app/assets/VSelect-C2IkZQ4Y.js index 14e1d0f4..3a7e9b2a 100644 --- a/web/app/assets/VSelect-XuQYQvJc.js +++ b/web/app/assets/VSelect-C2IkZQ4Y.js @@ -1 +1 @@ -import{$r as e,An as t,Cn as n,D as r,Dr as i,Er as a,Fn as o,Fr as s,Hr as c,I as l,In as u,J as d,M as f,Mn as p,Mr as m,Nn as h,Q as g,Qn as _,Rn as v,S as y,Vn as b,Vr as x,Wr as S,X as C,Xn as w,Xr as T,Zr as E,ai as D,bn as O,br as k,cn as A,ct as j,dn as M,dr as N,er as P,f as ee,fn as F,gn as I,hr as L,ht as R,ii as z,jn as te,l as ne,m as re,mn as B,mr as V,mt as H,n as ie,ni as U,nn as W,p as ae,pn as G,q as K,qr as q,r as oe,rn as J,sn as se,st as ce,t as le,ti as ue,tr as de,u as fe,un as Y,v as pe,wn as X,wr as me,xn as he,xr as Z,y as ge,yn as Q,zn as _e,zr as ve}from"./index-DawRgH7u.js";import{a as ye,g as be,h as xe,n as Se,p as Ce,t as we}from"./VTextField-BZnszgeR.js";var $=Symbol.for(`vuetify:selection-control-group`),Te=X({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:F,trueIcon:F,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:I},...n(),...H(),...J()},`SelectionControlGroup`),Ee=X({...Te({defaultsTarget:`VSelectionControl`})},`VSelectionControlGroup`),De=Q()({name:`VSelectionControlGroup`,props:Ee(),emits:{"update:modelValue":e=>!0},setup(t,{slots:n}){let r=Y(t,`modelValue`),i=ve(),a=e(()=>t.id||`v-selection-control-group-${i}`),o=e(()=>t.name||a.value),c=new Set;return s($,{modelValue:r,forceUpdate:()=>{c.forEach(e=>e())},onForceUpdate:e=>{c.add(e),q(()=>{c.delete(e)})}}),O({[t.defaultsTarget]:{color:e(()=>t.color),disabled:e(()=>t.disabled),density:e(()=>t.density),error:e(()=>t.error),inline:e(()=>t.inline),modelValue:r,multiple:e(()=>!!t.multiple||t.multiple==null&&Array.isArray(r.value)),name:o,falseIcon:e(()=>t.falseIcon),trueIcon:e(()=>t.trueIcon),readonly:e(()=>t.readonly),ripple:e(()=>t.ripple),type:e(()=>t.type),valueComparator:e(()=>t.valueComparator)}}),G(()=>L(`div`,{class:z([`v-selection-control-group`,{"v-selection-control-group--inline":t.inline},t.class]),style:D(t.style),role:t.type===`radio`?`radiogroup`:void 0},[n.default?.()])),{}}}),Oe=X({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...n(),...Te()},`VSelectionControl`);function ke(e){let t=me($,void 0),{densityClasses:n}=R(e),r=Y(e,`modelValue`),i=V(()=>e.trueValue===void 0?e.value===void 0?!0:e.value:e.trueValue),a=V(()=>e.falseValue===void 0?!1:e.falseValue),o=V(()=>!!e.multiple||e.multiple==null&&Array.isArray(r.value)),s=V({get(){let n=t?t.modelValue.value:r.value;return o.value?P(n).some(t=>e.valueComparator(t,i.value)):e.valueComparator(n,i.value)},set(n){if(e.readonly)return;let s=n?i.value:a.value,c=s;o.value&&(c=n?[...P(r.value),s]:P(r.value).filter(t=>!e.valueComparator(t,i.value))),t?t.modelValue.value=c:r.value=c}}),{textColorClasses:c,textColorStyles:l}=j(()=>{if(!(e.error||e.disabled))return s.value?e.color:e.baseColor}),{backgroundColorClasses:u,backgroundColorStyles:d}=ce(()=>s.value&&!e.error&&!e.disabled?e.color:e.baseColor);return{group:t,densityClasses:n,trueValue:i,falseValue:a,model:s,textColorClasses:c,textColorStyles:l,backgroundColorClasses:u,backgroundColorStyles:d,icon:V(()=>s.value?e.trueIcon:e.falseIcon)}}var Ae=Q()({name:`VSelectionControl`,directives:{vRipple:l},inheritAttrs:!1,props:Oe(),emits:{"update:modelValue":e=>!0},setup(t,{attrs:n,slots:r}){let{group:o,densityClasses:s,icon:c,model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:p,backgroundColorStyles:m,trueValue:h}=ke(t),g=ve(),_=E(!1),y=E(!1),b=T(),x=e(()=>t.id||`input-${g}`),O=e(()=>!t.disabled&&!t.readonly);o?.onForceUpdate(()=>{b.value&&(b.value.checked=u.value)});function k(e){t.disabled||(_.value=!0,w(e.target,`:focus-visible`)!==!1&&(y.value=!0))}function A(){_.value=!1,y.value=!1}function j(e){e.stopPropagation()}function M(e){if(!O.value){b.value&&(b.value.checked=u.value);return}t.readonly&&o&&i(()=>o.forceUpdate()),u.value=e.target.checked}return G(()=>{let e=r.label?r.label({label:t.label,props:{for:x.value}}):t.label,[i,o]=v(n),g=L(`input`,a({ref:b,checked:u.value,disabled:!!t.disabled,id:x.value,onBlur:A,onFocus:k,onInput:M,"aria-disabled":!!t.disabled,"aria-label":t.label,type:t.type,value:h.value,name:t.name,"aria-checked":t.type===`checkbox`?u.value:void 0},o),null);return L(`div`,a({class:[`v-selection-control`,{"v-selection-control--dirty":u.value,"v-selection-control--disabled":t.disabled,"v-selection-control--error":t.error,"v-selection-control--focused":_.value,"v-selection-control--focus-visible":y.value,"v-selection-control--inline":t.inline},s.value,t.class]},i,{style:t.style}),[L(`div`,{class:z([`v-selection-control__wrapper`,d.value]),style:D(f.value)},[r.default?.({backgroundColorClasses:p,backgroundColorStyles:m}),S(L(`div`,{class:z([`v-selection-control__input`])},[r.input?.({model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:p,backgroundColorStyles:m,inputNode:g,icon:c.value,props:{onFocus:k,onBlur:A,id:x.value}})??L(N,null,[c.value&&Z(C,{key:`icon`,icon:c.value},null),g])]),[[l,!t.disabled&&!t.readonly&&t.ripple,null,{center:!0,circle:!0}]])]),e&&Z(be,{for:x.value,onClick:j},{default:()=>[e]})])}),{isFocused:_,input:b}}}),je=X({indeterminate:Boolean,indeterminateIcon:{type:F,default:`$checkboxIndeterminate`},...Oe({falseIcon:`$checkboxOff`,trueIcon:`$checkboxOn`})},`VCheckboxBtn`),Me=Q()({name:`VCheckboxBtn`,props:je(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(t,{slots:n}){let r=Y(t,`indeterminate`),i=Y(t,`modelValue`);function o(e){r.value&&=!1}let s=e(()=>r.value?t.indeterminateIcon:t.falseIcon),c=e(()=>r.value?t.indeterminateIcon:t.trueIcon);return G(()=>Z(Ae,a(_(Ae.filterProps(t),[`modelValue`]),{modelValue:i.value,"onUpdate:modelValue":[e=>i.value=e,o],class:[`v-checkbox-btn`,t.class],style:t.style,type:`checkbox`,falseIcon:s.value,trueIcon:c.value,"aria-checked":r.value?`mixed`:void 0}),n)),{}}}),Ne=X({renderless:Boolean,...n()},`VVirtualScrollItem`),Pe=Q()({name:`VVirtualScrollItem`,inheritAttrs:!1,props:Ne(),emits:{"update:height":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{resizeRef:i,contentRect:o}=W(void 0,`border`);x(()=>o.value?.height,e=>{e!=null&&n(`update:height`,e)}),G(()=>e.renderless?L(N,null,[r.default?.({itemRef:i})]):L(`div`,a({ref:i,class:[`v-virtual-scroll__item`,e.class],style:e.style},t),[r.default?.()]))}}),Fe=-1,Ie=1,Le=100,Re=X({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},`virtual`);function ze(e,t){let n=se(),r=E(0);c(()=>{r.value=parseFloat(e.itemHeight||0)});let a=E(0),s=E(Math.ceil((parseInt(e.height)||n.height.value)/(r.value||16))||1),l=E(0),u=E(0),d=T(),f=T(),m=0,{resizeRef:h,contentRect:g}=W();c(()=>{h.value=d.value});let _=V(()=>d.value===document.documentElement?n.height.value:g.value?.height||parseInt(e.height)||0),v=V(()=>!!(d.value&&f.value&&_.value&&r.value)),y=Array.from({length:t.value.length}),S=Array.from({length:t.value.length}),C=E(0),w=-1;function D(e){return y[e]||r.value}let O=o(()=>{let e=performance.now();S[0]=0;let n=t.value.length;for(let e=1;e<=n;e++)S[e]=(S[e-1]||0)+D(e-1);C.value=Math.max(C.value,performance.now()-e)},C),k=x(v,e=>{e&&(k(),m=f.value.offsetTop,O.immediate(),z(),~w&&i(()=>{de&&window.requestAnimationFrame(()=>{ne(w),w=-1})}))});q(()=>{O.clear()});function A(e,t){let n=y[e],i=r.value;r.value=i?Math.min(r.value,t):t,(n!==t||i!==r.value)&&(y[e]=t,O())}function j(e){e=p(e,0,t.value.length);let n=Math.floor(e),r=e%1,i=n+1,a=S[n]||0;return a+((S[i]||a)-a)*r}function M(e){return Be(S,e)}let N=0,P=0,ee=0;x(_,(e,t)=>{z(),e{P=0,z()})});let F=-1;function I(){if(!d.value||!f.value)return;let e=d.value.scrollTop,t=performance.now();t-ee>500?(P=Math.sign(e-N),m=f.value.offsetTop):P=e-N,N=e,ee=t,window.clearTimeout(F),F=window.setTimeout(L,500),z()}function L(){!d.value||!f.value||(P=0,ee=0,window.clearTimeout(F),z())}let R=-1;function z(){cancelAnimationFrame(R),R=requestAnimationFrame(te)}function te(){if(!d.value||!_.value||!r.value)return;let e=N-m,n=Math.sign(P),i=p(M(Math.max(0,e-Le)),0,t.value.length),o=p(M(e+_.value+Le)+1,i+1,t.value.length);if((n!==Fe||is.value)){let e=j(a.value)-j(i),n=j(o)-j(s.value);Math.max(e,n)>Le?(a.value=i,s.value=o):(i<=0&&(a.value=i),o>=t.value.length&&(s.value=o))}l.value=j(a.value),u.value=j(t.value.length)-j(s.value)}function ne(e){let t=j(e);!d.value||e&&!t?w=e:d.value.scrollTop=t}let re=V(()=>t.value.slice(a.value,s.value).map((t,n)=>{let r=n+a.value;return{raw:t,index:r,key:b(t,e.itemKey,r)}}));return x(t,()=>{y=Array.from({length:t.value.length}),S=Array.from({length:t.value.length}),O.immediate(),z()},{deep:1}),{calculateVisibleItems:z,containerRef:d,markerRef:f,computedItems:re,paddingTop:l,paddingBottom:u,scrollToIndex:ne,handleScroll:I,handleScrollend:L,handleItemResize:A}}function Be(e,t){let n=e.length-1,r=0,i=0,a=null,o=-1;if(e[n]>1,a=e[i],a>t)n=i-1;else if(a[]},renderless:Boolean,...Re(),...n(),...K()},`VVirtualScroll`),He=Q()({name:`VVirtualScroll`,props:Ve(),setup(t,{slots:n}){let r=he(`VVirtualScroll`),{dimensionStyles:i}=d(t),{calculateVisibleItems:a,containerRef:o,markerRef:s,handleScroll:c,handleScrollend:l,handleItemResize:u,scrollToIndex:f,paddingTop:p,paddingBottom:g,computedItems:_}=ze(t,e(()=>t.items));return M(()=>t.renderless,()=>{function e(e=!1){let t=e?`addEventListener`:`removeEventListener`;de&&(o.value===document.documentElement?(document[t](`scroll`,c,{passive:!0}),document[t](`scrollend`,l)):(o.value?.[t](`scroll`,c,{passive:!0}),o.value?.[t](`scrollend`,l)))}m(()=>{o.value=B(r.vnode.el,!0),e(!0)}),q(e)}),G(()=>{let e=_.value.map(e=>Z(Pe,{key:e.key,renderless:t.renderless,"onUpdate:height":t=>u(e.index,t)},{default:t=>n.default?.({item:e.raw,index:e.index,...t})}));return t.renderless?L(N,null,[L(`div`,{ref:s,class:`v-virtual-scroll__spacer`,style:{paddingTop:h(p.value)}},null),e,L(`div`,{class:`v-virtual-scroll__spacer`,style:{paddingBottom:h(g.value)}},null)]):L(`div`,{ref:o,class:z([`v-virtual-scroll`,t.class]),onScrollPassive:c,onScrollend:l,style:D([i.value,t.style])},[L(`div`,{ref:s,class:`v-virtual-scroll__container`,style:{paddingTop:h(p.value),paddingBottom:h(g.value)}},[e])])}),{calculateVisibleItems:a,scrollToIndex:f}}});function Ue(e,t,n){return function(r){return!r.relatedTarget&&document.activeElement===document.body&&e.value?(requestAnimationFrame(()=>{if(!e.value)return;let r=t();((r&&_e(r)[0])??n())?.focus({preventScroll:!0})}),!0):!1}}function We(e,t){let n=E(!1),r;function i(e){cancelAnimationFrame(r),n.value=!0,r=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{n.value=!1})})}async function a(){await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>{if(n.value){let t=x(n,()=>{t(),e()})}else e()})}async function o(n){if(n.key===`Tab`&&t.value?.focus(),![`PageDown`,`PageUp`,`Home`,`End`].includes(n.key))return;let r=e.value?.$el;if(!r)return;(n.key===`Home`||n.key===`End`)&&r.scrollTo({top:n.key===`Home`?0:r.scrollHeight,behavior:`smooth`}),await a();let i=r.querySelectorAll(`:scope > :not(.v-virtual-scroll__spacer)`);if(n.key===`PageDown`||n.key===`Home`){let e=r.getBoundingClientRect().top;for(let t of i)if(t.getBoundingClientRect().top>=e){t.focus();break}}else{let e=r.getBoundingClientRect().bottom;for(let t of[...i].reverse())if(t.getBoundingClientRect().bottom<=e){t.focus();break}}}return{onScrollPassive:i,onKeydown:o}}function Ge({groups:e,onLeave:t}){function n(e){return e.type===`list`?e.contentRef.value?.$el:e.contentRef.value}function r(e){let t=n(e);return t?_e(t):[]}function i(n){let i=n.target,o=n.shiftKey?`backward`:`forward`,s=e.map(r),c=e.map(e=>e.type===`list`?e.contentRef.value?.$el:e.contentRef.value).findIndex(e=>e?.contains(i)),l=a(s,c,o,i);if(l===null){let r=e[c],i=s[c];(r.type===`list`||(o===`forward`?i.at(-1)===n.target:i.at(0)===n.target))&&t()}else{n.preventDefault(),n.stopImmediatePropagation();let t=e[l];if(t.type===`list`&&ue(t.displayItemsCount)>0)t.contentRef.value?.focus(0);else{let e=o===`forward`;s[l].at(e?0:-1).focus()}}}function a(t,n,r,i){let a=e[n],o=t[n];if(a.type!==`list`&&!(r===`forward`?o.at(-1)===i:o.at(0)===i))return null;let s=r===`forward`?1:-1;for(let r=n+s;r>=0&&r0||n.type===`list`&&ue(n.displayItemsCount)>0)return r}return null}return{onTabKeydown:i}}var Ke=(e,t,n)=>{if(e==null||t==null)return-1;if(!t.length)return 0;e=e.toString().toLocaleLowerCase(),t=t.toString().toLocaleLowerCase();let r=[],i=e.indexOf(t);for(;~i;)r.push([i,i+t.length]),i=e.indexOf(t,i+t.length);return r.length?r:-1};function qe(e,t){if(!(e==null||typeof e==`boolean`||e===-1))return typeof e==`number`?[[e,e+t.length]]:Array.isArray(e[0])?e:[e]}var Je=X({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:`intersection`},noFilter:Boolean},`filter`);function Ye(e,t,n){let r=[],i=n?.default??Ke,a=n?.filterKeys?P(n.filterKeys):!1,o=Object.keys(n?.customKeyFilter??{}).length;if(!e?.length)return r;let s=[];loop:for(let c=0;c0)&&!n?.noFilter){let e=!1;if(typeof l==`object`){if(l.type===`divider`||l.type===`subheader`){(s.at(-1)?.type!==`divider`||l.type!==`subheader`)&&(s=[]),s.push({index:c,matches:{},type:l.type});continue}let r=a||Object.keys(u);e=r.length===o;for(let e of r){let r=b(u,e),a=n?.customKeyFilter?.[e];if(p=a?a(r,t,l):i(r,t,l),p!==-1&&p!==!1)a?d[e]=qe(p,t):f[e]=qe(p,t);else if(n?.filterMode===`every`)continue loop}}else p=i(l,t,l),p!==-1&&p!==!1&&(f.title=qe(p,t));let r=Object.keys(f).length,m=Object.keys(d).length;if(!r&&!m||n?.filterMode===`union`&&m!==o&&!r||n?.filterMode===`intersection`&&(m!==o||!r&&o>0&&!e))continue}s.length&&(r.push(...s),s=[]),r.push({index:c,matches:{...f,...d}})}return r}function Xe(e,t,n,r){let i=E([]),a=E(new Map),o=V(()=>r?.transform?U(t).map(e=>[e,r.transform(e)]):U(t));c(()=>{let s=typeof n==`function`?n():U(n),c=typeof s!=`string`&&typeof s!=`number`?``:String(s),l=Ye(o.value,c,{customKeyFilter:{...e.customKeyFilter,...U(r?.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),u=U(t),d=[],f=new Map;l.forEach(({index:e,matches:t})=>{let n=u[e];d.push(n),f.set(n.value,t)}),i.value=d,a.value=f});function s(e){return a.value.get(e.value)}return{filteredItems:i,filteredMatches:a,getMatches:s}}function Ze(e,t,n){return n==null||!n.length?t:n.map((r,i)=>{let a=i===0?0:n[i-1][1],o=[L(`span`,{class:z(`${e}__unmask`)},[t.slice(a,r[0])]),L(`span`,{class:z(`${e}__mask`)},[t.slice(r[0],r[1])])];return i===n.length-1&&o.push(L(`span`,{class:z(`${e}__unmask`)},[t.slice(r[1])])),L(N,null,[o])})}var Qe=X({closeText:{type:String,default:`$vuetify.close`},openText:{type:String,default:`$vuetify.open`}},`autocomplete`);function $e(t,n){let r=ve(),i=V(()=>`menu-${r}`);return{menuId:i,ariaExpanded:e(()=>ue(n)),ariaControls:e(()=>i.value)}}var et=X({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuElevation:[Number,String],menuIcon:{type:F,default:`$dropdown`},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:`$vuetify.noDataText`},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...Qe(),...fe({itemChildren:!1})},`Select`),tt=X({search:String,...Je({filterKeys:[`title`]}),...et(),..._(Se({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`]),...r({transition:{component:f}})},`VSelect`),nt=Q()({name:`VSelect`,props:tt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0},setup(n,{slots:r}){let{t:o}=A(),s=T(),c=T(),l=T(),d=T(),f=T(),{items:p,transformIn:m,transformOut:h}=ee(n),_=Y(n,`search`,``),{filteredItems:v,getMatches:b}=Xe(n,p,()=>_.value),S=Y(n,`modelValue`,[],e=>m(e===null?[null]:P(e)),e=>{let t=h(e);return n.multiple?t:t[0]??null}),D=V(()=>typeof n.counterValue==`function`?n.counterValue(S.value):typeof n.counterValue==`number`?n.counterValue:S.value.length),O=Ce(n),j=ye(n),M=V(()=>S.value.map(e=>e.value)),F=E(!1),R=e(()=>n.closableChips&&!O.isReadonly.value&&!O.isDisabled.value),{InputIcon:z}=xe(n),B=``,H=0,U,W=V(()=>{let e=_.value?v.value:p.value;return n.hideSelected?e.filter(e=>!S.value.some(t=>(n.valueComparator||I)(t,e))):e}),K=V(()=>n.hideNoData&&!W.value.length||O.isReadonly.value||O.isDisabled.value),q=Y(n,`menu`),J=V({get:()=>q.value,set:e=>{q.value&&!e&&c.value?.ΨopenChildren.size||e&&K.value||(q.value=e)}}),{menuId:se,ariaExpanded:ce,ariaControls:ue}=$e(n,J),fe=V(()=>({...n.menuProps,activatorProps:{...n.menuProps?.activatorProps||{},"aria-haspopup":`listbox`}})),X=T(),me=We(X,s),he=Ue(J,()=>c.value?.contentEl,()=>s.value?.controlRef),{onTabKeydown:Q}=Ge({groups:[{type:`element`,contentRef:l},{type:`list`,contentRef:X,displayItemsCount:()=>W.value.length},{type:`element`,contentRef:d}],onLeave:()=>{J.value=!1,s.value?.focus()}});function _e(e){n.openOnClear&&(J.value=!0)}function ve(){K.value||(J.value=!J.value)}function be(e){e.key===`Tab`&&Q(e),X.value?.$el.contains(e.target)&&te(e)&&Se(e)}function Se(e){if(!e.key||O.isReadonly.value)return;if([`Enter`,` `,`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)&&e.preventDefault(),[`Enter`,`ArrowDown`,` `].includes(e.key)&&(J.value=!0),[`Escape`,`Tab`].includes(e.key)&&(J.value=!1),n.clearable&&e.key===`Backspace`){e.preventDefault(),S.value=[],_e(e);return}if(e.key===`Home`?X.value?.focus(`first`):e.key===`End`&&X.value?.focus(`last`),!te(e))return;let t=performance.now();t-U>1e3&&(B=``,H=0),B+=e.key.toLowerCase(),U=t;let r=W.value;function i(){let t=a();return t||B.at(-1)===B.at(-2)&&(B=B.slice(0,-1),H++,t=a(),t)||(H=0,t=a(),t)?t:(B=e.key.toLowerCase(),a())}function a(){for(let e=H;e(n.valueComparator||I)(t.value,e.value)),i=t??!~r;if(~r){let t=i?[...S.value,e]:[...S.value];t.splice(r,1),S.value=t}else i&&(S.value=[...S.value,e])}else S.value=t===!1?[]:[e],i(()=>{J.value=!1})}function Te(e){let t=e.target;s.value?.$el.contains(t)||(J.value=!1)}function Ee(){return W.value.findIndex(e=>S.value.some(t=>(n.valueComparator||I)(t.value,e.value)))}function De(){if(!S.value.length)return-1;let e=n.valueComparator||I,t=0;for(let n of W.value){if(S.value.some(t=>e(t.value,n.value)))return n.props.disabled?-1:t;n.props.disabled||t++}return-1}function Oe(){if(n.eager&&f.value?.calculateVisibleItems(),X.value&&F.value){let e=De();X.value.focus(e>=0?e:`first`,{focusVisible:!1})}}function ke(){_.value=``,F.value&&s.value?.focus()}function Ae(e){F.value=!0}function je(e){if(!s.value?.$el.contains(e.relatedTarget)&&!e.currentTarget.contains(e.relatedTarget)){if(he(e))return;F.value=!1}}function Ne(e){if(e==null)S.value=[];else if(w(s.value,`:autofill`)||w(s.value,`:-webkit-autofill`)){let t=p.value.find(t=>t.title===e);t&&$(t)}else s.value&&(s.value.value=``)}return x(J,()=>{if(!n.hideSelected&&J.value&&S.value.length){let e=Ee();de&&!n.noAutoScroll&&window.requestAnimationFrame(()=>{e>=0&&f.value?.scrollToIndex(e)})}}),x(p,(e,t)=>{J.value||F.value&&n.hideNoData&&!t.length&&e.length&&(J.value=!0)}),G(()=>{let e=!!(n.chips||r.chip),i=!!(!n.hideNoData||W.value.length||r[`prepend-item`]||r[`append-item`]||r[`no-data`]),m=S.value.length>0,h=we.filterProps(n),x=m||!F.value&&n.label&&!n.persistentPlaceholder?void 0:n.placeholder,w={search:_,filteredItems:v.value};return Z(we,a({ref:s},h,{modelValue:S.value.map(e=>e.props.title).join(`, `),name:void 0,"onUpdate:modelValue":Ne,focused:F.value,"onUpdate:focused":e=>F.value=e,validationValue:S.externalValue,counterValue:D.value,dirty:m,class:[`v-select`,{"v-select--active-menu":J.value,"v-select--chips":!!n.chips,[`v-select--${n.multiple?`multiple`:`single`}`]:!0,"v-select--selected":S.value.length,"v-select--selection-slot":!!r.selection},n.class],style:n.style,inputmode:`none`,placeholder:x,"onClick:clear":_e,"onMousedown:control":ve,onBlur:Te,onKeydown:Se,"aria-expanded":ce.value,"aria-controls":ue.value}),{...r,default:({id:s})=>L(N,null,[L(`select`,{hidden:!0,multiple:n.multiple,name:j.fieldName.value},[p.value.map(e=>L(`option`,{key:e.value,value:e.value,selected:M.value.includes(e.value)},null))]),Z(ie,a({id:se.value,ref:c,modelValue:J.value,"onUpdate:modelValue":e=>J.value=e,activator:`parent`,disabled:K.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:n.transition,onAfterEnter:Oe,onAfterLeave:ke},fe.value,{contentClass:[`v-select__content`,fe.value.contentClass]}),{default:()=>[Z(le,{elevation:n.menuElevation,onFocusin:Ae,onFocusout:je,onKeydown:be},{default:()=>[r[`menu-header`]&&L(`header`,{ref:l},[r[`menu-header`](w)]),i&&Z(ne,a({key:`select-list`,ref:X,selected:M.value,selectStrategy:n.multiple?`independent`:`single-independent`,tabindex:`-1`,selectable:!!W.value.length,"aria-live":`polite`,"aria-labelledby":`${s.value}-label`,"aria-multiselectable":n.multiple,color:n.itemColor??n.color},me,n.listProps),{default:()=>[r[`prepend-item`]?.(),!W.value.length&&!n.hideNoData&&(r[`no-data`]?.()??Z(re,{key:`no-data`,title:o(n.noDataText)},null)),Z(He,{ref:f,renderless:!0,items:W.value,itemKey:`value`},{default:({item:e,index:i,itemRef:o})=>{let s=t(e.props),c=a(e.props,{ref:o,key:e.value,onClick:()=>$(e,null),"aria-posinset":i+1,"aria-setsize":W.value.length});return e.type===`divider`?r.divider?.({props:e.raw,index:i})??Z(pe,a(e.props,{key:`divider-${i}`}),null):e.type===`subheader`?r.subheader?.({props:e.raw,index:i})??Z(ae,a(e.props,{key:`subheader-${i}`}),null):r.item?.({item:e.raw,internalItem:e,index:i,props:c})??Z(re,a(c,{role:`option`}),{prepend:({isSelected:t})=>L(N,null,[n.multiple&&!n.hideSelected?Z(Me,{key:e.value,modelValue:t,ripple:!1,tabindex:`-1`,"aria-hidden":!0,onClick:e=>e.preventDefault()},null):void 0,s.prependAvatar&&Z(y,{image:s.prependAvatar},null),s.prependIcon&&Z(C,{icon:s.prependIcon},null)]),title:()=>_.value?Ze(`v-select`,e.title,b(e)?.title):e.title})}}),r[`append-item`]?.()]}),r[`menu-footer`]&&L(`footer`,{ref:d},[r[`menu-footer`](w)])]})]}),S.value.map((t,i)=>{function o(e){e.stopPropagation(),e.preventDefault(),$(t,!1)}let s=a(ge.filterProps(t.props),{"onClick:close":o,onKeydown(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),o(e))},onMousedown(e){e.preventDefault(),e.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),c=e?!!r.chip:!!r.selection,l=c?u(e?r.chip({item:t.raw,internalItem:t,index:i,props:s}):r.selection({item:t.raw,internalItem:t,index:i})):void 0;if(!(c&&!l))return L(`div`,{key:t.value,class:`v-select__selection`},[e?r.chip?Z(g,{key:`chip-defaults`,defaults:{VChip:{closable:R.value,size:`small`,text:t.title}}},{default:()=>[l]}):Z(ge,a({key:`chip`,closable:R.value,size:`small`,text:t.title,disabled:t.props.disabled},s),null):l??L(`span`,{class:`v-select__selection-text`},[t.title,n.multiple&&iL(N,null,[r[`append-inner`]?.(...e),n.menuIcon?Z(C,{class:`v-select__menu-icon`,color:s.value?.fieldIconColor,icon:n.menuIcon,"aria-hidden":!0},null):void 0,n.appendInnerIcon&&Z(z,{key:`append-icon`,name:`appendInner`,color:e[0].iconColor.value},null)])})}),oe({isFocused:F,menu:J,search:_,filteredItems:v,select:$},s)}});export{Je as a,We as c,Me as d,je as f,Te as g,De as h,Ze as i,Ue as l,Oe as m,et as n,Xe as o,Ae as p,$e as r,Ge as s,nt as t,He as u}; \ No newline at end of file +import{$r as e,An as t,Cn as n,D as r,Dr as i,Er as a,Fn as o,Fr as s,Hr as c,I as l,In as u,J as d,M as f,Mn as p,Mr as m,Nn as h,Q as g,Qn as _,Rn as v,S as y,Vn as b,Vr as x,Wr as S,X as C,Xn as w,Xr as T,Zr as E,ai as D,bn as O,br as k,cn as A,ct as j,dn as M,dr as N,er as P,f as ee,fn as F,gn as I,hr as L,ht as R,ii as z,jn as te,l as ne,m as re,mn as B,mr as V,mt as H,n as ie,ni as U,nn as W,p as ae,pn as G,q as K,qr as q,r as oe,rn as J,sn as se,st as ce,t as le,ti as ue,tr as de,u as fe,un as Y,v as pe,wn as X,wr as me,xn as he,xr as Z,y as ge,yn as Q,zn as _e,zr as ve}from"./index-Bplw5zZe.js";import{a as ye,g as be,h as xe,n as Se,p as Ce,t as we}from"./VTextField-DVnxh9lX.js";var $=Symbol.for(`vuetify:selection-control-group`),Te=X({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:F,trueIcon:F,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:I},...n(),...H(),...J()},`SelectionControlGroup`),Ee=X({...Te({defaultsTarget:`VSelectionControl`})},`VSelectionControlGroup`),De=Q()({name:`VSelectionControlGroup`,props:Ee(),emits:{"update:modelValue":e=>!0},setup(t,{slots:n}){let r=Y(t,`modelValue`),i=ve(),a=e(()=>t.id||`v-selection-control-group-${i}`),o=e(()=>t.name||a.value),c=new Set;return s($,{modelValue:r,forceUpdate:()=>{c.forEach(e=>e())},onForceUpdate:e=>{c.add(e),q(()=>{c.delete(e)})}}),O({[t.defaultsTarget]:{color:e(()=>t.color),disabled:e(()=>t.disabled),density:e(()=>t.density),error:e(()=>t.error),inline:e(()=>t.inline),modelValue:r,multiple:e(()=>!!t.multiple||t.multiple==null&&Array.isArray(r.value)),name:o,falseIcon:e(()=>t.falseIcon),trueIcon:e(()=>t.trueIcon),readonly:e(()=>t.readonly),ripple:e(()=>t.ripple),type:e(()=>t.type),valueComparator:e(()=>t.valueComparator)}}),G(()=>L(`div`,{class:z([`v-selection-control-group`,{"v-selection-control-group--inline":t.inline},t.class]),style:D(t.style),role:t.type===`radio`?`radiogroup`:void 0},[n.default?.()])),{}}}),Oe=X({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...n(),...Te()},`VSelectionControl`);function ke(e){let t=me($,void 0),{densityClasses:n}=R(e),r=Y(e,`modelValue`),i=V(()=>e.trueValue===void 0?e.value===void 0?!0:e.value:e.trueValue),a=V(()=>e.falseValue===void 0?!1:e.falseValue),o=V(()=>!!e.multiple||e.multiple==null&&Array.isArray(r.value)),s=V({get(){let n=t?t.modelValue.value:r.value;return o.value?P(n).some(t=>e.valueComparator(t,i.value)):e.valueComparator(n,i.value)},set(n){if(e.readonly)return;let s=n?i.value:a.value,c=s;o.value&&(c=n?[...P(r.value),s]:P(r.value).filter(t=>!e.valueComparator(t,i.value))),t?t.modelValue.value=c:r.value=c}}),{textColorClasses:c,textColorStyles:l}=j(()=>{if(!(e.error||e.disabled))return s.value?e.color:e.baseColor}),{backgroundColorClasses:u,backgroundColorStyles:d}=ce(()=>s.value&&!e.error&&!e.disabled?e.color:e.baseColor);return{group:t,densityClasses:n,trueValue:i,falseValue:a,model:s,textColorClasses:c,textColorStyles:l,backgroundColorClasses:u,backgroundColorStyles:d,icon:V(()=>s.value?e.trueIcon:e.falseIcon)}}var Ae=Q()({name:`VSelectionControl`,directives:{vRipple:l},inheritAttrs:!1,props:Oe(),emits:{"update:modelValue":e=>!0},setup(t,{attrs:n,slots:r}){let{group:o,densityClasses:s,icon:c,model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:p,backgroundColorStyles:m,trueValue:h}=ke(t),g=ve(),_=E(!1),y=E(!1),b=T(),x=e(()=>t.id||`input-${g}`),O=e(()=>!t.disabled&&!t.readonly);o?.onForceUpdate(()=>{b.value&&(b.value.checked=u.value)});function k(e){t.disabled||(_.value=!0,w(e.target,`:focus-visible`)!==!1&&(y.value=!0))}function A(){_.value=!1,y.value=!1}function j(e){e.stopPropagation()}function M(e){if(!O.value){b.value&&(b.value.checked=u.value);return}t.readonly&&o&&i(()=>o.forceUpdate()),u.value=e.target.checked}return G(()=>{let e=r.label?r.label({label:t.label,props:{for:x.value}}):t.label,[i,o]=v(n),g=L(`input`,a({ref:b,checked:u.value,disabled:!!t.disabled,id:x.value,onBlur:A,onFocus:k,onInput:M,"aria-disabled":!!t.disabled,"aria-label":t.label,type:t.type,value:h.value,name:t.name,"aria-checked":t.type===`checkbox`?u.value:void 0},o),null);return L(`div`,a({class:[`v-selection-control`,{"v-selection-control--dirty":u.value,"v-selection-control--disabled":t.disabled,"v-selection-control--error":t.error,"v-selection-control--focused":_.value,"v-selection-control--focus-visible":y.value,"v-selection-control--inline":t.inline},s.value,t.class]},i,{style:t.style}),[L(`div`,{class:z([`v-selection-control__wrapper`,d.value]),style:D(f.value)},[r.default?.({backgroundColorClasses:p,backgroundColorStyles:m}),S(L(`div`,{class:z([`v-selection-control__input`])},[r.input?.({model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:p,backgroundColorStyles:m,inputNode:g,icon:c.value,props:{onFocus:k,onBlur:A,id:x.value}})??L(N,null,[c.value&&Z(C,{key:`icon`,icon:c.value},null),g])]),[[l,!t.disabled&&!t.readonly&&t.ripple,null,{center:!0,circle:!0}]])]),e&&Z(be,{for:x.value,onClick:j},{default:()=>[e]})])}),{isFocused:_,input:b}}}),je=X({indeterminate:Boolean,indeterminateIcon:{type:F,default:`$checkboxIndeterminate`},...Oe({falseIcon:`$checkboxOff`,trueIcon:`$checkboxOn`})},`VCheckboxBtn`),Me=Q()({name:`VCheckboxBtn`,props:je(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(t,{slots:n}){let r=Y(t,`indeterminate`),i=Y(t,`modelValue`);function o(e){r.value&&=!1}let s=e(()=>r.value?t.indeterminateIcon:t.falseIcon),c=e(()=>r.value?t.indeterminateIcon:t.trueIcon);return G(()=>Z(Ae,a(_(Ae.filterProps(t),[`modelValue`]),{modelValue:i.value,"onUpdate:modelValue":[e=>i.value=e,o],class:[`v-checkbox-btn`,t.class],style:t.style,type:`checkbox`,falseIcon:s.value,trueIcon:c.value,"aria-checked":r.value?`mixed`:void 0}),n)),{}}}),Ne=X({renderless:Boolean,...n()},`VVirtualScrollItem`),Pe=Q()({name:`VVirtualScrollItem`,inheritAttrs:!1,props:Ne(),emits:{"update:height":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{resizeRef:i,contentRect:o}=W(void 0,`border`);x(()=>o.value?.height,e=>{e!=null&&n(`update:height`,e)}),G(()=>e.renderless?L(N,null,[r.default?.({itemRef:i})]):L(`div`,a({ref:i,class:[`v-virtual-scroll__item`,e.class],style:e.style},t),[r.default?.()]))}}),Fe=-1,Ie=1,Le=100,Re=X({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},`virtual`);function ze(e,t){let n=se(),r=E(0);c(()=>{r.value=parseFloat(e.itemHeight||0)});let a=E(0),s=E(Math.ceil((parseInt(e.height)||n.height.value)/(r.value||16))||1),l=E(0),u=E(0),d=T(),f=T(),m=0,{resizeRef:h,contentRect:g}=W();c(()=>{h.value=d.value});let _=V(()=>d.value===document.documentElement?n.height.value:g.value?.height||parseInt(e.height)||0),v=V(()=>!!(d.value&&f.value&&_.value&&r.value)),y=Array.from({length:t.value.length}),S=Array.from({length:t.value.length}),C=E(0),w=-1;function D(e){return y[e]||r.value}let O=o(()=>{let e=performance.now();S[0]=0;let n=t.value.length;for(let e=1;e<=n;e++)S[e]=(S[e-1]||0)+D(e-1);C.value=Math.max(C.value,performance.now()-e)},C),k=x(v,e=>{e&&(k(),m=f.value.offsetTop,O.immediate(),z(),~w&&i(()=>{de&&window.requestAnimationFrame(()=>{ne(w),w=-1})}))});q(()=>{O.clear()});function A(e,t){let n=y[e],i=r.value;r.value=i?Math.min(r.value,t):t,(n!==t||i!==r.value)&&(y[e]=t,O())}function j(e){e=p(e,0,t.value.length);let n=Math.floor(e),r=e%1,i=n+1,a=S[n]||0;return a+((S[i]||a)-a)*r}function M(e){return Be(S,e)}let N=0,P=0,ee=0;x(_,(e,t)=>{z(),e{P=0,z()})});let F=-1;function I(){if(!d.value||!f.value)return;let e=d.value.scrollTop,t=performance.now();t-ee>500?(P=Math.sign(e-N),m=f.value.offsetTop):P=e-N,N=e,ee=t,window.clearTimeout(F),F=window.setTimeout(L,500),z()}function L(){!d.value||!f.value||(P=0,ee=0,window.clearTimeout(F),z())}let R=-1;function z(){cancelAnimationFrame(R),R=requestAnimationFrame(te)}function te(){if(!d.value||!_.value||!r.value)return;let e=N-m,n=Math.sign(P),i=p(M(Math.max(0,e-Le)),0,t.value.length),o=p(M(e+_.value+Le)+1,i+1,t.value.length);if((n!==Fe||is.value)){let e=j(a.value)-j(i),n=j(o)-j(s.value);Math.max(e,n)>Le?(a.value=i,s.value=o):(i<=0&&(a.value=i),o>=t.value.length&&(s.value=o))}l.value=j(a.value),u.value=j(t.value.length)-j(s.value)}function ne(e){let t=j(e);!d.value||e&&!t?w=e:d.value.scrollTop=t}let re=V(()=>t.value.slice(a.value,s.value).map((t,n)=>{let r=n+a.value;return{raw:t,index:r,key:b(t,e.itemKey,r)}}));return x(t,()=>{y=Array.from({length:t.value.length}),S=Array.from({length:t.value.length}),O.immediate(),z()},{deep:1}),{calculateVisibleItems:z,containerRef:d,markerRef:f,computedItems:re,paddingTop:l,paddingBottom:u,scrollToIndex:ne,handleScroll:I,handleScrollend:L,handleItemResize:A}}function Be(e,t){let n=e.length-1,r=0,i=0,a=null,o=-1;if(e[n]>1,a=e[i],a>t)n=i-1;else if(a[]},renderless:Boolean,...Re(),...n(),...K()},`VVirtualScroll`),He=Q()({name:`VVirtualScroll`,props:Ve(),setup(t,{slots:n}){let r=he(`VVirtualScroll`),{dimensionStyles:i}=d(t),{calculateVisibleItems:a,containerRef:o,markerRef:s,handleScroll:c,handleScrollend:l,handleItemResize:u,scrollToIndex:f,paddingTop:p,paddingBottom:g,computedItems:_}=ze(t,e(()=>t.items));return M(()=>t.renderless,()=>{function e(e=!1){let t=e?`addEventListener`:`removeEventListener`;de&&(o.value===document.documentElement?(document[t](`scroll`,c,{passive:!0}),document[t](`scrollend`,l)):(o.value?.[t](`scroll`,c,{passive:!0}),o.value?.[t](`scrollend`,l)))}m(()=>{o.value=B(r.vnode.el,!0),e(!0)}),q(e)}),G(()=>{let e=_.value.map(e=>Z(Pe,{key:e.key,renderless:t.renderless,"onUpdate:height":t=>u(e.index,t)},{default:t=>n.default?.({item:e.raw,index:e.index,...t})}));return t.renderless?L(N,null,[L(`div`,{ref:s,class:`v-virtual-scroll__spacer`,style:{paddingTop:h(p.value)}},null),e,L(`div`,{class:`v-virtual-scroll__spacer`,style:{paddingBottom:h(g.value)}},null)]):L(`div`,{ref:o,class:z([`v-virtual-scroll`,t.class]),onScrollPassive:c,onScrollend:l,style:D([i.value,t.style])},[L(`div`,{ref:s,class:`v-virtual-scroll__container`,style:{paddingTop:h(p.value),paddingBottom:h(g.value)}},[e])])}),{calculateVisibleItems:a,scrollToIndex:f}}});function Ue(e,t,n){return function(r){return!r.relatedTarget&&document.activeElement===document.body&&e.value?(requestAnimationFrame(()=>{if(!e.value)return;let r=t();((r&&_e(r)[0])??n())?.focus({preventScroll:!0})}),!0):!1}}function We(e,t){let n=E(!1),r;function i(e){cancelAnimationFrame(r),n.value=!0,r=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{n.value=!1})})}async function a(){await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>{if(n.value){let t=x(n,()=>{t(),e()})}else e()})}async function o(n){if(n.key===`Tab`&&t.value?.focus(),![`PageDown`,`PageUp`,`Home`,`End`].includes(n.key))return;let r=e.value?.$el;if(!r)return;(n.key===`Home`||n.key===`End`)&&r.scrollTo({top:n.key===`Home`?0:r.scrollHeight,behavior:`smooth`}),await a();let i=r.querySelectorAll(`:scope > :not(.v-virtual-scroll__spacer)`);if(n.key===`PageDown`||n.key===`Home`){let e=r.getBoundingClientRect().top;for(let t of i)if(t.getBoundingClientRect().top>=e){t.focus();break}}else{let e=r.getBoundingClientRect().bottom;for(let t of[...i].reverse())if(t.getBoundingClientRect().bottom<=e){t.focus();break}}}return{onScrollPassive:i,onKeydown:o}}function Ge({groups:e,onLeave:t}){function n(e){return e.type===`list`?e.contentRef.value?.$el:e.contentRef.value}function r(e){let t=n(e);return t?_e(t):[]}function i(n){let i=n.target,o=n.shiftKey?`backward`:`forward`,s=e.map(r),c=e.map(e=>e.type===`list`?e.contentRef.value?.$el:e.contentRef.value).findIndex(e=>e?.contains(i)),l=a(s,c,o,i);if(l===null){let r=e[c],i=s[c];(r.type===`list`||(o===`forward`?i.at(-1)===n.target:i.at(0)===n.target))&&t()}else{n.preventDefault(),n.stopImmediatePropagation();let t=e[l];if(t.type===`list`&&ue(t.displayItemsCount)>0)t.contentRef.value?.focus(0);else{let e=o===`forward`;s[l].at(e?0:-1).focus()}}}function a(t,n,r,i){let a=e[n],o=t[n];if(a.type!==`list`&&!(r===`forward`?o.at(-1)===i:o.at(0)===i))return null;let s=r===`forward`?1:-1;for(let r=n+s;r>=0&&r0||n.type===`list`&&ue(n.displayItemsCount)>0)return r}return null}return{onTabKeydown:i}}var Ke=(e,t,n)=>{if(e==null||t==null)return-1;if(!t.length)return 0;e=e.toString().toLocaleLowerCase(),t=t.toString().toLocaleLowerCase();let r=[],i=e.indexOf(t);for(;~i;)r.push([i,i+t.length]),i=e.indexOf(t,i+t.length);return r.length?r:-1};function qe(e,t){if(!(e==null||typeof e==`boolean`||e===-1))return typeof e==`number`?[[e,e+t.length]]:Array.isArray(e[0])?e:[e]}var Je=X({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:`intersection`},noFilter:Boolean},`filter`);function Ye(e,t,n){let r=[],i=n?.default??Ke,a=n?.filterKeys?P(n.filterKeys):!1,o=Object.keys(n?.customKeyFilter??{}).length;if(!e?.length)return r;let s=[];loop:for(let c=0;c0)&&!n?.noFilter){let e=!1;if(typeof l==`object`){if(l.type===`divider`||l.type===`subheader`){(s.at(-1)?.type!==`divider`||l.type!==`subheader`)&&(s=[]),s.push({index:c,matches:{},type:l.type});continue}let r=a||Object.keys(u);e=r.length===o;for(let e of r){let r=b(u,e),a=n?.customKeyFilter?.[e];if(p=a?a(r,t,l):i(r,t,l),p!==-1&&p!==!1)a?d[e]=qe(p,t):f[e]=qe(p,t);else if(n?.filterMode===`every`)continue loop}}else p=i(l,t,l),p!==-1&&p!==!1&&(f.title=qe(p,t));let r=Object.keys(f).length,m=Object.keys(d).length;if(!r&&!m||n?.filterMode===`union`&&m!==o&&!r||n?.filterMode===`intersection`&&(m!==o||!r&&o>0&&!e))continue}s.length&&(r.push(...s),s=[]),r.push({index:c,matches:{...f,...d}})}return r}function Xe(e,t,n,r){let i=E([]),a=E(new Map),o=V(()=>r?.transform?U(t).map(e=>[e,r.transform(e)]):U(t));c(()=>{let s=typeof n==`function`?n():U(n),c=typeof s!=`string`&&typeof s!=`number`?``:String(s),l=Ye(o.value,c,{customKeyFilter:{...e.customKeyFilter,...U(r?.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),u=U(t),d=[],f=new Map;l.forEach(({index:e,matches:t})=>{let n=u[e];d.push(n),f.set(n.value,t)}),i.value=d,a.value=f});function s(e){return a.value.get(e.value)}return{filteredItems:i,filteredMatches:a,getMatches:s}}function Ze(e,t,n){return n==null||!n.length?t:n.map((r,i)=>{let a=i===0?0:n[i-1][1],o=[L(`span`,{class:z(`${e}__unmask`)},[t.slice(a,r[0])]),L(`span`,{class:z(`${e}__mask`)},[t.slice(r[0],r[1])])];return i===n.length-1&&o.push(L(`span`,{class:z(`${e}__unmask`)},[t.slice(r[1])])),L(N,null,[o])})}var Qe=X({closeText:{type:String,default:`$vuetify.close`},openText:{type:String,default:`$vuetify.open`}},`autocomplete`);function $e(t,n){let r=ve(),i=V(()=>`menu-${r}`);return{menuId:i,ariaExpanded:e(()=>ue(n)),ariaControls:e(()=>i.value)}}var et=X({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuElevation:[Number,String],menuIcon:{type:F,default:`$dropdown`},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:`$vuetify.noDataText`},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...Qe(),...fe({itemChildren:!1})},`Select`),tt=X({search:String,...Je({filterKeys:[`title`]}),...et(),..._(Se({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`]),...r({transition:{component:f}})},`VSelect`),nt=Q()({name:`VSelect`,props:tt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0},setup(n,{slots:r}){let{t:o}=A(),s=T(),c=T(),l=T(),d=T(),f=T(),{items:p,transformIn:m,transformOut:h}=ee(n),_=Y(n,`search`,``),{filteredItems:v,getMatches:b}=Xe(n,p,()=>_.value),S=Y(n,`modelValue`,[],e=>m(e===null?[null]:P(e)),e=>{let t=h(e);return n.multiple?t:t[0]??null}),D=V(()=>typeof n.counterValue==`function`?n.counterValue(S.value):typeof n.counterValue==`number`?n.counterValue:S.value.length),O=Ce(n),j=ye(n),M=V(()=>S.value.map(e=>e.value)),F=E(!1),R=e(()=>n.closableChips&&!O.isReadonly.value&&!O.isDisabled.value),{InputIcon:z}=xe(n),B=``,H=0,U,W=V(()=>{let e=_.value?v.value:p.value;return n.hideSelected?e.filter(e=>!S.value.some(t=>(n.valueComparator||I)(t,e))):e}),K=V(()=>n.hideNoData&&!W.value.length||O.isReadonly.value||O.isDisabled.value),q=Y(n,`menu`),J=V({get:()=>q.value,set:e=>{q.value&&!e&&c.value?.ΨopenChildren.size||e&&K.value||(q.value=e)}}),{menuId:se,ariaExpanded:ce,ariaControls:ue}=$e(n,J),fe=V(()=>({...n.menuProps,activatorProps:{...n.menuProps?.activatorProps||{},"aria-haspopup":`listbox`}})),X=T(),me=We(X,s),he=Ue(J,()=>c.value?.contentEl,()=>s.value?.controlRef),{onTabKeydown:Q}=Ge({groups:[{type:`element`,contentRef:l},{type:`list`,contentRef:X,displayItemsCount:()=>W.value.length},{type:`element`,contentRef:d}],onLeave:()=>{J.value=!1,s.value?.focus()}});function _e(e){n.openOnClear&&(J.value=!0)}function ve(){K.value||(J.value=!J.value)}function be(e){e.key===`Tab`&&Q(e),X.value?.$el.contains(e.target)&&te(e)&&Se(e)}function Se(e){if(!e.key||O.isReadonly.value)return;if([`Enter`,` `,`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)&&e.preventDefault(),[`Enter`,`ArrowDown`,` `].includes(e.key)&&(J.value=!0),[`Escape`,`Tab`].includes(e.key)&&(J.value=!1),n.clearable&&e.key===`Backspace`){e.preventDefault(),S.value=[],_e(e);return}if(e.key===`Home`?X.value?.focus(`first`):e.key===`End`&&X.value?.focus(`last`),!te(e))return;let t=performance.now();t-U>1e3&&(B=``,H=0),B+=e.key.toLowerCase(),U=t;let r=W.value;function i(){let t=a();return t||B.at(-1)===B.at(-2)&&(B=B.slice(0,-1),H++,t=a(),t)||(H=0,t=a(),t)?t:(B=e.key.toLowerCase(),a())}function a(){for(let e=H;e(n.valueComparator||I)(t.value,e.value)),i=t??!~r;if(~r){let t=i?[...S.value,e]:[...S.value];t.splice(r,1),S.value=t}else i&&(S.value=[...S.value,e])}else S.value=t===!1?[]:[e],i(()=>{J.value=!1})}function Te(e){let t=e.target;s.value?.$el.contains(t)||(J.value=!1)}function Ee(){return W.value.findIndex(e=>S.value.some(t=>(n.valueComparator||I)(t.value,e.value)))}function De(){if(!S.value.length)return-1;let e=n.valueComparator||I,t=0;for(let n of W.value){if(S.value.some(t=>e(t.value,n.value)))return n.props.disabled?-1:t;n.props.disabled||t++}return-1}function Oe(){if(n.eager&&f.value?.calculateVisibleItems(),X.value&&F.value){let e=De();X.value.focus(e>=0?e:`first`,{focusVisible:!1})}}function ke(){_.value=``,F.value&&s.value?.focus()}function Ae(e){F.value=!0}function je(e){if(!s.value?.$el.contains(e.relatedTarget)&&!e.currentTarget.contains(e.relatedTarget)){if(he(e))return;F.value=!1}}function Ne(e){if(e==null)S.value=[];else if(w(s.value,`:autofill`)||w(s.value,`:-webkit-autofill`)){let t=p.value.find(t=>t.title===e);t&&$(t)}else s.value&&(s.value.value=``)}return x(J,()=>{if(!n.hideSelected&&J.value&&S.value.length){let e=Ee();de&&!n.noAutoScroll&&window.requestAnimationFrame(()=>{e>=0&&f.value?.scrollToIndex(e)})}}),x(p,(e,t)=>{J.value||F.value&&n.hideNoData&&!t.length&&e.length&&(J.value=!0)}),G(()=>{let e=!!(n.chips||r.chip),i=!!(!n.hideNoData||W.value.length||r[`prepend-item`]||r[`append-item`]||r[`no-data`]),m=S.value.length>0,h=we.filterProps(n),x=m||!F.value&&n.label&&!n.persistentPlaceholder?void 0:n.placeholder,w={search:_,filteredItems:v.value};return Z(we,a({ref:s},h,{modelValue:S.value.map(e=>e.props.title).join(`, `),name:void 0,"onUpdate:modelValue":Ne,focused:F.value,"onUpdate:focused":e=>F.value=e,validationValue:S.externalValue,counterValue:D.value,dirty:m,class:[`v-select`,{"v-select--active-menu":J.value,"v-select--chips":!!n.chips,[`v-select--${n.multiple?`multiple`:`single`}`]:!0,"v-select--selected":S.value.length,"v-select--selection-slot":!!r.selection},n.class],style:n.style,inputmode:`none`,placeholder:x,"onClick:clear":_e,"onMousedown:control":ve,onBlur:Te,onKeydown:Se,"aria-expanded":ce.value,"aria-controls":ue.value}),{...r,default:({id:s})=>L(N,null,[L(`select`,{hidden:!0,multiple:n.multiple,name:j.fieldName.value},[p.value.map(e=>L(`option`,{key:e.value,value:e.value,selected:M.value.includes(e.value)},null))]),Z(ie,a({id:se.value,ref:c,modelValue:J.value,"onUpdate:modelValue":e=>J.value=e,activator:`parent`,disabled:K.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:n.transition,onAfterEnter:Oe,onAfterLeave:ke},fe.value,{contentClass:[`v-select__content`,fe.value.contentClass]}),{default:()=>[Z(le,{elevation:n.menuElevation,onFocusin:Ae,onFocusout:je,onKeydown:be},{default:()=>[r[`menu-header`]&&L(`header`,{ref:l},[r[`menu-header`](w)]),i&&Z(ne,a({key:`select-list`,ref:X,selected:M.value,selectStrategy:n.multiple?`independent`:`single-independent`,tabindex:`-1`,selectable:!!W.value.length,"aria-live":`polite`,"aria-labelledby":`${s.value}-label`,"aria-multiselectable":n.multiple,color:n.itemColor??n.color},me,n.listProps),{default:()=>[r[`prepend-item`]?.(),!W.value.length&&!n.hideNoData&&(r[`no-data`]?.()??Z(re,{key:`no-data`,title:o(n.noDataText)},null)),Z(He,{ref:f,renderless:!0,items:W.value,itemKey:`value`},{default:({item:e,index:i,itemRef:o})=>{let s=t(e.props),c=a(e.props,{ref:o,key:e.value,onClick:()=>$(e,null),"aria-posinset":i+1,"aria-setsize":W.value.length});return e.type===`divider`?r.divider?.({props:e.raw,index:i})??Z(pe,a(e.props,{key:`divider-${i}`}),null):e.type===`subheader`?r.subheader?.({props:e.raw,index:i})??Z(ae,a(e.props,{key:`subheader-${i}`}),null):r.item?.({item:e.raw,internalItem:e,index:i,props:c})??Z(re,a(c,{role:`option`}),{prepend:({isSelected:t})=>L(N,null,[n.multiple&&!n.hideSelected?Z(Me,{key:e.value,modelValue:t,ripple:!1,tabindex:`-1`,"aria-hidden":!0,onClick:e=>e.preventDefault()},null):void 0,s.prependAvatar&&Z(y,{image:s.prependAvatar},null),s.prependIcon&&Z(C,{icon:s.prependIcon},null)]),title:()=>_.value?Ze(`v-select`,e.title,b(e)?.title):e.title})}}),r[`append-item`]?.()]}),r[`menu-footer`]&&L(`footer`,{ref:d},[r[`menu-footer`](w)])]})]}),S.value.map((t,i)=>{function o(e){e.stopPropagation(),e.preventDefault(),$(t,!1)}let s=a(ge.filterProps(t.props),{"onClick:close":o,onKeydown(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),o(e))},onMousedown(e){e.preventDefault(),e.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),c=e?!!r.chip:!!r.selection,l=c?u(e?r.chip({item:t.raw,internalItem:t,index:i,props:s}):r.selection({item:t.raw,internalItem:t,index:i})):void 0;if(!(c&&!l))return L(`div`,{key:t.value,class:`v-select__selection`},[e?r.chip?Z(g,{key:`chip-defaults`,defaults:{VChip:{closable:R.value,size:`small`,text:t.title}}},{default:()=>[l]}):Z(ge,a({key:`chip`,closable:R.value,size:`small`,text:t.title,disabled:t.props.disabled},s),null):l??L(`span`,{class:`v-select__selection-text`},[t.title,n.multiple&&iL(N,null,[r[`append-inner`]?.(...e),n.menuIcon?Z(C,{class:`v-select__menu-icon`,color:s.value?.fieldIconColor,icon:n.menuIcon,"aria-hidden":!0},null):void 0,n.appendInnerIcon&&Z(z,{key:`append-icon`,name:`appendInner`,color:e[0].iconColor.value},null)])})}),oe({isFocused:F,menu:J,search:_,filteredItems:v,select:$},s)}});export{Je as a,We as c,Me as d,je as f,Te as g,De as h,Ze as i,Ue as l,Oe as m,et as n,Xe as o,Ae as p,$e as r,Ge as s,nt as t,He as u}; \ No newline at end of file diff --git a/web/app/assets/VSelect-CzNpj4qJ.js b/web/app/assets/VSelect-CzNpj4qJ.js deleted file mode 100644 index 00fedbc1..00000000 --- a/web/app/assets/VSelect-CzNpj4qJ.js +++ /dev/null @@ -1 +0,0 @@ -import{$r as e,An as t,Cn as n,D as r,Dr as i,Er as a,Fn as o,Fr as s,Hr as c,I as l,In as u,J as d,M as f,Mn as p,Mr as m,Nn as h,Q as g,Qn as _,Rn as v,S as y,Vn as b,Vr as x,Wr as S,X as C,Xn as w,Xr as T,Zr as E,ai as D,bn as O,br as k,cn as A,ct as j,dn as M,dr as N,er as P,f as ee,fn as F,gn as I,hr as L,ht as R,ii as z,jn as te,l as ne,m as re,mn as B,mr as V,mt as H,n as ie,ni as U,nn as W,p as ae,pn as G,q as K,qr as q,r as oe,rn as J,sn as se,st as ce,t as le,ti as ue,tr as de,u as fe,un as Y,v as pe,wn as X,wr as me,xn as he,xr as Z,y as ge,yn as Q,zn as _e,zr as ve}from"./index-DZEQidkT.js";import{a as ye,g as be,h as xe,n as Se,p as Ce,t as we}from"./VTextField-CvZimSXQ.js";var $=Symbol.for(`vuetify:selection-control-group`),Te=X({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:F,trueIcon:F,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:I},...n(),...H(),...J()},`SelectionControlGroup`),Ee=X({...Te({defaultsTarget:`VSelectionControl`})},`VSelectionControlGroup`),De=Q()({name:`VSelectionControlGroup`,props:Ee(),emits:{"update:modelValue":e=>!0},setup(t,{slots:n}){let r=Y(t,`modelValue`),i=ve(),a=e(()=>t.id||`v-selection-control-group-${i}`),o=e(()=>t.name||a.value),c=new Set;return s($,{modelValue:r,forceUpdate:()=>{c.forEach(e=>e())},onForceUpdate:e=>{c.add(e),q(()=>{c.delete(e)})}}),O({[t.defaultsTarget]:{color:e(()=>t.color),disabled:e(()=>t.disabled),density:e(()=>t.density),error:e(()=>t.error),inline:e(()=>t.inline),modelValue:r,multiple:e(()=>!!t.multiple||t.multiple==null&&Array.isArray(r.value)),name:o,falseIcon:e(()=>t.falseIcon),trueIcon:e(()=>t.trueIcon),readonly:e(()=>t.readonly),ripple:e(()=>t.ripple),type:e(()=>t.type),valueComparator:e(()=>t.valueComparator)}}),G(()=>L(`div`,{class:z([`v-selection-control-group`,{"v-selection-control-group--inline":t.inline},t.class]),style:D(t.style),role:t.type===`radio`?`radiogroup`:void 0},[n.default?.()])),{}}}),Oe=X({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...n(),...Te()},`VSelectionControl`);function ke(e){let t=me($,void 0),{densityClasses:n}=R(e),r=Y(e,`modelValue`),i=V(()=>e.trueValue===void 0?e.value===void 0?!0:e.value:e.trueValue),a=V(()=>e.falseValue===void 0?!1:e.falseValue),o=V(()=>!!e.multiple||e.multiple==null&&Array.isArray(r.value)),s=V({get(){let n=t?t.modelValue.value:r.value;return o.value?P(n).some(t=>e.valueComparator(t,i.value)):e.valueComparator(n,i.value)},set(n){if(e.readonly)return;let s=n?i.value:a.value,c=s;o.value&&(c=n?[...P(r.value),s]:P(r.value).filter(t=>!e.valueComparator(t,i.value))),t?t.modelValue.value=c:r.value=c}}),{textColorClasses:c,textColorStyles:l}=j(()=>{if(!(e.error||e.disabled))return s.value?e.color:e.baseColor}),{backgroundColorClasses:u,backgroundColorStyles:d}=ce(()=>s.value&&!e.error&&!e.disabled?e.color:e.baseColor);return{group:t,densityClasses:n,trueValue:i,falseValue:a,model:s,textColorClasses:c,textColorStyles:l,backgroundColorClasses:u,backgroundColorStyles:d,icon:V(()=>s.value?e.trueIcon:e.falseIcon)}}var Ae=Q()({name:`VSelectionControl`,directives:{vRipple:l},inheritAttrs:!1,props:Oe(),emits:{"update:modelValue":e=>!0},setup(t,{attrs:n,slots:r}){let{group:o,densityClasses:s,icon:c,model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:p,backgroundColorStyles:m,trueValue:h}=ke(t),g=ve(),_=E(!1),y=E(!1),b=T(),x=e(()=>t.id||`input-${g}`),O=e(()=>!t.disabled&&!t.readonly);o?.onForceUpdate(()=>{b.value&&(b.value.checked=u.value)});function k(e){t.disabled||(_.value=!0,w(e.target,`:focus-visible`)!==!1&&(y.value=!0))}function A(){_.value=!1,y.value=!1}function j(e){e.stopPropagation()}function M(e){if(!O.value){b.value&&(b.value.checked=u.value);return}t.readonly&&o&&i(()=>o.forceUpdate()),u.value=e.target.checked}return G(()=>{let e=r.label?r.label({label:t.label,props:{for:x.value}}):t.label,[i,o]=v(n),g=L(`input`,a({ref:b,checked:u.value,disabled:!!t.disabled,id:x.value,onBlur:A,onFocus:k,onInput:M,"aria-disabled":!!t.disabled,"aria-label":t.label,type:t.type,value:h.value,name:t.name,"aria-checked":t.type===`checkbox`?u.value:void 0},o),null);return L(`div`,a({class:[`v-selection-control`,{"v-selection-control--dirty":u.value,"v-selection-control--disabled":t.disabled,"v-selection-control--error":t.error,"v-selection-control--focused":_.value,"v-selection-control--focus-visible":y.value,"v-selection-control--inline":t.inline},s.value,t.class]},i,{style:t.style}),[L(`div`,{class:z([`v-selection-control__wrapper`,d.value]),style:D(f.value)},[r.default?.({backgroundColorClasses:p,backgroundColorStyles:m}),S(L(`div`,{class:z([`v-selection-control__input`])},[r.input?.({model:u,textColorClasses:d,textColorStyles:f,backgroundColorClasses:p,backgroundColorStyles:m,inputNode:g,icon:c.value,props:{onFocus:k,onBlur:A,id:x.value}})??L(N,null,[c.value&&Z(C,{key:`icon`,icon:c.value},null),g])]),[[l,!t.disabled&&!t.readonly&&t.ripple,null,{center:!0,circle:!0}]])]),e&&Z(be,{for:x.value,onClick:j},{default:()=>[e]})])}),{isFocused:_,input:b}}}),je=X({indeterminate:Boolean,indeterminateIcon:{type:F,default:`$checkboxIndeterminate`},...Oe({falseIcon:`$checkboxOff`,trueIcon:`$checkboxOn`})},`VCheckboxBtn`),Me=Q()({name:`VCheckboxBtn`,props:je(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(t,{slots:n}){let r=Y(t,`indeterminate`),i=Y(t,`modelValue`);function o(e){r.value&&=!1}let s=e(()=>r.value?t.indeterminateIcon:t.falseIcon),c=e(()=>r.value?t.indeterminateIcon:t.trueIcon);return G(()=>Z(Ae,a(_(Ae.filterProps(t),[`modelValue`]),{modelValue:i.value,"onUpdate:modelValue":[e=>i.value=e,o],class:[`v-checkbox-btn`,t.class],style:t.style,type:`checkbox`,falseIcon:s.value,trueIcon:c.value,"aria-checked":r.value?`mixed`:void 0}),n)),{}}}),Ne=X({renderless:Boolean,...n()},`VVirtualScrollItem`),Pe=Q()({name:`VVirtualScrollItem`,inheritAttrs:!1,props:Ne(),emits:{"update:height":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{resizeRef:i,contentRect:o}=W(void 0,`border`);x(()=>o.value?.height,e=>{e!=null&&n(`update:height`,e)}),G(()=>e.renderless?L(N,null,[r.default?.({itemRef:i})]):L(`div`,a({ref:i,class:[`v-virtual-scroll__item`,e.class],style:e.style},t),[r.default?.()]))}}),Fe=-1,Ie=1,Le=100,Re=X({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},`virtual`);function ze(e,t){let n=se(),r=E(0);c(()=>{r.value=parseFloat(e.itemHeight||0)});let a=E(0),s=E(Math.ceil((parseInt(e.height)||n.height.value)/(r.value||16))||1),l=E(0),u=E(0),d=T(),f=T(),m=0,{resizeRef:h,contentRect:g}=W();c(()=>{h.value=d.value});let _=V(()=>d.value===document.documentElement?n.height.value:g.value?.height||parseInt(e.height)||0),v=V(()=>!!(d.value&&f.value&&_.value&&r.value)),y=Array.from({length:t.value.length}),S=Array.from({length:t.value.length}),C=E(0),w=-1;function D(e){return y[e]||r.value}let O=o(()=>{let e=performance.now();S[0]=0;let n=t.value.length;for(let e=1;e<=n;e++)S[e]=(S[e-1]||0)+D(e-1);C.value=Math.max(C.value,performance.now()-e)},C),k=x(v,e=>{e&&(k(),m=f.value.offsetTop,O.immediate(),z(),~w&&i(()=>{de&&window.requestAnimationFrame(()=>{ne(w),w=-1})}))});q(()=>{O.clear()});function A(e,t){let n=y[e],i=r.value;r.value=i?Math.min(r.value,t):t,(n!==t||i!==r.value)&&(y[e]=t,O())}function j(e){e=p(e,0,t.value.length);let n=Math.floor(e),r=e%1,i=n+1,a=S[n]||0;return a+((S[i]||a)-a)*r}function M(e){return Be(S,e)}let N=0,P=0,ee=0;x(_,(e,t)=>{z(),e{P=0,z()})});let F=-1;function I(){if(!d.value||!f.value)return;let e=d.value.scrollTop,t=performance.now();t-ee>500?(P=Math.sign(e-N),m=f.value.offsetTop):P=e-N,N=e,ee=t,window.clearTimeout(F),F=window.setTimeout(L,500),z()}function L(){!d.value||!f.value||(P=0,ee=0,window.clearTimeout(F),z())}let R=-1;function z(){cancelAnimationFrame(R),R=requestAnimationFrame(te)}function te(){if(!d.value||!_.value||!r.value)return;let e=N-m,n=Math.sign(P),i=p(M(Math.max(0,e-Le)),0,t.value.length),o=p(M(e+_.value+Le)+1,i+1,t.value.length);if((n!==Fe||is.value)){let e=j(a.value)-j(i),n=j(o)-j(s.value);Math.max(e,n)>Le?(a.value=i,s.value=o):(i<=0&&(a.value=i),o>=t.value.length&&(s.value=o))}l.value=j(a.value),u.value=j(t.value.length)-j(s.value)}function ne(e){let t=j(e);!d.value||e&&!t?w=e:d.value.scrollTop=t}let re=V(()=>t.value.slice(a.value,s.value).map((t,n)=>{let r=n+a.value;return{raw:t,index:r,key:b(t,e.itemKey,r)}}));return x(t,()=>{y=Array.from({length:t.value.length}),S=Array.from({length:t.value.length}),O.immediate(),z()},{deep:1}),{calculateVisibleItems:z,containerRef:d,markerRef:f,computedItems:re,paddingTop:l,paddingBottom:u,scrollToIndex:ne,handleScroll:I,handleScrollend:L,handleItemResize:A}}function Be(e,t){let n=e.length-1,r=0,i=0,a=null,o=-1;if(e[n]>1,a=e[i],a>t)n=i-1;else if(a[]},renderless:Boolean,...Re(),...n(),...K()},`VVirtualScroll`),He=Q()({name:`VVirtualScroll`,props:Ve(),setup(t,{slots:n}){let r=he(`VVirtualScroll`),{dimensionStyles:i}=d(t),{calculateVisibleItems:a,containerRef:o,markerRef:s,handleScroll:c,handleScrollend:l,handleItemResize:u,scrollToIndex:f,paddingTop:p,paddingBottom:g,computedItems:_}=ze(t,e(()=>t.items));return M(()=>t.renderless,()=>{function e(e=!1){let t=e?`addEventListener`:`removeEventListener`;de&&(o.value===document.documentElement?(document[t](`scroll`,c,{passive:!0}),document[t](`scrollend`,l)):(o.value?.[t](`scroll`,c,{passive:!0}),o.value?.[t](`scrollend`,l)))}m(()=>{o.value=B(r.vnode.el,!0),e(!0)}),q(e)}),G(()=>{let e=_.value.map(e=>Z(Pe,{key:e.key,renderless:t.renderless,"onUpdate:height":t=>u(e.index,t)},{default:t=>n.default?.({item:e.raw,index:e.index,...t})}));return t.renderless?L(N,null,[L(`div`,{ref:s,class:`v-virtual-scroll__spacer`,style:{paddingTop:h(p.value)}},null),e,L(`div`,{class:`v-virtual-scroll__spacer`,style:{paddingBottom:h(g.value)}},null)]):L(`div`,{ref:o,class:z([`v-virtual-scroll`,t.class]),onScrollPassive:c,onScrollend:l,style:D([i.value,t.style])},[L(`div`,{ref:s,class:`v-virtual-scroll__container`,style:{paddingTop:h(p.value),paddingBottom:h(g.value)}},[e])])}),{calculateVisibleItems:a,scrollToIndex:f}}});function Ue(e,t,n){return function(r){return!r.relatedTarget&&document.activeElement===document.body&&e.value?(requestAnimationFrame(()=>{if(!e.value)return;let r=t();((r&&_e(r)[0])??n())?.focus({preventScroll:!0})}),!0):!1}}function We(e,t){let n=E(!1),r;function i(e){cancelAnimationFrame(r),n.value=!0,r=requestAnimationFrame(()=>{r=requestAnimationFrame(()=>{n.value=!1})})}async function a(){await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>{if(n.value){let t=x(n,()=>{t(),e()})}else e()})}async function o(n){if(n.key===`Tab`&&t.value?.focus(),![`PageDown`,`PageUp`,`Home`,`End`].includes(n.key))return;let r=e.value?.$el;if(!r)return;(n.key===`Home`||n.key===`End`)&&r.scrollTo({top:n.key===`Home`?0:r.scrollHeight,behavior:`smooth`}),await a();let i=r.querySelectorAll(`:scope > :not(.v-virtual-scroll__spacer)`);if(n.key===`PageDown`||n.key===`Home`){let e=r.getBoundingClientRect().top;for(let t of i)if(t.getBoundingClientRect().top>=e){t.focus();break}}else{let e=r.getBoundingClientRect().bottom;for(let t of[...i].reverse())if(t.getBoundingClientRect().bottom<=e){t.focus();break}}}return{onScrollPassive:i,onKeydown:o}}function Ge({groups:e,onLeave:t}){function n(e){return e.type===`list`?e.contentRef.value?.$el:e.contentRef.value}function r(e){let t=n(e);return t?_e(t):[]}function i(n){let i=n.target,o=n.shiftKey?`backward`:`forward`,s=e.map(r),c=e.map(e=>e.type===`list`?e.contentRef.value?.$el:e.contentRef.value).findIndex(e=>e?.contains(i)),l=a(s,c,o,i);if(l===null){let r=e[c],i=s[c];(r.type===`list`||(o===`forward`?i.at(-1)===n.target:i.at(0)===n.target))&&t()}else{n.preventDefault(),n.stopImmediatePropagation();let t=e[l];if(t.type===`list`&&ue(t.displayItemsCount)>0)t.contentRef.value?.focus(0);else{let e=o===`forward`;s[l].at(e?0:-1).focus()}}}function a(t,n,r,i){let a=e[n],o=t[n];if(a.type!==`list`&&!(r===`forward`?o.at(-1)===i:o.at(0)===i))return null;let s=r===`forward`?1:-1;for(let r=n+s;r>=0&&r0||n.type===`list`&&ue(n.displayItemsCount)>0)return r}return null}return{onTabKeydown:i}}var Ke=(e,t,n)=>{if(e==null||t==null)return-1;if(!t.length)return 0;e=e.toString().toLocaleLowerCase(),t=t.toString().toLocaleLowerCase();let r=[],i=e.indexOf(t);for(;~i;)r.push([i,i+t.length]),i=e.indexOf(t,i+t.length);return r.length?r:-1};function qe(e,t){if(!(e==null||typeof e==`boolean`||e===-1))return typeof e==`number`?[[e,e+t.length]]:Array.isArray(e[0])?e:[e]}var Je=X({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:`intersection`},noFilter:Boolean},`filter`);function Ye(e,t,n){let r=[],i=n?.default??Ke,a=n?.filterKeys?P(n.filterKeys):!1,o=Object.keys(n?.customKeyFilter??{}).length;if(!e?.length)return r;let s=[];loop:for(let c=0;c0)&&!n?.noFilter){let e=!1;if(typeof l==`object`){if(l.type===`divider`||l.type===`subheader`){(s.at(-1)?.type!==`divider`||l.type!==`subheader`)&&(s=[]),s.push({index:c,matches:{},type:l.type});continue}let r=a||Object.keys(u);e=r.length===o;for(let e of r){let r=b(u,e),a=n?.customKeyFilter?.[e];if(p=a?a(r,t,l):i(r,t,l),p!==-1&&p!==!1)a?d[e]=qe(p,t):f[e]=qe(p,t);else if(n?.filterMode===`every`)continue loop}}else p=i(l,t,l),p!==-1&&p!==!1&&(f.title=qe(p,t));let r=Object.keys(f).length,m=Object.keys(d).length;if(!r&&!m||n?.filterMode===`union`&&m!==o&&!r||n?.filterMode===`intersection`&&(m!==o||!r&&o>0&&!e))continue}s.length&&(r.push(...s),s=[]),r.push({index:c,matches:{...f,...d}})}return r}function Xe(e,t,n,r){let i=E([]),a=E(new Map),o=V(()=>r?.transform?U(t).map(e=>[e,r.transform(e)]):U(t));c(()=>{let s=typeof n==`function`?n():U(n),c=typeof s!=`string`&&typeof s!=`number`?``:String(s),l=Ye(o.value,c,{customKeyFilter:{...e.customKeyFilter,...U(r?.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),u=U(t),d=[],f=new Map;l.forEach(({index:e,matches:t})=>{let n=u[e];d.push(n),f.set(n.value,t)}),i.value=d,a.value=f});function s(e){return a.value.get(e.value)}return{filteredItems:i,filteredMatches:a,getMatches:s}}function Ze(e,t,n){return n==null||!n.length?t:n.map((r,i)=>{let a=i===0?0:n[i-1][1],o=[L(`span`,{class:z(`${e}__unmask`)},[t.slice(a,r[0])]),L(`span`,{class:z(`${e}__mask`)},[t.slice(r[0],r[1])])];return i===n.length-1&&o.push(L(`span`,{class:z(`${e}__unmask`)},[t.slice(r[1])])),L(N,null,[o])})}var Qe=X({closeText:{type:String,default:`$vuetify.close`},openText:{type:String,default:`$vuetify.open`}},`autocomplete`);function $e(t,n){let r=ve(),i=V(()=>`menu-${r}`);return{menuId:i,ariaExpanded:e(()=>ue(n)),ariaControls:e(()=>i.value)}}var et=X({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuElevation:[Number,String],menuIcon:{type:F,default:`$dropdown`},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:`$vuetify.noDataText`},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...Qe(),...fe({itemChildren:!1})},`Select`),tt=X({search:String,...Je({filterKeys:[`title`]}),...et(),..._(Se({modelValue:null,role:`combobox`}),[`validationValue`,`dirty`]),...r({transition:{component:f}})},`VSelect`),nt=Q()({name:`VSelect`,props:tt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0},setup(n,{slots:r}){let{t:o}=A(),s=T(),c=T(),l=T(),d=T(),f=T(),{items:p,transformIn:m,transformOut:h}=ee(n),_=Y(n,`search`,``),{filteredItems:v,getMatches:b}=Xe(n,p,()=>_.value),S=Y(n,`modelValue`,[],e=>m(e===null?[null]:P(e)),e=>{let t=h(e);return n.multiple?t:t[0]??null}),D=V(()=>typeof n.counterValue==`function`?n.counterValue(S.value):typeof n.counterValue==`number`?n.counterValue:S.value.length),O=Ce(n),j=ye(n),M=V(()=>S.value.map(e=>e.value)),F=E(!1),R=e(()=>n.closableChips&&!O.isReadonly.value&&!O.isDisabled.value),{InputIcon:z}=xe(n),B=``,H=0,U,W=V(()=>{let e=_.value?v.value:p.value;return n.hideSelected?e.filter(e=>!S.value.some(t=>(n.valueComparator||I)(t,e))):e}),K=V(()=>n.hideNoData&&!W.value.length||O.isReadonly.value||O.isDisabled.value),q=Y(n,`menu`),J=V({get:()=>q.value,set:e=>{q.value&&!e&&c.value?.ΨopenChildren.size||e&&K.value||(q.value=e)}}),{menuId:se,ariaExpanded:ce,ariaControls:ue}=$e(n,J),fe=V(()=>({...n.menuProps,activatorProps:{...n.menuProps?.activatorProps||{},"aria-haspopup":`listbox`}})),X=T(),me=We(X,s),he=Ue(J,()=>c.value?.contentEl,()=>s.value?.controlRef),{onTabKeydown:Q}=Ge({groups:[{type:`element`,contentRef:l},{type:`list`,contentRef:X,displayItemsCount:()=>W.value.length},{type:`element`,contentRef:d}],onLeave:()=>{J.value=!1,s.value?.focus()}});function _e(e){n.openOnClear&&(J.value=!0)}function ve(){K.value||(J.value=!J.value)}function be(e){e.key===`Tab`&&Q(e),X.value?.$el.contains(e.target)&&te(e)&&Se(e)}function Se(e){if(!e.key||O.isReadonly.value)return;if([`Enter`,` `,`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key)&&e.preventDefault(),[`Enter`,`ArrowDown`,` `].includes(e.key)&&(J.value=!0),[`Escape`,`Tab`].includes(e.key)&&(J.value=!1),n.clearable&&e.key===`Backspace`){e.preventDefault(),S.value=[],_e(e);return}if(e.key===`Home`?X.value?.focus(`first`):e.key===`End`&&X.value?.focus(`last`),!te(e))return;let t=performance.now();t-U>1e3&&(B=``,H=0),B+=e.key.toLowerCase(),U=t;let r=W.value;function i(){let t=a();return t||B.at(-1)===B.at(-2)&&(B=B.slice(0,-1),H++,t=a(),t)||(H=0,t=a(),t)?t:(B=e.key.toLowerCase(),a())}function a(){for(let e=H;e(n.valueComparator||I)(t.value,e.value)),i=t??!~r;if(~r){let t=i?[...S.value,e]:[...S.value];t.splice(r,1),S.value=t}else i&&(S.value=[...S.value,e])}else S.value=t===!1?[]:[e],i(()=>{J.value=!1})}function Te(e){let t=e.target;s.value?.$el.contains(t)||(J.value=!1)}function Ee(){return W.value.findIndex(e=>S.value.some(t=>(n.valueComparator||I)(t.value,e.value)))}function De(){if(!S.value.length)return-1;let e=n.valueComparator||I,t=0;for(let n of W.value){if(S.value.some(t=>e(t.value,n.value)))return n.props.disabled?-1:t;n.props.disabled||t++}return-1}function Oe(){if(n.eager&&f.value?.calculateVisibleItems(),X.value&&F.value){let e=De();X.value.focus(e>=0?e:`first`,{focusVisible:!1})}}function ke(){_.value=``,F.value&&s.value?.focus()}function Ae(e){F.value=!0}function je(e){if(!s.value?.$el.contains(e.relatedTarget)&&!e.currentTarget.contains(e.relatedTarget)){if(he(e))return;F.value=!1}}function Ne(e){if(e==null)S.value=[];else if(w(s.value,`:autofill`)||w(s.value,`:-webkit-autofill`)){let t=p.value.find(t=>t.title===e);t&&$(t)}else s.value&&(s.value.value=``)}return x(J,()=>{if(!n.hideSelected&&J.value&&S.value.length){let e=Ee();de&&!n.noAutoScroll&&window.requestAnimationFrame(()=>{e>=0&&f.value?.scrollToIndex(e)})}}),x(p,(e,t)=>{J.value||F.value&&n.hideNoData&&!t.length&&e.length&&(J.value=!0)}),G(()=>{let e=!!(n.chips||r.chip),i=!!(!n.hideNoData||W.value.length||r[`prepend-item`]||r[`append-item`]||r[`no-data`]),m=S.value.length>0,h=we.filterProps(n),x=m||!F.value&&n.label&&!n.persistentPlaceholder?void 0:n.placeholder,w={search:_,filteredItems:v.value};return Z(we,a({ref:s},h,{modelValue:S.value.map(e=>e.props.title).join(`, `),name:void 0,"onUpdate:modelValue":Ne,focused:F.value,"onUpdate:focused":e=>F.value=e,validationValue:S.externalValue,counterValue:D.value,dirty:m,class:[`v-select`,{"v-select--active-menu":J.value,"v-select--chips":!!n.chips,[`v-select--${n.multiple?`multiple`:`single`}`]:!0,"v-select--selected":S.value.length,"v-select--selection-slot":!!r.selection},n.class],style:n.style,inputmode:`none`,placeholder:x,"onClick:clear":_e,"onMousedown:control":ve,onBlur:Te,onKeydown:Se,"aria-expanded":ce.value,"aria-controls":ue.value}),{...r,default:({id:s})=>L(N,null,[L(`select`,{hidden:!0,multiple:n.multiple,name:j.fieldName.value},[p.value.map(e=>L(`option`,{key:e.value,value:e.value,selected:M.value.includes(e.value)},null))]),Z(ie,a({id:se.value,ref:c,modelValue:J.value,"onUpdate:modelValue":e=>J.value=e,activator:`parent`,disabled:K.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:n.transition,onAfterEnter:Oe,onAfterLeave:ke},fe.value,{contentClass:[`v-select__content`,fe.value.contentClass]}),{default:()=>[Z(le,{elevation:n.menuElevation,onFocusin:Ae,onFocusout:je,onKeydown:be},{default:()=>[r[`menu-header`]&&L(`header`,{ref:l},[r[`menu-header`](w)]),i&&Z(ne,a({key:`select-list`,ref:X,selected:M.value,selectStrategy:n.multiple?`independent`:`single-independent`,tabindex:`-1`,selectable:!!W.value.length,"aria-live":`polite`,"aria-labelledby":`${s.value}-label`,"aria-multiselectable":n.multiple,color:n.itemColor??n.color},me,n.listProps),{default:()=>[r[`prepend-item`]?.(),!W.value.length&&!n.hideNoData&&(r[`no-data`]?.()??Z(re,{key:`no-data`,title:o(n.noDataText)},null)),Z(He,{ref:f,renderless:!0,items:W.value,itemKey:`value`},{default:({item:e,index:i,itemRef:o})=>{let s=t(e.props),c=a(e.props,{ref:o,key:e.value,onClick:()=>$(e,null),"aria-posinset":i+1,"aria-setsize":W.value.length});return e.type===`divider`?r.divider?.({props:e.raw,index:i})??Z(pe,a(e.props,{key:`divider-${i}`}),null):e.type===`subheader`?r.subheader?.({props:e.raw,index:i})??Z(ae,a(e.props,{key:`subheader-${i}`}),null):r.item?.({item:e.raw,internalItem:e,index:i,props:c})??Z(re,a(c,{role:`option`}),{prepend:({isSelected:t})=>L(N,null,[n.multiple&&!n.hideSelected?Z(Me,{key:e.value,modelValue:t,ripple:!1,tabindex:`-1`,"aria-hidden":!0,onClick:e=>e.preventDefault()},null):void 0,s.prependAvatar&&Z(y,{image:s.prependAvatar},null),s.prependIcon&&Z(C,{icon:s.prependIcon},null)]),title:()=>_.value?Ze(`v-select`,e.title,b(e)?.title):e.title})}}),r[`append-item`]?.()]}),r[`menu-footer`]&&L(`footer`,{ref:d},[r[`menu-footer`](w)])]})]}),S.value.map((t,i)=>{function o(e){e.stopPropagation(),e.preventDefault(),$(t,!1)}let s=a(ge.filterProps(t.props),{"onClick:close":o,onKeydown(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),o(e))},onMousedown(e){e.preventDefault(),e.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),c=e?!!r.chip:!!r.selection,l=c?u(e?r.chip({item:t.raw,internalItem:t,index:i,props:s}):r.selection({item:t.raw,internalItem:t,index:i})):void 0;if(!(c&&!l))return L(`div`,{key:t.value,class:`v-select__selection`},[e?r.chip?Z(g,{key:`chip-defaults`,defaults:{VChip:{closable:R.value,size:`small`,text:t.title}}},{default:()=>[l]}):Z(ge,a({key:`chip`,closable:R.value,size:`small`,text:t.title,disabled:t.props.disabled},s),null):l??L(`span`,{class:`v-select__selection-text`},[t.title,n.multiple&&iL(N,null,[r[`append-inner`]?.(...e),n.menuIcon?Z(C,{class:`v-select__menu-icon`,color:s.value?.fieldIconColor,icon:n.menuIcon,"aria-hidden":!0},null):void 0,n.appendInnerIcon&&Z(z,{key:`append-icon`,name:`appendInner`,color:e[0].iconColor.value},null)])})}),oe({isFocused:F,menu:J,search:_,filteredItems:v,select:$},s)}});export{Je as a,We as c,Me as d,je as f,Te as g,De as h,Ze as i,Ue as l,Oe as m,et as n,Xe as o,Ae as p,$e as r,Ge as s,nt as t,He as u}; \ No newline at end of file diff --git a/web/app/assets/VSkeletonLoader-CkKVcJRy.js b/web/app/assets/VSkeletonLoader-CkKVcJRy.js deleted file mode 100644 index 6187a94c..00000000 --- a/web/app/assets/VSkeletonLoader-CkKVcJRy.js +++ /dev/null @@ -1 +0,0 @@ -import{n as e,t}from"./VRow-By04mHIT.js";import{Er as n,Ir as r,J as i,Pr as a,S as o,Sr as s,Ur as c,Ut as l,X as u,cn as d,dr as f,er as p,ft as m,gr as h,hr as g,ii as _,in as v,mr as y,oi as b,pn as x,pt as S,q as C,rn as w,st as T,vr as E,wn as D,xr as O,yn as k}from"./index-DawRgH7u.js";import{n as A,t as j}from"./VCard-rBfCdgX2.js";import{t as M}from"./_plugin-vue_export-helper-BDNMzG2s.js";function N(e){switch(e){case`online`:return`success`;case`offline`:return`error`;default:return`warning`}}function P(e){switch(e){case`online`:return`在线`;case`offline`:return`离线`;default:return`未知`}}function F(e){if(!e)return`—`;let t=l(e);if(!t)return`—`;let n=Date.now()-t.getTime();return n<6e4?`刚刚`:n<36e5?`${Math.floor(n/6e4)} 分钟前`:n<864e5?`${Math.floor(n/36e5)} 小时前`:`${Math.floor(n/864e5)} 天前`}var I={class:`text-caption text-medium-emphasis mb-1`,style:{"font-size":`14px`,"letter-spacing":`0.5px`,"text-transform":`uppercase`}},L=M(s({__name:`StatCardsRow`,props:{items:{}},setup(n){return(i,s)=>(a(),h(t,null,{default:c(()=>[(a(!0),E(f,null,r(n.items,(t,n)=>(a(),h(e,{key:n,cols:`6`,sm:`3`},{default:c(()=>[O(j,{elevation:`0`,rounded:`xl`,border:``,class:`stat-card`},{default:c(()=>[O(A,{class:`pa-4 d-flex align-center justify-space-between`},{default:c(()=>[g(`div`,null,[g(`div`,I,b(t.subtitle),1),g(`div`,{class:_([`font-weight-bold`,`text-`+t.color]),style:{"font-size":`36px`,"line-height":`1.1`}},b(t.title),3)]),O(o,{color:t.color,size:`48`,rounded:`lg`,class:`stat-icon`},{default:c(()=>[O(u,{icon:t.icon,size:`24`,color:`white`},null,8,[`icon`])]),_:2},1032,[`color`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))}}),[[`__scopeId`,`data-v-68b984da`]]),R={actions:`button@2`,article:`heading, paragraph`,avatar:`avatar`,button:`button`,card:`image, heading`,"card-avatar":`image, list-item-avatar`,chip:`chip`,"date-picker":`list-item, heading, divider, date-picker-options, date-picker-days, actions`,"date-picker-options":`text, avatar@2`,"date-picker-days":`avatar@28`,divider:`divider`,heading:`heading`,image:`image`,"list-item":`text`,"list-item-avatar":`avatar, text`,"list-item-two-line":`sentences`,"list-item-avatar-two-line":`avatar, sentences`,"list-item-three-line":`paragraph`,"list-item-avatar-three-line":`avatar, paragraph`,ossein:`ossein`,paragraph:`text@3`,sentences:`text@2`,subtitle:`text`,table:`table-heading, table-thead, table-tbody, table-tfoot`,"table-heading":`chip, text`,"table-thead":`heading@6`,"table-tbody":`table-row-divider@6`,"table-row-divider":`table-row, divider`,"table-row":`text@6`,"table-tfoot":`text@2, avatar@2`,text:`text`};function z(e,t=[]){return g(`div`,{class:_([`v-skeleton-loader__bone`,`v-skeleton-loader__${e}`])},[t])}function B(e){let[t,n]=e.split(`@`);return Array.from({length:n}).map(()=>V(t))}function V(e){let t=[];if(!e)return t;let n=R[e];if(e!==n){if(e.includes(`,`))return H(e);if(e.includes(`@`))return B(e);n.includes(`,`)?t=H(n):n.includes(`@`)?t=B(n):n&&t.push(V(n))}return[z(e,t)]}function H(e){return e.replace(/\s/g,``).split(`,`).map(V)}var U=D({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:`$vuetify.loading`},type:{type:[String,Array],default:`ossein`},...C(),...m(),...w()},`VSkeletonLoader`),W=k()({name:`VSkeletonLoader`,inheritAttrs:!1,props:U(),setup(e,{attrs:t,slots:r}){let{backgroundColorClasses:a,backgroundColorStyles:o}=T(()=>e.color),{dimensionStyles:s}=i(e),{elevationClasses:c}=S(e),{themeClasses:l}=v(e),{t:u}=d(),m=y(()=>V(p(e.type).join(`,`)));return x(()=>{let i=!r.default||e.loading,d=e.boilerplate||!i?{}:{ariaLive:`polite`,ariaLabel:u(e.loadingText),role:`alert`};return i?g(`div`,n({class:[`v-skeleton-loader`,{"v-skeleton-loader--boilerplate":e.boilerplate},l.value,a.value,c.value],style:[o.value,s.value]},d,t),[m.value]):g(f,null,[r.default?.()])}),{}}});export{P as a,N as i,L as n,F as r,W as t}; \ No newline at end of file diff --git a/web/app/assets/VSkeletonLoader-2DBPWC-b.js b/web/app/assets/VSkeletonLoader-vo9o5RDt.js similarity index 95% rename from web/app/assets/VSkeletonLoader-2DBPWC-b.js rename to web/app/assets/VSkeletonLoader-vo9o5RDt.js index 5285ad18..4ac3c6b8 100644 --- a/web/app/assets/VSkeletonLoader-2DBPWC-b.js +++ b/web/app/assets/VSkeletonLoader-vo9o5RDt.js @@ -1 +1 @@ -import{n as e,t}from"./VRow-Wg9QrEcV.js";import{Er as n,Ir as r,J as i,Pr as a,S as o,Sr as s,Ur as c,Ut as l,X as u,cn as d,dr as f,er as p,ft as m,gr as h,hr as g,ii as _,in as v,mr as y,oi as b,pn as x,pt as S,q as C,rn as w,st as T,vr as E,wn as D,xr as O,yn as k}from"./index-DZEQidkT.js";import{n as A,t as j}from"./VCard-DiTj681b.js";import{t as M}from"./_plugin-vue_export-helper-BDNMzG2s.js";function N(e){switch(e){case`online`:return`success`;case`offline`:return`error`;default:return`warning`}}function P(e){switch(e){case`online`:return`在线`;case`offline`:return`离线`;default:return`未知`}}function F(e){if(!e)return`—`;let t=l(e);if(!t)return`—`;let n=Date.now()-t.getTime();return n<6e4?`刚刚`:n<36e5?`${Math.floor(n/6e4)} 分钟前`:n<864e5?`${Math.floor(n/36e5)} 小时前`:`${Math.floor(n/864e5)} 天前`}var I={class:`text-caption text-medium-emphasis mb-1`,style:{"font-size":`14px`,"letter-spacing":`0.5px`,"text-transform":`uppercase`}},L=M(s({__name:`StatCardsRow`,props:{items:{}},setup(n){return(i,s)=>(a(),h(t,null,{default:c(()=>[(a(!0),E(f,null,r(n.items,(t,n)=>(a(),h(e,{key:n,cols:`6`,sm:`3`},{default:c(()=>[O(j,{elevation:`0`,rounded:`xl`,border:``,class:`stat-card`},{default:c(()=>[O(A,{class:`pa-4 d-flex align-center justify-space-between`},{default:c(()=>[g(`div`,null,[g(`div`,I,b(t.subtitle),1),g(`div`,{class:_([`font-weight-bold`,`text-`+t.color]),style:{"font-size":`36px`,"line-height":`1.1`}},b(t.title),3)]),O(o,{color:t.color,size:`48`,rounded:`lg`,class:`stat-icon`},{default:c(()=>[O(u,{icon:t.icon,size:`24`,color:`white`},null,8,[`icon`])]),_:2},1032,[`color`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))}}),[[`__scopeId`,`data-v-68b984da`]]),R={actions:`button@2`,article:`heading, paragraph`,avatar:`avatar`,button:`button`,card:`image, heading`,"card-avatar":`image, list-item-avatar`,chip:`chip`,"date-picker":`list-item, heading, divider, date-picker-options, date-picker-days, actions`,"date-picker-options":`text, avatar@2`,"date-picker-days":`avatar@28`,divider:`divider`,heading:`heading`,image:`image`,"list-item":`text`,"list-item-avatar":`avatar, text`,"list-item-two-line":`sentences`,"list-item-avatar-two-line":`avatar, sentences`,"list-item-three-line":`paragraph`,"list-item-avatar-three-line":`avatar, paragraph`,ossein:`ossein`,paragraph:`text@3`,sentences:`text@2`,subtitle:`text`,table:`table-heading, table-thead, table-tbody, table-tfoot`,"table-heading":`chip, text`,"table-thead":`heading@6`,"table-tbody":`table-row-divider@6`,"table-row-divider":`table-row, divider`,"table-row":`text@6`,"table-tfoot":`text@2, avatar@2`,text:`text`};function z(e,t=[]){return g(`div`,{class:_([`v-skeleton-loader__bone`,`v-skeleton-loader__${e}`])},[t])}function B(e){let[t,n]=e.split(`@`);return Array.from({length:n}).map(()=>V(t))}function V(e){let t=[];if(!e)return t;let n=R[e];if(e!==n){if(e.includes(`,`))return H(e);if(e.includes(`@`))return B(e);n.includes(`,`)?t=H(n):n.includes(`@`)?t=B(n):n&&t.push(V(n))}return[z(e,t)]}function H(e){return e.replace(/\s/g,``).split(`,`).map(V)}var U=D({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:`$vuetify.loading`},type:{type:[String,Array],default:`ossein`},...C(),...m(),...w()},`VSkeletonLoader`),W=k()({name:`VSkeletonLoader`,inheritAttrs:!1,props:U(),setup(e,{attrs:t,slots:r}){let{backgroundColorClasses:a,backgroundColorStyles:o}=T(()=>e.color),{dimensionStyles:s}=i(e),{elevationClasses:c}=S(e),{themeClasses:l}=v(e),{t:u}=d(),m=y(()=>V(p(e.type).join(`,`)));return x(()=>{let i=!r.default||e.loading,d=e.boilerplate||!i?{}:{ariaLive:`polite`,ariaLabel:u(e.loadingText),role:`alert`};return i?g(`div`,n({class:[`v-skeleton-loader`,{"v-skeleton-loader--boilerplate":e.boilerplate},l.value,a.value,c.value],style:[o.value,s.value]},d,t),[m.value]):g(f,null,[r.default?.()])}),{}}});export{P as a,N as i,L as n,F as r,W as t}; \ No newline at end of file +import{n as e,t}from"./VRow-Jrv7cE2K.js";import{Er as n,Ir as r,J as i,Pr as a,S as o,Sr as s,Ur as c,Ut as l,X as u,cn as d,dr as f,er as p,ft as m,gr as h,hr as g,ii as _,in as v,mr as y,oi as b,pn as x,pt as S,q as C,rn as w,st as T,vr as E,wn as D,xr as O,yn as k}from"./index-Bplw5zZe.js";import{n as A,t as j}from"./VCard-DwK3U69w.js";import{t as M}from"./_plugin-vue_export-helper-BDNMzG2s.js";function N(e){switch(e){case`online`:return`success`;case`offline`:return`error`;default:return`warning`}}function P(e){switch(e){case`online`:return`在线`;case`offline`:return`离线`;default:return`未知`}}function F(e){if(!e)return`—`;let t=l(e);if(!t)return`—`;let n=Date.now()-t.getTime();return n<6e4?`刚刚`:n<36e5?`${Math.floor(n/6e4)} 分钟前`:n<864e5?`${Math.floor(n/36e5)} 小时前`:`${Math.floor(n/864e5)} 天前`}var I={class:`text-caption text-medium-emphasis mb-1`,style:{"font-size":`14px`,"letter-spacing":`0.5px`,"text-transform":`uppercase`}},L=M(s({__name:`StatCardsRow`,props:{items:{}},setup(n){return(i,s)=>(a(),h(t,null,{default:c(()=>[(a(!0),E(f,null,r(n.items,(t,n)=>(a(),h(e,{key:n,cols:`6`,sm:`3`},{default:c(()=>[O(j,{elevation:`0`,rounded:`xl`,border:``,class:`stat-card`},{default:c(()=>[O(A,{class:`pa-4 d-flex align-center justify-space-between`},{default:c(()=>[g(`div`,null,[g(`div`,I,b(t.subtitle),1),g(`div`,{class:_([`font-weight-bold`,`text-`+t.color]),style:{"font-size":`36px`,"line-height":`1.1`}},b(t.title),3)]),O(o,{color:t.color,size:`48`,rounded:`lg`,class:`stat-icon`},{default:c(()=>[O(u,{icon:t.icon,size:`24`,color:`white`},null,8,[`icon`])]),_:2},1032,[`color`])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))}}),[[`__scopeId`,`data-v-68b984da`]]),R={actions:`button@2`,article:`heading, paragraph`,avatar:`avatar`,button:`button`,card:`image, heading`,"card-avatar":`image, list-item-avatar`,chip:`chip`,"date-picker":`list-item, heading, divider, date-picker-options, date-picker-days, actions`,"date-picker-options":`text, avatar@2`,"date-picker-days":`avatar@28`,divider:`divider`,heading:`heading`,image:`image`,"list-item":`text`,"list-item-avatar":`avatar, text`,"list-item-two-line":`sentences`,"list-item-avatar-two-line":`avatar, sentences`,"list-item-three-line":`paragraph`,"list-item-avatar-three-line":`avatar, paragraph`,ossein:`ossein`,paragraph:`text@3`,sentences:`text@2`,subtitle:`text`,table:`table-heading, table-thead, table-tbody, table-tfoot`,"table-heading":`chip, text`,"table-thead":`heading@6`,"table-tbody":`table-row-divider@6`,"table-row-divider":`table-row, divider`,"table-row":`text@6`,"table-tfoot":`text@2, avatar@2`,text:`text`};function z(e,t=[]){return g(`div`,{class:_([`v-skeleton-loader__bone`,`v-skeleton-loader__${e}`])},[t])}function B(e){let[t,n]=e.split(`@`);return Array.from({length:n}).map(()=>V(t))}function V(e){let t=[];if(!e)return t;let n=R[e];if(e!==n){if(e.includes(`,`))return H(e);if(e.includes(`@`))return B(e);n.includes(`,`)?t=H(n):n.includes(`@`)?t=B(n):n&&t.push(V(n))}return[z(e,t)]}function H(e){return e.replace(/\s/g,``).split(`,`).map(V)}var U=D({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:`$vuetify.loading`},type:{type:[String,Array],default:`ossein`},...C(),...m(),...w()},`VSkeletonLoader`),W=k()({name:`VSkeletonLoader`,inheritAttrs:!1,props:U(),setup(e,{attrs:t,slots:r}){let{backgroundColorClasses:a,backgroundColorStyles:o}=T(()=>e.color),{dimensionStyles:s}=i(e),{elevationClasses:c}=S(e),{themeClasses:l}=v(e),{t:u}=d(),m=y(()=>V(p(e.type).join(`,`)));return x(()=>{let i=!r.default||e.loading,d=e.boilerplate||!i?{}:{ariaLive:`polite`,ariaLabel:u(e.loadingText),role:`alert`};return i?g(`div`,n({class:[`v-skeleton-loader`,{"v-skeleton-loader--boilerplate":e.boilerplate},l.value,a.value,c.value],style:[o.value,s.value]},d,t),[m.value]):g(f,null,[r.default?.()])}),{}}});export{P as a,N as i,L as n,F as r,W as t}; \ No newline at end of file diff --git a/web/app/assets/VSwitch-TNXNpeZv.js b/web/app/assets/VSwitch-B9ytL2C4.js similarity index 92% rename from web/app/assets/VSwitch-TNXNpeZv.js rename to web/app/assets/VSwitch-B9ytL2C4.js index 280bed1a..92cd269d 100644 --- a/web/app/assets/VSwitch-TNXNpeZv.js +++ b/web/app/assets/VSwitch-B9ytL2C4.js @@ -1 +1 @@ -import{$r as e,A as t,Er as n,Q as r,Rn as i,U as a,V as o,X as s,Xr as c,Y as l,ai as u,dr as d,hr as f,ii as p,pn as m,r as h,rr as g,un as _,wn as v,xr as y,yn as b,zr as x}from"./index-DawRgH7u.js";import{m as S,p as C}from"./VSelect-XuQYQvJc.js";import{l as w,m as T,u as E}from"./VTextField-BZnszgeR.js";var D=v({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...E(),...S()},`VSwitch`),O=b()({name:`VSwitch`,inheritAttrs:!1,props:D(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(v,{attrs:b,slots:S}){let E=_(v,`indeterminate`),D=_(v,`modelValue`),{loaderClasses:O}=a(v),{isFocused:k,focus:A,blur:j}=T(v),M=c(),N=c(),P=g&&window.matchMedia(`(forced-colors: active)`).matches,F=e(()=>typeof v.loading==`string`&&v.loading!==``?v.loading:v.color),I=x(),L=e(()=>v.id||`switch-${I}`);function R(){E.value&&=!1}function z(e){e.stopPropagation(),e.preventDefault(),M.value?.input?.click()}return m(()=>{let[e,a]=i(b),c=w.filterProps(v),m=C.filterProps(v);return y(w,n({ref:N,class:[`v-switch`,{"v-switch--flat":v.flat},{"v-switch--inset":v.inset},{"v-switch--indeterminate":E.value},O.value,v.class]},e,c,{modelValue:D.value,"onUpdate:modelValue":e=>D.value=e,id:L.value,focused:k.value,style:v.style}),{...S,default:({id:e,messagesId:i,isDisabled:c,isReadonly:h,isValid:g})=>{let _={model:D,isValid:g};return y(C,n({ref:M},m,{modelValue:D.value,"onUpdate:modelValue":[e=>D.value=e,R],id:e.value,"aria-describedby":i.value,type:`checkbox`,"aria-checked":E.value?`mixed`:void 0,disabled:c.value,readonly:h.value,onFocus:A,onBlur:j},a),{...S,default:({backgroundColorClasses:e,backgroundColorStyles:t})=>f(`div`,{class:p([`v-switch__track`,P?void 0:e.value]),style:u(t.value),onClick:z},[S[`track-true`]&&f(`div`,{key:`prepend`,class:`v-switch__track-true`},[S[`track-true`](_)]),S[`track-false`]&&f(`div`,{key:`append`,class:`v-switch__track-false`},[S[`track-false`](_)])]),input:({inputNode:e,icon:n,backgroundColorClasses:i,backgroundColorStyles:a})=>f(d,null,[e,f(`div`,{class:p([`v-switch__thumb`,{"v-switch__thumb--filled":n||v.loading},v.inset||P?void 0:i.value]),style:u(v.inset?void 0:a.value)},[S.thumb?y(r,{defaults:{VIcon:{icon:n,size:`x-small`}}},{default:()=>[S.thumb({..._,icon:n})]}):y(t,null,{default:()=>[v.loading?y(o,{name:`v-switch`,active:!0,color:g.value===!1?void 0:F.value},{default:e=>S.loader?S.loader(e):y(l,{active:e.isActive,color:e.color,indeterminate:!0,size:`16`,width:`2`},null)}):n&&y(s,{key:String(n),icon:n,size:`x-small`},null)]})])])})}})}),h({},N)}});export{O as t}; \ No newline at end of file +import{$r as e,A as t,Er as n,Q as r,Rn as i,U as a,V as o,X as s,Xr as c,Y as l,ai as u,dr as d,hr as f,ii as p,pn as m,r as h,rr as g,un as _,wn as v,xr as y,yn as b,zr as x}from"./index-Bplw5zZe.js";import{m as S,p as C}from"./VSelect-C2IkZQ4Y.js";import{l as w,m as T,u as E}from"./VTextField-DVnxh9lX.js";var D=v({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...E(),...S()},`VSwitch`),O=b()({name:`VSwitch`,inheritAttrs:!1,props:D(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(v,{attrs:b,slots:S}){let E=_(v,`indeterminate`),D=_(v,`modelValue`),{loaderClasses:O}=a(v),{isFocused:k,focus:A,blur:j}=T(v),M=c(),N=c(),P=g&&window.matchMedia(`(forced-colors: active)`).matches,F=e(()=>typeof v.loading==`string`&&v.loading!==``?v.loading:v.color),I=x(),L=e(()=>v.id||`switch-${I}`);function R(){E.value&&=!1}function z(e){e.stopPropagation(),e.preventDefault(),M.value?.input?.click()}return m(()=>{let[e,a]=i(b),c=w.filterProps(v),m=C.filterProps(v);return y(w,n({ref:N,class:[`v-switch`,{"v-switch--flat":v.flat},{"v-switch--inset":v.inset},{"v-switch--indeterminate":E.value},O.value,v.class]},e,c,{modelValue:D.value,"onUpdate:modelValue":e=>D.value=e,id:L.value,focused:k.value,style:v.style}),{...S,default:({id:e,messagesId:i,isDisabled:c,isReadonly:h,isValid:g})=>{let _={model:D,isValid:g};return y(C,n({ref:M},m,{modelValue:D.value,"onUpdate:modelValue":[e=>D.value=e,R],id:e.value,"aria-describedby":i.value,type:`checkbox`,"aria-checked":E.value?`mixed`:void 0,disabled:c.value,readonly:h.value,onFocus:A,onBlur:j},a),{...S,default:({backgroundColorClasses:e,backgroundColorStyles:t})=>f(`div`,{class:p([`v-switch__track`,P?void 0:e.value]),style:u(t.value),onClick:z},[S[`track-true`]&&f(`div`,{key:`prepend`,class:`v-switch__track-true`},[S[`track-true`](_)]),S[`track-false`]&&f(`div`,{key:`append`,class:`v-switch__track-false`},[S[`track-false`](_)])]),input:({inputNode:e,icon:n,backgroundColorClasses:i,backgroundColorStyles:a})=>f(d,null,[e,f(`div`,{class:p([`v-switch__thumb`,{"v-switch__thumb--filled":n||v.loading},v.inset||P?void 0:i.value]),style:u(v.inset?void 0:a.value)},[S.thumb?y(r,{defaults:{VIcon:{icon:n,size:`x-small`}}},{default:()=>[S.thumb({..._,icon:n})]}):y(t,null,{default:()=>[v.loading?y(o,{name:`v-switch`,active:!0,color:g.value===!1?void 0:F.value},{default:e=>S.loader?S.loader(e):y(l,{active:e.isActive,color:e.color,indeterminate:!0,size:`16`,width:`2`},null)}):n&&y(s,{key:String(n),icon:n,size:`x-small`},null)]})])])})}})}),h({},N)}});export{O as t}; \ No newline at end of file diff --git a/web/app/assets/VSwitch-fZMfBV9n.js b/web/app/assets/VSwitch-fZMfBV9n.js deleted file mode 100644 index 54745863..00000000 --- a/web/app/assets/VSwitch-fZMfBV9n.js +++ /dev/null @@ -1 +0,0 @@ -import{$r as e,A as t,Er as n,Q as r,Rn as i,U as a,V as o,X as s,Xr as c,Y as l,ai as u,dr as d,hr as f,ii as p,pn as m,r as h,rr as g,un as _,wn as v,xr as y,yn as b,zr as x}from"./index-DZEQidkT.js";import{m as S,p as C}from"./VSelect-CzNpj4qJ.js";import{l as w,m as T,u as E}from"./VTextField-CvZimSXQ.js";var D=v({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...E(),...S()},`VSwitch`),O=b()({name:`VSwitch`,inheritAttrs:!1,props:D(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(v,{attrs:b,slots:S}){let E=_(v,`indeterminate`),D=_(v,`modelValue`),{loaderClasses:O}=a(v),{isFocused:k,focus:A,blur:j}=T(v),M=c(),N=c(),P=g&&window.matchMedia(`(forced-colors: active)`).matches,F=e(()=>typeof v.loading==`string`&&v.loading!==``?v.loading:v.color),I=x(),L=e(()=>v.id||`switch-${I}`);function R(){E.value&&=!1}function z(e){e.stopPropagation(),e.preventDefault(),M.value?.input?.click()}return m(()=>{let[e,a]=i(b),c=w.filterProps(v),m=C.filterProps(v);return y(w,n({ref:N,class:[`v-switch`,{"v-switch--flat":v.flat},{"v-switch--inset":v.inset},{"v-switch--indeterminate":E.value},O.value,v.class]},e,c,{modelValue:D.value,"onUpdate:modelValue":e=>D.value=e,id:L.value,focused:k.value,style:v.style}),{...S,default:({id:e,messagesId:i,isDisabled:c,isReadonly:h,isValid:g})=>{let _={model:D,isValid:g};return y(C,n({ref:M},m,{modelValue:D.value,"onUpdate:modelValue":[e=>D.value=e,R],id:e.value,"aria-describedby":i.value,type:`checkbox`,"aria-checked":E.value?`mixed`:void 0,disabled:c.value,readonly:h.value,onFocus:A,onBlur:j},a),{...S,default:({backgroundColorClasses:e,backgroundColorStyles:t})=>f(`div`,{class:p([`v-switch__track`,P?void 0:e.value]),style:u(t.value),onClick:z},[S[`track-true`]&&f(`div`,{key:`prepend`,class:`v-switch__track-true`},[S[`track-true`](_)]),S[`track-false`]&&f(`div`,{key:`append`,class:`v-switch__track-false`},[S[`track-false`](_)])]),input:({inputNode:e,icon:n,backgroundColorClasses:i,backgroundColorStyles:a})=>f(d,null,[e,f(`div`,{class:p([`v-switch__thumb`,{"v-switch__thumb--filled":n||v.loading},v.inset||P?void 0:i.value]),style:u(v.inset?void 0:a.value)},[S.thumb?y(r,{defaults:{VIcon:{icon:n,size:`x-small`}}},{default:()=>[S.thumb({..._,icon:n})]}):y(t,null,{default:()=>[v.loading?y(o,{name:`v-switch`,active:!0,color:g.value===!1?void 0:F.value},{default:e=>S.loader?S.loader(e):y(l,{active:e.isActive,color:e.color,indeterminate:!0,size:`16`,width:`2`},null)}):n&&y(s,{key:String(n),icon:n,size:`x-small`},null)]})])])})}})}),h({},N)}});export{O as t}; \ No newline at end of file diff --git a/web/app/assets/VTextField-CvZimSXQ.js b/web/app/assets/VTextField-CvZimSXQ.js deleted file mode 100644 index ef4c3771..00000000 --- a/web/app/assets/VTextField-CvZimSXQ.js +++ /dev/null @@ -1 +0,0 @@ -import{$n as e,$r as t,Ar as n,Cn as r,D as i,Dn as a,Dr as o,E as s,En as c,Er as l,Fr as u,H as d,J as f,Kr as p,Mr as m,Nn as h,On as g,Q as _,Qn as v,Rn as y,Sn as b,T as x,Tn as S,U as C,V as w,Vr as T,Wr as E,X as D,Xr as O,Zr as k,ai as A,ar as j,cn as ee,cr as te,ct as ne,dn as M,dr as N,dt as re,er as P,fn as F,hn as ie,hr as I,ht as L,ii as R,in as ae,j as z,k as oe,kn as B,kr as se,ln as ce,mr as V,mt as le,ni as H,nr as ue,pn as U,pr as W,q as G,r as de,rn as K,st as fe,un as q,ut as pe,wn as J,wr as me,xn as he,xr as Y,yn as X,zr as Z}from"./index-DZEQidkT.js";var ge=J({text:String,onClick:g(),...r(),...K()},`VLabel`),_e=X()({name:`VLabel`,props:ge(),setup(e,{slots:t}){return U(()=>I(`label`,{class:R([`v-label`,{"v-label--clickable":!!e.onClick},e.class]),style:A(e.style),onClick:e.onClick},[e.text,t.default?.()])),{}}});function ve(e){let{t}=ee();function n({name:n,color:r,...i}){let a={prepend:`prependAction`,prependInner:`prependAction`,append:`appendAction`,appendInner:`appendAction`,clear:`clear`}[n],o=e[`onClick:${n}`];function s(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),B(o,new PointerEvent(`click`,e)))}let c=o&&a?t(`$vuetify.input.${a}`,e.label??``):void 0;return Y(D,l({icon:e[`${n}Icon`],"aria-label":c,onClick:o,onKeydown:s,color:r},i),null)}return{InputIcon:n}}var ye=J({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...r(),...i({transition:{component:z,leaveAbsolute:!0,group:!0}})},`VMessages`),be=X()({name:`VMessages`,props:ye(),setup(e,{slots:t}){let n=V(()=>P(e.messages)),{textColorClasses:r,textColorStyles:i}=ne(()=>e.color);return U(()=>Y(s,{transition:e.transition,tag:`div`,class:R([`v-messages`,r.value,e.class]),style:A([i.value,e.style])},{default:()=>[e.active&&n.value.map((e,r)=>I(`div`,{class:`v-messages__message`,key:`${r}-${n.value}`},[t.message?t.message({message:e}):e]))]})),{}}}),xe=J({focused:Boolean,"onUpdate:focused":g()},`focus`);function Se(e,n=b()){let r=q(e,`focused`),i=t(()=>({[`${n}--focused`]:r.value}));function a(){r.value=!0}function o(){r.value=!1}return{focusClasses:i,isFocused:r,focus:a,blur:o}}var Ce=Symbol.for(`vuetify:form`),we=J({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:`input`}},`form`);function Te(e){let n=q(e,`modelValue`),r=t(()=>e.disabled),i=t(()=>e.readonly),a=k(!1),o=O([]),s=O([]);async function c(){let t=[],n=!0;s.value=[],a.value=!0;for(let r of o.value){let i=await r.validate();if(i.length>0&&(n=!1,t.push({id:r.id,errorMessages:i})),!n&&e.fastFail)break}return s.value=t,a.value=!1,{valid:n,errors:s.value}}function l(){o.value.forEach(e=>e.reset())}function d(){o.value.forEach(e=>e.resetValidation())}return T(o,()=>{let e=0,t=0,r=[];for(let n of o.value)n.isValid===!1?(t++,r.push({id:n.id,errorMessages:n.errorMessages})):n.isValid===!0&&e++;s.value=r,n.value=t>0?!1:e===o.value.length?!0:null},{deep:!0,flush:`post`}),u(Ce,{register:({id:e,vm:t,validate:n,reset:r,resetValidation:i})=>{o.value.some(t=>t.id===e)&&j(`Duplicate input name "${e}"`),o.value.push({id:e,validate:n,reset:r,resetValidation:i,vm:p(t),isValid:null,errorMessages:[]})},unregister:e=>{o.value=o.value.filter(t=>t.id!==e)},update:(e,t,n)=>{let r=o.value.find(t=>t.id===e);r&&(r.isValid=t,r.errorMessages=n)},isDisabled:r,isReadonly:i,isValidating:a,isValid:n,items:o,validateOn:t(()=>e.validateOn)}),{errors:s,isDisabled:r,isReadonly:i,isValidating:a,isValid:n,items:o,validate:c,reset:l,resetValidation:d}}function Ee(e){let t=me(Ce,null);return{...t,isReadonly:V(()=>!!(e?.readonly??t?.isReadonly.value)),isDisabled:V(()=>!!(e?.disabled??t?.isDisabled.value))}}var De=Symbol.for(`vuetify:rules`);function Oe(e){let n=me(De,null);if(!e){if(!n)throw Error(`Could not find Vuetify rules injection`);return n.aliases}return n?.resolve(e)??t(e)}var ke=J({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...xe()},`validation`);function Ae(e,t=b(),r=Z()){let i=q(e,`modelValue`),a=V(()=>e.validationValue===void 0?i.value:e.validationValue),s=Ee(e),c=Oe(()=>e.rules),l=O([]),u=k(!0),d=V(()=>!!(P(i.value===``?null:i.value).length||P(a.value===``?null:a.value).length)),f=V(()=>e.errorMessages?.length?P(e.errorMessages).concat(l.value).slice(0,Math.max(0,Number(e.maxErrors))):l.value),p=V(()=>{let t=(e.validateOn??s.validateOn?.value)||`input`;t===`lazy`&&(t=`input lazy`),t===`eager`&&(t=`input eager`);let n=new Set(t?.split(` `)??[]);return{input:n.has(`input`),blur:n.has(`blur`)||n.has(`input`)||n.has(`invalid-input`),invalidInput:n.has(`invalid-input`),lazy:n.has(`lazy`),eager:n.has(`eager`)}}),h=V(()=>e.error||e.errorMessages?.length?!1:e.rules.length?u.value?l.value.length||p.value.lazy?null:!0:!l.value.length:!0),g=k(!1),_=V(()=>({[`${t}--error`]:h.value===!1,[`${t}--dirty`]:d.value,[`${t}--disabled`]:s.isDisabled.value,[`${t}--readonly`]:s.isReadonly.value})),v=he(`validation`),y=V(()=>e.name??H(r));se(()=>{s.register?.({id:y.value,vm:v,validate:C,reset:x,resetValidation:S})}),n(()=>{s.unregister?.(y.value)}),m(async()=>{p.value.lazy||await C(!p.value.eager),s.update?.(y.value,h.value,f.value)}),M(()=>p.value.input||p.value.invalidInput&&h.value===!1,()=>{T(a,()=>{if(a.value!=null)C();else if(e.focused){let t=T(()=>e.focused,e=>{e||C(),t()})}})}),M(()=>p.value.blur,()=>{T(()=>e.focused,e=>{e||C()})}),T([h,f],()=>{s.update?.(y.value,h.value,f.value)});async function x(){i.value=null,await o(),await S()}async function S(){u.value=!0,p.value.lazy?l.value=[]:await C(!p.value.eager)}async function C(t=!1){let n=[];g.value=!0;for(let t of c.value){if(n.length>=Number(e.maxErrors??1))break;let r=await(typeof t==`function`?t:()=>t)(a.value);if(r!==!0){if(r!==!1&&typeof r!=`string`){console.warn(`${r} is not a valid value. Rule functions must return boolean true or a string.`);continue}n.push(r||``)}}return l.value=n,g.value=!1,u.value=t,l.value}return{errorMessages:f,isDirty:d,isDisabled:s.isDisabled,isReadonly:s.isReadonly,isPristine:u,isValid:h,isValidating:g,reset:x,resetValidation:S,validate:C,validationClasses:_}}var je=J({id:String,appendIcon:F,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:F,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,indentDetails:{type:Boolean,default:null},persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:`horizontal`,validator:e=>[`horizontal`,`vertical`].includes(e)},"onClick:prepend":g(),"onClick:append":g(),...r(),...le(),...e(G(),[`maxWidth`,`minWidth`,`width`]),...K(),...ke()},`VInput`),Me=X()({name:`VInput`,props:{...je()},emits:{"update:modelValue":e=>!0},setup(e,{attrs:n,slots:r,emit:i}){let{densityClasses:a}=L(e),{dimensionStyles:o}=f(e),{themeClasses:s}=ae(e),{rtlClasses:c}=ce(),{InputIcon:l}=ve(e),u=Z(),d=V(()=>e.id||`input-${u}`),{errorMessages:p,isDirty:m,isDisabled:h,isReadonly:g,isPristine:_,isValid:v,isValidating:y,reset:b,resetValidation:x,validate:S,validationClasses:C}=Ae(e,`v-input`,d),w=V(()=>e.errorMessages?.length||!_.value&&p.value.length?p.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages),T=t(()=>w.value.length>0),E=t(()=>!e.hideDetails||e.hideDetails===`auto`&&(T.value||!!r.details)),D=V(()=>E.value?`${d.value}-messages`:void 0),O=V(()=>({id:d,messagesId:D,isDirty:m,isDisabled:h,isReadonly:g,isPristine:_,isValid:v,isValidating:y,hasDetails:E,reset:b,resetValidation:x,validate:S})),k=t(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),j=t(()=>{if(e.iconColor)return e.iconColor===!0?k.value:e.iconColor});return U(()=>{let t=!!(r.prepend||e.prependIcon),n=!!(r.append||e.appendIcon);return I(`div`,{class:R([`v-input`,`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons,"v-input--indent-details":e.indentDetails},a.value,s.value,c.value,C.value,e.class]),style:A([o.value,e.style])},[t&&I(`div`,{key:`prepend`,class:`v-input__prepend`},[r.prepend?r.prepend(O.value):e.prependIcon&&Y(l,{key:`prepend-icon`,name:`prepend`,color:j.value},null)]),r.default&&I(`div`,{class:`v-input__control`},[r.default?.(O.value)]),n&&I(`div`,{key:`append`,class:`v-input__append`},[r.append?r.append(O.value):e.appendIcon&&Y(l,{key:`append-icon`,name:`append`,color:j.value},null)]),E.value&&I(`div`,{id:D.value,class:`v-input__details`,role:`alert`,"aria-live":`polite`},[Y(be,{active:T.value,messages:w.value},{message:r.message}),r.details?.(O.value)])])}),{reset:b,resetValidation:x,validate:S,isValid:v,errorMessages:p}}}),Ne=J({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...r(),...i({transition:{component:z}})},`VCounter`),Pe=X()({name:`VCounter`,functional:!0,props:Ne(),setup(e,{slots:n}){let r=t(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return U(()=>Y(s,{transition:e.transition},{default:()=>[E(I(`div`,{class:R([`v-counter`,{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:A(e.style)},[n.default?n.default({counter:r.value,max:e.max,value:e.value}):r.value]),[[te,e.active]])]})),{}}}),Fe=J({floating:Boolean,...r()},`VFieldLabel`),Q=X()({name:`VFieldLabel`,props:Fe(),setup(e,{slots:t}){return U(()=>Y(_e,{class:R([`v-field-label`,{"v-field-label--floating":e.floating},e.class]),style:A(e.style)},t)),{}}}),Ie=[`underlined`,`outlined`,`filled`,`solo`,`solo-inverted`,`solo-filled`,`plain`],Le=J({appendInnerIcon:F,bgColor:String,clearable:Boolean,clearIcon:{type:F,default:`$clear`},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:F,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:`filled`,validator:e=>Ie.includes(e)},"onClick:clear":g(),"onClick:appendInner":g(),"onClick:prependInner":g(),...r(),...d(),...pe(),...K()},`VField`),$=X()({name:`VField`,inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...xe(),...Le()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:n,emit:r,slots:i}){let{themeClasses:o}=ae(e),{loaderClasses:s}=C(e),{focusClasses:u,isFocused:d,focus:f,blur:p}=Se(e),{InputIcon:m}=ve(e),{roundedClasses:g}=re(e),{rtlClasses:v}=ce(),y=t(()=>e.dirty||e.active),b=t(()=>!!(e.label||i.label)),x=t(()=>!e.singleLine&&b.value),D=Z(),k=V(()=>e.id||`input-${D}`),j=t(()=>e.details?`${k.value}-messages`:void 0),ee=O(),M=O(),P=O(),F=V(()=>[`plain`,`underlined`].includes(e.variant)),L=V(()=>e.error||e.disabled?void 0:y.value&&d.value?e.color:e.baseColor),z=V(()=>{if(e.iconColor===!0||!e.iconColor&&e.glow&&d.value)return L.value;if(!(!e.iconColor||e.glow&&!d.value))return e.iconColor}),{backgroundColorClasses:B,backgroundColorStyles:se}=fe(()=>e.bgColor),{textColorClasses:le,textColorStyles:H}=ne(L);T(y,e=>{if(x.value&&!ue()){let t=ee.value.$el,n=M.value.$el;requestAnimationFrame(()=>{let r=c(t),i=new a(n),o=i.x-r.x,s=i.y-r.y-(r.height/2-i.height/2),l=i.width/.75,u=Math.abs(l-r.width)>1?{maxWidth:h(l)}:void 0,d=getComputedStyle(t),f=getComputedStyle(n),p=parseFloat(d.transitionDuration)*1e3||150,m=parseFloat(f.getPropertyValue(`--v-field-label-scale`)),g=f.getPropertyValue(`color`);t.style.visibility=`visible`,n.style.visibility=`hidden`,S(t,{transform:`translate(${o}px, ${s}px) scale(${m})`,color:g,...u},{duration:p,easing:ie,direction:e?`normal`:`reverse`}).finished.then(()=>{t.style.removeProperty(`visibility`),n.style.removeProperty(`visibility`)})})}},{flush:`post`});let W=V(()=>({isActive:y,isFocused:d,controlRef:P,iconColor:z,blur:p,focus:f})),G=t(()=>{let e=!y.value;return{"aria-hidden":e,for:e?void 0:k.value}}),de=t(()=>{let e=x.value&&y.value;return{"aria-hidden":e,for:e?void 0:k.value}});function K(e){e.target!==document.activeElement&&e.preventDefault()}return U(()=>{let t=e.variant===`outlined`,r=!!(i[`prepend-inner`]||e.prependInnerIcon),a=!!(e.clearable||i.clear)&&!e.disabled,c=!!(i[`append-inner`]||e.appendInnerIcon||a),d=()=>i.label?i.label({...W.value,label:e.label,props:{for:k.value}}):e.label;return I(`div`,l({class:[`v-field`,{"v-field--active":y.value,"v-field--appended":c,"v-field--center-affix":e.centerAffix??!F.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":r,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!d(),[`v-field--variant-${e.variant}`]:!0},o.value,B.value,u.value,s.value,g.value,v.value,e.class],style:[se.value,e.style],onClick:K},n),[I(`div`,{class:`v-field__overlay`},null),Y(w,{name:`v-field`,active:!!e.loading,color:e.error?`error`:typeof e.loading==`string`?e.loading:e.color},{default:i.loader}),r&&I(`div`,{key:`prepend`,class:`v-field__prepend-inner`},[i[`prepend-inner`]?i[`prepend-inner`](W.value):e.prependInnerIcon&&Y(m,{key:`prepend-icon`,name:`prependInner`,color:z.value},null)]),I(`div`,{class:`v-field__field`,"data-no-activator":``},[[`filled`,`solo`,`solo-inverted`,`solo-filled`].includes(e.variant)&&x.value&&Y(Q,l({key:`floating-label`,ref:M,class:[le.value],floating:!0},G.value,{style:H.value}),{default:()=>[d()]}),b.value&&Y(Q,l({key:`label`,ref:ee,id:e.labelId},de.value),{default:()=>[d()]}),i.default?.({...W.value,props:{id:k.value,class:`v-field__input`,"aria-describedby":j.value},focus:f,blur:p})??I(`div`,{id:k.value,class:`v-field__input`,"aria-describedby":j.value},null)]),a&&Y(oe,{key:`clear`},{default:()=>[E(I(`div`,{class:`v-field__clearable`,onMousedown:e=>{e.preventDefault(),e.stopPropagation()}},[Y(_,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[i.clear?i.clear({...W.value,props:{onFocus:f,onBlur:p,onClick:e[`onClick:clear`],tabindex:-1}}):Y(m,{name:`clear`,onFocus:f,onBlur:p,tabindex:-1},null)]})]),[[te,e.dirty]])]}),c&&I(`div`,{key:`append`,class:`v-field__append-inner`},[i[`append-inner`]?i[`append-inner`](W.value):e.appendInnerIcon&&Y(m,{key:`append-icon`,name:`appendInner`,color:z.value},null)]),I(`div`,{class:R([`v-field__outline`,le.value]),style:A(H.value)},[t&&I(N,null,[I(`div`,{class:`v-field__outline__start`},null),x.value&&I(`div`,{class:`v-field__outline__notch`},[Y(Q,l({ref:M,floating:!0},G.value),{default:()=>[d()]})]),I(`div`,{class:`v-field__outline__end`},null)]),F.value&&x.value&&Y(Q,l({ref:M,floating:!0},G.value),{default:()=>[d()]})])])}),{controlRef:P,fieldIconColor:z}}}),Re=J({autocomplete:String},`autocomplete`);function ze(e){let n=Z(),r=k(0),i=t(()=>e.autocomplete===`suppress`),a=t(()=>{if(e.name)return i.value?`${e.name}-${n}-${r.value}`:e.name});return{isSuppressing:i,fieldAutocomplete:t(()=>i.value?`off`:e.autocomplete),fieldName:a,update:()=>r.value=new Date().getTime()}}function Be(e){function t(t,n){if(!e.autofocus||!t)return;let r=n[0].target;(r.matches(`input,textarea`)?r:r.querySelector(`input,textarea`))?.focus()}return{onIntersect:t}}var Ve=[`color`,`file`,`time`,`date`,`datetime-local`,`week`,`month`],He=J({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:`text`},modelModifiers:Object,...Re(),...v(je(),[`direction`]),...Le()},`VTextField`),Ue=X()({name:`VTextField`,directives:{vIntersect:x},inheritAttrs:!1,props:He(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let i=q(e,`modelValue`,void 0,e=>Object.is(e,-0)?`-0`:e),{isFocused:a,focus:s,blur:c}=Se(e),{onIntersect:u}=Be(e),d=V(()=>typeof e.counterValue==`function`?e.counterValue(i.value):typeof e.counterValue==`number`?e.counterValue:(i.value??``).toString().length),f=V(()=>{if(t.maxlength)return t.maxlength;if(!(!e.counter||typeof e.counter!=`number`&&typeof e.counter!=`string`))return e.counter}),p=V(()=>[`plain`,`underlined`].includes(e.variant)),m=O(),h=O(),g=O(),_=ze(e),b=V(()=>Ve.includes(e.type)||e.persistentPlaceholder||a.value||e.active);function S(){_.isSuppressing.value&&_.update(),a.value||s(),o(()=>{g.value!==document.activeElement&&g.value?.focus()})}function C(e){n(`mousedown:control`,e),e.target!==g.value&&(S(),e.preventDefault())}function w(e){n(`click:control`,e)}function T(t,n){t.stopPropagation(),S(),o(()=>{n(),B(e[`onClick:clear`],t)})}function D(t){let n=t.target;if(!(e.modelModifiers?.trim&&[`text`,`search`,`password`,`tel`,`url`].includes(e.type))){i.value=n.value;return}let r=n.value,a=n.selectionStart,s=n.selectionEnd;i.value=r,o(()=>{let e=0;r.trimStart().length===n.value.length&&(e=r.length-n.value.length),a!=null&&(n.selectionStart=a-e),s!=null&&(n.selectionEnd=s-e)})}return U(()=>{let n=!!(r.counter||e.counter!==!1&&e.counter!=null),o=!!(n||r.details),[S,O]=y(t),{modelValue:k,...A}=Me.filterProps(e),j=$.filterProps(e);return Y(Me,l({ref:m,modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-text-field`,{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":p.value},e.class],style:e.style},S,A,{centerAffix:!p.value,focused:a.value,indentDetails:e.indentDetails??!p.value}),{...r,default:({id:t,isDisabled:n,isDirty:o,isReadonly:d,isValid:f,hasDetails:p,reset:m})=>Y($,l({ref:h,onMousedown:C,onClick:w,"onClick:clear":e=>T(e,m),role:e.role},v(j,[`onClick:clear`]),{id:t.value,labelId:`${t.value}-label`,active:b.value||o.value,dirty:o.value||e.dirty,disabled:n.value,focused:a.value,details:p.value,error:f.value===!1}),{...r,default:({props:{class:a,...o},controlRef:f})=>{let p=I(`input`,l({ref:e=>g.value=f.value=e,value:i.value,onInput:D,autofocus:e.autofocus,readonly:d.value,disabled:n.value,name:_.fieldName.value,autocomplete:_.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:s,onBlur:c,"aria-labelledby":`${t.value}-label`},o,O),null);return I(N,null,[e.prefix&&I(`span`,{class:`v-text-field__prefix`},[I(`span`,{class:`v-text-field__prefix__text`},[e.prefix])]),E(r.default?I(`div`,{class:R(a),"data-no-activator":``},[r.default({id:t}),p]):W(p,{class:a}),[[x,u,null,{once:!0}]]),e.suffix&&I(`span`,{class:`v-text-field__suffix`},[I(`span`,{class:`v-text-field__suffix__text`},[e.suffix])])])}}),details:o?t=>I(N,null,[r.details?.(t),n&&I(N,null,[I(`span`,null,null),Y(Pe,{active:e.persistentCounter||a.value,value:d.value,max:f.value,disabled:e.disabled},r.counter)])]):void 0})}),de({},m,h,g)}});export{ze as a,Pe as c,Te as d,we as f,_e as g,ve as h,Re as i,Me as l,Se as m,He as n,$ as o,Ee as p,Be as r,Le as s,Ue as t,je as u}; \ No newline at end of file diff --git a/web/app/assets/VTextField-BZnszgeR.js b/web/app/assets/VTextField-DVnxh9lX.js similarity index 99% rename from web/app/assets/VTextField-BZnszgeR.js rename to web/app/assets/VTextField-DVnxh9lX.js index 47829757..e80c0007 100644 --- a/web/app/assets/VTextField-BZnszgeR.js +++ b/web/app/assets/VTextField-DVnxh9lX.js @@ -1 +1 @@ -import{$n as e,$r as t,Ar as n,Cn as r,D as i,Dn as a,Dr as o,E as s,En as c,Er as l,Fr as u,H as d,J as f,Kr as p,Mr as m,Nn as h,On as g,Q as _,Qn as v,Rn as y,Sn as b,T as x,Tn as S,U as C,V as w,Vr as T,Wr as E,X as D,Xr as O,Zr as k,ai as A,ar as j,cn as ee,cr as te,ct as ne,dn as M,dr as N,dt as re,er as P,fn as F,hn as ie,hr as I,ht as L,ii as R,in as ae,j as z,k as oe,kn as B,kr as se,ln as ce,mr as V,mt as le,ni as H,nr as ue,pn as U,pr as W,q as G,r as de,rn as K,st as fe,un as q,ut as pe,wn as J,wr as me,xn as he,xr as Y,yn as X,zr as Z}from"./index-DawRgH7u.js";var ge=J({text:String,onClick:g(),...r(),...K()},`VLabel`),_e=X()({name:`VLabel`,props:ge(),setup(e,{slots:t}){return U(()=>I(`label`,{class:R([`v-label`,{"v-label--clickable":!!e.onClick},e.class]),style:A(e.style),onClick:e.onClick},[e.text,t.default?.()])),{}}});function ve(e){let{t}=ee();function n({name:n,color:r,...i}){let a={prepend:`prependAction`,prependInner:`prependAction`,append:`appendAction`,appendInner:`appendAction`,clear:`clear`}[n],o=e[`onClick:${n}`];function s(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),B(o,new PointerEvent(`click`,e)))}let c=o&&a?t(`$vuetify.input.${a}`,e.label??``):void 0;return Y(D,l({icon:e[`${n}Icon`],"aria-label":c,onClick:o,onKeydown:s,color:r},i),null)}return{InputIcon:n}}var ye=J({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...r(),...i({transition:{component:z,leaveAbsolute:!0,group:!0}})},`VMessages`),be=X()({name:`VMessages`,props:ye(),setup(e,{slots:t}){let n=V(()=>P(e.messages)),{textColorClasses:r,textColorStyles:i}=ne(()=>e.color);return U(()=>Y(s,{transition:e.transition,tag:`div`,class:R([`v-messages`,r.value,e.class]),style:A([i.value,e.style])},{default:()=>[e.active&&n.value.map((e,r)=>I(`div`,{class:`v-messages__message`,key:`${r}-${n.value}`},[t.message?t.message({message:e}):e]))]})),{}}}),xe=J({focused:Boolean,"onUpdate:focused":g()},`focus`);function Se(e,n=b()){let r=q(e,`focused`),i=t(()=>({[`${n}--focused`]:r.value}));function a(){r.value=!0}function o(){r.value=!1}return{focusClasses:i,isFocused:r,focus:a,blur:o}}var Ce=Symbol.for(`vuetify:form`),we=J({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:`input`}},`form`);function Te(e){let n=q(e,`modelValue`),r=t(()=>e.disabled),i=t(()=>e.readonly),a=k(!1),o=O([]),s=O([]);async function c(){let t=[],n=!0;s.value=[],a.value=!0;for(let r of o.value){let i=await r.validate();if(i.length>0&&(n=!1,t.push({id:r.id,errorMessages:i})),!n&&e.fastFail)break}return s.value=t,a.value=!1,{valid:n,errors:s.value}}function l(){o.value.forEach(e=>e.reset())}function d(){o.value.forEach(e=>e.resetValidation())}return T(o,()=>{let e=0,t=0,r=[];for(let n of o.value)n.isValid===!1?(t++,r.push({id:n.id,errorMessages:n.errorMessages})):n.isValid===!0&&e++;s.value=r,n.value=t>0?!1:e===o.value.length?!0:null},{deep:!0,flush:`post`}),u(Ce,{register:({id:e,vm:t,validate:n,reset:r,resetValidation:i})=>{o.value.some(t=>t.id===e)&&j(`Duplicate input name "${e}"`),o.value.push({id:e,validate:n,reset:r,resetValidation:i,vm:p(t),isValid:null,errorMessages:[]})},unregister:e=>{o.value=o.value.filter(t=>t.id!==e)},update:(e,t,n)=>{let r=o.value.find(t=>t.id===e);r&&(r.isValid=t,r.errorMessages=n)},isDisabled:r,isReadonly:i,isValidating:a,isValid:n,items:o,validateOn:t(()=>e.validateOn)}),{errors:s,isDisabled:r,isReadonly:i,isValidating:a,isValid:n,items:o,validate:c,reset:l,resetValidation:d}}function Ee(e){let t=me(Ce,null);return{...t,isReadonly:V(()=>!!(e?.readonly??t?.isReadonly.value)),isDisabled:V(()=>!!(e?.disabled??t?.isDisabled.value))}}var De=Symbol.for(`vuetify:rules`);function Oe(e){let n=me(De,null);if(!e){if(!n)throw Error(`Could not find Vuetify rules injection`);return n.aliases}return n?.resolve(e)??t(e)}var ke=J({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...xe()},`validation`);function Ae(e,t=b(),r=Z()){let i=q(e,`modelValue`),a=V(()=>e.validationValue===void 0?i.value:e.validationValue),s=Ee(e),c=Oe(()=>e.rules),l=O([]),u=k(!0),d=V(()=>!!(P(i.value===``?null:i.value).length||P(a.value===``?null:a.value).length)),f=V(()=>e.errorMessages?.length?P(e.errorMessages).concat(l.value).slice(0,Math.max(0,Number(e.maxErrors))):l.value),p=V(()=>{let t=(e.validateOn??s.validateOn?.value)||`input`;t===`lazy`&&(t=`input lazy`),t===`eager`&&(t=`input eager`);let n=new Set(t?.split(` `)??[]);return{input:n.has(`input`),blur:n.has(`blur`)||n.has(`input`)||n.has(`invalid-input`),invalidInput:n.has(`invalid-input`),lazy:n.has(`lazy`),eager:n.has(`eager`)}}),h=V(()=>e.error||e.errorMessages?.length?!1:e.rules.length?u.value?l.value.length||p.value.lazy?null:!0:!l.value.length:!0),g=k(!1),_=V(()=>({[`${t}--error`]:h.value===!1,[`${t}--dirty`]:d.value,[`${t}--disabled`]:s.isDisabled.value,[`${t}--readonly`]:s.isReadonly.value})),v=he(`validation`),y=V(()=>e.name??H(r));se(()=>{s.register?.({id:y.value,vm:v,validate:C,reset:x,resetValidation:S})}),n(()=>{s.unregister?.(y.value)}),m(async()=>{p.value.lazy||await C(!p.value.eager),s.update?.(y.value,h.value,f.value)}),M(()=>p.value.input||p.value.invalidInput&&h.value===!1,()=>{T(a,()=>{if(a.value!=null)C();else if(e.focused){let t=T(()=>e.focused,e=>{e||C(),t()})}})}),M(()=>p.value.blur,()=>{T(()=>e.focused,e=>{e||C()})}),T([h,f],()=>{s.update?.(y.value,h.value,f.value)});async function x(){i.value=null,await o(),await S()}async function S(){u.value=!0,p.value.lazy?l.value=[]:await C(!p.value.eager)}async function C(t=!1){let n=[];g.value=!0;for(let t of c.value){if(n.length>=Number(e.maxErrors??1))break;let r=await(typeof t==`function`?t:()=>t)(a.value);if(r!==!0){if(r!==!1&&typeof r!=`string`){console.warn(`${r} is not a valid value. Rule functions must return boolean true or a string.`);continue}n.push(r||``)}}return l.value=n,g.value=!1,u.value=t,l.value}return{errorMessages:f,isDirty:d,isDisabled:s.isDisabled,isReadonly:s.isReadonly,isPristine:u,isValid:h,isValidating:g,reset:x,resetValidation:S,validate:C,validationClasses:_}}var je=J({id:String,appendIcon:F,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:F,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,indentDetails:{type:Boolean,default:null},persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:`horizontal`,validator:e=>[`horizontal`,`vertical`].includes(e)},"onClick:prepend":g(),"onClick:append":g(),...r(),...le(),...e(G(),[`maxWidth`,`minWidth`,`width`]),...K(),...ke()},`VInput`),Me=X()({name:`VInput`,props:{...je()},emits:{"update:modelValue":e=>!0},setup(e,{attrs:n,slots:r,emit:i}){let{densityClasses:a}=L(e),{dimensionStyles:o}=f(e),{themeClasses:s}=ae(e),{rtlClasses:c}=ce(),{InputIcon:l}=ve(e),u=Z(),d=V(()=>e.id||`input-${u}`),{errorMessages:p,isDirty:m,isDisabled:h,isReadonly:g,isPristine:_,isValid:v,isValidating:y,reset:b,resetValidation:x,validate:S,validationClasses:C}=Ae(e,`v-input`,d),w=V(()=>e.errorMessages?.length||!_.value&&p.value.length?p.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages),T=t(()=>w.value.length>0),E=t(()=>!e.hideDetails||e.hideDetails===`auto`&&(T.value||!!r.details)),D=V(()=>E.value?`${d.value}-messages`:void 0),O=V(()=>({id:d,messagesId:D,isDirty:m,isDisabled:h,isReadonly:g,isPristine:_,isValid:v,isValidating:y,hasDetails:E,reset:b,resetValidation:x,validate:S})),k=t(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),j=t(()=>{if(e.iconColor)return e.iconColor===!0?k.value:e.iconColor});return U(()=>{let t=!!(r.prepend||e.prependIcon),n=!!(r.append||e.appendIcon);return I(`div`,{class:R([`v-input`,`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons,"v-input--indent-details":e.indentDetails},a.value,s.value,c.value,C.value,e.class]),style:A([o.value,e.style])},[t&&I(`div`,{key:`prepend`,class:`v-input__prepend`},[r.prepend?r.prepend(O.value):e.prependIcon&&Y(l,{key:`prepend-icon`,name:`prepend`,color:j.value},null)]),r.default&&I(`div`,{class:`v-input__control`},[r.default?.(O.value)]),n&&I(`div`,{key:`append`,class:`v-input__append`},[r.append?r.append(O.value):e.appendIcon&&Y(l,{key:`append-icon`,name:`append`,color:j.value},null)]),E.value&&I(`div`,{id:D.value,class:`v-input__details`,role:`alert`,"aria-live":`polite`},[Y(be,{active:T.value,messages:w.value},{message:r.message}),r.details?.(O.value)])])}),{reset:b,resetValidation:x,validate:S,isValid:v,errorMessages:p}}}),Ne=J({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...r(),...i({transition:{component:z}})},`VCounter`),Pe=X()({name:`VCounter`,functional:!0,props:Ne(),setup(e,{slots:n}){let r=t(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return U(()=>Y(s,{transition:e.transition},{default:()=>[E(I(`div`,{class:R([`v-counter`,{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:A(e.style)},[n.default?n.default({counter:r.value,max:e.max,value:e.value}):r.value]),[[te,e.active]])]})),{}}}),Fe=J({floating:Boolean,...r()},`VFieldLabel`),Q=X()({name:`VFieldLabel`,props:Fe(),setup(e,{slots:t}){return U(()=>Y(_e,{class:R([`v-field-label`,{"v-field-label--floating":e.floating},e.class]),style:A(e.style)},t)),{}}}),Ie=[`underlined`,`outlined`,`filled`,`solo`,`solo-inverted`,`solo-filled`,`plain`],Le=J({appendInnerIcon:F,bgColor:String,clearable:Boolean,clearIcon:{type:F,default:`$clear`},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:F,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:`filled`,validator:e=>Ie.includes(e)},"onClick:clear":g(),"onClick:appendInner":g(),"onClick:prependInner":g(),...r(),...d(),...pe(),...K()},`VField`),$=X()({name:`VField`,inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...xe(),...Le()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:n,emit:r,slots:i}){let{themeClasses:o}=ae(e),{loaderClasses:s}=C(e),{focusClasses:u,isFocused:d,focus:f,blur:p}=Se(e),{InputIcon:m}=ve(e),{roundedClasses:g}=re(e),{rtlClasses:v}=ce(),y=t(()=>e.dirty||e.active),b=t(()=>!!(e.label||i.label)),x=t(()=>!e.singleLine&&b.value),D=Z(),k=V(()=>e.id||`input-${D}`),j=t(()=>e.details?`${k.value}-messages`:void 0),ee=O(),M=O(),P=O(),F=V(()=>[`plain`,`underlined`].includes(e.variant)),L=V(()=>e.error||e.disabled?void 0:y.value&&d.value?e.color:e.baseColor),z=V(()=>{if(e.iconColor===!0||!e.iconColor&&e.glow&&d.value)return L.value;if(!(!e.iconColor||e.glow&&!d.value))return e.iconColor}),{backgroundColorClasses:B,backgroundColorStyles:se}=fe(()=>e.bgColor),{textColorClasses:le,textColorStyles:H}=ne(L);T(y,e=>{if(x.value&&!ue()){let t=ee.value.$el,n=M.value.$el;requestAnimationFrame(()=>{let r=c(t),i=new a(n),o=i.x-r.x,s=i.y-r.y-(r.height/2-i.height/2),l=i.width/.75,u=Math.abs(l-r.width)>1?{maxWidth:h(l)}:void 0,d=getComputedStyle(t),f=getComputedStyle(n),p=parseFloat(d.transitionDuration)*1e3||150,m=parseFloat(f.getPropertyValue(`--v-field-label-scale`)),g=f.getPropertyValue(`color`);t.style.visibility=`visible`,n.style.visibility=`hidden`,S(t,{transform:`translate(${o}px, ${s}px) scale(${m})`,color:g,...u},{duration:p,easing:ie,direction:e?`normal`:`reverse`}).finished.then(()=>{t.style.removeProperty(`visibility`),n.style.removeProperty(`visibility`)})})}},{flush:`post`});let W=V(()=>({isActive:y,isFocused:d,controlRef:P,iconColor:z,blur:p,focus:f})),G=t(()=>{let e=!y.value;return{"aria-hidden":e,for:e?void 0:k.value}}),de=t(()=>{let e=x.value&&y.value;return{"aria-hidden":e,for:e?void 0:k.value}});function K(e){e.target!==document.activeElement&&e.preventDefault()}return U(()=>{let t=e.variant===`outlined`,r=!!(i[`prepend-inner`]||e.prependInnerIcon),a=!!(e.clearable||i.clear)&&!e.disabled,c=!!(i[`append-inner`]||e.appendInnerIcon||a),d=()=>i.label?i.label({...W.value,label:e.label,props:{for:k.value}}):e.label;return I(`div`,l({class:[`v-field`,{"v-field--active":y.value,"v-field--appended":c,"v-field--center-affix":e.centerAffix??!F.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":r,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!d(),[`v-field--variant-${e.variant}`]:!0},o.value,B.value,u.value,s.value,g.value,v.value,e.class],style:[se.value,e.style],onClick:K},n),[I(`div`,{class:`v-field__overlay`},null),Y(w,{name:`v-field`,active:!!e.loading,color:e.error?`error`:typeof e.loading==`string`?e.loading:e.color},{default:i.loader}),r&&I(`div`,{key:`prepend`,class:`v-field__prepend-inner`},[i[`prepend-inner`]?i[`prepend-inner`](W.value):e.prependInnerIcon&&Y(m,{key:`prepend-icon`,name:`prependInner`,color:z.value},null)]),I(`div`,{class:`v-field__field`,"data-no-activator":``},[[`filled`,`solo`,`solo-inverted`,`solo-filled`].includes(e.variant)&&x.value&&Y(Q,l({key:`floating-label`,ref:M,class:[le.value],floating:!0},G.value,{style:H.value}),{default:()=>[d()]}),b.value&&Y(Q,l({key:`label`,ref:ee,id:e.labelId},de.value),{default:()=>[d()]}),i.default?.({...W.value,props:{id:k.value,class:`v-field__input`,"aria-describedby":j.value},focus:f,blur:p})??I(`div`,{id:k.value,class:`v-field__input`,"aria-describedby":j.value},null)]),a&&Y(oe,{key:`clear`},{default:()=>[E(I(`div`,{class:`v-field__clearable`,onMousedown:e=>{e.preventDefault(),e.stopPropagation()}},[Y(_,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[i.clear?i.clear({...W.value,props:{onFocus:f,onBlur:p,onClick:e[`onClick:clear`],tabindex:-1}}):Y(m,{name:`clear`,onFocus:f,onBlur:p,tabindex:-1},null)]})]),[[te,e.dirty]])]}),c&&I(`div`,{key:`append`,class:`v-field__append-inner`},[i[`append-inner`]?i[`append-inner`](W.value):e.appendInnerIcon&&Y(m,{key:`append-icon`,name:`appendInner`,color:z.value},null)]),I(`div`,{class:R([`v-field__outline`,le.value]),style:A(H.value)},[t&&I(N,null,[I(`div`,{class:`v-field__outline__start`},null),x.value&&I(`div`,{class:`v-field__outline__notch`},[Y(Q,l({ref:M,floating:!0},G.value),{default:()=>[d()]})]),I(`div`,{class:`v-field__outline__end`},null)]),F.value&&x.value&&Y(Q,l({ref:M,floating:!0},G.value),{default:()=>[d()]})])])}),{controlRef:P,fieldIconColor:z}}}),Re=J({autocomplete:String},`autocomplete`);function ze(e){let n=Z(),r=k(0),i=t(()=>e.autocomplete===`suppress`),a=t(()=>{if(e.name)return i.value?`${e.name}-${n}-${r.value}`:e.name});return{isSuppressing:i,fieldAutocomplete:t(()=>i.value?`off`:e.autocomplete),fieldName:a,update:()=>r.value=new Date().getTime()}}function Be(e){function t(t,n){if(!e.autofocus||!t)return;let r=n[0].target;(r.matches(`input,textarea`)?r:r.querySelector(`input,textarea`))?.focus()}return{onIntersect:t}}var Ve=[`color`,`file`,`time`,`date`,`datetime-local`,`week`,`month`],He=J({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:`text`},modelModifiers:Object,...Re(),...v(je(),[`direction`]),...Le()},`VTextField`),Ue=X()({name:`VTextField`,directives:{vIntersect:x},inheritAttrs:!1,props:He(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let i=q(e,`modelValue`,void 0,e=>Object.is(e,-0)?`-0`:e),{isFocused:a,focus:s,blur:c}=Se(e),{onIntersect:u}=Be(e),d=V(()=>typeof e.counterValue==`function`?e.counterValue(i.value):typeof e.counterValue==`number`?e.counterValue:(i.value??``).toString().length),f=V(()=>{if(t.maxlength)return t.maxlength;if(!(!e.counter||typeof e.counter!=`number`&&typeof e.counter!=`string`))return e.counter}),p=V(()=>[`plain`,`underlined`].includes(e.variant)),m=O(),h=O(),g=O(),_=ze(e),b=V(()=>Ve.includes(e.type)||e.persistentPlaceholder||a.value||e.active);function S(){_.isSuppressing.value&&_.update(),a.value||s(),o(()=>{g.value!==document.activeElement&&g.value?.focus()})}function C(e){n(`mousedown:control`,e),e.target!==g.value&&(S(),e.preventDefault())}function w(e){n(`click:control`,e)}function T(t,n){t.stopPropagation(),S(),o(()=>{n(),B(e[`onClick:clear`],t)})}function D(t){let n=t.target;if(!(e.modelModifiers?.trim&&[`text`,`search`,`password`,`tel`,`url`].includes(e.type))){i.value=n.value;return}let r=n.value,a=n.selectionStart,s=n.selectionEnd;i.value=r,o(()=>{let e=0;r.trimStart().length===n.value.length&&(e=r.length-n.value.length),a!=null&&(n.selectionStart=a-e),s!=null&&(n.selectionEnd=s-e)})}return U(()=>{let n=!!(r.counter||e.counter!==!1&&e.counter!=null),o=!!(n||r.details),[S,O]=y(t),{modelValue:k,...A}=Me.filterProps(e),j=$.filterProps(e);return Y(Me,l({ref:m,modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-text-field`,{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":p.value},e.class],style:e.style},S,A,{centerAffix:!p.value,focused:a.value,indentDetails:e.indentDetails??!p.value}),{...r,default:({id:t,isDisabled:n,isDirty:o,isReadonly:d,isValid:f,hasDetails:p,reset:m})=>Y($,l({ref:h,onMousedown:C,onClick:w,"onClick:clear":e=>T(e,m),role:e.role},v(j,[`onClick:clear`]),{id:t.value,labelId:`${t.value}-label`,active:b.value||o.value,dirty:o.value||e.dirty,disabled:n.value,focused:a.value,details:p.value,error:f.value===!1}),{...r,default:({props:{class:a,...o},controlRef:f})=>{let p=I(`input`,l({ref:e=>g.value=f.value=e,value:i.value,onInput:D,autofocus:e.autofocus,readonly:d.value,disabled:n.value,name:_.fieldName.value,autocomplete:_.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:s,onBlur:c,"aria-labelledby":`${t.value}-label`},o,O),null);return I(N,null,[e.prefix&&I(`span`,{class:`v-text-field__prefix`},[I(`span`,{class:`v-text-field__prefix__text`},[e.prefix])]),E(r.default?I(`div`,{class:R(a),"data-no-activator":``},[r.default({id:t}),p]):W(p,{class:a}),[[x,u,null,{once:!0}]]),e.suffix&&I(`span`,{class:`v-text-field__suffix`},[I(`span`,{class:`v-text-field__suffix__text`},[e.suffix])])])}}),details:o?t=>I(N,null,[r.details?.(t),n&&I(N,null,[I(`span`,null,null),Y(Pe,{active:e.persistentCounter||a.value,value:d.value,max:f.value,disabled:e.disabled},r.counter)])]):void 0})}),de({},m,h,g)}});export{ze as a,Pe as c,Te as d,we as f,_e as g,ve as h,Re as i,Me as l,Se as m,He as n,$ as o,Ee as p,Be as r,Le as s,Ue as t,je as u}; \ No newline at end of file +import{$n as e,$r as t,Ar as n,Cn as r,D as i,Dn as a,Dr as o,E as s,En as c,Er as l,Fr as u,H as d,J as f,Kr as p,Mr as m,Nn as h,On as g,Q as _,Qn as v,Rn as y,Sn as b,T as x,Tn as S,U as C,V as w,Vr as T,Wr as E,X as D,Xr as O,Zr as k,ai as A,ar as j,cn as ee,cr as te,ct as ne,dn as M,dr as N,dt as re,er as P,fn as F,hn as ie,hr as I,ht as L,ii as R,in as ae,j as z,k as oe,kn as B,kr as se,ln as ce,mr as V,mt as le,ni as H,nr as ue,pn as U,pr as W,q as G,r as de,rn as K,st as fe,un as q,ut as pe,wn as J,wr as me,xn as he,xr as Y,yn as X,zr as Z}from"./index-Bplw5zZe.js";var ge=J({text:String,onClick:g(),...r(),...K()},`VLabel`),_e=X()({name:`VLabel`,props:ge(),setup(e,{slots:t}){return U(()=>I(`label`,{class:R([`v-label`,{"v-label--clickable":!!e.onClick},e.class]),style:A(e.style),onClick:e.onClick},[e.text,t.default?.()])),{}}});function ve(e){let{t}=ee();function n({name:n,color:r,...i}){let a={prepend:`prependAction`,prependInner:`prependAction`,append:`appendAction`,appendInner:`appendAction`,clear:`clear`}[n],o=e[`onClick:${n}`];function s(e){e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),e.stopPropagation(),B(o,new PointerEvent(`click`,e)))}let c=o&&a?t(`$vuetify.input.${a}`,e.label??``):void 0;return Y(D,l({icon:e[`${n}Icon`],"aria-label":c,onClick:o,onKeydown:s,color:r},i),null)}return{InputIcon:n}}var ye=J({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...r(),...i({transition:{component:z,leaveAbsolute:!0,group:!0}})},`VMessages`),be=X()({name:`VMessages`,props:ye(),setup(e,{slots:t}){let n=V(()=>P(e.messages)),{textColorClasses:r,textColorStyles:i}=ne(()=>e.color);return U(()=>Y(s,{transition:e.transition,tag:`div`,class:R([`v-messages`,r.value,e.class]),style:A([i.value,e.style])},{default:()=>[e.active&&n.value.map((e,r)=>I(`div`,{class:`v-messages__message`,key:`${r}-${n.value}`},[t.message?t.message({message:e}):e]))]})),{}}}),xe=J({focused:Boolean,"onUpdate:focused":g()},`focus`);function Se(e,n=b()){let r=q(e,`focused`),i=t(()=>({[`${n}--focused`]:r.value}));function a(){r.value=!0}function o(){r.value=!1}return{focusClasses:i,isFocused:r,focus:a,blur:o}}var Ce=Symbol.for(`vuetify:form`),we=J({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:`input`}},`form`);function Te(e){let n=q(e,`modelValue`),r=t(()=>e.disabled),i=t(()=>e.readonly),a=k(!1),o=O([]),s=O([]);async function c(){let t=[],n=!0;s.value=[],a.value=!0;for(let r of o.value){let i=await r.validate();if(i.length>0&&(n=!1,t.push({id:r.id,errorMessages:i})),!n&&e.fastFail)break}return s.value=t,a.value=!1,{valid:n,errors:s.value}}function l(){o.value.forEach(e=>e.reset())}function d(){o.value.forEach(e=>e.resetValidation())}return T(o,()=>{let e=0,t=0,r=[];for(let n of o.value)n.isValid===!1?(t++,r.push({id:n.id,errorMessages:n.errorMessages})):n.isValid===!0&&e++;s.value=r,n.value=t>0?!1:e===o.value.length?!0:null},{deep:!0,flush:`post`}),u(Ce,{register:({id:e,vm:t,validate:n,reset:r,resetValidation:i})=>{o.value.some(t=>t.id===e)&&j(`Duplicate input name "${e}"`),o.value.push({id:e,validate:n,reset:r,resetValidation:i,vm:p(t),isValid:null,errorMessages:[]})},unregister:e=>{o.value=o.value.filter(t=>t.id!==e)},update:(e,t,n)=>{let r=o.value.find(t=>t.id===e);r&&(r.isValid=t,r.errorMessages=n)},isDisabled:r,isReadonly:i,isValidating:a,isValid:n,items:o,validateOn:t(()=>e.validateOn)}),{errors:s,isDisabled:r,isReadonly:i,isValidating:a,isValid:n,items:o,validate:c,reset:l,resetValidation:d}}function Ee(e){let t=me(Ce,null);return{...t,isReadonly:V(()=>!!(e?.readonly??t?.isReadonly.value)),isDisabled:V(()=>!!(e?.disabled??t?.isDisabled.value))}}var De=Symbol.for(`vuetify:rules`);function Oe(e){let n=me(De,null);if(!e){if(!n)throw Error(`Could not find Vuetify rules injection`);return n.aliases}return n?.resolve(e)??t(e)}var ke=J({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...xe()},`validation`);function Ae(e,t=b(),r=Z()){let i=q(e,`modelValue`),a=V(()=>e.validationValue===void 0?i.value:e.validationValue),s=Ee(e),c=Oe(()=>e.rules),l=O([]),u=k(!0),d=V(()=>!!(P(i.value===``?null:i.value).length||P(a.value===``?null:a.value).length)),f=V(()=>e.errorMessages?.length?P(e.errorMessages).concat(l.value).slice(0,Math.max(0,Number(e.maxErrors))):l.value),p=V(()=>{let t=(e.validateOn??s.validateOn?.value)||`input`;t===`lazy`&&(t=`input lazy`),t===`eager`&&(t=`input eager`);let n=new Set(t?.split(` `)??[]);return{input:n.has(`input`),blur:n.has(`blur`)||n.has(`input`)||n.has(`invalid-input`),invalidInput:n.has(`invalid-input`),lazy:n.has(`lazy`),eager:n.has(`eager`)}}),h=V(()=>e.error||e.errorMessages?.length?!1:e.rules.length?u.value?l.value.length||p.value.lazy?null:!0:!l.value.length:!0),g=k(!1),_=V(()=>({[`${t}--error`]:h.value===!1,[`${t}--dirty`]:d.value,[`${t}--disabled`]:s.isDisabled.value,[`${t}--readonly`]:s.isReadonly.value})),v=he(`validation`),y=V(()=>e.name??H(r));se(()=>{s.register?.({id:y.value,vm:v,validate:C,reset:x,resetValidation:S})}),n(()=>{s.unregister?.(y.value)}),m(async()=>{p.value.lazy||await C(!p.value.eager),s.update?.(y.value,h.value,f.value)}),M(()=>p.value.input||p.value.invalidInput&&h.value===!1,()=>{T(a,()=>{if(a.value!=null)C();else if(e.focused){let t=T(()=>e.focused,e=>{e||C(),t()})}})}),M(()=>p.value.blur,()=>{T(()=>e.focused,e=>{e||C()})}),T([h,f],()=>{s.update?.(y.value,h.value,f.value)});async function x(){i.value=null,await o(),await S()}async function S(){u.value=!0,p.value.lazy?l.value=[]:await C(!p.value.eager)}async function C(t=!1){let n=[];g.value=!0;for(let t of c.value){if(n.length>=Number(e.maxErrors??1))break;let r=await(typeof t==`function`?t:()=>t)(a.value);if(r!==!0){if(r!==!1&&typeof r!=`string`){console.warn(`${r} is not a valid value. Rule functions must return boolean true or a string.`);continue}n.push(r||``)}}return l.value=n,g.value=!1,u.value=t,l.value}return{errorMessages:f,isDirty:d,isDisabled:s.isDisabled,isReadonly:s.isReadonly,isPristine:u,isValid:h,isValidating:g,reset:x,resetValidation:S,validate:C,validationClasses:_}}var je=J({id:String,appendIcon:F,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:F,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,indentDetails:{type:Boolean,default:null},persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:`horizontal`,validator:e=>[`horizontal`,`vertical`].includes(e)},"onClick:prepend":g(),"onClick:append":g(),...r(),...le(),...e(G(),[`maxWidth`,`minWidth`,`width`]),...K(),...ke()},`VInput`),Me=X()({name:`VInput`,props:{...je()},emits:{"update:modelValue":e=>!0},setup(e,{attrs:n,slots:r,emit:i}){let{densityClasses:a}=L(e),{dimensionStyles:o}=f(e),{themeClasses:s}=ae(e),{rtlClasses:c}=ce(),{InputIcon:l}=ve(e),u=Z(),d=V(()=>e.id||`input-${u}`),{errorMessages:p,isDirty:m,isDisabled:h,isReadonly:g,isPristine:_,isValid:v,isValidating:y,reset:b,resetValidation:x,validate:S,validationClasses:C}=Ae(e,`v-input`,d),w=V(()=>e.errorMessages?.length||!_.value&&p.value.length?p.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages),T=t(()=>w.value.length>0),E=t(()=>!e.hideDetails||e.hideDetails===`auto`&&(T.value||!!r.details)),D=V(()=>E.value?`${d.value}-messages`:void 0),O=V(()=>({id:d,messagesId:D,isDirty:m,isDisabled:h,isReadonly:g,isPristine:_,isValid:v,isValidating:y,hasDetails:E,reset:b,resetValidation:x,validate:S})),k=t(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),j=t(()=>{if(e.iconColor)return e.iconColor===!0?k.value:e.iconColor});return U(()=>{let t=!!(r.prepend||e.prependIcon),n=!!(r.append||e.appendIcon);return I(`div`,{class:R([`v-input`,`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons,"v-input--indent-details":e.indentDetails},a.value,s.value,c.value,C.value,e.class]),style:A([o.value,e.style])},[t&&I(`div`,{key:`prepend`,class:`v-input__prepend`},[r.prepend?r.prepend(O.value):e.prependIcon&&Y(l,{key:`prepend-icon`,name:`prepend`,color:j.value},null)]),r.default&&I(`div`,{class:`v-input__control`},[r.default?.(O.value)]),n&&I(`div`,{key:`append`,class:`v-input__append`},[r.append?r.append(O.value):e.appendIcon&&Y(l,{key:`append-icon`,name:`append`,color:j.value},null)]),E.value&&I(`div`,{id:D.value,class:`v-input__details`,role:`alert`,"aria-live":`polite`},[Y(be,{active:T.value,messages:w.value},{message:r.message}),r.details?.(O.value)])])}),{reset:b,resetValidation:x,validate:S,isValid:v,errorMessages:p}}}),Ne=J({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...r(),...i({transition:{component:z}})},`VCounter`),Pe=X()({name:`VCounter`,functional:!0,props:Ne(),setup(e,{slots:n}){let r=t(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return U(()=>Y(s,{transition:e.transition},{default:()=>[E(I(`div`,{class:R([`v-counter`,{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:A(e.style)},[n.default?n.default({counter:r.value,max:e.max,value:e.value}):r.value]),[[te,e.active]])]})),{}}}),Fe=J({floating:Boolean,...r()},`VFieldLabel`),Q=X()({name:`VFieldLabel`,props:Fe(),setup(e,{slots:t}){return U(()=>Y(_e,{class:R([`v-field-label`,{"v-field-label--floating":e.floating},e.class]),style:A(e.style)},t)),{}}}),Ie=[`underlined`,`outlined`,`filled`,`solo`,`solo-inverted`,`solo-filled`,`plain`],Le=J({appendInnerIcon:F,bgColor:String,clearable:Boolean,clearIcon:{type:F,default:`$clear`},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:F,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:`filled`,validator:e=>Ie.includes(e)},"onClick:clear":g(),"onClick:appendInner":g(),"onClick:prependInner":g(),...r(),...d(),...pe(),...K()},`VField`),$=X()({name:`VField`,inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...xe(),...Le()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:n,emit:r,slots:i}){let{themeClasses:o}=ae(e),{loaderClasses:s}=C(e),{focusClasses:u,isFocused:d,focus:f,blur:p}=Se(e),{InputIcon:m}=ve(e),{roundedClasses:g}=re(e),{rtlClasses:v}=ce(),y=t(()=>e.dirty||e.active),b=t(()=>!!(e.label||i.label)),x=t(()=>!e.singleLine&&b.value),D=Z(),k=V(()=>e.id||`input-${D}`),j=t(()=>e.details?`${k.value}-messages`:void 0),ee=O(),M=O(),P=O(),F=V(()=>[`plain`,`underlined`].includes(e.variant)),L=V(()=>e.error||e.disabled?void 0:y.value&&d.value?e.color:e.baseColor),z=V(()=>{if(e.iconColor===!0||!e.iconColor&&e.glow&&d.value)return L.value;if(!(!e.iconColor||e.glow&&!d.value))return e.iconColor}),{backgroundColorClasses:B,backgroundColorStyles:se}=fe(()=>e.bgColor),{textColorClasses:le,textColorStyles:H}=ne(L);T(y,e=>{if(x.value&&!ue()){let t=ee.value.$el,n=M.value.$el;requestAnimationFrame(()=>{let r=c(t),i=new a(n),o=i.x-r.x,s=i.y-r.y-(r.height/2-i.height/2),l=i.width/.75,u=Math.abs(l-r.width)>1?{maxWidth:h(l)}:void 0,d=getComputedStyle(t),f=getComputedStyle(n),p=parseFloat(d.transitionDuration)*1e3||150,m=parseFloat(f.getPropertyValue(`--v-field-label-scale`)),g=f.getPropertyValue(`color`);t.style.visibility=`visible`,n.style.visibility=`hidden`,S(t,{transform:`translate(${o}px, ${s}px) scale(${m})`,color:g,...u},{duration:p,easing:ie,direction:e?`normal`:`reverse`}).finished.then(()=>{t.style.removeProperty(`visibility`),n.style.removeProperty(`visibility`)})})}},{flush:`post`});let W=V(()=>({isActive:y,isFocused:d,controlRef:P,iconColor:z,blur:p,focus:f})),G=t(()=>{let e=!y.value;return{"aria-hidden":e,for:e?void 0:k.value}}),de=t(()=>{let e=x.value&&y.value;return{"aria-hidden":e,for:e?void 0:k.value}});function K(e){e.target!==document.activeElement&&e.preventDefault()}return U(()=>{let t=e.variant===`outlined`,r=!!(i[`prepend-inner`]||e.prependInnerIcon),a=!!(e.clearable||i.clear)&&!e.disabled,c=!!(i[`append-inner`]||e.appendInnerIcon||a),d=()=>i.label?i.label({...W.value,label:e.label,props:{for:k.value}}):e.label;return I(`div`,l({class:[`v-field`,{"v-field--active":y.value,"v-field--appended":c,"v-field--center-affix":e.centerAffix??!F.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":r,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!d(),[`v-field--variant-${e.variant}`]:!0},o.value,B.value,u.value,s.value,g.value,v.value,e.class],style:[se.value,e.style],onClick:K},n),[I(`div`,{class:`v-field__overlay`},null),Y(w,{name:`v-field`,active:!!e.loading,color:e.error?`error`:typeof e.loading==`string`?e.loading:e.color},{default:i.loader}),r&&I(`div`,{key:`prepend`,class:`v-field__prepend-inner`},[i[`prepend-inner`]?i[`prepend-inner`](W.value):e.prependInnerIcon&&Y(m,{key:`prepend-icon`,name:`prependInner`,color:z.value},null)]),I(`div`,{class:`v-field__field`,"data-no-activator":``},[[`filled`,`solo`,`solo-inverted`,`solo-filled`].includes(e.variant)&&x.value&&Y(Q,l({key:`floating-label`,ref:M,class:[le.value],floating:!0},G.value,{style:H.value}),{default:()=>[d()]}),b.value&&Y(Q,l({key:`label`,ref:ee,id:e.labelId},de.value),{default:()=>[d()]}),i.default?.({...W.value,props:{id:k.value,class:`v-field__input`,"aria-describedby":j.value},focus:f,blur:p})??I(`div`,{id:k.value,class:`v-field__input`,"aria-describedby":j.value},null)]),a&&Y(oe,{key:`clear`},{default:()=>[E(I(`div`,{class:`v-field__clearable`,onMousedown:e=>{e.preventDefault(),e.stopPropagation()}},[Y(_,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[i.clear?i.clear({...W.value,props:{onFocus:f,onBlur:p,onClick:e[`onClick:clear`],tabindex:-1}}):Y(m,{name:`clear`,onFocus:f,onBlur:p,tabindex:-1},null)]})]),[[te,e.dirty]])]}),c&&I(`div`,{key:`append`,class:`v-field__append-inner`},[i[`append-inner`]?i[`append-inner`](W.value):e.appendInnerIcon&&Y(m,{key:`append-icon`,name:`appendInner`,color:z.value},null)]),I(`div`,{class:R([`v-field__outline`,le.value]),style:A(H.value)},[t&&I(N,null,[I(`div`,{class:`v-field__outline__start`},null),x.value&&I(`div`,{class:`v-field__outline__notch`},[Y(Q,l({ref:M,floating:!0},G.value),{default:()=>[d()]})]),I(`div`,{class:`v-field__outline__end`},null)]),F.value&&x.value&&Y(Q,l({ref:M,floating:!0},G.value),{default:()=>[d()]})])])}),{controlRef:P,fieldIconColor:z}}}),Re=J({autocomplete:String},`autocomplete`);function ze(e){let n=Z(),r=k(0),i=t(()=>e.autocomplete===`suppress`),a=t(()=>{if(e.name)return i.value?`${e.name}-${n}-${r.value}`:e.name});return{isSuppressing:i,fieldAutocomplete:t(()=>i.value?`off`:e.autocomplete),fieldName:a,update:()=>r.value=new Date().getTime()}}function Be(e){function t(t,n){if(!e.autofocus||!t)return;let r=n[0].target;(r.matches(`input,textarea`)?r:r.querySelector(`input,textarea`))?.focus()}return{onIntersect:t}}var Ve=[`color`,`file`,`time`,`date`,`datetime-local`,`week`,`month`],He=J({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:`text`},modelModifiers:Object,...Re(),...v(je(),[`direction`]),...Le()},`VTextField`),Ue=X()({name:`VTextField`,directives:{vIntersect:x},inheritAttrs:!1,props:He(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let i=q(e,`modelValue`,void 0,e=>Object.is(e,-0)?`-0`:e),{isFocused:a,focus:s,blur:c}=Se(e),{onIntersect:u}=Be(e),d=V(()=>typeof e.counterValue==`function`?e.counterValue(i.value):typeof e.counterValue==`number`?e.counterValue:(i.value??``).toString().length),f=V(()=>{if(t.maxlength)return t.maxlength;if(!(!e.counter||typeof e.counter!=`number`&&typeof e.counter!=`string`))return e.counter}),p=V(()=>[`plain`,`underlined`].includes(e.variant)),m=O(),h=O(),g=O(),_=ze(e),b=V(()=>Ve.includes(e.type)||e.persistentPlaceholder||a.value||e.active);function S(){_.isSuppressing.value&&_.update(),a.value||s(),o(()=>{g.value!==document.activeElement&&g.value?.focus()})}function C(e){n(`mousedown:control`,e),e.target!==g.value&&(S(),e.preventDefault())}function w(e){n(`click:control`,e)}function T(t,n){t.stopPropagation(),S(),o(()=>{n(),B(e[`onClick:clear`],t)})}function D(t){let n=t.target;if(!(e.modelModifiers?.trim&&[`text`,`search`,`password`,`tel`,`url`].includes(e.type))){i.value=n.value;return}let r=n.value,a=n.selectionStart,s=n.selectionEnd;i.value=r,o(()=>{let e=0;r.trimStart().length===n.value.length&&(e=r.length-n.value.length),a!=null&&(n.selectionStart=a-e),s!=null&&(n.selectionEnd=s-e)})}return U(()=>{let n=!!(r.counter||e.counter!==!1&&e.counter!=null),o=!!(n||r.details),[S,O]=y(t),{modelValue:k,...A}=Me.filterProps(e),j=$.filterProps(e);return Y(Me,l({ref:m,modelValue:i.value,"onUpdate:modelValue":e=>i.value=e,class:[`v-text-field`,{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":p.value},e.class],style:e.style},S,A,{centerAffix:!p.value,focused:a.value,indentDetails:e.indentDetails??!p.value}),{...r,default:({id:t,isDisabled:n,isDirty:o,isReadonly:d,isValid:f,hasDetails:p,reset:m})=>Y($,l({ref:h,onMousedown:C,onClick:w,"onClick:clear":e=>T(e,m),role:e.role},v(j,[`onClick:clear`]),{id:t.value,labelId:`${t.value}-label`,active:b.value||o.value,dirty:o.value||e.dirty,disabled:n.value,focused:a.value,details:p.value,error:f.value===!1}),{...r,default:({props:{class:a,...o},controlRef:f})=>{let p=I(`input`,l({ref:e=>g.value=f.value=e,value:i.value,onInput:D,autofocus:e.autofocus,readonly:d.value,disabled:n.value,name:_.fieldName.value,autocomplete:_.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:s,onBlur:c,"aria-labelledby":`${t.value}-label`},o,O),null);return I(N,null,[e.prefix&&I(`span`,{class:`v-text-field__prefix`},[I(`span`,{class:`v-text-field__prefix__text`},[e.prefix])]),E(r.default?I(`div`,{class:R(a),"data-no-activator":``},[r.default({id:t}),p]):W(p,{class:a}),[[x,u,null,{once:!0}]]),e.suffix&&I(`span`,{class:`v-text-field__suffix`},[I(`span`,{class:`v-text-field__suffix__text`},[e.suffix])])])}}),details:o?t=>I(N,null,[r.details?.(t),n&&I(N,null,[I(`span`,null,null),Y(Pe,{active:e.persistentCounter||a.value,value:d.value,max:f.value,disabled:e.disabled},r.counter)])]):void 0})}),de({},m,h,g)}});export{ze as a,Pe as c,Te as d,we as f,_e as g,ve as h,Re as i,Me as l,Se as m,He as n,$ as o,Ee as p,Be as r,Le as s,Ue as t,je as u}; \ No newline at end of file diff --git a/web/app/assets/VTextarea-9CeXtoSu.js b/web/app/assets/VTextarea-9CeXtoSu.js deleted file mode 100644 index 6f587a48..00000000 --- a/web/app/assets/VTextarea-9CeXtoSu.js +++ /dev/null @@ -1 +0,0 @@ -import{Ar as e,Dr as t,Er as n,Hr as r,Mn as i,Mr as a,Nn as o,Qn as s,Rn as c,T as l,Vr as u,Wr as d,Xr as f,Zr as ee,dr as p,hr as m,ii as h,kn as g,mr as _,pn as v,r as y,sn as b,sr as te,un as ne,wn as x,xr as S,yn as C}from"./index-DawRgH7u.js";import{a as w,c as T,i as E,l as D,m as O,o as k,r as A,s as j,u as M}from"./VTextField-BZnszgeR.js";var N=x({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...E(),...s(M(),[`direction`]),...j()},`VTextarea`),P=C()({name:`VTextarea`,directives:{vIntersect:l},inheritAttrs:!1,props:N(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(s,{attrs:x,emit:C,slots:E}){let j=ne(s,`modelValue`),{isFocused:M,focus:N,blur:P}=O(s),{onIntersect:F}=A(s),I=_(()=>typeof s.counterValue==`function`?s.counterValue(j.value):(j.value||``).toString().length),L=_(()=>{if(x.maxlength)return x.maxlength;if(!(!s.counter||typeof s.counter!=`number`&&typeof s.counter!=`string`))return s.counter}),R=f(),z=f(),B=ee(``),V=f(),H=f(0),{platform:U}=b(),W=w(s),G=_(()=>s.persistentPlaceholder||M.value||s.active);function K(){W.isSuppressing.value&&W.update(),V.value!==document.activeElement&&V.value?.focus(),M.value||N()}function q(e){K(),C(`click:control`,e)}function J(e){C(`mousedown:control`,e)}function re(e){e.stopPropagation(),K(),t(()=>{j.value=``,g(s[`onClick:clear`],e)})}function ie(e){let n=e.target;if(!s.modelModifiers?.trim){j.value=n.value;return}let r=n.value,i=n.selectionStart,a=n.selectionEnd;j.value=r,t(()=>{let e=0;r.trimStart().length===n.value.length&&(e=r.length-n.value.length),i!=null&&(n.selectionStart=i-e),a!=null&&(n.selectionEnd=a-e)})}let Y=f(),X=f(Number(s.rows)),Z=_(()=>[`plain`,`underlined`].includes(s.variant));r(()=>{s.autoGrow||(X.value=Number(s.rows))});function Q(){t(()=>{if(!V.value)return;if(U.value.firefox){H.value=12;return}let{offsetWidth:e,clientWidth:t}=V.value;H.value=Math.max(0,e-t)}),s.autoGrow&&t(()=>{if(!Y.value||!z.value)return;let e=getComputedStyle(Y.value),t=getComputedStyle(z.value.$el),n=parseFloat(e.getPropertyValue(`--v-field-padding-top`))+parseFloat(e.getPropertyValue(`--v-input-padding-top`))+parseFloat(e.getPropertyValue(`--v-field-padding-bottom`)),r=Y.value.scrollHeight,a=parseFloat(e.lineHeight),c=Math.max(parseFloat(s.rows)*a+n,parseFloat(t.getPropertyValue(`--v-input-control-height`))),l=s.maxHeight?parseFloat(s.maxHeight):parseFloat(s.maxRows)*a+n||1/0,u=i(r??0,c,l);X.value=Math.floor((u-n)/a),B.value=o(u)})}a(Q),u(j,Q),u(()=>s.rows,Q),u(()=>s.maxHeight,Q),u(()=>s.maxRows,Q),u(()=>s.density,Q),u(X,e=>{C(`update:rows`,e)});let $;return u(Y,e=>{e?($=new ResizeObserver(Q),$.observe(Y.value)):$?.disconnect()}),e(()=>{$?.disconnect()}),v(()=>{let e=!!(E.counter||s.counter||s.counterValue),t=!!(e||E.details),[r,i]=c(x),{modelValue:a,...u}=D.filterProps(s),f={...k.filterProps(s),"onClick:clear":re};return S(D,n({ref:R,modelValue:j.value,"onUpdate:modelValue":e=>j.value=e,class:[`v-textarea v-text-field`,{"v-textarea--prefixed":s.prefix,"v-textarea--suffixed":s.suffix,"v-text-field--prefixed":s.prefix,"v-text-field--suffixed":s.suffix,"v-textarea--auto-grow":s.autoGrow,"v-textarea--no-resize":s.noResize||s.autoGrow,"v-input--plain-underlined":Z.value},s.class],style:[{"--v-textarea-max-height":s.maxHeight?o(s.maxHeight):void 0,"--v-textarea-scroll-bar-width":o(H.value)},s.style]},r,u,{centerAffix:X.value===1&&!Z.value,focused:M.value,indentDetails:s.indentDetails??!Z.value}),{...E,default:({id:e,isDisabled:t,isDirty:r,isReadonly:a,isValid:o,hasDetails:c})=>S(k,n({ref:z,style:{"--v-textarea-control-height":B.value},onClick:q,onMousedown:J,"onClick:prependInner":s[`onClick:prependInner`],"onClick:appendInner":s[`onClick:appendInner`]},f,{id:e.value,active:G.value||r.value,labelId:`${e.value}-label`,centerAffix:X.value===1&&!Z.value,dirty:r.value||s.dirty,disabled:t.value,focused:M.value,details:c.value,error:o.value===!1}),{...E,default:({props:{class:r,...o},controlRef:c})=>m(p,null,[s.prefix&&m(`span`,{class:`v-text-field__prefix`},[s.prefix]),d(m(`textarea`,n({ref:e=>V.value=c.value=e,class:r,value:j.value,onInput:ie,autofocus:s.autofocus,readonly:a.value,disabled:t.value,placeholder:s.placeholder,rows:s.rows,name:W.fieldName.value,autocomplete:W.fieldAutocomplete.value,onFocus:K,onBlur:P,"aria-labelledby":`${e.value}-label`},o,i),null),[[l,{handler:F},null,{once:!0}]]),s.autoGrow&&d(m(`textarea`,{class:h([r,`v-textarea__sizer`]),id:`${o.id}-sizer`,"onUpdate:modelValue":e=>j.value=e,ref:Y,readonly:!0,"aria-hidden":`true`},null),[[te,j.value]]),s.suffix&&m(`span`,{class:`v-text-field__suffix`},[s.suffix])])}),details:t?t=>m(p,null,[E.details?.(t),e&&m(p,null,[m(`span`,null,null),S(T,{active:s.persistentCounter||M.value,value:I.value,max:L.value,disabled:s.disabled},E.counter)])]):void 0})}),y({},R,z,V)}});export{P as t}; \ No newline at end of file diff --git a/web/app/assets/VTextarea-tb0SPOpO.js b/web/app/assets/VTextarea-Cn1CYtMX.js similarity index 97% rename from web/app/assets/VTextarea-tb0SPOpO.js rename to web/app/assets/VTextarea-Cn1CYtMX.js index b4edda9f..efe316db 100644 --- a/web/app/assets/VTextarea-tb0SPOpO.js +++ b/web/app/assets/VTextarea-Cn1CYtMX.js @@ -1 +1 @@ -import{Ar as e,Dr as t,Er as n,Hr as r,Mn as i,Mr as a,Nn as o,Qn as s,Rn as c,T as l,Vr as u,Wr as d,Xr as f,Zr as ee,dr as p,hr as m,ii as h,kn as g,mr as _,pn as v,r as y,sn as b,sr as te,un as ne,wn as x,xr as S,yn as C}from"./index-DZEQidkT.js";import{a as w,c as T,i as E,l as D,m as O,o as k,r as A,s as j,u as M}from"./VTextField-CvZimSXQ.js";var N=x({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...E(),...s(M(),[`direction`]),...j()},`VTextarea`),P=C()({name:`VTextarea`,directives:{vIntersect:l},inheritAttrs:!1,props:N(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(s,{attrs:x,emit:C,slots:E}){let j=ne(s,`modelValue`),{isFocused:M,focus:N,blur:P}=O(s),{onIntersect:F}=A(s),I=_(()=>typeof s.counterValue==`function`?s.counterValue(j.value):(j.value||``).toString().length),L=_(()=>{if(x.maxlength)return x.maxlength;if(!(!s.counter||typeof s.counter!=`number`&&typeof s.counter!=`string`))return s.counter}),R=f(),z=f(),B=ee(``),V=f(),H=f(0),{platform:U}=b(),W=w(s),G=_(()=>s.persistentPlaceholder||M.value||s.active);function K(){W.isSuppressing.value&&W.update(),V.value!==document.activeElement&&V.value?.focus(),M.value||N()}function q(e){K(),C(`click:control`,e)}function J(e){C(`mousedown:control`,e)}function re(e){e.stopPropagation(),K(),t(()=>{j.value=``,g(s[`onClick:clear`],e)})}function ie(e){let n=e.target;if(!s.modelModifiers?.trim){j.value=n.value;return}let r=n.value,i=n.selectionStart,a=n.selectionEnd;j.value=r,t(()=>{let e=0;r.trimStart().length===n.value.length&&(e=r.length-n.value.length),i!=null&&(n.selectionStart=i-e),a!=null&&(n.selectionEnd=a-e)})}let Y=f(),X=f(Number(s.rows)),Z=_(()=>[`plain`,`underlined`].includes(s.variant));r(()=>{s.autoGrow||(X.value=Number(s.rows))});function Q(){t(()=>{if(!V.value)return;if(U.value.firefox){H.value=12;return}let{offsetWidth:e,clientWidth:t}=V.value;H.value=Math.max(0,e-t)}),s.autoGrow&&t(()=>{if(!Y.value||!z.value)return;let e=getComputedStyle(Y.value),t=getComputedStyle(z.value.$el),n=parseFloat(e.getPropertyValue(`--v-field-padding-top`))+parseFloat(e.getPropertyValue(`--v-input-padding-top`))+parseFloat(e.getPropertyValue(`--v-field-padding-bottom`)),r=Y.value.scrollHeight,a=parseFloat(e.lineHeight),c=Math.max(parseFloat(s.rows)*a+n,parseFloat(t.getPropertyValue(`--v-input-control-height`))),l=s.maxHeight?parseFloat(s.maxHeight):parseFloat(s.maxRows)*a+n||1/0,u=i(r??0,c,l);X.value=Math.floor((u-n)/a),B.value=o(u)})}a(Q),u(j,Q),u(()=>s.rows,Q),u(()=>s.maxHeight,Q),u(()=>s.maxRows,Q),u(()=>s.density,Q),u(X,e=>{C(`update:rows`,e)});let $;return u(Y,e=>{e?($=new ResizeObserver(Q),$.observe(Y.value)):$?.disconnect()}),e(()=>{$?.disconnect()}),v(()=>{let e=!!(E.counter||s.counter||s.counterValue),t=!!(e||E.details),[r,i]=c(x),{modelValue:a,...u}=D.filterProps(s),f={...k.filterProps(s),"onClick:clear":re};return S(D,n({ref:R,modelValue:j.value,"onUpdate:modelValue":e=>j.value=e,class:[`v-textarea v-text-field`,{"v-textarea--prefixed":s.prefix,"v-textarea--suffixed":s.suffix,"v-text-field--prefixed":s.prefix,"v-text-field--suffixed":s.suffix,"v-textarea--auto-grow":s.autoGrow,"v-textarea--no-resize":s.noResize||s.autoGrow,"v-input--plain-underlined":Z.value},s.class],style:[{"--v-textarea-max-height":s.maxHeight?o(s.maxHeight):void 0,"--v-textarea-scroll-bar-width":o(H.value)},s.style]},r,u,{centerAffix:X.value===1&&!Z.value,focused:M.value,indentDetails:s.indentDetails??!Z.value}),{...E,default:({id:e,isDisabled:t,isDirty:r,isReadonly:a,isValid:o,hasDetails:c})=>S(k,n({ref:z,style:{"--v-textarea-control-height":B.value},onClick:q,onMousedown:J,"onClick:prependInner":s[`onClick:prependInner`],"onClick:appendInner":s[`onClick:appendInner`]},f,{id:e.value,active:G.value||r.value,labelId:`${e.value}-label`,centerAffix:X.value===1&&!Z.value,dirty:r.value||s.dirty,disabled:t.value,focused:M.value,details:c.value,error:o.value===!1}),{...E,default:({props:{class:r,...o},controlRef:c})=>m(p,null,[s.prefix&&m(`span`,{class:`v-text-field__prefix`},[s.prefix]),d(m(`textarea`,n({ref:e=>V.value=c.value=e,class:r,value:j.value,onInput:ie,autofocus:s.autofocus,readonly:a.value,disabled:t.value,placeholder:s.placeholder,rows:s.rows,name:W.fieldName.value,autocomplete:W.fieldAutocomplete.value,onFocus:K,onBlur:P,"aria-labelledby":`${e.value}-label`},o,i),null),[[l,{handler:F},null,{once:!0}]]),s.autoGrow&&d(m(`textarea`,{class:h([r,`v-textarea__sizer`]),id:`${o.id}-sizer`,"onUpdate:modelValue":e=>j.value=e,ref:Y,readonly:!0,"aria-hidden":`true`},null),[[te,j.value]]),s.suffix&&m(`span`,{class:`v-text-field__suffix`},[s.suffix])])}),details:t?t=>m(p,null,[E.details?.(t),e&&m(p,null,[m(`span`,null,null),S(T,{active:s.persistentCounter||M.value,value:I.value,max:L.value,disabled:s.disabled},E.counter)])]):void 0})}),y({},R,z,V)}});export{P as t}; \ No newline at end of file +import{Ar as e,Dr as t,Er as n,Hr as r,Mn as i,Mr as a,Nn as o,Qn as s,Rn as c,T as l,Vr as u,Wr as d,Xr as f,Zr as ee,dr as p,hr as m,ii as h,kn as g,mr as _,pn as v,r as y,sn as b,sr as te,un as ne,wn as x,xr as S,yn as C}from"./index-Bplw5zZe.js";import{a as w,c as T,i as E,l as D,m as O,o as k,r as A,s as j,u as M}from"./VTextField-DVnxh9lX.js";var N=x({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...E(),...s(M(),[`direction`]),...j()},`VTextarea`),P=C()({name:`VTextarea`,directives:{vIntersect:l},inheritAttrs:!1,props:N(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(s,{attrs:x,emit:C,slots:E}){let j=ne(s,`modelValue`),{isFocused:M,focus:N,blur:P}=O(s),{onIntersect:F}=A(s),I=_(()=>typeof s.counterValue==`function`?s.counterValue(j.value):(j.value||``).toString().length),L=_(()=>{if(x.maxlength)return x.maxlength;if(!(!s.counter||typeof s.counter!=`number`&&typeof s.counter!=`string`))return s.counter}),R=f(),z=f(),B=ee(``),V=f(),H=f(0),{platform:U}=b(),W=w(s),G=_(()=>s.persistentPlaceholder||M.value||s.active);function K(){W.isSuppressing.value&&W.update(),V.value!==document.activeElement&&V.value?.focus(),M.value||N()}function q(e){K(),C(`click:control`,e)}function J(e){C(`mousedown:control`,e)}function re(e){e.stopPropagation(),K(),t(()=>{j.value=``,g(s[`onClick:clear`],e)})}function ie(e){let n=e.target;if(!s.modelModifiers?.trim){j.value=n.value;return}let r=n.value,i=n.selectionStart,a=n.selectionEnd;j.value=r,t(()=>{let e=0;r.trimStart().length===n.value.length&&(e=r.length-n.value.length),i!=null&&(n.selectionStart=i-e),a!=null&&(n.selectionEnd=a-e)})}let Y=f(),X=f(Number(s.rows)),Z=_(()=>[`plain`,`underlined`].includes(s.variant));r(()=>{s.autoGrow||(X.value=Number(s.rows))});function Q(){t(()=>{if(!V.value)return;if(U.value.firefox){H.value=12;return}let{offsetWidth:e,clientWidth:t}=V.value;H.value=Math.max(0,e-t)}),s.autoGrow&&t(()=>{if(!Y.value||!z.value)return;let e=getComputedStyle(Y.value),t=getComputedStyle(z.value.$el),n=parseFloat(e.getPropertyValue(`--v-field-padding-top`))+parseFloat(e.getPropertyValue(`--v-input-padding-top`))+parseFloat(e.getPropertyValue(`--v-field-padding-bottom`)),r=Y.value.scrollHeight,a=parseFloat(e.lineHeight),c=Math.max(parseFloat(s.rows)*a+n,parseFloat(t.getPropertyValue(`--v-input-control-height`))),l=s.maxHeight?parseFloat(s.maxHeight):parseFloat(s.maxRows)*a+n||1/0,u=i(r??0,c,l);X.value=Math.floor((u-n)/a),B.value=o(u)})}a(Q),u(j,Q),u(()=>s.rows,Q),u(()=>s.maxHeight,Q),u(()=>s.maxRows,Q),u(()=>s.density,Q),u(X,e=>{C(`update:rows`,e)});let $;return u(Y,e=>{e?($=new ResizeObserver(Q),$.observe(Y.value)):$?.disconnect()}),e(()=>{$?.disconnect()}),v(()=>{let e=!!(E.counter||s.counter||s.counterValue),t=!!(e||E.details),[r,i]=c(x),{modelValue:a,...u}=D.filterProps(s),f={...k.filterProps(s),"onClick:clear":re};return S(D,n({ref:R,modelValue:j.value,"onUpdate:modelValue":e=>j.value=e,class:[`v-textarea v-text-field`,{"v-textarea--prefixed":s.prefix,"v-textarea--suffixed":s.suffix,"v-text-field--prefixed":s.prefix,"v-text-field--suffixed":s.suffix,"v-textarea--auto-grow":s.autoGrow,"v-textarea--no-resize":s.noResize||s.autoGrow,"v-input--plain-underlined":Z.value},s.class],style:[{"--v-textarea-max-height":s.maxHeight?o(s.maxHeight):void 0,"--v-textarea-scroll-bar-width":o(H.value)},s.style]},r,u,{centerAffix:X.value===1&&!Z.value,focused:M.value,indentDetails:s.indentDetails??!Z.value}),{...E,default:({id:e,isDisabled:t,isDirty:r,isReadonly:a,isValid:o,hasDetails:c})=>S(k,n({ref:z,style:{"--v-textarea-control-height":B.value},onClick:q,onMousedown:J,"onClick:prependInner":s[`onClick:prependInner`],"onClick:appendInner":s[`onClick:appendInner`]},f,{id:e.value,active:G.value||r.value,labelId:`${e.value}-label`,centerAffix:X.value===1&&!Z.value,dirty:r.value||s.dirty,disabled:t.value,focused:M.value,details:c.value,error:o.value===!1}),{...E,default:({props:{class:r,...o},controlRef:c})=>m(p,null,[s.prefix&&m(`span`,{class:`v-text-field__prefix`},[s.prefix]),d(m(`textarea`,n({ref:e=>V.value=c.value=e,class:r,value:j.value,onInput:ie,autofocus:s.autofocus,readonly:a.value,disabled:t.value,placeholder:s.placeholder,rows:s.rows,name:W.fieldName.value,autocomplete:W.fieldAutocomplete.value,onFocus:K,onBlur:P,"aria-labelledby":`${e.value}-label`},o,i),null),[[l,{handler:F},null,{once:!0}]]),s.autoGrow&&d(m(`textarea`,{class:h([r,`v-textarea__sizer`]),id:`${o.id}-sizer`,"onUpdate:modelValue":e=>j.value=e,ref:Y,readonly:!0,"aria-hidden":`true`},null),[[te,j.value]]),s.suffix&&m(`span`,{class:`v-text-field__suffix`},[s.suffix])])}),details:t?t=>m(p,null,[E.details?.(t),e&&m(p,null,[m(`span`,null,null),S(T,{active:s.persistentCounter||M.value,value:I.value,max:L.value,disabled:s.disabled},E.counter)])]):void 0})}),y({},R,z,V)}});export{P as t}; \ No newline at end of file diff --git a/web/app/assets/apiError-BqTTIuLB.js b/web/app/assets/apiError-D7r0BvbZ.js similarity index 64% rename from web/app/assets/apiError-BqTTIuLB.js rename to web/app/assets/apiError-D7r0BvbZ.js index a550a225..0237c0e2 100644 --- a/web/app/assets/apiError-BqTTIuLB.js +++ b/web/app/assets/apiError-D7r0BvbZ.js @@ -1 +1 @@ -import{Zt as e,qt as t}from"./index-DZEQidkT.js";function n(n,r){return n instanceof t?e(n.detail??n.message,n.message||r):n instanceof Error&&n.message.trim()||r}export{n as t}; \ No newline at end of file +import{Zt as e,qt as t}from"./index-Bplw5zZe.js";function n(n,r){return n instanceof t?e(n.detail??n.message,n.message||r):n instanceof Error&&n.message.trim()||r}export{n as t}; \ No newline at end of file diff --git a/web/app/assets/apiError-EQrzELs3.js b/web/app/assets/apiError-EQrzELs3.js deleted file mode 100644 index bacb6cfd..00000000 --- a/web/app/assets/apiError-EQrzELs3.js +++ /dev/null @@ -1 +0,0 @@ -import{Zt as e,qt as t}from"./index-DawRgH7u.js";function n(n,r){return n instanceof t?e(n.detail??n.message,n.message||r):n instanceof Error&&n.message.trim()||r}export{n as t}; \ No newline at end of file diff --git a/web/app/assets/cssMode-CjuUAicz.js b/web/app/assets/cssMode-CjuUAicz.js deleted file mode 100644 index 9b8b2f32..00000000 --- a/web/app/assets/cssMode-CjuUAicz.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e,s as t}from"./initMonaco-BdzAW2O1.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-cKKqM8zw.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/app/assets/css.worker-CvXBzhp8.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function S(t){let n=[],s=[],c=new x(t);n.push(c);let g=(...e)=>c.getLanguageServiceWorker(...e);function y(){let{languageId:n,modeConfiguration:c}=t;w(s),c.completionItems&&s.push(e.registerCompletionItemProvider(n,new _(g,[`/`,`-`,`:`]))),c.hovers&&s.push(e.registerHoverProvider(n,new a(g))),c.documentHighlights&&s.push(e.registerDocumentHighlightProvider(n,new p(g))),c.definitions&&s.push(e.registerDefinitionProvider(n,new f(g))),c.references&&s.push(e.registerReferenceProvider(n,new o(g))),c.documentSymbols&&s.push(e.registerDocumentSymbolProvider(n,new u(g))),c.rename&&s.push(e.registerRenameProvider(n,new m(g))),c.colors&&s.push(e.registerColorProvider(n,new l(g))),c.foldingRanges&&s.push(e.registerFoldingRangeProvider(n,new v(g))),c.diagnostics&&s.push(new h(n,g,t.onDidChange)),c.selectionRanges&&s.push(e.registerSelectionRangeProvider(n,new d(g))),c.documentFormattingEdits&&s.push(e.registerDocumentFormattingEditProvider(n,new r(g))),c.documentRangeFormattingEdits&&s.push(e.registerDocumentRangeFormattingEditProvider(n,new i(g)))}return y(),n.push(C(s)),C(n)}function C(e){return{dispose:()=>w(e)}}function w(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,S as setupMode,n as toRange,y as toTextEdit}; \ No newline at end of file diff --git a/web/app/assets/cssMode-9eMH14rY.js b/web/app/assets/cssMode-CscEBWSh.js similarity index 95% rename from web/app/assets/cssMode-9eMH14rY.js rename to web/app/assets/cssMode-CscEBWSh.js index 8c4ca569..aea0b323 100644 --- a/web/app/assets/cssMode-9eMH14rY.js +++ b/web/app/assets/cssMode-CscEBWSh.js @@ -1 +1 @@ -import{p as e,s as t}from"./initMonaco-CzdlaNu8.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-DINnP6Mz.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/app/assets/css.worker-CvXBzhp8.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function S(t){let n=[],s=[],c=new x(t);n.push(c);let g=(...e)=>c.getLanguageServiceWorker(...e);function y(){let{languageId:n,modeConfiguration:c}=t;w(s),c.completionItems&&s.push(e.registerCompletionItemProvider(n,new _(g,[`/`,`-`,`:`]))),c.hovers&&s.push(e.registerHoverProvider(n,new a(g))),c.documentHighlights&&s.push(e.registerDocumentHighlightProvider(n,new p(g))),c.definitions&&s.push(e.registerDefinitionProvider(n,new f(g))),c.references&&s.push(e.registerReferenceProvider(n,new o(g))),c.documentSymbols&&s.push(e.registerDocumentSymbolProvider(n,new u(g))),c.rename&&s.push(e.registerRenameProvider(n,new m(g))),c.colors&&s.push(e.registerColorProvider(n,new l(g))),c.foldingRanges&&s.push(e.registerFoldingRangeProvider(n,new v(g))),c.diagnostics&&s.push(new h(n,g,t.onDidChange)),c.selectionRanges&&s.push(e.registerSelectionRangeProvider(n,new d(g))),c.documentFormattingEdits&&s.push(e.registerDocumentFormattingEditProvider(n,new r(g))),c.documentRangeFormattingEdits&&s.push(e.registerDocumentRangeFormattingEditProvider(n,new i(g)))}return y(),n.push(C(s)),C(n)}function C(e){return{dispose:()=>w(e)}}function w(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,S as setupMode,n as toRange,y as toTextEdit}; \ No newline at end of file +import{p as e,s as t}from"./initMonaco-CvAS2Es9.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-CyUInuAF.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/css/cssWorker`,createWorker:()=>new Worker(new URL(`/app/assets/css.worker-CvXBzhp8.js`,``+import.meta.url),{type:`module`}),label:this._defaults.languageId,createData:{options:this._defaults.options,languageId:this._defaults.languageId}}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}};function S(t){let n=[],s=[],c=new x(t);n.push(c);let g=(...e)=>c.getLanguageServiceWorker(...e);function y(){let{languageId:n,modeConfiguration:c}=t;w(s),c.completionItems&&s.push(e.registerCompletionItemProvider(n,new _(g,[`/`,`-`,`:`]))),c.hovers&&s.push(e.registerHoverProvider(n,new a(g))),c.documentHighlights&&s.push(e.registerDocumentHighlightProvider(n,new p(g))),c.definitions&&s.push(e.registerDefinitionProvider(n,new f(g))),c.references&&s.push(e.registerReferenceProvider(n,new o(g))),c.documentSymbols&&s.push(e.registerDocumentSymbolProvider(n,new u(g))),c.rename&&s.push(e.registerRenameProvider(n,new m(g))),c.colors&&s.push(e.registerColorProvider(n,new l(g))),c.foldingRanges&&s.push(e.registerFoldingRangeProvider(n,new v(g))),c.diagnostics&&s.push(new h(n,g,t.onDidChange)),c.selectionRanges&&s.push(e.registerSelectionRangeProvider(n,new d(g))),c.documentFormattingEdits&&s.push(e.registerDocumentFormattingEditProvider(n,new r(g))),c.documentRangeFormattingEdits&&s.push(e.registerDocumentRangeFormattingEditProvider(n,new i(g)))}return y(),n.push(C(s)),C(n)}function C(e){return{dispose:()=>w(e)}}function w(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,S as setupMode,n as toRange,y as toTextEdit}; \ No newline at end of file diff --git a/web/app/assets/execDetailGrouping-DLvg5pqf.js b/web/app/assets/execDetailGrouping-DLvg5pqf.js deleted file mode 100644 index 46d2bb23..00000000 --- a/web/app/assets/execDetailGrouping-DLvg5pqf.js +++ /dev/null @@ -1,2 +0,0 @@ -import{Ar as e,At as t,Nt as n}from"./index-DZEQidkT.js";import{t as r}from"./usePageAutoRefresh-_5-kEzKg.js";var i=8e3,a=3e4;function o(o,s){let{runningItems:c}=n();r(async()=>{s?.enabled&&!s.enabled()||await o(!0)},()=>c.value.length>0?i:a);let l=t(()=>{s?.enabled&&!s.enabled()||o(!1)});e(()=>{l()})}function s(e){return e.replace(/\b\d{1,3}(?:\.\d{1,3}){3}\b/g,``).replace(/:\d{2,5}\b/g,`:`).replace(/\/[^\s'"]+/g,`/`).replace(/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,``).replace(/\s+/g,` `).trim()}function c(e){let t=e.trim();return!t||t===`—`?`未知错误`:s(t.split(` -`)[0]?.trim()||t).slice(0,200)||`未知错误`}function l(e){let t=new Map;for(let n of e){if(!n.failed)continue;let e=c(n.summary),r=t.get(e);r?r.push(n):t.set(e,[n])}return[...t.entries()].map(([e,t])=>({errorKey:e,rows:t.sort((e,t)=>e.serverName.localeCompare(t.serverName,`zh`)),count:t.length})).sort((e,t)=>t.count-e.count||e.errorKey.localeCompare(t.errorKey,`zh`))}export{o as n,l as t}; \ No newline at end of file diff --git a/web/app/assets/execDetailGrouping-D7x-TKlJ.js b/web/app/assets/execDetailGrouping-DS4ZxwW6.js similarity index 87% rename from web/app/assets/execDetailGrouping-D7x-TKlJ.js rename to web/app/assets/execDetailGrouping-DS4ZxwW6.js index c6cad8af..ff2faf7e 100644 --- a/web/app/assets/execDetailGrouping-D7x-TKlJ.js +++ b/web/app/assets/execDetailGrouping-DS4ZxwW6.js @@ -1,2 +1,2 @@ -import{Ar as e,At as t,Nt as n}from"./index-DawRgH7u.js";import{t as r}from"./usePageAutoRefresh-CtJ56HJY.js";var i=8e3,a=3e4;function o(o,s){let{runningItems:c}=n();r(async()=>{s?.enabled&&!s.enabled()||await o(!0)},()=>c.value.length>0?i:a);let l=t(()=>{s?.enabled&&!s.enabled()||o(!1)});e(()=>{l()})}function s(e){return e.replace(/\b\d{1,3}(?:\.\d{1,3}){3}\b/g,``).replace(/:\d{2,5}\b/g,`:`).replace(/\/[^\s'"]+/g,`/`).replace(/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,``).replace(/\s+/g,` `).trim()}function c(e){let t=e.trim();return!t||t===`—`?`未知错误`:s(t.split(` +import{Ar as e,At as t,Nt as n}from"./index-Bplw5zZe.js";import{t as r}from"./usePageAutoRefresh-B7w3XG1Y.js";var i=8e3,a=3e4;function o(o,s){let{runningItems:c}=n();r(async()=>{s?.enabled&&!s.enabled()||await o(!0)},()=>c.value.length>0?i:a);let l=t(()=>{s?.enabled&&!s.enabled()||o(!1)});e(()=>{l()})}function s(e){return e.replace(/\b\d{1,3}(?:\.\d{1,3}){3}\b/g,``).replace(/:\d{2,5}\b/g,`:`).replace(/\/[^\s'"]+/g,`/`).replace(/\b[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\b/gi,``).replace(/\s+/g,` `).trim()}function c(e){let t=e.trim();return!t||t===`—`?`未知错误`:s(t.split(` `)[0]?.trim()||t).slice(0,200)||`未知错误`}function l(e){let t=new Map;for(let n of e){if(!n.failed)continue;let e=c(n.summary),r=t.get(e);r?r.push(n):t.set(e,[n])}return[...t.entries()].map(([e,t])=>({errorKey:e,rows:t.sort((e,t)=>e.serverName.localeCompare(t.serverName,`zh`)),count:t.length})).sort((e,t)=>t.count-e.count||e.errorKey.localeCompare(t.errorKey,`zh`))}export{o as n,l as t}; \ No newline at end of file diff --git a/web/app/assets/freemarker2-Cnh8hTW7.js b/web/app/assets/freemarker2-Cnh8hTW7.js deleted file mode 100644 index b75c3fb1..00000000 --- a/web/app/assets/freemarker2-Cnh8hTW7.js +++ /dev/null @@ -1,3 +0,0 @@ -import{p as e}from"./initMonaco-BdzAW2O1.js";var t=[`assign`,`flush`,`ftl`,`return`,`global`,`import`,`include`,`break`,`continue`,`local`,`nested`,`nt`,`setting`,`stop`,`t`,`lt`,`rt`,`fallback`],n=[`attempt`,`autoesc`,`autoEsc`,`compress`,`comment`,`escape`,`noescape`,`function`,`if`,`list`,`items`,`sep`,`macro`,`noparse`,`noParse`,`noautoesc`,`noAutoEsc`,`outputformat`,`switch`,`visit`,`recurse`],r={close:`>`,id:`angle`,open:`<`},i={close:`\\]`,id:`bracket`,open:`\\[`},a={close:`[>\\]]`,id:`auto`,open:`[<\\[]`},o={close:`\\}`,id:`dollar`,open1:`\\$`,open2:`\\{`},s={close:`\\]`,id:`bracket`,open1:`\\[`,open2:`=`};function c(r){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],comments:{blockComment:[`${r.open}--`,`--${r.close}`]},autoCloseBefore:` -\r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`${r.open}#(?:${n.join(`|`)})([^/${r.close}]*(?!/)${r.close})[^${r.open}]*$`),end:RegExp(`${r.open}/#(?:${n.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`${r.open}#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/${r.close}]*(?!/)${r.close})[^${r.open}]*$`),afterText:RegExp(`^${r.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${r.close}$`),action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`${r.open}#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/${r.close}]*(?!/)${r.close})[^${r.open}]*$`),action:{indentAction:e.IndentAction.Indent}}]}}function l(){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],autoCloseBefore:` -\r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`[<\\[]#(?:${n.join(`|`)})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:RegExp(`[<\\[]/#(?:${n.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`[<\\[]#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:RegExp(`^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$`),action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`[<\\[]#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:e.IndentAction.Indent}}]}}function u(e,t){let n=`_${e.id}_${t.id}`,r=e=>e.replace(/__id__/g,n),i=e=>{let t=e.source.replace(/__id__/g,n);return new RegExp(t,e.flags)};return{unicode:!0,includeLF:!1,start:r(`default__id__`),ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],[r(`open__id__`)]:new RegExp(e.open),[r(`close__id__`)]:new RegExp(e.close),[r(`iOpen1__id__`)]:new RegExp(t.open1),[r(`iOpen2__id__`)]:new RegExp(t.open2),[r(`iClose__id__`)]:new RegExp(t.close),[r(`startTag__id__`)]:i(/(@open__id__)(#)/),[r(`endTag__id__`)]:i(/(@open__id__)(\/#)/),[r(`startOrEndTag__id__`)]:i(/(@open__id__)(\/?#)/),[r(`closeTag1__id__`)]:i(/((?:@blank)*)(@close__id__)/),[r(`closeTag2__id__`)]:i(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:[`false`,`true`,`in`,`as`,`using`],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:[`->`,`->`],delimiters:[`;`,`:`,`,`,`.`],stringOperators:[`lte`,`lt`,`gte`,`gt`],noParseTags:[`noparse`,`noParse`,`comment`],tokenizer:{[r(`default__id__`)]:[{include:r(`@directive_token__id__`)},{include:r(`@interpolation_and_text_token__id__`)}],[r(`fmExpression__id__.directive`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`fmExpression__id__.interpolation`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`inParen__id__.plain`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`inParen__id__.gt`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`noSpaceExpression__id__`)]:[{include:r(`@no_space_expression_end_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`unifiedCall__id__`)]:[{include:r(`@unified_call_token__id__`)}],[r(`singleString__id__`)]:[{include:r(`@string_single_token__id__`)}],[r(`doubleString__id__`)]:[{include:r(`@string_double_token__id__`)}],[r(`rawSingleString__id__`)]:[{include:r(`@string_single_raw_token__id__`)}],[r(`rawDoubleString__id__`)]:[{include:r(`@string_double_raw_token__id__`)}],[r(`expressionComment__id__`)]:[{include:r(`@expression_comment_token__id__`)}],[r(`noParse__id__`)]:[{include:r(`@no_parse_token__id__`)}],[r(`terseComment__id__`)]:[{include:r(`@terse_comment_token__id__`)}],[r(`directive_token__id__`)]:[[i(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{cases:{"@noParseTags":{token:`tag`,next:r(`@noParse__id__.$3`)},"@default":{token:`tag`}}},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)(@)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`,next:r(`@unifiedCall__id__`)}]],[i(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)#--/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:{token:`comment`,next:r(`@terseComment__id__`)}],[i(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag.invalid`,next:r(`@fmExpression__id__.directive`)}]]],[r(`interpolation_and_text_token__id__`)]:[[i(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:t.id===`bracket`?`@brackets.interpolation`:`delimiter.interpolation`},{token:t.id===`bracket`?`delimiter.interpolation`:`@brackets.interpolation`,next:r(`@fmExpression__id__.interpolation`)}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:`source`}]],[r(`string_single_token__id__`)]:[[/[^'\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/'/,{token:`string`,next:`@pop`}]],[r(`string_double_token__id__`)]:[[/[^"\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/"/,{token:`string`,next:`@pop`}]],[r(`string_single_raw_token__id__`)]:[[/[^']+/,{token:`string.raw`}],[/'/,{token:`string.raw`,next:`@pop`}]],[r(`string_double_raw_token__id__`)]:[[/[^"]+/,{token:`string.raw`}],[/"/,{token:`string.raw`,next:`@pop`}]],[r(`expression_token__id__`)]:[[/(r?)(['"])/,{cases:{"r'":[{token:`keyword`},{token:`string.raw`,next:r(`@rawSingleString__id__`)}],'r"':[{token:`keyword`},{token:`string.raw`,next:r(`@rawDoubleString__id__`)}],"'":[{token:`source`},{token:`string`,next:r(`@singleString__id__`)}],'"':[{token:`source`},{token:`string`,next:r(`@doubleString__id__`)}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:`number`},"@default":{token:`number.float`}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:`delimiter`},{token:``},{token:`identifier`}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:`meta.arrow`},"@delimiters":{token:`delimiter`},"@default":{token:`operators`}}}],[/@id/,{cases:{"@keywords":{token:`keyword.$0`},"@stringOperators":{token:`operators`},"@default":{token:`identifier`}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\]":{cases:{...t.id===`bracket`?{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}}:{},...e.id===`bracket`?{"$S2==directive":{token:`@brackets.directive`,next:`@popall`}}:{},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\(":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"\\)":{cases:{[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\{":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\}":{cases:{...t.id===`bracket`?{}:{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}}}}],[/\$\{/,{token:`delimiter.invalid`}]],[r(`blank_and_expression_comment_token__id__`)]:[[/(?:@blank)+/,{token:``}],[/[<\[][#!]--/,{token:`comment`,next:r(`@expressionComment__id__`)}]],[r(`directive_end_token__id__`)]:[[/>/,e.id===`bracket`?{token:`operators`}:{token:`@brackets.directive`,next:`@popall`}],[i(/(\/)(@close__id__)/),[{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]]],[r(`greater_operators_token__id__`)]:[[/>/,{token:`operators`}],[/>=/,{token:`operators`}]],[r(`no_space_expression_end_token__id__`)]:[[/(?:@blank)+/,{token:``,switchTo:r(`@fmExpression__id__.directive`)}]],[r(`unified_call_token__id__`)]:[[/(@id)((?:@blank)+)/,[{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(@id)(\/?)(@close__id__)/),[{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]],[/./,{token:`@rematch`,next:r(`@noSpaceExpression__id__`)}]],[r(`no_parse_token__id__`)]:[[i(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``},{token:`@brackets.directive`,next:`@popall`}],"$S2==comment":[{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`}],"@default":[{token:`source`},{token:`source`},{token:`source`},{token:`source`},{token:`source`}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:`comment`},"@default":{token:`source`}}}]],[r(`expression_comment_token__id__`)]:[[/--[>\]]/,{token:`comment`,next:`@pop`}],[/[^\->\]]+|[>\]\-]/,{token:`comment`}]],[r(`terse_comment_token__id__`)]:[[i(/--(?:@close__id__)/),{token:`comment`,next:`@popall`}],[/[^<\[\-]+|[<\[\-]/,{token:`comment`}]]}}}function d(e){let t=u(r,e),n=u(i,e),o=u(a,e);return{...t,...n,...o,unicode:!0,includeLF:!1,start:`default_auto_${e.id}`,ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],tokenizer:{...t.tokenizer,...n.tokenizer,...o.tokenizer}}}var f={conf:c(r),language:u(r,o)},p={conf:c(i),language:u(i,o)},m={conf:c(r),language:u(r,s)},h={conf:c(i),language:u(i,s)},g={conf:l(),language:d(o)},_={conf:l(),language:d(s)};export{m as TagAngleInterpolationBracket,f as TagAngleInterpolationDollar,_ as TagAutoInterpolationBracket,g as TagAutoInterpolationDollar,h as TagBracketInterpolationBracket,p as TagBracketInterpolationDollar}; \ No newline at end of file diff --git a/web/app/assets/freemarker2-B_FkM1gP.js b/web/app/assets/freemarker2-Couaj2b-.js similarity index 99% rename from web/app/assets/freemarker2-B_FkM1gP.js rename to web/app/assets/freemarker2-Couaj2b-.js index 33858451..2d094654 100644 --- a/web/app/assets/freemarker2-B_FkM1gP.js +++ b/web/app/assets/freemarker2-Couaj2b-.js @@ -1,3 +1,3 @@ -import{p as e}from"./initMonaco-CzdlaNu8.js";var t=[`assign`,`flush`,`ftl`,`return`,`global`,`import`,`include`,`break`,`continue`,`local`,`nested`,`nt`,`setting`,`stop`,`t`,`lt`,`rt`,`fallback`],n=[`attempt`,`autoesc`,`autoEsc`,`compress`,`comment`,`escape`,`noescape`,`function`,`if`,`list`,`items`,`sep`,`macro`,`noparse`,`noParse`,`noautoesc`,`noAutoEsc`,`outputformat`,`switch`,`visit`,`recurse`],r={close:`>`,id:`angle`,open:`<`},i={close:`\\]`,id:`bracket`,open:`\\[`},a={close:`[>\\]]`,id:`auto`,open:`[<\\[]`},o={close:`\\}`,id:`dollar`,open1:`\\$`,open2:`\\{`},s={close:`\\]`,id:`bracket`,open1:`\\[`,open2:`=`};function c(r){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],comments:{blockComment:[`${r.open}--`,`--${r.close}`]},autoCloseBefore:` +import{p as e}from"./initMonaco-CvAS2Es9.js";var t=[`assign`,`flush`,`ftl`,`return`,`global`,`import`,`include`,`break`,`continue`,`local`,`nested`,`nt`,`setting`,`stop`,`t`,`lt`,`rt`,`fallback`],n=[`attempt`,`autoesc`,`autoEsc`,`compress`,`comment`,`escape`,`noescape`,`function`,`if`,`list`,`items`,`sep`,`macro`,`noparse`,`noParse`,`noautoesc`,`noAutoEsc`,`outputformat`,`switch`,`visit`,`recurse`],r={close:`>`,id:`angle`,open:`<`},i={close:`\\]`,id:`bracket`,open:`\\[`},a={close:`[>\\]]`,id:`auto`,open:`[<\\[]`},o={close:`\\}`,id:`dollar`,open1:`\\$`,open2:`\\{`},s={close:`\\]`,id:`bracket`,open1:`\\[`,open2:`=`};function c(r){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],comments:{blockComment:[`${r.open}--`,`--${r.close}`]},autoCloseBefore:` \r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`${r.open}#(?:${n.join(`|`)})([^/${r.close}]*(?!/)${r.close})[^${r.open}]*$`),end:RegExp(`${r.open}/#(?:${n.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`${r.open}#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/${r.close}]*(?!/)${r.close})[^${r.open}]*$`),afterText:RegExp(`^${r.open}/#([a-zA-Z_]+)[\\r\\n\\t ]*${r.close}$`),action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`${r.open}#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/${r.close}]*(?!/)${r.close})[^${r.open}]*$`),action:{indentAction:e.IndentAction.Indent}}]}}function l(){return{brackets:[[`<`,`>`],[`[`,`]`],[`(`,`)`],[`{`,`}`]],autoCloseBefore:` \r }]),.:;=`,autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`,notIn:[`string`]},{open:`'`,close:`'`,notIn:[`string`]}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],folding:{markers:{start:RegExp(`[<\\[]#(?:${n.join(`|`)})([^/>\\]]*(?!/)[>\\]])[^<\\[]*$`),end:RegExp(`[<\\[]/#(?:${n.join(`|`)})[\\r\\n\\t ]*>`)}},onEnterRules:[{beforeText:RegExp(`[<\\[]#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),afterText:RegExp(`^[<\\[]/#([a-zA-Z_]+)[\\r\\n\\t ]*[>\\]]$`),action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`[<\\[]#(?!(?:${t.join(`|`)}))([a-zA-Z_]+)([^/>\\]]*(?!/)[>\\]])[^[<\\[]]*$`),action:{indentAction:e.IndentAction.Indent}}]}}function u(e,t){let n=`_${e.id}_${t.id}`,r=e=>e.replace(/__id__/g,n),i=e=>{let t=e.source.replace(/__id__/g,n);return new RegExp(t,e.flags)};return{unicode:!0,includeLF:!1,start:r(`default__id__`),ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],[r(`open__id__`)]:new RegExp(e.open),[r(`close__id__`)]:new RegExp(e.close),[r(`iOpen1__id__`)]:new RegExp(t.open1),[r(`iOpen2__id__`)]:new RegExp(t.open2),[r(`iClose__id__`)]:new RegExp(t.close),[r(`startTag__id__`)]:i(/(@open__id__)(#)/),[r(`endTag__id__`)]:i(/(@open__id__)(\/#)/),[r(`startOrEndTag__id__`)]:i(/(@open__id__)(\/?#)/),[r(`closeTag1__id__`)]:i(/((?:@blank)*)(@close__id__)/),[r(`closeTag2__id__`)]:i(/((?:@blank)*\/?)(@close__id__)/),blank:/[ \t\n\r]/,keywords:[`false`,`true`,`in`,`as`,`using`],directiveStartCloseTag1:/attempt|recover|sep|auto[eE]sc|no(?:autoe|AutoE)sc|compress|default|no[eE]scape|comment|no[pP]arse/,directiveStartCloseTag2:/else|break|continue|return|stop|flush|t|lt|rt|nt|nested|recurse|fallback|ftl/,directiveStartBlank:/if|else[iI]f|list|for[eE]ach|switch|case|assign|global|local|include|import|function|macro|transform|visit|stop|return|call|setting|output[fF]ormat|nested|recurse|escape|ftl|items/,directiveEndCloseTag1:/if|list|items|sep|recover|attempt|for[eE]ach|local|global|assign|function|macro|output[fF]ormat|auto[eE]sc|no(?:autoe|AutoE)sc|compress|transform|switch|escape|no[eE]scape/,escapedChar:/\\(?:[ntrfbgla\\'"\{=]|(?:x[0-9A-Fa-f]{1,4}))/,asciiDigit:/[0-9]/,integer:/[0-9]+/,nonEscapedIdStartChar:/[\$@-Z_a-z\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u1FFF\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183-\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3006\u3031-\u3035\u303B-\u303C\u3040-\u318F\u31A0-\u31BA\u31F0-\u31FF\u3300-\u337F\u3400-\u4DB5\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5-\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40-\uFB41\uFB43-\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/,escapedIdChar:/\\[\-\.:#]/,idStartChar:/(?:@nonEscapedIdStartChar)|(?:@escapedIdChar)/,id:/(?:@idStartChar)(?:(?:@idStartChar)|(?:@asciiDigit))*/,specialHashKeys:/\*\*|\*|false|true|in|as|using/,namedSymbols:/<=|>=|\\lte|\\lt|<|\\gte|\\gt|>|&&|\\and|->|->|==|!=|\+=|-=|\*=|\/=|%=|\+\+|--|<=|&&|\|\||:|\.\.\.|\.\.\*|\.\.<|\.\.!|\?\?|=|<|\+|-|\*|\/|%|\||\.\.|\?|!|&|\.|,|;/,arrows:[`->`,`->`],delimiters:[`;`,`:`,`,`,`.`],stringOperators:[`lte`,`lt`,`gte`,`gt`],noParseTags:[`noparse`,`noParse`,`comment`],tokenizer:{[r(`default__id__`)]:[{include:r(`@directive_token__id__`)},{include:r(`@interpolation_and_text_token__id__`)}],[r(`fmExpression__id__.directive`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`fmExpression__id__.interpolation`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`inParen__id__.plain`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`inParen__id__.gt`)]:[{include:r(`@blank_and_expression_comment_token__id__`)},{include:r(`@expression_token__id__`)},{include:r(`@greater_operators_token__id__`)}],[r(`noSpaceExpression__id__`)]:[{include:r(`@no_space_expression_end_token__id__`)},{include:r(`@directive_end_token__id__`)},{include:r(`@expression_token__id__`)}],[r(`unifiedCall__id__`)]:[{include:r(`@unified_call_token__id__`)}],[r(`singleString__id__`)]:[{include:r(`@string_single_token__id__`)}],[r(`doubleString__id__`)]:[{include:r(`@string_double_token__id__`)}],[r(`rawSingleString__id__`)]:[{include:r(`@string_single_raw_token__id__`)}],[r(`rawDoubleString__id__`)]:[{include:r(`@string_double_raw_token__id__`)}],[r(`expressionComment__id__`)]:[{include:r(`@expression_comment_token__id__`)}],[r(`noParse__id__`)]:[{include:r(`@no_parse_token__id__`)}],[r(`terseComment__id__`)]:[{include:r(`@terse_comment_token__id__`)}],[r(`directive_token__id__`)]:[[i(/(?:@startTag__id__)(@directiveStartCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{cases:{"@noParseTags":{token:`tag`,next:r(`@noParse__id__.$3`)},"@default":{token:`tag`}}},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartCloseTag2)(?:@closeTag2__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(?:@startTag__id__)(@directiveStartBlank)(@blank)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(?:@endTag__id__)(@directiveEndCloseTag1)(?:@closeTag1__id__)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)(@)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`,next:r(`@unifiedCall__id__`)}]],[i(/(@open__id__)(\/@)((?:(?:@id)(?:\.(?:@id))*)?)(?:@closeTag1__id__)/),[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`}]],[i(/(@open__id__)#--/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:{token:`comment`,next:r(`@terseComment__id__`)}],[i(/(?:@startOrEndTag__id__)([a-zA-Z_]+)/),e.id===`auto`?{cases:{"$1==<":{token:`@rematch`,switchTo:`@default_angle_${t.id}`},"$1==[":{token:`@rematch`,switchTo:`@default_bracket_${t.id}`}}}:[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag.invalid`,next:r(`@fmExpression__id__.directive`)}]]],[r(`interpolation_and_text_token__id__`)]:[[i(/(@iOpen1__id__)(@iOpen2__id__)/),[{token:t.id===`bracket`?`@brackets.interpolation`:`delimiter.interpolation`},{token:t.id===`bracket`?`delimiter.interpolation`:`@brackets.interpolation`,next:r(`@fmExpression__id__.interpolation`)}]],[/[\$#<\[\{]|(?:@blank)+|[^\$<#\[\{\n\r\t ]+/,{token:`source`}]],[r(`string_single_token__id__`)]:[[/[^'\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/'/,{token:`string`,next:`@pop`}]],[r(`string_double_token__id__`)]:[[/[^"\\]/,{token:`string`}],[/@escapedChar/,{token:`string.escape`}],[/"/,{token:`string`,next:`@pop`}]],[r(`string_single_raw_token__id__`)]:[[/[^']+/,{token:`string.raw`}],[/'/,{token:`string.raw`,next:`@pop`}]],[r(`string_double_raw_token__id__`)]:[[/[^"]+/,{token:`string.raw`}],[/"/,{token:`string.raw`,next:`@pop`}]],[r(`expression_token__id__`)]:[[/(r?)(['"])/,{cases:{"r'":[{token:`keyword`},{token:`string.raw`,next:r(`@rawSingleString__id__`)}],'r"':[{token:`keyword`},{token:`string.raw`,next:r(`@rawDoubleString__id__`)}],"'":[{token:`source`},{token:`string`,next:r(`@singleString__id__`)}],'"':[{token:`source`},{token:`string`,next:r(`@doubleString__id__`)}]}}],[/(?:@integer)(?:\.(?:@integer))?/,{cases:{"(?:@integer)":{token:`number`},"@default":{token:`number.float`}}}],[/(\.)(@blank*)(@specialHashKeys)/,[{token:`delimiter`},{token:``},{token:`identifier`}]],[/(?:@namedSymbols)/,{cases:{"@arrows":{token:`meta.arrow`},"@delimiters":{token:`delimiter`},"@default":{token:`operators`}}}],[/@id/,{cases:{"@keywords":{token:`keyword.$0`},"@stringOperators":{token:`operators`},"@default":{token:`identifier`}}}],[/[\[\]\(\)\{\}]/,{cases:{"\\[":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\]":{cases:{...t.id===`bracket`?{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}}:{},...e.id===`bracket`?{"$S2==directive":{token:`@brackets.directive`,next:`@popall`}}:{},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\(":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"\\)":{cases:{[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}},"\\{":{cases:{"$S2==gt":{token:`@brackets`,next:r(`@inParen__id__.gt`)},"@default":{token:`@brackets`,next:r(`@inParen__id__.plain`)}}},"\\}":{cases:{...t.id===`bracket`?{}:{"$S2==interpolation":{token:`@brackets.interpolation`,next:`@popall`}},[r(`$S1==inParen__id__`)]:{token:`@brackets`,next:`@pop`},"@default":{token:`@brackets`}}}}}],[/\$\{/,{token:`delimiter.invalid`}]],[r(`blank_and_expression_comment_token__id__`)]:[[/(?:@blank)+/,{token:``}],[/[<\[][#!]--/,{token:`comment`,next:r(`@expressionComment__id__`)}]],[r(`directive_end_token__id__`)]:[[/>/,e.id===`bracket`?{token:`operators`}:{token:`@brackets.directive`,next:`@popall`}],[i(/(\/)(@close__id__)/),[{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]]],[r(`greater_operators_token__id__`)]:[[/>/,{token:`operators`}],[/>=/,{token:`operators`}]],[r(`no_space_expression_end_token__id__`)]:[[/(?:@blank)+/,{token:``,switchTo:r(`@fmExpression__id__.directive`)}]],[r(`unified_call_token__id__`)]:[[/(@id)((?:@blank)+)/,[{token:`tag`},{token:``,next:r(`@fmExpression__id__.directive`)}]],[i(/(@id)(\/?)(@close__id__)/),[{token:`tag`},{token:`delimiter.directive`},{token:`@brackets.directive`,next:`@popall`}]],[/./,{token:`@rematch`,next:r(`@noSpaceExpression__id__`)}]],[r(`no_parse_token__id__`)]:[[i(/(@open__id__)(\/#?)([a-zA-Z]+)((?:@blank)*)(@close__id__)/),{cases:{"$S2==$3":[{token:`@brackets.directive`},{token:`delimiter.directive`},{token:`tag`},{token:``},{token:`@brackets.directive`,next:`@popall`}],"$S2==comment":[{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`},{token:`comment`}],"@default":[{token:`source`},{token:`source`},{token:`source`},{token:`source`},{token:`source`}]}}],[/[^<\[\-]+|[<\[\-]/,{cases:{"$S2==comment":{token:`comment`},"@default":{token:`source`}}}]],[r(`expression_comment_token__id__`)]:[[/--[>\]]/,{token:`comment`,next:`@pop`}],[/[^\->\]]+|[>\]\-]/,{token:`comment`}]],[r(`terse_comment_token__id__`)]:[[i(/--(?:@close__id__)/),{token:`comment`,next:`@popall`}],[/[^<\[\-]+|[<\[\-]/,{token:`comment`}]]}}}function d(e){let t=u(r,e),n=u(i,e),o=u(a,e);return{...t,...n,...o,unicode:!0,includeLF:!1,start:`default_auto_${e.id}`,ignoreCase:!1,defaultToken:`invalid`,tokenPostfix:`.freemarker2`,brackets:[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}],tokenizer:{...t.tokenizer,...n.tokenizer,...o.tokenizer}}}var f={conf:c(r),language:u(r,o)},p={conf:c(i),language:u(i,o)},m={conf:c(r),language:u(r,s)},h={conf:c(i),language:u(i,s)},g={conf:l(),language:d(o)},_={conf:l(),language:d(s)};export{m as TagAngleInterpolationBracket,f as TagAngleInterpolationDollar,_ as TagAutoInterpolationBracket,g as TagAutoInterpolationDollar,h as TagBracketInterpolationBracket,p as TagBracketInterpolationDollar}; \ No newline at end of file diff --git a/web/app/assets/handlebars-9TU1NdfX.js b/web/app/assets/handlebars-0IVx-PP6.js similarity index 98% rename from web/app/assets/handlebars-9TU1NdfX.js rename to web/app/assets/handlebars-0IVx-PP6.js index ba77c8f5..79255a62 100644 --- a/web/app/assets/handlebars-9TU1NdfX.js +++ b/web/app/assets/handlebars-0IVx-PP6.js @@ -1 +1 @@ -import{p as e}from"./initMonaco-CzdlaNu8.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`{{!--`,`--}}`]},brackets:[[``],[`<`,`>`],[`{{`,`}}`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},r={defaultToken:``,tokenPostfix:``,tokenizer:{root:[[/\{\{!--/,`comment.block.start.handlebars`,`@commentBlock`],[/\{\{!/,`comment.start.handlebars`,`@comment`],[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.root`}],[/)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)(script)/,[`delimiter.html`,{token:`tag.html`,next:`@script`}]],[/(<)(style)/,[`delimiter.html`,{token:`tag.html`,next:`@style`}]],[/(<)([:\w]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)(\w+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/]+/,`metatag.content.html`],[/>/,`metatag.html`,`@pop`]],comment:[[/\}\}/,`comment.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentBlock:[[/--\}\}/,`comment.block.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentHtml:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/-->/,`comment.html`,`@pop`],[/[^-]+/,`comment.content.html`],[/./,`comment.content.html`]],otherTag:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.script`}],[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],scriptAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterType`}],[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.scriptEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],style:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.style`}],[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],styleAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterType`}],[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.styleEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],handlebarsInSimpleState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`}],{include:`handlebarsRoot`}],handlebarsInEmbeddedState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}],{include:`handlebarsRoot`}],handlebarsRoot:[[/"[^"]*"/,`string.handlebars`],[/[#/][^\s}]+/,`keyword.helper.handlebars`],[/else\b/,`keyword.helper.handlebars`],[/[\s]+/],[/[^}]/,`variable.parameter.handlebars`]]}};export{n as conf,r as language}; \ No newline at end of file +import{p as e}from"./initMonaco-CvAS2Es9.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`{{!--`,`--}}`]},brackets:[[``],[`<`,`>`],[`{{`,`}}`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},r={defaultToken:``,tokenPostfix:``,tokenizer:{root:[[/\{\{!--/,`comment.block.start.handlebars`,`@commentBlock`],[/\{\{!/,`comment.start.handlebars`,`@comment`],[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.root`}],[/)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)(script)/,[`delimiter.html`,{token:`tag.html`,next:`@script`}]],[/(<)(style)/,[`delimiter.html`,{token:`tag.html`,next:`@style`}]],[/(<)([:\w]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)(\w+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/]+/,`metatag.content.html`],[/>/,`metatag.html`,`@pop`]],comment:[[/\}\}/,`comment.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentBlock:[[/--\}\}/,`comment.block.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentHtml:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/-->/,`comment.html`,`@pop`],[/[^-]+/,`comment.content.html`],[/./,`comment.content.html`]],otherTag:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.script`}],[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],scriptAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterType`}],[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.scriptEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],style:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.style`}],[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],styleAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterType`}],[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.styleEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],handlebarsInSimpleState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`}],{include:`handlebarsRoot`}],handlebarsInEmbeddedState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}],{include:`handlebarsRoot`}],handlebarsRoot:[[/"[^"]*"/,`string.handlebars`],[/[#/][^\s}]+/,`keyword.helper.handlebars`],[/else\b/,`keyword.helper.handlebars`],[/[\s]+/],[/[^}]/,`variable.parameter.handlebars`]]}};export{n as conf,r as language}; \ No newline at end of file diff --git a/web/app/assets/handlebars-BRHUlbMf.js b/web/app/assets/handlebars-BRHUlbMf.js deleted file mode 100644 index d12b87ee..00000000 --- a/web/app/assets/handlebars-BRHUlbMf.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e}from"./initMonaco-BdzAW2O1.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[`{{!--`,`--}}`]},brackets:[[``],[`<`,`>`],[`{{`,`}}`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/(\w[\w\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}]},r={defaultToken:``,tokenPostfix:``,tokenizer:{root:[[/\{\{!--/,`comment.block.start.handlebars`,`@commentBlock`],[/\{\{!/,`comment.start.handlebars`,`@comment`],[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.root`}],[/)/,[`delimiter.html`,`tag.html`,`delimiter.html`]],[/(<)(script)/,[`delimiter.html`,{token:`tag.html`,next:`@script`}]],[/(<)(style)/,[`delimiter.html`,{token:`tag.html`,next:`@style`}]],[/(<)([:\w]+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/(<\/)(\w+)/,[`delimiter.html`,{token:`tag.html`,next:`@otherTag`}]],[/]+/,`metatag.content.html`],[/>/,`metatag.html`,`@pop`]],comment:[[/\}\}/,`comment.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentBlock:[[/--\}\}/,`comment.block.end.handlebars`,`@pop`],[/./,`comment.content.handlebars`]],commentHtml:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.comment`}],[/-->/,`comment.html`,`@pop`],[/[^-]+/,`comment.content.html`],[/./,`comment.content.html`]],otherTag:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.otherTag`}],[/\/?>/,`delimiter.html`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.script`}],[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],scriptAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterType`}],[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.text/javascript`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.scriptWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.scriptEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],style:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.style`}],[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter.html`,`tag.html`,{token:`delimiter.html`,next:`@pop`}]]],styleAfterType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterType`}],[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleAfterTypeEquals`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.text/css`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInSimpleState.styleWithCustomType.$S2`}],[/>/,{token:`delimiter.html`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/\{\{/,{token:`@rematch`,switchTo:`@handlebarsInEmbeddedState.styleEmbedded.$S2`,nextEmbedded:`@pop`}],[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}]],handlebarsInSimpleState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`}],{include:`handlebarsRoot`}],handlebarsInEmbeddedState:[[/\{\{\{?/,`delimiter.handlebars`],[/\}\}\}?/,{token:`delimiter.handlebars`,switchTo:`@$S2.$S3`,nextEmbedded:`$S3`}],{include:`handlebarsRoot`}],handlebarsRoot:[[/"[^"]*"/,`string.handlebars`],[/[#/][^\s}]+/,`keyword.helper.handlebars`],[/else\b/,`keyword.helper.handlebars`],[/[\s]+/],[/[^}]/,`variable.parameter.handlebars`]]}};export{n as conf,r as language}; \ No newline at end of file diff --git a/web/app/assets/html-CeTz7O8e.js b/web/app/assets/html-CeTz7O8e.js deleted file mode 100644 index a1220de8..00000000 --- a/web/app/assets/html-CeTz7O8e.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e}from"./initMonaco-CzdlaNu8.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[``]},brackets:[[``],[`<`,`>`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}],folding:{markers:{start:RegExp(`^\\s*`),end:RegExp(`^\\s*`)}}},r={defaultToken:``,tokenPostfix:`.html`,ignoreCase:!0,tokenizer:{root:[[/)/,[`delimiter`,`tag`,``,`delimiter`]],[/(<)(script)/,[`delimiter`,{token:`tag`,next:`@script`}]],[/(<)(style)/,[`delimiter`,{token:`tag`,next:`@style`}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/]+/,`metatag.content`],[/>/,`metatag`,`@pop`]],comment:[[/-->/,`comment`,`@pop`],[/[^-]+/,`comment.content`],[/./,`comment.content`]],otherTag:[[/\/?>/,`delimiter`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],scriptAfterType:[[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/"module"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/'module'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/>/,{token:`delimiter`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]],style:[[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],styleAfterType:[[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/>/,{token:`delimiter`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]]}};export{n as conf,r as language}; \ No newline at end of file diff --git a/web/app/assets/html-BVFwOOwI.js b/web/app/assets/html-DNoJog4z.js similarity index 98% rename from web/app/assets/html-BVFwOOwI.js rename to web/app/assets/html-DNoJog4z.js index 42b56fb5..55845b6b 100644 --- a/web/app/assets/html-BVFwOOwI.js +++ b/web/app/assets/html-DNoJog4z.js @@ -1 +1 @@ -import{p as e}from"./initMonaco-BdzAW2O1.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[``]},brackets:[[``],[`<`,`>`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}],folding:{markers:{start:RegExp(`^\\s*`),end:RegExp(`^\\s*`)}}},r={defaultToken:``,tokenPostfix:`.html`,ignoreCase:!0,tokenizer:{root:[[/)/,[`delimiter`,`tag`,``,`delimiter`]],[/(<)(script)/,[`delimiter`,{token:`tag`,next:`@script`}]],[/(<)(style)/,[`delimiter`,{token:`tag`,next:`@style`}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/]+/,`metatag.content`],[/>/,`metatag`,`@pop`]],comment:[[/-->/,`comment`,`@pop`],[/[^-]+/,`comment.content`],[/./,`comment.content`]],otherTag:[[/\/?>/,`delimiter`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],scriptAfterType:[[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/"module"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/'module'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/>/,{token:`delimiter`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]],style:[[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],styleAfterType:[[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/>/,{token:`delimiter`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]]}};export{n as conf,r as language}; \ No newline at end of file +import{p as e}from"./initMonaco-CvAS2Es9.js";var t=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`keygen`,`link`,`menuitem`,`meta`,`param`,`source`,`track`,`wbr`],n={wordPattern:/(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,comments:{blockComment:[``]},brackets:[[``],[`<`,`>`],[`{`,`}`],[`(`,`)`]],autoClosingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`"`,close:`"`},{open:`'`,close:`'`}],surroundingPairs:[{open:`"`,close:`"`},{open:`'`,close:`'`},{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`}],onEnterRules:[{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),afterText:/^<\/([_:\w][_:\w-.\d]*)\s*>$/i,action:{indentAction:e.IndentAction.IndentOutdent}},{beforeText:RegExp(`<(?!(?:${t.join(`|`)}))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$`,`i`),action:{indentAction:e.IndentAction.Indent}}],folding:{markers:{start:RegExp(`^\\s*`),end:RegExp(`^\\s*`)}}},r={defaultToken:``,tokenPostfix:`.html`,ignoreCase:!0,tokenizer:{root:[[/)/,[`delimiter`,`tag`,``,`delimiter`]],[/(<)(script)/,[`delimiter`,{token:`tag`,next:`@script`}]],[/(<)(style)/,[`delimiter`,{token:`tag`,next:`@style`}]],[/(<)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/(<\/)((?:[\w\-]+:)?[\w\-]+)/,[`delimiter`,{token:`tag`,next:`@otherTag`}]],[/]+/,`metatag.content`],[/>/,`metatag`,`@pop`]],comment:[[/-->/,`comment`,`@pop`],[/[^-]+/,`comment.content`],[/./,`comment.content`]],otherTag:[[/\/?>/,`delimiter`,`@pop`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/]],script:[[/type/,`attribute.name`,`@scriptAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/(<\/)(script\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],scriptAfterType:[[/=/,`delimiter`,`@scriptAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptAfterTypeEquals:[[/"module"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/'module'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.text/javascript`}],[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@scriptWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@scriptEmbedded`,nextEmbedded:`text/javascript`}],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptWithCustomType:[[/>/,{token:`delimiter`,next:`@scriptEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/script\s*>/,{token:`@rematch`,next:`@pop`}]],scriptEmbedded:[[/<\/script/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]],style:[[/type/,`attribute.name`,`@styleAfterType`],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/(<\/)(style\s*)(>)/,[`delimiter`,`tag`,{token:`delimiter`,next:`@pop`}]]],styleAfterType:[[/=/,`delimiter`,`@styleAfterTypeEquals`],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleAfterTypeEquals:[[/"([^"]*)"/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/'([^']*)'/,{token:`attribute.value`,switchTo:`@styleWithCustomType.$1`}],[/>/,{token:`delimiter`,next:`@styleEmbedded`,nextEmbedded:`text/css`}],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleWithCustomType:[[/>/,{token:`delimiter`,next:`@styleEmbedded.$S2`,nextEmbedded:`$S2`}],[/"([^"]*)"/,`attribute.value`],[/'([^']*)'/,`attribute.value`],[/[\w\-]+/,`attribute.name`],[/=/,`delimiter`],[/[ \t\r\n]+/],[/<\/style\s*>/,{token:`@rematch`,next:`@pop`}]],styleEmbedded:[[/<\/style/,{token:`@rematch`,next:`@pop`,nextEmbedded:`@pop`}],[/[^<]+/,``]]}};export{n as conf,r as language}; \ No newline at end of file diff --git a/web/app/assets/htmlMode-DGslHH5N.js b/web/app/assets/htmlMode-DGslHH5N.js deleted file mode 100644 index 5d51e16f..00000000 --- a/web/app/assets/htmlMode-DGslHH5N.js +++ /dev/null @@ -1 +0,0 @@ -import{p as e,s as t}from"./initMonaco-CzdlaNu8.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-DINnP6Mz.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/html/htmlWorker`,createWorker:()=>new Worker(new URL(`/app/assets/html.worker-BO6WuOEO.js`,``+import.meta.url),{type:`module`}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},S=class extends _{constructor(e){super(e,[`.`,`:`,`<`,`"`,`=`,`/`])}};function C(t){let n=new x(t),o=(...e)=>n.getLanguageServiceWorker(...e),s=t.languageId;e.registerCompletionItemProvider(s,new S(o)),e.registerHoverProvider(s,new a(o)),e.registerDocumentHighlightProvider(s,new p(o)),e.registerLinkProvider(s,new g(o)),e.registerFoldingRangeProvider(s,new v(o)),e.registerDocumentSymbolProvider(s,new u(o)),e.registerSelectionRangeProvider(s,new d(o)),e.registerRenameProvider(s,new m(o)),s===`html`&&(e.registerDocumentFormattingEditProvider(s,new r(o)),e.registerDocumentRangeFormattingEditProvider(s,new i(o)))}function w(t){let n=[],o=[],s=new x(t);n.push(s);let c=(...e)=>s.getLanguageServiceWorker(...e);function l(){let{languageId:n,modeConfiguration:s}=t;E(o),s.completionItems&&o.push(e.registerCompletionItemProvider(n,new S(c))),s.hovers&&o.push(e.registerHoverProvider(n,new a(c))),s.documentHighlights&&o.push(e.registerDocumentHighlightProvider(n,new p(c))),s.links&&o.push(e.registerLinkProvider(n,new g(c))),s.documentSymbols&&o.push(e.registerDocumentSymbolProvider(n,new u(c))),s.rename&&o.push(e.registerRenameProvider(n,new m(c))),s.foldingRanges&&o.push(e.registerFoldingRangeProvider(n,new v(c))),s.selectionRanges&&o.push(e.registerSelectionRangeProvider(n,new d(c))),s.documentFormattingEdits&&o.push(e.registerDocumentFormattingEditProvider(n,new r(c))),s.documentRangeFormattingEdits&&o.push(e.registerDocumentRangeFormattingEditProvider(n,new i(c)))}return l(),n.push(T(o)),T(n)}function T(e){return{dispose:()=>E(e)}}function E(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,w as setupMode,C as setupMode1,n as toRange,y as toTextEdit}; \ No newline at end of file diff --git a/web/app/assets/htmlMode-CznTvgCZ.js b/web/app/assets/htmlMode-YP8ByLs9.js similarity index 96% rename from web/app/assets/htmlMode-CznTvgCZ.js rename to web/app/assets/htmlMode-YP8ByLs9.js index b5dac202..9b8d3c31 100644 --- a/web/app/assets/htmlMode-CznTvgCZ.js +++ b/web/app/assets/htmlMode-YP8ByLs9.js @@ -1 +1 @@ -import{p as e,s as t}from"./initMonaco-BdzAW2O1.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-cKKqM8zw.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/html/htmlWorker`,createWorker:()=>new Worker(new URL(`/app/assets/html.worker-BO6WuOEO.js`,``+import.meta.url),{type:`module`}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},S=class extends _{constructor(e){super(e,[`.`,`:`,`<`,`"`,`=`,`/`])}};function C(t){let n=new x(t),o=(...e)=>n.getLanguageServiceWorker(...e),s=t.languageId;e.registerCompletionItemProvider(s,new S(o)),e.registerHoverProvider(s,new a(o)),e.registerDocumentHighlightProvider(s,new p(o)),e.registerLinkProvider(s,new g(o)),e.registerFoldingRangeProvider(s,new v(o)),e.registerDocumentSymbolProvider(s,new u(o)),e.registerSelectionRangeProvider(s,new d(o)),e.registerRenameProvider(s,new m(o)),s===`html`&&(e.registerDocumentFormattingEditProvider(s,new r(o)),e.registerDocumentRangeFormattingEditProvider(s,new i(o)))}function w(t){let n=[],o=[],s=new x(t);n.push(s);let c=(...e)=>s.getLanguageServiceWorker(...e);function l(){let{languageId:n,modeConfiguration:s}=t;E(o),s.completionItems&&o.push(e.registerCompletionItemProvider(n,new S(c))),s.hovers&&o.push(e.registerHoverProvider(n,new a(c))),s.documentHighlights&&o.push(e.registerDocumentHighlightProvider(n,new p(c))),s.links&&o.push(e.registerLinkProvider(n,new g(c))),s.documentSymbols&&o.push(e.registerDocumentSymbolProvider(n,new u(c))),s.rename&&o.push(e.registerRenameProvider(n,new m(c))),s.foldingRanges&&o.push(e.registerFoldingRangeProvider(n,new v(c))),s.selectionRanges&&o.push(e.registerSelectionRangeProvider(n,new d(c))),s.documentFormattingEdits&&o.push(e.registerDocumentFormattingEditProvider(n,new r(c))),s.documentRangeFormattingEdits&&o.push(e.registerDocumentRangeFormattingEditProvider(n,new i(c)))}return l(),n.push(T(o)),T(n)}function T(e){return{dispose:()=>E(e)}}function E(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,w as setupMode,C as setupMode1,n as toRange,y as toTextEdit}; \ No newline at end of file +import{p as e,s as t}from"./initMonaco-CvAS2Es9.js";import{_ as n,a as r,c as i,d as a,f as o,g as s,h as c,i as l,l as u,m as d,n as f,o as p,p as m,r as h,s as g,t as _,u as v,v as y}from"./lspLanguageFeatures-CyUInuAF.js";var b=120*1e3,x=class{constructor(e){this._defaults=e,this._worker=null,this._client=null,this._idleCheckInterval=window.setInterval(()=>this._checkIfIdle(),30*1e3),this._lastUsedTime=0,this._configChangeListener=this._defaults.onDidChange(()=>this._stopWorker())}_stopWorker(){this._worker&&=(this._worker.dispose(),null),this._client=null}dispose(){clearInterval(this._idleCheckInterval),this._configChangeListener.dispose(),this._stopWorker()}_checkIfIdle(){this._worker&&Date.now()-this._lastUsedTime>b&&this._stopWorker()}_getClient(){return this._lastUsedTime=Date.now(),this._client||=(this._worker=t({moduleId:`vs/language/html/htmlWorker`,createWorker:()=>new Worker(new URL(`/app/assets/html.worker-BO6WuOEO.js`,``+import.meta.url),{type:`module`}),createData:{languageSettings:this._defaults.options,languageId:this._defaults.languageId},label:this._defaults.languageId}),this._worker.getProxy()),this._client}getLanguageServiceWorker(...e){let t;return this._getClient().then(e=>{t=e}).then(t=>{if(this._worker)return this._worker.withSyncedResources(e)}).then(e=>t)}},S=class extends _{constructor(e){super(e,[`.`,`:`,`<`,`"`,`=`,`/`])}};function C(t){let n=new x(t),o=(...e)=>n.getLanguageServiceWorker(...e),s=t.languageId;e.registerCompletionItemProvider(s,new S(o)),e.registerHoverProvider(s,new a(o)),e.registerDocumentHighlightProvider(s,new p(o)),e.registerLinkProvider(s,new g(o)),e.registerFoldingRangeProvider(s,new v(o)),e.registerDocumentSymbolProvider(s,new u(o)),e.registerSelectionRangeProvider(s,new d(o)),e.registerRenameProvider(s,new m(o)),s===`html`&&(e.registerDocumentFormattingEditProvider(s,new r(o)),e.registerDocumentRangeFormattingEditProvider(s,new i(o)))}function w(t){let n=[],o=[],s=new x(t);n.push(s);let c=(...e)=>s.getLanguageServiceWorker(...e);function l(){let{languageId:n,modeConfiguration:s}=t;E(o),s.completionItems&&o.push(e.registerCompletionItemProvider(n,new S(c))),s.hovers&&o.push(e.registerHoverProvider(n,new a(c))),s.documentHighlights&&o.push(e.registerDocumentHighlightProvider(n,new p(c))),s.links&&o.push(e.registerLinkProvider(n,new g(c))),s.documentSymbols&&o.push(e.registerDocumentSymbolProvider(n,new u(c))),s.rename&&o.push(e.registerRenameProvider(n,new m(c))),s.foldingRanges&&o.push(e.registerFoldingRangeProvider(n,new v(c))),s.selectionRanges&&o.push(e.registerSelectionRangeProvider(n,new d(c))),s.documentFormattingEdits&&o.push(e.registerDocumentFormattingEditProvider(n,new r(c))),s.documentRangeFormattingEdits&&o.push(e.registerDocumentRangeFormattingEditProvider(n,new i(c)))}return l(),n.push(T(o)),T(n)}function T(e){return{dispose:()=>E(e)}}function E(e){for(;e.length;)e.pop().dispose()}export{_ as CompletionAdapter,f as DefinitionAdapter,h as DiagnosticsAdapter,l as DocumentColorAdapter,r as DocumentFormattingEditProvider,p as DocumentHighlightAdapter,g as DocumentLinkAdapter,i as DocumentRangeFormattingEditProvider,u as DocumentSymbolAdapter,v as FoldingRangeAdapter,a as HoverAdapter,o as ReferenceAdapter,m as RenameAdapter,d as SelectionRangeAdapter,x as WorkerManager,c as fromPosition,s as fromRange,w as setupMode,C as setupMode1,n as toRange,y as toTextEdit}; \ No newline at end of file diff --git a/web/app/assets/index-DZEQidkT.js b/web/app/assets/index-Bplw5zZe.js similarity index 54% rename from web/app/assets/index-DZEQidkT.js rename to web/app/assets/index-Bplw5zZe.js index af205cbc..233e0b0c 100644 --- a/web/app/assets/index-DZEQidkT.js +++ b/web/app/assets/index-Bplw5zZe.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-ml3I9rRe.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/VCard-DiTj681b.js","assets/VCard-BCYbpv-w.css","assets/VRow-Wg9QrEcV.js","assets/VRow-DIr3-SqU.css","assets/useSnackbar-DaoOJlMz.js","assets/useSnackbar-ku9EbwM-.css","assets/VSkeletonLoader-2DBPWC-b.js","assets/VSkeletonLoader-B03HMi2d.css","assets/usePageActivateRefresh-BmoMLdUi.js","assets/auditNormalize-DWYIxo0q.js","assets/DashboardPage-BpuLHXj7.css","assets/ServersPage-C4_GVaof.js","assets/VSelect-CzNpj4qJ.js","assets/VTextField-CvZimSXQ.js","assets/VTextField-Bl91kSVs.css","assets/VSelect-Dq2BX-8H.css","assets/VDataTable-JI1AS0YS.js","assets/VDataTable-DlpDfCoY.css","assets/VDataTableServer-C1V2iC3x.js","assets/VDialog-B2Te8j14.js","assets/VDialog-DP-kc9Gx.css","assets/VExpansionPanels-CGDaaYev.js","assets/VExpansionPanels-CUfe7Zz5.css","assets/VTextarea-tb0SPOpO.js","assets/VTextarea-DDl63AeD.css","assets/labels-C-A2d08W.js","assets/usePageAutoRefresh-_5-kEzKg.js","assets/useServerCategories-CdnJojpL.js","assets/dataTable-esDY4cOk.js","assets/apiError-BqTTIuLB.js","assets/paginatedFetch-DB49B9Xn.js","assets/validation-BMzYTJL4.js","assets/ServersPage-CqZyOt6Y.css","assets/TerminalPage-C1FKwM_U.js","assets/useTerminalQuickCommands-DSsRozRD.js","assets/useTerminalQuickCommands--q0R-DyO.css","assets/wsUrl-CqmqkTTE.js","assets/TerminalPage-FBTeF1y_.css","assets/FilesPage-hxpfXqS1.js","assets/initMonaco-CzdlaNu8.js","assets/initMonaco-DX2BVZF3.css","assets/VCheckbox-5Fmz8kLZ.js","assets/VCheckbox-ChRKi1kj.css","assets/useServerList-DTniLWx3.js","assets/FilesPage-D9DwsCsx.css","assets/PushPage-In5b95X5.js","assets/usePushStaging-whqVGN6i.js","assets/usePushStaging-CfCU7s8k.css","assets/PushPage-C9f4tbih.css","assets/ScriptsPage-BVe-wtMe.js","assets/VSwitch-fZMfBV9n.js","assets/VSwitch-DPhHiAlh.css","assets/ServerCategoryPicker-CZ_ad3il.js","assets/ServerCategoryPicker-BCS85mQi.css","assets/execDetailGrouping-DLvg5pqf.js","assets/ScriptsPage-BrIbZLc5.css","assets/ScriptRunsPage-C9JlCCAZ.js","assets/ScriptRunsPage-CW2C9c7C.css","assets/SchedulesPage-TXjjFtcm.js","assets/SchedulesPage-DgHxDpjI.css","assets/RetriesPage-Dw_0lrBr.js","assets/CommandsPage-DvIicHoM.js","assets/AlertsPage-B22cjGfV.js","assets/AuditPage-xRKYABQT.js","assets/SettingsPage-C2WmgeTn.js","assets/VForm-CIKxKkYK.js","assets/LoginPage-CCqcI-dk.js","assets/LoginPage-BTEVFKpe.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-BDfRyW6v.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/VCard-DwK3U69w.js","assets/VCard-BCYbpv-w.css","assets/VRow-Jrv7cE2K.js","assets/VRow-DIr3-SqU.css","assets/useSnackbar-P0rXZaHt.js","assets/useSnackbar-ku9EbwM-.css","assets/VSkeletonLoader-vo9o5RDt.js","assets/VSkeletonLoader-B03HMi2d.css","assets/usePageActivateRefresh-C2xQnJah.js","assets/auditNormalize-DWYIxo0q.js","assets/DashboardPage-BpuLHXj7.css","assets/ServersPage-NKayZaaE.js","assets/VSelect-C2IkZQ4Y.js","assets/VTextField-DVnxh9lX.js","assets/VTextField-Bl91kSVs.css","assets/VSelect-Dq2BX-8H.css","assets/VDataTable-PKQbaP3_.js","assets/VDataTable-DlpDfCoY.css","assets/VDataTableServer-D1N34nyt.js","assets/VDialog-DPwgR17F.js","assets/VDialog-DP-kc9Gx.css","assets/VExpansionPanels-B73hBz74.js","assets/VExpansionPanels-CUfe7Zz5.css","assets/VTextarea-Cn1CYtMX.js","assets/VTextarea-DDl63AeD.css","assets/labels-C-A2d08W.js","assets/usePageAutoRefresh-B7w3XG1Y.js","assets/useServerCategories-D9bG0IAJ.js","assets/dataTable-esDY4cOk.js","assets/apiError-D7r0BvbZ.js","assets/paginatedFetch-DmzXeKPu.js","assets/validation-BMzYTJL4.js","assets/ServersPage-CqZyOt6Y.css","assets/TerminalPage-CI1qyspn.js","assets/useTerminalQuickCommands-CBnMQV9W.js","assets/useTerminalQuickCommands--q0R-DyO.css","assets/wsUrl-CqmqkTTE.js","assets/TerminalPage-FBTeF1y_.css","assets/FilesPage-DGXiHGdY.js","assets/initMonaco-CvAS2Es9.js","assets/initMonaco-DX2BVZF3.css","assets/VCheckbox-BnLUWPSt.js","assets/VCheckbox-ChRKi1kj.css","assets/useServerList-IslpqUAV.js","assets/FilesPage-D9DwsCsx.css","assets/PushPage-D9P303pT.js","assets/usePushStaging-CG8g6bPy.js","assets/usePushStaging-CfCU7s8k.css","assets/PushPage-C9f4tbih.css","assets/ScriptsPage-Bxvpai9k.js","assets/VSwitch-B9ytL2C4.js","assets/VSwitch-DPhHiAlh.css","assets/ServerCategoryPicker-BE313wTd.js","assets/ServerCategoryPicker-BCS85mQi.css","assets/execDetailGrouping-DS4ZxwW6.js","assets/ScriptsPage-BrIbZLc5.css","assets/ScriptRunsPage-D7kMfRJA.js","assets/ScriptRunsPage-CW2C9c7C.css","assets/SchedulesPage-Q44Ytj_a.js","assets/SchedulesPage-DgHxDpjI.css","assets/RetriesPage-D57zbX1Y.js","assets/CommandsPage-GJ7Q6_15.js","assets/AlertsPage-CjECLiQy.js","assets/AuditPage--XwrAicr.js","assets/SettingsPage-CHfQvlHo.js","assets/VForm-lsgZBPTi.js","assets/LoginPage-W0z3Jmx1.js","assets/LoginPage-BTEVFKpe.css"])))=>i.map(i=>d[i]); (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();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=>S(e)===`[object Map]`,p=e=>S(e)===`[object Set]`,m=e=>S(e)===`[object Date]`,h=e=>S(e)===`[object RegExp]`,g=e=>typeof e==`function`,_=e=>typeof e==`string`,v=e=>typeof e==`symbol`,y=e=>typeof e==`object`&&!!e,b=e=>(y(e)||g(e))&&g(e.then)&&g(e.catch),x=Object.prototype.toString,S=e=>x.call(e),C=e=>S(e).slice(8,-1),w=e=>S(e)===`[object Object]`,T=e=>_(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,E=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,D=ee(e=>e.replace(te,e=>e.slice(1).toUpperCase())),ne=/\B([A-Z])/g,re=ee(e=>e.replace(ne,`-$1`).toLowerCase()),ie=ee(e=>e.charAt(0).toUpperCase()+e.slice(1)),ae=ee(e=>e?`on${ie(e)}`:``),O=(e,t)=>!Object.is(e,t),k=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},se=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ce=e=>{let t=_(e)?Number(e):NaN;return isNaN(t)?e:t},le,ue=()=>le||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function A(e){if(d(e)){let t={};for(let n=0;n{if(e){let n=e.split(fe);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function j(e){let t=``;if(_(e))t=e;else if(d(e))for(let n=0;n!!(e&&e.__v_isRef===!0),xe=e=>_(e)?e:e==null?``:d(e)||y(e)&&(e.toString===x||!g(e.toString))?be(e)?xe(e.value):JSON.stringify(e,Se,2):String(e),Se=(e,t)=>be(t)?Se(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ce(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ce(e))}:v(t)?Ce(t):y(t)&&!d(t)&&!w(t)?String(t):t,Ce=(e,t=``)=>v(e)?`Symbol(${e.description??t})`:e,we,Te=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&we&&(we.active?(this.parent=we,this.index=(we.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!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;e0&&--this._on===0){if(we===this)we=this.prevScope;else{let e=we;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)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===Ye)||(e.globalVersion=Ye,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Be(e))))return;e.flags|=2;let t=e.dep,n=ke,r=We;ke=e,We=!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{ke=n,We=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 We=!0,Ge=[];function Ke(){Ge.push(We),We=!1}function qe(){let e=Ge.pop();We=e===void 0?!0:e}function Je(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=ke;ke=void 0;try{t()}finally{ke=e}}}var Ye=0,Xe=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}},Ze=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(!ke||!We||ke===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==ke)t=this.activeLink=new Xe(ke,this),ke.deps?(t.prevDep=ke.depsTail,ke.depsTail.nextDep=t,ke.depsTail=t):ke.deps=ke.depsTail=t,Qe(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=ke.depsTail,t.nextDep=void 0,ke.depsTail.nextDep=t,ke.depsTail=t,ke.deps===t&&(ke.deps=e)}return t}trigger(e){this.version++,Ye++,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 Qe(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)Qe(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var $e=new WeakMap,et=Symbol(``),tt=Symbol(``),nt=Symbol(``);function rt(e,t,n){if(We&&ke){let t=$e.get(e);t||$e.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Ze),r.map=t,r.key=n),r.track()}}function it(e,t,n,r,i,a){let o=$e.get(e);if(!o){Ye++;return}let s=e=>{e&&e.trigger()};if(Ie(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&T(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===nt||!v(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(nt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(et)),f(e)&&s(o.get(tt)));break;case`delete`:i||(s(o.get(et)),f(e)&&s(o.get(tt)));break;case`set`:f(e)&&s(o.get(et));break}}Le()}function at(e,t){let n=$e.get(e);return n&&n.get(t)}function ot(e){let t=M(e);return t===e?t:(rt(t,`iterate`,nt),Gt(e)?t:t.map(Jt))}function st(e){return rt(e=M(e),`iterate`,nt),e}function ct(e,t){return Wt(e)?Yt(Ut(e)?Jt(t):t):Jt(t)}var lt={__proto__:null,[Symbol.iterator](){return ut(this,Symbol.iterator,e=>ct(this,e))},concat(...e){return ot(this).concat(...e.map(e=>d(e)?ot(e):e))},entries(){return ut(this,`entries`,e=>(e[1]=ct(this,e[1]),e))},every(e,t){return ft(this,`every`,e,t,void 0,arguments)},filter(e,t){return ft(this,`filter`,e,t,e=>e.map(e=>ct(this,e)),arguments)},find(e,t){return ft(this,`find`,e,t,e=>ct(this,e),arguments)},findIndex(e,t){return ft(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return ft(this,`findLast`,e,t,e=>ct(this,e),arguments)},findLastIndex(e,t){return ft(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return ft(this,`forEach`,e,t,void 0,arguments)},includes(...e){return mt(this,`includes`,e)},indexOf(...e){return mt(this,`indexOf`,e)},join(e){return ot(this).join(e)},lastIndexOf(...e){return mt(this,`lastIndexOf`,e)},map(e,t){return ft(this,`map`,e,t,void 0,arguments)},pop(){return ht(this,`pop`)},push(...e){return ht(this,`push`,e)},reduce(e,...t){return pt(this,`reduce`,e,t)},reduceRight(e,...t){return pt(this,`reduceRight`,e,t)},shift(){return ht(this,`shift`)},some(e,t){return ft(this,`some`,e,t,void 0,arguments)},splice(...e){return ht(this,`splice`,e)},toReversed(){return ot(this).toReversed()},toSorted(e){return ot(this).toSorted(e)},toSpliced(...e){return ot(this).toSpliced(...e)},unshift(...e){return ht(this,`unshift`,e)},values(){return ut(this,`values`,e=>ct(this,e))}};function ut(e,t,n){let r=st(e),i=r[t]();return r!==e&&!Gt(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var dt=Array.prototype;function ft(e,t,n,r,i,a){let o=st(e),s=o!==e&&!Gt(e),c=o[t];if(c!==dt[t]){let t=c.apply(e,a);return s?Jt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,ct(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 pt(e,t,n,r){let i=st(e),a=i!==e&&!Gt(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=ct(e,t)),n.call(this,t,ct(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?ct(e,c):c}function mt(e,t,n){let r=M(e);rt(r,`iterate`,nt);let i=r[t](...n);return(i===-1||i===!1)&&Kt(n[0])?(n[0]=M(n[0]),r[t](...n)):i}function ht(e,t,n=[]){Ke(),Ie();let r=M(e)[t].apply(e,n);return Le(),qe(),r}var gt=e(`__proto__,__v_isRef,__isVue`),_t=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(v));function vt(e){v(e)||(e=String(e));let t=M(this);return rt(t,`has`,e),t.hasOwnProperty(e)}var yt=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?Lt:It:i?Ft:Pt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=lt[t]))return e;if(t===`hasOwnProperty`)return vt}let o=Reflect.get(e,t,N(e)?e:n);if((v(t)?_t.has(t):gt(t))||(r||rt(e,`get`,t),i))return o;if(N(o)){let e=a&&T(t)?o:o.value;return r&&y(e)?Vt(e):e}return y(o)?r?Vt(o):zt(o):o}},bt=class extends yt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&T(t);if(!this._isShallow){let e=Wt(i);if(!Gt(n)&&!Wt(n)&&(i=M(i),n=M(n)),!a&&N(i)&&!N(n))return e||(i.value=n),!0}let o=a?Number(t)e,Et=e=>Reflect.getPrototypeOf(e);function Dt(e,t,n){return function(...r){let i=this.__v_raw,a=M(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?Tt:t?Yt:Jt;return!t&&rt(a,`iterate`,l?tt:et),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 Ot(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function kt(e,t){let n={get(n){let r=this.__v_raw,i=M(r),a=M(n);e||(O(n,a)&&rt(i,`get`,n),rt(i,`get`,a));let{has:o}=Et(i),s=t?Tt:e?Yt:Jt;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&&rt(M(t),`iterate`,et),t.size},has(t){let n=this.__v_raw,r=M(n),i=M(t);return e||(O(t,i)&&rt(r,`has`,t),rt(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=M(a),s=t?Tt:e?Yt:Jt;return!e&&rt(o,`iterate`,et),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:Ot(`add`),set:Ot(`set`),delete:Ot(`delete`),clear:Ot(`clear`)}:{add(e){let n=M(this),r=Et(n),i=M(e),a=!t&&!Gt(e)&&!Wt(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),it(n,`add`,a,a)),this},set(e,n){!t&&!Gt(n)&&!Wt(n)&&(n=M(n));let r=M(this),{has:i,get:a}=Et(r),o=i.call(r,e);o||=(e=M(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?O(n,s)&&it(r,`set`,e,n,s):it(r,`add`,e,n),this},delete(e){let t=M(this),{has:n,get:r}=Et(t),i=n.call(t,e);i||=(e=M(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&it(t,`delete`,e,void 0,a),o},clear(){let e=M(this),t=e.size!==0,n=e.clear();return t&&it(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Dt(r,e,t)}),n}function At(e,t){let n=kt(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 jt={get:At(!1,!1)},Mt={get:At(!1,!0)},Nt={get:At(!0,!1)},Pt=new WeakMap,Ft=new WeakMap,It=new WeakMap,Lt=new WeakMap;function Rt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function zt(e){return Wt(e)?e:Ht(e,!1,St,jt,Pt)}function Bt(e){return Ht(e,!1,wt,Mt,Ft)}function Vt(e){return Ht(e,!0,Ct,Nt,It)}function Ht(e,t,n,r,i){if(!y(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Rt(C(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Ut(e){return Wt(e)?Ut(e.__v_raw):!!(e&&e.__v_isReactive)}function Wt(e){return!!(e&&e.__v_isReadonly)}function Gt(e){return!!(e&&e.__v_isShallow)}function Kt(e){return e?!!e.__v_raw:!1}function M(e){let t=e&&e.__v_raw;return t?M(t):e}function qt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&oe(e,`__v_skip`,!0),e}var Jt=e=>y(e)?zt(e):e,Yt=e=>y(e)?Vt(e):e;function N(e){return e?e.__v_isRef===!0:!1}function P(e){return Xt(e,!1)}function F(e){return Xt(e,!0)}function Xt(e,t){return N(e)?e:new Zt(e,t)}var Zt=class{constructor(e,t){this.dep=new Ze,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:M(e),this._value=t?e:Jt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||Gt(e)||Wt(e);e=n?e:M(e),O(e,t)&&(this._rawValue=e,this._value=n?e:Jt(e),this.dep.trigger())}};function I(e){return N(e)?e.value:e}function Qt(e){return g(e)?e():I(e)}var $t={get:(e,t,n)=>t===`__v_raw`?e:I(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return N(i)&&!N(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function en(e){return Ut(e)?e:new Proxy(e,$t)}var tn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new Ze,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function nn(e){return new tn(e)}function rn(e){let t=d(e)?Array(e.length):{};for(let n in e)t[n]=sn(e,n);return t}var an=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=v(t)?t:String(t),this._raw=M(e);let r=!0,i=e;if(!d(e)||v(this._key)||!T(this._key))do r=!Kt(i)||Gt(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=I(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&N(this._raw[this._key])){let t=this._object[this._key];if(N(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return at(this._raw,this._key)}},on=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function L(e,t,n){return N(e)?e:g(e)?new on(e):y(e)&&arguments.length>1?sn(e,t,n):P(e)}function sn(e,t,n){return new an(e,t,n)}var cn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ze(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ye-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ke!==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 ln(e,t,n=!1){let r,i;return g(e)?r=e:(r=e.get,i=e.set),new cn(r,i,n)}var un={},dn=new WeakMap,fn=void 0;function pn(e,t=!1,n=fn){if(n){let t=dn.get(n);t||dn.set(n,t=[]),t.push(e)}}function mn(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:Gt(e)||o===!1||o===0?hn(e,1):hn(e),m,h,_,v,y=!1,b=!1;if(N(e)?(h=()=>e.value,y=Gt(e)):Ut(e)?(h=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Ut(e)||Gt(e)),h=()=>e.map(e=>{if(N(e))return e.value;if(Ut(e))return p(e);if(g(e))return f?f(e,2):e()})):h=g(e)?n?f?()=>f(e,2):e:()=>{if(_){Ke();try{_()}finally{qe()}}let t=fn;fn=m;try{return f?f(e,3,[v]):e(v)}finally{fn=t}}:r,n&&o){let e=h,t=o===!0?1/0:o;h=()=>hn(e(),t)}let x=De(),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(un):un,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=fn;fn=m;try{let t=[e,C===un?void 0:b&&C[0]===un?[]:C,v];C=e,f?f(n,3,t):n(...t)}finally{fn=t}}}else m.run()};return u&&u(w),m=new je(h),m.scheduler=l?()=>l(w,!1):w,v=e=>pn(e,!1,m),_=m.onStop=()=>{let e=dn.get(m);if(e){if(f)f(e,4);else for(let t of e)t();dn.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 hn(e,t=1/0,n){if(t<=0||!y(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,N(e))hn(e.value,t,n);else if(d(e))for(let r=0;r{hn(e,t,n)});else if(w(e)){for(let r in e)hn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&hn(e[r],t,n)}return e}function gn(e,t,n,r){try{return r?e(...r):e()}catch(e){vn(e,t,n)}}function _n(e,t,n,r){if(g(e)){let i=gn(e,t,n,r);return i&&b(i)&&i.catch(e=>{vn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a>>1,i=bn[r],a=Pn(i);a=Pn(n)?bn.push(e):bn.splice(On(t),0,e),e.flags|=1,An()}}function An(){En||=Tn.then(Fn)}function jn(e){d(e)?Sn.push(...e):Cn&&e.id===-1?Cn.splice(wn+1,0,e):e.flags&1||(Sn.push(e),e.flags|=1),An()}function Mn(e,t,n=xn+1){for(;nPn(e)-Pn(t));if(Sn.length=0,Cn){Cn.push(...e);return}for(Cn=e,wn=0;wne.id==null?e.flags&2?-1:1/0:e.id;function Fn(e){try{for(xn=0;xn{r._d&&Na(-1);let i=Rn(t),a;try{a=e(...n)}finally{Rn(i),r._d&&Na(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function zn(e,n){if(In===null)return e;let r=go(In),i=e.dirs||=[];for(let e=0;e1)return n&&g(t)?t.call(r&&r.proxy):t}}function Hn(){return!!(eo()||Pi)}var Un=Symbol.for(`v-scx`),Wn=()=>z(Un);function Gn(e,t){return qn(e,null,t)}function Kn(e,t){return qn(e,null,{flush:`sync`})}function B(e,t,n){return qn(e,t,n)}function qn(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(oo){if(c===`sync`){let e=Wn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=$a;u.call=(e,t,n)=>_n(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{fa(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():kn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=mn(e,n,u);return oo&&(f?f.push(h):d&&h()),h}function Jn(e,t,n){let r=this.proxy,i=_(e)?e.includes(`.`)?Yn(r,e):()=>r[e]:e.bind(r,r),a;g(t)?a=t:(a=t.handler,n=t);let o=ro(this),s=qn(i,a.bind(r),n);return o(),s}function Yn(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,$n=e=>e&&(e.disabled||e.disabled===``),er=e=>e&&(e.defer||e.defer===``),tr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,nr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,rr=(e,t)=>{let n=e&&e.to;return _(n)?t?t(n):null:n},ir={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,parentNode:_}}=l,v=$n(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=$n(e.props),r=e.target=rr(e.props,m),a=lr(r,e,h,p);r&&(o!==`svg`&&tr(r)?o=`svg`:o!==`mathml`&&nr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),cr(e,!1)))},S=e=>{let t=()=>{Xn.get(e)===t&&(Xn.delete(e),$n(e.props)&&(b(e,_(e.el)||n,e.anchor),cr(e,!0)),x(e))};Xn.set(e,t),fa(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),er(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),cr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=Xn.get(e);if(u){u.flags|=8,Xn.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=$n(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||tr(p)?o=`svg`:(o===`mathml`||nr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),va(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ar(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=rr(t.props,m);e&&ar(t,e,null,l,0)}else g&&ar(t,p,h,l,1);cr(t,v)}},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||!$n(f),m=Xn.get(e);if(m&&(m.flags|=8,Xn.delete(e)),d&&(i(l),i(u)),a&&i(c),!m&&o&16)for(let e=0;e{e.isMounted=!0}),Jr(()=>{e.isUnmounting=!0}),e}var pr=[Function,Array],mr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:pr,onEnter:pr,onAfterEnter:pr,onEnterCancelled:pr,onBeforeLeave:pr,onLeave:pr,onAfterLeave:pr,onLeaveCancelled:pr,onBeforeAppear:pr,onAppear:pr,onAfterAppear:pr,onAppearCancelled:pr},hr=e=>{let t=e.subTree;return t.component?hr(t.component):t},gr={name:`BaseTransition`,props:mr,setup(e,{slots:t}){let n=eo(),r=fr();return()=>{let i=t.default&&wr(t.default(),!0),a=i&&i.length?_r(i):n.subTree?Ga():void 0;if(!a)return;let o=M(e),{mode:s}=o;if(r.isLeaving)return xr(a);let c=Sr(a);if(!c)return xr(a);let l=br(c,o,r,n,e=>l=e);c.type!==Ea&&Cr(c,l);let u=n.subTree&&Sr(n.subTree);if(u&&u.type!==Ea&&!Ra(u,c)&&hr(n).type!==Ea){let e=br(u,o,r,n);if(Cr(u,e),s===`out-in`&&c.type!==Ea)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},xr(a);s===`in-out`&&c.type!==Ea?e.delayLeave=(e,t,n)=>{let i=yr(r,u);i[String(u.key)]=u,e[ur]=()=>{t(),e[ur]=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 _r(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==Ea){t=n;break}}return t}var vr=gr;function yr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function br(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=yr(n,e),C=(e,t)=>{e&&_n(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[ur]&&t[ur](!0);let i=S[x];i&&Ra(e,i)&&i.el[ur]&&i.el[ur](),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[dr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[dr]=void 0)};let c=t[dr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[dr]&&t[dr](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[ur]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[ur]=void 0,S[i]===e&&delete S[i])};let o=t[ur].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=br(e,t,n,r,i);return i&&i(a),a}};return T}function xr(e){if(Nr(e))return e=Ua(e),e.children=null,e}function Sr(e){if(!Nr(e))return Qn(e.type)&&e.children?_r(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&&g(n.default))return n.default()}}function Cr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Cr(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 wr(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eAr(e,n&&(d(n)?n[t]:n),r,a,o));return}if(Mr(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&Ar(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?go(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,h=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=M(v),b=v===t?i:e=>Or(h,e)?!1:u(y,e),x=(e,t)=>!(t&&Or(h,t));if(m!=null&&m!==p){if(jr(n),_(m))h[m]=null,b(m)&&(v[m]=null);else if(N(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(h[e.k]=null)}}if(g(p))gn(p,f,12,[l,h]);else{let t=_(p),n=N(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:h[p]:x(p)||!e.k?p.value:h[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)h[p]=[s],b(p)&&(v[p]=h[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(h[e.k]=t)}}else t?(h[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(h[e.k]=l))};if(l){let t=()=>{i(),kr.delete(e)};t.id=-1,kr.set(e,t),fa(t,r)}else jr(e),i()}}}function jr(e){let t=kr.get(e);t&&(t.flags|=8,kr.delete(e))}ue().requestIdleCallback,ue().cancelIdleCallback;var Mr=e=>!!e.type.__asyncLoader,Nr=e=>e.type.__isKeepAlive,Pr={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=eo(),r=n.ctx;if(!r.renderer)return()=>{let e=t.default&&t.default();return e&&e.length===1?e[0]:e};let i=new Map,a=new Set,o=null,s=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:d}}}=r,f=d(`div`);r.activate=(e,t,n,r,i)=>{let a=e.component;l(e,t,n,0,s),c(a.vnode,e,t,n,a,s,r,e.slotScopeIds,i),fa(()=>{a.isDeactivated=!1,a.a&&k(a.a);let t=e.props&&e.props.onVnodeMounted;t&&Ya(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;xa(t.m),xa(t.a),l(e,f,null,1,s),fa(()=>{t.da&&k(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&Ya(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){Br(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=_o(Mr(t)?t.type.__asyncResolved||{}:t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!Ra(t,o))?p(t):o&&Br(o),i.delete(e),a.delete(e)}B(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>Fr(e,t)),t&&m(e=>!Fr(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(Ca(n.subTree.type)?fa(()=>{i.set(g,Vr(n.subTree))},n.subTree.suspense):i.set(g,Vr(n.subTree)))};return Gr(_),qr(_),Jr(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=Vr(t);if(e.type===i.type&&e.key===i.key){Br(i);let e=i.component.da;e&&fa(e,r);return}p(e)})}),()=>{if(g=null,!t.default)return o=null;let n=t.default(),r=n[0];if(n.length>1)return o=null,n;if(!La(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=Vr(r);if(s.type===Ea)return o=null,s;let c=s.type,l=_o(Mr(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!Fr(u,l))||d&&l&&Fr(d,l))return s.shapeFlag&=-257,o=s,r;let p=s.key==null?c:s.key,m=i.get(p);return s.el&&(s=Ua(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&Cr(s,s.transition),s.shapeFlag|=512,a.delete(p),a.add(p)):(a.add(p),f&&a.size>parseInt(f,10)&&h(a.values().next().value)),s.shapeFlag|=256,o=s,Ca(r.type)?r:s}}};function Fr(e,t){return d(e)?e.some(e=>Fr(e,t)):_(e)?e.split(`,`).includes(t):h(e)?(e.lastIndex=0,e.test(t)):!1}function Ir(e,t){Rr(e,`a`,t)}function Lr(e,t){Rr(e,`da`,t)}function Rr(e,t,n=$a){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Hr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Nr(e.parent.vnode)&&zr(r,t,n,e),e=e.parent}}function zr(e,t,n,r){let i=Hr(t,e,r,!0);Yr(()=>{c(r[t],i)},n)}function Br(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Vr(e){return e.shapeFlag&128?e.ssContent:e}function Hr(e,t,n=$a,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Ke();let i=ro(n),a=_n(t,n,e,r);return i(),qe(),a};return r?i.unshift(a):i.push(a),a}}var Ur=e=>(t,n=$a)=>{(!oo||e===`sp`)&&Hr(e,(...e)=>t(...e),n)},Wr=Ur(`bm`),Gr=Ur(`m`),Kr=Ur(`bu`),qr=Ur(`u`),Jr=Ur(`bum`),Yr=Ur(`um`),Xr=Ur(`sp`),Zr=Ur(`rtg`),Qr=Ur(`rtc`);function $r(e,t=$a){Hr(`ec`,e,t)}var ei=`components`;function ti(e,t){return ii(ei,e,!0,t)||e}var ni=Symbol.for(`v-ndc`);function ri(e){return _(e)?ii(ei,e,!1)||e:e||ni}function ii(e,t,n=!0,r=!1){let i=In||$a;if(i){let n=i.type;if(e===ei){let e=_o(n,!1);if(e&&(e===t||e===D(t)||e===ie(D(t))))return n}let a=ai(i[e]||n[e],t)||ai(i.appContext[e],t);return!a&&r?n:a}}function ai(e,t){return e&&(e[t]||e[D(t)]||e[ie(D(t))])}function oi(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||_(e)){let n=o&&Ut(e),r=!1,s=!1;n&&(r=!Gt(e),s=Wt(e),e=st(e)),i=Array(e.length);for(let n=0,o=e.length;nt(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{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function ci(e,t,n={},r,i){if(In.ce||In.parent&&Mr(In.parent)&&In.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),Aa(),Ia(V,null,[U(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),Aa();let o=a&&li(a(n)),s=n.key||o&&o.key,c=Ia(V,{key:(s&&!v(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 li(e){return e.some(e=>La(e)?!(e.type===Ea||e.type===V&&!li(e.children)):!0)?e:null}var ui=e=>e?ao(e)?go(e):ui(e.parent):null,di=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=>ui(e.parent),$root:e=>ui(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>xi(e),$forceUpdate:e=>e.f||=()=>{kn(e.update)},$nextTick:e=>e.n||=Dn.bind(e.proxy),$watch:e=>Jn.bind(e)}),fi=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),pi={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(fi(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 gi&&(s[n]=0)}let d=di[n],f,p;if(d)return n===`$attrs`&&rt(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 fi(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)||fi(n,c)||u(o,c)||u(i,c)||u(di,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 mi(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function hi(e,t){return!e||!t?e||t:d(e)&&d(t)?e.concat(t):s({},mi(e),mi(t))}var gi=!0;function _i(e){let t=xi(e),n=e.proxy,i=e.ctx;gi=!1,t.beforeCreate&&yi(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:h,updated:_,activated:v,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:E,renderTriggered:ee,errorCaptured:te,serverPrefetch:D,expose:ne,inheritAttrs:re,components:ie,directives:ae,filters:O}=t;if(u&&vi(u,i,null),s)for(let e in s){let t=s[e];g(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);y(t)&&(e.data=zt(t))}if(gi=!0,o)for(let e in o){let t=o[e],a=G({get:g(t)?t.bind(n,n):g(t.get)?t.get.bind(n,n):r,set:!g(t)&&g(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)bi(c[e],i,n,e);if(l){let e=g(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Vn(t,e[t])})}f&&yi(f,e,`c`);function k(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(k(Wr,p),k(Gr,m),k(Kr,h),k(qr,_),k(Ir,v),k(Lr,b),k($r,te),k(Qr,E),k(Zr,ee),k(Jr,S),k(Yr,w),k(Xr,D),d(ne))if(ne.length){let t=e.exposed||={};ne.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),ae&&(e.directives=ae),D&&Dr(e)}function vi(e,t,n=r){d(e)&&(e=Ei(e));for(let n in e){let r=e[n],i;i=y(r)?`default`in r?z(r.from||n,r.default,!0):z(r.from||n):z(r),N(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function yi(e,t,n){_n(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function bi(e,t,n,r){let i=r.includes(`.`)?Yn(n,r):()=>n[r];if(_(e)){let n=t[e];g(n)&&B(i,n)}else if(g(e))B(i,e.bind(n));else if(y(e))if(d(e))e.forEach(e=>bi(e,t,n,r));else{let r=g(e.handler)?e.handler.bind(n):t[e.handler];g(r)&&B(i,r,e)}}function xi(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=>Si(c,e,o,!0)),Si(c,t,o)),y(t)&&a.set(t,c),c}function Si(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Si(e,a,n,!0),i&&i.forEach(t=>Si(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Ci[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Ci={data:wi,props:ki,emits:ki,methods:Oi,computed:Oi,beforeCreate:Di,created:Di,beforeMount:Di,mounted:Di,beforeUpdate:Di,updated:Di,beforeDestroy:Di,beforeUnmount:Di,destroyed:Di,unmounted:Di,activated:Di,deactivated:Di,errorCaptured:Di,serverPrefetch:Di,components:Oi,directives:Oi,watch:Ai,provide:wi,inject:Ti};function wi(e,t){return t?e?function(){return s(g(e)?e.call(this,this):e,g(t)?t.call(this,this):t)}:t:e}function Ti(e,t){return Oi(Ei(e),Ei(t))}function Ei(e){if(d(e)){let t={};for(let n=0;n{let l,u=t,d;return Kn(()=>{let t=e[a];O(l,t)&&(l=t,c())}),{get(){return s(),r.get?r.get(l):l},set(e){let s=r.set?r.set(e):e;if(!O(s,l)&&!(u!==t&&O(e,u)))return;let f=i.vnode.props;f&&(n in f||a in f||o in f)&&(`onUpdate:${n}`in f||`onUpdate:${a}`in f||`onUpdate:${o}`in f)||(l=e,c()),i.emit(`update:${n}`,s),O(e,s)&&O(e,u)&&!O(s,d)&&c(),u=e,d=s}}});return c[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?s||t:c,done:!1}:{done:!0}}}},c}var Ii=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${D(t)}Modifiers`]||e[`${re(t)}Modifiers`];function Li(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&Ii(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>_(e)?e.trim():e)),s.number&&(a=r.map(se)));let c,l=i[c=ae(n)]||i[c=ae(D(n))];!l&&o&&(l=i[c=ae(re(n))]),l&&_n(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,_n(u,e,6,a)}}var Ri=new WeakMap;function zi(e,t,n=!1){let r=n?Ri:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!g(e)){let r=e=>{let n=zi(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?(y(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),y(e)&&r.set(e,o),o)}function Bi(e,t){return!e||!a(t)?!1:(t=t.slice(2).replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,re(t))||u(e,t))}function Vi(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,_=Rn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Ka(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Ka(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:Hi(c)}}catch(t){Oa.length=0,vn(t,e,1),v=U(Ea)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=Ui(y,a)),b=Ua(b,y,!1,!0))}return n.dirs&&(b=Ua(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Cr(b,n.transition),v=b,Rn(_),v}var Hi=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},Ui=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Wi(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?Gi(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(Ji),Xi=e=>Object.getPrototypeOf(e)===Ji;function Zi(e,t,n,r=!1){let i={},a=Yi();e.propsDefaults=Object.create(null),$i(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:Bt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Qi(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=M(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{p=!0;let[t,n]=na(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 y(e)&&a.set(e,n),n;if(d(c))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,aa=e=>d(e)?e.map(Ka):[Ka(e)],oa=(e,t,n)=>{if(t._n)return t;let r=R((...e)=>aa(t(...e)),n);return r._c=!1,r},sa=(e,t,n)=>{let r=e._ctx;for(let n in e){if(ia(n))continue;let i=e[n];if(g(i))t[n]=oa(n,i,r);else if(i!=null){let e=aa(i);t[n]=()=>e}}},ca=(e,t)=>{let n=aa(t);e.slots.default=()=>n},la=(e,t,n)=>{for(let r in t)(n||!ia(r))&&(e[r]=t[r])},ua=(e,t,n)=>{let r=e.slots=Yi();if(e.vnode.shapeFlag&32){let e=t._;e?(la(r,t,n),n&&oe(r,`_`,e,!0)):sa(t,r)}else t&&ca(e,t)},da=(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:la(a,n,r):(o=!n.$stable,sa(n,a)),s=n}else n&&(ca(e,n),s={default:1});if(o)for(let e in a)!ia(e)&&s[e]==null&&delete a[e]},fa=wa;function pa(e){return ma(e)}function ma(e,i){let a=ue();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&&!Ra(e,t)&&(r=_e(e),pe(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 Ta:y(e,t,n,r);break;case Ea:b(e,t,n,r);break;case Da:e??x(t,n,r,o);break;case V: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?ae(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,be)}u!=null&&i?Ar(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Ar(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)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),D(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(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&&te(e.children,d,null,r,i,ha(e,a),s,u),_&&Bn(e,null,r,`created`),ee(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!E(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Ya(f,r,e)}_&&Bn(e,null,r,`beforeMount`);let v=_a(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&fa(()=>{try{f&&Ya(f,r,e),v&&g.enter(d),_&&Bn(e,null,r,`mounted`)}finally{}},i)},ee=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{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&&ga(r,!1),(g=h.onVnodeBeforeUpdate)&&Ya(g,r,n,e),f&&Bn(n,e,r,`beforeUpdate`),r&&ga(r,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?ne(e.dynamicChildren,d,l,r,i,ha(n,a),o):s||le(e,n,l,null,r,i,ha(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{g&&Ya(g,r,n,e),f&&Bn(n,e,r,`updated`)},i)},ne=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(n!==r){if(n!==t)for(let t in n)!E(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(E(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),te(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(ne(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&va(e,t,!0)):le(e,t,n,f,i,a,s,c,l)},ae=(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):O(t,n,r,i,a,o,c):oe(e,t,c)},O=(e,t,n,r,i,a,o)=>{let s=e.component=Qa(e,r,i);if(Nr(e)&&(s.ctx.renderer=be),so(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,se,o),!e.el){let r=s.subTree=U(Ea);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(Wi(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=ba(e);if(n){t&&(t.el=c.el,ce(e,t,o)),n.asyncDep.then(()=>{fa(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;ga(e,!1),t?(t.el=c.el,ce(e,t,o)):t=c,n&&k(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Ya(d,s,t,c),ga(e,!0);let f=Vi(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),_e(p),e,i,a),t.el=f.el,u===null&&qi(e,f.el),r&&fa(r,i),(d=t.props&&t.props.onVnodeUpdated)&&fa(()=>Ya(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=Mr(t);if(ga(e,!1),l&&k(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Ya(o,d,t),ga(e,!0),s&&Se){let t=()=>{e.subTree=Vi(e),Se(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=Vi(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&fa(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;fa(()=>Ya(o,d,e),i)}(t.shapeFlag&256||d&&Mr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&fa(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=()=>kn(u),ga(e,!0),l()},ce=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Qi(e,t.props,r,n),da(e,t.children,n),Ke(),Mn(e),qe()},le=(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){de(l,d,n,r,i,a,o,s,c);return}else if(f&256){A(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&ge(l,i,a),d!==l&&p(n,d)):u&16?m&16?de(l,d,n,r,i,a,o,s,c):ge(l,i,a,!0):(u&8&&p(n,``),m&16&&te(d,n,r,i,a,o,s,c))},A=(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;pd?ge(e,a,o,!0,!1,f):te(t,r,i,a,o,s,c,l,f)},de=(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?qa(t[u]):Ka(t[u]);if(Ra(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?qa(t[p]):Ka(t[p]);if(Ra(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=ep)for(;u<=f;)pe(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?qa(t[u]):Ka(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){pe(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Ra(n,t[_])){i=_;break}i===void 0?pe(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?ya(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{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){fe(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,be);return}if(c===V){o(a,t,n);for(let e=0;el.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[ur];a._isLeaving&&a[ur](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},pe=(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&&(Ke(),Ar(s,null,n,e,!0),qe()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Mr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Ya(_,t,e),u&6)he(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Bn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,be,r):l&&!l.hasOnce&&(a!==V||d>0&&d&64)?ge(l,t,n,!1,!0):(a===V&&d&384||!i&&u&16)&&ge(c,t,n),r&&me(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&fa(()=>{_&&Ya(_,t,e),h&&Bn(e,null,t,`unmounted`),v&&(e.el=null)},n)},me=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===V){j(n,r);return}if(t===Da){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()},j=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},he=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;xa(c),xa(l),r&&k(r),i.stop(),a&&(a.flags|=8,pe(o,e,t,n)),s&&fa(s,t),fa(()=>{e.isUnmounted=!0},t)},ge=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return _e(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Zn];return n?h(n):t},ve=!1,ye=(e,t,n)=>{let r;e==null?t._vnode&&(pe(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,ve||=(ve=!0,Mn(r),Nn(),!1)},be={p:v,um:pe,m:fe,r:me,mt:O,mc:te,pc:le,pbc:ne,n:_e,o:e},xe,Se;return i&&([xe,Se]=i(be)),{render:ye,hydrate:xe,createApp:Ni(ye,xe)}}function ha({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 ga({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function _a(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function va(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e>1,e[n[s]]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 ba(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ba(t)}function xa(e){if(e)for(let t=0;te.__isSuspense;function wa(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):jn(e)}var V=Symbol.for(`v-fgt`),Ta=Symbol.for(`v-txt`),Ea=Symbol.for(`v-cmt`),Da=Symbol.for(`v-stc`),Oa=[],ka=null;function Aa(e=!1){Oa.push(ka=e?null:[])}function ja(){Oa.pop(),ka=Oa[Oa.length-1]||null}var Ma=1;function Na(e,t=!1){Ma+=e,e<0&&ka&&t&&(ka.hasOnce=!0)}function Pa(e){return e.dynamicChildren=Ma>0?ka||n:null,ja(),Ma>0&&ka&&ka.push(e),e}function Fa(e,t,n,r,i,a){return Pa(H(e,t,n,r,i,a,!0))}function Ia(e,t,n,r,i){return Pa(U(e,t,n,r,i,!0))}function La(e){return e?e.__v_isVNode===!0:!1}function Ra(e,t){return e.type===t.type&&e.key===t.key}var za=({key:e})=>e??null,Ba=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:_(e)||N(e)||g(e)?{i:In,r:e,k:t,f:!!n}:e);function H(e,t=null,n=null,r=0,i=null,a=e===V?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&za(t),ref:t&&Ba(t),scopeId:Ln,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:In};return s?(Ja(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=_(n)?8:16),Ma>0&&!o&&ka&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&ka.push(c),c}var U=Va;function Va(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===ni)&&(e=Ea),La(e)){let r=Ua(e,t,!0);return n&&Ja(r,n),Ma>0&&!a&&ka&&(r.shapeFlag&6?ka[ka.indexOf(e)]=r:ka.push(r)),r.patchFlag=-2,r}if(vo(e)&&(e=e.__vccOpts),t){t=Ha(t);let{class:e,style:n}=t;e&&!_(e)&&(t.class=j(e)),y(n)&&(Kt(n)&&!d(n)&&(n=s({},n)),t.style=A(n))}let o=_(e)?1:Ca(e)?128:Qn(e)?64:y(e)?4:g(e)?2:0;return H(e,t,n,r,i,o,a,!0)}function Ha(e){return e?Kt(e)||Xi(e)?s({},e):e:null}function Ua(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?W(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&za(l),ref:t&&t.ref?n&&a?d(a)?a.concat(Ba(t)):[a,Ba(t)]:Ba(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!==V?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&&Ua(e.ssContent),ssFallback:e.ssFallback&&Ua(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Cr(u,c.clone(u)),u}function Wa(e=` `,t=0){return U(Ta,null,e,t)}function Ga(e=``,t=!1){return t?(Aa(),Ia(Ea,null,e)):U(Ea,null,e)}function Ka(e){return e==null||typeof e==`boolean`?U(Ea):d(e)?U(V,null,e.slice()):La(e)?qa(e):U(Ta,null,String(e))}function qa(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ua(e)}function Ja(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),Ja(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!Xi(t)?t._ctx=In:r===3&&In&&(In.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else g(t)?(t={default:t,_ctx:In},n=32):(t=String(t),r&64?(n=16,t=[Wa(t)]):n=8);e.children=t,e.shapeFlag|=n}function W(...e){let t={};for(let n=0;n$a||In,to,no;{let e=ue(),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)}};to=t(`__VUE_INSTANCE_SETTERS__`,e=>$a=e),no=t(`__VUE_SSR_SETTERS__`,e=>oo=e)}var ro=e=>{let t=$a;return to(e),e.scope.on(),()=>{e.scope.off(),to(t)}},io=()=>{$a&&$a.scope.off(),to(null)};function ao(e){return e.vnode.shapeFlag&4}var oo=!1;function so(e,t=!1,n=!1){t&&no(t);let{props:r,children:i}=e.vnode,a=ao(e);Zi(e,r,a,t),ua(e,i,n||t);let o=a?co(e,t):void 0;return t&&no(!1),o}function co(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pi);let{setup:r}=n;if(r){Ke();let n=e.setupContext=r.length>1?ho(e):null,i=ro(e),a=gn(r,e,0,[e.props,n]),o=b(a);if(qe(),i(),(o||e.sp)&&!Mr(e)&&Dr(e),o){if(a.then(io,io),t)return a.then(n=>{lo(e,n,t)}).catch(t=>{vn(t,e,0)});e.asyncDep=a}else lo(e,a,t)}else po(e,t)}function lo(e,t,n){g(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:y(t)&&(e.setupState=en(t)),po(e,n)}var uo,fo;function po(e,t,n){let i=e.type;if(!e.render){if(!t&&uo&&!i.render){let t=i.template||xi(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=uo(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,fo&&fo(e)}{let t=ro(e);Ke();try{_i(e)}finally{qe(),t()}}}var mo={get(e,t){return rt(e,`get`,``),e[t]}};function ho(e){return{attrs:new Proxy(e.attrs,mo),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function go(e){return e.exposed?e.exposeProxy||=new Proxy(en(qt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in di)return di[n](e)},has(e,t){return t in e||t in di}}):e.proxy}function _o(e,t=!0){return g(e)?e.displayName||e.name:e.name||t&&e.__name}function vo(e){return g(e)&&`__vccOpts`in e}var G=(e,t)=>ln(e,t,oo);function yo(e,t,n){try{Na(-1);let r=arguments.length;return r===2?y(t)&&!d(t)?La(t)?U(e,null,[t]):U(e,t):U(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&La(n)&&(n=[n]),U(e,t,n))}finally{Na(1)}}var bo=`3.5.35`,xo=r,So=void 0,Co=typeof window<`u`&&window.trustedTypes;if(Co)try{So=Co.createPolicy(`vue`,{createHTML:e=>e})}catch{}var wo=So?e=>So.createHTML(e):e=>e,To=`http://www.w3.org/2000/svg`,Eo=`http://www.w3.org/1998/Math/MathML`,Do=typeof document<`u`?document:null,Oo=Do&&Do.createElement(`template`),ko={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Do.createElementNS(To,e):t===`mathml`?Do.createElementNS(Eo,e):n?Do.createElement(e,{is:n}):Do.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Do.createTextNode(e),createComment:e=>Do.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Do.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Oo.innerHTML=wo(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Oo.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ao=`transition`,jo=`animation`,Mo=Symbol(`_vtc`),No={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Po=s({},mr,No),Fo=(e=>(e.displayName=`Transition`,e.props=Po,e))((e,{slots:t})=>yo(vr,Ro(e),t)),Io=(e,t=[])=>{d(e)?e.forEach(e=>e(...t)):e&&e(...t)},Lo=e=>e?d(e)?e.some(e=>e.length>1):e.length>1:!1;function Ro(e){let t={};for(let n in e)n in No||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=o,appearToClass:d=c,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=zo(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,E=(e,t,n,r)=>{e._enterCancelled=r,Ho(e,t?d:c),Ho(e,t?u:o),n&&n()},ee=(e,t)=>{e._isLeaving=!1,Ho(e,f),Ho(e,m),Ho(e,p),t&&t()},te=e=>(t,n)=>{let i=e?w:y,o=()=>E(t,e,n);Io(i,[t,o]),Uo(()=>{Ho(t,e?l:a),Vo(t,e?d:c),Lo(i)||Go(t,r,g,o)})};return s(t,{onBeforeEnter(e){Io(v,[e]),Vo(e,a),Vo(e,o)},onBeforeAppear(e){Io(C,[e]),Vo(e,l),Vo(e,u)},onEnter:te(!1),onAppear:te(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>ee(e,t);Vo(e,f),e._enterCancelled?(Vo(e,p),Yo(e)):(Yo(e),Vo(e,p)),Uo(()=>{e._isLeaving&&(Ho(e,f),Vo(e,m),Lo(x)||Go(e,r,_,n))}),Io(x,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),Io(b,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),Io(T,[e])},onLeaveCancelled(e){ee(e),Io(S,[e])}})}function zo(e){if(e==null)return null;if(y(e))return[Bo(e.enter),Bo(e.leave)];{let t=Bo(e);return[t,t]}}function Bo(e){return ce(e)}function Vo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Mo]||(e[Mo]=new Set)).add(t)}function Ho(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Mo];n&&(n.delete(t),n.size||(e[Mo]=void 0))}function Uo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Wo=0;function Go(e,t,n,r){let i=e._endId=++Wo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Ko(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${Ao}Delay`),a=r(`${Ao}Duration`),o=qo(i,a),s=r(`${jo}Delay`),c=r(`${jo}Duration`),l=qo(s,c),u=null,d=0,f=0;t===Ao?o>0&&(u=Ao,d=o,f=a.length):t===jo?l>0&&(u=jo,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Ao:jo:null,f=u?u===Ao?a.length:c.length:0);let p=u===Ao&&/\b(?:transform|all)(?:,|$)/.test(r(`${Ao}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function qo(e,t){for(;e.lengthJo(t)+Jo(e[n])))}function Jo(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Yo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Xo(e,t,n){let r=e[Mo];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Zo=Symbol(`_vod`),Qo=Symbol(`_vsh`),$o={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Zo]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):es(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),es(e,!0),r.enter(e)):r.leave(e,()=>{es(e,!1)}):es(e,t))},beforeUnmount(e,{value:t}){es(e,t)}};function es(e,t){e.style.display=t?e[Zo]:`none`,e[Qo]=!t}var ts=Symbol(``),ns=/(?:^|;)\s*display\s*:/;function rs(e,t,n){let r=e.style,i=_(n),a=!1;if(n&&!i){if(t)if(_(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??as(r,t,``)}else for(let e in t)n[e]??as(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?as(r,i,``):ls(e,i,!_(t)&&t?t[i]:void 0,o)||as(r,i,o)}}else if(i){if(t!==n){let e=r[ts];e&&(n+=`;`+e),r.cssText=n,a=ns.test(n)}}else t&&e.removeAttribute(`style`);Zo in e&&(e[Zo]=a?r.display:``,e[Qo]&&(r.display=`none`))}var is=/\s*!important$/;function as(e,t,n){if(d(n))n.forEach(n=>as(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=cs(e,t);is.test(n)?e.setProperty(re(r),n.replace(is,``),`important`):e[r]=n}}var os=[`Webkit`,`Moz`,`ms`],ss={};function cs(e,t){let n=ss[t];if(n)return n;let r=D(t);if(r!==`filter`&&r in e)return ss[t]=r;r=ie(r);for(let n=0;nys||=(bs.then(()=>ys=0),Date.now());function Ss(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(d(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ws=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?Xo(e,r,c):t===`style`?rs(e,n,r):a(t)?o(t)||gs(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):Ts(e,t,r,c))?(fs(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&ds(e,t,r,c,s,t!==`value`)):e._isVueCE&&(Es(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!_(r)))?fs(e,D(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),ds(e,t,r,c))};function Ts(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Cs(t)&&g(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Cs(t)&&_(n)?!1:t in e}function Es(e,t){let n=e._def.props;if(!n)return!1;let r=D(t);return Array.isArray(n)?n.some(e=>D(e)===r):Object.keys(n).some(e=>D(e)===r)}var Ds=new WeakMap,Os=new WeakMap,ks=Symbol(`_moveCb`),As=Symbol(`_enterCb`),js=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:s({},Po,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=eo(),r=fr(),i,a;return qr(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Is(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(Ms),i.forEach(Ns);let r=i.filter(Ps);Yo(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Vo(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[ks]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[ks]=null,Ho(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=M(e),s=Ro(o),c=o.tag||V;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Ko(r);return a.removeChild(r),o}var Ls=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>k(t,e):t};function Rs(e){e.target.composing=!0}function zs(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Bs=Symbol(`_assign`);function Vs(e,t,n){return t&&(e=e.trim()),n&&(e=se(e)),e}var Hs={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[Bs]=Ls(i);let a=r||i.props&&i.props.type===`number`;ps(e,t?`change`:`input`,t=>{t.target.composing||e[Bs](Vs(e.value,n,a))}),(n||a)&&ps(e,`change`,()=>{e.value=Vs(e.value,n,a)}),t||(ps(e,`compositionstart`,Rs),ps(e,`compositionend`,zs),ps(e,`change`,zs))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Bs]=Ls(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?se(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Us=[`ctrl`,`shift`,`alt`,`meta`],Ws={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Us.some(n=>e[`${n}Key`]&&!t.includes(n))},Gs=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=re(n.key);if(t.some(e=>e===r||Ks[e]===r))return e(n)}))},Js=s({patchProp:ws},ko),Ys;function Xs(){return Ys||=pa(Js)}var Zs=((...e)=>{let t=Xs().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=$s(e);if(!r)return;let i=t._component;!g(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,Qs(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function Qs(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function $s(e){return _(e)?document.querySelector(e):e}function ec(e){xo(`Vuetify: ${e}`)}function tc(e){xo(`Vuetify error: ${e}`)}function nc(e,t){t=Array.isArray(t)?t.slice(0,-1).map(e=>`'${e}'`).join(`, `)+` or '${t.at(-1)}'`:`'${t}'`,xo(`[Vuetify UPGRADE] '${e}' is deprecated, use ${t} instead.`)}var K=typeof window<`u`,rc=K&&`IntersectionObserver`in window,ic=K&&(`ontouchstart`in window||window.navigator.maxTouchPoints>0);K&&`EyeDropper`in window;var ac=K&&`matchMedia`in window&&typeof window.matchMedia==`function`,oc=()=>ac&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;function sc(e,t,n){let r=t.length-1;if(r<0)return e===void 0?n:e;for(let i=0;it+n)}function q(e,t=`px`){if(e==null||e===``)return;let n=Number(e);if(isNaN(n))return String(e);if(isFinite(n))return`${n}${t}`}function dc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function fc(e){let t;return typeof e==`object`&&!!e&&((t=Object.getPrototypeOf(e))===Object.prototype||t===null)}function pc(e){if(e&&`$el`in e){let t=e.$el;return t?.nodeType===Node.TEXT_NODE?t.nextElementSibling:t}return e}Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16});var mc=Object.freeze({enter:`Enter`,tab:`Tab`,delete:`Delete`,esc:`Escape`,space:`Space`,up:`ArrowUp`,down:`ArrowDown`,left:`ArrowLeft`,right:`ArrowRight`,end:`End`,home:`Home`,del:`Delete`,backspace:`Backspace`,insert:`Insert`,pageup:`PageUp`,pagedown:`PageDown`,shift:`Shift`});function hc(e){return Object.keys(e)}function gc(e,t){return t.every(t=>e.hasOwnProperty(t))}function _c(e,t){let n={};for(let r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function vc(e,t,n){let r=Object.create(null),i=Object.create(null);for(let a in e)t.some(e=>e instanceof RegExp?e.test(a):e===a)&&!n?.some(e=>e===a)?r[a]=e[a]:i[a]=e[a];return[r,i]}function yc(e,t){let n={...e};return t.forEach(e=>delete n[e]),n}var bc=/^on[^a-z]/,xc=e=>bc.test(e),Sc=`onAfterscriptexecute.onAnimationcancel.onAnimationend.onAnimationiteration.onAnimationstart.onAuxclick.onBeforeinput.onBeforescriptexecute.onChange.onClick.onCompositionend.onCompositionstart.onCompositionupdate.onContextmenu.onCopy.onCut.onDblclick.onFocusin.onFocusout.onFullscreenchange.onFullscreenerror.onGesturechange.onGestureend.onGesturestart.onGotpointercapture.onInput.onKeydown.onKeypress.onKeyup.onLostpointercapture.onMousedown.onMousemove.onMouseout.onMouseover.onMouseup.onMousewheel.onPaste.onPointercancel.onPointerdown.onPointerenter.onPointerleave.onPointermove.onPointerout.onPointerover.onPointerup.onReset.onSelect.onSubmit.onTouchcancel.onTouchend.onTouchmove.onTouchstart.onTransitioncancel.onTransitionend.onTransitionrun.onTransitionstart.onWheel`.split(`.`),Cc=[`ArrowUp`,`ArrowDown`,`ArrowRight`,`ArrowLeft`,`Enter`,`Escape`,`Tab`,` `];function wc(e){return e.isComposing&&Cc.includes(e.key)}function Tc(e){let[t,n]=vc(e,[bc]),r=yc(t,Sc),[i,a]=vc(n,[`class`,`style`,`id`,`inert`,/^data-/]);return Object.assign(i,t),Object.assign(a,r),[i,a]}function Ec(e){return e==null?[]:Array.isArray(e)?e:[e]}function Dc(e,t){let n=0,r=(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),I(t))};return r.clear=()=>{clearTimeout(n)},r.immediate=e,r}function Oc(e,t=0,n=1){return Math.max(t,Math.min(n,e))}function kc(e,t,n=`0`){return e+n.repeat(Math.max(0,t-e.length))}function Ac(e,t,n=`0`){return n.repeat(Math.max(0,t-e.length))+e}function jc(e,t=1){let n=[],r=0;for(;r=t&&re.type===V?Pc(e.children):e).flat()}function Fc(e=``){if(Fc.cache.has(e))return Fc.cache.get(e);let t=e.replace(/[^a-z]/gi,`-`).replace(/\B([A-Z])/g,`-$1`).toLowerCase();return Fc.cache.set(e,t),t}Fc.cache=new Map;function Ic(e,t){if(!t||typeof t!=`object`)return[];if(Array.isArray(t))return t.map(t=>Ic(e,t)).flat(1);if(t.suspense)return Ic(e,t.ssContent);if(Array.isArray(t.children))return t.children.map(t=>Ic(e,t)).flat(1);if(t.component){if(Object.getOwnPropertyDescriptor(t.component.provides,e))return[t.component];if(t.component.subTree)return Ic(e,t.component.subTree).flat(1)}return[]}var Lc=class{#e=[];#t=0;constructor(e){this.size=e}get isFull(){return this.#e.length===this.size}push(e){this.#e[this.#t]=e,this.#t=(this.#t+1)%this.size}values(){return this.#e.slice(this.#t).concat(this.#e.slice(0,this.#t))}clear(){this.#e.length=0,this.#t=0}};function Rc(e){let t=zt({});Gn(()=>{let n=e();for(let e in n)t[e]=n[e]},{flush:`sync`});let n={};for(let e in t)n[e]=L(()=>t[e]);return n}function zc(e,t){return e.includes(t)}function Bc(e){return e[2].toLowerCase()+e.slice(3)}var Vc=()=>[Function,Array];function Hc(e,t){return t=`on`+ie(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function Uc(e,...t){if(Array.isArray(e))for(let n of e)n(...t);else typeof e==`function`&&e(...t)}function Wc(e,t=!0){let n=[`button`,`[href]`,`input:not([type="hidden"])`,`select`,`textarea`,`details:not(:has(> summary))`,`details > summary`,`[tabindex]`,`[contenteditable]:not([contenteditable="false"])`,`audio[controls]`,`video[controls]`].map(e=>`${e}${t?`:not([tabindex="-1"])`:``}:not([disabled], [inert])`).join(`, `),r;try{r=[...e.querySelectorAll(n)]}catch(e){return tc(String(e)),[]}return r.filter(e=>!e.closest(`[inert]`)).filter(e=>!!e.offsetParent||e.getClientRects().length>0).filter(e=>!e.parentElement?.closest(`details:not([open])`)||e.tagName===`SUMMARY`&&e.parentElement?.tagName===`DETAILS`)}function Gc(e,t,n){let r,i=e.indexOf(document.activeElement),a=t===`next`?1:-1;do i+=a,r=e[i];while((!r||r.offsetParent==null||!(n?.(r)??!0))&&i=0);return r}function Kc(e,t,n){let r=Wc(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&r[0]?.focus(n);else if(t===`first`)r[0]?.focus(n);else if(t===`last`)r.at(-1)?.focus(n);else if(typeof t==`number`)r[t]?.focus(n);else{let i=Gc(r,t);i?i.focus():Kc(e,t===`next`?`first`:`last`,n)}}function qc(e){return e==null||typeof e==`string`&&e.trim()===``}function Jc(){}function Yc(e,t){if(!(K&&typeof CSS<`u`&&CSS.supports!==void 0&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function Xc(e){return e.some(e=>La(e)?e.type===Ea?!1:e.type!==V||Xc(e.children):!0)?e:null}function Zc(e,t){if(!K||e===0)return t(),()=>{};let n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function Qc(e,t){let n=e.clientX,r=e.clientY,i=t.getBoundingClientRect(),a=i.left,o=i.top,s=i.right,c=i.bottom;return n>=a&&n<=s&&r>=o&&r<=c}function $c(){let e=F(),t=t=>{e.value=t};return Object.defineProperty(t,"value",{enumerable:!0,get:()=>e.value,set:t=>e.value=t}),Object.defineProperty(t,"el",{enumerable:!0,get:()=>pc(e.value)}),t}function el(e){let t=e.key.length===1,n=!e.ctrlKey&&!e.metaKey&&!e.altKey;return t&&n}function tl(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`}function nl(e){return`\\^$*+?.()|{}[]`.includes(e)?`\\${e}`:e}function rl(e){let t={};for(let n in e)t[D(n)]=e[n];return t}function il(e){let t=[`checked`,`disabled`];return Object.fromEntries(Object.entries(e).filter(([e,n])=>t.includes(e)?!!n:n!==void 0))}var al=[`top`,`bottom`],ol=[`start`,`end`,`left`,`right`];function sl(e,t){let[n,r]=e.split(` `);return r||=zc(al,n)?`start`:zc(ol,n)?`top`:`center`,{side:cl(n,t),align:cl(r,t)}}function cl(e,t){return e===`start`?t?`right`:`left`:e===`end`?t?`left`:`right`:e}function ll(e){return{side:{center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`}[e.side],align:e.align}}function ul(e){return{side:e.side,align:{center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`}[e.align]}}function dl(e){return{side:e.align,align:e.side}}function fl(e){return zc(al,e.side)?`y`:`x`}var pl=class{constructor(e){let t=document.body.currentCSSZoom??1,n=e instanceof Element,r=n?1+(1-t)/t:1,{x:i,y:a,width:o,height:s}=n?e.getBoundingClientRect():e;this.x=i*r,this.y=a*r,this.width=o*r,this.height=s*r}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}};function ml(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function hl(e){if(Array.isArray(e)){let t=document.body.currentCSSZoom??1,n=1+(1-t)/t;return new pl({x:e[0]*n,y:e[1]*n,width:0*n,height:0*n})}else return new pl(e)}function gl(e){if(e===document.documentElement)if(visualViewport){let e=document.body.currentCSSZoom??1;return new pl({x:visualViewport.scale>1?0:visualViewport.offsetLeft,y:visualViewport.scale>1?0:visualViewport.offsetTop,width:visualViewport.width*visualViewport.scale/e,height:visualViewport.height*visualViewport.scale/e})}else return new pl({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});else return new pl(e)}function _l(e){let t=new pl(e),n=getComputedStyle(e),r=n.transform;if(r){let i,a,o,s,c;if(r.startsWith(`matrix3d(`))i=r.slice(9,-1).split(/, /),a=Number(i[0]),o=Number(i[5]),s=Number(i[12]),c=Number(i[13]);else if(r.startsWith(`matrix(`))i=r.slice(7,-1).split(/, /),a=Number(i[0]),o=Number(i[3]),s=Number(i[4]),c=Number(i[5]);else return new pl(t);let l=n.transformOrigin;return new pl({x:t.x-s-(1-a)*parseFloat(l),y:t.y-c-(1-o)*parseFloat(l.slice(l.indexOf(` `)+1)),width:a?t.width/a:e.offsetWidth+1,height:o?t.height/o:e.offsetHeight+1})}else return new pl(t)}function vl(e,t,n){if(e.animate===void 0)return{finished:Promise.resolve()};let r;try{r=e.animate(t,n)}catch{return{finished:Promise.resolve()}}return r.finished===void 0&&(r.finished=new Promise(e=>{r.onfinish=()=>{e(r)}})),r}var yl=new WeakMap;function bl(e,t){Object.keys(t).forEach(n=>{if(xc(n)){let r=Bc(n),i=yl.get(e);if(t[n]==null)i?.forEach(t=>{let[n,a]=t;n===r&&(e.removeEventListener(r,a),i.delete(t))});else if(!i||![...i].some(e=>e[0]===r&&e[1]===t[n])){e.addEventListener(r,t[n]);let a=i||new Set;a.add([r,t[n]]),yl.has(e)||yl.set(e,a)}}else t[n]==null?e.removeAttribute(n):e.setAttribute(n,t[n])})}function xl(e,t){Object.keys(t).forEach(t=>{if(xc(t)){let n=Bc(t),r=yl.get(e);r?.forEach(t=>{let[i,a]=t;i===n&&(e.removeEventListener(n,a),r.delete(t))})}else e.removeAttribute(t)})}var Sl=2.4,Cl=.2126729,wl=.7151522,Tl=.072175,El=.55,Dl=.58,Ol=.57,kl=.62,Al=.03,jl=1.45,Ml=5e-4,Nl=1.25,Pl=1.25,Fl=.078,Il=12.82051282051282,Ll=.06,Rl=.001;function zl(e,t){let n=(e.r/255)**Sl,r=(e.g/255)**Sl,i=(e.b/255)**Sl,a=(t.r/255)**Sl,o=(t.g/255)**Sl,s=(t.b/255)**Sl,c=n*Cl+r*wl+i*Tl,l=a*Cl+o*wl+s*Tl;if(c<=Al&&(c+=(Al-c)**jl),l<=Al&&(l+=(Al-l)**jl),Math.abs(l-c)c){let e=(l**El-c**Dl)*Nl;u=e-.001?0:e>-.078?e-e*Il*Ll:e+Ll}return u*100}var Bl=.20689655172413793,Vl=e=>e>Bl**3?Math.cbrt(e):e/(3*Bl**2)+4/29,Hl=e=>e>Bl?e**3:3*Bl**2*(e-4/29);function Ul(e){let t=Vl,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function Wl(e){let t=Hl,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}var Gl=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],Kl=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,ql=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],Jl=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function Yl(e){let t=[,,,],n=Kl,r=Gl;for(let i=0;i<3;++i)t[i]=Math.round(Oc(n(r[i][0]*e[0]+r[i][1]*e[1]+r[i][2]*e[2]))*255);return{r:t[0],g:t[1],b:t[2]}}function Xl({r:e,g:t,b:n}){let r=[0,0,0],i=Jl,a=ql;e=i(e/255),t=i(t/255),n=i(n/255);for(let i=0;i<3;++i)r[i]=a[i][0]*e+a[i][1]*t+a[i][2]*n;return r}function Zl(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function Ql(e){return Zl(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}var $l=/^(?(?:rgb|hsl)a?)\((?.+)\)/,eu={rgb:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),rgba:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),hsl:(e,t,n,r)=>ru({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>ru({h:e,s:t,l:n,a:r}),hsv:(e,t,n,r)=>nu({h:e,s:t,v:n,a:r}),hsva:(e,t,n,r)=>nu({h:e,s:t,v:n,a:r})};function tu(e){if(typeof e==`number`)return(isNaN(e)||e<0||e>16777215)&&ec(`'${e}' is not a valid hex color`),{r:(e&16711680)>>16,g:(e&65280)>>8,b:e&255};if(typeof e==`string`&&$l.test(e)){let{groups:t}=e.match($l),{fn:n,values:r}=t,i=r.split(/,\s*|\s*\/\s*|\s+/).map((e,t)=>e.endsWith(`%`)||t>0&&t<3&&[`hsl`,`hsla`,`hsv`,`hsva`].includes(n)?parseFloat(e)/100:parseFloat(e));return eu[n](...i)}else if(typeof e==`string`){let t=e.startsWith(`#`)?e.slice(1):e;[3,4].includes(t.length)?t=t.split(``).map(e=>e+e).join(``):[6,8].includes(t.length)||ec(`'${e}' is not a valid hex(a) color`);let n=parseInt(t,16);return(isNaN(n)||n<0||n>4294967295)&&ec(`'${e}' is not a valid hex(a) color`),su(t)}else if(typeof e==`object`){if(gc(e,[`r`,`g`,`b`]))return e;if(gc(e,[`h`,`s`,`l`]))return nu(iu(e));if(gc(e,[`h`,`s`,`v`]))return nu(e)}throw TypeError(`Invalid color: ${e==null?e:String(e)||e.constructor.name}\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function nu(e){let{h:t,s:n,v:r,a:i}=e,a=e=>{let i=(e+t/60)%6;return r-r*n*Math.max(Math.min(i,4-i,1),0)},o=[a(5),a(3),a(1)].map(e=>Math.round(e*255));return{r:o[0],g:o[1],b:o[2],a:i}}function ru(e){return nu(iu(e))}function iu(e){let{h:t,s:n,l:r,a:i}=e,a=r+n*Math.min(r,1-r);return{h:t,s:a===0?0:2-2*r/a,v:a,a:i}}function au(e){let t=Math.round(e).toString(16);return(`00`.substr(0,2-t.length)+t).toUpperCase()}function ou({r:e,g:t,b:n,a:r}){return`#${[au(e),au(t),au(n),r===void 0?``:au(Math.round(r*255))].join(``)}`}function su(e){e=cu(e);let[t,n,r,i]=jc(e,2).map(e=>parseInt(e,16));return i=i===void 0?i:i/255,{r:t,g:n,b:r,a:i}}function cu(e){return e.startsWith(`#`)&&(e=e.slice(1)),e=e.replace(/([^0-9a-f])/gi,`F`),(e.length===3||e.length===4)&&(e=e.split(``).map(e=>e+e).join(``)),e.length!==6&&(e=kc(kc(e,6),8,`F`)),e}function lu(e,t){let n=Ul(Xl(e));return n[0]+=t*10,Yl(Wl(n))}function uu(e,t){let n=Ul(Xl(e));return n[0]-=t*10,Yl(Wl(n))}function du(e){return Xl(tu(e))[1]}function fu(e){let t=Math.abs(zl(tu(0),tu(e)));return Math.abs(zl(tu(16777215),tu(e)))>Math.min(t,50)}function J(e,t){return n=>Object.keys(e).reduce((r,i)=>{let a=typeof e[i]==`object`&&e[i]!=null&&!Array.isArray(e[i])?e[i]:{type:e[i]};return n&&i in n?r[i]={...a,default:n[i]}:r[i]=a,t&&!r[i].source&&(r[i].source=t),r},{})}var Y=J({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},`component`);function pu(e,t){let n=eo();if(!n)throw Error(`[Vuetify] ${e} ${t||`must be called from inside a setup function`}`);return n}function mu(e=`composables`){let t=pu(e).type;return Fc(t?.aliasName||t?.name)}function hu(e,t=pu(`injectSelf`)){let{provides:n}=t;if(n&&e in n)return n[e]}var gu=Symbol.for(`vuetify:defaults`);function _u(e){return P(e)}function vu(){let e=z(gu);if(!e)throw Error(`[Vuetify] Could not find defaults instance`);return e}function yu(e,t){let n=vu(),r=P(e),i=G(()=>{if(I(t?.disabled))return n.value;let e=I(t?.scoped),i=I(t?.reset),a=I(t?.root);if(r.value==null&&!(e||i||a))return n.value;let o=Nc(r.value,{prev:n.value});if(e)return o;if(i||a){let e=Number(i||1/0);for(let t=0;t<=e&&!(!o||!(`prev`in o));t++)o=o.prev;return o&&typeof a==`string`&&a in o&&(o=Nc(Nc(o,{prev:o}),o[a])),o}return o.prev?Nc(o.prev,o,void 0,(e,t)=>t!==void 0):o});return Vn(gu,i),i}function bu(e,t){return e.props&&(e.props[t]!==void 0||e.props[Fc(t)]!==void 0)}function xu(e={},t,n=vu()){let r=pu(`useDefaults`);if(t=t??r.type.name??r.type.__name,!t)throw Error(`[Vuetify] Could not determine component name`);let i=G(()=>n.value?.[e._as??t]),a=new Proxy(e,{get(e,t){let a=Reflect.get(e,t);if(t===`class`||t===`style`)return[i.value?.[t],a].filter(e=>e!=null);if(bu(r.vnode,t))return a;let o=i.value?.[t];if(o!==void 0)return o;let s=n.value?.global?.[t];return s===void 0?a:s}}),o=F();Gn(()=>{if(i.value){let e=Object.entries(i.value).filter(([e])=>e.startsWith(e[0].toUpperCase()));o.value=e.length?Object.fromEntries(e):void 0}else o.value=void 0});function s(){let e=hu(gu,r);Vn(gu,G(()=>o.value?Nc(e?.value??{},o.value):e?.value))}return{props:a,provideSubDefaults:s}}function Su(e){if(e._setup=e._setup??e.setup,!e.name)return ec(`The component is missing an explicit name, unable to generate default prop value`),e;if(e._setup){e.props=J(e.props??{},e.name)();let t=Object.keys(e.props).filter(e=>e!==`class`&&e!==`style`);e.filterProps=function(e){return _c(e,t)},e.props._as=String,e.setup=function(t,n){let r=vu();if(!r.value)return e._setup(t,n);let{props:i,provideSubDefaults:a}=xu(t,t._as??e.name,r),o=e._setup(i,n);return a(),o}}return e}function X(e=!0){return t=>(e?Su:Tr)(t)}function Cu(e,t){return t.props=e,t}function wu(e,t=`div`,n){return X()({name:n??ie(D(e.replace(/__/g,`-`))),props:{tag:{type:String,default:t},...Y()},setup(t,{slots:n}){return()=>yo(t.tag,{class:[e,t.class],style:t.style},n.default?.())}})}function Tu(e,t,n,r){if(!n||tl(e)||tl(t))return;let i=n.get(e);if(i)i.set(t,r);else{let i=new WeakMap;i.set(t,r),n.set(e,i)}}function Eu(e,t,n){if(!n||tl(e)||tl(t))return null;let r=n.get(e)?.get(t);if(typeof r==`boolean`)return r;let i=n.get(t)?.get(e);return typeof i==`boolean`?i:null}function Du(e,t,n=new WeakMap){if(e===t)return!0;if(e instanceof Date&&t instanceof Date&&e.getTime()!==t.getTime()||e!==Object(e)||t!==Object(t))return!1;let r=Object.keys(e);return r.length===Object.keys(t).length?Eu(e,t,n)||(Tu(e,t,n,!0),r.every(r=>Du(e[r],t[r],n))):!1}function Ou(e){if(typeof e.getRootNode!=`function`){for(;e.parentNode;)e=e.parentNode;return e===document?document:null}let t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}var ku=`cubic-bezier(0.4, 0, 0.2, 1)`,Au=`cubic-bezier(0.0, 0, 0.2, 1)`,ju=`cubic-bezier(0.4, 0, 1, 1)`,Mu={linear:e=>e,easeInQuad:e=>e**2,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e**2:-1+(4-2*e)*e,easeInCubic:e=>e**3,easeOutCubic:e=>--e**3+1,easeInOutCubic:e=>e<.5?4*e**3:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e**4,easeOutQuart:e=>1- --e**4,easeInOutQuart:e=>e<.5?8*e**4:1-8*--e**4,easeInQuint:e=>e**5,easeOutQuint:e=>1+--e**5,easeInOutQuint:e=>e<.5?16*e**5:1+16*--e**5,instant:e=>1};function Nu(e,t=!1){for(;e;){if(t?Iu(e):Fu(e))return e;e=e.parentElement}return document.scrollingElement}function Pu(e,t){let n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(Fu(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function Fu(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;let t=window.getComputedStyle(e),n=t.overflowY===`scroll`||t.overflowY===`auto`&&e.scrollHeight>e.clientHeight,r=t.overflowX===`scroll`||t.overflowX===`auto`&&e.scrollWidth>e.clientWidth;return n||r}function Iu(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;let t=window.getComputedStyle(e);return[`scroll`,`auto`].includes(t.overflowY)}function Lu(e){for(;e;){if(window.getComputedStyle(e).position===`fixed`)return!0;e=e.offsetParent}return!1}function Z(e){let t=pu(`useRender`);t.render=e}function Ru(e,t,n={leading:!0,trailing:!0}){let r=0,i=0,a=!1,o=0;function s(){clearTimeout(r),a=!1,o=0}let c=(...c)=>{clearTimeout(r);let l=Date.now();o||=l;let u=l-Math.max(o,i);function d(){i=Date.now(),r=setTimeout(s,t),e(...c)}a?u>=t?d():n.trailing&&(r=setTimeout(d,t-u)):(a=!0,n.leading&&d())};return c.clear=s,c.immediate=e,c}var zu=[String,Function,Object,Array],Bu=Symbol.for(`vuetify:icons`),Vu=J({icon:{type:zu},tag:{type:[String,Object,Function],required:!0}},`icon`),Hu=X()({name:`VComponentIcon`,props:Vu(),setup(e,{slots:t}){return()=>{let n=e.icon;return U(e.tag,null,{default:()=>[e.icon?U(n,null,null):t.default?.()]})}}}),Uu=Su({name:`VSvgIcon`,inheritAttrs:!1,props:Vu(),setup(e,{attrs:t}){return()=>U(e.tag,W(t,{style:null}),{default:()=>[H(`svg`,{class:`v-icon__svg`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,role:`img`,"aria-hidden":`true`},[Array.isArray(e.icon)?e.icon.map(e=>Array.isArray(e)?H(`path`,{d:e[0],"fill-opacity":e[1]},null):H(`path`,{d:e},null)):H(`path`,{d:e.icon},null)])]})}});Su({name:`VLigatureIcon`,props:Vu(),setup(e){return()=>U(e.tag,null,{default:()=>[e.icon]})}});var Wu=Su({name:`VClassIcon`,props:Vu(),setup(e){return()=>U(e.tag,{class:j(e.icon)},null)}}),Gu=e=>{let t=z(Bu);if(!t)throw Error(`Missing Vuetify Icons provide!`);return{iconData:G(()=>{let n=Qt(e);if(!n)return{component:Hu};let r=n;if(typeof r==`string`&&(r=r.trim(),r.startsWith(`$`)&&(r=t.aliases?.[r.slice(1)])),r||ec(`Could not find aliased icon "${n}"`),Array.isArray(r))return{component:Uu,icon:r};if(typeof r!=`string`)return{component:Hu,icon:r};let i=Object.keys(t.sets).find(e=>typeof r==`string`&&r.startsWith(`${e}:`)),a=i?r.slice(i.length+1):r;return{component:t.sets[i??t.defaultSet].component,icon:a}})}},Ku={collapse:`mdi-chevron-up`,complete:`mdi-check`,cancel:`mdi-close-circle`,close:`mdi-close`,delete:`mdi-close-circle`,clear:`mdi-close-circle`,success:`mdi-check-circle`,info:`mdi-information`,warning:`mdi-alert-circle`,error:`mdi-close-circle`,prev:`mdi-chevron-left`,next:`mdi-chevron-right`,checkboxOn:`mdi-checkbox-marked`,checkboxOff:`mdi-checkbox-blank-outline`,checkboxIndeterminate:`mdi-minus-box`,delimiter:`mdi-circle`,sortAsc:`mdi-arrow-up`,sortDesc:`mdi-arrow-down`,expand:`mdi-chevron-down`,menu:`mdi-menu`,subgroup:`mdi-menu-down`,dropdown:`mdi-menu-down`,radioOn:`mdi-radiobox-marked`,radioOff:`mdi-radiobox-blank`,edit:`mdi-pencil`,ratingEmpty:`mdi-star-outline`,ratingFull:`mdi-star`,ratingHalf:`mdi-star-half-full`,loading:`mdi-cached`,first:`mdi-page-first`,last:`mdi-page-last`,unfold:`mdi-unfold-more-horizontal`,file:`mdi-paperclip`,plus:`mdi-plus`,minus:`mdi-minus`,calendar:`mdi-calendar`,treeviewCollapse:`mdi-menu-down`,treeviewExpand:`mdi-menu-right`,tableGroupCollapse:`mdi-chevron-down`,tableGroupExpand:`mdi-chevron-right`,eyeDropper:`mdi-eyedropper`,upload:`mdi-cloud-upload`,color:`mdi-palette`,command:`mdi-apple-keyboard-command`,ctrl:`mdi-apple-keyboard-control`,space:`mdi-keyboard-space`,shift:`mdi-apple-keyboard-shift`,alt:`mdi-apple-keyboard-option`,enter:`mdi-keyboard-return`,arrowup:`mdi-arrow-up`,arrowdown:`mdi-arrow-down`,arrowleft:`mdi-arrow-left`,arrowright:`mdi-arrow-right`,backspace:`mdi-backspace`,play:`mdi-play`,pause:`mdi-pause`,fullscreen:`mdi-fullscreen`,fullscreenExit:`mdi-fullscreen-exit`,volumeHigh:`mdi-volume-high`,volumeMedium:`mdi-volume-medium`,volumeLow:`mdi-volume-low`,volumeOff:`mdi-volume-variant-off`,search:`mdi-magnify`},qu={component:e=>yo(Wu,{...e,class:`mdi`})};function Ju(){return{svg:{component:Uu},class:{component:Wu}}}function Yu(e){let t=Ju(),n=e?.defaultSet??`mdi`;return n===`mdi`&&!t.mdi&&(t.mdi=qu),Nc({defaultSet:n,sets:t,aliases:{...Ku,vuetify:[`M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z`,[`M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z`,.6]],"vuetify-outline":`svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z`,"vuetify-play":[`m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z`,[`M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z`,.6]]}},e)}function Xu(e,t){let n;function r(){n=Ee(),n.run(()=>t.length?t(()=>{n?.stop(),r()}):t())}B(e,e=>{e&&!n?r():e||(n?.stop(),n=void 0)},{immediate:!0}),Oe(()=>{n?.stop()})}function Zu(e,t,n,r=e=>e,i=e=>e){let a=pu(`useProxiedModel`),o=P(e[t]===void 0?n:e[t]),s=Fc(t),c=G(s===t?()=>(e[t],!!(a.vnode.props?.hasOwnProperty(t)&&a.vnode.props?.hasOwnProperty(`onUpdate:${t}`))):()=>(e[t],!!((a.vnode.props?.hasOwnProperty(t)||a.vnode.props?.hasOwnProperty(s))&&(a.vnode.props?.hasOwnProperty(`onUpdate:${t}`)||a.vnode.props?.hasOwnProperty(`onUpdate:${s}`)))));Xu(()=>!c.value,()=>{B(()=>e[t],e=>{o.value=e})});let l=G({get(){let n=e[t];return r(c.value?n:o.value)},set(n){let s=i(n),l=M(c.value?e[t]:o.value);l===s||r(l)===n||(o.value=s,a?.emit(`update:${t}`,s))}});return Object.defineProperty(l,"externalValue",{get:()=>c.value?e[t]:o.value}),l}var Qu={badge:`Badge`,open:`Open`,close:`Close`,dismiss:`Dismiss`,confirmEdit:{ok:`OK`,cancel:`Cancel`},dataIterator:{noResultsText:`No matching records found`,loadingText:`Loading items...`},dataTable:{itemsPerPageText:`Rows per page:`,ariaLabel:{sortDescending:`Sorted descending.`,sortAscending:`Sorted ascending.`,sortNone:`Not sorted.`,activateNone:`Activate to remove sorting.`,activateDescending:`Activate to sort descending.`,activateAscending:`Activate to sort ascending.`},sortBy:`Sort by`},dataFooter:{itemsPerPageText:`Items per page:`,itemsPerPageAll:`All`,nextPage:`Next page`,prevPage:`Previous page`,firstPage:`First page`,lastPage:`Last page`,pageText:`{0}-{1} of {2}`},dateRangeInput:{divider:`to`},datePicker:{itemsSelected:`{0} selected`,range:{title:`Select dates`,header:`Enter dates`},title:`Select date`,header:`Enter date`,input:{placeholder:`Enter date`},ariaLabel:{previousMonth:`Previous month`,nextMonth:`Next month`,selectYear:`Select year`,previousYear:`Previous year`,nextYear:`Next year`,selectMonth:`Select month`,selectDate:`{0}`,currentDate:`Today, {0}`}},noDataText:`No data available`,carousel:{prev:`Previous visual`,next:`Next visual`,ariaLabel:{delimiter:`Carousel slide {0} of {1}`}},calendar:{moreEvents:`{0} more`,today:`Today`},input:{clear:`Clear {0}`,prependAction:`{0} prepended action`,appendAction:`{0} appended action`,otp:`Please enter OTP character {0}`},fileInput:{counter:`{0} files`,counterSize:`{0} files ({1} in total)`},fileUpload:{title:`Drag and drop files here`,divider:`or`,browse:`Browse Files`},timePicker:{am:`AM`,pm:`PM`,title:`Select Time`,hour:`Hour`,minute:`Minute`,second:`Second`,notAllowed:`Value is not allowed`},pagination:{ariaLabel:{root:`Pagination Navigation`,next:`Next page`,previous:`Previous page`,page:`Go to page {0}`,currentPage:`Page {0}, Current page`,first:`First page`,last:`Last page`}},stepper:{next:`Next`,prev:`Previous`},rating:{ariaLabel:{item:`Rating {0} of {1}`}},loading:`Loading...`,infiniteScroll:{loadMore:`Load more`,empty:`No more`},rules:{required:`This field is required`,email:`Please enter a valid email`,number:`This field can only contain numbers`,integer:`This field can only contain integer values`,capital:`This field can only contain uppercase letters`,maxLength:`You must enter a maximum of {0} characters`,minLength:`You must enter a minimum of {0} characters`,strictLength:`The length of the entered field is invalid`,exclude:`The {0} character is not allowed`,notEmpty:`Please choose at least one value`,pattern:`Invalid format`},command:{search:`Type a command or search...`},hotkey:{then:`then`,ctrl:`Ctrl`,command:`Command`,space:`Space`,shift:`Shift`,alt:`Alt`,enter:`Enter`,escape:`Escape`,upArrow:`Up Arrow`,downArrow:`Down Arrow`,leftArrow:`Left Arrow`,rightArrow:`Right Arrow`,backspace:`Backspace`,option:`Option`,plus:`plus`,shortcut:`Keyboard shortcut: {0}`,or:`or`},video:{play:`Play`,pause:`Pause`,seek:`Seek`,volume:`Volume`,showVolume:`Show volume control`,mute:`Mute`,unmute:`Unmute`,enterFullscreen:`Full screen`,exitFullscreen:`Exit full screen`},colorPicker:{ariaLabel:{eyedropper:`Select color with eyedropper`,hueSlider:`Hue`,alphaSlider:`Alpha`,redInput:`Red value`,greenInput:`Green value`,blueInput:`Blue value`,alphaInput:`Alpha value`,hueInput:`Hue value`,saturationInput:`Saturation value`,lightnessInput:`Lightness value`,hexInput:`HEX value`,hexaInput:`HEX with alpha value`,changeFormat:`Change color format`}}},$u=`$vuetify.`,ed=(e,t)=>e.replace(/\{(\d+)\}/g,(e,n)=>String(t[Number(n)])),td=(e,t,n)=>(r,...i)=>{if(!r.startsWith($u))return ed(r,i);let a=r.replace($u,``),o=e.value&&n.value[e.value],s=t.value&&n.value[t.value],c=cc(o,a,null);return c||=(ec(`Translation key "${r}" not found in "${e.value}", trying fallback locale`),cc(s,a,null)),c||=(tc(`Translation key "${r}" not found in fallback`),r),typeof c!=`string`&&(tc(`Translation key "${r}" has a non-string value`),c=r),ed(c,i)};function nd(e,t){return(n,r)=>new Intl.NumberFormat([e.value,t.value],r).format(n)}function rd(e,t){return nd(e,t)(.1).includes(`,`)?`,`:`.`}function id(e,t,n){let r=Zu(e,t,e[t]??n.value);return r.value=e[t]??n.value,B(n,i=>{e[t]??(r.value=n.value)}),r}function ad(e){return t=>{let n=id(t,`locale`,e.current),r=id(t,`fallback`,e.fallback),i=id(t,`messages`,e.messages);return{name:`vuetify`,current:n,fallback:r,messages:i,decimalSeparator:L(()=>rd(n,r)),t:td(n,r,i),n:nd(n,r),provide:ad({current:n,fallback:r,messages:i})}}}function od(e){let t=F(e?.locale??`en`),n=F(e?.fallback??`en`),r=P({en:Qu,...e?.messages});return{name:`vuetify`,current:t,fallback:n,messages:r,decimalSeparator:L(()=>e?.decimalSeparator??rd(t,n)),t:td(t,n,r),n:nd(t,n),provide:ad({current:t,fallback:n,messages:r})}}var sd=Symbol.for(`vuetify:locale`);function cd(e){return e.name!=null}function ld(e){let t=e?.adapter&&cd(e?.adapter)?e?.adapter:od(e),n=fd(t,e);return{...t,...n}}function ud(){let e=z(sd);if(!e)throw Error(`[Vuetify] Could not find injected locale instance`);return e}function dd(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function fd(e,t){let n=P(t?.rtl??dd()),r=G(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:L(()=>`v-locale--is-${r.value?`rtl`:`ltr`}`)}}function pd(){let e=z(sd);if(!e)throw Error(`[Vuetify] Could not find injected rtl instance`);return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}function md(e){let t=e.slice(-2).toUpperCase();switch(!0){case e===`GB-alt-variant`:return{firstDay:0,firstWeekSize:4};case e===`001`:return{firstDay:1,firstWeekSize:1};case`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US VE VI WS YE ZA ZW`.includes(t):return{firstDay:0,firstWeekSize:1};case`AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV @@ -12,4 +12,4 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-m `,...i.map(e=>` ${e}`),`} `)}return`@layer vuetify-utilities { `+e.map(e=>` ${e}`).join(``)+` -}`}),u=L(()=>t.isDisabled?void 0:`${t.prefix}theme--${a.value}`),d=L(()=>Object.keys(o.value));if(ac){let e=window.matchMedia(`(prefers-color-scheme: dark)`);function t(){i.value=e.matches?`dark`:`light`}t(),e.addEventListener(`change`,t,{passive:!0}),De()&&Oe(()=>{e.removeEventListener(`change`,t)})}function f(e){if(t.isDisabled)return;let n=e._context.provides.usehead;if(n){function e(){return{style:[{textContent:l.value,id:t.stylesheetId,nonce:t.cspNonce||!1,tagPosition:`bodyOpen`}]}}if(n.push){let t=n.push(e);K&&B(l,()=>{t.patch(e)})}else K?(n.addHeadObjs(L(e)),Gn(()=>n.updateDOM())):n.addHeadObjs(e())}else{K?B(l,e,{immediate:!0}):e();function e(){Uf(t.stylesheetId,t.cspNonce,l.value)}}}function p(e){if(e!==`system`&&!d.value.includes(e)){ec(`Theme "${e}" not found on the Vuetify theme instance`);return}a.value=e}function m(e=d.value){let t=e.indexOf(a.value);p(e[t===-1?0:(t+1)%e.length])}function h(e=[`light`,`dark`]){m(e)}let g=new Proxy(a,{get(e,t){return Reflect.get(e,t)},set(e,t,n){return t===`value`&&nc(`theme.global.name.value = ${n}`,`theme.change('${n}')`),Reflect.set(e,t,n)}});return{install:f,change:p,cycle:m,toggle:h,isDisabled:t.isDisabled,isSystem:c,name:a,themes:r,current:s,computedThemes:o,prefix:t.prefix,themeClasses:u,styles:l,global:{name:g,current:s}}}function Kf(e){pu(`provideTheme`);let t=z(Nf,null);if(!t)throw Error(`Could not find Vuetify theme injection`);let n=L(()=>e.theme??t.name.value),r=L(()=>t.themes.value[n.value]),i=L(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`),a={...t,name:n,current:r,themeClasses:i};return Vn(Nf,a),a}function qf(){pu(`useTheme`);let e=z(Nf,null);if(!e)throw Error(`Could not find Vuetify theme injection`);return e}function Jf(e,t=`content`){let n=$c(),r=P();if(K){let i=new ResizeObserver(n=>{e?.(n,i),n.length&&(t===`content`?r.value=n[0].contentRect:r.value=n[0].target.getBoundingClientRect())});Jr(()=>{i.disconnect()}),B(()=>n.el,(e,t)=>{t&&(i.unobserve(t),r.value=void 0),e&&i.observe(e)},{flush:`post`})}return{resizeRef:n,contentRect:Vt(r)}}var Yf=Symbol.for(`vuetify:layout`),Xf=Symbol.for(`vuetify:layout-item`),Zf=1e3,Qf=J({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},`layout`),$f=J({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},`layout-item`);function ep(){let e=z(Yf);if(!e)throw Error(`[Vuetify] Could not find injected layout`);return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function tp(e){let t=z(Yf);if(!t)throw Error(`[Vuetify] Could not find injected layout`);let n=e.id??`layout-item-${Er()}`,r=pu(`useLayoutItem`);Vn(Xf,{id:n});let i=F(!1);Lr(()=>i.value=!0),Ir(()=>i.value=!1);let{layoutItemStyles:a,layoutItemScrimStyles:o}=t.register(r,{...e,active:G(()=>i.value?!1:e.active.value),id:n});return Jr(()=>t.unregister(n)),{layoutItemStyles:a,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}var np=(e,t,n,r)=>{let i={top:0,left:0,right:0,bottom:0},a=[{id:``,layer:{...i}}];for(let o of e){let e=t.get(o),s=n.get(o),c=r.get(o);if(!e||!s||!c)continue;let l={...i,[e.value]:parseInt(i[e.value],10)+(c.value?parseInt(s.value,10):0)};a.push({id:o,layer:l}),i=l}return a};function rp(e){let t=z(Yf,null),n=G(()=>t?t.rootZIndex.value-100:Zf),r=P([]),i=zt(new Map),a=zt(new Map),o=zt(new Map),s=zt(new Map),c=zt(new Map),{resizeRef:l,contentRect:u}=Jf(),d=G(()=>{let t=new Map,n=e.overlaps??[];for(let e of n.filter(e=>e.includes(`:`))){let[n,o]=e.split(`:`);if(!r.value.includes(n)||!r.value.includes(o))continue;let s=i.get(n),c=i.get(o),l=a.get(n),u=a.get(o);!s||!c||!l||!u||(t.set(o,{position:s.value,amount:parseInt(l.value,10)}),t.set(n,{position:c.value,amount:-parseInt(u.value,10)}))}return t}),f=G(()=>{let e=[...new Set([...o.values()].map(e=>e.value))].sort((e,t)=>e-t),t=[];for(let n of e){let e=r.value.filter(e=>o.get(e)?.value===n);t.push(...e)}return np(t,i,a,s)}),p=G(()=>!Array.from(c.values()).some(e=>e.value)),m=G(()=>f.value[f.value.length-1].layer),h=L(()=>({"--v-layout-left":q(m.value.left),"--v-layout-right":q(m.value.right),"--v-layout-top":q(m.value.top),"--v-layout-bottom":q(m.value.bottom),...p.value?void 0:{transition:`none`}})),g=G(()=>f.value.slice(1).map(({id:e},t)=>{let{layer:n}=f.value[t],r=a.get(e),o=i.get(e);return{id:e,...n,size:Number(r.value),position:o.value}})),_=e=>g.value.find(t=>t.id===e),v=pu(`createLayout`),y=F(!1);return Gr(()=>{y.value=!0}),Vn(Yf,{register:(e,{id:t,order:l,position:u,layoutSize:m,elementSize:h,active:_,disableTransitions:b,absolute:x})=>{o.set(t,l),i.set(t,u),a.set(t,m),s.set(t,_),b&&c.set(t,b);let S=Ic(Xf,v?.vnode).indexOf(e);S>-1?r.value.splice(S,0,t):r.value.push(t);let C=G(()=>g.value.findIndex(e=>e.id===t)),w=G(()=>n.value+f.value.length*2-C.value*2);return{layoutItemStyles:G(()=>{let e=u.value===`left`||u.value===`right`,r=u.value===`right`,i=u.value===`bottom`,a=Number(h.value??m.value),o=`translate${e?`X`:`Y`}`,s=_.value?0:(a===0?100:a+1)*(r||i?1:-1),c=a===0?`%`:`px`,l={[u.value]:0,zIndex:w.value,transform:`${o}(${s}${c})`,position:x.value||n.value!==Zf?`absolute`:`fixed`,...p.value?void 0:{transition:`none`}};if(!y.value)return l;let f=g.value[C.value];f||ec(`[Vuetify] Could not find layout item "${t}"`);let v=d.value.get(t);return v&&(f[v.position]+=v.amount),{...l,height:e?`calc(100% - ${f.top}px - ${f.bottom}px)`:h.value?`${h.value}px`:void 0,left:r?void 0:`${f.left}px`,right:r?`${f.right}px`:void 0,top:u.value===`bottom`?void 0:`${f.top}px`,bottom:u.value===`top`?void 0:`${f.bottom}px`,width:e?h.value?`${h.value}px`:void 0:`calc(100% - ${f.left}px - ${f.right}px)`}}),layoutItemScrimStyles:G(()=>({zIndex:w.value-1})),zIndex:w}},unregister:e=>{o.delete(e),i.delete(e),a.delete(e),s.delete(e),c.delete(e),r.value=r.value.filter(t=>t!==e)},mainRect:m,mainStyles:h,getLayoutItem:_,items:g,layoutRect:u,rootZIndex:n}),{layoutClasses:L(()=>[`v-layout`,{"v-layout--full-height":e.fullHeight}]),layoutStyles:L(()=>({zIndex:t?n.value:void 0,position:t?`relative`:void 0,overflow:t?`hidden`:void 0})),getLayoutItem:_,items:g,layoutRect:u,layoutRef:l}}function ip(e={}){let{blueprint:t,...n}=e,r=Nc(t,n),{aliases:i={},components:a={},directives:o={}}=r,s=Ee();return s.run(()=>{let e=_u(r.defaults),t=xf(r.display,r.ssr),n=Gf(r.theme),c=Yu(r.icons),l=ld(r.locale),u=ff(r.date,l),d=kf(r.goTo,l);function f(s){for(let e in o)s.directive(e,o[e]);for(let e in a)s.component(e,a[e]);for(let e in i)s.component(e,Su({...i[e],name:e,aliasName:i[e].name}));let f=Ee();if(f.run(()=>{n.install(s)}),s.onUnmount(()=>f.stop()),s.provide(gu,e),s.provide(hf,t),s.provide(Nf,n),s.provide(Bu,c),s.provide(sd,l),s.provide(uf,u.options),s.provide(df,u.instance),s.provide(wf,d),K&&r.ssr)if(s.$nuxt)s.$nuxt.hook(`app:suspense:resolve`,()=>{t.update()});else{let{mount:e}=s;s.mount=(...n)=>{let r=e(...n);return Dn(()=>t.update()),s.mount=e,r}}s.mixin({computed:{$vuetify(){return zt({defaults:ap.call(this,gu),display:ap.call(this,hf),theme:ap.call(this,Nf),icons:ap.call(this,Bu),locale:ap.call(this,sd),date:ap.call(this,df)})}}})}function p(){s.stop()}return{install:f,unmount:p,defaults:e,display:t,theme:n,icons:c,locale:l,date:u,goTo:d}})}ip.version=`4.0.8`;function ap(e){let t=this.$,n=t.parent?.provides??t.vnode.appContext?.provides;if(n&&e in n)return n[e]}var op={badge:`徽章`,open:`打开`,close:`关闭`,dismiss:`取消`,confirmEdit:{ok:`确定`,cancel:`取消`},dataIterator:{noResultsText:`没有符合条件的结果`,loadingText:`加载中……`},dataTable:{itemsPerPageText:`每页数目:`,ariaLabel:{sortDescending:`:降序排列。`,sortAscending:`:升序排列。`,sortNone:`:未排序。`,activateNone:`点击以移除排序。`,activateDescending:`点击以降序排列。`,activateAscending:`点击以升序排列。`},sortBy:`排序方式`},dataFooter:{itemsPerPageText:`每页数目:`,itemsPerPageAll:`全部`,nextPage:`下一页`,prevPage:`上一页`,firstPage:`首页`,lastPage:`尾页`,pageText:`{0}-{1} 共 {2}`},dateRangeInput:{divider:`至`},datePicker:{itemsSelected:`已选择 {0} 项`,range:{title:`选择日期`,header:`输入日期`},title:`选择日期`,header:`输入日期`,input:{placeholder:`输入日期`},ariaLabel:{previousMonth:`上个月`,nextMonth:`下个月`,selectYear:`选择年份`,previousYear:`上一年`,nextYear:`下一年`,selectMonth:`选择月份`,selectDate:`{0}`,currentDate:`今天,{0}`}},noDataText:`没有数据`,carousel:{prev:`上一张`,next:`下一张`,ariaLabel:{delimiter:`幻灯片 {0} / {1}`}},calendar:{moreEvents:`还有 {0} 项`,today:`今天`},input:{clear:`清除 {0}`,prependAction:`{0} 前置操作`,appendAction:`{0} 后置操作`,otp:`请输入第 {0} 位 OTP`},fileInput:{counter:`{0} 个文件`,counterSize:`{0} 个文件(共 {1})`},fileUpload:{title:`拖放文件到此处`,divider:`或`,browse:`浏览文件`},timePicker:{am:`上午`,pm:`下午`,title:`选择时间`,hour:`小时`,minute:`分钟`,second:`秒`,notAllowed:`值不允许`},pagination:{ariaLabel:{root:`分页导航`,next:`下一页`,previous:`上一页`,page:`转到页面 {0}`,currentPage:`当前页 {0}`,first:`第一页`,last:`最后一页`}},stepper:{next:`下一步`,prev:`上一步`},rating:{ariaLabel:{item:`评分 {0} / {1}`}},loading:`加载中...`,infiniteScroll:{loadMore:`加载更多`,empty:`没有更多内容`},rules:{required:`此字段为必填项`,email:`请输入有效的电子邮件地址`,number:`此字段只能包含数字`,integer:`此字段只能包含整数`,capital:`此字段只能包含大写字母`,maxLength:`您最多可以输入{0}个字符`,minLength:`您必须至少输入{0}个字符`,strictLength:`输入字段的长度无效`,exclude:`字符{0}是不允许的`,notEmpty:`请至少选择一个值`,pattern:`格式无效`},command:{search:`输入命令或搜索...`},hotkey:{then:`然后`,ctrl:`Ctrl`,command:`Command`,shift:`Shift`,alt:`Alt`,option:`Option`,enter:`Enter`,escape:`Escape`,upArrow:`上箭头`,downArrow:`下箭头`,leftArrow:`左箭头`,rightArrow:`右箭头`,backspace:`退格`,space:`空格`,plus:`加`,shortcut:`键盘快捷键:{0}`,or:`或`},video:{play:`播放`,pause:`暂停`,seek:`跳转`,volume:`音量`,showVolume:`显示音量控制`,mute:`静音`,unmute:`取消静音`,enterFullscreen:`全屏`,exitFullscreen:`退出全屏`},colorPicker:{ariaLabel:{eyedropper:`从屏幕拾取颜色`,hueSlider:`色相`,alphaSlider:`不透明度`,redInput:`红色`,greenInput:`绿色`,blueInput:`蓝色`,alphaInput:`不透明度`,hueInput:`色相`,saturationInput:`饱和度`,lightnessInput:`亮度`,hexInput:`HEX 值`,hexaInput:`带不透明度 HEX 值`,changeFormat:`更改颜色格式`}}},sp=typeof localStorage<`u`&&localStorage.getItem(`nexus_theme`)||`light`,cp=ip({locale:{locale:`zhHans`,fallback:`en`,messages:{zhHans:op}},theme:{defaultTheme:sp}}),lp=typeof document<`u`;function up(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function dp(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&up(e.default)}var Q=Object.assign;function fp(e,t){let n={};for(let r in t){let i=t[r];n[r]=mp(i)?i.map(e):e(i)}return n}var pp=()=>{},mp=Array.isArray;function hp(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var gp=/#/g,_p=/&/g,vp=/\//g,yp=/=/g,bp=/\?/g,xp=/\+/g,Sp=/%5B/g,Cp=/%5D/g,wp=/%5E/g,Tp=/%60/g,Ep=/%7B/g,Dp=/%7C/g,Op=/%7D/g,kp=/%20/g;function Ap(e){return e==null?``:encodeURI(``+e).replace(Dp,`|`).replace(Sp,`[`).replace(Cp,`]`)}function jp(e){return Ap(e).replace(Ep,`{`).replace(Op,`}`).replace(wp,`^`)}function Mp(e){return Ap(e).replace(xp,`%2B`).replace(kp,`+`).replace(gp,`%23`).replace(_p,`%26`).replace(Tp,"`").replace(Ep,`{`).replace(Op,`}`).replace(wp,`^`)}function Np(e){return Mp(e).replace(yp,`%3D`)}function Pp(e){return Ap(e).replace(gp,`%23`).replace(bp,`%3F`)}function Fp(e){return Pp(e).replace(vp,`%2F`)}function Ip(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Lp=/\/$/,Rp=e=>e.replace(Lp,``);function zp(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=qp(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Ip(o)}}function Bp(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Vp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Hp(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&Up(t.matched[r],n.matched[i])&&Wp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Up(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Wp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Gp(e[n],t[n]))return!1;return!0}function Gp(e,t){return mp(e)?Kp(e,t):mp(t)?Kp(t,e):e?.valueOf()===t?.valueOf()}function Kp(e,t){return mp(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function qp(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Jp={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Yp=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Xp=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Zp(e){if(!e)if(lp){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Rp(e)}var Qp=/^[^#]+#/;function $p(e,t){return e.replace(Qp,`#`)+t}function em(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var tm=()=>({left:window.scrollX,top:window.scrollY});function nm(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=em(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function rm(e,t){return(history.state?history.state.position-t:-1)+e}var im=new Map;function am(e,t){im.set(e,t)}function om(e){let t=im.get(e);return im.delete(e),t}function sm(e){return typeof e==`string`||e&&typeof e==`object`}function cm(e){return typeof e==`string`||typeof e==`symbol`}var lm=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),um=Symbol(``);lm.MATCHER_NOT_FOUND,lm.NAVIGATION_GUARD_REDIRECT,lm.NAVIGATION_ABORTED,lm.NAVIGATION_CANCELLED,lm.NAVIGATION_DUPLICATED;function dm(e,t){return Q(Error(),{type:e,[um]:!0},t)}function fm(e,t){return e instanceof Error&&um in e&&(t==null||!!(e.type&t))}function pm(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Mp(e)):[r&&Mp(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function hm(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=mp(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var gm=Symbol(``),_m=Symbol(``),vm=Symbol(``),ym=Symbol(``),bm=Symbol(``);function xm(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Sm(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(dm(lm.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):sm(e)?c(dm(lm.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Cm(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(up(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Sm(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=dp(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Sm(c,n,r,o,e,i)()}))}}return a}function wm(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oUp(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>Up(e,s))||i.push(s))}return[n,r,i]}var Tm=()=>location.protocol+`//`+location.host;function Em(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Vp(n,``)}return Vp(n,e)+r+i}function Dm(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Em(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:Yp.pop,direction:u?u>0?Xp.forward:Xp.back:Xp.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(Q({},e.state,{scroll:tm()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Om(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?tm():null}}function km(e){let{history:t,location:n}=window,r={value:Em(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Tm()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Q({},t.state,Om(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Q({},i.value,t.state,{forward:e,scroll:tm()});a(o.current,o,!0),a(e,Q({},Om(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Am(e){e=Zp(e);let t=km(e),n=Dm(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Q({location:``,base:e,go:r,createHref:$p.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function jm(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Am(e)}var Mm=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),Nm=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(Nm||{}),Pm={type:Mm.Static,value:``},Fm=/[a-zA-Z0-9_]/;function Im(e){if(!e)return[[]];if(e===`/`)return[[Pm]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=Nm.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===Nm.Static?a.push({type:Mm.Static,value:l}):n===Nm.Param||n===Nm.ParamRegExp||n===Nm.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:Mm.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===zm.Static+zm.Segment?1:-1:0}function Um(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Gm={strict:!1,end:!0,sensitive:!1};function Km(e,t,n){let r=Q(Vm(Im(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function qm(e,t){let n=[],r=new Map;t=hp(Gm,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Ym(e);s.aliasOf=r&&r.record;let l=hp(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Ym(Q({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Km(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Zm(d)&&o(e.name)),th(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:pp}function o(e){if(cm(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=$m(e,n);n.splice(t,0,e),e.record.name&&!Zm(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw dm(lm.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=Q(Jm(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Jm(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw dm(lm.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=Q({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Qm(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Jm(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Ym(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Xm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Xm(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Zm(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Qm(e){return e.reduce((e,t)=>Q(e,t.meta),{})}function $m(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Um(e,t[i])<0?r=i:n=i+1}let i=eh(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function eh(e){let t=e;for(;t=t.parent;)if(th(t)&&Um(e,t)===0)return t}function th({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function nh(e){let t=z(vm),n=z(ym),r=G(()=>{let n=I(e.to);return t.resolve(n)}),i=G(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(Up.bind(null,i));if(o>-1)return o;let s=sh(e[t-2]);return t>1&&sh(i)===s&&a[a.length-1].path!==s?a.findIndex(Up.bind(null,e[t-2])):o}),a=G(()=>i.value>-1&&oh(n.params,r.value.params)),o=G(()=>i.value>-1&&i.value===n.matched.length-1&&Wp(n.params,r.value.params));function s(n={}){if(ah(n)){let n=t[I(e.replace)?`replace`:`push`](I(e.to)).catch(pp);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:G(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function rh(e){return e.length===1?e[0]:e}var ih=Tr({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:nh,setup(e,{slots:t}){let n=zt(nh(e)),{options:r}=z(vm),i=G(()=>({[ch(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[ch(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&rh(t.default(n));return e.custom?r:yo(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function ah(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function oh(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!mp(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function sh(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var ch=(e,t,n)=>e??t??n,lh=Tr({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=z(bm),i=G(()=>e.route||r.value),a=z(_m,0),o=G(()=>{let e=I(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=G(()=>i.value.matched[o.value]);Vn(_m,G(()=>o.value+1)),Vn(gm,s),Vn(bm,i);let c=P();return B(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!Up(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return uh(n.default,{Component:l,route:r});let u=o.props[a],d=yo(l,Q({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return uh(n.default,{Component:d,route:r})||d}}});function uh(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var dh=lh;function fh(e){let t=qm(e.routes,e),n=e.parseQuery||pm,r=e.stringifyQuery||mm,i=e.history,a=xm(),o=xm(),s=xm(),c=F(Jp),l=Jp;lp&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=fp.bind(null,e=>``+e),d=fp.bind(null,Fp),f=fp.bind(null,Ip);function p(e,n){let r,i;return cm(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=Q({},a||c.value),typeof e==`string`){let r=zp(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Q(r,o,{params:f(o.params),hash:Ip(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=Q({},e,{path:zp(n,e.path,a.path).path});else{let t=Q({},e.params);for(let e in t)t[e]??delete t[e];o=Q({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Bp(r,Q({},e,{hash:jp(l),path:s.path})),m=i.createHref(p);return Q({fullPath:p,hash:l,query:r===mm?hm(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?zp(n,e,c.value.path):Q({},e)}function y(e,t){if(l!==e)return dm(lm.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(Q(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),Q({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(Q(v(u),{state:typeof u==`object`?Q({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Hp(r,i,n)&&(f=dm(lm.NAVIGATION_DUPLICATED,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):E(d,i)).catch(e=>fm(e)?fm(e,lm.NAVIGATION_GUARD_REDIRECT)?e:oe(e):O(e,d,i)).then(e=>{if(e){if(fm(e,lm.NAVIGATION_GUARD_REDIRECT))return C(Q({replace:s},v(e.to),{state:typeof e.to==`object`?Q({},a,e.to.state):a,force:o}),t||d)}else e=te(d,i,!0,s,a);return ee(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ue.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,s]=wm(e,t);n=Cm(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Sm(r,e,t))});let c=w.bind(null,e,t);return n.push(c),de(n).then(()=>{n=[];for(let r of a.list())n.push(Sm(r,e,t));return n.push(c),de(n)}).then(()=>{n=Cm(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Sm(r,e,t))});return n.push(c),de(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(mp(r.beforeEnter))for(let i of r.beforeEnter)n.push(Sm(i,e,t));else n.push(Sm(r.beforeEnter,e,t));return n.push(c),de(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Cm(s,`beforeRouteEnter`,e,t,T),n.push(c),de(n))).then(()=>{n=[];for(let r of o.list())n.push(Sm(r,e,t));return n.push(c),de(n)}).catch(e=>fm(e,lm.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function ee(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function te(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===Jp,l=lp?history.state:{};n&&(r||s?i.replace(e.fullPath,Q({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let D;function ne(){D||=i.listen((e,t,n)=>{if(!A.listening)return;let r=_(e),a=S(r,A.currentRoute.value);if(a){C(Q(a,{replace:!0,force:!0}),r).catch(pp);return}l=r;let o=c.value;lp&&am(rm(o.fullPath,n.delta),tm()),E(r,o).catch(e=>fm(e,lm.NAVIGATION_ABORTED|lm.NAVIGATION_CANCELLED)?e:fm(e,lm.NAVIGATION_GUARD_REDIRECT)?(C(Q(v(e.to),{force:!0}),r).then(e=>{fm(e,lm.NAVIGATION_ABORTED|lm.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===Yp.pop&&i.go(-1,!1)}).catch(pp),Promise.reject()):(n.delta&&i.go(-n.delta,!1),O(e,r,o))).then(e=>{e||=te(r,o,!1),e&&(n.delta&&!fm(e,lm.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===Yp.pop&&fm(e,lm.NAVIGATION_ABORTED|lm.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),ee(r,o,e)}).catch(pp)})}let re=xm(),ie=xm(),ae;function O(e,t,n){oe(e);let r=ie.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function k(){return ae&&c.value!==Jp?Promise.resolve():new Promise((e,t)=>{re.add([e,t])})}function oe(e){return ae||(ae=!e,ne(),re.list().forEach(([t,n])=>e?n(e):t()),re.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!lp||!a)return Promise.resolve();let o=!r&&om(rm(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return Dn().then(()=>a(t,n,o)).then(e=>e&&nm(e)).catch(e=>O(e,t,n))}let ce=e=>i.go(e),le,ue=new Set,A={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ie.add,isReady:k,install(e){e.component(`RouterLink`,ih),e.component(`RouterView`,dh),e.config.globalProperties.$router=A,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>I(c)}),lp&&!le&&c.value===Jp&&(le=!0,b(i.location).catch(e=>{}));let t={};for(let e in Jp)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(vm,A),e.provide(ym,Bt(t)),e.provide(bm,c);let n=e.unmount;ue.add(e),e.unmount=function(){ue.delete(e),ue.size<1&&(l=Jp,D&&D(),D=null,c.value=Jp,le=!1,ae=!1),n()}}};function de(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return A}function ph(){return z(vm)}function mh(e){return z(ym)}var hh=typeof window<`u`,gh,_h=e=>gh=e,vh=Symbol();function yh(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var bh;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(bh||={});var xh=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 Sh(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 Ch(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Oh(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function wh(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Th(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 Eh=typeof navigator==`object`?navigator:{userAgent:``},Dh=/Macintosh/.test(Eh.userAgent)&&/AppleWebKit/.test(Eh.userAgent)&&!/Safari/.test(Eh.userAgent),Oh=hh?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Dh?kh:`msSaveOrOpenBlob`in Eh?Ah:jh:()=>{};function kh(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?Th(r):wh(r.href)?Ch(e,t,n):(r.target=`_blank`,Th(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){Th(r)},0))}function Ah(e,t=`download`,n){if(typeof e==`string`)if(wh(e))Ch(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){Th(t)})}else navigator.msSaveOrOpenBlob(Sh(e,n),t)}function jh(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return Ch(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(xh.HTMLElement))||`safari`in xh,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Dh)&&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:Mh}=Object;function Nh(){let e=Ee(!0),t=e.run(()=>P({})),n=[],r=[],i=qt({install(e){_h(i),i._a=e,e.provide(vh,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 Ph=()=>{};function Fh(e,t,n,r=Ph){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&De()&&Oe(i),i}function Ih(e,...t){e.forEach(e=>{e(...t)})}var Lh=e=>e(),Rh=Symbol(),zh=Symbol();function Bh(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];yh(i)&&yh(r)&&e.hasOwnProperty(n)&&!N(r)&&!Ut(r)?e[n]=Bh(i,r):e[n]=r}return e}var Vh=Symbol();function Hh(e){return!yh(e)||!Object.prototype.hasOwnProperty.call(e,Vh)}var{assign:Uh}=Object;function Wh(e){return!!(N(e)&&e.effect)}function Gh(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():{}),Uh(rn(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=qt(G(()=>{_h(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Kh(e,l,t,n,r,!0),c}function Kh(e,t,n={},r,i,a){let o,s=Uh({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:bh.patchFunction,storeId:e,events:void 0}):(Bh(r.state.value[e],t),n={type:bh.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();Dn().then(()=>{m===i&&(l=!0)}),u=!0,Ih(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{Uh(e,t)})}:Ph;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Rh in t)return t[zh]=n,t;let i=function(){_h(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Ih(f,{args:n,name:i[zh],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw Ih(o,e),e}return l instanceof Promise?l.then(e=>(Ih(a,e),e)).catch(e=>(Ih(o,e),Promise.reject(e))):(Ih(a,l),l)};return i[Rh]=!0,i[zh]=n,i},y=zt({_p:r,$id:e,$onAction:Fh.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=Fh(d,t,n.detached,()=>a()),a=o.run(()=>B(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:bh.direct,events:void 0},r)},Uh({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||Lh)(()=>r._e.run(()=>(o=Ee()).run(()=>t({action:v}))));for(let t in b){let n=b[t];N(n)&&!Wh(n)||Ut(n)?a||(p&&Hh(n)&&(N(n)?n.value=p[t]:Bh(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return Uh(y,b),Uh(M(y),b),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:e=>{h(t=>{Uh(t,e)})}}),r._p.forEach(e=>{Uh(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 qh(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Hn();return n||=o?z(vh,null):null,n&&_h(n),n=gh,n._s.has(e)||(i?Kh(e,t,r,n):Gh(e,r,n)),n._s.get(e)}return a.$id=e,a}function Jh(e){let t=M(e),n={};for(let r in t){let i=t[r];i.effect?n[r]=G({get:()=>e[r],set(t){e[r]=t}}):(N(i)||Ut(i))&&(n[r]=L(e,r))}return n}var Yh=new Set([`body`,`query`,`path`,`header`,`cookie`]);function Xh(e){let t=(e?.msg||``).trim();if(e?.loc_zh)return t?`${e.loc_zh}:${t}`:e.loc_zh;let n=(Array.isArray(e?.loc)?e.loc.filter(e=>!Yh.has(String(e))):[]).map(e=>typeof e==`number`?`第${e+1}项`:String(e)).join(`.`);return n&&t?`${n}:${t}`:t||n||JSON.stringify(e)}function Zh(e,t){return typeof e==`string`?e.trim()||t:Array.isArray(e)?e.map(e=>Xh(e)).join(`;`).trim()||t:e&&typeof e==`object`?JSON.stringify(e):t}var Qh=`/api`,$h=new Set([`/auth/login`,`/auth/refresh`,`/auth/logout`]);function eg(e,t){return Zh(e,t)}var tg=null;async function ng(){return tg||(tg=(async()=>{try{let e=await fetch(`${Qh}/auth/refresh`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:`{}`});if(!e.ok)return!1;let t=await e.json();return t?.access_token?(hg().setAccessToken(t.access_token),!0):!1}catch{return!1}finally{tg=null}})(),tg)}function rg(e,t){let n=`${Qh}${e}`;if(t){let e=new URLSearchParams;for(let[n,r]of Object.entries(t))r!=null&&e.set(n,String(r));let r=e.toString();r&&(n+=`?${r}`)}return n}function ig(e){let t=hg(),n={...e.headers||{}};return e.body instanceof FormData||(n[`Content-Type`]=`application/json`),t.token&&(n.Authorization=`Bearer ${t.token}`),n}async function ag(e,t={}){let{params:n,_retry:r,...i}=t,a=rg(e,n),o=hg();!r&&!$h.has(e)&&o.token&&o.isTokenExpiringSoon(300)&&await ng();let s=await fetch(a,{...i,headers:ig(i),credentials:`include`});if(s.status===401){if(!$h.has(e)&&!r){if(await ng())return ag(e,{...t,_retry:!0});throw o.forceLogout(),new fg(401,`登录已过期,请重新登录`)}let n=await s.text(),i={};try{i=JSON.parse(n)}catch{i={detail:n}}throw new fg(401,eg(i.detail,$h.has(e)?`认证失败`:`登录已过期,请重新登录`))}return s}async function og(e,t={}){let n=await ag(e,t),r=n.headers.get(`ETag`);if(n.status===202){let e=await n.text(),t;try{t=JSON.parse(e)}catch{t={message:e}}throw new pg(t?.detail||t?.message||`请输入 TOTP 验证码`)}if(n.status===429)throw new fg(429,`登录尝试过多,账户已锁定 15 分钟`);if(n.status===304)return{status:304,etag:r};if(n.status===204)return{status:204,etag:r,data:void 0};let i=await n.text(),a;try{a=JSON.parse(i)}catch{a=i}if(!n.ok){let e=a,t=eg(e?.detail??e?.message,n.statusText),r=new fg(n.status,t);throw r.detail=e?.detail,r}return{status:n.status,data:a,etag:r}}async function sg(e){let t=await e.text(),n;try{n=JSON.parse(t)}catch{n=t}let r=n,i=eg(r?.detail??r?.message,e.statusText),a=new fg(e.status,i);throw a.detail=r?.detail,a}function cg(e){if(!e)return null;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t?.[1])try{return decodeURIComponent(t[1])}catch{return t[1]}return e.match(/filename="?([^";]+)"?/i)?.[1]??null}async function lg(e,t){let n=await ag(e,{method:`POST`,body:JSON.stringify(t??{})});if(n.status===202)throw new pg(`请输入 TOTP 验证码`);if(n.status===429)throw new fg(429,`登录尝试过多,账户已锁定 15 分钟`);return n.ok||await sg(n),{blob:await n.blob(),filename:cg(n.headers.get(`Content-Disposition`))||`download`}}async function ug(e,t={}){let n=await ag(e,t);if(n.status===202){let e=await n.text(),t;try{t=JSON.parse(e)}catch{t={message:e}}throw new pg(t?.detail||t?.message||`请输入 TOTP 验证码`)}if(n.status===429)throw new fg(429,`登录尝试过多,账户已锁定 15 分钟`);if(n.status===204)return;let r=await n.text(),i;try{i=JSON.parse(r)}catch{i=r}if(!n.ok){let e=i,t=eg(e?.detail??e?.message,n.statusText),r=new fg(n.status,t);throw r.detail=e?.detail,r}return i}var dg={get:(e,t)=>ug(e,{method:`GET`,params:t}),getList:async(e,t)=>{let n=await ug(e,{method:`GET`,params:t});if(Array.isArray(n))return{items:n,total:n.length};if(n&&typeof n==`object`){let e=n;if(Array.isArray(e.items))return{items:e.items,total:e.total??e.items.length}}return{items:[],total:0}},post:(e,t)=>ug(e,{method:`POST`,body:t?JSON.stringify(t):void 0}),put:(e,t)=>ug(e,{method:`PUT`,body:t?JSON.stringify(t):void 0}),delete:e=>ug(e,{method:`DELETE`}),upload:(e,t)=>ug(e,{method:`POST`,body:t}),download:(e,t)=>lg(e,t)},fg=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.name=`ApiError`}},pg=class extends Error{constructor(e){super(e),this.name=`TotpRequiredError`}};function mg(e){try{let t=e.split(`.`)[1];if(!t)return 0;let n=t.length%4;n&&(t+=`=`.repeat(4-n));let r=atob(t.replace(/-/g,`+`).replace(/_/g,`/`)),i=JSON.parse(r);return typeof i.exp==`number`?i.exp:0}catch{return 0}}var hg=qh(`auth`,()=>{let e=P(null),t=P(null),n=P(!1),r=G(()=>!!e.value),i=G(()=>e.value?mg(e.value):0);function a(e=300){let t=i.value;return t>0&&t-Math.floor(Date.now()/1e3){})}function d(){e.value=null,t.value=null}return{token:e,admin:t,isLoggedIn:r,bootstrapped:n,tokenExp:i,isTokenExpiringSoon:a,setAccessToken:o,tryRestoreSession:s,login:c,fetchProfile:l,logout:u,forceLogout:d}}),gg=`modulepreload`,_g=function(e){return`/app/`+e},vg={},$=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=_g(t,n),t in vg)return;vg[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:gg,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},yg=fh({history:jm(),routes:[{path:`/`,name:`Dashboard`,component:()=>$(()=>import(`./DashboardPage-ml3I9rRe.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))},{path:`/servers`,name:`Servers`,component:()=>$(()=>import(`./ServersPage-C4_GVaof.js`),__vite__mapDeps([13,1,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,8,9,25,26,27,10,28,29,30,31,32,33,34]))},{path:`/terminal`,name:`Terminal`,component:()=>$(()=>import(`./TerminalPage-C1FKwM_U.js`),__vite__mapDeps([35,1,2,3,14,15,16,17,21,22,6,7,36,37,38,39]))},{path:`/files`,name:`Files`,component:()=>$(()=>import(`./FilesPage-hxpfXqS1.js`),__vite__mapDeps([40,1,41,42,2,3,43,14,15,16,17,44,18,19,21,22,4,5,6,7,45,31,30,33,46]))},{path:`/push`,name:`Push`,component:()=>$(()=>import(`./PushPage-In5b95X5.js`),__vite__mapDeps([47,2,3,43,14,15,16,17,44,18,19,20,21,22,4,5,6,7,48,1,27,49,38,50]))},{path:`/scripts`,name:`Scripts`,component:()=>$(()=>import(`./ScriptsPage-BVe-wtMe.js`),__vite__mapDeps([51,1,41,42,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,52,53,25,26,54,43,44,27,29,55,10,56,28,45,31,30,32,33,57]))},{path:`/script-runs`,name:`ScriptRuns`,component:()=>$(()=>import(`./ScriptRunsPage-C9JlCCAZ.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/script-runs/:id`,name:`ScriptRunDetail`,component:()=>$(()=>import(`./ScriptRunsPage-C9JlCCAZ.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/executions`,name:`Executions`,component:()=>$(()=>import(`./ScriptRunsPage-C9JlCCAZ.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/executions/:id`,name:`ExecutionDetail`,component:()=>$(()=>import(`./ScriptRunsPage-C9JlCCAZ.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/credentials`,name:`Credentials`,component:()=>$(()=>import(`./CredentialsPage-CCFjugTy.js`),[])},{path:`/schedules`,name:`Schedules`,component:()=>$(()=>import(`./SchedulesPage-TXjjFtcm.js`),__vite__mapDeps([60,1,2,3,14,15,16,17,20,18,19,21,22,4,5,6,7,52,53,25,26,48,27,49,54,43,44,29,55,10,45,31,30,61]))},{path:`/retries`,name:`Retries`,component:()=>$(()=>import(`./RetriesPage-Dw_0lrBr.js`),__vite__mapDeps([62,2,3,14,15,16,17,20,18,19,21,22,6,7,10,28,30]))},{path:`/commands`,name:`Commands`,component:()=>$(()=>import(`./CommandsPage-DvIicHoM.js`),__vite__mapDeps([63,2,3,14,15,16,17,20,18,19,6,7,27,10,45,31,30,32]))},{path:`/alerts`,name:`Alerts`,component:()=>$(()=>import(`./AlertsPage-B22cjGfV.js`),__vite__mapDeps([64,2,3,14,15,16,17,20,18,19,4,5,6,7,10,30]))},{path:`/audit`,name:`Audit`,component:()=>$(()=>import(`./AuditPage-xRKYABQT.js`),__vite__mapDeps([65,2,3,14,15,16,17,20,18,19,6,7,10,30,11]))},{path:`/settings`,name:`Settings`,component:()=>$(()=>import(`./SettingsPage-C2WmgeTn.js`),__vite__mapDeps([66,2,3,14,15,16,17,21,22,67,4,5,6,7,52,53,25,26,36,1,37,10,33]))},{path:`/login`,name:`Login`,component:()=>$(()=>import(`./LoginPage-CCqcI-dk.js`),__vite__mapDeps([68,1,2,3,15,16,67,69])),meta:{public:!0}}]}),bg=`nexus_chunk_reload_v1`;function xg(e){return e.includes(`Failed to fetch dynamically imported module`)||e.includes(`Importing a module script failed`)||e.includes(`error loading dynamically imported module`)}yg.onError((e,t)=>{if(!xg(e?.message||``))return;let n=window;if(!sessionStorage.getItem(bg)){sessionStorage.setItem(bg,`1`),window.location.reload();return}n.$snackbar?.(`页面「${String(t.name||t.path)}」资源已更新,请关闭此标签后重新打开后台`,`error`)}),yg.afterEach(()=>{sessionStorage.removeItem(bg)}),yg.beforeEach(async e=>{let t=hg();if(t.bootstrapped||await t.tryRestoreSession(),!e.meta.public&&!t.isLoggedIn)return{name:`Login`,query:{redirect:e.fullPath}};if(e.name===`Login`&&t.isLoggedIn)return{name:`Dashboard`}});function Sg(e){e.use(cp),e.use(yg),e.use(Nh())}var Cg=`Asia/Shanghai`;function wg(e){if(e==null)return null;let t=String(e).trim();if(!t)return null;let n=t;/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/.test(t)?n=`${t.replace(` `,`T`)}Z`:(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/.test(t)||/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+$/.test(t))&&(n=`${t}Z`);let r=new Date(n);return Number.isNaN(r.getTime())?null:r}function Tg(e){let t=new Intl.DateTimeFormat(`en-US`,{timeZone:Cg,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}).formatToParts(e);return Object.fromEntries(t.filter(e=>e.type!==`literal`).map(e=>[e.type,e.value]))}function Eg(e,t){let n=Tg(e);return t===`date`?`${n.year}-${n.month}-${n.day}`:t===`time`?`${n.hour}:${n.minute}:${n.second}`:`${n.year}-${n.month}-${n.day} ${n.hour}:${n.minute}:${n.second}`}function Dg(e){return e instanceof Date?Number.isNaN(e.getTime())?null:e:wg(e)}function Og(e){let t=Dg(e);return t?Eg(t,`datetime`):typeof e==`string`&&e.trim()?e.replace(`T`,` `).slice(0,19):`—`}function kg(e){let t=Dg(e);return t?Eg(t,`time`):`—`}var Ag={running:`执行中`,completed:`已完成`,failed:`失败`,partial:`部分成功`,cancelled:`已取消`},jg={success:`成功`,failed:`失败`,completed:`已完成`,error:`错误`,skipped:`已跳过`,started:`已启动`,timeout:`超时`,connection_error:`连接失败`,unknown:`未知`,cancelled:`已取消`,pending:`后台执行中`,done:`已完成`,running:`执行中`},Mg=new Set([`failed`,`error`,`skipped`,`timeout`,`connection_error`,`unknown`,`cancelled`]);function Ng(e){return Ag[e]||e}var Pg=new Set([`completed`,`failed`,`partial`,`cancelled`]);function Fg(e){return Pg.has(e)}function Ig(e){return e===`running`?`blue`:e===`completed`?`green`:e===`failed`?`red`:e===`partial`?`orange`:e===`cancelled`?`grey`:`info`}function Lg(e,t){let n=(t||``).trim(),r=(e||``).trim();return n===`pending`?jg.pending:n===`cancelled`||r===`cancelled`?jg.cancelled:r&&jg[r]?jg[r]:n&&jg[n]?jg[n]:r||n||`—`}function Rg(e){return(e||``).trim()===`pending`}function zg(e,t,n){if(Rg(t))return!1;if(n!=null&&n!==0)return!0;let r=(e||``).trim().toLowerCase();return!!(Mg.has(r)||(t||``).trim()===`cancelled`)}function Bg(e,t,n){return Rg(t)?`blue`:zg(e,t,n)?`error`:n===0||[`success`,`completed`,`done`].includes((e||``).toLowerCase())?`success`:`grey`}function Vg(e,t,n){return t?.[String(e)]?.trim()||n?.trim()||`服务器 #${e}`}function Hg(e,t){let n=[];if(t)try{let e=JSON.parse(t);Array.isArray(e)&&(n=e.map(String))}catch{n=[]}!n.length&&e&&(n=Object.keys(e).filter(e=>e!==`_meta`&&/^\d+$/.test(e)));let r=0,i=0,a=0;for(let t of n){let n=e?.[t]||{},o=String(n.status||``),s=n.phase?String(n.phase):void 0,c=n.exit_code??null;Rg(s)?a+=1:zg(o,s,c)?i+=1:r+=1}return{total:n.length,success:r,failed:i,pending:a}}var Ug=3e3,Wg=P(new Map),Gg=P([]),Kg=P(!0),qg=null,Jg=new Set;function Yg(e){let t=Number(e.total)||0,n=Number(e.done)||0,r=Number(e.remaining)??Math.max(0,t-n),i=e.task_kind===`server_batch`?`server_batch`:`script`;return{executionId:Number(e.execution_id),label:String(e.label||`执行 #${e.execution_id}`),status:String(e.status||`running`),total:t,done:n,remaining:r,success:Number(e.success)||0,failed:Number(e.failed)||0,progress:String(e.progress||`${n}/${t}`),longTask:!!e.long_task,operator:e.operator?String(e.operator):void 0,taskKind:i,op:e.op?String(e.op):void 0}}function Xg(e){let t=new Map(Wg.value);Fg(e.status)?t.delete(e.executionId):t.set(e.executionId,e),Wg.value=t}function Zg(e){let t={executionId:e.executionId,label:e.label,status:e.status,success:e.success,failed:e.failed,total:e.total,fading:!1,taskKind:e.taskKind,op:e.op};Gg.value=[t,...Gg.value].slice(0,5);for(let e of Jg)try{e(t)}catch{}setTimeout(()=>{Gg.value=Gg.value.map(e=>e.executionId===t.executionId?{...e,fading:!0}:e),setTimeout(()=>{Gg.value=Gg.value.filter(e=>e.executionId!==t.executionId)},400)},3e3)}function Qg(){qg||=setInterval(()=>{Kg.value||e_()},Ug)}function $g(){Wg.value.size>0||(qg&&=(clearInterval(qg),null))}async function e_(){let e=[...Wg.value.keys()];if(!e.length){$g();return}for(let t of e)try{let e=Wg.value.get(t),n=e?.taskKind===`server_batch`,r=n?await dg.get(`/servers/batch/jobs/${t}`):await dg.get(`/scripts/executions/${t}`),i=r.label||e?.label||`执行 #${t}`,a=e?.total||0;if(n){let n=r;typeof n.total==`number`&&(a=n.total);let o=r.progress||e?.progress||`0/${a}`,s=Number(n.done)||0,c=n.total||a,l={executionId:t,label:i,status:r.status,total:c||a,done:s,remaining:Number(n.remaining)||Math.max(0,(c||a)-s),success:Number(n.success)||0,failed:Number(n.failed)||0,progress:o,longTask:!1,operator:e?.operator,taskKind:`server_batch`,op:n.op};Fg(r.status)?(Xg(l),Zg({...l,status:r.status})):Xg(l);continue}let o=r;if(o.server_ids)try{let e=JSON.parse(o.server_ids);Array.isArray(e)&&(a=e.length)}catch{}let s=r.progress||e?.progress||`0/${a}`,c=s.split(`/`),l=Number(c[0])||0,u=Number(c[1])||a,d={executionId:t,label:i,status:r.status,total:u||a,done:l,remaining:Math.max(0,(u||a)-l),success:l,failed:0,progress:s,longTask:!!(o.long_task??e?.longTask),operator:e?.operator,taskKind:`script`,op:e?.op};Fg(r.status)?(Xg(d),Zg({...d,status:r.status})):Xg(d)}catch{}$g()}function t_(e){let t=Yg(e);if(t.executionId){if(e.type===`script_complete`||Fg(t.status)){Xg(t),Zg(t),$g();return}Xg(t),Qg()}}function n_(e){Kg.value=e,!e&&Wg.value.size>0&&Qg()}function r_(e,t,n,r=!1,i,a=`running`){Fg(a)||(Xg({executionId:e,label:t,status:a,total:n,done:0,remaining:n,success:0,failed:0,progress:i||`0/${n}`,longTask:r,taskKind:`script`}),Qg())}function i_(e,t,n,r,i,a=`running`){Fg(a)||(Xg({executionId:e,label:t,status:a,total:n,done:0,remaining:n,success:0,failed:0,progress:i||`0/${n}`,longTask:!1,taskKind:`server_batch`,op:r}),Qg())}function a_(e){return Jg.add(e),()=>Jg.delete(e)}function o_(e){Gg.value=Gg.value.map(t=>t.executionId===e?{...t,fading:!0}:t),setTimeout(()=>{Gg.value=Gg.value.filter(t=>t.executionId!==e)},400)}function s_(){let e=G(()=>[...Wg.value.values()].sort((e,t)=>t.executionId-e.executionId));return Yr(()=>{}),{runningItems:e,completeAlerts:G(()=>Gg.value),registerScriptExecution:r_,dismissCompleteAlert:o_,onScriptExecutionComplete:a_}}var c_=P(null),l_=P(!1),u_=P(0),d_=P([]),f_=null,p_=3e4,m_=50;function h_(){return`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}/ws/alerts`}function g_(){let e=hg(),t=G(()=>{if(!c_.value)return`disconnected`;switch(c_.value.readyState){case WebSocket.CONNECTING:return`connecting`;case WebSocket.OPEN:return`connected`;case WebSocket.CLOSING:return`closing`;default:return`disconnected`}});function n(){if(!e.token||c_.value?.readyState===WebSocket.OPEN)return;c_.value&&=(c_.value.onclose=null,c_.value.close(),null);let t=`${h_()}?token=${e.token}`,n=new WebSocket(t);n.onopen=()=>{l_.value=!0,u_.value=0,n_(!0)},n.onmessage=e=>{if(e.data!==`pong`)try{let t=JSON.parse(e.data);if(t.type===`ping`){n.send(`pong`);return}if(t.type===`script_progress`||t.type===`script_complete`){t_(t);return}if(t.type===`alert`||t.type===`recovery`){let e={type:t.type,serverId:t.server_id,serverName:t.server_name,alertType:t.alert_type||t.metric,value:t.alert_value||t.value,time:kg(new Date)};d_.value.unshift(e),d_.value.length>m_&&d_.value.pop();let n=window.$snackbar;if(n){let e=t.type===`alert`?`error`:`success`;n(t.type===`alert`?`告警: ${t.server_name} ${t.alert_type} ${t.alert_value}%`:`恢复: ${t.server_name} ${t.metric} 恢复正常`,e)}}}catch{}},n.onclose=t=>{if(l_.value=!1,n_(!1),c_.value=null,t.code===4001||t.code===4401){e.forceLogout();return}i()},n.onerror=()=>{},c_.value=n}function r(){f_&&=(clearTimeout(f_),null),c_.value&&=(c_.value.close(),null),l_.value=!1,u_.value=0,n_(!1)}function i(){if(!e.isLoggedIn)return;u_.value++;let t=Math.min(1e3*2**(u_.value-1)+Math.random()*1e3,p_);f_=setTimeout(()=>{e.isLoggedIn&&n()},t)}function a(){d_.value=[]}return{connected:l_,connectionState:t,alerts:d_,connect:n,disconnect:r,clearAlerts:a}}function __(e,t){return{path:`/executions/${e}`,query:{kind:t}}}function v_(e){return e===`server_batch`?`server_batch`:`script`}function y_(e){return e===`server_batch`?`服务器`:`脚本`}function b_(e,t,n){return e.push(__(t,n))}async function x_(e,t){let{default:n}=await $(async()=>{let{default:e}=await import(`./router-qavSGRuZ.js`);return{default:e}},[]);return b_(n,e,`server_batch`)}var S_=[{value:`off`,title:`关闭`},{value:`beep_short`,title:`短促单音`},{value:`beep_double`,title:`双音提示(默认)`},{value:`chime_soft`,title:`柔和三音`}],C_=`beep_double`,w_=new Set(S_.map(e=>e.value));function T_(e){let t=String(e??``).trim().toLowerCase();return w_.has(t)?t:C_}function E_(e,t,n,r,i=.08){let a=e.createOscillator(),o=e.createGain();a.type=`sine`,a.frequency.value=t,o.gain.value=i,a.connect(o),o.connect(e.destination),a.start(n),a.stop(n+r)}function D_(e){if(e!==`off`)try{let t=new AudioContext,n=t.currentTime;if(e===`beep_short`){E_(t,880,n,.12);return}if(e===`beep_double`){E_(t,880,n,.15),E_(t,1174,n+.12,.2);return}e===`chime_soft`&&(E_(t,523.25,n,.1,.06),E_(t,659.25,n+.1,.1,.06),E_(t,783.99,n+.2,.14,.06))}catch{}}var O_=`nexus_script_exec_complete_sound`,k_=P(A_());function A_(){try{let e=localStorage.getItem(O_);if(e)return T_(e)}catch{}return C_}function j_(e){try{localStorage.setItem(O_,e)}catch{}}function M_(){async function e(){try{let e=T_((await ug(`/settings/script_exec_complete_sound`)).value);k_.value=e,j_(e)}catch{k_.value=A_()}}async function t(e){let t=T_(e);await ug(`/settings/script_exec_complete_sound`,{method:`PUT`,body:JSON.stringify({value:t})}),k_.value=t,j_(t)}function n(){D_(k_.value)}function r(e){D_(e??k_.value)}return{soundMode:k_,syncFromServer:e,saveToServer:t,playCompleteSound:n,previewSound:r}}var N_=3e3,P_=zt({visible:!1,text:``,color:`success`}),F_=null;function I_(e,t=`success`){F_&&=(clearTimeout(F_),null),P_.text=e,P_.color=t,P_.visible=!0,F_=setTimeout(()=>{L_()},N_)}function L_(){F_&&=(clearTimeout(F_),null),P_.visible=!1}var R_=new Map,z_={serverStats:`servers:stats`,serverCategories:`servers:categories`};function B_(){R_.clear()}async function V_(e,t,n=3e4){let r=Date.now(),i=R_.get(e);if(i&&r-i.fetchedAt{R_.set(e,{data:t,fetchedAt:Date.now()})}).catch(()=>{}),{data:i.data,fromCache:!0};let a=await t();return R_.set(e,{data:a,fetchedAt:r}),{data:a,fromCache:!1}}var H_={"/":()=>$(()=>import(`./DashboardPage-ml3I9rRe.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])),"/servers":()=>$(()=>import(`./ServersPage-C4_GVaof.js`),__vite__mapDeps([13,1,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,8,9,25,26,27,10,28,29,30,31,32,33,34])),"/terminal":()=>$(()=>import(`./TerminalPage-C1FKwM_U.js`),__vite__mapDeps([35,1,2,3,14,15,16,17,21,22,6,7,36,37,38,39])),"/files":()=>$(()=>import(`./FilesPage-hxpfXqS1.js`),__vite__mapDeps([40,1,41,42,2,3,43,14,15,16,17,44,18,19,21,22,4,5,6,7,45,31,30,33,46])),"/push":()=>$(()=>import(`./PushPage-In5b95X5.js`),__vite__mapDeps([47,2,3,43,14,15,16,17,44,18,19,20,21,22,4,5,6,7,48,1,27,49,38,50])),"/scripts":()=>$(()=>import(`./ScriptsPage-BVe-wtMe.js`),__vite__mapDeps([51,1,41,42,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,52,53,25,26,54,43,44,27,29,55,10,56,28,45,31,30,32,33,57])),"/script-runs":()=>$(()=>import(`./ScriptRunsPage-C9JlCCAZ.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59])),"/executions":()=>$(()=>import(`./ScriptRunsPage-C9JlCCAZ.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59])),"/schedules":()=>$(()=>import(`./SchedulesPage-TXjjFtcm.js`),__vite__mapDeps([60,1,2,3,14,15,16,17,20,18,19,21,22,4,5,6,7,52,53,25,26,48,27,49,54,43,44,29,55,10,45,31,30,61])),"/retries":()=>$(()=>import(`./RetriesPage-Dw_0lrBr.js`),__vite__mapDeps([62,2,3,14,15,16,17,20,18,19,21,22,6,7,10,28,30])),"/commands":()=>$(()=>import(`./CommandsPage-DvIicHoM.js`),__vite__mapDeps([63,2,3,14,15,16,17,20,18,19,6,7,27,10,45,31,30,32])),"/alerts":()=>$(()=>import(`./AlertsPage-B22cjGfV.js`),__vite__mapDeps([64,2,3,14,15,16,17,20,18,19,4,5,6,7,10,30])),"/audit":()=>$(()=>import(`./AuditPage-xRKYABQT.js`),__vite__mapDeps([65,2,3,14,15,16,17,20,18,19,6,7,10,30,11])),"/settings":()=>$(()=>import(`./SettingsPage-C2WmgeTn.js`),__vite__mapDeps([66,2,3,14,15,16,17,21,22,67,4,5,6,7,52,53,25,26,36,1,37,10,33]))},U_=new Set,W_=new Map;function G_(e,t=200){let n=H_[e];if(!n||U_.has(e))return;let r=W_.get(e);r&&clearTimeout(r),W_.set(e,setTimeout(()=>{W_.delete(e),!U_.has(e)&&(U_.add(e),n().catch(()=>{U_.delete(e)}))},t))}function K_(e){let t=W_.get(e);t&&(clearTimeout(t),W_.delete(e))}var q_=[`DashboardPage`,`ServersPage`,`ScriptsPage`,`ScriptRunsPage`,`PushPage`,`FilesPage`,`SchedulesPage`,`RetriesPage`,`CommandsPage`,`AlertsPage`,`AuditPage`,`SettingsPage`],J_=wu(`v-alert-title`),Y_=J({border:[Boolean,Number,String]},`border`);function X_(e,t=mu()){return{borderClasses:G(()=>{let n=e.border;return n===!0||n===``?`${t}--border`:typeof n==`string`||n===0?String(n).split(` `).map(e=>`border-${e}`):[]})}}var Z_=[null,`default`,`comfortable`,`compact`],Q_=J({density:{type:String,default:`default`,validator:e=>Z_.includes(e)}},`density`);function $_(e,t=mu()){return{densityClasses:L(()=>`${t}--density-${e.density}`)}}var ev=J({elevation:{type:[Number,String],validator:e=>parseInt(e)>=0}},`elevation`);function tv(e){return{elevationClasses:L(()=>{let t=N(e)?e.value:e.elevation;return t==null?[]:[`elevation-${parseInt(t)}`]})}}var nv=J({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},`rounded`);function rv(e,t=mu()){return{roundedClasses:G(()=>{let n=N(e)?e.value:e.rounded,r=N(e)?!1:e.tile,i=[];if(r||n===!1)i.push(`rounded-0`);else if(n===!0||n===``)i.push(`${t}--rounded`);else if(typeof n==`string`||n===0)for(let e of String(n).split(` `))i.push(`rounded-${e}`);return i})}}var iv=J({tag:{type:[String,Object,Function],default:`div`}},`tag`);function av(e){return Rc(()=>{let{class:t,style:n}=lv(e);return{colorClasses:t,colorStyles:n}})}function ov(e){let{colorClasses:t,colorStyles:n}=av(()=>({text:Qt(e)}));return{textColorClasses:t,textColorStyles:n}}function sv(e){let{colorClasses:t,colorStyles:n}=av(()=>({background:Qt(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function cv(e){return{text:typeof e.text==`string`?e.text.replace(/^text-/,``):e.text,background:typeof e.background==`string`?e.background.replace(/^bg-/,``):e.background}}function lv(e){let t=cv(Qt(e)),n=[],r={};if(t.background)if(Zl(t.background)){if(r.backgroundColor=t.background,!t.text&&Ql(t.background)){let e=tu(t.background);(e.a==null||e.a===1)&&n.push(fu(e)?`v-theme-on-dark`:`v-theme-on-light`)}}else n.push(`bg-${t.background}`);return t.text&&(Zl(t.text)?(r.color=t.text,r.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:r}}var uv=[`elevated`,`flat`,`tonal`,`outlined`,`text`,`plain`];function dv(e,t){return H(V,null,[e&&H(`span`,{key:`overlay`,class:j(`${t}__overlay`)},null),H(`span`,{key:`underlay`,class:j(`${t}__underlay`)},null)])}var fv=J({color:String,variant:{type:String,default:`elevated`,validator:e=>uv.includes(e)}},`variant`);function pv(e,t=mu()){let n=L(()=>{let{variant:n}=Qt(e);return`${t}--variant-${n}`}),{colorClasses:r,colorStyles:i}=av(()=>{let{variant:t,color:n}=Qt(e);return{[[`elevated`,`flat`].includes(t)?`background`:`text`]:n}});return{colorClasses:r,colorStyles:i,variantClasses:n}}var mv=J({baseColor:String,divided:Boolean,direction:{type:String,default:`horizontal`},...Y_(),...Y(),...Q_(),...ev(),...nv(),...iv(),...Pf(),...fv()},`VBtnGroup`),hv=X()({name:`VBtnGroup`,props:mv(),setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{densityClasses:r}=$_(e),{borderClasses:i}=X_(e),{elevationClasses:a}=tv(e),{roundedClasses:o}=rv(e);yu({VBtn:{height:L(()=>e.direction===`horizontal`?`auto`:null),baseColor:L(()=>e.baseColor),color:L(()=>e.color),density:L(()=>e.density),flat:!0,variant:L(()=>e.variant)}}),Z(()=>U(e.tag,{class:j([`v-btn-group`,`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},n.value,i.value,r.value,a.value,o.value,e.class]),style:A(e.style)},t))}}),gv=J({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},`group`),_v=J({value:null,disabled:Boolean,selectedClass:String},`group-item`);function vv(e,t,n=!0){let r=pu(`useGroupItem`);if(!r)throw Error(`[Vuetify] useGroupItem composable must be used inside a component setup function`);let i=Er();Vn(Symbol.for(`${t.description}:id`),i);let a=z(t,null);if(!a){if(!n)return a;throw Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}let o=L(()=>e.value),s=G(()=>!!(a.disabled.value||e.disabled));function c(){a?.register({id:i,value:o,disabled:s},r)}function l(){a?.unregister(i)}c(),Jr(()=>l());let u=G(()=>a.isSelected(i)),d=G(()=>a.items.value[0].id===i),f=G(()=>a.items.value[a.items.value.length-1].id===i),p=G(()=>u.value&&[a.selectedClass.value,e.selectedClass]);return B(u,e=>{r.emit(`group:selected`,{value:e})},{flush:`sync`}),{id:i,isSelected:u,isFirst:d,isLast:f,toggle:()=>a.select(i,!u.value),select:e=>a.select(i,e),selectedClass:p,value:o,disabled:s,group:a,register:c,unregister:l}}function yv(e,t){let n=!1,r=zt([]),i=Zu(e,`modelValue`,[],e=>e===void 0?[]:xv(r,e===null?[null]:Ec(e)),t=>{let n=Sv(r,t);return e.multiple?n:n[0]}),a=pu(`useGroup`);function o(e,n){let i=e,o=Ic(Symbol.for(`${t.description}:id`),a?.vnode).indexOf(n);I(i.value)===void 0&&(i.value=o,i.useIndexAsValue=!0),o>-1?r.splice(o,0,i):r.push(i)}function s(e){if(n)return;c();let t=r.findIndex(t=>t.id===e);r.splice(t,1)}function c(){let t=r.find(e=>!e.disabled);t&&e.mandatory===`force`&&!i.value.length&&(i.value=[t.id])}Gr(()=>{c()}),Jr(()=>{n=!0}),qr(()=>{for(let e=0;ee.id===t);if(!(n&&a?.disabled))if(e.multiple){let r=i.value.slice(),a=r.findIndex(e=>e===t),o=~a;if(n??=!o,o&&e.mandatory&&r.length<=1||!o&&e.max!=null&&r.length+1>e.max)return;a<0&&n?r.push(t):a>=0&&!n&&r.splice(a,1),i.value=r}else{let r=i.value.includes(t);if(e.mandatory&&r||!r&&!n)return;i.value=n??!r?[t]:[]}}function u(t){if(e.multiple&&ec(`This method is not supported when using "multiple" prop`),i.value.length){let e=i.value[0],n=r.findIndex(t=>t.id===e),a=(n+t)%r.length,o=r[a];for(;o.disabled&&a!==n;)a=(a+t)%r.length,o=r[a];if(o.disabled)return;i.value=[r[a].id]}else{let e=r.find(e=>!e.disabled);e&&(i.value=[e.id])}}let d={register:o,unregister:s,selected:i,select:l,disabled:L(()=>e.disabled),prev:()=>u(r.length-1),next:()=>u(1),isSelected:e=>i.value.includes(e),selectedClass:L(()=>e.selectedClass),items:L(()=>r),getItemIndex:e=>bv(r,e)};return Vn(t,d),d}function bv(e,t){let n=xv(e,[t]);return n.length?e.findIndex(e=>e.id===n[0]):-1}function xv(e,t){let n=[];return t.forEach(t=>{let r=e.find(e=>Du(t,e.value)),i=e[t];r?.value===void 0?i?.useIndexAsValue&&n.push(i.id):n.push(r.id)}),n}function Sv(e,t){let n=[];return t.forEach(t=>{let r=e.findIndex(e=>e.id===t);if(~r){let t=e[r];n.push(t.value===void 0?r:t.value)}}),n}var Cv=Symbol.for(`vuetify:v-btn-toggle`),wv=J({...mv(),...gv()},`VBtnToggle`),Tv=X()({name:`VBtnToggle`,props:wv(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{isSelected:n,next:r,prev:i,select:a,selected:o}=yv(e,Cv);return Z(()=>{let s=hv.filterProps(e);return U(hv,W({class:[`v-btn-toggle`,{"v-btn-toggle--has-color":!!e.color},e.class]},s,{style:e.style}),{default:()=>[t.default?.({isSelected:n,next:r,prev:i,select:a,selected:o})]})}),{next:r,prev:i,select:a}}}),Ev=J({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},`VDefaultsProvider`),Dv=X(!1)({name:`VDefaultsProvider`,props:Ev(),setup(e,{slots:t}){let{defaults:n,disabled:r,reset:i,root:a,scoped:o}=rn(e);return yu(n,{reset:i,root:a,scoped:o,disabled:r}),()=>t.default?.()}}),Ov=[`x-small`,`small`,`default`,`large`,`x-large`],kv=J({size:{type:[String,Number],default:`default`}},`size`);function Av(e,t=mu()){return Rc(()=>{let n=e.size,r,i;return zc(Ov,n)?r=`${t}--size-${n}`:n&&(i={width:q(n),height:q(n)}),{sizeClasses:r,sizeStyles:i}})}var jv=J({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:zu,opacity:[String,Number],...Y(),...kv(),...iv({tag:`i`}),...Pf()},`VIcon`),Mv=X()({name:`VIcon`,props:jv(),setup(e,{attrs:t,slots:n}){let r=F(),{themeClasses:i}=qf(),{iconData:a}=Gu(()=>r.value||e.icon),{sizeClasses:o}=Av(e),{textColorClasses:s,textColorStyles:c}=ov(()=>e.color);return Z(()=>{let l=n.default?.();l&&(r.value=Pc(l).filter(e=>e.type===Ta&&e.children&&typeof e.children==`string`)[0]?.children);let u=!!(t.onClick||t.onClickOnce);return U(a.value.component,{tag:e.tag,icon:a.value.icon,class:j([`v-icon`,`notranslate`,i.value,o.value,s.value,{"v-icon--clickable":u,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:A([{"--v-icon-opacity":e.opacity},o.value?void 0:{fontSize:q(e.size),height:q(e.size),width:q(e.size)},c.value,e.style]),role:u?`button`:void 0,"aria-hidden":!u,tabindex:u?e.disabled?-1:0:void 0},{default:()=>[l]})}),{}}});function Nv(e,t){let n=P(),r=F(!1);if(rc){let i=new IntersectionObserver(t=>{e?.(t,i),r.value=!!t.find(e=>e.isIntersecting)},t);Oe(()=>{i.disconnect()}),B(n,(e,t)=>{t&&(i.unobserve(t),r.value=!1),e&&i.observe(e)},{flush:`post`})}return{intersectionRef:n,isIntersecting:r}}var Pv=J({reveal:{type:[Boolean,Object],default:!1}},`reveal`);function Fv(e){let t=L(()=>typeof e.reveal==`object`?Math.max(0,Number(e.reveal.duration??900)):900),n=F(e.reveal?`initial`:`disabled`);return Gr(async()=>{e.reveal&&(n.value=`initial`,await new Promise(e=>requestAnimationFrame(e)),n.value=`pending`,await new Promise(e=>setTimeout(e,t.value)),n.value=`done`)}),{duration:t,state:n}}var Iv=J({bgColor:String,color:String,indeterminate:[Boolean,String],rounded:Boolean,modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...Y(),...Pv(),...kv(),...iv({tag:`div`}),...Pf()},`VProgressCircular`),Lv=X()({name:`VProgressCircular`,props:Iv(),setup(e,{slots:t}){let n=2*Math.PI*20,r=P(),{themeClasses:i}=Kf(e),{sizeClasses:a,sizeStyles:o}=Av(e),{textColorClasses:s,textColorStyles:c}=ov(()=>e.color),{textColorClasses:l,textColorStyles:u}=ov(()=>e.bgColor),{intersectionRef:d,isIntersecting:f}=Nv(),{resizeRef:p,contentRect:m}=Jf(),{state:h,duration:g}=Fv(e),_=L(()=>h.value===`initial`?0:Oc(parseFloat(e.modelValue),0,100)),v=L(()=>Number(e.width)),y=L(()=>o.value?Number(e.size):m.value?m.value.width:Math.max(v.value,32)),b=L(()=>20/(1-v.value/y.value)*2),x=L(()=>v.value/y.value*b.value),S=L(()=>{let t=(100-_.value)/100*n;return e.rounded&&_.value>0&&_.value<100?q(Math.min(n-.01,t+x.value)):q(t)}),C=G(()=>{let t=Number(e.rotate);return e.rounded?t+x.value/2/n*360:t});return Gn(()=>{d.value=r.value,p.value=r.value}),Z(()=>U(e.tag,{ref:r,class:j([`v-progress-circular`,{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":f.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate===`disable-shrink`||oc()),"v-progress-circular--revealing":[`initial`,`pending`].includes(h.value)},i.value,a.value,s.value,e.class]),style:A([o.value,c.value,{"--progress-reveal-duration":`${g.value}ms`},e.style]),role:`progressbar`,"aria-valuemin":`0`,"aria-valuemax":`100`,"aria-valuenow":e.indeterminate?void 0:_.value},{default:()=>[H(`svg`,{style:{transform:`rotate(calc(-90deg + ${C.value}deg))`},xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 ${b.value} ${b.value}`},[H(`circle`,{class:j([`v-progress-circular__underlay`,l.value]),style:A(u.value),fill:`transparent`,cx:`50%`,cy:`50%`,r:20,"stroke-width":x.value,"stroke-dasharray":n,"stroke-dashoffset":0},null),H(`circle`,{class:`v-progress-circular__overlay`,fill:`transparent`,cx:`50%`,cy:`50%`,r:20,"stroke-width":x.value,"stroke-dasharray":n,"stroke-dashoffset":S.value,"stroke-linecap":e.rounded?`round`:void 0},null)]),t.default&&H(`div`,{class:`v-progress-circular__content`},[t.default({value:_.value})])]})),{}}}),Rv=J({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},`dimension`);function zv(e){return{dimensionStyles:G(()=>{let t={},n=q(e.height),r=q(e.maxHeight),i=q(e.maxWidth),a=q(e.minHeight),o=q(e.minWidth),s=q(e.width);return n!=null&&(t.height=n),r!=null&&(t.maxHeight=r),i!=null&&(t.maxWidth=i),a!=null&&(t.minHeight=a),o!=null&&(t.minWidth=o),s!=null&&(t.width=s),t})}}var Bv={center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`},Vv=J({location:String},`location`);function Hv(e,t=!1,n){let{isRtl:r}=pd();return{locationStyles:G(()=>{if(!e.location)return{};let{side:i,align:a}=sl(e.location.split(` `).length>1?e.location:`${e.location} center`,r.value);function o(e){return n?n(e):0}let s={};return i!==`center`&&(t?s[Bv[i]]=`calc(100% - ${o(i)}px)`:s[i]=0),a===`center`?(i===`center`?s.top=s.left=`50%`:s[{top:`left`,bottom:`left`,left:`top`,right:`top`}[i]]=`50%`,s.transform={top:`translateX(-50%)`,bottom:`translateX(-50%)`,left:`translateY(-50%)`,right:`translateY(-50%)`,center:`translate(-50%, -50%)`}[i]):t?s[Bv[a]]=`calc(100% - ${o(a)}px)`:s[a]=0,s})}}var Uv=J({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},`chunks`);function Wv(e,t){let n=L(()=>!!e.chunkCount||!!e.chunkWidth),r=G(()=>{let n=Qt(t);if(!n)return 0;if(!e.chunkCount)return Number(e.chunkWidth);let r=Number(e.chunkCount);return(n-Number(e.chunkGap)*(r-1))/r}),i=L(()=>Number(e.chunkGap)),a=G(()=>{if(!n.value)return{};let e=q(i.value),t=q(r.value);return{maskRepeat:`repeat-x`,maskImage:`linear-gradient(90deg, #000, #000 ${t}, transparent ${t}, transparent)`,maskSize:`calc(${t} + ${e}) 100%`}});function o(e){let n=Qt(t);if(!n)return e;let a=100*i.value/n,o=100*(r.value+i.value)/n;return Oc(Math.floor((e+a)/o+1e-9)*o-a/2,0,100)}return{hasChunks:n,chunksMaskStyles:a,snapValueToChunk:o}}var Gv=J({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...Uv(),...Y(),...Vv({location:`top`}),...nv(),...iv(),...Pf()},`VProgressLinear`),Kv=X()({name:`VProgressLinear`,props:Gv(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=P(),r=Zu(e,`modelValue`),{isRtl:i,rtlClasses:a}=pd(),{themeClasses:o}=Kf(e),{locationStyles:s}=Hv(e),{textColorClasses:c,textColorStyles:l}=ov(()=>e.color),{backgroundColorClasses:u,backgroundColorStyles:d}=sv(()=>e.bgColor||e.color),{backgroundColorClasses:f,backgroundColorStyles:p}=sv(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:m,backgroundColorStyles:h}=sv(()=>e.color),{roundedClasses:g}=rv(e),{intersectionRef:_,isIntersecting:v}=Nv(),y=G(()=>parseFloat(e.max)),b=G(()=>parseFloat(e.height)),x=G(()=>Oc(parseFloat(e.bufferValue)/y.value*100,0,100)),S=G(()=>Oc(parseFloat(r.value)/y.value*100,0,100)),C=G(()=>i.value!==e.reverse),w=G(()=>e.indeterminate?`fade-transition`:`slide-x-transition`),T=F(0),{hasChunks:E,chunksMaskStyles:ee,snapValueToChunk:te}=Wv(e,T);Xu(E,()=>{let{resizeRef:e}=Jf(e=>T.value=e[0].contentRect.width);Gn(()=>e.value=n.value)});let D=G(()=>E.value?te(x.value):x.value),ne=G(()=>E.value?te(S.value):S.value);function re(e){if(!_.value)return;let{left:t,right:n,width:i}=_.value.getBoundingClientRect(),a=C.value?i-e.clientX+(n-i):e.clientX-t;r.value=Math.round(a/i*y.value)}return Gn(()=>{_.value=n.value}),Z(()=>U(e.tag,{ref:n,class:j([`v-progress-linear`,{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&v.value,"v-progress-linear--reverse":C.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},g.value,o.value,a.value,e.class]),style:A([{bottom:e.location===`bottom`?0:void 0,top:e.location===`top`?0:void 0,height:e.active?q(b.value):0,"--v-progress-linear-height":q(b.value),...e.absolute?s.value:{}},ee.value,e.style]),role:`progressbar`,"aria-hidden":e.active?`false`:`true`,"aria-valuemin":`0`,"aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(r.value),y.value),onClick:e.clickable&&re},{default:()=>[e.stream&&H(`div`,{key:`stream`,class:j([`v-progress-linear__stream`,c.value]),style:{...l.value,[C.value?`left`:`right`]:q(-b.value),borderTop:`${q(b.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${q(b.value/4)})`,width:q(100-x.value,`%`),"--v-progress-linear-stream-to":q(b.value*(C.value?1:-1))}},null),H(`div`,{class:j([`v-progress-linear__background`,u.value]),style:A([d.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),H(`div`,{class:j([`v-progress-linear__buffer`,f.value]),style:A([p.value,{opacity:parseFloat(e.bufferOpacity),width:q(D.value,`%`)}])},null),U(Fo,{name:w.value},{default:()=>[e.indeterminate?H(`div`,{class:`v-progress-linear__indeterminate`},[[`long`,`short`].map(e=>H(`div`,{key:e,class:j([`v-progress-linear__indeterminate`,e,m.value]),style:A(h.value)},null))]):H(`div`,{class:j([`v-progress-linear__determinate`,m.value]),style:A([h.value,{width:q(ne.value,`%`)}])},null)]}),t.default&&H(`div`,{class:`v-progress-linear__content`},[t.default({value:S.value,buffer:x.value})])]})),{}}}),qv=J({loading:[Boolean,String]},`loader`);function Jv(e,t=mu()){return{loaderClasses:L(()=>({[`${t}--loading`]:e.loading}))}}function Yv(e,{slots:t}){return H(`div`,{class:j(`${e.name}__loader`)},[t.default?.({color:e.color,isActive:e.active})||U(Kv,{absolute:e.absolute,active:e.active,color:e.color,height:`2`,indeterminate:!0},null)])}var Xv=[`static`,`relative`,`fixed`,`absolute`,`sticky`],Zv=J({position:{type:String,validator:e=>Xv.includes(e)}},`position`);function Qv(e,t=mu()){return{positionClasses:L(()=>e.position?`${t}--${e.position}`:void 0)}}function $v(){let e=pu(`useRoute`);return G(()=>e?.proxy?.$route)}function ey(){return pu(`useRouter`)?.proxy?.$router}function ty(e,t){let n=ri(`RouterLink`),r=L(()=>!!(e.href||e.to)),i=G(()=>r?.value||Hc(t,`click`)||Hc(e,`click`));if(typeof n==`string`||!(`useLink`in n)){let t=L(()=>e.href);return{isLink:r,isRouterLink:L(()=>!1),isClickable:i,href:t,linkProps:zt({href:t}),route:L(()=>void 0),navigate:L(()=>void 0)}}let a=n.useLink({to:L(()=>e.to||``),replace:L(()=>e.replace)}),o=G(()=>e.to?a:void 0),s=$v(),c=G(()=>o.value?e.exact?s.value?o.value.isExactActive?.value&&Du(o.value.route.value.query,s.value.query):o.value.isExactActive?.value??!1:o.value.isActive?.value??!1:!1),l=G(()=>e.to?o.value?.route.value.href:e.href);return{isLink:r,isRouterLink:L(()=>!!e.to),isClickable:i,isActive:c,route:L(()=>o.value?.route.value),navigate:L(()=>o.value?.navigate),href:l,linkProps:zt({href:l,"aria-current":L(()=>c.value?`page`:void 0),"aria-disabled":L(()=>e.disabled&&r.value?`true`:void 0),tabindex:L(()=>e.disabled&&r.value?`-1`:void 0)})}}var ny=J({href:String,replace:Boolean,to:[String,Object],exact:Boolean},`router`),ry=!1;function iy(e,t){let n=!1,r,i;K&&e?.beforeEach&&(Dn(()=>{window.addEventListener(`popstate`,a),r=e.beforeEach(()=>ry?n?t():void 0:(ry=!0,new Promise(e=>{setTimeout(()=>e(n?t():void 0))}))),i=e?.afterEach(()=>{ry=!1})}),Oe(()=>{window.removeEventListener(`popstate`,a),r?.(),i?.()}));function a(e){e.state?.replaced||(n=!0,setTimeout(()=>n=!1))}}function ay(e,t){B(()=>e.isActive?.value,n=>{e.isLink.value&&n!=null&&t&&Dn(()=>{t(n)})},{immediate:!0})}var oy=Symbol(`rippleStop`),sy=80;function cy(e,t){e.style.transform=t,e.style.webkitTransform=t}function ly(e){return e.constructor.name===`TouchEvent`}function uy(e){return e.constructor.name===`KeyboardEvent`}var dy=(e,t,n={})=>{let r=0,i=0;if(!uy(e)){let n=new pl(t),a=ly(e)?e.touches[e.touches.length-1]:e,o=hl([a.clientX,a.clientY]);r=o.x-n.left,i=o.y-n.top}let a=0,o=.3;t._ripple?.circle?(o=.15,a=t.clientWidth/2,a=n.center?a:a+Math.sqrt((r-a)**2+(i-a)**2)/4):a=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;let s=`${(t.clientWidth-a*2)/2}px`,c=`${(t.clientHeight-a*2)/2}px`,l=n.center?s:`${r-a}px`,u=n.center?c:`${i-a}px`;return{radius:a,scale:o,x:l,y:u,centerX:s,centerY:c}},fy={show(e,t,n={}){if(!t?._ripple?.enabled)return;let r=document.createElement(`span`),i=document.createElement(`span`);r.appendChild(i),r.className=`v-ripple__container`,n.class&&(r.className+=` ${n.class}`);let{radius:a,scale:o,x:s,y:c,centerX:l,centerY:u}=dy(e,t,n),d=`${a*2}px`;i.className=`v-ripple__animation`,i.style.width=d,i.style.height=d,t.appendChild(r);let f=window.getComputedStyle(t);f&&f.position===`static`&&(t.style.position=`relative`,t.dataset.previousPosition=`static`),i.classList.add(`v-ripple__animation--enter`),i.classList.add(`v-ripple__animation--visible`),cy(i,`translate(${s}, ${c}) scale3d(${o},${o},${o})`),i.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.classList.remove(`v-ripple__animation--enter`),i.classList.add(`v-ripple__animation--in`),cy(i,`translate(${l}, ${u}) scale3d(1,1,1)`)})})},hide(e){if(!e?._ripple?.enabled)return;let t=e.getElementsByClassName(`v-ripple__animation`);if(t.length===0)return;let n=Array.from(t).findLast(e=>!e.dataset.isHiding);if(n)n.dataset.isHiding=`true`;else return;let r=performance.now()-Number(n.dataset.activated),i=Math.max(250-r,0);setTimeout(()=>{n.classList.remove(`v-ripple__animation--in`),n.classList.add(`v-ripple__animation--out`),setTimeout(()=>{e.getElementsByClassName(`v-ripple__animation`).length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),n.parentNode?.parentNode===e&&e.removeChild(n.parentNode)},300)},i)}};function py(e){return e===void 0||!!e}function my(e){let t={},n=e.currentTarget;if(!(!n?._ripple||n._ripple.touched||e[oy])){if(e[oy]=!0,ly(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||uy(e),n._ripple.class&&(t.class=n._ripple.class),ly(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{fy.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{n?._ripple?.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},sy)}else fy.show(e,n,t)}}function hy(e){e[oy]=!0}function gy(e){let t=e.currentTarget;if(t?._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type===`touchend`&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{gy(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),fy.hide(t)}}function _y(e){let t=e.currentTarget;t?._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}var vy=!1;function yy(e,t){!vy&&t.includes(e.key)&&(vy=!0,my(e))}function by(e){vy=!1,gy(e)}function xy(e){vy&&(vy=!1,gy(e))}function Sy(e,t,n){let{value:r,modifiers:i}=t,a=py(r);a||fy.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=a,e._ripple.centered=i.center,e._ripple.circle=i.circle;let o=dc(r)?r:{};o.class&&(e._ripple.class=o.class);let s=o.keys??[`Enter`,`Space`];if(e._ripple.keyDownHandler=e=>yy(e,s),a&&!n){if(i.stop){e.addEventListener(`touchstart`,hy,{passive:!0}),e.addEventListener(`mousedown`,hy);return}e.addEventListener(`touchstart`,my,{passive:!0}),e.addEventListener(`touchend`,gy,{passive:!0}),e.addEventListener(`touchmove`,_y,{passive:!0}),e.addEventListener(`touchcancel`,gy),e.addEventListener(`mousedown`,my),e.addEventListener(`mouseup`,gy),e.addEventListener(`mouseleave`,gy),e.addEventListener(`keydown`,e._ripple.keyDownHandler),e.addEventListener(`keyup`,by),e.addEventListener(`blur`,xy),e.addEventListener(`dragstart`,gy,{passive:!0})}else !a&&n&&Cy(e)}function Cy(e){e.removeEventListener(`touchstart`,hy),e.removeEventListener(`mousedown`,hy),e.removeEventListener(`touchstart`,my),e.removeEventListener(`touchend`,gy),e.removeEventListener(`touchmove`,_y),e.removeEventListener(`touchcancel`,gy),e.removeEventListener(`mousedown`,my),e.removeEventListener(`mouseup`,gy),e.removeEventListener(`mouseleave`,gy),e._ripple?.keyDownHandler&&e.removeEventListener(`keydown`,e._ripple.keyDownHandler),e.removeEventListener(`keyup`,by),e.removeEventListener(`blur`,xy),e.removeEventListener(`dragstart`,gy)}function wy(e,t){Sy(e,t,!1)}function Ty(e){Cy(e),delete e._ripple}function Ey(e,t){t.value!==t.oldValue&&Sy(e,t,py(t.oldValue))}var Dy={mounted:wy,unmounted:Ty,updated:Ey},Oy=J({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:Cv},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:zu,appendIcon:zu,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,spaced:String,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},...Y_(),...Y(),...Q_(),...Rv(),...ev(),..._v(),...qv(),...Vv(),...Zv(),...nv(),...ny(),...kv(),...iv({tag:`button`}),...Pf(),...fv({variant:`elevated`})},`VBtn`),ky=X()({name:`VBtn`,props:Oy(),emits:{"group:selected":e=>!0},setup(e,{attrs:t,slots:n}){let{themeClasses:r}=Kf(e),{borderClasses:i}=X_(e),{densityClasses:a}=$_(e),{dimensionStyles:o}=zv(e),{elevationClasses:s}=tv(e),{loaderClasses:c}=Jv(e),{locationStyles:l}=Hv(e),{positionClasses:u}=Qv(e),{roundedClasses:d}=rv(e),{sizeClasses:f,sizeStyles:p}=Av(e),m=vv(e,e.symbol,!1),h=ty(e,t),g=G(()=>e.active===void 0?h.isRouterLink.value?h.isActive?.value:m?.isSelected.value:e.active),_=L(()=>g.value?e.activeColor??e.color:e.color),{colorClasses:v,colorStyles:y,variantClasses:b}=pv(G(()=>({color:m?.isSelected.value&&(!h.isLink.value||h.isActive?.value)||!m||h.isActive?.value?_.value??e.baseColor:e.baseColor,variant:e.variant}))),x=G(()=>m?.disabled.value||e.disabled),S=L(()=>e.variant===`elevated`&&!(e.disabled||e.flat||e.border)),C=G(()=>{if(!(e.value===void 0||typeof e.value==`symbol`))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function w(e){x.value||h.isLink.value&&(e.metaKey||e.ctrlKey||e.shiftKey||e.button!==0||t.target===`_blank`)||(h.isRouterLink.value?h.navigate.value?.(e):m?.toggle())}return ay(h,m?.select),Z(()=>{let t=h.isLink.value?`a`:e.tag,_=!!(e.prependIcon||n.prepend),T=!!(e.appendIcon||n.append),E=!!(e.icon&&e.icon!==!0);return zn(U(t,W(h.linkProps,{type:t===`a`?void 0:`button`,class:[`v-btn`,m?.selectedClass.value,{"v-btn--active":g.value,"v-btn--block":e.block,"v-btn--disabled":x.value,"v-btn--elevated":S.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},e.spaced?[`v-btn--spaced`,`v-btn--spaced-${e.spaced}`]:[],r.value,i.value,v.value,a.value,s.value,c.value,u.value,d.value,f.value,b.value,e.class],style:[y.value,o.value,l.value,p.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:x.value&&t!==`a`||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:w,value:C.value}),{default:()=>[dv(!0,`v-btn`),!e.icon&&_&&H(`span`,{key:`prepend`,class:`v-btn__prepend`},[n.prepend?U(Dv,{key:`prepend-defaults`,disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},n.prepend):U(Mv,{key:`prepend-icon`,icon:e.prependIcon},null)]),H(`span`,{class:`v-btn__content`,"data-no-activator":``},[!n.default&&E?U(Mv,{key:`content-icon`,icon:e.icon},null):U(Dv,{key:`content-defaults`,disabled:!E,defaults:{VIcon:{icon:e.icon}}},{default:()=>[n.default?.()??xe(e.text)]})]),!e.icon&&T&&H(`span`,{key:`append`,class:`v-btn__append`},[n.append?U(Dv,{key:`append-defaults`,disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},n.append):U(Mv,{key:`append-icon`,icon:e.appendIcon},null)]),!!e.loading&&H(`span`,{key:`loader`,class:`v-btn__loader`},[n.loader?.()??U(Lv,{color:typeof e.loading==`boolean`?void 0:e.loading,indeterminate:!0,width:`2`},null)])]}),[[Dy,!x.value&&e.ripple,``,{center:!!e.icon}]])}),{group:m}}}),Ay=J({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[[`x-small`,10],[`small`,16],[`default`,24],[`large`,28],[`x-large`,32]]}},`iconSize`);function jy(e,t){return{iconSize:G(()=>{let n=new Map(e.iconSizes),r=e.iconSize??t()??`default`;return n.has(r)?n.get(r):r})}}var My=[`success`,`info`,`warning`,`error`],Ny=J({border:{type:[Boolean,String],validator:e=>typeof e==`boolean`||[`top`,`end`,`bottom`,`start`].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:zu,default:`$close`},closeLabel:{type:String,default:`$vuetify.close`},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>My.includes(e)},...Y(),...Q_(),...Rv(),...ev(),...Ay(),...Vv(),...Zv(),...nv(),...iv(),...Pf(),...fv({variant:`flat`})},`VAlert`),Py=X()({name:`VAlert`,props:Ny(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,{emit:t,slots:n}){let r=Zu(e,`modelValue`),i=L(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:a}=jy(e,()=>e.prominent?44:void 0),{themeClasses:o}=Kf(e),{colorClasses:s,colorStyles:c,variantClasses:l}=pv(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:u}=$_(e),{dimensionStyles:d}=zv(e),{elevationClasses:f}=tv(e),{locationStyles:p}=Hv(e),{positionClasses:m}=Qv(e),{roundedClasses:h}=rv(e),{textColorClasses:g,textColorStyles:_}=ov(()=>e.borderColor),{t:v}=ud(),y=L(()=>({"aria-label":v(e.closeLabel),onClick(e){r.value=!1,t(`click:close`,e)}}));return()=>{let t=!!(n.prepend||i.value),v=!!(n.title||e.title),b=!!(n.close||e.closable),x={density:e.density,icon:i.value,size:e.iconSize||e.prominent?a.value:void 0};return r.value&&U(e.tag,{class:j([`v-alert`,e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?`start`:e.border}`]:!0},{"v-alert--prominent":e.prominent},o.value,s.value,u.value,f.value,m.value,h.value,l.value,e.class]),style:A([c.value,d.value,p.value,e.style]),role:`alert`},{default:()=>[dv(!1,`v-alert`),e.border&&H(`div`,{key:`border`,class:j([`v-alert__border`,g.value]),style:A(_.value)},null),t&&H(`div`,{key:`prepend`,class:`v-alert__prepend`},[n.prepend?U(Dv,{key:`prepend-defaults`,disabled:!i.value,defaults:{VIcon:{...x}}},n.prepend):U(Mv,W({key:`prepend-icon`},x),null)]),H(`div`,{class:`v-alert__content`},[v&&U(J_,{key:`title`},{default:()=>[n.title?.()??e.title]}),n.text?.()??e.text,n.default?.()]),n.append&&H(`div`,{key:`append`,class:`v-alert__append`},[n.append()]),b&&H(`div`,{key:`close`,class:`v-alert__close`},[n.close?U(Dv,{key:`close-defaults`,defaults:{VBtn:{icon:e.closeIcon,size:`x-small`,variant:`text`}}},{default:()=>[n.close?.({props:y.value})]}):U(ky,W({key:`close-btn`,icon:e.closeIcon,size:`x-small`,variant:`text`},y.value),null)])]})}}}),Fy=J({...Y(),...yc(Qf(),[`fullHeight`]),...Pf()},`VApp`),Iy=X()({name:`VApp`,props:Fy(),setup(e,{slots:t}){let n=Kf(e),{layoutClasses:r,getLayoutItem:i,items:a,layoutRef:o}=rp({...e,fullHeight:!0}),{rtlClasses:s}=pd();return Z(()=>H(`div`,{ref:o,class:j([`v-application`,n.themeClasses.value,r.value,s.value,e.class]),style:A([e.style])},[H(`div`,{class:`v-application__wrap`},[t.default?.()])])),{getLayoutItem:i,items:a,theme:n}}}),Ly=J({text:String,...Y(),...iv()},`VToolbarTitle`),Ry=X()({name:`VToolbarTitle`,props:Ly(),setup(e,{slots:t}){return Z(()=>{let n=!!(t.default||t.text||e.text);return U(e.tag,{class:j([`v-toolbar-title`,e.class]),style:A(e.style)},{default:()=>[n&&H(`div`,{class:`v-toolbar-title__placeholder`},[t.text?t.text():e.text,t.default?.()])]})}),{}}}),zy=J({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},`transition`);function By(e,t,n){return X()({name:e,props:zy({mode:n,origin:t}),setup(t,{slots:n}){let r={onBeforeEnter(e){t.origin&&(e.style.transformOrigin=t.origin)},onLeave(e){if(t.leaveAbsolute){let{offsetTop:t,offsetLeft:n,offsetWidth:r,offsetHeight:i}=e;e._transitionInitialStyles={position:e.style.position,top:e.style.top,left:e.style.left,width:e.style.width,height:e.style.height},e.style.position=`absolute`,e.style.top=`${t}px`,e.style.left=`${n}px`,e.style.width=`${r}px`,e.style.height=`${i}px`}t.hideOnLeave&&e.style.setProperty(`display`,`none`,`important`)},onAfterLeave(e){if(t.leaveAbsolute&&e?._transitionInitialStyles){let{position:t,top:n,left:r,width:i,height:a}=e._transitionInitialStyles;delete e._transitionInitialStyles,e.style.position=t||``,e.style.top=n||``,e.style.left=r||``,e.style.width=i||``,e.style.height=a||``}}};return()=>yo(t.group?js:Fo,{name:t.disabled?``:e,css:!t.disabled,...t.group?void 0:{mode:t.mode},...t.disabled?{}:r},n.default)}})}function Vy(e,t,n=`in-out`){return X()({name:e,props:{mode:{type:String,default:n},disabled:{type:Boolean,default:oc()},group:Boolean,hideOnLeave:Boolean},setup(n,{slots:r}){let i=n.group?js:Fo;return()=>yo(i,{name:n.disabled?``:e,css:!n.disabled,...n.disabled?{}:{...t,onLeave:e=>{n.hideOnLeave?e.style.setProperty(`display`,`none`,`important`):t.onLeave?.(e)}}},r.default)}})}function Hy(e=``,t=`y`){return{onBeforeEnter(e){e._parent=e.parentNode,e._initialStyle={transition:e.style.transition,overflow:e.style.overflow,width:e.style.width,height:e.style.height}},onEnter(n){let r=n._initialStyle;if(!r)return;n.style.setProperty(`transition`,`none`,`important`),n.style.overflow=`hidden`;let i=`${n.offsetWidth}px`,a=`${n.offsetHeight}px`;[`x`,`both`].includes(t)&&(n.style.width=`0`),[`y`,`both`].includes(t)&&(n.style.height=`0`),n.offsetHeight,n.style.transition=r.transition,e&&n._parent&&n._parent.classList.add(e),requestAnimationFrame(()=>{[`x`,`both`].includes(t)&&(n.style.width=i),[`y`,`both`].includes(t)&&(n.style.height=a)})},onAfterEnter:r,onEnterCancelled:r,onLeave(e){e._initialStyle={transition:``,overflow:e.style.overflow,width:e.style.width,height:e.style.height},e.style.overflow=`hidden`,[`x`,`both`].includes(t)&&(e.style.width=`${e.offsetWidth}px`),[`y`,`both`].includes(t)&&(e.style.height=`${e.offsetHeight}px`),e.offsetHeight,requestAnimationFrame(()=>{[`x`,`both`].includes(t)&&(e.style.width=`0`),[`y`,`both`].includes(t)&&(e.style.height=`0`)})},onAfterLeave:n,onLeaveCancelled:n};function n(t){e&&t._parent&&t._parent.classList.remove(e),r(t)}function r(e){if(!e._initialStyle)return;let{width:n,height:r}=e._initialStyle;e.style.overflow=e._initialStyle.overflow,n!=null&&[`x`,`both`].includes(t)&&(e.style.width=n),r!=null&&[`y`,`both`].includes(t)&&(e.style.height=r),delete e._initialStyle}}var Uy=J({target:[Object,Array]},`v-dialog-transition`),Wy=new WeakMap,Gy=X()({name:`VDialogTransition`,props:Uy(),setup(e,{slots:t}){let n={onBeforeEnter(e){e.style.pointerEvents=`none`,e.style.visibility=`hidden`},async onEnter(t,n){await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),t.style.visibility=``;let r=qy(e.target,t),{x:i,y:a,sx:o,sy:s,speed:c}=r;if(Wy.set(t,r),oc())vl(t,[{opacity:0},{}],{duration:125*c,easing:Au}).finished.then(()=>n());else{let e=vl(t,[{transform:`translate(${i}px, ${a}px) scale(${o}, ${s})`,opacity:0},{}],{duration:225*c,easing:Au});Ky(t)?.forEach(e=>{vl(e,[{opacity:0},{opacity:0,offset:.33},{}],{duration:450*c,easing:ku})}),e.finished.then(()=>n())}},onAfterEnter(e){e.style.removeProperty(`pointer-events`)},onBeforeLeave(e){e.style.pointerEvents=`none`},async onLeave(t,n){await new Promise(e=>requestAnimationFrame(e));let r;r=!Wy.has(t)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?qy(e.target,t):Wy.get(t);let{x:i,y:a,sx:o,sy:s,speed:c}=r;oc()?vl(t,[{},{opacity:0}],{duration:85*c,easing:ju}).finished.then(()=>n()):(vl(t,[{},{transform:`translate(${i}px, ${a}px) scale(${o}, ${s})`,opacity:0}],{duration:125*c,easing:ju}).finished.then(()=>n()),Ky(t)?.forEach(e=>{vl(e,[{},{opacity:0,offset:.2},{opacity:0}],{duration:250*c,easing:ku})}))},onAfterLeave(e){e.style.removeProperty(`pointer-events`)}};return()=>e.target?U(Fo,W({name:`dialog-transition`},n,{css:!1}),t):U(Fo,{name:`dialog-transition`},t)}});function Ky(e){let t=e.querySelector(`:scope > .v-card, :scope > .v-sheet, :scope > .v-list`)?.children;return t&&[...t]}function qy(e,t){let n=hl(e),r=_l(t),[i,a]=getComputedStyle(t).transformOrigin.split(` `).map(e=>parseFloat(e)),[o,s]=getComputedStyle(t).getPropertyValue(`--v-overlay-anchor-origin`).split(` `),c=n.left+n.width/2;o===`left`||s===`left`?c-=n.width/2:(o===`right`||s===`right`)&&(c+=n.width/2);let l=n.top+n.height/2;o===`top`||s===`top`?l-=n.height/2:(o===`bottom`||s===`bottom`)&&(l+=n.height/2);let u=n.width/r.width,d=n.height/r.height,f=Math.max(1,u,d),p=u/f||0,m=d/f||0,h=r.width*r.height/(window.innerWidth*window.innerHeight),g=h>.12?Math.min(1.5,(h-.12)*10+1):1;return{x:c-(i+r.left),y:l-(a+r.top),sx:p,sy:m,speed:g}}By(`fab-transition`,`center center`,`out-in`),By(`dialog-bottom-transition`),By(`dialog-top-transition`);var Jy=By(`fade-transition`),Yy=By(`scale-transition`);By(`scroll-x-transition`),By(`scroll-x-reverse-transition`),By(`scroll-y-transition`),By(`scroll-y-reverse-transition`),By(`slide-x-transition`),By(`slide-x-reverse-transition`);var Xy=By(`slide-y-transition`);By(`slide-y-reverse-transition`);var Zy=Vy(`expand-transition`,Hy()),Qy=Vy(`expand-x-transition`,Hy(``,`x`));Vy(`expand-both-transition`,Hy(``,`both`));function $y(e){return{aspectStyles:G(()=>{let t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+`%`}:void 0})}}var eb=J({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...Y(),...Rv()},`VResponsive`),tb=X()({name:`VResponsive`,props:eb(),setup(e,{slots:t}){let{aspectStyles:n}=$y(e),{dimensionStyles:r}=zv(e);return Z(()=>H(`div`,{class:j([`v-responsive`,{"v-responsive--inline":e.inline},e.class]),style:A([r.value,e.style])},[H(`div`,{class:`v-responsive__sizer`,style:A(n.value)},null),t.additional?.(),t.default&&H(`div`,{class:j([`v-responsive__content`,e.contentClass])},[t.default()])])),{}}}),nb=J({transition:{type:null,default:`fade-transition`,validator:e=>e!==!0}},`transition`),rb=(e,{slots:t})=>{let{transition:n,disabled:r,group:i,...a}=e,{component:o=i?js:Fo,...s}=dc(n)?n:{},c;return c=dc(n)?W(s,il({disabled:r,group:i}),a):W({name:r||!n?``:n},a),yo(o,c,t)};function ib(e,t){if(!rc)return;let n=t.modifiers||{},r=t.value,{handler:i,options:a}=typeof r==`object`?r:{handler:r,options:{}},o=new IntersectionObserver((r=[],a)=>{let o=e._observe?.[t.instance.$.uid];if(!o)return;let s=r.some(e=>e.isIntersecting);i&&(!n.quiet||o.init)&&(!n.once||s||o.init)&&i(s,r,a),s&&n.once?ab(e,t):o.init=!0},a);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function ab(e,t){let n=e._observe?.[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}var ob={mounted:ib,unmounted:ab,updated:(e,t)=>{e._observe?.[t.instance.$.uid]&&(ab(e,t),ib(e,t))}},sb=J({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,imageClass:null,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:``},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...eb(),...Y(),...nv(),...nb()},`VImg`),cb=X()({name:`VImg`,directives:{vIntersect:ob},inheritAttrs:!1,props:sb(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{backgroundColorClasses:i,backgroundColorStyles:a}=sv(()=>e.color),{roundedClasses:o}=rv(e),s=pu(`VImg`),c=F(``),l=P(),u=F(e.eager?`loading`:`idle`),d=F(),f=F(),p=G(()=>e.src&&typeof e.src==`object`?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),m=G(()=>p.value.aspect||d.value/f.value||0);B(()=>e.src,()=>{h(u.value!==`idle`)}),B(m,(e,t)=>{!e&&t&&l.value&&b(l.value)}),Wr(()=>h());function h(t){if(!(e.eager&&t)&&!(rc&&!t&&!e.eager)){if(u.value=`loading`,p.value.lazySrc){let e=new Image;e.src=p.value.lazySrc,b(e,null)}p.value.src&&Dn(()=>{n(`loadstart`,l.value?.currentSrc||p.value.src),setTimeout(()=>{if(!s.isUnmounted)if(l.value?.complete){if(l.value.naturalWidth||_(),u.value===`error`)return;m.value||b(l.value,null),u.value===`loading`&&g()}else m.value||b(l.value),v()})})}}function g(){s.isUnmounted||(v(),b(l.value),u.value=`loaded`,n(`load`,l.value?.currentSrc||p.value.src))}function _(){s.isUnmounted||(u.value=`error`,n(`error`,l.value?.currentSrc||p.value.src))}function v(){let e=l.value;e&&(c.value=e.currentSrc||e.src)}let y=-1;Jr(()=>{clearTimeout(y)});function b(e,t=100){let n=()=>{if(clearTimeout(y),s.isUnmounted)return;let{naturalHeight:r,naturalWidth:i}=e;r||i?(d.value=i,f.value=r):!e.complete&&u.value===`loading`&&t!=null?y=window.setTimeout(n,t):(e.currentSrc.endsWith(`.svg`)||e.currentSrc.startsWith(`data:image/svg+xml`))&&(d.value=1,f.value=1)};n()}let x=L(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),S=()=>{if(!p.value.src||u.value===`idle`)return null;let t=H(`img`,{class:j([`v-img__img`,x.value,e.imageClass]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:p.value.src,srcset:p.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:l,onLoad:g,onError:_},null),n=r.sources?.();return U(rb,{transition:e.transition,appear:!0},{default:()=>[zn(n?H(`picture`,{class:`v-img__picture`},[n,t]):t,[[$o,u.value===`loaded`]])]})},C=()=>U(rb,{transition:e.transition},{default:()=>[p.value.lazySrc&&u.value!==`loaded`&&H(`img`,{class:j([`v-img__img`,`v-img__img--preload`,x.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:p.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),w=()=>r.placeholder?U(rb,{transition:e.transition,appear:!0},{default:()=>[(u.value===`loading`||u.value===`error`&&!r.error)&&H(`div`,{class:`v-img__placeholder`},[r.placeholder()])]}):null,T=()=>r.error?U(rb,{transition:e.transition,appear:!0},{default:()=>[u.value===`error`&&H(`div`,{class:`v-img__error`},[r.error()])]}):null,E=()=>e.gradient?H(`div`,{class:`v-img__gradient`,style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,ee=F(!1);{let e=B(m,t=>{t&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{ee.value=!0})}),e())})}return Z(()=>{let n=tb.filterProps(e),[s,c]=Tc(t);return zn(U(tb,W({class:[`v-img`,{"v-img--absolute":e.absolute,"v-img--booting":!ee.value,"v-img--fit-content":e.width===`fit-content`},i.value,o.value,e.class],style:[{width:q(e.width===`auto`?d.value:e.width)},a.value,e.style]},n,s,{aspectRatio:m.value,"aria-label":e.alt,role:e.alt?`img`:void 0}),{additional:()=>H(V,null,[U(S,c,null),U(C,null,null),U(E,null,null),U(w,null,null),U(T,null,null)]),default:r.default}),[[ob,{handler:h,options:e.options},null,{once:!0}]])}),{currentSrc:c,image:l,state:u,naturalWidth:d,naturalHeight:f}}}),lb=[null,`prominent`,`default`,`comfortable`,`compact`],ub=J({absolute:Boolean,collapse:Boolean,collapsePosition:{type:String,default:`start`},color:String,density:{type:String,default:`default`,validator:e=>lb.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...Y_(),...Y(),...ev(),...Vv(),...nv(),...iv({tag:`header`}),...Pf()},`VToolbar`),db=X()({name:`VToolbar`,props:ub(),setup(e,{slots:t}){let{backgroundColorClasses:n,backgroundColorStyles:r}=sv(()=>e.color),{borderClasses:i}=X_(e),{elevationClasses:a}=tv(e),{locationStyles:o}=Hv(e),{roundedClasses:s}=rv(e),{themeClasses:c}=Kf(e),{rtlClasses:l}=pd(),u=F(e.extended===null?!!t.extension?.():e.extended),d=G(()=>parseInt(Number(e.height)+(e.density===`prominent`?Number(e.height):0)-(e.density===`comfortable`?8:0)-(e.density===`compact`?16:0),10)),f=G(()=>u.value?parseInt(Number(e.extensionHeight)+(e.density===`prominent`?Number(e.extensionHeight):0)-(e.density===`comfortable`?4:0)-(e.density===`compact`?8:0),10):0);return yu({VBtn:{variant:`text`}}),Z(()=>{let p=!!(e.title||t.title),m=!!(t.image||e.image),h=t.extension?.();return u.value=e.extended===null?!!h:e.extended,U(e.tag,{class:j([`v-toolbar`,`v-toolbar--collapse-${e.collapsePosition}`,{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},n.value,i.value,a.value,s.value,c.value,l.value,e.class]),style:A([r.value,o.value,e.style])},{default:()=>[m&&H(`div`,{key:`image`,class:`v-toolbar__image`},[t.image?U(Dv,{key:`image-defaults`,disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):U(cb,{key:`image-img`,cover:!0,src:e.image},null)]),U(Dv,{defaults:{VTabs:{height:q(d.value)}}},{default:()=>[H(`div`,{class:`v-toolbar__content`,style:{height:q(d.value)}},[t.prepend&&H(`div`,{class:`v-toolbar__prepend`},[t.prepend?.()]),p&&U(Ry,{key:`title`,text:e.title},{text:t.title}),t.default?.(),t.append&&H(`div`,{class:`v-toolbar__append`},[t.append?.()])])]}),U(Dv,{defaults:{VTabs:{height:q(f.value)}}},{default:()=>[U(Zy,null,{default:()=>[u.value&&H(`div`,{class:`v-toolbar__extension`,style:{height:q(f.value)}},[h])]})]})]})}),{contentHeight:d,extensionHeight:f}}}),fb=J({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},`scroll`);function pb(e,t={}){let{canScroll:n,layoutSize:r}=t,i=0,a=0,o=P(null),s=F(0),c=F(0),l=F(0),u=F(!1),d=F(!1),f=F(!1),p=F(!1),m=F(!0),h=G(()=>Number(e.scrollThreshold)),g=G(()=>Oc((h.value-s.value)/h.value||0));function _(e){return{clientHeight:`window`in e?window.innerHeight:e.clientHeight,scrollHeight:`window`in e?document.documentElement.scrollHeight:e.scrollHeight}}function v(){let e=o.value;if(!e)return;let{clientHeight:t,scrollHeight:n}=_(e),i=n-t,a=r?.value||0;m.value=i>h.value+a}function y(){v()}function b(){let e=o.value;if(!e||n&&!n.value)return;i=s.value,s.value=`window`in e?e.pageYOffset:e.scrollTop;let t=e instanceof Window?document.documentElement.scrollHeight:e.scrollHeight;a!==t&&(t>a&&v(),a=t),d.value=s.value=c-5;!d.value&&u&&s.value>=h.value&&m.value&&(p.value=!0);let g=Math.abs(s.value-i)>100,y=s.value<=5;(d.value&&i-s.value>1&&!u||g&&s.value{c.value=c.value||s.value}),B(u,()=>{c.value=0}),Gr(()=>{B(()=>e.scrollTarget,e=>{let t=e?document.querySelector(e):window;if(!t){ec(`Unable to locate element with identifier ${e}`);return}t!==o.value&&(o.value?.removeEventListener(`scroll`,b),o.value=t,o.value.addEventListener(`scroll`,b,{passive:!0}),Promise.resolve().then(()=>{v()}))},{immediate:!0}),window.addEventListener(`resize`,y,{passive:!0})}),Jr(()=>{o.value?.removeEventListener(`scroll`,b),window.removeEventListener(`resize`,y)}),n&&B(n,b,{immediate:!0}),{scrollThreshold:h,currentScroll:s,currentThreshold:l,isScrollActive:u,scrollRatio:g,isScrollingUp:d,savedScroll:c,isAtBottom:f,reachedBottomWhileScrollingDown:p,hasEnoughScrollableSpace:m}}function mb(){let e=F(!1);return Gr(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:L(()=>e.value?void 0:{transition:`none !important`}),isBooted:Vt(e)}}var hb=J({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:`top`,validator:e=>[`top`,`bottom`].includes(e)},...yc(ub(),[`location`]),...$f(),...fb(),height:{type:[Number,String],default:64}},`VAppBar`),gb=X()({name:`VAppBar`,props:hb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=P(),r=Zu(e,`modelValue`),i=G(()=>{let t=new Set(e.scrollBehavior?.split(` `)??[]);return{hide:t.has(`hide`),fullyHide:t.has(`fully-hide`),inverted:t.has(`inverted`),collapse:t.has(`collapse`),elevate:t.has(`elevate`),fadeImage:t.has(`fade-image`)}}),{currentScroll:a,scrollThreshold:o,isScrollingUp:s,scrollRatio:c,isAtBottom:l,reachedBottomWhileScrollingDown:u,hasEnoughScrollableSpace:d}=pb(e,{canScroll:G(()=>{let e=i.value;return e.hide||e.fullyHide||e.inverted||e.collapse||e.elevate||e.fadeImage||!r.value}),layoutSize:G(()=>(n.value?.contentHeight??0)+(n.value?.extensionHeight??0))}),f=L(()=>i.value.hide||i.value.fullyHide),p=G(()=>e.collapse||i.value.collapse&&(i.value.inverted?c.value>0:c.value===0)),m=G(()=>e.flat||i.value.fullyHide&&!r.value||i.value.elevate&&(i.value.inverted?a.value>0:a.value===0)),h=G(()=>i.value.fadeImage?i.value.inverted?1-c.value:c.value:void 0),g=G(()=>{if(i.value.hide&&i.value.inverted)return 0;let e=n.value?.contentHeight??0,t=n.value?.extensionHeight??0;return f.value?a.value!!e.scrollBehavior,()=>{Gn(()=>{if(!f.value){r.value=!0;return}if(i.value.inverted){r.value=a.value>o.value;return}if(!d.value){r.value=!0;return}if(u.value){r.value=!1;return}r.value=s.value&&!l.value||a.valueparseInt(e.order,10)),position:L(()=>e.location),layoutSize:g,elementSize:F(void 0),active:r,absolute:L(()=>e.absolute)});return Z(()=>{let r=yc(db.filterProps(e),[`location`]);return U(db,W({ref:n,class:[`v-app-bar`,{"v-app-bar--bottom":e.location===`bottom`},e.class],style:[{...v.value,"--v-toolbar-image-opacity":h.value,height:void 0,..._.value},e.style]},r,{collapse:p.value,flat:m.value}),t)}),{}}}),_b=J({...yc(Oy({icon:`$menu`,variant:`text`}),[`spaced`])},`VAppBarNavIcon`),vb=X()({name:`VAppBarNavIcon`,props:_b(),setup(e,{slots:t}){return Z(()=>U(ky,W(e,{class:[`v-app-bar-nav-icon`]}),t)),{}}}),yb=X()({name:`VAppBarTitle`,props:Ly(),setup(e,{slots:t}){return Z(()=>U(Ry,W(e,{class:`v-app-bar-title`}),t)),{}}}),bb=J({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,dotSize:[Number,String],floating:Boolean,icon:zu,inline:Boolean,label:{type:String,default:`$vuetify.badge`},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...Y(),...Vv({location:`top end`}),...nv(),...iv(),...Pf(),...nb({transition:`scale-rotate-transition`}),...Rv()},`VBadge`),xb=X()({name:`VBadge`,inheritAttrs:!1,props:bb(),setup(e,t){let{backgroundColorClasses:n,backgroundColorStyles:r}=sv(()=>e.color),{roundedClasses:i}=rv(e),{t:a}=ud(),{textColorClasses:o,textColorStyles:s}=ov(()=>e.textColor),{themeClasses:c}=qf(),{locationStyles:l}=Hv(e,!0,t=>(e.floating?e.dot?2:4:e.dot?Number(e.dotSize??8):12)+([`top`,`bottom`].includes(t)?Number(e.offsetY??0):[`left`,`right`].includes(t)?Number(e.offsetX??0):0)),{dimensionStyles:u}=zv(e);return Z(()=>{let d=Number(e.content),f=!e.max||isNaN(d)?e.content:d<=Number(e.max)?d:`${e.max}+`,[p,m]=vc(t.attrs,[`aria-atomic`,`aria-label`,`aria-live`,`role`,`title`]);return U(e.tag,W({class:[`v-badge`,{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},m,{style:e.style}),{default:()=>[H(`div`,{class:`v-badge__wrapper`},[t.slots.default?.(),U(rb,{transition:e.transition},{default:()=>[zn(H(`span`,W({class:[`v-badge__badge`,c.value,n.value,i.value,o.value],style:[r.value,s.value,u.value,e.inline?{}:l.value,e.dot&&e.dotSize?{width:q(e.dotSize),height:q(e.dotSize)}:{}],"aria-atomic":`true`,"aria-label":a(e.label,d),"aria-live":`polite`,role:`status`},p),[e.dot?void 0:t.slots.badge?t.slots.badge?.():e.icon?U(Mv,{icon:e.icon},null):f]),[[$o,e.modelValue]])]})])]})}),{}}}),Sb=J({badge:{type:[Boolean,Object],default:!1},start:Boolean,end:Boolean,icon:zu,image:String,text:String,...Y_(),...Y(),...Q_(),...nv(),...kv(),...iv(),...Pf(),...fv({variant:`flat`})},`VAvatar`),Cb=X()({name:`VAvatar`,props:Sb(),setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{borderClasses:r}=X_(e),{colorClasses:i,colorStyles:a,variantClasses:o}=pv(e),{densityClasses:s}=$_(e),{roundedClasses:c}=rv(e),{sizeClasses:l,sizeStyles:u}=Av(e),d=G(()=>{switch(e.size){case`x-small`:return 8;case`small`:return 10;case`large`:return 14;case`x-large`:return 16;default:return 12}}),f=G(()=>{let{floating:t}=dc(e.badge)?e.badge:{};return(t?d.value/2:0)-1.5}),p=G(()=>({bordered:!0,dot:!t.badge,dotSize:d.value,offsetX:f.value,offsetY:f.value,color:typeof e.badge==`string`?e.badge:`primary`,...dc(e.badge)?e.badge:{}}));return Z(()=>{let d=U(e.tag,{class:j([`v-avatar`,{"v-avatar--start":e.start,"v-avatar--end":e.end},n.value,r.value,i.value,s.value,c.value,l.value,o.value,e.class]),style:A([a.value,u.value,e.style])},{default:()=>[t.default?U(Dv,{key:`content-defaults`,defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[t.default()]}):e.image?U(cb,{key:`image`,src:e.image,alt:``,cover:!0},null):e.icon?U(Mv,{key:`icon`,icon:e.icon},null):e.text,dv(!1,`v-avatar`)]});return e.badge?U(xb,p.value,{default:()=>d,badge:t.badge}):d}),{}}});function wb({selectedElement:e,containerElement:t,isRtl:n,isHorizontal:r}){let i=Ob(r,t),a=Db(r,n,t),o=Ob(r,e),s=kb(r,e),c=o*.4;return a>s?s-c:a+itypeof e==`boolean`||[`always`,`desktop`,`mobile`,`never`].includes(e)},...Y(),...Sf({mobile:null}),...iv(),...gv({selectedClass:`v-slide-group-item--active`})},`VSlideGroup`),Mb=X()({name:`VSlideGroup`,props:jb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{isRtl:n}=pd(),{displayClasses:r,mobile:i}=Cf(e),a=yv(e,e.symbol),o=F(!1),s=F(0),c=F(0),l=F(0),u=G(()=>e.direction===`horizontal`),{resizeRef:d,contentRect:f}=Jf(),{resizeRef:p,contentRect:m}=Jf(),h=jf(),g=G(()=>({container:d.el,duration:200,easing:`easeOutQuart`})),_=G(()=>a.selected.value.length?a.items.value.findIndex(e=>e.id===a.selected.value[0]):-1),v=G(()=>a.selected.value.length?a.items.value.findIndex(e=>e.id===a.selected.value[a.selected.value.length-1]):-1);if(K){let t=-1;B(()=>[a.selected.value,f.value,m.value,u.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(f.value&&m.value){let e=u.value?`width`:`height`;c.value=f.value[e],l.value=m.value[e],o.value=c.value+1=0&&p.el){let t=p.el.children[v.value];b(t,e.centerActive)}})})}let y=F(!1);function b(e,t){let r=0;r=t?Tb({containerElement:d.el,isHorizontal:u.value,selectedElement:e}):wb({containerElement:d.el,isHorizontal:u.value,isRtl:n.value,selectedElement:e}),x(r)}function x(e){if(!K||!d.el)return;let t=Ob(u.value,d.el),r=Db(u.value,n.value,d.el);if(!(Eb(u.value,d.el)<=t||Math.abs(e-r)<16)){if(u.value&&n.value&&d.el){let{scrollWidth:t,offsetWidth:n}=d.el;e=t-n-e}u.value?h.horizontal(e,g.value):h(e,g.value)}}function S(e){let{scrollTop:t,scrollLeft:n}=e.target;s.value=u.value?n:t}function C(e){if(y.value=!0,!(!o.value||!p.el)){for(let t of e.composedPath())for(let e of p.el.children)if(e===t){b(e);return}}}function w(e){y.value=!1}let T=!1;function E(e){!T&&!y.value&&!(e.relatedTarget&&p.el?.contains(e.relatedTarget))&&ne(),T=!1}function ee(){T=!0}function te(e){if(!p.el)return;function t(t){e.preventDefault(),ne(t)}u.value?e.key===`ArrowRight`?t(n.value?`prev`:`next`):e.key===`ArrowLeft`&&t(n.value?`next`:`prev`):e.key===`ArrowDown`?t(`next`):e.key===`ArrowUp`&&t(`prev`),e.key===`Home`?t(`first`):e.key===`End`&&t(`last`)}function D(e,t){if(!e)return;let n=e;do n=n?.[t===`next`?`nextElementSibling`:`previousElementSibling`];while(n?.hasAttribute(`disabled`));return n}function ne(e){if(!p.el)return;let t;if(!e)t=Wc(p.el)[0];else if(e===`next`){if(t=D(p.el.querySelector(`:focus`),e),!t)return ne(`first`)}else if(e===`prev`){if(t=D(p.el.querySelector(`:focus`),e),!t)return ne(`last`)}else e===`first`?(t=p.el.firstElementChild,t?.hasAttribute(`disabled`)&&(t=D(t,`next`))):e===`last`&&(t=p.el.lastElementChild,t?.hasAttribute(`disabled`)&&(t=D(t,`prev`)));t&&t.focus({preventScroll:!0})}function re(e){let t=u.value&&n.value?-1:1,r=(e===`prev`?-t:t)*c.value,i=s.value+r;if(u.value&&n.value&&d.el){let{scrollWidth:e,offsetWidth:t}=d.el;i+=e-t}x(i)}let ie=G(()=>({next:a.next,prev:a.prev,select:a.select,isSelected:a.isSelected})),ae=G(()=>o.value||Math.abs(s.value)>0),O=G(()=>{switch(e.showArrows){case`never`:return!1;case`always`:return!0;case`desktop`:return!i.value;case!0:return ae.value;case`mobile`:return i.value||ae.value;default:return!i.value&&ae.value}}),k=G(()=>Math.abs(s.value)>1),oe=G(()=>ae.value?l.value-c.value-Math.abs(s.value)>1:!1);return Z(()=>U(e.tag,{class:j([`v-slide-group`,{"v-slide-group--vertical":!u.value,"v-slide-group--has-affixes":O.value,"v-slide-group--is-overflowing":o.value},r.value,e.class]),style:A(e.style),tabindex:y.value||a.selected.value.length?-1:0,onFocus:E},{default:()=>[O.value&&H(`div`,{key:`prev`,class:j([`v-slide-group__prev`,{"v-slide-group__prev--disabled":!k.value}]),onMousedown:ee,onClick:()=>k.value&&re(`prev`)},[t.prev?.(ie.value)??U(Jy,null,{default:()=>[U(Mv,{icon:n.value?e.nextIcon:e.prevIcon},null)]})]),H(`div`,{key:`container`,ref:d,class:j([`v-slide-group__container`,e.contentClass]),onScroll:S},[H(`div`,{ref:p,class:`v-slide-group__content`,onFocusin:C,onFocusout:w,onKeydown:te},[t.default?.(ie.value)])]),O.value&&H(`div`,{key:`next`,class:j([`v-slide-group__next`,{"v-slide-group__next--disabled":!oe.value}]),onMousedown:ee,onClick:()=>oe.value&&re(`next`)},[t.next?.(ie.value)??U(Jy,null,{default:()=>[U(Mv,{icon:n.value?e.prevIcon:e.nextIcon},null)]})])]})),{selected:a.selected,scrollTo:re,scrollOffset:s,focus:ne,hasPrev:k,hasNext:oe}}}),Nb=Symbol.for(`vuetify:v-chip-group`),Pb=J({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:Du},...jb({scrollToActive:!1}),...Y(),...gv({selectedClass:`v-chip--selected`}),...iv(),...Pf(),...fv({variant:`tonal`})},`VChipGroup`);X()({name:`VChipGroup`,props:Pb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{isSelected:r,select:i,next:a,prev:o,selected:s}=yv(e,Nb);return yu({VChip:{baseColor:L(()=>e.baseColor),color:L(()=>e.color),disabled:L(()=>e.disabled),filter:L(()=>e.filter),variant:L(()=>e.variant)}}),Z(()=>U(Mb,W(Mb.filterProps(e),{class:[`v-chip-group`,{"v-chip-group--column":e.column},n.value,e.class],style:e.style}),{default:()=>[t.default?.({isSelected:r,select:i,next:a,prev:o,selected:s.value})]})),{}}});var Fb=J({activeClass:String,appendAvatar:String,appendIcon:zu,baseColor:String,closable:Boolean,closeIcon:{type:zu,default:`$delete`},closeLabel:{type:String,default:`$vuetify.close`},draggable:Boolean,filter:Boolean,filterIcon:{type:zu,default:`$complete`},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:zu,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:Vc(),onClickOnce:Vc(),...Y_(),...Y(),...Q_(),...ev(),..._v(),...nv(),...ny(),...kv(),...iv({tag:`span`}),...Pf(),...fv({variant:`tonal`})},`VChip`),Ib=X()({name:`VChip`,directives:{vRipple:Dy},props:Fb(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{t:i}=ud(),{borderClasses:a}=X_(e),{densityClasses:o}=$_(e),{elevationClasses:s}=tv(e),{roundedClasses:c}=rv(e),{sizeClasses:l}=Av(e),{themeClasses:u}=Kf(e),d=Zu(e,`modelValue`),f=vv(e,Nb,!1),p=vv(e,Ab,!1),m=ty(e,t),h=L(()=>e.link!==!1&&m.isLink.value),g=G(()=>!e.disabled&&e.link!==!1&&(!!f||e.link||m.isClickable.value)),_=L(()=>({"aria-label":i(e.closeLabel),disabled:e.disabled,onClick(e){e.preventDefault(),e.stopPropagation(),d.value=!1,n(`click:close`,e)}}));B(d,e=>{e?(f?.register(),p?.register()):(f?.unregister(),p?.unregister())});let{colorClasses:v,colorStyles:y,variantClasses:b}=pv(()=>({color:!f||f.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function x(e){n(`click`,e),g.value&&(m.navigate.value?.(e),f?.toggle())}function S(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),x(e))}return()=>{let t=m.isLink.value?`a`:e.tag,n=!!(e.appendIcon||e.appendAvatar),i=!!(n||r.append),p=!!(r.close||e.closable),C=!!(r.filter||e.filter)&&f,w=!!(e.prependIcon||e.prependAvatar),T=!!(w||r.prepend);return d.value&&zn(U(t,W(m.linkProps,{class:[`v-chip`,{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":g.value,"v-chip--filter":C,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&m.isActive?.value},u.value,a.value,v.value,o.value,s.value,c.value,l.value,b.value,f?.selectedClass.value,e.class],style:[y.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:g.value?0:void 0,onClick:x,onKeydown:g.value&&!h.value&&S}),{default:()=>[dv(g.value,`v-chip`),C&&U(Qy,{key:`filter`},{default:()=>[zn(H(`div`,{class:`v-chip__filter`},[r.filter?U(Dv,{key:`filter-defaults`,disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},r.filter):U(Mv,{key:`filter-icon`,icon:e.filterIcon},null)]),[[$o,f.isSelected.value]])]}),T&&H(`div`,{key:`prepend`,class:`v-chip__prepend`},[r.prepend?U(Dv,{key:`prepend-defaults`,disabled:!w,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},r.prepend):H(V,null,[e.prependIcon&&U(Mv,{key:`prepend-icon`,icon:e.prependIcon,start:!0},null),e.prependAvatar&&U(Cb,{key:`prepend-avatar`,image:e.prependAvatar,start:!0},null)])]),H(`div`,{class:`v-chip__content`,"data-no-activator":``},[r.default?.({isSelected:f?.isSelected.value,selectedClass:f?.selectedClass.value,select:f?.select,toggle:f?.toggle,value:f?.value.value,disabled:e.disabled})??xe(e.text)]),i&&H(`div`,{key:`append`,class:`v-chip__append`},[r.append?U(Dv,{key:`append-defaults`,disabled:!n,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},r.append):H(V,null,[e.appendIcon&&U(Mv,{key:`append-icon`,end:!0,icon:e.appendIcon},null),e.appendAvatar&&U(Cb,{key:`append-avatar`,end:!0,image:e.appendAvatar},null)])]),p&&H(`button`,W({key:`close`,class:`v-chip__close`,type:`button`,"data-testid":`close-chip`},_.value),[r.close?U(Dv,{key:`close-defaults`,defaults:{VIcon:{icon:e.closeIcon,size:`x-small`}}},r.close):U(Mv,{key:`close-icon`,icon:e.closeIcon,size:`x-small`},null)])]}),[[Dy,g.value&&e.ripple,null]])}}}),Lb=[`dotted`,`dashed`,`solid`,`double`],Rb=J({color:String,contentOffset:[Number,String,Array],gradient:Boolean,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,variant:{type:String,default:`solid`,validator:e=>Lb.includes(e)},...Y(),...Pf()},`VDivider`),zb=X()({name:`VDivider`,props:Rb(),setup(e,{attrs:t,slots:n}){let{themeClasses:r}=Kf(e),{textColorClasses:i,textColorStyles:a}=ov(()=>e.color),o=G(()=>{let t={};return e.length&&(t[e.vertical?`height`:`width`]=q(e.length)),e.thickness&&(t[e.vertical?`borderRightWidth`:`borderTopWidth`]=q(e.thickness)),t}),s=L(()=>{let t=Array.isArray(e.contentOffset)?e.contentOffset[0]:e.contentOffset,n=Array.isArray(e.contentOffset)?e.contentOffset[1]:0;return{marginBlock:e.vertical&&t?q(t):void 0,marginInline:!e.vertical&&t?q(t):void 0,transform:n?`translate${e.vertical?`X`:`Y`}(${q(n)})`:void 0}});return Z(()=>{let c=H(`hr`,{class:j([{"v-divider":!0,"v-divider--gradient":e.gradient&&!n.default,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},r.value,i.value,e.class]),style:A([o.value,a.value,{"--v-border-opacity":e.opacity},{"border-style":e.variant},e.style]),"aria-orientation":!t.role||t.role===`separator`?e.vertical?`vertical`:`horizontal`:void 0,role:`${t.role||`separator`}`},null);return n.default?H(`div`,{class:j([`v-divider__wrapper`,{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[c,H(`div`,{class:`v-divider__content`,style:A(s.value)},[n.default()]),c]):c}),{}}}),Bb=wu(`v-spacer`,`div`,`VSpacer`),Vb=Symbol.for(`vuetify:list`);function Hb(e={filterable:!1}){let t=z(Vb,{filterable:!1,hasPrepend:F(!1),updateHasPrepend:()=>null,trackingIndex:F(-1),navigationStrategy:F(`focus`),uid:``}),{filterable:n,trackingIndex:r=t.trackingIndex,navigationStrategy:i=t.navigationStrategy,uid:a=t.uid||Er()}=e,o={filterable:t.filterable||n,hasPrepend:F(!1),updateHasPrepend:e=>{e&&(o.hasPrepend.value=e)},trackingIndex:r,navigationStrategy:i,uid:a};return Vn(Vb,o),t}function Ub(){return z(Vb,null)}var Wb=e=>{let t={activate:({id:t,value:n,activated:r})=>(t=M(t),e&&!n&&r.size===1&&r.has(t)||(n?r.add(t):r.delete(t)),r),in:(e,n,r)=>{let i=new Set;if(e!=null)for(let a of Ec(e))i=t.activate({id:a,value:!0,activated:new Set(i),children:n,parents:r});return i},out:e=>Array.from(e)};return t},Gb=e=>{let t=Wb(e);return{activate:({activated:e,id:n,...r})=>{n=M(n);let i=e.has(n)?new Set([n]):new Set;return t.activate({...r,id:n,activated:i})},in:(e,n,r)=>{let i=new Set;if(e!=null){let a=Ec(e);a.length&&(i=t.in(a.slice(0,1),n,r))}return i},out:(e,n,r)=>t.out(e,n,r)}},Kb=e=>{let t=Wb(e);return{activate:({id:e,activated:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.activate({id:e,activated:n,children:r,...i})),in:t.in,out:t.out}},qb=e=>{let t=Gb(e);return{activate:({id:e,activated:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.activate({id:e,activated:n,children:r,...i})),in:t.in,out:t.out}},Jb={open:({id:e,value:t,opened:n,parents:r})=>{if(t){let t=new Set;t.add(e);let n=r.get(e);for(;n!=null;)t.add(n),n=r.get(n);return t}else return n.delete(e),n},select:()=>null},Yb={open:({id:e,value:t,opened:n,parents:r})=>{if(t){let t=r.get(e);for(n.add(e);t!=null&&t!==e;)n.add(t),t=r.get(t);return n}else n.delete(e);return n},select:()=>null},Xb={open:Yb.open,select:({id:e,value:t,opened:n,parents:r})=>{if(!t)return n;let i=[],a=r.get(e);for(;a!=null;)i.push(a),a=r.get(a);return new Set(i)}},Zb=e=>{let t={select:({id:t,value:n,selected:r})=>{if(t=M(t),e&&!n){let e=Array.from(r.entries()).reduce((e,[t,n])=>(n===`on`&&e.push(t),e),[]);if(e.length===1&&e[0]===t)return r}return r.set(t,n?`on`:`off`),r},in:(e,n,r,i)=>{let a=new Map;for(let o of e||[])t.select({id:o,value:!0,selected:a,children:n,parents:r,disabled:i});return a},out:e=>{let t=[];for(let[n,r]of e.entries())r===`on`&&t.push(n);return t}};return t},Qb=e=>{let t=Zb(e);return{select:({selected:e,id:n,...r})=>{n=M(n);let i=e.has(n)?new Map([[n,e.get(n)]]):new Map;return t.select({...r,id:n,selected:i})},in:(e,n,r,i)=>e?.length?t.in(e.slice(0,1),n,r,i):new Map,out:(e,n,r)=>t.out(e,n,r)}},$b=e=>{let t=Zb(e);return{select:({id:e,selected:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.select({id:e,selected:n,children:r,...i})),in:t.in,out:t.out}},ex=e=>{let t=Qb(e);return{select:({id:e,selected:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.select({id:e,selected:n,children:r,...i})),in:t.in,out:t.out}},tx=e=>{let t={select:({id:t,value:n,selected:r,children:i,parents:a,disabled:o})=>{t=M(t);let s=new Map(r),c=[t];for(;c.length;){let e=c.shift();o.has(e)||r.set(M(e),n?`on`:`off`),i.has(e)&&c.push(...i.get(e))}let l=M(a.get(t));for(;l;){let e=!0,t=!0;for(let n of i.get(l)){let i=M(n);if(!o.has(i)&&(r.get(i)!==`on`&&(e=!1),r.has(i)&&r.get(i)!==`off`&&(t=!1),!e&&!t))break}r.set(l,e?`on`:t?`off`:`indeterminate`),l=M(a.get(l))}return e&&!n&&Array.from(r.entries()).reduce((e,[t,n])=>(n===`on`&&e.push(t),e),[]).length===0?s:r},in:(e,n,r)=>{let i=new Map;for(let a of e||[])i=t.select({id:a,value:!0,selected:i,children:n,parents:r,disabled:new Set});return i},out:(e,t)=>{let n=[];for(let[r,i]of e.entries())i===`on`&&!t.has(r)&&n.push(r);return n}};return t},nx=e=>{let t=tx(e);return{select:t.select,in:t.in,out:(e,t,n)=>{let r=[];for(let[t,i]of e.entries())if(i===`on`){if(n.has(t)){let r=n.get(t);if(e.get(r)===`on`)continue}r.push(t)}return r}}},rx=e=>{let t={select:tx(e).select,in:(e,n,r,i)=>{let a=new Map;for(let o of e||[])n.has(o)||(a=t.select({id:o,value:!0,selected:a,children:n,parents:r,disabled:i}));return a},out:e=>{let t=[];for(let[n,r]of e.entries())(r===`on`||r===`indeterminate`)&&t.push(n);return t}};return t},ix=Symbol.for(`vuetify:nested`),ax={id:F(),root:{itemsRegistration:P(`render`),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:P(new Map),parents:P(new Map),disabled:P(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:P(!1),scrollToActive:P(!1),selectable:P(!1),opened:P(new Set),activated:P(new Set),selected:P(new Map),selectedValues:P([]),getPath:()=>[]}},ox=J({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean,itemsRegistration:{type:String,default:`render`}},`nested`),sx=(e,{items:t,returnObject:n,scrollToActive:r,valueComparator:i})=>{let a=!1,o=F(new Map),s=F(new Map),c=F(new Set),l=Zu(e,`opened`,e.opened,e=>new Set(Array.isArray(e)?e.map(e=>M(e)):e),e=>[...e.values()]),u=G(()=>{if(typeof e.activeStrategy==`object`)return e.activeStrategy;if(typeof e.activeStrategy==`function`)return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case`leaf`:return Kb(e.mandatory);case`single-leaf`:return qb(e.mandatory);case`independent`:return Wb(e.mandatory);default:return Gb(e.mandatory)}}),d=G(()=>{if(typeof e.selectStrategy==`object`)return e.selectStrategy;if(typeof e.selectStrategy==`function`)return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case`single-leaf`:return ex(e.mandatory);case`leaf`:return $b(e.mandatory);case`independent`:return Zb(e.mandatory);case`single-independent`:return Qb(e.mandatory);case`trunk`:return nx(e.mandatory);case`branch`:return rx(e.mandatory);default:return tx(e.mandatory)}}),f=G(()=>{if(typeof e.openStrategy==`object`)return e.openStrategy;switch(e.openStrategy){case`list`:return Xb;case`single`:return Jb;default:return Yb}}),p=G(()=>{let e=[],n=[...t.value];for(;n.length;){let t=n.pop();e.push(t),t.children&&n.push(...t.children)}return e});function m(e){let t=Qt(i);if(!t)return e;let r=Qt(n);for(let n of p.value){let i=r?M(n.raw):n.value;if(t(e,i))return i}return e}let h=Zu(e,`activated`,e.activated,e=>u.value.in(Array.isArray(e)?e.map(m):e,o.value,s.value),e=>u.value.out(e,o.value,s.value)),g=Zu(e,`selected`,e.selected,e=>d.value.in(Array.isArray(e)?e.map(m):e,o.value,s.value,c.value),e=>d.value.out(e,o.value,s.value));Jr(()=>{a=!0});function _(e){let t=[],n=M(e);for(;n!==void 0;)t.unshift(n),n=s.value.get(n);return t}let v=pu(`nested`),y=new Set,b=Ru(()=>{Dn(()=>{o.value=new Map(o.value),s.value=new Map(s.value)})},100);B(()=>[t.value,Qt(n)],()=>{e.itemsRegistration===`props`&&x()},{immediate:!0});function x(){let e=new Map,r=new Map,i=new Set,a=Qt(n)?e=>M(e.raw):e=>e.value,l=[...t.value],u=0;for(;ue.activatable),scrollToActive:L(()=>Qt(r)),selectable:L(()=>e.selectable),activated:h,selected:g,selectedValues:G(()=>{let e=[];for(let[t,n]of g.value.entries())n===`on`&&e.push(t);return e}),itemsRegistration:L(()=>e.itemsRegistration),register:(e,t,n,r)=>{if(y.has(e)){tc(`Multiple nodes with the same ID\n\t${_(e).map(String).join(` -> `)}\n\t${_(t).concat(e).map(String).join(` -> `)}`);return}else y.add(e);t&&e!==t&&s.value.set(e,t),n&&c.value.add(e),r&&o.value.set(e,[]),t!=null&&o.value.set(t,[...o.value.get(t)||[],e]),b()},unregister:e=>{if(a)return;y.delete(e),o.value.delete(e),c.value.delete(e);let t=s.value.get(e);if(t){let n=o.value.get(t)??[];o.value.set(t,n.filter(t=>t!==e))}s.value.delete(e),b()},updateDisabled:(e,t)=>{t?c.value.add(e):c.value.delete(e)},open:(e,t,n)=>{v.emit(`click:open`,{id:e,value:t,path:_(e),event:n});let r=f.value.open({id:e,value:t,opened:new Set(l.value),children:o.value,parents:s.value,event:n});r&&(l.value=r)},openOnSelect:(e,t,n)=>{let r=f.value.select({id:e,value:t,selected:new Map(g.value),opened:new Set(l.value),children:o.value,parents:s.value,event:n});r&&(l.value=r)},select:(e,t,n)=>{v.emit(`click:select`,{id:e,value:t,path:_(e),event:n});let r=d.value.select({id:e,value:t,selected:new Map(g.value),children:o.value,parents:s.value,disabled:c.value,event:n});r&&(g.value=r),S.root.openOnSelect(e,t,n)},activate:(t,n,r)=>{if(!e.activatable)return S.root.select(t,!0,r);v.emit(`click:activate`,{id:t,value:n,path:_(t),event:r});let i=u.value.activate({id:t,value:n,activated:new Set(h.value),children:o.value,parents:s.value,event:r});if(i.size!==h.value.size)h.value=i;else{for(let e of i)if(!h.value.has(e)){h.value=i;return}for(let e of h.value)if(!i.has(e)){h.value=i;return}}},children:o,parents:s,disabled:c,getPath:_}};return Vn(ix,S),S.root},cx=(e,t,n)=>{let r=z(ix,ax),i=Symbol(`nested item`),a=G(()=>{let t=M(Qt(e));return t===void 0?i:t}),o={...r,id:a,open:(e,t)=>r.root.open(a.value,e,t),openOnSelect:(e,t)=>r.root.openOnSelect(a.value,e,t),isOpen:G(()=>r.root.opened.value.has(a.value)),parent:G(()=>r.root.parents.value.get(a.value)),activate:(e,t)=>r.root.activate(a.value,e,t),isActivated:G(()=>r.root.activated.value.has(a.value)),scrollToActive:r.root.scrollToActive,select:(e,t)=>r.root.select(a.value,e,t),isSelected:G(()=>r.root.selected.value.get(a.value)===`on`),isIndeterminate:G(()=>r.root.selected.value.get(a.value)===`indeterminate`),isLeaf:G(()=>!r.root.children.value.get(a.value)),isGroupActivator:r.isGroupActivator};return Wr(()=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||Dn(()=>{r.root.register(a.value,r.id.value,Qt(t),n)})}),Jr(()=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||r.root.unregister(a.value)}),B(a,(e,i)=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||(r.root.unregister(i),Dn(()=>{r.root.register(e,r.id.value,Qt(t),n)}))}),B(()=>Qt(t),e=>{r.root.updateDisabled(a.value,e)}),n&&Vn(ix,o),o},lx=()=>{Vn(ix,{...z(ix,ax),isGroupActivator:!0})},ux=Su({name:`VListGroupActivator`,setup(e,{slots:t}){return lx(),()=>t.default?.()}}),dx=J({activeColor:String,baseColor:String,color:String,collapseIcon:{type:zu,default:`$collapse`},disabled:Boolean,expandIcon:{type:zu,default:`$expand`},rawId:[String,Number],prependIcon:zu,appendIcon:zu,fluid:Boolean,subgroup:Boolean,title:String,value:null,...Y(),...iv()},`VListGroup`),fx=X()({name:`VListGroup`,props:dx(),setup(e,{slots:t}){let{isOpen:n,open:r,id:i}=cx(()=>e.value,()=>e.disabled,!0),a=G(()=>`v-list-group--id-${String(e.rawId??i.value)}`),o=Ub(),{isBooted:s}=mb(),c=z(ix),l=L(()=>c?.root?.itemsRegistration.value===`render`);function u(e){[`INPUT`,`TEXTAREA`].includes(e.target?.tagName)||r(!n.value,e)}let d=G(()=>({onClick:u,class:`v-list-group__header`,id:a.value})),f=G(()=>n.value?e.collapseIcon:e.expandIcon),p=G(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&f.value,appendIcon:e.appendIcon||!e.subgroup&&f.value,title:e.title,value:e.value}}));return Z(()=>U(e.tag,{class:j([`v-list-group`,{"v-list-group--prepend":o?.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":n.value},e.class]),style:A(e.style)},{default:()=>[t.activator&&U(Dv,{defaults:p.value},{default:()=>[U(ux,null,{default:()=>[t.activator({props:d.value,isOpen:n.value})]})]}),U(rb,{transition:{component:Zy},disabled:!s.value},{default:()=>[l.value?zn(H(`div`,{class:`v-list-group__items`,role:`group`,"aria-labelledby":a.value},[t.default?.()]),[[$o,n.value]]):n.value&&H(`div`,{class:`v-list-group__items`,role:`group`,"aria-labelledby":a.value},[t.default?.()])]})]})),{isOpen:n}}}),px=J({opacity:[Number,String],...Y(),...iv()},`VListItemSubtitle`),mx=X()({name:`VListItemSubtitle`,props:px(),setup(e,{slots:t}){return Z(()=>U(e.tag,{class:j([`v-list-item-subtitle`,e.class]),style:A([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},t)),{}}}),hx=wu(`v-list-item-title`),gx=J({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:zu,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:zu,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,prependGap:[Number,String],subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,index:Number,tabindex:[Number,String],onClick:Vc(),onClickOnce:Vc(),...Y_(),...Y(),...Q_(),...Rv(),...ev(),...nv(),...ny(),...iv(),...Pf(),...fv({variant:`text`})},`VListItem`),_x=X()({name:`VListItem`,directives:{vRipple:Dy},props:gx(),emits:{click:e=>!0},setup(e,{attrs:t,slots:n,emit:r}){let i=ty(e,t),a=P(),{activate:o,isActivated:s,select:c,isOpen:l,isSelected:u,isIndeterminate:d,isGroupActivator:f,root:p,parent:m,openOnSelect:h,scrollToActive:g,id:_}=cx(G(()=>e.value===void 0?i.href.value:e.value),()=>e.disabled,!1),v=Ub(),y=G(()=>e.active!==!1&&(e.active||i.isActive?.value||(p.activatable.value?s.value:u.value))),b=L(()=>e.link!==!1&&i.isLink.value),x=G(()=>!!v&&(p.selectable.value||p.activatable.value||e.value!=null)),S=G(()=>!e.disabled&&e.link!==!1&&(e.link||i.isClickable.value||x.value)),C=G(()=>v&&v.navigationStrategy.value===`track`&&e.index!==void 0&&v.trackingIndex.value===e.index),w=G(()=>v?b.value?`link`:x.value?`option`:`listitem`:void 0),T=G(()=>{if(x.value)return p.activatable.value?s.value:p.selectable.value?u.value:y.value}),E=L(()=>e.rounded||e.nav),ee=L(()=>e.color??e.activeColor),te=L(()=>({color:y.value?ee.value??e.baseColor:e.baseColor,variant:e.variant}));B(()=>i.isActive?.value,e=>{e&&D()}),B(s,e=>{!e||!g||a.value?.scrollIntoView({block:`nearest`,behavior:`instant`})}),B(C,e=>{e&&a.value?.scrollIntoView({block:`nearest`,behavior:`instant`})}),Wr(()=>{i.isActive?.value&&Dn(()=>D())});function D(){m.value!=null&&p.open(m.value,!0),h(!0)}let{themeClasses:ne}=Kf(e),{borderClasses:re}=X_(e),{colorClasses:ie,colorStyles:ae,variantClasses:O}=pv(te),{densityClasses:k}=$_(e),{dimensionStyles:oe}=zv(e),{elevationClasses:se}=tv(e),{roundedClasses:ce}=rv(E),le=L(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),ue=L(()=>e.ripple!==void 0&&e.ripple&&v?.filterable?{keys:[`Enter`]}:e.ripple),A=G(()=>({isActive:y.value,select:c,isOpen:l.value,isSelected:u.value,isIndeterminate:d.value,isDisabled:e.disabled}));function de(t){r(`click`,t),![`INPUT`,`TEXTAREA`].includes(t.target?.tagName)&&S.value&&(i.navigate.value?.(t),!f&&(p.activatable.value?o(!s.value,t):(p.selectable.value||e.value!=null&&!b.value)&&c(!u.value,t)))}function fe(e){let t=e.target;[`INPUT`,`TEXTAREA`].includes(t.tagName)||(e.key===`Enter`||e.key===` `&&!v?.filterable)&&(e.preventDefault(),e.stopPropagation(),e.target.dispatchEvent(new MouseEvent(`click`,e)))}return Z(()=>{let t=b.value?`a`:e.tag,r=n.title||e.title!=null,o=n.subtitle||e.subtitle!=null,s=!!(e.appendAvatar||e.appendIcon||n.append),c=!!(e.prependAvatar||e.prependIcon||n.prepend);return v?.updateHasPrepend(c),e.activeColor&&nc(`active-color`,[`color`,`base-color`]),zn(U(t,W(i.linkProps,{ref:a,id:e.index!==void 0&&v?`v-list-item-${v.uid}-${e.index}`:void 0,class:[`v-list-item`,{"v-list-item--active":y.value,"v-list-item--disabled":e.disabled,"v-list-item--link":S.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!c&&v?.hasPrepend.value,"v-list-item--slim":e.slim,"v-list-item--focus-visible":C.value,[`${e.activeClass}`]:e.activeClass&&y.value},ne.value,re.value,ie.value,k.value,se.value,le.value,ce.value,O.value,e.class],style:[{"--v-list-prepend-gap":q(e.prependGap)},ae.value,oe.value,e.style],tabindex:e.tabindex??(S.value?v?-2:0:void 0),"aria-selected":T.value,role:w.value,onClick:de,onKeydown:S.value&&!b.value&&fe}),{default:()=>[dv(S.value||y.value,`v-list-item`),c&&H(`div`,{key:`prepend`,class:`v-list-item__prepend`},[n.prepend?U(Dv,{key:`prepend-defaults`,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[n.prepend?.(A.value)]}):H(V,null,[e.prependAvatar&&U(Cb,{key:`prepend-avatar`,density:e.density,image:e.prependAvatar},null),e.prependIcon&&U(Mv,{key:`prepend-icon`,density:e.density,icon:e.prependIcon},null)]),H(`div`,{class:`v-list-item__spacer`},null)]),H(`div`,{class:`v-list-item__content`,"data-no-activator":``},[r&&U(hx,{key:`title`},{default:()=>[n.title?.({title:e.title})??xe(e.title)]}),o&&U(mx,{key:`subtitle`},{default:()=>[n.subtitle?.({subtitle:e.subtitle})??xe(e.subtitle)]}),n.default?.(A.value)]),s&&H(`div`,{key:`append`,class:`v-list-item__append`},[n.append?U(Dv,{key:`append-defaults`,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[n.append?.(A.value)]}):H(V,null,[e.appendIcon&&U(Mv,{key:`append-icon`,density:e.density,icon:e.appendIcon},null),e.appendAvatar&&U(Cb,{key:`append-avatar`,density:e.density,image:e.appendAvatar},null)]),H(`div`,{class:`v-list-item__spacer`},null)])]}),[[Dy,S.value&&ue.value]])}),{activate:o,isActivated:s,isGroupActivator:f,isSelected:u,list:v,select:c,root:p,id:_,link:i}}}),vx=J({color:String,inset:Boolean,sticky:Boolean,title:String,...Y(),...iv()},`VListSubheader`),yx=X()({name:`VListSubheader`,props:vx(),setup(e,{slots:t}){let{textColorClasses:n,textColorStyles:r}=ov(()=>e.color);return Z(()=>{let i=!!(t.default||e.title);return U(e.tag,{class:j([`v-list-subheader`,{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},n.value,e.class]),style:A([{textColorStyles:r},e.style])},{default:()=>[i&&H(`div`,{class:`v-list-subheader__text`},[t.default?.()??e.title])]})}),{}}}),bx=J({items:Array,returnObject:Boolean},`VListChildren`),xx=X()({name:`VListChildren`,props:bx(),setup(e,{slots:t}){return Hb(),()=>t.default?.()??e.items?.map(({children:n,props:r,type:i,raw:a},o)=>{if(i===`divider`)return t.divider?.({props:r})??U(zb,r,null);if(i===`subheader`)return t.subheader?.({props:r})??U(yx,r,null);let s={subtitle:t.subtitle?e=>t.subtitle?.({...e,item:a}):void 0,prepend:t.prepend?e=>t.prepend?.({...e,item:a}):void 0,append:t.append?e=>t.append?.({...e,item:a}):void 0,title:t.title?e=>t.title?.({...e,item:a}):void 0},c=fx.filterProps(r);return n?U(fx,W(c,{value:e.returnObject?a:r?.value,rawId:r?.value}),{activator:({props:n})=>{let i=W(r,n,{value:e.returnObject?a:r.value});return t.header?t.header({props:i}):U(_x,W(i,{index:o}),s)},default:()=>U(xx,{items:n,returnObject:e.returnObject},t)}):t.item?t.item({props:{...r,index:o}}):U(_x,W(r,{index:o,value:e.returnObject?a:r.value}),s)})}}),Sx=J({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:`title`},itemValue:{type:[String,Array,Function],default:`value`},itemChildren:{type:[Boolean,String,Array,Function],default:`children`},itemProps:{type:[Boolean,String,Array,Function],default:`props`},itemType:{type:[Boolean,String,Array,Function],default:`type`},returnObject:Boolean,valueComparator:Function},`list-items`),Cx=new Set([`item`,`divider`,`subheader`]);function wx(e,t){let n=lc(t,e.itemTitle,t),r=lc(t,e.itemValue,n),i=lc(t,e.itemChildren),a=e.itemProps===!0?typeof t==`object`&&t&&!Array.isArray(t)?`children`in t?yc(t,[`children`]):t:void 0:lc(t,e.itemProps),o=lc(t,e.itemType,`item`);Cx.has(o)||(o=`item`);let s={title:n,value:r,...a};return{type:o,title:String(s.title??``),value:s.value,props:s,children:o===`item`&&Array.isArray(i)?Tx(e,i):void 0,raw:t}}wx.neededProps=[`itemTitle`,`itemValue`,`itemChildren`,`itemProps`,`itemType`];function Tx(e,t){let n=_c(e,wx.neededProps),r=[];for(let e of t)r.push(wx(n,e));return r}function Ex(e){let t=G(()=>Tx(e,e.items)),n=G(()=>t.value.some(e=>e.value===null)),r=F(new Map),i=F([]);Gn(()=>{let e=t.value,n=new Map,a=[];for(let t=0;te):t.map(({value:e})=>e)}return{items:t,transformIn:a,transformOut:o}}var Dx=new Set([`item`,`divider`,`subheader`]);function Ox(e,t){let n=tl(t)?t:lc(t,e.itemTitle),r=tl(t)?t:lc(t,e.itemValue,void 0),i=lc(t,e.itemChildren),a=e.itemProps===!0?yc(t,[`children`]):lc(t,e.itemProps),o=lc(t,e.itemType,`item`);Dx.has(o)||(o=`item`);let s={title:n,value:r,...a};return{type:o,title:s.title,value:s.value,props:s,children:o===`item`&&i?kx(e,i):void 0,raw:t}}function kx(e,t){let n=[];for(let r of t)n.push(Ox(e,r));return n}function Ax(e){return{items:G(()=>kx(e,e.items))}}var jx=J({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:zu,collapseIcon:zu,lines:{type:[Boolean,String],default:`one`},slim:Boolean,prependGap:[Number,String],indent:[Number,String],nav:Boolean,navigationStrategy:{type:String,default:`focus`},navigationIndex:Number,"onClick:open":Vc(),"onClick:select":Vc(),"onUpdate:opened":Vc(),...ox({selectStrategy:`single-leaf`,openStrategy:`list`}),...Y_(),...Y(),...Q_(),...Rv(),...ev(),...Sx(),...nv(),...iv(),...Pf(),...fv({variant:`text`})},`VList`),Mx=X()({name:`VList`,props:jx(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"update:navigationIndex":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,{attrs:t,slots:n,emit:r}){let{items:i}=Ax(e),{themeClasses:a}=Kf(e),{backgroundColorClasses:o,backgroundColorStyles:s}=sv(()=>e.bgColor),{borderClasses:c}=X_(e),{densityClasses:l}=$_(e),{dimensionStyles:u}=zv(e),{elevationClasses:d}=tv(e),{roundedClasses:f}=rv(e),{children:p,open:m,parents:h,select:g,getPath:_}=sx(e,{items:i,returnObject:L(()=>e.returnObject),scrollToActive:L(()=>e.navigationStrategy===`track`),valueComparator:L(()=>e.valueComparator)}),v=L(()=>e.lines?`v-list--${e.lines}-line`:void 0),y=L(()=>e.activeColor),b=L(()=>e.baseColor),x=L(()=>e.color),S=L(()=>e.selectable||e.activatable),C=Zu(e,`navigationIndex`,-1,e=>e??-1),w=Er();Hb({filterable:e.filterable,trackingIndex:C,navigationStrategy:L(()=>e.navigationStrategy),uid:w}),B(i,()=>{e.navigationStrategy===`track`&&(C.value=-1)}),yu({VListGroup:{activeColor:y,baseColor:b,color:x,expandIcon:L(()=>e.expandIcon),collapseIcon:L(()=>e.collapseIcon)},VListItem:{activeClass:L(()=>e.activeClass),activeColor:y,baseColor:b,color:x,density:L(()=>e.density),disabled:L(()=>e.disabled),lines:L(()=>e.lines),nav:L(()=>e.nav),slim:L(()=>e.slim),variant:L(()=>e.variant),tabindex:L(()=>e.navigationStrategy===`track`?-1:void 0)}});let T=F(!1),E=P();function ee(e){T.value=!0}function te(e){T.value=!1}function D(t){e.navigationStrategy===`track`?~C.value||(C.value=ie(`first`)):!T.value&&!(t.relatedTarget&&E.value?.contains(t.relatedTarget))&&k()}function ne(){e.navigationStrategy===`track`&&(C.value=-1)}function re(e){switch(e){case`ArrowDown`:return`next`;case`ArrowUp`:return`prev`;case`Home`:return`first`;case`End`:return`last`;default:return null}}function ie(e){let t=i.value.length;if(t===0)return-1;let n;e===`first`?n=0:e===`last`?n=t-1:(n=C.value+(e===`next`?1:-1),n<0&&(n=t-1),n>=t&&(n=0));let r=n,a=0;for(;a=t&&(n=0),n===r)return-1;a++}return-1}function ae(t){let n=t.target;if(!E.value||n.tagName===`INPUT`&&[`Home`,`End`].includes(t.key)||n.tagName===`TEXTAREA`)return;let r=re(t.key);if(r!==null)if(t.preventDefault(),e.navigationStrategy===`track`){let e=ie(r);e!==-1&&(C.value=e)}else k(r)}function O(e){T.value=!0}function k(e,t){if(E.value)return Kc(E.value,e,t)}return Z(()=>{let r=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0),p=S.value?t.ariaMultiselectable??!String(e.selectStrategy).startsWith(`single-`):void 0;return U(e.tag,{ref:E,class:j([`v-list`,{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},a.value,o.value,c.value,l.value,d.value,v.value,f.value,e.class]),style:A([{"--v-list-indent":q(r),"--v-list-group-prepend":r?`0px`:void 0,"--v-list-prepend-gap":q(e.prependGap)},s.value,u.value,e.style]),tabindex:e.disabled?-1:0,role:S.value?`listbox`:`list`,"aria-activedescendant":e.navigationStrategy===`track`&&C.value>=0?`v-list-item-${w}-${C.value}`:void 0,"aria-multiselectable":p,onFocusin:ee,onFocusout:te,onFocus:D,onBlur:ne,onKeydown:ae,onMousedown:O},{default:()=>[U(xx,{items:i.value,returnObject:e.returnObject},n)]})}),{open:m,select:g,focus:k,children:p,parents:h,getPath:_,navigationIndex:C}}}),Nx=J({scrollable:Boolean,...Y(),...Rv(),...iv({tag:`main`})},`VMain`),Px=X()({name:`VMain`,props:Nx(),setup(e,{slots:t}){let{dimensionStyles:n}=zv(e),{mainStyles:r}=ep(),{ssrBootStyles:i}=mb();return Z(()=>U(e.tag,{class:j([`v-main`,{"v-main--scrollable":e.scrollable},e.class]),style:A([r.value,i.value,n.value,e.style])},{default:()=>[e.scrollable?H(`div`,{class:`v-main__scroller`},[t.default?.()]):t.default?.()]})),{}}});function Fx(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ix(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Lx(e,t){if(e.side===`top`||e.side===`bottom`){let{side:n,align:r}=e;return Fx({x:r===`left`?0:r===`center`?t.width/2:r===`right`?t.width:r,y:n===`top`?0:n===`bottom`?t.height:n},t)}else if(e.side===`left`||e.side===`right`){let{side:n,align:r}=e;return Fx({x:n===`left`?0:n===`right`?t.width:n,y:r===`top`?0:r===`center`?t.height/2:r===`bottom`?t.height:r},t)}return Fx({x:t.width/2,y:t.height/2},t)}var Rx={static:Vx,connected:Ux},zx=J({locationStrategy:{type:[String,Function],default:`static`,validator:e=>typeof e==`function`||e in Rx},location:{type:String,default:`bottom`},origin:{type:String,default:`auto`},offset:[Number,String,Array],stickToTarget:Boolean,viewportMargin:{type:[Number,String],default:12}},`VOverlay-location-strategies`);function Bx(e,t){let n=P({}),r=P();K&&Xu(()=>!!(t.isActive.value&&e.locationStrategy),s=>{B(()=>e.locationStrategy,s),Oe(()=>{window.removeEventListener(`resize`,i),visualViewport?.removeEventListener(`resize`,a),visualViewport?.removeEventListener(`scroll`,o),r.value=void 0}),window.addEventListener(`resize`,i,{passive:!0}),visualViewport?.addEventListener(`resize`,a,{passive:!0}),visualViewport?.addEventListener(`scroll`,o,{passive:!0}),typeof e.locationStrategy==`function`?r.value=e.locationStrategy(t,e,n)?.updateLocation:r.value=Rx[e.locationStrategy](t,e,n)?.updateLocation});function i(e){r.value?.(e)}function a(e){r.value?.(e)}function o(e){r.value?.(e)}return{contentStyles:n,updateLocation:r}}function Vx(){}function Hx(e,t){let n=_l(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function Ux(e,t,n){(Array.isArray(e.target.value)||Lu(e.target.value))&&Object.assign(n.value,{position:`fixed`,top:0,[e.isRtl.value?`right`:`left`]:0});let{preferredAnchor:r,preferredOrigin:i}=Rc(()=>{let n=sl(t.location,e.isRtl.value),r=t.origin===`overlap`?n:t.origin===`auto`?ll(n):sl(t.origin,e.isRtl.value);return n.side===r.side&&n.align===ul(r).align?{preferredAnchor:dl(n),preferredOrigin:dl(r)}:{preferredAnchor:n,preferredOrigin:r}}),[a,o,s,c]=[`minWidth`,`minHeight`,`maxWidth`,`maxHeight`].map(e=>G(()=>{let n=parseFloat(t[e]);return isNaN(n)?1/0:n})),l=G(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset==`string`){let e=t.offset.split(` `).map(parseFloat);return e.length<2&&e.push(0),e}return typeof t.offset==`number`?[t.offset,0]:[0,0]}),u=!1,d=-1,f=new Lc(4),p=new ResizeObserver(()=>{if(!u)return;if(requestAnimationFrame(e=>{e!==d&&f.clear(),requestAnimationFrame(e=>{d=e})}),f.isFull){let e=f.values();if(Du(e.at(-1),e.at(-3))&&!Du(e.at(-1),e.at(-2)))return}let e=h();e&&f.push(e.flipped)}),m=new pl({x:0,y:0,width:0,height:0});B(e.target,(e,t)=>{t&&!Array.isArray(t)&&p.unobserve(t),Array.isArray(e)?Du(e,t)||h():e&&p.observe(e)},{immediate:!0}),B(e.contentEl,(e,t)=>{t&&p.unobserve(t),e&&p.observe(e)},{immediate:!0}),Oe(()=>{p.disconnect()});function h(){if(u=!1,requestAnimationFrame(()=>u=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(m=hl(e.target.value));let d=Hx(e.contentEl.value,e.isRtl.value),f=Pu(e.contentEl.value),p=Number(t.viewportMargin);f.length||(f.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(d.x-=parseFloat(document.documentElement.style.getPropertyValue(`--v-body-scroll-x`)||0),d.y-=parseFloat(document.documentElement.style.getPropertyValue(`--v-body-scroll-y`)||0)));let h=f.reduce((e,t)=>{let n=gl(t);return e?new pl({x:Math.max(e.left,n.left),y:Math.max(e.top,n.top),width:Math.min(e.right,n.right)-Math.max(e.left,n.left),height:Math.min(e.bottom,n.bottom)-Math.max(e.top,n.top)}):n},void 0);t.stickToTarget?(h.x+=Math.min(p,m.x),h.y+=Math.min(p,m.y),h.width=Math.max(h.width-p*2,m.x+m.width-p),h.height=Math.max(h.height-p*2,m.y+m.height-p)):(h.x+=p,h.y+=p,h.width-=p*2,h.height-=p*2);let g={anchor:r.value,origin:i.value};function _(e){let t=new pl(d),{x:n,y:r}=Ix(Lx(e.anchor,m),Lx(e.origin,t));switch(e.anchor.side){case`top`:r-=l.value[0];break;case`bottom`:r+=l.value[0];break;case`left`:n-=l.value[0];break;case`right`:n+=l.value[0];break}switch(e.anchor.align){case`top`:r-=l.value[1];break;case`bottom`:r+=l.value[1];break;case`left`:n-=l.value[1];break;case`right`:n+=l.value[1];break}return t.x+=n,t.y+=r,t.width=Math.min(t.width,s.value),t.height=Math.min(t.height,c.value),{overflows:ml(t,h),x:n,y:r}}let v=0,y=0,b={x:0,y:0},x={x:!1,y:!1},S=-1;for(;;){if(S++>10){tc(`Infinite loop detected in connectedLocationStrategy`);break}let{x:e,y:t,overflows:n}=_(g);v+=e,y+=t,d.x+=e,d.y+=t;{let e=fl(g.anchor),t=n.x.before||n.x.after,r=n.y.before||n.y.after,i=!1;if([`x`,`y`].forEach(a=>{if(a===`x`&&t&&!x.x||a===`y`&&r&&!x.y){let t={anchor:{...g.anchor},origin:{...g.origin}},r=a===`x`?e===`y`?ul:ll:e===`y`?ll:ul;t.anchor=r(t.anchor),t.origin=r(t.origin);let{overflows:o}=_(t);(o[a].before<=n[a].before&&o[a].after<=n[a].after||o[a].before+o[a].after<(n[a].before+n[a].after)/2)&&(g=t,i=x[a]=!0)}}),i)continue}n.x.before&&(v+=n.x.before,d.x+=n.x.before),n.x.after&&(v-=n.x.after,d.x-=n.x.after),n.y.before&&(y+=n.y.before,d.y+=n.y.before),n.y.after&&(y-=n.y.after,d.y-=n.y.after);{let e=ml(d,h);b.x=h.width-e.x.before-e.x.after,b.y=h.height-e.y.before-e.y.after,v+=e.x.before,d.x+=e.x.before,y+=e.y.before,d.y+=e.y.before}break}let C=fl(g.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${g.anchor.side} ${g.anchor.align}`,transformOrigin:`${g.origin.side} ${g.origin.align}`,top:q(Wx(y)),left:e.isRtl.value?void 0:q(Wx(v)),right:e.isRtl.value?q(Wx(-v)):void 0,minWidth:q(C===`y`?Math.min(a.value,m.width):a.value),maxWidth:q(Gx(Oc(b.x,a.value===1/0?0:a.value,s.value))),maxHeight:q(Gx(Oc(b.y,o.value===1/0?0:o.value,c.value)))}),{available:b,contentBox:d,flipped:x}}return B(()=>[r.value,i.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>h()),Dn(()=>{let e=h();if(!e)return;let{available:t,contentBox:n}=e;n.height>t.y&&requestAnimationFrame(()=>{h(),requestAnimationFrame(()=>{h()})})}),{updateLocation:h}}function Wx(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function Gx(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}var Kx=!0,qx=[];function Jx(e){!Kx||qx.length?(qx.push(e),Xx()):(Kx=!1,e(),Xx())}var Yx=-1;function Xx(){cancelAnimationFrame(Yx),Yx=requestAnimationFrame(()=>{let e=qx.shift();e&&e(),qx.length?Xx():Kx=!0})}var Zx={none:null,close:eS,block:tS,reposition:nS},Qx=J({scrollStrategy:{type:[String,Function],default:`block`,validator:e=>typeof e==`function`||e in Zx}},`VOverlay-scroll-strategies`);function $x(e,t){if(!K)return;let n;Gn(async()=>{n?.stop(),t.isActive.value&&e.scrollStrategy&&(n=Ee(),await new Promise(e=>setTimeout(e)),n.active&&n.run(()=>{typeof e.scrollStrategy==`function`?e.scrollStrategy(t,e,n):Zx[e.scrollStrategy]?.(t,e,n)}))}),Oe(()=>{n?.stop()})}function eS(e){function t(t){e.isActive.value=!1}iS(rS(e.target.value,e.contentEl.value),t)}function tS(e,t){let n=e.root.value?.offsetParent,r=rS(e.target.value,e.contentEl.value),i=[...new Set([...Pu(r,t.contained?n:void 0),...Pu(e.contentEl.value,t.contained?n:void 0)])].filter(e=>!e.classList.contains(`v-overlay-scroll-blocked`)),a=window.innerWidth-document.documentElement.offsetWidth,o=(e=>Fu(e)&&e)(n||document.documentElement);o&&e.root.value.classList.add(`v-overlay--scroll-blocked`),i.forEach((e,t)=>{e.style.setProperty(`--v-body-scroll-x`,q(-e.scrollLeft)),e.style.setProperty(`--v-body-scroll-y`,q(-e.scrollTop)),(e!==document.documentElement||getComputedStyle(e).overflowY!==`scroll`)&&e.style.setProperty(`--v-scrollbar-offset`,q(a)),e.classList.add(`v-overlay-scroll-blocked`)}),Oe(()=>{i.forEach((e,t)=>{let n=parseFloat(e.style.getPropertyValue(`--v-body-scroll-x`)),r=parseFloat(e.style.getPropertyValue(`--v-body-scroll-y`)),i=e.style.scrollBehavior;e.style.scrollBehavior=`auto`,e.style.removeProperty(`--v-body-scroll-x`),e.style.removeProperty(`--v-body-scroll-y`),e.style.removeProperty(`--v-scrollbar-offset`),e.classList.remove(`v-overlay-scroll-blocked`),e.scrollLeft=-n,e.scrollTop=-r,e.style.scrollBehavior=i}),o&&e.root.value.classList.remove(`v-overlay--scroll-blocked`)})}function nS(e,t,n){let r=!1,i=-1,a=-1;function o(t){Jx(()=>{let n=performance.now();e.updateLocation.value?.(t),r=(performance.now()-n)/(1e3/60)>2})}a=(typeof requestIdleCallback>`u`?e=>e():requestIdleCallback)(()=>{n.run(()=>{iS(rS(e.target.value,e.contentEl.value),e=>{r?(cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=requestAnimationFrame(()=>{o(e)})})):o(e)})})}),Oe(()=>{typeof cancelIdleCallback<`u`&&cancelIdleCallback(a),cancelAnimationFrame(i)})}function rS(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(e=>!t?.contains(e)):e??t}function iS(e,t){let n=[document,...Pu(e)];n.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),Oe(()=>{n.forEach(e=>{e.removeEventListener(`scroll`,t)})})}var aS=Symbol.for(`vuetify:v-menu`),oS=J({closeDelay:[Number,String],openDelay:[Number,String]},`delay`);function sS(e,t){let n=()=>{};function r(r,i){n?.();let a=r?e.openDelay:e.closeDelay,o=Math.max(i?.minDelay??0,Number(a??0));return new Promise(e=>{n=Zc(o,()=>{t?.(r),e(r)})})}function i(){return r(!0)}function a(e){return r(!1,e)}return{clearDelay:n,runOpenDelay:i,runCloseDelay:a}}var cS=J({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...oS()},`VOverlay-activator`);function lS(e,{isActive:t,isTop:n,contentEl:r}){let i=pu(`useActivator`),a=P(),o=!1,s=!1,c=!0,l=G(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),u=G(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!l.value),{runOpenDelay:d,runCloseDelay:f}=sS(e,r=>{r===(e.openOnHover&&o||l.value&&s)&&!(e.openOnHover&&t.value&&!n.value)&&(t.value!==r&&(c=!0),t.value=r)}),p=!1;B(t,e=>{e||(p=!0,setTimeout(()=>p=!1,50))});let m=P(),h={onClick:e=>{p&&!t.value||(e.stopPropagation(),a.value=e.currentTarget||e.target,t.value||(m.value=[e.clientX,e.clientY]),t.value=!t.value)},onMouseenter:e=>{o=!0,a.value=e.currentTarget||e.target,d()},onMouseleave:e=>{o=!1,f()},onFocus:e=>{p||Yc(e.target,`:focus-visible`)!==!1&&(s=!0,e.stopPropagation(),a.value=e.currentTarget||e.target,d())},onBlur:e=>{let t=e.relatedTarget;!t||r.value?.contains(t)||(s=!1,e.stopPropagation(),f({minDelay:1}))}},g=G(()=>{let t={};return u.value&&(t.onClick=h.onClick),e.openOnHover&&(t.onMouseenter=h.onMouseenter,t.onMouseleave=h.onMouseleave),l.value&&(t.onFocus=h.onFocus,t.onBlur=h.onBlur),t}),_=G(()=>{let n={};if(e.openOnHover&&(n.onMouseenter=()=>{o=!0,d()},n.onMouseleave=()=>{o=!1,f()}),l.value&&(n.onFocusin=e=>{e.target.matches(`:focus-visible`)&&(s=!0,d())},n.onFocusout=e=>{let t=e.relatedTarget;!t||r.value?.contains(t)||(s=!1,f({minDelay:1}))}),e.closeOnContentClick){let e=z(aS,null);n.onClick=()=>{t.value=!1,e?.closeParents()}}return n}),v=G(()=>{let t={};return e.openOnHover&&(t.onMouseenter=()=>{c&&(o=!0,c=!1,d())},t.onMouseleave=()=>{o=!1,f()}),t});B(n,t=>{t&&(e.openOnHover&&!o&&(!l.value||!s)||l.value&&!s&&(!e.openOnHover||!o))&&!r.value?.contains(document.activeElement)&&f()}),B(t,e=>{e||setTimeout(()=>{m.value=void 0})},{flush:`post`});let y=$c();Gn(()=>{y.value&&Dn(()=>{a.value=y.el})});let b=$c(),x=G(()=>e.target===`cursor`&&m.value?m.value:b.value?b.el:dS(e.target,i)||a.value),S=G(()=>Array.isArray(x.value)?void 0:x.value),C;return B(()=>!!e.activator,t=>{t&&K?(C=Ee(),C.run(()=>{uS(e,i,{activatorEl:a,activatorEvents:g})})):C&&C.stop()},{flush:`post`,immediate:!0}),Oe(()=>{C?.stop()}),{activatorEl:a,activatorRef:y,target:x,targetEl:S,targetRef:b,activatorEvents:g,contentEvents:_,scrimEvents:v}}function uS(e,t,{activatorEl:n,activatorEvents:r}){B(()=>e.activator,(e,t)=>{if(t&&e!==t){let e=o(t);e&&a(e)}e&&Dn(()=>i())},{immediate:!0}),B(()=>e.activatorProps,()=>{i()}),Oe(()=>{a()});function i(t=o(),n=e.activatorProps){t&&bl(t,W(r.value,n))}function a(t=o(),n=e.activatorProps){t&&xl(t,W(r.value,n))}function o(r=e.activator){let i=dS(r,t);return n.value=i?.nodeType===Node.ELEMENT_NODE?i:void 0,n.value}}function dS(e,t){if(!e)return;let n;if(e===`parent`){let e=t?.proxy?.$el?.parentNode;for(;e?.hasAttribute(`data-no-activator`);)e=e.parentNode;n=e}else n=typeof e==`string`?document.querySelector(e):`$el`in e?e.$el:e;return n}var fS=J({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},`focusTrap`),pS=new Map,mS=0;function hS(){let e;for(let{isActive:t,contentEl:n}of pS.values())t.value&&n.value&&(e=n.value);return e}function gS(e){let t=document.activeElement;if(e.key!==`Tab`||!t)return;let n=Array.from(pS.values()).filter(({isActive:e,contentEl:n})=>e.value&&n.value?.contains(t)).map(e=>e.contentEl.value),r,i=t;for(;i;){if(n.includes(i)){r=i;break}i=i.parentElement}if(!r){let t=hS();if(!t)return;let n=Wc(t).filter(e=>e.tabIndex>=0);e.preventDefault(),n.length?e.shiftKey?n[n.length-1].focus():n[0].focus():t.focus({preventScroll:!0});return}let a=Wc(r).filter(e=>e.tabIndex>=0);if(!a.length)return;if(a.length===1&&a[0].classList.contains(`v-list`)&&a[0].contains(t)){e.preventDefault();return}let o=a[0],s=a[a.length-1],c=t===o||t===r||o.classList.contains(`v-list`)&&o.contains(t),l=t===s||s.classList.contains(`v-list`)&&s.contains(t);e.shiftKey&&c&&(e.preventDefault(),s.focus()),!e.shiftKey&&l&&(e.preventDefault(),o.focus())}function _S(e,{isActive:t,localTop:n,contentEl:r}){let i=Symbol(`trap`),a=!1,o=-1;async function s(){a=!0,o=window.setTimeout(()=>{a=!1},100)}async function c(e){let i=e.relatedTarget,o=e.target;document.removeEventListener(`pointerdown`,s),document.removeEventListener(`keydown`,l),await Dn(),t.value&&!a&&i!==o&&r.value&&Qt(n)&&![document,r.value].includes(o)&&!r.value.contains(o)&&Wc(r.value)[0]?.focus()}function l(e){if(e.key===`Tab`&&(document.removeEventListener(`keydown`,l),t.value&&r.value&&e.target&&!r.value.contains(e.target))){let t=Wc(document.documentElement);if(e.shiftKey&&e.target===t.at(0)||!e.shiftKey&&e.target===t.at(-1)){let t=Wc(r.value);t.length>0&&(e.preventDefault(),t[0].focus())}}}let u=L(()=>t.value&&e.captureFocus&&!e.disableInitialFocus);K&&(B(()=>e.retainFocus,e=>{e?pS.set(i,{isActive:t,contentEl:r}):pS.delete(i)},{immediate:!0}),B(u,e=>{e?(document.addEventListener(`pointerdown`,s),document.addEventListener(`focusin`,c,{once:!0}),document.addEventListener(`keydown`,l)):(document.removeEventListener(`pointerdown`,s),document.removeEventListener(`focusin`,c),document.removeEventListener(`keydown`,l))},{immediate:!0}),mS++<1&&document.addEventListener(`keydown`,gS)),Oe(()=>{pS.delete(i),K&&(clearTimeout(o),document.removeEventListener(`pointerdown`,s),document.removeEventListener(`focusin`,c),document.removeEventListener(`keydown`,l),--mS<1&&document.removeEventListener(`keydown`,gS))})}function vS(){if(!K)return F(!1);let{ssr:e}=Cf();if(e){let e=F(!1);return Gr(()=>{e.value=!0}),e}else return F(!0)}var yS=J({eager:Boolean},`lazy`);function bS(e,t){let n=F(!1),r=L(()=>n.value||e.eager||t.value);B(t,()=>n.value=!0);function i(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:r,onAfterLeave:i}}function xS(){let e=pu(`useScopeId`).vnode.scopeId;return{scopeId:e?{[e]:``}:void 0}}var SS=Symbol.for(`vuetify:stack`),CS=zt([]);function wS(e,t,n){let r=pu(`useStack`),i=!n,a=z(SS,void 0),o=zt({activeChildren:new Set});Vn(SS,o);let s=F(Number(Qt(t)));Xu(e,()=>{let e=CS.at(-1)?.[1];s.value=e?e+10:Number(Qt(t)),i&&CS.push([r.uid,s.value]),a?.activeChildren.add(r.uid),Oe(()=>{if(i){let e=M(CS).findIndex(e=>e[0]===r.uid);CS.splice(e,1)}a?.activeChildren.delete(r.uid)})});let c=F(!0);return i&&Gn(()=>{let e=CS.at(-1)?.[0]===r.uid;setTimeout(()=>c.value=e)}),{globalTop:Vt(c),localTop:L(()=>!o.activeChildren.size),stackStyles:L(()=>({zIndex:s.value}))}}function TS(e){return{teleportTarget:G(()=>{let t=e();if(t===!0||!K)return;let n=t===!1?document.body:typeof t==`string`?document.querySelector(t):t;if(n==null){xo(`Unable to locate target ${t}`);return}let r=[...n.children].find(e=>e.matches(`.v-overlay-container`));return r||(r=document.createElement(`div`),r.className=`v-overlay-container`,n.appendChild(r)),r})}}function ES(){return!0}function DS(e,t,n){if(!e||OS(e,n)===!1)return!1;let r=Ou(t);if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&r.host===e.target)return!1;let i=(typeof n.value==`object`&&n.value.include||(()=>[]))();return i.push(t),!i.some(t=>t?.contains(e.target))}function OS(e,t){return(typeof t.value==`object`&&t.value.closeConditional||ES)(e)}function kS(e,t,n){let r=typeof n.value==`function`?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&DS(e,t,n)&&setTimeout(()=>{OS(e,n)&&r&&r(e)},0)}function AS(e,t){let n=Ou(e);t(document),typeof ShadowRoot<`u`&&n instanceof ShadowRoot&&t(n)}var jS={mounted(e,t){let n=n=>kS(n,e,t),r=n=>{e._clickOutside.lastMousedownWasOutside=DS(n,e,t)};AS(e,e=>{e.addEventListener(`click`,n,!0),e.addEventListener(`mousedown`,r,!0)}),e._clickOutside||={lastMousedownWasOutside:!1},e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:r}},beforeUnmount(e,t){e._clickOutside&&(AS(e,n=>{if(!n||!e._clickOutside?.[t.instance.$.uid])return;let{onClick:r,onMousedown:i}=e._clickOutside[t.instance.$.uid];n.removeEventListener(`click`,r,!0),n.removeEventListener(`mousedown`,i,!0)}),delete e._clickOutside[t.instance.$.uid])}};function MS(e){let{modelValue:t,color:n,...r}=e;return U(Fo,{name:`fade-transition`,appear:!0},{default:()=>[e.modelValue&&H(`div`,W({class:[`v-overlay__scrim`,e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},r),null)]})}var NS=J({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...cS(),...Y(),...Rv(),...yS(),...zx(),...Qx(),...fS(),...Pf(),...nb()},`VOverlay`),PS=X()({name:`VOverlay`,directives:{vClickOutside:jS},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...yc(NS(),[`disableInitialFocus`])},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,{slots:t,attrs:n,emit:r}){let i=pu(`VOverlay`),a=P(),o=P(),s=P(),c=Zu(e,`modelValue`),l=G({get:()=>c.value,set:t=>{t&&e.disabled||(c.value=t)}}),{themeClasses:u}=Kf(e),{rtlClasses:d,isRtl:f}=pd(),{hasContent:p,onAfterLeave:m}=bS(e,l),h=sv(()=>typeof e.scrim==`string`?e.scrim:null),{globalTop:g,localTop:_,stackStyles:v}=wS(l,()=>e.zIndex,e._disableGlobalStack),{activatorEl:y,activatorRef:b,target:x,targetEl:S,targetRef:C,activatorEvents:w,contentEvents:T,scrimEvents:E}=lS(e,{isActive:l,isTop:_,contentEl:s}),{teleportTarget:ee}=TS(()=>{let t=e.attach||e.contained;if(t)return t;let n=y?.value?.getRootNode()||i.proxy?.$el?.getRootNode();return n instanceof ShadowRoot?n:!1}),{dimensionStyles:te}=zv(e),D=vS(),{scopeId:ne}=xS();B(()=>e.disabled,e=>{e&&(l.value=!1)});let{contentStyles:re,updateLocation:ie}=Bx(e,{isRtl:f,contentEl:s,target:x,isActive:l});$x(e,{root:a,contentEl:s,targetEl:S,target:x,isActive:l,updateLocation:ie});function ae(t){r(`click:outside`,t),e.persistent?ue():l.value=!1}function O(t){return l.value&&_.value&&(!e.scrim||t.target===o.value||t instanceof MouseEvent&&t.shadowTarget===o.value)}_S(e,{isActive:l,localTop:_,contentEl:s});function k(){let e=y.value;if(!e||!e.isConnected||e.closest(`.v-overlay__content`)||s.value?._clickOutside?.lastMousedownWasOutside)return;let t=document.activeElement;if(!(!t||t===document.body||t===e||e.contains(t)||t.closest(`.v-overlay__content`)))return;let n=e.parentElement,r=n?Wc(n):[],i;if(r.includes(e))i=e;else{let t=Wc(e);i=t.find(e=>e.tagName===`INPUT`||e.tagName===`TEXTAREA`)??t[0]}i?.focus({preventScroll:!0})}B(l,e=>{e||k()},{flush:`post`}),K&&B(l,e=>{e?window.addEventListener(`keydown`,oe):window.removeEventListener(`keydown`,oe)},{immediate:!0}),Jr(()=>{K&&window.removeEventListener(`keydown`,oe)});function oe(t){t.key===`Escape`&&g.value&&(s.value?.contains(document.activeElement)||r(`keydown`,t),e.persistent?ue():(l.value=!1,s.value?.contains(document.activeElement)&&y.value?.focus()))}function se(e){e.key===`Escape`&&!g.value||r(`keydown`,e)}let ce=ey();Xu(()=>e.closeOnBack,()=>{iy(ce,()=>{if(g.value&&l.value)return e.persistent?ue():l.value=!1,!1})});let le=P();B(()=>l.value&&(e.absolute||e.contained)&&ee.value==null,e=>{if(e){let e=Nu(a.value);e&&e!==document.scrollingElement&&(le.value=e.scrollTop)}});function ue(){e.noClickAnimation||s.value&&vl(s.value,[{transformOrigin:`center`},{transform:`scale(1.03)`},{transformOrigin:`center`}],{duration:150,easing:`cubic-bezier(0.4, 0, 0.2, 1)`})}function A(){r(`afterEnter`)}function de(){m(),r(`afterLeave`)}return Z(()=>H(V,null,[t.activator?.({isActive:l.value,targetRef:C,props:W({ref:b},w.value,e.activatorProps)}),D.value&&p.value&&U(sr,{disabled:!ee.value,to:ee.value},{default:()=>[H(`div`,W({class:[`v-overlay`,{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":l.value,"v-overlay--contained":e.contained},u.value,d.value,e.class],style:[v.value,{"--v-overlay-opacity":e.opacity,top:q(le.value)},e.style],ref:a,onKeydown:se},ne,n),[U(MS,W({color:h,modelValue:l.value&&!!e.scrim,ref:o},E.value),null),U(rb,{appear:!0,persisted:!0,transition:e.transition,target:x.value,onAfterEnter:A,onAfterLeave:de},{default:()=>[zn(H(`div`,W({ref:s,class:[`v-overlay__content`,e.contentClass],style:[te.value,re.value]},T.value,e.contentProps),[t.default?.({isActive:l})]),[[$o,l.value],[jS,{handler:ae,closeConditional:O,include:()=>[y.value,...Array.from(document.querySelectorAll(`.v-overlay__content`))]}]])]})])]})])),{activatorEl:y,scrimEl:o,target:x,animateClick:ue,contentEl:s,rootEl:a,globalTop:g,localTop:_,updateLocation:ie}}}),FS=Symbol(`Forwarded refs`);function IS(e,t){let n=e;for(;n;){let e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Object.getPrototypeOf(n)}}function LS(e,...t){return e[FS]=t,new Proxy(e,{get(e,n){if(Reflect.has(e,n))return Reflect.get(e,n);if(!(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))){for(let e of t)if(e.value&&Reflect.has(e.value,n)){let t=Reflect.get(e.value,n);return typeof t==`function`?t.bind(e.value):t}}},has(e,n){if(Reflect.has(e,n))return!0;if(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))return!1;for(let e of t)if(e.value&&Reflect.has(e.value,n))return!0;return!1},set(e,n,r){if(Reflect.has(e,n))return Reflect.set(e,n,r);if(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))return!1;for(let e of t)if(e.value&&Reflect.has(e.value,n))return Reflect.set(e.value,n,r);return!1},getOwnPropertyDescriptor(e,n){let r=Reflect.getOwnPropertyDescriptor(e,n);if(r)return r;if(!(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))){for(let e of t){if(!e.value)continue;let t=IS(e.value,n)??(`_`in e.value?IS(e.value._?.setupState,n):void 0);if(t)return t}for(let e of t){let t=e.value&&e.value[FS];if(!t)continue;let r=t.slice();for(;r.length;){let e=r.shift(),t=IS(e.value,n);if(t)return t;let i=e.value&&e.value[FS];i&&r.push(...i)}}}}})}var RS=J({id:String,submenu:Boolean,...yc(NS({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:`connected`,location:void 0,openDelay:300,scrim:!1,scrollStrategy:`reposition`,transition:{component:Gy}}),[`absolute`])},`VMenu`),zS=X()({name:`VMenu`,props:RS(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=Zu(e,`modelValue`),{scopeId:r}=xS(),{isRtl:i}=pd(),a=Er(),o=L(()=>e.id||`v-menu-${a}`),s=P(),c=z(aS,null),l=F(new Set);Vn(aS,{register(){l.value.add(a)},unregister(){l.value.delete(a)},closeParents(t){setTimeout(()=>{!l.value.size&&!e.persistent&&(t==null||s.value?.contentEl&&!Qc(t,s.value.contentEl))&&(n.value=!1,c?.closeParents())},40)}}),Jr(()=>c?.unregister()),Lr(()=>n.value=!1),B(n,e=>{e?c?.register():c?.unregister()},{immediate:!0});function u(e){c?.closeParents(e)}function d(t){e.disabled||(t.key===`Tab`?!Gc(Wc(s.value?.contentEl,!1),t.shiftKey?`prev`:`next`,e=>e.tabIndex>=0)&&!e.retainFocus&&(n.value=!1):e.submenu&&t.key===(i.value?`ArrowRight`:`ArrowLeft`)&&(n.value=!1))}function f(t){if(e.disabled)return;let r=s.value?.contentEl;r&&n.value?t.key===`ArrowDown`?(t.preventDefault(),t.stopImmediatePropagation(),Kc(r,`next`)):t.key===`ArrowUp`?(t.preventDefault(),t.stopImmediatePropagation(),Kc(r,`prev`)):e.submenu&&(t.key===(i.value?`ArrowRight`:`ArrowLeft`)?n.value=!1:t.key===(i.value?`ArrowLeft`:`ArrowRight`)&&(t.preventDefault(),Kc(r,`first`))):(e.submenu?t.key===(i.value?`ArrowLeft`:`ArrowRight`):[`ArrowDown`,`ArrowUp`].includes(t.key))&&(n.value=!0,t.preventDefault(),setTimeout(()=>setTimeout(()=>f(t))))}let p=G(()=>W({"aria-haspopup":`menu`,"aria-expanded":String(n.value),"aria-controls":o.value,"aria-owns":o.value,onKeydown:f},e.activatorProps));return Z(()=>{let i=PS.filterProps(e);return U(PS,W({ref:s,id:o.value,class:[`v-menu`,e.class],style:e.style},i,{modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,absolute:!0,activatorProps:p.value,location:e.location??(e.submenu?`end`:`bottom`),"onClick:outside":u,onKeydown:d},r),{activator:t.activator,default:(...e)=>U(Dv,{root:`VMenu`},{default:()=>[t.default?.(...e)]})})}),LS({id:o,ΨopenChildren:l},s)}});function BS({rootEl:e,isSticky:t,layoutItemStyles:n}){let r=F(!1),i=F(0),a=G(()=>{let e=typeof r.value==`boolean`?`top`:r.value;return[t.value?{top:`auto`,bottom:`auto`,height:void 0}:void 0,r.value?{[e]:q(i.value)}:{top:n.value.top}]});Gr(()=>{B(t,e=>{e?window.addEventListener(`scroll`,s,{passive:!0}):window.removeEventListener(`scroll`,s)},{immediate:!0})}),Jr(()=>{window.removeEventListener(`scroll`,s)});let o=0;function s(){let t=o>window.scrollY?`up`:`down`,a=e.value.getBoundingClientRect(),s=parseFloat(n.value.top??0),c=window.scrollY-Math.max(0,i.value-s),l=a.height+Math.max(i.value,s)-window.scrollY-window.innerHeight,u=parseFloat(getComputedStyle(e.value).getPropertyValue(`--v-body-scroll-y`))||0;a.height0;n--){if(e[n].t===e[n-1].t)continue;let r=US(t),i=(e[n].d-e[n-1].d)/(e[n].t-e[n-1].t);t+=(i-r)*Math.abs(i),n===e.length-1&&(t*=.5)}return US(t)*1e3}function GS(){let e={};function t(t){Array.from(t.changedTouches).forEach(n=>{(e[n.identifier]??(e[n.identifier]=new Lc(HS))).push([t.timeStamp,n])})}function n(t){Array.from(t.changedTouches).forEach(t=>{delete e[t.identifier]})}function r(t){let n=e[t]?.values().reverse();if(!n)throw Error(`No samples for touch id ${t}`);let r=n[0],i=[],a=[];for(let e of n){if(r[0]-e[0]>VS)break;i.push({t:e[0],d:e[1].clientX}),a.push({t:e[0],d:e[1].clientY})}return{x:WS(i),y:WS(a),get direction(){let{x:e,y:t}=this,[n,r]=[Math.abs(e),Math.abs(t)];return n>r&&e>=0?`right`:n>r&&e<=0?`left`:r>n&&t>=0?`down`:r>n&&t<=0?`up`:KS()}}}return{addMovement:t,endTouch:n,getVelocity:r}}function KS(){throw Error()}function qS({el:e,isActive:t,isTemporary:n,width:r,touchless:i,position:a}){Gr(()=>{window.addEventListener(`touchstart`,_,{passive:!0}),window.addEventListener(`touchmove`,v,{passive:!1}),window.addEventListener(`touchend`,y,{passive:!0})}),Jr(()=>{window.removeEventListener(`touchstart`,_),window.removeEventListener(`touchmove`,v),window.removeEventListener(`touchend`,y)});let o=G(()=>[`left`,`right`].includes(a.value)),{addMovement:s,endTouch:c,getVelocity:l}=GS(),u=!1,d=F(!1),f=F(0),p=F(0),m;function h(e,t){return(a.value===`left`?e:a.value===`right`?document.documentElement.clientWidth-e:a.value===`top`?e:a.value===`bottom`?document.documentElement.clientHeight-e:JS())-(t?r.value:0)}function g(e,t=!0){let n=a.value===`left`?(e-p.value)/r.value:a.value===`right`?(document.documentElement.clientWidth-e-p.value)/r.value:a.value===`top`?(e-p.value)/r.value:a.value===`bottom`?(document.documentElement.clientHeight-e-p.value)/r.value:JS();return t?Oc(n):n}function _(e){if(i.value)return;let l=e.changedTouches[0].clientX,d=e.changedTouches[0].clientY,_=a.value===`left`?l<25:a.value===`right`?l>document.documentElement.clientWidth-25:a.value===`top`?d<25:a.value===`bottom`?d>document.documentElement.clientHeight-25:JS(),v=t.value&&(a.value===`left`?ldocument.documentElement.clientWidth-r.value:a.value===`top`?ddocument.documentElement.clientHeight-r.value:JS());(_||v||t.value&&n.value)&&(m=[l,d],p.value=h(o.value?l:d,t.value),f.value=g(o.value?l:d),u=p.value>-20&&p.value<80,c(e),s(e))}function v(e){let t=e.changedTouches[0].clientX,n=e.changedTouches[0].clientY;if(u){if(!e.cancelable){u=!1;return}let r=Math.abs(t-m[0]),i=Math.abs(n-m[1]);(o.value?r>i&&r>3:i>r&&i>3)?(d.value=!0,u=!1):(o.value?i:r)>3&&(u=!1)}if(!d.value)return;e.preventDefault(),s(e);let r=g(o.value?t:n,!1);f.value=Math.max(0,Math.min(1,r)),r>1?p.value=h(o.value?t:n,!0):r<0&&(p.value=h(o.value?t:n,!1))}function y(e){if(u=!1,!d.value)return;s(e),d.value=!1;let n=l(e.changedTouches[0].identifier),r=Math.abs(n.x),i=Math.abs(n.y);(o.value?r>i&&r>400:i>r&&i>3)?t.value=n.direction===({left:`right`,right:`left`,top:`down`,bottom:`up`}[a.value]||JS()):t.value=f.value>.5}let b=G(()=>d.value?{transform:a.value===`left`?`translateX(calc(-100% + ${f.value*r.value}px))`:a.value===`right`?`translateX(calc(100% - ${f.value*r.value}px))`:a.value===`top`?`translateY(calc(-100% + ${f.value*r.value}px))`:a.value===`bottom`?`translateY(calc(100% - ${f.value*r.value}px))`:JS(),transition:`none`}:void 0);return Xu(d,()=>{let t=e.value?.style.transform??null,n=e.value?.style.transition??null;Gn(()=>{e.value?.style.setProperty(`transform`,b.value?.transform||`none`),e.value?.style.setProperty(`transition`,b.value?.transition||null)}),Oe(()=>{e.value?.style.setProperty(`transform`,t),e.value?.style.setProperty(`transition`,n)})}),{isDragging:d,dragProgress:f,dragStyles:b}}function JS(){throw Error()}var YS=[`start`,`end`,`left`,`right`,`top`,`bottom`],XS=J({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:`start`,validator:e=>YS.includes(e)},sticky:Boolean,...Y_(),...Y(),...oS(),...Sf({mobile:null}),...ev(),...$f(),...nv(),...yc(fS(),[`disableInitialFocus`]),...iv({tag:`nav`}),...Pf()},`VNavigationDrawer`),ZS=X()({name:`VNavigationDrawer`,props:XS(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{isRtl:i}=pd(),{themeClasses:a}=Kf(e),{borderClasses:o}=X_(e),{backgroundColorClasses:s,backgroundColorStyles:c}=sv(()=>e.color),{elevationClasses:l}=tv(e),{displayClasses:u,mobile:d}=Cf(e),{roundedClasses:f}=rv(e),p=ey(),m=Zu(e,`modelValue`,null,e=>!!e),{ssrBootStyles:h}=mb(),{scopeId:g}=xS(),_=P(),v=F(!1),{runOpenDelay:y,runCloseDelay:b}=sS(e,e=>{v.value=e}),x=G(()=>e.rail&&e.expandOnHover&&v.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),S=G(()=>cl(e.location,i.value)),C=L(()=>e.persistent),w=G(()=>!e.permanent&&(d.value||e.temporary)),T=G(()=>e.sticky&&!w.value&&S.value!==`bottom`);_S(e,{isActive:m,localTop:w,contentEl:_}),Xu(()=>e.expandOnHover&&e.rail!=null,()=>{B(v,e=>n(`update:rail`,!e))}),Xu(()=>!e.disableResizeWatcher,()=>{B(w,t=>!e.permanent&&Dn(()=>m.value=!t))}),Xu(()=>!e.disableRouteWatcher&&!!p,()=>{B(p.currentRoute,()=>w.value&&(m.value=!1))}),B(()=>e.permanent,e=>{e&&(m.value=!0)}),e.modelValue==null&&!w.value&&(m.value=e.permanent||!d.value);let{isDragging:E,dragProgress:ee}=qS({el:_,isActive:m,isTemporary:w,width:x,touchless:L(()=>e.touchless),position:S}),te=G(()=>{let t=w.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):x.value;return E.value?t*ee.value:t}),{layoutItemStyles:D,layoutItemScrimStyles:ne}=tp({id:e.name,order:G(()=>parseInt(e.order,10)),position:S,layoutSize:te,elementSize:x,active:Vt(m),disableTransitions:L(()=>E.value),absolute:G(()=>e.absolute||T.value&&typeof re.value!=`string`)}),{isStuck:re,stickyStyles:ie}=BS({rootEl:_,isSticky:T,layoutItemStyles:D}),ae=sv(()=>typeof e.scrim==`string`?e.scrim:null),O=G(()=>({...E.value?{opacity:ee.value*.2,transition:`none`}:void 0,...ne.value}));return yu({VList:{bgColor:`transparent`}}),Z(()=>{let n=r.image||e.image;return H(V,null,[U(e.tag,W({ref:_,onMouseenter:y,onMouseleave:b,class:[`v-navigation-drawer`,`v-navigation-drawer--${S.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":v.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":w.value,"v-navigation-drawer--persistent":C.value,"v-navigation-drawer--active":m.value,"v-navigation-drawer--sticky":T.value},a.value,s.value,o.value,u.value,l.value,f.value,e.class],style:[c.value,D.value,h.value,ie.value,e.style],inert:!m.value},g,t),{default:()=>[n&&H(`div`,{key:`image`,class:`v-navigation-drawer__img`},[r.image?U(Dv,{key:`image-defaults`,disabled:!e.image,defaults:{VImg:{alt:``,cover:!0,height:`inherit`,src:e.image}}},r.image):U(cb,{key:`image-img`,alt:``,cover:!0,height:`inherit`,src:e.image},null)]),r.prepend&&H(`div`,{class:`v-navigation-drawer__prepend`},[r.prepend?.()]),H(`div`,{class:`v-navigation-drawer__content`},[r.default?.()]),r.append&&H(`div`,{class:`v-navigation-drawer__append`},[r.append?.()])]}),U(Fo,{name:`fade-transition`},{default:()=>[w.value&&(E.value||m.value)&&!!e.scrim&&H(`div`,W({class:[`v-navigation-drawer__scrim`,ae.backgroundColorClasses.value],style:[O.value,ae.backgroundColorStyles.value],onClick:()=>{C.value||(m.value=!1)}},g),null)]})])}),{isStuck:re}}}),QS=J({color:String,...Y_(),...Y(),...Rv(),...ev(),...Vv(),...Zv(),...nv(),...iv(),...Pf()},`VSheet`),$S=X()({name:`VSheet`,props:QS(),setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{backgroundColorClasses:r,backgroundColorStyles:i}=sv(()=>e.color),{borderClasses:a}=X_(e),{dimensionStyles:o}=zv(e),{elevationClasses:s}=tv(e),{locationStyles:c}=Hv(e),{positionClasses:l}=Qv(e),{roundedClasses:u}=rv(e);return Z(()=>U(e.tag,{class:j([`v-sheet`,n.value,r.value,a.value,s.value,l.value,u.value,e.class]),style:A([i.value,o.value,c.value,e.style])},t)),{}}}),eC=Symbol.for(`vuetify:v-snackbar-queue`);function tC(e,t){let n=z(eC,null);if(!n)return null;let r=Er();n.register(r),Jr(()=>n.unregister(r)),B(e,e=>!e&&n.unregister(r),{flush:`sync`});let{resizeRef:i,contentRect:a}=Jf();return B(t,e=>{i.value=e??null}),B(a,e=>{e?.width&&n.setSize(r,e.height,e.width)}),{id:r,offset:G(()=>n.getOffset(r))}}function nC(e){let t=F(e()),n=-1;function r(){clearInterval(n)}function i(){r(),Dn(()=>t.value=e())}function a(i){let a=i?getComputedStyle(i):{transitionDuration:.2},o=parseFloat(a.transitionDuration)*1e3||200;if(r(),t.value<=0)return;let s=performance.now();n=window.setInterval(()=>{let n=performance.now()-s+o;t.value=Math.max(e()-n,0),t.value<=0&&r()},o)}return Oe(r),{clear:r,time:t,start:a,reset:i}}var rC=J({collapsed:Object,loading:Boolean,prependAvatar:String,prependIcon:zu,queueGap:Number,queueIndex:Number,title:String,text:String,reverseTimer:Boolean,timer:{type:[Boolean,String],default:!1},timerColor:String,timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Vv({location:`bottom`}),...Zv(),...nv(),...fv(),...Pf(),...yc(NS({closeOnBack:!1,transition:`v-snackbar-transition`}),[`persistent`,`noClickAnimation`,`offset`,`retainFocus`,`captureFocus`,`disableInitialFocus`,`scrim`,`scrollStrategy`,`stickToTarget`,`viewportMargin`])},`VSnackbar`),iC=X()({name:`VSnackbar`,props:rC(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=Zu(e,`modelValue`),{positionClasses:r}=Qv(e),{scopeId:i}=xS(),{themeClasses:a}=Kf(e),{colorClasses:o,colorStyles:s,variantClasses:c}=pv(e),{roundedClasses:l}=rv(e),u=nC(()=>Number(e.timeout)),d=P(),f=tC(n,()=>d.value?.contentEl),p,m=P(),h=F(!1),g=F(!1),_=F(0),v=P(),y=z(Yf,void 0);Xu(()=>!!y,()=>{let e=ep();Gn(()=>{v.value=e.mainStyles.value})}),B(n,x),B(()=>e.timeout,x),Gr(()=>{n.value&&x()});let b=-1;function x(){u.reset(),window.clearTimeout(b);let t=Number(e.timeout);if(!n.value||t===-1)return;let r=pc(m.value);Dn(()=>u.start(r)),b=window.setTimeout(()=>{n.value=!1},t)}function S(){u.reset(),window.clearTimeout(b)}function C(){h.value=!0,S()}function w(){h.value=!1,g.value||x()}function T(){g.value=!0,S()}function E(e){(d.value?.contentEl)?.contains(e.relatedTarget)||(g.value=!1,h.value||x())}function ee(e){_.value=e.touches[0].clientY}function te(e){Math.abs(_.value-e.changedTouches[0].clientY)>50&&(n.value=!1)}function D(){h.value&&w(),g.value=!1}let ne=G(()=>e.location.split(` `).reduce((e,t)=>(e[`v-snackbar--${t}`]=!0,e),{})),re=G(()=>{let[t,n]=e.location.split(` `);return t===`bottom`||[`left`,`right`].includes(t)&&n===`end`?-1:1}),ie=G(()=>e.collapsed?{"--v-snackbar-collapsed-height":q(e.collapsed.height),"--v-snackbar-collapsed-width":q(e.collapsed.width)}:null),ae=G(()=>f?f.offset.value===null?p:p=q(f.offset.value):{}),O=G(()=>{if(typeof e.transition!=`string`||!e.transition.endsWith(`-auto`))return e.transition;let t=e.transition.replace(`-auto`,``),[n,r]=e.location.split(` `);return`${t}-${[`start`,`end`,`left`,`right`].includes(r)||[`left`,`right`].includes(n)?`x`:`y`}${[`end`,`right`].includes(r)||![`start`,`left`].includes(r)&&[`bottom`,`right`].includes(n)?`-reverse`:``}-transition`});return Z(()=>{let f=yc(PS.filterProps(e),[`transition`]),p=!!(e.prependAvatar||e.prependIcon),g=!!(p||e.loading||t.prepend),_=!!(t.default||t.text||t.title||e.text||e.title);return U(PS,W({ref:d,class:[`v-snackbar`,{"v-snackbar--active":n.value,"v-snackbar--collapsed":!!e.collapsed,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},ne.value,r.value,e.class],style:[v.value,{"--v-snackbar-offset":ae.value,"--v-snackbar-gap":q(e.queueGap),"--v-snackbar-index":e.queueIndex,"--v-snackbar-direction":re.value},ie.value,e.style]},f,{transition:O.value,modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,contentProps:W({class:[`v-snackbar__wrapper`,a.value,o.value,l.value,c.value],style:[s.value],onPointerenter:C,onPointerleave:w,onFocusin:T,onFocusout:E},f.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:`none`,_disableGlobalStack:!0,onTouchstartPassive:ee,onTouchend:te,onAfterLeave:D},i),{default:()=>[dv(!1,`v-snackbar`),t.header&&H(`div`,{class:`v-snackbar__header`},[t.header?.()]),e.timer&&u.time.value>0&&!h.value&&H(`div`,{key:`timer`,class:j([`v-snackbar__timer`,`v-snackbar__timer--${e.timer===`bottom`?`bottom`:`top`}`])},[U(Kv,{ref:m,color:e.timerColor??`info`,max:e.timeout,modelValue:e.reverseTimer?Number(e.timeout)-u.time.value:u.time.value},null)]),g&&U(Dv,{key:`prepend-defaults`,disabled:!p&&!e.loading,defaults:{VAvatar:{image:e.prependAvatar},VIcon:{icon:e.prependIcon},VProgressCircular:{indeterminate:!0,size:24,width:3}}},{default:()=>[H(`div`,{class:`v-snackbar__prepend`},[t.prepend?t.prepend():H(V,null,[e.loading&&U(Lv,null,null),!e.loading&&e.prependAvatar&&U(Cb,null,null),!e.loading&&e.prependIcon&&U(Mv,null,null)])])]}),_&&H(`div`,{key:`content`,class:`v-snackbar__content`,role:`status`,"aria-live":`polite`},[t.title?.()??(e.title?H(`div`,{class:`v-snackbar__title`,key:`title`},[e.title]):``),t.text?.()??e.text,t.default?.()]),t.actions&&U(Dv,{defaults:{VBtn:{variant:`text`,ripple:!1,slim:!0}}},{default:()=>[H(`div`,{class:`v-snackbar__actions`},[t.actions({isActive:n})])]})],activator:t.activator})}),LS({},d)}}),aC={class:`hidden-sm-and-down`},oC={key:2,class:`nexus-script-exec-bar`},sC={class:`d-flex align-center flex-wrap ga-2 mb-1`},cC={class:`text-body-2 font-weight-medium text-truncate`},lC={class:`text-caption text-medium-emphasis`},uC={class:`ml-2`},dC={key:3,class:`nexus-top-center-script-notices`},fC={class:`d-flex align-center flex-wrap ga-2 justify-center`},pC=Zs(Tr({__name:`App`,setup(e){let t=[...q_],n=mh(),r=ph(),i=qf(),a=hg(),o=g_(),{runningItems:s,completeAlerts:c,dismissCompleteAlert:l}=s_(),{playCompleteSound:u,syncFromServer:d}=M_();function f(e){return e===`completed`?`success`:e===`failed`?`error`:e===`partial`?`warning`:`info`}function p(e){if(l(e.executionId),e.taskKind===`server_batch`){x_(e.executionId,e.label);return}r.push(__(e.executionId,`script`)).catch(()=>{})}function m(e){e.taskKind===`server_batch`&&x_(e.executionId,e.label)}Gr(()=>{a_(()=>u())}),B(()=>a.isLoggedIn,e=>{e?(o.connect(),h(),d()):o.disconnect()},{immediate:!0});async function h(){if(a.isLoggedIn)try{let e=await ug(`/settings/theme`);(e.value===`dark`||e.value===`light`)&&(i.global.name.value=e.value,localStorage.setItem(`nexus_theme`,e.value))}catch{}}async function g(){let e=i.global.current.value.dark?`light`:`dark`;i.global.name.value=e,localStorage.setItem(`nexus_theme`,e);try{await ug(`/settings/theme`,{method:`PUT`,body:JSON.stringify({value:e})})}catch{}}let _=P(!0),{mobile:v}=Cf();Vn(`nexusDrawer`,_);let y=G(()=>({"nexus-terminal-main":n.path===`/terminal`,"nexus-page-main":n.path!==`/terminal`&&n.path!==`/login`})),b=G(()=>{let e=s.value.length;if(!(!e||!a.isLoggedIn))return{paddingTop:`calc(var(--v-layout-top, 64px) + ${e*52}px)`}}),x=[{to:`/`,title:`仪表盘`,icon:`mdi-view-dashboard-outline`},{to:`/servers`,title:`服务器`,icon:`mdi-server`},{to:`/terminal`,title:`终端`,icon:`mdi-console`},{to:`/files`,title:`文件管理`,icon:`mdi-folder-outline`},{to:`/push`,title:`推送`,icon:`mdi-upload-outline`},{to:`/scripts`,title:`脚本库`,icon:`mdi-code-braces`},{to:`/executions`,title:`执行记录`,icon:`mdi-clipboard-play-outline`},{to:`/schedules`,title:`调度`,icon:`mdi-clock-outline`},{to:`/retries`,title:`重试队列`,icon:`mdi-refresh`}],S=[{to:`/commands`,title:`命令日志`,icon:`mdi-console`},{to:`/alerts`,title:`告警中心`,icon:`mdi-bell-outline`},{to:`/audit`,title:`审计日志`,icon:`mdi-clipboard-text-outline`}],C=zt({show:!1,text:``,color:`success`});function w(e){n.path!==e&&r.push(e).catch(()=>{}),v.value&&(_.value=!1)}function T(){B_(),a.logout(),r.push(`/login`)}return window.$snackbar=(e,t=`success`)=>{C.text=e,C.color=t,C.show=!0},(e,i)=>{let o=ti(`router-view`);return Aa(),Ia(Iy,null,{default:R(()=>[I(a).isLoggedIn?(Aa(),Ia(gb,{key:0,color:`primary`,elevation:`0`,flat:``,class:`ps-4`},{append:R(()=>[U(ky,{class:`text-none me-1 px-3`,height:`48`,slim:``},{prepend:R(()=>[U(Cb,{color:`surface-light`,size:`32`,start:``},{default:R(()=>[U(Mv,{icon:`mdi-account`,size:`18`})]),_:1})]),append:R(()=>[U(Mv,{icon:`mdi-chevron-down`})]),default:R(()=>[H(`span`,aC,xe(I(a).admin?.username||`管理员`),1),U(zS,{activator:`parent`},{default:R(()=>[U(Mx,{density:`compact`,nav:``},{default:R(()=>[U(_x,{"prepend-icon":`mdi-theme-light-dark`,title:`切换主题`,link:``,onClick:g}),U(_x,{"prepend-icon":`mdi-cog-outline`,title:`设置`,link:``,onClick:i[1]||=e=>I(r).push(`/settings`)}),U(_x,{"prepend-icon":`mdi-logout`,title:`退出登录`,link:``,onClick:T})]),_:1})]),_:1})]),_:1})]),default:R(()=>[U(vb,{class:`mr-3`,onClick:i[0]||=e=>_.value=!_.value}),U(Cb,{color:`surface`,size:`40`,class:`pa-1`},{default:R(()=>[U(Mv,{icon:`mdi-server-network`,size:`24`})]),_:1}),U(yb,null,{default:R(()=>[...i[8]||=[Wa(`Nexus`,-1)]]),_:1})]),_:1})):Ga(``,!0),I(a).isLoggedIn?(Aa(),Ia(ZS,{key:1,modelValue:_.value,"onUpdate:modelValue":i[5]||=e=>_.value=e,color:`surface`,width:`250`,class:`nexus-nav-drawer`,temporary:I(v)},{append:R(()=>[U(_x,{active:I(n).path===`/settings`,"prepend-icon":`mdi-cog-outline`,title:`设置`,"active-class":`text-primary`,class:`ma-2`,link:``,nav:``,slim:``,onClick:i[2]||=e=>I(r).push(`/settings`),onMouseenter:i[3]||=e=>I(G_)(`/settings`),onMouseleave:i[4]||=e=>I(K_)(`/settings`)},null,8,[`active`])]),default:R(()=>[U(Mx,{nav:``,slim:``},{default:R(()=>[U(yx,null,{default:R(()=>[...i[9]||=[Wa(`运维`,-1)]]),_:1}),(Aa(),Fa(V,null,oi(x,e=>U(_x,{key:e.to,"prepend-icon":e.icon,title:e.title,to:e.to,active:I(n).path===e.to,"active-class":`text-primary`,link:``,nav:``,slim:``,onClick:t=>w(e.to),onMouseenter:t=>I(G_)(e.to),onMouseleave:t=>I(K_)(e.to)},null,8,[`prepend-icon`,`title`,`to`,`active`,`onClick`,`onMouseenter`,`onMouseleave`])),64))]),_:1}),U(zb,{class:`mx-3 my-1`}),U(Mx,{nav:``,slim:``},{default:R(()=>[U(yx,null,{default:R(()=>[...i[10]||=[Wa(`系统`,-1)]]),_:1}),(Aa(),Fa(V,null,oi(S,e=>U(_x,{key:e.to,"prepend-icon":e.icon,title:e.title,to:e.to,active:I(n).path===e.to,"active-class":`text-primary`,link:``,nav:``,slim:``,onClick:t=>w(e.to),onMouseenter:t=>I(G_)(e.to),onMouseleave:t=>I(K_)(e.to)},null,8,[`prepend-icon`,`title`,`to`,`active`,`onClick`,`onMouseenter`,`onMouseleave`])),64))]),_:1})]),_:1},8,[`modelValue`,`temporary`])):Ga(``,!0),I(a).isLoggedIn&&I(s).length?(Aa(),Fa(`div`,oC,[(Aa(!0),Fa(V,null,oi(I(s),e=>(Aa(),Ia($S,{key:e.executionId,class:j([`nexus-script-exec-bar__item px-4 py-2`,{"nexus-script-exec-bar__item--clickable":e.taskKind===`server_batch`}]),color:`surface`,border:``,onClick:t=>e.taskKind===`server_batch`?m(e):void 0},{default:R(()=>[H(`div`,sC,[H(`span`,cC,xe(e.label),1),U(Ib,{size:`x-small`,variant:`tonal`,color:`primary`,label:``},{default:R(()=>[Wa(`#`+xe(e.executionId),1)]),_:2},1024),U(Bb),H(`span`,lC,[Wa(` 已进行 `+xe(e.done)+` 台,剩余 `+xe(e.remaining)+` 台 `,1),H(`span`,uC,`(`+xe(e.progress)+`)`,1)])]),U(Kv,{"model-value":e.total?Math.round(e.done/e.total*100):0,color:`primary`,height:`6`,rounded:``,striped:``,stream:``},null,8,[`model-value`])]),_:2},1032,[`class`,`onClick`]))),128))])):Ga(``,!0),I(a).isLoggedIn&&(I(P_).visible||I(c).length)?(Aa(),Fa(`div`,dC,[U(Fo,{name:`nexus-script-submit-toast-fade`},{default:R(()=>[I(P_).visible?(Aa(),Ia(Py,{key:`script-submit`,color:I(P_).color,variant:`tonal`,density:`compact`,class:`nexus-top-center-script-notices__item`,role:`status`,onClick:i[6]||=e=>I(L_)()},{default:R(()=>[Wa(xe(I(P_).text),1)]),_:1},8,[`color`])):Ga(``,!0)]),_:1}),(Aa(!0),Fa(V,null,oi(I(c),e=>(Aa(),Ia(Py,{key:e.executionId,class:j([`nexus-top-center-script-notices__item`,{"nexus-script-exec-alert--fading":e.fading}]),type:f(e.status),variant:`tonal`,closable:``,density:`compact`,onClick:t=>I(l)(e.executionId),"onClick:close":t=>I(l)(e.executionId)},{default:R(()=>[H(`div`,fC,[H(`span`,null,` 「`+xe(e.label)+`」执行结束: 成功 `+xe(e.success)+` / 失败 `+xe(e.failed)+` / 共 `+xe(e.total)+` 台 `,1),U(ky,{size:`small`,variant:`text`,color:`primary`,onClick:Gs(t=>p(e),[`stop`])},{default:R(()=>[...i[11]||=[Wa(` 查看详情 `,-1)]]),_:1},8,[`onClick`])])]),_:2},1032,[`class`,`type`,`onClick`,`onClick:close`]))),128))])):Ga(``,!0),U(Px,{class:j(y.value),style:A(b.value)},{default:R(()=>[U(o,null,{default:R(({Component:e,route:n})=>[(Aa(),Ia(Pr,{include:t,max:12},[(Aa(),Ia(ri(e),{key:n.name??n.path}))],1024))]),_:1})]),_:1},8,[`class`,`style`]),U(iC,{modelValue:C.show,"onUpdate:modelValue":i[7]||=e=>C.show=e,color:C.color,timeout:3e3,location:`top`,class:`nexus-top-center-snackbar`,"multi-line":``},{default:R(()=>[Wa(xe(C.text),1)]),_:1},8,[`modelValue`,`color`])]),_:1})}}}));Sg(pC),pC.mount(`#app`);export{Tv as $,_c as $n,L as $r,Jh as $t,Yy as A,rl as An,Jr as Ar,a_ as At,Qv as B,cc as Bn,Fi as Br,Vg as Bt,mb as C,Y as Cn,yo as Cr,S_ as Ct,nb as D,pl as Dn,Dn as Dr,__ as Dt,rb as E,_l as En,W as Er,y_ as Et,Oy as F,Dc as Fn,Vn as Fr,Lg as Ft,Vv as G,dc as Gn,N as Gr,$ as Gt,qv as H,Mc as Hn,Gn as Hr,Og as Ht,Dy as I,Xc as In,oi as Ir,Ig as It,zv as J,mc as Jn,en as Jr,pg as Jt,Hv as K,xc as Kn,qt as Kr,hg as Kt,ny as L,nl as Ln,ci as Lr,Ng as Lt,Gy as M,Oc as Mn,Gr as Mr,i_ as Mt,Py as N,q as Nn,Yr as Nr,s_ as Nt,Zy as O,Vc as On,Ir as Or,v_ as Ot,ky as P,uc as Pn,Aa as Pr,Bg as Pt,Dv as Q,yc as Qn,M as Qr,qh as Qt,ty as R,Tc as Rn,ri as Rr,zg as Rt,Cb as S,mu as Sn,Tr as Sr,C_ as St,ob as T,vl as Tn,hi as Tr,x_ as Tt,Jv as U,wc as Un,R as Ur,wg as Ut,Yv as V,lc as Vn,B as Vr,Hg as Vt,Kv as W,qc as Wn,zn as Wr,yg as Wt,Mv as X,Yc as Xn,P as Xr,dg as Xt,Lv as Y,hc as Yn,zt as Yr,og as Yt,kv as Z,Jc as Zn,F as Zr,Zh as Zt,Bb as _,wu as _n,Ga as _r,X_ as _t,NS as a,A as ai,mf as an,ec as ar,fv as at,Mb as b,yu as bn,Wa as br,I_ as bt,bS as c,ud as cn,$o as cr,ov as ct,wx as d,Xu as dn,V as dr,rv as dt,rn as ei,mh as en,Ec as er,_v as et,Ex as f,zu as fn,sr as fr,ev as ft,mx as g,Du as gn,Ia as gr,Y_ as gt,hx as h,ku as hn,H as hr,$_ as ht,PS as i,j as ii,Kf as in,tc as ir,dv as it,Xy as j,el as jn,Kr as jr,r_ as jt,Qy as k,Uc as kn,Wr as kr,g_ as kt,Mx as l,pd as ln,qs as lr,iv as lt,_x as m,Nu as mn,G as mr,Q_ as mt,zS as n,I as ni,Jf as nn,oc as nr,yv as nt,xS as o,xe as oi,Sf as on,nc as or,pv as ot,yx as p,Z as pn,Ua as pr,tv as pt,Rv as q,tl as qn,Oe as qr,fg as qt,LS as r,ie as ri,Pf as rn,ac as rr,vv as rt,yS as s,Cf as sn,Hs as sr,sv as st,$S as t,Qt as ti,ph as tn,K as tr,gv as tt,Sx as u,Zu as un,Gs as ur,nv as ut,zb as v,Cu as vn,Fa as vr,z_ as vt,cb as w,J as wn,z as wr,T_ as wt,jb as x,pu as xn,U as xr,M_ as xt,Ib as y,X as yn,si as yr,V_ as yt,Zv as z,Wc as zn,Er as zr,Rg as zt}; \ No newline at end of file +}`}),u=L(()=>t.isDisabled?void 0:`${t.prefix}theme--${a.value}`),d=L(()=>Object.keys(o.value));if(ac){let e=window.matchMedia(`(prefers-color-scheme: dark)`);function t(){i.value=e.matches?`dark`:`light`}t(),e.addEventListener(`change`,t,{passive:!0}),De()&&Oe(()=>{e.removeEventListener(`change`,t)})}function f(e){if(t.isDisabled)return;let n=e._context.provides.usehead;if(n){function e(){return{style:[{textContent:l.value,id:t.stylesheetId,nonce:t.cspNonce||!1,tagPosition:`bodyOpen`}]}}if(n.push){let t=n.push(e);K&&B(l,()=>{t.patch(e)})}else K?(n.addHeadObjs(L(e)),Gn(()=>n.updateDOM())):n.addHeadObjs(e())}else{K?B(l,e,{immediate:!0}):e();function e(){Uf(t.stylesheetId,t.cspNonce,l.value)}}}function p(e){if(e!==`system`&&!d.value.includes(e)){ec(`Theme "${e}" not found on the Vuetify theme instance`);return}a.value=e}function m(e=d.value){let t=e.indexOf(a.value);p(e[t===-1?0:(t+1)%e.length])}function h(e=[`light`,`dark`]){m(e)}let g=new Proxy(a,{get(e,t){return Reflect.get(e,t)},set(e,t,n){return t===`value`&&nc(`theme.global.name.value = ${n}`,`theme.change('${n}')`),Reflect.set(e,t,n)}});return{install:f,change:p,cycle:m,toggle:h,isDisabled:t.isDisabled,isSystem:c,name:a,themes:r,current:s,computedThemes:o,prefix:t.prefix,themeClasses:u,styles:l,global:{name:g,current:s}}}function Kf(e){pu(`provideTheme`);let t=z(Nf,null);if(!t)throw Error(`Could not find Vuetify theme injection`);let n=L(()=>e.theme??t.name.value),r=L(()=>t.themes.value[n.value]),i=L(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`),a={...t,name:n,current:r,themeClasses:i};return Vn(Nf,a),a}function qf(){pu(`useTheme`);let e=z(Nf,null);if(!e)throw Error(`Could not find Vuetify theme injection`);return e}function Jf(e,t=`content`){let n=$c(),r=P();if(K){let i=new ResizeObserver(n=>{e?.(n,i),n.length&&(t===`content`?r.value=n[0].contentRect:r.value=n[0].target.getBoundingClientRect())});Jr(()=>{i.disconnect()}),B(()=>n.el,(e,t)=>{t&&(i.unobserve(t),r.value=void 0),e&&i.observe(e)},{flush:`post`})}return{resizeRef:n,contentRect:Vt(r)}}var Yf=Symbol.for(`vuetify:layout`),Xf=Symbol.for(`vuetify:layout-item`),Zf=1e3,Qf=J({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},`layout`),$f=J({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},`layout-item`);function ep(){let e=z(Yf);if(!e)throw Error(`[Vuetify] Could not find injected layout`);return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function tp(e){let t=z(Yf);if(!t)throw Error(`[Vuetify] Could not find injected layout`);let n=e.id??`layout-item-${Er()}`,r=pu(`useLayoutItem`);Vn(Xf,{id:n});let i=F(!1);Lr(()=>i.value=!0),Ir(()=>i.value=!1);let{layoutItemStyles:a,layoutItemScrimStyles:o}=t.register(r,{...e,active:G(()=>i.value?!1:e.active.value),id:n});return Jr(()=>t.unregister(n)),{layoutItemStyles:a,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}var np=(e,t,n,r)=>{let i={top:0,left:0,right:0,bottom:0},a=[{id:``,layer:{...i}}];for(let o of e){let e=t.get(o),s=n.get(o),c=r.get(o);if(!e||!s||!c)continue;let l={...i,[e.value]:parseInt(i[e.value],10)+(c.value?parseInt(s.value,10):0)};a.push({id:o,layer:l}),i=l}return a};function rp(e){let t=z(Yf,null),n=G(()=>t?t.rootZIndex.value-100:Zf),r=P([]),i=zt(new Map),a=zt(new Map),o=zt(new Map),s=zt(new Map),c=zt(new Map),{resizeRef:l,contentRect:u}=Jf(),d=G(()=>{let t=new Map,n=e.overlaps??[];for(let e of n.filter(e=>e.includes(`:`))){let[n,o]=e.split(`:`);if(!r.value.includes(n)||!r.value.includes(o))continue;let s=i.get(n),c=i.get(o),l=a.get(n),u=a.get(o);!s||!c||!l||!u||(t.set(o,{position:s.value,amount:parseInt(l.value,10)}),t.set(n,{position:c.value,amount:-parseInt(u.value,10)}))}return t}),f=G(()=>{let e=[...new Set([...o.values()].map(e=>e.value))].sort((e,t)=>e-t),t=[];for(let n of e){let e=r.value.filter(e=>o.get(e)?.value===n);t.push(...e)}return np(t,i,a,s)}),p=G(()=>!Array.from(c.values()).some(e=>e.value)),m=G(()=>f.value[f.value.length-1].layer),h=L(()=>({"--v-layout-left":q(m.value.left),"--v-layout-right":q(m.value.right),"--v-layout-top":q(m.value.top),"--v-layout-bottom":q(m.value.bottom),...p.value?void 0:{transition:`none`}})),g=G(()=>f.value.slice(1).map(({id:e},t)=>{let{layer:n}=f.value[t],r=a.get(e),o=i.get(e);return{id:e,...n,size:Number(r.value),position:o.value}})),_=e=>g.value.find(t=>t.id===e),v=pu(`createLayout`),y=F(!1);return Gr(()=>{y.value=!0}),Vn(Yf,{register:(e,{id:t,order:l,position:u,layoutSize:m,elementSize:h,active:_,disableTransitions:b,absolute:x})=>{o.set(t,l),i.set(t,u),a.set(t,m),s.set(t,_),b&&c.set(t,b);let S=Ic(Xf,v?.vnode).indexOf(e);S>-1?r.value.splice(S,0,t):r.value.push(t);let C=G(()=>g.value.findIndex(e=>e.id===t)),w=G(()=>n.value+f.value.length*2-C.value*2);return{layoutItemStyles:G(()=>{let e=u.value===`left`||u.value===`right`,r=u.value===`right`,i=u.value===`bottom`,a=Number(h.value??m.value),o=`translate${e?`X`:`Y`}`,s=_.value?0:(a===0?100:a+1)*(r||i?1:-1),c=a===0?`%`:`px`,l={[u.value]:0,zIndex:w.value,transform:`${o}(${s}${c})`,position:x.value||n.value!==Zf?`absolute`:`fixed`,...p.value?void 0:{transition:`none`}};if(!y.value)return l;let f=g.value[C.value];f||ec(`[Vuetify] Could not find layout item "${t}"`);let v=d.value.get(t);return v&&(f[v.position]+=v.amount),{...l,height:e?`calc(100% - ${f.top}px - ${f.bottom}px)`:h.value?`${h.value}px`:void 0,left:r?void 0:`${f.left}px`,right:r?`${f.right}px`:void 0,top:u.value===`bottom`?void 0:`${f.top}px`,bottom:u.value===`top`?void 0:`${f.bottom}px`,width:e?h.value?`${h.value}px`:void 0:`calc(100% - ${f.left}px - ${f.right}px)`}}),layoutItemScrimStyles:G(()=>({zIndex:w.value-1})),zIndex:w}},unregister:e=>{o.delete(e),i.delete(e),a.delete(e),s.delete(e),c.delete(e),r.value=r.value.filter(t=>t!==e)},mainRect:m,mainStyles:h,getLayoutItem:_,items:g,layoutRect:u,rootZIndex:n}),{layoutClasses:L(()=>[`v-layout`,{"v-layout--full-height":e.fullHeight}]),layoutStyles:L(()=>({zIndex:t?n.value:void 0,position:t?`relative`:void 0,overflow:t?`hidden`:void 0})),getLayoutItem:_,items:g,layoutRect:u,layoutRef:l}}function ip(e={}){let{blueprint:t,...n}=e,r=Nc(t,n),{aliases:i={},components:a={},directives:o={}}=r,s=Ee();return s.run(()=>{let e=_u(r.defaults),t=xf(r.display,r.ssr),n=Gf(r.theme),c=Yu(r.icons),l=ld(r.locale),u=ff(r.date,l),d=kf(r.goTo,l);function f(s){for(let e in o)s.directive(e,o[e]);for(let e in a)s.component(e,a[e]);for(let e in i)s.component(e,Su({...i[e],name:e,aliasName:i[e].name}));let f=Ee();if(f.run(()=>{n.install(s)}),s.onUnmount(()=>f.stop()),s.provide(gu,e),s.provide(hf,t),s.provide(Nf,n),s.provide(Bu,c),s.provide(sd,l),s.provide(uf,u.options),s.provide(df,u.instance),s.provide(wf,d),K&&r.ssr)if(s.$nuxt)s.$nuxt.hook(`app:suspense:resolve`,()=>{t.update()});else{let{mount:e}=s;s.mount=(...n)=>{let r=e(...n);return Dn(()=>t.update()),s.mount=e,r}}s.mixin({computed:{$vuetify(){return zt({defaults:ap.call(this,gu),display:ap.call(this,hf),theme:ap.call(this,Nf),icons:ap.call(this,Bu),locale:ap.call(this,sd),date:ap.call(this,df)})}}})}function p(){s.stop()}return{install:f,unmount:p,defaults:e,display:t,theme:n,icons:c,locale:l,date:u,goTo:d}})}ip.version=`4.0.8`;function ap(e){let t=this.$,n=t.parent?.provides??t.vnode.appContext?.provides;if(n&&e in n)return n[e]}var op={badge:`徽章`,open:`打开`,close:`关闭`,dismiss:`取消`,confirmEdit:{ok:`确定`,cancel:`取消`},dataIterator:{noResultsText:`没有符合条件的结果`,loadingText:`加载中……`},dataTable:{itemsPerPageText:`每页数目:`,ariaLabel:{sortDescending:`:降序排列。`,sortAscending:`:升序排列。`,sortNone:`:未排序。`,activateNone:`点击以移除排序。`,activateDescending:`点击以降序排列。`,activateAscending:`点击以升序排列。`},sortBy:`排序方式`},dataFooter:{itemsPerPageText:`每页数目:`,itemsPerPageAll:`全部`,nextPage:`下一页`,prevPage:`上一页`,firstPage:`首页`,lastPage:`尾页`,pageText:`{0}-{1} 共 {2}`},dateRangeInput:{divider:`至`},datePicker:{itemsSelected:`已选择 {0} 项`,range:{title:`选择日期`,header:`输入日期`},title:`选择日期`,header:`输入日期`,input:{placeholder:`输入日期`},ariaLabel:{previousMonth:`上个月`,nextMonth:`下个月`,selectYear:`选择年份`,previousYear:`上一年`,nextYear:`下一年`,selectMonth:`选择月份`,selectDate:`{0}`,currentDate:`今天,{0}`}},noDataText:`没有数据`,carousel:{prev:`上一张`,next:`下一张`,ariaLabel:{delimiter:`幻灯片 {0} / {1}`}},calendar:{moreEvents:`还有 {0} 项`,today:`今天`},input:{clear:`清除 {0}`,prependAction:`{0} 前置操作`,appendAction:`{0} 后置操作`,otp:`请输入第 {0} 位 OTP`},fileInput:{counter:`{0} 个文件`,counterSize:`{0} 个文件(共 {1})`},fileUpload:{title:`拖放文件到此处`,divider:`或`,browse:`浏览文件`},timePicker:{am:`上午`,pm:`下午`,title:`选择时间`,hour:`小时`,minute:`分钟`,second:`秒`,notAllowed:`值不允许`},pagination:{ariaLabel:{root:`分页导航`,next:`下一页`,previous:`上一页`,page:`转到页面 {0}`,currentPage:`当前页 {0}`,first:`第一页`,last:`最后一页`}},stepper:{next:`下一步`,prev:`上一步`},rating:{ariaLabel:{item:`评分 {0} / {1}`}},loading:`加载中...`,infiniteScroll:{loadMore:`加载更多`,empty:`没有更多内容`},rules:{required:`此字段为必填项`,email:`请输入有效的电子邮件地址`,number:`此字段只能包含数字`,integer:`此字段只能包含整数`,capital:`此字段只能包含大写字母`,maxLength:`您最多可以输入{0}个字符`,minLength:`您必须至少输入{0}个字符`,strictLength:`输入字段的长度无效`,exclude:`字符{0}是不允许的`,notEmpty:`请至少选择一个值`,pattern:`格式无效`},command:{search:`输入命令或搜索...`},hotkey:{then:`然后`,ctrl:`Ctrl`,command:`Command`,shift:`Shift`,alt:`Alt`,option:`Option`,enter:`Enter`,escape:`Escape`,upArrow:`上箭头`,downArrow:`下箭头`,leftArrow:`左箭头`,rightArrow:`右箭头`,backspace:`退格`,space:`空格`,plus:`加`,shortcut:`键盘快捷键:{0}`,or:`或`},video:{play:`播放`,pause:`暂停`,seek:`跳转`,volume:`音量`,showVolume:`显示音量控制`,mute:`静音`,unmute:`取消静音`,enterFullscreen:`全屏`,exitFullscreen:`退出全屏`},colorPicker:{ariaLabel:{eyedropper:`从屏幕拾取颜色`,hueSlider:`色相`,alphaSlider:`不透明度`,redInput:`红色`,greenInput:`绿色`,blueInput:`蓝色`,alphaInput:`不透明度`,hueInput:`色相`,saturationInput:`饱和度`,lightnessInput:`亮度`,hexInput:`HEX 值`,hexaInput:`带不透明度 HEX 值`,changeFormat:`更改颜色格式`}}},sp=typeof localStorage<`u`&&localStorage.getItem(`nexus_theme`)||`light`,cp=ip({locale:{locale:`zhHans`,fallback:`en`,messages:{zhHans:op}},theme:{defaultTheme:sp}}),lp=typeof document<`u`;function up(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function dp(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&up(e.default)}var Q=Object.assign;function fp(e,t){let n={};for(let r in t){let i=t[r];n[r]=mp(i)?i.map(e):e(i)}return n}var pp=()=>{},mp=Array.isArray;function hp(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var gp=/#/g,_p=/&/g,vp=/\//g,yp=/=/g,bp=/\?/g,xp=/\+/g,Sp=/%5B/g,Cp=/%5D/g,wp=/%5E/g,Tp=/%60/g,Ep=/%7B/g,Dp=/%7C/g,Op=/%7D/g,kp=/%20/g;function Ap(e){return e==null?``:encodeURI(``+e).replace(Dp,`|`).replace(Sp,`[`).replace(Cp,`]`)}function jp(e){return Ap(e).replace(Ep,`{`).replace(Op,`}`).replace(wp,`^`)}function Mp(e){return Ap(e).replace(xp,`%2B`).replace(kp,`+`).replace(gp,`%23`).replace(_p,`%26`).replace(Tp,"`").replace(Ep,`{`).replace(Op,`}`).replace(wp,`^`)}function Np(e){return Mp(e).replace(yp,`%3D`)}function Pp(e){return Ap(e).replace(gp,`%23`).replace(bp,`%3F`)}function Fp(e){return Pp(e).replace(vp,`%2F`)}function Ip(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Lp=/\/$/,Rp=e=>e.replace(Lp,``);function zp(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=qp(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Ip(o)}}function Bp(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Vp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Hp(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&Up(t.matched[r],n.matched[i])&&Wp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Up(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Wp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Gp(e[n],t[n]))return!1;return!0}function Gp(e,t){return mp(e)?Kp(e,t):mp(t)?Kp(t,e):e?.valueOf()===t?.valueOf()}function Kp(e,t){return mp(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function qp(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Jp={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Yp=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Xp=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Zp(e){if(!e)if(lp){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Rp(e)}var Qp=/^[^#]+#/;function $p(e,t){return e.replace(Qp,`#`)+t}function em(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var tm=()=>({left:window.scrollX,top:window.scrollY});function nm(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=em(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function rm(e,t){return(history.state?history.state.position-t:-1)+e}var im=new Map;function am(e,t){im.set(e,t)}function om(e){let t=im.get(e);return im.delete(e),t}function sm(e){return typeof e==`string`||e&&typeof e==`object`}function cm(e){return typeof e==`string`||typeof e==`symbol`}var lm=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),um=Symbol(``);lm.MATCHER_NOT_FOUND,lm.NAVIGATION_GUARD_REDIRECT,lm.NAVIGATION_ABORTED,lm.NAVIGATION_CANCELLED,lm.NAVIGATION_DUPLICATED;function dm(e,t){return Q(Error(),{type:e,[um]:!0},t)}function fm(e,t){return e instanceof Error&&um in e&&(t==null||!!(e.type&t))}function pm(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Mp(e)):[r&&Mp(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function hm(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=mp(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var gm=Symbol(``),_m=Symbol(``),vm=Symbol(``),ym=Symbol(``),bm=Symbol(``);function xm(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Sm(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(dm(lm.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):sm(e)?c(dm(lm.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Cm(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(up(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Sm(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=dp(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Sm(c,n,r,o,e,i)()}))}}return a}function wm(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oUp(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>Up(e,s))||i.push(s))}return[n,r,i]}var Tm=()=>location.protocol+`//`+location.host;function Em(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Vp(n,``)}return Vp(n,e)+r+i}function Dm(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Em(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:Yp.pop,direction:u?u>0?Xp.forward:Xp.back:Xp.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(Q({},e.state,{scroll:tm()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Om(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?tm():null}}function km(e){let{history:t,location:n}=window,r={value:Em(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Tm()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Q({},t.state,Om(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Q({},i.value,t.state,{forward:e,scroll:tm()});a(o.current,o,!0),a(e,Q({},Om(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Am(e){e=Zp(e);let t=km(e),n=Dm(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Q({location:``,base:e,go:r,createHref:$p.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function jm(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Am(e)}var Mm=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),Nm=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(Nm||{}),Pm={type:Mm.Static,value:``},Fm=/[a-zA-Z0-9_]/;function Im(e){if(!e)return[[]];if(e===`/`)return[[Pm]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=Nm.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===Nm.Static?a.push({type:Mm.Static,value:l}):n===Nm.Param||n===Nm.ParamRegExp||n===Nm.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:Mm.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===zm.Static+zm.Segment?1:-1:0}function Um(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Gm={strict:!1,end:!0,sensitive:!1};function Km(e,t,n){let r=Q(Vm(Im(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function qm(e,t){let n=[],r=new Map;t=hp(Gm,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Ym(e);s.aliasOf=r&&r.record;let l=hp(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Ym(Q({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Km(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Zm(d)&&o(e.name)),th(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:pp}function o(e){if(cm(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=$m(e,n);n.splice(t,0,e),e.record.name&&!Zm(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw dm(lm.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=Q(Jm(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Jm(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw dm(lm.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=Q({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Qm(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Jm(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Ym(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Xm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Xm(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Zm(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Qm(e){return e.reduce((e,t)=>Q(e,t.meta),{})}function $m(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Um(e,t[i])<0?r=i:n=i+1}let i=eh(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function eh(e){let t=e;for(;t=t.parent;)if(th(t)&&Um(e,t)===0)return t}function th({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function nh(e){let t=z(vm),n=z(ym),r=G(()=>{let n=I(e.to);return t.resolve(n)}),i=G(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(Up.bind(null,i));if(o>-1)return o;let s=sh(e[t-2]);return t>1&&sh(i)===s&&a[a.length-1].path!==s?a.findIndex(Up.bind(null,e[t-2])):o}),a=G(()=>i.value>-1&&oh(n.params,r.value.params)),o=G(()=>i.value>-1&&i.value===n.matched.length-1&&Wp(n.params,r.value.params));function s(n={}){if(ah(n)){let n=t[I(e.replace)?`replace`:`push`](I(e.to)).catch(pp);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:G(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function rh(e){return e.length===1?e[0]:e}var ih=Tr({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:nh,setup(e,{slots:t}){let n=zt(nh(e)),{options:r}=z(vm),i=G(()=>({[ch(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[ch(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&rh(t.default(n));return e.custom?r:yo(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function ah(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function oh(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!mp(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function sh(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var ch=(e,t,n)=>e??t??n,lh=Tr({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=z(bm),i=G(()=>e.route||r.value),a=z(_m,0),o=G(()=>{let e=I(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=G(()=>i.value.matched[o.value]);Vn(_m,G(()=>o.value+1)),Vn(gm,s),Vn(bm,i);let c=P();return B(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!Up(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return uh(n.default,{Component:l,route:r});let u=o.props[a],d=yo(l,Q({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return uh(n.default,{Component:d,route:r})||d}}});function uh(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var dh=lh;function fh(e){let t=qm(e.routes,e),n=e.parseQuery||pm,r=e.stringifyQuery||mm,i=e.history,a=xm(),o=xm(),s=xm(),c=F(Jp),l=Jp;lp&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=fp.bind(null,e=>``+e),d=fp.bind(null,Fp),f=fp.bind(null,Ip);function p(e,n){let r,i;return cm(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=Q({},a||c.value),typeof e==`string`){let r=zp(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Q(r,o,{params:f(o.params),hash:Ip(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=Q({},e,{path:zp(n,e.path,a.path).path});else{let t=Q({},e.params);for(let e in t)t[e]??delete t[e];o=Q({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Bp(r,Q({},e,{hash:jp(l),path:s.path})),m=i.createHref(p);return Q({fullPath:p,hash:l,query:r===mm?hm(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?zp(n,e,c.value.path):Q({},e)}function y(e,t){if(l!==e)return dm(lm.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(Q(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),Q({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(Q(v(u),{state:typeof u==`object`?Q({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Hp(r,i,n)&&(f=dm(lm.NAVIGATION_DUPLICATED,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):E(d,i)).catch(e=>fm(e)?fm(e,lm.NAVIGATION_GUARD_REDIRECT)?e:oe(e):O(e,d,i)).then(e=>{if(e){if(fm(e,lm.NAVIGATION_GUARD_REDIRECT))return C(Q({replace:s},v(e.to),{state:typeof e.to==`object`?Q({},a,e.to.state):a,force:o}),t||d)}else e=te(d,i,!0,s,a);return ee(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ue.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,s]=wm(e,t);n=Cm(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Sm(r,e,t))});let c=w.bind(null,e,t);return n.push(c),de(n).then(()=>{n=[];for(let r of a.list())n.push(Sm(r,e,t));return n.push(c),de(n)}).then(()=>{n=Cm(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Sm(r,e,t))});return n.push(c),de(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(mp(r.beforeEnter))for(let i of r.beforeEnter)n.push(Sm(i,e,t));else n.push(Sm(r.beforeEnter,e,t));return n.push(c),de(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Cm(s,`beforeRouteEnter`,e,t,T),n.push(c),de(n))).then(()=>{n=[];for(let r of o.list())n.push(Sm(r,e,t));return n.push(c),de(n)}).catch(e=>fm(e,lm.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function ee(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function te(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===Jp,l=lp?history.state:{};n&&(r||s?i.replace(e.fullPath,Q({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let D;function ne(){D||=i.listen((e,t,n)=>{if(!A.listening)return;let r=_(e),a=S(r,A.currentRoute.value);if(a){C(Q(a,{replace:!0,force:!0}),r).catch(pp);return}l=r;let o=c.value;lp&&am(rm(o.fullPath,n.delta),tm()),E(r,o).catch(e=>fm(e,lm.NAVIGATION_ABORTED|lm.NAVIGATION_CANCELLED)?e:fm(e,lm.NAVIGATION_GUARD_REDIRECT)?(C(Q(v(e.to),{force:!0}),r).then(e=>{fm(e,lm.NAVIGATION_ABORTED|lm.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===Yp.pop&&i.go(-1,!1)}).catch(pp),Promise.reject()):(n.delta&&i.go(-n.delta,!1),O(e,r,o))).then(e=>{e||=te(r,o,!1),e&&(n.delta&&!fm(e,lm.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===Yp.pop&&fm(e,lm.NAVIGATION_ABORTED|lm.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),ee(r,o,e)}).catch(pp)})}let re=xm(),ie=xm(),ae;function O(e,t,n){oe(e);let r=ie.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function k(){return ae&&c.value!==Jp?Promise.resolve():new Promise((e,t)=>{re.add([e,t])})}function oe(e){return ae||(ae=!e,ne(),re.list().forEach(([t,n])=>e?n(e):t()),re.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!lp||!a)return Promise.resolve();let o=!r&&om(rm(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return Dn().then(()=>a(t,n,o)).then(e=>e&&nm(e)).catch(e=>O(e,t,n))}let ce=e=>i.go(e),le,ue=new Set,A={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ie.add,isReady:k,install(e){e.component(`RouterLink`,ih),e.component(`RouterView`,dh),e.config.globalProperties.$router=A,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>I(c)}),lp&&!le&&c.value===Jp&&(le=!0,b(i.location).catch(e=>{}));let t={};for(let e in Jp)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(vm,A),e.provide(ym,Bt(t)),e.provide(bm,c);let n=e.unmount;ue.add(e),e.unmount=function(){ue.delete(e),ue.size<1&&(l=Jp,D&&D(),D=null,c.value=Jp,le=!1,ae=!1),n()}}};function de(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return A}function ph(){return z(vm)}function mh(e){return z(ym)}var hh=typeof window<`u`,gh,_h=e=>gh=e,vh=Symbol();function yh(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var bh;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(bh||={});var xh=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 Sh(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 Ch(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Oh(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function wh(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Th(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 Eh=typeof navigator==`object`?navigator:{userAgent:``},Dh=/Macintosh/.test(Eh.userAgent)&&/AppleWebKit/.test(Eh.userAgent)&&!/Safari/.test(Eh.userAgent),Oh=hh?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Dh?kh:`msSaveOrOpenBlob`in Eh?Ah:jh:()=>{};function kh(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?Th(r):wh(r.href)?Ch(e,t,n):(r.target=`_blank`,Th(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){Th(r)},0))}function Ah(e,t=`download`,n){if(typeof e==`string`)if(wh(e))Ch(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){Th(t)})}else navigator.msSaveOrOpenBlob(Sh(e,n),t)}function jh(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return Ch(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(xh.HTMLElement))||`safari`in xh,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Dh)&&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:Mh}=Object;function Nh(){let e=Ee(!0),t=e.run(()=>P({})),n=[],r=[],i=qt({install(e){_h(i),i._a=e,e.provide(vh,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 Ph=()=>{};function Fh(e,t,n,r=Ph){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&De()&&Oe(i),i}function Ih(e,...t){e.forEach(e=>{e(...t)})}var Lh=e=>e(),Rh=Symbol(),zh=Symbol();function Bh(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];yh(i)&&yh(r)&&e.hasOwnProperty(n)&&!N(r)&&!Ut(r)?e[n]=Bh(i,r):e[n]=r}return e}var Vh=Symbol();function Hh(e){return!yh(e)||!Object.prototype.hasOwnProperty.call(e,Vh)}var{assign:Uh}=Object;function Wh(e){return!!(N(e)&&e.effect)}function Gh(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():{}),Uh(rn(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=qt(G(()=>{_h(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Kh(e,l,t,n,r,!0),c}function Kh(e,t,n={},r,i,a){let o,s=Uh({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:bh.patchFunction,storeId:e,events:void 0}):(Bh(r.state.value[e],t),n={type:bh.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();Dn().then(()=>{m===i&&(l=!0)}),u=!0,Ih(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{Uh(e,t)})}:Ph;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Rh in t)return t[zh]=n,t;let i=function(){_h(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Ih(f,{args:n,name:i[zh],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw Ih(o,e),e}return l instanceof Promise?l.then(e=>(Ih(a,e),e)).catch(e=>(Ih(o,e),Promise.reject(e))):(Ih(a,l),l)};return i[Rh]=!0,i[zh]=n,i},y=zt({_p:r,$id:e,$onAction:Fh.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=Fh(d,t,n.detached,()=>a()),a=o.run(()=>B(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:bh.direct,events:void 0},r)},Uh({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||Lh)(()=>r._e.run(()=>(o=Ee()).run(()=>t({action:v}))));for(let t in b){let n=b[t];N(n)&&!Wh(n)||Ut(n)?a||(p&&Hh(n)&&(N(n)?n.value=p[t]:Bh(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return Uh(y,b),Uh(M(y),b),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:e=>{h(t=>{Uh(t,e)})}}),r._p.forEach(e=>{Uh(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 qh(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Hn();return n||=o?z(vh,null):null,n&&_h(n),n=gh,n._s.has(e)||(i?Kh(e,t,r,n):Gh(e,r,n)),n._s.get(e)}return a.$id=e,a}function Jh(e){let t=M(e),n={};for(let r in t){let i=t[r];i.effect?n[r]=G({get:()=>e[r],set(t){e[r]=t}}):(N(i)||Ut(i))&&(n[r]=L(e,r))}return n}var Yh=new Set([`body`,`query`,`path`,`header`,`cookie`]);function Xh(e){let t=(e?.msg||``).trim();if(e?.loc_zh)return t?`${e.loc_zh}:${t}`:e.loc_zh;let n=(Array.isArray(e?.loc)?e.loc.filter(e=>!Yh.has(String(e))):[]).map(e=>typeof e==`number`?`第${e+1}项`:String(e)).join(`.`);return n&&t?`${n}:${t}`:t||n||JSON.stringify(e)}function Zh(e,t){return typeof e==`string`?e.trim()||t:Array.isArray(e)?e.map(e=>Xh(e)).join(`;`).trim()||t:e&&typeof e==`object`?JSON.stringify(e):t}var Qh=`/api`,$h=new Set([`/auth/login`,`/auth/refresh`,`/auth/logout`]);function eg(e,t){return Zh(e,t)}var tg=null;async function ng(){return tg||(tg=(async()=>{try{let e=await fetch(`${Qh}/auth/refresh`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:`{}`});if(!e.ok)return!1;let t=await e.json();return t?.access_token?(hg().setAccessToken(t.access_token),!0):!1}catch{return!1}finally{tg=null}})(),tg)}function rg(e,t){let n=`${Qh}${e}`;if(t){let e=new URLSearchParams;for(let[n,r]of Object.entries(t))r!=null&&e.set(n,String(r));let r=e.toString();r&&(n+=`?${r}`)}return n}function ig(e){let t=hg(),n={...e.headers||{}};return e.body instanceof FormData||(n[`Content-Type`]=`application/json`),t.token&&(n.Authorization=`Bearer ${t.token}`),n}async function ag(e,t={}){let{params:n,_retry:r,...i}=t,a=rg(e,n),o=hg();!r&&!$h.has(e)&&o.token&&o.isTokenExpiringSoon(300)&&await ng();let s=await fetch(a,{...i,headers:ig(i),credentials:`include`});if(s.status===401){if(!$h.has(e)&&!r){if(await ng())return ag(e,{...t,_retry:!0});throw o.forceLogout(),new fg(401,`登录已过期,请重新登录`)}let n=await s.text(),i={};try{i=JSON.parse(n)}catch{i={detail:n}}throw new fg(401,eg(i.detail,$h.has(e)?`认证失败`:`登录已过期,请重新登录`))}return s}async function og(e,t={}){let n=await ag(e,t),r=n.headers.get(`ETag`);if(n.status===202){let e=await n.text(),t;try{t=JSON.parse(e)}catch{t={message:e}}throw new pg(t?.detail||t?.message||`请输入 TOTP 验证码`)}if(n.status===429)throw new fg(429,`登录尝试过多,账户已锁定 15 分钟`);if(n.status===304)return{status:304,etag:r};if(n.status===204)return{status:204,etag:r,data:void 0};let i=await n.text(),a;try{a=JSON.parse(i)}catch{a=i}if(!n.ok){let e=a,t=eg(e?.detail??e?.message,n.statusText),r=new fg(n.status,t);throw r.detail=e?.detail,r}return{status:n.status,data:a,etag:r}}async function sg(e){let t=await e.text(),n;try{n=JSON.parse(t)}catch{n=t}let r=n,i=eg(r?.detail??r?.message,e.statusText),a=new fg(e.status,i);throw a.detail=r?.detail,a}function cg(e){if(!e)return null;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t?.[1])try{return decodeURIComponent(t[1])}catch{return t[1]}return e.match(/filename="?([^";]+)"?/i)?.[1]??null}async function lg(e,t){let n=await ag(e,{method:`POST`,body:JSON.stringify(t??{})});if(n.status===202)throw new pg(`请输入 TOTP 验证码`);if(n.status===429)throw new fg(429,`登录尝试过多,账户已锁定 15 分钟`);return n.ok||await sg(n),{blob:await n.blob(),filename:cg(n.headers.get(`Content-Disposition`))||`download`}}async function ug(e,t={}){let n=await ag(e,t);if(n.status===202){let e=await n.text(),t;try{t=JSON.parse(e)}catch{t={message:e}}throw new pg(t?.detail||t?.message||`请输入 TOTP 验证码`)}if(n.status===429)throw new fg(429,`登录尝试过多,账户已锁定 15 分钟`);if(n.status===204)return;let r=await n.text(),i;try{i=JSON.parse(r)}catch{i=r}if(!n.ok){let e=i,t=eg(e?.detail??e?.message,n.statusText),r=new fg(n.status,t);throw r.detail=e?.detail,r}return i}var dg={get:(e,t)=>ug(e,{method:`GET`,params:t}),getList:async(e,t)=>{let n=await ug(e,{method:`GET`,params:t});if(Array.isArray(n))return{items:n,total:n.length};if(n&&typeof n==`object`){let e=n;if(Array.isArray(e.items))return{items:e.items,total:e.total??e.items.length}}return{items:[],total:0}},post:(e,t)=>ug(e,{method:`POST`,body:t?JSON.stringify(t):void 0}),put:(e,t)=>ug(e,{method:`PUT`,body:t?JSON.stringify(t):void 0}),delete:e=>ug(e,{method:`DELETE`}),upload:(e,t)=>ug(e,{method:`POST`,body:t}),download:(e,t)=>lg(e,t)},fg=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.name=`ApiError`}},pg=class extends Error{constructor(e){super(e),this.name=`TotpRequiredError`}};function mg(e){try{let t=e.split(`.`)[1];if(!t)return 0;let n=t.length%4;n&&(t+=`=`.repeat(4-n));let r=atob(t.replace(/-/g,`+`).replace(/_/g,`/`)),i=JSON.parse(r);return typeof i.exp==`number`?i.exp:0}catch{return 0}}var hg=qh(`auth`,()=>{let e=P(null),t=P(null),n=P(!1),r=G(()=>!!e.value),i=G(()=>e.value?mg(e.value):0);function a(e=300){let t=i.value;return t>0&&t-Math.floor(Date.now()/1e3){})}function d(){e.value=null,t.value=null}return{token:e,admin:t,isLoggedIn:r,bootstrapped:n,tokenExp:i,isTokenExpiringSoon:a,setAccessToken:o,tryRestoreSession:s,login:c,fetchProfile:l,logout:u,forceLogout:d}}),gg=`modulepreload`,_g=function(e){return`/app/`+e},vg={},$=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=_g(t,n),t in vg)return;vg[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:gg,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},yg=fh({history:jm(),routes:[{path:`/`,name:`Dashboard`,component:()=>$(()=>import(`./DashboardPage-BDfRyW6v.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))},{path:`/servers`,name:`Servers`,component:()=>$(()=>import(`./ServersPage-NKayZaaE.js`),__vite__mapDeps([13,1,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,8,9,25,26,27,10,28,29,30,31,32,33,34]))},{path:`/terminal`,name:`Terminal`,component:()=>$(()=>import(`./TerminalPage-CI1qyspn.js`),__vite__mapDeps([35,1,2,3,14,15,16,17,21,22,6,7,36,37,38,39]))},{path:`/files`,name:`Files`,component:()=>$(()=>import(`./FilesPage-DGXiHGdY.js`),__vite__mapDeps([40,1,41,42,2,3,43,14,15,16,17,44,18,19,21,22,4,5,6,7,45,31,30,33,46]))},{path:`/push`,name:`Push`,component:()=>$(()=>import(`./PushPage-D9P303pT.js`),__vite__mapDeps([47,2,3,43,14,15,16,17,44,18,19,20,21,22,4,5,6,7,48,1,27,49,38,50]))},{path:`/scripts`,name:`Scripts`,component:()=>$(()=>import(`./ScriptsPage-Bxvpai9k.js`),__vite__mapDeps([51,1,41,42,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,52,53,25,26,54,43,44,27,29,55,10,56,28,45,31,30,32,33,57]))},{path:`/script-runs`,name:`ScriptRuns`,component:()=>$(()=>import(`./ScriptRunsPage-D7kMfRJA.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/script-runs/:id`,name:`ScriptRunDetail`,component:()=>$(()=>import(`./ScriptRunsPage-D7kMfRJA.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/executions`,name:`Executions`,component:()=>$(()=>import(`./ScriptRunsPage-D7kMfRJA.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/executions/:id`,name:`ExecutionDetail`,component:()=>$(()=>import(`./ScriptRunsPage-D7kMfRJA.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/credentials`,name:`Credentials`,component:()=>$(()=>import(`./CredentialsPage-B6u8fRAI.js`),[])},{path:`/schedules`,name:`Schedules`,component:()=>$(()=>import(`./SchedulesPage-Q44Ytj_a.js`),__vite__mapDeps([60,1,2,3,14,15,16,17,20,18,19,21,22,4,5,6,7,52,53,25,26,48,27,49,54,43,44,29,55,10,45,31,30,61]))},{path:`/retries`,name:`Retries`,component:()=>$(()=>import(`./RetriesPage-D57zbX1Y.js`),__vite__mapDeps([62,2,3,14,15,16,17,20,18,19,21,22,6,7,10,28,30]))},{path:`/commands`,name:`Commands`,component:()=>$(()=>import(`./CommandsPage-GJ7Q6_15.js`),__vite__mapDeps([63,2,3,14,15,16,17,20,18,19,6,7,27,10,45,31,30,32]))},{path:`/alerts`,name:`Alerts`,component:()=>$(()=>import(`./AlertsPage-CjECLiQy.js`),__vite__mapDeps([64,2,3,14,15,16,17,20,18,19,4,5,6,7,10,30,32]))},{path:`/audit`,name:`Audit`,component:()=>$(()=>import(`./AuditPage--XwrAicr.js`),__vite__mapDeps([65,2,3,14,15,16,17,20,18,19,6,7,10,30,11]))},{path:`/settings`,name:`Settings`,component:()=>$(()=>import(`./SettingsPage-CHfQvlHo.js`),__vite__mapDeps([66,2,3,14,15,16,17,21,22,67,4,5,6,7,52,53,25,26,36,1,37,10,33]))},{path:`/login`,name:`Login`,component:()=>$(()=>import(`./LoginPage-W0z3Jmx1.js`),__vite__mapDeps([68,1,2,3,15,16,67,69])),meta:{public:!0}}]}),bg=`nexus_chunk_reload_v1`;function xg(e){return e.includes(`Failed to fetch dynamically imported module`)||e.includes(`Importing a module script failed`)||e.includes(`error loading dynamically imported module`)}yg.onError((e,t)=>{if(!xg(e?.message||``))return;let n=window;if(!sessionStorage.getItem(bg)){sessionStorage.setItem(bg,`1`),window.location.reload();return}n.$snackbar?.(`页面「${String(t.name||t.path)}」资源已更新,请关闭此标签后重新打开后台`,`error`)}),yg.afterEach(()=>{sessionStorage.removeItem(bg)}),yg.beforeEach(async e=>{let t=hg();if(t.bootstrapped||await t.tryRestoreSession(),!e.meta.public&&!t.isLoggedIn)return{name:`Login`,query:{redirect:e.fullPath}};if(e.name===`Login`&&t.isLoggedIn)return{name:`Dashboard`}});function Sg(e){e.use(cp),e.use(yg),e.use(Nh())}var Cg=`Asia/Shanghai`;function wg(e){if(e==null)return null;let t=String(e).trim();if(!t)return null;let n=t;/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/.test(t)?n=`${t.replace(` `,`T`)}Z`:(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/.test(t)||/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+$/.test(t))&&(n=`${t}Z`);let r=new Date(n);return Number.isNaN(r.getTime())?null:r}function Tg(e){let t=new Intl.DateTimeFormat(`en-US`,{timeZone:Cg,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}).formatToParts(e);return Object.fromEntries(t.filter(e=>e.type!==`literal`).map(e=>[e.type,e.value]))}function Eg(e,t){let n=Tg(e);return t===`date`?`${n.year}-${n.month}-${n.day}`:t===`time`?`${n.hour}:${n.minute}:${n.second}`:`${n.year}-${n.month}-${n.day} ${n.hour}:${n.minute}:${n.second}`}function Dg(e){return e instanceof Date?Number.isNaN(e.getTime())?null:e:wg(e)}function Og(e){let t=Dg(e);return t?Eg(t,`datetime`):typeof e==`string`&&e.trim()?e.replace(`T`,` `).slice(0,19):`—`}function kg(e){let t=Dg(e);return t?Eg(t,`time`):`—`}var Ag={running:`执行中`,completed:`已完成`,failed:`失败`,partial:`部分成功`,cancelled:`已取消`},jg={success:`成功`,failed:`失败`,completed:`已完成`,error:`错误`,skipped:`已跳过`,started:`已启动`,timeout:`超时`,connection_error:`连接失败`,unknown:`未知`,cancelled:`已取消`,pending:`后台执行中`,done:`已完成`,running:`执行中`},Mg=new Set([`failed`,`error`,`skipped`,`timeout`,`connection_error`,`unknown`,`cancelled`]);function Ng(e){return Ag[e]||e}var Pg=new Set([`completed`,`failed`,`partial`,`cancelled`]);function Fg(e){return Pg.has(e)}function Ig(e){return e===`running`?`blue`:e===`completed`?`green`:e===`failed`?`red`:e===`partial`?`orange`:e===`cancelled`?`grey`:`info`}function Lg(e,t){let n=(t||``).trim(),r=(e||``).trim();return n===`pending`?jg.pending:n===`cancelled`||r===`cancelled`?jg.cancelled:r&&jg[r]?jg[r]:n&&jg[n]?jg[n]:r||n||`—`}function Rg(e){return(e||``).trim()===`pending`}function zg(e,t,n){if(Rg(t))return!1;if(n!=null&&n!==0)return!0;let r=(e||``).trim().toLowerCase();return!!(Mg.has(r)||(t||``).trim()===`cancelled`)}function Bg(e,t,n){return Rg(t)?`blue`:zg(e,t,n)?`error`:n===0||[`success`,`completed`,`done`].includes((e||``).toLowerCase())?`success`:`grey`}function Vg(e,t,n){return t?.[String(e)]?.trim()||n?.trim()||`服务器 #${e}`}function Hg(e,t){let n=[];if(t)try{let e=JSON.parse(t);Array.isArray(e)&&(n=e.map(String))}catch{n=[]}!n.length&&e&&(n=Object.keys(e).filter(e=>e!==`_meta`&&/^\d+$/.test(e)));let r=0,i=0,a=0;for(let t of n){let n=e?.[t]||{},o=String(n.status||``),s=n.phase?String(n.phase):void 0,c=n.exit_code??null;Rg(s)?a+=1:zg(o,s,c)?i+=1:r+=1}return{total:n.length,success:r,failed:i,pending:a}}var Ug=3e3,Wg=P(new Map),Gg=P([]),Kg=P(!0),qg=null,Jg=new Set;function Yg(e){let t=Number(e.total)||0,n=Number(e.done)||0,r=Number(e.remaining)??Math.max(0,t-n),i=e.task_kind===`server_batch`?`server_batch`:`script`;return{executionId:Number(e.execution_id),label:String(e.label||`执行 #${e.execution_id}`),status:String(e.status||`running`),total:t,done:n,remaining:r,success:Number(e.success)||0,failed:Number(e.failed)||0,progress:String(e.progress||`${n}/${t}`),longTask:!!e.long_task,operator:e.operator?String(e.operator):void 0,taskKind:i,op:e.op?String(e.op):void 0}}function Xg(e){let t=new Map(Wg.value);Fg(e.status)?t.delete(e.executionId):t.set(e.executionId,e),Wg.value=t}function Zg(e){let t={executionId:e.executionId,label:e.label,status:e.status,success:e.success,failed:e.failed,total:e.total,fading:!1,taskKind:e.taskKind,op:e.op};Gg.value=[t,...Gg.value].slice(0,5);for(let e of Jg)try{e(t)}catch{}setTimeout(()=>{Gg.value=Gg.value.map(e=>e.executionId===t.executionId?{...e,fading:!0}:e),setTimeout(()=>{Gg.value=Gg.value.filter(e=>e.executionId!==t.executionId)},400)},3e3)}function Qg(){qg||=setInterval(()=>{Kg.value||e_()},Ug)}function $g(){Wg.value.size>0||(qg&&=(clearInterval(qg),null))}async function e_(){let e=[...Wg.value.keys()];if(!e.length){$g();return}for(let t of e)try{let e=Wg.value.get(t),n=e?.taskKind===`server_batch`,r=n?await dg.get(`/servers/batch/jobs/${t}`):await dg.get(`/scripts/executions/${t}`),i=r.label||e?.label||`执行 #${t}`,a=e?.total||0;if(n){let n=r;typeof n.total==`number`&&(a=n.total);let o=r.progress||e?.progress||`0/${a}`,s=Number(n.done)||0,c=n.total||a,l={executionId:t,label:i,status:r.status,total:c||a,done:s,remaining:Number(n.remaining)||Math.max(0,(c||a)-s),success:Number(n.success)||0,failed:Number(n.failed)||0,progress:o,longTask:!1,operator:e?.operator,taskKind:`server_batch`,op:n.op};Fg(r.status)?(Xg(l),Zg({...l,status:r.status})):Xg(l);continue}let o=r;if(o.server_ids)try{let e=JSON.parse(o.server_ids);Array.isArray(e)&&(a=e.length)}catch{}let s=r.progress||e?.progress||`0/${a}`,c=s.split(`/`),l=Number(c[0])||0,u=Number(c[1])||a,d={executionId:t,label:i,status:r.status,total:u||a,done:l,remaining:Math.max(0,(u||a)-l),success:l,failed:0,progress:s,longTask:!!(o.long_task??e?.longTask),operator:e?.operator,taskKind:`script`,op:e?.op};Fg(r.status)?(Xg(d),Zg({...d,status:r.status})):Xg(d)}catch{}$g()}function t_(e){let t=Yg(e);if(t.executionId){if(e.type===`script_complete`||Fg(t.status)){Xg(t),Zg(t),$g();return}Xg(t),Qg()}}function n_(e){Kg.value=e,!e&&Wg.value.size>0&&Qg()}function r_(e,t,n,r=!1,i,a=`running`){Fg(a)||(Xg({executionId:e,label:t,status:a,total:n,done:0,remaining:n,success:0,failed:0,progress:i||`0/${n}`,longTask:r,taskKind:`script`}),Qg())}function i_(e,t,n,r,i,a=`running`){Fg(a)||(Xg({executionId:e,label:t,status:a,total:n,done:0,remaining:n,success:0,failed:0,progress:i||`0/${n}`,longTask:!1,taskKind:`server_batch`,op:r}),Qg())}function a_(e){return Jg.add(e),()=>Jg.delete(e)}function o_(e){Gg.value=Gg.value.map(t=>t.executionId===e?{...t,fading:!0}:t),setTimeout(()=>{Gg.value=Gg.value.filter(t=>t.executionId!==e)},400)}function s_(){let e=G(()=>[...Wg.value.values()].sort((e,t)=>t.executionId-e.executionId));return Yr(()=>{}),{runningItems:e,completeAlerts:G(()=>Gg.value),registerScriptExecution:r_,dismissCompleteAlert:o_,onScriptExecutionComplete:a_}}var c_=P(null),l_=P(!1),u_=P(0),d_=P([]),f_=null,p_=3e4,m_=50;function h_(){return`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}/ws/alerts`}function g_(){let e=hg(),t=G(()=>{if(!c_.value)return`disconnected`;switch(c_.value.readyState){case WebSocket.CONNECTING:return`connecting`;case WebSocket.OPEN:return`connected`;case WebSocket.CLOSING:return`closing`;default:return`disconnected`}});function n(){if(!e.token||c_.value?.readyState===WebSocket.OPEN)return;c_.value&&=(c_.value.onclose=null,c_.value.close(),null);let t=`${h_()}?token=${e.token}`,n=new WebSocket(t);n.onopen=()=>{l_.value=!0,u_.value=0,n_(!0)},n.onmessage=e=>{if(e.data!==`pong`)try{let t=JSON.parse(e.data);if(t.type===`ping`){n.send(`pong`);return}if(t.type===`script_progress`||t.type===`script_complete`){t_(t);return}if(t.type===`alert`||t.type===`recovery`){let e={type:t.type,serverId:t.server_id,serverName:t.server_name,alertType:t.alert_type||t.metric,value:t.alert_value||t.value,time:kg(new Date)};d_.value.unshift(e),d_.value.length>m_&&d_.value.pop();let n=window.$snackbar;if(n){let e=t.type===`alert`?`error`:`success`;n(t.type===`alert`?`告警: ${t.server_name} ${t.alert_type} ${t.alert_value}%`:`恢复: ${t.server_name} ${t.metric} 恢复正常`,e)}}}catch{}},n.onclose=t=>{if(l_.value=!1,n_(!1),c_.value=null,t.code===4001||t.code===4401){e.forceLogout();return}i()},n.onerror=()=>{},c_.value=n}function r(){f_&&=(clearTimeout(f_),null),c_.value&&=(c_.value.close(),null),l_.value=!1,u_.value=0,n_(!1)}function i(){if(!e.isLoggedIn)return;u_.value++;let t=Math.min(1e3*2**(u_.value-1)+Math.random()*1e3,p_);f_=setTimeout(()=>{e.isLoggedIn&&n()},t)}function a(){d_.value=[]}return{connected:l_,connectionState:t,alerts:d_,connect:n,disconnect:r,clearAlerts:a}}function __(e,t){return{path:`/executions/${e}`,query:{kind:t}}}function v_(e){return e===`server_batch`?`server_batch`:`script`}function y_(e){return e===`server_batch`?`服务器`:`脚本`}function b_(e,t,n){return e.push(__(t,n))}async function x_(e,t){let{default:n}=await $(async()=>{let{default:e}=await import(`./router-Ok5KxFnj.js`);return{default:e}},[]);return b_(n,e,`server_batch`)}var S_=[{value:`off`,title:`关闭`},{value:`beep_short`,title:`短促单音`},{value:`beep_double`,title:`双音提示(默认)`},{value:`chime_soft`,title:`柔和三音`}],C_=`beep_double`,w_=new Set(S_.map(e=>e.value));function T_(e){let t=String(e??``).trim().toLowerCase();return w_.has(t)?t:C_}function E_(e,t,n,r,i=.08){let a=e.createOscillator(),o=e.createGain();a.type=`sine`,a.frequency.value=t,o.gain.value=i,a.connect(o),o.connect(e.destination),a.start(n),a.stop(n+r)}function D_(e){if(e!==`off`)try{let t=new AudioContext,n=t.currentTime;if(e===`beep_short`){E_(t,880,n,.12);return}if(e===`beep_double`){E_(t,880,n,.15),E_(t,1174,n+.12,.2);return}e===`chime_soft`&&(E_(t,523.25,n,.1,.06),E_(t,659.25,n+.1,.1,.06),E_(t,783.99,n+.2,.14,.06))}catch{}}var O_=`nexus_script_exec_complete_sound`,k_=P(A_());function A_(){try{let e=localStorage.getItem(O_);if(e)return T_(e)}catch{}return C_}function j_(e){try{localStorage.setItem(O_,e)}catch{}}function M_(){async function e(){try{let e=T_((await ug(`/settings/script_exec_complete_sound`)).value);k_.value=e,j_(e)}catch{k_.value=A_()}}async function t(e){let t=T_(e);await ug(`/settings/script_exec_complete_sound`,{method:`PUT`,body:JSON.stringify({value:t})}),k_.value=t,j_(t)}function n(){D_(k_.value)}function r(e){D_(e??k_.value)}return{soundMode:k_,syncFromServer:e,saveToServer:t,playCompleteSound:n,previewSound:r}}var N_=3e3,P_=zt({visible:!1,text:``,color:`success`}),F_=null;function I_(e,t=`success`){F_&&=(clearTimeout(F_),null),P_.text=e,P_.color=t,P_.visible=!0,F_=setTimeout(()=>{L_()},N_)}function L_(){F_&&=(clearTimeout(F_),null),P_.visible=!1}var R_=new Map,z_={serverStats:`servers:stats`,serverCategories:`servers:categories`};function B_(){R_.clear()}async function V_(e,t,n=3e4){let r=Date.now(),i=R_.get(e);if(i&&r-i.fetchedAt{R_.set(e,{data:t,fetchedAt:Date.now()})}).catch(()=>{}),{data:i.data,fromCache:!0};let a=await t();return R_.set(e,{data:a,fetchedAt:r}),{data:a,fromCache:!1}}var H_={"/":()=>$(()=>import(`./DashboardPage-BDfRyW6v.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])),"/servers":()=>$(()=>import(`./ServersPage-NKayZaaE.js`),__vite__mapDeps([13,1,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,8,9,25,26,27,10,28,29,30,31,32,33,34])),"/terminal":()=>$(()=>import(`./TerminalPage-CI1qyspn.js`),__vite__mapDeps([35,1,2,3,14,15,16,17,21,22,6,7,36,37,38,39])),"/files":()=>$(()=>import(`./FilesPage-DGXiHGdY.js`),__vite__mapDeps([40,1,41,42,2,3,43,14,15,16,17,44,18,19,21,22,4,5,6,7,45,31,30,33,46])),"/push":()=>$(()=>import(`./PushPage-D9P303pT.js`),__vite__mapDeps([47,2,3,43,14,15,16,17,44,18,19,20,21,22,4,5,6,7,48,1,27,49,38,50])),"/scripts":()=>$(()=>import(`./ScriptsPage-Bxvpai9k.js`),__vite__mapDeps([51,1,41,42,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,52,53,25,26,54,43,44,27,29,55,10,56,28,45,31,30,32,33,57])),"/script-runs":()=>$(()=>import(`./ScriptRunsPage-D7kMfRJA.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59])),"/executions":()=>$(()=>import(`./ScriptRunsPage-D7kMfRJA.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59])),"/schedules":()=>$(()=>import(`./SchedulesPage-Q44Ytj_a.js`),__vite__mapDeps([60,1,2,3,14,15,16,17,20,18,19,21,22,4,5,6,7,52,53,25,26,48,27,49,54,43,44,29,55,10,45,31,30,61])),"/retries":()=>$(()=>import(`./RetriesPage-D57zbX1Y.js`),__vite__mapDeps([62,2,3,14,15,16,17,20,18,19,21,22,6,7,10,28,30])),"/commands":()=>$(()=>import(`./CommandsPage-GJ7Q6_15.js`),__vite__mapDeps([63,2,3,14,15,16,17,20,18,19,6,7,27,10,45,31,30,32])),"/alerts":()=>$(()=>import(`./AlertsPage-CjECLiQy.js`),__vite__mapDeps([64,2,3,14,15,16,17,20,18,19,4,5,6,7,10,30,32])),"/audit":()=>$(()=>import(`./AuditPage--XwrAicr.js`),__vite__mapDeps([65,2,3,14,15,16,17,20,18,19,6,7,10,30,11])),"/settings":()=>$(()=>import(`./SettingsPage-CHfQvlHo.js`),__vite__mapDeps([66,2,3,14,15,16,17,21,22,67,4,5,6,7,52,53,25,26,36,1,37,10,33]))},U_=new Set,W_=new Map;function G_(e,t=200){let n=H_[e];if(!n||U_.has(e))return;let r=W_.get(e);r&&clearTimeout(r),W_.set(e,setTimeout(()=>{W_.delete(e),!U_.has(e)&&(U_.add(e),n().catch(()=>{U_.delete(e)}))},t))}function K_(e){let t=W_.get(e);t&&(clearTimeout(t),W_.delete(e))}var q_=[`DashboardPage`,`ServersPage`,`ScriptsPage`,`ScriptRunsPage`,`PushPage`,`FilesPage`,`SchedulesPage`,`RetriesPage`,`CommandsPage`,`AlertsPage`,`AuditPage`,`SettingsPage`],J_=wu(`v-alert-title`),Y_=J({border:[Boolean,Number,String]},`border`);function X_(e,t=mu()){return{borderClasses:G(()=>{let n=e.border;return n===!0||n===``?`${t}--border`:typeof n==`string`||n===0?String(n).split(` `).map(e=>`border-${e}`):[]})}}var Z_=[null,`default`,`comfortable`,`compact`],Q_=J({density:{type:String,default:`default`,validator:e=>Z_.includes(e)}},`density`);function $_(e,t=mu()){return{densityClasses:L(()=>`${t}--density-${e.density}`)}}var ev=J({elevation:{type:[Number,String],validator:e=>parseInt(e)>=0}},`elevation`);function tv(e){return{elevationClasses:L(()=>{let t=N(e)?e.value:e.elevation;return t==null?[]:[`elevation-${parseInt(t)}`]})}}var nv=J({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},`rounded`);function rv(e,t=mu()){return{roundedClasses:G(()=>{let n=N(e)?e.value:e.rounded,r=N(e)?!1:e.tile,i=[];if(r||n===!1)i.push(`rounded-0`);else if(n===!0||n===``)i.push(`${t}--rounded`);else if(typeof n==`string`||n===0)for(let e of String(n).split(` `))i.push(`rounded-${e}`);return i})}}var iv=J({tag:{type:[String,Object,Function],default:`div`}},`tag`);function av(e){return Rc(()=>{let{class:t,style:n}=lv(e);return{colorClasses:t,colorStyles:n}})}function ov(e){let{colorClasses:t,colorStyles:n}=av(()=>({text:Qt(e)}));return{textColorClasses:t,textColorStyles:n}}function sv(e){let{colorClasses:t,colorStyles:n}=av(()=>({background:Qt(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function cv(e){return{text:typeof e.text==`string`?e.text.replace(/^text-/,``):e.text,background:typeof e.background==`string`?e.background.replace(/^bg-/,``):e.background}}function lv(e){let t=cv(Qt(e)),n=[],r={};if(t.background)if(Zl(t.background)){if(r.backgroundColor=t.background,!t.text&&Ql(t.background)){let e=tu(t.background);(e.a==null||e.a===1)&&n.push(fu(e)?`v-theme-on-dark`:`v-theme-on-light`)}}else n.push(`bg-${t.background}`);return t.text&&(Zl(t.text)?(r.color=t.text,r.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:r}}var uv=[`elevated`,`flat`,`tonal`,`outlined`,`text`,`plain`];function dv(e,t){return H(V,null,[e&&H(`span`,{key:`overlay`,class:j(`${t}__overlay`)},null),H(`span`,{key:`underlay`,class:j(`${t}__underlay`)},null)])}var fv=J({color:String,variant:{type:String,default:`elevated`,validator:e=>uv.includes(e)}},`variant`);function pv(e,t=mu()){let n=L(()=>{let{variant:n}=Qt(e);return`${t}--variant-${n}`}),{colorClasses:r,colorStyles:i}=av(()=>{let{variant:t,color:n}=Qt(e);return{[[`elevated`,`flat`].includes(t)?`background`:`text`]:n}});return{colorClasses:r,colorStyles:i,variantClasses:n}}var mv=J({baseColor:String,divided:Boolean,direction:{type:String,default:`horizontal`},...Y_(),...Y(),...Q_(),...ev(),...nv(),...iv(),...Pf(),...fv()},`VBtnGroup`),hv=X()({name:`VBtnGroup`,props:mv(),setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{densityClasses:r}=$_(e),{borderClasses:i}=X_(e),{elevationClasses:a}=tv(e),{roundedClasses:o}=rv(e);yu({VBtn:{height:L(()=>e.direction===`horizontal`?`auto`:null),baseColor:L(()=>e.baseColor),color:L(()=>e.color),density:L(()=>e.density),flat:!0,variant:L(()=>e.variant)}}),Z(()=>U(e.tag,{class:j([`v-btn-group`,`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},n.value,i.value,r.value,a.value,o.value,e.class]),style:A(e.style)},t))}}),gv=J({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},`group`),_v=J({value:null,disabled:Boolean,selectedClass:String},`group-item`);function vv(e,t,n=!0){let r=pu(`useGroupItem`);if(!r)throw Error(`[Vuetify] useGroupItem composable must be used inside a component setup function`);let i=Er();Vn(Symbol.for(`${t.description}:id`),i);let a=z(t,null);if(!a){if(!n)return a;throw Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}let o=L(()=>e.value),s=G(()=>!!(a.disabled.value||e.disabled));function c(){a?.register({id:i,value:o,disabled:s},r)}function l(){a?.unregister(i)}c(),Jr(()=>l());let u=G(()=>a.isSelected(i)),d=G(()=>a.items.value[0].id===i),f=G(()=>a.items.value[a.items.value.length-1].id===i),p=G(()=>u.value&&[a.selectedClass.value,e.selectedClass]);return B(u,e=>{r.emit(`group:selected`,{value:e})},{flush:`sync`}),{id:i,isSelected:u,isFirst:d,isLast:f,toggle:()=>a.select(i,!u.value),select:e=>a.select(i,e),selectedClass:p,value:o,disabled:s,group:a,register:c,unregister:l}}function yv(e,t){let n=!1,r=zt([]),i=Zu(e,`modelValue`,[],e=>e===void 0?[]:xv(r,e===null?[null]:Ec(e)),t=>{let n=Sv(r,t);return e.multiple?n:n[0]}),a=pu(`useGroup`);function o(e,n){let i=e,o=Ic(Symbol.for(`${t.description}:id`),a?.vnode).indexOf(n);I(i.value)===void 0&&(i.value=o,i.useIndexAsValue=!0),o>-1?r.splice(o,0,i):r.push(i)}function s(e){if(n)return;c();let t=r.findIndex(t=>t.id===e);r.splice(t,1)}function c(){let t=r.find(e=>!e.disabled);t&&e.mandatory===`force`&&!i.value.length&&(i.value=[t.id])}Gr(()=>{c()}),Jr(()=>{n=!0}),qr(()=>{for(let e=0;ee.id===t);if(!(n&&a?.disabled))if(e.multiple){let r=i.value.slice(),a=r.findIndex(e=>e===t),o=~a;if(n??=!o,o&&e.mandatory&&r.length<=1||!o&&e.max!=null&&r.length+1>e.max)return;a<0&&n?r.push(t):a>=0&&!n&&r.splice(a,1),i.value=r}else{let r=i.value.includes(t);if(e.mandatory&&r||!r&&!n)return;i.value=n??!r?[t]:[]}}function u(t){if(e.multiple&&ec(`This method is not supported when using "multiple" prop`),i.value.length){let e=i.value[0],n=r.findIndex(t=>t.id===e),a=(n+t)%r.length,o=r[a];for(;o.disabled&&a!==n;)a=(a+t)%r.length,o=r[a];if(o.disabled)return;i.value=[r[a].id]}else{let e=r.find(e=>!e.disabled);e&&(i.value=[e.id])}}let d={register:o,unregister:s,selected:i,select:l,disabled:L(()=>e.disabled),prev:()=>u(r.length-1),next:()=>u(1),isSelected:e=>i.value.includes(e),selectedClass:L(()=>e.selectedClass),items:L(()=>r),getItemIndex:e=>bv(r,e)};return Vn(t,d),d}function bv(e,t){let n=xv(e,[t]);return n.length?e.findIndex(e=>e.id===n[0]):-1}function xv(e,t){let n=[];return t.forEach(t=>{let r=e.find(e=>Du(t,e.value)),i=e[t];r?.value===void 0?i?.useIndexAsValue&&n.push(i.id):n.push(r.id)}),n}function Sv(e,t){let n=[];return t.forEach(t=>{let r=e.findIndex(e=>e.id===t);if(~r){let t=e[r];n.push(t.value===void 0?r:t.value)}}),n}var Cv=Symbol.for(`vuetify:v-btn-toggle`),wv=J({...mv(),...gv()},`VBtnToggle`),Tv=X()({name:`VBtnToggle`,props:wv(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{isSelected:n,next:r,prev:i,select:a,selected:o}=yv(e,Cv);return Z(()=>{let s=hv.filterProps(e);return U(hv,W({class:[`v-btn-toggle`,{"v-btn-toggle--has-color":!!e.color},e.class]},s,{style:e.style}),{default:()=>[t.default?.({isSelected:n,next:r,prev:i,select:a,selected:o})]})}),{next:r,prev:i,select:a}}}),Ev=J({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},`VDefaultsProvider`),Dv=X(!1)({name:`VDefaultsProvider`,props:Ev(),setup(e,{slots:t}){let{defaults:n,disabled:r,reset:i,root:a,scoped:o}=rn(e);return yu(n,{reset:i,root:a,scoped:o,disabled:r}),()=>t.default?.()}}),Ov=[`x-small`,`small`,`default`,`large`,`x-large`],kv=J({size:{type:[String,Number],default:`default`}},`size`);function Av(e,t=mu()){return Rc(()=>{let n=e.size,r,i;return zc(Ov,n)?r=`${t}--size-${n}`:n&&(i={width:q(n),height:q(n)}),{sizeClasses:r,sizeStyles:i}})}var jv=J({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:zu,opacity:[String,Number],...Y(),...kv(),...iv({tag:`i`}),...Pf()},`VIcon`),Mv=X()({name:`VIcon`,props:jv(),setup(e,{attrs:t,slots:n}){let r=F(),{themeClasses:i}=qf(),{iconData:a}=Gu(()=>r.value||e.icon),{sizeClasses:o}=Av(e),{textColorClasses:s,textColorStyles:c}=ov(()=>e.color);return Z(()=>{let l=n.default?.();l&&(r.value=Pc(l).filter(e=>e.type===Ta&&e.children&&typeof e.children==`string`)[0]?.children);let u=!!(t.onClick||t.onClickOnce);return U(a.value.component,{tag:e.tag,icon:a.value.icon,class:j([`v-icon`,`notranslate`,i.value,o.value,s.value,{"v-icon--clickable":u,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:A([{"--v-icon-opacity":e.opacity},o.value?void 0:{fontSize:q(e.size),height:q(e.size),width:q(e.size)},c.value,e.style]),role:u?`button`:void 0,"aria-hidden":!u,tabindex:u?e.disabled?-1:0:void 0},{default:()=>[l]})}),{}}});function Nv(e,t){let n=P(),r=F(!1);if(rc){let i=new IntersectionObserver(t=>{e?.(t,i),r.value=!!t.find(e=>e.isIntersecting)},t);Oe(()=>{i.disconnect()}),B(n,(e,t)=>{t&&(i.unobserve(t),r.value=!1),e&&i.observe(e)},{flush:`post`})}return{intersectionRef:n,isIntersecting:r}}var Pv=J({reveal:{type:[Boolean,Object],default:!1}},`reveal`);function Fv(e){let t=L(()=>typeof e.reveal==`object`?Math.max(0,Number(e.reveal.duration??900)):900),n=F(e.reveal?`initial`:`disabled`);return Gr(async()=>{e.reveal&&(n.value=`initial`,await new Promise(e=>requestAnimationFrame(e)),n.value=`pending`,await new Promise(e=>setTimeout(e,t.value)),n.value=`done`)}),{duration:t,state:n}}var Iv=J({bgColor:String,color:String,indeterminate:[Boolean,String],rounded:Boolean,modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...Y(),...Pv(),...kv(),...iv({tag:`div`}),...Pf()},`VProgressCircular`),Lv=X()({name:`VProgressCircular`,props:Iv(),setup(e,{slots:t}){let n=2*Math.PI*20,r=P(),{themeClasses:i}=Kf(e),{sizeClasses:a,sizeStyles:o}=Av(e),{textColorClasses:s,textColorStyles:c}=ov(()=>e.color),{textColorClasses:l,textColorStyles:u}=ov(()=>e.bgColor),{intersectionRef:d,isIntersecting:f}=Nv(),{resizeRef:p,contentRect:m}=Jf(),{state:h,duration:g}=Fv(e),_=L(()=>h.value===`initial`?0:Oc(parseFloat(e.modelValue),0,100)),v=L(()=>Number(e.width)),y=L(()=>o.value?Number(e.size):m.value?m.value.width:Math.max(v.value,32)),b=L(()=>20/(1-v.value/y.value)*2),x=L(()=>v.value/y.value*b.value),S=L(()=>{let t=(100-_.value)/100*n;return e.rounded&&_.value>0&&_.value<100?q(Math.min(n-.01,t+x.value)):q(t)}),C=G(()=>{let t=Number(e.rotate);return e.rounded?t+x.value/2/n*360:t});return Gn(()=>{d.value=r.value,p.value=r.value}),Z(()=>U(e.tag,{ref:r,class:j([`v-progress-circular`,{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":f.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate===`disable-shrink`||oc()),"v-progress-circular--revealing":[`initial`,`pending`].includes(h.value)},i.value,a.value,s.value,e.class]),style:A([o.value,c.value,{"--progress-reveal-duration":`${g.value}ms`},e.style]),role:`progressbar`,"aria-valuemin":`0`,"aria-valuemax":`100`,"aria-valuenow":e.indeterminate?void 0:_.value},{default:()=>[H(`svg`,{style:{transform:`rotate(calc(-90deg + ${C.value}deg))`},xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 ${b.value} ${b.value}`},[H(`circle`,{class:j([`v-progress-circular__underlay`,l.value]),style:A(u.value),fill:`transparent`,cx:`50%`,cy:`50%`,r:20,"stroke-width":x.value,"stroke-dasharray":n,"stroke-dashoffset":0},null),H(`circle`,{class:`v-progress-circular__overlay`,fill:`transparent`,cx:`50%`,cy:`50%`,r:20,"stroke-width":x.value,"stroke-dasharray":n,"stroke-dashoffset":S.value,"stroke-linecap":e.rounded?`round`:void 0},null)]),t.default&&H(`div`,{class:`v-progress-circular__content`},[t.default({value:_.value})])]})),{}}}),Rv=J({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},`dimension`);function zv(e){return{dimensionStyles:G(()=>{let t={},n=q(e.height),r=q(e.maxHeight),i=q(e.maxWidth),a=q(e.minHeight),o=q(e.minWidth),s=q(e.width);return n!=null&&(t.height=n),r!=null&&(t.maxHeight=r),i!=null&&(t.maxWidth=i),a!=null&&(t.minHeight=a),o!=null&&(t.minWidth=o),s!=null&&(t.width=s),t})}}var Bv={center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`},Vv=J({location:String},`location`);function Hv(e,t=!1,n){let{isRtl:r}=pd();return{locationStyles:G(()=>{if(!e.location)return{};let{side:i,align:a}=sl(e.location.split(` `).length>1?e.location:`${e.location} center`,r.value);function o(e){return n?n(e):0}let s={};return i!==`center`&&(t?s[Bv[i]]=`calc(100% - ${o(i)}px)`:s[i]=0),a===`center`?(i===`center`?s.top=s.left=`50%`:s[{top:`left`,bottom:`left`,left:`top`,right:`top`}[i]]=`50%`,s.transform={top:`translateX(-50%)`,bottom:`translateX(-50%)`,left:`translateY(-50%)`,right:`translateY(-50%)`,center:`translate(-50%, -50%)`}[i]):t?s[Bv[a]]=`calc(100% - ${o(a)}px)`:s[a]=0,s})}}var Uv=J({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},`chunks`);function Wv(e,t){let n=L(()=>!!e.chunkCount||!!e.chunkWidth),r=G(()=>{let n=Qt(t);if(!n)return 0;if(!e.chunkCount)return Number(e.chunkWidth);let r=Number(e.chunkCount);return(n-Number(e.chunkGap)*(r-1))/r}),i=L(()=>Number(e.chunkGap)),a=G(()=>{if(!n.value)return{};let e=q(i.value),t=q(r.value);return{maskRepeat:`repeat-x`,maskImage:`linear-gradient(90deg, #000, #000 ${t}, transparent ${t}, transparent)`,maskSize:`calc(${t} + ${e}) 100%`}});function o(e){let n=Qt(t);if(!n)return e;let a=100*i.value/n,o=100*(r.value+i.value)/n;return Oc(Math.floor((e+a)/o+1e-9)*o-a/2,0,100)}return{hasChunks:n,chunksMaskStyles:a,snapValueToChunk:o}}var Gv=J({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...Uv(),...Y(),...Vv({location:`top`}),...nv(),...iv(),...Pf()},`VProgressLinear`),Kv=X()({name:`VProgressLinear`,props:Gv(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=P(),r=Zu(e,`modelValue`),{isRtl:i,rtlClasses:a}=pd(),{themeClasses:o}=Kf(e),{locationStyles:s}=Hv(e),{textColorClasses:c,textColorStyles:l}=ov(()=>e.color),{backgroundColorClasses:u,backgroundColorStyles:d}=sv(()=>e.bgColor||e.color),{backgroundColorClasses:f,backgroundColorStyles:p}=sv(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:m,backgroundColorStyles:h}=sv(()=>e.color),{roundedClasses:g}=rv(e),{intersectionRef:_,isIntersecting:v}=Nv(),y=G(()=>parseFloat(e.max)),b=G(()=>parseFloat(e.height)),x=G(()=>Oc(parseFloat(e.bufferValue)/y.value*100,0,100)),S=G(()=>Oc(parseFloat(r.value)/y.value*100,0,100)),C=G(()=>i.value!==e.reverse),w=G(()=>e.indeterminate?`fade-transition`:`slide-x-transition`),T=F(0),{hasChunks:E,chunksMaskStyles:ee,snapValueToChunk:te}=Wv(e,T);Xu(E,()=>{let{resizeRef:e}=Jf(e=>T.value=e[0].contentRect.width);Gn(()=>e.value=n.value)});let D=G(()=>E.value?te(x.value):x.value),ne=G(()=>E.value?te(S.value):S.value);function re(e){if(!_.value)return;let{left:t,right:n,width:i}=_.value.getBoundingClientRect(),a=C.value?i-e.clientX+(n-i):e.clientX-t;r.value=Math.round(a/i*y.value)}return Gn(()=>{_.value=n.value}),Z(()=>U(e.tag,{ref:n,class:j([`v-progress-linear`,{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&v.value,"v-progress-linear--reverse":C.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},g.value,o.value,a.value,e.class]),style:A([{bottom:e.location===`bottom`?0:void 0,top:e.location===`top`?0:void 0,height:e.active?q(b.value):0,"--v-progress-linear-height":q(b.value),...e.absolute?s.value:{}},ee.value,e.style]),role:`progressbar`,"aria-hidden":e.active?`false`:`true`,"aria-valuemin":`0`,"aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(r.value),y.value),onClick:e.clickable&&re},{default:()=>[e.stream&&H(`div`,{key:`stream`,class:j([`v-progress-linear__stream`,c.value]),style:{...l.value,[C.value?`left`:`right`]:q(-b.value),borderTop:`${q(b.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${q(b.value/4)})`,width:q(100-x.value,`%`),"--v-progress-linear-stream-to":q(b.value*(C.value?1:-1))}},null),H(`div`,{class:j([`v-progress-linear__background`,u.value]),style:A([d.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),H(`div`,{class:j([`v-progress-linear__buffer`,f.value]),style:A([p.value,{opacity:parseFloat(e.bufferOpacity),width:q(D.value,`%`)}])},null),U(Fo,{name:w.value},{default:()=>[e.indeterminate?H(`div`,{class:`v-progress-linear__indeterminate`},[[`long`,`short`].map(e=>H(`div`,{key:e,class:j([`v-progress-linear__indeterminate`,e,m.value]),style:A(h.value)},null))]):H(`div`,{class:j([`v-progress-linear__determinate`,m.value]),style:A([h.value,{width:q(ne.value,`%`)}])},null)]}),t.default&&H(`div`,{class:`v-progress-linear__content`},[t.default({value:S.value,buffer:x.value})])]})),{}}}),qv=J({loading:[Boolean,String]},`loader`);function Jv(e,t=mu()){return{loaderClasses:L(()=>({[`${t}--loading`]:e.loading}))}}function Yv(e,{slots:t}){return H(`div`,{class:j(`${e.name}__loader`)},[t.default?.({color:e.color,isActive:e.active})||U(Kv,{absolute:e.absolute,active:e.active,color:e.color,height:`2`,indeterminate:!0},null)])}var Xv=[`static`,`relative`,`fixed`,`absolute`,`sticky`],Zv=J({position:{type:String,validator:e=>Xv.includes(e)}},`position`);function Qv(e,t=mu()){return{positionClasses:L(()=>e.position?`${t}--${e.position}`:void 0)}}function $v(){let e=pu(`useRoute`);return G(()=>e?.proxy?.$route)}function ey(){return pu(`useRouter`)?.proxy?.$router}function ty(e,t){let n=ri(`RouterLink`),r=L(()=>!!(e.href||e.to)),i=G(()=>r?.value||Hc(t,`click`)||Hc(e,`click`));if(typeof n==`string`||!(`useLink`in n)){let t=L(()=>e.href);return{isLink:r,isRouterLink:L(()=>!1),isClickable:i,href:t,linkProps:zt({href:t}),route:L(()=>void 0),navigate:L(()=>void 0)}}let a=n.useLink({to:L(()=>e.to||``),replace:L(()=>e.replace)}),o=G(()=>e.to?a:void 0),s=$v(),c=G(()=>o.value?e.exact?s.value?o.value.isExactActive?.value&&Du(o.value.route.value.query,s.value.query):o.value.isExactActive?.value??!1:o.value.isActive?.value??!1:!1),l=G(()=>e.to?o.value?.route.value.href:e.href);return{isLink:r,isRouterLink:L(()=>!!e.to),isClickable:i,isActive:c,route:L(()=>o.value?.route.value),navigate:L(()=>o.value?.navigate),href:l,linkProps:zt({href:l,"aria-current":L(()=>c.value?`page`:void 0),"aria-disabled":L(()=>e.disabled&&r.value?`true`:void 0),tabindex:L(()=>e.disabled&&r.value?`-1`:void 0)})}}var ny=J({href:String,replace:Boolean,to:[String,Object],exact:Boolean},`router`),ry=!1;function iy(e,t){let n=!1,r,i;K&&e?.beforeEach&&(Dn(()=>{window.addEventListener(`popstate`,a),r=e.beforeEach(()=>ry?n?t():void 0:(ry=!0,new Promise(e=>{setTimeout(()=>e(n?t():void 0))}))),i=e?.afterEach(()=>{ry=!1})}),Oe(()=>{window.removeEventListener(`popstate`,a),r?.(),i?.()}));function a(e){e.state?.replaced||(n=!0,setTimeout(()=>n=!1))}}function ay(e,t){B(()=>e.isActive?.value,n=>{e.isLink.value&&n!=null&&t&&Dn(()=>{t(n)})},{immediate:!0})}var oy=Symbol(`rippleStop`),sy=80;function cy(e,t){e.style.transform=t,e.style.webkitTransform=t}function ly(e){return e.constructor.name===`TouchEvent`}function uy(e){return e.constructor.name===`KeyboardEvent`}var dy=(e,t,n={})=>{let r=0,i=0;if(!uy(e)){let n=new pl(t),a=ly(e)?e.touches[e.touches.length-1]:e,o=hl([a.clientX,a.clientY]);r=o.x-n.left,i=o.y-n.top}let a=0,o=.3;t._ripple?.circle?(o=.15,a=t.clientWidth/2,a=n.center?a:a+Math.sqrt((r-a)**2+(i-a)**2)/4):a=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;let s=`${(t.clientWidth-a*2)/2}px`,c=`${(t.clientHeight-a*2)/2}px`,l=n.center?s:`${r-a}px`,u=n.center?c:`${i-a}px`;return{radius:a,scale:o,x:l,y:u,centerX:s,centerY:c}},fy={show(e,t,n={}){if(!t?._ripple?.enabled)return;let r=document.createElement(`span`),i=document.createElement(`span`);r.appendChild(i),r.className=`v-ripple__container`,n.class&&(r.className+=` ${n.class}`);let{radius:a,scale:o,x:s,y:c,centerX:l,centerY:u}=dy(e,t,n),d=`${a*2}px`;i.className=`v-ripple__animation`,i.style.width=d,i.style.height=d,t.appendChild(r);let f=window.getComputedStyle(t);f&&f.position===`static`&&(t.style.position=`relative`,t.dataset.previousPosition=`static`),i.classList.add(`v-ripple__animation--enter`),i.classList.add(`v-ripple__animation--visible`),cy(i,`translate(${s}, ${c}) scale3d(${o},${o},${o})`),i.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.classList.remove(`v-ripple__animation--enter`),i.classList.add(`v-ripple__animation--in`),cy(i,`translate(${l}, ${u}) scale3d(1,1,1)`)})})},hide(e){if(!e?._ripple?.enabled)return;let t=e.getElementsByClassName(`v-ripple__animation`);if(t.length===0)return;let n=Array.from(t).findLast(e=>!e.dataset.isHiding);if(n)n.dataset.isHiding=`true`;else return;let r=performance.now()-Number(n.dataset.activated),i=Math.max(250-r,0);setTimeout(()=>{n.classList.remove(`v-ripple__animation--in`),n.classList.add(`v-ripple__animation--out`),setTimeout(()=>{e.getElementsByClassName(`v-ripple__animation`).length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),n.parentNode?.parentNode===e&&e.removeChild(n.parentNode)},300)},i)}};function py(e){return e===void 0||!!e}function my(e){let t={},n=e.currentTarget;if(!(!n?._ripple||n._ripple.touched||e[oy])){if(e[oy]=!0,ly(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||uy(e),n._ripple.class&&(t.class=n._ripple.class),ly(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{fy.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{n?._ripple?.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},sy)}else fy.show(e,n,t)}}function hy(e){e[oy]=!0}function gy(e){let t=e.currentTarget;if(t?._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type===`touchend`&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{gy(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),fy.hide(t)}}function _y(e){let t=e.currentTarget;t?._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}var vy=!1;function yy(e,t){!vy&&t.includes(e.key)&&(vy=!0,my(e))}function by(e){vy=!1,gy(e)}function xy(e){vy&&(vy=!1,gy(e))}function Sy(e,t,n){let{value:r,modifiers:i}=t,a=py(r);a||fy.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=a,e._ripple.centered=i.center,e._ripple.circle=i.circle;let o=dc(r)?r:{};o.class&&(e._ripple.class=o.class);let s=o.keys??[`Enter`,`Space`];if(e._ripple.keyDownHandler=e=>yy(e,s),a&&!n){if(i.stop){e.addEventListener(`touchstart`,hy,{passive:!0}),e.addEventListener(`mousedown`,hy);return}e.addEventListener(`touchstart`,my,{passive:!0}),e.addEventListener(`touchend`,gy,{passive:!0}),e.addEventListener(`touchmove`,_y,{passive:!0}),e.addEventListener(`touchcancel`,gy),e.addEventListener(`mousedown`,my),e.addEventListener(`mouseup`,gy),e.addEventListener(`mouseleave`,gy),e.addEventListener(`keydown`,e._ripple.keyDownHandler),e.addEventListener(`keyup`,by),e.addEventListener(`blur`,xy),e.addEventListener(`dragstart`,gy,{passive:!0})}else !a&&n&&Cy(e)}function Cy(e){e.removeEventListener(`touchstart`,hy),e.removeEventListener(`mousedown`,hy),e.removeEventListener(`touchstart`,my),e.removeEventListener(`touchend`,gy),e.removeEventListener(`touchmove`,_y),e.removeEventListener(`touchcancel`,gy),e.removeEventListener(`mousedown`,my),e.removeEventListener(`mouseup`,gy),e.removeEventListener(`mouseleave`,gy),e._ripple?.keyDownHandler&&e.removeEventListener(`keydown`,e._ripple.keyDownHandler),e.removeEventListener(`keyup`,by),e.removeEventListener(`blur`,xy),e.removeEventListener(`dragstart`,gy)}function wy(e,t){Sy(e,t,!1)}function Ty(e){Cy(e),delete e._ripple}function Ey(e,t){t.value!==t.oldValue&&Sy(e,t,py(t.oldValue))}var Dy={mounted:wy,unmounted:Ty,updated:Ey},Oy=J({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:Cv},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:zu,appendIcon:zu,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,spaced:String,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},...Y_(),...Y(),...Q_(),...Rv(),...ev(),..._v(),...qv(),...Vv(),...Zv(),...nv(),...ny(),...kv(),...iv({tag:`button`}),...Pf(),...fv({variant:`elevated`})},`VBtn`),ky=X()({name:`VBtn`,props:Oy(),emits:{"group:selected":e=>!0},setup(e,{attrs:t,slots:n}){let{themeClasses:r}=Kf(e),{borderClasses:i}=X_(e),{densityClasses:a}=$_(e),{dimensionStyles:o}=zv(e),{elevationClasses:s}=tv(e),{loaderClasses:c}=Jv(e),{locationStyles:l}=Hv(e),{positionClasses:u}=Qv(e),{roundedClasses:d}=rv(e),{sizeClasses:f,sizeStyles:p}=Av(e),m=vv(e,e.symbol,!1),h=ty(e,t),g=G(()=>e.active===void 0?h.isRouterLink.value?h.isActive?.value:m?.isSelected.value:e.active),_=L(()=>g.value?e.activeColor??e.color:e.color),{colorClasses:v,colorStyles:y,variantClasses:b}=pv(G(()=>({color:m?.isSelected.value&&(!h.isLink.value||h.isActive?.value)||!m||h.isActive?.value?_.value??e.baseColor:e.baseColor,variant:e.variant}))),x=G(()=>m?.disabled.value||e.disabled),S=L(()=>e.variant===`elevated`&&!(e.disabled||e.flat||e.border)),C=G(()=>{if(!(e.value===void 0||typeof e.value==`symbol`))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function w(e){x.value||h.isLink.value&&(e.metaKey||e.ctrlKey||e.shiftKey||e.button!==0||t.target===`_blank`)||(h.isRouterLink.value?h.navigate.value?.(e):m?.toggle())}return ay(h,m?.select),Z(()=>{let t=h.isLink.value?`a`:e.tag,_=!!(e.prependIcon||n.prepend),T=!!(e.appendIcon||n.append),E=!!(e.icon&&e.icon!==!0);return zn(U(t,W(h.linkProps,{type:t===`a`?void 0:`button`,class:[`v-btn`,m?.selectedClass.value,{"v-btn--active":g.value,"v-btn--block":e.block,"v-btn--disabled":x.value,"v-btn--elevated":S.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},e.spaced?[`v-btn--spaced`,`v-btn--spaced-${e.spaced}`]:[],r.value,i.value,v.value,a.value,s.value,c.value,u.value,d.value,f.value,b.value,e.class],style:[y.value,o.value,l.value,p.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:x.value&&t!==`a`||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:w,value:C.value}),{default:()=>[dv(!0,`v-btn`),!e.icon&&_&&H(`span`,{key:`prepend`,class:`v-btn__prepend`},[n.prepend?U(Dv,{key:`prepend-defaults`,disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},n.prepend):U(Mv,{key:`prepend-icon`,icon:e.prependIcon},null)]),H(`span`,{class:`v-btn__content`,"data-no-activator":``},[!n.default&&E?U(Mv,{key:`content-icon`,icon:e.icon},null):U(Dv,{key:`content-defaults`,disabled:!E,defaults:{VIcon:{icon:e.icon}}},{default:()=>[n.default?.()??xe(e.text)]})]),!e.icon&&T&&H(`span`,{key:`append`,class:`v-btn__append`},[n.append?U(Dv,{key:`append-defaults`,disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},n.append):U(Mv,{key:`append-icon`,icon:e.appendIcon},null)]),!!e.loading&&H(`span`,{key:`loader`,class:`v-btn__loader`},[n.loader?.()??U(Lv,{color:typeof e.loading==`boolean`?void 0:e.loading,indeterminate:!0,width:`2`},null)])]}),[[Dy,!x.value&&e.ripple,``,{center:!!e.icon}]])}),{group:m}}}),Ay=J({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[[`x-small`,10],[`small`,16],[`default`,24],[`large`,28],[`x-large`,32]]}},`iconSize`);function jy(e,t){return{iconSize:G(()=>{let n=new Map(e.iconSizes),r=e.iconSize??t()??`default`;return n.has(r)?n.get(r):r})}}var My=[`success`,`info`,`warning`,`error`],Ny=J({border:{type:[Boolean,String],validator:e=>typeof e==`boolean`||[`top`,`end`,`bottom`,`start`].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:zu,default:`$close`},closeLabel:{type:String,default:`$vuetify.close`},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>My.includes(e)},...Y(),...Q_(),...Rv(),...ev(),...Ay(),...Vv(),...Zv(),...nv(),...iv(),...Pf(),...fv({variant:`flat`})},`VAlert`),Py=X()({name:`VAlert`,props:Ny(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,{emit:t,slots:n}){let r=Zu(e,`modelValue`),i=L(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:a}=jy(e,()=>e.prominent?44:void 0),{themeClasses:o}=Kf(e),{colorClasses:s,colorStyles:c,variantClasses:l}=pv(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:u}=$_(e),{dimensionStyles:d}=zv(e),{elevationClasses:f}=tv(e),{locationStyles:p}=Hv(e),{positionClasses:m}=Qv(e),{roundedClasses:h}=rv(e),{textColorClasses:g,textColorStyles:_}=ov(()=>e.borderColor),{t:v}=ud(),y=L(()=>({"aria-label":v(e.closeLabel),onClick(e){r.value=!1,t(`click:close`,e)}}));return()=>{let t=!!(n.prepend||i.value),v=!!(n.title||e.title),b=!!(n.close||e.closable),x={density:e.density,icon:i.value,size:e.iconSize||e.prominent?a.value:void 0};return r.value&&U(e.tag,{class:j([`v-alert`,e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?`start`:e.border}`]:!0},{"v-alert--prominent":e.prominent},o.value,s.value,u.value,f.value,m.value,h.value,l.value,e.class]),style:A([c.value,d.value,p.value,e.style]),role:`alert`},{default:()=>[dv(!1,`v-alert`),e.border&&H(`div`,{key:`border`,class:j([`v-alert__border`,g.value]),style:A(_.value)},null),t&&H(`div`,{key:`prepend`,class:`v-alert__prepend`},[n.prepend?U(Dv,{key:`prepend-defaults`,disabled:!i.value,defaults:{VIcon:{...x}}},n.prepend):U(Mv,W({key:`prepend-icon`},x),null)]),H(`div`,{class:`v-alert__content`},[v&&U(J_,{key:`title`},{default:()=>[n.title?.()??e.title]}),n.text?.()??e.text,n.default?.()]),n.append&&H(`div`,{key:`append`,class:`v-alert__append`},[n.append()]),b&&H(`div`,{key:`close`,class:`v-alert__close`},[n.close?U(Dv,{key:`close-defaults`,defaults:{VBtn:{icon:e.closeIcon,size:`x-small`,variant:`text`}}},{default:()=>[n.close?.({props:y.value})]}):U(ky,W({key:`close-btn`,icon:e.closeIcon,size:`x-small`,variant:`text`},y.value),null)])]})}}}),Fy=J({...Y(),...yc(Qf(),[`fullHeight`]),...Pf()},`VApp`),Iy=X()({name:`VApp`,props:Fy(),setup(e,{slots:t}){let n=Kf(e),{layoutClasses:r,getLayoutItem:i,items:a,layoutRef:o}=rp({...e,fullHeight:!0}),{rtlClasses:s}=pd();return Z(()=>H(`div`,{ref:o,class:j([`v-application`,n.themeClasses.value,r.value,s.value,e.class]),style:A([e.style])},[H(`div`,{class:`v-application__wrap`},[t.default?.()])])),{getLayoutItem:i,items:a,theme:n}}}),Ly=J({text:String,...Y(),...iv()},`VToolbarTitle`),Ry=X()({name:`VToolbarTitle`,props:Ly(),setup(e,{slots:t}){return Z(()=>{let n=!!(t.default||t.text||e.text);return U(e.tag,{class:j([`v-toolbar-title`,e.class]),style:A(e.style)},{default:()=>[n&&H(`div`,{class:`v-toolbar-title__placeholder`},[t.text?t.text():e.text,t.default?.()])]})}),{}}}),zy=J({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},`transition`);function By(e,t,n){return X()({name:e,props:zy({mode:n,origin:t}),setup(t,{slots:n}){let r={onBeforeEnter(e){t.origin&&(e.style.transformOrigin=t.origin)},onLeave(e){if(t.leaveAbsolute){let{offsetTop:t,offsetLeft:n,offsetWidth:r,offsetHeight:i}=e;e._transitionInitialStyles={position:e.style.position,top:e.style.top,left:e.style.left,width:e.style.width,height:e.style.height},e.style.position=`absolute`,e.style.top=`${t}px`,e.style.left=`${n}px`,e.style.width=`${r}px`,e.style.height=`${i}px`}t.hideOnLeave&&e.style.setProperty(`display`,`none`,`important`)},onAfterLeave(e){if(t.leaveAbsolute&&e?._transitionInitialStyles){let{position:t,top:n,left:r,width:i,height:a}=e._transitionInitialStyles;delete e._transitionInitialStyles,e.style.position=t||``,e.style.top=n||``,e.style.left=r||``,e.style.width=i||``,e.style.height=a||``}}};return()=>yo(t.group?js:Fo,{name:t.disabled?``:e,css:!t.disabled,...t.group?void 0:{mode:t.mode},...t.disabled?{}:r},n.default)}})}function Vy(e,t,n=`in-out`){return X()({name:e,props:{mode:{type:String,default:n},disabled:{type:Boolean,default:oc()},group:Boolean,hideOnLeave:Boolean},setup(n,{slots:r}){let i=n.group?js:Fo;return()=>yo(i,{name:n.disabled?``:e,css:!n.disabled,...n.disabled?{}:{...t,onLeave:e=>{n.hideOnLeave?e.style.setProperty(`display`,`none`,`important`):t.onLeave?.(e)}}},r.default)}})}function Hy(e=``,t=`y`){return{onBeforeEnter(e){e._parent=e.parentNode,e._initialStyle={transition:e.style.transition,overflow:e.style.overflow,width:e.style.width,height:e.style.height}},onEnter(n){let r=n._initialStyle;if(!r)return;n.style.setProperty(`transition`,`none`,`important`),n.style.overflow=`hidden`;let i=`${n.offsetWidth}px`,a=`${n.offsetHeight}px`;[`x`,`both`].includes(t)&&(n.style.width=`0`),[`y`,`both`].includes(t)&&(n.style.height=`0`),n.offsetHeight,n.style.transition=r.transition,e&&n._parent&&n._parent.classList.add(e),requestAnimationFrame(()=>{[`x`,`both`].includes(t)&&(n.style.width=i),[`y`,`both`].includes(t)&&(n.style.height=a)})},onAfterEnter:r,onEnterCancelled:r,onLeave(e){e._initialStyle={transition:``,overflow:e.style.overflow,width:e.style.width,height:e.style.height},e.style.overflow=`hidden`,[`x`,`both`].includes(t)&&(e.style.width=`${e.offsetWidth}px`),[`y`,`both`].includes(t)&&(e.style.height=`${e.offsetHeight}px`),e.offsetHeight,requestAnimationFrame(()=>{[`x`,`both`].includes(t)&&(e.style.width=`0`),[`y`,`both`].includes(t)&&(e.style.height=`0`)})},onAfterLeave:n,onLeaveCancelled:n};function n(t){e&&t._parent&&t._parent.classList.remove(e),r(t)}function r(e){if(!e._initialStyle)return;let{width:n,height:r}=e._initialStyle;e.style.overflow=e._initialStyle.overflow,n!=null&&[`x`,`both`].includes(t)&&(e.style.width=n),r!=null&&[`y`,`both`].includes(t)&&(e.style.height=r),delete e._initialStyle}}var Uy=J({target:[Object,Array]},`v-dialog-transition`),Wy=new WeakMap,Gy=X()({name:`VDialogTransition`,props:Uy(),setup(e,{slots:t}){let n={onBeforeEnter(e){e.style.pointerEvents=`none`,e.style.visibility=`hidden`},async onEnter(t,n){await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),t.style.visibility=``;let r=qy(e.target,t),{x:i,y:a,sx:o,sy:s,speed:c}=r;if(Wy.set(t,r),oc())vl(t,[{opacity:0},{}],{duration:125*c,easing:Au}).finished.then(()=>n());else{let e=vl(t,[{transform:`translate(${i}px, ${a}px) scale(${o}, ${s})`,opacity:0},{}],{duration:225*c,easing:Au});Ky(t)?.forEach(e=>{vl(e,[{opacity:0},{opacity:0,offset:.33},{}],{duration:450*c,easing:ku})}),e.finished.then(()=>n())}},onAfterEnter(e){e.style.removeProperty(`pointer-events`)},onBeforeLeave(e){e.style.pointerEvents=`none`},async onLeave(t,n){await new Promise(e=>requestAnimationFrame(e));let r;r=!Wy.has(t)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?qy(e.target,t):Wy.get(t);let{x:i,y:a,sx:o,sy:s,speed:c}=r;oc()?vl(t,[{},{opacity:0}],{duration:85*c,easing:ju}).finished.then(()=>n()):(vl(t,[{},{transform:`translate(${i}px, ${a}px) scale(${o}, ${s})`,opacity:0}],{duration:125*c,easing:ju}).finished.then(()=>n()),Ky(t)?.forEach(e=>{vl(e,[{},{opacity:0,offset:.2},{opacity:0}],{duration:250*c,easing:ku})}))},onAfterLeave(e){e.style.removeProperty(`pointer-events`)}};return()=>e.target?U(Fo,W({name:`dialog-transition`},n,{css:!1}),t):U(Fo,{name:`dialog-transition`},t)}});function Ky(e){let t=e.querySelector(`:scope > .v-card, :scope > .v-sheet, :scope > .v-list`)?.children;return t&&[...t]}function qy(e,t){let n=hl(e),r=_l(t),[i,a]=getComputedStyle(t).transformOrigin.split(` `).map(e=>parseFloat(e)),[o,s]=getComputedStyle(t).getPropertyValue(`--v-overlay-anchor-origin`).split(` `),c=n.left+n.width/2;o===`left`||s===`left`?c-=n.width/2:(o===`right`||s===`right`)&&(c+=n.width/2);let l=n.top+n.height/2;o===`top`||s===`top`?l-=n.height/2:(o===`bottom`||s===`bottom`)&&(l+=n.height/2);let u=n.width/r.width,d=n.height/r.height,f=Math.max(1,u,d),p=u/f||0,m=d/f||0,h=r.width*r.height/(window.innerWidth*window.innerHeight),g=h>.12?Math.min(1.5,(h-.12)*10+1):1;return{x:c-(i+r.left),y:l-(a+r.top),sx:p,sy:m,speed:g}}By(`fab-transition`,`center center`,`out-in`),By(`dialog-bottom-transition`),By(`dialog-top-transition`);var Jy=By(`fade-transition`),Yy=By(`scale-transition`);By(`scroll-x-transition`),By(`scroll-x-reverse-transition`),By(`scroll-y-transition`),By(`scroll-y-reverse-transition`),By(`slide-x-transition`),By(`slide-x-reverse-transition`);var Xy=By(`slide-y-transition`);By(`slide-y-reverse-transition`);var Zy=Vy(`expand-transition`,Hy()),Qy=Vy(`expand-x-transition`,Hy(``,`x`));Vy(`expand-both-transition`,Hy(``,`both`));function $y(e){return{aspectStyles:G(()=>{let t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+`%`}:void 0})}}var eb=J({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...Y(),...Rv()},`VResponsive`),tb=X()({name:`VResponsive`,props:eb(),setup(e,{slots:t}){let{aspectStyles:n}=$y(e),{dimensionStyles:r}=zv(e);return Z(()=>H(`div`,{class:j([`v-responsive`,{"v-responsive--inline":e.inline},e.class]),style:A([r.value,e.style])},[H(`div`,{class:`v-responsive__sizer`,style:A(n.value)},null),t.additional?.(),t.default&&H(`div`,{class:j([`v-responsive__content`,e.contentClass])},[t.default()])])),{}}}),nb=J({transition:{type:null,default:`fade-transition`,validator:e=>e!==!0}},`transition`),rb=(e,{slots:t})=>{let{transition:n,disabled:r,group:i,...a}=e,{component:o=i?js:Fo,...s}=dc(n)?n:{},c;return c=dc(n)?W(s,il({disabled:r,group:i}),a):W({name:r||!n?``:n},a),yo(o,c,t)};function ib(e,t){if(!rc)return;let n=t.modifiers||{},r=t.value,{handler:i,options:a}=typeof r==`object`?r:{handler:r,options:{}},o=new IntersectionObserver((r=[],a)=>{let o=e._observe?.[t.instance.$.uid];if(!o)return;let s=r.some(e=>e.isIntersecting);i&&(!n.quiet||o.init)&&(!n.once||s||o.init)&&i(s,r,a),s&&n.once?ab(e,t):o.init=!0},a);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function ab(e,t){let n=e._observe?.[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}var ob={mounted:ib,unmounted:ab,updated:(e,t)=>{e._observe?.[t.instance.$.uid]&&(ab(e,t),ib(e,t))}},sb=J({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,imageClass:null,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:``},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...eb(),...Y(),...nv(),...nb()},`VImg`),cb=X()({name:`VImg`,directives:{vIntersect:ob},inheritAttrs:!1,props:sb(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{backgroundColorClasses:i,backgroundColorStyles:a}=sv(()=>e.color),{roundedClasses:o}=rv(e),s=pu(`VImg`),c=F(``),l=P(),u=F(e.eager?`loading`:`idle`),d=F(),f=F(),p=G(()=>e.src&&typeof e.src==`object`?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),m=G(()=>p.value.aspect||d.value/f.value||0);B(()=>e.src,()=>{h(u.value!==`idle`)}),B(m,(e,t)=>{!e&&t&&l.value&&b(l.value)}),Wr(()=>h());function h(t){if(!(e.eager&&t)&&!(rc&&!t&&!e.eager)){if(u.value=`loading`,p.value.lazySrc){let e=new Image;e.src=p.value.lazySrc,b(e,null)}p.value.src&&Dn(()=>{n(`loadstart`,l.value?.currentSrc||p.value.src),setTimeout(()=>{if(!s.isUnmounted)if(l.value?.complete){if(l.value.naturalWidth||_(),u.value===`error`)return;m.value||b(l.value,null),u.value===`loading`&&g()}else m.value||b(l.value),v()})})}}function g(){s.isUnmounted||(v(),b(l.value),u.value=`loaded`,n(`load`,l.value?.currentSrc||p.value.src))}function _(){s.isUnmounted||(u.value=`error`,n(`error`,l.value?.currentSrc||p.value.src))}function v(){let e=l.value;e&&(c.value=e.currentSrc||e.src)}let y=-1;Jr(()=>{clearTimeout(y)});function b(e,t=100){let n=()=>{if(clearTimeout(y),s.isUnmounted)return;let{naturalHeight:r,naturalWidth:i}=e;r||i?(d.value=i,f.value=r):!e.complete&&u.value===`loading`&&t!=null?y=window.setTimeout(n,t):(e.currentSrc.endsWith(`.svg`)||e.currentSrc.startsWith(`data:image/svg+xml`))&&(d.value=1,f.value=1)};n()}let x=L(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),S=()=>{if(!p.value.src||u.value===`idle`)return null;let t=H(`img`,{class:j([`v-img__img`,x.value,e.imageClass]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:p.value.src,srcset:p.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:l,onLoad:g,onError:_},null),n=r.sources?.();return U(rb,{transition:e.transition,appear:!0},{default:()=>[zn(n?H(`picture`,{class:`v-img__picture`},[n,t]):t,[[$o,u.value===`loaded`]])]})},C=()=>U(rb,{transition:e.transition},{default:()=>[p.value.lazySrc&&u.value!==`loaded`&&H(`img`,{class:j([`v-img__img`,`v-img__img--preload`,x.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:p.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),w=()=>r.placeholder?U(rb,{transition:e.transition,appear:!0},{default:()=>[(u.value===`loading`||u.value===`error`&&!r.error)&&H(`div`,{class:`v-img__placeholder`},[r.placeholder()])]}):null,T=()=>r.error?U(rb,{transition:e.transition,appear:!0},{default:()=>[u.value===`error`&&H(`div`,{class:`v-img__error`},[r.error()])]}):null,E=()=>e.gradient?H(`div`,{class:`v-img__gradient`,style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,ee=F(!1);{let e=B(m,t=>{t&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{ee.value=!0})}),e())})}return Z(()=>{let n=tb.filterProps(e),[s,c]=Tc(t);return zn(U(tb,W({class:[`v-img`,{"v-img--absolute":e.absolute,"v-img--booting":!ee.value,"v-img--fit-content":e.width===`fit-content`},i.value,o.value,e.class],style:[{width:q(e.width===`auto`?d.value:e.width)},a.value,e.style]},n,s,{aspectRatio:m.value,"aria-label":e.alt,role:e.alt?`img`:void 0}),{additional:()=>H(V,null,[U(S,c,null),U(C,null,null),U(E,null,null),U(w,null,null),U(T,null,null)]),default:r.default}),[[ob,{handler:h,options:e.options},null,{once:!0}]])}),{currentSrc:c,image:l,state:u,naturalWidth:d,naturalHeight:f}}}),lb=[null,`prominent`,`default`,`comfortable`,`compact`],ub=J({absolute:Boolean,collapse:Boolean,collapsePosition:{type:String,default:`start`},color:String,density:{type:String,default:`default`,validator:e=>lb.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...Y_(),...Y(),...ev(),...Vv(),...nv(),...iv({tag:`header`}),...Pf()},`VToolbar`),db=X()({name:`VToolbar`,props:ub(),setup(e,{slots:t}){let{backgroundColorClasses:n,backgroundColorStyles:r}=sv(()=>e.color),{borderClasses:i}=X_(e),{elevationClasses:a}=tv(e),{locationStyles:o}=Hv(e),{roundedClasses:s}=rv(e),{themeClasses:c}=Kf(e),{rtlClasses:l}=pd(),u=F(e.extended===null?!!t.extension?.():e.extended),d=G(()=>parseInt(Number(e.height)+(e.density===`prominent`?Number(e.height):0)-(e.density===`comfortable`?8:0)-(e.density===`compact`?16:0),10)),f=G(()=>u.value?parseInt(Number(e.extensionHeight)+(e.density===`prominent`?Number(e.extensionHeight):0)-(e.density===`comfortable`?4:0)-(e.density===`compact`?8:0),10):0);return yu({VBtn:{variant:`text`}}),Z(()=>{let p=!!(e.title||t.title),m=!!(t.image||e.image),h=t.extension?.();return u.value=e.extended===null?!!h:e.extended,U(e.tag,{class:j([`v-toolbar`,`v-toolbar--collapse-${e.collapsePosition}`,{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},n.value,i.value,a.value,s.value,c.value,l.value,e.class]),style:A([r.value,o.value,e.style])},{default:()=>[m&&H(`div`,{key:`image`,class:`v-toolbar__image`},[t.image?U(Dv,{key:`image-defaults`,disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):U(cb,{key:`image-img`,cover:!0,src:e.image},null)]),U(Dv,{defaults:{VTabs:{height:q(d.value)}}},{default:()=>[H(`div`,{class:`v-toolbar__content`,style:{height:q(d.value)}},[t.prepend&&H(`div`,{class:`v-toolbar__prepend`},[t.prepend?.()]),p&&U(Ry,{key:`title`,text:e.title},{text:t.title}),t.default?.(),t.append&&H(`div`,{class:`v-toolbar__append`},[t.append?.()])])]}),U(Dv,{defaults:{VTabs:{height:q(f.value)}}},{default:()=>[U(Zy,null,{default:()=>[u.value&&H(`div`,{class:`v-toolbar__extension`,style:{height:q(f.value)}},[h])]})]})]})}),{contentHeight:d,extensionHeight:f}}}),fb=J({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},`scroll`);function pb(e,t={}){let{canScroll:n,layoutSize:r}=t,i=0,a=0,o=P(null),s=F(0),c=F(0),l=F(0),u=F(!1),d=F(!1),f=F(!1),p=F(!1),m=F(!0),h=G(()=>Number(e.scrollThreshold)),g=G(()=>Oc((h.value-s.value)/h.value||0));function _(e){return{clientHeight:`window`in e?window.innerHeight:e.clientHeight,scrollHeight:`window`in e?document.documentElement.scrollHeight:e.scrollHeight}}function v(){let e=o.value;if(!e)return;let{clientHeight:t,scrollHeight:n}=_(e),i=n-t,a=r?.value||0;m.value=i>h.value+a}function y(){v()}function b(){let e=o.value;if(!e||n&&!n.value)return;i=s.value,s.value=`window`in e?e.pageYOffset:e.scrollTop;let t=e instanceof Window?document.documentElement.scrollHeight:e.scrollHeight;a!==t&&(t>a&&v(),a=t),d.value=s.value=c-5;!d.value&&u&&s.value>=h.value&&m.value&&(p.value=!0);let g=Math.abs(s.value-i)>100,y=s.value<=5;(d.value&&i-s.value>1&&!u||g&&s.value{c.value=c.value||s.value}),B(u,()=>{c.value=0}),Gr(()=>{B(()=>e.scrollTarget,e=>{let t=e?document.querySelector(e):window;if(!t){ec(`Unable to locate element with identifier ${e}`);return}t!==o.value&&(o.value?.removeEventListener(`scroll`,b),o.value=t,o.value.addEventListener(`scroll`,b,{passive:!0}),Promise.resolve().then(()=>{v()}))},{immediate:!0}),window.addEventListener(`resize`,y,{passive:!0})}),Jr(()=>{o.value?.removeEventListener(`scroll`,b),window.removeEventListener(`resize`,y)}),n&&B(n,b,{immediate:!0}),{scrollThreshold:h,currentScroll:s,currentThreshold:l,isScrollActive:u,scrollRatio:g,isScrollingUp:d,savedScroll:c,isAtBottom:f,reachedBottomWhileScrollingDown:p,hasEnoughScrollableSpace:m}}function mb(){let e=F(!1);return Gr(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:L(()=>e.value?void 0:{transition:`none !important`}),isBooted:Vt(e)}}var hb=J({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:`top`,validator:e=>[`top`,`bottom`].includes(e)},...yc(ub(),[`location`]),...$f(),...fb(),height:{type:[Number,String],default:64}},`VAppBar`),gb=X()({name:`VAppBar`,props:hb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=P(),r=Zu(e,`modelValue`),i=G(()=>{let t=new Set(e.scrollBehavior?.split(` `)??[]);return{hide:t.has(`hide`),fullyHide:t.has(`fully-hide`),inverted:t.has(`inverted`),collapse:t.has(`collapse`),elevate:t.has(`elevate`),fadeImage:t.has(`fade-image`)}}),{currentScroll:a,scrollThreshold:o,isScrollingUp:s,scrollRatio:c,isAtBottom:l,reachedBottomWhileScrollingDown:u,hasEnoughScrollableSpace:d}=pb(e,{canScroll:G(()=>{let e=i.value;return e.hide||e.fullyHide||e.inverted||e.collapse||e.elevate||e.fadeImage||!r.value}),layoutSize:G(()=>(n.value?.contentHeight??0)+(n.value?.extensionHeight??0))}),f=L(()=>i.value.hide||i.value.fullyHide),p=G(()=>e.collapse||i.value.collapse&&(i.value.inverted?c.value>0:c.value===0)),m=G(()=>e.flat||i.value.fullyHide&&!r.value||i.value.elevate&&(i.value.inverted?a.value>0:a.value===0)),h=G(()=>i.value.fadeImage?i.value.inverted?1-c.value:c.value:void 0),g=G(()=>{if(i.value.hide&&i.value.inverted)return 0;let e=n.value?.contentHeight??0,t=n.value?.extensionHeight??0;return f.value?a.value!!e.scrollBehavior,()=>{Gn(()=>{if(!f.value){r.value=!0;return}if(i.value.inverted){r.value=a.value>o.value;return}if(!d.value){r.value=!0;return}if(u.value){r.value=!1;return}r.value=s.value&&!l.value||a.valueparseInt(e.order,10)),position:L(()=>e.location),layoutSize:g,elementSize:F(void 0),active:r,absolute:L(()=>e.absolute)});return Z(()=>{let r=yc(db.filterProps(e),[`location`]);return U(db,W({ref:n,class:[`v-app-bar`,{"v-app-bar--bottom":e.location===`bottom`},e.class],style:[{...v.value,"--v-toolbar-image-opacity":h.value,height:void 0,..._.value},e.style]},r,{collapse:p.value,flat:m.value}),t)}),{}}}),_b=J({...yc(Oy({icon:`$menu`,variant:`text`}),[`spaced`])},`VAppBarNavIcon`),vb=X()({name:`VAppBarNavIcon`,props:_b(),setup(e,{slots:t}){return Z(()=>U(ky,W(e,{class:[`v-app-bar-nav-icon`]}),t)),{}}}),yb=X()({name:`VAppBarTitle`,props:Ly(),setup(e,{slots:t}){return Z(()=>U(Ry,W(e,{class:`v-app-bar-title`}),t)),{}}}),bb=J({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,dotSize:[Number,String],floating:Boolean,icon:zu,inline:Boolean,label:{type:String,default:`$vuetify.badge`},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...Y(),...Vv({location:`top end`}),...nv(),...iv(),...Pf(),...nb({transition:`scale-rotate-transition`}),...Rv()},`VBadge`),xb=X()({name:`VBadge`,inheritAttrs:!1,props:bb(),setup(e,t){let{backgroundColorClasses:n,backgroundColorStyles:r}=sv(()=>e.color),{roundedClasses:i}=rv(e),{t:a}=ud(),{textColorClasses:o,textColorStyles:s}=ov(()=>e.textColor),{themeClasses:c}=qf(),{locationStyles:l}=Hv(e,!0,t=>(e.floating?e.dot?2:4:e.dot?Number(e.dotSize??8):12)+([`top`,`bottom`].includes(t)?Number(e.offsetY??0):[`left`,`right`].includes(t)?Number(e.offsetX??0):0)),{dimensionStyles:u}=zv(e);return Z(()=>{let d=Number(e.content),f=!e.max||isNaN(d)?e.content:d<=Number(e.max)?d:`${e.max}+`,[p,m]=vc(t.attrs,[`aria-atomic`,`aria-label`,`aria-live`,`role`,`title`]);return U(e.tag,W({class:[`v-badge`,{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},m,{style:e.style}),{default:()=>[H(`div`,{class:`v-badge__wrapper`},[t.slots.default?.(),U(rb,{transition:e.transition},{default:()=>[zn(H(`span`,W({class:[`v-badge__badge`,c.value,n.value,i.value,o.value],style:[r.value,s.value,u.value,e.inline?{}:l.value,e.dot&&e.dotSize?{width:q(e.dotSize),height:q(e.dotSize)}:{}],"aria-atomic":`true`,"aria-label":a(e.label,d),"aria-live":`polite`,role:`status`},p),[e.dot?void 0:t.slots.badge?t.slots.badge?.():e.icon?U(Mv,{icon:e.icon},null):f]),[[$o,e.modelValue]])]})])]})}),{}}}),Sb=J({badge:{type:[Boolean,Object],default:!1},start:Boolean,end:Boolean,icon:zu,image:String,text:String,...Y_(),...Y(),...Q_(),...nv(),...kv(),...iv(),...Pf(),...fv({variant:`flat`})},`VAvatar`),Cb=X()({name:`VAvatar`,props:Sb(),setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{borderClasses:r}=X_(e),{colorClasses:i,colorStyles:a,variantClasses:o}=pv(e),{densityClasses:s}=$_(e),{roundedClasses:c}=rv(e),{sizeClasses:l,sizeStyles:u}=Av(e),d=G(()=>{switch(e.size){case`x-small`:return 8;case`small`:return 10;case`large`:return 14;case`x-large`:return 16;default:return 12}}),f=G(()=>{let{floating:t}=dc(e.badge)?e.badge:{};return(t?d.value/2:0)-1.5}),p=G(()=>({bordered:!0,dot:!t.badge,dotSize:d.value,offsetX:f.value,offsetY:f.value,color:typeof e.badge==`string`?e.badge:`primary`,...dc(e.badge)?e.badge:{}}));return Z(()=>{let d=U(e.tag,{class:j([`v-avatar`,{"v-avatar--start":e.start,"v-avatar--end":e.end},n.value,r.value,i.value,s.value,c.value,l.value,o.value,e.class]),style:A([a.value,u.value,e.style])},{default:()=>[t.default?U(Dv,{key:`content-defaults`,defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[t.default()]}):e.image?U(cb,{key:`image`,src:e.image,alt:``,cover:!0},null):e.icon?U(Mv,{key:`icon`,icon:e.icon},null):e.text,dv(!1,`v-avatar`)]});return e.badge?U(xb,p.value,{default:()=>d,badge:t.badge}):d}),{}}});function wb({selectedElement:e,containerElement:t,isRtl:n,isHorizontal:r}){let i=Ob(r,t),a=Db(r,n,t),o=Ob(r,e),s=kb(r,e),c=o*.4;return a>s?s-c:a+itypeof e==`boolean`||[`always`,`desktop`,`mobile`,`never`].includes(e)},...Y(),...Sf({mobile:null}),...iv(),...gv({selectedClass:`v-slide-group-item--active`})},`VSlideGroup`),Mb=X()({name:`VSlideGroup`,props:jb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{isRtl:n}=pd(),{displayClasses:r,mobile:i}=Cf(e),a=yv(e,e.symbol),o=F(!1),s=F(0),c=F(0),l=F(0),u=G(()=>e.direction===`horizontal`),{resizeRef:d,contentRect:f}=Jf(),{resizeRef:p,contentRect:m}=Jf(),h=jf(),g=G(()=>({container:d.el,duration:200,easing:`easeOutQuart`})),_=G(()=>a.selected.value.length?a.items.value.findIndex(e=>e.id===a.selected.value[0]):-1),v=G(()=>a.selected.value.length?a.items.value.findIndex(e=>e.id===a.selected.value[a.selected.value.length-1]):-1);if(K){let t=-1;B(()=>[a.selected.value,f.value,m.value,u.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(f.value&&m.value){let e=u.value?`width`:`height`;c.value=f.value[e],l.value=m.value[e],o.value=c.value+1=0&&p.el){let t=p.el.children[v.value];b(t,e.centerActive)}})})}let y=F(!1);function b(e,t){let r=0;r=t?Tb({containerElement:d.el,isHorizontal:u.value,selectedElement:e}):wb({containerElement:d.el,isHorizontal:u.value,isRtl:n.value,selectedElement:e}),x(r)}function x(e){if(!K||!d.el)return;let t=Ob(u.value,d.el),r=Db(u.value,n.value,d.el);if(!(Eb(u.value,d.el)<=t||Math.abs(e-r)<16)){if(u.value&&n.value&&d.el){let{scrollWidth:t,offsetWidth:n}=d.el;e=t-n-e}u.value?h.horizontal(e,g.value):h(e,g.value)}}function S(e){let{scrollTop:t,scrollLeft:n}=e.target;s.value=u.value?n:t}function C(e){if(y.value=!0,!(!o.value||!p.el)){for(let t of e.composedPath())for(let e of p.el.children)if(e===t){b(e);return}}}function w(e){y.value=!1}let T=!1;function E(e){!T&&!y.value&&!(e.relatedTarget&&p.el?.contains(e.relatedTarget))&&ne(),T=!1}function ee(){T=!0}function te(e){if(!p.el)return;function t(t){e.preventDefault(),ne(t)}u.value?e.key===`ArrowRight`?t(n.value?`prev`:`next`):e.key===`ArrowLeft`&&t(n.value?`next`:`prev`):e.key===`ArrowDown`?t(`next`):e.key===`ArrowUp`&&t(`prev`),e.key===`Home`?t(`first`):e.key===`End`&&t(`last`)}function D(e,t){if(!e)return;let n=e;do n=n?.[t===`next`?`nextElementSibling`:`previousElementSibling`];while(n?.hasAttribute(`disabled`));return n}function ne(e){if(!p.el)return;let t;if(!e)t=Wc(p.el)[0];else if(e===`next`){if(t=D(p.el.querySelector(`:focus`),e),!t)return ne(`first`)}else if(e===`prev`){if(t=D(p.el.querySelector(`:focus`),e),!t)return ne(`last`)}else e===`first`?(t=p.el.firstElementChild,t?.hasAttribute(`disabled`)&&(t=D(t,`next`))):e===`last`&&(t=p.el.lastElementChild,t?.hasAttribute(`disabled`)&&(t=D(t,`prev`)));t&&t.focus({preventScroll:!0})}function re(e){let t=u.value&&n.value?-1:1,r=(e===`prev`?-t:t)*c.value,i=s.value+r;if(u.value&&n.value&&d.el){let{scrollWidth:e,offsetWidth:t}=d.el;i+=e-t}x(i)}let ie=G(()=>({next:a.next,prev:a.prev,select:a.select,isSelected:a.isSelected})),ae=G(()=>o.value||Math.abs(s.value)>0),O=G(()=>{switch(e.showArrows){case`never`:return!1;case`always`:return!0;case`desktop`:return!i.value;case!0:return ae.value;case`mobile`:return i.value||ae.value;default:return!i.value&&ae.value}}),k=G(()=>Math.abs(s.value)>1),oe=G(()=>ae.value?l.value-c.value-Math.abs(s.value)>1:!1);return Z(()=>U(e.tag,{class:j([`v-slide-group`,{"v-slide-group--vertical":!u.value,"v-slide-group--has-affixes":O.value,"v-slide-group--is-overflowing":o.value},r.value,e.class]),style:A(e.style),tabindex:y.value||a.selected.value.length?-1:0,onFocus:E},{default:()=>[O.value&&H(`div`,{key:`prev`,class:j([`v-slide-group__prev`,{"v-slide-group__prev--disabled":!k.value}]),onMousedown:ee,onClick:()=>k.value&&re(`prev`)},[t.prev?.(ie.value)??U(Jy,null,{default:()=>[U(Mv,{icon:n.value?e.nextIcon:e.prevIcon},null)]})]),H(`div`,{key:`container`,ref:d,class:j([`v-slide-group__container`,e.contentClass]),onScroll:S},[H(`div`,{ref:p,class:`v-slide-group__content`,onFocusin:C,onFocusout:w,onKeydown:te},[t.default?.(ie.value)])]),O.value&&H(`div`,{key:`next`,class:j([`v-slide-group__next`,{"v-slide-group__next--disabled":!oe.value}]),onMousedown:ee,onClick:()=>oe.value&&re(`next`)},[t.next?.(ie.value)??U(Jy,null,{default:()=>[U(Mv,{icon:n.value?e.prevIcon:e.nextIcon},null)]})])]})),{selected:a.selected,scrollTo:re,scrollOffset:s,focus:ne,hasPrev:k,hasNext:oe}}}),Nb=Symbol.for(`vuetify:v-chip-group`),Pb=J({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:Du},...jb({scrollToActive:!1}),...Y(),...gv({selectedClass:`v-chip--selected`}),...iv(),...Pf(),...fv({variant:`tonal`})},`VChipGroup`);X()({name:`VChipGroup`,props:Pb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{isSelected:r,select:i,next:a,prev:o,selected:s}=yv(e,Nb);return yu({VChip:{baseColor:L(()=>e.baseColor),color:L(()=>e.color),disabled:L(()=>e.disabled),filter:L(()=>e.filter),variant:L(()=>e.variant)}}),Z(()=>U(Mb,W(Mb.filterProps(e),{class:[`v-chip-group`,{"v-chip-group--column":e.column},n.value,e.class],style:e.style}),{default:()=>[t.default?.({isSelected:r,select:i,next:a,prev:o,selected:s.value})]})),{}}});var Fb=J({activeClass:String,appendAvatar:String,appendIcon:zu,baseColor:String,closable:Boolean,closeIcon:{type:zu,default:`$delete`},closeLabel:{type:String,default:`$vuetify.close`},draggable:Boolean,filter:Boolean,filterIcon:{type:zu,default:`$complete`},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:zu,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:Vc(),onClickOnce:Vc(),...Y_(),...Y(),...Q_(),...ev(),..._v(),...nv(),...ny(),...kv(),...iv({tag:`span`}),...Pf(),...fv({variant:`tonal`})},`VChip`),Ib=X()({name:`VChip`,directives:{vRipple:Dy},props:Fb(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{t:i}=ud(),{borderClasses:a}=X_(e),{densityClasses:o}=$_(e),{elevationClasses:s}=tv(e),{roundedClasses:c}=rv(e),{sizeClasses:l}=Av(e),{themeClasses:u}=Kf(e),d=Zu(e,`modelValue`),f=vv(e,Nb,!1),p=vv(e,Ab,!1),m=ty(e,t),h=L(()=>e.link!==!1&&m.isLink.value),g=G(()=>!e.disabled&&e.link!==!1&&(!!f||e.link||m.isClickable.value)),_=L(()=>({"aria-label":i(e.closeLabel),disabled:e.disabled,onClick(e){e.preventDefault(),e.stopPropagation(),d.value=!1,n(`click:close`,e)}}));B(d,e=>{e?(f?.register(),p?.register()):(f?.unregister(),p?.unregister())});let{colorClasses:v,colorStyles:y,variantClasses:b}=pv(()=>({color:!f||f.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function x(e){n(`click`,e),g.value&&(m.navigate.value?.(e),f?.toggle())}function S(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),x(e))}return()=>{let t=m.isLink.value?`a`:e.tag,n=!!(e.appendIcon||e.appendAvatar),i=!!(n||r.append),p=!!(r.close||e.closable),C=!!(r.filter||e.filter)&&f,w=!!(e.prependIcon||e.prependAvatar),T=!!(w||r.prepend);return d.value&&zn(U(t,W(m.linkProps,{class:[`v-chip`,{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":g.value,"v-chip--filter":C,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&m.isActive?.value},u.value,a.value,v.value,o.value,s.value,c.value,l.value,b.value,f?.selectedClass.value,e.class],style:[y.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:g.value?0:void 0,onClick:x,onKeydown:g.value&&!h.value&&S}),{default:()=>[dv(g.value,`v-chip`),C&&U(Qy,{key:`filter`},{default:()=>[zn(H(`div`,{class:`v-chip__filter`},[r.filter?U(Dv,{key:`filter-defaults`,disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},r.filter):U(Mv,{key:`filter-icon`,icon:e.filterIcon},null)]),[[$o,f.isSelected.value]])]}),T&&H(`div`,{key:`prepend`,class:`v-chip__prepend`},[r.prepend?U(Dv,{key:`prepend-defaults`,disabled:!w,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},r.prepend):H(V,null,[e.prependIcon&&U(Mv,{key:`prepend-icon`,icon:e.prependIcon,start:!0},null),e.prependAvatar&&U(Cb,{key:`prepend-avatar`,image:e.prependAvatar,start:!0},null)])]),H(`div`,{class:`v-chip__content`,"data-no-activator":``},[r.default?.({isSelected:f?.isSelected.value,selectedClass:f?.selectedClass.value,select:f?.select,toggle:f?.toggle,value:f?.value.value,disabled:e.disabled})??xe(e.text)]),i&&H(`div`,{key:`append`,class:`v-chip__append`},[r.append?U(Dv,{key:`append-defaults`,disabled:!n,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},r.append):H(V,null,[e.appendIcon&&U(Mv,{key:`append-icon`,end:!0,icon:e.appendIcon},null),e.appendAvatar&&U(Cb,{key:`append-avatar`,end:!0,image:e.appendAvatar},null)])]),p&&H(`button`,W({key:`close`,class:`v-chip__close`,type:`button`,"data-testid":`close-chip`},_.value),[r.close?U(Dv,{key:`close-defaults`,defaults:{VIcon:{icon:e.closeIcon,size:`x-small`}}},r.close):U(Mv,{key:`close-icon`,icon:e.closeIcon,size:`x-small`},null)])]}),[[Dy,g.value&&e.ripple,null]])}}}),Lb=[`dotted`,`dashed`,`solid`,`double`],Rb=J({color:String,contentOffset:[Number,String,Array],gradient:Boolean,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,variant:{type:String,default:`solid`,validator:e=>Lb.includes(e)},...Y(),...Pf()},`VDivider`),zb=X()({name:`VDivider`,props:Rb(),setup(e,{attrs:t,slots:n}){let{themeClasses:r}=Kf(e),{textColorClasses:i,textColorStyles:a}=ov(()=>e.color),o=G(()=>{let t={};return e.length&&(t[e.vertical?`height`:`width`]=q(e.length)),e.thickness&&(t[e.vertical?`borderRightWidth`:`borderTopWidth`]=q(e.thickness)),t}),s=L(()=>{let t=Array.isArray(e.contentOffset)?e.contentOffset[0]:e.contentOffset,n=Array.isArray(e.contentOffset)?e.contentOffset[1]:0;return{marginBlock:e.vertical&&t?q(t):void 0,marginInline:!e.vertical&&t?q(t):void 0,transform:n?`translate${e.vertical?`X`:`Y`}(${q(n)})`:void 0}});return Z(()=>{let c=H(`hr`,{class:j([{"v-divider":!0,"v-divider--gradient":e.gradient&&!n.default,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},r.value,i.value,e.class]),style:A([o.value,a.value,{"--v-border-opacity":e.opacity},{"border-style":e.variant},e.style]),"aria-orientation":!t.role||t.role===`separator`?e.vertical?`vertical`:`horizontal`:void 0,role:`${t.role||`separator`}`},null);return n.default?H(`div`,{class:j([`v-divider__wrapper`,{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[c,H(`div`,{class:`v-divider__content`,style:A(s.value)},[n.default()]),c]):c}),{}}}),Bb=wu(`v-spacer`,`div`,`VSpacer`),Vb=Symbol.for(`vuetify:list`);function Hb(e={filterable:!1}){let t=z(Vb,{filterable:!1,hasPrepend:F(!1),updateHasPrepend:()=>null,trackingIndex:F(-1),navigationStrategy:F(`focus`),uid:``}),{filterable:n,trackingIndex:r=t.trackingIndex,navigationStrategy:i=t.navigationStrategy,uid:a=t.uid||Er()}=e,o={filterable:t.filterable||n,hasPrepend:F(!1),updateHasPrepend:e=>{e&&(o.hasPrepend.value=e)},trackingIndex:r,navigationStrategy:i,uid:a};return Vn(Vb,o),t}function Ub(){return z(Vb,null)}var Wb=e=>{let t={activate:({id:t,value:n,activated:r})=>(t=M(t),e&&!n&&r.size===1&&r.has(t)||(n?r.add(t):r.delete(t)),r),in:(e,n,r)=>{let i=new Set;if(e!=null)for(let a of Ec(e))i=t.activate({id:a,value:!0,activated:new Set(i),children:n,parents:r});return i},out:e=>Array.from(e)};return t},Gb=e=>{let t=Wb(e);return{activate:({activated:e,id:n,...r})=>{n=M(n);let i=e.has(n)?new Set([n]):new Set;return t.activate({...r,id:n,activated:i})},in:(e,n,r)=>{let i=new Set;if(e!=null){let a=Ec(e);a.length&&(i=t.in(a.slice(0,1),n,r))}return i},out:(e,n,r)=>t.out(e,n,r)}},Kb=e=>{let t=Wb(e);return{activate:({id:e,activated:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.activate({id:e,activated:n,children:r,...i})),in:t.in,out:t.out}},qb=e=>{let t=Gb(e);return{activate:({id:e,activated:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.activate({id:e,activated:n,children:r,...i})),in:t.in,out:t.out}},Jb={open:({id:e,value:t,opened:n,parents:r})=>{if(t){let t=new Set;t.add(e);let n=r.get(e);for(;n!=null;)t.add(n),n=r.get(n);return t}else return n.delete(e),n},select:()=>null},Yb={open:({id:e,value:t,opened:n,parents:r})=>{if(t){let t=r.get(e);for(n.add(e);t!=null&&t!==e;)n.add(t),t=r.get(t);return n}else n.delete(e);return n},select:()=>null},Xb={open:Yb.open,select:({id:e,value:t,opened:n,parents:r})=>{if(!t)return n;let i=[],a=r.get(e);for(;a!=null;)i.push(a),a=r.get(a);return new Set(i)}},Zb=e=>{let t={select:({id:t,value:n,selected:r})=>{if(t=M(t),e&&!n){let e=Array.from(r.entries()).reduce((e,[t,n])=>(n===`on`&&e.push(t),e),[]);if(e.length===1&&e[0]===t)return r}return r.set(t,n?`on`:`off`),r},in:(e,n,r,i)=>{let a=new Map;for(let o of e||[])t.select({id:o,value:!0,selected:a,children:n,parents:r,disabled:i});return a},out:e=>{let t=[];for(let[n,r]of e.entries())r===`on`&&t.push(n);return t}};return t},Qb=e=>{let t=Zb(e);return{select:({selected:e,id:n,...r})=>{n=M(n);let i=e.has(n)?new Map([[n,e.get(n)]]):new Map;return t.select({...r,id:n,selected:i})},in:(e,n,r,i)=>e?.length?t.in(e.slice(0,1),n,r,i):new Map,out:(e,n,r)=>t.out(e,n,r)}},$b=e=>{let t=Zb(e);return{select:({id:e,selected:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.select({id:e,selected:n,children:r,...i})),in:t.in,out:t.out}},ex=e=>{let t=Qb(e);return{select:({id:e,selected:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.select({id:e,selected:n,children:r,...i})),in:t.in,out:t.out}},tx=e=>{let t={select:({id:t,value:n,selected:r,children:i,parents:a,disabled:o})=>{t=M(t);let s=new Map(r),c=[t];for(;c.length;){let e=c.shift();o.has(e)||r.set(M(e),n?`on`:`off`),i.has(e)&&c.push(...i.get(e))}let l=M(a.get(t));for(;l;){let e=!0,t=!0;for(let n of i.get(l)){let i=M(n);if(!o.has(i)&&(r.get(i)!==`on`&&(e=!1),r.has(i)&&r.get(i)!==`off`&&(t=!1),!e&&!t))break}r.set(l,e?`on`:t?`off`:`indeterminate`),l=M(a.get(l))}return e&&!n&&Array.from(r.entries()).reduce((e,[t,n])=>(n===`on`&&e.push(t),e),[]).length===0?s:r},in:(e,n,r)=>{let i=new Map;for(let a of e||[])i=t.select({id:a,value:!0,selected:i,children:n,parents:r,disabled:new Set});return i},out:(e,t)=>{let n=[];for(let[r,i]of e.entries())i===`on`&&!t.has(r)&&n.push(r);return n}};return t},nx=e=>{let t=tx(e);return{select:t.select,in:t.in,out:(e,t,n)=>{let r=[];for(let[t,i]of e.entries())if(i===`on`){if(n.has(t)){let r=n.get(t);if(e.get(r)===`on`)continue}r.push(t)}return r}}},rx=e=>{let t={select:tx(e).select,in:(e,n,r,i)=>{let a=new Map;for(let o of e||[])n.has(o)||(a=t.select({id:o,value:!0,selected:a,children:n,parents:r,disabled:i}));return a},out:e=>{let t=[];for(let[n,r]of e.entries())(r===`on`||r===`indeterminate`)&&t.push(n);return t}};return t},ix=Symbol.for(`vuetify:nested`),ax={id:F(),root:{itemsRegistration:P(`render`),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:P(new Map),parents:P(new Map),disabled:P(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:P(!1),scrollToActive:P(!1),selectable:P(!1),opened:P(new Set),activated:P(new Set),selected:P(new Map),selectedValues:P([]),getPath:()=>[]}},ox=J({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean,itemsRegistration:{type:String,default:`render`}},`nested`),sx=(e,{items:t,returnObject:n,scrollToActive:r,valueComparator:i})=>{let a=!1,o=F(new Map),s=F(new Map),c=F(new Set),l=Zu(e,`opened`,e.opened,e=>new Set(Array.isArray(e)?e.map(e=>M(e)):e),e=>[...e.values()]),u=G(()=>{if(typeof e.activeStrategy==`object`)return e.activeStrategy;if(typeof e.activeStrategy==`function`)return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case`leaf`:return Kb(e.mandatory);case`single-leaf`:return qb(e.mandatory);case`independent`:return Wb(e.mandatory);default:return Gb(e.mandatory)}}),d=G(()=>{if(typeof e.selectStrategy==`object`)return e.selectStrategy;if(typeof e.selectStrategy==`function`)return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case`single-leaf`:return ex(e.mandatory);case`leaf`:return $b(e.mandatory);case`independent`:return Zb(e.mandatory);case`single-independent`:return Qb(e.mandatory);case`trunk`:return nx(e.mandatory);case`branch`:return rx(e.mandatory);default:return tx(e.mandatory)}}),f=G(()=>{if(typeof e.openStrategy==`object`)return e.openStrategy;switch(e.openStrategy){case`list`:return Xb;case`single`:return Jb;default:return Yb}}),p=G(()=>{let e=[],n=[...t.value];for(;n.length;){let t=n.pop();e.push(t),t.children&&n.push(...t.children)}return e});function m(e){let t=Qt(i);if(!t)return e;let r=Qt(n);for(let n of p.value){let i=r?M(n.raw):n.value;if(t(e,i))return i}return e}let h=Zu(e,`activated`,e.activated,e=>u.value.in(Array.isArray(e)?e.map(m):e,o.value,s.value),e=>u.value.out(e,o.value,s.value)),g=Zu(e,`selected`,e.selected,e=>d.value.in(Array.isArray(e)?e.map(m):e,o.value,s.value,c.value),e=>d.value.out(e,o.value,s.value));Jr(()=>{a=!0});function _(e){let t=[],n=M(e);for(;n!==void 0;)t.unshift(n),n=s.value.get(n);return t}let v=pu(`nested`),y=new Set,b=Ru(()=>{Dn(()=>{o.value=new Map(o.value),s.value=new Map(s.value)})},100);B(()=>[t.value,Qt(n)],()=>{e.itemsRegistration===`props`&&x()},{immediate:!0});function x(){let e=new Map,r=new Map,i=new Set,a=Qt(n)?e=>M(e.raw):e=>e.value,l=[...t.value],u=0;for(;ue.activatable),scrollToActive:L(()=>Qt(r)),selectable:L(()=>e.selectable),activated:h,selected:g,selectedValues:G(()=>{let e=[];for(let[t,n]of g.value.entries())n===`on`&&e.push(t);return e}),itemsRegistration:L(()=>e.itemsRegistration),register:(e,t,n,r)=>{if(y.has(e)){tc(`Multiple nodes with the same ID\n\t${_(e).map(String).join(` -> `)}\n\t${_(t).concat(e).map(String).join(` -> `)}`);return}else y.add(e);t&&e!==t&&s.value.set(e,t),n&&c.value.add(e),r&&o.value.set(e,[]),t!=null&&o.value.set(t,[...o.value.get(t)||[],e]),b()},unregister:e=>{if(a)return;y.delete(e),o.value.delete(e),c.value.delete(e);let t=s.value.get(e);if(t){let n=o.value.get(t)??[];o.value.set(t,n.filter(t=>t!==e))}s.value.delete(e),b()},updateDisabled:(e,t)=>{t?c.value.add(e):c.value.delete(e)},open:(e,t,n)=>{v.emit(`click:open`,{id:e,value:t,path:_(e),event:n});let r=f.value.open({id:e,value:t,opened:new Set(l.value),children:o.value,parents:s.value,event:n});r&&(l.value=r)},openOnSelect:(e,t,n)=>{let r=f.value.select({id:e,value:t,selected:new Map(g.value),opened:new Set(l.value),children:o.value,parents:s.value,event:n});r&&(l.value=r)},select:(e,t,n)=>{v.emit(`click:select`,{id:e,value:t,path:_(e),event:n});let r=d.value.select({id:e,value:t,selected:new Map(g.value),children:o.value,parents:s.value,disabled:c.value,event:n});r&&(g.value=r),S.root.openOnSelect(e,t,n)},activate:(t,n,r)=>{if(!e.activatable)return S.root.select(t,!0,r);v.emit(`click:activate`,{id:t,value:n,path:_(t),event:r});let i=u.value.activate({id:t,value:n,activated:new Set(h.value),children:o.value,parents:s.value,event:r});if(i.size!==h.value.size)h.value=i;else{for(let e of i)if(!h.value.has(e)){h.value=i;return}for(let e of h.value)if(!i.has(e)){h.value=i;return}}},children:o,parents:s,disabled:c,getPath:_}};return Vn(ix,S),S.root},cx=(e,t,n)=>{let r=z(ix,ax),i=Symbol(`nested item`),a=G(()=>{let t=M(Qt(e));return t===void 0?i:t}),o={...r,id:a,open:(e,t)=>r.root.open(a.value,e,t),openOnSelect:(e,t)=>r.root.openOnSelect(a.value,e,t),isOpen:G(()=>r.root.opened.value.has(a.value)),parent:G(()=>r.root.parents.value.get(a.value)),activate:(e,t)=>r.root.activate(a.value,e,t),isActivated:G(()=>r.root.activated.value.has(a.value)),scrollToActive:r.root.scrollToActive,select:(e,t)=>r.root.select(a.value,e,t),isSelected:G(()=>r.root.selected.value.get(a.value)===`on`),isIndeterminate:G(()=>r.root.selected.value.get(a.value)===`indeterminate`),isLeaf:G(()=>!r.root.children.value.get(a.value)),isGroupActivator:r.isGroupActivator};return Wr(()=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||Dn(()=>{r.root.register(a.value,r.id.value,Qt(t),n)})}),Jr(()=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||r.root.unregister(a.value)}),B(a,(e,i)=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||(r.root.unregister(i),Dn(()=>{r.root.register(e,r.id.value,Qt(t),n)}))}),B(()=>Qt(t),e=>{r.root.updateDisabled(a.value,e)}),n&&Vn(ix,o),o},lx=()=>{Vn(ix,{...z(ix,ax),isGroupActivator:!0})},ux=Su({name:`VListGroupActivator`,setup(e,{slots:t}){return lx(),()=>t.default?.()}}),dx=J({activeColor:String,baseColor:String,color:String,collapseIcon:{type:zu,default:`$collapse`},disabled:Boolean,expandIcon:{type:zu,default:`$expand`},rawId:[String,Number],prependIcon:zu,appendIcon:zu,fluid:Boolean,subgroup:Boolean,title:String,value:null,...Y(),...iv()},`VListGroup`),fx=X()({name:`VListGroup`,props:dx(),setup(e,{slots:t}){let{isOpen:n,open:r,id:i}=cx(()=>e.value,()=>e.disabled,!0),a=G(()=>`v-list-group--id-${String(e.rawId??i.value)}`),o=Ub(),{isBooted:s}=mb(),c=z(ix),l=L(()=>c?.root?.itemsRegistration.value===`render`);function u(e){[`INPUT`,`TEXTAREA`].includes(e.target?.tagName)||r(!n.value,e)}let d=G(()=>({onClick:u,class:`v-list-group__header`,id:a.value})),f=G(()=>n.value?e.collapseIcon:e.expandIcon),p=G(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&f.value,appendIcon:e.appendIcon||!e.subgroup&&f.value,title:e.title,value:e.value}}));return Z(()=>U(e.tag,{class:j([`v-list-group`,{"v-list-group--prepend":o?.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":n.value},e.class]),style:A(e.style)},{default:()=>[t.activator&&U(Dv,{defaults:p.value},{default:()=>[U(ux,null,{default:()=>[t.activator({props:d.value,isOpen:n.value})]})]}),U(rb,{transition:{component:Zy},disabled:!s.value},{default:()=>[l.value?zn(H(`div`,{class:`v-list-group__items`,role:`group`,"aria-labelledby":a.value},[t.default?.()]),[[$o,n.value]]):n.value&&H(`div`,{class:`v-list-group__items`,role:`group`,"aria-labelledby":a.value},[t.default?.()])]})]})),{isOpen:n}}}),px=J({opacity:[Number,String],...Y(),...iv()},`VListItemSubtitle`),mx=X()({name:`VListItemSubtitle`,props:px(),setup(e,{slots:t}){return Z(()=>U(e.tag,{class:j([`v-list-item-subtitle`,e.class]),style:A([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},t)),{}}}),hx=wu(`v-list-item-title`),gx=J({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:zu,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:zu,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,prependGap:[Number,String],subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,index:Number,tabindex:[Number,String],onClick:Vc(),onClickOnce:Vc(),...Y_(),...Y(),...Q_(),...Rv(),...ev(),...nv(),...ny(),...iv(),...Pf(),...fv({variant:`text`})},`VListItem`),_x=X()({name:`VListItem`,directives:{vRipple:Dy},props:gx(),emits:{click:e=>!0},setup(e,{attrs:t,slots:n,emit:r}){let i=ty(e,t),a=P(),{activate:o,isActivated:s,select:c,isOpen:l,isSelected:u,isIndeterminate:d,isGroupActivator:f,root:p,parent:m,openOnSelect:h,scrollToActive:g,id:_}=cx(G(()=>e.value===void 0?i.href.value:e.value),()=>e.disabled,!1),v=Ub(),y=G(()=>e.active!==!1&&(e.active||i.isActive?.value||(p.activatable.value?s.value:u.value))),b=L(()=>e.link!==!1&&i.isLink.value),x=G(()=>!!v&&(p.selectable.value||p.activatable.value||e.value!=null)),S=G(()=>!e.disabled&&e.link!==!1&&(e.link||i.isClickable.value||x.value)),C=G(()=>v&&v.navigationStrategy.value===`track`&&e.index!==void 0&&v.trackingIndex.value===e.index),w=G(()=>v?b.value?`link`:x.value?`option`:`listitem`:void 0),T=G(()=>{if(x.value)return p.activatable.value?s.value:p.selectable.value?u.value:y.value}),E=L(()=>e.rounded||e.nav),ee=L(()=>e.color??e.activeColor),te=L(()=>({color:y.value?ee.value??e.baseColor:e.baseColor,variant:e.variant}));B(()=>i.isActive?.value,e=>{e&&D()}),B(s,e=>{!e||!g||a.value?.scrollIntoView({block:`nearest`,behavior:`instant`})}),B(C,e=>{e&&a.value?.scrollIntoView({block:`nearest`,behavior:`instant`})}),Wr(()=>{i.isActive?.value&&Dn(()=>D())});function D(){m.value!=null&&p.open(m.value,!0),h(!0)}let{themeClasses:ne}=Kf(e),{borderClasses:re}=X_(e),{colorClasses:ie,colorStyles:ae,variantClasses:O}=pv(te),{densityClasses:k}=$_(e),{dimensionStyles:oe}=zv(e),{elevationClasses:se}=tv(e),{roundedClasses:ce}=rv(E),le=L(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),ue=L(()=>e.ripple!==void 0&&e.ripple&&v?.filterable?{keys:[`Enter`]}:e.ripple),A=G(()=>({isActive:y.value,select:c,isOpen:l.value,isSelected:u.value,isIndeterminate:d.value,isDisabled:e.disabled}));function de(t){r(`click`,t),![`INPUT`,`TEXTAREA`].includes(t.target?.tagName)&&S.value&&(i.navigate.value?.(t),!f&&(p.activatable.value?o(!s.value,t):(p.selectable.value||e.value!=null&&!b.value)&&c(!u.value,t)))}function fe(e){let t=e.target;[`INPUT`,`TEXTAREA`].includes(t.tagName)||(e.key===`Enter`||e.key===` `&&!v?.filterable)&&(e.preventDefault(),e.stopPropagation(),e.target.dispatchEvent(new MouseEvent(`click`,e)))}return Z(()=>{let t=b.value?`a`:e.tag,r=n.title||e.title!=null,o=n.subtitle||e.subtitle!=null,s=!!(e.appendAvatar||e.appendIcon||n.append),c=!!(e.prependAvatar||e.prependIcon||n.prepend);return v?.updateHasPrepend(c),e.activeColor&&nc(`active-color`,[`color`,`base-color`]),zn(U(t,W(i.linkProps,{ref:a,id:e.index!==void 0&&v?`v-list-item-${v.uid}-${e.index}`:void 0,class:[`v-list-item`,{"v-list-item--active":y.value,"v-list-item--disabled":e.disabled,"v-list-item--link":S.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!c&&v?.hasPrepend.value,"v-list-item--slim":e.slim,"v-list-item--focus-visible":C.value,[`${e.activeClass}`]:e.activeClass&&y.value},ne.value,re.value,ie.value,k.value,se.value,le.value,ce.value,O.value,e.class],style:[{"--v-list-prepend-gap":q(e.prependGap)},ae.value,oe.value,e.style],tabindex:e.tabindex??(S.value?v?-2:0:void 0),"aria-selected":T.value,role:w.value,onClick:de,onKeydown:S.value&&!b.value&&fe}),{default:()=>[dv(S.value||y.value,`v-list-item`),c&&H(`div`,{key:`prepend`,class:`v-list-item__prepend`},[n.prepend?U(Dv,{key:`prepend-defaults`,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[n.prepend?.(A.value)]}):H(V,null,[e.prependAvatar&&U(Cb,{key:`prepend-avatar`,density:e.density,image:e.prependAvatar},null),e.prependIcon&&U(Mv,{key:`prepend-icon`,density:e.density,icon:e.prependIcon},null)]),H(`div`,{class:`v-list-item__spacer`},null)]),H(`div`,{class:`v-list-item__content`,"data-no-activator":``},[r&&U(hx,{key:`title`},{default:()=>[n.title?.({title:e.title})??xe(e.title)]}),o&&U(mx,{key:`subtitle`},{default:()=>[n.subtitle?.({subtitle:e.subtitle})??xe(e.subtitle)]}),n.default?.(A.value)]),s&&H(`div`,{key:`append`,class:`v-list-item__append`},[n.append?U(Dv,{key:`append-defaults`,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[n.append?.(A.value)]}):H(V,null,[e.appendIcon&&U(Mv,{key:`append-icon`,density:e.density,icon:e.appendIcon},null),e.appendAvatar&&U(Cb,{key:`append-avatar`,density:e.density,image:e.appendAvatar},null)]),H(`div`,{class:`v-list-item__spacer`},null)])]}),[[Dy,S.value&&ue.value]])}),{activate:o,isActivated:s,isGroupActivator:f,isSelected:u,list:v,select:c,root:p,id:_,link:i}}}),vx=J({color:String,inset:Boolean,sticky:Boolean,title:String,...Y(),...iv()},`VListSubheader`),yx=X()({name:`VListSubheader`,props:vx(),setup(e,{slots:t}){let{textColorClasses:n,textColorStyles:r}=ov(()=>e.color);return Z(()=>{let i=!!(t.default||e.title);return U(e.tag,{class:j([`v-list-subheader`,{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},n.value,e.class]),style:A([{textColorStyles:r},e.style])},{default:()=>[i&&H(`div`,{class:`v-list-subheader__text`},[t.default?.()??e.title])]})}),{}}}),bx=J({items:Array,returnObject:Boolean},`VListChildren`),xx=X()({name:`VListChildren`,props:bx(),setup(e,{slots:t}){return Hb(),()=>t.default?.()??e.items?.map(({children:n,props:r,type:i,raw:a},o)=>{if(i===`divider`)return t.divider?.({props:r})??U(zb,r,null);if(i===`subheader`)return t.subheader?.({props:r})??U(yx,r,null);let s={subtitle:t.subtitle?e=>t.subtitle?.({...e,item:a}):void 0,prepend:t.prepend?e=>t.prepend?.({...e,item:a}):void 0,append:t.append?e=>t.append?.({...e,item:a}):void 0,title:t.title?e=>t.title?.({...e,item:a}):void 0},c=fx.filterProps(r);return n?U(fx,W(c,{value:e.returnObject?a:r?.value,rawId:r?.value}),{activator:({props:n})=>{let i=W(r,n,{value:e.returnObject?a:r.value});return t.header?t.header({props:i}):U(_x,W(i,{index:o}),s)},default:()=>U(xx,{items:n,returnObject:e.returnObject},t)}):t.item?t.item({props:{...r,index:o}}):U(_x,W(r,{index:o,value:e.returnObject?a:r.value}),s)})}}),Sx=J({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:`title`},itemValue:{type:[String,Array,Function],default:`value`},itemChildren:{type:[Boolean,String,Array,Function],default:`children`},itemProps:{type:[Boolean,String,Array,Function],default:`props`},itemType:{type:[Boolean,String,Array,Function],default:`type`},returnObject:Boolean,valueComparator:Function},`list-items`),Cx=new Set([`item`,`divider`,`subheader`]);function wx(e,t){let n=lc(t,e.itemTitle,t),r=lc(t,e.itemValue,n),i=lc(t,e.itemChildren),a=e.itemProps===!0?typeof t==`object`&&t&&!Array.isArray(t)?`children`in t?yc(t,[`children`]):t:void 0:lc(t,e.itemProps),o=lc(t,e.itemType,`item`);Cx.has(o)||(o=`item`);let s={title:n,value:r,...a};return{type:o,title:String(s.title??``),value:s.value,props:s,children:o===`item`&&Array.isArray(i)?Tx(e,i):void 0,raw:t}}wx.neededProps=[`itemTitle`,`itemValue`,`itemChildren`,`itemProps`,`itemType`];function Tx(e,t){let n=_c(e,wx.neededProps),r=[];for(let e of t)r.push(wx(n,e));return r}function Ex(e){let t=G(()=>Tx(e,e.items)),n=G(()=>t.value.some(e=>e.value===null)),r=F(new Map),i=F([]);Gn(()=>{let e=t.value,n=new Map,a=[];for(let t=0;te):t.map(({value:e})=>e)}return{items:t,transformIn:a,transformOut:o}}var Dx=new Set([`item`,`divider`,`subheader`]);function Ox(e,t){let n=tl(t)?t:lc(t,e.itemTitle),r=tl(t)?t:lc(t,e.itemValue,void 0),i=lc(t,e.itemChildren),a=e.itemProps===!0?yc(t,[`children`]):lc(t,e.itemProps),o=lc(t,e.itemType,`item`);Dx.has(o)||(o=`item`);let s={title:n,value:r,...a};return{type:o,title:s.title,value:s.value,props:s,children:o===`item`&&i?kx(e,i):void 0,raw:t}}function kx(e,t){let n=[];for(let r of t)n.push(Ox(e,r));return n}function Ax(e){return{items:G(()=>kx(e,e.items))}}var jx=J({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:zu,collapseIcon:zu,lines:{type:[Boolean,String],default:`one`},slim:Boolean,prependGap:[Number,String],indent:[Number,String],nav:Boolean,navigationStrategy:{type:String,default:`focus`},navigationIndex:Number,"onClick:open":Vc(),"onClick:select":Vc(),"onUpdate:opened":Vc(),...ox({selectStrategy:`single-leaf`,openStrategy:`list`}),...Y_(),...Y(),...Q_(),...Rv(),...ev(),...Sx(),...nv(),...iv(),...Pf(),...fv({variant:`text`})},`VList`),Mx=X()({name:`VList`,props:jx(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"update:navigationIndex":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,{attrs:t,slots:n,emit:r}){let{items:i}=Ax(e),{themeClasses:a}=Kf(e),{backgroundColorClasses:o,backgroundColorStyles:s}=sv(()=>e.bgColor),{borderClasses:c}=X_(e),{densityClasses:l}=$_(e),{dimensionStyles:u}=zv(e),{elevationClasses:d}=tv(e),{roundedClasses:f}=rv(e),{children:p,open:m,parents:h,select:g,getPath:_}=sx(e,{items:i,returnObject:L(()=>e.returnObject),scrollToActive:L(()=>e.navigationStrategy===`track`),valueComparator:L(()=>e.valueComparator)}),v=L(()=>e.lines?`v-list--${e.lines}-line`:void 0),y=L(()=>e.activeColor),b=L(()=>e.baseColor),x=L(()=>e.color),S=L(()=>e.selectable||e.activatable),C=Zu(e,`navigationIndex`,-1,e=>e??-1),w=Er();Hb({filterable:e.filterable,trackingIndex:C,navigationStrategy:L(()=>e.navigationStrategy),uid:w}),B(i,()=>{e.navigationStrategy===`track`&&(C.value=-1)}),yu({VListGroup:{activeColor:y,baseColor:b,color:x,expandIcon:L(()=>e.expandIcon),collapseIcon:L(()=>e.collapseIcon)},VListItem:{activeClass:L(()=>e.activeClass),activeColor:y,baseColor:b,color:x,density:L(()=>e.density),disabled:L(()=>e.disabled),lines:L(()=>e.lines),nav:L(()=>e.nav),slim:L(()=>e.slim),variant:L(()=>e.variant),tabindex:L(()=>e.navigationStrategy===`track`?-1:void 0)}});let T=F(!1),E=P();function ee(e){T.value=!0}function te(e){T.value=!1}function D(t){e.navigationStrategy===`track`?~C.value||(C.value=ie(`first`)):!T.value&&!(t.relatedTarget&&E.value?.contains(t.relatedTarget))&&k()}function ne(){e.navigationStrategy===`track`&&(C.value=-1)}function re(e){switch(e){case`ArrowDown`:return`next`;case`ArrowUp`:return`prev`;case`Home`:return`first`;case`End`:return`last`;default:return null}}function ie(e){let t=i.value.length;if(t===0)return-1;let n;e===`first`?n=0:e===`last`?n=t-1:(n=C.value+(e===`next`?1:-1),n<0&&(n=t-1),n>=t&&(n=0));let r=n,a=0;for(;a=t&&(n=0),n===r)return-1;a++}return-1}function ae(t){let n=t.target;if(!E.value||n.tagName===`INPUT`&&[`Home`,`End`].includes(t.key)||n.tagName===`TEXTAREA`)return;let r=re(t.key);if(r!==null)if(t.preventDefault(),e.navigationStrategy===`track`){let e=ie(r);e!==-1&&(C.value=e)}else k(r)}function O(e){T.value=!0}function k(e,t){if(E.value)return Kc(E.value,e,t)}return Z(()=>{let r=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0),p=S.value?t.ariaMultiselectable??!String(e.selectStrategy).startsWith(`single-`):void 0;return U(e.tag,{ref:E,class:j([`v-list`,{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},a.value,o.value,c.value,l.value,d.value,v.value,f.value,e.class]),style:A([{"--v-list-indent":q(r),"--v-list-group-prepend":r?`0px`:void 0,"--v-list-prepend-gap":q(e.prependGap)},s.value,u.value,e.style]),tabindex:e.disabled?-1:0,role:S.value?`listbox`:`list`,"aria-activedescendant":e.navigationStrategy===`track`&&C.value>=0?`v-list-item-${w}-${C.value}`:void 0,"aria-multiselectable":p,onFocusin:ee,onFocusout:te,onFocus:D,onBlur:ne,onKeydown:ae,onMousedown:O},{default:()=>[U(xx,{items:i.value,returnObject:e.returnObject},n)]})}),{open:m,select:g,focus:k,children:p,parents:h,getPath:_,navigationIndex:C}}}),Nx=J({scrollable:Boolean,...Y(),...Rv(),...iv({tag:`main`})},`VMain`),Px=X()({name:`VMain`,props:Nx(),setup(e,{slots:t}){let{dimensionStyles:n}=zv(e),{mainStyles:r}=ep(),{ssrBootStyles:i}=mb();return Z(()=>U(e.tag,{class:j([`v-main`,{"v-main--scrollable":e.scrollable},e.class]),style:A([r.value,i.value,n.value,e.style])},{default:()=>[e.scrollable?H(`div`,{class:`v-main__scroller`},[t.default?.()]):t.default?.()]})),{}}});function Fx(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ix(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Lx(e,t){if(e.side===`top`||e.side===`bottom`){let{side:n,align:r}=e;return Fx({x:r===`left`?0:r===`center`?t.width/2:r===`right`?t.width:r,y:n===`top`?0:n===`bottom`?t.height:n},t)}else if(e.side===`left`||e.side===`right`){let{side:n,align:r}=e;return Fx({x:n===`left`?0:n===`right`?t.width:n,y:r===`top`?0:r===`center`?t.height/2:r===`bottom`?t.height:r},t)}return Fx({x:t.width/2,y:t.height/2},t)}var Rx={static:Vx,connected:Ux},zx=J({locationStrategy:{type:[String,Function],default:`static`,validator:e=>typeof e==`function`||e in Rx},location:{type:String,default:`bottom`},origin:{type:String,default:`auto`},offset:[Number,String,Array],stickToTarget:Boolean,viewportMargin:{type:[Number,String],default:12}},`VOverlay-location-strategies`);function Bx(e,t){let n=P({}),r=P();K&&Xu(()=>!!(t.isActive.value&&e.locationStrategy),s=>{B(()=>e.locationStrategy,s),Oe(()=>{window.removeEventListener(`resize`,i),visualViewport?.removeEventListener(`resize`,a),visualViewport?.removeEventListener(`scroll`,o),r.value=void 0}),window.addEventListener(`resize`,i,{passive:!0}),visualViewport?.addEventListener(`resize`,a,{passive:!0}),visualViewport?.addEventListener(`scroll`,o,{passive:!0}),typeof e.locationStrategy==`function`?r.value=e.locationStrategy(t,e,n)?.updateLocation:r.value=Rx[e.locationStrategy](t,e,n)?.updateLocation});function i(e){r.value?.(e)}function a(e){r.value?.(e)}function o(e){r.value?.(e)}return{contentStyles:n,updateLocation:r}}function Vx(){}function Hx(e,t){let n=_l(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function Ux(e,t,n){(Array.isArray(e.target.value)||Lu(e.target.value))&&Object.assign(n.value,{position:`fixed`,top:0,[e.isRtl.value?`right`:`left`]:0});let{preferredAnchor:r,preferredOrigin:i}=Rc(()=>{let n=sl(t.location,e.isRtl.value),r=t.origin===`overlap`?n:t.origin===`auto`?ll(n):sl(t.origin,e.isRtl.value);return n.side===r.side&&n.align===ul(r).align?{preferredAnchor:dl(n),preferredOrigin:dl(r)}:{preferredAnchor:n,preferredOrigin:r}}),[a,o,s,c]=[`minWidth`,`minHeight`,`maxWidth`,`maxHeight`].map(e=>G(()=>{let n=parseFloat(t[e]);return isNaN(n)?1/0:n})),l=G(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset==`string`){let e=t.offset.split(` `).map(parseFloat);return e.length<2&&e.push(0),e}return typeof t.offset==`number`?[t.offset,0]:[0,0]}),u=!1,d=-1,f=new Lc(4),p=new ResizeObserver(()=>{if(!u)return;if(requestAnimationFrame(e=>{e!==d&&f.clear(),requestAnimationFrame(e=>{d=e})}),f.isFull){let e=f.values();if(Du(e.at(-1),e.at(-3))&&!Du(e.at(-1),e.at(-2)))return}let e=h();e&&f.push(e.flipped)}),m=new pl({x:0,y:0,width:0,height:0});B(e.target,(e,t)=>{t&&!Array.isArray(t)&&p.unobserve(t),Array.isArray(e)?Du(e,t)||h():e&&p.observe(e)},{immediate:!0}),B(e.contentEl,(e,t)=>{t&&p.unobserve(t),e&&p.observe(e)},{immediate:!0}),Oe(()=>{p.disconnect()});function h(){if(u=!1,requestAnimationFrame(()=>u=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(m=hl(e.target.value));let d=Hx(e.contentEl.value,e.isRtl.value),f=Pu(e.contentEl.value),p=Number(t.viewportMargin);f.length||(f.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(d.x-=parseFloat(document.documentElement.style.getPropertyValue(`--v-body-scroll-x`)||0),d.y-=parseFloat(document.documentElement.style.getPropertyValue(`--v-body-scroll-y`)||0)));let h=f.reduce((e,t)=>{let n=gl(t);return e?new pl({x:Math.max(e.left,n.left),y:Math.max(e.top,n.top),width:Math.min(e.right,n.right)-Math.max(e.left,n.left),height:Math.min(e.bottom,n.bottom)-Math.max(e.top,n.top)}):n},void 0);t.stickToTarget?(h.x+=Math.min(p,m.x),h.y+=Math.min(p,m.y),h.width=Math.max(h.width-p*2,m.x+m.width-p),h.height=Math.max(h.height-p*2,m.y+m.height-p)):(h.x+=p,h.y+=p,h.width-=p*2,h.height-=p*2);let g={anchor:r.value,origin:i.value};function _(e){let t=new pl(d),{x:n,y:r}=Ix(Lx(e.anchor,m),Lx(e.origin,t));switch(e.anchor.side){case`top`:r-=l.value[0];break;case`bottom`:r+=l.value[0];break;case`left`:n-=l.value[0];break;case`right`:n+=l.value[0];break}switch(e.anchor.align){case`top`:r-=l.value[1];break;case`bottom`:r+=l.value[1];break;case`left`:n-=l.value[1];break;case`right`:n+=l.value[1];break}return t.x+=n,t.y+=r,t.width=Math.min(t.width,s.value),t.height=Math.min(t.height,c.value),{overflows:ml(t,h),x:n,y:r}}let v=0,y=0,b={x:0,y:0},x={x:!1,y:!1},S=-1;for(;;){if(S++>10){tc(`Infinite loop detected in connectedLocationStrategy`);break}let{x:e,y:t,overflows:n}=_(g);v+=e,y+=t,d.x+=e,d.y+=t;{let e=fl(g.anchor),t=n.x.before||n.x.after,r=n.y.before||n.y.after,i=!1;if([`x`,`y`].forEach(a=>{if(a===`x`&&t&&!x.x||a===`y`&&r&&!x.y){let t={anchor:{...g.anchor},origin:{...g.origin}},r=a===`x`?e===`y`?ul:ll:e===`y`?ll:ul;t.anchor=r(t.anchor),t.origin=r(t.origin);let{overflows:o}=_(t);(o[a].before<=n[a].before&&o[a].after<=n[a].after||o[a].before+o[a].after<(n[a].before+n[a].after)/2)&&(g=t,i=x[a]=!0)}}),i)continue}n.x.before&&(v+=n.x.before,d.x+=n.x.before),n.x.after&&(v-=n.x.after,d.x-=n.x.after),n.y.before&&(y+=n.y.before,d.y+=n.y.before),n.y.after&&(y-=n.y.after,d.y-=n.y.after);{let e=ml(d,h);b.x=h.width-e.x.before-e.x.after,b.y=h.height-e.y.before-e.y.after,v+=e.x.before,d.x+=e.x.before,y+=e.y.before,d.y+=e.y.before}break}let C=fl(g.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${g.anchor.side} ${g.anchor.align}`,transformOrigin:`${g.origin.side} ${g.origin.align}`,top:q(Wx(y)),left:e.isRtl.value?void 0:q(Wx(v)),right:e.isRtl.value?q(Wx(-v)):void 0,minWidth:q(C===`y`?Math.min(a.value,m.width):a.value),maxWidth:q(Gx(Oc(b.x,a.value===1/0?0:a.value,s.value))),maxHeight:q(Gx(Oc(b.y,o.value===1/0?0:o.value,c.value)))}),{available:b,contentBox:d,flipped:x}}return B(()=>[r.value,i.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>h()),Dn(()=>{let e=h();if(!e)return;let{available:t,contentBox:n}=e;n.height>t.y&&requestAnimationFrame(()=>{h(),requestAnimationFrame(()=>{h()})})}),{updateLocation:h}}function Wx(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function Gx(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}var Kx=!0,qx=[];function Jx(e){!Kx||qx.length?(qx.push(e),Xx()):(Kx=!1,e(),Xx())}var Yx=-1;function Xx(){cancelAnimationFrame(Yx),Yx=requestAnimationFrame(()=>{let e=qx.shift();e&&e(),qx.length?Xx():Kx=!0})}var Zx={none:null,close:eS,block:tS,reposition:nS},Qx=J({scrollStrategy:{type:[String,Function],default:`block`,validator:e=>typeof e==`function`||e in Zx}},`VOverlay-scroll-strategies`);function $x(e,t){if(!K)return;let n;Gn(async()=>{n?.stop(),t.isActive.value&&e.scrollStrategy&&(n=Ee(),await new Promise(e=>setTimeout(e)),n.active&&n.run(()=>{typeof e.scrollStrategy==`function`?e.scrollStrategy(t,e,n):Zx[e.scrollStrategy]?.(t,e,n)}))}),Oe(()=>{n?.stop()})}function eS(e){function t(t){e.isActive.value=!1}iS(rS(e.target.value,e.contentEl.value),t)}function tS(e,t){let n=e.root.value?.offsetParent,r=rS(e.target.value,e.contentEl.value),i=[...new Set([...Pu(r,t.contained?n:void 0),...Pu(e.contentEl.value,t.contained?n:void 0)])].filter(e=>!e.classList.contains(`v-overlay-scroll-blocked`)),a=window.innerWidth-document.documentElement.offsetWidth,o=(e=>Fu(e)&&e)(n||document.documentElement);o&&e.root.value.classList.add(`v-overlay--scroll-blocked`),i.forEach((e,t)=>{e.style.setProperty(`--v-body-scroll-x`,q(-e.scrollLeft)),e.style.setProperty(`--v-body-scroll-y`,q(-e.scrollTop)),(e!==document.documentElement||getComputedStyle(e).overflowY!==`scroll`)&&e.style.setProperty(`--v-scrollbar-offset`,q(a)),e.classList.add(`v-overlay-scroll-blocked`)}),Oe(()=>{i.forEach((e,t)=>{let n=parseFloat(e.style.getPropertyValue(`--v-body-scroll-x`)),r=parseFloat(e.style.getPropertyValue(`--v-body-scroll-y`)),i=e.style.scrollBehavior;e.style.scrollBehavior=`auto`,e.style.removeProperty(`--v-body-scroll-x`),e.style.removeProperty(`--v-body-scroll-y`),e.style.removeProperty(`--v-scrollbar-offset`),e.classList.remove(`v-overlay-scroll-blocked`),e.scrollLeft=-n,e.scrollTop=-r,e.style.scrollBehavior=i}),o&&e.root.value.classList.remove(`v-overlay--scroll-blocked`)})}function nS(e,t,n){let r=!1,i=-1,a=-1;function o(t){Jx(()=>{let n=performance.now();e.updateLocation.value?.(t),r=(performance.now()-n)/(1e3/60)>2})}a=(typeof requestIdleCallback>`u`?e=>e():requestIdleCallback)(()=>{n.run(()=>{iS(rS(e.target.value,e.contentEl.value),e=>{r?(cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=requestAnimationFrame(()=>{o(e)})})):o(e)})})}),Oe(()=>{typeof cancelIdleCallback<`u`&&cancelIdleCallback(a),cancelAnimationFrame(i)})}function rS(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(e=>!t?.contains(e)):e??t}function iS(e,t){let n=[document,...Pu(e)];n.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),Oe(()=>{n.forEach(e=>{e.removeEventListener(`scroll`,t)})})}var aS=Symbol.for(`vuetify:v-menu`),oS=J({closeDelay:[Number,String],openDelay:[Number,String]},`delay`);function sS(e,t){let n=()=>{};function r(r,i){n?.();let a=r?e.openDelay:e.closeDelay,o=Math.max(i?.minDelay??0,Number(a??0));return new Promise(e=>{n=Zc(o,()=>{t?.(r),e(r)})})}function i(){return r(!0)}function a(e){return r(!1,e)}return{clearDelay:n,runOpenDelay:i,runCloseDelay:a}}var cS=J({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...oS()},`VOverlay-activator`);function lS(e,{isActive:t,isTop:n,contentEl:r}){let i=pu(`useActivator`),a=P(),o=!1,s=!1,c=!0,l=G(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),u=G(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!l.value),{runOpenDelay:d,runCloseDelay:f}=sS(e,r=>{r===(e.openOnHover&&o||l.value&&s)&&!(e.openOnHover&&t.value&&!n.value)&&(t.value!==r&&(c=!0),t.value=r)}),p=!1;B(t,e=>{e||(p=!0,setTimeout(()=>p=!1,50))});let m=P(),h={onClick:e=>{p&&!t.value||(e.stopPropagation(),a.value=e.currentTarget||e.target,t.value||(m.value=[e.clientX,e.clientY]),t.value=!t.value)},onMouseenter:e=>{o=!0,a.value=e.currentTarget||e.target,d()},onMouseleave:e=>{o=!1,f()},onFocus:e=>{p||Yc(e.target,`:focus-visible`)!==!1&&(s=!0,e.stopPropagation(),a.value=e.currentTarget||e.target,d())},onBlur:e=>{let t=e.relatedTarget;!t||r.value?.contains(t)||(s=!1,e.stopPropagation(),f({minDelay:1}))}},g=G(()=>{let t={};return u.value&&(t.onClick=h.onClick),e.openOnHover&&(t.onMouseenter=h.onMouseenter,t.onMouseleave=h.onMouseleave),l.value&&(t.onFocus=h.onFocus,t.onBlur=h.onBlur),t}),_=G(()=>{let n={};if(e.openOnHover&&(n.onMouseenter=()=>{o=!0,d()},n.onMouseleave=()=>{o=!1,f()}),l.value&&(n.onFocusin=e=>{e.target.matches(`:focus-visible`)&&(s=!0,d())},n.onFocusout=e=>{let t=e.relatedTarget;!t||r.value?.contains(t)||(s=!1,f({minDelay:1}))}),e.closeOnContentClick){let e=z(aS,null);n.onClick=()=>{t.value=!1,e?.closeParents()}}return n}),v=G(()=>{let t={};return e.openOnHover&&(t.onMouseenter=()=>{c&&(o=!0,c=!1,d())},t.onMouseleave=()=>{o=!1,f()}),t});B(n,t=>{t&&(e.openOnHover&&!o&&(!l.value||!s)||l.value&&!s&&(!e.openOnHover||!o))&&!r.value?.contains(document.activeElement)&&f()}),B(t,e=>{e||setTimeout(()=>{m.value=void 0})},{flush:`post`});let y=$c();Gn(()=>{y.value&&Dn(()=>{a.value=y.el})});let b=$c(),x=G(()=>e.target===`cursor`&&m.value?m.value:b.value?b.el:dS(e.target,i)||a.value),S=G(()=>Array.isArray(x.value)?void 0:x.value),C;return B(()=>!!e.activator,t=>{t&&K?(C=Ee(),C.run(()=>{uS(e,i,{activatorEl:a,activatorEvents:g})})):C&&C.stop()},{flush:`post`,immediate:!0}),Oe(()=>{C?.stop()}),{activatorEl:a,activatorRef:y,target:x,targetEl:S,targetRef:b,activatorEvents:g,contentEvents:_,scrimEvents:v}}function uS(e,t,{activatorEl:n,activatorEvents:r}){B(()=>e.activator,(e,t)=>{if(t&&e!==t){let e=o(t);e&&a(e)}e&&Dn(()=>i())},{immediate:!0}),B(()=>e.activatorProps,()=>{i()}),Oe(()=>{a()});function i(t=o(),n=e.activatorProps){t&&bl(t,W(r.value,n))}function a(t=o(),n=e.activatorProps){t&&xl(t,W(r.value,n))}function o(r=e.activator){let i=dS(r,t);return n.value=i?.nodeType===Node.ELEMENT_NODE?i:void 0,n.value}}function dS(e,t){if(!e)return;let n;if(e===`parent`){let e=t?.proxy?.$el?.parentNode;for(;e?.hasAttribute(`data-no-activator`);)e=e.parentNode;n=e}else n=typeof e==`string`?document.querySelector(e):`$el`in e?e.$el:e;return n}var fS=J({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},`focusTrap`),pS=new Map,mS=0;function hS(){let e;for(let{isActive:t,contentEl:n}of pS.values())t.value&&n.value&&(e=n.value);return e}function gS(e){let t=document.activeElement;if(e.key!==`Tab`||!t)return;let n=Array.from(pS.values()).filter(({isActive:e,contentEl:n})=>e.value&&n.value?.contains(t)).map(e=>e.contentEl.value),r,i=t;for(;i;){if(n.includes(i)){r=i;break}i=i.parentElement}if(!r){let t=hS();if(!t)return;let n=Wc(t).filter(e=>e.tabIndex>=0);e.preventDefault(),n.length?e.shiftKey?n[n.length-1].focus():n[0].focus():t.focus({preventScroll:!0});return}let a=Wc(r).filter(e=>e.tabIndex>=0);if(!a.length)return;if(a.length===1&&a[0].classList.contains(`v-list`)&&a[0].contains(t)){e.preventDefault();return}let o=a[0],s=a[a.length-1],c=t===o||t===r||o.classList.contains(`v-list`)&&o.contains(t),l=t===s||s.classList.contains(`v-list`)&&s.contains(t);e.shiftKey&&c&&(e.preventDefault(),s.focus()),!e.shiftKey&&l&&(e.preventDefault(),o.focus())}function _S(e,{isActive:t,localTop:n,contentEl:r}){let i=Symbol(`trap`),a=!1,o=-1;async function s(){a=!0,o=window.setTimeout(()=>{a=!1},100)}async function c(e){let i=e.relatedTarget,o=e.target;document.removeEventListener(`pointerdown`,s),document.removeEventListener(`keydown`,l),await Dn(),t.value&&!a&&i!==o&&r.value&&Qt(n)&&![document,r.value].includes(o)&&!r.value.contains(o)&&Wc(r.value)[0]?.focus()}function l(e){if(e.key===`Tab`&&(document.removeEventListener(`keydown`,l),t.value&&r.value&&e.target&&!r.value.contains(e.target))){let t=Wc(document.documentElement);if(e.shiftKey&&e.target===t.at(0)||!e.shiftKey&&e.target===t.at(-1)){let t=Wc(r.value);t.length>0&&(e.preventDefault(),t[0].focus())}}}let u=L(()=>t.value&&e.captureFocus&&!e.disableInitialFocus);K&&(B(()=>e.retainFocus,e=>{e?pS.set(i,{isActive:t,contentEl:r}):pS.delete(i)},{immediate:!0}),B(u,e=>{e?(document.addEventListener(`pointerdown`,s),document.addEventListener(`focusin`,c,{once:!0}),document.addEventListener(`keydown`,l)):(document.removeEventListener(`pointerdown`,s),document.removeEventListener(`focusin`,c),document.removeEventListener(`keydown`,l))},{immediate:!0}),mS++<1&&document.addEventListener(`keydown`,gS)),Oe(()=>{pS.delete(i),K&&(clearTimeout(o),document.removeEventListener(`pointerdown`,s),document.removeEventListener(`focusin`,c),document.removeEventListener(`keydown`,l),--mS<1&&document.removeEventListener(`keydown`,gS))})}function vS(){if(!K)return F(!1);let{ssr:e}=Cf();if(e){let e=F(!1);return Gr(()=>{e.value=!0}),e}else return F(!0)}var yS=J({eager:Boolean},`lazy`);function bS(e,t){let n=F(!1),r=L(()=>n.value||e.eager||t.value);B(t,()=>n.value=!0);function i(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:r,onAfterLeave:i}}function xS(){let e=pu(`useScopeId`).vnode.scopeId;return{scopeId:e?{[e]:``}:void 0}}var SS=Symbol.for(`vuetify:stack`),CS=zt([]);function wS(e,t,n){let r=pu(`useStack`),i=!n,a=z(SS,void 0),o=zt({activeChildren:new Set});Vn(SS,o);let s=F(Number(Qt(t)));Xu(e,()=>{let e=CS.at(-1)?.[1];s.value=e?e+10:Number(Qt(t)),i&&CS.push([r.uid,s.value]),a?.activeChildren.add(r.uid),Oe(()=>{if(i){let e=M(CS).findIndex(e=>e[0]===r.uid);CS.splice(e,1)}a?.activeChildren.delete(r.uid)})});let c=F(!0);return i&&Gn(()=>{let e=CS.at(-1)?.[0]===r.uid;setTimeout(()=>c.value=e)}),{globalTop:Vt(c),localTop:L(()=>!o.activeChildren.size),stackStyles:L(()=>({zIndex:s.value}))}}function TS(e){return{teleportTarget:G(()=>{let t=e();if(t===!0||!K)return;let n=t===!1?document.body:typeof t==`string`?document.querySelector(t):t;if(n==null){xo(`Unable to locate target ${t}`);return}let r=[...n.children].find(e=>e.matches(`.v-overlay-container`));return r||(r=document.createElement(`div`),r.className=`v-overlay-container`,n.appendChild(r)),r})}}function ES(){return!0}function DS(e,t,n){if(!e||OS(e,n)===!1)return!1;let r=Ou(t);if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&r.host===e.target)return!1;let i=(typeof n.value==`object`&&n.value.include||(()=>[]))();return i.push(t),!i.some(t=>t?.contains(e.target))}function OS(e,t){return(typeof t.value==`object`&&t.value.closeConditional||ES)(e)}function kS(e,t,n){let r=typeof n.value==`function`?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&DS(e,t,n)&&setTimeout(()=>{OS(e,n)&&r&&r(e)},0)}function AS(e,t){let n=Ou(e);t(document),typeof ShadowRoot<`u`&&n instanceof ShadowRoot&&t(n)}var jS={mounted(e,t){let n=n=>kS(n,e,t),r=n=>{e._clickOutside.lastMousedownWasOutside=DS(n,e,t)};AS(e,e=>{e.addEventListener(`click`,n,!0),e.addEventListener(`mousedown`,r,!0)}),e._clickOutside||={lastMousedownWasOutside:!1},e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:r}},beforeUnmount(e,t){e._clickOutside&&(AS(e,n=>{if(!n||!e._clickOutside?.[t.instance.$.uid])return;let{onClick:r,onMousedown:i}=e._clickOutside[t.instance.$.uid];n.removeEventListener(`click`,r,!0),n.removeEventListener(`mousedown`,i,!0)}),delete e._clickOutside[t.instance.$.uid])}};function MS(e){let{modelValue:t,color:n,...r}=e;return U(Fo,{name:`fade-transition`,appear:!0},{default:()=>[e.modelValue&&H(`div`,W({class:[`v-overlay__scrim`,e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},r),null)]})}var NS=J({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...cS(),...Y(),...Rv(),...yS(),...zx(),...Qx(),...fS(),...Pf(),...nb()},`VOverlay`),PS=X()({name:`VOverlay`,directives:{vClickOutside:jS},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...yc(NS(),[`disableInitialFocus`])},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,{slots:t,attrs:n,emit:r}){let i=pu(`VOverlay`),a=P(),o=P(),s=P(),c=Zu(e,`modelValue`),l=G({get:()=>c.value,set:t=>{t&&e.disabled||(c.value=t)}}),{themeClasses:u}=Kf(e),{rtlClasses:d,isRtl:f}=pd(),{hasContent:p,onAfterLeave:m}=bS(e,l),h=sv(()=>typeof e.scrim==`string`?e.scrim:null),{globalTop:g,localTop:_,stackStyles:v}=wS(l,()=>e.zIndex,e._disableGlobalStack),{activatorEl:y,activatorRef:b,target:x,targetEl:S,targetRef:C,activatorEvents:w,contentEvents:T,scrimEvents:E}=lS(e,{isActive:l,isTop:_,contentEl:s}),{teleportTarget:ee}=TS(()=>{let t=e.attach||e.contained;if(t)return t;let n=y?.value?.getRootNode()||i.proxy?.$el?.getRootNode();return n instanceof ShadowRoot?n:!1}),{dimensionStyles:te}=zv(e),D=vS(),{scopeId:ne}=xS();B(()=>e.disabled,e=>{e&&(l.value=!1)});let{contentStyles:re,updateLocation:ie}=Bx(e,{isRtl:f,contentEl:s,target:x,isActive:l});$x(e,{root:a,contentEl:s,targetEl:S,target:x,isActive:l,updateLocation:ie});function ae(t){r(`click:outside`,t),e.persistent?ue():l.value=!1}function O(t){return l.value&&_.value&&(!e.scrim||t.target===o.value||t instanceof MouseEvent&&t.shadowTarget===o.value)}_S(e,{isActive:l,localTop:_,contentEl:s});function k(){let e=y.value;if(!e||!e.isConnected||e.closest(`.v-overlay__content`)||s.value?._clickOutside?.lastMousedownWasOutside)return;let t=document.activeElement;if(!(!t||t===document.body||t===e||e.contains(t)||t.closest(`.v-overlay__content`)))return;let n=e.parentElement,r=n?Wc(n):[],i;if(r.includes(e))i=e;else{let t=Wc(e);i=t.find(e=>e.tagName===`INPUT`||e.tagName===`TEXTAREA`)??t[0]}i?.focus({preventScroll:!0})}B(l,e=>{e||k()},{flush:`post`}),K&&B(l,e=>{e?window.addEventListener(`keydown`,oe):window.removeEventListener(`keydown`,oe)},{immediate:!0}),Jr(()=>{K&&window.removeEventListener(`keydown`,oe)});function oe(t){t.key===`Escape`&&g.value&&(s.value?.contains(document.activeElement)||r(`keydown`,t),e.persistent?ue():(l.value=!1,s.value?.contains(document.activeElement)&&y.value?.focus()))}function se(e){e.key===`Escape`&&!g.value||r(`keydown`,e)}let ce=ey();Xu(()=>e.closeOnBack,()=>{iy(ce,()=>{if(g.value&&l.value)return e.persistent?ue():l.value=!1,!1})});let le=P();B(()=>l.value&&(e.absolute||e.contained)&&ee.value==null,e=>{if(e){let e=Nu(a.value);e&&e!==document.scrollingElement&&(le.value=e.scrollTop)}});function ue(){e.noClickAnimation||s.value&&vl(s.value,[{transformOrigin:`center`},{transform:`scale(1.03)`},{transformOrigin:`center`}],{duration:150,easing:`cubic-bezier(0.4, 0, 0.2, 1)`})}function A(){r(`afterEnter`)}function de(){m(),r(`afterLeave`)}return Z(()=>H(V,null,[t.activator?.({isActive:l.value,targetRef:C,props:W({ref:b},w.value,e.activatorProps)}),D.value&&p.value&&U(sr,{disabled:!ee.value,to:ee.value},{default:()=>[H(`div`,W({class:[`v-overlay`,{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":l.value,"v-overlay--contained":e.contained},u.value,d.value,e.class],style:[v.value,{"--v-overlay-opacity":e.opacity,top:q(le.value)},e.style],ref:a,onKeydown:se},ne,n),[U(MS,W({color:h,modelValue:l.value&&!!e.scrim,ref:o},E.value),null),U(rb,{appear:!0,persisted:!0,transition:e.transition,target:x.value,onAfterEnter:A,onAfterLeave:de},{default:()=>[zn(H(`div`,W({ref:s,class:[`v-overlay__content`,e.contentClass],style:[te.value,re.value]},T.value,e.contentProps),[t.default?.({isActive:l})]),[[$o,l.value],[jS,{handler:ae,closeConditional:O,include:()=>[y.value,...Array.from(document.querySelectorAll(`.v-overlay__content`))]}]])]})])]})])),{activatorEl:y,scrimEl:o,target:x,animateClick:ue,contentEl:s,rootEl:a,globalTop:g,localTop:_,updateLocation:ie}}}),FS=Symbol(`Forwarded refs`);function IS(e,t){let n=e;for(;n;){let e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Object.getPrototypeOf(n)}}function LS(e,...t){return e[FS]=t,new Proxy(e,{get(e,n){if(Reflect.has(e,n))return Reflect.get(e,n);if(!(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))){for(let e of t)if(e.value&&Reflect.has(e.value,n)){let t=Reflect.get(e.value,n);return typeof t==`function`?t.bind(e.value):t}}},has(e,n){if(Reflect.has(e,n))return!0;if(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))return!1;for(let e of t)if(e.value&&Reflect.has(e.value,n))return!0;return!1},set(e,n,r){if(Reflect.has(e,n))return Reflect.set(e,n,r);if(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))return!1;for(let e of t)if(e.value&&Reflect.has(e.value,n))return Reflect.set(e.value,n,r);return!1},getOwnPropertyDescriptor(e,n){let r=Reflect.getOwnPropertyDescriptor(e,n);if(r)return r;if(!(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))){for(let e of t){if(!e.value)continue;let t=IS(e.value,n)??(`_`in e.value?IS(e.value._?.setupState,n):void 0);if(t)return t}for(let e of t){let t=e.value&&e.value[FS];if(!t)continue;let r=t.slice();for(;r.length;){let e=r.shift(),t=IS(e.value,n);if(t)return t;let i=e.value&&e.value[FS];i&&r.push(...i)}}}}})}var RS=J({id:String,submenu:Boolean,...yc(NS({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:`connected`,location:void 0,openDelay:300,scrim:!1,scrollStrategy:`reposition`,transition:{component:Gy}}),[`absolute`])},`VMenu`),zS=X()({name:`VMenu`,props:RS(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=Zu(e,`modelValue`),{scopeId:r}=xS(),{isRtl:i}=pd(),a=Er(),o=L(()=>e.id||`v-menu-${a}`),s=P(),c=z(aS,null),l=F(new Set);Vn(aS,{register(){l.value.add(a)},unregister(){l.value.delete(a)},closeParents(t){setTimeout(()=>{!l.value.size&&!e.persistent&&(t==null||s.value?.contentEl&&!Qc(t,s.value.contentEl))&&(n.value=!1,c?.closeParents())},40)}}),Jr(()=>c?.unregister()),Lr(()=>n.value=!1),B(n,e=>{e?c?.register():c?.unregister()},{immediate:!0});function u(e){c?.closeParents(e)}function d(t){e.disabled||(t.key===`Tab`?!Gc(Wc(s.value?.contentEl,!1),t.shiftKey?`prev`:`next`,e=>e.tabIndex>=0)&&!e.retainFocus&&(n.value=!1):e.submenu&&t.key===(i.value?`ArrowRight`:`ArrowLeft`)&&(n.value=!1))}function f(t){if(e.disabled)return;let r=s.value?.contentEl;r&&n.value?t.key===`ArrowDown`?(t.preventDefault(),t.stopImmediatePropagation(),Kc(r,`next`)):t.key===`ArrowUp`?(t.preventDefault(),t.stopImmediatePropagation(),Kc(r,`prev`)):e.submenu&&(t.key===(i.value?`ArrowRight`:`ArrowLeft`)?n.value=!1:t.key===(i.value?`ArrowLeft`:`ArrowRight`)&&(t.preventDefault(),Kc(r,`first`))):(e.submenu?t.key===(i.value?`ArrowLeft`:`ArrowRight`):[`ArrowDown`,`ArrowUp`].includes(t.key))&&(n.value=!0,t.preventDefault(),setTimeout(()=>setTimeout(()=>f(t))))}let p=G(()=>W({"aria-haspopup":`menu`,"aria-expanded":String(n.value),"aria-controls":o.value,"aria-owns":o.value,onKeydown:f},e.activatorProps));return Z(()=>{let i=PS.filterProps(e);return U(PS,W({ref:s,id:o.value,class:[`v-menu`,e.class],style:e.style},i,{modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,absolute:!0,activatorProps:p.value,location:e.location??(e.submenu?`end`:`bottom`),"onClick:outside":u,onKeydown:d},r),{activator:t.activator,default:(...e)=>U(Dv,{root:`VMenu`},{default:()=>[t.default?.(...e)]})})}),LS({id:o,ΨopenChildren:l},s)}});function BS({rootEl:e,isSticky:t,layoutItemStyles:n}){let r=F(!1),i=F(0),a=G(()=>{let e=typeof r.value==`boolean`?`top`:r.value;return[t.value?{top:`auto`,bottom:`auto`,height:void 0}:void 0,r.value?{[e]:q(i.value)}:{top:n.value.top}]});Gr(()=>{B(t,e=>{e?window.addEventListener(`scroll`,s,{passive:!0}):window.removeEventListener(`scroll`,s)},{immediate:!0})}),Jr(()=>{window.removeEventListener(`scroll`,s)});let o=0;function s(){let t=o>window.scrollY?`up`:`down`,a=e.value.getBoundingClientRect(),s=parseFloat(n.value.top??0),c=window.scrollY-Math.max(0,i.value-s),l=a.height+Math.max(i.value,s)-window.scrollY-window.innerHeight,u=parseFloat(getComputedStyle(e.value).getPropertyValue(`--v-body-scroll-y`))||0;a.height0;n--){if(e[n].t===e[n-1].t)continue;let r=US(t),i=(e[n].d-e[n-1].d)/(e[n].t-e[n-1].t);t+=(i-r)*Math.abs(i),n===e.length-1&&(t*=.5)}return US(t)*1e3}function GS(){let e={};function t(t){Array.from(t.changedTouches).forEach(n=>{(e[n.identifier]??(e[n.identifier]=new Lc(HS))).push([t.timeStamp,n])})}function n(t){Array.from(t.changedTouches).forEach(t=>{delete e[t.identifier]})}function r(t){let n=e[t]?.values().reverse();if(!n)throw Error(`No samples for touch id ${t}`);let r=n[0],i=[],a=[];for(let e of n){if(r[0]-e[0]>VS)break;i.push({t:e[0],d:e[1].clientX}),a.push({t:e[0],d:e[1].clientY})}return{x:WS(i),y:WS(a),get direction(){let{x:e,y:t}=this,[n,r]=[Math.abs(e),Math.abs(t)];return n>r&&e>=0?`right`:n>r&&e<=0?`left`:r>n&&t>=0?`down`:r>n&&t<=0?`up`:KS()}}}return{addMovement:t,endTouch:n,getVelocity:r}}function KS(){throw Error()}function qS({el:e,isActive:t,isTemporary:n,width:r,touchless:i,position:a}){Gr(()=>{window.addEventListener(`touchstart`,_,{passive:!0}),window.addEventListener(`touchmove`,v,{passive:!1}),window.addEventListener(`touchend`,y,{passive:!0})}),Jr(()=>{window.removeEventListener(`touchstart`,_),window.removeEventListener(`touchmove`,v),window.removeEventListener(`touchend`,y)});let o=G(()=>[`left`,`right`].includes(a.value)),{addMovement:s,endTouch:c,getVelocity:l}=GS(),u=!1,d=F(!1),f=F(0),p=F(0),m;function h(e,t){return(a.value===`left`?e:a.value===`right`?document.documentElement.clientWidth-e:a.value===`top`?e:a.value===`bottom`?document.documentElement.clientHeight-e:JS())-(t?r.value:0)}function g(e,t=!0){let n=a.value===`left`?(e-p.value)/r.value:a.value===`right`?(document.documentElement.clientWidth-e-p.value)/r.value:a.value===`top`?(e-p.value)/r.value:a.value===`bottom`?(document.documentElement.clientHeight-e-p.value)/r.value:JS();return t?Oc(n):n}function _(e){if(i.value)return;let l=e.changedTouches[0].clientX,d=e.changedTouches[0].clientY,_=a.value===`left`?l<25:a.value===`right`?l>document.documentElement.clientWidth-25:a.value===`top`?d<25:a.value===`bottom`?d>document.documentElement.clientHeight-25:JS(),v=t.value&&(a.value===`left`?ldocument.documentElement.clientWidth-r.value:a.value===`top`?ddocument.documentElement.clientHeight-r.value:JS());(_||v||t.value&&n.value)&&(m=[l,d],p.value=h(o.value?l:d,t.value),f.value=g(o.value?l:d),u=p.value>-20&&p.value<80,c(e),s(e))}function v(e){let t=e.changedTouches[0].clientX,n=e.changedTouches[0].clientY;if(u){if(!e.cancelable){u=!1;return}let r=Math.abs(t-m[0]),i=Math.abs(n-m[1]);(o.value?r>i&&r>3:i>r&&i>3)?(d.value=!0,u=!1):(o.value?i:r)>3&&(u=!1)}if(!d.value)return;e.preventDefault(),s(e);let r=g(o.value?t:n,!1);f.value=Math.max(0,Math.min(1,r)),r>1?p.value=h(o.value?t:n,!0):r<0&&(p.value=h(o.value?t:n,!1))}function y(e){if(u=!1,!d.value)return;s(e),d.value=!1;let n=l(e.changedTouches[0].identifier),r=Math.abs(n.x),i=Math.abs(n.y);(o.value?r>i&&r>400:i>r&&i>3)?t.value=n.direction===({left:`right`,right:`left`,top:`down`,bottom:`up`}[a.value]||JS()):t.value=f.value>.5}let b=G(()=>d.value?{transform:a.value===`left`?`translateX(calc(-100% + ${f.value*r.value}px))`:a.value===`right`?`translateX(calc(100% - ${f.value*r.value}px))`:a.value===`top`?`translateY(calc(-100% + ${f.value*r.value}px))`:a.value===`bottom`?`translateY(calc(100% - ${f.value*r.value}px))`:JS(),transition:`none`}:void 0);return Xu(d,()=>{let t=e.value?.style.transform??null,n=e.value?.style.transition??null;Gn(()=>{e.value?.style.setProperty(`transform`,b.value?.transform||`none`),e.value?.style.setProperty(`transition`,b.value?.transition||null)}),Oe(()=>{e.value?.style.setProperty(`transform`,t),e.value?.style.setProperty(`transition`,n)})}),{isDragging:d,dragProgress:f,dragStyles:b}}function JS(){throw Error()}var YS=[`start`,`end`,`left`,`right`,`top`,`bottom`],XS=J({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:`start`,validator:e=>YS.includes(e)},sticky:Boolean,...Y_(),...Y(),...oS(),...Sf({mobile:null}),...ev(),...$f(),...nv(),...yc(fS(),[`disableInitialFocus`]),...iv({tag:`nav`}),...Pf()},`VNavigationDrawer`),ZS=X()({name:`VNavigationDrawer`,props:XS(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{isRtl:i}=pd(),{themeClasses:a}=Kf(e),{borderClasses:o}=X_(e),{backgroundColorClasses:s,backgroundColorStyles:c}=sv(()=>e.color),{elevationClasses:l}=tv(e),{displayClasses:u,mobile:d}=Cf(e),{roundedClasses:f}=rv(e),p=ey(),m=Zu(e,`modelValue`,null,e=>!!e),{ssrBootStyles:h}=mb(),{scopeId:g}=xS(),_=P(),v=F(!1),{runOpenDelay:y,runCloseDelay:b}=sS(e,e=>{v.value=e}),x=G(()=>e.rail&&e.expandOnHover&&v.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),S=G(()=>cl(e.location,i.value)),C=L(()=>e.persistent),w=G(()=>!e.permanent&&(d.value||e.temporary)),T=G(()=>e.sticky&&!w.value&&S.value!==`bottom`);_S(e,{isActive:m,localTop:w,contentEl:_}),Xu(()=>e.expandOnHover&&e.rail!=null,()=>{B(v,e=>n(`update:rail`,!e))}),Xu(()=>!e.disableResizeWatcher,()=>{B(w,t=>!e.permanent&&Dn(()=>m.value=!t))}),Xu(()=>!e.disableRouteWatcher&&!!p,()=>{B(p.currentRoute,()=>w.value&&(m.value=!1))}),B(()=>e.permanent,e=>{e&&(m.value=!0)}),e.modelValue==null&&!w.value&&(m.value=e.permanent||!d.value);let{isDragging:E,dragProgress:ee}=qS({el:_,isActive:m,isTemporary:w,width:x,touchless:L(()=>e.touchless),position:S}),te=G(()=>{let t=w.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):x.value;return E.value?t*ee.value:t}),{layoutItemStyles:D,layoutItemScrimStyles:ne}=tp({id:e.name,order:G(()=>parseInt(e.order,10)),position:S,layoutSize:te,elementSize:x,active:Vt(m),disableTransitions:L(()=>E.value),absolute:G(()=>e.absolute||T.value&&typeof re.value!=`string`)}),{isStuck:re,stickyStyles:ie}=BS({rootEl:_,isSticky:T,layoutItemStyles:D}),ae=sv(()=>typeof e.scrim==`string`?e.scrim:null),O=G(()=>({...E.value?{opacity:ee.value*.2,transition:`none`}:void 0,...ne.value}));return yu({VList:{bgColor:`transparent`}}),Z(()=>{let n=r.image||e.image;return H(V,null,[U(e.tag,W({ref:_,onMouseenter:y,onMouseleave:b,class:[`v-navigation-drawer`,`v-navigation-drawer--${S.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":v.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":w.value,"v-navigation-drawer--persistent":C.value,"v-navigation-drawer--active":m.value,"v-navigation-drawer--sticky":T.value},a.value,s.value,o.value,u.value,l.value,f.value,e.class],style:[c.value,D.value,h.value,ie.value,e.style],inert:!m.value},g,t),{default:()=>[n&&H(`div`,{key:`image`,class:`v-navigation-drawer__img`},[r.image?U(Dv,{key:`image-defaults`,disabled:!e.image,defaults:{VImg:{alt:``,cover:!0,height:`inherit`,src:e.image}}},r.image):U(cb,{key:`image-img`,alt:``,cover:!0,height:`inherit`,src:e.image},null)]),r.prepend&&H(`div`,{class:`v-navigation-drawer__prepend`},[r.prepend?.()]),H(`div`,{class:`v-navigation-drawer__content`},[r.default?.()]),r.append&&H(`div`,{class:`v-navigation-drawer__append`},[r.append?.()])]}),U(Fo,{name:`fade-transition`},{default:()=>[w.value&&(E.value||m.value)&&!!e.scrim&&H(`div`,W({class:[`v-navigation-drawer__scrim`,ae.backgroundColorClasses.value],style:[O.value,ae.backgroundColorStyles.value],onClick:()=>{C.value||(m.value=!1)}},g),null)]})])}),{isStuck:re}}}),QS=J({color:String,...Y_(),...Y(),...Rv(),...ev(),...Vv(),...Zv(),...nv(),...iv(),...Pf()},`VSheet`),$S=X()({name:`VSheet`,props:QS(),setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{backgroundColorClasses:r,backgroundColorStyles:i}=sv(()=>e.color),{borderClasses:a}=X_(e),{dimensionStyles:o}=zv(e),{elevationClasses:s}=tv(e),{locationStyles:c}=Hv(e),{positionClasses:l}=Qv(e),{roundedClasses:u}=rv(e);return Z(()=>U(e.tag,{class:j([`v-sheet`,n.value,r.value,a.value,s.value,l.value,u.value,e.class]),style:A([i.value,o.value,c.value,e.style])},t)),{}}}),eC=Symbol.for(`vuetify:v-snackbar-queue`);function tC(e,t){let n=z(eC,null);if(!n)return null;let r=Er();n.register(r),Jr(()=>n.unregister(r)),B(e,e=>!e&&n.unregister(r),{flush:`sync`});let{resizeRef:i,contentRect:a}=Jf();return B(t,e=>{i.value=e??null}),B(a,e=>{e?.width&&n.setSize(r,e.height,e.width)}),{id:r,offset:G(()=>n.getOffset(r))}}function nC(e){let t=F(e()),n=-1;function r(){clearInterval(n)}function i(){r(),Dn(()=>t.value=e())}function a(i){let a=i?getComputedStyle(i):{transitionDuration:.2},o=parseFloat(a.transitionDuration)*1e3||200;if(r(),t.value<=0)return;let s=performance.now();n=window.setInterval(()=>{let n=performance.now()-s+o;t.value=Math.max(e()-n,0),t.value<=0&&r()},o)}return Oe(r),{clear:r,time:t,start:a,reset:i}}var rC=J({collapsed:Object,loading:Boolean,prependAvatar:String,prependIcon:zu,queueGap:Number,queueIndex:Number,title:String,text:String,reverseTimer:Boolean,timer:{type:[Boolean,String],default:!1},timerColor:String,timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Vv({location:`bottom`}),...Zv(),...nv(),...fv(),...Pf(),...yc(NS({closeOnBack:!1,transition:`v-snackbar-transition`}),[`persistent`,`noClickAnimation`,`offset`,`retainFocus`,`captureFocus`,`disableInitialFocus`,`scrim`,`scrollStrategy`,`stickToTarget`,`viewportMargin`])},`VSnackbar`),iC=X()({name:`VSnackbar`,props:rC(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=Zu(e,`modelValue`),{positionClasses:r}=Qv(e),{scopeId:i}=xS(),{themeClasses:a}=Kf(e),{colorClasses:o,colorStyles:s,variantClasses:c}=pv(e),{roundedClasses:l}=rv(e),u=nC(()=>Number(e.timeout)),d=P(),f=tC(n,()=>d.value?.contentEl),p,m=P(),h=F(!1),g=F(!1),_=F(0),v=P(),y=z(Yf,void 0);Xu(()=>!!y,()=>{let e=ep();Gn(()=>{v.value=e.mainStyles.value})}),B(n,x),B(()=>e.timeout,x),Gr(()=>{n.value&&x()});let b=-1;function x(){u.reset(),window.clearTimeout(b);let t=Number(e.timeout);if(!n.value||t===-1)return;let r=pc(m.value);Dn(()=>u.start(r)),b=window.setTimeout(()=>{n.value=!1},t)}function S(){u.reset(),window.clearTimeout(b)}function C(){h.value=!0,S()}function w(){h.value=!1,g.value||x()}function T(){g.value=!0,S()}function E(e){(d.value?.contentEl)?.contains(e.relatedTarget)||(g.value=!1,h.value||x())}function ee(e){_.value=e.touches[0].clientY}function te(e){Math.abs(_.value-e.changedTouches[0].clientY)>50&&(n.value=!1)}function D(){h.value&&w(),g.value=!1}let ne=G(()=>e.location.split(` `).reduce((e,t)=>(e[`v-snackbar--${t}`]=!0,e),{})),re=G(()=>{let[t,n]=e.location.split(` `);return t===`bottom`||[`left`,`right`].includes(t)&&n===`end`?-1:1}),ie=G(()=>e.collapsed?{"--v-snackbar-collapsed-height":q(e.collapsed.height),"--v-snackbar-collapsed-width":q(e.collapsed.width)}:null),ae=G(()=>f?f.offset.value===null?p:p=q(f.offset.value):{}),O=G(()=>{if(typeof e.transition!=`string`||!e.transition.endsWith(`-auto`))return e.transition;let t=e.transition.replace(`-auto`,``),[n,r]=e.location.split(` `);return`${t}-${[`start`,`end`,`left`,`right`].includes(r)||[`left`,`right`].includes(n)?`x`:`y`}${[`end`,`right`].includes(r)||![`start`,`left`].includes(r)&&[`bottom`,`right`].includes(n)?`-reverse`:``}-transition`});return Z(()=>{let f=yc(PS.filterProps(e),[`transition`]),p=!!(e.prependAvatar||e.prependIcon),g=!!(p||e.loading||t.prepend),_=!!(t.default||t.text||t.title||e.text||e.title);return U(PS,W({ref:d,class:[`v-snackbar`,{"v-snackbar--active":n.value,"v-snackbar--collapsed":!!e.collapsed,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},ne.value,r.value,e.class],style:[v.value,{"--v-snackbar-offset":ae.value,"--v-snackbar-gap":q(e.queueGap),"--v-snackbar-index":e.queueIndex,"--v-snackbar-direction":re.value},ie.value,e.style]},f,{transition:O.value,modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,contentProps:W({class:[`v-snackbar__wrapper`,a.value,o.value,l.value,c.value],style:[s.value],onPointerenter:C,onPointerleave:w,onFocusin:T,onFocusout:E},f.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:`none`,_disableGlobalStack:!0,onTouchstartPassive:ee,onTouchend:te,onAfterLeave:D},i),{default:()=>[dv(!1,`v-snackbar`),t.header&&H(`div`,{class:`v-snackbar__header`},[t.header?.()]),e.timer&&u.time.value>0&&!h.value&&H(`div`,{key:`timer`,class:j([`v-snackbar__timer`,`v-snackbar__timer--${e.timer===`bottom`?`bottom`:`top`}`])},[U(Kv,{ref:m,color:e.timerColor??`info`,max:e.timeout,modelValue:e.reverseTimer?Number(e.timeout)-u.time.value:u.time.value},null)]),g&&U(Dv,{key:`prepend-defaults`,disabled:!p&&!e.loading,defaults:{VAvatar:{image:e.prependAvatar},VIcon:{icon:e.prependIcon},VProgressCircular:{indeterminate:!0,size:24,width:3}}},{default:()=>[H(`div`,{class:`v-snackbar__prepend`},[t.prepend?t.prepend():H(V,null,[e.loading&&U(Lv,null,null),!e.loading&&e.prependAvatar&&U(Cb,null,null),!e.loading&&e.prependIcon&&U(Mv,null,null)])])]}),_&&H(`div`,{key:`content`,class:`v-snackbar__content`,role:`status`,"aria-live":`polite`},[t.title?.()??(e.title?H(`div`,{class:`v-snackbar__title`,key:`title`},[e.title]):``),t.text?.()??e.text,t.default?.()]),t.actions&&U(Dv,{defaults:{VBtn:{variant:`text`,ripple:!1,slim:!0}}},{default:()=>[H(`div`,{class:`v-snackbar__actions`},[t.actions({isActive:n})])]})],activator:t.activator})}),LS({},d)}}),aC={class:`hidden-sm-and-down`},oC={key:2,class:`nexus-script-exec-bar`},sC={class:`d-flex align-center flex-wrap ga-2 mb-1`},cC={class:`text-body-2 font-weight-medium text-truncate`},lC={class:`text-caption text-medium-emphasis`},uC={class:`ml-2`},dC={key:3,class:`nexus-top-center-script-notices`},fC={class:`d-flex align-center flex-wrap ga-2 justify-center`},pC=Zs(Tr({__name:`App`,setup(e){let t=[...q_],n=mh(),r=ph(),i=qf(),a=hg(),o=g_(),{runningItems:s,completeAlerts:c,dismissCompleteAlert:l}=s_(),{playCompleteSound:u,syncFromServer:d}=M_();function f(e){return e===`completed`?`success`:e===`failed`?`error`:e===`partial`?`warning`:`info`}function p(e){if(l(e.executionId),e.taskKind===`server_batch`){x_(e.executionId,e.label);return}r.push(__(e.executionId,`script`)).catch(()=>{})}function m(e){e.taskKind===`server_batch`&&x_(e.executionId,e.label)}Gr(()=>{a_(()=>u())}),B(()=>a.isLoggedIn,e=>{e?(o.connect(),h(),d()):o.disconnect()},{immediate:!0});async function h(){if(a.isLoggedIn)try{let e=await ug(`/settings/theme`);(e.value===`dark`||e.value===`light`)&&(i.global.name.value=e.value,localStorage.setItem(`nexus_theme`,e.value))}catch{}}async function g(){let e=i.global.current.value.dark?`light`:`dark`;i.global.name.value=e,localStorage.setItem(`nexus_theme`,e);try{await ug(`/settings/theme`,{method:`PUT`,body:JSON.stringify({value:e})})}catch{}}let _=P(!0),{mobile:v}=Cf();Vn(`nexusDrawer`,_);let y=G(()=>({"nexus-terminal-main":n.path===`/terminal`,"nexus-page-main":n.path!==`/terminal`&&n.path!==`/login`})),b=G(()=>{let e=s.value.length;if(!(!e||!a.isLoggedIn))return{paddingTop:`calc(var(--v-layout-top, 64px) + ${e*52}px)`}}),x=[{to:`/`,title:`仪表盘`,icon:`mdi-view-dashboard-outline`},{to:`/servers`,title:`服务器`,icon:`mdi-server`},{to:`/terminal`,title:`终端`,icon:`mdi-console`},{to:`/files`,title:`文件管理`,icon:`mdi-folder-outline`},{to:`/push`,title:`推送`,icon:`mdi-upload-outline`},{to:`/scripts`,title:`脚本库`,icon:`mdi-code-braces`},{to:`/executions`,title:`执行记录`,icon:`mdi-clipboard-play-outline`},{to:`/schedules`,title:`调度`,icon:`mdi-clock-outline`},{to:`/retries`,title:`重试队列`,icon:`mdi-refresh`}],S=[{to:`/commands`,title:`命令日志`,icon:`mdi-console`},{to:`/alerts`,title:`告警中心`,icon:`mdi-bell-outline`},{to:`/audit`,title:`审计日志`,icon:`mdi-clipboard-text-outline`}],C=zt({show:!1,text:``,color:`success`});function w(e){n.path!==e&&r.push(e).catch(()=>{}),v.value&&(_.value=!1)}function T(){B_(),a.logout(),r.push(`/login`)}return window.$snackbar=(e,t=`success`)=>{C.text=e,C.color=t,C.show=!0},(e,i)=>{let o=ti(`router-view`);return Aa(),Ia(Iy,null,{default:R(()=>[I(a).isLoggedIn?(Aa(),Ia(gb,{key:0,color:`primary`,elevation:`0`,flat:``,class:`ps-4`},{append:R(()=>[U(ky,{class:`text-none me-1 px-3`,height:`48`,slim:``},{prepend:R(()=>[U(Cb,{color:`surface-light`,size:`32`,start:``},{default:R(()=>[U(Mv,{icon:`mdi-account`,size:`18`})]),_:1})]),append:R(()=>[U(Mv,{icon:`mdi-chevron-down`})]),default:R(()=>[H(`span`,aC,xe(I(a).admin?.username||`管理员`),1),U(zS,{activator:`parent`},{default:R(()=>[U(Mx,{density:`compact`,nav:``},{default:R(()=>[U(_x,{"prepend-icon":`mdi-theme-light-dark`,title:`切换主题`,link:``,onClick:g}),U(_x,{"prepend-icon":`mdi-cog-outline`,title:`设置`,link:``,onClick:i[1]||=e=>I(r).push(`/settings`)}),U(_x,{"prepend-icon":`mdi-logout`,title:`退出登录`,link:``,onClick:T})]),_:1})]),_:1})]),_:1})]),default:R(()=>[U(vb,{class:`mr-3`,onClick:i[0]||=e=>_.value=!_.value}),U(Cb,{color:`surface`,size:`40`,class:`pa-1`},{default:R(()=>[U(Mv,{icon:`mdi-server-network`,size:`24`})]),_:1}),U(yb,null,{default:R(()=>[...i[8]||=[Wa(`Nexus`,-1)]]),_:1})]),_:1})):Ga(``,!0),I(a).isLoggedIn?(Aa(),Ia(ZS,{key:1,modelValue:_.value,"onUpdate:modelValue":i[5]||=e=>_.value=e,color:`surface`,width:`250`,class:`nexus-nav-drawer`,temporary:I(v)},{append:R(()=>[U(_x,{active:I(n).path===`/settings`,"prepend-icon":`mdi-cog-outline`,title:`设置`,"active-class":`text-primary`,class:`ma-2`,link:``,nav:``,slim:``,onClick:i[2]||=e=>I(r).push(`/settings`),onMouseenter:i[3]||=e=>I(G_)(`/settings`),onMouseleave:i[4]||=e=>I(K_)(`/settings`)},null,8,[`active`])]),default:R(()=>[U(Mx,{nav:``,slim:``},{default:R(()=>[U(yx,null,{default:R(()=>[...i[9]||=[Wa(`运维`,-1)]]),_:1}),(Aa(),Fa(V,null,oi(x,e=>U(_x,{key:e.to,"prepend-icon":e.icon,title:e.title,to:e.to,active:I(n).path===e.to,"active-class":`text-primary`,link:``,nav:``,slim:``,onClick:t=>w(e.to),onMouseenter:t=>I(G_)(e.to),onMouseleave:t=>I(K_)(e.to)},null,8,[`prepend-icon`,`title`,`to`,`active`,`onClick`,`onMouseenter`,`onMouseleave`])),64))]),_:1}),U(zb,{class:`mx-3 my-1`}),U(Mx,{nav:``,slim:``},{default:R(()=>[U(yx,null,{default:R(()=>[...i[10]||=[Wa(`系统`,-1)]]),_:1}),(Aa(),Fa(V,null,oi(S,e=>U(_x,{key:e.to,"prepend-icon":e.icon,title:e.title,to:e.to,active:I(n).path===e.to,"active-class":`text-primary`,link:``,nav:``,slim:``,onClick:t=>w(e.to),onMouseenter:t=>I(G_)(e.to),onMouseleave:t=>I(K_)(e.to)},null,8,[`prepend-icon`,`title`,`to`,`active`,`onClick`,`onMouseenter`,`onMouseleave`])),64))]),_:1})]),_:1},8,[`modelValue`,`temporary`])):Ga(``,!0),I(a).isLoggedIn&&I(s).length?(Aa(),Fa(`div`,oC,[(Aa(!0),Fa(V,null,oi(I(s),e=>(Aa(),Ia($S,{key:e.executionId,class:j([`nexus-script-exec-bar__item px-4 py-2`,{"nexus-script-exec-bar__item--clickable":e.taskKind===`server_batch`}]),color:`surface`,border:``,onClick:t=>e.taskKind===`server_batch`?m(e):void 0},{default:R(()=>[H(`div`,sC,[H(`span`,cC,xe(e.label),1),U(Ib,{size:`x-small`,variant:`tonal`,color:`primary`,label:``},{default:R(()=>[Wa(`#`+xe(e.executionId),1)]),_:2},1024),U(Bb),H(`span`,lC,[Wa(` 已进行 `+xe(e.done)+` 台,剩余 `+xe(e.remaining)+` 台 `,1),H(`span`,uC,`(`+xe(e.progress)+`)`,1)])]),U(Kv,{"model-value":e.total?Math.round(e.done/e.total*100):0,color:`primary`,height:`6`,rounded:``,striped:``,stream:``},null,8,[`model-value`])]),_:2},1032,[`class`,`onClick`]))),128))])):Ga(``,!0),I(a).isLoggedIn&&(I(P_).visible||I(c).length)?(Aa(),Fa(`div`,dC,[U(Fo,{name:`nexus-script-submit-toast-fade`},{default:R(()=>[I(P_).visible?(Aa(),Ia(Py,{key:`script-submit`,color:I(P_).color,variant:`tonal`,density:`compact`,class:`nexus-top-center-script-notices__item`,role:`status`,onClick:i[6]||=e=>I(L_)()},{default:R(()=>[Wa(xe(I(P_).text),1)]),_:1},8,[`color`])):Ga(``,!0)]),_:1}),(Aa(!0),Fa(V,null,oi(I(c),e=>(Aa(),Ia(Py,{key:e.executionId,class:j([`nexus-top-center-script-notices__item`,{"nexus-script-exec-alert--fading":e.fading}]),type:f(e.status),variant:`tonal`,closable:``,density:`compact`,onClick:t=>I(l)(e.executionId),"onClick:close":t=>I(l)(e.executionId)},{default:R(()=>[H(`div`,fC,[H(`span`,null,` 「`+xe(e.label)+`」执行结束: 成功 `+xe(e.success)+` / 失败 `+xe(e.failed)+` / 共 `+xe(e.total)+` 台 `,1),U(ky,{size:`small`,variant:`text`,color:`primary`,onClick:Gs(t=>p(e),[`stop`])},{default:R(()=>[...i[11]||=[Wa(` 查看详情 `,-1)]]),_:1},8,[`onClick`])])]),_:2},1032,[`class`,`type`,`onClick`,`onClick:close`]))),128))])):Ga(``,!0),U(Px,{class:j(y.value),style:A(b.value)},{default:R(()=>[U(o,null,{default:R(({Component:e,route:n})=>[(Aa(),Ia(Pr,{include:t,max:12},[(Aa(),Ia(ri(e),{key:n.name??n.path}))],1024))]),_:1})]),_:1},8,[`class`,`style`]),U(iC,{modelValue:C.show,"onUpdate:modelValue":i[7]||=e=>C.show=e,color:C.color,timeout:3e3,location:`top`,class:`nexus-top-center-snackbar`,"multi-line":``},{default:R(()=>[Wa(xe(C.text),1)]),_:1},8,[`modelValue`,`color`])]),_:1})}}}));Sg(pC),pC.mount(`#app`);export{Tv as $,_c as $n,L as $r,Jh as $t,Yy as A,rl as An,Jr as Ar,a_ as At,Qv as B,cc as Bn,Fi as Br,Vg as Bt,mb as C,Y as Cn,yo as Cr,S_ as Ct,nb as D,pl as Dn,Dn as Dr,__ as Dt,rb as E,_l as En,W as Er,y_ as Et,Oy as F,Dc as Fn,Vn as Fr,Lg as Ft,Vv as G,dc as Gn,N as Gr,$ as Gt,qv as H,Mc as Hn,Gn as Hr,Og as Ht,Dy as I,Xc as In,oi as Ir,Ig as It,zv as J,mc as Jn,en as Jr,pg as Jt,Hv as K,xc as Kn,qt as Kr,hg as Kt,ny as L,nl as Ln,ci as Lr,Ng as Lt,Gy as M,Oc as Mn,Gr as Mr,i_ as Mt,Py as N,q as Nn,Yr as Nr,s_ as Nt,Zy as O,Vc as On,Ir as Or,v_ as Ot,ky as P,uc as Pn,Aa as Pr,Bg as Pt,Dv as Q,yc as Qn,M as Qr,qh as Qt,ty as R,Tc as Rn,ri as Rr,zg as Rt,Cb as S,mu as Sn,Tr as Sr,C_ as St,ob as T,vl as Tn,hi as Tr,x_ as Tt,Jv as U,wc as Un,R as Ur,wg as Ut,Yv as V,lc as Vn,B as Vr,Hg as Vt,Kv as W,qc as Wn,zn as Wr,yg as Wt,Mv as X,Yc as Xn,P as Xr,dg as Xt,Lv as Y,hc as Yn,zt as Yr,og as Yt,kv as Z,Jc as Zn,F as Zr,Zh as Zt,Bb as _,wu as _n,Ga as _r,X_ as _t,NS as a,A as ai,mf as an,ec as ar,fv as at,Mb as b,yu as bn,Wa as br,I_ as bt,bS as c,ud as cn,$o as cr,ov as ct,wx as d,Xu as dn,V as dr,rv as dt,rn as ei,mh as en,Ec as er,_v as et,Ex as f,zu as fn,sr as fr,ev as ft,mx as g,Du as gn,Ia as gr,Y_ as gt,hx as h,ku as hn,H as hr,$_ as ht,PS as i,j as ii,Kf as in,tc as ir,dv as it,Xy as j,el as jn,Kr as jr,r_ as jt,Qy as k,Uc as kn,Wr as kr,g_ as kt,Mx as l,pd as ln,qs as lr,iv as lt,_x as m,Nu as mn,G as mr,Q_ as mt,zS as n,I as ni,Jf as nn,oc as nr,yv as nt,xS as o,xe as oi,Sf as on,nc as or,pv as ot,yx as p,Z as pn,Ua as pr,tv as pt,Rv as q,tl as qn,Oe as qr,fg as qt,LS as r,ie as ri,Pf as rn,ac as rr,vv as rt,yS as s,Cf as sn,Hs as sr,sv as st,$S as t,Qt as ti,ph as tn,K as tr,gv as tt,Sx as u,Zu as un,Gs as ur,nv as ut,zb as v,Cu as vn,Fa as vr,z_ as vt,cb as w,J as wn,z as wr,T_ as wt,jb as x,pu as xn,U as xr,M_ as xt,Ib as y,X as yn,si as yr,V_ as yt,Zv as z,Wc as zn,Er as zr,Rg as zt}; \ No newline at end of file diff --git a/web/app/assets/index-DawRgH7u.js b/web/app/assets/index-DawRgH7u.js deleted file mode 100644 index 6cb4470e..00000000 --- a/web/app/assets/index-DawRgH7u.js +++ /dev/null @@ -1,15 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashboardPage-MBdDPrBx.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/VCard-rBfCdgX2.js","assets/VCard-BCYbpv-w.css","assets/VRow-By04mHIT.js","assets/VRow-DIr3-SqU.css","assets/useSnackbar-CmDJGLzR.js","assets/useSnackbar-ku9EbwM-.css","assets/VSkeletonLoader-CkKVcJRy.js","assets/VSkeletonLoader-B03HMi2d.css","assets/usePageActivateRefresh-BTfzAggZ.js","assets/auditNormalize-DWYIxo0q.js","assets/DashboardPage-BpuLHXj7.css","assets/ServersPage-C8kywVR0.js","assets/VSelect-XuQYQvJc.js","assets/VTextField-BZnszgeR.js","assets/VTextField-Bl91kSVs.css","assets/VSelect-Dq2BX-8H.css","assets/VDataTable-4SnAXj3j.js","assets/VDataTable-DlpDfCoY.css","assets/VDataTableServer-C4_rzPsO.js","assets/VDialog-8YoHW6GE.js","assets/VDialog-DP-kc9Gx.css","assets/VExpansionPanels-CY-_n0ol.js","assets/VExpansionPanels-CUfe7Zz5.css","assets/VTextarea-9CeXtoSu.js","assets/VTextarea-DDl63AeD.css","assets/labels-C-A2d08W.js","assets/usePageAutoRefresh-CtJ56HJY.js","assets/useServerCategories-RxfHjr4v.js","assets/dataTable-esDY4cOk.js","assets/apiError-EQrzELs3.js","assets/paginatedFetch-BEWdPley.js","assets/validation-BMzYTJL4.js","assets/ServersPage-CqZyOt6Y.css","assets/TerminalPage-AfvJqsJf.js","assets/useTerminalQuickCommands-BGuDe6GB.js","assets/useTerminalQuickCommands--q0R-DyO.css","assets/wsUrl-CqmqkTTE.js","assets/TerminalPage-FBTeF1y_.css","assets/FilesPage-CzC0-tAq.js","assets/initMonaco-BdzAW2O1.js","assets/initMonaco-DX2BVZF3.css","assets/VCheckbox-0cpfrSvP.js","assets/VCheckbox-ChRKi1kj.css","assets/useServerList-CXphchDt.js","assets/FilesPage-D9DwsCsx.css","assets/PushPage-CGWMgBtG.js","assets/usePushStaging-CqPC7tz5.js","assets/usePushStaging-CfCU7s8k.css","assets/PushPage-C9f4tbih.css","assets/ScriptsPage-BIUEJ3WR.js","assets/VSwitch-TNXNpeZv.js","assets/VSwitch-DPhHiAlh.css","assets/ServerCategoryPicker-1rZGQM3V.js","assets/ServerCategoryPicker-BCS85mQi.css","assets/execDetailGrouping-D7x-TKlJ.js","assets/ScriptsPage-BrIbZLc5.css","assets/ScriptRunsPage-BUukxLsB.js","assets/ScriptRunsPage-CW2C9c7C.css","assets/SchedulesPage-Cwk4pu75.js","assets/SchedulesPage-DgHxDpjI.css","assets/RetriesPage-CWoEv_a3.js","assets/CommandsPage-jF7ko4hy.js","assets/AlertsPage-BZr2dlfE.js","assets/AuditPage-Bko5-EIL.js","assets/SettingsPage-BhucmhU8.js","assets/VForm-Dh0_yaO1.js","assets/LoginPage-BsHuUSjf.js","assets/LoginPage-BTEVFKpe.css"])))=>i.map(i=>d[i]); -(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();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=>S(e)===`[object Map]`,p=e=>S(e)===`[object Set]`,m=e=>S(e)===`[object Date]`,h=e=>S(e)===`[object RegExp]`,g=e=>typeof e==`function`,_=e=>typeof e==`string`,v=e=>typeof e==`symbol`,y=e=>typeof e==`object`&&!!e,b=e=>(y(e)||g(e))&&g(e.then)&&g(e.catch),x=Object.prototype.toString,S=e=>x.call(e),C=e=>S(e).slice(8,-1),w=e=>S(e)===`[object Object]`,T=e=>_(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,E=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,D=ee(e=>e.replace(te,e=>e.slice(1).toUpperCase())),ne=/\B([A-Z])/g,re=ee(e=>e.replace(ne,`-$1`).toLowerCase()),ie=ee(e=>e.charAt(0).toUpperCase()+e.slice(1)),ae=ee(e=>e?`on${ie(e)}`:``),O=(e,t)=>!Object.is(e,t),k=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},se=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ce=e=>{let t=_(e)?Number(e):NaN;return isNaN(t)?e:t},le,ue=()=>le||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function A(e){if(d(e)){let t={};for(let n=0;n{if(e){let n=e.split(fe);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function j(e){let t=``;if(_(e))t=e;else if(d(e))for(let n=0;n!!(e&&e.__v_isRef===!0),xe=e=>_(e)?e:e==null?``:d(e)||y(e)&&(e.toString===x||!g(e.toString))?be(e)?xe(e.value):JSON.stringify(e,Se,2):String(e),Se=(e,t)=>be(t)?Se(e,t.value):f(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ce(t,r)+` =>`]=n,e),{})}:p(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ce(e))}:v(t)?Ce(t):y(t)&&!d(t)&&!w(t)?String(t):t,Ce=(e,t=``)=>v(e)?`Symbol(${e.description??t})`:e,we,Te=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&we&&(we.active?(this.parent=we,this.index=(we.scopes||=[]).push(this)-1):(this._active=!1,this._warnOnRun=!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;e0&&--this._on===0){if(we===this)we=this.prevScope;else{let e=we;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t0)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===Ye)||(e.globalVersion=Ye,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Be(e))))return;e.flags|=2;let t=e.dep,n=ke,r=We;ke=e,We=!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{ke=n,We=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 We=!0,Ge=[];function Ke(){Ge.push(We),We=!1}function qe(){let e=Ge.pop();We=e===void 0?!0:e}function Je(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=ke;ke=void 0;try{t()}finally{ke=e}}}var Ye=0,Xe=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}},Ze=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(!ke||!We||ke===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==ke)t=this.activeLink=new Xe(ke,this),ke.deps?(t.prevDep=ke.depsTail,ke.depsTail.nextDep=t,ke.depsTail=t):ke.deps=ke.depsTail=t,Qe(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=ke.depsTail,t.nextDep=void 0,ke.depsTail.nextDep=t,ke.depsTail=t,ke.deps===t&&(ke.deps=e)}return t}trigger(e){this.version++,Ye++,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 Qe(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)Qe(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var $e=new WeakMap,et=Symbol(``),tt=Symbol(``),nt=Symbol(``);function rt(e,t,n){if(We&&ke){let t=$e.get(e);t||$e.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Ze),r.map=t,r.key=n),r.track()}}function it(e,t,n,r,i,a){let o=$e.get(e);if(!o){Ye++;return}let s=e=>{e&&e.trigger()};if(Ie(),t===`clear`)o.forEach(s);else{let i=d(e),a=i&&T(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===nt||!v(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(nt)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(et)),f(e)&&s(o.get(tt)));break;case`delete`:i||(s(o.get(et)),f(e)&&s(o.get(tt)));break;case`set`:f(e)&&s(o.get(et));break}}Le()}function at(e,t){let n=$e.get(e);return n&&n.get(t)}function ot(e){let t=M(e);return t===e?t:(rt(t,`iterate`,nt),Gt(e)?t:t.map(Jt))}function st(e){return rt(e=M(e),`iterate`,nt),e}function ct(e,t){return Wt(e)?Yt(Ut(e)?Jt(t):t):Jt(t)}var lt={__proto__:null,[Symbol.iterator](){return ut(this,Symbol.iterator,e=>ct(this,e))},concat(...e){return ot(this).concat(...e.map(e=>d(e)?ot(e):e))},entries(){return ut(this,`entries`,e=>(e[1]=ct(this,e[1]),e))},every(e,t){return ft(this,`every`,e,t,void 0,arguments)},filter(e,t){return ft(this,`filter`,e,t,e=>e.map(e=>ct(this,e)),arguments)},find(e,t){return ft(this,`find`,e,t,e=>ct(this,e),arguments)},findIndex(e,t){return ft(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return ft(this,`findLast`,e,t,e=>ct(this,e),arguments)},findLastIndex(e,t){return ft(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return ft(this,`forEach`,e,t,void 0,arguments)},includes(...e){return mt(this,`includes`,e)},indexOf(...e){return mt(this,`indexOf`,e)},join(e){return ot(this).join(e)},lastIndexOf(...e){return mt(this,`lastIndexOf`,e)},map(e,t){return ft(this,`map`,e,t,void 0,arguments)},pop(){return ht(this,`pop`)},push(...e){return ht(this,`push`,e)},reduce(e,...t){return pt(this,`reduce`,e,t)},reduceRight(e,...t){return pt(this,`reduceRight`,e,t)},shift(){return ht(this,`shift`)},some(e,t){return ft(this,`some`,e,t,void 0,arguments)},splice(...e){return ht(this,`splice`,e)},toReversed(){return ot(this).toReversed()},toSorted(e){return ot(this).toSorted(e)},toSpliced(...e){return ot(this).toSpliced(...e)},unshift(...e){return ht(this,`unshift`,e)},values(){return ut(this,`values`,e=>ct(this,e))}};function ut(e,t,n){let r=st(e),i=r[t]();return r!==e&&!Gt(e)&&(i._next=i.next,i.next=()=>{let e=i._next();return e.done||(e.value=n(e.value)),e}),i}var dt=Array.prototype;function ft(e,t,n,r,i,a){let o=st(e),s=o!==e&&!Gt(e),c=o[t];if(c!==dt[t]){let t=c.apply(e,a);return s?Jt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,ct(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 pt(e,t,n,r){let i=st(e),a=i!==e&&!Gt(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=ct(e,t)),n.call(this,t,ct(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?ct(e,c):c}function mt(e,t,n){let r=M(e);rt(r,`iterate`,nt);let i=r[t](...n);return(i===-1||i===!1)&&Kt(n[0])?(n[0]=M(n[0]),r[t](...n)):i}function ht(e,t,n=[]){Ke(),Ie();let r=M(e)[t].apply(e,n);return Le(),qe(),r}var gt=e(`__proto__,__v_isRef,__isVue`),_t=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(v));function vt(e){v(e)||(e=String(e));let t=M(this);return rt(t,`has`,e),t.hasOwnProperty(e)}var yt=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?Lt:It:i?Ft:Pt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=d(e);if(!r){let e;if(a&&(e=lt[t]))return e;if(t===`hasOwnProperty`)return vt}let o=Reflect.get(e,t,N(e)?e:n);if((v(t)?_t.has(t):gt(t))||(r||rt(e,`get`,t),i))return o;if(N(o)){let e=a&&T(t)?o:o.value;return r&&y(e)?Vt(e):e}return y(o)?r?Vt(o):zt(o):o}},bt=class extends yt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=d(e)&&T(t);if(!this._isShallow){let e=Wt(i);if(!Gt(n)&&!Wt(n)&&(i=M(i),n=M(n)),!a&&N(i)&&!N(n))return e||(i.value=n),!0}let o=a?Number(t)e,Et=e=>Reflect.getPrototypeOf(e);function Dt(e,t,n){return function(...r){let i=this.__v_raw,a=M(i),o=f(a),c=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?Tt:t?Yt:Jt;return!t&&rt(a,`iterate`,l?tt:et),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 Ot(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function kt(e,t){let n={get(n){let r=this.__v_raw,i=M(r),a=M(n);e||(O(n,a)&&rt(i,`get`,n),rt(i,`get`,a));let{has:o}=Et(i),s=t?Tt:e?Yt:Jt;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&&rt(M(t),`iterate`,et),t.size},has(t){let n=this.__v_raw,r=M(n),i=M(t);return e||(O(t,i)&&rt(r,`has`,t),rt(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=M(a),s=t?Tt:e?Yt:Jt;return!e&&rt(o,`iterate`,et),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return s(n,e?{add:Ot(`add`),set:Ot(`set`),delete:Ot(`delete`),clear:Ot(`clear`)}:{add(e){let n=M(this),r=Et(n),i=M(e),a=!t&&!Gt(e)&&!Wt(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),it(n,`add`,a,a)),this},set(e,n){!t&&!Gt(n)&&!Wt(n)&&(n=M(n));let r=M(this),{has:i,get:a}=Et(r),o=i.call(r,e);o||=(e=M(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?O(n,s)&&it(r,`set`,e,n,s):it(r,`add`,e,n),this},delete(e){let t=M(this),{has:n,get:r}=Et(t),i=n.call(t,e);i||=(e=M(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&it(t,`delete`,e,void 0,a),o},clear(){let e=M(this),t=e.size!==0,n=e.clear();return t&&it(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Dt(r,e,t)}),n}function At(e,t){let n=kt(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 jt={get:At(!1,!1)},Mt={get:At(!1,!0)},Nt={get:At(!0,!1)},Pt=new WeakMap,Ft=new WeakMap,It=new WeakMap,Lt=new WeakMap;function Rt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function zt(e){return Wt(e)?e:Ht(e,!1,St,jt,Pt)}function Bt(e){return Ht(e,!1,wt,Mt,Ft)}function Vt(e){return Ht(e,!0,Ct,Nt,It)}function Ht(e,t,n,r,i){if(!y(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Rt(C(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Ut(e){return Wt(e)?Ut(e.__v_raw):!!(e&&e.__v_isReactive)}function Wt(e){return!!(e&&e.__v_isReadonly)}function Gt(e){return!!(e&&e.__v_isShallow)}function Kt(e){return e?!!e.__v_raw:!1}function M(e){let t=e&&e.__v_raw;return t?M(t):e}function qt(e){return!u(e,`__v_skip`)&&Object.isExtensible(e)&&oe(e,`__v_skip`,!0),e}var Jt=e=>y(e)?zt(e):e,Yt=e=>y(e)?Vt(e):e;function N(e){return e?e.__v_isRef===!0:!1}function P(e){return Xt(e,!1)}function F(e){return Xt(e,!0)}function Xt(e,t){return N(e)?e:new Zt(e,t)}var Zt=class{constructor(e,t){this.dep=new Ze,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:M(e),this._value=t?e:Jt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||Gt(e)||Wt(e);e=n?e:M(e),O(e,t)&&(this._rawValue=e,this._value=n?e:Jt(e),this.dep.trigger())}};function I(e){return N(e)?e.value:e}function Qt(e){return g(e)?e():I(e)}var $t={get:(e,t,n)=>t===`__v_raw`?e:I(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return N(i)&&!N(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function en(e){return Ut(e)?e:new Proxy(e,$t)}var tn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new Ze,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function nn(e){return new tn(e)}function rn(e){let t=d(e)?Array(e.length):{};for(let n in e)t[n]=sn(e,n);return t}var an=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=v(t)?t:String(t),this._raw=M(e);let r=!0,i=e;if(!d(e)||v(this._key)||!T(this._key))do r=!Kt(i)||Gt(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=I(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&N(this._raw[this._key])){let t=this._object[this._key];if(N(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return at(this._raw,this._key)}},on=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function L(e,t,n){return N(e)?e:g(e)?new on(e):y(e)&&arguments.length>1?sn(e,t,n):P(e)}function sn(e,t,n){return new an(e,t,n)}var cn=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ze(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ye-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ke!==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 ln(e,t,n=!1){let r,i;return g(e)?r=e:(r=e.get,i=e.set),new cn(r,i,n)}var un={},dn=new WeakMap,fn=void 0;function pn(e,t=!1,n=fn){if(n){let t=dn.get(n);t||dn.set(n,t=[]),t.push(e)}}function mn(e,n,i=t){let{immediate:a,deep:o,once:s,scheduler:l,augmentJob:u,call:f}=i,p=e=>o?e:Gt(e)||o===!1||o===0?hn(e,1):hn(e),m,h,_,v,y=!1,b=!1;if(N(e)?(h=()=>e.value,y=Gt(e)):Ut(e)?(h=()=>p(e),y=!0):d(e)?(b=!0,y=e.some(e=>Ut(e)||Gt(e)),h=()=>e.map(e=>{if(N(e))return e.value;if(Ut(e))return p(e);if(g(e))return f?f(e,2):e()})):h=g(e)?n?f?()=>f(e,2):e:()=>{if(_){Ke();try{_()}finally{qe()}}let t=fn;fn=m;try{return f?f(e,3,[v]):e(v)}finally{fn=t}}:r,n&&o){let e=h,t=o===!0?1/0:o;h=()=>hn(e(),t)}let x=De(),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(un):un,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=fn;fn=m;try{let t=[e,C===un?void 0:b&&C[0]===un?[]:C,v];C=e,f?f(n,3,t):n(...t)}finally{fn=t}}}else m.run()};return u&&u(w),m=new je(h),m.scheduler=l?()=>l(w,!1):w,v=e=>pn(e,!1,m),_=m.onStop=()=>{let e=dn.get(m);if(e){if(f)f(e,4);else for(let t of e)t();dn.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 hn(e,t=1/0,n){if(t<=0||!y(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,N(e))hn(e.value,t,n);else if(d(e))for(let r=0;r{hn(e,t,n)});else if(w(e)){for(let r in e)hn(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&hn(e[r],t,n)}return e}function gn(e,t,n,r){try{return r?e(...r):e()}catch(e){vn(e,t,n)}}function _n(e,t,n,r){if(g(e)){let i=gn(e,t,n,r);return i&&b(i)&&i.catch(e=>{vn(e,t,n)}),i}if(d(e)){let i=[];for(let a=0;a>>1,i=bn[r],a=Pn(i);a=Pn(n)?bn.push(e):bn.splice(On(t),0,e),e.flags|=1,An()}}function An(){En||=Tn.then(Fn)}function jn(e){d(e)?Sn.push(...e):Cn&&e.id===-1?Cn.splice(wn+1,0,e):e.flags&1||(Sn.push(e),e.flags|=1),An()}function Mn(e,t,n=xn+1){for(;nPn(e)-Pn(t));if(Sn.length=0,Cn){Cn.push(...e);return}for(Cn=e,wn=0;wne.id==null?e.flags&2?-1:1/0:e.id;function Fn(e){try{for(xn=0;xn{r._d&&Na(-1);let i=Rn(t),a;try{a=e(...n)}finally{Rn(i),r._d&&Na(1)}return a};return r._n=!0,r._c=!0,r._d=!0,r}function zn(e,n){if(In===null)return e;let r=go(In),i=e.dirs||=[];for(let e=0;e1)return n&&g(t)?t.call(r&&r.proxy):t}}function Hn(){return!!(eo()||Pi)}var Un=Symbol.for(`v-scx`),Wn=()=>z(Un);function Gn(e,t){return qn(e,null,t)}function Kn(e,t){return qn(e,null,{flush:`sync`})}function B(e,t,n){return qn(e,t,n)}function qn(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(oo){if(c===`sync`){let e=Wn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=r,e.resume=r,e.pause=r,e}}let p=$a;u.call=(e,t,n)=>_n(e,p,t,n);let m=!1;c===`post`?u.scheduler=e=>{fa(e,p&&p.suspense)}:c!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():kn(e)}),u.augmentJob=e=>{n&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=mn(e,n,u);return oo&&(f?f.push(h):d&&h()),h}function Jn(e,t,n){let r=this.proxy,i=_(e)?e.includes(`.`)?Yn(r,e):()=>r[e]:e.bind(r,r),a;g(t)?a=t:(a=t.handler,n=t);let o=ro(this),s=qn(i,a.bind(r),n);return o(),s}function Yn(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;ee.__isTeleport,$n=e=>e&&(e.disabled||e.disabled===``),er=e=>e&&(e.defer||e.defer===``),tr=e=>typeof SVGElement<`u`&&e instanceof SVGElement,nr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,rr=(e,t)=>{let n=e&&e.to;return _(n)?t?t(n):null:n},ir={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,parentNode:_}}=l,v=$n(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=$n(e.props),r=e.target=rr(e.props,m),a=lr(r,e,h,p);r&&(o!==`svg`&&tr(r)?o=`svg`:o!==`mathml`&&nr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),cr(e,!1)))},S=e=>{let t=()=>{Xn.get(e)===t&&(Xn.delete(e),$n(e.props)&&(b(e,_(e.el)||n,e.anchor),cr(e,!0)),x(e))};Xn.set(e,t),fa(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),er(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),cr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=Xn.get(e);if(u){u.flags|=8,Xn.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=$n(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||tr(p)?o=`svg`:(o===`mathml`||nr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),va(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ar(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=t.target=rr(t.props,m);e&&ar(t,e,null,l,0)}else g&&ar(t,p,h,l,1);cr(t,v)}},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||!$n(f),m=Xn.get(e);if(m&&(m.flags|=8,Xn.delete(e)),d&&(i(l),i(u)),a&&i(c),!m&&o&16)for(let e=0;e{e.isMounted=!0}),Jr(()=>{e.isUnmounting=!0}),e}var pr=[Function,Array],mr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:pr,onEnter:pr,onAfterEnter:pr,onEnterCancelled:pr,onBeforeLeave:pr,onLeave:pr,onAfterLeave:pr,onLeaveCancelled:pr,onBeforeAppear:pr,onAppear:pr,onAfterAppear:pr,onAppearCancelled:pr},hr=e=>{let t=e.subTree;return t.component?hr(t.component):t},gr={name:`BaseTransition`,props:mr,setup(e,{slots:t}){let n=eo(),r=fr();return()=>{let i=t.default&&wr(t.default(),!0),a=i&&i.length?_r(i):n.subTree?Ga():void 0;if(!a)return;let o=M(e),{mode:s}=o;if(r.isLeaving)return xr(a);let c=Sr(a);if(!c)return xr(a);let l=br(c,o,r,n,e=>l=e);c.type!==Ea&&Cr(c,l);let u=n.subTree&&Sr(n.subTree);if(u&&u.type!==Ea&&!Ra(u,c)&&hr(n).type!==Ea){let e=br(u,o,r,n);if(Cr(u,e),s===`out-in`&&c.type!==Ea)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},xr(a);s===`in-out`&&c.type!==Ea?e.delayLeave=(e,t,n)=>{let i=yr(r,u);i[String(u.key)]=u,e[ur]=()=>{t(),e[ur]=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 _r(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==Ea){t=n;break}}return t}var vr=gr;function yr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function br(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=yr(n,e),C=(e,t)=>{e&&_n(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[ur]&&t[ur](!0);let i=S[x];i&&Ra(e,i)&&i.el[ur]&&i.el[ur](),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[dr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[dr]=void 0)};let c=t[dr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[dr]&&t[dr](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[ur]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[ur]=void 0,S[i]===e&&delete S[i])};let o=t[ur].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=br(e,t,n,r,i);return i&&i(a),a}};return T}function xr(e){if(Nr(e))return e=Ua(e),e.children=null,e}function Sr(e){if(!Nr(e))return Qn(e.type)&&e.children?_r(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&&g(n.default))return n.default()}}function Cr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Cr(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 wr(e,t=!1,n){let r=[],i=0;for(let a=0;a1)for(let e=0;eAr(e,n&&(d(n)?n[t]:n),r,a,o));return}if(Mr(a)&&!o){a.shapeFlag&512&&a.type.__asyncResolved&&a.component.subTree.component&&Ar(e,n,r,a.component.subTree);return}let s=a.shapeFlag&4?go(a.component):a.el,l=o?null:s,{i:f,r:p}=e,m=n&&n.r,h=f.refs===t?f.refs={}:f.refs,v=f.setupState,y=M(v),b=v===t?i:e=>Or(h,e)?!1:u(y,e),x=(e,t)=>!(t&&Or(h,t));if(m!=null&&m!==p){if(jr(n),_(m))h[m]=null,b(m)&&(v[m]=null);else if(N(m)){let e=n;x(m,e.k)&&(m.value=null),e.k&&(h[e.k]=null)}}if(g(p))gn(p,f,12,[l,h]);else{let t=_(p),n=N(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:h[p]:x(p)||!e.k?p.value:h[e.k];if(o)d(n)&&c(n,s);else if(d(n))n.includes(s)||n.push(s);else if(t)h[p]=[s],b(p)&&(v[p]=h[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(h[e.k]=t)}}else t?(h[p]=l,b(p)&&(v[p]=l)):n&&(x(p,e.k)&&(p.value=l),e.k&&(h[e.k]=l))};if(l){let t=()=>{i(),kr.delete(e)};t.id=-1,kr.set(e,t),fa(t,r)}else jr(e),i()}}}function jr(e){let t=kr.get(e);t&&(t.flags|=8,kr.delete(e))}ue().requestIdleCallback,ue().cancelIdleCallback;var Mr=e=>!!e.type.__asyncLoader,Nr=e=>e.type.__isKeepAlive,Pr={name:`KeepAlive`,__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){let n=eo(),r=n.ctx;if(!r.renderer)return()=>{let e=t.default&&t.default();return e&&e.length===1?e[0]:e};let i=new Map,a=new Set,o=null,s=n.suspense,{renderer:{p:c,m:l,um:u,o:{createElement:d}}}=r,f=d(`div`);r.activate=(e,t,n,r,i)=>{let a=e.component;l(e,t,n,0,s),c(a.vnode,e,t,n,a,s,r,e.slotScopeIds,i),fa(()=>{a.isDeactivated=!1,a.a&&k(a.a);let t=e.props&&e.props.onVnodeMounted;t&&Ya(t,a.parent,e)},s)},r.deactivate=e=>{let t=e.component;xa(t.m),xa(t.a),l(e,f,null,1,s),fa(()=>{t.da&&k(t.da);let n=e.props&&e.props.onVnodeUnmounted;n&&Ya(n,t.parent,e),t.isDeactivated=!0},s)};function p(e){Br(e),u(e,n,s,!0)}function m(e){i.forEach((t,n)=>{let r=_o(Mr(t)?t.type.__asyncResolved||{}:t.type);r&&!e(r)&&h(n)})}function h(e){let t=i.get(e);t&&(!o||!Ra(t,o))?p(t):o&&Br(o),i.delete(e),a.delete(e)}B(()=>[e.include,e.exclude],([e,t])=>{e&&m(t=>Fr(e,t)),t&&m(e=>!Fr(t,e))},{flush:`post`,deep:!0});let g=null,_=()=>{g!=null&&(Ca(n.subTree.type)?fa(()=>{i.set(g,Vr(n.subTree))},n.subTree.suspense):i.set(g,Vr(n.subTree)))};return Gr(_),qr(_),Jr(()=>{i.forEach(e=>{let{subTree:t,suspense:r}=n,i=Vr(t);if(e.type===i.type&&e.key===i.key){Br(i);let e=i.component.da;e&&fa(e,r);return}p(e)})}),()=>{if(g=null,!t.default)return o=null;let n=t.default(),r=n[0];if(n.length>1)return o=null,n;if(!La(r)||!(r.shapeFlag&4)&&!(r.shapeFlag&128))return o=null,r;let s=Vr(r);if(s.type===Ea)return o=null,s;let c=s.type,l=_o(Mr(s)?s.type.__asyncResolved||{}:c),{include:u,exclude:d,max:f}=e;if(u&&(!l||!Fr(u,l))||d&&l&&Fr(d,l))return s.shapeFlag&=-257,o=s,r;let p=s.key==null?c:s.key,m=i.get(p);return s.el&&(s=Ua(s),r.shapeFlag&128&&(r.ssContent=s)),g=p,m?(s.el=m.el,s.component=m.component,s.transition&&Cr(s,s.transition),s.shapeFlag|=512,a.delete(p),a.add(p)):(a.add(p),f&&a.size>parseInt(f,10)&&h(a.values().next().value)),s.shapeFlag|=256,o=s,Ca(r.type)?r:s}}};function Fr(e,t){return d(e)?e.some(e=>Fr(e,t)):_(e)?e.split(`,`).includes(t):h(e)?(e.lastIndex=0,e.test(t)):!1}function Ir(e,t){Rr(e,`a`,t)}function Lr(e,t){Rr(e,`da`,t)}function Rr(e,t,n=$a){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Hr(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Nr(e.parent.vnode)&&zr(r,t,n,e),e=e.parent}}function zr(e,t,n,r){let i=Hr(t,e,r,!0);Yr(()=>{c(r[t],i)},n)}function Br(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function Vr(e){return e.shapeFlag&128?e.ssContent:e}function Hr(e,t,n=$a,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{Ke();let i=ro(n),a=_n(t,n,e,r);return i(),qe(),a};return r?i.unshift(a):i.push(a),a}}var Ur=e=>(t,n=$a)=>{(!oo||e===`sp`)&&Hr(e,(...e)=>t(...e),n)},Wr=Ur(`bm`),Gr=Ur(`m`),Kr=Ur(`bu`),qr=Ur(`u`),Jr=Ur(`bum`),Yr=Ur(`um`),Xr=Ur(`sp`),Zr=Ur(`rtg`),Qr=Ur(`rtc`);function $r(e,t=$a){Hr(`ec`,e,t)}var ei=`components`;function ti(e,t){return ii(ei,e,!0,t)||e}var ni=Symbol.for(`v-ndc`);function ri(e){return _(e)?ii(ei,e,!1)||e:e||ni}function ii(e,t,n=!0,r=!1){let i=In||$a;if(i){let n=i.type;if(e===ei){let e=_o(n,!1);if(e&&(e===t||e===D(t)||e===ie(D(t))))return n}let a=ai(i[e]||n[e],t)||ai(i.appContext[e],t);return!a&&r?n:a}}function ai(e,t){return e&&(e[t]||e[D(t)]||e[ie(D(t))])}function oi(e,t,n,r){let i,a=n&&n[r],o=d(e);if(o||_(e)){let n=o&&Ut(e),r=!1,s=!1;n&&(r=!Gt(e),s=Wt(e),e=st(e)),i=Array(e.length);for(let n=0,o=e.length;nt(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{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function ci(e,t,n={},r,i){if(In.ce||In.parent&&Mr(In.parent)&&In.parent.ce){let e=Object.keys(n).length>0;return t!==`default`&&(n.name=t),Aa(),Ia(V,null,[U(`slot`,n,r&&r())],e?-2:64)}let a=e[t];a&&a._c&&(a._d=!1),Aa();let o=a&&li(a(n)),s=n.key||o&&o.key,c=Ia(V,{key:(s&&!v(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 li(e){return e.some(e=>La(e)?!(e.type===Ea||e.type===V&&!li(e.children)):!0)?e:null}var ui=e=>e?ao(e)?go(e):ui(e.parent):null,di=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=>ui(e.parent),$root:e=>ui(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>xi(e),$forceUpdate:e=>e.f||=()=>{kn(e.update)},$nextTick:e=>e.n||=Dn.bind(e.proxy),$watch:e=>Jn.bind(e)}),fi=(e,n)=>e!==t&&!e.__isScriptSetup&&u(e,n),pi={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(fi(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 gi&&(s[n]=0)}let d=di[n],f,p;if(d)return n===`$attrs`&&rt(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 fi(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)||fi(n,c)||u(o,c)||u(i,c)||u(di,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 mi(e){return d(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function hi(e,t){return!e||!t?e||t:d(e)&&d(t)?e.concat(t):s({},mi(e),mi(t))}var gi=!0;function _i(e){let t=xi(e),n=e.proxy,i=e.ctx;gi=!1,t.beforeCreate&&yi(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:f,beforeMount:p,mounted:m,beforeUpdate:h,updated:_,activated:v,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:E,renderTriggered:ee,errorCaptured:te,serverPrefetch:D,expose:ne,inheritAttrs:re,components:ie,directives:ae,filters:O}=t;if(u&&vi(u,i,null),s)for(let e in s){let t=s[e];g(t)&&(i[e]=t.bind(n))}if(a){let t=a.call(n,n);y(t)&&(e.data=zt(t))}if(gi=!0,o)for(let e in o){let t=o[e],a=G({get:g(t)?t.bind(n,n):g(t.get)?t.get.bind(n,n):r,set:!g(t)&&g(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)bi(c[e],i,n,e);if(l){let e=g(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Vn(t,e[t])})}f&&yi(f,e,`c`);function k(e,t){d(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(k(Wr,p),k(Gr,m),k(Kr,h),k(qr,_),k(Ir,v),k(Lr,b),k($r,te),k(Qr,E),k(Zr,ee),k(Jr,S),k(Yr,w),k(Xr,D),d(ne))if(ne.length){let t=e.exposed||={};ne.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),ae&&(e.directives=ae),D&&Dr(e)}function vi(e,t,n=r){d(e)&&(e=Ei(e));for(let n in e){let r=e[n],i;i=y(r)?`default`in r?z(r.from||n,r.default,!0):z(r.from||n):z(r),N(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function yi(e,t,n){_n(d(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function bi(e,t,n,r){let i=r.includes(`.`)?Yn(n,r):()=>n[r];if(_(e)){let n=t[e];g(n)&&B(i,n)}else if(g(e))B(i,e.bind(n));else if(y(e))if(d(e))e.forEach(e=>bi(e,t,n,r));else{let r=g(e.handler)?e.handler.bind(n):t[e.handler];g(r)&&B(i,r,e)}}function xi(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=>Si(c,e,o,!0)),Si(c,t,o)),y(t)&&a.set(t,c),c}function Si(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Si(e,a,n,!0),i&&i.forEach(t=>Si(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Ci[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Ci={data:wi,props:ki,emits:ki,methods:Oi,computed:Oi,beforeCreate:Di,created:Di,beforeMount:Di,mounted:Di,beforeUpdate:Di,updated:Di,beforeDestroy:Di,beforeUnmount:Di,destroyed:Di,unmounted:Di,activated:Di,deactivated:Di,errorCaptured:Di,serverPrefetch:Di,components:Oi,directives:Oi,watch:Ai,provide:wi,inject:Ti};function wi(e,t){return t?e?function(){return s(g(e)?e.call(this,this):e,g(t)?t.call(this,this):t)}:t:e}function Ti(e,t){return Oi(Ei(e),Ei(t))}function Ei(e){if(d(e)){let t={};for(let n=0;n{let l,u=t,d;return Kn(()=>{let t=e[a];O(l,t)&&(l=t,c())}),{get(){return s(),r.get?r.get(l):l},set(e){let s=r.set?r.set(e):e;if(!O(s,l)&&!(u!==t&&O(e,u)))return;let f=i.vnode.props;f&&(n in f||a in f||o in f)&&(`onUpdate:${n}`in f||`onUpdate:${a}`in f||`onUpdate:${o}`in f)||(l=e,c()),i.emit(`update:${n}`,s),O(e,s)&&O(e,u)&&!O(s,d)&&c(),u=e,d=s}}});return c[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?s||t:c,done:!1}:{done:!0}}}},c}var Ii=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${D(t)}Modifiers`]||e[`${re(t)}Modifiers`];function Li(e,n,...r){if(e.isUnmounted)return;let i=e.vnode.props||t,a=r,o=n.startsWith(`update:`),s=o&&Ii(i,n.slice(7));s&&(s.trim&&(a=r.map(e=>_(e)?e.trim():e)),s.number&&(a=r.map(se)));let c,l=i[c=ae(n)]||i[c=ae(D(n))];!l&&o&&(l=i[c=ae(re(n))]),l&&_n(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,_n(u,e,6,a)}}var Ri=new WeakMap;function zi(e,t,n=!1){let r=n?Ri:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},c=!1;if(!g(e)){let r=e=>{let n=zi(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?(y(e)&&r.set(e,null),null):(d(a)?a.forEach(e=>o[e]=null):s(o,a),y(e)&&r.set(e,o),o)}function Bi(e,t){return!e||!a(t)?!1:(t=t.slice(2).replace(/Once$/,``),u(e,t[0].toLowerCase()+t.slice(1))||u(e,re(t))||u(e,t))}function Vi(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,_=Rn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Ka(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Ka(e.length>1?e(f,{attrs:c,slots:s,emit:l}):e(f,null)),y=t.props?c:Hi(c)}}catch(t){Oa.length=0,vn(t,e,1),v=U(Ea)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(o)&&(y=Ui(y,a)),b=Ua(b,y,!1,!0))}return n.dirs&&(b=Ua(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Cr(b,n.transition),v=b,Rn(_),v}var Hi=e=>{let t;for(let n in e)(n===`class`||n===`style`||a(n))&&((t||={})[n]=e[n]);return t},Ui=(e,t)=>{let n={};for(let r in e)(!o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Wi(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?Gi(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;tObject.create(Ji),Xi=e=>Object.getPrototypeOf(e)===Ji;function Zi(e,t,n,r=!1){let i={},a=Yi();e.propsDefaults=Object.create(null),$i(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);n?e.props=r?i:Bt(i):e.type.props?e.props=i:e.props=a,e.attrs=a}function Qi(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=M(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{p=!0;let[t,n]=na(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 y(e)&&a.set(e,n),n;if(d(c))for(let e=0;ee===`_`||e===`_ctx`||e===`$stable`,aa=e=>d(e)?e.map(Ka):[Ka(e)],oa=(e,t,n)=>{if(t._n)return t;let r=R((...e)=>aa(t(...e)),n);return r._c=!1,r},sa=(e,t,n)=>{let r=e._ctx;for(let n in e){if(ia(n))continue;let i=e[n];if(g(i))t[n]=oa(n,i,r);else if(i!=null){let e=aa(i);t[n]=()=>e}}},ca=(e,t)=>{let n=aa(t);e.slots.default=()=>n},la=(e,t,n)=>{for(let r in t)(n||!ia(r))&&(e[r]=t[r])},ua=(e,t,n)=>{let r=e.slots=Yi();if(e.vnode.shapeFlag&32){let e=t._;e?(la(r,t,n),n&&oe(r,`_`,e,!0)):sa(t,r)}else t&&ca(e,t)},da=(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:la(a,n,r):(o=!n.$stable,sa(n,a)),s=n}else n&&(ca(e,n),s={default:1});if(o)for(let e in a)!ia(e)&&s[e]==null&&delete a[e]},fa=wa;function pa(e){return ma(e)}function ma(e,i){let a=ue();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&&!Ra(e,t)&&(r=_e(e),pe(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 Ta:y(e,t,n,r);break;case Ea:b(e,t,n,r);break;case Da:e??x(t,n,r,o);break;case V: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?ae(e,t,n,r,i,a,o,s,c):(d&64||d&128)&&l.process(e,t,n,r,i,a,o,s,c,be)}u!=null&&i?Ar(u,e&&e.ref,a,t||e,!t):u==null&&e&&e.ref!=null&&Ar(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)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),D(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(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&&te(e.children,d,null,r,i,ha(e,a),s,u),_&&Bn(e,null,r,`created`),ee(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!E(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Ya(f,r,e)}_&&Bn(e,null,r,`beforeMount`);let v=_a(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&fa(()=>{try{f&&Ya(f,r,e),v&&g.enter(d),_&&Bn(e,null,r,`mounted`)}finally{}},i)},ee=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t{for(let l=c;l{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&&ga(r,!1),(g=h.onVnodeBeforeUpdate)&&Ya(g,r,n,e),f&&Bn(n,e,r,`beforeUpdate`),r&&ga(r,!0),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?ne(e.dynamicChildren,d,l,r,i,ha(n,a),o):s||le(e,n,l,null,r,i,ha(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{g&&Ya(g,r,n,e),f&&Bn(n,e,r,`updated`)},i)},ne=(e,t,n,r,i,a,o)=>{for(let s=0;s{if(n!==r){if(n!==t)for(let t in n)!E(t)&&!(t in r)&&c(e,t,n[t],null,a,i);for(let t in r){if(E(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),te(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(ne(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&va(e,t,!0)):le(e,t,n,f,i,a,s,c,l)},ae=(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):O(t,n,r,i,a,o,c):oe(e,t,c)},O=(e,t,n,r,i,a,o)=>{let s=e.component=Qa(e,r,i);if(Nr(e)&&(s.ctx.renderer=be),so(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,se,o),!e.el){let r=s.subTree=U(Ea);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(Wi(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=ba(e);if(n){t&&(t.el=c.el,ce(e,t,o)),n.asyncDep.then(()=>{fa(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;ga(e,!1),t?(t.el=c.el,ce(e,t,o)):t=c,n&&k(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Ya(d,s,t,c),ga(e,!0);let f=Vi(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),_e(p),e,i,a),t.el=f.el,u===null&&qi(e,f.el),r&&fa(r,i),(d=t.props&&t.props.onVnodeUpdated)&&fa(()=>Ya(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=Mr(t);if(ga(e,!1),l&&k(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Ya(o,d,t),ga(e,!0),s&&Se){let t=()=>{e.subTree=Vi(e),Se(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=Vi(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&fa(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;fa(()=>Ya(o,d,e),i)}(t.shapeFlag&256||d&&Mr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&fa(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=()=>kn(u),ga(e,!0),l()},ce=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,Qi(e,t.props,r,n),da(e,t.children,n),Ke(),Mn(e),qe()},le=(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){de(l,d,n,r,i,a,o,s,c);return}else if(f&256){A(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&ge(l,i,a),d!==l&&p(n,d)):u&16?m&16?de(l,d,n,r,i,a,o,s,c):ge(l,i,a,!0):(u&8&&p(n,``),m&16&&te(d,n,r,i,a,o,s,c))},A=(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;pd?ge(e,a,o,!0,!1,f):te(t,r,i,a,o,s,c,l,f)},de=(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?qa(t[u]):Ka(t[u]);if(Ra(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?qa(t[p]):Ka(t[p]);if(Ra(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=ep)for(;u<=f;)pe(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?qa(t[u]):Ka(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){pe(n,a,o,!0);continue}let i;if(n.key!=null)i=g.get(n.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&Ra(n,t[_])){i=_;break}i===void 0?pe(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?ya(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{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6){fe(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,be);return}if(c===V){o(a,t,n);for(let e=0;el.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[ur];a._isLeaving&&a[ur](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}else o(a,t,n)},pe=(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&&(Ke(),Ar(s,null,n,e,!0),qe()),p!=null&&(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Mr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Ya(_,t,e),u&6)he(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Bn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,be,r):l&&!l.hasOnce&&(a!==V||d>0&&d&64)?ge(l,t,n,!1,!0):(a===V&&d&384||!i&&u&16)&&ge(c,t,n),r&&me(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&fa(()=>{_&&Ya(_,t,e),h&&Bn(e,null,t,`unmounted`),v&&(e.el=null)},n)},me=e=>{let{type:t,el:n,anchor:r,transition:i}=e;if(t===V){j(n,r);return}if(t===Da){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()},j=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},he=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;xa(c),xa(l),r&&k(r),i.stop(),a&&(a.flags|=8,pe(o,e,t,n)),s&&fa(s,t),fa(()=>{e.isUnmounted=!0},t)},ge=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o{if(e.shapeFlag&6)return _e(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[Zn];return n?h(n):t},ve=!1,ye=(e,t,n)=>{let r;e==null?t._vnode&&(pe(t._vnode,null,null,!0),r=t._vnode.component):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e,ve||=(ve=!0,Mn(r),Nn(),!1)},be={p:v,um:pe,m:fe,r:me,mt:O,mc:te,pc:le,pbc:ne,n:_e,o:e},xe,Se;return i&&([xe,Se]=i(be)),{render:ye,hydrate:xe,createApp:Ni(ye,xe)}}function ha({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 ga({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function _a(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function va(e,t,n=!1){let r=e.children,i=t.children;if(d(r)&&d(i))for(let e=0;e>1,e[n[s]]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 ba(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:ba(t)}function xa(e){if(e)for(let t=0;te.__isSuspense;function wa(e,t){t&&t.pendingBranch?d(e)?t.effects.push(...e):t.effects.push(e):jn(e)}var V=Symbol.for(`v-fgt`),Ta=Symbol.for(`v-txt`),Ea=Symbol.for(`v-cmt`),Da=Symbol.for(`v-stc`),Oa=[],ka=null;function Aa(e=!1){Oa.push(ka=e?null:[])}function ja(){Oa.pop(),ka=Oa[Oa.length-1]||null}var Ma=1;function Na(e,t=!1){Ma+=e,e<0&&ka&&t&&(ka.hasOnce=!0)}function Pa(e){return e.dynamicChildren=Ma>0?ka||n:null,ja(),Ma>0&&ka&&ka.push(e),e}function Fa(e,t,n,r,i,a){return Pa(H(e,t,n,r,i,a,!0))}function Ia(e,t,n,r,i){return Pa(U(e,t,n,r,i,!0))}function La(e){return e?e.__v_isVNode===!0:!1}function Ra(e,t){return e.type===t.type&&e.key===t.key}var za=({key:e})=>e??null,Ba=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:_(e)||N(e)||g(e)?{i:In,r:e,k:t,f:!!n}:e);function H(e,t=null,n=null,r=0,i=null,a=e===V?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&za(t),ref:t&&Ba(t),scopeId:Ln,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:In};return s?(Ja(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=_(n)?8:16),Ma>0&&!o&&ka&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&ka.push(c),c}var U=Va;function Va(e,t=null,n=null,r=0,i=null,a=!1){if((!e||e===ni)&&(e=Ea),La(e)){let r=Ua(e,t,!0);return n&&Ja(r,n),Ma>0&&!a&&ka&&(r.shapeFlag&6?ka[ka.indexOf(e)]=r:ka.push(r)),r.patchFlag=-2,r}if(vo(e)&&(e=e.__vccOpts),t){t=Ha(t);let{class:e,style:n}=t;e&&!_(e)&&(t.class=j(e)),y(n)&&(Kt(n)&&!d(n)&&(n=s({},n)),t.style=A(n))}let o=_(e)?1:Ca(e)?128:Qn(e)?64:y(e)?4:g(e)?2:0;return H(e,t,n,r,i,o,a,!0)}function Ha(e){return e?Kt(e)||Xi(e)?s({},e):e:null}function Ua(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?W(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&za(l),ref:t&&t.ref?n&&a?d(a)?a.concat(Ba(t)):[a,Ba(t)]:Ba(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!==V?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&&Ua(e.ssContent),ssFallback:e.ssFallback&&Ua(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&Cr(u,c.clone(u)),u}function Wa(e=` `,t=0){return U(Ta,null,e,t)}function Ga(e=``,t=!1){return t?(Aa(),Ia(Ea,null,e)):U(Ea,null,e)}function Ka(e){return e==null||typeof e==`boolean`?U(Ea):d(e)?U(V,null,e.slice()):La(e)?qa(e):U(Ta,null,String(e))}function qa(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ua(e)}function Ja(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),Ja(e,n()),n._c&&(n._d=!0));return}else{n=32;let r=t._;!r&&!Xi(t)?t._ctx=In:r===3&&In&&(In.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else g(t)?(t={default:t,_ctx:In},n=32):(t=String(t),r&64?(n=16,t=[Wa(t)]):n=8);e.children=t,e.shapeFlag|=n}function W(...e){let t={};for(let n=0;n$a||In,to,no;{let e=ue(),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)}};to=t(`__VUE_INSTANCE_SETTERS__`,e=>$a=e),no=t(`__VUE_SSR_SETTERS__`,e=>oo=e)}var ro=e=>{let t=$a;return to(e),e.scope.on(),()=>{e.scope.off(),to(t)}},io=()=>{$a&&$a.scope.off(),to(null)};function ao(e){return e.vnode.shapeFlag&4}var oo=!1;function so(e,t=!1,n=!1){t&&no(t);let{props:r,children:i}=e.vnode,a=ao(e);Zi(e,r,a,t),ua(e,i,n||t);let o=a?co(e,t):void 0;return t&&no(!1),o}function co(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pi);let{setup:r}=n;if(r){Ke();let n=e.setupContext=r.length>1?ho(e):null,i=ro(e),a=gn(r,e,0,[e.props,n]),o=b(a);if(qe(),i(),(o||e.sp)&&!Mr(e)&&Dr(e),o){if(a.then(io,io),t)return a.then(n=>{lo(e,n,t)}).catch(t=>{vn(t,e,0)});e.asyncDep=a}else lo(e,a,t)}else po(e,t)}function lo(e,t,n){g(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:y(t)&&(e.setupState=en(t)),po(e,n)}var uo,fo;function po(e,t,n){let i=e.type;if(!e.render){if(!t&&uo&&!i.render){let t=i.template||xi(e).template;if(t){let{isCustomElement:n,compilerOptions:r}=e.appContext.config,{delimiters:a,compilerOptions:o}=i;i.render=uo(t,s(s({isCustomElement:n,delimiters:a},r),o))}}e.render=i.render||r,fo&&fo(e)}{let t=ro(e);Ke();try{_i(e)}finally{qe(),t()}}}var mo={get(e,t){return rt(e,`get`,``),e[t]}};function ho(e){return{attrs:new Proxy(e.attrs,mo),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function go(e){return e.exposed?e.exposeProxy||=new Proxy(en(qt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in di)return di[n](e)},has(e,t){return t in e||t in di}}):e.proxy}function _o(e,t=!0){return g(e)?e.displayName||e.name:e.name||t&&e.__name}function vo(e){return g(e)&&`__vccOpts`in e}var G=(e,t)=>ln(e,t,oo);function yo(e,t,n){try{Na(-1);let r=arguments.length;return r===2?y(t)&&!d(t)?La(t)?U(e,null,[t]):U(e,t):U(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&La(n)&&(n=[n]),U(e,t,n))}finally{Na(1)}}var bo=`3.5.35`,xo=r,So=void 0,Co=typeof window<`u`&&window.trustedTypes;if(Co)try{So=Co.createPolicy(`vue`,{createHTML:e=>e})}catch{}var wo=So?e=>So.createHTML(e):e=>e,To=`http://www.w3.org/2000/svg`,Eo=`http://www.w3.org/1998/Math/MathML`,Do=typeof document<`u`?document:null,Oo=Do&&Do.createElement(`template`),ko={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Do.createElementNS(To,e):t===`mathml`?Do.createElementNS(Eo,e):n?Do.createElement(e,{is:n}):Do.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Do.createTextNode(e),createComment:e=>Do.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Do.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===a||!(i=i.nextSibling)););else{Oo.innerHTML=wo(r===`svg`?`${e}`:r===`mathml`?`${e}`:e);let i=Oo.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ao=`transition`,jo=`animation`,Mo=Symbol(`_vtc`),No={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Po=s({},mr,No),Fo=(e=>(e.displayName=`Transition`,e.props=Po,e))((e,{slots:t})=>yo(vr,Ro(e),t)),Io=(e,t=[])=>{d(e)?e.forEach(e=>e(...t)):e&&e(...t)},Lo=e=>e?d(e)?e.some(e=>e.length>1):e.length>1:!1;function Ro(e){let t={};for(let n in e)n in No||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:c=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=o,appearToClass:d=c,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=zo(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,E=(e,t,n,r)=>{e._enterCancelled=r,Ho(e,t?d:c),Ho(e,t?u:o),n&&n()},ee=(e,t)=>{e._isLeaving=!1,Ho(e,f),Ho(e,m),Ho(e,p),t&&t()},te=e=>(t,n)=>{let i=e?w:y,o=()=>E(t,e,n);Io(i,[t,o]),Uo(()=>{Ho(t,e?l:a),Vo(t,e?d:c),Lo(i)||Go(t,r,g,o)})};return s(t,{onBeforeEnter(e){Io(v,[e]),Vo(e,a),Vo(e,o)},onBeforeAppear(e){Io(C,[e]),Vo(e,l),Vo(e,u)},onEnter:te(!1),onAppear:te(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>ee(e,t);Vo(e,f),e._enterCancelled?(Vo(e,p),Yo(e)):(Yo(e),Vo(e,p)),Uo(()=>{e._isLeaving&&(Ho(e,f),Vo(e,m),Lo(x)||Go(e,r,_,n))}),Io(x,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),Io(b,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),Io(T,[e])},onLeaveCancelled(e){ee(e),Io(S,[e])}})}function zo(e){if(e==null)return null;if(y(e))return[Bo(e.enter),Bo(e.leave)];{let t=Bo(e);return[t,t]}}function Bo(e){return ce(e)}function Vo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Mo]||(e[Mo]=new Set)).add(t)}function Ho(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Mo];n&&(n.delete(t),n.size||(e[Mo]=void 0))}function Uo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Wo=0;function Go(e,t,n,r){let i=e._endId=++Wo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Ko(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u(n[e]||``).split(`, `),i=r(`${Ao}Delay`),a=r(`${Ao}Duration`),o=qo(i,a),s=r(`${jo}Delay`),c=r(`${jo}Duration`),l=qo(s,c),u=null,d=0,f=0;t===Ao?o>0&&(u=Ao,d=o,f=a.length):t===jo?l>0&&(u=jo,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Ao:jo:null,f=u?u===Ao?a.length:c.length:0);let p=u===Ao&&/\b(?:transform|all)(?:,|$)/.test(r(`${Ao}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function qo(e,t){for(;e.lengthJo(t)+Jo(e[n])))}function Jo(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Yo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Xo(e,t,n){let r=e[Mo];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Zo=Symbol(`_vod`),Qo=Symbol(`_vsh`),$o={name:`show`,beforeMount(e,{value:t},{transition:n}){e[Zo]=e.style.display===`none`?``:e.style.display,n&&t?n.beforeEnter(e):es(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),es(e,!0),r.enter(e)):r.leave(e,()=>{es(e,!1)}):es(e,t))},beforeUnmount(e,{value:t}){es(e,t)}};function es(e,t){e.style.display=t?e[Zo]:`none`,e[Qo]=!t}var ts=Symbol(``),ns=/(?:^|;)\s*display\s*:/;function rs(e,t,n){let r=e.style,i=_(n),a=!1;if(n&&!i){if(t)if(_(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??as(r,t,``)}else for(let e in t)n[e]??as(r,e,``);for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?as(r,i,``):ls(e,i,!_(t)&&t?t[i]:void 0,o)||as(r,i,o)}}else if(i){if(t!==n){let e=r[ts];e&&(n+=`;`+e),r.cssText=n,a=ns.test(n)}}else t&&e.removeAttribute(`style`);Zo in e&&(e[Zo]=a?r.display:``,e[Qo]&&(r.display=`none`))}var is=/\s*!important$/;function as(e,t,n){if(d(n))n.forEach(n=>as(e,t,n));else if(n??=``,t.startsWith(`--`))e.setProperty(t,n);else{let r=cs(e,t);is.test(n)?e.setProperty(re(r),n.replace(is,``),`important`):e[r]=n}}var os=[`Webkit`,`Moz`,`ms`],ss={};function cs(e,t){let n=ss[t];if(n)return n;let r=D(t);if(r!==`filter`&&r in e)return ss[t]=r;r=ie(r);for(let n=0;nys||=(bs.then(()=>ys=0),Date.now());function Ss(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(d(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;ne.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ws=(e,t,n,r,i,s)=>{let c=i===`svg`;t===`class`?Xo(e,r,c):t===`style`?rs(e,n,r):a(t)?o(t)||gs(e,t,n,r,s):(t[0]===`.`?(t=t.slice(1),!0):t[0]===`^`?(t=t.slice(1),!1):Ts(e,t,r,c))?(fs(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&ds(e,t,r,c,s,t!==`value`)):e._isVueCE&&(Es(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!_(r)))?fs(e,D(t),r,s,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),ds(e,t,r,c))};function Ts(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Cs(t)&&g(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Cs(t)&&_(n)?!1:t in e}function Es(e,t){let n=e._def.props;if(!n)return!1;let r=D(t);return Array.isArray(n)?n.some(e=>D(e)===r):Object.keys(n).some(e=>D(e)===r)}var Ds=new WeakMap,Os=new WeakMap,ks=Symbol(`_moveCb`),As=Symbol(`_enterCb`),js=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:s({},Po,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=eo(),r=fr(),i,a;return qr(()=>{if(!i.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!Is(i[0].el,n.vnode.el,t)){i=[];return}i.forEach(Ms),i.forEach(Ns);let r=i.filter(Ps);Yo(n.vnode.el),r.forEach(e=>{let n=e.el,r=n.style;Vo(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[ks]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[ks]=null,Ho(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let o=M(e),s=Ro(o),c=o.tag||V;if(i=[],a)for(let e=0;e{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Ko(r);return a.removeChild(r),o}var Ls=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return d(t)?e=>k(t,e):t};function Rs(e){e.target.composing=!0}function zs(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Bs=Symbol(`_assign`);function Vs(e,t,n){return t&&(e=e.trim()),n&&(e=se(e)),e}var Hs={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[Bs]=Ls(i);let a=r||i.props&&i.props.type===`number`;ps(e,t?`change`:`input`,t=>{t.target.composing||e[Bs](Vs(e.value,n,a))}),(n||a)&&ps(e,`change`,()=>{e.value=Vs(e.value,n,a)}),t||(ps(e,`compositionstart`,Rs),ps(e,`compositionend`,zs),ps(e,`change`,zs))},mounted(e,{value:t}){e.value=t??``},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Bs]=Ls(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?se(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Us=[`ctrl`,`shift`,`alt`,`meta`],Ws={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>Us.some(n=>e[`${n}Key`]&&!t.includes(n))},Gs=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=re(n.key);if(t.some(e=>e===r||Ks[e]===r))return e(n)}))},Js=s({patchProp:ws},ko),Ys;function Xs(){return Ys||=pa(Js)}var Zs=((...e)=>{let t=Xs().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=$s(e);if(!r)return;let i=t._component;!g(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,Qs(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function Qs(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function $s(e){return _(e)?document.querySelector(e):e}function ec(e){xo(`Vuetify: ${e}`)}function tc(e){xo(`Vuetify error: ${e}`)}function nc(e,t){t=Array.isArray(t)?t.slice(0,-1).map(e=>`'${e}'`).join(`, `)+` or '${t.at(-1)}'`:`'${t}'`,xo(`[Vuetify UPGRADE] '${e}' is deprecated, use ${t} instead.`)}var K=typeof window<`u`,rc=K&&`IntersectionObserver`in window,ic=K&&(`ontouchstart`in window||window.navigator.maxTouchPoints>0);K&&`EyeDropper`in window;var ac=K&&`matchMedia`in window&&typeof window.matchMedia==`function`,oc=()=>ac&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;function sc(e,t,n){let r=t.length-1;if(r<0)return e===void 0?n:e;for(let i=0;it+n)}function q(e,t=`px`){if(e==null||e===``)return;let n=Number(e);if(isNaN(n))return String(e);if(isFinite(n))return`${n}${t}`}function dc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function fc(e){let t;return typeof e==`object`&&!!e&&((t=Object.getPrototypeOf(e))===Object.prototype||t===null)}function pc(e){if(e&&`$el`in e){let t=e.$el;return t?.nodeType===Node.TEXT_NODE?t.nextElementSibling:t}return e}Object.freeze({enter:13,tab:9,delete:46,esc:27,space:32,up:38,down:40,left:37,right:39,end:35,home:36,del:46,backspace:8,insert:45,pageup:33,pagedown:34,shift:16});var mc=Object.freeze({enter:`Enter`,tab:`Tab`,delete:`Delete`,esc:`Escape`,space:`Space`,up:`ArrowUp`,down:`ArrowDown`,left:`ArrowLeft`,right:`ArrowRight`,end:`End`,home:`Home`,del:`Delete`,backspace:`Backspace`,insert:`Insert`,pageup:`PageUp`,pagedown:`PageDown`,shift:`Shift`});function hc(e){return Object.keys(e)}function gc(e,t){return t.every(t=>e.hasOwnProperty(t))}function _c(e,t){let n={};for(let r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function vc(e,t,n){let r=Object.create(null),i=Object.create(null);for(let a in e)t.some(e=>e instanceof RegExp?e.test(a):e===a)&&!n?.some(e=>e===a)?r[a]=e[a]:i[a]=e[a];return[r,i]}function yc(e,t){let n={...e};return t.forEach(e=>delete n[e]),n}var bc=/^on[^a-z]/,xc=e=>bc.test(e),Sc=`onAfterscriptexecute.onAnimationcancel.onAnimationend.onAnimationiteration.onAnimationstart.onAuxclick.onBeforeinput.onBeforescriptexecute.onChange.onClick.onCompositionend.onCompositionstart.onCompositionupdate.onContextmenu.onCopy.onCut.onDblclick.onFocusin.onFocusout.onFullscreenchange.onFullscreenerror.onGesturechange.onGestureend.onGesturestart.onGotpointercapture.onInput.onKeydown.onKeypress.onKeyup.onLostpointercapture.onMousedown.onMousemove.onMouseout.onMouseover.onMouseup.onMousewheel.onPaste.onPointercancel.onPointerdown.onPointerenter.onPointerleave.onPointermove.onPointerout.onPointerover.onPointerup.onReset.onSelect.onSubmit.onTouchcancel.onTouchend.onTouchmove.onTouchstart.onTransitioncancel.onTransitionend.onTransitionrun.onTransitionstart.onWheel`.split(`.`),Cc=[`ArrowUp`,`ArrowDown`,`ArrowRight`,`ArrowLeft`,`Enter`,`Escape`,`Tab`,` `];function wc(e){return e.isComposing&&Cc.includes(e.key)}function Tc(e){let[t,n]=vc(e,[bc]),r=yc(t,Sc),[i,a]=vc(n,[`class`,`style`,`id`,`inert`,/^data-/]);return Object.assign(i,t),Object.assign(a,r),[i,a]}function Ec(e){return e==null?[]:Array.isArray(e)?e:[e]}function Dc(e,t){let n=0,r=(...r)=>{clearTimeout(n),n=setTimeout(()=>e(...r),I(t))};return r.clear=()=>{clearTimeout(n)},r.immediate=e,r}function Oc(e,t=0,n=1){return Math.max(t,Math.min(n,e))}function kc(e,t,n=`0`){return e+n.repeat(Math.max(0,t-e.length))}function Ac(e,t,n=`0`){return n.repeat(Math.max(0,t-e.length))+e}function jc(e,t=1){let n=[],r=0;for(;r=t&&re.type===V?Pc(e.children):e).flat()}function Fc(e=``){if(Fc.cache.has(e))return Fc.cache.get(e);let t=e.replace(/[^a-z]/gi,`-`).replace(/\B([A-Z])/g,`-$1`).toLowerCase();return Fc.cache.set(e,t),t}Fc.cache=new Map;function Ic(e,t){if(!t||typeof t!=`object`)return[];if(Array.isArray(t))return t.map(t=>Ic(e,t)).flat(1);if(t.suspense)return Ic(e,t.ssContent);if(Array.isArray(t.children))return t.children.map(t=>Ic(e,t)).flat(1);if(t.component){if(Object.getOwnPropertyDescriptor(t.component.provides,e))return[t.component];if(t.component.subTree)return Ic(e,t.component.subTree).flat(1)}return[]}var Lc=class{#e=[];#t=0;constructor(e){this.size=e}get isFull(){return this.#e.length===this.size}push(e){this.#e[this.#t]=e,this.#t=(this.#t+1)%this.size}values(){return this.#e.slice(this.#t).concat(this.#e.slice(0,this.#t))}clear(){this.#e.length=0,this.#t=0}};function Rc(e){let t=zt({});Gn(()=>{let n=e();for(let e in n)t[e]=n[e]},{flush:`sync`});let n={};for(let e in t)n[e]=L(()=>t[e]);return n}function zc(e,t){return e.includes(t)}function Bc(e){return e[2].toLowerCase()+e.slice(3)}var Vc=()=>[Function,Array];function Hc(e,t){return t=`on`+ie(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function Uc(e,...t){if(Array.isArray(e))for(let n of e)n(...t);else typeof e==`function`&&e(...t)}function Wc(e,t=!0){let n=[`button`,`[href]`,`input:not([type="hidden"])`,`select`,`textarea`,`details:not(:has(> summary))`,`details > summary`,`[tabindex]`,`[contenteditable]:not([contenteditable="false"])`,`audio[controls]`,`video[controls]`].map(e=>`${e}${t?`:not([tabindex="-1"])`:``}:not([disabled], [inert])`).join(`, `),r;try{r=[...e.querySelectorAll(n)]}catch(e){return tc(String(e)),[]}return r.filter(e=>!e.closest(`[inert]`)).filter(e=>!!e.offsetParent||e.getClientRects().length>0).filter(e=>!e.parentElement?.closest(`details:not([open])`)||e.tagName===`SUMMARY`&&e.parentElement?.tagName===`DETAILS`)}function Gc(e,t,n){let r,i=e.indexOf(document.activeElement),a=t===`next`?1:-1;do i+=a,r=e[i];while((!r||r.offsetParent==null||!(n?.(r)??!0))&&i=0);return r}function Kc(e,t,n){let r=Wc(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&r[0]?.focus(n);else if(t===`first`)r[0]?.focus(n);else if(t===`last`)r.at(-1)?.focus(n);else if(typeof t==`number`)r[t]?.focus(n);else{let i=Gc(r,t);i?i.focus():Kc(e,t===`next`?`first`:`last`,n)}}function qc(e){return e==null||typeof e==`string`&&e.trim()===``}function Jc(){}function Yc(e,t){if(!(K&&typeof CSS<`u`&&CSS.supports!==void 0&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function Xc(e){return e.some(e=>La(e)?e.type===Ea?!1:e.type!==V||Xc(e.children):!0)?e:null}function Zc(e,t){if(!K||e===0)return t(),()=>{};let n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function Qc(e,t){let n=e.clientX,r=e.clientY,i=t.getBoundingClientRect(),a=i.left,o=i.top,s=i.right,c=i.bottom;return n>=a&&n<=s&&r>=o&&r<=c}function $c(){let e=F(),t=t=>{e.value=t};return Object.defineProperty(t,"value",{enumerable:!0,get:()=>e.value,set:t=>e.value=t}),Object.defineProperty(t,"el",{enumerable:!0,get:()=>pc(e.value)}),t}function el(e){let t=e.key.length===1,n=!e.ctrlKey&&!e.metaKey&&!e.altKey;return t&&n}function tl(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`}function nl(e){return`\\^$*+?.()|{}[]`.includes(e)?`\\${e}`:e}function rl(e){let t={};for(let n in e)t[D(n)]=e[n];return t}function il(e){let t=[`checked`,`disabled`];return Object.fromEntries(Object.entries(e).filter(([e,n])=>t.includes(e)?!!n:n!==void 0))}var al=[`top`,`bottom`],ol=[`start`,`end`,`left`,`right`];function sl(e,t){let[n,r]=e.split(` `);return r||=zc(al,n)?`start`:zc(ol,n)?`top`:`center`,{side:cl(n,t),align:cl(r,t)}}function cl(e,t){return e===`start`?t?`right`:`left`:e===`end`?t?`left`:`right`:e}function ll(e){return{side:{center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`}[e.side],align:e.align}}function ul(e){return{side:e.side,align:{center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`}[e.align]}}function dl(e){return{side:e.align,align:e.side}}function fl(e){return zc(al,e.side)?`y`:`x`}var pl=class{constructor(e){let t=document.body.currentCSSZoom??1,n=e instanceof Element,r=n?1+(1-t)/t:1,{x:i,y:a,width:o,height:s}=n?e.getBoundingClientRect():e;this.x=i*r,this.y=a*r,this.width=o*r,this.height=s*r}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}};function ml(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function hl(e){if(Array.isArray(e)){let t=document.body.currentCSSZoom??1,n=1+(1-t)/t;return new pl({x:e[0]*n,y:e[1]*n,width:0*n,height:0*n})}else return new pl(e)}function gl(e){if(e===document.documentElement)if(visualViewport){let e=document.body.currentCSSZoom??1;return new pl({x:visualViewport.scale>1?0:visualViewport.offsetLeft,y:visualViewport.scale>1?0:visualViewport.offsetTop,width:visualViewport.width*visualViewport.scale/e,height:visualViewport.height*visualViewport.scale/e})}else return new pl({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});else return new pl(e)}function _l(e){let t=new pl(e),n=getComputedStyle(e),r=n.transform;if(r){let i,a,o,s,c;if(r.startsWith(`matrix3d(`))i=r.slice(9,-1).split(/, /),a=Number(i[0]),o=Number(i[5]),s=Number(i[12]),c=Number(i[13]);else if(r.startsWith(`matrix(`))i=r.slice(7,-1).split(/, /),a=Number(i[0]),o=Number(i[3]),s=Number(i[4]),c=Number(i[5]);else return new pl(t);let l=n.transformOrigin;return new pl({x:t.x-s-(1-a)*parseFloat(l),y:t.y-c-(1-o)*parseFloat(l.slice(l.indexOf(` `)+1)),width:a?t.width/a:e.offsetWidth+1,height:o?t.height/o:e.offsetHeight+1})}else return new pl(t)}function vl(e,t,n){if(e.animate===void 0)return{finished:Promise.resolve()};let r;try{r=e.animate(t,n)}catch{return{finished:Promise.resolve()}}return r.finished===void 0&&(r.finished=new Promise(e=>{r.onfinish=()=>{e(r)}})),r}var yl=new WeakMap;function bl(e,t){Object.keys(t).forEach(n=>{if(xc(n)){let r=Bc(n),i=yl.get(e);if(t[n]==null)i?.forEach(t=>{let[n,a]=t;n===r&&(e.removeEventListener(r,a),i.delete(t))});else if(!i||![...i].some(e=>e[0]===r&&e[1]===t[n])){e.addEventListener(r,t[n]);let a=i||new Set;a.add([r,t[n]]),yl.has(e)||yl.set(e,a)}}else t[n]==null?e.removeAttribute(n):e.setAttribute(n,t[n])})}function xl(e,t){Object.keys(t).forEach(t=>{if(xc(t)){let n=Bc(t),r=yl.get(e);r?.forEach(t=>{let[i,a]=t;i===n&&(e.removeEventListener(n,a),r.delete(t))})}else e.removeAttribute(t)})}var Sl=2.4,Cl=.2126729,wl=.7151522,Tl=.072175,El=.55,Dl=.58,Ol=.57,kl=.62,Al=.03,jl=1.45,Ml=5e-4,Nl=1.25,Pl=1.25,Fl=.078,Il=12.82051282051282,Ll=.06,Rl=.001;function zl(e,t){let n=(e.r/255)**Sl,r=(e.g/255)**Sl,i=(e.b/255)**Sl,a=(t.r/255)**Sl,o=(t.g/255)**Sl,s=(t.b/255)**Sl,c=n*Cl+r*wl+i*Tl,l=a*Cl+o*wl+s*Tl;if(c<=Al&&(c+=(Al-c)**jl),l<=Al&&(l+=(Al-l)**jl),Math.abs(l-c)c){let e=(l**El-c**Dl)*Nl;u=e-.001?0:e>-.078?e-e*Il*Ll:e+Ll}return u*100}var Bl=.20689655172413793,Vl=e=>e>Bl**3?Math.cbrt(e):e/(3*Bl**2)+4/29,Hl=e=>e>Bl?e**3:3*Bl**2*(e-4/29);function Ul(e){let t=Vl,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function Wl(e){let t=Hl,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}var Gl=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],Kl=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,ql=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],Jl=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function Yl(e){let t=[,,,],n=Kl,r=Gl;for(let i=0;i<3;++i)t[i]=Math.round(Oc(n(r[i][0]*e[0]+r[i][1]*e[1]+r[i][2]*e[2]))*255);return{r:t[0],g:t[1],b:t[2]}}function Xl({r:e,g:t,b:n}){let r=[0,0,0],i=Jl,a=ql;e=i(e/255),t=i(t/255),n=i(n/255);for(let i=0;i<3;++i)r[i]=a[i][0]*e+a[i][1]*t+a[i][2]*n;return r}function Zl(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function Ql(e){return Zl(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}var $l=/^(?(?:rgb|hsl)a?)\((?.+)\)/,eu={rgb:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),rgba:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),hsl:(e,t,n,r)=>ru({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>ru({h:e,s:t,l:n,a:r}),hsv:(e,t,n,r)=>nu({h:e,s:t,v:n,a:r}),hsva:(e,t,n,r)=>nu({h:e,s:t,v:n,a:r})};function tu(e){if(typeof e==`number`)return(isNaN(e)||e<0||e>16777215)&&ec(`'${e}' is not a valid hex color`),{r:(e&16711680)>>16,g:(e&65280)>>8,b:e&255};if(typeof e==`string`&&$l.test(e)){let{groups:t}=e.match($l),{fn:n,values:r}=t,i=r.split(/,\s*|\s*\/\s*|\s+/).map((e,t)=>e.endsWith(`%`)||t>0&&t<3&&[`hsl`,`hsla`,`hsv`,`hsva`].includes(n)?parseFloat(e)/100:parseFloat(e));return eu[n](...i)}else if(typeof e==`string`){let t=e.startsWith(`#`)?e.slice(1):e;[3,4].includes(t.length)?t=t.split(``).map(e=>e+e).join(``):[6,8].includes(t.length)||ec(`'${e}' is not a valid hex(a) color`);let n=parseInt(t,16);return(isNaN(n)||n<0||n>4294967295)&&ec(`'${e}' is not a valid hex(a) color`),su(t)}else if(typeof e==`object`){if(gc(e,[`r`,`g`,`b`]))return e;if(gc(e,[`h`,`s`,`l`]))return nu(iu(e));if(gc(e,[`h`,`s`,`v`]))return nu(e)}throw TypeError(`Invalid color: ${e==null?e:String(e)||e.constructor.name}\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function nu(e){let{h:t,s:n,v:r,a:i}=e,a=e=>{let i=(e+t/60)%6;return r-r*n*Math.max(Math.min(i,4-i,1),0)},o=[a(5),a(3),a(1)].map(e=>Math.round(e*255));return{r:o[0],g:o[1],b:o[2],a:i}}function ru(e){return nu(iu(e))}function iu(e){let{h:t,s:n,l:r,a:i}=e,a=r+n*Math.min(r,1-r);return{h:t,s:a===0?0:2-2*r/a,v:a,a:i}}function au(e){let t=Math.round(e).toString(16);return(`00`.substr(0,2-t.length)+t).toUpperCase()}function ou({r:e,g:t,b:n,a:r}){return`#${[au(e),au(t),au(n),r===void 0?``:au(Math.round(r*255))].join(``)}`}function su(e){e=cu(e);let[t,n,r,i]=jc(e,2).map(e=>parseInt(e,16));return i=i===void 0?i:i/255,{r:t,g:n,b:r,a:i}}function cu(e){return e.startsWith(`#`)&&(e=e.slice(1)),e=e.replace(/([^0-9a-f])/gi,`F`),(e.length===3||e.length===4)&&(e=e.split(``).map(e=>e+e).join(``)),e.length!==6&&(e=kc(kc(e,6),8,`F`)),e}function lu(e,t){let n=Ul(Xl(e));return n[0]+=t*10,Yl(Wl(n))}function uu(e,t){let n=Ul(Xl(e));return n[0]-=t*10,Yl(Wl(n))}function du(e){return Xl(tu(e))[1]}function fu(e){let t=Math.abs(zl(tu(0),tu(e)));return Math.abs(zl(tu(16777215),tu(e)))>Math.min(t,50)}function J(e,t){return n=>Object.keys(e).reduce((r,i)=>{let a=typeof e[i]==`object`&&e[i]!=null&&!Array.isArray(e[i])?e[i]:{type:e[i]};return n&&i in n?r[i]={...a,default:n[i]}:r[i]=a,t&&!r[i].source&&(r[i].source=t),r},{})}var Y=J({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},`component`);function pu(e,t){let n=eo();if(!n)throw Error(`[Vuetify] ${e} ${t||`must be called from inside a setup function`}`);return n}function mu(e=`composables`){let t=pu(e).type;return Fc(t?.aliasName||t?.name)}function hu(e,t=pu(`injectSelf`)){let{provides:n}=t;if(n&&e in n)return n[e]}var gu=Symbol.for(`vuetify:defaults`);function _u(e){return P(e)}function vu(){let e=z(gu);if(!e)throw Error(`[Vuetify] Could not find defaults instance`);return e}function yu(e,t){let n=vu(),r=P(e),i=G(()=>{if(I(t?.disabled))return n.value;let e=I(t?.scoped),i=I(t?.reset),a=I(t?.root);if(r.value==null&&!(e||i||a))return n.value;let o=Nc(r.value,{prev:n.value});if(e)return o;if(i||a){let e=Number(i||1/0);for(let t=0;t<=e&&!(!o||!(`prev`in o));t++)o=o.prev;return o&&typeof a==`string`&&a in o&&(o=Nc(Nc(o,{prev:o}),o[a])),o}return o.prev?Nc(o.prev,o,void 0,(e,t)=>t!==void 0):o});return Vn(gu,i),i}function bu(e,t){return e.props&&(e.props[t]!==void 0||e.props[Fc(t)]!==void 0)}function xu(e={},t,n=vu()){let r=pu(`useDefaults`);if(t=t??r.type.name??r.type.__name,!t)throw Error(`[Vuetify] Could not determine component name`);let i=G(()=>n.value?.[e._as??t]),a=new Proxy(e,{get(e,t){let a=Reflect.get(e,t);if(t===`class`||t===`style`)return[i.value?.[t],a].filter(e=>e!=null);if(bu(r.vnode,t))return a;let o=i.value?.[t];if(o!==void 0)return o;let s=n.value?.global?.[t];return s===void 0?a:s}}),o=F();Gn(()=>{if(i.value){let e=Object.entries(i.value).filter(([e])=>e.startsWith(e[0].toUpperCase()));o.value=e.length?Object.fromEntries(e):void 0}else o.value=void 0});function s(){let e=hu(gu,r);Vn(gu,G(()=>o.value?Nc(e?.value??{},o.value):e?.value))}return{props:a,provideSubDefaults:s}}function Su(e){if(e._setup=e._setup??e.setup,!e.name)return ec(`The component is missing an explicit name, unable to generate default prop value`),e;if(e._setup){e.props=J(e.props??{},e.name)();let t=Object.keys(e.props).filter(e=>e!==`class`&&e!==`style`);e.filterProps=function(e){return _c(e,t)},e.props._as=String,e.setup=function(t,n){let r=vu();if(!r.value)return e._setup(t,n);let{props:i,provideSubDefaults:a}=xu(t,t._as??e.name,r),o=e._setup(i,n);return a(),o}}return e}function X(e=!0){return t=>(e?Su:Tr)(t)}function Cu(e,t){return t.props=e,t}function wu(e,t=`div`,n){return X()({name:n??ie(D(e.replace(/__/g,`-`))),props:{tag:{type:String,default:t},...Y()},setup(t,{slots:n}){return()=>yo(t.tag,{class:[e,t.class],style:t.style},n.default?.())}})}function Tu(e,t,n,r){if(!n||tl(e)||tl(t))return;let i=n.get(e);if(i)i.set(t,r);else{let i=new WeakMap;i.set(t,r),n.set(e,i)}}function Eu(e,t,n){if(!n||tl(e)||tl(t))return null;let r=n.get(e)?.get(t);if(typeof r==`boolean`)return r;let i=n.get(t)?.get(e);return typeof i==`boolean`?i:null}function Du(e,t,n=new WeakMap){if(e===t)return!0;if(e instanceof Date&&t instanceof Date&&e.getTime()!==t.getTime()||e!==Object(e)||t!==Object(t))return!1;let r=Object.keys(e);return r.length===Object.keys(t).length?Eu(e,t,n)||(Tu(e,t,n,!0),r.every(r=>Du(e[r],t[r],n))):!1}function Ou(e){if(typeof e.getRootNode!=`function`){for(;e.parentNode;)e=e.parentNode;return e===document?document:null}let t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}var ku=`cubic-bezier(0.4, 0, 0.2, 1)`,Au=`cubic-bezier(0.0, 0, 0.2, 1)`,ju=`cubic-bezier(0.4, 0, 1, 1)`,Mu={linear:e=>e,easeInQuad:e=>e**2,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e**2:-1+(4-2*e)*e,easeInCubic:e=>e**3,easeOutCubic:e=>--e**3+1,easeInOutCubic:e=>e<.5?4*e**3:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e**4,easeOutQuart:e=>1- --e**4,easeInOutQuart:e=>e<.5?8*e**4:1-8*--e**4,easeInQuint:e=>e**5,easeOutQuint:e=>1+--e**5,easeInOutQuint:e=>e<.5?16*e**5:1+16*--e**5,instant:e=>1};function Nu(e,t=!1){for(;e;){if(t?Iu(e):Fu(e))return e;e=e.parentElement}return document.scrollingElement}function Pu(e,t){let n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(Fu(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function Fu(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;let t=window.getComputedStyle(e),n=t.overflowY===`scroll`||t.overflowY===`auto`&&e.scrollHeight>e.clientHeight,r=t.overflowX===`scroll`||t.overflowX===`auto`&&e.scrollWidth>e.clientWidth;return n||r}function Iu(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;let t=window.getComputedStyle(e);return[`scroll`,`auto`].includes(t.overflowY)}function Lu(e){for(;e;){if(window.getComputedStyle(e).position===`fixed`)return!0;e=e.offsetParent}return!1}function Z(e){let t=pu(`useRender`);t.render=e}function Ru(e,t,n={leading:!0,trailing:!0}){let r=0,i=0,a=!1,o=0;function s(){clearTimeout(r),a=!1,o=0}let c=(...c)=>{clearTimeout(r);let l=Date.now();o||=l;let u=l-Math.max(o,i);function d(){i=Date.now(),r=setTimeout(s,t),e(...c)}a?u>=t?d():n.trailing&&(r=setTimeout(d,t-u)):(a=!0,n.leading&&d())};return c.clear=s,c.immediate=e,c}var zu=[String,Function,Object,Array],Bu=Symbol.for(`vuetify:icons`),Vu=J({icon:{type:zu},tag:{type:[String,Object,Function],required:!0}},`icon`),Hu=X()({name:`VComponentIcon`,props:Vu(),setup(e,{slots:t}){return()=>{let n=e.icon;return U(e.tag,null,{default:()=>[e.icon?U(n,null,null):t.default?.()]})}}}),Uu=Su({name:`VSvgIcon`,inheritAttrs:!1,props:Vu(),setup(e,{attrs:t}){return()=>U(e.tag,W(t,{style:null}),{default:()=>[H(`svg`,{class:`v-icon__svg`,xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,role:`img`,"aria-hidden":`true`},[Array.isArray(e.icon)?e.icon.map(e=>Array.isArray(e)?H(`path`,{d:e[0],"fill-opacity":e[1]},null):H(`path`,{d:e},null)):H(`path`,{d:e.icon},null)])]})}});Su({name:`VLigatureIcon`,props:Vu(),setup(e){return()=>U(e.tag,null,{default:()=>[e.icon]})}});var Wu=Su({name:`VClassIcon`,props:Vu(),setup(e){return()=>U(e.tag,{class:j(e.icon)},null)}}),Gu=e=>{let t=z(Bu);if(!t)throw Error(`Missing Vuetify Icons provide!`);return{iconData:G(()=>{let n=Qt(e);if(!n)return{component:Hu};let r=n;if(typeof r==`string`&&(r=r.trim(),r.startsWith(`$`)&&(r=t.aliases?.[r.slice(1)])),r||ec(`Could not find aliased icon "${n}"`),Array.isArray(r))return{component:Uu,icon:r};if(typeof r!=`string`)return{component:Hu,icon:r};let i=Object.keys(t.sets).find(e=>typeof r==`string`&&r.startsWith(`${e}:`)),a=i?r.slice(i.length+1):r;return{component:t.sets[i??t.defaultSet].component,icon:a}})}},Ku={collapse:`mdi-chevron-up`,complete:`mdi-check`,cancel:`mdi-close-circle`,close:`mdi-close`,delete:`mdi-close-circle`,clear:`mdi-close-circle`,success:`mdi-check-circle`,info:`mdi-information`,warning:`mdi-alert-circle`,error:`mdi-close-circle`,prev:`mdi-chevron-left`,next:`mdi-chevron-right`,checkboxOn:`mdi-checkbox-marked`,checkboxOff:`mdi-checkbox-blank-outline`,checkboxIndeterminate:`mdi-minus-box`,delimiter:`mdi-circle`,sortAsc:`mdi-arrow-up`,sortDesc:`mdi-arrow-down`,expand:`mdi-chevron-down`,menu:`mdi-menu`,subgroup:`mdi-menu-down`,dropdown:`mdi-menu-down`,radioOn:`mdi-radiobox-marked`,radioOff:`mdi-radiobox-blank`,edit:`mdi-pencil`,ratingEmpty:`mdi-star-outline`,ratingFull:`mdi-star`,ratingHalf:`mdi-star-half-full`,loading:`mdi-cached`,first:`mdi-page-first`,last:`mdi-page-last`,unfold:`mdi-unfold-more-horizontal`,file:`mdi-paperclip`,plus:`mdi-plus`,minus:`mdi-minus`,calendar:`mdi-calendar`,treeviewCollapse:`mdi-menu-down`,treeviewExpand:`mdi-menu-right`,tableGroupCollapse:`mdi-chevron-down`,tableGroupExpand:`mdi-chevron-right`,eyeDropper:`mdi-eyedropper`,upload:`mdi-cloud-upload`,color:`mdi-palette`,command:`mdi-apple-keyboard-command`,ctrl:`mdi-apple-keyboard-control`,space:`mdi-keyboard-space`,shift:`mdi-apple-keyboard-shift`,alt:`mdi-apple-keyboard-option`,enter:`mdi-keyboard-return`,arrowup:`mdi-arrow-up`,arrowdown:`mdi-arrow-down`,arrowleft:`mdi-arrow-left`,arrowright:`mdi-arrow-right`,backspace:`mdi-backspace`,play:`mdi-play`,pause:`mdi-pause`,fullscreen:`mdi-fullscreen`,fullscreenExit:`mdi-fullscreen-exit`,volumeHigh:`mdi-volume-high`,volumeMedium:`mdi-volume-medium`,volumeLow:`mdi-volume-low`,volumeOff:`mdi-volume-variant-off`,search:`mdi-magnify`},qu={component:e=>yo(Wu,{...e,class:`mdi`})};function Ju(){return{svg:{component:Uu},class:{component:Wu}}}function Yu(e){let t=Ju(),n=e?.defaultSet??`mdi`;return n===`mdi`&&!t.mdi&&(t.mdi=qu),Nc({defaultSet:n,sets:t,aliases:{...Ku,vuetify:[`M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z`,[`M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z`,.6]],"vuetify-outline":`svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z`,"vuetify-play":[`m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z`,[`M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z`,.6]]}},e)}function Xu(e,t){let n;function r(){n=Ee(),n.run(()=>t.length?t(()=>{n?.stop(),r()}):t())}B(e,e=>{e&&!n?r():e||(n?.stop(),n=void 0)},{immediate:!0}),Oe(()=>{n?.stop()})}function Zu(e,t,n,r=e=>e,i=e=>e){let a=pu(`useProxiedModel`),o=P(e[t]===void 0?n:e[t]),s=Fc(t),c=G(s===t?()=>(e[t],!!(a.vnode.props?.hasOwnProperty(t)&&a.vnode.props?.hasOwnProperty(`onUpdate:${t}`))):()=>(e[t],!!((a.vnode.props?.hasOwnProperty(t)||a.vnode.props?.hasOwnProperty(s))&&(a.vnode.props?.hasOwnProperty(`onUpdate:${t}`)||a.vnode.props?.hasOwnProperty(`onUpdate:${s}`)))));Xu(()=>!c.value,()=>{B(()=>e[t],e=>{o.value=e})});let l=G({get(){let n=e[t];return r(c.value?n:o.value)},set(n){let s=i(n),l=M(c.value?e[t]:o.value);l===s||r(l)===n||(o.value=s,a?.emit(`update:${t}`,s))}});return Object.defineProperty(l,"externalValue",{get:()=>c.value?e[t]:o.value}),l}var Qu={badge:`Badge`,open:`Open`,close:`Close`,dismiss:`Dismiss`,confirmEdit:{ok:`OK`,cancel:`Cancel`},dataIterator:{noResultsText:`No matching records found`,loadingText:`Loading items...`},dataTable:{itemsPerPageText:`Rows per page:`,ariaLabel:{sortDescending:`Sorted descending.`,sortAscending:`Sorted ascending.`,sortNone:`Not sorted.`,activateNone:`Activate to remove sorting.`,activateDescending:`Activate to sort descending.`,activateAscending:`Activate to sort ascending.`},sortBy:`Sort by`},dataFooter:{itemsPerPageText:`Items per page:`,itemsPerPageAll:`All`,nextPage:`Next page`,prevPage:`Previous page`,firstPage:`First page`,lastPage:`Last page`,pageText:`{0}-{1} of {2}`},dateRangeInput:{divider:`to`},datePicker:{itemsSelected:`{0} selected`,range:{title:`Select dates`,header:`Enter dates`},title:`Select date`,header:`Enter date`,input:{placeholder:`Enter date`},ariaLabel:{previousMonth:`Previous month`,nextMonth:`Next month`,selectYear:`Select year`,previousYear:`Previous year`,nextYear:`Next year`,selectMonth:`Select month`,selectDate:`{0}`,currentDate:`Today, {0}`}},noDataText:`No data available`,carousel:{prev:`Previous visual`,next:`Next visual`,ariaLabel:{delimiter:`Carousel slide {0} of {1}`}},calendar:{moreEvents:`{0} more`,today:`Today`},input:{clear:`Clear {0}`,prependAction:`{0} prepended action`,appendAction:`{0} appended action`,otp:`Please enter OTP character {0}`},fileInput:{counter:`{0} files`,counterSize:`{0} files ({1} in total)`},fileUpload:{title:`Drag and drop files here`,divider:`or`,browse:`Browse Files`},timePicker:{am:`AM`,pm:`PM`,title:`Select Time`,hour:`Hour`,minute:`Minute`,second:`Second`,notAllowed:`Value is not allowed`},pagination:{ariaLabel:{root:`Pagination Navigation`,next:`Next page`,previous:`Previous page`,page:`Go to page {0}`,currentPage:`Page {0}, Current page`,first:`First page`,last:`Last page`}},stepper:{next:`Next`,prev:`Previous`},rating:{ariaLabel:{item:`Rating {0} of {1}`}},loading:`Loading...`,infiniteScroll:{loadMore:`Load more`,empty:`No more`},rules:{required:`This field is required`,email:`Please enter a valid email`,number:`This field can only contain numbers`,integer:`This field can only contain integer values`,capital:`This field can only contain uppercase letters`,maxLength:`You must enter a maximum of {0} characters`,minLength:`You must enter a minimum of {0} characters`,strictLength:`The length of the entered field is invalid`,exclude:`The {0} character is not allowed`,notEmpty:`Please choose at least one value`,pattern:`Invalid format`},command:{search:`Type a command or search...`},hotkey:{then:`then`,ctrl:`Ctrl`,command:`Command`,space:`Space`,shift:`Shift`,alt:`Alt`,enter:`Enter`,escape:`Escape`,upArrow:`Up Arrow`,downArrow:`Down Arrow`,leftArrow:`Left Arrow`,rightArrow:`Right Arrow`,backspace:`Backspace`,option:`Option`,plus:`plus`,shortcut:`Keyboard shortcut: {0}`,or:`or`},video:{play:`Play`,pause:`Pause`,seek:`Seek`,volume:`Volume`,showVolume:`Show volume control`,mute:`Mute`,unmute:`Unmute`,enterFullscreen:`Full screen`,exitFullscreen:`Exit full screen`},colorPicker:{ariaLabel:{eyedropper:`Select color with eyedropper`,hueSlider:`Hue`,alphaSlider:`Alpha`,redInput:`Red value`,greenInput:`Green value`,blueInput:`Blue value`,alphaInput:`Alpha value`,hueInput:`Hue value`,saturationInput:`Saturation value`,lightnessInput:`Lightness value`,hexInput:`HEX value`,hexaInput:`HEX with alpha value`,changeFormat:`Change color format`}}},$u=`$vuetify.`,ed=(e,t)=>e.replace(/\{(\d+)\}/g,(e,n)=>String(t[Number(n)])),td=(e,t,n)=>(r,...i)=>{if(!r.startsWith($u))return ed(r,i);let a=r.replace($u,``),o=e.value&&n.value[e.value],s=t.value&&n.value[t.value],c=cc(o,a,null);return c||=(ec(`Translation key "${r}" not found in "${e.value}", trying fallback locale`),cc(s,a,null)),c||=(tc(`Translation key "${r}" not found in fallback`),r),typeof c!=`string`&&(tc(`Translation key "${r}" has a non-string value`),c=r),ed(c,i)};function nd(e,t){return(n,r)=>new Intl.NumberFormat([e.value,t.value],r).format(n)}function rd(e,t){return nd(e,t)(.1).includes(`,`)?`,`:`.`}function id(e,t,n){let r=Zu(e,t,e[t]??n.value);return r.value=e[t]??n.value,B(n,i=>{e[t]??(r.value=n.value)}),r}function ad(e){return t=>{let n=id(t,`locale`,e.current),r=id(t,`fallback`,e.fallback),i=id(t,`messages`,e.messages);return{name:`vuetify`,current:n,fallback:r,messages:i,decimalSeparator:L(()=>rd(n,r)),t:td(n,r,i),n:nd(n,r),provide:ad({current:n,fallback:r,messages:i})}}}function od(e){let t=F(e?.locale??`en`),n=F(e?.fallback??`en`),r=P({en:Qu,...e?.messages});return{name:`vuetify`,current:t,fallback:n,messages:r,decimalSeparator:L(()=>e?.decimalSeparator??rd(t,n)),t:td(t,n,r),n:nd(t,n),provide:ad({current:t,fallback:n,messages:r})}}var sd=Symbol.for(`vuetify:locale`);function cd(e){return e.name!=null}function ld(e){let t=e?.adapter&&cd(e?.adapter)?e?.adapter:od(e),n=fd(t,e);return{...t,...n}}function ud(){let e=z(sd);if(!e)throw Error(`[Vuetify] Could not find injected locale instance`);return e}function dd(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function fd(e,t){let n=P(t?.rtl??dd()),r=G(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:L(()=>`v-locale--is-${r.value?`rtl`:`ltr`}`)}}function pd(){let e=z(sd);if(!e)throw Error(`[Vuetify] Could not find injected rtl instance`);return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}function md(e){let t=e.slice(-2).toUpperCase();switch(!0){case e===`GB-alt-variant`:return{firstDay:0,firstWeekSize:4};case e===`001`:return{firstDay:1,firstWeekSize:1};case`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE - KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US - VE VI WS YE ZA ZW`.includes(t):return{firstDay:0,firstWeekSize:1};case`AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV - MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(t):return{firstDay:1,firstWeekSize:1};case`AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS - IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(t):return{firstDay:1,firstWeekSize:4};case`AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.includes(t):return{firstDay:6,firstWeekSize:1};case t===`MV`:return{firstDay:5,firstWeekSize:1};case t===`PT`:return{firstDay:0,firstWeekSize:4};default:return null}}function hd(e,t,n){let r=[],i=[],a=vd(e),o=yd(e),s=n??md(t)?.firstDay??0,c=(a.getDay()-s+7)%7,l=(o.getDay()-s+7)%7;for(let e=0;e0&&r.push(i),r}function gd(e,t,n){let r=(n??md(t)?.firstDay??0)%7;[0,1,2,3,4,5,6].includes(r)||(ec(`Invalid firstDayOfWeek, expected discrete number in range [0-6]`),r=0);let i=new Date(e);for(;i.getDay()!==r;)i.setDate(i.getDate()-1);return i}function _d(e,t){let n=new Date(e),r=((md(t)?.firstDay??0)+6)%7;for(;n.getDay()!==r;)n.setDate(n.getDate()+1);return n}function vd(e){return new Date(e.getFullYear(),e.getMonth(),1)}function yd(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function bd(e){let t=e.split(`-`).map(Number);return new Date(t[0],t[1]-1,t[2])}var xd=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function Sd(e){if(e==null)return new Date;if(e instanceof Date)return e;if(typeof e==`string`){let t;if(xd.test(e))return bd(e);if(t=Date.parse(e),!isNaN(t))return new Date(t)}return null}var Cd=new Date(2e3,0,2);function wd(e,t,n){let r=t??md(e)?.firstDay??0;return uc(7).map(t=>{let i=new Date(Cd);return i.setDate(Cd.getDate()+r+t),new Intl.DateTimeFormat(e,{weekday:n??`narrow`}).format(i)})}function Td(e,t,n,r){let i=Sd(e)??new Date,a=r?.[t];if(typeof a==`function`)return a(i,t,n);let o={};switch(t){case`fullDate`:o={year:`numeric`,month:`short`,day:`numeric`};break;case`fullDateWithWeekday`:o={weekday:`long`,year:`numeric`,month:`long`,day:`numeric`};break;case`normalDate`:return`${i.getDate()} ${new Intl.DateTimeFormat(n,{month:`long`}).format(i)}`;case`normalDateWithWeekday`:o={weekday:`short`,day:`numeric`,month:`short`};break;case`shortDate`:o={month:`short`,day:`numeric`};break;case`year`:o={year:`numeric`};break;case`month`:o={month:`long`};break;case`monthShort`:o={month:`short`};break;case`monthAndYear`:o={month:`long`,year:`numeric`};break;case`monthAndDate`:o={month:`long`,day:`numeric`};break;case`weekday`:o={weekday:`long`};break;case`weekdayShort`:o={weekday:`short`};break;case`dayOfMonth`:return new Intl.NumberFormat(n).format(i.getDate());case`hours12h`:o={hour:`numeric`,hour12:!0};break;case`hours24h`:o={hour:`numeric`,hour12:!1};break;case`minutes`:o={minute:`numeric`};break;case`seconds`:o={second:`numeric`};break;case`fullTime`:o={hour:`numeric`,minute:`numeric`};break;case`fullTime12h`:o={hour:`numeric`,minute:`numeric`,hour12:!0};break;case`fullTime24h`:o={hour:`numeric`,minute:`numeric`,hour12:!1};break;case`fullDateTime`:o={year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`numeric`};break;case`fullDateTime12h`:o={year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`numeric`,hour12:!0};break;case`fullDateTime24h`:o={year:`numeric`,month:`short`,day:`numeric`,hour:`numeric`,minute:`numeric`,hour12:!1};break;case`keyboardDate`:o={year:`numeric`,month:`2-digit`,day:`2-digit`};break;case`keyboardDateTime`:return o={year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`numeric`,minute:`numeric`},new Intl.DateTimeFormat(n,o).format(i).replace(/, /g,` `);case`keyboardDateTime12h`:return o={year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`numeric`,minute:`numeric`,hour12:!0},new Intl.DateTimeFormat(n,o).format(i).replace(/, /g,` `);case`keyboardDateTime24h`:return o={year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`numeric`,minute:`numeric`,hour12:!1},new Intl.DateTimeFormat(n,o).format(i).replace(/, /g,` `);default:o=a??{timeZone:`UTC`,timeZoneName:`short`}}return new Intl.DateTimeFormat(n,o).format(i)}function Ed(e,t){let n=e.toJsDate(t);return`${n.getFullYear()}-${Ac(String(n.getMonth()+1),2,`0`)}-${Ac(String(n.getDate()),2,`0`)}`}function Dd(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)}function Od(e,t){let n=new Date(e);return n.setMinutes(n.getMinutes()+t),n}function kd(e,t){let n=new Date(e);return n.setHours(n.getHours()+t),n}function Ad(e,t){let n=new Date(e);return n.setDate(n.getDate()+t),n}function jd(e,t){let n=new Date(e);return n.setDate(n.getDate()+t*7),n}function Md(e,t){let n=new Date(e);return n.setDate(1),n.setMonth(n.getMonth()+t),n}function Nd(e){return e.getFullYear()}function Pd(e){return e.getMonth()}function Fd(e,t,n,r){let i=md(t),a=n??i?.firstDay??0,o=i?.firstWeekSize??1;return r===void 0?Ld(e,t,a,o):Id(e,t,a,r)}function Id(e,t,n,r){let i=(7+r-n)%7,a=gd(e,t,n),o=Ad(a,6);function s(e){return(7+new Date(e,0,1).getDay()-n)%7}let c=Nd(a);c=r&&s++;let c=new Date(s,0,1),l=o(s),u=l>=r?Ad(c,l-7):Ad(c,l);return 1+ef(cf(i),sf(u),`weeks`)}function Rd(e){return e.getDate()}function zd(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function Bd(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function Vd(e){return e.getHours()}function Hd(e){return e.getMinutes()}function Ud(e){return new Date(e.getFullYear(),0,1)}function Wd(e){return new Date(e.getFullYear(),11,31)}function Gd(e,t){return Xd(e,t[0])||Xd(e,t[1])||qd(e,t[0])&&Yd(e,t[1])}function Kd(e){let t=new Date(e);return t instanceof Date&&!isNaN(t.getTime())}function qd(e,t){return e.getTime()>t.getTime()}function Jd(e,t){return qd(sf(e),sf(t))}function Yd(e,t){return e.getTime(){n.locale=e.locale[t]??t??n.locale}),n}var mf=[`sm`,`md`,`lg`,`xl`,`xxl`],hf=Symbol.for(`vuetify:display`),gf={mobileBreakpoint:`lg`,thresholds:{xs:0,sm:600,md:840,lg:1145,xl:1545,xxl:2138}},_f=(e=gf)=>Nc(gf,e);function vf(e){return K&&!e?window.innerWidth:typeof e==`object`&&e.clientWidth||0}function yf(e){return K&&!e?window.innerHeight:typeof e==`object`&&e.clientHeight||0}function bf(e){let t=K&&!e?window.navigator.userAgent:`ssr`;function n(e){return!!t.match(e)}return{android:n(/android/i),ios:n(/iphone|ipad|ipod/i),cordova:n(/cordova/i),electron:n(/electron/i),chrome:n(/chrome/i),edge:n(/edge/i),firefox:n(/firefox/i),opera:n(/opera/i),win:n(/win/i),mac:n(/mac/i),linux:n(/linux/i),touch:ic,ssr:t===`ssr`}}function xf(e,t){let{thresholds:n,mobileBreakpoint:r}=_f(e),i=F(yf(t)),a=F(bf(t)),o=zt({}),s=F(vf(t));function c(){i.value=yf(),s.value=vf()}function l(){c(),a.value=bf()}return Gn(()=>{let e=s.value=n.xxl,f=e?`xs`:t?`sm`:c?`md`:l?`lg`:u?`xl`:`xxl`,p=typeof r==`number`?r:n[r],m=s.value{window.removeEventListener(`resize`,c)},!0)),{...rn(o),update:l,ssr:!!t}}var Sf=J({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},`display`);function Cf(e={mobile:null},t=mu()){let n=z(hf);if(!n)throw Error(`Could not find Vuetify display injection`);let r=G(()=>e.mobile?!0:typeof e.mobileBreakpoint==`number`?n.width.valuet?{[`${t}--mobile`]:r.value}:{});return{...n,displayClasses:i,mobile:r}}var wf=Symbol.for(`vuetify:goto`);function Tf(){return{container:void 0,duration:300,layout:!1,offset:0,easing:`easeInOutCubic`,patterns:Mu}}function Ef(e){return Df(e)??(document.scrollingElement||document.body)}function Df(e){return typeof e==`string`?document.querySelector(e):pc(e)}function Of(e,t,n){if(typeof e==`number`)return t&&n?-e:e;let r=Df(e),i=0;for(;r;)i+=t?r.offsetLeft:r.offsetTop,r=r.offsetParent;return i}function kf(e,t){return{rtl:t.isRtl,options:Nc(Tf(),e)}}async function Af(e,t,n,r){let i=n?`scrollLeft`:`scrollTop`,a=Nc(r?.options??Tf(),t),o=r?.rtl.value,s=(typeof e==`number`?e:Df(e))??0,c=a.container===`parent`&&s instanceof HTMLElement?s.parentElement:Ef(a.container),l=oc()?a.patterns.instant:typeof a.easing==`function`?a.easing:a.patterns[a.easing];if(!l)throw TypeError(`Easing function "${a.easing}" not found.`);let u;if(typeof s==`number`)u=Of(s,n,o);else if(u=Of(s,n,o)-Of(c,n,o),a.layout){let e=window.getComputedStyle(s).getPropertyValue(`--v-layout-top`);e&&(u-=parseInt(e,10))}u+=a.offset,u=Mf(c,u,!!o,!!n);let d=c[i]??0;if(u===d)return Promise.resolve(u);let f=performance.now();return new Promise(e=>requestAnimationFrame(function t(n){let r=(n-f)/a.duration,o=Math.floor(d+(u-d)*l(Oc(r,0,1)));if(c[i]=o,r>=1&&Math.abs(o-c[i])<10)return e(u);if(r>2)return ec(`Scroll target is not reachable`),e(c[i]);requestAnimationFrame(t)}))}function jf(e={}){let t=z(wf),{isRtl:n}=pd();if(!t)throw Error(`[Vuetify] Could not find injected goto instance`);let r={...t,rtl:L(()=>t.rtl.value||n.value)};async function i(t,n){return Af(t,Nc(e,n),!1,r)}return i.horizontal=async(t,n)=>Af(t,Nc(e,n),!0,r),i}function Mf(e,t,n,r){let{scrollWidth:i,scrollHeight:a}=e,[o,s]=e===document.scrollingElement?[window.innerWidth,window.innerHeight]:[e.offsetWidth,e.offsetHeight],c,l;return r?n?(c=-(i-o),l=0):(c=0,l=i-o):(c=0,l=a+-s),Oc(t,c,l)}var Nf=Symbol.for(`vuetify:theme`),Pf=J({theme:String},`theme`);function Ff(){return{defaultTheme:`system`,prefix:`v-`,variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:`#FFFFFF`,surface:`#FFFFFF`,"surface-bright":`#FFFFFF`,"surface-light":`#EEEEEE`,"surface-variant":`#424242`,"on-surface-variant":`#EEEEEE`,primary:`#1867C0`,"primary-darken-1":`#1F5592`,secondary:`#48A9A6`,"secondary-darken-1":`#018786`,error:`#B00020`,info:`#2196F3`,success:`#4CAF50`,warning:`#FB8C00`},variables:{"border-color":`#000000`,"border-opacity":.12,"shadow-color":`#000000`,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":`#EEEEEE`,"theme-on-kbd":`#000000`,"theme-code":`#F5F5F5`,"theme-on-code":`#000000`,"theme-on-dark":`#FFF`,"theme-on-light":`#000`,"elevation-overlay-color":`black`,"elevation-overlay-opacity-step":`2%`}},dark:{dark:!0,colors:{background:`#121212`,surface:`#212121`,"surface-bright":`#ccbfd6`,"surface-light":`#424242`,"surface-variant":`#c8c8c8`,"on-surface-variant":`#000000`,primary:`#2196F3`,"primary-darken-1":`#277CC1`,secondary:`#54B6B2`,"secondary-darken-1":`#48A9A6`,error:`#CF6679`,info:`#2196F3`,success:`#4CAF50`,warning:`#FB8C00`},variables:{"border-color":`#FFFFFF`,"border-opacity":.12,"shadow-color":`#000000`,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":`#424242`,"theme-on-kbd":`#FFFFFF`,"theme-code":`#343434`,"theme-on-code":`#CCCCCC`,"theme-on-dark":`#FFF`,"theme-on-light":`#000`,"elevation-overlay-color":`white`,"elevation-overlay-opacity-step":`2%`}}},stylesheetId:`vuetify-theme-stylesheet`,scoped:!1,utilities:!0}}function If(e=Ff()){let t=Ff();return e?Nc(t,e):{...t,isDisabled:!0}}function Lf(e,t,n,r){e.push(`${Hf(t,r)} {\n`,...n.map(e=>` ${e};\n`),`} -`)}function Rf(e,t){let n=e.dark?2:1,r=e.dark?1:2,i=[];for(let[a,o]of Object.entries(e.colors)){let e=tu(o);i.push(`--${t}theme-${a}: ${e.r},${e.g},${e.b}`+(e.a==null?``:`,${e.a}`)),a.startsWith(`on-`)||i.push(`--${t}theme-${a}-overlay-multiplier: ${du(o)>.18?n:r}`)}for(let[n,r]of Object.entries(e.variables)){let e=typeof r==`string`&&r.startsWith(`#`)?tu(r):void 0,a=e?`${e.r}, ${e.g}, ${e.b}`+(e.a==null?``:`, ${e.a}`):void 0;i.push(`--${t}${n}: ${a??r}`)}return i}function zf(e,t,n){let r={};if(n)for(let i of[`lighten`,`darken`]){let a=i===`lighten`?lu:uu;for(let o of uc(n[i],1))r[`${e}-${i}-${o}`]=ou(a(tu(t),o))}return r}function Bf(e,t){if(!t)return{};let n={};for(let r of t.colors){let i=e[r];i&&(n={...n,...zf(r,i,t)})}return n}function Vf(e,t){let n={};for(let r of Object.keys(e)){if(r.startsWith(`on-`)||e[`on-${r}`])continue;let i=`on-${r}`;n[i]=fu(tu(e[r]))?t[`theme-on-dark`]:t[`theme-on-light`]}return n}function Hf(e,t){if(!t)return e;let n=`:where(${t})`;return e===`:root`?n:`${n} ${e}`}function Uf(e,t,n){let r=Wf(e,t);r&&(r.innerHTML=n)}function Wf(e,t){if(!K)return null;let n=document.getElementById(e);return n||(n=document.createElement(`style`),n.id=e,n.type=`text/css`,t&&n.setAttribute(`nonce`,t),document.head.appendChild(n)),n}function Gf(e){let t=If(e),n=F(t.defaultTheme),r=P(t.themes),i=F(`light`),a=G({get(){return n.value===`system`?i.value:n.value},set(e){n.value=e}}),o=G(()=>{let e={};for(let[n,i]of Object.entries(r.value)){let a=Nc(i.dark||n===`dark`?r.value.dark:r.value.light,i),o={...a.colors,...Bf(a.colors,t.variations)};e[n]={...a,colors:{...o,...Vf(o,a.variables)}}}return e}),s=L(()=>o.value[a.value]),c=L(()=>n.value===`system`),l=G(()=>{let e=[],n=t.scoped?t.prefix:``;e.push(`@layer theme-base { -`),s.value?.dark&&Lf(e,`:root`,[`color-scheme: dark`],t.scope),Lf(e,`:root`,Rf(s.value,t.prefix),t.scope);for(let[n,r]of Object.entries(o.value))Lf(e,`.${t.prefix}theme--${n}`,[`color-scheme: ${r.dark?`dark`:`normal`}`,...Rf(r,t.prefix)],t.scope);if(e.push(`} -`),t.utilities){let r=[],i=[],a=new Set(Object.values(o.value).flatMap(e=>Object.keys(e.colors)));for(let e of a)e.startsWith(`on-`)?Lf(i,`.${e}`,[`color: rgb(var(--${t.prefix}theme-${e}))`],t.scope):(Lf(r,`.${n}bg-${e}`,[`--${t.prefix}theme-overlay-multiplier: var(--${t.prefix}theme-${e}-overlay-multiplier)`,`background-color: rgb(var(--${t.prefix}theme-${e}))`,`color: rgb(var(--${t.prefix}theme-on-${e}))`],t.scope),Lf(i,`.${n}text-${e}`,[`color: rgb(var(--${t.prefix}theme-${e}))`],t.scope),Lf(i,`.${n}border-${e}`,[`--${t.prefix}border-color: var(--${t.prefix}theme-${e})`],t.scope));e.push(`@layer theme-background { -`,...r.map(e=>` ${e}`),`} -`,`@layer theme-foreground { -`,...i.map(e=>` ${e}`),`} -`)}return`@layer vuetify-utilities { -`+e.map(e=>` ${e}`).join(``)+` -}`}),u=L(()=>t.isDisabled?void 0:`${t.prefix}theme--${a.value}`),d=L(()=>Object.keys(o.value));if(ac){let e=window.matchMedia(`(prefers-color-scheme: dark)`);function t(){i.value=e.matches?`dark`:`light`}t(),e.addEventListener(`change`,t,{passive:!0}),De()&&Oe(()=>{e.removeEventListener(`change`,t)})}function f(e){if(t.isDisabled)return;let n=e._context.provides.usehead;if(n){function e(){return{style:[{textContent:l.value,id:t.stylesheetId,nonce:t.cspNonce||!1,tagPosition:`bodyOpen`}]}}if(n.push){let t=n.push(e);K&&B(l,()=>{t.patch(e)})}else K?(n.addHeadObjs(L(e)),Gn(()=>n.updateDOM())):n.addHeadObjs(e())}else{K?B(l,e,{immediate:!0}):e();function e(){Uf(t.stylesheetId,t.cspNonce,l.value)}}}function p(e){if(e!==`system`&&!d.value.includes(e)){ec(`Theme "${e}" not found on the Vuetify theme instance`);return}a.value=e}function m(e=d.value){let t=e.indexOf(a.value);p(e[t===-1?0:(t+1)%e.length])}function h(e=[`light`,`dark`]){m(e)}let g=new Proxy(a,{get(e,t){return Reflect.get(e,t)},set(e,t,n){return t===`value`&&nc(`theme.global.name.value = ${n}`,`theme.change('${n}')`),Reflect.set(e,t,n)}});return{install:f,change:p,cycle:m,toggle:h,isDisabled:t.isDisabled,isSystem:c,name:a,themes:r,current:s,computedThemes:o,prefix:t.prefix,themeClasses:u,styles:l,global:{name:g,current:s}}}function Kf(e){pu(`provideTheme`);let t=z(Nf,null);if(!t)throw Error(`Could not find Vuetify theme injection`);let n=L(()=>e.theme??t.name.value),r=L(()=>t.themes.value[n.value]),i=L(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`),a={...t,name:n,current:r,themeClasses:i};return Vn(Nf,a),a}function qf(){pu(`useTheme`);let e=z(Nf,null);if(!e)throw Error(`Could not find Vuetify theme injection`);return e}function Jf(e,t=`content`){let n=$c(),r=P();if(K){let i=new ResizeObserver(n=>{e?.(n,i),n.length&&(t===`content`?r.value=n[0].contentRect:r.value=n[0].target.getBoundingClientRect())});Jr(()=>{i.disconnect()}),B(()=>n.el,(e,t)=>{t&&(i.unobserve(t),r.value=void 0),e&&i.observe(e)},{flush:`post`})}return{resizeRef:n,contentRect:Vt(r)}}var Yf=Symbol.for(`vuetify:layout`),Xf=Symbol.for(`vuetify:layout-item`),Zf=1e3,Qf=J({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},`layout`),$f=J({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},`layout-item`);function ep(){let e=z(Yf);if(!e)throw Error(`[Vuetify] Could not find injected layout`);return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function tp(e){let t=z(Yf);if(!t)throw Error(`[Vuetify] Could not find injected layout`);let n=e.id??`layout-item-${Er()}`,r=pu(`useLayoutItem`);Vn(Xf,{id:n});let i=F(!1);Lr(()=>i.value=!0),Ir(()=>i.value=!1);let{layoutItemStyles:a,layoutItemScrimStyles:o}=t.register(r,{...e,active:G(()=>i.value?!1:e.active.value),id:n});return Jr(()=>t.unregister(n)),{layoutItemStyles:a,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}var np=(e,t,n,r)=>{let i={top:0,left:0,right:0,bottom:0},a=[{id:``,layer:{...i}}];for(let o of e){let e=t.get(o),s=n.get(o),c=r.get(o);if(!e||!s||!c)continue;let l={...i,[e.value]:parseInt(i[e.value],10)+(c.value?parseInt(s.value,10):0)};a.push({id:o,layer:l}),i=l}return a};function rp(e){let t=z(Yf,null),n=G(()=>t?t.rootZIndex.value-100:Zf),r=P([]),i=zt(new Map),a=zt(new Map),o=zt(new Map),s=zt(new Map),c=zt(new Map),{resizeRef:l,contentRect:u}=Jf(),d=G(()=>{let t=new Map,n=e.overlaps??[];for(let e of n.filter(e=>e.includes(`:`))){let[n,o]=e.split(`:`);if(!r.value.includes(n)||!r.value.includes(o))continue;let s=i.get(n),c=i.get(o),l=a.get(n),u=a.get(o);!s||!c||!l||!u||(t.set(o,{position:s.value,amount:parseInt(l.value,10)}),t.set(n,{position:c.value,amount:-parseInt(u.value,10)}))}return t}),f=G(()=>{let e=[...new Set([...o.values()].map(e=>e.value))].sort((e,t)=>e-t),t=[];for(let n of e){let e=r.value.filter(e=>o.get(e)?.value===n);t.push(...e)}return np(t,i,a,s)}),p=G(()=>!Array.from(c.values()).some(e=>e.value)),m=G(()=>f.value[f.value.length-1].layer),h=L(()=>({"--v-layout-left":q(m.value.left),"--v-layout-right":q(m.value.right),"--v-layout-top":q(m.value.top),"--v-layout-bottom":q(m.value.bottom),...p.value?void 0:{transition:`none`}})),g=G(()=>f.value.slice(1).map(({id:e},t)=>{let{layer:n}=f.value[t],r=a.get(e),o=i.get(e);return{id:e,...n,size:Number(r.value),position:o.value}})),_=e=>g.value.find(t=>t.id===e),v=pu(`createLayout`),y=F(!1);return Gr(()=>{y.value=!0}),Vn(Yf,{register:(e,{id:t,order:l,position:u,layoutSize:m,elementSize:h,active:_,disableTransitions:b,absolute:x})=>{o.set(t,l),i.set(t,u),a.set(t,m),s.set(t,_),b&&c.set(t,b);let S=Ic(Xf,v?.vnode).indexOf(e);S>-1?r.value.splice(S,0,t):r.value.push(t);let C=G(()=>g.value.findIndex(e=>e.id===t)),w=G(()=>n.value+f.value.length*2-C.value*2);return{layoutItemStyles:G(()=>{let e=u.value===`left`||u.value===`right`,r=u.value===`right`,i=u.value===`bottom`,a=Number(h.value??m.value),o=`translate${e?`X`:`Y`}`,s=_.value?0:(a===0?100:a+1)*(r||i?1:-1),c=a===0?`%`:`px`,l={[u.value]:0,zIndex:w.value,transform:`${o}(${s}${c})`,position:x.value||n.value!==Zf?`absolute`:`fixed`,...p.value?void 0:{transition:`none`}};if(!y.value)return l;let f=g.value[C.value];f||ec(`[Vuetify] Could not find layout item "${t}"`);let v=d.value.get(t);return v&&(f[v.position]+=v.amount),{...l,height:e?`calc(100% - ${f.top}px - ${f.bottom}px)`:h.value?`${h.value}px`:void 0,left:r?void 0:`${f.left}px`,right:r?`${f.right}px`:void 0,top:u.value===`bottom`?void 0:`${f.top}px`,bottom:u.value===`top`?void 0:`${f.bottom}px`,width:e?h.value?`${h.value}px`:void 0:`calc(100% - ${f.left}px - ${f.right}px)`}}),layoutItemScrimStyles:G(()=>({zIndex:w.value-1})),zIndex:w}},unregister:e=>{o.delete(e),i.delete(e),a.delete(e),s.delete(e),c.delete(e),r.value=r.value.filter(t=>t!==e)},mainRect:m,mainStyles:h,getLayoutItem:_,items:g,layoutRect:u,rootZIndex:n}),{layoutClasses:L(()=>[`v-layout`,{"v-layout--full-height":e.fullHeight}]),layoutStyles:L(()=>({zIndex:t?n.value:void 0,position:t?`relative`:void 0,overflow:t?`hidden`:void 0})),getLayoutItem:_,items:g,layoutRect:u,layoutRef:l}}function ip(e={}){let{blueprint:t,...n}=e,r=Nc(t,n),{aliases:i={},components:a={},directives:o={}}=r,s=Ee();return s.run(()=>{let e=_u(r.defaults),t=xf(r.display,r.ssr),n=Gf(r.theme),c=Yu(r.icons),l=ld(r.locale),u=ff(r.date,l),d=kf(r.goTo,l);function f(s){for(let e in o)s.directive(e,o[e]);for(let e in a)s.component(e,a[e]);for(let e in i)s.component(e,Su({...i[e],name:e,aliasName:i[e].name}));let f=Ee();if(f.run(()=>{n.install(s)}),s.onUnmount(()=>f.stop()),s.provide(gu,e),s.provide(hf,t),s.provide(Nf,n),s.provide(Bu,c),s.provide(sd,l),s.provide(uf,u.options),s.provide(df,u.instance),s.provide(wf,d),K&&r.ssr)if(s.$nuxt)s.$nuxt.hook(`app:suspense:resolve`,()=>{t.update()});else{let{mount:e}=s;s.mount=(...n)=>{let r=e(...n);return Dn(()=>t.update()),s.mount=e,r}}s.mixin({computed:{$vuetify(){return zt({defaults:ap.call(this,gu),display:ap.call(this,hf),theme:ap.call(this,Nf),icons:ap.call(this,Bu),locale:ap.call(this,sd),date:ap.call(this,df)})}}})}function p(){s.stop()}return{install:f,unmount:p,defaults:e,display:t,theme:n,icons:c,locale:l,date:u,goTo:d}})}ip.version=`4.0.8`;function ap(e){let t=this.$,n=t.parent?.provides??t.vnode.appContext?.provides;if(n&&e in n)return n[e]}var op={badge:`徽章`,open:`打开`,close:`关闭`,dismiss:`取消`,confirmEdit:{ok:`确定`,cancel:`取消`},dataIterator:{noResultsText:`没有符合条件的结果`,loadingText:`加载中……`},dataTable:{itemsPerPageText:`每页数目:`,ariaLabel:{sortDescending:`:降序排列。`,sortAscending:`:升序排列。`,sortNone:`:未排序。`,activateNone:`点击以移除排序。`,activateDescending:`点击以降序排列。`,activateAscending:`点击以升序排列。`},sortBy:`排序方式`},dataFooter:{itemsPerPageText:`每页数目:`,itemsPerPageAll:`全部`,nextPage:`下一页`,prevPage:`上一页`,firstPage:`首页`,lastPage:`尾页`,pageText:`{0}-{1} 共 {2}`},dateRangeInput:{divider:`至`},datePicker:{itemsSelected:`已选择 {0} 项`,range:{title:`选择日期`,header:`输入日期`},title:`选择日期`,header:`输入日期`,input:{placeholder:`输入日期`},ariaLabel:{previousMonth:`上个月`,nextMonth:`下个月`,selectYear:`选择年份`,previousYear:`上一年`,nextYear:`下一年`,selectMonth:`选择月份`,selectDate:`{0}`,currentDate:`今天,{0}`}},noDataText:`没有数据`,carousel:{prev:`上一张`,next:`下一张`,ariaLabel:{delimiter:`幻灯片 {0} / {1}`}},calendar:{moreEvents:`还有 {0} 项`,today:`今天`},input:{clear:`清除 {0}`,prependAction:`{0} 前置操作`,appendAction:`{0} 后置操作`,otp:`请输入第 {0} 位 OTP`},fileInput:{counter:`{0} 个文件`,counterSize:`{0} 个文件(共 {1})`},fileUpload:{title:`拖放文件到此处`,divider:`或`,browse:`浏览文件`},timePicker:{am:`上午`,pm:`下午`,title:`选择时间`,hour:`小时`,minute:`分钟`,second:`秒`,notAllowed:`值不允许`},pagination:{ariaLabel:{root:`分页导航`,next:`下一页`,previous:`上一页`,page:`转到页面 {0}`,currentPage:`当前页 {0}`,first:`第一页`,last:`最后一页`}},stepper:{next:`下一步`,prev:`上一步`},rating:{ariaLabel:{item:`评分 {0} / {1}`}},loading:`加载中...`,infiniteScroll:{loadMore:`加载更多`,empty:`没有更多内容`},rules:{required:`此字段为必填项`,email:`请输入有效的电子邮件地址`,number:`此字段只能包含数字`,integer:`此字段只能包含整数`,capital:`此字段只能包含大写字母`,maxLength:`您最多可以输入{0}个字符`,minLength:`您必须至少输入{0}个字符`,strictLength:`输入字段的长度无效`,exclude:`字符{0}是不允许的`,notEmpty:`请至少选择一个值`,pattern:`格式无效`},command:{search:`输入命令或搜索...`},hotkey:{then:`然后`,ctrl:`Ctrl`,command:`Command`,shift:`Shift`,alt:`Alt`,option:`Option`,enter:`Enter`,escape:`Escape`,upArrow:`上箭头`,downArrow:`下箭头`,leftArrow:`左箭头`,rightArrow:`右箭头`,backspace:`退格`,space:`空格`,plus:`加`,shortcut:`键盘快捷键:{0}`,or:`或`},video:{play:`播放`,pause:`暂停`,seek:`跳转`,volume:`音量`,showVolume:`显示音量控制`,mute:`静音`,unmute:`取消静音`,enterFullscreen:`全屏`,exitFullscreen:`退出全屏`},colorPicker:{ariaLabel:{eyedropper:`从屏幕拾取颜色`,hueSlider:`色相`,alphaSlider:`不透明度`,redInput:`红色`,greenInput:`绿色`,blueInput:`蓝色`,alphaInput:`不透明度`,hueInput:`色相`,saturationInput:`饱和度`,lightnessInput:`亮度`,hexInput:`HEX 值`,hexaInput:`带不透明度 HEX 值`,changeFormat:`更改颜色格式`}}},sp=typeof localStorage<`u`&&localStorage.getItem(`nexus_theme`)||`light`,cp=ip({locale:{locale:`zhHans`,fallback:`en`,messages:{zhHans:op}},theme:{defaultTheme:sp}}),lp=typeof document<`u`;function up(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function dp(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&up(e.default)}var Q=Object.assign;function fp(e,t){let n={};for(let r in t){let i=t[r];n[r]=mp(i)?i.map(e):e(i)}return n}var pp=()=>{},mp=Array.isArray;function hp(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var gp=/#/g,_p=/&/g,vp=/\//g,yp=/=/g,bp=/\?/g,xp=/\+/g,Sp=/%5B/g,Cp=/%5D/g,wp=/%5E/g,Tp=/%60/g,Ep=/%7B/g,Dp=/%7C/g,Op=/%7D/g,kp=/%20/g;function Ap(e){return e==null?``:encodeURI(``+e).replace(Dp,`|`).replace(Sp,`[`).replace(Cp,`]`)}function jp(e){return Ap(e).replace(Ep,`{`).replace(Op,`}`).replace(wp,`^`)}function Mp(e){return Ap(e).replace(xp,`%2B`).replace(kp,`+`).replace(gp,`%23`).replace(_p,`%26`).replace(Tp,"`").replace(Ep,`{`).replace(Op,`}`).replace(wp,`^`)}function Np(e){return Mp(e).replace(yp,`%3D`)}function Pp(e){return Ap(e).replace(gp,`%23`).replace(bp,`%3F`)}function Fp(e){return Pp(e).replace(vp,`%2F`)}function Ip(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var Lp=/\/$/,Rp=e=>e.replace(Lp,``);function zp(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=qp(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:Ip(o)}}function Bp(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function Vp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function Hp(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&Up(t.matched[r],n.matched[i])&&Wp(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Up(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Wp(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Gp(e[n],t[n]))return!1;return!0}function Gp(e,t){return mp(e)?Kp(e,t):mp(t)?Kp(t,e):e?.valueOf()===t?.valueOf()}function Kp(e,t){return mp(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function qp(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var Jp={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0},Yp=function(e){return e.pop=`pop`,e.push=`push`,e}({}),Xp=function(e){return e.back=`back`,e.forward=`forward`,e.unknown=``,e}({});function Zp(e){if(!e)if(lp){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^\/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),Rp(e)}var Qp=/^[^#]+#/;function $p(e,t){return e.replace(Qp,`#`)+t}function em(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var tm=()=>({left:window.scrollX,top:window.scrollY});function nm(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=em(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function rm(e,t){return(history.state?history.state.position-t:-1)+e}var im=new Map;function am(e,t){im.set(e,t)}function om(e){let t=im.get(e);return im.delete(e),t}function sm(e){return typeof e==`string`||e&&typeof e==`object`}function cm(e){return typeof e==`string`||typeof e==`symbol`}var lm=function(e){return e[e.MATCHER_NOT_FOUND=1]=`MATCHER_NOT_FOUND`,e[e.NAVIGATION_GUARD_REDIRECT=2]=`NAVIGATION_GUARD_REDIRECT`,e[e.NAVIGATION_ABORTED=4]=`NAVIGATION_ABORTED`,e[e.NAVIGATION_CANCELLED=8]=`NAVIGATION_CANCELLED`,e[e.NAVIGATION_DUPLICATED=16]=`NAVIGATION_DUPLICATED`,e}({}),um=Symbol(``);lm.MATCHER_NOT_FOUND,lm.NAVIGATION_GUARD_REDIRECT,lm.NAVIGATION_ABORTED,lm.NAVIGATION_CANCELLED,lm.NAVIGATION_DUPLICATED;function dm(e,t){return Q(Error(),{type:e,[um]:!0},t)}function fm(e,t){return e instanceof Error&&um in e&&(t==null||!!(e.type&t))}function pm(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;ee&&Mp(e)):[r&&Mp(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function hm(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=mp(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}var gm=Symbol(``),_m=Symbol(``),vm=Symbol(``),ym=Symbol(``),bm=Symbol(``);function xm(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Sm(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(dm(lm.NAVIGATION_ABORTED,{from:n,to:t})):e instanceof Error?c(e):sm(e)?c(dm(lm.NAVIGATION_GUARD_REDIRECT,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Cm(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(up(s)){let c=(s.__vccOpts||s)[t];c&&a.push(Sm(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=dp(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&Sm(c,n,r,o,e,i)()}))}}return a}function wm(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;oUp(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>Up(e,s))||i.push(s))}return[n,r,i]}var Tm=()=>location.protocol+`//`+location.host;function Em(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),Vp(n,``)}return Vp(n,e)+r+i}function Dm(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Em(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:Yp.pop,direction:u?u>0?Xp.forward:Xp.back:Xp.unknown})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(Q({},e.state,{scroll:tm()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Om(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?tm():null}}function km(e){let{history:t,location:n}=window,r={value:Em(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Tm()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,Q({},t.state,Om(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=Q({},i.value,t.state,{forward:e,scroll:tm()});a(o.current,o,!0),a(e,Q({},Om(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Am(e){e=Zp(e);let t=km(e),n=Dm(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=Q({location:``,base:e,go:r,createHref:$p.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function jm(e){return e=location.host?e||location.pathname+location.search:``,e.includes(`#`)||(e+=`#`),Am(e)}var Mm=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.Group=2]=`Group`,e}({}),Nm=function(e){return e[e.Static=0]=`Static`,e[e.Param=1]=`Param`,e[e.ParamRegExp=2]=`ParamRegExp`,e[e.ParamRegExpEnd=3]=`ParamRegExpEnd`,e[e.EscapeNext=4]=`EscapeNext`,e}(Nm||{}),Pm={type:Mm.Static,value:``},Fm=/[a-zA-Z0-9_]/;function Im(e){if(!e)return[[]];if(e===`/`)return[[Pm]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=Nm.Static,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===Nm.Static?a.push({type:Mm.Static,value:l}):n===Nm.Param||n===Nm.ParamRegExp||n===Nm.ParamRegExpEnd?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:Mm.Param,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;st.length?t.length===1&&t[0]===zm.Static+zm.Segment?1:-1:0}function Um(e,t){let n=0,r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}var Gm={strict:!1,end:!0,sensitive:!1};function Km(e,t,n){let r=Q(Vm(Im(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function qm(e,t){let n=[],r=new Map;t=hp(Gm,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Ym(e);s.aliasOf=r&&r.record;let l=hp(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Ym(Q({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=Km(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!Zm(d)&&o(e.name)),th(d)&&c(d),s.children){let e=s.children;for(let t=0;t{o(f)}:pp}function o(e){if(cm(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=$m(e,n);n.splice(t,0,e),e.record.name&&!Zm(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw dm(lm.MATCHER_NOT_FOUND,{location:e});s=i.record.name,a=Q(Jm(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Jm(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name);else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw dm(lm.MATCHER_NOT_FOUND,{location:e,currentLocation:t});s=i.record.name,a=Q({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Qm(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function Jm(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Ym(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Xm(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Xm(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function Zm(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Qm(e){return e.reduce((e,t)=>Q(e,t.meta),{})}function $m(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;Um(e,t[i])<0?r=i:n=i+1}let i=eh(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function eh(e){let t=e;for(;t=t.parent;)if(th(t)&&Um(e,t)===0)return t}function th({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function nh(e){let t=z(vm),n=z(ym),r=G(()=>{let n=I(e.to);return t.resolve(n)}),i=G(()=>{let{matched:e}=r.value,{length:t}=e,i=e[t-1],a=n.matched;if(!i||!a.length)return-1;let o=a.findIndex(Up.bind(null,i));if(o>-1)return o;let s=sh(e[t-2]);return t>1&&sh(i)===s&&a[a.length-1].path!==s?a.findIndex(Up.bind(null,e[t-2])):o}),a=G(()=>i.value>-1&&oh(n.params,r.value.params)),o=G(()=>i.value>-1&&i.value===n.matched.length-1&&Wp(n.params,r.value.params));function s(n={}){if(ah(n)){let n=t[I(e.replace)?`replace`:`push`](I(e.to)).catch(pp);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>n),n}return Promise.resolve()}return{route:r,href:G(()=>r.value.href),isActive:a,isExactActive:o,navigate:s}}function rh(e){return e.length===1?e[0]:e}var ih=Tr({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:nh,setup(e,{slots:t}){let n=zt(nh(e)),{options:r}=z(vm),i=G(()=>({[ch(e.activeClass,r.linkActiveClass,`router-link-active`)]:n.isActive,[ch(e.exactActiveClass,r.linkExactActiveClass,`router-link-exact-active`)]:n.isExactActive}));return()=>{let r=t.default&&rh(t.default(n));return e.custom?r:yo(`a`,{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},r)}}});function ah(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function oh(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!mp(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function sh(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var ch=(e,t,n)=>e??t??n,lh=Tr({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){let r=z(bm),i=G(()=>e.route||r.value),a=z(_m,0),o=G(()=>{let e=I(a),{matched:t}=i.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),s=G(()=>i.value.matched[o.value]);Vn(_m,G(()=>o.value+1)),Vn(gm,s),Vn(bm,i);let c=P();return B(()=>[c.value,s.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!Up(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let r=i.value,a=e.name,o=s.value,l=o&&o.components[a];if(!l)return uh(n.default,{Component:l,route:r});let u=o.props[a],d=yo(l,Q({},u?u===!0?r.params:typeof u==`function`?u(r):u:null,t,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(o.instances[a]=null)},ref:c}));return uh(n.default,{Component:d,route:r})||d}}});function uh(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var dh=lh;function fh(e){let t=qm(e.routes,e),n=e.parseQuery||pm,r=e.stringifyQuery||mm,i=e.history,a=xm(),o=xm(),s=xm(),c=F(Jp),l=Jp;lp&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let u=fp.bind(null,e=>``+e),d=fp.bind(null,Fp),f=fp.bind(null,Ip);function p(e,n){let r,i;return cm(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function m(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function h(){return t.getRoutes().map(e=>e.record)}function g(e){return!!t.getRecordMatcher(e)}function _(e,a){if(a=Q({},a||c.value),typeof e==`string`){let r=zp(n,e,a.path),o=t.resolve({path:r.path},a),s=i.createHref(r.fullPath);return Q(r,o,{params:f(o.params),hash:Ip(r.hash),redirectedFrom:void 0,href:s})}let o;if(e.path!=null)o=Q({},e,{path:zp(n,e.path,a.path).path});else{let t=Q({},e.params);for(let e in t)t[e]??delete t[e];o=Q({},e,{params:d(t)}),a.params=d(a.params)}let s=t.resolve(o,a),l=e.hash||``;s.params=u(f(s.params));let p=Bp(r,Q({},e,{hash:jp(l),path:s.path})),m=i.createHref(p);return Q({fullPath:p,hash:l,query:r===mm?hm(e.query):e.query||{}},s,{redirectedFrom:void 0,href:m})}function v(e){return typeof e==`string`?zp(n,e,c.value.path):Q({},e)}function y(e,t){if(l!==e)return dm(lm.NAVIGATION_CANCELLED,{from:t,to:e})}function b(e){return C(e)}function x(e){return b(Q(v(e),{replace:!0}))}function S(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=v(i):{path:i},i.params={}),Q({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function C(e,t){let n=l=_(e),i=c.value,a=e.state,o=e.force,s=e.replace===!0,u=S(n,i);if(u)return C(Q(v(u),{state:typeof u==`object`?Q({},a,u.state):a,force:o,replace:s}),t||n);let d=n;d.redirectedFrom=t;let f;return!o&&Hp(r,i,n)&&(f=dm(lm.NAVIGATION_DUPLICATED,{to:d,from:i}),se(i,i,!0,!1)),(f?Promise.resolve(f):E(d,i)).catch(e=>fm(e)?fm(e,lm.NAVIGATION_GUARD_REDIRECT)?e:oe(e):O(e,d,i)).then(e=>{if(e){if(fm(e,lm.NAVIGATION_GUARD_REDIRECT))return C(Q({replace:s},v(e.to),{state:typeof e.to==`object`?Q({},a,e.to.state):a,force:o}),t||d)}else e=te(d,i,!0,s,a);return ee(d,i,e),e})}function w(e,t){let n=y(e,t);return n?Promise.reject(n):Promise.resolve()}function T(e){let t=ue.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function E(e,t){let n,[r,i,s]=wm(e,t);n=Cm(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push(Sm(r,e,t))});let c=w.bind(null,e,t);return n.push(c),de(n).then(()=>{n=[];for(let r of a.list())n.push(Sm(r,e,t));return n.push(c),de(n)}).then(()=>{n=Cm(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push(Sm(r,e,t))});return n.push(c),de(n)}).then(()=>{n=[];for(let r of s)if(r.beforeEnter)if(mp(r.beforeEnter))for(let i of r.beforeEnter)n.push(Sm(i,e,t));else n.push(Sm(r.beforeEnter,e,t));return n.push(c),de(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Cm(s,`beforeRouteEnter`,e,t,T),n.push(c),de(n))).then(()=>{n=[];for(let r of o.list())n.push(Sm(r,e,t));return n.push(c),de(n)}).catch(e=>fm(e,lm.NAVIGATION_CANCELLED)?e:Promise.reject(e))}function ee(e,t,n){s.list().forEach(r=>T(()=>r(e,t,n)))}function te(e,t,n,r,a){let o=y(e,t);if(o)return o;let s=t===Jp,l=lp?history.state:{};n&&(r||s?i.replace(e.fullPath,Q({scroll:s&&l&&l.scroll},a)):i.push(e.fullPath,a)),c.value=e,se(e,t,n,s),oe()}let D;function ne(){D||=i.listen((e,t,n)=>{if(!A.listening)return;let r=_(e),a=S(r,A.currentRoute.value);if(a){C(Q(a,{replace:!0,force:!0}),r).catch(pp);return}l=r;let o=c.value;lp&&am(rm(o.fullPath,n.delta),tm()),E(r,o).catch(e=>fm(e,lm.NAVIGATION_ABORTED|lm.NAVIGATION_CANCELLED)?e:fm(e,lm.NAVIGATION_GUARD_REDIRECT)?(C(Q(v(e.to),{force:!0}),r).then(e=>{fm(e,lm.NAVIGATION_ABORTED|lm.NAVIGATION_DUPLICATED)&&!n.delta&&n.type===Yp.pop&&i.go(-1,!1)}).catch(pp),Promise.reject()):(n.delta&&i.go(-n.delta,!1),O(e,r,o))).then(e=>{e||=te(r,o,!1),e&&(n.delta&&!fm(e,lm.NAVIGATION_CANCELLED)?i.go(-n.delta,!1):n.type===Yp.pop&&fm(e,lm.NAVIGATION_ABORTED|lm.NAVIGATION_DUPLICATED)&&i.go(-1,!1)),ee(r,o,e)}).catch(pp)})}let re=xm(),ie=xm(),ae;function O(e,t,n){oe(e);let r=ie.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function k(){return ae&&c.value!==Jp?Promise.resolve():new Promise((e,t)=>{re.add([e,t])})}function oe(e){return ae||(ae=!e,ne(),re.list().forEach(([t,n])=>e?n(e):t()),re.reset()),e}function se(t,n,r,i){let{scrollBehavior:a}=e;if(!lp||!a)return Promise.resolve();let o=!r&&om(rm(t.fullPath,0))||(i||!r)&&history.state&&history.state.scroll||null;return Dn().then(()=>a(t,n,o)).then(e=>e&&nm(e)).catch(e=>O(e,t,n))}let ce=e=>i.go(e),le,ue=new Set,A={currentRoute:c,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:_,options:e,push:b,replace:x,go:ce,back:()=>ce(-1),forward:()=>ce(1),beforeEach:a.add,beforeResolve:o.add,afterEach:s.add,onError:ie.add,isReady:k,install(e){e.component(`RouterLink`,ih),e.component(`RouterView`,dh),e.config.globalProperties.$router=A,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>I(c)}),lp&&!le&&c.value===Jp&&(le=!0,b(i.location).catch(e=>{}));let t={};for(let e in Jp)Object.defineProperty(t,e,{get:()=>c.value[e],enumerable:!0});e.provide(vm,A),e.provide(ym,Bt(t)),e.provide(bm,c);let n=e.unmount;ue.add(e),e.unmount=function(){ue.delete(e),ue.size<1&&(l=Jp,D&&D(),D=null,c.value=Jp,le=!1,ae=!1),n()}}};function de(e){return e.reduce((e,t)=>e.then(()=>T(t)),Promise.resolve())}return A}function ph(){return z(vm)}function mh(e){return z(ym)}var hh=typeof window<`u`,gh,_h=e=>gh=e,vh=Symbol();function yh(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var bh;(function(e){e.direct=`direct`,e.patchObject=`patch object`,e.patchFunction=`patch function`})(bh||={});var xh=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 Sh(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 Ch(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){Oh(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function wh(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function Th(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 Eh=typeof navigator==`object`?navigator:{userAgent:``},Dh=/Macintosh/.test(Eh.userAgent)&&/AppleWebKit/.test(Eh.userAgent)&&!/Safari/.test(Eh.userAgent),Oh=hh?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!Dh?kh:`msSaveOrOpenBlob`in Eh?Ah:jh:()=>{};function kh(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?Th(r):wh(r.href)?Ch(e,t,n):(r.target=`_blank`,Th(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){Th(r)},0))}function Ah(e,t=`download`,n){if(typeof e==`string`)if(wh(e))Ch(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){Th(t)})}else navigator.msSaveOrOpenBlob(Sh(e,n),t)}function jh(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return Ch(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(xh.HTMLElement))||`safari`in xh,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||Dh)&&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:Mh}=Object;function Nh(){let e=Ee(!0),t=e.run(()=>P({})),n=[],r=[],i=qt({install(e){_h(i),i._a=e,e.provide(vh,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 Ph=()=>{};function Fh(e,t,n,r=Ph){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&De()&&Oe(i),i}function Ih(e,...t){e.forEach(e=>{e(...t)})}var Lh=e=>e(),Rh=Symbol(),zh=Symbol();function Bh(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];yh(i)&&yh(r)&&e.hasOwnProperty(n)&&!N(r)&&!Ut(r)?e[n]=Bh(i,r):e[n]=r}return e}var Vh=Symbol();function Hh(e){return!yh(e)||!Object.prototype.hasOwnProperty.call(e,Vh)}var{assign:Uh}=Object;function Wh(e){return!!(N(e)&&e.effect)}function Gh(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():{}),Uh(rn(n.state.value[e]),a,Object.keys(o||{}).reduce((t,r)=>(t[r]=qt(G(()=>{_h(n);let t=n._s.get(e);return o[r].call(t,t)})),t),{}))}return c=Kh(e,l,t,n,r,!0),c}function Kh(e,t,n={},r,i,a){let o,s=Uh({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:bh.patchFunction,storeId:e,events:void 0}):(Bh(r.state.value[e],t),n={type:bh.patchObject,payload:t,storeId:e,events:void 0});let i=m=Symbol();Dn().then(()=>{m===i&&(l=!0)}),u=!0,Ih(d,n,r.state.value[e])}let g=a?function(){let{state:e}=n,t=e?e():{};this.$patch(e=>{Uh(e,t)})}:Ph;function _(){o.stop(),d.clear(),f.clear(),r._s.delete(e)}let v=(t,n=``)=>{if(Rh in t)return t[zh]=n,t;let i=function(){_h(r);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}Ih(f,{args:n,name:i[zh],store:y,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:y,n)}catch(e){throw Ih(o,e),e}return l instanceof Promise?l.then(e=>(Ih(a,e),e)).catch(e=>(Ih(o,e),Promise.reject(e))):(Ih(a,l),l)};return i[Rh]=!0,i[zh]=n,i},y=zt({_p:r,$id:e,$onAction:Fh.bind(null,f),$patch:h,$reset:g,$subscribe(t,n={}){let i=Fh(d,t,n.detached,()=>a()),a=o.run(()=>B(()=>r.state.value[e],r=>{(n.flush===`sync`?u:l)&&t({storeId:e,type:bh.direct,events:void 0},r)},Uh({},c,n)));return i},$dispose:_});r._s.set(e,y);let b=(r._a&&r._a.runWithContext||Lh)(()=>r._e.run(()=>(o=Ee()).run(()=>t({action:v}))));for(let t in b){let n=b[t];N(n)&&!Wh(n)||Ut(n)?a||(p&&Hh(n)&&(N(n)?n.value=p[t]:Bh(n,p[t])),r.state.value[e][t]=n):typeof n==`function`&&(b[t]=v(n,t),s.actions[t]=n)}return Uh(y,b),Uh(M(y),b),Object.defineProperty(y,"$state",{get:()=>r.state.value[e],set:e=>{h(t=>{Uh(t,e)})}}),r._p.forEach(e=>{Uh(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 qh(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=Hn();return n||=o?z(vh,null):null,n&&_h(n),n=gh,n._s.has(e)||(i?Kh(e,t,r,n):Gh(e,r,n)),n._s.get(e)}return a.$id=e,a}function Jh(e){let t=M(e),n={};for(let r in t){let i=t[r];i.effect?n[r]=G({get:()=>e[r],set(t){e[r]=t}}):(N(i)||Ut(i))&&(n[r]=L(e,r))}return n}var Yh=new Set([`body`,`query`,`path`,`header`,`cookie`]);function Xh(e){let t=(e?.msg||``).trim();if(e?.loc_zh)return t?`${e.loc_zh}:${t}`:e.loc_zh;let n=(Array.isArray(e?.loc)?e.loc.filter(e=>!Yh.has(String(e))):[]).map(e=>typeof e==`number`?`第${e+1}项`:String(e)).join(`.`);return n&&t?`${n}:${t}`:t||n||JSON.stringify(e)}function Zh(e,t){return typeof e==`string`?e.trim()||t:Array.isArray(e)?e.map(e=>Xh(e)).join(`;`).trim()||t:e&&typeof e==`object`?JSON.stringify(e):t}var Qh=`/api`,$h=new Set([`/auth/login`,`/auth/refresh`,`/auth/logout`]);function eg(e,t){return Zh(e,t)}var tg=null;async function ng(){return tg||(tg=(async()=>{try{let e=await fetch(`${Qh}/auth/refresh`,{method:`POST`,credentials:`include`,headers:{"Content-Type":`application/json`},body:`{}`});if(!e.ok)return!1;let t=await e.json();return t?.access_token?(hg().setAccessToken(t.access_token),!0):!1}catch{return!1}finally{tg=null}})(),tg)}function rg(e,t){let n=`${Qh}${e}`;if(t){let e=new URLSearchParams;for(let[n,r]of Object.entries(t))r!=null&&e.set(n,String(r));let r=e.toString();r&&(n+=`?${r}`)}return n}function ig(e){let t=hg(),n={...e.headers||{}};return e.body instanceof FormData||(n[`Content-Type`]=`application/json`),t.token&&(n.Authorization=`Bearer ${t.token}`),n}async function ag(e,t={}){let{params:n,_retry:r,...i}=t,a=rg(e,n),o=hg();!r&&!$h.has(e)&&o.token&&o.isTokenExpiringSoon(300)&&await ng();let s=await fetch(a,{...i,headers:ig(i),credentials:`include`});if(s.status===401){if(!$h.has(e)&&!r){if(await ng())return ag(e,{...t,_retry:!0});throw o.forceLogout(),new fg(401,`登录已过期,请重新登录`)}let n=await s.text(),i={};try{i=JSON.parse(n)}catch{i={detail:n}}throw new fg(401,eg(i.detail,$h.has(e)?`认证失败`:`登录已过期,请重新登录`))}return s}async function og(e,t={}){let n=await ag(e,t),r=n.headers.get(`ETag`);if(n.status===202){let e=await n.text(),t;try{t=JSON.parse(e)}catch{t={message:e}}throw new pg(t?.detail||t?.message||`请输入 TOTP 验证码`)}if(n.status===429)throw new fg(429,`登录尝试过多,账户已锁定 15 分钟`);if(n.status===304)return{status:304,etag:r};if(n.status===204)return{status:204,etag:r,data:void 0};let i=await n.text(),a;try{a=JSON.parse(i)}catch{a=i}if(!n.ok){let e=a,t=eg(e?.detail??e?.message,n.statusText),r=new fg(n.status,t);throw r.detail=e?.detail,r}return{status:n.status,data:a,etag:r}}async function sg(e){let t=await e.text(),n;try{n=JSON.parse(t)}catch{n=t}let r=n,i=eg(r?.detail??r?.message,e.statusText),a=new fg(e.status,i);throw a.detail=r?.detail,a}function cg(e){if(!e)return null;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t?.[1])try{return decodeURIComponent(t[1])}catch{return t[1]}return e.match(/filename="?([^";]+)"?/i)?.[1]??null}async function lg(e,t){let n=await ag(e,{method:`POST`,body:JSON.stringify(t??{})});if(n.status===202)throw new pg(`请输入 TOTP 验证码`);if(n.status===429)throw new fg(429,`登录尝试过多,账户已锁定 15 分钟`);return n.ok||await sg(n),{blob:await n.blob(),filename:cg(n.headers.get(`Content-Disposition`))||`download`}}async function ug(e,t={}){let n=await ag(e,t);if(n.status===202){let e=await n.text(),t;try{t=JSON.parse(e)}catch{t={message:e}}throw new pg(t?.detail||t?.message||`请输入 TOTP 验证码`)}if(n.status===429)throw new fg(429,`登录尝试过多,账户已锁定 15 分钟`);if(n.status===204)return;let r=await n.text(),i;try{i=JSON.parse(r)}catch{i=r}if(!n.ok){let e=i,t=eg(e?.detail??e?.message,n.statusText),r=new fg(n.status,t);throw r.detail=e?.detail,r}return i}var dg={get:(e,t)=>ug(e,{method:`GET`,params:t}),getList:async(e,t)=>{let n=await ug(e,{method:`GET`,params:t});if(Array.isArray(n))return{items:n,total:n.length};if(n&&typeof n==`object`){let e=n;if(Array.isArray(e.items))return{items:e.items,total:e.total??e.items.length}}return{items:[],total:0}},post:(e,t)=>ug(e,{method:`POST`,body:t?JSON.stringify(t):void 0}),put:(e,t)=>ug(e,{method:`PUT`,body:t?JSON.stringify(t):void 0}),delete:e=>ug(e,{method:`DELETE`}),upload:(e,t)=>ug(e,{method:`POST`,body:t}),download:(e,t)=>lg(e,t)},fg=class extends Error{status;detail;constructor(e,t){super(t),this.status=e,this.name=`ApiError`}},pg=class extends Error{constructor(e){super(e),this.name=`TotpRequiredError`}};function mg(e){try{let t=e.split(`.`)[1];if(!t)return 0;let n=t.length%4;n&&(t+=`=`.repeat(4-n));let r=atob(t.replace(/-/g,`+`).replace(/_/g,`/`)),i=JSON.parse(r);return typeof i.exp==`number`?i.exp:0}catch{return 0}}var hg=qh(`auth`,()=>{let e=P(null),t=P(null),n=P(!1),r=G(()=>!!e.value),i=G(()=>e.value?mg(e.value):0);function a(e=300){let t=i.value;return t>0&&t-Math.floor(Date.now()/1e3){})}function d(){e.value=null,t.value=null}return{token:e,admin:t,isLoggedIn:r,bootstrapped:n,tokenExp:i,isTokenExpiringSoon:a,setAccessToken:o,tryRestoreSession:s,login:c,fetchProfile:l,logout:u,forceLogout:d}}),gg=`modulepreload`,_g=function(e){return`/app/`+e},vg={},$=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=_g(t,n),t in vg)return;vg[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:gg,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})},yg=fh({history:jm(),routes:[{path:`/`,name:`Dashboard`,component:()=>$(()=>import(`./DashboardPage-MBdDPrBx.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]))},{path:`/servers`,name:`Servers`,component:()=>$(()=>import(`./ServersPage-C8kywVR0.js`),__vite__mapDeps([13,1,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,8,9,25,26,27,10,28,29,30,31,32,33,34]))},{path:`/terminal`,name:`Terminal`,component:()=>$(()=>import(`./TerminalPage-AfvJqsJf.js`),__vite__mapDeps([35,1,2,3,14,15,16,17,21,22,6,7,36,37,38,39]))},{path:`/files`,name:`Files`,component:()=>$(()=>import(`./FilesPage-CzC0-tAq.js`),__vite__mapDeps([40,1,41,42,2,3,43,14,15,16,17,44,18,19,21,22,4,5,6,7,45,31,30,33,46]))},{path:`/push`,name:`Push`,component:()=>$(()=>import(`./PushPage-CGWMgBtG.js`),__vite__mapDeps([47,2,3,43,14,15,16,17,44,18,19,20,21,22,4,5,6,7,48,1,27,49,38,50]))},{path:`/scripts`,name:`Scripts`,component:()=>$(()=>import(`./ScriptsPage-BIUEJ3WR.js`),__vite__mapDeps([51,1,41,42,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,52,53,25,26,54,43,44,27,29,55,10,56,28,45,31,30,32,33,57]))},{path:`/script-runs`,name:`ScriptRuns`,component:()=>$(()=>import(`./ScriptRunsPage-BUukxLsB.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/script-runs/:id`,name:`ScriptRunDetail`,component:()=>$(()=>import(`./ScriptRunsPage-BUukxLsB.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/executions`,name:`Executions`,component:()=>$(()=>import(`./ScriptRunsPage-BUukxLsB.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/executions/:id`,name:`ExecutionDetail`,component:()=>$(()=>import(`./ScriptRunsPage-BUukxLsB.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59]))},{path:`/credentials`,name:`Credentials`,component:()=>$(()=>import(`./CredentialsPage-bQCPz0U_.js`),[])},{path:`/schedules`,name:`Schedules`,component:()=>$(()=>import(`./SchedulesPage-Cwk4pu75.js`),__vite__mapDeps([60,1,2,3,14,15,16,17,20,18,19,21,22,4,5,6,7,52,53,25,26,48,27,49,54,43,44,29,55,10,45,31,30,61]))},{path:`/retries`,name:`Retries`,component:()=>$(()=>import(`./RetriesPage-CWoEv_a3.js`),__vite__mapDeps([62,2,3,14,15,16,17,20,18,19,21,22,6,7,10,28,30]))},{path:`/commands`,name:`Commands`,component:()=>$(()=>import(`./CommandsPage-jF7ko4hy.js`),__vite__mapDeps([63,2,3,14,15,16,17,20,18,19,6,7,27,10,45,31,30,32]))},{path:`/alerts`,name:`Alerts`,component:()=>$(()=>import(`./AlertsPage-BZr2dlfE.js`),__vite__mapDeps([64,2,3,14,15,16,17,20,18,19,4,5,6,7,10,30]))},{path:`/audit`,name:`Audit`,component:()=>$(()=>import(`./AuditPage-Bko5-EIL.js`),__vite__mapDeps([65,2,3,14,15,16,17,20,18,19,6,7,10,30,11]))},{path:`/settings`,name:`Settings`,component:()=>$(()=>import(`./SettingsPage-BhucmhU8.js`),__vite__mapDeps([66,2,3,14,15,16,17,21,22,67,4,5,6,7,52,53,25,26,36,1,37,10,33]))},{path:`/login`,name:`Login`,component:()=>$(()=>import(`./LoginPage-BsHuUSjf.js`),__vite__mapDeps([68,1,2,3,15,16,67,69])),meta:{public:!0}}]}),bg=`nexus_chunk_reload_v1`;function xg(e){return e.includes(`Failed to fetch dynamically imported module`)||e.includes(`Importing a module script failed`)||e.includes(`error loading dynamically imported module`)}yg.onError((e,t)=>{if(!xg(e?.message||``))return;let n=window;if(!sessionStorage.getItem(bg)){sessionStorage.setItem(bg,`1`),window.location.reload();return}n.$snackbar?.(`页面「${String(t.name||t.path)}」资源已更新,请关闭此标签后重新打开后台`,`error`)}),yg.afterEach(()=>{sessionStorage.removeItem(bg)}),yg.beforeEach(async e=>{let t=hg();if(t.bootstrapped||await t.tryRestoreSession(),!e.meta.public&&!t.isLoggedIn)return{name:`Login`,query:{redirect:e.fullPath}};if(e.name===`Login`&&t.isLoggedIn)return{name:`Dashboard`}});function Sg(e){e.use(cp),e.use(yg),e.use(Nh())}var Cg=`Asia/Shanghai`;function wg(e){if(e==null)return null;let t=String(e).trim();if(!t)return null;let n=t;/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/.test(t)?n=`${t.replace(` `,`T`)}Z`:(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}$/.test(t)||/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d+$/.test(t))&&(n=`${t}Z`);let r=new Date(n);return Number.isNaN(r.getTime())?null:r}function Tg(e){let t=new Intl.DateTimeFormat(`en-US`,{timeZone:Cg,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1}).formatToParts(e);return Object.fromEntries(t.filter(e=>e.type!==`literal`).map(e=>[e.type,e.value]))}function Eg(e,t){let n=Tg(e);return t===`date`?`${n.year}-${n.month}-${n.day}`:t===`time`?`${n.hour}:${n.minute}:${n.second}`:`${n.year}-${n.month}-${n.day} ${n.hour}:${n.minute}:${n.second}`}function Dg(e){return e instanceof Date?Number.isNaN(e.getTime())?null:e:wg(e)}function Og(e){let t=Dg(e);return t?Eg(t,`datetime`):typeof e==`string`&&e.trim()?e.replace(`T`,` `).slice(0,19):`—`}function kg(e){let t=Dg(e);return t?Eg(t,`time`):`—`}var Ag={running:`执行中`,completed:`已完成`,failed:`失败`,partial:`部分成功`,cancelled:`已取消`},jg={success:`成功`,failed:`失败`,completed:`已完成`,error:`错误`,skipped:`已跳过`,started:`已启动`,timeout:`超时`,connection_error:`连接失败`,unknown:`未知`,cancelled:`已取消`,pending:`后台执行中`,done:`已完成`,running:`执行中`},Mg=new Set([`failed`,`error`,`skipped`,`timeout`,`connection_error`,`unknown`,`cancelled`]);function Ng(e){return Ag[e]||e}var Pg=new Set([`completed`,`failed`,`partial`,`cancelled`]);function Fg(e){return Pg.has(e)}function Ig(e){return e===`running`?`blue`:e===`completed`?`green`:e===`failed`?`red`:e===`partial`?`orange`:e===`cancelled`?`grey`:`info`}function Lg(e,t){let n=(t||``).trim(),r=(e||``).trim();return n===`pending`?jg.pending:n===`cancelled`||r===`cancelled`?jg.cancelled:r&&jg[r]?jg[r]:n&&jg[n]?jg[n]:r||n||`—`}function Rg(e){return(e||``).trim()===`pending`}function zg(e,t,n){if(Rg(t))return!1;if(n!=null&&n!==0)return!0;let r=(e||``).trim().toLowerCase();return!!(Mg.has(r)||(t||``).trim()===`cancelled`)}function Bg(e,t,n){return Rg(t)?`blue`:zg(e,t,n)?`error`:n===0||[`success`,`completed`,`done`].includes((e||``).toLowerCase())?`success`:`grey`}function Vg(e,t,n){return t?.[String(e)]?.trim()||n?.trim()||`服务器 #${e}`}function Hg(e,t){let n=[];if(t)try{let e=JSON.parse(t);Array.isArray(e)&&(n=e.map(String))}catch{n=[]}!n.length&&e&&(n=Object.keys(e).filter(e=>e!==`_meta`&&/^\d+$/.test(e)));let r=0,i=0,a=0;for(let t of n){let n=e?.[t]||{},o=String(n.status||``),s=n.phase?String(n.phase):void 0,c=n.exit_code??null;Rg(s)?a+=1:zg(o,s,c)?i+=1:r+=1}return{total:n.length,success:r,failed:i,pending:a}}var Ug=3e3,Wg=P(new Map),Gg=P([]),Kg=P(!0),qg=null,Jg=new Set;function Yg(e){let t=Number(e.total)||0,n=Number(e.done)||0,r=Number(e.remaining)??Math.max(0,t-n),i=e.task_kind===`server_batch`?`server_batch`:`script`;return{executionId:Number(e.execution_id),label:String(e.label||`执行 #${e.execution_id}`),status:String(e.status||`running`),total:t,done:n,remaining:r,success:Number(e.success)||0,failed:Number(e.failed)||0,progress:String(e.progress||`${n}/${t}`),longTask:!!e.long_task,operator:e.operator?String(e.operator):void 0,taskKind:i,op:e.op?String(e.op):void 0}}function Xg(e){let t=new Map(Wg.value);Fg(e.status)?t.delete(e.executionId):t.set(e.executionId,e),Wg.value=t}function Zg(e){let t={executionId:e.executionId,label:e.label,status:e.status,success:e.success,failed:e.failed,total:e.total,fading:!1,taskKind:e.taskKind,op:e.op};Gg.value=[t,...Gg.value].slice(0,5);for(let e of Jg)try{e(t)}catch{}setTimeout(()=>{Gg.value=Gg.value.map(e=>e.executionId===t.executionId?{...e,fading:!0}:e),setTimeout(()=>{Gg.value=Gg.value.filter(e=>e.executionId!==t.executionId)},400)},3e3)}function Qg(){qg||=setInterval(()=>{Kg.value||e_()},Ug)}function $g(){Wg.value.size>0||(qg&&=(clearInterval(qg),null))}async function e_(){let e=[...Wg.value.keys()];if(!e.length){$g();return}for(let t of e)try{let e=Wg.value.get(t),n=e?.taskKind===`server_batch`,r=n?await dg.get(`/servers/batch/jobs/${t}`):await dg.get(`/scripts/executions/${t}`),i=r.label||e?.label||`执行 #${t}`,a=e?.total||0;if(n){let n=r;typeof n.total==`number`&&(a=n.total);let o=r.progress||e?.progress||`0/${a}`,s=Number(n.done)||0,c=n.total||a,l={executionId:t,label:i,status:r.status,total:c||a,done:s,remaining:Number(n.remaining)||Math.max(0,(c||a)-s),success:Number(n.success)||0,failed:Number(n.failed)||0,progress:o,longTask:!1,operator:e?.operator,taskKind:`server_batch`,op:n.op};Fg(r.status)?(Xg(l),Zg({...l,status:r.status})):Xg(l);continue}let o=r;if(o.server_ids)try{let e=JSON.parse(o.server_ids);Array.isArray(e)&&(a=e.length)}catch{}let s=r.progress||e?.progress||`0/${a}`,c=s.split(`/`),l=Number(c[0])||0,u=Number(c[1])||a,d={executionId:t,label:i,status:r.status,total:u||a,done:l,remaining:Math.max(0,(u||a)-l),success:l,failed:0,progress:s,longTask:!!(o.long_task??e?.longTask),operator:e?.operator,taskKind:`script`,op:e?.op};Fg(r.status)?(Xg(d),Zg({...d,status:r.status})):Xg(d)}catch{}$g()}function t_(e){let t=Yg(e);if(t.executionId){if(e.type===`script_complete`||Fg(t.status)){Xg(t),Zg(t),$g();return}Xg(t),Qg()}}function n_(e){Kg.value=e,!e&&Wg.value.size>0&&Qg()}function r_(e,t,n,r=!1,i,a=`running`){Fg(a)||(Xg({executionId:e,label:t,status:a,total:n,done:0,remaining:n,success:0,failed:0,progress:i||`0/${n}`,longTask:r,taskKind:`script`}),Qg())}function i_(e,t,n,r,i,a=`running`){Fg(a)||(Xg({executionId:e,label:t,status:a,total:n,done:0,remaining:n,success:0,failed:0,progress:i||`0/${n}`,longTask:!1,taskKind:`server_batch`,op:r}),Qg())}function a_(e){return Jg.add(e),()=>Jg.delete(e)}function o_(e){Gg.value=Gg.value.map(t=>t.executionId===e?{...t,fading:!0}:t),setTimeout(()=>{Gg.value=Gg.value.filter(t=>t.executionId!==e)},400)}function s_(){let e=G(()=>[...Wg.value.values()].sort((e,t)=>t.executionId-e.executionId));return Yr(()=>{}),{runningItems:e,completeAlerts:G(()=>Gg.value),registerScriptExecution:r_,dismissCompleteAlert:o_,onScriptExecutionComplete:a_}}var c_=P(null),l_=P(!1),u_=P(0),d_=P([]),f_=null,p_=3e4,m_=50;function h_(){return`${location.protocol===`https:`?`wss:`:`ws:`}//${location.host}/ws/alerts`}function g_(){let e=hg(),t=G(()=>{if(!c_.value)return`disconnected`;switch(c_.value.readyState){case WebSocket.CONNECTING:return`connecting`;case WebSocket.OPEN:return`connected`;case WebSocket.CLOSING:return`closing`;default:return`disconnected`}});function n(){if(!e.token||c_.value?.readyState===WebSocket.OPEN)return;c_.value&&=(c_.value.onclose=null,c_.value.close(),null);let t=`${h_()}?token=${e.token}`,n=new WebSocket(t);n.onopen=()=>{l_.value=!0,u_.value=0,n_(!0)},n.onmessage=e=>{if(e.data!==`pong`)try{let t=JSON.parse(e.data);if(t.type===`ping`){n.send(`pong`);return}if(t.type===`script_progress`||t.type===`script_complete`){t_(t);return}if(t.type===`alert`||t.type===`recovery`){let e={type:t.type,serverId:t.server_id,serverName:t.server_name,alertType:t.alert_type||t.metric,value:t.alert_value||t.value,time:kg(new Date)};d_.value.unshift(e),d_.value.length>m_&&d_.value.pop();let n=window.$snackbar;if(n){let e=t.type===`alert`?`error`:`success`;n(t.type===`alert`?`告警: ${t.server_name} ${t.alert_type} ${t.alert_value}%`:`恢复: ${t.server_name} ${t.metric} 恢复正常`,e)}}}catch{}},n.onclose=t=>{if(l_.value=!1,n_(!1),c_.value=null,t.code===4001||t.code===4401){e.forceLogout();return}i()},n.onerror=()=>{},c_.value=n}function r(){f_&&=(clearTimeout(f_),null),c_.value&&=(c_.value.close(),null),l_.value=!1,u_.value=0,n_(!1)}function i(){if(!e.isLoggedIn)return;u_.value++;let t=Math.min(1e3*2**(u_.value-1)+Math.random()*1e3,p_);f_=setTimeout(()=>{e.isLoggedIn&&n()},t)}function a(){d_.value=[]}return{connected:l_,connectionState:t,alerts:d_,connect:n,disconnect:r,clearAlerts:a}}function __(e,t){return{path:`/executions/${e}`,query:{kind:t}}}function v_(e){return e===`server_batch`?`server_batch`:`script`}function y_(e){return e===`server_batch`?`服务器`:`脚本`}function b_(e,t,n){return e.push(__(t,n))}async function x_(e,t){let{default:n}=await $(async()=>{let{default:e}=await import(`./router-vItW-i8I.js`);return{default:e}},[]);return b_(n,e,`server_batch`)}var S_=[{value:`off`,title:`关闭`},{value:`beep_short`,title:`短促单音`},{value:`beep_double`,title:`双音提示(默认)`},{value:`chime_soft`,title:`柔和三音`}],C_=`beep_double`,w_=new Set(S_.map(e=>e.value));function T_(e){let t=String(e??``).trim().toLowerCase();return w_.has(t)?t:C_}function E_(e,t,n,r,i=.08){let a=e.createOscillator(),o=e.createGain();a.type=`sine`,a.frequency.value=t,o.gain.value=i,a.connect(o),o.connect(e.destination),a.start(n),a.stop(n+r)}function D_(e){if(e!==`off`)try{let t=new AudioContext,n=t.currentTime;if(e===`beep_short`){E_(t,880,n,.12);return}if(e===`beep_double`){E_(t,880,n,.15),E_(t,1174,n+.12,.2);return}e===`chime_soft`&&(E_(t,523.25,n,.1,.06),E_(t,659.25,n+.1,.1,.06),E_(t,783.99,n+.2,.14,.06))}catch{}}var O_=`nexus_script_exec_complete_sound`,k_=P(A_());function A_(){try{let e=localStorage.getItem(O_);if(e)return T_(e)}catch{}return C_}function j_(e){try{localStorage.setItem(O_,e)}catch{}}function M_(){async function e(){try{let e=T_((await ug(`/settings/script_exec_complete_sound`)).value);k_.value=e,j_(e)}catch{k_.value=A_()}}async function t(e){let t=T_(e);await ug(`/settings/script_exec_complete_sound`,{method:`PUT`,body:JSON.stringify({value:t})}),k_.value=t,j_(t)}function n(){D_(k_.value)}function r(e){D_(e??k_.value)}return{soundMode:k_,syncFromServer:e,saveToServer:t,playCompleteSound:n,previewSound:r}}var N_=3e3,P_=zt({visible:!1,text:``,color:`success`}),F_=null;function I_(e,t=`success`){F_&&=(clearTimeout(F_),null),P_.text=e,P_.color=t,P_.visible=!0,F_=setTimeout(()=>{L_()},N_)}function L_(){F_&&=(clearTimeout(F_),null),P_.visible=!1}var R_=new Map,z_={serverStats:`servers:stats`,serverCategories:`servers:categories`};function B_(){R_.clear()}async function V_(e,t,n=3e4){let r=Date.now(),i=R_.get(e);if(i&&r-i.fetchedAt{R_.set(e,{data:t,fetchedAt:Date.now()})}).catch(()=>{}),{data:i.data,fromCache:!0};let a=await t();return R_.set(e,{data:a,fetchedAt:r}),{data:a,fromCache:!1}}var H_={"/":()=>$(()=>import(`./DashboardPage-MBdDPrBx.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])),"/servers":()=>$(()=>import(`./ServersPage-C8kywVR0.js`),__vite__mapDeps([13,1,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,8,9,25,26,27,10,28,29,30,31,32,33,34])),"/terminal":()=>$(()=>import(`./TerminalPage-AfvJqsJf.js`),__vite__mapDeps([35,1,2,3,14,15,16,17,21,22,6,7,36,37,38,39])),"/files":()=>$(()=>import(`./FilesPage-CzC0-tAq.js`),__vite__mapDeps([40,1,41,42,2,3,43,14,15,16,17,44,18,19,21,22,4,5,6,7,45,31,30,33,46])),"/push":()=>$(()=>import(`./PushPage-CGWMgBtG.js`),__vite__mapDeps([47,2,3,43,14,15,16,17,44,18,19,20,21,22,4,5,6,7,48,1,27,49,38,50])),"/scripts":()=>$(()=>import(`./ScriptsPage-BIUEJ3WR.js`),__vite__mapDeps([51,1,41,42,2,3,14,15,16,17,18,19,20,21,22,23,24,4,5,6,7,52,53,25,26,54,43,44,27,29,55,10,56,28,45,31,30,32,33,57])),"/script-runs":()=>$(()=>import(`./ScriptRunsPage-BUukxLsB.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59])),"/executions":()=>$(()=>import(`./ScriptRunsPage-BUukxLsB.js`),__vite__mapDeps([58,1,2,3,14,15,16,17,18,19,20,23,24,4,5,6,7,56,28,45,31,30,32,59])),"/schedules":()=>$(()=>import(`./SchedulesPage-Cwk4pu75.js`),__vite__mapDeps([60,1,2,3,14,15,16,17,20,18,19,21,22,4,5,6,7,52,53,25,26,48,27,49,54,43,44,29,55,10,45,31,30,61])),"/retries":()=>$(()=>import(`./RetriesPage-CWoEv_a3.js`),__vite__mapDeps([62,2,3,14,15,16,17,20,18,19,21,22,6,7,10,28,30])),"/commands":()=>$(()=>import(`./CommandsPage-jF7ko4hy.js`),__vite__mapDeps([63,2,3,14,15,16,17,20,18,19,6,7,27,10,45,31,30,32])),"/alerts":()=>$(()=>import(`./AlertsPage-BZr2dlfE.js`),__vite__mapDeps([64,2,3,14,15,16,17,20,18,19,4,5,6,7,10,30])),"/audit":()=>$(()=>import(`./AuditPage-Bko5-EIL.js`),__vite__mapDeps([65,2,3,14,15,16,17,20,18,19,6,7,10,30,11])),"/settings":()=>$(()=>import(`./SettingsPage-BhucmhU8.js`),__vite__mapDeps([66,2,3,14,15,16,17,21,22,67,4,5,6,7,52,53,25,26,36,1,37,10,33]))},U_=new Set,W_=new Map;function G_(e,t=200){let n=H_[e];if(!n||U_.has(e))return;let r=W_.get(e);r&&clearTimeout(r),W_.set(e,setTimeout(()=>{W_.delete(e),!U_.has(e)&&(U_.add(e),n().catch(()=>{U_.delete(e)}))},t))}function K_(e){let t=W_.get(e);t&&(clearTimeout(t),W_.delete(e))}var q_=[`DashboardPage`,`ServersPage`,`ScriptsPage`,`ScriptRunsPage`,`PushPage`,`FilesPage`,`SchedulesPage`,`RetriesPage`,`CommandsPage`,`AlertsPage`,`AuditPage`,`SettingsPage`],J_=wu(`v-alert-title`),Y_=J({border:[Boolean,Number,String]},`border`);function X_(e,t=mu()){return{borderClasses:G(()=>{let n=e.border;return n===!0||n===``?`${t}--border`:typeof n==`string`||n===0?String(n).split(` `).map(e=>`border-${e}`):[]})}}var Z_=[null,`default`,`comfortable`,`compact`],Q_=J({density:{type:String,default:`default`,validator:e=>Z_.includes(e)}},`density`);function $_(e,t=mu()){return{densityClasses:L(()=>`${t}--density-${e.density}`)}}var ev=J({elevation:{type:[Number,String],validator:e=>parseInt(e)>=0}},`elevation`);function tv(e){return{elevationClasses:L(()=>{let t=N(e)?e.value:e.elevation;return t==null?[]:[`elevation-${parseInt(t)}`]})}}var nv=J({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},`rounded`);function rv(e,t=mu()){return{roundedClasses:G(()=>{let n=N(e)?e.value:e.rounded,r=N(e)?!1:e.tile,i=[];if(r||n===!1)i.push(`rounded-0`);else if(n===!0||n===``)i.push(`${t}--rounded`);else if(typeof n==`string`||n===0)for(let e of String(n).split(` `))i.push(`rounded-${e}`);return i})}}var iv=J({tag:{type:[String,Object,Function],default:`div`}},`tag`);function av(e){return Rc(()=>{let{class:t,style:n}=lv(e);return{colorClasses:t,colorStyles:n}})}function ov(e){let{colorClasses:t,colorStyles:n}=av(()=>({text:Qt(e)}));return{textColorClasses:t,textColorStyles:n}}function sv(e){let{colorClasses:t,colorStyles:n}=av(()=>({background:Qt(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function cv(e){return{text:typeof e.text==`string`?e.text.replace(/^text-/,``):e.text,background:typeof e.background==`string`?e.background.replace(/^bg-/,``):e.background}}function lv(e){let t=cv(Qt(e)),n=[],r={};if(t.background)if(Zl(t.background)){if(r.backgroundColor=t.background,!t.text&&Ql(t.background)){let e=tu(t.background);(e.a==null||e.a===1)&&n.push(fu(e)?`v-theme-on-dark`:`v-theme-on-light`)}}else n.push(`bg-${t.background}`);return t.text&&(Zl(t.text)?(r.color=t.text,r.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:r}}var uv=[`elevated`,`flat`,`tonal`,`outlined`,`text`,`plain`];function dv(e,t){return H(V,null,[e&&H(`span`,{key:`overlay`,class:j(`${t}__overlay`)},null),H(`span`,{key:`underlay`,class:j(`${t}__underlay`)},null)])}var fv=J({color:String,variant:{type:String,default:`elevated`,validator:e=>uv.includes(e)}},`variant`);function pv(e,t=mu()){let n=L(()=>{let{variant:n}=Qt(e);return`${t}--variant-${n}`}),{colorClasses:r,colorStyles:i}=av(()=>{let{variant:t,color:n}=Qt(e);return{[[`elevated`,`flat`].includes(t)?`background`:`text`]:n}});return{colorClasses:r,colorStyles:i,variantClasses:n}}var mv=J({baseColor:String,divided:Boolean,direction:{type:String,default:`horizontal`},...Y_(),...Y(),...Q_(),...ev(),...nv(),...iv(),...Pf(),...fv()},`VBtnGroup`),hv=X()({name:`VBtnGroup`,props:mv(),setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{densityClasses:r}=$_(e),{borderClasses:i}=X_(e),{elevationClasses:a}=tv(e),{roundedClasses:o}=rv(e);yu({VBtn:{height:L(()=>e.direction===`horizontal`?`auto`:null),baseColor:L(()=>e.baseColor),color:L(()=>e.color),density:L(()=>e.density),flat:!0,variant:L(()=>e.variant)}}),Z(()=>U(e.tag,{class:j([`v-btn-group`,`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},n.value,i.value,r.value,a.value,o.value,e.class]),style:A(e.style)},t))}}),gv=J({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},`group`),_v=J({value:null,disabled:Boolean,selectedClass:String},`group-item`);function vv(e,t,n=!0){let r=pu(`useGroupItem`);if(!r)throw Error(`[Vuetify] useGroupItem composable must be used inside a component setup function`);let i=Er();Vn(Symbol.for(`${t.description}:id`),i);let a=z(t,null);if(!a){if(!n)return a;throw Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}let o=L(()=>e.value),s=G(()=>!!(a.disabled.value||e.disabled));function c(){a?.register({id:i,value:o,disabled:s},r)}function l(){a?.unregister(i)}c(),Jr(()=>l());let u=G(()=>a.isSelected(i)),d=G(()=>a.items.value[0].id===i),f=G(()=>a.items.value[a.items.value.length-1].id===i),p=G(()=>u.value&&[a.selectedClass.value,e.selectedClass]);return B(u,e=>{r.emit(`group:selected`,{value:e})},{flush:`sync`}),{id:i,isSelected:u,isFirst:d,isLast:f,toggle:()=>a.select(i,!u.value),select:e=>a.select(i,e),selectedClass:p,value:o,disabled:s,group:a,register:c,unregister:l}}function yv(e,t){let n=!1,r=zt([]),i=Zu(e,`modelValue`,[],e=>e===void 0?[]:xv(r,e===null?[null]:Ec(e)),t=>{let n=Sv(r,t);return e.multiple?n:n[0]}),a=pu(`useGroup`);function o(e,n){let i=e,o=Ic(Symbol.for(`${t.description}:id`),a?.vnode).indexOf(n);I(i.value)===void 0&&(i.value=o,i.useIndexAsValue=!0),o>-1?r.splice(o,0,i):r.push(i)}function s(e){if(n)return;c();let t=r.findIndex(t=>t.id===e);r.splice(t,1)}function c(){let t=r.find(e=>!e.disabled);t&&e.mandatory===`force`&&!i.value.length&&(i.value=[t.id])}Gr(()=>{c()}),Jr(()=>{n=!0}),qr(()=>{for(let e=0;ee.id===t);if(!(n&&a?.disabled))if(e.multiple){let r=i.value.slice(),a=r.findIndex(e=>e===t),o=~a;if(n??=!o,o&&e.mandatory&&r.length<=1||!o&&e.max!=null&&r.length+1>e.max)return;a<0&&n?r.push(t):a>=0&&!n&&r.splice(a,1),i.value=r}else{let r=i.value.includes(t);if(e.mandatory&&r||!r&&!n)return;i.value=n??!r?[t]:[]}}function u(t){if(e.multiple&&ec(`This method is not supported when using "multiple" prop`),i.value.length){let e=i.value[0],n=r.findIndex(t=>t.id===e),a=(n+t)%r.length,o=r[a];for(;o.disabled&&a!==n;)a=(a+t)%r.length,o=r[a];if(o.disabled)return;i.value=[r[a].id]}else{let e=r.find(e=>!e.disabled);e&&(i.value=[e.id])}}let d={register:o,unregister:s,selected:i,select:l,disabled:L(()=>e.disabled),prev:()=>u(r.length-1),next:()=>u(1),isSelected:e=>i.value.includes(e),selectedClass:L(()=>e.selectedClass),items:L(()=>r),getItemIndex:e=>bv(r,e)};return Vn(t,d),d}function bv(e,t){let n=xv(e,[t]);return n.length?e.findIndex(e=>e.id===n[0]):-1}function xv(e,t){let n=[];return t.forEach(t=>{let r=e.find(e=>Du(t,e.value)),i=e[t];r?.value===void 0?i?.useIndexAsValue&&n.push(i.id):n.push(r.id)}),n}function Sv(e,t){let n=[];return t.forEach(t=>{let r=e.findIndex(e=>e.id===t);if(~r){let t=e[r];n.push(t.value===void 0?r:t.value)}}),n}var Cv=Symbol.for(`vuetify:v-btn-toggle`),wv=J({...mv(),...gv()},`VBtnToggle`),Tv=X()({name:`VBtnToggle`,props:wv(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{isSelected:n,next:r,prev:i,select:a,selected:o}=yv(e,Cv);return Z(()=>{let s=hv.filterProps(e);return U(hv,W({class:[`v-btn-toggle`,{"v-btn-toggle--has-color":!!e.color},e.class]},s,{style:e.style}),{default:()=>[t.default?.({isSelected:n,next:r,prev:i,select:a,selected:o})]})}),{next:r,prev:i,select:a}}}),Ev=J({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},`VDefaultsProvider`),Dv=X(!1)({name:`VDefaultsProvider`,props:Ev(),setup(e,{slots:t}){let{defaults:n,disabled:r,reset:i,root:a,scoped:o}=rn(e);return yu(n,{reset:i,root:a,scoped:o,disabled:r}),()=>t.default?.()}}),Ov=[`x-small`,`small`,`default`,`large`,`x-large`],kv=J({size:{type:[String,Number],default:`default`}},`size`);function Av(e,t=mu()){return Rc(()=>{let n=e.size,r,i;return zc(Ov,n)?r=`${t}--size-${n}`:n&&(i={width:q(n),height:q(n)}),{sizeClasses:r,sizeStyles:i}})}var jv=J({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:zu,opacity:[String,Number],...Y(),...kv(),...iv({tag:`i`}),...Pf()},`VIcon`),Mv=X()({name:`VIcon`,props:jv(),setup(e,{attrs:t,slots:n}){let r=F(),{themeClasses:i}=qf(),{iconData:a}=Gu(()=>r.value||e.icon),{sizeClasses:o}=Av(e),{textColorClasses:s,textColorStyles:c}=ov(()=>e.color);return Z(()=>{let l=n.default?.();l&&(r.value=Pc(l).filter(e=>e.type===Ta&&e.children&&typeof e.children==`string`)[0]?.children);let u=!!(t.onClick||t.onClickOnce);return U(a.value.component,{tag:e.tag,icon:a.value.icon,class:j([`v-icon`,`notranslate`,i.value,o.value,s.value,{"v-icon--clickable":u,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:A([{"--v-icon-opacity":e.opacity},o.value?void 0:{fontSize:q(e.size),height:q(e.size),width:q(e.size)},c.value,e.style]),role:u?`button`:void 0,"aria-hidden":!u,tabindex:u?e.disabled?-1:0:void 0},{default:()=>[l]})}),{}}});function Nv(e,t){let n=P(),r=F(!1);if(rc){let i=new IntersectionObserver(t=>{e?.(t,i),r.value=!!t.find(e=>e.isIntersecting)},t);Oe(()=>{i.disconnect()}),B(n,(e,t)=>{t&&(i.unobserve(t),r.value=!1),e&&i.observe(e)},{flush:`post`})}return{intersectionRef:n,isIntersecting:r}}var Pv=J({reveal:{type:[Boolean,Object],default:!1}},`reveal`);function Fv(e){let t=L(()=>typeof e.reveal==`object`?Math.max(0,Number(e.reveal.duration??900)):900),n=F(e.reveal?`initial`:`disabled`);return Gr(async()=>{e.reveal&&(n.value=`initial`,await new Promise(e=>requestAnimationFrame(e)),n.value=`pending`,await new Promise(e=>setTimeout(e,t.value)),n.value=`done`)}),{duration:t,state:n}}var Iv=J({bgColor:String,color:String,indeterminate:[Boolean,String],rounded:Boolean,modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...Y(),...Pv(),...kv(),...iv({tag:`div`}),...Pf()},`VProgressCircular`),Lv=X()({name:`VProgressCircular`,props:Iv(),setup(e,{slots:t}){let n=2*Math.PI*20,r=P(),{themeClasses:i}=Kf(e),{sizeClasses:a,sizeStyles:o}=Av(e),{textColorClasses:s,textColorStyles:c}=ov(()=>e.color),{textColorClasses:l,textColorStyles:u}=ov(()=>e.bgColor),{intersectionRef:d,isIntersecting:f}=Nv(),{resizeRef:p,contentRect:m}=Jf(),{state:h,duration:g}=Fv(e),_=L(()=>h.value===`initial`?0:Oc(parseFloat(e.modelValue),0,100)),v=L(()=>Number(e.width)),y=L(()=>o.value?Number(e.size):m.value?m.value.width:Math.max(v.value,32)),b=L(()=>20/(1-v.value/y.value)*2),x=L(()=>v.value/y.value*b.value),S=L(()=>{let t=(100-_.value)/100*n;return e.rounded&&_.value>0&&_.value<100?q(Math.min(n-.01,t+x.value)):q(t)}),C=G(()=>{let t=Number(e.rotate);return e.rounded?t+x.value/2/n*360:t});return Gn(()=>{d.value=r.value,p.value=r.value}),Z(()=>U(e.tag,{ref:r,class:j([`v-progress-circular`,{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":f.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate===`disable-shrink`||oc()),"v-progress-circular--revealing":[`initial`,`pending`].includes(h.value)},i.value,a.value,s.value,e.class]),style:A([o.value,c.value,{"--progress-reveal-duration":`${g.value}ms`},e.style]),role:`progressbar`,"aria-valuemin":`0`,"aria-valuemax":`100`,"aria-valuenow":e.indeterminate?void 0:_.value},{default:()=>[H(`svg`,{style:{transform:`rotate(calc(-90deg + ${C.value}deg))`},xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 ${b.value} ${b.value}`},[H(`circle`,{class:j([`v-progress-circular__underlay`,l.value]),style:A(u.value),fill:`transparent`,cx:`50%`,cy:`50%`,r:20,"stroke-width":x.value,"stroke-dasharray":n,"stroke-dashoffset":0},null),H(`circle`,{class:`v-progress-circular__overlay`,fill:`transparent`,cx:`50%`,cy:`50%`,r:20,"stroke-width":x.value,"stroke-dasharray":n,"stroke-dashoffset":S.value,"stroke-linecap":e.rounded?`round`:void 0},null)]),t.default&&H(`div`,{class:`v-progress-circular__content`},[t.default({value:_.value})])]})),{}}}),Rv=J({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},`dimension`);function zv(e){return{dimensionStyles:G(()=>{let t={},n=q(e.height),r=q(e.maxHeight),i=q(e.maxWidth),a=q(e.minHeight),o=q(e.minWidth),s=q(e.width);return n!=null&&(t.height=n),r!=null&&(t.maxHeight=r),i!=null&&(t.maxWidth=i),a!=null&&(t.minHeight=a),o!=null&&(t.minWidth=o),s!=null&&(t.width=s),t})}}var Bv={center:`center`,top:`bottom`,bottom:`top`,left:`right`,right:`left`},Vv=J({location:String},`location`);function Hv(e,t=!1,n){let{isRtl:r}=pd();return{locationStyles:G(()=>{if(!e.location)return{};let{side:i,align:a}=sl(e.location.split(` `).length>1?e.location:`${e.location} center`,r.value);function o(e){return n?n(e):0}let s={};return i!==`center`&&(t?s[Bv[i]]=`calc(100% - ${o(i)}px)`:s[i]=0),a===`center`?(i===`center`?s.top=s.left=`50%`:s[{top:`left`,bottom:`left`,left:`top`,right:`top`}[i]]=`50%`,s.transform={top:`translateX(-50%)`,bottom:`translateX(-50%)`,left:`translateY(-50%)`,right:`translateY(-50%)`,center:`translate(-50%, -50%)`}[i]):t?s[Bv[a]]=`calc(100% - ${o(a)}px)`:s[a]=0,s})}}var Uv=J({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},`chunks`);function Wv(e,t){let n=L(()=>!!e.chunkCount||!!e.chunkWidth),r=G(()=>{let n=Qt(t);if(!n)return 0;if(!e.chunkCount)return Number(e.chunkWidth);let r=Number(e.chunkCount);return(n-Number(e.chunkGap)*(r-1))/r}),i=L(()=>Number(e.chunkGap)),a=G(()=>{if(!n.value)return{};let e=q(i.value),t=q(r.value);return{maskRepeat:`repeat-x`,maskImage:`linear-gradient(90deg, #000, #000 ${t}, transparent ${t}, transparent)`,maskSize:`calc(${t} + ${e}) 100%`}});function o(e){let n=Qt(t);if(!n)return e;let a=100*i.value/n,o=100*(r.value+i.value)/n;return Oc(Math.floor((e+a)/o+1e-9)*o-a/2,0,100)}return{hasChunks:n,chunksMaskStyles:a,snapValueToChunk:o}}var Gv=J({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...Uv(),...Y(),...Vv({location:`top`}),...nv(),...iv(),...Pf()},`VProgressLinear`),Kv=X()({name:`VProgressLinear`,props:Gv(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=P(),r=Zu(e,`modelValue`),{isRtl:i,rtlClasses:a}=pd(),{themeClasses:o}=Kf(e),{locationStyles:s}=Hv(e),{textColorClasses:c,textColorStyles:l}=ov(()=>e.color),{backgroundColorClasses:u,backgroundColorStyles:d}=sv(()=>e.bgColor||e.color),{backgroundColorClasses:f,backgroundColorStyles:p}=sv(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:m,backgroundColorStyles:h}=sv(()=>e.color),{roundedClasses:g}=rv(e),{intersectionRef:_,isIntersecting:v}=Nv(),y=G(()=>parseFloat(e.max)),b=G(()=>parseFloat(e.height)),x=G(()=>Oc(parseFloat(e.bufferValue)/y.value*100,0,100)),S=G(()=>Oc(parseFloat(r.value)/y.value*100,0,100)),C=G(()=>i.value!==e.reverse),w=G(()=>e.indeterminate?`fade-transition`:`slide-x-transition`),T=F(0),{hasChunks:E,chunksMaskStyles:ee,snapValueToChunk:te}=Wv(e,T);Xu(E,()=>{let{resizeRef:e}=Jf(e=>T.value=e[0].contentRect.width);Gn(()=>e.value=n.value)});let D=G(()=>E.value?te(x.value):x.value),ne=G(()=>E.value?te(S.value):S.value);function re(e){if(!_.value)return;let{left:t,right:n,width:i}=_.value.getBoundingClientRect(),a=C.value?i-e.clientX+(n-i):e.clientX-t;r.value=Math.round(a/i*y.value)}return Gn(()=>{_.value=n.value}),Z(()=>U(e.tag,{ref:n,class:j([`v-progress-linear`,{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&v.value,"v-progress-linear--reverse":C.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},g.value,o.value,a.value,e.class]),style:A([{bottom:e.location===`bottom`?0:void 0,top:e.location===`top`?0:void 0,height:e.active?q(b.value):0,"--v-progress-linear-height":q(b.value),...e.absolute?s.value:{}},ee.value,e.style]),role:`progressbar`,"aria-hidden":e.active?`false`:`true`,"aria-valuemin":`0`,"aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(r.value),y.value),onClick:e.clickable&&re},{default:()=>[e.stream&&H(`div`,{key:`stream`,class:j([`v-progress-linear__stream`,c.value]),style:{...l.value,[C.value?`left`:`right`]:q(-b.value),borderTop:`${q(b.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${q(b.value/4)})`,width:q(100-x.value,`%`),"--v-progress-linear-stream-to":q(b.value*(C.value?1:-1))}},null),H(`div`,{class:j([`v-progress-linear__background`,u.value]),style:A([d.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),H(`div`,{class:j([`v-progress-linear__buffer`,f.value]),style:A([p.value,{opacity:parseFloat(e.bufferOpacity),width:q(D.value,`%`)}])},null),U(Fo,{name:w.value},{default:()=>[e.indeterminate?H(`div`,{class:`v-progress-linear__indeterminate`},[[`long`,`short`].map(e=>H(`div`,{key:e,class:j([`v-progress-linear__indeterminate`,e,m.value]),style:A(h.value)},null))]):H(`div`,{class:j([`v-progress-linear__determinate`,m.value]),style:A([h.value,{width:q(ne.value,`%`)}])},null)]}),t.default&&H(`div`,{class:`v-progress-linear__content`},[t.default({value:S.value,buffer:x.value})])]})),{}}}),qv=J({loading:[Boolean,String]},`loader`);function Jv(e,t=mu()){return{loaderClasses:L(()=>({[`${t}--loading`]:e.loading}))}}function Yv(e,{slots:t}){return H(`div`,{class:j(`${e.name}__loader`)},[t.default?.({color:e.color,isActive:e.active})||U(Kv,{absolute:e.absolute,active:e.active,color:e.color,height:`2`,indeterminate:!0},null)])}var Xv=[`static`,`relative`,`fixed`,`absolute`,`sticky`],Zv=J({position:{type:String,validator:e=>Xv.includes(e)}},`position`);function Qv(e,t=mu()){return{positionClasses:L(()=>e.position?`${t}--${e.position}`:void 0)}}function $v(){let e=pu(`useRoute`);return G(()=>e?.proxy?.$route)}function ey(){return pu(`useRouter`)?.proxy?.$router}function ty(e,t){let n=ri(`RouterLink`),r=L(()=>!!(e.href||e.to)),i=G(()=>r?.value||Hc(t,`click`)||Hc(e,`click`));if(typeof n==`string`||!(`useLink`in n)){let t=L(()=>e.href);return{isLink:r,isRouterLink:L(()=>!1),isClickable:i,href:t,linkProps:zt({href:t}),route:L(()=>void 0),navigate:L(()=>void 0)}}let a=n.useLink({to:L(()=>e.to||``),replace:L(()=>e.replace)}),o=G(()=>e.to?a:void 0),s=$v(),c=G(()=>o.value?e.exact?s.value?o.value.isExactActive?.value&&Du(o.value.route.value.query,s.value.query):o.value.isExactActive?.value??!1:o.value.isActive?.value??!1:!1),l=G(()=>e.to?o.value?.route.value.href:e.href);return{isLink:r,isRouterLink:L(()=>!!e.to),isClickable:i,isActive:c,route:L(()=>o.value?.route.value),navigate:L(()=>o.value?.navigate),href:l,linkProps:zt({href:l,"aria-current":L(()=>c.value?`page`:void 0),"aria-disabled":L(()=>e.disabled&&r.value?`true`:void 0),tabindex:L(()=>e.disabled&&r.value?`-1`:void 0)})}}var ny=J({href:String,replace:Boolean,to:[String,Object],exact:Boolean},`router`),ry=!1;function iy(e,t){let n=!1,r,i;K&&e?.beforeEach&&(Dn(()=>{window.addEventListener(`popstate`,a),r=e.beforeEach(()=>ry?n?t():void 0:(ry=!0,new Promise(e=>{setTimeout(()=>e(n?t():void 0))}))),i=e?.afterEach(()=>{ry=!1})}),Oe(()=>{window.removeEventListener(`popstate`,a),r?.(),i?.()}));function a(e){e.state?.replaced||(n=!0,setTimeout(()=>n=!1))}}function ay(e,t){B(()=>e.isActive?.value,n=>{e.isLink.value&&n!=null&&t&&Dn(()=>{t(n)})},{immediate:!0})}var oy=Symbol(`rippleStop`),sy=80;function cy(e,t){e.style.transform=t,e.style.webkitTransform=t}function ly(e){return e.constructor.name===`TouchEvent`}function uy(e){return e.constructor.name===`KeyboardEvent`}var dy=(e,t,n={})=>{let r=0,i=0;if(!uy(e)){let n=new pl(t),a=ly(e)?e.touches[e.touches.length-1]:e,o=hl([a.clientX,a.clientY]);r=o.x-n.left,i=o.y-n.top}let a=0,o=.3;t._ripple?.circle?(o=.15,a=t.clientWidth/2,a=n.center?a:a+Math.sqrt((r-a)**2+(i-a)**2)/4):a=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;let s=`${(t.clientWidth-a*2)/2}px`,c=`${(t.clientHeight-a*2)/2}px`,l=n.center?s:`${r-a}px`,u=n.center?c:`${i-a}px`;return{radius:a,scale:o,x:l,y:u,centerX:s,centerY:c}},fy={show(e,t,n={}){if(!t?._ripple?.enabled)return;let r=document.createElement(`span`),i=document.createElement(`span`);r.appendChild(i),r.className=`v-ripple__container`,n.class&&(r.className+=` ${n.class}`);let{radius:a,scale:o,x:s,y:c,centerX:l,centerY:u}=dy(e,t,n),d=`${a*2}px`;i.className=`v-ripple__animation`,i.style.width=d,i.style.height=d,t.appendChild(r);let f=window.getComputedStyle(t);f&&f.position===`static`&&(t.style.position=`relative`,t.dataset.previousPosition=`static`),i.classList.add(`v-ripple__animation--enter`),i.classList.add(`v-ripple__animation--visible`),cy(i,`translate(${s}, ${c}) scale3d(${o},${o},${o})`),i.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.classList.remove(`v-ripple__animation--enter`),i.classList.add(`v-ripple__animation--in`),cy(i,`translate(${l}, ${u}) scale3d(1,1,1)`)})})},hide(e){if(!e?._ripple?.enabled)return;let t=e.getElementsByClassName(`v-ripple__animation`);if(t.length===0)return;let n=Array.from(t).findLast(e=>!e.dataset.isHiding);if(n)n.dataset.isHiding=`true`;else return;let r=performance.now()-Number(n.dataset.activated),i=Math.max(250-r,0);setTimeout(()=>{n.classList.remove(`v-ripple__animation--in`),n.classList.add(`v-ripple__animation--out`),setTimeout(()=>{e.getElementsByClassName(`v-ripple__animation`).length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),n.parentNode?.parentNode===e&&e.removeChild(n.parentNode)},300)},i)}};function py(e){return e===void 0||!!e}function my(e){let t={},n=e.currentTarget;if(!(!n?._ripple||n._ripple.touched||e[oy])){if(e[oy]=!0,ly(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||uy(e),n._ripple.class&&(t.class=n._ripple.class),ly(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{fy.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{n?._ripple?.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},sy)}else fy.show(e,n,t)}}function hy(e){e[oy]=!0}function gy(e){let t=e.currentTarget;if(t?._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type===`touchend`&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{gy(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),fy.hide(t)}}function _y(e){let t=e.currentTarget;t?._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}var vy=!1;function yy(e,t){!vy&&t.includes(e.key)&&(vy=!0,my(e))}function by(e){vy=!1,gy(e)}function xy(e){vy&&(vy=!1,gy(e))}function Sy(e,t,n){let{value:r,modifiers:i}=t,a=py(r);a||fy.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=a,e._ripple.centered=i.center,e._ripple.circle=i.circle;let o=dc(r)?r:{};o.class&&(e._ripple.class=o.class);let s=o.keys??[`Enter`,`Space`];if(e._ripple.keyDownHandler=e=>yy(e,s),a&&!n){if(i.stop){e.addEventListener(`touchstart`,hy,{passive:!0}),e.addEventListener(`mousedown`,hy);return}e.addEventListener(`touchstart`,my,{passive:!0}),e.addEventListener(`touchend`,gy,{passive:!0}),e.addEventListener(`touchmove`,_y,{passive:!0}),e.addEventListener(`touchcancel`,gy),e.addEventListener(`mousedown`,my),e.addEventListener(`mouseup`,gy),e.addEventListener(`mouseleave`,gy),e.addEventListener(`keydown`,e._ripple.keyDownHandler),e.addEventListener(`keyup`,by),e.addEventListener(`blur`,xy),e.addEventListener(`dragstart`,gy,{passive:!0})}else !a&&n&&Cy(e)}function Cy(e){e.removeEventListener(`touchstart`,hy),e.removeEventListener(`mousedown`,hy),e.removeEventListener(`touchstart`,my),e.removeEventListener(`touchend`,gy),e.removeEventListener(`touchmove`,_y),e.removeEventListener(`touchcancel`,gy),e.removeEventListener(`mousedown`,my),e.removeEventListener(`mouseup`,gy),e.removeEventListener(`mouseleave`,gy),e._ripple?.keyDownHandler&&e.removeEventListener(`keydown`,e._ripple.keyDownHandler),e.removeEventListener(`keyup`,by),e.removeEventListener(`blur`,xy),e.removeEventListener(`dragstart`,gy)}function wy(e,t){Sy(e,t,!1)}function Ty(e){Cy(e),delete e._ripple}function Ey(e,t){t.value!==t.oldValue&&Sy(e,t,py(t.oldValue))}var Dy={mounted:wy,unmounted:Ty,updated:Ey},Oy=J({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:Cv},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:zu,appendIcon:zu,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,spaced:String,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},...Y_(),...Y(),...Q_(),...Rv(),...ev(),..._v(),...qv(),...Vv(),...Zv(),...nv(),...ny(),...kv(),...iv({tag:`button`}),...Pf(),...fv({variant:`elevated`})},`VBtn`),ky=X()({name:`VBtn`,props:Oy(),emits:{"group:selected":e=>!0},setup(e,{attrs:t,slots:n}){let{themeClasses:r}=Kf(e),{borderClasses:i}=X_(e),{densityClasses:a}=$_(e),{dimensionStyles:o}=zv(e),{elevationClasses:s}=tv(e),{loaderClasses:c}=Jv(e),{locationStyles:l}=Hv(e),{positionClasses:u}=Qv(e),{roundedClasses:d}=rv(e),{sizeClasses:f,sizeStyles:p}=Av(e),m=vv(e,e.symbol,!1),h=ty(e,t),g=G(()=>e.active===void 0?h.isRouterLink.value?h.isActive?.value:m?.isSelected.value:e.active),_=L(()=>g.value?e.activeColor??e.color:e.color),{colorClasses:v,colorStyles:y,variantClasses:b}=pv(G(()=>({color:m?.isSelected.value&&(!h.isLink.value||h.isActive?.value)||!m||h.isActive?.value?_.value??e.baseColor:e.baseColor,variant:e.variant}))),x=G(()=>m?.disabled.value||e.disabled),S=L(()=>e.variant===`elevated`&&!(e.disabled||e.flat||e.border)),C=G(()=>{if(!(e.value===void 0||typeof e.value==`symbol`))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function w(e){x.value||h.isLink.value&&(e.metaKey||e.ctrlKey||e.shiftKey||e.button!==0||t.target===`_blank`)||(h.isRouterLink.value?h.navigate.value?.(e):m?.toggle())}return ay(h,m?.select),Z(()=>{let t=h.isLink.value?`a`:e.tag,_=!!(e.prependIcon||n.prepend),T=!!(e.appendIcon||n.append),E=!!(e.icon&&e.icon!==!0);return zn(U(t,W(h.linkProps,{type:t===`a`?void 0:`button`,class:[`v-btn`,m?.selectedClass.value,{"v-btn--active":g.value,"v-btn--block":e.block,"v-btn--disabled":x.value,"v-btn--elevated":S.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},e.spaced?[`v-btn--spaced`,`v-btn--spaced-${e.spaced}`]:[],r.value,i.value,v.value,a.value,s.value,c.value,u.value,d.value,f.value,b.value,e.class],style:[y.value,o.value,l.value,p.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:x.value&&t!==`a`||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:w,value:C.value}),{default:()=>[dv(!0,`v-btn`),!e.icon&&_&&H(`span`,{key:`prepend`,class:`v-btn__prepend`},[n.prepend?U(Dv,{key:`prepend-defaults`,disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},n.prepend):U(Mv,{key:`prepend-icon`,icon:e.prependIcon},null)]),H(`span`,{class:`v-btn__content`,"data-no-activator":``},[!n.default&&E?U(Mv,{key:`content-icon`,icon:e.icon},null):U(Dv,{key:`content-defaults`,disabled:!E,defaults:{VIcon:{icon:e.icon}}},{default:()=>[n.default?.()??xe(e.text)]})]),!e.icon&&T&&H(`span`,{key:`append`,class:`v-btn__append`},[n.append?U(Dv,{key:`append-defaults`,disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},n.append):U(Mv,{key:`append-icon`,icon:e.appendIcon},null)]),!!e.loading&&H(`span`,{key:`loader`,class:`v-btn__loader`},[n.loader?.()??U(Lv,{color:typeof e.loading==`boolean`?void 0:e.loading,indeterminate:!0,width:`2`},null)])]}),[[Dy,!x.value&&e.ripple,``,{center:!!e.icon}]])}),{group:m}}}),Ay=J({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[[`x-small`,10],[`small`,16],[`default`,24],[`large`,28],[`x-large`,32]]}},`iconSize`);function jy(e,t){return{iconSize:G(()=>{let n=new Map(e.iconSizes),r=e.iconSize??t()??`default`;return n.has(r)?n.get(r):r})}}var My=[`success`,`info`,`warning`,`error`],Ny=J({border:{type:[Boolean,String],validator:e=>typeof e==`boolean`||[`top`,`end`,`bottom`,`start`].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:zu,default:`$close`},closeLabel:{type:String,default:`$vuetify.close`},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>My.includes(e)},...Y(),...Q_(),...Rv(),...ev(),...Ay(),...Vv(),...Zv(),...nv(),...iv(),...Pf(),...fv({variant:`flat`})},`VAlert`),Py=X()({name:`VAlert`,props:Ny(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,{emit:t,slots:n}){let r=Zu(e,`modelValue`),i=L(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:a}=jy(e,()=>e.prominent?44:void 0),{themeClasses:o}=Kf(e),{colorClasses:s,colorStyles:c,variantClasses:l}=pv(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:u}=$_(e),{dimensionStyles:d}=zv(e),{elevationClasses:f}=tv(e),{locationStyles:p}=Hv(e),{positionClasses:m}=Qv(e),{roundedClasses:h}=rv(e),{textColorClasses:g,textColorStyles:_}=ov(()=>e.borderColor),{t:v}=ud(),y=L(()=>({"aria-label":v(e.closeLabel),onClick(e){r.value=!1,t(`click:close`,e)}}));return()=>{let t=!!(n.prepend||i.value),v=!!(n.title||e.title),b=!!(n.close||e.closable),x={density:e.density,icon:i.value,size:e.iconSize||e.prominent?a.value:void 0};return r.value&&U(e.tag,{class:j([`v-alert`,e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?`start`:e.border}`]:!0},{"v-alert--prominent":e.prominent},o.value,s.value,u.value,f.value,m.value,h.value,l.value,e.class]),style:A([c.value,d.value,p.value,e.style]),role:`alert`},{default:()=>[dv(!1,`v-alert`),e.border&&H(`div`,{key:`border`,class:j([`v-alert__border`,g.value]),style:A(_.value)},null),t&&H(`div`,{key:`prepend`,class:`v-alert__prepend`},[n.prepend?U(Dv,{key:`prepend-defaults`,disabled:!i.value,defaults:{VIcon:{...x}}},n.prepend):U(Mv,W({key:`prepend-icon`},x),null)]),H(`div`,{class:`v-alert__content`},[v&&U(J_,{key:`title`},{default:()=>[n.title?.()??e.title]}),n.text?.()??e.text,n.default?.()]),n.append&&H(`div`,{key:`append`,class:`v-alert__append`},[n.append()]),b&&H(`div`,{key:`close`,class:`v-alert__close`},[n.close?U(Dv,{key:`close-defaults`,defaults:{VBtn:{icon:e.closeIcon,size:`x-small`,variant:`text`}}},{default:()=>[n.close?.({props:y.value})]}):U(ky,W({key:`close-btn`,icon:e.closeIcon,size:`x-small`,variant:`text`},y.value),null)])]})}}}),Fy=J({...Y(),...yc(Qf(),[`fullHeight`]),...Pf()},`VApp`),Iy=X()({name:`VApp`,props:Fy(),setup(e,{slots:t}){let n=Kf(e),{layoutClasses:r,getLayoutItem:i,items:a,layoutRef:o}=rp({...e,fullHeight:!0}),{rtlClasses:s}=pd();return Z(()=>H(`div`,{ref:o,class:j([`v-application`,n.themeClasses.value,r.value,s.value,e.class]),style:A([e.style])},[H(`div`,{class:`v-application__wrap`},[t.default?.()])])),{getLayoutItem:i,items:a,theme:n}}}),Ly=J({text:String,...Y(),...iv()},`VToolbarTitle`),Ry=X()({name:`VToolbarTitle`,props:Ly(),setup(e,{slots:t}){return Z(()=>{let n=!!(t.default||t.text||e.text);return U(e.tag,{class:j([`v-toolbar-title`,e.class]),style:A(e.style)},{default:()=>[n&&H(`div`,{class:`v-toolbar-title__placeholder`},[t.text?t.text():e.text,t.default?.()])]})}),{}}}),zy=J({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},`transition`);function By(e,t,n){return X()({name:e,props:zy({mode:n,origin:t}),setup(t,{slots:n}){let r={onBeforeEnter(e){t.origin&&(e.style.transformOrigin=t.origin)},onLeave(e){if(t.leaveAbsolute){let{offsetTop:t,offsetLeft:n,offsetWidth:r,offsetHeight:i}=e;e._transitionInitialStyles={position:e.style.position,top:e.style.top,left:e.style.left,width:e.style.width,height:e.style.height},e.style.position=`absolute`,e.style.top=`${t}px`,e.style.left=`${n}px`,e.style.width=`${r}px`,e.style.height=`${i}px`}t.hideOnLeave&&e.style.setProperty(`display`,`none`,`important`)},onAfterLeave(e){if(t.leaveAbsolute&&e?._transitionInitialStyles){let{position:t,top:n,left:r,width:i,height:a}=e._transitionInitialStyles;delete e._transitionInitialStyles,e.style.position=t||``,e.style.top=n||``,e.style.left=r||``,e.style.width=i||``,e.style.height=a||``}}};return()=>yo(t.group?js:Fo,{name:t.disabled?``:e,css:!t.disabled,...t.group?void 0:{mode:t.mode},...t.disabled?{}:r},n.default)}})}function Vy(e,t,n=`in-out`){return X()({name:e,props:{mode:{type:String,default:n},disabled:{type:Boolean,default:oc()},group:Boolean,hideOnLeave:Boolean},setup(n,{slots:r}){let i=n.group?js:Fo;return()=>yo(i,{name:n.disabled?``:e,css:!n.disabled,...n.disabled?{}:{...t,onLeave:e=>{n.hideOnLeave?e.style.setProperty(`display`,`none`,`important`):t.onLeave?.(e)}}},r.default)}})}function Hy(e=``,t=`y`){return{onBeforeEnter(e){e._parent=e.parentNode,e._initialStyle={transition:e.style.transition,overflow:e.style.overflow,width:e.style.width,height:e.style.height}},onEnter(n){let r=n._initialStyle;if(!r)return;n.style.setProperty(`transition`,`none`,`important`),n.style.overflow=`hidden`;let i=`${n.offsetWidth}px`,a=`${n.offsetHeight}px`;[`x`,`both`].includes(t)&&(n.style.width=`0`),[`y`,`both`].includes(t)&&(n.style.height=`0`),n.offsetHeight,n.style.transition=r.transition,e&&n._parent&&n._parent.classList.add(e),requestAnimationFrame(()=>{[`x`,`both`].includes(t)&&(n.style.width=i),[`y`,`both`].includes(t)&&(n.style.height=a)})},onAfterEnter:r,onEnterCancelled:r,onLeave(e){e._initialStyle={transition:``,overflow:e.style.overflow,width:e.style.width,height:e.style.height},e.style.overflow=`hidden`,[`x`,`both`].includes(t)&&(e.style.width=`${e.offsetWidth}px`),[`y`,`both`].includes(t)&&(e.style.height=`${e.offsetHeight}px`),e.offsetHeight,requestAnimationFrame(()=>{[`x`,`both`].includes(t)&&(e.style.width=`0`),[`y`,`both`].includes(t)&&(e.style.height=`0`)})},onAfterLeave:n,onLeaveCancelled:n};function n(t){e&&t._parent&&t._parent.classList.remove(e),r(t)}function r(e){if(!e._initialStyle)return;let{width:n,height:r}=e._initialStyle;e.style.overflow=e._initialStyle.overflow,n!=null&&[`x`,`both`].includes(t)&&(e.style.width=n),r!=null&&[`y`,`both`].includes(t)&&(e.style.height=r),delete e._initialStyle}}var Uy=J({target:[Object,Array]},`v-dialog-transition`),Wy=new WeakMap,Gy=X()({name:`VDialogTransition`,props:Uy(),setup(e,{slots:t}){let n={onBeforeEnter(e){e.style.pointerEvents=`none`,e.style.visibility=`hidden`},async onEnter(t,n){await new Promise(e=>requestAnimationFrame(e)),await new Promise(e=>requestAnimationFrame(e)),t.style.visibility=``;let r=qy(e.target,t),{x:i,y:a,sx:o,sy:s,speed:c}=r;if(Wy.set(t,r),oc())vl(t,[{opacity:0},{}],{duration:125*c,easing:Au}).finished.then(()=>n());else{let e=vl(t,[{transform:`translate(${i}px, ${a}px) scale(${o}, ${s})`,opacity:0},{}],{duration:225*c,easing:Au});Ky(t)?.forEach(e=>{vl(e,[{opacity:0},{opacity:0,offset:.33},{}],{duration:450*c,easing:ku})}),e.finished.then(()=>n())}},onAfterEnter(e){e.style.removeProperty(`pointer-events`)},onBeforeLeave(e){e.style.pointerEvents=`none`},async onLeave(t,n){await new Promise(e=>requestAnimationFrame(e));let r;r=!Wy.has(t)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?qy(e.target,t):Wy.get(t);let{x:i,y:a,sx:o,sy:s,speed:c}=r;oc()?vl(t,[{},{opacity:0}],{duration:85*c,easing:ju}).finished.then(()=>n()):(vl(t,[{},{transform:`translate(${i}px, ${a}px) scale(${o}, ${s})`,opacity:0}],{duration:125*c,easing:ju}).finished.then(()=>n()),Ky(t)?.forEach(e=>{vl(e,[{},{opacity:0,offset:.2},{opacity:0}],{duration:250*c,easing:ku})}))},onAfterLeave(e){e.style.removeProperty(`pointer-events`)}};return()=>e.target?U(Fo,W({name:`dialog-transition`},n,{css:!1}),t):U(Fo,{name:`dialog-transition`},t)}});function Ky(e){let t=e.querySelector(`:scope > .v-card, :scope > .v-sheet, :scope > .v-list`)?.children;return t&&[...t]}function qy(e,t){let n=hl(e),r=_l(t),[i,a]=getComputedStyle(t).transformOrigin.split(` `).map(e=>parseFloat(e)),[o,s]=getComputedStyle(t).getPropertyValue(`--v-overlay-anchor-origin`).split(` `),c=n.left+n.width/2;o===`left`||s===`left`?c-=n.width/2:(o===`right`||s===`right`)&&(c+=n.width/2);let l=n.top+n.height/2;o===`top`||s===`top`?l-=n.height/2:(o===`bottom`||s===`bottom`)&&(l+=n.height/2);let u=n.width/r.width,d=n.height/r.height,f=Math.max(1,u,d),p=u/f||0,m=d/f||0,h=r.width*r.height/(window.innerWidth*window.innerHeight),g=h>.12?Math.min(1.5,(h-.12)*10+1):1;return{x:c-(i+r.left),y:l-(a+r.top),sx:p,sy:m,speed:g}}By(`fab-transition`,`center center`,`out-in`),By(`dialog-bottom-transition`),By(`dialog-top-transition`);var Jy=By(`fade-transition`),Yy=By(`scale-transition`);By(`scroll-x-transition`),By(`scroll-x-reverse-transition`),By(`scroll-y-transition`),By(`scroll-y-reverse-transition`),By(`slide-x-transition`),By(`slide-x-reverse-transition`);var Xy=By(`slide-y-transition`);By(`slide-y-reverse-transition`);var Zy=Vy(`expand-transition`,Hy()),Qy=Vy(`expand-x-transition`,Hy(``,`x`));Vy(`expand-both-transition`,Hy(``,`both`));function $y(e){return{aspectStyles:G(()=>{let t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+`%`}:void 0})}}var eb=J({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...Y(),...Rv()},`VResponsive`),tb=X()({name:`VResponsive`,props:eb(),setup(e,{slots:t}){let{aspectStyles:n}=$y(e),{dimensionStyles:r}=zv(e);return Z(()=>H(`div`,{class:j([`v-responsive`,{"v-responsive--inline":e.inline},e.class]),style:A([r.value,e.style])},[H(`div`,{class:`v-responsive__sizer`,style:A(n.value)},null),t.additional?.(),t.default&&H(`div`,{class:j([`v-responsive__content`,e.contentClass])},[t.default()])])),{}}}),nb=J({transition:{type:null,default:`fade-transition`,validator:e=>e!==!0}},`transition`),rb=(e,{slots:t})=>{let{transition:n,disabled:r,group:i,...a}=e,{component:o=i?js:Fo,...s}=dc(n)?n:{},c;return c=dc(n)?W(s,il({disabled:r,group:i}),a):W({name:r||!n?``:n},a),yo(o,c,t)};function ib(e,t){if(!rc)return;let n=t.modifiers||{},r=t.value,{handler:i,options:a}=typeof r==`object`?r:{handler:r,options:{}},o=new IntersectionObserver((r=[],a)=>{let o=e._observe?.[t.instance.$.uid];if(!o)return;let s=r.some(e=>e.isIntersecting);i&&(!n.quiet||o.init)&&(!n.once||s||o.init)&&i(s,r,a),s&&n.once?ab(e,t):o.init=!0},a);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function ab(e,t){let n=e._observe?.[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}var ob={mounted:ib,unmounted:ab,updated:(e,t)=>{e._observe?.[t.instance.$.uid]&&(ab(e,t),ib(e,t))}},sb=J({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,imageClass:null,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:``},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...eb(),...Y(),...nv(),...nb()},`VImg`),cb=X()({name:`VImg`,directives:{vIntersect:ob},inheritAttrs:!1,props:sb(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{backgroundColorClasses:i,backgroundColorStyles:a}=sv(()=>e.color),{roundedClasses:o}=rv(e),s=pu(`VImg`),c=F(``),l=P(),u=F(e.eager?`loading`:`idle`),d=F(),f=F(),p=G(()=>e.src&&typeof e.src==`object`?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),m=G(()=>p.value.aspect||d.value/f.value||0);B(()=>e.src,()=>{h(u.value!==`idle`)}),B(m,(e,t)=>{!e&&t&&l.value&&b(l.value)}),Wr(()=>h());function h(t){if(!(e.eager&&t)&&!(rc&&!t&&!e.eager)){if(u.value=`loading`,p.value.lazySrc){let e=new Image;e.src=p.value.lazySrc,b(e,null)}p.value.src&&Dn(()=>{n(`loadstart`,l.value?.currentSrc||p.value.src),setTimeout(()=>{if(!s.isUnmounted)if(l.value?.complete){if(l.value.naturalWidth||_(),u.value===`error`)return;m.value||b(l.value,null),u.value===`loading`&&g()}else m.value||b(l.value),v()})})}}function g(){s.isUnmounted||(v(),b(l.value),u.value=`loaded`,n(`load`,l.value?.currentSrc||p.value.src))}function _(){s.isUnmounted||(u.value=`error`,n(`error`,l.value?.currentSrc||p.value.src))}function v(){let e=l.value;e&&(c.value=e.currentSrc||e.src)}let y=-1;Jr(()=>{clearTimeout(y)});function b(e,t=100){let n=()=>{if(clearTimeout(y),s.isUnmounted)return;let{naturalHeight:r,naturalWidth:i}=e;r||i?(d.value=i,f.value=r):!e.complete&&u.value===`loading`&&t!=null?y=window.setTimeout(n,t):(e.currentSrc.endsWith(`.svg`)||e.currentSrc.startsWith(`data:image/svg+xml`))&&(d.value=1,f.value=1)};n()}let x=L(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),S=()=>{if(!p.value.src||u.value===`idle`)return null;let t=H(`img`,{class:j([`v-img__img`,x.value,e.imageClass]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:p.value.src,srcset:p.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:l,onLoad:g,onError:_},null),n=r.sources?.();return U(rb,{transition:e.transition,appear:!0},{default:()=>[zn(n?H(`picture`,{class:`v-img__picture`},[n,t]):t,[[$o,u.value===`loaded`]])]})},C=()=>U(rb,{transition:e.transition},{default:()=>[p.value.lazySrc&&u.value!==`loaded`&&H(`img`,{class:j([`v-img__img`,`v-img__img--preload`,x.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:p.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),w=()=>r.placeholder?U(rb,{transition:e.transition,appear:!0},{default:()=>[(u.value===`loading`||u.value===`error`&&!r.error)&&H(`div`,{class:`v-img__placeholder`},[r.placeholder()])]}):null,T=()=>r.error?U(rb,{transition:e.transition,appear:!0},{default:()=>[u.value===`error`&&H(`div`,{class:`v-img__error`},[r.error()])]}):null,E=()=>e.gradient?H(`div`,{class:`v-img__gradient`,style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,ee=F(!1);{let e=B(m,t=>{t&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{ee.value=!0})}),e())})}return Z(()=>{let n=tb.filterProps(e),[s,c]=Tc(t);return zn(U(tb,W({class:[`v-img`,{"v-img--absolute":e.absolute,"v-img--booting":!ee.value,"v-img--fit-content":e.width===`fit-content`},i.value,o.value,e.class],style:[{width:q(e.width===`auto`?d.value:e.width)},a.value,e.style]},n,s,{aspectRatio:m.value,"aria-label":e.alt,role:e.alt?`img`:void 0}),{additional:()=>H(V,null,[U(S,c,null),U(C,null,null),U(E,null,null),U(w,null,null),U(T,null,null)]),default:r.default}),[[ob,{handler:h,options:e.options},null,{once:!0}]])}),{currentSrc:c,image:l,state:u,naturalWidth:d,naturalHeight:f}}}),lb=[null,`prominent`,`default`,`comfortable`,`compact`],ub=J({absolute:Boolean,collapse:Boolean,collapsePosition:{type:String,default:`start`},color:String,density:{type:String,default:`default`,validator:e=>lb.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...Y_(),...Y(),...ev(),...Vv(),...nv(),...iv({tag:`header`}),...Pf()},`VToolbar`),db=X()({name:`VToolbar`,props:ub(),setup(e,{slots:t}){let{backgroundColorClasses:n,backgroundColorStyles:r}=sv(()=>e.color),{borderClasses:i}=X_(e),{elevationClasses:a}=tv(e),{locationStyles:o}=Hv(e),{roundedClasses:s}=rv(e),{themeClasses:c}=Kf(e),{rtlClasses:l}=pd(),u=F(e.extended===null?!!t.extension?.():e.extended),d=G(()=>parseInt(Number(e.height)+(e.density===`prominent`?Number(e.height):0)-(e.density===`comfortable`?8:0)-(e.density===`compact`?16:0),10)),f=G(()=>u.value?parseInt(Number(e.extensionHeight)+(e.density===`prominent`?Number(e.extensionHeight):0)-(e.density===`comfortable`?4:0)-(e.density===`compact`?8:0),10):0);return yu({VBtn:{variant:`text`}}),Z(()=>{let p=!!(e.title||t.title),m=!!(t.image||e.image),h=t.extension?.();return u.value=e.extended===null?!!h:e.extended,U(e.tag,{class:j([`v-toolbar`,`v-toolbar--collapse-${e.collapsePosition}`,{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},n.value,i.value,a.value,s.value,c.value,l.value,e.class]),style:A([r.value,o.value,e.style])},{default:()=>[m&&H(`div`,{key:`image`,class:`v-toolbar__image`},[t.image?U(Dv,{key:`image-defaults`,disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):U(cb,{key:`image-img`,cover:!0,src:e.image},null)]),U(Dv,{defaults:{VTabs:{height:q(d.value)}}},{default:()=>[H(`div`,{class:`v-toolbar__content`,style:{height:q(d.value)}},[t.prepend&&H(`div`,{class:`v-toolbar__prepend`},[t.prepend?.()]),p&&U(Ry,{key:`title`,text:e.title},{text:t.title}),t.default?.(),t.append&&H(`div`,{class:`v-toolbar__append`},[t.append?.()])])]}),U(Dv,{defaults:{VTabs:{height:q(f.value)}}},{default:()=>[U(Zy,null,{default:()=>[u.value&&H(`div`,{class:`v-toolbar__extension`,style:{height:q(f.value)}},[h])]})]})]})}),{contentHeight:d,extensionHeight:f}}}),fb=J({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},`scroll`);function pb(e,t={}){let{canScroll:n,layoutSize:r}=t,i=0,a=0,o=P(null),s=F(0),c=F(0),l=F(0),u=F(!1),d=F(!1),f=F(!1),p=F(!1),m=F(!0),h=G(()=>Number(e.scrollThreshold)),g=G(()=>Oc((h.value-s.value)/h.value||0));function _(e){return{clientHeight:`window`in e?window.innerHeight:e.clientHeight,scrollHeight:`window`in e?document.documentElement.scrollHeight:e.scrollHeight}}function v(){let e=o.value;if(!e)return;let{clientHeight:t,scrollHeight:n}=_(e),i=n-t,a=r?.value||0;m.value=i>h.value+a}function y(){v()}function b(){let e=o.value;if(!e||n&&!n.value)return;i=s.value,s.value=`window`in e?e.pageYOffset:e.scrollTop;let t=e instanceof Window?document.documentElement.scrollHeight:e.scrollHeight;a!==t&&(t>a&&v(),a=t),d.value=s.value=c-5;!d.value&&u&&s.value>=h.value&&m.value&&(p.value=!0);let g=Math.abs(s.value-i)>100,y=s.value<=5;(d.value&&i-s.value>1&&!u||g&&s.value{c.value=c.value||s.value}),B(u,()=>{c.value=0}),Gr(()=>{B(()=>e.scrollTarget,e=>{let t=e?document.querySelector(e):window;if(!t){ec(`Unable to locate element with identifier ${e}`);return}t!==o.value&&(o.value?.removeEventListener(`scroll`,b),o.value=t,o.value.addEventListener(`scroll`,b,{passive:!0}),Promise.resolve().then(()=>{v()}))},{immediate:!0}),window.addEventListener(`resize`,y,{passive:!0})}),Jr(()=>{o.value?.removeEventListener(`scroll`,b),window.removeEventListener(`resize`,y)}),n&&B(n,b,{immediate:!0}),{scrollThreshold:h,currentScroll:s,currentThreshold:l,isScrollActive:u,scrollRatio:g,isScrollingUp:d,savedScroll:c,isAtBottom:f,reachedBottomWhileScrollingDown:p,hasEnoughScrollableSpace:m}}function mb(){let e=F(!1);return Gr(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:L(()=>e.value?void 0:{transition:`none !important`}),isBooted:Vt(e)}}var hb=J({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:`top`,validator:e=>[`top`,`bottom`].includes(e)},...yc(ub(),[`location`]),...$f(),...fb(),height:{type:[Number,String],default:64}},`VAppBar`),gb=X()({name:`VAppBar`,props:hb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=P(),r=Zu(e,`modelValue`),i=G(()=>{let t=new Set(e.scrollBehavior?.split(` `)??[]);return{hide:t.has(`hide`),fullyHide:t.has(`fully-hide`),inverted:t.has(`inverted`),collapse:t.has(`collapse`),elevate:t.has(`elevate`),fadeImage:t.has(`fade-image`)}}),{currentScroll:a,scrollThreshold:o,isScrollingUp:s,scrollRatio:c,isAtBottom:l,reachedBottomWhileScrollingDown:u,hasEnoughScrollableSpace:d}=pb(e,{canScroll:G(()=>{let e=i.value;return e.hide||e.fullyHide||e.inverted||e.collapse||e.elevate||e.fadeImage||!r.value}),layoutSize:G(()=>(n.value?.contentHeight??0)+(n.value?.extensionHeight??0))}),f=L(()=>i.value.hide||i.value.fullyHide),p=G(()=>e.collapse||i.value.collapse&&(i.value.inverted?c.value>0:c.value===0)),m=G(()=>e.flat||i.value.fullyHide&&!r.value||i.value.elevate&&(i.value.inverted?a.value>0:a.value===0)),h=G(()=>i.value.fadeImage?i.value.inverted?1-c.value:c.value:void 0),g=G(()=>{if(i.value.hide&&i.value.inverted)return 0;let e=n.value?.contentHeight??0,t=n.value?.extensionHeight??0;return f.value?a.value!!e.scrollBehavior,()=>{Gn(()=>{if(!f.value){r.value=!0;return}if(i.value.inverted){r.value=a.value>o.value;return}if(!d.value){r.value=!0;return}if(u.value){r.value=!1;return}r.value=s.value&&!l.value||a.valueparseInt(e.order,10)),position:L(()=>e.location),layoutSize:g,elementSize:F(void 0),active:r,absolute:L(()=>e.absolute)});return Z(()=>{let r=yc(db.filterProps(e),[`location`]);return U(db,W({ref:n,class:[`v-app-bar`,{"v-app-bar--bottom":e.location===`bottom`},e.class],style:[{...v.value,"--v-toolbar-image-opacity":h.value,height:void 0,..._.value},e.style]},r,{collapse:p.value,flat:m.value}),t)}),{}}}),_b=J({...yc(Oy({icon:`$menu`,variant:`text`}),[`spaced`])},`VAppBarNavIcon`),vb=X()({name:`VAppBarNavIcon`,props:_b(),setup(e,{slots:t}){return Z(()=>U(ky,W(e,{class:[`v-app-bar-nav-icon`]}),t)),{}}}),yb=X()({name:`VAppBarTitle`,props:Ly(),setup(e,{slots:t}){return Z(()=>U(Ry,W(e,{class:`v-app-bar-title`}),t)),{}}}),bb=J({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,dotSize:[Number,String],floating:Boolean,icon:zu,inline:Boolean,label:{type:String,default:`$vuetify.badge`},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...Y(),...Vv({location:`top end`}),...nv(),...iv(),...Pf(),...nb({transition:`scale-rotate-transition`}),...Rv()},`VBadge`),xb=X()({name:`VBadge`,inheritAttrs:!1,props:bb(),setup(e,t){let{backgroundColorClasses:n,backgroundColorStyles:r}=sv(()=>e.color),{roundedClasses:i}=rv(e),{t:a}=ud(),{textColorClasses:o,textColorStyles:s}=ov(()=>e.textColor),{themeClasses:c}=qf(),{locationStyles:l}=Hv(e,!0,t=>(e.floating?e.dot?2:4:e.dot?Number(e.dotSize??8):12)+([`top`,`bottom`].includes(t)?Number(e.offsetY??0):[`left`,`right`].includes(t)?Number(e.offsetX??0):0)),{dimensionStyles:u}=zv(e);return Z(()=>{let d=Number(e.content),f=!e.max||isNaN(d)?e.content:d<=Number(e.max)?d:`${e.max}+`,[p,m]=vc(t.attrs,[`aria-atomic`,`aria-label`,`aria-live`,`role`,`title`]);return U(e.tag,W({class:[`v-badge`,{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},m,{style:e.style}),{default:()=>[H(`div`,{class:`v-badge__wrapper`},[t.slots.default?.(),U(rb,{transition:e.transition},{default:()=>[zn(H(`span`,W({class:[`v-badge__badge`,c.value,n.value,i.value,o.value],style:[r.value,s.value,u.value,e.inline?{}:l.value,e.dot&&e.dotSize?{width:q(e.dotSize),height:q(e.dotSize)}:{}],"aria-atomic":`true`,"aria-label":a(e.label,d),"aria-live":`polite`,role:`status`},p),[e.dot?void 0:t.slots.badge?t.slots.badge?.():e.icon?U(Mv,{icon:e.icon},null):f]),[[$o,e.modelValue]])]})])]})}),{}}}),Sb=J({badge:{type:[Boolean,Object],default:!1},start:Boolean,end:Boolean,icon:zu,image:String,text:String,...Y_(),...Y(),...Q_(),...nv(),...kv(),...iv(),...Pf(),...fv({variant:`flat`})},`VAvatar`),Cb=X()({name:`VAvatar`,props:Sb(),setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{borderClasses:r}=X_(e),{colorClasses:i,colorStyles:a,variantClasses:o}=pv(e),{densityClasses:s}=$_(e),{roundedClasses:c}=rv(e),{sizeClasses:l,sizeStyles:u}=Av(e),d=G(()=>{switch(e.size){case`x-small`:return 8;case`small`:return 10;case`large`:return 14;case`x-large`:return 16;default:return 12}}),f=G(()=>{let{floating:t}=dc(e.badge)?e.badge:{};return(t?d.value/2:0)-1.5}),p=G(()=>({bordered:!0,dot:!t.badge,dotSize:d.value,offsetX:f.value,offsetY:f.value,color:typeof e.badge==`string`?e.badge:`primary`,...dc(e.badge)?e.badge:{}}));return Z(()=>{let d=U(e.tag,{class:j([`v-avatar`,{"v-avatar--start":e.start,"v-avatar--end":e.end},n.value,r.value,i.value,s.value,c.value,l.value,o.value,e.class]),style:A([a.value,u.value,e.style])},{default:()=>[t.default?U(Dv,{key:`content-defaults`,defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[t.default()]}):e.image?U(cb,{key:`image`,src:e.image,alt:``,cover:!0},null):e.icon?U(Mv,{key:`icon`,icon:e.icon},null):e.text,dv(!1,`v-avatar`)]});return e.badge?U(xb,p.value,{default:()=>d,badge:t.badge}):d}),{}}});function wb({selectedElement:e,containerElement:t,isRtl:n,isHorizontal:r}){let i=Ob(r,t),a=Db(r,n,t),o=Ob(r,e),s=kb(r,e),c=o*.4;return a>s?s-c:a+itypeof e==`boolean`||[`always`,`desktop`,`mobile`,`never`].includes(e)},...Y(),...Sf({mobile:null}),...iv(),...gv({selectedClass:`v-slide-group-item--active`})},`VSlideGroup`),Mb=X()({name:`VSlideGroup`,props:jb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{isRtl:n}=pd(),{displayClasses:r,mobile:i}=Cf(e),a=yv(e,e.symbol),o=F(!1),s=F(0),c=F(0),l=F(0),u=G(()=>e.direction===`horizontal`),{resizeRef:d,contentRect:f}=Jf(),{resizeRef:p,contentRect:m}=Jf(),h=jf(),g=G(()=>({container:d.el,duration:200,easing:`easeOutQuart`})),_=G(()=>a.selected.value.length?a.items.value.findIndex(e=>e.id===a.selected.value[0]):-1),v=G(()=>a.selected.value.length?a.items.value.findIndex(e=>e.id===a.selected.value[a.selected.value.length-1]):-1);if(K){let t=-1;B(()=>[a.selected.value,f.value,m.value,u.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(f.value&&m.value){let e=u.value?`width`:`height`;c.value=f.value[e],l.value=m.value[e],o.value=c.value+1=0&&p.el){let t=p.el.children[v.value];b(t,e.centerActive)}})})}let y=F(!1);function b(e,t){let r=0;r=t?Tb({containerElement:d.el,isHorizontal:u.value,selectedElement:e}):wb({containerElement:d.el,isHorizontal:u.value,isRtl:n.value,selectedElement:e}),x(r)}function x(e){if(!K||!d.el)return;let t=Ob(u.value,d.el),r=Db(u.value,n.value,d.el);if(!(Eb(u.value,d.el)<=t||Math.abs(e-r)<16)){if(u.value&&n.value&&d.el){let{scrollWidth:t,offsetWidth:n}=d.el;e=t-n-e}u.value?h.horizontal(e,g.value):h(e,g.value)}}function S(e){let{scrollTop:t,scrollLeft:n}=e.target;s.value=u.value?n:t}function C(e){if(y.value=!0,!(!o.value||!p.el)){for(let t of e.composedPath())for(let e of p.el.children)if(e===t){b(e);return}}}function w(e){y.value=!1}let T=!1;function E(e){!T&&!y.value&&!(e.relatedTarget&&p.el?.contains(e.relatedTarget))&&ne(),T=!1}function ee(){T=!0}function te(e){if(!p.el)return;function t(t){e.preventDefault(),ne(t)}u.value?e.key===`ArrowRight`?t(n.value?`prev`:`next`):e.key===`ArrowLeft`&&t(n.value?`next`:`prev`):e.key===`ArrowDown`?t(`next`):e.key===`ArrowUp`&&t(`prev`),e.key===`Home`?t(`first`):e.key===`End`&&t(`last`)}function D(e,t){if(!e)return;let n=e;do n=n?.[t===`next`?`nextElementSibling`:`previousElementSibling`];while(n?.hasAttribute(`disabled`));return n}function ne(e){if(!p.el)return;let t;if(!e)t=Wc(p.el)[0];else if(e===`next`){if(t=D(p.el.querySelector(`:focus`),e),!t)return ne(`first`)}else if(e===`prev`){if(t=D(p.el.querySelector(`:focus`),e),!t)return ne(`last`)}else e===`first`?(t=p.el.firstElementChild,t?.hasAttribute(`disabled`)&&(t=D(t,`next`))):e===`last`&&(t=p.el.lastElementChild,t?.hasAttribute(`disabled`)&&(t=D(t,`prev`)));t&&t.focus({preventScroll:!0})}function re(e){let t=u.value&&n.value?-1:1,r=(e===`prev`?-t:t)*c.value,i=s.value+r;if(u.value&&n.value&&d.el){let{scrollWidth:e,offsetWidth:t}=d.el;i+=e-t}x(i)}let ie=G(()=>({next:a.next,prev:a.prev,select:a.select,isSelected:a.isSelected})),ae=G(()=>o.value||Math.abs(s.value)>0),O=G(()=>{switch(e.showArrows){case`never`:return!1;case`always`:return!0;case`desktop`:return!i.value;case!0:return ae.value;case`mobile`:return i.value||ae.value;default:return!i.value&&ae.value}}),k=G(()=>Math.abs(s.value)>1),oe=G(()=>ae.value?l.value-c.value-Math.abs(s.value)>1:!1);return Z(()=>U(e.tag,{class:j([`v-slide-group`,{"v-slide-group--vertical":!u.value,"v-slide-group--has-affixes":O.value,"v-slide-group--is-overflowing":o.value},r.value,e.class]),style:A(e.style),tabindex:y.value||a.selected.value.length?-1:0,onFocus:E},{default:()=>[O.value&&H(`div`,{key:`prev`,class:j([`v-slide-group__prev`,{"v-slide-group__prev--disabled":!k.value}]),onMousedown:ee,onClick:()=>k.value&&re(`prev`)},[t.prev?.(ie.value)??U(Jy,null,{default:()=>[U(Mv,{icon:n.value?e.nextIcon:e.prevIcon},null)]})]),H(`div`,{key:`container`,ref:d,class:j([`v-slide-group__container`,e.contentClass]),onScroll:S},[H(`div`,{ref:p,class:`v-slide-group__content`,onFocusin:C,onFocusout:w,onKeydown:te},[t.default?.(ie.value)])]),O.value&&H(`div`,{key:`next`,class:j([`v-slide-group__next`,{"v-slide-group__next--disabled":!oe.value}]),onMousedown:ee,onClick:()=>oe.value&&re(`next`)},[t.next?.(ie.value)??U(Jy,null,{default:()=>[U(Mv,{icon:n.value?e.prevIcon:e.nextIcon},null)]})])]})),{selected:a.selected,scrollTo:re,scrollOffset:s,focus:ne,hasPrev:k,hasNext:oe}}}),Nb=Symbol.for(`vuetify:v-chip-group`),Pb=J({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:Du},...jb({scrollToActive:!1}),...Y(),...gv({selectedClass:`v-chip--selected`}),...iv(),...Pf(),...fv({variant:`tonal`})},`VChipGroup`);X()({name:`VChipGroup`,props:Pb(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{isSelected:r,select:i,next:a,prev:o,selected:s}=yv(e,Nb);return yu({VChip:{baseColor:L(()=>e.baseColor),color:L(()=>e.color),disabled:L(()=>e.disabled),filter:L(()=>e.filter),variant:L(()=>e.variant)}}),Z(()=>U(Mb,W(Mb.filterProps(e),{class:[`v-chip-group`,{"v-chip-group--column":e.column},n.value,e.class],style:e.style}),{default:()=>[t.default?.({isSelected:r,select:i,next:a,prev:o,selected:s.value})]})),{}}});var Fb=J({activeClass:String,appendAvatar:String,appendIcon:zu,baseColor:String,closable:Boolean,closeIcon:{type:zu,default:`$delete`},closeLabel:{type:String,default:`$vuetify.close`},draggable:Boolean,filter:Boolean,filterIcon:{type:zu,default:`$complete`},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:zu,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:Vc(),onClickOnce:Vc(),...Y_(),...Y(),...Q_(),...ev(),..._v(),...nv(),...ny(),...kv(),...iv({tag:`span`}),...Pf(),...fv({variant:`tonal`})},`VChip`),Ib=X()({name:`VChip`,directives:{vRipple:Dy},props:Fb(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{t:i}=ud(),{borderClasses:a}=X_(e),{densityClasses:o}=$_(e),{elevationClasses:s}=tv(e),{roundedClasses:c}=rv(e),{sizeClasses:l}=Av(e),{themeClasses:u}=Kf(e),d=Zu(e,`modelValue`),f=vv(e,Nb,!1),p=vv(e,Ab,!1),m=ty(e,t),h=L(()=>e.link!==!1&&m.isLink.value),g=G(()=>!e.disabled&&e.link!==!1&&(!!f||e.link||m.isClickable.value)),_=L(()=>({"aria-label":i(e.closeLabel),disabled:e.disabled,onClick(e){e.preventDefault(),e.stopPropagation(),d.value=!1,n(`click:close`,e)}}));B(d,e=>{e?(f?.register(),p?.register()):(f?.unregister(),p?.unregister())});let{colorClasses:v,colorStyles:y,variantClasses:b}=pv(()=>({color:!f||f.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function x(e){n(`click`,e),g.value&&(m.navigate.value?.(e),f?.toggle())}function S(e){(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),x(e))}return()=>{let t=m.isLink.value?`a`:e.tag,n=!!(e.appendIcon||e.appendAvatar),i=!!(n||r.append),p=!!(r.close||e.closable),C=!!(r.filter||e.filter)&&f,w=!!(e.prependIcon||e.prependAvatar),T=!!(w||r.prepend);return d.value&&zn(U(t,W(m.linkProps,{class:[`v-chip`,{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":g.value,"v-chip--filter":C,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&m.isActive?.value},u.value,a.value,v.value,o.value,s.value,c.value,l.value,b.value,f?.selectedClass.value,e.class],style:[y.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:g.value?0:void 0,onClick:x,onKeydown:g.value&&!h.value&&S}),{default:()=>[dv(g.value,`v-chip`),C&&U(Qy,{key:`filter`},{default:()=>[zn(H(`div`,{class:`v-chip__filter`},[r.filter?U(Dv,{key:`filter-defaults`,disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},r.filter):U(Mv,{key:`filter-icon`,icon:e.filterIcon},null)]),[[$o,f.isSelected.value]])]}),T&&H(`div`,{key:`prepend`,class:`v-chip__prepend`},[r.prepend?U(Dv,{key:`prepend-defaults`,disabled:!w,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},r.prepend):H(V,null,[e.prependIcon&&U(Mv,{key:`prepend-icon`,icon:e.prependIcon,start:!0},null),e.prependAvatar&&U(Cb,{key:`prepend-avatar`,image:e.prependAvatar,start:!0},null)])]),H(`div`,{class:`v-chip__content`,"data-no-activator":``},[r.default?.({isSelected:f?.isSelected.value,selectedClass:f?.selectedClass.value,select:f?.select,toggle:f?.toggle,value:f?.value.value,disabled:e.disabled})??xe(e.text)]),i&&H(`div`,{key:`append`,class:`v-chip__append`},[r.append?U(Dv,{key:`append-defaults`,disabled:!n,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},r.append):H(V,null,[e.appendIcon&&U(Mv,{key:`append-icon`,end:!0,icon:e.appendIcon},null),e.appendAvatar&&U(Cb,{key:`append-avatar`,end:!0,image:e.appendAvatar},null)])]),p&&H(`button`,W({key:`close`,class:`v-chip__close`,type:`button`,"data-testid":`close-chip`},_.value),[r.close?U(Dv,{key:`close-defaults`,defaults:{VIcon:{icon:e.closeIcon,size:`x-small`}}},r.close):U(Mv,{key:`close-icon`,icon:e.closeIcon,size:`x-small`},null)])]}),[[Dy,g.value&&e.ripple,null]])}}}),Lb=[`dotted`,`dashed`,`solid`,`double`],Rb=J({color:String,contentOffset:[Number,String,Array],gradient:Boolean,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,variant:{type:String,default:`solid`,validator:e=>Lb.includes(e)},...Y(),...Pf()},`VDivider`),zb=X()({name:`VDivider`,props:Rb(),setup(e,{attrs:t,slots:n}){let{themeClasses:r}=Kf(e),{textColorClasses:i,textColorStyles:a}=ov(()=>e.color),o=G(()=>{let t={};return e.length&&(t[e.vertical?`height`:`width`]=q(e.length)),e.thickness&&(t[e.vertical?`borderRightWidth`:`borderTopWidth`]=q(e.thickness)),t}),s=L(()=>{let t=Array.isArray(e.contentOffset)?e.contentOffset[0]:e.contentOffset,n=Array.isArray(e.contentOffset)?e.contentOffset[1]:0;return{marginBlock:e.vertical&&t?q(t):void 0,marginInline:!e.vertical&&t?q(t):void 0,transform:n?`translate${e.vertical?`X`:`Y`}(${q(n)})`:void 0}});return Z(()=>{let c=H(`hr`,{class:j([{"v-divider":!0,"v-divider--gradient":e.gradient&&!n.default,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},r.value,i.value,e.class]),style:A([o.value,a.value,{"--v-border-opacity":e.opacity},{"border-style":e.variant},e.style]),"aria-orientation":!t.role||t.role===`separator`?e.vertical?`vertical`:`horizontal`:void 0,role:`${t.role||`separator`}`},null);return n.default?H(`div`,{class:j([`v-divider__wrapper`,{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[c,H(`div`,{class:`v-divider__content`,style:A(s.value)},[n.default()]),c]):c}),{}}}),Bb=wu(`v-spacer`,`div`,`VSpacer`),Vb=Symbol.for(`vuetify:list`);function Hb(e={filterable:!1}){let t=z(Vb,{filterable:!1,hasPrepend:F(!1),updateHasPrepend:()=>null,trackingIndex:F(-1),navigationStrategy:F(`focus`),uid:``}),{filterable:n,trackingIndex:r=t.trackingIndex,navigationStrategy:i=t.navigationStrategy,uid:a=t.uid||Er()}=e,o={filterable:t.filterable||n,hasPrepend:F(!1),updateHasPrepend:e=>{e&&(o.hasPrepend.value=e)},trackingIndex:r,navigationStrategy:i,uid:a};return Vn(Vb,o),t}function Ub(){return z(Vb,null)}var Wb=e=>{let t={activate:({id:t,value:n,activated:r})=>(t=M(t),e&&!n&&r.size===1&&r.has(t)||(n?r.add(t):r.delete(t)),r),in:(e,n,r)=>{let i=new Set;if(e!=null)for(let a of Ec(e))i=t.activate({id:a,value:!0,activated:new Set(i),children:n,parents:r});return i},out:e=>Array.from(e)};return t},Gb=e=>{let t=Wb(e);return{activate:({activated:e,id:n,...r})=>{n=M(n);let i=e.has(n)?new Set([n]):new Set;return t.activate({...r,id:n,activated:i})},in:(e,n,r)=>{let i=new Set;if(e!=null){let a=Ec(e);a.length&&(i=t.in(a.slice(0,1),n,r))}return i},out:(e,n,r)=>t.out(e,n,r)}},Kb=e=>{let t=Wb(e);return{activate:({id:e,activated:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.activate({id:e,activated:n,children:r,...i})),in:t.in,out:t.out}},qb=e=>{let t=Gb(e);return{activate:({id:e,activated:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.activate({id:e,activated:n,children:r,...i})),in:t.in,out:t.out}},Jb={open:({id:e,value:t,opened:n,parents:r})=>{if(t){let t=new Set;t.add(e);let n=r.get(e);for(;n!=null;)t.add(n),n=r.get(n);return t}else return n.delete(e),n},select:()=>null},Yb={open:({id:e,value:t,opened:n,parents:r})=>{if(t){let t=r.get(e);for(n.add(e);t!=null&&t!==e;)n.add(t),t=r.get(t);return n}else n.delete(e);return n},select:()=>null},Xb={open:Yb.open,select:({id:e,value:t,opened:n,parents:r})=>{if(!t)return n;let i=[],a=r.get(e);for(;a!=null;)i.push(a),a=r.get(a);return new Set(i)}},Zb=e=>{let t={select:({id:t,value:n,selected:r})=>{if(t=M(t),e&&!n){let e=Array.from(r.entries()).reduce((e,[t,n])=>(n===`on`&&e.push(t),e),[]);if(e.length===1&&e[0]===t)return r}return r.set(t,n?`on`:`off`),r},in:(e,n,r,i)=>{let a=new Map;for(let o of e||[])t.select({id:o,value:!0,selected:a,children:n,parents:r,disabled:i});return a},out:e=>{let t=[];for(let[n,r]of e.entries())r===`on`&&t.push(n);return t}};return t},Qb=e=>{let t=Zb(e);return{select:({selected:e,id:n,...r})=>{n=M(n);let i=e.has(n)?new Map([[n,e.get(n)]]):new Map;return t.select({...r,id:n,selected:i})},in:(e,n,r,i)=>e?.length?t.in(e.slice(0,1),n,r,i):new Map,out:(e,n,r)=>t.out(e,n,r)}},$b=e=>{let t=Zb(e);return{select:({id:e,selected:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.select({id:e,selected:n,children:r,...i})),in:t.in,out:t.out}},ex=e=>{let t=Qb(e);return{select:({id:e,selected:n,children:r,...i})=>(e=M(e),r.has(e)?n:t.select({id:e,selected:n,children:r,...i})),in:t.in,out:t.out}},tx=e=>{let t={select:({id:t,value:n,selected:r,children:i,parents:a,disabled:o})=>{t=M(t);let s=new Map(r),c=[t];for(;c.length;){let e=c.shift();o.has(e)||r.set(M(e),n?`on`:`off`),i.has(e)&&c.push(...i.get(e))}let l=M(a.get(t));for(;l;){let e=!0,t=!0;for(let n of i.get(l)){let i=M(n);if(!o.has(i)&&(r.get(i)!==`on`&&(e=!1),r.has(i)&&r.get(i)!==`off`&&(t=!1),!e&&!t))break}r.set(l,e?`on`:t?`off`:`indeterminate`),l=M(a.get(l))}return e&&!n&&Array.from(r.entries()).reduce((e,[t,n])=>(n===`on`&&e.push(t),e),[]).length===0?s:r},in:(e,n,r)=>{let i=new Map;for(let a of e||[])i=t.select({id:a,value:!0,selected:i,children:n,parents:r,disabled:new Set});return i},out:(e,t)=>{let n=[];for(let[r,i]of e.entries())i===`on`&&!t.has(r)&&n.push(r);return n}};return t},nx=e=>{let t=tx(e);return{select:t.select,in:t.in,out:(e,t,n)=>{let r=[];for(let[t,i]of e.entries())if(i===`on`){if(n.has(t)){let r=n.get(t);if(e.get(r)===`on`)continue}r.push(t)}return r}}},rx=e=>{let t={select:tx(e).select,in:(e,n,r,i)=>{let a=new Map;for(let o of e||[])n.has(o)||(a=t.select({id:o,value:!0,selected:a,children:n,parents:r,disabled:i}));return a},out:e=>{let t=[];for(let[n,r]of e.entries())(r===`on`||r===`indeterminate`)&&t.push(n);return t}};return t},ix=Symbol.for(`vuetify:nested`),ax={id:F(),root:{itemsRegistration:P(`render`),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:P(new Map),parents:P(new Map),disabled:P(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:P(!1),scrollToActive:P(!1),selectable:P(!1),opened:P(new Set),activated:P(new Set),selected:P(new Map),selectedValues:P([]),getPath:()=>[]}},ox=J({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean,itemsRegistration:{type:String,default:`render`}},`nested`),sx=(e,{items:t,returnObject:n,scrollToActive:r,valueComparator:i})=>{let a=!1,o=F(new Map),s=F(new Map),c=F(new Set),l=Zu(e,`opened`,e.opened,e=>new Set(Array.isArray(e)?e.map(e=>M(e)):e),e=>[...e.values()]),u=G(()=>{if(typeof e.activeStrategy==`object`)return e.activeStrategy;if(typeof e.activeStrategy==`function`)return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case`leaf`:return Kb(e.mandatory);case`single-leaf`:return qb(e.mandatory);case`independent`:return Wb(e.mandatory);default:return Gb(e.mandatory)}}),d=G(()=>{if(typeof e.selectStrategy==`object`)return e.selectStrategy;if(typeof e.selectStrategy==`function`)return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case`single-leaf`:return ex(e.mandatory);case`leaf`:return $b(e.mandatory);case`independent`:return Zb(e.mandatory);case`single-independent`:return Qb(e.mandatory);case`trunk`:return nx(e.mandatory);case`branch`:return rx(e.mandatory);default:return tx(e.mandatory)}}),f=G(()=>{if(typeof e.openStrategy==`object`)return e.openStrategy;switch(e.openStrategy){case`list`:return Xb;case`single`:return Jb;default:return Yb}}),p=G(()=>{let e=[],n=[...t.value];for(;n.length;){let t=n.pop();e.push(t),t.children&&n.push(...t.children)}return e});function m(e){let t=Qt(i);if(!t)return e;let r=Qt(n);for(let n of p.value){let i=r?M(n.raw):n.value;if(t(e,i))return i}return e}let h=Zu(e,`activated`,e.activated,e=>u.value.in(Array.isArray(e)?e.map(m):e,o.value,s.value),e=>u.value.out(e,o.value,s.value)),g=Zu(e,`selected`,e.selected,e=>d.value.in(Array.isArray(e)?e.map(m):e,o.value,s.value,c.value),e=>d.value.out(e,o.value,s.value));Jr(()=>{a=!0});function _(e){let t=[],n=M(e);for(;n!==void 0;)t.unshift(n),n=s.value.get(n);return t}let v=pu(`nested`),y=new Set,b=Ru(()=>{Dn(()=>{o.value=new Map(o.value),s.value=new Map(s.value)})},100);B(()=>[t.value,Qt(n)],()=>{e.itemsRegistration===`props`&&x()},{immediate:!0});function x(){let e=new Map,r=new Map,i=new Set,a=Qt(n)?e=>M(e.raw):e=>e.value,l=[...t.value],u=0;for(;ue.activatable),scrollToActive:L(()=>Qt(r)),selectable:L(()=>e.selectable),activated:h,selected:g,selectedValues:G(()=>{let e=[];for(let[t,n]of g.value.entries())n===`on`&&e.push(t);return e}),itemsRegistration:L(()=>e.itemsRegistration),register:(e,t,n,r)=>{if(y.has(e)){tc(`Multiple nodes with the same ID\n\t${_(e).map(String).join(` -> `)}\n\t${_(t).concat(e).map(String).join(` -> `)}`);return}else y.add(e);t&&e!==t&&s.value.set(e,t),n&&c.value.add(e),r&&o.value.set(e,[]),t!=null&&o.value.set(t,[...o.value.get(t)||[],e]),b()},unregister:e=>{if(a)return;y.delete(e),o.value.delete(e),c.value.delete(e);let t=s.value.get(e);if(t){let n=o.value.get(t)??[];o.value.set(t,n.filter(t=>t!==e))}s.value.delete(e),b()},updateDisabled:(e,t)=>{t?c.value.add(e):c.value.delete(e)},open:(e,t,n)=>{v.emit(`click:open`,{id:e,value:t,path:_(e),event:n});let r=f.value.open({id:e,value:t,opened:new Set(l.value),children:o.value,parents:s.value,event:n});r&&(l.value=r)},openOnSelect:(e,t,n)=>{let r=f.value.select({id:e,value:t,selected:new Map(g.value),opened:new Set(l.value),children:o.value,parents:s.value,event:n});r&&(l.value=r)},select:(e,t,n)=>{v.emit(`click:select`,{id:e,value:t,path:_(e),event:n});let r=d.value.select({id:e,value:t,selected:new Map(g.value),children:o.value,parents:s.value,disabled:c.value,event:n});r&&(g.value=r),S.root.openOnSelect(e,t,n)},activate:(t,n,r)=>{if(!e.activatable)return S.root.select(t,!0,r);v.emit(`click:activate`,{id:t,value:n,path:_(t),event:r});let i=u.value.activate({id:t,value:n,activated:new Set(h.value),children:o.value,parents:s.value,event:r});if(i.size!==h.value.size)h.value=i;else{for(let e of i)if(!h.value.has(e)){h.value=i;return}for(let e of h.value)if(!i.has(e)){h.value=i;return}}},children:o,parents:s,disabled:c,getPath:_}};return Vn(ix,S),S.root},cx=(e,t,n)=>{let r=z(ix,ax),i=Symbol(`nested item`),a=G(()=>{let t=M(Qt(e));return t===void 0?i:t}),o={...r,id:a,open:(e,t)=>r.root.open(a.value,e,t),openOnSelect:(e,t)=>r.root.openOnSelect(a.value,e,t),isOpen:G(()=>r.root.opened.value.has(a.value)),parent:G(()=>r.root.parents.value.get(a.value)),activate:(e,t)=>r.root.activate(a.value,e,t),isActivated:G(()=>r.root.activated.value.has(a.value)),scrollToActive:r.root.scrollToActive,select:(e,t)=>r.root.select(a.value,e,t),isSelected:G(()=>r.root.selected.value.get(a.value)===`on`),isIndeterminate:G(()=>r.root.selected.value.get(a.value)===`indeterminate`),isLeaf:G(()=>!r.root.children.value.get(a.value)),isGroupActivator:r.isGroupActivator};return Wr(()=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||Dn(()=>{r.root.register(a.value,r.id.value,Qt(t),n)})}),Jr(()=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||r.root.unregister(a.value)}),B(a,(e,i)=>{r.isGroupActivator||r.root.itemsRegistration.value===`props`||(r.root.unregister(i),Dn(()=>{r.root.register(e,r.id.value,Qt(t),n)}))}),B(()=>Qt(t),e=>{r.root.updateDisabled(a.value,e)}),n&&Vn(ix,o),o},lx=()=>{Vn(ix,{...z(ix,ax),isGroupActivator:!0})},ux=Su({name:`VListGroupActivator`,setup(e,{slots:t}){return lx(),()=>t.default?.()}}),dx=J({activeColor:String,baseColor:String,color:String,collapseIcon:{type:zu,default:`$collapse`},disabled:Boolean,expandIcon:{type:zu,default:`$expand`},rawId:[String,Number],prependIcon:zu,appendIcon:zu,fluid:Boolean,subgroup:Boolean,title:String,value:null,...Y(),...iv()},`VListGroup`),fx=X()({name:`VListGroup`,props:dx(),setup(e,{slots:t}){let{isOpen:n,open:r,id:i}=cx(()=>e.value,()=>e.disabled,!0),a=G(()=>`v-list-group--id-${String(e.rawId??i.value)}`),o=Ub(),{isBooted:s}=mb(),c=z(ix),l=L(()=>c?.root?.itemsRegistration.value===`render`);function u(e){[`INPUT`,`TEXTAREA`].includes(e.target?.tagName)||r(!n.value,e)}let d=G(()=>({onClick:u,class:`v-list-group__header`,id:a.value})),f=G(()=>n.value?e.collapseIcon:e.expandIcon),p=G(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&f.value,appendIcon:e.appendIcon||!e.subgroup&&f.value,title:e.title,value:e.value}}));return Z(()=>U(e.tag,{class:j([`v-list-group`,{"v-list-group--prepend":o?.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":n.value},e.class]),style:A(e.style)},{default:()=>[t.activator&&U(Dv,{defaults:p.value},{default:()=>[U(ux,null,{default:()=>[t.activator({props:d.value,isOpen:n.value})]})]}),U(rb,{transition:{component:Zy},disabled:!s.value},{default:()=>[l.value?zn(H(`div`,{class:`v-list-group__items`,role:`group`,"aria-labelledby":a.value},[t.default?.()]),[[$o,n.value]]):n.value&&H(`div`,{class:`v-list-group__items`,role:`group`,"aria-labelledby":a.value},[t.default?.()])]})]})),{isOpen:n}}}),px=J({opacity:[Number,String],...Y(),...iv()},`VListItemSubtitle`),mx=X()({name:`VListItemSubtitle`,props:px(),setup(e,{slots:t}){return Z(()=>U(e.tag,{class:j([`v-list-item-subtitle`,e.class]),style:A([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},t)),{}}}),hx=wu(`v-list-item-title`),gx=J({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:zu,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:zu,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,prependGap:[Number,String],subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,index:Number,tabindex:[Number,String],onClick:Vc(),onClickOnce:Vc(),...Y_(),...Y(),...Q_(),...Rv(),...ev(),...nv(),...ny(),...iv(),...Pf(),...fv({variant:`text`})},`VListItem`),_x=X()({name:`VListItem`,directives:{vRipple:Dy},props:gx(),emits:{click:e=>!0},setup(e,{attrs:t,slots:n,emit:r}){let i=ty(e,t),a=P(),{activate:o,isActivated:s,select:c,isOpen:l,isSelected:u,isIndeterminate:d,isGroupActivator:f,root:p,parent:m,openOnSelect:h,scrollToActive:g,id:_}=cx(G(()=>e.value===void 0?i.href.value:e.value),()=>e.disabled,!1),v=Ub(),y=G(()=>e.active!==!1&&(e.active||i.isActive?.value||(p.activatable.value?s.value:u.value))),b=L(()=>e.link!==!1&&i.isLink.value),x=G(()=>!!v&&(p.selectable.value||p.activatable.value||e.value!=null)),S=G(()=>!e.disabled&&e.link!==!1&&(e.link||i.isClickable.value||x.value)),C=G(()=>v&&v.navigationStrategy.value===`track`&&e.index!==void 0&&v.trackingIndex.value===e.index),w=G(()=>v?b.value?`link`:x.value?`option`:`listitem`:void 0),T=G(()=>{if(x.value)return p.activatable.value?s.value:p.selectable.value?u.value:y.value}),E=L(()=>e.rounded||e.nav),ee=L(()=>e.color??e.activeColor),te=L(()=>({color:y.value?ee.value??e.baseColor:e.baseColor,variant:e.variant}));B(()=>i.isActive?.value,e=>{e&&D()}),B(s,e=>{!e||!g||a.value?.scrollIntoView({block:`nearest`,behavior:`instant`})}),B(C,e=>{e&&a.value?.scrollIntoView({block:`nearest`,behavior:`instant`})}),Wr(()=>{i.isActive?.value&&Dn(()=>D())});function D(){m.value!=null&&p.open(m.value,!0),h(!0)}let{themeClasses:ne}=Kf(e),{borderClasses:re}=X_(e),{colorClasses:ie,colorStyles:ae,variantClasses:O}=pv(te),{densityClasses:k}=$_(e),{dimensionStyles:oe}=zv(e),{elevationClasses:se}=tv(e),{roundedClasses:ce}=rv(E),le=L(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),ue=L(()=>e.ripple!==void 0&&e.ripple&&v?.filterable?{keys:[`Enter`]}:e.ripple),A=G(()=>({isActive:y.value,select:c,isOpen:l.value,isSelected:u.value,isIndeterminate:d.value,isDisabled:e.disabled}));function de(t){r(`click`,t),![`INPUT`,`TEXTAREA`].includes(t.target?.tagName)&&S.value&&(i.navigate.value?.(t),!f&&(p.activatable.value?o(!s.value,t):(p.selectable.value||e.value!=null&&!b.value)&&c(!u.value,t)))}function fe(e){let t=e.target;[`INPUT`,`TEXTAREA`].includes(t.tagName)||(e.key===`Enter`||e.key===` `&&!v?.filterable)&&(e.preventDefault(),e.stopPropagation(),e.target.dispatchEvent(new MouseEvent(`click`,e)))}return Z(()=>{let t=b.value?`a`:e.tag,r=n.title||e.title!=null,o=n.subtitle||e.subtitle!=null,s=!!(e.appendAvatar||e.appendIcon||n.append),c=!!(e.prependAvatar||e.prependIcon||n.prepend);return v?.updateHasPrepend(c),e.activeColor&&nc(`active-color`,[`color`,`base-color`]),zn(U(t,W(i.linkProps,{ref:a,id:e.index!==void 0&&v?`v-list-item-${v.uid}-${e.index}`:void 0,class:[`v-list-item`,{"v-list-item--active":y.value,"v-list-item--disabled":e.disabled,"v-list-item--link":S.value,"v-list-item--nav":e.nav,"v-list-item--prepend":!c&&v?.hasPrepend.value,"v-list-item--slim":e.slim,"v-list-item--focus-visible":C.value,[`${e.activeClass}`]:e.activeClass&&y.value},ne.value,re.value,ie.value,k.value,se.value,le.value,ce.value,O.value,e.class],style:[{"--v-list-prepend-gap":q(e.prependGap)},ae.value,oe.value,e.style],tabindex:e.tabindex??(S.value?v?-2:0:void 0),"aria-selected":T.value,role:w.value,onClick:de,onKeydown:S.value&&!b.value&&fe}),{default:()=>[dv(S.value||y.value,`v-list-item`),c&&H(`div`,{key:`prepend`,class:`v-list-item__prepend`},[n.prepend?U(Dv,{key:`prepend-defaults`,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[n.prepend?.(A.value)]}):H(V,null,[e.prependAvatar&&U(Cb,{key:`prepend-avatar`,density:e.density,image:e.prependAvatar},null),e.prependIcon&&U(Mv,{key:`prepend-icon`,density:e.density,icon:e.prependIcon},null)]),H(`div`,{class:`v-list-item__spacer`},null)]),H(`div`,{class:`v-list-item__content`,"data-no-activator":``},[r&&U(hx,{key:`title`},{default:()=>[n.title?.({title:e.title})??xe(e.title)]}),o&&U(mx,{key:`subtitle`},{default:()=>[n.subtitle?.({subtitle:e.subtitle})??xe(e.subtitle)]}),n.default?.(A.value)]),s&&H(`div`,{key:`append`,class:`v-list-item__append`},[n.append?U(Dv,{key:`append-defaults`,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0},VCheckboxBtn:{density:e.density}}},{default:()=>[n.append?.(A.value)]}):H(V,null,[e.appendIcon&&U(Mv,{key:`append-icon`,density:e.density,icon:e.appendIcon},null),e.appendAvatar&&U(Cb,{key:`append-avatar`,density:e.density,image:e.appendAvatar},null)]),H(`div`,{class:`v-list-item__spacer`},null)])]}),[[Dy,S.value&&ue.value]])}),{activate:o,isActivated:s,isGroupActivator:f,isSelected:u,list:v,select:c,root:p,id:_,link:i}}}),vx=J({color:String,inset:Boolean,sticky:Boolean,title:String,...Y(),...iv()},`VListSubheader`),yx=X()({name:`VListSubheader`,props:vx(),setup(e,{slots:t}){let{textColorClasses:n,textColorStyles:r}=ov(()=>e.color);return Z(()=>{let i=!!(t.default||e.title);return U(e.tag,{class:j([`v-list-subheader`,{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},n.value,e.class]),style:A([{textColorStyles:r},e.style])},{default:()=>[i&&H(`div`,{class:`v-list-subheader__text`},[t.default?.()??e.title])]})}),{}}}),bx=J({items:Array,returnObject:Boolean},`VListChildren`),xx=X()({name:`VListChildren`,props:bx(),setup(e,{slots:t}){return Hb(),()=>t.default?.()??e.items?.map(({children:n,props:r,type:i,raw:a},o)=>{if(i===`divider`)return t.divider?.({props:r})??U(zb,r,null);if(i===`subheader`)return t.subheader?.({props:r})??U(yx,r,null);let s={subtitle:t.subtitle?e=>t.subtitle?.({...e,item:a}):void 0,prepend:t.prepend?e=>t.prepend?.({...e,item:a}):void 0,append:t.append?e=>t.append?.({...e,item:a}):void 0,title:t.title?e=>t.title?.({...e,item:a}):void 0},c=fx.filterProps(r);return n?U(fx,W(c,{value:e.returnObject?a:r?.value,rawId:r?.value}),{activator:({props:n})=>{let i=W(r,n,{value:e.returnObject?a:r.value});return t.header?t.header({props:i}):U(_x,W(i,{index:o}),s)},default:()=>U(xx,{items:n,returnObject:e.returnObject},t)}):t.item?t.item({props:{...r,index:o}}):U(_x,W(r,{index:o,value:e.returnObject?a:r.value}),s)})}}),Sx=J({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:`title`},itemValue:{type:[String,Array,Function],default:`value`},itemChildren:{type:[Boolean,String,Array,Function],default:`children`},itemProps:{type:[Boolean,String,Array,Function],default:`props`},itemType:{type:[Boolean,String,Array,Function],default:`type`},returnObject:Boolean,valueComparator:Function},`list-items`),Cx=new Set([`item`,`divider`,`subheader`]);function wx(e,t){let n=lc(t,e.itemTitle,t),r=lc(t,e.itemValue,n),i=lc(t,e.itemChildren),a=e.itemProps===!0?typeof t==`object`&&t&&!Array.isArray(t)?`children`in t?yc(t,[`children`]):t:void 0:lc(t,e.itemProps),o=lc(t,e.itemType,`item`);Cx.has(o)||(o=`item`);let s={title:n,value:r,...a};return{type:o,title:String(s.title??``),value:s.value,props:s,children:o===`item`&&Array.isArray(i)?Tx(e,i):void 0,raw:t}}wx.neededProps=[`itemTitle`,`itemValue`,`itemChildren`,`itemProps`,`itemType`];function Tx(e,t){let n=_c(e,wx.neededProps),r=[];for(let e of t)r.push(wx(n,e));return r}function Ex(e){let t=G(()=>Tx(e,e.items)),n=G(()=>t.value.some(e=>e.value===null)),r=F(new Map),i=F([]);Gn(()=>{let e=t.value,n=new Map,a=[];for(let t=0;te):t.map(({value:e})=>e)}return{items:t,transformIn:a,transformOut:o}}var Dx=new Set([`item`,`divider`,`subheader`]);function Ox(e,t){let n=tl(t)?t:lc(t,e.itemTitle),r=tl(t)?t:lc(t,e.itemValue,void 0),i=lc(t,e.itemChildren),a=e.itemProps===!0?yc(t,[`children`]):lc(t,e.itemProps),o=lc(t,e.itemType,`item`);Dx.has(o)||(o=`item`);let s={title:n,value:r,...a};return{type:o,title:s.title,value:s.value,props:s,children:o===`item`&&i?kx(e,i):void 0,raw:t}}function kx(e,t){let n=[];for(let r of t)n.push(Ox(e,r));return n}function Ax(e){return{items:G(()=>kx(e,e.items))}}var jx=J({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:zu,collapseIcon:zu,lines:{type:[Boolean,String],default:`one`},slim:Boolean,prependGap:[Number,String],indent:[Number,String],nav:Boolean,navigationStrategy:{type:String,default:`focus`},navigationIndex:Number,"onClick:open":Vc(),"onClick:select":Vc(),"onUpdate:opened":Vc(),...ox({selectStrategy:`single-leaf`,openStrategy:`list`}),...Y_(),...Y(),...Q_(),...Rv(),...ev(),...Sx(),...nv(),...iv(),...Pf(),...fv({variant:`text`})},`VList`),Mx=X()({name:`VList`,props:jx(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"update:navigationIndex":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,{attrs:t,slots:n,emit:r}){let{items:i}=Ax(e),{themeClasses:a}=Kf(e),{backgroundColorClasses:o,backgroundColorStyles:s}=sv(()=>e.bgColor),{borderClasses:c}=X_(e),{densityClasses:l}=$_(e),{dimensionStyles:u}=zv(e),{elevationClasses:d}=tv(e),{roundedClasses:f}=rv(e),{children:p,open:m,parents:h,select:g,getPath:_}=sx(e,{items:i,returnObject:L(()=>e.returnObject),scrollToActive:L(()=>e.navigationStrategy===`track`),valueComparator:L(()=>e.valueComparator)}),v=L(()=>e.lines?`v-list--${e.lines}-line`:void 0),y=L(()=>e.activeColor),b=L(()=>e.baseColor),x=L(()=>e.color),S=L(()=>e.selectable||e.activatable),C=Zu(e,`navigationIndex`,-1,e=>e??-1),w=Er();Hb({filterable:e.filterable,trackingIndex:C,navigationStrategy:L(()=>e.navigationStrategy),uid:w}),B(i,()=>{e.navigationStrategy===`track`&&(C.value=-1)}),yu({VListGroup:{activeColor:y,baseColor:b,color:x,expandIcon:L(()=>e.expandIcon),collapseIcon:L(()=>e.collapseIcon)},VListItem:{activeClass:L(()=>e.activeClass),activeColor:y,baseColor:b,color:x,density:L(()=>e.density),disabled:L(()=>e.disabled),lines:L(()=>e.lines),nav:L(()=>e.nav),slim:L(()=>e.slim),variant:L(()=>e.variant),tabindex:L(()=>e.navigationStrategy===`track`?-1:void 0)}});let T=F(!1),E=P();function ee(e){T.value=!0}function te(e){T.value=!1}function D(t){e.navigationStrategy===`track`?~C.value||(C.value=ie(`first`)):!T.value&&!(t.relatedTarget&&E.value?.contains(t.relatedTarget))&&k()}function ne(){e.navigationStrategy===`track`&&(C.value=-1)}function re(e){switch(e){case`ArrowDown`:return`next`;case`ArrowUp`:return`prev`;case`Home`:return`first`;case`End`:return`last`;default:return null}}function ie(e){let t=i.value.length;if(t===0)return-1;let n;e===`first`?n=0:e===`last`?n=t-1:(n=C.value+(e===`next`?1:-1),n<0&&(n=t-1),n>=t&&(n=0));let r=n,a=0;for(;a=t&&(n=0),n===r)return-1;a++}return-1}function ae(t){let n=t.target;if(!E.value||n.tagName===`INPUT`&&[`Home`,`End`].includes(t.key)||n.tagName===`TEXTAREA`)return;let r=re(t.key);if(r!==null)if(t.preventDefault(),e.navigationStrategy===`track`){let e=ie(r);e!==-1&&(C.value=e)}else k(r)}function O(e){T.value=!0}function k(e,t){if(E.value)return Kc(E.value,e,t)}return Z(()=>{let r=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0),p=S.value?t.ariaMultiselectable??!String(e.selectStrategy).startsWith(`single-`):void 0;return U(e.tag,{ref:E,class:j([`v-list`,{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},a.value,o.value,c.value,l.value,d.value,v.value,f.value,e.class]),style:A([{"--v-list-indent":q(r),"--v-list-group-prepend":r?`0px`:void 0,"--v-list-prepend-gap":q(e.prependGap)},s.value,u.value,e.style]),tabindex:e.disabled?-1:0,role:S.value?`listbox`:`list`,"aria-activedescendant":e.navigationStrategy===`track`&&C.value>=0?`v-list-item-${w}-${C.value}`:void 0,"aria-multiselectable":p,onFocusin:ee,onFocusout:te,onFocus:D,onBlur:ne,onKeydown:ae,onMousedown:O},{default:()=>[U(xx,{items:i.value,returnObject:e.returnObject},n)]})}),{open:m,select:g,focus:k,children:p,parents:h,getPath:_,navigationIndex:C}}}),Nx=J({scrollable:Boolean,...Y(),...Rv(),...iv({tag:`main`})},`VMain`),Px=X()({name:`VMain`,props:Nx(),setup(e,{slots:t}){let{dimensionStyles:n}=zv(e),{mainStyles:r}=ep(),{ssrBootStyles:i}=mb();return Z(()=>U(e.tag,{class:j([`v-main`,{"v-main--scrollable":e.scrollable},e.class]),style:A([r.value,i.value,n.value,e.style])},{default:()=>[e.scrollable?H(`div`,{class:`v-main__scroller`},[t.default?.()]):t.default?.()]})),{}}});function Fx(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ix(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Lx(e,t){if(e.side===`top`||e.side===`bottom`){let{side:n,align:r}=e;return Fx({x:r===`left`?0:r===`center`?t.width/2:r===`right`?t.width:r,y:n===`top`?0:n===`bottom`?t.height:n},t)}else if(e.side===`left`||e.side===`right`){let{side:n,align:r}=e;return Fx({x:n===`left`?0:n===`right`?t.width:n,y:r===`top`?0:r===`center`?t.height/2:r===`bottom`?t.height:r},t)}return Fx({x:t.width/2,y:t.height/2},t)}var Rx={static:Vx,connected:Ux},zx=J({locationStrategy:{type:[String,Function],default:`static`,validator:e=>typeof e==`function`||e in Rx},location:{type:String,default:`bottom`},origin:{type:String,default:`auto`},offset:[Number,String,Array],stickToTarget:Boolean,viewportMargin:{type:[Number,String],default:12}},`VOverlay-location-strategies`);function Bx(e,t){let n=P({}),r=P();K&&Xu(()=>!!(t.isActive.value&&e.locationStrategy),s=>{B(()=>e.locationStrategy,s),Oe(()=>{window.removeEventListener(`resize`,i),visualViewport?.removeEventListener(`resize`,a),visualViewport?.removeEventListener(`scroll`,o),r.value=void 0}),window.addEventListener(`resize`,i,{passive:!0}),visualViewport?.addEventListener(`resize`,a,{passive:!0}),visualViewport?.addEventListener(`scroll`,o,{passive:!0}),typeof e.locationStrategy==`function`?r.value=e.locationStrategy(t,e,n)?.updateLocation:r.value=Rx[e.locationStrategy](t,e,n)?.updateLocation});function i(e){r.value?.(e)}function a(e){r.value?.(e)}function o(e){r.value?.(e)}return{contentStyles:n,updateLocation:r}}function Vx(){}function Hx(e,t){let n=_l(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function Ux(e,t,n){(Array.isArray(e.target.value)||Lu(e.target.value))&&Object.assign(n.value,{position:`fixed`,top:0,[e.isRtl.value?`right`:`left`]:0});let{preferredAnchor:r,preferredOrigin:i}=Rc(()=>{let n=sl(t.location,e.isRtl.value),r=t.origin===`overlap`?n:t.origin===`auto`?ll(n):sl(t.origin,e.isRtl.value);return n.side===r.side&&n.align===ul(r).align?{preferredAnchor:dl(n),preferredOrigin:dl(r)}:{preferredAnchor:n,preferredOrigin:r}}),[a,o,s,c]=[`minWidth`,`minHeight`,`maxWidth`,`maxHeight`].map(e=>G(()=>{let n=parseFloat(t[e]);return isNaN(n)?1/0:n})),l=G(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset==`string`){let e=t.offset.split(` `).map(parseFloat);return e.length<2&&e.push(0),e}return typeof t.offset==`number`?[t.offset,0]:[0,0]}),u=!1,d=-1,f=new Lc(4),p=new ResizeObserver(()=>{if(!u)return;if(requestAnimationFrame(e=>{e!==d&&f.clear(),requestAnimationFrame(e=>{d=e})}),f.isFull){let e=f.values();if(Du(e.at(-1),e.at(-3))&&!Du(e.at(-1),e.at(-2)))return}let e=h();e&&f.push(e.flipped)}),m=new pl({x:0,y:0,width:0,height:0});B(e.target,(e,t)=>{t&&!Array.isArray(t)&&p.unobserve(t),Array.isArray(e)?Du(e,t)||h():e&&p.observe(e)},{immediate:!0}),B(e.contentEl,(e,t)=>{t&&p.unobserve(t),e&&p.observe(e)},{immediate:!0}),Oe(()=>{p.disconnect()});function h(){if(u=!1,requestAnimationFrame(()=>u=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(m=hl(e.target.value));let d=Hx(e.contentEl.value,e.isRtl.value),f=Pu(e.contentEl.value),p=Number(t.viewportMargin);f.length||(f.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(d.x-=parseFloat(document.documentElement.style.getPropertyValue(`--v-body-scroll-x`)||0),d.y-=parseFloat(document.documentElement.style.getPropertyValue(`--v-body-scroll-y`)||0)));let h=f.reduce((e,t)=>{let n=gl(t);return e?new pl({x:Math.max(e.left,n.left),y:Math.max(e.top,n.top),width:Math.min(e.right,n.right)-Math.max(e.left,n.left),height:Math.min(e.bottom,n.bottom)-Math.max(e.top,n.top)}):n},void 0);t.stickToTarget?(h.x+=Math.min(p,m.x),h.y+=Math.min(p,m.y),h.width=Math.max(h.width-p*2,m.x+m.width-p),h.height=Math.max(h.height-p*2,m.y+m.height-p)):(h.x+=p,h.y+=p,h.width-=p*2,h.height-=p*2);let g={anchor:r.value,origin:i.value};function _(e){let t=new pl(d),{x:n,y:r}=Ix(Lx(e.anchor,m),Lx(e.origin,t));switch(e.anchor.side){case`top`:r-=l.value[0];break;case`bottom`:r+=l.value[0];break;case`left`:n-=l.value[0];break;case`right`:n+=l.value[0];break}switch(e.anchor.align){case`top`:r-=l.value[1];break;case`bottom`:r+=l.value[1];break;case`left`:n-=l.value[1];break;case`right`:n+=l.value[1];break}return t.x+=n,t.y+=r,t.width=Math.min(t.width,s.value),t.height=Math.min(t.height,c.value),{overflows:ml(t,h),x:n,y:r}}let v=0,y=0,b={x:0,y:0},x={x:!1,y:!1},S=-1;for(;;){if(S++>10){tc(`Infinite loop detected in connectedLocationStrategy`);break}let{x:e,y:t,overflows:n}=_(g);v+=e,y+=t,d.x+=e,d.y+=t;{let e=fl(g.anchor),t=n.x.before||n.x.after,r=n.y.before||n.y.after,i=!1;if([`x`,`y`].forEach(a=>{if(a===`x`&&t&&!x.x||a===`y`&&r&&!x.y){let t={anchor:{...g.anchor},origin:{...g.origin}},r=a===`x`?e===`y`?ul:ll:e===`y`?ll:ul;t.anchor=r(t.anchor),t.origin=r(t.origin);let{overflows:o}=_(t);(o[a].before<=n[a].before&&o[a].after<=n[a].after||o[a].before+o[a].after<(n[a].before+n[a].after)/2)&&(g=t,i=x[a]=!0)}}),i)continue}n.x.before&&(v+=n.x.before,d.x+=n.x.before),n.x.after&&(v-=n.x.after,d.x-=n.x.after),n.y.before&&(y+=n.y.before,d.y+=n.y.before),n.y.after&&(y-=n.y.after,d.y-=n.y.after);{let e=ml(d,h);b.x=h.width-e.x.before-e.x.after,b.y=h.height-e.y.before-e.y.after,v+=e.x.before,d.x+=e.x.before,y+=e.y.before,d.y+=e.y.before}break}let C=fl(g.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${g.anchor.side} ${g.anchor.align}`,transformOrigin:`${g.origin.side} ${g.origin.align}`,top:q(Wx(y)),left:e.isRtl.value?void 0:q(Wx(v)),right:e.isRtl.value?q(Wx(-v)):void 0,minWidth:q(C===`y`?Math.min(a.value,m.width):a.value),maxWidth:q(Gx(Oc(b.x,a.value===1/0?0:a.value,s.value))),maxHeight:q(Gx(Oc(b.y,o.value===1/0?0:o.value,c.value)))}),{available:b,contentBox:d,flipped:x}}return B(()=>[r.value,i.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>h()),Dn(()=>{let e=h();if(!e)return;let{available:t,contentBox:n}=e;n.height>t.y&&requestAnimationFrame(()=>{h(),requestAnimationFrame(()=>{h()})})}),{updateLocation:h}}function Wx(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function Gx(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}var Kx=!0,qx=[];function Jx(e){!Kx||qx.length?(qx.push(e),Xx()):(Kx=!1,e(),Xx())}var Yx=-1;function Xx(){cancelAnimationFrame(Yx),Yx=requestAnimationFrame(()=>{let e=qx.shift();e&&e(),qx.length?Xx():Kx=!0})}var Zx={none:null,close:eS,block:tS,reposition:nS},Qx=J({scrollStrategy:{type:[String,Function],default:`block`,validator:e=>typeof e==`function`||e in Zx}},`VOverlay-scroll-strategies`);function $x(e,t){if(!K)return;let n;Gn(async()=>{n?.stop(),t.isActive.value&&e.scrollStrategy&&(n=Ee(),await new Promise(e=>setTimeout(e)),n.active&&n.run(()=>{typeof e.scrollStrategy==`function`?e.scrollStrategy(t,e,n):Zx[e.scrollStrategy]?.(t,e,n)}))}),Oe(()=>{n?.stop()})}function eS(e){function t(t){e.isActive.value=!1}iS(rS(e.target.value,e.contentEl.value),t)}function tS(e,t){let n=e.root.value?.offsetParent,r=rS(e.target.value,e.contentEl.value),i=[...new Set([...Pu(r,t.contained?n:void 0),...Pu(e.contentEl.value,t.contained?n:void 0)])].filter(e=>!e.classList.contains(`v-overlay-scroll-blocked`)),a=window.innerWidth-document.documentElement.offsetWidth,o=(e=>Fu(e)&&e)(n||document.documentElement);o&&e.root.value.classList.add(`v-overlay--scroll-blocked`),i.forEach((e,t)=>{e.style.setProperty(`--v-body-scroll-x`,q(-e.scrollLeft)),e.style.setProperty(`--v-body-scroll-y`,q(-e.scrollTop)),(e!==document.documentElement||getComputedStyle(e).overflowY!==`scroll`)&&e.style.setProperty(`--v-scrollbar-offset`,q(a)),e.classList.add(`v-overlay-scroll-blocked`)}),Oe(()=>{i.forEach((e,t)=>{let n=parseFloat(e.style.getPropertyValue(`--v-body-scroll-x`)),r=parseFloat(e.style.getPropertyValue(`--v-body-scroll-y`)),i=e.style.scrollBehavior;e.style.scrollBehavior=`auto`,e.style.removeProperty(`--v-body-scroll-x`),e.style.removeProperty(`--v-body-scroll-y`),e.style.removeProperty(`--v-scrollbar-offset`),e.classList.remove(`v-overlay-scroll-blocked`),e.scrollLeft=-n,e.scrollTop=-r,e.style.scrollBehavior=i}),o&&e.root.value.classList.remove(`v-overlay--scroll-blocked`)})}function nS(e,t,n){let r=!1,i=-1,a=-1;function o(t){Jx(()=>{let n=performance.now();e.updateLocation.value?.(t),r=(performance.now()-n)/(1e3/60)>2})}a=(typeof requestIdleCallback>`u`?e=>e():requestIdleCallback)(()=>{n.run(()=>{iS(rS(e.target.value,e.contentEl.value),e=>{r?(cancelAnimationFrame(i),i=requestAnimationFrame(()=>{i=requestAnimationFrame(()=>{o(e)})})):o(e)})})}),Oe(()=>{typeof cancelIdleCallback<`u`&&cancelIdleCallback(a),cancelAnimationFrame(i)})}function rS(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(e=>!t?.contains(e)):e??t}function iS(e,t){let n=[document,...Pu(e)];n.forEach(e=>{e.addEventListener(`scroll`,t,{passive:!0})}),Oe(()=>{n.forEach(e=>{e.removeEventListener(`scroll`,t)})})}var aS=Symbol.for(`vuetify:v-menu`),oS=J({closeDelay:[Number,String],openDelay:[Number,String]},`delay`);function sS(e,t){let n=()=>{};function r(r,i){n?.();let a=r?e.openDelay:e.closeDelay,o=Math.max(i?.minDelay??0,Number(a??0));return new Promise(e=>{n=Zc(o,()=>{t?.(r),e(r)})})}function i(){return r(!0)}function a(e){return r(!1,e)}return{clearDelay:n,runOpenDelay:i,runCloseDelay:a}}var cS=J({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...oS()},`VOverlay-activator`);function lS(e,{isActive:t,isTop:n,contentEl:r}){let i=pu(`useActivator`),a=P(),o=!1,s=!1,c=!0,l=G(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),u=G(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!l.value),{runOpenDelay:d,runCloseDelay:f}=sS(e,r=>{r===(e.openOnHover&&o||l.value&&s)&&!(e.openOnHover&&t.value&&!n.value)&&(t.value!==r&&(c=!0),t.value=r)}),p=!1;B(t,e=>{e||(p=!0,setTimeout(()=>p=!1,50))});let m=P(),h={onClick:e=>{p&&!t.value||(e.stopPropagation(),a.value=e.currentTarget||e.target,t.value||(m.value=[e.clientX,e.clientY]),t.value=!t.value)},onMouseenter:e=>{o=!0,a.value=e.currentTarget||e.target,d()},onMouseleave:e=>{o=!1,f()},onFocus:e=>{p||Yc(e.target,`:focus-visible`)!==!1&&(s=!0,e.stopPropagation(),a.value=e.currentTarget||e.target,d())},onBlur:e=>{let t=e.relatedTarget;!t||r.value?.contains(t)||(s=!1,e.stopPropagation(),f({minDelay:1}))}},g=G(()=>{let t={};return u.value&&(t.onClick=h.onClick),e.openOnHover&&(t.onMouseenter=h.onMouseenter,t.onMouseleave=h.onMouseleave),l.value&&(t.onFocus=h.onFocus,t.onBlur=h.onBlur),t}),_=G(()=>{let n={};if(e.openOnHover&&(n.onMouseenter=()=>{o=!0,d()},n.onMouseleave=()=>{o=!1,f()}),l.value&&(n.onFocusin=e=>{e.target.matches(`:focus-visible`)&&(s=!0,d())},n.onFocusout=e=>{let t=e.relatedTarget;!t||r.value?.contains(t)||(s=!1,f({minDelay:1}))}),e.closeOnContentClick){let e=z(aS,null);n.onClick=()=>{t.value=!1,e?.closeParents()}}return n}),v=G(()=>{let t={};return e.openOnHover&&(t.onMouseenter=()=>{c&&(o=!0,c=!1,d())},t.onMouseleave=()=>{o=!1,f()}),t});B(n,t=>{t&&(e.openOnHover&&!o&&(!l.value||!s)||l.value&&!s&&(!e.openOnHover||!o))&&!r.value?.contains(document.activeElement)&&f()}),B(t,e=>{e||setTimeout(()=>{m.value=void 0})},{flush:`post`});let y=$c();Gn(()=>{y.value&&Dn(()=>{a.value=y.el})});let b=$c(),x=G(()=>e.target===`cursor`&&m.value?m.value:b.value?b.el:dS(e.target,i)||a.value),S=G(()=>Array.isArray(x.value)?void 0:x.value),C;return B(()=>!!e.activator,t=>{t&&K?(C=Ee(),C.run(()=>{uS(e,i,{activatorEl:a,activatorEvents:g})})):C&&C.stop()},{flush:`post`,immediate:!0}),Oe(()=>{C?.stop()}),{activatorEl:a,activatorRef:y,target:x,targetEl:S,targetRef:b,activatorEvents:g,contentEvents:_,scrimEvents:v}}function uS(e,t,{activatorEl:n,activatorEvents:r}){B(()=>e.activator,(e,t)=>{if(t&&e!==t){let e=o(t);e&&a(e)}e&&Dn(()=>i())},{immediate:!0}),B(()=>e.activatorProps,()=>{i()}),Oe(()=>{a()});function i(t=o(),n=e.activatorProps){t&&bl(t,W(r.value,n))}function a(t=o(),n=e.activatorProps){t&&xl(t,W(r.value,n))}function o(r=e.activator){let i=dS(r,t);return n.value=i?.nodeType===Node.ELEMENT_NODE?i:void 0,n.value}}function dS(e,t){if(!e)return;let n;if(e===`parent`){let e=t?.proxy?.$el?.parentNode;for(;e?.hasAttribute(`data-no-activator`);)e=e.parentNode;n=e}else n=typeof e==`string`?document.querySelector(e):`$el`in e?e.$el:e;return n}var fS=J({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},`focusTrap`),pS=new Map,mS=0;function hS(){let e;for(let{isActive:t,contentEl:n}of pS.values())t.value&&n.value&&(e=n.value);return e}function gS(e){let t=document.activeElement;if(e.key!==`Tab`||!t)return;let n=Array.from(pS.values()).filter(({isActive:e,contentEl:n})=>e.value&&n.value?.contains(t)).map(e=>e.contentEl.value),r,i=t;for(;i;){if(n.includes(i)){r=i;break}i=i.parentElement}if(!r){let t=hS();if(!t)return;let n=Wc(t).filter(e=>e.tabIndex>=0);e.preventDefault(),n.length?e.shiftKey?n[n.length-1].focus():n[0].focus():t.focus({preventScroll:!0});return}let a=Wc(r).filter(e=>e.tabIndex>=0);if(!a.length)return;if(a.length===1&&a[0].classList.contains(`v-list`)&&a[0].contains(t)){e.preventDefault();return}let o=a[0],s=a[a.length-1],c=t===o||t===r||o.classList.contains(`v-list`)&&o.contains(t),l=t===s||s.classList.contains(`v-list`)&&s.contains(t);e.shiftKey&&c&&(e.preventDefault(),s.focus()),!e.shiftKey&&l&&(e.preventDefault(),o.focus())}function _S(e,{isActive:t,localTop:n,contentEl:r}){let i=Symbol(`trap`),a=!1,o=-1;async function s(){a=!0,o=window.setTimeout(()=>{a=!1},100)}async function c(e){let i=e.relatedTarget,o=e.target;document.removeEventListener(`pointerdown`,s),document.removeEventListener(`keydown`,l),await Dn(),t.value&&!a&&i!==o&&r.value&&Qt(n)&&![document,r.value].includes(o)&&!r.value.contains(o)&&Wc(r.value)[0]?.focus()}function l(e){if(e.key===`Tab`&&(document.removeEventListener(`keydown`,l),t.value&&r.value&&e.target&&!r.value.contains(e.target))){let t=Wc(document.documentElement);if(e.shiftKey&&e.target===t.at(0)||!e.shiftKey&&e.target===t.at(-1)){let t=Wc(r.value);t.length>0&&(e.preventDefault(),t[0].focus())}}}let u=L(()=>t.value&&e.captureFocus&&!e.disableInitialFocus);K&&(B(()=>e.retainFocus,e=>{e?pS.set(i,{isActive:t,contentEl:r}):pS.delete(i)},{immediate:!0}),B(u,e=>{e?(document.addEventListener(`pointerdown`,s),document.addEventListener(`focusin`,c,{once:!0}),document.addEventListener(`keydown`,l)):(document.removeEventListener(`pointerdown`,s),document.removeEventListener(`focusin`,c),document.removeEventListener(`keydown`,l))},{immediate:!0}),mS++<1&&document.addEventListener(`keydown`,gS)),Oe(()=>{pS.delete(i),K&&(clearTimeout(o),document.removeEventListener(`pointerdown`,s),document.removeEventListener(`focusin`,c),document.removeEventListener(`keydown`,l),--mS<1&&document.removeEventListener(`keydown`,gS))})}function vS(){if(!K)return F(!1);let{ssr:e}=Cf();if(e){let e=F(!1);return Gr(()=>{e.value=!0}),e}else return F(!0)}var yS=J({eager:Boolean},`lazy`);function bS(e,t){let n=F(!1),r=L(()=>n.value||e.eager||t.value);B(t,()=>n.value=!0);function i(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:r,onAfterLeave:i}}function xS(){let e=pu(`useScopeId`).vnode.scopeId;return{scopeId:e?{[e]:``}:void 0}}var SS=Symbol.for(`vuetify:stack`),CS=zt([]);function wS(e,t,n){let r=pu(`useStack`),i=!n,a=z(SS,void 0),o=zt({activeChildren:new Set});Vn(SS,o);let s=F(Number(Qt(t)));Xu(e,()=>{let e=CS.at(-1)?.[1];s.value=e?e+10:Number(Qt(t)),i&&CS.push([r.uid,s.value]),a?.activeChildren.add(r.uid),Oe(()=>{if(i){let e=M(CS).findIndex(e=>e[0]===r.uid);CS.splice(e,1)}a?.activeChildren.delete(r.uid)})});let c=F(!0);return i&&Gn(()=>{let e=CS.at(-1)?.[0]===r.uid;setTimeout(()=>c.value=e)}),{globalTop:Vt(c),localTop:L(()=>!o.activeChildren.size),stackStyles:L(()=>({zIndex:s.value}))}}function TS(e){return{teleportTarget:G(()=>{let t=e();if(t===!0||!K)return;let n=t===!1?document.body:typeof t==`string`?document.querySelector(t):t;if(n==null){xo(`Unable to locate target ${t}`);return}let r=[...n.children].find(e=>e.matches(`.v-overlay-container`));return r||(r=document.createElement(`div`),r.className=`v-overlay-container`,n.appendChild(r)),r})}}function ES(){return!0}function DS(e,t,n){if(!e||OS(e,n)===!1)return!1;let r=Ou(t);if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&r.host===e.target)return!1;let i=(typeof n.value==`object`&&n.value.include||(()=>[]))();return i.push(t),!i.some(t=>t?.contains(e.target))}function OS(e,t){return(typeof t.value==`object`&&t.value.closeConditional||ES)(e)}function kS(e,t,n){let r=typeof n.value==`function`?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&DS(e,t,n)&&setTimeout(()=>{OS(e,n)&&r&&r(e)},0)}function AS(e,t){let n=Ou(e);t(document),typeof ShadowRoot<`u`&&n instanceof ShadowRoot&&t(n)}var jS={mounted(e,t){let n=n=>kS(n,e,t),r=n=>{e._clickOutside.lastMousedownWasOutside=DS(n,e,t)};AS(e,e=>{e.addEventListener(`click`,n,!0),e.addEventListener(`mousedown`,r,!0)}),e._clickOutside||={lastMousedownWasOutside:!1},e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:r}},beforeUnmount(e,t){e._clickOutside&&(AS(e,n=>{if(!n||!e._clickOutside?.[t.instance.$.uid])return;let{onClick:r,onMousedown:i}=e._clickOutside[t.instance.$.uid];n.removeEventListener(`click`,r,!0),n.removeEventListener(`mousedown`,i,!0)}),delete e._clickOutside[t.instance.$.uid])}};function MS(e){let{modelValue:t,color:n,...r}=e;return U(Fo,{name:`fade-transition`,appear:!0},{default:()=>[e.modelValue&&H(`div`,W({class:[`v-overlay__scrim`,e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},r),null)]})}var NS=J({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...cS(),...Y(),...Rv(),...yS(),...zx(),...Qx(),...fS(),...Pf(),...nb()},`VOverlay`),PS=X()({name:`VOverlay`,directives:{vClickOutside:jS},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...yc(NS(),[`disableInitialFocus`])},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,{slots:t,attrs:n,emit:r}){let i=pu(`VOverlay`),a=P(),o=P(),s=P(),c=Zu(e,`modelValue`),l=G({get:()=>c.value,set:t=>{t&&e.disabled||(c.value=t)}}),{themeClasses:u}=Kf(e),{rtlClasses:d,isRtl:f}=pd(),{hasContent:p,onAfterLeave:m}=bS(e,l),h=sv(()=>typeof e.scrim==`string`?e.scrim:null),{globalTop:g,localTop:_,stackStyles:v}=wS(l,()=>e.zIndex,e._disableGlobalStack),{activatorEl:y,activatorRef:b,target:x,targetEl:S,targetRef:C,activatorEvents:w,contentEvents:T,scrimEvents:E}=lS(e,{isActive:l,isTop:_,contentEl:s}),{teleportTarget:ee}=TS(()=>{let t=e.attach||e.contained;if(t)return t;let n=y?.value?.getRootNode()||i.proxy?.$el?.getRootNode();return n instanceof ShadowRoot?n:!1}),{dimensionStyles:te}=zv(e),D=vS(),{scopeId:ne}=xS();B(()=>e.disabled,e=>{e&&(l.value=!1)});let{contentStyles:re,updateLocation:ie}=Bx(e,{isRtl:f,contentEl:s,target:x,isActive:l});$x(e,{root:a,contentEl:s,targetEl:S,target:x,isActive:l,updateLocation:ie});function ae(t){r(`click:outside`,t),e.persistent?ue():l.value=!1}function O(t){return l.value&&_.value&&(!e.scrim||t.target===o.value||t instanceof MouseEvent&&t.shadowTarget===o.value)}_S(e,{isActive:l,localTop:_,contentEl:s});function k(){let e=y.value;if(!e||!e.isConnected||e.closest(`.v-overlay__content`)||s.value?._clickOutside?.lastMousedownWasOutside)return;let t=document.activeElement;if(!(!t||t===document.body||t===e||e.contains(t)||t.closest(`.v-overlay__content`)))return;let n=e.parentElement,r=n?Wc(n):[],i;if(r.includes(e))i=e;else{let t=Wc(e);i=t.find(e=>e.tagName===`INPUT`||e.tagName===`TEXTAREA`)??t[0]}i?.focus({preventScroll:!0})}B(l,e=>{e||k()},{flush:`post`}),K&&B(l,e=>{e?window.addEventListener(`keydown`,oe):window.removeEventListener(`keydown`,oe)},{immediate:!0}),Jr(()=>{K&&window.removeEventListener(`keydown`,oe)});function oe(t){t.key===`Escape`&&g.value&&(s.value?.contains(document.activeElement)||r(`keydown`,t),e.persistent?ue():(l.value=!1,s.value?.contains(document.activeElement)&&y.value?.focus()))}function se(e){e.key===`Escape`&&!g.value||r(`keydown`,e)}let ce=ey();Xu(()=>e.closeOnBack,()=>{iy(ce,()=>{if(g.value&&l.value)return e.persistent?ue():l.value=!1,!1})});let le=P();B(()=>l.value&&(e.absolute||e.contained)&&ee.value==null,e=>{if(e){let e=Nu(a.value);e&&e!==document.scrollingElement&&(le.value=e.scrollTop)}});function ue(){e.noClickAnimation||s.value&&vl(s.value,[{transformOrigin:`center`},{transform:`scale(1.03)`},{transformOrigin:`center`}],{duration:150,easing:`cubic-bezier(0.4, 0, 0.2, 1)`})}function A(){r(`afterEnter`)}function de(){m(),r(`afterLeave`)}return Z(()=>H(V,null,[t.activator?.({isActive:l.value,targetRef:C,props:W({ref:b},w.value,e.activatorProps)}),D.value&&p.value&&U(sr,{disabled:!ee.value,to:ee.value},{default:()=>[H(`div`,W({class:[`v-overlay`,{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":l.value,"v-overlay--contained":e.contained},u.value,d.value,e.class],style:[v.value,{"--v-overlay-opacity":e.opacity,top:q(le.value)},e.style],ref:a,onKeydown:se},ne,n),[U(MS,W({color:h,modelValue:l.value&&!!e.scrim,ref:o},E.value),null),U(rb,{appear:!0,persisted:!0,transition:e.transition,target:x.value,onAfterEnter:A,onAfterLeave:de},{default:()=>[zn(H(`div`,W({ref:s,class:[`v-overlay__content`,e.contentClass],style:[te.value,re.value]},T.value,e.contentProps),[t.default?.({isActive:l})]),[[$o,l.value],[jS,{handler:ae,closeConditional:O,include:()=>[y.value,...Array.from(document.querySelectorAll(`.v-overlay__content`))]}]])]})])]})])),{activatorEl:y,scrimEl:o,target:x,animateClick:ue,contentEl:s,rootEl:a,globalTop:g,localTop:_,updateLocation:ie}}}),FS=Symbol(`Forwarded refs`);function IS(e,t){let n=e;for(;n;){let e=Reflect.getOwnPropertyDescriptor(n,t);if(e)return e;n=Object.getPrototypeOf(n)}}function LS(e,...t){return e[FS]=t,new Proxy(e,{get(e,n){if(Reflect.has(e,n))return Reflect.get(e,n);if(!(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))){for(let e of t)if(e.value&&Reflect.has(e.value,n)){let t=Reflect.get(e.value,n);return typeof t==`function`?t.bind(e.value):t}}},has(e,n){if(Reflect.has(e,n))return!0;if(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))return!1;for(let e of t)if(e.value&&Reflect.has(e.value,n))return!0;return!1},set(e,n,r){if(Reflect.has(e,n))return Reflect.set(e,n,r);if(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))return!1;for(let e of t)if(e.value&&Reflect.has(e.value,n))return Reflect.set(e.value,n,r);return!1},getOwnPropertyDescriptor(e,n){let r=Reflect.getOwnPropertyDescriptor(e,n);if(r)return r;if(!(typeof n==`symbol`||n.startsWith(`$`)||n.startsWith(`__`))){for(let e of t){if(!e.value)continue;let t=IS(e.value,n)??(`_`in e.value?IS(e.value._?.setupState,n):void 0);if(t)return t}for(let e of t){let t=e.value&&e.value[FS];if(!t)continue;let r=t.slice();for(;r.length;){let e=r.shift(),t=IS(e.value,n);if(t)return t;let i=e.value&&e.value[FS];i&&r.push(...i)}}}}})}var RS=J({id:String,submenu:Boolean,...yc(NS({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:`connected`,location:void 0,openDelay:300,scrim:!1,scrollStrategy:`reposition`,transition:{component:Gy}}),[`absolute`])},`VMenu`),zS=X()({name:`VMenu`,props:RS(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=Zu(e,`modelValue`),{scopeId:r}=xS(),{isRtl:i}=pd(),a=Er(),o=L(()=>e.id||`v-menu-${a}`),s=P(),c=z(aS,null),l=F(new Set);Vn(aS,{register(){l.value.add(a)},unregister(){l.value.delete(a)},closeParents(t){setTimeout(()=>{!l.value.size&&!e.persistent&&(t==null||s.value?.contentEl&&!Qc(t,s.value.contentEl))&&(n.value=!1,c?.closeParents())},40)}}),Jr(()=>c?.unregister()),Lr(()=>n.value=!1),B(n,e=>{e?c?.register():c?.unregister()},{immediate:!0});function u(e){c?.closeParents(e)}function d(t){e.disabled||(t.key===`Tab`?!Gc(Wc(s.value?.contentEl,!1),t.shiftKey?`prev`:`next`,e=>e.tabIndex>=0)&&!e.retainFocus&&(n.value=!1):e.submenu&&t.key===(i.value?`ArrowRight`:`ArrowLeft`)&&(n.value=!1))}function f(t){if(e.disabled)return;let r=s.value?.contentEl;r&&n.value?t.key===`ArrowDown`?(t.preventDefault(),t.stopImmediatePropagation(),Kc(r,`next`)):t.key===`ArrowUp`?(t.preventDefault(),t.stopImmediatePropagation(),Kc(r,`prev`)):e.submenu&&(t.key===(i.value?`ArrowRight`:`ArrowLeft`)?n.value=!1:t.key===(i.value?`ArrowLeft`:`ArrowRight`)&&(t.preventDefault(),Kc(r,`first`))):(e.submenu?t.key===(i.value?`ArrowLeft`:`ArrowRight`):[`ArrowDown`,`ArrowUp`].includes(t.key))&&(n.value=!0,t.preventDefault(),setTimeout(()=>setTimeout(()=>f(t))))}let p=G(()=>W({"aria-haspopup":`menu`,"aria-expanded":String(n.value),"aria-controls":o.value,"aria-owns":o.value,onKeydown:f},e.activatorProps));return Z(()=>{let i=PS.filterProps(e);return U(PS,W({ref:s,id:o.value,class:[`v-menu`,e.class],style:e.style},i,{modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,absolute:!0,activatorProps:p.value,location:e.location??(e.submenu?`end`:`bottom`),"onClick:outside":u,onKeydown:d},r),{activator:t.activator,default:(...e)=>U(Dv,{root:`VMenu`},{default:()=>[t.default?.(...e)]})})}),LS({id:o,ΨopenChildren:l},s)}});function BS({rootEl:e,isSticky:t,layoutItemStyles:n}){let r=F(!1),i=F(0),a=G(()=>{let e=typeof r.value==`boolean`?`top`:r.value;return[t.value?{top:`auto`,bottom:`auto`,height:void 0}:void 0,r.value?{[e]:q(i.value)}:{top:n.value.top}]});Gr(()=>{B(t,e=>{e?window.addEventListener(`scroll`,s,{passive:!0}):window.removeEventListener(`scroll`,s)},{immediate:!0})}),Jr(()=>{window.removeEventListener(`scroll`,s)});let o=0;function s(){let t=o>window.scrollY?`up`:`down`,a=e.value.getBoundingClientRect(),s=parseFloat(n.value.top??0),c=window.scrollY-Math.max(0,i.value-s),l=a.height+Math.max(i.value,s)-window.scrollY-window.innerHeight,u=parseFloat(getComputedStyle(e.value).getPropertyValue(`--v-body-scroll-y`))||0;a.height0;n--){if(e[n].t===e[n-1].t)continue;let r=US(t),i=(e[n].d-e[n-1].d)/(e[n].t-e[n-1].t);t+=(i-r)*Math.abs(i),n===e.length-1&&(t*=.5)}return US(t)*1e3}function GS(){let e={};function t(t){Array.from(t.changedTouches).forEach(n=>{(e[n.identifier]??(e[n.identifier]=new Lc(HS))).push([t.timeStamp,n])})}function n(t){Array.from(t.changedTouches).forEach(t=>{delete e[t.identifier]})}function r(t){let n=e[t]?.values().reverse();if(!n)throw Error(`No samples for touch id ${t}`);let r=n[0],i=[],a=[];for(let e of n){if(r[0]-e[0]>VS)break;i.push({t:e[0],d:e[1].clientX}),a.push({t:e[0],d:e[1].clientY})}return{x:WS(i),y:WS(a),get direction(){let{x:e,y:t}=this,[n,r]=[Math.abs(e),Math.abs(t)];return n>r&&e>=0?`right`:n>r&&e<=0?`left`:r>n&&t>=0?`down`:r>n&&t<=0?`up`:KS()}}}return{addMovement:t,endTouch:n,getVelocity:r}}function KS(){throw Error()}function qS({el:e,isActive:t,isTemporary:n,width:r,touchless:i,position:a}){Gr(()=>{window.addEventListener(`touchstart`,_,{passive:!0}),window.addEventListener(`touchmove`,v,{passive:!1}),window.addEventListener(`touchend`,y,{passive:!0})}),Jr(()=>{window.removeEventListener(`touchstart`,_),window.removeEventListener(`touchmove`,v),window.removeEventListener(`touchend`,y)});let o=G(()=>[`left`,`right`].includes(a.value)),{addMovement:s,endTouch:c,getVelocity:l}=GS(),u=!1,d=F(!1),f=F(0),p=F(0),m;function h(e,t){return(a.value===`left`?e:a.value===`right`?document.documentElement.clientWidth-e:a.value===`top`?e:a.value===`bottom`?document.documentElement.clientHeight-e:JS())-(t?r.value:0)}function g(e,t=!0){let n=a.value===`left`?(e-p.value)/r.value:a.value===`right`?(document.documentElement.clientWidth-e-p.value)/r.value:a.value===`top`?(e-p.value)/r.value:a.value===`bottom`?(document.documentElement.clientHeight-e-p.value)/r.value:JS();return t?Oc(n):n}function _(e){if(i.value)return;let l=e.changedTouches[0].clientX,d=e.changedTouches[0].clientY,_=a.value===`left`?l<25:a.value===`right`?l>document.documentElement.clientWidth-25:a.value===`top`?d<25:a.value===`bottom`?d>document.documentElement.clientHeight-25:JS(),v=t.value&&(a.value===`left`?ldocument.documentElement.clientWidth-r.value:a.value===`top`?ddocument.documentElement.clientHeight-r.value:JS());(_||v||t.value&&n.value)&&(m=[l,d],p.value=h(o.value?l:d,t.value),f.value=g(o.value?l:d),u=p.value>-20&&p.value<80,c(e),s(e))}function v(e){let t=e.changedTouches[0].clientX,n=e.changedTouches[0].clientY;if(u){if(!e.cancelable){u=!1;return}let r=Math.abs(t-m[0]),i=Math.abs(n-m[1]);(o.value?r>i&&r>3:i>r&&i>3)?(d.value=!0,u=!1):(o.value?i:r)>3&&(u=!1)}if(!d.value)return;e.preventDefault(),s(e);let r=g(o.value?t:n,!1);f.value=Math.max(0,Math.min(1,r)),r>1?p.value=h(o.value?t:n,!0):r<0&&(p.value=h(o.value?t:n,!1))}function y(e){if(u=!1,!d.value)return;s(e),d.value=!1;let n=l(e.changedTouches[0].identifier),r=Math.abs(n.x),i=Math.abs(n.y);(o.value?r>i&&r>400:i>r&&i>3)?t.value=n.direction===({left:`right`,right:`left`,top:`down`,bottom:`up`}[a.value]||JS()):t.value=f.value>.5}let b=G(()=>d.value?{transform:a.value===`left`?`translateX(calc(-100% + ${f.value*r.value}px))`:a.value===`right`?`translateX(calc(100% - ${f.value*r.value}px))`:a.value===`top`?`translateY(calc(-100% + ${f.value*r.value}px))`:a.value===`bottom`?`translateY(calc(100% - ${f.value*r.value}px))`:JS(),transition:`none`}:void 0);return Xu(d,()=>{let t=e.value?.style.transform??null,n=e.value?.style.transition??null;Gn(()=>{e.value?.style.setProperty(`transform`,b.value?.transform||`none`),e.value?.style.setProperty(`transition`,b.value?.transition||null)}),Oe(()=>{e.value?.style.setProperty(`transform`,t),e.value?.style.setProperty(`transition`,n)})}),{isDragging:d,dragProgress:f,dragStyles:b}}function JS(){throw Error()}var YS=[`start`,`end`,`left`,`right`,`top`,`bottom`],XS=J({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:`start`,validator:e=>YS.includes(e)},sticky:Boolean,...Y_(),...Y(),...oS(),...Sf({mobile:null}),...ev(),...$f(),...nv(),...yc(fS(),[`disableInitialFocus`]),...iv({tag:`nav`}),...Pf()},`VNavigationDrawer`),ZS=X()({name:`VNavigationDrawer`,props:XS(),emits:{"update:modelValue":e=>!0,"update:rail":e=>!0},setup(e,{attrs:t,emit:n,slots:r}){let{isRtl:i}=pd(),{themeClasses:a}=Kf(e),{borderClasses:o}=X_(e),{backgroundColorClasses:s,backgroundColorStyles:c}=sv(()=>e.color),{elevationClasses:l}=tv(e),{displayClasses:u,mobile:d}=Cf(e),{roundedClasses:f}=rv(e),p=ey(),m=Zu(e,`modelValue`,null,e=>!!e),{ssrBootStyles:h}=mb(),{scopeId:g}=xS(),_=P(),v=F(!1),{runOpenDelay:y,runCloseDelay:b}=sS(e,e=>{v.value=e}),x=G(()=>e.rail&&e.expandOnHover&&v.value?Number(e.width):Number(e.rail?e.railWidth:e.width)),S=G(()=>cl(e.location,i.value)),C=L(()=>e.persistent),w=G(()=>!e.permanent&&(d.value||e.temporary)),T=G(()=>e.sticky&&!w.value&&S.value!==`bottom`);_S(e,{isActive:m,localTop:w,contentEl:_}),Xu(()=>e.expandOnHover&&e.rail!=null,()=>{B(v,e=>n(`update:rail`,!e))}),Xu(()=>!e.disableResizeWatcher,()=>{B(w,t=>!e.permanent&&Dn(()=>m.value=!t))}),Xu(()=>!e.disableRouteWatcher&&!!p,()=>{B(p.currentRoute,()=>w.value&&(m.value=!1))}),B(()=>e.permanent,e=>{e&&(m.value=!0)}),e.modelValue==null&&!w.value&&(m.value=e.permanent||!d.value);let{isDragging:E,dragProgress:ee}=qS({el:_,isActive:m,isTemporary:w,width:x,touchless:L(()=>e.touchless),position:S}),te=G(()=>{let t=w.value?0:e.rail&&e.expandOnHover?Number(e.railWidth):x.value;return E.value?t*ee.value:t}),{layoutItemStyles:D,layoutItemScrimStyles:ne}=tp({id:e.name,order:G(()=>parseInt(e.order,10)),position:S,layoutSize:te,elementSize:x,active:Vt(m),disableTransitions:L(()=>E.value),absolute:G(()=>e.absolute||T.value&&typeof re.value!=`string`)}),{isStuck:re,stickyStyles:ie}=BS({rootEl:_,isSticky:T,layoutItemStyles:D}),ae=sv(()=>typeof e.scrim==`string`?e.scrim:null),O=G(()=>({...E.value?{opacity:ee.value*.2,transition:`none`}:void 0,...ne.value}));return yu({VList:{bgColor:`transparent`}}),Z(()=>{let n=r.image||e.image;return H(V,null,[U(e.tag,W({ref:_,onMouseenter:y,onMouseleave:b,class:[`v-navigation-drawer`,`v-navigation-drawer--${S.value}`,{"v-navigation-drawer--expand-on-hover":e.expandOnHover,"v-navigation-drawer--floating":e.floating,"v-navigation-drawer--is-hovering":v.value,"v-navigation-drawer--rail":e.rail,"v-navigation-drawer--temporary":w.value,"v-navigation-drawer--persistent":C.value,"v-navigation-drawer--active":m.value,"v-navigation-drawer--sticky":T.value},a.value,s.value,o.value,u.value,l.value,f.value,e.class],style:[c.value,D.value,h.value,ie.value,e.style],inert:!m.value},g,t),{default:()=>[n&&H(`div`,{key:`image`,class:`v-navigation-drawer__img`},[r.image?U(Dv,{key:`image-defaults`,disabled:!e.image,defaults:{VImg:{alt:``,cover:!0,height:`inherit`,src:e.image}}},r.image):U(cb,{key:`image-img`,alt:``,cover:!0,height:`inherit`,src:e.image},null)]),r.prepend&&H(`div`,{class:`v-navigation-drawer__prepend`},[r.prepend?.()]),H(`div`,{class:`v-navigation-drawer__content`},[r.default?.()]),r.append&&H(`div`,{class:`v-navigation-drawer__append`},[r.append?.()])]}),U(Fo,{name:`fade-transition`},{default:()=>[w.value&&(E.value||m.value)&&!!e.scrim&&H(`div`,W({class:[`v-navigation-drawer__scrim`,ae.backgroundColorClasses.value],style:[O.value,ae.backgroundColorStyles.value],onClick:()=>{C.value||(m.value=!1)}},g),null)]})])}),{isStuck:re}}}),QS=J({color:String,...Y_(),...Y(),...Rv(),...ev(),...Vv(),...Zv(),...nv(),...iv(),...Pf()},`VSheet`),$S=X()({name:`VSheet`,props:QS(),setup(e,{slots:t}){let{themeClasses:n}=Kf(e),{backgroundColorClasses:r,backgroundColorStyles:i}=sv(()=>e.color),{borderClasses:a}=X_(e),{dimensionStyles:o}=zv(e),{elevationClasses:s}=tv(e),{locationStyles:c}=Hv(e),{positionClasses:l}=Qv(e),{roundedClasses:u}=rv(e);return Z(()=>U(e.tag,{class:j([`v-sheet`,n.value,r.value,a.value,s.value,l.value,u.value,e.class]),style:A([i.value,o.value,c.value,e.style])},t)),{}}}),eC=Symbol.for(`vuetify:v-snackbar-queue`);function tC(e,t){let n=z(eC,null);if(!n)return null;let r=Er();n.register(r),Jr(()=>n.unregister(r)),B(e,e=>!e&&n.unregister(r),{flush:`sync`});let{resizeRef:i,contentRect:a}=Jf();return B(t,e=>{i.value=e??null}),B(a,e=>{e?.width&&n.setSize(r,e.height,e.width)}),{id:r,offset:G(()=>n.getOffset(r))}}function nC(e){let t=F(e()),n=-1;function r(){clearInterval(n)}function i(){r(),Dn(()=>t.value=e())}function a(i){let a=i?getComputedStyle(i):{transitionDuration:.2},o=parseFloat(a.transitionDuration)*1e3||200;if(r(),t.value<=0)return;let s=performance.now();n=window.setInterval(()=>{let n=performance.now()-s+o;t.value=Math.max(e()-n,0),t.value<=0&&r()},o)}return Oe(r),{clear:r,time:t,start:a,reset:i}}var rC=J({collapsed:Object,loading:Boolean,prependAvatar:String,prependIcon:zu,queueGap:Number,queueIndex:Number,title:String,text:String,reverseTimer:Boolean,timer:{type:[Boolean,String],default:!1},timerColor:String,timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Vv({location:`bottom`}),...Zv(),...nv(),...fv(),...Pf(),...yc(NS({closeOnBack:!1,transition:`v-snackbar-transition`}),[`persistent`,`noClickAnimation`,`offset`,`retainFocus`,`captureFocus`,`disableInitialFocus`,`scrim`,`scrollStrategy`,`stickToTarget`,`viewportMargin`])},`VSnackbar`),iC=X()({name:`VSnackbar`,props:rC(),emits:{"update:modelValue":e=>!0},setup(e,{slots:t}){let n=Zu(e,`modelValue`),{positionClasses:r}=Qv(e),{scopeId:i}=xS(),{themeClasses:a}=Kf(e),{colorClasses:o,colorStyles:s,variantClasses:c}=pv(e),{roundedClasses:l}=rv(e),u=nC(()=>Number(e.timeout)),d=P(),f=tC(n,()=>d.value?.contentEl),p,m=P(),h=F(!1),g=F(!1),_=F(0),v=P(),y=z(Yf,void 0);Xu(()=>!!y,()=>{let e=ep();Gn(()=>{v.value=e.mainStyles.value})}),B(n,x),B(()=>e.timeout,x),Gr(()=>{n.value&&x()});let b=-1;function x(){u.reset(),window.clearTimeout(b);let t=Number(e.timeout);if(!n.value||t===-1)return;let r=pc(m.value);Dn(()=>u.start(r)),b=window.setTimeout(()=>{n.value=!1},t)}function S(){u.reset(),window.clearTimeout(b)}function C(){h.value=!0,S()}function w(){h.value=!1,g.value||x()}function T(){g.value=!0,S()}function E(e){(d.value?.contentEl)?.contains(e.relatedTarget)||(g.value=!1,h.value||x())}function ee(e){_.value=e.touches[0].clientY}function te(e){Math.abs(_.value-e.changedTouches[0].clientY)>50&&(n.value=!1)}function D(){h.value&&w(),g.value=!1}let ne=G(()=>e.location.split(` `).reduce((e,t)=>(e[`v-snackbar--${t}`]=!0,e),{})),re=G(()=>{let[t,n]=e.location.split(` `);return t===`bottom`||[`left`,`right`].includes(t)&&n===`end`?-1:1}),ie=G(()=>e.collapsed?{"--v-snackbar-collapsed-height":q(e.collapsed.height),"--v-snackbar-collapsed-width":q(e.collapsed.width)}:null),ae=G(()=>f?f.offset.value===null?p:p=q(f.offset.value):{}),O=G(()=>{if(typeof e.transition!=`string`||!e.transition.endsWith(`-auto`))return e.transition;let t=e.transition.replace(`-auto`,``),[n,r]=e.location.split(` `);return`${t}-${[`start`,`end`,`left`,`right`].includes(r)||[`left`,`right`].includes(n)?`x`:`y`}${[`end`,`right`].includes(r)||![`start`,`left`].includes(r)&&[`bottom`,`right`].includes(n)?`-reverse`:``}-transition`});return Z(()=>{let f=yc(PS.filterProps(e),[`transition`]),p=!!(e.prependAvatar||e.prependIcon),g=!!(p||e.loading||t.prepend),_=!!(t.default||t.text||t.title||e.text||e.title);return U(PS,W({ref:d,class:[`v-snackbar`,{"v-snackbar--active":n.value,"v-snackbar--collapsed":!!e.collapsed,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},ne.value,r.value,e.class],style:[v.value,{"--v-snackbar-offset":ae.value,"--v-snackbar-gap":q(e.queueGap),"--v-snackbar-index":e.queueIndex,"--v-snackbar-direction":re.value},ie.value,e.style]},f,{transition:O.value,modelValue:n.value,"onUpdate:modelValue":e=>n.value=e,contentProps:W({class:[`v-snackbar__wrapper`,a.value,o.value,l.value,c.value],style:[s.value],onPointerenter:C,onPointerleave:w,onFocusin:T,onFocusout:E},f.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:`none`,_disableGlobalStack:!0,onTouchstartPassive:ee,onTouchend:te,onAfterLeave:D},i),{default:()=>[dv(!1,`v-snackbar`),t.header&&H(`div`,{class:`v-snackbar__header`},[t.header?.()]),e.timer&&u.time.value>0&&!h.value&&H(`div`,{key:`timer`,class:j([`v-snackbar__timer`,`v-snackbar__timer--${e.timer===`bottom`?`bottom`:`top`}`])},[U(Kv,{ref:m,color:e.timerColor??`info`,max:e.timeout,modelValue:e.reverseTimer?Number(e.timeout)-u.time.value:u.time.value},null)]),g&&U(Dv,{key:`prepend-defaults`,disabled:!p&&!e.loading,defaults:{VAvatar:{image:e.prependAvatar},VIcon:{icon:e.prependIcon},VProgressCircular:{indeterminate:!0,size:24,width:3}}},{default:()=>[H(`div`,{class:`v-snackbar__prepend`},[t.prepend?t.prepend():H(V,null,[e.loading&&U(Lv,null,null),!e.loading&&e.prependAvatar&&U(Cb,null,null),!e.loading&&e.prependIcon&&U(Mv,null,null)])])]}),_&&H(`div`,{key:`content`,class:`v-snackbar__content`,role:`status`,"aria-live":`polite`},[t.title?.()??(e.title?H(`div`,{class:`v-snackbar__title`,key:`title`},[e.title]):``),t.text?.()??e.text,t.default?.()]),t.actions&&U(Dv,{defaults:{VBtn:{variant:`text`,ripple:!1,slim:!0}}},{default:()=>[H(`div`,{class:`v-snackbar__actions`},[t.actions({isActive:n})])]})],activator:t.activator})}),LS({},d)}}),aC={class:`hidden-sm-and-down`},oC={key:2,class:`nexus-script-exec-bar`},sC={class:`d-flex align-center flex-wrap ga-2 mb-1`},cC={class:`text-body-2 font-weight-medium text-truncate`},lC={class:`text-caption text-medium-emphasis`},uC={class:`ml-2`},dC={key:3,class:`nexus-top-center-script-notices`},fC={class:`d-flex align-center flex-wrap ga-2 justify-center`},pC=Zs(Tr({__name:`App`,setup(e){let t=[...q_],n=mh(),r=ph(),i=qf(),a=hg(),o=g_(),{runningItems:s,completeAlerts:c,dismissCompleteAlert:l}=s_(),{playCompleteSound:u,syncFromServer:d}=M_();function f(e){return e===`completed`?`success`:e===`failed`?`error`:e===`partial`?`warning`:`info`}function p(e){if(l(e.executionId),e.taskKind===`server_batch`){x_(e.executionId,e.label);return}r.push(__(e.executionId,`script`)).catch(()=>{})}function m(e){e.taskKind===`server_batch`&&x_(e.executionId,e.label)}Gr(()=>{a_(()=>u())}),B(()=>a.isLoggedIn,e=>{e?(o.connect(),h(),d()):o.disconnect()},{immediate:!0});async function h(){if(a.isLoggedIn)try{let e=await ug(`/settings/theme`);(e.value===`dark`||e.value===`light`)&&(i.global.name.value=e.value,localStorage.setItem(`nexus_theme`,e.value))}catch{}}async function g(){let e=i.global.current.value.dark?`light`:`dark`;i.global.name.value=e,localStorage.setItem(`nexus_theme`,e);try{await ug(`/settings/theme`,{method:`PUT`,body:JSON.stringify({value:e})})}catch{}}let _=P(!0),{mobile:v}=Cf();Vn(`nexusDrawer`,_);let y=G(()=>({"nexus-terminal-main":n.path===`/terminal`,"nexus-page-main":n.path!==`/terminal`&&n.path!==`/login`})),b=G(()=>{let e=s.value.length;if(!(!e||!a.isLoggedIn))return{paddingTop:`calc(var(--v-layout-top, 64px) + ${e*52}px)`}}),x=[{to:`/`,title:`仪表盘`,icon:`mdi-view-dashboard-outline`},{to:`/servers`,title:`服务器`,icon:`mdi-server`},{to:`/terminal`,title:`终端`,icon:`mdi-console`},{to:`/files`,title:`文件管理`,icon:`mdi-folder-outline`},{to:`/push`,title:`推送`,icon:`mdi-upload-outline`},{to:`/scripts`,title:`脚本库`,icon:`mdi-code-braces`},{to:`/executions`,title:`执行记录`,icon:`mdi-clipboard-play-outline`},{to:`/schedules`,title:`调度`,icon:`mdi-clock-outline`},{to:`/retries`,title:`重试队列`,icon:`mdi-refresh`}],S=[{to:`/commands`,title:`命令日志`,icon:`mdi-console`},{to:`/alerts`,title:`告警中心`,icon:`mdi-bell-outline`},{to:`/audit`,title:`审计日志`,icon:`mdi-clipboard-text-outline`}],C=zt({show:!1,text:``,color:`success`});function w(e){n.path!==e&&r.push(e).catch(()=>{}),v.value&&(_.value=!1)}function T(){B_(),a.logout(),r.push(`/login`)}return window.$snackbar=(e,t=`success`)=>{C.text=e,C.color=t,C.show=!0},(e,i)=>{let o=ti(`router-view`);return Aa(),Ia(Iy,null,{default:R(()=>[I(a).isLoggedIn?(Aa(),Ia(gb,{key:0,color:`primary`,elevation:`0`,flat:``,class:`ps-4`},{append:R(()=>[U(ky,{class:`text-none me-1 px-3`,height:`48`,slim:``},{prepend:R(()=>[U(Cb,{color:`surface-light`,size:`32`,start:``},{default:R(()=>[U(Mv,{icon:`mdi-account`,size:`18`})]),_:1})]),append:R(()=>[U(Mv,{icon:`mdi-chevron-down`})]),default:R(()=>[H(`span`,aC,xe(I(a).admin?.username||`管理员`),1),U(zS,{activator:`parent`},{default:R(()=>[U(Mx,{density:`compact`,nav:``},{default:R(()=>[U(_x,{"prepend-icon":`mdi-theme-light-dark`,title:`切换主题`,link:``,onClick:g}),U(_x,{"prepend-icon":`mdi-cog-outline`,title:`设置`,link:``,onClick:i[1]||=e=>I(r).push(`/settings`)}),U(_x,{"prepend-icon":`mdi-logout`,title:`退出登录`,link:``,onClick:T})]),_:1})]),_:1})]),_:1})]),default:R(()=>[U(vb,{class:`mr-3`,onClick:i[0]||=e=>_.value=!_.value}),U(Cb,{color:`surface`,size:`40`,class:`pa-1`},{default:R(()=>[U(Mv,{icon:`mdi-server-network`,size:`24`})]),_:1}),U(yb,null,{default:R(()=>[...i[8]||=[Wa(`Nexus`,-1)]]),_:1})]),_:1})):Ga(``,!0),I(a).isLoggedIn?(Aa(),Ia(ZS,{key:1,modelValue:_.value,"onUpdate:modelValue":i[5]||=e=>_.value=e,color:`surface`,width:`250`,class:`nexus-nav-drawer`,temporary:I(v)},{append:R(()=>[U(_x,{active:I(n).path===`/settings`,"prepend-icon":`mdi-cog-outline`,title:`设置`,"active-class":`text-primary`,class:`ma-2`,link:``,nav:``,slim:``,onClick:i[2]||=e=>I(r).push(`/settings`),onMouseenter:i[3]||=e=>I(G_)(`/settings`),onMouseleave:i[4]||=e=>I(K_)(`/settings`)},null,8,[`active`])]),default:R(()=>[U(Mx,{nav:``,slim:``},{default:R(()=>[U(yx,null,{default:R(()=>[...i[9]||=[Wa(`运维`,-1)]]),_:1}),(Aa(),Fa(V,null,oi(x,e=>U(_x,{key:e.to,"prepend-icon":e.icon,title:e.title,to:e.to,active:I(n).path===e.to,"active-class":`text-primary`,link:``,nav:``,slim:``,onClick:t=>w(e.to),onMouseenter:t=>I(G_)(e.to),onMouseleave:t=>I(K_)(e.to)},null,8,[`prepend-icon`,`title`,`to`,`active`,`onClick`,`onMouseenter`,`onMouseleave`])),64))]),_:1}),U(zb,{class:`mx-3 my-1`}),U(Mx,{nav:``,slim:``},{default:R(()=>[U(yx,null,{default:R(()=>[...i[10]||=[Wa(`系统`,-1)]]),_:1}),(Aa(),Fa(V,null,oi(S,e=>U(_x,{key:e.to,"prepend-icon":e.icon,title:e.title,to:e.to,active:I(n).path===e.to,"active-class":`text-primary`,link:``,nav:``,slim:``,onClick:t=>w(e.to),onMouseenter:t=>I(G_)(e.to),onMouseleave:t=>I(K_)(e.to)},null,8,[`prepend-icon`,`title`,`to`,`active`,`onClick`,`onMouseenter`,`onMouseleave`])),64))]),_:1})]),_:1},8,[`modelValue`,`temporary`])):Ga(``,!0),I(a).isLoggedIn&&I(s).length?(Aa(),Fa(`div`,oC,[(Aa(!0),Fa(V,null,oi(I(s),e=>(Aa(),Ia($S,{key:e.executionId,class:j([`nexus-script-exec-bar__item px-4 py-2`,{"nexus-script-exec-bar__item--clickable":e.taskKind===`server_batch`}]),color:`surface`,border:``,onClick:t=>e.taskKind===`server_batch`?m(e):void 0},{default:R(()=>[H(`div`,sC,[H(`span`,cC,xe(e.label),1),U(Ib,{size:`x-small`,variant:`tonal`,color:`primary`,label:``},{default:R(()=>[Wa(`#`+xe(e.executionId),1)]),_:2},1024),U(Bb),H(`span`,lC,[Wa(` 已进行 `+xe(e.done)+` 台,剩余 `+xe(e.remaining)+` 台 `,1),H(`span`,uC,`(`+xe(e.progress)+`)`,1)])]),U(Kv,{"model-value":e.total?Math.round(e.done/e.total*100):0,color:`primary`,height:`6`,rounded:``,striped:``,stream:``},null,8,[`model-value`])]),_:2},1032,[`class`,`onClick`]))),128))])):Ga(``,!0),I(a).isLoggedIn&&(I(P_).visible||I(c).length)?(Aa(),Fa(`div`,dC,[U(Fo,{name:`nexus-script-submit-toast-fade`},{default:R(()=>[I(P_).visible?(Aa(),Ia(Py,{key:`script-submit`,color:I(P_).color,variant:`tonal`,density:`compact`,class:`nexus-top-center-script-notices__item`,role:`status`,onClick:i[6]||=e=>I(L_)()},{default:R(()=>[Wa(xe(I(P_).text),1)]),_:1},8,[`color`])):Ga(``,!0)]),_:1}),(Aa(!0),Fa(V,null,oi(I(c),e=>(Aa(),Ia(Py,{key:e.executionId,class:j([`nexus-top-center-script-notices__item`,{"nexus-script-exec-alert--fading":e.fading}]),type:f(e.status),variant:`tonal`,closable:``,density:`compact`,onClick:t=>I(l)(e.executionId),"onClick:close":t=>I(l)(e.executionId)},{default:R(()=>[H(`div`,fC,[H(`span`,null,` 「`+xe(e.label)+`」执行结束: 成功 `+xe(e.success)+` / 失败 `+xe(e.failed)+` / 共 `+xe(e.total)+` 台 `,1),U(ky,{size:`small`,variant:`text`,color:`primary`,onClick:Gs(t=>p(e),[`stop`])},{default:R(()=>[...i[11]||=[Wa(` 查看详情 `,-1)]]),_:1},8,[`onClick`])])]),_:2},1032,[`class`,`type`,`onClick`,`onClick:close`]))),128))])):Ga(``,!0),U(Px,{class:j(y.value),style:A(b.value)},{default:R(()=>[U(o,null,{default:R(({Component:e,route:n})=>[(Aa(),Ia(Pr,{include:t,max:12},[(Aa(),Ia(ri(e),{key:n.name??n.path}))],1024))]),_:1})]),_:1},8,[`class`,`style`]),U(iC,{modelValue:C.show,"onUpdate:modelValue":i[7]||=e=>C.show=e,color:C.color,timeout:3e3,location:`top`,class:`nexus-top-center-snackbar`,"multi-line":``},{default:R(()=>[Wa(xe(C.text),1)]),_:1},8,[`modelValue`,`color`])]),_:1})}}}));Sg(pC),pC.mount(`#app`);export{Tv as $,_c as $n,L as $r,Jh as $t,Yy as A,rl as An,Jr as Ar,a_ as At,Qv as B,cc as Bn,Fi as Br,Vg as Bt,mb as C,Y as Cn,yo as Cr,S_ as Ct,nb as D,pl as Dn,Dn as Dr,__ as Dt,rb as E,_l as En,W as Er,y_ as Et,Oy as F,Dc as Fn,Vn as Fr,Lg as Ft,Vv as G,dc as Gn,N as Gr,$ as Gt,qv as H,Mc as Hn,Gn as Hr,Og as Ht,Dy as I,Xc as In,oi as Ir,Ig as It,zv as J,mc as Jn,en as Jr,pg as Jt,Hv as K,xc as Kn,qt as Kr,hg as Kt,ny as L,nl as Ln,ci as Lr,Ng as Lt,Gy as M,Oc as Mn,Gr as Mr,i_ as Mt,Py as N,q as Nn,Yr as Nr,s_ as Nt,Zy as O,Vc as On,Ir as Or,v_ as Ot,ky as P,uc as Pn,Aa as Pr,Bg as Pt,Dv as Q,yc as Qn,M as Qr,qh as Qt,ty as R,Tc as Rn,ri as Rr,zg as Rt,Cb as S,mu as Sn,Tr as Sr,C_ as St,ob as T,vl as Tn,hi as Tr,x_ as Tt,Jv as U,wc as Un,R as Ur,wg as Ut,Yv as V,lc as Vn,B as Vr,Hg as Vt,Kv as W,qc as Wn,zn as Wr,yg as Wt,Mv as X,Yc as Xn,P as Xr,dg as Xt,Lv as Y,hc as Yn,zt as Yr,og as Yt,kv as Z,Jc as Zn,F as Zr,Zh as Zt,Bb as _,wu as _n,Ga as _r,X_ as _t,NS as a,A as ai,mf as an,ec as ar,fv as at,Mb as b,yu as bn,Wa as br,I_ as bt,bS as c,ud as cn,$o as cr,ov as ct,wx as d,Xu as dn,V as dr,rv as dt,rn as ei,mh as en,Ec as er,_v as et,Ex as f,zu as fn,sr as fr,ev as ft,mx as g,Du as gn,Ia as gr,Y_ as gt,hx as h,ku as hn,H as hr,$_ as ht,PS as i,j as ii,Kf as in,tc as ir,dv as it,Xy as j,el as jn,Kr as jr,r_ as jt,Qy as k,Uc as kn,Wr as kr,g_ as kt,Mx as l,pd as ln,qs as lr,iv as lt,_x as m,Nu as mn,G as mr,Q_ as mt,zS as n,I as ni,Jf as nn,oc as nr,yv as nt,xS as o,xe as oi,Sf as on,nc as or,pv as ot,yx as p,Z as pn,Ua as pr,tv as pt,Rv as q,tl as qn,Oe as qr,fg as qt,LS as r,ie as ri,Pf as rn,ac as rr,vv as rt,yS as s,Cf as sn,Hs as sr,sv as st,$S as t,Qt as ti,ph as tn,K as tr,gv as tt,Sx as u,Zu as un,Gs as ur,nv as ut,zb as v,Cu as vn,Fa as vr,z_ as vt,cb as w,J as wn,z as wr,T_ as wt,jb as x,pu as xn,U as xr,M_ as xt,Ib as y,X as yn,si as yr,V_ as yt,Zv as z,Wc as zn,Er as zr,Rg as zt}; \ No newline at end of file diff --git a/web/app/assets/initMonaco-BdzAW2O1.js b/web/app/assets/initMonaco-CvAS2Es9.js similarity index 99% rename from web/app/assets/initMonaco-BdzAW2O1.js rename to web/app/assets/initMonaco-CvAS2Es9.js index b4bd46ab..f6e14359 100644 --- a/web/app/assets/initMonaco-BdzAW2O1.js +++ b/web/app/assets/initMonaco-CvAS2Es9.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/cssMode-CjuUAicz.js","assets/lspLanguageFeatures-cKKqM8zw.js","assets/htmlMode-CznTvgCZ.js","assets/jsonMode-WgcFR8dM.js","assets/javascript-D2Wzjcn9.js","assets/typescript-BJa1H8hB.js"])))=>i.map(i=>d[i]); -import{Gt as e}from"./index-DawRgH7u.js";var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r};function r(){return globalThis._VSCODE_NLS_MESSAGES}function i(){return globalThis._VSCODE_NLS_LANGUAGE}var a=i()===`pseudo`||typeof document<`u`&&document.location&&typeof document.location.hash==`string`&&document.location.hash.indexOf(`pseudo=true`)>=0;function o(e,t){let n;return n=t.length===0?e:e.replace(/\{(\d+)\}/g,(e,n)=>{let r=t[n[0]],i=e;return typeof r==`string`?i=r:(typeof r==`number`||typeof r==`boolean`||r==null)&&(i=String(r)),i}),a&&(n=`[`+n.replace(/[aouei]/g,`$&$&`)+`]`),n}function s(e,t,...n){return o(typeof e==`number`?c(e,t):t,n)}function c(e,t){let n=r()?.[e];if(typeof n!=`string`){if(typeof t==`string`)return t;throw Error(`!!! NLS MISSING: ${e} !!!`)}return n}function l(e,t,...n){let r;r=typeof e==`number`?c(e,t):t;let i=o(r,n);return{value:i,original:t===r?i:o(t,n)}}function u(e,t){let n=e;typeof n.vscodeWindowId!=`number`&&Object.defineProperty(n,"vscodeWindowId",{get:()=>t})}var d=window,f=class e{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new e}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}};function p(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}function m(e){return f.INSTANCE.getZoomFactor(e)}var h=navigator.userAgent,g=h.indexOf(`Firefox`)>=0,_=h.indexOf(`AppleWebKit`)>=0,v=h.indexOf(`Chrome`)>=0,y=!v&&h.indexOf(`Safari`)>=0,b=!v&&!y&&_;h.indexOf(`Electron/`);var x=h.indexOf(`Android`)>=0,S=!1;if(typeof d.matchMedia==`function`){let e=d.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=d.matchMedia(`(display-mode: fullscreen)`);S=e.matches,p(d,e,({matches:e})=>{S&&t.matches||(S=e)})}function ee(){return globalThis.MonacoEnvironment}var te=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?fe.isErrorNoTelemetry(e)?new fe(e.message+` +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/cssMode-CscEBWSh.js","assets/lspLanguageFeatures-CyUInuAF.js","assets/htmlMode-YP8ByLs9.js","assets/jsonMode-L_XyLhtg.js","assets/javascript-B5T4qecq.js","assets/typescript-CnV6nxa6.js"])))=>i.map(i=>d[i]); +import{Gt as e}from"./index-Bplw5zZe.js";var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r};function r(){return globalThis._VSCODE_NLS_MESSAGES}function i(){return globalThis._VSCODE_NLS_LANGUAGE}var a=i()===`pseudo`||typeof document<`u`&&document.location&&typeof document.location.hash==`string`&&document.location.hash.indexOf(`pseudo=true`)>=0;function o(e,t){let n;return n=t.length===0?e:e.replace(/\{(\d+)\}/g,(e,n)=>{let r=t[n[0]],i=e;return typeof r==`string`?i=r:(typeof r==`number`||typeof r==`boolean`||r==null)&&(i=String(r)),i}),a&&(n=`[`+n.replace(/[aouei]/g,`$&$&`)+`]`),n}function s(e,t,...n){return o(typeof e==`number`?c(e,t):t,n)}function c(e,t){let n=r()?.[e];if(typeof n!=`string`){if(typeof t==`string`)return t;throw Error(`!!! NLS MISSING: ${e} !!!`)}return n}function l(e,t,...n){let r;r=typeof e==`number`?c(e,t):t;let i=o(r,n);return{value:i,original:t===r?i:o(t,n)}}function u(e,t){let n=e;typeof n.vscodeWindowId!=`number`&&Object.defineProperty(n,"vscodeWindowId",{get:()=>t})}var d=window,f=class e{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new e}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}};function p(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}function m(e){return f.INSTANCE.getZoomFactor(e)}var h=navigator.userAgent,g=h.indexOf(`Firefox`)>=0,_=h.indexOf(`AppleWebKit`)>=0,v=h.indexOf(`Chrome`)>=0,y=!v&&h.indexOf(`Safari`)>=0,b=!v&&!y&&_;h.indexOf(`Electron/`);var x=h.indexOf(`Android`)>=0,S=!1;if(typeof d.matchMedia==`function`){let e=d.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=d.matchMedia(`(display-mode: fullscreen)`);S=e.matches,p(d,e,({matches:e})=>{S&&t.matches||(S=e)})}function ee(){return globalThis.MonacoEnvironment}var te=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?fe.isErrorNoTelemetry(e)?new fe(e.message+` `+e.stack):Error(e.message+` @@ -870,7 +870,7 @@ ${m6(L.menuSubmenu)} `:`\r `}};r5=Y8([X8(0,rd)],r5);var $Ne=class{publicLog2(){}},ePe=class e{static{this.SCHEME=`inmemory`}constructor(){let t=Zr.from({scheme:e.SCHEME,authority:`model`,path:`/`});this.workspace={id:qP,folders:[new y_e({uri:t,name:``,index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(t){return t&&t.scheme===e.SCHEME?this.workspace.folders[0]:null}};function i5(e,t,n){if(!t||!(e instanceof t5))return;let r=[];Object.keys(t).forEach(e=>{B_e(e)&&r.push([`editor.${e}`,t[e]]),n&&V_e(e)&&r.push([`diffEditor.${e}`,t[e]])}),r.length>0&&e.updateValues(r)}var a5=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){let n=Array.isArray(e)?e:TP.convert(e),r=new Map;for(let e of n){if(!(e instanceof EP))throw Error(`bad edit - only text edits are supported`);let t=this._modelService.getModel(e.resource);if(!t)throw Error(`bad edit - model not found`);if(typeof e.versionId==`number`&&t.getVersionId()!==e.versionId)throw Error(`bad state - model changed in the meantime`);let n=r.get(t);n||(n=[],r.set(t,n)),n.push(Zz.replaceMove(W.lift(e.textEdit.range),e.textEdit.text))}let i=0,a=0;for(let[e,t]of r)e.pushStackElement(),e.pushEditOperations([],t,()=>[]),e.pushStackElement(),a+=1,i+=t.length;return{ariaSummary:kn(x0.bulkEditServiceSummary,i,a),isApplied:i>0}}};a5=Y8([X8(0,js)],a5);var tPe=class{getUriLabel(e,t){return e.scheme===`file`?e.fsPath:e.path}getUriBasenameLabel(e){return qc(e)}},o5=class extends oMe{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,n){if(!t){let e=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();e&&(t=e.getContainerDomNode())}return super.showContextView(e,t,n)}};o5=Y8([X8(0,CF),X8(1,As)],o5);var nPe=class{constructor(){this._neverEmitter=new k,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},rPe=class extends kMe{constructor(){super()}},iPe=class extends WNe{constructor(){super(new ol)}},s5=class extends g6{constructor(e,t,n,r,i,a){super(e,t,n,r,i,a),this.configure({blockMouse:!1})}};s5=Y8([X8(0,jc),X8(1,db),X8(2,fM),X8(3,Db),X8(4,wc),X8(5,fc)],s5);var aPe={esmModuleLocation:void 0,label:`editorWorkerService`},c5=class extends L4{constructor(e,t,n,r,i){super(aPe,e,t,n,r,i)}};c5=Y8([X8(0,js),X8(1,d$),X8(2,el),X8(3,Pd),X8(4,Q)],c5);var oPe=class{async playSignal(e,t){}};pd(el,iPe,0),pd(rd,t5,0),pd(d$,n5,0),pd(f$,r5,0),pd(GP,ePe,0),pd(qU,tPe,0),pd(jc,$Ne,0),pd(w1,XNe,0),pd(JI,YNe,0),pd(db,ZNe,0),pd(yI,HNe,0),pd(ud,rPe,0),pd(C0,GAe,0),pd(js,k6,0),pd(Mf,T6,0),pd(fc,G8,0),pd(iE,JNe,0),pd(oE,qNe,0),pd(YM,nge,0),pd(Bj,c5,0),pd(wP,a5,0),pd(l1,nPe,0),pd(Ms,Z8,0),pd(Rp,P8,0),pd(NH,PH,0),pd(Hs,Q8,0),pd(Db,$8,0),pd(yP,j8,0),pd(fM,o5,0),pd(PP,C6,0),pd(dM,R8,0),pd(pM,s5,0),pd(wc,yN,0),pd($T,oPe,0),pd(ww,GNe,0),pd(tl,ul,0),pd(qq,jSe,0);var l5;(function(e){let t=new HT;for(let[e,n]of md())t.set(e,n);let n=new RNe(t,!0);t.set(Os,n);function r(e){i||o({});let r=t.get(e);if(!r)throw Error(`Missing service `+e);return r instanceof dd?n.invokeFunction(t=>t.get(e)):r}e.get=r;let i=!1,a=new k;function o(e){if(i)return n;i=!0;for(let[e,n]of md())t.get(e)||t.set(e,n);for(let n in e)if(e.hasOwnProperty(n)){let r=ks(n);t.get(r)instanceof dd&&t.set(r,e[n])}let r=wve();for(let e of r)try{n.createInstance(e)}catch(e){C(e)}return a.fire(),n}e.initialize=o;function s(e){if(i)return e();let t=new E,n=t.add(a.event(()=>{n.dispose(),t.add(e())}));return t}e.withServices=s})(l5||={});var sPe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},u5=function(e,t){return function(n,r){t(n,r,e)}},d5,f5=class{static{d5=this}static{this._ttpTokenizer=O_(`tokenizeToString`,{createHTML(e){return e}})}constructor(e,t){this._configurationService=e,this._languageService=t}async renderCodeBlock(e,t,n){let r=cB(n.context)?n.context:void 0,i;e?i=this._languageService.getLanguageIdByLanguageName(e):r&&(i=r.getModel()?.getLanguageId()),i||=kd;let a=await ffe(this._languageService,t,i),o=d5._ttpTokenizer?d5._ttpTokenizer.createHTML(a)??a:a,s=document.createElement(`span`);s.innerHTML=o;let c=s.querySelector(`.monaco-tokenized-source`);return Uo(c)?(Lf(c,this.getFontInfo(r)),s):document.createElement(`span`)}getFontInfo(e){return e?e.getOption(59):Lp({fontFamily:this._configurationService.getValue(`editor`).fontFamily},1)}};f5=d5=sPe([u5(0,rd),u5(1,ud)],f5);var p5=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},m5=function(e,t){return function(n,r){t(n,r,e)}},cPe=0,h5=!1;function lPe(e){if(!e){if(h5)return;h5=!0}rne(e||d.document.body)}var g5=class extends GT{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){let m={...t};m.ariaLabel=m.ariaLabel||y0.editorViewAccessibleLabel,super(e,m,{},n,r,i,a,c,l,u,d,f),s instanceof $8?this._standaloneKeybindingService=s:this._standaloneKeybindingService=null,lPe(m.ariaContainerElement),Qfe((e,t)=>n.createInstance(jN,e,{instantHover:t},{})),ome(o),p.setDefaultCodeBlockRenderer(n.createInstance(f5))}addCommand(e,t,n){if(!this._standaloneKeybindingService)return console.warn(`Cannot add command because the editor is configured with an unrecognized KeybindingService`),null;let r=`DYNAMIC_`+ ++cPe,i=R.deserialize(n);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,i),r}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`),D.None;let t=e.id,n=e.label,r=R.and(R.equals(`editorId`,this.getId()),R.deserialize(e.precondition)),i=e.keybindings,a=R.and(r,R.deserialize(e.keybindingContext)),o=e.contextMenuGroupId||null,s=e.contextMenuOrder||0,c=(t,...n)=>Promise.resolve(e.run(this,...n)),l=new E,u=this.getId()+`:`+t;if(l.add(Us.registerCommand(u,c)),o){let e={command:{id:u,title:n},when:r,group:o,order:s};l.add(Ec.appendMenuItem(B.EditorContext,e))}if(Array.isArray(i))for(let e of i)l.add(this._standaloneKeybindingService.addDynamicKeybinding(u,e,c,a));let d=new wx(u,n,n,void 0,r,(...t)=>Promise.resolve(e.run(this,...t)),this._contextKeyService);return this._actions.set(t,d),l.add(T(()=>{this._actions.delete(t)})),l}_triggerCommand(e,t){if(this._codeEditorService instanceof o3)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};g5=p5([m5(2,Os),m5(3,As),m5(4,Hs),m5(5,fc),m5(6,AN),m5(7,Db),m5(8,R_),m5(9,db),m5(10,Rp),m5(11,Pd),m5(12,Q),m5(13,FP)],g5);var _5=class extends g5{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g){let _={...t};i5(u,_,!1);let v=c.registerEditorContainer(e);typeof _.theme==`string`&&c.setTheme(_.theme),_.autoDetectHighContrast!==void 0&&c.setAutoDetectHighContrast(!!_.autoDetectHighContrast);let y=_.model;delete _.model,super(e,_,n,r,i,a,o,s,c,l,d,m,h,g),this._configurationService=u,this._standaloneThemeService=c,this._register(v);let b;if(y===void 0){let e=p.getLanguageIdByMimeType(_.language)||_.language||`plaintext`;b=y5(f,p,_.value||``,e,void 0),this._ownsModel=!0}else b=y,this._ownsModel=!1;if(this._attachModel(b),b){let e={oldModelUrl:null,newModelUrl:b.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){i5(this._configurationService,e,!1),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};_5=p5([m5(2,Os),m5(3,As),m5(4,Hs),m5(5,fc),m5(6,AN),m5(7,Db),m5(8,C0),m5(9,db),m5(10,rd),m5(11,Rp),m5(12,js),m5(13,ud),m5(14,Pd),m5(15,Q),m5(16,FP)],_5);var v5=class extends JN{constructor(e,t,n,r,i,a,o,s,c,l,u,d){let f={...t};i5(s,f,!0);let p=a.registerEditorContainer(e);typeof f.theme==`string`&&a.setTheme(f.theme),f.autoDetectHighContrast!==void 0&&a.setAutoDetectHighContrast(!!f.autoDetectHighContrast),super(e,f,{},r,n,i,d,l),this._configurationService=s,this._standaloneThemeService=a,this._register(p)}dispose(){super.dispose()}updateOptions(e){i5(this._configurationService,e,!0),typeof e.theme==`string`&&this._standaloneThemeService.setTheme(e.theme),e.autoDetectHighContrast!==void 0&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,n){return e.createInstance(g5,t,n)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,n){return this.getModifiedEditor().addCommand(e,t,n)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};v5=p5([m5(2,Os),m5(3,fc),m5(4,As),m5(5,C0),m5(6,db),m5(7,rd),m5(8,pM),m5(9,oE),m5(10,dM),m5(11,$T)],v5);function y5(e,t,n,r,i){if(n||=``,!r){let r=n.indexOf(` `),a=n;return r!==-1&&(a=n.substring(0,r)),b5(e,n,t.createByFilepathOrFirstLine(i||null,a),i)}return b5(e,n,t.createById(r),i)}function b5(e,t,n,r){return e.createModel(t,n,r)}Z(`multiDiffEditor.headerBackground`,{dark:`#262626`,light:`tab.inactiveBackground`,hcDark:`tab.inactiveBackground`,hcLight:`tab.inactiveBackground`},s(142,`The background color of the diff editor's header`)),Z(`multiDiffEditor.background`,Um,s(143,`The background color of the multi file diff editor`)),Z(`multiDiffEditor.border`,{dark:`sideBarSectionHeader.border`,light:`#cccccc`,hcDark:`sideBarSectionHeader.border`,hcLight:`#cccccc`},s(144,`The border color of the multi file diff editor`));var uPe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},x5=function(e,t){return function(n,r){t(n,r,e)}},dPe=class{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}},S5=class extends D{constructor(e,t,n,r,i){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=n,this._instantiationService=r,this._viewModel=$a(this,void 0),this._collapsed=A(this,e=>this._viewModel.read(e)?.collapsed.read(e)),this._editorContentHeight=$a(this,500),this.contentHeight=A(this,e=>(this._collapsed.read(e)?0:this._editorContentHeight.read(e))+this._outerEditorHeight),this._modifiedContentWidth=$a(this,0),this._modifiedWidth=$a(this,0),this._originalContentWidth=$a(this,0),this._originalWidth=$a(this,0),this.maxScroll=A(this,e=>{let t=this._modifiedContentWidth.read(e)-this._modifiedWidth.read(e),n=this._originalContentWidth.read(e)-this._originalWidth.read(e);return t>n?{maxScroll:t,width:this._modifiedWidth.read(e)}:{maxScroll:n,width:this._originalWidth.read(e)}}),this._elements=os(`div.multiDiffEntry`,[os(`div.header@header`,[os(`div.header-content`,[os(`div.collapse-button@collapseButton`),os(`div.file-path`,[os(`div.title.modified.show-file-icons@primaryPath`,[]),os(`div.status.deleted@status`,[`R`]),os(`div.title.original.show-file-icons@secondaryPath`,[])]),os(`div.actions@actions`)])]),os(`div.editorParent`,[os(`div.editorContainer@editor`)])]),this.editor=this._register(this._instantiationService.createInstance(JN,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{})),this.isModifedFocused=CM(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=CM(this.editor.getOriginalEditor()).isFocused,this.isFocused=A(this,e=>this.isModifedFocused.read(e)||this.isOriginalFocused.read(e)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new E),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;let a=new gF(this._elements.collapseButton,{});this._register(Ma(e=>{a.element.className=``,a.icon=this._collapsed.read(e)?L.chevronRight:L.chevronDown})),this._register(a.onDidClick(()=>{this._viewModel.get()?.collapsed.set(!this._collapsed.get(),void 0)})),this._register(Ma(e=>{this._elements.editor.style.display=this._collapsed.read(e)?`none`:`block`})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(e=>{let t=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(t,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(e=>{let t=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(t,void 0)})),this._register(this.editor.onDidContentSizeChange(e=>{za(t=>{this._editorContentHeight.set(e.contentHeight,t),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),t),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),t)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(e=>{if(this._isSettingScrollTop||!e.scrollTopChanged||!this._data)return;let t=e.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(t)})),this._register(Ma(e=>{let t=this._viewModel.read(e)?.isActive.read(e);this._elements.root.classList.toggle(`active`,t)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(i.createScoped(this._elements.actions));let o=this._register(this._instantiationService.createChild(new HT([fc,this._contextKeyService])));this._register(o.createInstance(ON,this._elements.actions,B.MultiDiffEditorFileToolbar,{actionRunner:this._register(new NN(()=>this._viewModel.get()?.modifiedUri??this._viewModel.get()?.originalUri)),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:e=>e.startsWith(`navigation`)},actionViewItemProvider:(e,t)=>mN(o,e,t)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(e){return{...e,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:`hidden`,horizontal:`hidden`,handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){za(e=>{this._viewModel.set(void 0,e),this.editor.setDiffModel(null,e),this._dataStore.clear()});return}let n=e.viewModel.documentDiffItem;if(za(r=>{this._resourceLabel?.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let i=!1,a=!1,o=!1,s=``;e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(s=`R`,i=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(s=`A`,o=!0):(s=`D`,a=!0),this._elements.status.classList.toggle(`renamed`,i),this._elements.status.classList.toggle(`deleted`,a),this._elements.status.classList.toggle(`added`,o),this._elements.status.innerText=s,this._resourceLabel2?.setUri(i?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,r),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,r),this.editor.updateOptions(t(n.options??{}))}),n.onOptionsDidChange&&this._dataStore.add(n.onOptionsDidChange(()=>{this.editor.updateOptions(t(n.options??{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,e=>{e||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(let[t,n]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(t,n)}render(e,t,n,r){this._elements.root.style.visibility=`visible`,this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position=`absolute`;let i=e.length-this._headerHeight,a=Math.max(0,Math.min(r.start-e.start,i));this._elements.header.style.transform=`translateY(${a}px)`,za(n=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=n,this.editor.getOriginalEditor().setScrollTop(n)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle(`shadow`,a>0||n>0),this._elements.header.classList.toggle(`collapsed`,a===i)}hide(){this._elements.root.style.top=`-100000px`,this._elements.root.style.visibility=`hidden`}};S5=uPe([x5(3,Os),x5(4,fc)],S5);var fPe=class{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(this._unused.size===0)t=this._create(e),this._itemData.set(t,e);else{let n=[...this._unused.values()];t=n.find(t=>this._itemData.get(t).getId()===e.getId())??n[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(let e of this._used)e.dispose();for(let e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}},pPe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},C5=function(e,t){return function(n,r){t(n,r,e)}},w5=class extends D{constructor(e,t,n,r,i,a){super(),this._element=e,this._dimension=t,this._viewModel=n,this._workbenchUIElementFactory=r,this._parentContextKeyService=i,this._parentInstantiationService=a,this._scrollableElements=os(`div.scrollContent`,[os(`div@content`,{style:{overflow:`hidden`}}),os(`div.monaco-editor@overflowWidgetsDomNode`,{})]),this._scrollable=this._register(new i_({forceIntegerValues:!1,scheduleAtNextAnimationFrame:e=>go(no(this._element),e),smoothScrollDuration:100})),this._scrollableElement=this._register(new f_(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=os(`div.monaco-component.multiDiffEditor`,{},[os(`div`,{},[this._scrollableElement.getDomNode()]),os(`div.placeholder@placeholder`,{},[os(`div`)])]),this._sizeObserver=this._register(new ij(this._element,void 0)),this._objectPool=this._register(new fPe(e=>{let t=this._instantiationService.createInstance(S5,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return t.setData(e),t})),this.scrollTop=Ha(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=Ha(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=A(this,e=>{let t=this._viewModel.read(e);if(!t)return{items:[],getItem:e=>{throw new w}};let n=t.items.read(e),r=new Map;return{items:n.map(t=>{let n=e.store.add(new hPe(t,this._objectPool,this.scrollLeft,e=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+e})})),i=this._lastDocStates?.[n.getKey()];return i&&La(e=>{n.setViewState(i,e)}),r.set(t,n),n}),getItem:e=>r.get(e)}}),this._viewItems=this._viewItemsInfo.map(this,e=>e.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(e,t)=>e.reduce((e,n)=>e+n.contentHeight.read(t)+this._spaceBetweenPx,0)),this.activeControl=A(this,e=>{let t=this._viewModel.read(e)?.activeDiffItem.read(e);if(t)return this._viewItemsInfo.read(e).getItem(t).template.read(e)?.editor}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new HT([fc,this._contextKeyService]))),this._contextKeyService.createKey(K.inMultiDiffEditor.key,!0),this._lastDocStates={},this._register(Fa((e,t)=>{let n=this._viewModel.read(e);if(n&&n.contextKeys)for(let[e,r]of Object.entries(n.contextKeys)){let n=this._contextKeyService.createKey(e,void 0);n.set(r),t.add(T(()=>n.reset()))}}));let o=this._parentContextKeyService.createKey(K.multiDiffEditorAllCollapsed.key,!1);this._register(Ma(e=>{let t=this._viewModel.read(e);if(t){let n=t.items.read(e).every(t=>t.collapsed.read(e));o.set(n)}})),this._register(Ma(e=>{let t=this._dimension.read(e);this._sizeObserver.observe(t)}));let c=A(e=>{if(this._viewItems.read(e).length>0)return;let t=this._viewModel.read(e);return!t||t.isLoading.read(e)?s(145,`Loading...`):s(146,`No Changed Files`)});this._register(Ma(e=>{let t=c.read(e);this._elements.placeholder.innerText=t??``,this._elements.placeholder.classList.toggle(`visible`,!!t)})),this._scrollableElements.content.style.position=`relative`,this._register(Ma(e=>{let t=this._sizeObserver.height.read(e);this._scrollableElements.root.style.height=`${t}px`;let n=this._totalHeight.read(e);this._scrollableElements.content.style.height=`${n}px`;let r=this._sizeObserver.width.read(e),i=r,a=xv(this._viewItems.read(e),Xi(t=>t.maxScroll.read(e).maxScroll,Zi));a&&(i=r+a.maxScroll.read(e).maxScroll),this._scrollableElement.setScrollDimensions({width:r,height:t,scrollHeight:n,scrollWidth:i})})),e.replaceChildren(this._elements.root),this._register(T(()=>{e.replaceChildren()})),this._register(Ma(e=>{let t=this._viewModel.read(e);if(t&&!t.isLoading.read(e)){if(t.items.read(e).length===0||t.activeDiffItem.read(e))return;this.goToNextChange()}})),this._register(this._register(Ma(e=>{za(t=>{this.render(e)})})))}reveal(e,t){let n=this._viewItems.get(),r=n.findIndex(t=>t.viewModel.originalUri?.toString()===e.original?.toString()&&t.viewModel.modifiedUri?.toString()===e.modified?.toString());if(r===-1)throw new w(`Resource not found in diff editor`);let i=n[r];this._viewModel.get().activeDiffItem.setCache(i.viewModel,void 0);let a=0;for(let e=0;ee.viewModel===n):-1;if(r===-1){this._goToFile(0,`first`);return}let i=t[r];i.viewModel.collapsed.get()&&i.viewModel.collapsed.set(!1,void 0);let a=i.template.get()?.editor;if(a?.getDiffComputationResult()?.changes2?.length){let t=a.getModifiedEditor().getPosition()?.lineNumber||1,n=a.getDiffComputationResult().changes2;if(e===`next`?n.some(e=>e.modified.startLineNumber>t):n.some(e=>e.modified.endLineNumberExclusive<=t)){a.goToDiff(e);return}}let o=(r+(e===`next`?1:-1)+t.length)%t.length;this._goToFile(o,e===`next`?`first`:`last`)}_goToFile(e,t){let n=this._viewItems.get()[e];n.viewModel.collapsed.get()&&n.viewModel.collapsed.set(!1,void 0),this.reveal({original:n.viewModel.originalUri,modified:n.viewModel.modifiedUri});let r=n.template.get()?.editor;if(r?.getDiffComputationResult()?.changes2?.length)if(t===`first`)r.revealFirstDiff();else{let e=r.getDiffComputationResult().changes2.at(-1),t=r.getModifiedEditor();t.setPosition({lineNumber:e.modified.startLineNumber,column:1}),t.revealLineInCenter(e.modified.startLineNumber)}r?.focus()}render(e){let t=this.scrollTop.read(e),n=0,r=0,i=0,a=this._sizeObserver.height.read(e),o=Wd.ofStartAndLength(t,a),s=this._sizeObserver.width.read(e);for(let c of this._viewItems.read(e)){let l=c.contentHeight.read(e),u=Math.min(l,a),d=Wd.ofStartAndLength(r,u),f=Wd.ofStartAndLength(i,l);if(f.isBefore(o))n-=l-u,c.hide();else if(f.isAfter(o))c.hide();else{let e=Math.max(0,Math.min(o.start-f.start,l-u));n-=e;let r=Wd.ofStartAndLength(t+n,a);c.render(d,e,s,r)}r+=u+this._spaceBetweenPx,i+=l+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+n)}px)`}};w5=pPe([C5(4,fc),C5(5,Os)],w5);function mPe(e,t){let n=e.getModel(),r=e.createDecorationsCollection([{range:t,options:{description:`symbol-navigate-action-highlight`,className:`symbolHighlight`}}]);setTimeout(()=>{e.getModel()===n&&r.clear()},350)}var hPe=class extends D{constructor(e,t,n,r){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=n,this._deltaScrollVertical=r,this._templateRef=this._register(to(this,void 0)),this.contentHeight=A(this,e=>this._templateRef.read(e)?.object.contentHeight?.read(e)??this.viewModel.lastTemplateData.read(e).contentHeight),this.maxScroll=A(this,e=>this._templateRef.read(e)?.object.maxScroll.read(e)??{maxScroll:0,scrollWidth:0}),this.template=A(this,e=>this._templateRef.read(e)?.object),this._isHidden=$a(this,!1),this._isFocused=A(this,e=>this.template.read(e)?.isFocused.read(e)??!1),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(Ma(e=>{let t=this._scrollLeft.read(e);this._templateRef.read(e)?.object.setScrollLeft(t)})),this._register(Ma(e=>{let t=this._templateRef.read(e);t&&this._isHidden.read(e)&&(t.object.isFocused.read(e)||this._clear())}))}dispose(){this._clear(),super.dispose()}toString(){return`VirtualViewItem(${this.viewModel.documentDiffItem.modified?.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);let n=this.viewModel.lastTemplateData.get(),r=e.selections?.map(G.liftSelection);this.viewModel.lastTemplateData.set({...n,selections:r},t);let i=this._templateRef.get();i&&r&&i.object.editor.setSelections(r)}_updateTemplateData(e){let t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){let e=this._templateRef.get();e&&La(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,n,r){this._isHidden.set(!1,void 0);let i=this._templateRef.get();if(!i){i=this._objectPool.getUnusedObj(new dPe(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(i,void 0);let e=this.viewModel.lastTemplateData.get().selections;e&&i.object.editor.setSelections(e)}i.object.render(e,n,t,r)}},gPe=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},_Pe=function(e,t){return function(n,r){t(n,r,e)}},T5=class extends D{constructor(e,t,n){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=n,this._dimension=$a(this,void 0),this._viewModel=$a(this,void 0),this._widgetImpl=A(this,e=>e.store.add(this._instantiationService.createInstance(ZT(w5),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))),this._register(Ka(this._widgetImpl))}};T5=gPe([_Pe(2,Os)],T5);function vPe(e,t,n){return l5.initialize(n||{}).createInstance(_5,e,t)}function yPe(e){return l5.get(As).onCodeEditorAdd(t=>{e(t)})}function bPe(e){return l5.get(As).onDiffEditorAdd(t=>{e(t)})}function xPe(){return l5.get(As).listCodeEditors()}function SPe(){return l5.get(As).listDiffEditors()}function CPe(e,t,n){return l5.initialize(n||{}).createInstance(v5,e,t)}function wPe(e,t){return new T5(e,{},l5.initialize(t||{}))}function TPe(e){if(typeof e.id!=`string`||typeof e.run!=`function`)throw Error("Invalid command descriptor, `id` and `run` are required properties!");return Us.registerCommand(e.id,e.run)}function EPe(e){if(typeof e.id!=`string`||typeof e.label!=`string`||typeof e.run!=`function`)throw Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");let t=R.deserialize(e.precondition),n=(n,...r)=>gl.runEditorCommand(n,r,t,(t,n,r)=>Promise.resolve(e.run(n,...r))),r=new E;if(r.add(Us.registerCommand(e.id,n)),e.contextMenuGroupId){let n={command:{id:e.id,title:e.label},when:t,group:e.contextMenuGroupId,order:e.contextMenuOrder||0};r.add(Ec.appendMenuItem(B.EditorContext,n))}if(Array.isArray(e.keybindings)){let n=l5.get(Db);if(!(n instanceof $8))console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`);else{let i=R.and(t,R.deserialize(e.keybindingContext));r.add(n.addDynamicKeybindings(e.keybindings.map(t=>({keybinding:t,command:e.id,when:i}))))}}return r}function DPe(e){return E5([e])}function E5(e){let t=l5.get(Db);return t instanceof $8?t.addDynamicKeybindings(e.map(e=>({keybinding:e.keybinding,command:e.command,commandArgs:e.commandArgs,when:R.deserialize(e.when)}))):(console.warn(`Cannot add keybinding because the editor is configured with an unrecognized KeybindingService`),D.None)}function OPe(e,t,n){let r=l5.get(ud),i=r.getLanguageIdByMimeType(t)||t;return y5(l5.get(js),r,e,i,n)}function kPe(e,t){let n=l5.get(ud),r=n.getLanguageIdByMimeType(t)||t||`plaintext`;e.setLanguage(n.createById(r))}function APe(e,t,n){e&&l5.get(yI).changeOne(t,e.uri,n)}function jPe(e){l5.get(yI).changeAll(e,[])}function MPe(e){return l5.get(yI).read(e)}function NPe(e){return l5.get(yI).onMarkerChanged(e)}function PPe(e){return l5.get(js).getModel(e)}function FPe(){return l5.get(js).getModels()}function IPe(e){return l5.get(js).onModelAdded(e)}function LPe(e){return l5.get(js).onModelRemoved(e)}function RPe(e){return l5.get(js).onModelLanguageChanged(t=>{e({model:t.model,oldLanguage:t.oldLanguageId})})}function zPe(e){return Mje(l5.get(js),e)}function BPe(e,t){let n=l5.get(ud),r=l5.get(C0);return n3.colorizeElement(r,n,e,t).then(()=>{r.registerEditorContainer(e)})}function VPe(e,t,n){let r=l5.get(ud);return l5.get(C0).registerEditorContainer(d.document.body),n3.colorize(r,e,t,n)}function HPe(e,t,n=4){return l5.get(C0).registerEditorContainer(d.document.body),n3.colorizeModelLine(e,t,n)}function UPe(e){return oy.get(e)||{getInitialState:()=>fw,tokenize:(t,n,r)=>pw(e,r)}}function WPe(e,t){oy.getOrCreate(t);let n=UPe(t),r=In(e),i=[],a=n.getInitialState();for(let e=0,t=r.length;e{if(!n)return null;let i=t.options?.selection,a;return i&&typeof i.endLineNumber==`number`&&typeof i.endColumn==`number`?a=i:i&&(a={lineNumber:i.startLineNumber,column:i.startColumn}),await e.openCodeEditor(n,t.resource,a)?n:null})}function ZPe(){return{create:vPe,getEditors:xPe,getDiffEditors:SPe,onDidCreateEditor:yPe,onDidCreateDiffEditor:bPe,createDiffEditor:CPe,addCommand:TPe,addEditorAction:EPe,addKeybindingRule:DPe,addKeybindingRules:E5,createModel:OPe,setModelLanguage:kPe,setModelMarkers:APe,getModelMarkers:MPe,removeAllMarkers:jPe,onDidChangeMarkers:NPe,getModels:FPe,getModel:PPe,onDidCreateModel:IPe,onWillDisposeModel:LPe,onDidChangeModelLanguage:RPe,createWebWorker:zPe,colorizeElement:BPe,colorize:VPe,colorizeModelLine:HPe,tokenize:WPe,defineTheme:GPe,setTheme:KPe,remeasureFonts:qPe,registerCommand:JPe,registerLinkOpener:YPe,registerEditorOpener:XPe,AccessibilitySupport:S2,ContentWidgetPositionPreference:O2,CursorChangeReason:k2,DefaultEndOfLine:A2,EditorAutoIndentStrategy:M2,EditorOption:N2,EndOfLinePreference:P2,EndOfLineSequence:F2,MinimapPosition:q2,MinimapSectionHeaderStyle:J2,MouseTargetType:Y2,OverlayWidgetPositionPreference:Q2,OverviewRulerLane:$2,GlyphMarginLane:I2,RenderLineNumbersType:n4,RenderMinimap:r4,ScrollbarVisibility:a4,ScrollType:i4,TextEditorCursorBlinkingStyle:f4,TextEditorCursorStyle:p4,TrackedRangeStickiness:m4,WrappingIndent:h4,InjectedTextCursorStops:z2,PositionAffinity:t4,ShowLightbulbIconMode:s4,TextDirection:d4,ConfigurationChangedEvent:Kf,BareFontInfo:Vf,FontInfo:Hf,TextModelResolvedOptions:mu,FindMatch:hu,ApplyUpdateResult:Yf,EditorZoom:Bf,createMultiFileDiffEditor:wPe,EditorType:Tx,EditorOptions:Ep}}function QPe(e,t){if(!t||!Array.isArray(t))return!1;for(let n of t)if(!e(n))return!1;return!0}function D5(e,t){return typeof e==`boolean`?e:t}function O5(e,t){return typeof e==`string`?e:t}function $Pe(e){let t={};for(let n of e)t[n]=!0;return t}function k5(e,t=!1){t&&(e=e.map(function(e){return e.toLowerCase()}));let n=$Pe(e);return t?function(e){return n[e.toLowerCase()]!==void 0&&n.hasOwnProperty(e.toLowerCase())}:function(e){return n[e]!==void 0&&n.hasOwnProperty(e)}}function A5(e,t,n){t=t.replace(/@@/g,``);let r=0,i;do i=!1,t=t.replace(/@(\w+)/g,function(n,r){i=!0;let a=``;if(typeof e[r]==`string`)a=e[r];else if(e[r]&&e[r]instanceof RegExp)a=e[r].source;else if(e[r]===void 0)throw G4(e,`language definition does not contain attribute '`+r+`', used at: `+t);else throw G4(e,`attribute reference '`+r+`' must be a string, used at: `+t);return H4(a)?``:`(?:`+a+`)`}),r++;while(i&&r<5);t=t.replace(/\x01/g,`@`);let a=(e.ignoreCase?`i`:``)+(e.unicode?`u`:``);if(n&&t.match(/\$[sS](\d\d?)/g)){let n=null,r=null;return i=>r&&n===i?r:(n=i,r=new RegExp(Lje(e,t,i),a),r)}return new RegExp(t,a)}function eFe(e,t,n,r){if(r<0)return e;if(r=100){r-=100;let e=n.split(`.`);if(e.unshift(n),r=0&&(r.tokenSubst=!0),typeof n.bracket==`string`)if(n.bracket===`@open`)r.bracket=1;else if(n.bracket===`@close`)r.bracket=-1;else throw G4(e,`a 'bracket' attribute must be either '@open' or '@close', in rule: `+t);if(n.next){if(typeof n.next!=`string`)throw G4(e,`the next state must be a string value in rule: `+t);{let i=n.next;if(!/^(@pop|@push|@popall)$/.test(i)&&(i[0]===`@`&&(i=i.substr(1)),i.indexOf(`$`)<0&&!Rje(e,K4(e,i,``,[],``))))throw G4(e,`the next state '`+n.next+`' is not defined in rule: `+t);r.next=i}}return typeof n.goBack==`number`&&(r.goBack=n.goBack),typeof n.switchTo==`string`&&(r.switchTo=n.switchTo),typeof n.log==`string`&&(r.log=n.log),typeof n.nextEmbedded==`string`&&(r.nextEmbedded=n.nextEmbedded,e.usesEmbedded=!0),r}}else if(Array.isArray(n)){let r=[];for(let i=0,a=n.length;i0&&n[0]===`^`,this.name=this.name+`: `+n,this.regex=A5(e,`^(?:`+(this.matchOnlyAtLineStart?n.substr(1):n)+`)`,!0)}setAction(e,t){this.action=j5(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}};function M5(e,t){if(!t||typeof t!=`object`)throw Error(`Monarch: expecting a language definition object`);let n={languageId:e,includeLF:D5(t.includeLF,!1),noThrow:!1,maxStack:100,start:typeof t.start==`string`?t.start:null,ignoreCase:D5(t.ignoreCase,!1),unicode:D5(t.unicode,!1),tokenPostfix:O5(t.tokenPostfix,`.`+e),defaultToken:O5(t.defaultToken,`source`),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},r=t;r.languageId=e,r.includeLF=n.includeLF,r.ignoreCase=n.ignoreCase,r.unicode=n.unicode,r.noThrow=n.noThrow,r.usesEmbedded=n.usesEmbedded,r.stateNames=t.tokenizer,r.defaultToken=n.defaultToken;function i(e,a,o){for(let s of o){let o=s.include;if(o){if(typeof o!=`string`)throw G4(n,`an 'include' attribute must be a string at: `+e);if(o[0]===`@`&&(o=o.substr(1)),!t.tokenizer[o])throw G4(n,`include target '`+o+`' is not defined at: `+e);i(e+`.`+o,a,t.tokenizer[o])}else{let t=new nFe(e);if(Array.isArray(s)&&s.length>=1&&s.length<=3)if(t.setRegex(r,s[0]),s.length>=3)if(typeof s[1]==`string`)t.setAction(r,{token:s[1],next:s[2]});else if(typeof s[1]==`object`){let e=s[1];e.next=s[2],t.setAction(r,e)}else throw G4(n,`a next state as the last element of a rule can only be given if the action is either an object or a string, at: `+e);else t.setAction(r,s[1]);else{if(!s.regex)throw G4(n,`a rule must either be an array, or an object with a 'regex' or 'include' field at: `+e);s.name&&typeof s.name==`string`&&(t.name=s.name),s.matchOnlyAtStart&&(t.matchOnlyAtLineStart=D5(s.matchOnlyAtLineStart,!1)),t.setRegex(r,s.regex),t.setAction(r,s.action)}a.push(t)}}}if(!t.tokenizer||typeof t.tokenizer!=`object`)throw G4(n,`a language definition must define the 'tokenizer' attribute as an object`);n.tokenizer=[];for(let e in t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){n.start||=e;let r=t.tokenizer[e];n.tokenizer[e]=[],i(`tokenizer.`+e,n.tokenizer[e],r)}if(n.usesEmbedded=r.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw G4(n,`the 'brackets' attribute must be defined as an array`)}else t.brackets=[{open:`{`,close:`}`,token:`delimiter.curly`},{open:`[`,close:`]`,token:`delimiter.square`},{open:`(`,close:`)`,token:`delimiter.parenthesis`},{open:`<`,close:`>`,token:`delimiter.angle`}];let a=[];for(let e of t.brackets){let t=e;if(t&&Array.isArray(t)&&t.length===3&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw G4(n,`open and close brackets in a 'brackets' attribute must be different: `+t.open+` - hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof t.open==`string`&&typeof t.token==`string`&&typeof t.close==`string`)a.push({token:t.token+n.tokenPostfix,open:U4(n,t.open),close:U4(n,t.close)});else throw G4(n,`every element in the 'brackets' array must be a '{open,close,token}' object or array`)}return n.brackets=a,n.noThrow=!0,n}function rFe(e){Od.registerLanguage(e)}function iFe(){let e=[];return e=e.concat(Od.getLanguages()),e}function aFe(e){return l5.get(ud).languageIdCodec.encodeLanguageId(e)}function oFe(e,t){return l5.withServices(()=>{let n=l5.get(ud).onDidRequestRichLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function sFe(e,t){return l5.withServices(()=>{let n=l5.get(ud).onDidRequestBasicLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function cFe(e,t){if(!l5.get(ud).isRegisteredLanguageId(e))throw Error(`Cannot set configuration for unknown language ${e}`);return l5.get(Pd).register(e,t,100)}var lFe=class{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,n){if(typeof this._actual.tokenize==`function`)return N5.adaptTokenize(this._languageId,this._actual,e,n);throw Error(`Not supported!`)}tokenizeEncoded(e,t,n){let r=this._actual.tokenizeEncoded(e,n);return new Uv(r.tokens,r.endState)}},N5=class e{constructor(e,t,n,r){this._languageId=e,this._actual=t,this._languageService=n,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){let n=[],r=0;for(let i=0,a=e.length;i0&&i[a-1]===c)continue;let l=s.startIndex;e===0?l=0:l{let n=await Promise.resolve(t.create());return n?uFe(n)?F5(e,n):new t3(l5.get(ud),l5.get(C0),e,M5(e,n),l5.get(rd)):null});return oy.registerFactory(e,n)}function pFe(e,t){if(!l5.get(ud).isRegisteredLanguageId(e))throw Error(`Cannot set tokens provider for unknown language ${e}`);return P5(t)?I5(e,{create:()=>t}):oy.register(e,F5(e,t))}function mFe(e,t){return P5(t)?I5(e,{create:()=>t}):oy.register(e,(t=>new t3(l5.get(ud),l5.get(C0),e,M5(e,t),l5.get(rd)))(t))}function hFe(e,t){return l5.get(Q).referenceProvider.register(e,t)}function gFe(e,t){return l5.get(Q).renameProvider.register(e,t)}function _Fe(e,t){return l5.get(Q).newSymbolNamesProvider.register(e,t)}function vFe(e,t){return l5.get(Q).signatureHelpProvider.register(e,t)}function yFe(e,t){return l5.get(Q).hoverProvider.register(e,{provideHover:async(e,n,r,i)=>{let a=e.getWordAtPosition(n);return Promise.resolve(t.provideHover(e,n,r,i)).then(e=>{if(e)return!e.range&&a&&(e.range=new W(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),e.range||=new W(n.lineNumber,n.column,n.lineNumber,n.column),e})}})}function bFe(e,t){return l5.get(Q).documentSymbolProvider.register(e,t)}function xFe(e,t){return l5.get(Q).documentHighlightProvider.register(e,t)}function SFe(e,t){return l5.get(Q).linkedEditingRangeProvider.register(e,t)}function CFe(e,t){return l5.get(Q).definitionProvider.register(e,t)}function wFe(e,t){return l5.get(Q).implementationProvider.register(e,t)}function TFe(e,t){return l5.get(Q).typeDefinitionProvider.register(e,t)}function EFe(e,t){return l5.get(Q).codeLensProvider.register(e,t)}function DFe(e,t,n){return l5.get(Q).codeActionProvider.register(e,{providedCodeActionKinds:n?.providedCodeActionKinds,documentation:n?.documentation,provideCodeActions:(e,n,r,i)=>{let a=l5.get(yI).read({resource:e.uri}).filter(e=>W.areIntersectingOrTouching(e,n));return t.provideCodeActions(e,n,{markers:a,only:r.only,trigger:r.trigger},i)},resolveCodeAction:t.resolveCodeAction})}function OFe(e,t){return l5.get(Q).documentFormattingEditProvider.register(e,t)}function kFe(e,t){return l5.get(Q).documentRangeFormattingEditProvider.register(e,t)}function AFe(e,t){return l5.get(Q).onTypeFormattingEditProvider.register(e,t)}function jFe(e,t){return l5.get(Q).linkProvider.register(e,t)}function MFe(e,t){return l5.get(Q).completionProvider.register(e,t)}function NFe(e,t){return l5.get(Q).colorProvider.register(e,t)}function PFe(e,t){return l5.get(Q).foldingRangeProvider.register(e,t)}function FFe(e,t){return l5.get(Q).declarationProvider.register(e,t)}function IFe(e,t){return l5.get(Q).selectionRangeProvider.register(e,t)}function LFe(e,t){return l5.get(Q).documentSemanticTokensProvider.register(e,t)}function RFe(e,t){return l5.get(Q).documentRangeSemanticTokensProvider.register(e,t)}function zFe(e,t){return l5.get(Q).inlineCompletionsProvider.register(e,t)}function BFe(e,t){return l5.get(Q).inlayHintsProvider.register(e,t)}function VFe(){return{register:rFe,getLanguages:iFe,onLanguage:oFe,onLanguageEncountered:sFe,getEncodedLanguageId:aFe,setLanguageConfiguration:cFe,setColorMap:fFe,registerTokensProviderFactory:I5,setTokensProvider:pFe,setMonarchTokensProvider:mFe,registerReferenceProvider:hFe,registerRenameProvider:gFe,registerNewSymbolNameProvider:_Fe,registerCompletionItemProvider:MFe,registerSignatureHelpProvider:vFe,registerHoverProvider:yFe,registerDocumentSymbolProvider:bFe,registerDocumentHighlightProvider:xFe,registerLinkedEditingRangeProvider:SFe,registerDefinitionProvider:CFe,registerImplementationProvider:wFe,registerTypeDefinitionProvider:TFe,registerCodeLensProvider:EFe,registerCodeActionProvider:DFe,registerDocumentFormattingEditProvider:OFe,registerDocumentRangeFormattingEditProvider:kFe,registerOnTypeFormattingEditProvider:AFe,registerLinkProvider:jFe,registerColorProvider:NFe,registerFoldingRangeProvider:PFe,registerDeclarationProvider:FFe,registerSelectionRangeProvider:IFe,registerDocumentSemanticTokensProvider:LFe,registerDocumentRangeSemanticTokensProvider:RFe,registerInlineCompletionsProvider:zFe,registerInlayHintsProvider:BFe,DocumentHighlightKind:j2,CompletionItemKind:T2,CompletionItemTag:E2,CompletionItemInsertTextRule:w2,SymbolKind:l4,SymbolTag:u4,IndentAction:R2,CompletionTriggerKind:D2,SignatureHelpTriggerKind:c4,InlayHintKind:B2,InlineCompletionTriggerKind:U2,CodeActionTriggerType:C2,NewSymbolNameTag:X2,NewSymbolNameTriggerKind:Z2,PartialAcceptTriggerKind:e4,HoverVerbosityAction:L2,InlineCompletionEndOfLifeReasonKind:V2,InlineCompletionHintStyle:H2,FoldingRangeKind:ty,SelectedSuggestionInfo:qv,EditDeltaInfo:qS}}var HFe=n({CancellationTokenSource:()=>R5,Emitter:()=>z5,KeyCode:()=>B5,KeyMod:()=>V5,MarkerSeverity:()=>K5,MarkerTag:()=>q5,Position:()=>H5,Range:()=>U5,Selection:()=>W5,SelectionDirection:()=>G5,Token:()=>Y5,Uri:()=>J5,editor:()=>X5,languages:()=>$});Ep.wrappingIndent.defaultValue=0,Ep.glyphMargin.defaultValue=!1,Ep.autoIndent.defaultValue=3,Ep.overviewRulerLanes.defaultValue=2,ZK.setFormatterSelector((e,t,n)=>Promise.resolve(e[0]));var L5=g4();L5.editor=ZPe(),L5.languages=VFe();var R5=L5.CancellationTokenSource,z5=L5.Emitter,B5=L5.KeyCode,V5=L5.KeyMod,H5=L5.Position,U5=L5.Range,W5=L5.Selection,G5=L5.SelectionDirection,K5=L5.MarkerSeverity,q5=L5.MarkerTag,J5=L5.Uri,Y5=L5.Token,X5=L5.editor,$=L5.languages,UFe=ee(),Z5=globalThis;(UFe?.globalAPI||typeof Z5.define==`function`&&Z5.define.amd)&&(Z5.monaco=L5),Z5.require!==void 0&&typeof Z5.require.config==`function`&&Z5.require.config({ignoreDuplicateModules:[`vscode-languageserver-types`,`vscode-languageserver-types/main`,`vscode-languageserver-textdocument`,`vscode-languageserver-textdocument/main`,`vscode-nls`,`vscode-nls/vscode-nls`,`jsonc-parser`,`jsonc-parser/main`,`vscode-uri`,`vscode-uri/index`,`vs/basic-languages/typescript/typescript`]});function WFe(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var Q5=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:WFe(`defaultWorkerFactory`,{createScriptURL:e=>e});function GFe(e){let t=e.label,n=globalThis.MonacoEnvironment;if(n){if(typeof n.getWorker==`function`)return n.getWorker(`workerMain.js`,t);if(typeof n.getWorkerUrl==`function`){let e=n.getWorkerUrl(`workerMain.js`,t);return new Worker(Q5?Q5.createScriptURL(e):e,{name:t,type:`module`})}}if(e.createWorker)return e.createWorker();throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function $5(e){let t=Promise.resolve(GFe({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId,createWorker:e.createWorker})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return X5.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}var KFe=`5.9.3`,e7=n({JsxEmit:()=>n7,ModuleKind:()=>t7,ModuleResolutionKind:()=>a7,NewLineKind:()=>r7,ScriptTarget:()=>i7,getJavaScriptWorker:()=>YFe,getTypeScriptWorker:()=>JFe,javascriptDefaults:()=>l7,typescriptDefaults:()=>c7,typescriptVersion:()=>qFe}),t7=(e=>(e[e.None=0]=`None`,e[e.CommonJS=1]=`CommonJS`,e[e.AMD=2]=`AMD`,e[e.UMD=3]=`UMD`,e[e.System=4]=`System`,e[e.ES2015=5]=`ES2015`,e[e.ESNext=99]=`ESNext`,e))(t7||{}),n7=(e=>(e[e.None=0]=`None`,e[e.Preserve=1]=`Preserve`,e[e.React=2]=`React`,e[e.ReactNative=3]=`ReactNative`,e[e.ReactJSX=4]=`ReactJSX`,e[e.ReactJSXDev=5]=`ReactJSXDev`,e))(n7||{}),r7=(e=>(e[e.CarriageReturnLineFeed=0]=`CarriageReturnLineFeed`,e[e.LineFeed=1]=`LineFeed`,e))(r7||{}),i7=(e=>(e[e.ES3=0]=`ES3`,e[e.ES5=1]=`ES5`,e[e.ES2015=2]=`ES2015`,e[e.ES2016=3]=`ES2016`,e[e.ES2017=4]=`ES2017`,e[e.ES2018=5]=`ES2018`,e[e.ES2019=6]=`ES2019`,e[e.ES2020=7]=`ES2020`,e[e.ESNext=99]=`ESNext`,e[e.JSON=100]=`JSON`,e[e.Latest=99]=`Latest`,e))(i7||{}),a7=(e=>(e[e.Classic=1]=`Classic`,e[e.NodeJs=2]=`NodeJs`,e))(a7||{}),o7=class{constructor(e,t,n,r,i){this._onDidChange=new z5,this._onDidExtraLibsChange=new z5,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(n),this.setInlayHintsOptions(r),this.setModeConfiguration(i),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let n;if(n=t===void 0?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t,this._extraLibs[n]&&this._extraLibs[n].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[n]&&(r=this._removedExtraLibs[n]+1),this._extraLibs[n]&&(r=this._extraLibs[n].version+1),this._extraLibs[n]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let e=this._extraLibs[n];e&&e.version===r&&(delete this._extraLibs[n],this._removedExtraLibs[n]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let e=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,n=t.content,r=1;this._removedExtraLibs[e]&&(r=this._removedExtraLibs[e]+1),this._extraLibs[e]={content:n,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},qFe=KFe,s7={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},c7=new o7({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},s7),l7=new o7({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},s7),JFe=()=>u7().then(e=>e.getTypeScriptWorker()),YFe=()=>u7().then(e=>e.getJavaScriptWorker());function u7(){return e(()=>import(`./tsMode-BoZRiQbS.js`),[])}$.onLanguage(`typescript`,()=>u7().then(e=>e.setupTypeScript(c7))),$.onLanguage(`javascript`,()=>u7().then(e=>e.setupJavaScript(l7)));var d7=n({cssDefaults:()=>h7,lessDefaults:()=>_7,scssDefaults:()=>g7}),f7=class{constructor(e,t,n){this._onDidChange=new z5,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},p7={validate:!0,lint:{compatibleVendorPrefixes:`ignore`,vendorPrefix:`warning`,duplicateProperties:`warning`,emptyRules:`warning`,importStatement:`ignore`,boxModel:`ignore`,universalSelector:`ignore`,zeroUnits:`ignore`,fontFaceProperties:`warning`,hexColorLength:`error`,argumentsInColorFunction:`error`,unknownProperties:`warning`,ieHack:`ignore`,unknownVendorSpecificProperties:`ignore`,propertyIgnoredDueToDisplay:`warning`,important:`ignore`,float:`ignore`,idSelector:`ignore`},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:`collapse`,maxPreserveNewLines:void 0,preserveNewLines:!0}},m7={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},h7=new f7(`css`,p7,m7),g7=new f7(`scss`,p7,m7),_7=new f7(`less`,p7,m7);function v7(){return e(()=>import(`./cssMode-CjuUAicz.js`),__vite__mapDeps([0,1]))}$.onLanguage(`less`,()=>{v7().then(e=>e.setupMode(_7))}),$.onLanguage(`scss`,()=>{v7().then(e=>e.setupMode(g7))}),$.onLanguage(`css`,()=>{v7().then(e=>e.setupMode(h7))});var y7=n({handlebarDefaults:()=>QFe,handlebarLanguageService:()=>E7,htmlDefaults:()=>ZFe,htmlLanguageService:()=>T7,razorDefaults:()=>$Fe,razorLanguageService:()=>D7,registerHTMLLanguageService:()=>O7}),XFe=class{constructor(e,t,n){this._onDidChange=new z5,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},b7={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:`default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var`,contentUnformatted:`pre`,indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:`head, body, /html`,wrapAttributes:`auto`},suggest:{},data:{useDefaultDataProvider:!0}};function x7(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===S7,documentFormattingEdits:e===S7,documentRangeFormattingEdits:e===S7}}var S7=`html`,C7=`handlebars`,w7=`razor`,T7=O7(S7,b7,x7(S7)),ZFe=T7.defaults,E7=O7(C7,b7,x7(C7)),QFe=E7.defaults,D7=O7(w7,b7,x7(w7)),$Fe=D7.defaults;function eIe(){return e(()=>import(`./htmlMode-CznTvgCZ.js`),__vite__mapDeps([2,1]))}function O7(e,t=b7,n=x7(e)){let r=new XFe(e,t,n),i,a=$.onLanguage(e,async()=>{i=(await eIe()).setupMode(r)});return{defaults:r,dispose(){a.dispose(),i?.dispose(),i=void 0}}}var k7=n({getWorker:()=>tIe,jsonDefaults:()=>A7}),A7=new class{constructor(e,t,n){this._onDidChange=new z5,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}(`json`,{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:`warning`,schemaValidation:`warning`,comments:`error`,trailingCommas:`error`},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0}),tIe=()=>j7().then(e=>e.getWorker());function j7(){return e(()=>import(`./jsonMode-WgcFR8dM.js`),__vite__mapDeps([3,1]))}$.register({id:`json`,extensions:[`.json`,`.bowerrc`,`.jshintrc`,`.jscsrc`,`.eslintrc`,`.babelrc`,`.har`],aliases:[`JSON`,`json`],mimetypes:[`application/json`]}),$.onLanguage(`json`,()=>{j7().then(e=>e.setupMode(A7))});var M7={},N7={},nIe=class e{static getOrCreate(t){return N7[t]||(N7[t]=new e(t)),N7[t]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,M7[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function P7(e){let t=e.id;M7[t]=e,$.register(e);let n=nIe.getOrCreate(t);$.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),$.onLanguageEncountered(t,async()=>{let e=await n.load();$.setLanguageConfiguration(t,e.conf)})}P7({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>e(()=>import(`./abap-08VXUWAP.js`),[])}),P7({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>e(()=>import(`./apex-BWPQTe0t.js`),[])}),P7({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>e(()=>import(`./azcli-Bc_sGQ0U.js`),[])}),P7({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>e(()=>import(`./bat-i0X4ZdIN.js`),[])}),P7({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>e(()=>import(`./bicep-B5-_aFwp.js`),[])}),P7({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>e(()=>import(`./cameligo-DMUM7wLl.js`),[])}),P7({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>e(()=>import(`./clojure-Cm7r79vr.js`),[])}),P7({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>e(()=>import(`./coffee-Ba7i2nA0.js`),[])}),P7({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>e(()=>import(`./cpp-C7h46wYY.js`),[])}),P7({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>e(()=>import(`./cpp-C7h46wYY.js`),[])}),P7({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>e(()=>import(`./csharp-BKxtCVv1.js`),[])}),P7({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>e(()=>import(`./csp-bTuwJoIa.js`),[])}),P7({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>e(()=>import(`./css-DIMkf-bt.js`),[])}),P7({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>e(()=>import(`./cypher-CVaqCwHa.js`),[])}),P7({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>e(()=>import(`./dart-onAF5SnQ.js`),[])}),P7({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>e(()=>import(`./dockerfile-DZFCIeNp.js`),[])}),P7({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>e(()=>import(`./ecl-D05T4iGw.js`),[])}),P7({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>e(()=>import(`./elixir-6RTg0lbw.js`),[])}),P7({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>e(()=>import(`./flow9-C5_-GSwl.js`),[])}),P7({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>e(()=>import(`./fsharp-C8Ef5oNN.js`),[])}),P7({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>e(()=>import(`./freemarker2-Cnh8hTW7.js`).then(e=>e.TagAutoInterpolationDollar),[])}),P7({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>e(()=>import(`./freemarker2-Cnh8hTW7.js`).then(e=>e.TagAngleInterpolationDollar),[])}),P7({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>e(()=>import(`./freemarker2-Cnh8hTW7.js`).then(e=>e.TagBracketInterpolationDollar),[])}),P7({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>e(()=>import(`./freemarker2-Cnh8hTW7.js`).then(e=>e.TagAngleInterpolationBracket),[])}),P7({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>e(()=>import(`./freemarker2-Cnh8hTW7.js`).then(e=>e.TagBracketInterpolationBracket),[])}),P7({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>e(()=>import(`./freemarker2-Cnh8hTW7.js`).then(e=>e.TagAutoInterpolationDollar),[])}),P7({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>e(()=>import(`./freemarker2-Cnh8hTW7.js`).then(e=>e.TagAutoInterpolationBracket),[])}),P7({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>e(()=>import(`./go-C-y9NEjX.js`),[])}),P7({id:`graphql`,extensions:[`.graphql`,`.gql`],aliases:[`GraphQL`,`graphql`,`gql`],mimetypes:[`application/graphql`],loader:()=>e(()=>import(`./graphql-fmXr3nnJ.js`),[])}),P7({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>e(()=>import(`./handlebars-BRHUlbMf.js`),[])}),P7({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>e(()=>import(`./hcl-CpzslTdj.js`),[])}),P7({id:`html`,extensions:[`.html`,`.htm`,`.shtml`,`.xhtml`,`.mdoc`,`.jsp`,`.asp`,`.aspx`,`.jshtm`],aliases:[`HTML`,`htm`,`html`,`xhtml`],mimetypes:[`text/html`,`text/x-jshtm`,`text/template`,`text/ng-template`],loader:()=>e(()=>import(`./html-BVFwOOwI.js`),[])}),P7({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>e(()=>import(`./ini-sBoK_t0W.js`),[])}),P7({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>e(()=>import(`./java-BEtHBSE6.js`),[])}),P7({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>e(()=>import(`./javascript-D2Wzjcn9.js`),__vite__mapDeps([4,5]))}),P7({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>e(()=>import(`./julia-Bri6UV-V.js`),[])}),P7({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>e(()=>import(`./kotlin-BOotOW0E.js`),[])}),P7({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>e(()=>import(`./less-B9JPFI3C.js`),[])}),P7({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>e(()=>import(`./lexon-CfSJPG6W.js`),[])}),P7({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>e(()=>import(`./lua-CsQS60Ue.js`),[])}),P7({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>e(()=>import(`./liquid-9u5g2zEn.js`),[])}),P7({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>e(()=>import(`./m3-D-oSqn_W.js`),[])}),P7({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>e(()=>import(`./markdown-Cimd5fb3.js`),[])}),P7({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>e(()=>import(`./mdx-CRfjRnH4.js`),[])}),P7({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>e(()=>import(`./mips-CIPQ_RoX.js`),[])}),P7({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>e(()=>import(`./msdax-DauUninz.js`),[])}),P7({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>e(()=>import(`./mysql-SOo6toE5.js`),[])}),P7({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>e(()=>import(`./objective-c-FvmIjYaQ.js`),[])}),P7({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>e(()=>import(`./pascal-DrH0SRf2.js`),[])}),P7({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>e(()=>import(`./pascaligo-D-ptJ9y-.js`),[])}),P7({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>e(()=>import(`./perl-oz_6vUea.js`),[])}),P7({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>e(()=>import(`./pgsql-DTj74zXo.js`),[])}),P7({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>e(()=>import(`./php-nr791fC2.js`),[])}),P7({id:`pla`,extensions:[`.pla`],loader:()=>e(()=>import(`./pla-CopQ2nXW.js`),[])}),P7({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>e(()=>import(`./postiats-43DmfD33.js`),[])}),P7({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>e(()=>import(`./powerquery-D3hlyOfw.js`),[])}),P7({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>e(()=>import(`./powershell-DmHpPYUd.js`),[])}),P7({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>e(()=>import(`./protobuf-C531GsRP.js`),[])}),P7({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>e(()=>import(`./pug-Z5eAx3Zn.js`),[])}),P7({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>e(()=>import(`./python-23xjhevW.js`),[])}),P7({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>e(()=>import(`./qsharp-DkqhCAOL.js`),[])}),P7({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>e(()=>import(`./r-BwWrilGY.js`),[])}),P7({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>e(()=>import(`./razor-CS7Z71jS.js`),[])}),P7({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>e(()=>import(`./redis-ClamHrr6.js`),[])}),P7({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>e(()=>import(`./redshift-DT7zqm-g.js`),[])}),P7({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>e(()=>import(`./restructuredtext-BYgofb2h.js`),[])}),P7({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>e(()=>import(`./ruby-DezsRK8O.js`),[])}),P7({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>e(()=>import(`./rust-DdL9SqIa.js`),[])}),P7({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>e(()=>import(`./sb-CcwsVR0C.js`),[])}),P7({id:`scala`,extensions:[`.scala`,`.sc`,`.sbt`],aliases:[`Scala`,`scala`,`SBT`,`Sbt`,`sbt`,`Dotty`,`dotty`],mimetypes:[`text/x-scala-source`,`text/x-scala`,`text/x-sbt`,`text/x-dotty`],loader:()=>e(()=>import(`./scala-DHpiXF5c.js`),[])}),P7({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>e(()=>import(`./scheme-BeGwcela.js`),[])}),P7({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>e(()=>import(`./scss-gp-XZpBa.js`),[])}),P7({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>e(()=>import(`./shell-CC2rA5mh.js`),[])}),P7({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>e(()=>import(`./solidity-BEEn4gHE.js`),[])}),P7({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>e(()=>import(`./sophia-CRfGWb83.js`),[])}),P7({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>e(()=>import(`./sparql-D_Lu-MrJ.js`),[])}),P7({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>e(()=>import(`./sql-NEE52Syq.js`),[])}),P7({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>e(()=>import(`./st-DbInun42.js`),[])}),P7({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>e(()=>import(`./swift-Bxkupp3x.js`),[])}),P7({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>e(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),P7({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>e(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),P7({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>e(()=>import(`./tcl-DISqw1ZD.js`),[])}),P7({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>e(()=>import(`./twig-De2hgUGE.js`),[])}),P7({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>e(()=>import(`./typescript-BJa1H8hB.js`),[])}),P7({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>e(()=>import(`./typespec-B8J7ngcE.js`),[])}),P7({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>e(()=>import(`./vb-DV3o63ZY.js`),[])}),P7({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>e(()=>import(`./wgsl-DpFanUEy.js`),[])}),P7({id:`xml`,extensions:[`.xml`,`.xsd`,`.dtd`,`.ascx`,`.csproj`,`.config`,`.props`,`.targets`,`.wxi`,`.wxl`,`.wxs`,`.xaml`,`.svg`,`.svgz`,`.opf`,`.xslt`,`.xsl`],firstLine:`(\\<\\?xml.*)|(\\e(()=>import(`./xml-UHlzFlGu.js`),[])}),P7({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>e(()=>import(`./yaml-DFBGAzXA.js`),[])});var rIe=n({MonacoLspClient:()=>eRe,WebSocketTransport:()=>rRe,createTransportToIFrame:()=>aRe,createTransportToWorker:()=>iRe}),iIe=Object.defineProperty,aIe=(e,t,n)=>t in e?iIe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,F7=(e,t,n)=>aIe(e,typeof t==`symbol`?t:t+``,n),I7,L7,R7,z7,B7;function oIe(e){return e.method!==void 0}var sIe;(function(e){function t(e){return e}e.create=t})(sIe||={});var V7;(function(e){e.parseError=-32700,e.invalidRequest=-32600,e.methodNotFound=-32601,e.invalidParams=-32602,e.internalError=-32603;function t(e){return-32099<=e&&e<=-32e3}e.isServerError=t;function n(e){if(!t(e))throw Error(`Invalid range for a server error.`);return e}e.serverError=n,e.unexpectedServerError=-32e3;function r(e){return!0}e.isApplicationError=r;function i(e){return e}e.applicationError=i,e.genericApplicationError=-320100})(V7||={});var H7=class{constructor(){F7(this,`listeners`,new Set),F7(this,`event`,e=>(this.listeners.add(e),{dispose:()=>{this.listeners.delete(e)}}))}fire(e){this.listeners.forEach(t=>t(e))}},cIe=class{constructor(e){F7(this,`_value`),F7(this,`eventEmitter`),this._value=e,this.eventEmitter=new H7}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.eventEmitter.fire(e))}get onChange(){return this.eventEmitter.event}};function lIe(e,t){let n=setTimeout(t,e);return{dispose:()=>clearTimeout(n)}}function U7(e,t,n){return e instanceof Set?(e.add(t),{dispose:()=>e.delete(t)}):(e.set(t,n),{dispose:()=>e.delete(t)})}var uIe=class{constructor(){F7(this,`_state`,`none`),F7(this,`promise`),F7(this,`resolve`,()=>{}),F7(this,`reject`,()=>{}),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}get state(){return this._state}},W7=(I7=class{constructor(){F7(this,`_unprocessedMessages`,[]),F7(this,`_messageListener`),F7(this,`id`,I7.id++),F7(this,`_state`,new cIe({state:`open`})),F7(this,`state`,this._state)}setListener(e){if(this._messageListener=e,e)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){let e=this._unprocessedMessages.shift();this._messageListener(e)}}send(e){return this._sendImpl(e)}_dispatchReceivedMessage(e){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(e):this._unprocessedMessages.push(e)}_onConnectionClosed(){this._state.value={state:`closed`,error:void 0}}log(e){return new dIe(this,e??new fIe)}},F7(I7,`id`,0),I7),dIe=class{constructor(e,t){F7(this,`baseStream`),F7(this,`logger`),this.baseStream=e,this.logger=t}get state(){return this.baseStream.state}setListener(e){if(e===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(t=>{this.logger.log(this.baseStream,`incoming`,t),e(t)})}send(e){return this.logger.log(this.baseStream,`outgoing`,e),this.baseStream.send(e)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},fIe=class{log(e,t,n){console.log(`${t===`incoming`?`<-`:`->`} [${e.toString()}] ${JSON.stringify(n)}`)}},pIe=class e{constructor(e){F7(this,`connect`),this.connect=e}mapContext(t){return new e(e=>this.connect(e?mIe(e,t):void 0))}};function mIe(e,t){return{handleNotification:(n,r)=>e.handleNotification(n,t(r)),handleRequest:(n,r,i)=>e.handleRequest(n,r,t(i))}}var hIe=class e{constructor(e,t,n){F7(this,`_stream`),F7(this,`_listener`),F7(this,`_logger`),F7(this,`_unprocessedResponses`,new Map),F7(this,`_lastUsedRequestId`,0),this._stream=e,this._listener=t,this._logger=n,this._stream.setListener(e=>{oIe(e)?e.id===void 0?this._processNotification(e):this._processRequest(e):this._processResponse(e)})}static createChannel(t,n){let r=!1;return new pIe(i=>{if(r)throw Error(`A channel to the stream ${t} was already constructed!`);return r=!0,new e(t,i,n)})}get state(){return this._stream.state}async _processNotification(e){if(e.id!==void 0)throw Error();if(!this._listener){this._logger&&this._logger.debug({text:`Notification ignored`,message:e});return}try{await this._listener.handleNotification({method:e.method,params:e.params||null})}catch(t){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${t}`,exception:t,message:e})}}async _processRequest(e){if(e.id===void 0)throw Error();let t;if(this._listener)try{t=await this._listener.handleRequest({method:e.method,params:e.params||null},e.id)}catch(n){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${n}`,message:e,exception:n}),t={error:{code:V7.internalError,message:`An unexpected exception was thrown.`,data:void 0}}}else this._logger&&this._logger.debug({text:`Received request even though not listening for requests`,message:e}),t={error:{code:V7.methodNotFound,message:`This endpoint does not listen for requests or notifications.`,data:void 0}};let n;n=`result`in t?{jsonrpc:`2.0`,id:e.id,result:t.result}:{jsonrpc:`2.0`,id:e.id,error:t.error},await this._stream.send(n)}_processResponse(e){let t=``+e.id,n=this._unprocessedResponses.get(t);if(!n){this._logger&&this._logger.debug({text:`Got an unexpected response message`,message:e});return}this._unprocessedResponses.delete(t),n(e)}_newRequestId(){return this._lastUsedRequestId++}sendRequest(e,t,n){let r={jsonrpc:`2.0`,id:this._newRequestId(),method:e.method,params:e.params||void 0};return n&&n(r.id),new Promise((e,t)=>{let n=``+r.id;this._unprocessedResponses.set(n,n=>{`result`in n?e({result:n.result}):(n.error||t(Error(`Response had neither 'result' nor 'error' field set.`)),e({error:n.error}))}),this._stream.send(r).then(void 0,e=>{this._unprocessedResponses.delete(n),t(e)})})}sendNotification(e,t){let n={jsonrpc:`2.0`,id:void 0,method:e.method,params:e.params||void 0};return this._stream.send(n)}toString(){return`StreamChannel/`+this._stream.toString()}},G7;(function(e){function t(){return{deserializeFromJson:e=>({hasErrors:!1,value:e}),serializeToJson:e=>e}}e.sAny=t;function n(){return{deserializeFromJson:e=>({hasErrors:!1,value:{}}),serializeToJson:e=>({})}}e.sEmptyObject=n;function r(){return{deserializeFromJson:e=>({hasErrors:!1,value:void 0}),serializeToJson:e=>null}}e.sVoidFromNull=r})(G7||={});var K7=Symbol(`OptionalMethodNotFound`),q7=class{contextualize(e){return new gIe(this,e)}},gIe=class extends q7{constructor(e,t){super(),F7(this,`underylingTypedChannel`),F7(this,`converters`),this.underylingTypedChannel=e,this.converters=t}async request(e,t,n){let r=await this.converters.getSendContext(n);return this.underylingTypedChannel.request(e,t,r)}async notify(e,t,n){let r=await this.converters.getSendContext(n);return this.underylingTypedChannel.notify(e,t,r)}registerNotificationHandler(e,t){return this.underylingTypedChannel.registerNotificationHandler(e,async(e,n)=>await t(e,await this.converters.getNewContext(n)))}registerRequestHandler(e,t){return this.underylingTypedChannel.registerRequestHandler(e,async(e,n,r)=>await t(e,n,await this.converters.getNewContext(r)))}},J7=class e extends q7{constructor(e,t={}){super(),F7(this,`channelCtor`),F7(this,`_requestSender`),F7(this,`_handler`,new Map),F7(this,`_unknownNotificationHandler`,new Set),F7(this,`_timeout`),F7(this,`sendExceptionDetails`,!1),F7(this,`_logger`),F7(this,`listeningDeferred`,new uIe),F7(this,`onListening`,this.listeningDeferred.promise),F7(this,`_requestDidErrorEventEmitter`,new H7),F7(this,`onRequestDidError`,this._requestDidErrorEventEmitter.event),this.channelCtor=e,this._logger=t.logger,this.sendExceptionDetails=!!t.sendExceptionDetails,this._timeout=lIe(1e3,()=>{this._requestSender||console.warn(`"${this.startListen.name}" has not been called within 1 second after construction of this channel. Did you forget to call it?`,this)})}static fromTransport(t,n={}){return new e(hIe.createChannel(t,n.logger),n)}startListen(){if(this._requestSender)throw Error(`"${this.startListen.name}" can be called only once, but it already has been called.`);this._timeout&&=(this._timeout.dispose(),void 0),this._requestSender=this.channelCtor.connect({handleRequest:(e,t,n)=>this.handleRequest(e,t,n),handleNotification:(e,t)=>this.handleNotification(e,t)}),this.listeningDeferred.resolve()}checkChannel(e){if(!e)throw Error(`"${this.startListen.name}" must be called before any messages can be sent or received.`);return!0}async handleRequest(e,t,n){let r=this._handler.get(e.method);if(!r)return this._logger&&this._logger.debug({text:`No request handler for "${e.method}".`,data:{requestObject:e}}),{error:{code:V7.methodNotFound,message:`No request handler for "${e.method}".`,data:{method:e.method}}};if(r.kind!=`request`){let t=`"${e.method}" is registered as notification, but was sent as request.`;return this._logger&&this._logger.debug({text:t,data:{requestObject:e}}),{error:{code:V7.invalidRequest,message:t,data:{method:e.method}}}}let i=r.requestType.paramsSerializer.deserializeFromJson(e.params);if(i.hasErrors){let t=`Got invalid params: ${i.errorMessage}`;return this._logger&&this._logger.debug({text:t,data:{requestObject:e,errorMessage:i.errorMessage}}),{error:{code:V7.invalidParams,message:t,data:{errors:i.errorMessage}}}}else{let a=i.value,o;try{let e=await r.handler(a,t,n);if(`error`in e||`errorMessage`in e){let t=e.error?r.requestType.errorSerializer.serializeToJson(e.error):void 0;o={error:{code:e.errorCode||V7.genericApplicationError,message:e.errorMessage||`An error was returned`,data:t}}}else o={result:r.requestType.resultSerializer.serializeToJson(e.ok)}}catch(t){t instanceof X7?o={error:{code:t.code,message:t.message}}:(this._logger&&this._logger.warn({text:`An exception was thrown while handling a request: ${t}.`,exception:t,data:{requestObject:e}}),o={error:{code:V7.unexpectedServerError,message:this.sendExceptionDetails?`An exception was thrown while handling a request: ${t}.`:`Server has thrown an unexpected exception`}})}return o}}async handleNotification(e,t){let n=this._handler.get(e.method);if(!n){for(let t of this._unknownNotificationHandler)t(e);this._unknownNotificationHandler.size===0&&this._logger&&this._logger.debug({text:`Unhandled notification "${e.method}"`,data:{requestObject:e}});return}if(n.kind!=`notification`){this._logger&&this._logger.debug({text:`"${e.method}" is registered as request, but was sent as notification.`,data:{requestObject:e}});return}let r=n.notificationType.paramsSerializer.deserializeFromJson(e.params);if(r.hasErrors){this._logger&&this._logger.debug({text:`Got invalid params: ${r}`,data:{requestObject:e,errorMessage:r.errorMessage}});return}let i=r.value;for(let r of n.handlers)try{r(i,t)}catch(t){this._logger&&this._logger.warn({text:`An exception was thrown while handling a notification: ${t}.`,exception:t,data:{requestObject:e}})}}registerUnknownNotificationHandler(e){return U7(this._unknownNotificationHandler,e)}registerRequestHandler(e,t){if(this._handler.get(e.method))throw Error(`Handler with method "${e.method}" already registered.`);return U7(this._handler,e.method,{kind:`request`,requestType:e,handler:t})}registerNotificationHandler(e,t){let n=this._handler.get(e.method);if(!n)n={kind:`notification`,notificationType:e,handlers:new Set},this._handler.set(e.method,n);else{if(n.kind!==`notification`)throw Error(`Method "${e.method}" was already registered as request handler.`);if(n.notificationType!==e)throw Error(`Method "${e.method}" was registered for a different type.`)}return U7(n.handlers,t)}getRegisteredTypes(){let e=[];for(let t of this._handler.values())t.kind===`notification`?e.push(t.notificationType):t.kind===`request`&&e.push(t.requestType);return e}async request(e,t,n){if(!this.checkChannel(this._requestSender))throw Error(`Impossible`);let r=e.paramsSerializer.serializeToJson(t);Y7(r);let i=await this._requestSender.sendRequest({method:e.method,params:r},n);if(`error`in i){if(e.isOptional&&i.error.code===V7.methodNotFound)return K7;let t;if(i.error.data!==void 0){let n=e.errorSerializer.deserializeFromJson(i.error.data);if(n.hasErrors)throw Error(n.errorMessage);t=n.value}else t=void 0;let n=new X7(i.error.message,t,i.error.code);throw this._requestDidErrorEventEmitter.fire({error:n}),n}else{let t=e.resultSerializer.deserializeFromJson(i.result);if(t.hasErrors)throw Error(`Could not deserialize response: `+t.errorMessage+` + hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof t.open==`string`&&typeof t.token==`string`&&typeof t.close==`string`)a.push({token:t.token+n.tokenPostfix,open:U4(n,t.open),close:U4(n,t.close)});else throw G4(n,`every element in the 'brackets' array must be a '{open,close,token}' object or array`)}return n.brackets=a,n.noThrow=!0,n}function rFe(e){Od.registerLanguage(e)}function iFe(){let e=[];return e=e.concat(Od.getLanguages()),e}function aFe(e){return l5.get(ud).languageIdCodec.encodeLanguageId(e)}function oFe(e,t){return l5.withServices(()=>{let n=l5.get(ud).onDidRequestRichLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function sFe(e,t){return l5.withServices(()=>{let n=l5.get(ud).onDidRequestBasicLanguageFeatures(r=>{r===e&&(n.dispose(),t())});return n})}function cFe(e,t){if(!l5.get(ud).isRegisteredLanguageId(e))throw Error(`Cannot set configuration for unknown language ${e}`);return l5.get(Pd).register(e,t,100)}var lFe=class{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,n){if(typeof this._actual.tokenize==`function`)return N5.adaptTokenize(this._languageId,this._actual,e,n);throw Error(`Not supported!`)}tokenizeEncoded(e,t,n){let r=this._actual.tokenizeEncoded(e,n);return new Uv(r.tokens,r.endState)}},N5=class e{constructor(e,t,n,r){this._languageId=e,this._actual=t,this._languageService=n,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){let n=[],r=0;for(let i=0,a=e.length;i0&&i[a-1]===c)continue;let l=s.startIndex;e===0?l=0:l{let n=await Promise.resolve(t.create());return n?uFe(n)?F5(e,n):new t3(l5.get(ud),l5.get(C0),e,M5(e,n),l5.get(rd)):null});return oy.registerFactory(e,n)}function pFe(e,t){if(!l5.get(ud).isRegisteredLanguageId(e))throw Error(`Cannot set tokens provider for unknown language ${e}`);return P5(t)?I5(e,{create:()=>t}):oy.register(e,F5(e,t))}function mFe(e,t){return P5(t)?I5(e,{create:()=>t}):oy.register(e,(t=>new t3(l5.get(ud),l5.get(C0),e,M5(e,t),l5.get(rd)))(t))}function hFe(e,t){return l5.get(Q).referenceProvider.register(e,t)}function gFe(e,t){return l5.get(Q).renameProvider.register(e,t)}function _Fe(e,t){return l5.get(Q).newSymbolNamesProvider.register(e,t)}function vFe(e,t){return l5.get(Q).signatureHelpProvider.register(e,t)}function yFe(e,t){return l5.get(Q).hoverProvider.register(e,{provideHover:async(e,n,r,i)=>{let a=e.getWordAtPosition(n);return Promise.resolve(t.provideHover(e,n,r,i)).then(e=>{if(e)return!e.range&&a&&(e.range=new W(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),e.range||=new W(n.lineNumber,n.column,n.lineNumber,n.column),e})}})}function bFe(e,t){return l5.get(Q).documentSymbolProvider.register(e,t)}function xFe(e,t){return l5.get(Q).documentHighlightProvider.register(e,t)}function SFe(e,t){return l5.get(Q).linkedEditingRangeProvider.register(e,t)}function CFe(e,t){return l5.get(Q).definitionProvider.register(e,t)}function wFe(e,t){return l5.get(Q).implementationProvider.register(e,t)}function TFe(e,t){return l5.get(Q).typeDefinitionProvider.register(e,t)}function EFe(e,t){return l5.get(Q).codeLensProvider.register(e,t)}function DFe(e,t,n){return l5.get(Q).codeActionProvider.register(e,{providedCodeActionKinds:n?.providedCodeActionKinds,documentation:n?.documentation,provideCodeActions:(e,n,r,i)=>{let a=l5.get(yI).read({resource:e.uri}).filter(e=>W.areIntersectingOrTouching(e,n));return t.provideCodeActions(e,n,{markers:a,only:r.only,trigger:r.trigger},i)},resolveCodeAction:t.resolveCodeAction})}function OFe(e,t){return l5.get(Q).documentFormattingEditProvider.register(e,t)}function kFe(e,t){return l5.get(Q).documentRangeFormattingEditProvider.register(e,t)}function AFe(e,t){return l5.get(Q).onTypeFormattingEditProvider.register(e,t)}function jFe(e,t){return l5.get(Q).linkProvider.register(e,t)}function MFe(e,t){return l5.get(Q).completionProvider.register(e,t)}function NFe(e,t){return l5.get(Q).colorProvider.register(e,t)}function PFe(e,t){return l5.get(Q).foldingRangeProvider.register(e,t)}function FFe(e,t){return l5.get(Q).declarationProvider.register(e,t)}function IFe(e,t){return l5.get(Q).selectionRangeProvider.register(e,t)}function LFe(e,t){return l5.get(Q).documentSemanticTokensProvider.register(e,t)}function RFe(e,t){return l5.get(Q).documentRangeSemanticTokensProvider.register(e,t)}function zFe(e,t){return l5.get(Q).inlineCompletionsProvider.register(e,t)}function BFe(e,t){return l5.get(Q).inlayHintsProvider.register(e,t)}function VFe(){return{register:rFe,getLanguages:iFe,onLanguage:oFe,onLanguageEncountered:sFe,getEncodedLanguageId:aFe,setLanguageConfiguration:cFe,setColorMap:fFe,registerTokensProviderFactory:I5,setTokensProvider:pFe,setMonarchTokensProvider:mFe,registerReferenceProvider:hFe,registerRenameProvider:gFe,registerNewSymbolNameProvider:_Fe,registerCompletionItemProvider:MFe,registerSignatureHelpProvider:vFe,registerHoverProvider:yFe,registerDocumentSymbolProvider:bFe,registerDocumentHighlightProvider:xFe,registerLinkedEditingRangeProvider:SFe,registerDefinitionProvider:CFe,registerImplementationProvider:wFe,registerTypeDefinitionProvider:TFe,registerCodeLensProvider:EFe,registerCodeActionProvider:DFe,registerDocumentFormattingEditProvider:OFe,registerDocumentRangeFormattingEditProvider:kFe,registerOnTypeFormattingEditProvider:AFe,registerLinkProvider:jFe,registerColorProvider:NFe,registerFoldingRangeProvider:PFe,registerDeclarationProvider:FFe,registerSelectionRangeProvider:IFe,registerDocumentSemanticTokensProvider:LFe,registerDocumentRangeSemanticTokensProvider:RFe,registerInlineCompletionsProvider:zFe,registerInlayHintsProvider:BFe,DocumentHighlightKind:j2,CompletionItemKind:T2,CompletionItemTag:E2,CompletionItemInsertTextRule:w2,SymbolKind:l4,SymbolTag:u4,IndentAction:R2,CompletionTriggerKind:D2,SignatureHelpTriggerKind:c4,InlayHintKind:B2,InlineCompletionTriggerKind:U2,CodeActionTriggerType:C2,NewSymbolNameTag:X2,NewSymbolNameTriggerKind:Z2,PartialAcceptTriggerKind:e4,HoverVerbosityAction:L2,InlineCompletionEndOfLifeReasonKind:V2,InlineCompletionHintStyle:H2,FoldingRangeKind:ty,SelectedSuggestionInfo:qv,EditDeltaInfo:qS}}var HFe=n({CancellationTokenSource:()=>R5,Emitter:()=>z5,KeyCode:()=>B5,KeyMod:()=>V5,MarkerSeverity:()=>K5,MarkerTag:()=>q5,Position:()=>H5,Range:()=>U5,Selection:()=>W5,SelectionDirection:()=>G5,Token:()=>Y5,Uri:()=>J5,editor:()=>X5,languages:()=>$});Ep.wrappingIndent.defaultValue=0,Ep.glyphMargin.defaultValue=!1,Ep.autoIndent.defaultValue=3,Ep.overviewRulerLanes.defaultValue=2,ZK.setFormatterSelector((e,t,n)=>Promise.resolve(e[0]));var L5=g4();L5.editor=ZPe(),L5.languages=VFe();var R5=L5.CancellationTokenSource,z5=L5.Emitter,B5=L5.KeyCode,V5=L5.KeyMod,H5=L5.Position,U5=L5.Range,W5=L5.Selection,G5=L5.SelectionDirection,K5=L5.MarkerSeverity,q5=L5.MarkerTag,J5=L5.Uri,Y5=L5.Token,X5=L5.editor,$=L5.languages,UFe=ee(),Z5=globalThis;(UFe?.globalAPI||typeof Z5.define==`function`&&Z5.define.amd)&&(Z5.monaco=L5),Z5.require!==void 0&&typeof Z5.require.config==`function`&&Z5.require.config({ignoreDuplicateModules:[`vscode-languageserver-types`,`vscode-languageserver-types/main`,`vscode-languageserver-textdocument`,`vscode-languageserver-textdocument/main`,`vscode-nls`,`vscode-nls/vscode-nls`,`jsonc-parser`,`jsonc-parser/main`,`vscode-uri`,`vscode-uri/index`,`vs/basic-languages/typescript/typescript`]});function WFe(e,t){let n=globalThis.MonacoEnvironment;if(n?.createTrustedTypesPolicy)try{return n.createTrustedTypesPolicy(e,t)}catch(e){console.error(e);return}try{return globalThis.trustedTypes?.createPolicy(e,t)}catch(e){console.error(e);return}}var Q5=typeof self==`object`&&self.constructor&&self.constructor.name===`DedicatedWorkerGlobalScope`&&globalThis.workerttPolicy!==void 0?globalThis.workerttPolicy:WFe(`defaultWorkerFactory`,{createScriptURL:e=>e});function GFe(e){let t=e.label,n=globalThis.MonacoEnvironment;if(n){if(typeof n.getWorker==`function`)return n.getWorker(`workerMain.js`,t);if(typeof n.getWorkerUrl==`function`){let e=n.getWorkerUrl(`workerMain.js`,t);return new Worker(Q5?Q5.createScriptURL(e):e,{name:t,type:`module`})}}if(e.createWorker)return e.createWorker();throw Error(`You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker`)}function $5(e){let t=Promise.resolve(GFe({label:e.label??`monaco-editor-worker`,moduleId:e.moduleId,createWorker:e.createWorker})).then(t=>(t.postMessage(`ignore`),t.postMessage(e.createData),t));return X5.createWebWorker({worker:t,host:e.host,keepIdleModels:e.keepIdleModels})}var KFe=`5.9.3`,e7=n({JsxEmit:()=>n7,ModuleKind:()=>t7,ModuleResolutionKind:()=>a7,NewLineKind:()=>r7,ScriptTarget:()=>i7,getJavaScriptWorker:()=>YFe,getTypeScriptWorker:()=>JFe,javascriptDefaults:()=>l7,typescriptDefaults:()=>c7,typescriptVersion:()=>qFe}),t7=(e=>(e[e.None=0]=`None`,e[e.CommonJS=1]=`CommonJS`,e[e.AMD=2]=`AMD`,e[e.UMD=3]=`UMD`,e[e.System=4]=`System`,e[e.ES2015=5]=`ES2015`,e[e.ESNext=99]=`ESNext`,e))(t7||{}),n7=(e=>(e[e.None=0]=`None`,e[e.Preserve=1]=`Preserve`,e[e.React=2]=`React`,e[e.ReactNative=3]=`ReactNative`,e[e.ReactJSX=4]=`ReactJSX`,e[e.ReactJSXDev=5]=`ReactJSXDev`,e))(n7||{}),r7=(e=>(e[e.CarriageReturnLineFeed=0]=`CarriageReturnLineFeed`,e[e.LineFeed=1]=`LineFeed`,e))(r7||{}),i7=(e=>(e[e.ES3=0]=`ES3`,e[e.ES5=1]=`ES5`,e[e.ES2015=2]=`ES2015`,e[e.ES2016=3]=`ES2016`,e[e.ES2017=4]=`ES2017`,e[e.ES2018=5]=`ES2018`,e[e.ES2019=6]=`ES2019`,e[e.ES2020=7]=`ES2020`,e[e.ESNext=99]=`ESNext`,e[e.JSON=100]=`JSON`,e[e.Latest=99]=`Latest`,e))(i7||{}),a7=(e=>(e[e.Classic=1]=`Classic`,e[e.NodeJs=2]=`NodeJs`,e))(a7||{}),o7=class{constructor(e,t,n,r,i){this._onDidChange=new z5,this._onDidExtraLibsChange=new z5,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(n),this.setInlayHintsOptions(r),this.setModeConfiguration(i),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let n;if(n=t===void 0?`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t,this._extraLibs[n]&&this._extraLibs[n].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[n]&&(r=this._removedExtraLibs[n]+1),this._extraLibs[n]&&(r=this._extraLibs[n].version+1),this._extraLibs[n]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let e=this._extraLibs[n];e&&e.version===r&&(delete this._extraLibs[n],this._removedExtraLibs[n]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(let e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(let t of e){let e=t.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,n=t.content,r=1;this._removedExtraLibs[e]&&(r=this._removedExtraLibs[e]+1),this._extraLibs[e]={content:n,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},qFe=KFe,s7={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},c7=new o7({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},s7),l7=new o7({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},s7),JFe=()=>u7().then(e=>e.getTypeScriptWorker()),YFe=()=>u7().then(e=>e.getJavaScriptWorker());function u7(){return e(()=>import(`./tsMode-MTBD3Tgi.js`),[])}$.onLanguage(`typescript`,()=>u7().then(e=>e.setupTypeScript(c7))),$.onLanguage(`javascript`,()=>u7().then(e=>e.setupJavaScript(l7)));var d7=n({cssDefaults:()=>h7,lessDefaults:()=>_7,scssDefaults:()=>g7}),f7=class{constructor(e,t,n){this._onDidChange=new z5,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},p7={validate:!0,lint:{compatibleVendorPrefixes:`ignore`,vendorPrefix:`warning`,duplicateProperties:`warning`,emptyRules:`warning`,importStatement:`ignore`,boxModel:`ignore`,universalSelector:`ignore`,zeroUnits:`ignore`,fontFaceProperties:`warning`,hexColorLength:`error`,argumentsInColorFunction:`error`,unknownProperties:`warning`,ieHack:`ignore`,unknownVendorSpecificProperties:`ignore`,propertyIgnoredDueToDisplay:`warning`,important:`ignore`,float:`ignore`,idSelector:`ignore`},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:`collapse`,maxPreserveNewLines:void 0,preserveNewLines:!0}},m7={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},h7=new f7(`css`,p7,m7),g7=new f7(`scss`,p7,m7),_7=new f7(`less`,p7,m7);function v7(){return e(()=>import(`./cssMode-CscEBWSh.js`),__vite__mapDeps([0,1]))}$.onLanguage(`less`,()=>{v7().then(e=>e.setupMode(_7))}),$.onLanguage(`scss`,()=>{v7().then(e=>e.setupMode(g7))}),$.onLanguage(`css`,()=>{v7().then(e=>e.setupMode(h7))});var y7=n({handlebarDefaults:()=>QFe,handlebarLanguageService:()=>E7,htmlDefaults:()=>ZFe,htmlLanguageService:()=>T7,razorDefaults:()=>$Fe,razorLanguageService:()=>D7,registerHTMLLanguageService:()=>O7}),XFe=class{constructor(e,t,n){this._onDidChange=new z5,this._languageId=e,this.setOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},b7={format:{tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:`default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var`,contentUnformatted:`pre`,indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:`head, body, /html`,wrapAttributes:`auto`},suggest:{},data:{useDefaultDataProvider:!0}};function x7(e){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:e===S7,documentFormattingEdits:e===S7,documentRangeFormattingEdits:e===S7}}var S7=`html`,C7=`handlebars`,w7=`razor`,T7=O7(S7,b7,x7(S7)),ZFe=T7.defaults,E7=O7(C7,b7,x7(C7)),QFe=E7.defaults,D7=O7(w7,b7,x7(w7)),$Fe=D7.defaults;function eIe(){return e(()=>import(`./htmlMode-YP8ByLs9.js`),__vite__mapDeps([2,1]))}function O7(e,t=b7,n=x7(e)){let r=new XFe(e,t,n),i,a=$.onLanguage(e,async()=>{i=(await eIe()).setupMode(r)});return{defaults:r,dispose(){a.dispose(),i?.dispose(),i=void 0}}}var k7=n({getWorker:()=>tIe,jsonDefaults:()=>A7}),A7=new class{constructor(e,t,n){this._onDidChange=new z5,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(n)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}}(`json`,{validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:`warning`,schemaValidation:`warning`,comments:`error`,trailingCommas:`error`},{documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0}),tIe=()=>j7().then(e=>e.getWorker());function j7(){return e(()=>import(`./jsonMode-L_XyLhtg.js`),__vite__mapDeps([3,1]))}$.register({id:`json`,extensions:[`.json`,`.bowerrc`,`.jshintrc`,`.jscsrc`,`.eslintrc`,`.babelrc`,`.har`],aliases:[`JSON`,`json`],mimetypes:[`application/json`]}),$.onLanguage(`json`,()=>{j7().then(e=>e.setupMode(A7))});var M7={},N7={},nIe=class e{static getOrCreate(t){return N7[t]||(N7[t]=new e(t)),N7[t]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((e,t)=>{this._lazyLoadPromiseResolve=e,this._lazyLoadPromiseReject=t})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,M7[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function P7(e){let t=e.id;M7[t]=e,$.register(e);let n=nIe.getOrCreate(t);$.registerTokensProviderFactory(t,{create:async()=>(await n.load()).language}),$.onLanguageEncountered(t,async()=>{let e=await n.load();$.setLanguageConfiguration(t,e.conf)})}P7({id:`abap`,extensions:[`.abap`],aliases:[`abap`,`ABAP`],loader:()=>e(()=>import(`./abap-08VXUWAP.js`),[])}),P7({id:`apex`,extensions:[`.cls`],aliases:[`Apex`,`apex`],mimetypes:[`text/x-apex-source`,`text/x-apex`],loader:()=>e(()=>import(`./apex-BWPQTe0t.js`),[])}),P7({id:`azcli`,extensions:[`.azcli`],aliases:[`Azure CLI`,`azcli`],loader:()=>e(()=>import(`./azcli-Bc_sGQ0U.js`),[])}),P7({id:`bat`,extensions:[`.bat`,`.cmd`],aliases:[`Batch`,`bat`],loader:()=>e(()=>import(`./bat-i0X4ZdIN.js`),[])}),P7({id:`bicep`,extensions:[`.bicep`],aliases:[`Bicep`],loader:()=>e(()=>import(`./bicep-B5-_aFwp.js`),[])}),P7({id:`cameligo`,extensions:[`.mligo`],aliases:[`Cameligo`],loader:()=>e(()=>import(`./cameligo-DMUM7wLl.js`),[])}),P7({id:`clojure`,extensions:[`.clj`,`.cljs`,`.cljc`,`.edn`],aliases:[`clojure`,`Clojure`],loader:()=>e(()=>import(`./clojure-Cm7r79vr.js`),[])}),P7({id:`coffeescript`,extensions:[`.coffee`],aliases:[`CoffeeScript`,`coffeescript`,`coffee`],mimetypes:[`text/x-coffeescript`,`text/coffeescript`],loader:()=>e(()=>import(`./coffee-Ba7i2nA0.js`),[])}),P7({id:`c`,extensions:[`.c`,`.h`],aliases:[`C`,`c`],loader:()=>e(()=>import(`./cpp-C7h46wYY.js`),[])}),P7({id:`cpp`,extensions:[`.cpp`,`.cc`,`.cxx`,`.hpp`,`.hh`,`.hxx`],aliases:[`C++`,`Cpp`,`cpp`],loader:()=>e(()=>import(`./cpp-C7h46wYY.js`),[])}),P7({id:`csharp`,extensions:[`.cs`,`.csx`,`.cake`],aliases:[`C#`,`csharp`],loader:()=>e(()=>import(`./csharp-BKxtCVv1.js`),[])}),P7({id:`csp`,extensions:[`.csp`],aliases:[`CSP`,`csp`],loader:()=>e(()=>import(`./csp-bTuwJoIa.js`),[])}),P7({id:`css`,extensions:[`.css`],aliases:[`CSS`,`css`],mimetypes:[`text/css`],loader:()=>e(()=>import(`./css-DIMkf-bt.js`),[])}),P7({id:`cypher`,extensions:[`.cypher`,`.cyp`],aliases:[`Cypher`,`OpenCypher`],loader:()=>e(()=>import(`./cypher-CVaqCwHa.js`),[])}),P7({id:`dart`,extensions:[`.dart`],aliases:[`Dart`,`dart`],mimetypes:[`text/x-dart-source`,`text/x-dart`],loader:()=>e(()=>import(`./dart-onAF5SnQ.js`),[])}),P7({id:`dockerfile`,extensions:[`.dockerfile`],filenames:[`Dockerfile`],aliases:[`Dockerfile`],loader:()=>e(()=>import(`./dockerfile-DZFCIeNp.js`),[])}),P7({id:`ecl`,extensions:[`.ecl`],aliases:[`ECL`,`Ecl`,`ecl`],loader:()=>e(()=>import(`./ecl-D05T4iGw.js`),[])}),P7({id:`elixir`,extensions:[`.ex`,`.exs`],aliases:[`Elixir`,`elixir`,`ex`],loader:()=>e(()=>import(`./elixir-6RTg0lbw.js`),[])}),P7({id:`flow9`,extensions:[`.flow`],aliases:[`Flow9`,`Flow`,`flow9`,`flow`],loader:()=>e(()=>import(`./flow9-C5_-GSwl.js`),[])}),P7({id:`fsharp`,extensions:[`.fs`,`.fsi`,`.ml`,`.mli`,`.fsx`,`.fsscript`],aliases:[`F#`,`FSharp`,`fsharp`],loader:()=>e(()=>import(`./fsharp-C8Ef5oNN.js`),[])}),P7({id:`freemarker2`,extensions:[`.ftl`,`.ftlh`,`.ftlx`],aliases:[`FreeMarker2`,`Apache FreeMarker2`],loader:()=>e(()=>import(`./freemarker2-Couaj2b-.js`).then(e=>e.TagAutoInterpolationDollar),[])}),P7({id:`freemarker2.tag-angle.interpolation-dollar`,aliases:[`FreeMarker2 (Angle/Dollar)`,`Apache FreeMarker2 (Angle/Dollar)`],loader:()=>e(()=>import(`./freemarker2-Couaj2b-.js`).then(e=>e.TagAngleInterpolationDollar),[])}),P7({id:`freemarker2.tag-bracket.interpolation-dollar`,aliases:[`FreeMarker2 (Bracket/Dollar)`,`Apache FreeMarker2 (Bracket/Dollar)`],loader:()=>e(()=>import(`./freemarker2-Couaj2b-.js`).then(e=>e.TagBracketInterpolationDollar),[])}),P7({id:`freemarker2.tag-angle.interpolation-bracket`,aliases:[`FreeMarker2 (Angle/Bracket)`,`Apache FreeMarker2 (Angle/Bracket)`],loader:()=>e(()=>import(`./freemarker2-Couaj2b-.js`).then(e=>e.TagAngleInterpolationBracket),[])}),P7({id:`freemarker2.tag-bracket.interpolation-bracket`,aliases:[`FreeMarker2 (Bracket/Bracket)`,`Apache FreeMarker2 (Bracket/Bracket)`],loader:()=>e(()=>import(`./freemarker2-Couaj2b-.js`).then(e=>e.TagBracketInterpolationBracket),[])}),P7({id:`freemarker2.tag-auto.interpolation-dollar`,aliases:[`FreeMarker2 (Auto/Dollar)`,`Apache FreeMarker2 (Auto/Dollar)`],loader:()=>e(()=>import(`./freemarker2-Couaj2b-.js`).then(e=>e.TagAutoInterpolationDollar),[])}),P7({id:`freemarker2.tag-auto.interpolation-bracket`,aliases:[`FreeMarker2 (Auto/Bracket)`,`Apache FreeMarker2 (Auto/Bracket)`],loader:()=>e(()=>import(`./freemarker2-Couaj2b-.js`).then(e=>e.TagAutoInterpolationBracket),[])}),P7({id:`go`,extensions:[`.go`],aliases:[`Go`],loader:()=>e(()=>import(`./go-C-y9NEjX.js`),[])}),P7({id:`graphql`,extensions:[`.graphql`,`.gql`],aliases:[`GraphQL`,`graphql`,`gql`],mimetypes:[`application/graphql`],loader:()=>e(()=>import(`./graphql-fmXr3nnJ.js`),[])}),P7({id:`handlebars`,extensions:[`.handlebars`,`.hbs`],aliases:[`Handlebars`,`handlebars`,`hbs`],mimetypes:[`text/x-handlebars-template`],loader:()=>e(()=>import(`./handlebars-0IVx-PP6.js`),[])}),P7({id:`hcl`,extensions:[`.tf`,`.tfvars`,`.hcl`],aliases:[`Terraform`,`tf`,`HCL`,`hcl`],loader:()=>e(()=>import(`./hcl-CpzslTdj.js`),[])}),P7({id:`html`,extensions:[`.html`,`.htm`,`.shtml`,`.xhtml`,`.mdoc`,`.jsp`,`.asp`,`.aspx`,`.jshtm`],aliases:[`HTML`,`htm`,`html`,`xhtml`],mimetypes:[`text/html`,`text/x-jshtm`,`text/template`,`text/ng-template`],loader:()=>e(()=>import(`./html-DNoJog4z.js`),[])}),P7({id:`ini`,extensions:[`.ini`,`.properties`,`.gitconfig`],filenames:[`config`,`.gitattributes`,`.gitconfig`,`.editorconfig`],aliases:[`Ini`,`ini`],loader:()=>e(()=>import(`./ini-sBoK_t0W.js`),[])}),P7({id:`java`,extensions:[`.java`,`.jav`],aliases:[`Java`,`java`],mimetypes:[`text/x-java-source`,`text/x-java`],loader:()=>e(()=>import(`./java-BEtHBSE6.js`),[])}),P7({id:`javascript`,extensions:[`.js`,`.es6`,`.jsx`,`.mjs`,`.cjs`],firstLine:`^#!.*\\bnode`,filenames:[`jakefile`],aliases:[`JavaScript`,`javascript`,`js`],mimetypes:[`text/javascript`],loader:()=>e(()=>import(`./javascript-B5T4qecq.js`),__vite__mapDeps([4,5]))}),P7({id:`julia`,extensions:[`.jl`],aliases:[`julia`,`Julia`],loader:()=>e(()=>import(`./julia-Bri6UV-V.js`),[])}),P7({id:`kotlin`,extensions:[`.kt`,`.kts`],aliases:[`Kotlin`,`kotlin`],mimetypes:[`text/x-kotlin-source`,`text/x-kotlin`],loader:()=>e(()=>import(`./kotlin-BOotOW0E.js`),[])}),P7({id:`less`,extensions:[`.less`],aliases:[`Less`,`less`],mimetypes:[`text/x-less`,`text/less`],loader:()=>e(()=>import(`./less-B9JPFI3C.js`),[])}),P7({id:`lexon`,extensions:[`.lex`],aliases:[`Lexon`],loader:()=>e(()=>import(`./lexon-CfSJPG6W.js`),[])}),P7({id:`lua`,extensions:[`.lua`],aliases:[`Lua`,`lua`],loader:()=>e(()=>import(`./lua-CsQS60Ue.js`),[])}),P7({id:`liquid`,extensions:[`.liquid`,`.html.liquid`],aliases:[`Liquid`,`liquid`],mimetypes:[`application/liquid`],loader:()=>e(()=>import(`./liquid-FgrcOnYV.js`),[])}),P7({id:`m3`,extensions:[`.m3`,`.i3`,`.mg`,`.ig`],aliases:[`Modula-3`,`Modula3`,`modula3`,`m3`],loader:()=>e(()=>import(`./m3-D-oSqn_W.js`),[])}),P7({id:`markdown`,extensions:[`.md`,`.markdown`,`.mdown`,`.mkdn`,`.mkd`,`.mdwn`,`.mdtxt`,`.mdtext`],aliases:[`Markdown`,`markdown`],loader:()=>e(()=>import(`./markdown-Cimd5fb3.js`),[])}),P7({id:`mdx`,extensions:[`.mdx`],aliases:[`MDX`,`mdx`],loader:()=>e(()=>import(`./mdx-BFhNXYzC.js`),[])}),P7({id:`mips`,extensions:[`.s`],aliases:[`MIPS`,`MIPS-V`],mimetypes:[`text/x-mips`,`text/mips`,`text/plaintext`],loader:()=>e(()=>import(`./mips-CIPQ_RoX.js`),[])}),P7({id:`msdax`,extensions:[`.dax`,`.msdax`],aliases:[`DAX`,`MSDAX`],loader:()=>e(()=>import(`./msdax-DauUninz.js`),[])}),P7({id:`mysql`,extensions:[],aliases:[`MySQL`,`mysql`],loader:()=>e(()=>import(`./mysql-SOo6toE5.js`),[])}),P7({id:`objective-c`,extensions:[`.m`],aliases:[`Objective-C`],loader:()=>e(()=>import(`./objective-c-FvmIjYaQ.js`),[])}),P7({id:`pascal`,extensions:[`.pas`,`.p`,`.pp`],aliases:[`Pascal`,`pas`],mimetypes:[`text/x-pascal-source`,`text/x-pascal`],loader:()=>e(()=>import(`./pascal-DrH0SRf2.js`),[])}),P7({id:`pascaligo`,extensions:[`.ligo`],aliases:[`Pascaligo`,`ligo`],loader:()=>e(()=>import(`./pascaligo-D-ptJ9y-.js`),[])}),P7({id:`perl`,extensions:[`.pl`,`.pm`],aliases:[`Perl`,`pl`],loader:()=>e(()=>import(`./perl-oz_6vUea.js`),[])}),P7({id:`pgsql`,extensions:[],aliases:[`PostgreSQL`,`postgres`,`pg`,`postgre`],loader:()=>e(()=>import(`./pgsql-DTj74zXo.js`),[])}),P7({id:`php`,extensions:[`.php`,`.php4`,`.php5`,`.phtml`,`.ctp`],aliases:[`PHP`,`php`],mimetypes:[`application/x-php`],loader:()=>e(()=>import(`./php-nr791fC2.js`),[])}),P7({id:`pla`,extensions:[`.pla`],loader:()=>e(()=>import(`./pla-CopQ2nXW.js`),[])}),P7({id:`postiats`,extensions:[`.dats`,`.sats`,`.hats`],aliases:[`ATS`,`ATS/Postiats`],loader:()=>e(()=>import(`./postiats-43DmfD33.js`),[])}),P7({id:`powerquery`,extensions:[`.pq`,`.pqm`],aliases:[`PQ`,`M`,`Power Query`,`Power Query M`],loader:()=>e(()=>import(`./powerquery-D3hlyOfw.js`),[])}),P7({id:`powershell`,extensions:[`.ps1`,`.psm1`,`.psd1`],aliases:[`PowerShell`,`powershell`,`ps`,`ps1`],loader:()=>e(()=>import(`./powershell-DmHpPYUd.js`),[])}),P7({id:`proto`,extensions:[`.proto`],aliases:[`protobuf`,`Protocol Buffers`],loader:()=>e(()=>import(`./protobuf-C531GsRP.js`),[])}),P7({id:`pug`,extensions:[`.jade`,`.pug`],aliases:[`Pug`,`Jade`,`jade`],loader:()=>e(()=>import(`./pug-Z5eAx3Zn.js`),[])}),P7({id:`python`,extensions:[`.py`,`.rpy`,`.pyw`,`.cpy`,`.gyp`,`.gypi`],aliases:[`Python`,`py`],firstLine:`^#!/.*\\bpython[0-9.-]*\\b`,loader:()=>e(()=>import(`./python-HyN5-tSk.js`),[])}),P7({id:`qsharp`,extensions:[`.qs`],aliases:[`Q#`,`qsharp`],loader:()=>e(()=>import(`./qsharp-DkqhCAOL.js`),[])}),P7({id:`r`,extensions:[`.r`,`.rhistory`,`.rmd`,`.rprofile`,`.rt`],aliases:[`R`,`r`],loader:()=>e(()=>import(`./r-BwWrilGY.js`),[])}),P7({id:`razor`,extensions:[`.cshtml`],aliases:[`Razor`,`razor`],mimetypes:[`text/x-cshtml`],loader:()=>e(()=>import(`./razor-D2hnWTxt.js`),[])}),P7({id:`redis`,extensions:[`.redis`],aliases:[`redis`],loader:()=>e(()=>import(`./redis-ClamHrr6.js`),[])}),P7({id:`redshift`,extensions:[],aliases:[`Redshift`,`redshift`],loader:()=>e(()=>import(`./redshift-DT7zqm-g.js`),[])}),P7({id:`restructuredtext`,extensions:[`.rst`],aliases:[`reStructuredText`,`restructuredtext`],loader:()=>e(()=>import(`./restructuredtext-BYgofb2h.js`),[])}),P7({id:`ruby`,extensions:[`.rb`,`.rbx`,`.rjs`,`.gemspec`,`.pp`],filenames:[`rakefile`,`Gemfile`],aliases:[`Ruby`,`rb`],loader:()=>e(()=>import(`./ruby-DezsRK8O.js`),[])}),P7({id:`rust`,extensions:[`.rs`,`.rlib`],aliases:[`Rust`,`rust`],loader:()=>e(()=>import(`./rust-DdL9SqIa.js`),[])}),P7({id:`sb`,extensions:[`.sb`],aliases:[`Small Basic`,`sb`],loader:()=>e(()=>import(`./sb-CcwsVR0C.js`),[])}),P7({id:`scala`,extensions:[`.scala`,`.sc`,`.sbt`],aliases:[`Scala`,`scala`,`SBT`,`Sbt`,`sbt`,`Dotty`,`dotty`],mimetypes:[`text/x-scala-source`,`text/x-scala`,`text/x-sbt`,`text/x-dotty`],loader:()=>e(()=>import(`./scala-DHpiXF5c.js`),[])}),P7({id:`scheme`,extensions:[`.scm`,`.ss`,`.sch`,`.rkt`],aliases:[`scheme`,`Scheme`],loader:()=>e(()=>import(`./scheme-BeGwcela.js`),[])}),P7({id:`scss`,extensions:[`.scss`],aliases:[`Sass`,`sass`,`scss`],mimetypes:[`text/x-scss`,`text/scss`],loader:()=>e(()=>import(`./scss-gp-XZpBa.js`),[])}),P7({id:`shell`,extensions:[`.sh`,`.bash`],aliases:[`Shell`,`sh`],loader:()=>e(()=>import(`./shell-CC2rA5mh.js`),[])}),P7({id:`sol`,extensions:[`.sol`],aliases:[`sol`,`solidity`,`Solidity`],loader:()=>e(()=>import(`./solidity-BEEn4gHE.js`),[])}),P7({id:`aes`,extensions:[`.aes`],aliases:[`aes`,`sophia`,`Sophia`],loader:()=>e(()=>import(`./sophia-CRfGWb83.js`),[])}),P7({id:`sparql`,extensions:[`.rq`],aliases:[`sparql`,`SPARQL`],loader:()=>e(()=>import(`./sparql-D_Lu-MrJ.js`),[])}),P7({id:`sql`,extensions:[`.sql`],aliases:[`SQL`],loader:()=>e(()=>import(`./sql-NEE52Syq.js`),[])}),P7({id:`st`,extensions:[`.st`,`.iecst`,`.iecplc`,`.lc3lib`,`.TcPOU`,`.TcDUT`,`.TcGVL`,`.TcIO`],aliases:[`StructuredText`,`scl`,`stl`],loader:()=>e(()=>import(`./st-DbInun42.js`),[])}),P7({id:`swift`,aliases:[`Swift`,`swift`],extensions:[`.swift`],mimetypes:[`text/swift`],loader:()=>e(()=>import(`./swift-Bxkupp3x.js`),[])}),P7({id:`systemverilog`,extensions:[`.sv`,`.svh`],aliases:[`SV`,`sv`,`SystemVerilog`,`systemverilog`],loader:()=>e(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),P7({id:`verilog`,extensions:[`.v`,`.vh`],aliases:[`V`,`v`,`Verilog`,`verilog`],loader:()=>e(()=>import(`./systemverilog-Bz4Y3fRF.js`),[])}),P7({id:`tcl`,extensions:[`.tcl`],aliases:[`tcl`,`Tcl`,`tcltk`,`TclTk`,`tcl/tk`,`Tcl/Tk`],loader:()=>e(()=>import(`./tcl-DISqw1ZD.js`),[])}),P7({id:`twig`,extensions:[`.twig`],aliases:[`Twig`,`twig`],mimetypes:[`text/x-twig`],loader:()=>e(()=>import(`./twig-De2hgUGE.js`),[])}),P7({id:`typescript`,extensions:[`.ts`,`.tsx`,`.cts`,`.mts`],aliases:[`TypeScript`,`ts`,`typescript`],mimetypes:[`text/typescript`],loader:()=>e(()=>import(`./typescript-CnV6nxa6.js`),[])}),P7({id:`typespec`,extensions:[`.tsp`],aliases:[`TypeSpec`],loader:()=>e(()=>import(`./typespec-B8J7ngcE.js`),[])}),P7({id:`vb`,extensions:[`.vb`],aliases:[`Visual Basic`,`vb`],loader:()=>e(()=>import(`./vb-DV3o63ZY.js`),[])}),P7({id:`wgsl`,extensions:[`.wgsl`],aliases:[`WebGPU Shading Language`,`WGSL`,`wgsl`],loader:()=>e(()=>import(`./wgsl-DpFanUEy.js`),[])}),P7({id:`xml`,extensions:[`.xml`,`.xsd`,`.dtd`,`.ascx`,`.csproj`,`.config`,`.props`,`.targets`,`.wxi`,`.wxl`,`.wxs`,`.xaml`,`.svg`,`.svgz`,`.opf`,`.xslt`,`.xsl`],firstLine:`(\\<\\?xml.*)|(\\e(()=>import(`./xml-BGMXLPuF.js`),[])}),P7({id:`yaml`,extensions:[`.yaml`,`.yml`],aliases:[`YAML`,`yaml`,`YML`,`yml`],mimetypes:[`application/x-yaml`,`text/x-yaml`],loader:()=>e(()=>import(`./yaml-EJ0cQqMR.js`),[])});var rIe=n({MonacoLspClient:()=>eRe,WebSocketTransport:()=>rRe,createTransportToIFrame:()=>aRe,createTransportToWorker:()=>iRe}),iIe=Object.defineProperty,aIe=(e,t,n)=>t in e?iIe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,F7=(e,t,n)=>aIe(e,typeof t==`symbol`?t:t+``,n),I7,L7,R7,z7,B7;function oIe(e){return e.method!==void 0}var sIe;(function(e){function t(e){return e}e.create=t})(sIe||={});var V7;(function(e){e.parseError=-32700,e.invalidRequest=-32600,e.methodNotFound=-32601,e.invalidParams=-32602,e.internalError=-32603;function t(e){return-32099<=e&&e<=-32e3}e.isServerError=t;function n(e){if(!t(e))throw Error(`Invalid range for a server error.`);return e}e.serverError=n,e.unexpectedServerError=-32e3;function r(e){return!0}e.isApplicationError=r;function i(e){return e}e.applicationError=i,e.genericApplicationError=-320100})(V7||={});var H7=class{constructor(){F7(this,`listeners`,new Set),F7(this,`event`,e=>(this.listeners.add(e),{dispose:()=>{this.listeners.delete(e)}}))}fire(e){this.listeners.forEach(t=>t(e))}},cIe=class{constructor(e){F7(this,`_value`),F7(this,`eventEmitter`),this._value=e,this.eventEmitter=new H7}get value(){return this._value}set value(e){this._value!==e&&(this._value=e,this.eventEmitter.fire(e))}get onChange(){return this.eventEmitter.event}};function lIe(e,t){let n=setTimeout(t,e);return{dispose:()=>clearTimeout(n)}}function U7(e,t,n){return e instanceof Set?(e.add(t),{dispose:()=>e.delete(t)}):(e.set(t,n),{dispose:()=>e.delete(t)})}var uIe=class{constructor(){F7(this,`_state`,`none`),F7(this,`promise`),F7(this,`resolve`,()=>{}),F7(this,`reject`,()=>{}),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}get state(){return this._state}},W7=(I7=class{constructor(){F7(this,`_unprocessedMessages`,[]),F7(this,`_messageListener`),F7(this,`id`,I7.id++),F7(this,`_state`,new cIe({state:`open`})),F7(this,`state`,this._state)}setListener(e){if(this._messageListener=e,e)for(;this._unprocessedMessages.length>0&&this._messageListener!==void 0;){let e=this._unprocessedMessages.shift();this._messageListener(e)}}send(e){return this._sendImpl(e)}_dispatchReceivedMessage(e){this._unprocessedMessages.length===0&&this._messageListener?this._messageListener(e):this._unprocessedMessages.push(e)}_onConnectionClosed(){this._state.value={state:`closed`,error:void 0}}log(e){return new dIe(this,e??new fIe)}},F7(I7,`id`,0),I7),dIe=class{constructor(e,t){F7(this,`baseStream`),F7(this,`logger`),this.baseStream=e,this.logger=t}get state(){return this.baseStream.state}setListener(e){if(e===void 0){this.baseStream.setListener(void 0);return}this.baseStream.setListener(t=>{this.logger.log(this.baseStream,`incoming`,t),e(t)})}send(e){return this.logger.log(this.baseStream,`outgoing`,e),this.baseStream.send(e)}toString(){return`StreamLogger/${this.baseStream.toString()}`}},fIe=class{log(e,t,n){console.log(`${t===`incoming`?`<-`:`->`} [${e.toString()}] ${JSON.stringify(n)}`)}},pIe=class e{constructor(e){F7(this,`connect`),this.connect=e}mapContext(t){return new e(e=>this.connect(e?mIe(e,t):void 0))}};function mIe(e,t){return{handleNotification:(n,r)=>e.handleNotification(n,t(r)),handleRequest:(n,r,i)=>e.handleRequest(n,r,t(i))}}var hIe=class e{constructor(e,t,n){F7(this,`_stream`),F7(this,`_listener`),F7(this,`_logger`),F7(this,`_unprocessedResponses`,new Map),F7(this,`_lastUsedRequestId`,0),this._stream=e,this._listener=t,this._logger=n,this._stream.setListener(e=>{oIe(e)?e.id===void 0?this._processNotification(e):this._processRequest(e):this._processResponse(e)})}static createChannel(t,n){let r=!1;return new pIe(i=>{if(r)throw Error(`A channel to the stream ${t} was already constructed!`);return r=!0,new e(t,i,n)})}get state(){return this._stream.state}async _processNotification(e){if(e.id!==void 0)throw Error();if(!this._listener){this._logger&&this._logger.debug({text:`Notification ignored`,message:e});return}try{await this._listener.handleNotification({method:e.method,params:e.params||null})}catch(t){this._logger&&this._logger.warn({text:`Exception was thrown while handling notification: ${t}`,exception:t,message:e})}}async _processRequest(e){if(e.id===void 0)throw Error();let t;if(this._listener)try{t=await this._listener.handleRequest({method:e.method,params:e.params||null},e.id)}catch(n){this._logger&&this._logger.warn({text:`Exception was thrown while handling request: ${n}`,message:e,exception:n}),t={error:{code:V7.internalError,message:`An unexpected exception was thrown.`,data:void 0}}}else this._logger&&this._logger.debug({text:`Received request even though not listening for requests`,message:e}),t={error:{code:V7.methodNotFound,message:`This endpoint does not listen for requests or notifications.`,data:void 0}};let n;n=`result`in t?{jsonrpc:`2.0`,id:e.id,result:t.result}:{jsonrpc:`2.0`,id:e.id,error:t.error},await this._stream.send(n)}_processResponse(e){let t=``+e.id,n=this._unprocessedResponses.get(t);if(!n){this._logger&&this._logger.debug({text:`Got an unexpected response message`,message:e});return}this._unprocessedResponses.delete(t),n(e)}_newRequestId(){return this._lastUsedRequestId++}sendRequest(e,t,n){let r={jsonrpc:`2.0`,id:this._newRequestId(),method:e.method,params:e.params||void 0};return n&&n(r.id),new Promise((e,t)=>{let n=``+r.id;this._unprocessedResponses.set(n,n=>{`result`in n?e({result:n.result}):(n.error||t(Error(`Response had neither 'result' nor 'error' field set.`)),e({error:n.error}))}),this._stream.send(r).then(void 0,e=>{this._unprocessedResponses.delete(n),t(e)})})}sendNotification(e,t){let n={jsonrpc:`2.0`,id:void 0,method:e.method,params:e.params||void 0};return this._stream.send(n)}toString(){return`StreamChannel/`+this._stream.toString()}},G7;(function(e){function t(){return{deserializeFromJson:e=>({hasErrors:!1,value:e}),serializeToJson:e=>e}}e.sAny=t;function n(){return{deserializeFromJson:e=>({hasErrors:!1,value:{}}),serializeToJson:e=>({})}}e.sEmptyObject=n;function r(){return{deserializeFromJson:e=>({hasErrors:!1,value:void 0}),serializeToJson:e=>null}}e.sVoidFromNull=r})(G7||={});var K7=Symbol(`OptionalMethodNotFound`),q7=class{contextualize(e){return new gIe(this,e)}},gIe=class extends q7{constructor(e,t){super(),F7(this,`underylingTypedChannel`),F7(this,`converters`),this.underylingTypedChannel=e,this.converters=t}async request(e,t,n){let r=await this.converters.getSendContext(n);return this.underylingTypedChannel.request(e,t,r)}async notify(e,t,n){let r=await this.converters.getSendContext(n);return this.underylingTypedChannel.notify(e,t,r)}registerNotificationHandler(e,t){return this.underylingTypedChannel.registerNotificationHandler(e,async(e,n)=>await t(e,await this.converters.getNewContext(n)))}registerRequestHandler(e,t){return this.underylingTypedChannel.registerRequestHandler(e,async(e,n,r)=>await t(e,n,await this.converters.getNewContext(r)))}},J7=class e extends q7{constructor(e,t={}){super(),F7(this,`channelCtor`),F7(this,`_requestSender`),F7(this,`_handler`,new Map),F7(this,`_unknownNotificationHandler`,new Set),F7(this,`_timeout`),F7(this,`sendExceptionDetails`,!1),F7(this,`_logger`),F7(this,`listeningDeferred`,new uIe),F7(this,`onListening`,this.listeningDeferred.promise),F7(this,`_requestDidErrorEventEmitter`,new H7),F7(this,`onRequestDidError`,this._requestDidErrorEventEmitter.event),this.channelCtor=e,this._logger=t.logger,this.sendExceptionDetails=!!t.sendExceptionDetails,this._timeout=lIe(1e3,()=>{this._requestSender||console.warn(`"${this.startListen.name}" has not been called within 1 second after construction of this channel. Did you forget to call it?`,this)})}static fromTransport(t,n={}){return new e(hIe.createChannel(t,n.logger),n)}startListen(){if(this._requestSender)throw Error(`"${this.startListen.name}" can be called only once, but it already has been called.`);this._timeout&&=(this._timeout.dispose(),void 0),this._requestSender=this.channelCtor.connect({handleRequest:(e,t,n)=>this.handleRequest(e,t,n),handleNotification:(e,t)=>this.handleNotification(e,t)}),this.listeningDeferred.resolve()}checkChannel(e){if(!e)throw Error(`"${this.startListen.name}" must be called before any messages can be sent or received.`);return!0}async handleRequest(e,t,n){let r=this._handler.get(e.method);if(!r)return this._logger&&this._logger.debug({text:`No request handler for "${e.method}".`,data:{requestObject:e}}),{error:{code:V7.methodNotFound,message:`No request handler for "${e.method}".`,data:{method:e.method}}};if(r.kind!=`request`){let t=`"${e.method}" is registered as notification, but was sent as request.`;return this._logger&&this._logger.debug({text:t,data:{requestObject:e}}),{error:{code:V7.invalidRequest,message:t,data:{method:e.method}}}}let i=r.requestType.paramsSerializer.deserializeFromJson(e.params);if(i.hasErrors){let t=`Got invalid params: ${i.errorMessage}`;return this._logger&&this._logger.debug({text:t,data:{requestObject:e,errorMessage:i.errorMessage}}),{error:{code:V7.invalidParams,message:t,data:{errors:i.errorMessage}}}}else{let a=i.value,o;try{let e=await r.handler(a,t,n);if(`error`in e||`errorMessage`in e){let t=e.error?r.requestType.errorSerializer.serializeToJson(e.error):void 0;o={error:{code:e.errorCode||V7.genericApplicationError,message:e.errorMessage||`An error was returned`,data:t}}}else o={result:r.requestType.resultSerializer.serializeToJson(e.ok)}}catch(t){t instanceof X7?o={error:{code:t.code,message:t.message}}:(this._logger&&this._logger.warn({text:`An exception was thrown while handling a request: ${t}.`,exception:t,data:{requestObject:e}}),o={error:{code:V7.unexpectedServerError,message:this.sendExceptionDetails?`An exception was thrown while handling a request: ${t}.`:`Server has thrown an unexpected exception`}})}return o}}async handleNotification(e,t){let n=this._handler.get(e.method);if(!n){for(let t of this._unknownNotificationHandler)t(e);this._unknownNotificationHandler.size===0&&this._logger&&this._logger.debug({text:`Unhandled notification "${e.method}"`,data:{requestObject:e}});return}if(n.kind!=`notification`){this._logger&&this._logger.debug({text:`"${e.method}" is registered as request, but was sent as notification.`,data:{requestObject:e}});return}let r=n.notificationType.paramsSerializer.deserializeFromJson(e.params);if(r.hasErrors){this._logger&&this._logger.debug({text:`Got invalid params: ${r}`,data:{requestObject:e,errorMessage:r.errorMessage}});return}let i=r.value;for(let r of n.handlers)try{r(i,t)}catch(t){this._logger&&this._logger.warn({text:`An exception was thrown while handling a notification: ${t}.`,exception:t,data:{requestObject:e}})}}registerUnknownNotificationHandler(e){return U7(this._unknownNotificationHandler,e)}registerRequestHandler(e,t){if(this._handler.get(e.method))throw Error(`Handler with method "${e.method}" already registered.`);return U7(this._handler,e.method,{kind:`request`,requestType:e,handler:t})}registerNotificationHandler(e,t){let n=this._handler.get(e.method);if(!n)n={kind:`notification`,notificationType:e,handlers:new Set},this._handler.set(e.method,n);else{if(n.kind!==`notification`)throw Error(`Method "${e.method}" was already registered as request handler.`);if(n.notificationType!==e)throw Error(`Method "${e.method}" was registered for a different type.`)}return U7(n.handlers,t)}getRegisteredTypes(){let e=[];for(let t of this._handler.values())t.kind===`notification`?e.push(t.notificationType):t.kind===`request`&&e.push(t.requestType);return e}async request(e,t,n){if(!this.checkChannel(this._requestSender))throw Error(`Impossible`);let r=e.paramsSerializer.serializeToJson(t);Y7(r);let i=await this._requestSender.sendRequest({method:e.method,params:r},n);if(`error`in i){if(e.isOptional&&i.error.code===V7.methodNotFound)return K7;let t;if(i.error.data!==void 0){let n=e.errorSerializer.deserializeFromJson(i.error.data);if(n.hasErrors)throw Error(n.errorMessage);t=n.value}else t=void 0;let n=new X7(i.error.message,t,i.error.code);throw this._requestDidErrorEventEmitter.fire({error:n}),n}else{let t=e.resultSerializer.deserializeFromJson(i.result);if(t.hasErrors)throw Error(`Could not deserialize response: `+t.errorMessage+` ${JSON.stringify(i,null,2)}`);return t.value}}async notify(e,t,n){if(!this.checkChannel(this._requestSender))throw Error();let r=e.paramsSerializer.serializeToJson(t);Y7(r),this._requestSender.sendNotification({method:e.method,params:r},n)}};function Y7(e){if(e!==null&&Array.isArray(e)&&typeof e!=`object`)throw Error(`Invalid value! Only null, array and object is allowed.`)}var X7=class e extends Error{constructor(t,n,r=V7.genericApplicationError){super(t),F7(this,`data`),F7(this,`code`),this.data=n,this.code=r,Object.setPrototypeOf(this,e.prototype)}},_Ie=class e{constructor(e,t,n,r,i=!1){F7(this,`method`),F7(this,`paramsSerializer`),F7(this,`resultSerializer`),F7(this,`errorSerializer`),F7(this,`isOptional`),F7(this,`kind`,`request`),this.method=e,this.paramsSerializer=t,this.resultSerializer=n,this.errorSerializer=r,this.isOptional=i}withMethod(t){return new e(t,this.paramsSerializer,this.resultSerializer,this.errorSerializer)}optional(){return new e(this.method,this.paramsSerializer,this.resultSerializer,this.errorSerializer,!0)}},vIe=class e{constructor(e,t){F7(this,`method`),F7(this,`paramsSerializer`),F7(this,`kind`,`notification`),this.method=e,this.paramsSerializer=t}withMethod(t){return new e(t,this.paramsSerializer)}};function Z7(e){return new _Ie((e||{}).method,G7.sAny(),G7.sAny(),G7.sAny())}function Q7(e){return new vIe((e||{}).method,G7.sAny())}var $7=(L7=Symbol(),R7=class{constructor(e){F7(this,`error`),F7(this,L7),this.error=e}},F7(R7,`factory`,e=>new R7(e)),R7);function yIe(e){let t=e9(e.server),n=e9(e.client);return new bIe(e.tags||[],t,n)}function e9(e){let t={};for(let[n,r]of Object.entries(e)){let e=r.method?r.method:n;t[n]=r.withMethod(e)}return t}var bIe=class e{constructor(e=[],t,n){F7(this,`tags`),F7(this,`server`),F7(this,`client`),this.tags=e,this.server=t,this.client=n}_onlyDesignTime(){return Error(`This property is not meant to be accessed at runtime`)}get TContractObject(){throw this._onlyDesignTime()}get TClientInterface(){throw this._onlyDesignTime()}get TServerInterface(){throw this._onlyDesignTime()}get TClientHandler(){throw this._onlyDesignTime()}get TServerHandler(){throw this._onlyDesignTime()}get TTags(){throw this._onlyDesignTime()}getInterface(e,t,n,r){let i=this.buildCounterpart(e,n),a=this.registerHandlers(e,t,r,i);return{counterpart:i,dispose:()=>a.dispose()}}buildCounterpart(e,t){let n={};for(let[r,i]of Object.entries(t)){let t;t=i.kind===`request`?i.isOptional?async(t,n)=>{t===void 0&&(t={});try{return await e.request(i,t,n)}catch(e){if(e&&e.code===V7.methodNotFound)return K7;throw e}}:(t,n)=>(t===void 0&&(t={}),e.request(i,t,n)):(t,n)=>(t===void 0&&(t={}),e.notify(i,t,n)),n[r]=t}return n}registerHandlers(e,t,n,r){let i=[];for(let[a,o]of Object.entries(t))if(o.kind===`request`){let t=n[a];if(!t)continue;let s=this.createRequestHandler(r,t);i.push(e.registerRequestHandler(o,s))}else{let t=n[a];t&&i.push(e.registerNotificationHandler(o,(e,n)=>{t(e,{context:n,counterpart:r})}))}return{dispose:()=>i.forEach(e=>e.dispose())}}createRequestHandler(e,t){return async(n,r,i)=>{let a=await t(n,{context:i,counterpart:e,newErr:$7.factory,requestId:r});return a instanceof $7?a.error:{ok:a}}}static getServerFromStream(e,t,n,r){let i=J7.fromTransport(t,n),{server:a}=e.getServer(i,r);return i.startListen(),{channel:i,server:a}}static registerServerToStream(e,t,n,r){let i=J7.fromTransport(t,n),{client:a}=e.registerServer(i,r);return i.startListen(),{channel:i,client:a}}getServer(e,t){let{counterpart:n,dispose:r}=this.getInterface(e,this.client,this.server,t);return{server:n,dispose:r}}registerServer(e,t){let{counterpart:n,dispose:r}=this.getInterface(e,this.server,this.client,t);return{client:n,dispose:r}}withContext(){return new e(this.tags,this.server,this.client)}},t9=(function(e){return e.Comment=`comment`,e.Imports=`imports`,e.Region=`region`,e})({}),n9=(function(e){return e[e.File=1]=`File`,e[e.Module=2]=`Module`,e[e.Namespace=3]=`Namespace`,e[e.Package=4]=`Package`,e[e.Class=5]=`Class`,e[e.Method=6]=`Method`,e[e.Property=7]=`Property`,e[e.Field=8]=`Field`,e[e.Constructor=9]=`Constructor`,e[e.Enum=10]=`Enum`,e[e.Interface=11]=`Interface`,e[e.Function=12]=`Function`,e[e.Variable=13]=`Variable`,e[e.Constant=14]=`Constant`,e[e.String=15]=`String`,e[e.Number=16]=`Number`,e[e.Boolean=17]=`Boolean`,e[e.Array=18]=`Array`,e[e.Object=19]=`Object`,e[e.Key=20]=`Key`,e[e.Null=21]=`Null`,e[e.EnumMember=22]=`EnumMember`,e[e.Struct=23]=`Struct`,e[e.Event=24]=`Event`,e[e.Operator=25]=`Operator`,e[e.TypeParameter=26]=`TypeParameter`,e})({}),r9=(function(e){return e[e.Deprecated=1]=`Deprecated`,e})({}),i9=(function(e){return e[e.Type=1]=`Type`,e[e.Parameter=2]=`Parameter`,e})({}),xIe=(function(e){return e[e.None=0]=`None`,e[e.Full=1]=`Full`,e[e.Incremental=2]=`Incremental`,e})({}),a9=(function(e){return e[e.Text=1]=`Text`,e[e.Method=2]=`Method`,e[e.Function=3]=`Function`,e[e.Constructor=4]=`Constructor`,e[e.Field=5]=`Field`,e[e.Variable=6]=`Variable`,e[e.Class=7]=`Class`,e[e.Interface=8]=`Interface`,e[e.Module=9]=`Module`,e[e.Property=10]=`Property`,e[e.Unit=11]=`Unit`,e[e.Value=12]=`Value`,e[e.Enum=13]=`Enum`,e[e.Keyword=14]=`Keyword`,e[e.Snippet=15]=`Snippet`,e[e.Color=16]=`Color`,e[e.File=17]=`File`,e[e.Reference=18]=`Reference`,e[e.Folder=19]=`Folder`,e[e.EnumMember=20]=`EnumMember`,e[e.Constant=21]=`Constant`,e[e.Struct=22]=`Struct`,e[e.Event=23]=`Event`,e[e.Operator=24]=`Operator`,e[e.TypeParameter=25]=`TypeParameter`,e})({}),SIe=(function(e){return e[e.Deprecated=1]=`Deprecated`,e})({}),CIe=(function(e){return e[e.PlainText=1]=`PlainText`,e[e.Snippet=2]=`Snippet`,e})({}),o9=(function(e){return e[e.Text=1]=`Text`,e[e.Read=2]=`Read`,e[e.Write=3]=`Write`,e})({}),s9=(function(e){return e.Empty=``,e.QuickFix=`quickfix`,e.Refactor=`refactor`,e.RefactorExtract=`refactor.extract`,e.RefactorInline=`refactor.inline`,e.RefactorRewrite=`refactor.rewrite`,e.Source=`source`,e.SourceOrganizeImports=`source.organizeImports`,e.SourceFixAll=`source.fixAll`,e})({}),c9=(function(e){return e.PlainText=`plaintext`,e.Markdown=`markdown`,e})({}),l9=(function(e){return e[e.Error=1]=`Error`,e[e.Warning=2]=`Warning`,e[e.Information=3]=`Information`,e[e.Hint=4]=`Hint`,e})({}),u9=(function(e){return e[e.Unnecessary=1]=`Unnecessary`,e[e.Deprecated=2]=`Deprecated`,e})({}),d9=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.TriggerForIncompleteCompletions=3]=`TriggerForIncompleteCompletions`,e})({}),f9=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.ContentChange=3]=`ContentChange`,e})({}),p9=(function(e){return e[e.Invoked=1]=`Invoked`,e[e.Automatic=2]=`Automatic`,e})({}),wIe=(function(e){return e.Relative=`relative`,e})({}),m9=class{constructor(e){this.method=e}},h9={textDocumentImplementation:new m9(`textDocument/implementation`),textDocumentTypeDefinition:new m9(`textDocument/typeDefinition`),textDocumentDocumentColor:new m9(`textDocument/documentColor`),textDocumentColorPresentation:new m9(`textDocument/colorPresentation`),textDocumentFoldingRange:new m9(`textDocument/foldingRange`),textDocumentDeclaration:new m9(`textDocument/declaration`),textDocumentSelectionRange:new m9(`textDocument/selectionRange`),textDocumentPrepareCallHierarchy:new m9(`textDocument/prepareCallHierarchy`),textDocumentSemanticTokensFull:new m9(`textDocument/semanticTokens/full`),textDocumentSemanticTokensFullDelta:new m9(`textDocument/semanticTokens/full/delta`),textDocumentLinkedEditingRange:new m9(`textDocument/linkedEditingRange`),workspaceWillCreateFiles:new m9(`workspace/willCreateFiles`),workspaceWillRenameFiles:new m9(`workspace/willRenameFiles`),workspaceWillDeleteFiles:new m9(`workspace/willDeleteFiles`),textDocumentMoniker:new m9(`textDocument/moniker`),textDocumentPrepareTypeHierarchy:new m9(`textDocument/prepareTypeHierarchy`),textDocumentInlineValue:new m9(`textDocument/inlineValue`),textDocumentInlayHint:new m9(`textDocument/inlayHint`),textDocumentDiagnostic:new m9(`textDocument/diagnostic`),textDocumentInlineCompletion:new m9(`textDocument/inlineCompletion`),textDocumentWillSaveWaitUntil:new m9(`textDocument/willSaveWaitUntil`),textDocumentCompletion:new m9(`textDocument/completion`),textDocumentHover:new m9(`textDocument/hover`),textDocumentSignatureHelp:new m9(`textDocument/signatureHelp`),textDocumentDefinition:new m9(`textDocument/definition`),textDocumentReferences:new m9(`textDocument/references`),textDocumentDocumentHighlight:new m9(`textDocument/documentHighlight`),textDocumentDocumentSymbol:new m9(`textDocument/documentSymbol`),textDocumentCodeAction:new m9(`textDocument/codeAction`),workspaceSymbol:new m9(`workspace/symbol`),textDocumentCodeLens:new m9(`textDocument/codeLens`),textDocumentDocumentLink:new m9(`textDocument/documentLink`),textDocumentFormatting:new m9(`textDocument/formatting`),textDocumentRangeFormatting:new m9(`textDocument/rangeFormatting`),textDocumentRangesFormatting:new m9(`textDocument/rangesFormatting`),textDocumentOnTypeFormatting:new m9(`textDocument/onTypeFormatting`),textDocumentRename:new m9(`textDocument/rename`),workspaceExecuteCommand:new m9(`workspace/executeCommand`),workspaceDidCreateFiles:new m9(`workspace/didCreateFiles`),workspaceDidRenameFiles:new m9(`workspace/didRenameFiles`),workspaceDidDeleteFiles:new m9(`workspace/didDeleteFiles`),workspaceDidChangeConfiguration:new m9(`workspace/didChangeConfiguration`),textDocumentDidOpen:new m9(`textDocument/didOpen`),textDocumentDidChange:new m9(`textDocument/didChange`),textDocumentDidClose:new m9(`textDocument/didClose`),textDocumentDidSave:new m9(`textDocument/didSave`),textDocumentWillSave:new m9(`textDocument/willSave`),workspaceDidChangeWatchedFiles:new m9(`workspace/didChangeWatchedFiles`)},g9=yIe({server:{textDocumentImplementation:Z7({method:`textDocument/implementation`}),textDocumentTypeDefinition:Z7({method:`textDocument/typeDefinition`}),textDocumentDocumentColor:Z7({method:`textDocument/documentColor`}),textDocumentColorPresentation:Z7({method:`textDocument/colorPresentation`}),textDocumentFoldingRange:Z7({method:`textDocument/foldingRange`}),textDocumentDeclaration:Z7({method:`textDocument/declaration`}),textDocumentSelectionRange:Z7({method:`textDocument/selectionRange`}),textDocumentPrepareCallHierarchy:Z7({method:`textDocument/prepareCallHierarchy`}),callHierarchyIncomingCalls:Z7({method:`callHierarchy/incomingCalls`}),callHierarchyOutgoingCalls:Z7({method:`callHierarchy/outgoingCalls`}),textDocumentSemanticTokensFull:Z7({method:`textDocument/semanticTokens/full`}),textDocumentSemanticTokensFullDelta:Z7({method:`textDocument/semanticTokens/full/delta`}),textDocumentSemanticTokensRange:Z7({method:`textDocument/semanticTokens/range`}),textDocumentLinkedEditingRange:Z7({method:`textDocument/linkedEditingRange`}),workspaceWillCreateFiles:Z7({method:`workspace/willCreateFiles`}),workspaceWillRenameFiles:Z7({method:`workspace/willRenameFiles`}),workspaceWillDeleteFiles:Z7({method:`workspace/willDeleteFiles`}),textDocumentMoniker:Z7({method:`textDocument/moniker`}),textDocumentPrepareTypeHierarchy:Z7({method:`textDocument/prepareTypeHierarchy`}),typeHierarchySupertypes:Z7({method:`typeHierarchy/supertypes`}),typeHierarchySubtypes:Z7({method:`typeHierarchy/subtypes`}),textDocumentInlineValue:Z7({method:`textDocument/inlineValue`}),textDocumentInlayHint:Z7({method:`textDocument/inlayHint`}),inlayHintResolve:Z7({method:`inlayHint/resolve`}),textDocumentDiagnostic:Z7({method:`textDocument/diagnostic`}),workspaceDiagnostic:Z7({method:`workspace/diagnostic`}),textDocumentInlineCompletion:Z7({method:`textDocument/inlineCompletion`}),initialize:Z7({method:`initialize`}),shutdown:Z7({method:`shutdown`}),textDocumentWillSaveWaitUntil:Z7({method:`textDocument/willSaveWaitUntil`}),textDocumentCompletion:Z7({method:`textDocument/completion`}),completionItemResolve:Z7({method:`completionItem/resolve`}),textDocumentHover:Z7({method:`textDocument/hover`}),textDocumentSignatureHelp:Z7({method:`textDocument/signatureHelp`}),textDocumentDefinition:Z7({method:`textDocument/definition`}),textDocumentReferences:Z7({method:`textDocument/references`}),textDocumentDocumentHighlight:Z7({method:`textDocument/documentHighlight`}),textDocumentDocumentSymbol:Z7({method:`textDocument/documentSymbol`}),textDocumentCodeAction:Z7({method:`textDocument/codeAction`}),codeActionResolve:Z7({method:`codeAction/resolve`}),workspaceSymbol:Z7({method:`workspace/symbol`}),workspaceSymbolResolve:Z7({method:`workspaceSymbol/resolve`}),textDocumentCodeLens:Z7({method:`textDocument/codeLens`}),codeLensResolve:Z7({method:`codeLens/resolve`}),textDocumentDocumentLink:Z7({method:`textDocument/documentLink`}),documentLinkResolve:Z7({method:`documentLink/resolve`}),textDocumentFormatting:Z7({method:`textDocument/formatting`}),textDocumentRangeFormatting:Z7({method:`textDocument/rangeFormatting`}),textDocumentRangesFormatting:Z7({method:`textDocument/rangesFormatting`}),textDocumentOnTypeFormatting:Z7({method:`textDocument/onTypeFormatting`}),textDocumentRename:Z7({method:`textDocument/rename`}),textDocumentPrepareRename:Z7({method:`textDocument/prepareRename`}),workspaceExecuteCommand:Z7({method:`workspace/executeCommand`}),workspaceDidChangeWorkspaceFolders:Q7({method:`workspace/didChangeWorkspaceFolders`}),windowWorkDoneProgressCancel:Q7({method:`window/workDoneProgress/cancel`}),workspaceDidCreateFiles:Q7({method:`workspace/didCreateFiles`}),workspaceDidRenameFiles:Q7({method:`workspace/didRenameFiles`}),workspaceDidDeleteFiles:Q7({method:`workspace/didDeleteFiles`}),notebookDocumentDidOpen:Q7({method:`notebookDocument/didOpen`}),notebookDocumentDidChange:Q7({method:`notebookDocument/didChange`}),notebookDocumentDidSave:Q7({method:`notebookDocument/didSave`}),notebookDocumentDidClose:Q7({method:`notebookDocument/didClose`}),initialized:Q7({method:`initialized`}),exit:Q7({method:`exit`}),workspaceDidChangeConfiguration:Q7({method:`workspace/didChangeConfiguration`}),textDocumentDidOpen:Q7({method:`textDocument/didOpen`}),textDocumentDidChange:Q7({method:`textDocument/didChange`}),textDocumentDidClose:Q7({method:`textDocument/didClose`}),textDocumentDidSave:Q7({method:`textDocument/didSave`}),textDocumentWillSave:Q7({method:`textDocument/willSave`}),workspaceDidChangeWatchedFiles:Q7({method:`workspace/didChangeWatchedFiles`}),setTrace:Q7({method:`$/setTrace`}),cancelRequest:Q7({method:`$/cancelRequest`}),progress:Q7({method:`$/progress`})},client:{workspaceWorkspaceFolders:Z7({method:`workspace/workspaceFolders`}).optional(),workspaceConfiguration:Z7({method:`workspace/configuration`}).optional(),workspaceFoldingRangeRefresh:Z7({method:`workspace/foldingRange/refresh`}).optional(),windowWorkDoneProgressCreate:Z7({method:`window/workDoneProgress/create`}).optional(),workspaceSemanticTokensRefresh:Z7({method:`workspace/semanticTokens/refresh`}).optional(),windowShowDocument:Z7({method:`window/showDocument`}).optional(),workspaceInlineValueRefresh:Z7({method:`workspace/inlineValue/refresh`}).optional(),workspaceInlayHintRefresh:Z7({method:`workspace/inlayHint/refresh`}).optional(),workspaceDiagnosticRefresh:Z7({method:`workspace/diagnostic/refresh`}).optional(),clientRegisterCapability:Z7({method:`client/registerCapability`}).optional(),clientUnregisterCapability:Z7({method:`client/unregisterCapability`}).optional(),windowShowMessageRequest:Z7({method:`window/showMessageRequest`}).optional(),workspaceCodeLensRefresh:Z7({method:`workspace/codeLens/refresh`}).optional(),workspaceApplyEdit:Z7({method:`workspace/applyEdit`}).optional(),windowShowMessage:Q7({method:`window/showMessage`}),windowLogMessage:Q7({method:`window/logMessage`}),telemetryEvent:Q7({method:`telemetry/event`}),textDocumentPublishDiagnostics:Q7({method:`textDocument/publishDiagnostics`}),logTrace:Q7({method:`$/logTrace`}),cancelRequest:Q7({method:`$/cancelRequest`}),progress:Q7({method:`$/progress`})}});function _9(e,t){if(e.textModel!==t)throw Error(`Expected text model to be ${t}, but got ${e.textModel}`);return e}var v9=(z7=class{constructor(){F7(this,`_store`,new y9)}dispose(){this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}},F7(z7,`None`,Object.freeze({dispose(){}})),z7),y9=(B7=class{constructor(){F7(this,`_toDispose`,new Set),F7(this,`_isDisposed`,!1)}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}clear(){if(this._toDispose.size!==0)try{for(let e of this._toDispose)e.dispose()}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._isDisposed?B7.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(e),e}},F7(B7,`DISABLE_DISPOSED_WARNING`,!1),B7),b9=new Map([[s9.Empty,``],[s9.QuickFix,`quickfix`],[s9.Refactor,`refactor`],[s9.RefactorExtract,`refactor.extract`],[s9.RefactorInline,`refactor.inline`],[s9.RefactorRewrite,`refactor.rewrite`],[s9.Source,`source`],[s9.SourceOrganizeImports,`source.organizeImports`],[s9.SourceFixAll,`source.fixAll`]]);function TIe(e){if(e)return b9.get(e)??e}var EIe=new Map([[$.CodeActionTriggerType.Invoke,p9.Invoked],[$.CodeActionTriggerType.Auto,p9.Automatic]]);function DIe(e){return EIe.get(e)??p9.Invoked}var x9=new Map([[a9.Text,$.CompletionItemKind.Text],[a9.Method,$.CompletionItemKind.Method],[a9.Function,$.CompletionItemKind.Function],[a9.Constructor,$.CompletionItemKind.Constructor],[a9.Field,$.CompletionItemKind.Field],[a9.Variable,$.CompletionItemKind.Variable],[a9.Class,$.CompletionItemKind.Class],[a9.Interface,$.CompletionItemKind.Interface],[a9.Module,$.CompletionItemKind.Module],[a9.Property,$.CompletionItemKind.Property],[a9.Unit,$.CompletionItemKind.Unit],[a9.Value,$.CompletionItemKind.Value],[a9.Enum,$.CompletionItemKind.Enum],[a9.Keyword,$.CompletionItemKind.Keyword],[a9.Snippet,$.CompletionItemKind.Snippet],[a9.Color,$.CompletionItemKind.Color],[a9.File,$.CompletionItemKind.File],[a9.Reference,$.CompletionItemKind.Reference],[a9.Folder,$.CompletionItemKind.Folder],[a9.EnumMember,$.CompletionItemKind.EnumMember],[a9.Constant,$.CompletionItemKind.Constant],[a9.Struct,$.CompletionItemKind.Struct],[a9.Event,$.CompletionItemKind.Event],[a9.Operator,$.CompletionItemKind.Operator],[a9.TypeParameter,$.CompletionItemKind.TypeParameter]]);function OIe(e){return e?x9.get(e)??$.CompletionItemKind.Text:$.CompletionItemKind.Text}var S9=new Map([[SIe.Deprecated,$.CompletionItemTag.Deprecated]]);function kIe(e){return S9.get(e)}var AIe=new Map([[$.CompletionTriggerKind.Invoke,d9.Invoked],[$.CompletionTriggerKind.TriggerCharacter,d9.TriggerCharacter],[$.CompletionTriggerKind.TriggerForIncompleteCompletions,d9.TriggerForIncompleteCompletions]]);function jIe(e){return AIe.get(e)??d9.Invoked}var MIe=new Map([[CIe.Snippet,$.CompletionItemInsertTextRule.InsertAsSnippet]]);function NIe(e){if(e)return MIe.get(e)}var C9=new Map([[n9.File,$.SymbolKind.File],[n9.Module,$.SymbolKind.Module],[n9.Namespace,$.SymbolKind.Namespace],[n9.Package,$.SymbolKind.Package],[n9.Class,$.SymbolKind.Class],[n9.Method,$.SymbolKind.Method],[n9.Property,$.SymbolKind.Property],[n9.Field,$.SymbolKind.Field],[n9.Constructor,$.SymbolKind.Constructor],[n9.Enum,$.SymbolKind.Enum],[n9.Interface,$.SymbolKind.Interface],[n9.Function,$.SymbolKind.Function],[n9.Variable,$.SymbolKind.Variable],[n9.Constant,$.SymbolKind.Constant],[n9.String,$.SymbolKind.String],[n9.Number,$.SymbolKind.Number],[n9.Boolean,$.SymbolKind.Boolean],[n9.Array,$.SymbolKind.Array],[n9.Object,$.SymbolKind.Object],[n9.Key,$.SymbolKind.Key],[n9.Null,$.SymbolKind.Null],[n9.EnumMember,$.SymbolKind.EnumMember],[n9.Struct,$.SymbolKind.Struct],[n9.Event,$.SymbolKind.Event],[n9.Operator,$.SymbolKind.Operator],[n9.TypeParameter,$.SymbolKind.TypeParameter]]);function w9(e){return C9.get(e)??$.SymbolKind.File}var PIe=new Map([[r9.Deprecated,$.SymbolTag.Deprecated]]);function T9(e){return PIe.get(e)}var FIe=new Map([[o9.Text,$.DocumentHighlightKind.Text],[o9.Read,$.DocumentHighlightKind.Read],[o9.Write,$.DocumentHighlightKind.Write]]);function IIe(e){return e?FIe.get(e)??$.DocumentHighlightKind.Text:$.DocumentHighlightKind.Text}var LIe=new Map([[t9.Comment,$.FoldingRangeKind.Comment],[t9.Imports,$.FoldingRangeKind.Imports],[t9.Region,$.FoldingRangeKind.Region]]);function RIe(e){if(e)return LIe.get(e)}var zIe=new Map([[K5.Error,l9.Error],[K5.Warning,l9.Warning],[K5.Info,l9.Information],[K5.Hint,l9.Hint]]);function BIe(e){return zIe.get(e)??l9.Error}var VIe=new Map([[l9.Error,K5.Error],[l9.Warning,K5.Warning],[l9.Information,K5.Info],[l9.Hint,K5.Hint]]);function HIe(e){return e?VIe.get(e)??K5.Error:K5.Error}var E9=new Map([[u9.Unnecessary,q5.Unnecessary],[u9.Deprecated,q5.Deprecated]]);function UIe(e){return E9.get(e)}var WIe=new Map([[$.SignatureHelpTriggerKind.Invoke,f9.Invoked],[$.SignatureHelpTriggerKind.TriggerCharacter,f9.TriggerCharacter],[$.SignatureHelpTriggerKind.ContentChange,f9.ContentChange]]);function GIe(e){return WIe.get(e)??f9.Invoked}function D9(e){if(e)return{id:e.command,title:e.title,arguments:e.arguments}}var KIe=new Map([[i9.Type,$.InlayHintKind.Type],[i9.Parameter,$.InlayHintKind.Parameter]]);function qIe(e){return e?KIe.get(e)??$.InlayHintKind.Type:$.InlayHintKind.Type}function O9(e,t){if(`targetUri`in e){let n=t.bridge.translateBackRange({uri:e.targetUri},e.targetRange);return{uri:n.textModel.uri,range:n.range,originSelectionRange:e.originSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.originSelectionRange).range:void 0,targetSelectionRange:e.targetSelectionRange?t.bridge.translateBackRange({uri:e.targetUri},e.targetSelectionRange).range:void 0}}else{let n=t.bridge.translateBackRange({uri:e.uri},e.range);return{uri:n.textModel.uri,range:n.range}}}function k9(e){return!e||e.length===0?{language:`*`}:e.map(e=>`notebook`in e?typeof e.notebook==`string`?{notebookType:e.notebook,language:e.language}:{notebookType:e.notebook.notebookType,language:e.language,pattern:e.notebook.pattern,scheme:e.notebook.scheme}:{language:e.language,pattern:e.pattern,scheme:e.scheme})}function JIe(e,t){if(!t)return!0;let n=e.getLanguageId();if(e.uri.toString(!0),!t||t.length===0)return!0;for(let e of t)if(!(e.language&&e.language!==`*`&&e.language!==n))return!0;return!1}function A9(e){let t={severity:HIe(e.severity),startLineNumber:e.range.start.line+1,startColumn:e.range.start.character+1,endLineNumber:e.range.end.line+1,endColumn:e.range.end.character+1,message:e.message,source:e.source,code:typeof e.code==`string`?e.code:e.code?.toString()};return e.tags&&(t.tags=e.tags.map(e=>UIe(e)).filter(e=>e!==void 0)),e.relatedInformation&&(t.relatedInformation=e.relatedInformation.map(e=>({resource:J5.parse(e.location.uri),startLineNumber:e.location.range.start.line+1,startColumn:e.location.range.start.character+1,endLineNumber:e.location.range.end.line+1,endColumn:e.location.range.end.character+1,message:e.message}))),t}var YIe=class extends v9{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{completion:{dynamicRegistration:!0,contextSupport:!0,completionItemKind:{valueSet:Array.from(x9.keys())},completionItem:{tagSupport:{valueSet:Array.from(S9.keys())},commitCharactersSupport:!0,deprecatedSupport:!0,preselectSupport:!0}}}})),this._register(this._connection.capabilities.registerCapabilityHandler(h9.textDocumentCompletion,!0,e=>$.registerCompletionItemProvider(k9(e.documentSelector),new XIe(this._connection,e))))}},XIe=class{constructor(e,t){F7(this,`resolveCompletionItem`),this._client=e,this._capabilities=t,t.resolveProvider&&(this.resolveCompletionItem=async(e,t)=>(j9(e,await this._client.server.completionItemResolve(e._lspItem),this._client.bridge,e._translated,e._model),e))}get triggerCharacters(){return this._capabilities.triggerCharacters}async provideCompletionItems(e,t,n,r){let i=this._client.bridge.translate(e,t),a=await this._client.server.textDocumentCompletion({textDocument:i.textDocument,position:i.position,context:n.triggerCharacter?{triggerKind:jIe(n.triggerKind),triggerCharacter:n.triggerCharacter}:void 0});return a?{suggestions:(Array.isArray(a)?a:a.items).map(n=>({...ZIe(n,this._client.bridge,i,e,t),_lspItem:n,_translated:i,_model:e}))}:{suggestions:[]}}};function ZIe(e,t,n,r,i){let a=e.insertText||e.label,o;e.textEdit&&(`range`in e.textEdit?(a=e.textEdit.newText,o=_9(t.translateBackRange(n.textDocument,e.textEdit.range),r).range):(a=e.textEdit.newText,o={insert:_9(t.translateBackRange(n.textDocument,e.textEdit.insert),r).range,replace:_9(t.translateBackRange(n.textDocument,e.textEdit.replace),r).range})),o||=U5.fromPositions(i,i);let s={label:e.label,kind:OIe(e.kind),insertText:a,sortText:e.sortText,filterText:e.filterText,preselect:e.preselect,commitCharacters:e.commitCharacters,range:o};return j9(s,e,t,n,r),s}function j9(e,t,n,r,i){t.detail!==void 0&&(e.detail=t.detail),t.documentation!==void 0&&(e.documentation=QIe(t.documentation)),t.insertTextFormat!==void 0&&(e.insertTextRules=NIe(t.insertTextFormat)),t.tags&&t.tags.length>0&&(e.tags=t.tags.map(kIe).filter(e=>e!==void 0)),t.additionalTextEdits&&t.additionalTextEdits.length>0&&(e.additionalTextEdits=t.additionalTextEdits.map(e=>({range:_9(n.translateBackRange(r.textDocument,e.range),i).range,text:e.newText}))),t.command&&(e.command=D9(t.command))}function QIe(e){if(e)return typeof e==`string`?e:{value:e.value,isTrusted:!0}}var $Ie=class extends v9{constructor(e){super(),this._connection=e,this._register(this._connection.capabilities.addStaticClientCapabilities({textDocument:{hover:{dynamicRegistration:!0,contentFormat:[c9.Markdown,c9.PlainText]}}})),this._register(this._connection.capabilities.registerCapabilityHandler(h9.textDocumentHover,!0,e=>$.registerHoverProvider(k9(e.documentSelector),new eLe(this._connection,e))))}},eLe=class{constructor(e,t){this._client=e,this._capabilities=t}async provideHover(e,t,n){let r=this._client.bridge.translate(e,t),i=await this._client.server.textDocumentHover({textDocument:r.textDocument,position:r.position});return!i||!i.contents?null:{contents:tLe(i.contents),range:i.range?this._client.bridge.translateBackRange(r.textDocument,i.range).range:void 0}}};function tLe(e){return Array.isArray(e)?e.map(e=>M9(e)):[M9(e)]}function M9(e){return typeof e==`string`?{value:e,isTrusted:!0}:`kind`in e?{value:e.value,isTrusted:!0}:{value:`\`\`\`${e.language} ${e.value} diff --git a/web/app/assets/initMonaco-CzdlaNu8.js b/web/app/assets/initMonaco-CzdlaNu8.js deleted file mode 100644 index 6dcd2563..00000000 --- a/web/app/assets/initMonaco-CzdlaNu8.js +++ /dev/null @@ -1,877 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/cssMode-9eMH14rY.js","assets/lspLanguageFeatures-DINnP6Mz.js","assets/htmlMode-DGslHH5N.js","assets/jsonMode-BTdscSDm.js","assets/javascript-BCLC1sow.js","assets/typescript-TebHeAMS.js"])))=>i.map(i=>d[i]); -import{Gt as e}from"./index-DZEQidkT.js";var t=Object.defineProperty,n=(e,n)=>{let r={};for(var i in e)t(r,i,{get:e[i],enumerable:!0});return n||t(r,Symbol.toStringTag,{value:`Module`}),r};function r(){return globalThis._VSCODE_NLS_MESSAGES}function i(){return globalThis._VSCODE_NLS_LANGUAGE}var a=i()===`pseudo`||typeof document<`u`&&document.location&&typeof document.location.hash==`string`&&document.location.hash.indexOf(`pseudo=true`)>=0;function o(e,t){let n;return n=t.length===0?e:e.replace(/\{(\d+)\}/g,(e,n)=>{let r=t[n[0]],i=e;return typeof r==`string`?i=r:(typeof r==`number`||typeof r==`boolean`||r==null)&&(i=String(r)),i}),a&&(n=`[`+n.replace(/[aouei]/g,`$&$&`)+`]`),n}function s(e,t,...n){return o(typeof e==`number`?c(e,t):t,n)}function c(e,t){let n=r()?.[e];if(typeof n!=`string`){if(typeof t==`string`)return t;throw Error(`!!! NLS MISSING: ${e} !!!`)}return n}function l(e,t,...n){let r;r=typeof e==`number`?c(e,t):t;let i=o(r,n);return{value:i,original:t===r?i:o(t,n)}}function u(e,t){let n=e;typeof n.vscodeWindowId!=`number`&&Object.defineProperty(n,"vscodeWindowId",{get:()=>t})}var d=window,f=class e{constructor(){this.mapWindowIdToZoomFactor=new Map}static{this.INSTANCE=new e}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}getWindowId(e){return e.vscodeWindowId}};function p(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}function m(e){return f.INSTANCE.getZoomFactor(e)}var h=navigator.userAgent,g=h.indexOf(`Firefox`)>=0,_=h.indexOf(`AppleWebKit`)>=0,v=h.indexOf(`Chrome`)>=0,y=!v&&h.indexOf(`Safari`)>=0,b=!v&&!y&&_;h.indexOf(`Electron/`);var x=h.indexOf(`Android`)>=0,S=!1;if(typeof d.matchMedia==`function`){let e=d.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=d.matchMedia(`(display-mode: fullscreen)`);S=e.matches,p(d,e,({matches:e})=>{S&&t.matches||(S=e)})}function ee(){return globalThis.MonacoEnvironment}var te=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?fe.isErrorNoTelemetry(e)?new fe(e.message+` - -`+e.stack):Error(e.message+` - -`+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function ne(e){te.onUnexpectedError(e)}function C(e){oe(e)||te.onUnexpectedError(e)}function re(e){oe(e)||te.onUnexpectedExternalError(e)}function ie(e){if(e instanceof Error){let{name:t,message:n,cause:r}=e;return{$isError:!0,name:t,message:n,stack:e.stacktrace||e.stack,noTelemetry:fe.isErrorNoTelemetry(e),cause:r?ie(r):void 0,code:e.code}}return e}var ae=`Canceled`;function oe(e){return e instanceof se?!0:e instanceof Error&&e.name===`Canceled`&&e.message===`Canceled`}var se=class extends Error{constructor(){super(ae),this.name=this.message}};function ce(){let e=Error(ae);return e.name=e.message,e}function le(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}function ue(e){return Error(e?`Illegal state: ${e}`:`Illegal state`)}var de=class extends Error{constructor(e){super(`NotSupported`),e&&(this.message=e)}},fe=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},w=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function pe(e,t){if(!e)throw Error(t?`Assertion failed (${t})`:`Assertion Failed`)}function me(e,t=`Unreachable`){throw Error(t)}function he(e,t=`unexpected state`){if(!e)throw typeof t==`string`?new w(`Assertion Failed: ${t}`):t}function ge(e,t=`Soft Assertion Failed`){e||C(new w(t))}function _e(e){e()||(e(),C(new w(`Assertion Failed`)))}function ve(e,t){let n=0;for(;n=0,Ie=Ue.indexOf(`Macintosh`)>=0,Be=(Ue.indexOf(`Macintosh`)>=0||Ue.indexOf(`iPad`)>=0||Ue.indexOf(`iPhone`)>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,Le=Ue.indexOf(`Linux`)>=0,Ve=Ue?.indexOf(`Mobi`)>=0,ze=!0,He=i()||`en`,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var qe=0;Ie?qe=1:Fe?qe=3:Le&&(qe=2);var Je=Fe,Ye=Ie,Xe=Le,Ze=Re,Qe=ze,$e=ze&&typeof We.importScripts==`function`?We.origin:void 0,et=Be,tt=Ve,nt=qe,rt=Ue,it=He,at=typeof We.postMessage==`function`&&!We.importScripts,ot=(()=>{if(at){let e=[];We.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n{let r=++t;e.push({id:r,callback:n}),We.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})(),st=Ie||Be?2:Fe?1:3,ct=!0,lt=!1;function ut(){if(!lt){lt=!0;let e=new Uint8Array(2);e[0]=1,e[1]=2,ct=new Uint16Array(e.buffer)[0]===513}return ct}var dt=!!(rt&&rt.indexOf(`Chrome`)>=0),ft=!!(rt&&rt.indexOf(`Firefox`)>=0),pt=!!(!dt&&rt&&rt.indexOf(`Safari`)>=0),mt=!!(rt&&rt.indexOf(`Edg/`)>=0),ht=!!(rt&&rt.indexOf(`Android`)>=0),gt={clipboard:{writeText:Ze||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:Ze||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:d.PointerEvent&&(`ontouchstart`in d||navigator.maxTouchPoints>0)},_t=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},vt=new _t,yt=new _t,bt=new _t,xt=Array(230),eee=Object.create(null),tee=Object.create(null),St=[];for(let e=0;e<=193;e++)St[e]=-1;(function(){let e=[[1,0,`None`,0,`unknown`,0,`VK_UNKNOWN`,``,``],[1,1,`Hyper`,0,``,0,``,``,``],[1,2,`Super`,0,``,0,``,``,``],[1,3,`Fn`,0,``,0,``,``,``],[1,4,`FnLock`,0,``,0,``,``,``],[1,5,`Suspend`,0,``,0,``,``,``],[1,6,`Resume`,0,``,0,``,``,``],[1,7,`Turbo`,0,``,0,``,``,``],[1,8,`Sleep`,0,``,0,`VK_SLEEP`,``,``],[1,9,`WakeUp`,0,``,0,``,``,``],[0,10,`KeyA`,31,`A`,65,`VK_A`,``,``],[0,11,`KeyB`,32,`B`,66,`VK_B`,``,``],[0,12,`KeyC`,33,`C`,67,`VK_C`,``,``],[0,13,`KeyD`,34,`D`,68,`VK_D`,``,``],[0,14,`KeyE`,35,`E`,69,`VK_E`,``,``],[0,15,`KeyF`,36,`F`,70,`VK_F`,``,``],[0,16,`KeyG`,37,`G`,71,`VK_G`,``,``],[0,17,`KeyH`,38,`H`,72,`VK_H`,``,``],[0,18,`KeyI`,39,`I`,73,`VK_I`,``,``],[0,19,`KeyJ`,40,`J`,74,`VK_J`,``,``],[0,20,`KeyK`,41,`K`,75,`VK_K`,``,``],[0,21,`KeyL`,42,`L`,76,`VK_L`,``,``],[0,22,`KeyM`,43,`M`,77,`VK_M`,``,``],[0,23,`KeyN`,44,`N`,78,`VK_N`,``,``],[0,24,`KeyO`,45,`O`,79,`VK_O`,``,``],[0,25,`KeyP`,46,`P`,80,`VK_P`,``,``],[0,26,`KeyQ`,47,`Q`,81,`VK_Q`,``,``],[0,27,`KeyR`,48,`R`,82,`VK_R`,``,``],[0,28,`KeyS`,49,`S`,83,`VK_S`,``,``],[0,29,`KeyT`,50,`T`,84,`VK_T`,``,``],[0,30,`KeyU`,51,`U`,85,`VK_U`,``,``],[0,31,`KeyV`,52,`V`,86,`VK_V`,``,``],[0,32,`KeyW`,53,`W`,87,`VK_W`,``,``],[0,33,`KeyX`,54,`X`,88,`VK_X`,``,``],[0,34,`KeyY`,55,`Y`,89,`VK_Y`,``,``],[0,35,`KeyZ`,56,`Z`,90,`VK_Z`,``,``],[0,36,`Digit1`,22,`1`,49,`VK_1`,``,``],[0,37,`Digit2`,23,`2`,50,`VK_2`,``,``],[0,38,`Digit3`,24,`3`,51,`VK_3`,``,``],[0,39,`Digit4`,25,`4`,52,`VK_4`,``,``],[0,40,`Digit5`,26,`5`,53,`VK_5`,``,``],[0,41,`Digit6`,27,`6`,54,`VK_6`,``,``],[0,42,`Digit7`,28,`7`,55,`VK_7`,``,``],[0,43,`Digit8`,29,`8`,56,`VK_8`,``,``],[0,44,`Digit9`,30,`9`,57,`VK_9`,``,``],[0,45,`Digit0`,21,`0`,48,`VK_0`,``,``],[1,46,`Enter`,3,`Enter`,13,`VK_RETURN`,``,``],[1,47,`Escape`,9,`Escape`,27,`VK_ESCAPE`,``,``],[1,48,`Backspace`,1,`Backspace`,8,`VK_BACK`,``,``],[1,49,`Tab`,2,`Tab`,9,`VK_TAB`,``,``],[1,50,`Space`,10,`Space`,32,`VK_SPACE`,``,``],[0,51,`Minus`,88,`-`,189,`VK_OEM_MINUS`,`-`,`OEM_MINUS`],[0,52,`Equal`,86,`=`,187,`VK_OEM_PLUS`,`=`,`OEM_PLUS`],[0,53,`BracketLeft`,92,`[`,219,`VK_OEM_4`,`[`,`OEM_4`],[0,54,`BracketRight`,94,`]`,221,`VK_OEM_6`,`]`,`OEM_6`],[0,55,`Backslash`,93,`\\`,220,`VK_OEM_5`,`\\`,`OEM_5`],[0,56,`IntlHash`,0,``,0,``,``,``],[0,57,`Semicolon`,85,`;`,186,`VK_OEM_1`,`;`,`OEM_1`],[0,58,`Quote`,95,`'`,222,`VK_OEM_7`,`'`,`OEM_7`],[0,59,`Backquote`,91,"`",192,`VK_OEM_3`,"`",`OEM_3`],[0,60,`Comma`,87,`,`,188,`VK_OEM_COMMA`,`,`,`OEM_COMMA`],[0,61,`Period`,89,`.`,190,`VK_OEM_PERIOD`,`.`,`OEM_PERIOD`],[0,62,`Slash`,90,`/`,191,`VK_OEM_2`,`/`,`OEM_2`],[1,63,`CapsLock`,8,`CapsLock`,20,`VK_CAPITAL`,``,``],[1,64,`F1`,59,`F1`,112,`VK_F1`,``,``],[1,65,`F2`,60,`F2`,113,`VK_F2`,``,``],[1,66,`F3`,61,`F3`,114,`VK_F3`,``,``],[1,67,`F4`,62,`F4`,115,`VK_F4`,``,``],[1,68,`F5`,63,`F5`,116,`VK_F5`,``,``],[1,69,`F6`,64,`F6`,117,`VK_F6`,``,``],[1,70,`F7`,65,`F7`,118,`VK_F7`,``,``],[1,71,`F8`,66,`F8`,119,`VK_F8`,``,``],[1,72,`F9`,67,`F9`,120,`VK_F9`,``,``],[1,73,`F10`,68,`F10`,121,`VK_F10`,``,``],[1,74,`F11`,69,`F11`,122,`VK_F11`,``,``],[1,75,`F12`,70,`F12`,123,`VK_F12`,``,``],[1,76,`PrintScreen`,0,``,0,``,``,``],[1,77,`ScrollLock`,84,`ScrollLock`,145,`VK_SCROLL`,``,``],[1,78,`Pause`,7,`PauseBreak`,19,`VK_PAUSE`,``,``],[1,79,`Insert`,19,`Insert`,45,`VK_INSERT`,``,``],[1,80,`Home`,14,`Home`,36,`VK_HOME`,``,``],[1,81,`PageUp`,11,`PageUp`,33,`VK_PRIOR`,``,``],[1,82,`Delete`,20,`Delete`,46,`VK_DELETE`,``,``],[1,83,`End`,13,`End`,35,`VK_END`,``,``],[1,84,`PageDown`,12,`PageDown`,34,`VK_NEXT`,``,``],[1,85,`ArrowRight`,17,`RightArrow`,39,`VK_RIGHT`,`Right`,``],[1,86,`ArrowLeft`,15,`LeftArrow`,37,`VK_LEFT`,`Left`,``],[1,87,`ArrowDown`,18,`DownArrow`,40,`VK_DOWN`,`Down`,``],[1,88,`ArrowUp`,16,`UpArrow`,38,`VK_UP`,`Up`,``],[1,89,`NumLock`,83,`NumLock`,144,`VK_NUMLOCK`,``,``],[1,90,`NumpadDivide`,113,`NumPad_Divide`,111,`VK_DIVIDE`,``,``],[1,91,`NumpadMultiply`,108,`NumPad_Multiply`,106,`VK_MULTIPLY`,``,``],[1,92,`NumpadSubtract`,111,`NumPad_Subtract`,109,`VK_SUBTRACT`,``,``],[1,93,`NumpadAdd`,109,`NumPad_Add`,107,`VK_ADD`,``,``],[1,94,`NumpadEnter`,3,``,0,``,``,``],[1,95,`Numpad1`,99,`NumPad1`,97,`VK_NUMPAD1`,``,``],[1,96,`Numpad2`,100,`NumPad2`,98,`VK_NUMPAD2`,``,``],[1,97,`Numpad3`,101,`NumPad3`,99,`VK_NUMPAD3`,``,``],[1,98,`Numpad4`,102,`NumPad4`,100,`VK_NUMPAD4`,``,``],[1,99,`Numpad5`,103,`NumPad5`,101,`VK_NUMPAD5`,``,``],[1,100,`Numpad6`,104,`NumPad6`,102,`VK_NUMPAD6`,``,``],[1,101,`Numpad7`,105,`NumPad7`,103,`VK_NUMPAD7`,``,``],[1,102,`Numpad8`,106,`NumPad8`,104,`VK_NUMPAD8`,``,``],[1,103,`Numpad9`,107,`NumPad9`,105,`VK_NUMPAD9`,``,``],[1,104,`Numpad0`,98,`NumPad0`,96,`VK_NUMPAD0`,``,``],[1,105,`NumpadDecimal`,112,`NumPad_Decimal`,110,`VK_DECIMAL`,``,``],[0,106,`IntlBackslash`,97,`OEM_102`,226,`VK_OEM_102`,``,``],[1,107,`ContextMenu`,58,`ContextMenu`,93,``,``,``],[1,108,`Power`,0,``,0,``,``,``],[1,109,`NumpadEqual`,0,``,0,``,``,``],[1,110,`F13`,71,`F13`,124,`VK_F13`,``,``],[1,111,`F14`,72,`F14`,125,`VK_F14`,``,``],[1,112,`F15`,73,`F15`,126,`VK_F15`,``,``],[1,113,`F16`,74,`F16`,127,`VK_F16`,``,``],[1,114,`F17`,75,`F17`,128,`VK_F17`,``,``],[1,115,`F18`,76,`F18`,129,`VK_F18`,``,``],[1,116,`F19`,77,`F19`,130,`VK_F19`,``,``],[1,117,`F20`,78,`F20`,131,`VK_F20`,``,``],[1,118,`F21`,79,`F21`,132,`VK_F21`,``,``],[1,119,`F22`,80,`F22`,133,`VK_F22`,``,``],[1,120,`F23`,81,`F23`,134,`VK_F23`,``,``],[1,121,`F24`,82,`F24`,135,`VK_F24`,``,``],[1,122,`Open`,0,``,0,``,``,``],[1,123,`Help`,0,``,0,``,``,``],[1,124,`Select`,0,``,0,``,``,``],[1,125,`Again`,0,``,0,``,``,``],[1,126,`Undo`,0,``,0,``,``,``],[1,127,`Cut`,0,``,0,``,``,``],[1,128,`Copy`,0,``,0,``,``,``],[1,129,`Paste`,0,``,0,``,``,``],[1,130,`Find`,0,``,0,``,``,``],[1,131,`AudioVolumeMute`,117,`AudioVolumeMute`,173,`VK_VOLUME_MUTE`,``,``],[1,132,`AudioVolumeUp`,118,`AudioVolumeUp`,175,`VK_VOLUME_UP`,``,``],[1,133,`AudioVolumeDown`,119,`AudioVolumeDown`,174,`VK_VOLUME_DOWN`,``,``],[1,134,`NumpadComma`,110,`NumPad_Separator`,108,`VK_SEPARATOR`,``,``],[0,135,`IntlRo`,115,`ABNT_C1`,193,`VK_ABNT_C1`,``,``],[1,136,`KanaMode`,0,``,0,``,``,``],[0,137,`IntlYen`,0,``,0,``,``,``],[1,138,`Convert`,0,``,0,``,``,``],[1,139,`NonConvert`,0,``,0,``,``,``],[1,140,`Lang1`,0,``,0,``,``,``],[1,141,`Lang2`,0,``,0,``,``,``],[1,142,`Lang3`,0,``,0,``,``,``],[1,143,`Lang4`,0,``,0,``,``,``],[1,144,`Lang5`,0,``,0,``,``,``],[1,145,`Abort`,0,``,0,``,``,``],[1,146,`Props`,0,``,0,``,``,``],[1,147,`NumpadParenLeft`,0,``,0,``,``,``],[1,148,`NumpadParenRight`,0,``,0,``,``,``],[1,149,`NumpadBackspace`,0,``,0,``,``,``],[1,150,`NumpadMemoryStore`,0,``,0,``,``,``],[1,151,`NumpadMemoryRecall`,0,``,0,``,``,``],[1,152,`NumpadMemoryClear`,0,``,0,``,``,``],[1,153,`NumpadMemoryAdd`,0,``,0,``,``,``],[1,154,`NumpadMemorySubtract`,0,``,0,``,``,``],[1,155,`NumpadClear`,131,`Clear`,12,`VK_CLEAR`,``,``],[1,156,`NumpadClearEntry`,0,``,0,``,``,``],[1,0,``,5,`Ctrl`,17,`VK_CONTROL`,``,``],[1,0,``,4,`Shift`,16,`VK_SHIFT`,``,``],[1,0,``,6,`Alt`,18,`VK_MENU`,``,``],[1,0,``,57,`Meta`,91,`VK_COMMAND`,``,``],[1,157,`ControlLeft`,5,``,0,`VK_LCONTROL`,``,``],[1,158,`ShiftLeft`,4,``,0,`VK_LSHIFT`,``,``],[1,159,`AltLeft`,6,``,0,`VK_LMENU`,``,``],[1,160,`MetaLeft`,57,``,0,`VK_LWIN`,``,``],[1,161,`ControlRight`,5,``,0,`VK_RCONTROL`,``,``],[1,162,`ShiftRight`,4,``,0,`VK_RSHIFT`,``,``],[1,163,`AltRight`,6,``,0,`VK_RMENU`,``,``],[1,164,`MetaRight`,57,``,0,`VK_RWIN`,``,``],[1,165,`BrightnessUp`,0,``,0,``,``,``],[1,166,`BrightnessDown`,0,``,0,``,``,``],[1,167,`MediaPlay`,0,``,0,``,``,``],[1,168,`MediaRecord`,0,``,0,``,``,``],[1,169,`MediaFastForward`,0,``,0,``,``,``],[1,170,`MediaRewind`,0,``,0,``,``,``],[1,171,`MediaTrackNext`,124,`MediaTrackNext`,176,`VK_MEDIA_NEXT_TRACK`,``,``],[1,172,`MediaTrackPrevious`,125,`MediaTrackPrevious`,177,`VK_MEDIA_PREV_TRACK`,``,``],[1,173,`MediaStop`,126,`MediaStop`,178,`VK_MEDIA_STOP`,``,``],[1,174,`Eject`,0,``,0,``,``,``],[1,175,`MediaPlayPause`,127,`MediaPlayPause`,179,`VK_MEDIA_PLAY_PAUSE`,``,``],[1,176,`MediaSelect`,128,`LaunchMediaPlayer`,181,`VK_MEDIA_LAUNCH_MEDIA_SELECT`,``,``],[1,177,`LaunchMail`,129,`LaunchMail`,180,`VK_MEDIA_LAUNCH_MAIL`,``,``],[1,178,`LaunchApp2`,130,`LaunchApp2`,183,`VK_MEDIA_LAUNCH_APP2`,``,``],[1,179,`LaunchApp1`,0,``,0,`VK_MEDIA_LAUNCH_APP1`,``,``],[1,180,`SelectTask`,0,``,0,``,``,``],[1,181,`LaunchScreenSaver`,0,``,0,``,``,``],[1,182,`BrowserSearch`,120,`BrowserSearch`,170,`VK_BROWSER_SEARCH`,``,``],[1,183,`BrowserHome`,121,`BrowserHome`,172,`VK_BROWSER_HOME`,``,``],[1,184,`BrowserBack`,122,`BrowserBack`,166,`VK_BROWSER_BACK`,``,``],[1,185,`BrowserForward`,123,`BrowserForward`,167,`VK_BROWSER_FORWARD`,``,``],[1,186,`BrowserStop`,0,``,0,`VK_BROWSER_STOP`,``,``],[1,187,`BrowserRefresh`,0,``,0,`VK_BROWSER_REFRESH`,``,``],[1,188,`BrowserFavorites`,0,``,0,`VK_BROWSER_FAVORITES`,``,``],[1,189,`ZoomToggle`,0,``,0,``,``,``],[1,190,`MailReply`,0,``,0,``,``,``],[1,191,`MailForward`,0,``,0,``,``,``],[1,192,`MailSend`,0,``,0,``,``,``],[1,0,``,114,`KeyInComposition`,229,``,``,``],[1,0,``,116,`ABNT_C2`,194,`VK_ABNT_C2`,``,``],[1,0,``,96,`OEM_8`,223,`VK_OEM_8`,``,``],[1,0,``,0,``,0,`VK_KANA`,``,``],[1,0,``,0,``,0,`VK_HANGUL`,``,``],[1,0,``,0,``,0,`VK_JUNJA`,``,``],[1,0,``,0,``,0,`VK_FINAL`,``,``],[1,0,``,0,``,0,`VK_HANJA`,``,``],[1,0,``,0,``,0,`VK_KANJI`,``,``],[1,0,``,0,``,0,`VK_CONVERT`,``,``],[1,0,``,0,``,0,`VK_NONCONVERT`,``,``],[1,0,``,0,``,0,`VK_ACCEPT`,``,``],[1,0,``,0,``,0,`VK_MODECHANGE`,``,``],[1,0,``,0,``,0,`VK_SELECT`,``,``],[1,0,``,0,``,0,`VK_PRINT`,``,``],[1,0,``,0,``,0,`VK_EXECUTE`,``,``],[1,0,``,0,``,0,`VK_SNAPSHOT`,``,``],[1,0,``,0,``,0,`VK_HELP`,``,``],[1,0,``,0,``,0,`VK_APPS`,``,``],[1,0,``,0,``,0,`VK_PROCESSKEY`,``,``],[1,0,``,0,``,0,`VK_PACKET`,``,``],[1,0,``,0,``,0,`VK_DBE_SBCSCHAR`,``,``],[1,0,``,0,``,0,`VK_DBE_DBCSCHAR`,``,``],[1,0,``,0,``,0,`VK_ATTN`,``,``],[1,0,``,0,``,0,`VK_CRSEL`,``,``],[1,0,``,0,``,0,`VK_EXSEL`,``,``],[1,0,``,0,``,0,`VK_EREOF`,``,``],[1,0,``,0,``,0,`VK_PLAY`,``,``],[1,0,``,0,``,0,`VK_ZOOM`,``,``],[1,0,``,0,``,0,`VK_NONAME`,``,``],[1,0,``,0,``,0,`VK_PA1`,``,``],[1,0,``,0,``,0,`VK_OEM_CLEAR`,``,``]],t=[],n=[];for(let r of e){let[e,i,a,o,s,c,l,u,d]=r;if(n[i]||(n[i]=!0,eee[a]=i,tee[a.toLowerCase()]=i,e&&(St[i]=o)),!t[o]){if(t[o]=!0,!s)throw Error(`String representation missing for key code ${o} around scan code ${a}`);vt.define(o,s),yt.define(o,u||s),bt.define(o,d||u||s)}c&&(xt[c]=o)}})();var Ct;(function(e){function t(e){return vt.keyCodeToStr(e)}e.toString=t;function n(e){return vt.strToKeyCode(e)}e.fromString=n;function r(e){return yt.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return bt.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return yt.strToKeyCode(e)||bt.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return vt.keyCodeToStr(e)}e.toElectronAccelerator=o})(Ct||={});function wt(e,t){return(e|(t&65535)<<16>>>0)>>>0}function Tt(e,t){if(typeof e==`number`){if(e===0)return null;let n=(e&65535)>>>0,r=(e&4294901760)>>>16;return r===0?new Ot([Et(n,t)]):new Ot([Et(n,t),Et(r,t)])}else{let n=[];for(let r=0;r=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){let n=0;for(let r of e)if(!t(r,n++))return!1;return!0}e.every=d;function f(e,t){for(let n of e)if(t(n))return n}e.find=f;function*p(e,t){for(let n of e)t(n)&&(yield n)}e.filter=p;function*m(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=m;function*h(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=h;function*g(...e){for(let t of e)we(t)?yield*t:yield t}e.concat=g;function _(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=_;function v(e){let t=0;for(let n of e)t++;return t}e.length=v;function*y(e,t,n=e.length){for(t<-e.length&&(t=0),t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function Bt(...e){return T(()=>zt(e))}var Vt=class{constructor(e){this._isDisposed=!1,this._fn=e}dispose(){if(!this._isDisposed){if(!this._fn)throw Error(`Unbound disposable context: Need to use an arrow function to preserve the value of this`);this._isDisposed=!0,this._fn()}}};function T(e){return new Vt(e)}var E=class e{static{this.DISABLE_DISPOSED_WARNING=!1}constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{zt(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t||t===D.None)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}},D=class{static{this.None=Object.freeze({dispose(){}})}constructor(){this._store=new E,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}},Ht=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},lee=class{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}},uee=class{constructor(e){this.object=e}dispose(){}},Ut=class{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{zt(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,n=!1){this._isDisposed&&console.warn(Error(`Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!`).stack),n||this._store.get(e)?.dispose(),this._store.set(e,t)}deleteAndDispose(e){this._store.get(e)?.dispose(),this._store.delete(e)}values(){return this._store.values()}[Symbol.iterator](){return this._store[Symbol.iterator]()}},Wt=class e{static{this.Undefined=new e(void 0)}constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}},Gt=class{constructor(){this._first=Wt.Undefined,this._last=Wt.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Wt.Undefined}clear(){let e=this._first;for(;e!==Wt.Undefined;){let t=e.next;e.prev=Wt.Undefined,e.next=Wt.Undefined,e=t}this._first=Wt.Undefined,this._last=Wt.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new Wt(e);if(this._first===Wt.Undefined)this._first=n,this._last=n;else if(t){let e=this._last;this._last=n,n.prev=e,e.next=n}else{let e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==Wt.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Wt.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Wt.Undefined&&e.next!==Wt.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Wt.Undefined&&e.next===Wt.Undefined?(this._first=Wt.Undefined,this._last=Wt.Undefined):e.next===Wt.Undefined?(this._last=this._last.prev,this._last.next=Wt.Undefined):e.prev===Wt.Undefined&&(this._first=this._first.next,this._first.prev=Wt.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==Wt.Undefined;)yield e.element,e=e.next}},dee=globalThis.performance.now.bind(globalThis.performance),Kt=class e{static create(t){return new e(t)}constructor(e){this._now=e===!1?Date.now:dee,this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},O;(function(e){e.None=()=>D.None;function t(e,t){return f(e,()=>void 0,0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(t,n){return e.once(e.filter(t,n))}e.onceIf=r;function i(e,t,n){return u((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=i;function a(e,t,n){return u((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=a;function o(e,t,n){return u((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=o;function s(e){return e}e.signal=s;function c(...e){return(t,n=null,r)=>d(Bt(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=c;function l(e,t,n,r){let a=n;return i(e,e=>(a=t(a,e),a),r)}e.reduce=l;function u(e,t){let n,r=new k({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function d(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function f(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new k({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(l&&clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=null,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=f;function p(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=p;function m(e,t=(e,t)=>e===t,n){let r=!0,i;return o(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=m;function h(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=h;function g(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new k({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=g;function _(e,t){return(n,r,i)=>{let a=t(new y);return e(function(e){let t=a.evaluate(e);t!==v&&n.call(r,t)},void 0,i)}}e.chain=_;let v=Symbol(`HaltChainable`);class y{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:v),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:v}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===v)break;return e}}function b(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new k({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=b;function x(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new k({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=x;function S(e,t){let r,i=new Promise((i,a)=>{let o=n(e)(i,null,t);r=()=>o.dispose()});return i.cancel=r,i}e.toPromise=S;function ee(e,t){return e(e=>t.fire(e))}e.forward=ee;function te(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=te;class ne{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new k(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function C(e,t){return new ne(e,t).emitter.event}e.fromObservable=C;function re(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof E?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=re})(O||={});var fee=class e{static{this.all=new Set}static{this._idPool=0}constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new Kt,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}},pee=-1,mee=class e{static{this._idPool=1}constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new _ee(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||C)(n),D.None}if(this._disposed)return D.None;t&&(e=e.bind(t));let r=new qt(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=hee.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof qt?(this._deliveryQueue??=new Jt,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._options?.onDidAddListener?.(this),this._size++;let a=T(()=>{i?.(),this._removeListener(r)});return n instanceof E?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*vee<=t.length){let e=0;for(let n=0;n0}},yee=()=>new Jt,Jt=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Yt=class extends k{constructor(e){super(e),this._isPaused=0,this._eventQueue=new Gt,this._mergeFn=e?.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){let e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused===0?super.fire(e):this._eventQueue.push(e))}},Xt=class extends Yt{constructor(e){super(e),this._delay=e.delay??100}fire(e){this._handle||=(this.pause(),setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}},bee=class extends k{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e?.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(e=>super.fire(e)),this._queuedEvents=[]}))}},xee=class{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new k({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){let t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),T(Ft(()=>{this.hasListeners&&this.unhook(t);let e=this.events.indexOf(t);this.events.splice(e,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(e=>this.emitter.fire(e))}unhook(e){e.listener?.dispose(),e.listener=null}dispose(){this.emitter.dispose();for(let e of this.events)e.listener?.dispose();this.events=[]}},Zt=class{constructor(){this.data=[]}wrapEvent(e,t,n){return(r,i,a)=>e(e=>{let a=this.data[this.data.length-1];if(!t){a?a.buffers.push(()=>r.call(i,e)):r.call(i,e);return}let o=a;if(!o){r.call(i,t(n,e));return}o.items??=[],o.items.push(e),o.buffers.length===0&&a.buffers.push(()=>{o.reducedResult??=n?o.items.reduce(t,n):o.items.reduce(t),r.call(i,o.reducedResult)})},void 0,a)}bufferEvents(e){let t={buffers:[]};this.data.push(t);let n=e();return this.data.pop(),t.buffers.forEach(e=>e()),n}},Qt=class{constructor(){this.listening=!1,this.inputEvent=O.None,this.inputEventListener=D.None,this.emitter=new k({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}},$t=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),en;(function(e){function t(t){return t===e.None||t===e.Cancelled||t instanceof tn?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:O.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:$t})})(en||={});var tn=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?$t:(this._emitter||=new k,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},nn=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||=new tn,this._token}cancel(){this._token?this._token instanceof tn&&this._token.cancel():this._token=en.Cancelled}dispose(e=!1){e&&this.cancel(),this._parentListener?.dispose(),this._token?this._token instanceof tn&&this._token.dispose():this._token=en.None}};function rn(e){let t=new nn;return e.add({dispose(){t.cancel()}}),t.token}var an=Symbol(`MicrotaskDelay`);function on(e){return!!e&&typeof e.then==`function`}function sn(e){let t=new nn,n=e(t.token),r=!1,i=new Promise((e,i)=>{let a=t.token.onCancellationRequested(()=>{r=!0,a.dispose(),i(new se)});Promise.resolve(n).then(n=>{a.dispose(),t.dispose(),r?Rt(n)&&n.dispose():e(n)},e=>{a.dispose(),t.dispose(),i(e)})});return new class{cancel(){t.cancel(),t.dispose()}then(e,t){return i.then(e,t)}catch(e){return this.then(void 0,e)}finally(e){return i.finally(e)}}}function cn(e,t,n){return new Promise((r,i)=>{let a=t.onCancellationRequested(()=>{a.dispose(),r(n)});e.then(r,i).finally(()=>a.dispose())})}function See(e,t){return new Promise((n,r)=>{let i=t.onCancellationRequested(()=>{i.dispose(),r(new se)});e.then(n,r).finally(()=>i.dispose())})}var Cee=class{constructor(){this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null,this.cancellationTokenSource=new nn}queue(e){if(this.cancellationTokenSource.token.isCancellationRequested)return Promise.reject(Error(`Throttler is disposed`));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){let e=()=>{if(this.queuedPromise=null,this.cancellationTokenSource.token.isCancellationRequested)return;let e=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,e};this.queuedPromise=new Promise(t=>{this.activePromise.then(e,e).then(t)})}return new Promise((e,t)=>{this.queuedPromise.then(e,t)})}return this.activePromise=e(this.cancellationTokenSource.token),new Promise((e,t)=>{this.activePromise.then(t=>{this.activePromise=null,e(t)},e=>{this.activePromise=null,t(e)})})}dispose(){this.cancellationTokenSource.cancel()}},wee=(e,t)=>{let n=!0,r=setTimeout(()=>{n=!1,t()},e);return{isTriggered:()=>n,dispose:()=>{clearTimeout(r),n=!1}}},Tee=e=>{let t=!0;return queueMicrotask(()=>{t&&(t=!1,e())}),{isTriggered:()=>t,dispose:()=>{t=!1}}},ln=class{constructor(e){this.defaultDelay=e,this.deferred=null,this.completionPromise=null,this.doResolve=null,this.doReject=null,this.task=null}trigger(e,t=this.defaultDelay){this.task=e,this.cancelTimeout(),this.completionPromise||=new Promise((e,t)=>{this.doResolve=e,this.doReject=t}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){let e=this.task;return this.task=null,e()}});let n=()=>{this.deferred=null,this.doResolve?.(null)};return this.deferred=t===an?Tee(n):wee(t,n),this.completionPromise}isTriggered(){return!!this.deferred?.isTriggered()}cancel(){this.cancelTimeout(),this.completionPromise&&=(this.doReject?.(new se),null)}cancelTimeout(){this.deferred?.dispose(),this.deferred=null}dispose(){this.cancel()}},un=class{constructor(e){this.delayer=new ln(e),this.throttler=new Cee}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}};function dn(e,t){return t?new Promise((n,r)=>{let i=setTimeout(()=>{a.dispose(),n()},e),a=t.onCancellationRequested(()=>{clearTimeout(i),a.dispose(),r(new se)})}):sn(t=>dn(e,t))}function fn(e,t=0,n){let r=setTimeout(()=>{e(),n&&i.dispose()},t),i=T(()=>{clearTimeout(r),n?.delete(i)});return n?.add(i),i}function pn(e,t=e=>!!e,n=null){let r=0,i=e.length,a=()=>{if(r>=i)return Promise.resolve(n);let o=e[r++];return Promise.resolve(o()).then(e=>t(e)?Promise.resolve(e):a())};return a()}var Eee=class{constructor(){this._runningTask=void 0,this._pendingTasks=[]}schedule(e){let t=new bn;return this._pendingTasks.push({task:e,deferred:t,setUndefinedWhenCleared:!1}),this._runIfNotRunning(),t.p}_runIfNotRunning(){this._runningTask===void 0&&this._processQueue()}async _processQueue(){if(this._pendingTasks.length===0)return;let e=this._pendingTasks.shift();if(e){if(this._runningTask)throw new w;this._runningTask=e.task;try{let t=await e.task();e.deferred.complete(t)}catch(t){e.deferred.error(t)}finally{this._runningTask=void 0,this._processQueue()}}}clearPending(){let e=this._pendingTasks;this._pendingTasks=[];for(let t of e)t.setUndefinedWhenCleared?t.deferred.complete(void 0):t.deferred.error(new se)}},mn=class{constructor(e,t){this._isDisposed=!1,this._token=void 0,typeof e==`function`&&typeof t==`number`&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==void 0&&(clearTimeout(this._token),this._token=void 0)}cancelAndSet(e,t){if(this._isDisposed)throw new w(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=void 0,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new w(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===void 0&&(this._token=setTimeout(()=>{this._token=void 0,e()},t))}},hn=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new w(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=T(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},gn=class{constructor(e,t){this.timeoutToken=void 0,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=void 0)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==void 0}onTimeout(){this.timeoutToken=void 0,this.runner&&this.doRun()}doRun(){this.runner?.()}},_n,vn;(function(){let e=globalThis;vn=typeof e.requestIdleCallback!=`function`||typeof e.cancelIdleCallback!=`function`?(e,t,n)=>{ot(()=>{if(r)return;let e=Date.now()+15;t(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,e-Date.now())}}))});let r=!1;return{dispose(){r||=!0}}}:(e,t,n)=>{let r=e.requestIdleCallback(t,typeof n==`number`?{timeout:n}:void 0),i=!1;return{dispose(){i||(i=!0,e.cancelIdleCallback(r))}}},_n=(e,t)=>vn(globalThis,e,t)})();var yn=class{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(e){this._error=e}finally{this._didRun=!0}},this._handle=vn(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}},Dee=class extends yn{constructor(e){super(globalThis,e)}},bn=class{get isRejected(){return this.outcome?.outcome===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return this.isSettled?Promise.resolve():new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new se)}},xn;(function(e){async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(t!==void 0)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(xn||={});function Oee(e){let t=new nn,n=e(t.token);return new Aee(t,async e=>{let r=t.token.onCancellationRequested(()=>{r.dispose(),t.dispose(),e.reject(new se)});try{for await(let r of n){if(t.token.isCancellationRequested)return;e.emitOne(r)}r.dispose(),t.dispose()}catch(n){r.dispose(),t.dispose(),e.reject(n)}})}var kee=class{constructor(){this._unsatisfiedConsumers=[],this._unconsumedValues=[]}get hasFinalValue(){return!!this._finalValue}produce(e){if(this._ensureNoFinalValue(),this._unsatisfiedConsumers.length>0){let t=this._unsatisfiedConsumers.shift();this._resolveOrRejectDeferred(t,e)}else this._unconsumedValues.push(e)}produceFinal(e){this._ensureNoFinalValue(),this._finalValue=e;for(let t of this._unsatisfiedConsumers)this._resolveOrRejectDeferred(t,e);this._unsatisfiedConsumers.length=0}_ensureNoFinalValue(){if(this._finalValue)throw new w(`ProducerConsumer: cannot produce after final value has been set`)}_resolveOrRejectDeferred(e,t){t.ok?e.complete(t.value):e.error(t.error)}consume(){if(this._unconsumedValues.length>0||this._finalValue){let e=this._unconsumedValues.length>0?this._unconsumedValues.shift():this._finalValue;return e.ok?Promise.resolve(e.value):Promise.reject(e.error)}else{let e=new bn;return this._unsatisfiedConsumers.push(e),e.p}}},Sn=class e{constructor(e,t){this._onReturn=t,this._producerConsumer=new kee,this._iterator={next:()=>this._producerConsumer.consume(),return:()=>(this._onReturn?.(),Promise.resolve({done:!0,value:void 0})),throw:async e=>(this._finishError(e),{done:!0,value:void 0})},queueMicrotask(async()=>{let t=e({emitOne:e=>this._producerConsumer.produce({ok:!0,value:{done:!1,value:e}}),emitMany:e=>{for(let t of e)this._producerConsumer.produce({ok:!0,value:{done:!1,value:t}})},reject:e=>this._finishError(e)});if(!this._producerConsumer.hasFinalValue)try{await t,this._finishOk()}catch(e){this._finishError(e)}})}static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromisesResolveOrder(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}static{this.EMPTY=e.fromArray([])}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}_finishOk(){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!0,value:{done:!0,value:void 0}})}_finishError(e){this._producerConsumer.hasFinalValue||this._producerConsumer.produceFinal({ok:!1,error:e})}[Symbol.asyncIterator](){return this._iterator}},Aee=class extends Sn{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}};function Cn(e){return e}var wn=class{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,typeof e==`function`?(this._fn=e,this._computeKey=Cn):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){let t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}},Tn=class{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,typeof e==`function`?(this._fn=e,this._computeKey=Cn):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){let t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);let n=this._fn(e);return this._map.set(e,n),this._map2.set(t,n),n}},En;(function(e){e[e.Uninitialized=0]=`Uninitialized`,e[e.Running=1]=`Running`,e[e.Completed=2]=`Completed`})(En||={});var Dn=class{constructor(e){this.executor=e,this._state=En.Uninitialized}get value(){if(this._state===En.Uninitialized){this._state=En.Running;try{this._value=this.executor()}catch(e){this._error=e}finally{this._state=En.Completed}}else if(this._state===En.Running)throw Error(`Cannot read the value of a lazy that is being initialized`);if(this._error)throw this._error;return this._value}get rawValue(){return this._value}};function On(e){return!e||typeof e!=`string`?!0:e.trim().length===0}var jee=/{(\d+)}/g;function kn(e,...t){return t.length===0?e:e.replace(jee,function(e,n){let r=parseInt(n,10);return isNaN(r)||r<0||r>=t.length?e:t[r]})}function Mee(e){return e.replace(/[<>"'&]/g,e=>{switch(e){case`<`:return`<`;case`>`:return`>`;case`"`:return`"`;case`'`:return`'`;case`&`:return`&`}return e})}function An(e){return e.replace(/[<>&]/g,function(e){switch(e){case`<`:return`<`;case`>`:return`>`;case`&`:return`&`;default:return e}})}function jn(e){return e.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,`\\$&`)}function Nee(e,t=` `){return Nn(Mn(e,t),t)}function Mn(e,t){if(!e||!t)return e;let n=t.length;if(n===0||e.length===0)return e;let r=0;for(;e.indexOf(t,r)===r;)r+=n;return e.substring(r)}function Nn(e,t){if(!e||!t)return e;let n=t.length,r=e.length;if(n===0||r===0)return e;let i=r,a=-1;for(;a=e.lastIndexOf(t,i-1),!(a===-1||a+n!==i);){if(a===0)return``;i=a}return e.substring(0,i)}function Pee(e){return e.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`).replace(/[\*]/g,`.*`)}function Pn(e,t,n={}){if(!e)throw Error(`Cannot create regex from empty string`);t||(e=jn(e)),n.wholeWord&&(/\B/.test(e.charAt(0))||(e=`\\b`+e),/\B/.test(e.charAt(e.length-1))||(e+=`\\b`));let r=``;return n.global&&(r+=`g`),n.matchCase||(r+=`i`),n.multiline&&(r+=`m`),n.unicode&&(r+=`u`),new RegExp(e,r)}function Fn(e){return e.source===`^`||e.source===`^$`||e.source===`$`||e.source===`^\\s*$`?!1:!!(e.exec(``)&&e.lastIndex===0)}function In(e){return e.split(/\r\n|\r|\n/)}function Ln(e){for(let t=0,n=e.length;t=0;n--){let t=e.charCodeAt(n);if(t!==32&&t!==9)return n}return-1}function Bn(e,t){return et)}function Vn(e,t,n=0,r=e.length,i=0,a=t.length){for(;na)return 1}let o=r-n,s=a-i;return os)}function Hn(e,t){return Un(e,t,0,e.length,0,t.length)}function Un(e,t,n=0,r=e.length,i=0,a=t.length){for(;n=128||s>=128)return Vn(e.toLowerCase(),t.toLowerCase(),n,r,i,a);Gn(o)&&(o-=32),Gn(s)&&(s-=32);let c=o-s;if(c!==0)return c}let o=r-n,s=a-i;return os)}function Wn(e){return e>=48&&e<=57}function Gn(e){return e>=97&&e<=122}function Kn(e){return e>=65&&e<=90}function qn(e,t){return e.length===t.length&&Un(e,t)===0}function Jn(e,t){let n=t.length;return n<=e.length&&Un(e,t,0,n)===0}function Fee(e,t){let n=e.length,r=n-t.length;return r>=0&&Un(e,t,r,n)===0}function Yn(e,t){let n=Math.min(e.length,t.length),r;for(r=0;r1){let r=e.charCodeAt(t-2);if(Zn(r))return $n(r,n)}return n}var tr=class{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){let e=Iee(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){let e=er(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}},nr=class{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new tr(e,t)}nextGraphemeLength(){let e=hr.getInstance(),t=this._iterator,n=t.offset,r=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){let n=t.offset,i=e.getGraphemeBreakType(t.nextCodePoint());if(mr(r,i)){t.setOffset(n);break}r=i}return t.offset-n}prevGraphemeLength(){let e=hr.getInstance(),t=this._iterator,n=t.offset,r=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){let n=t.offset,i=e.getGraphemeBreakType(t.prevCodePoint());if(mr(i,r)){t.setOffset(n);break}r=i}return n-t.offset}eol(){return this._iterator.eol()}};function rr(e,t){return new nr(e,t).nextGraphemeLength()}function ir(e,t){return new nr(e,t).prevGraphemeLength()}function Lee(e,t){t>0&&Qn(e.charCodeAt(t))&&t--;let n=t+rr(e,t);return[n-ir(e,n),n]}var ar=void 0;function Ree(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function or(e){return ar||=Ree(),ar.test(e)}var zee=/^[\t\n\r\x20-\x7E]*$/;function sr(e){return zee.test(e)}var cr=/[\u2028\u2029]/;function lr(e){return cr.test(e)}function ur(e){return e>=11904&&e<=55215||e>=63744&&e<=64255||e>=65281&&e<=65374}function dr(e){return e>=127462&&e<=127487||e===8986||e===8987||e===9200||e===9203||e>=9728&&e<=10175||e===11088||e===11093||e>=127744&&e<=128591||e>=128640&&e<=128764||e>=128992&&e<=129008||e>=129280&&e<=129535||e>=129648&&e<=129782}function fr(e){return!!(e&&e.length>0&&e.charCodeAt(0)===65279)}function Bee(e,t=!1){return e?(t&&(e=e.replace(/\\./g,``)),e.toLowerCase()!==e):!1}function pr(e){return e%=52,e<26?String.fromCharCode(97+e):String.fromCharCode(65+e-26)}function mr(e,t){return e===0?t!==5&&t!==7:e===2&&t===3?!1:e===4||e===2||e===3||t===4||t===2||t===3?!0:!(e===8&&(t===8||t===9||t===11||t===12)||(e===11||e===9)&&(t===9||t===10)||(e===12||e===10)&&t===10||t===5||t===13||t===7||e===1||e===13&&t===14||e===6&&t===6)}var hr=class e{static{this._INSTANCE=null}static getInstance(){return e._INSTANCE||=new e,e._INSTANCE}constructor(){this._data=gr()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;let t=this._data,n=t.length/3,r=1;for(;r<=n;)if(et[3*r+1])r=2*r+1;else return t[3*r+2];return 0}};function gr(){return JSON.parse(`[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]`)}function _r(e,t){if(e===0)return 0;let n=vr(e,t);if(n!==void 0)return n;let r=new tr(t,e);return r.prevCodePoint(),r.offset}function vr(e,t){let n=new tr(t,e),r=n.prevCodePoint();for(;yr(r)||r===65039||r===8419;){if(n.offset===0)return;r=n.prevCodePoint()}if(!dr(r))return;let i=n.offset;return i>0&&n.prevCodePoint()===8205&&(i=n.offset),i}function yr(e){return 127995<=e&&e<=127999}var br=class e{static{this.ambiguousCharacterData=new Dn(()=>JSON.parse(`{"_common":[8232,32,8233,32,5760,32,8192,32,8193,32,8194,32,8195,32,8196,32,8197,32,8198,32,8200,32,8201,32,8202,32,8287,32,8199,32,8239,32,2042,95,65101,95,65102,95,65103,95,8208,45,8209,45,8210,45,65112,45,1748,45,8259,45,727,45,8722,45,10134,45,11450,45,1549,44,1643,44,184,44,42233,44,894,59,2307,58,2691,58,1417,58,1795,58,1796,58,5868,58,65072,58,6147,58,6153,58,8282,58,1475,58,760,58,42889,58,8758,58,720,58,42237,58,451,33,11601,33,660,63,577,63,2429,63,5038,63,42731,63,119149,46,8228,46,1793,46,1794,46,42510,46,68176,46,1632,46,1776,46,42232,46,1373,96,65287,96,8219,96,1523,96,8242,96,1370,96,8175,96,65344,96,900,96,8189,96,8125,96,8127,96,8190,96,697,96,884,96,712,96,714,96,715,96,756,96,699,96,701,96,700,96,702,96,42892,96,1497,96,2036,96,2037,96,5194,96,5836,96,94033,96,94034,96,65339,91,10088,40,10098,40,12308,40,64830,40,65341,93,10089,41,10099,41,12309,41,64831,41,10100,123,119060,123,10101,125,65342,94,8270,42,1645,42,8727,42,66335,42,5941,47,8257,47,8725,47,8260,47,9585,47,10187,47,10744,47,119354,47,12755,47,12339,47,11462,47,20031,47,12035,47,65340,92,65128,92,8726,92,10189,92,10741,92,10745,92,119311,92,119355,92,12756,92,20022,92,12034,92,42872,38,708,94,710,94,5869,43,10133,43,66203,43,8249,60,10094,60,706,60,119350,60,5176,60,5810,60,5120,61,11840,61,12448,61,42239,61,8250,62,10095,62,707,62,119351,62,5171,62,94015,62,8275,126,732,126,8128,126,8764,126,65372,124,65293,45,118002,50,120784,50,120794,50,120804,50,120814,50,120824,50,130034,50,42842,50,423,50,1000,50,42564,50,5311,50,42735,50,119302,51,118003,51,120785,51,120795,51,120805,51,120815,51,120825,51,130035,51,42923,51,540,51,439,51,42858,51,11468,51,1248,51,94011,51,71882,51,118004,52,120786,52,120796,52,120806,52,120816,52,120826,52,130036,52,5070,52,71855,52,118005,53,120787,53,120797,53,120807,53,120817,53,120827,53,130037,53,444,53,71867,53,118006,54,120788,54,120798,54,120808,54,120818,54,120828,54,130038,54,11474,54,5102,54,71893,54,119314,55,118007,55,120789,55,120799,55,120809,55,120819,55,120829,55,130039,55,66770,55,71878,55,2819,56,2538,56,2666,56,125131,56,118008,56,120790,56,120800,56,120810,56,120820,56,120830,56,130040,56,547,56,546,56,66330,56,2663,57,2920,57,2541,57,3437,57,118009,57,120791,57,120801,57,120811,57,120821,57,120831,57,130041,57,42862,57,11466,57,71884,57,71852,57,71894,57,9082,97,65345,97,119834,97,119886,97,119938,97,119990,97,120042,97,120094,97,120146,97,120198,97,120250,97,120302,97,120354,97,120406,97,120458,97,593,97,945,97,120514,97,120572,97,120630,97,120688,97,120746,97,65313,65,117974,65,119808,65,119860,65,119912,65,119964,65,120016,65,120068,65,120120,65,120172,65,120224,65,120276,65,120328,65,120380,65,120432,65,913,65,120488,65,120546,65,120604,65,120662,65,120720,65,5034,65,5573,65,42222,65,94016,65,66208,65,119835,98,119887,98,119939,98,119991,98,120043,98,120095,98,120147,98,120199,98,120251,98,120303,98,120355,98,120407,98,120459,98,388,98,5071,98,5234,98,5551,98,65314,66,8492,66,117975,66,119809,66,119861,66,119913,66,120017,66,120069,66,120121,66,120173,66,120225,66,120277,66,120329,66,120381,66,120433,66,42932,66,914,66,120489,66,120547,66,120605,66,120663,66,120721,66,5108,66,5623,66,42192,66,66178,66,66209,66,66305,66,65347,99,8573,99,119836,99,119888,99,119940,99,119992,99,120044,99,120096,99,120148,99,120200,99,120252,99,120304,99,120356,99,120408,99,120460,99,7428,99,1010,99,11429,99,43951,99,66621,99,128844,67,71913,67,71922,67,65315,67,8557,67,8450,67,8493,67,117976,67,119810,67,119862,67,119914,67,119966,67,120018,67,120174,67,120226,67,120278,67,120330,67,120382,67,120434,67,1017,67,11428,67,5087,67,42202,67,66210,67,66306,67,66581,67,66844,67,8574,100,8518,100,119837,100,119889,100,119941,100,119993,100,120045,100,120097,100,120149,100,120201,100,120253,100,120305,100,120357,100,120409,100,120461,100,1281,100,5095,100,5231,100,42194,100,8558,68,8517,68,117977,68,119811,68,119863,68,119915,68,119967,68,120019,68,120071,68,120123,68,120175,68,120227,68,120279,68,120331,68,120383,68,120435,68,5024,68,5598,68,5610,68,42195,68,8494,101,65349,101,8495,101,8519,101,119838,101,119890,101,119942,101,120046,101,120098,101,120150,101,120202,101,120254,101,120306,101,120358,101,120410,101,120462,101,43826,101,1213,101,8959,69,65317,69,8496,69,117978,69,119812,69,119864,69,119916,69,120020,69,120072,69,120124,69,120176,69,120228,69,120280,69,120332,69,120384,69,120436,69,917,69,120492,69,120550,69,120608,69,120666,69,120724,69,11577,69,5036,69,42224,69,71846,69,71854,69,66182,69,119839,102,119891,102,119943,102,119995,102,120047,102,120099,102,120151,102,120203,102,120255,102,120307,102,120359,102,120411,102,120463,102,43829,102,42905,102,383,102,7837,102,1412,102,119315,70,8497,70,117979,70,119813,70,119865,70,119917,70,120021,70,120073,70,120125,70,120177,70,120229,70,120281,70,120333,70,120385,70,120437,70,42904,70,988,70,120778,70,5556,70,42205,70,71874,70,71842,70,66183,70,66213,70,66853,70,65351,103,8458,103,119840,103,119892,103,119944,103,120048,103,120100,103,120152,103,120204,103,120256,103,120308,103,120360,103,120412,103,120464,103,609,103,7555,103,397,103,1409,103,117980,71,119814,71,119866,71,119918,71,119970,71,120022,71,120074,71,120126,71,120178,71,120230,71,120282,71,120334,71,120386,71,120438,71,1292,71,5056,71,5107,71,42198,71,65352,104,8462,104,119841,104,119945,104,119997,104,120049,104,120101,104,120153,104,120205,104,120257,104,120309,104,120361,104,120413,104,120465,104,1211,104,1392,104,5058,104,65320,72,8459,72,8460,72,8461,72,117981,72,119815,72,119867,72,119919,72,120023,72,120179,72,120231,72,120283,72,120335,72,120387,72,120439,72,919,72,120494,72,120552,72,120610,72,120668,72,120726,72,11406,72,5051,72,5500,72,42215,72,66255,72,731,105,9075,105,65353,105,8560,105,8505,105,8520,105,119842,105,119894,105,119946,105,119998,105,120050,105,120102,105,120154,105,120206,105,120258,105,120310,105,120362,105,120414,105,120466,105,120484,105,618,105,617,105,953,105,8126,105,890,105,120522,105,120580,105,120638,105,120696,105,120754,105,1110,105,42567,105,1231,105,43893,105,5029,105,71875,105,65354,106,8521,106,119843,106,119895,106,119947,106,119999,106,120051,106,120103,106,120155,106,120207,106,120259,106,120311,106,120363,106,120415,106,120467,106,1011,106,1112,106,65322,74,117983,74,119817,74,119869,74,119921,74,119973,74,120025,74,120077,74,120129,74,120181,74,120233,74,120285,74,120337,74,120389,74,120441,74,42930,74,895,74,1032,74,5035,74,5261,74,42201,74,119844,107,119896,107,119948,107,120000,107,120052,107,120104,107,120156,107,120208,107,120260,107,120312,107,120364,107,120416,107,120468,107,8490,75,65323,75,117984,75,119818,75,119870,75,119922,75,119974,75,120026,75,120078,75,120130,75,120182,75,120234,75,120286,75,120338,75,120390,75,120442,75,922,75,120497,75,120555,75,120613,75,120671,75,120729,75,11412,75,5094,75,5845,75,42199,75,66840,75,1472,108,8739,73,9213,73,65512,73,1633,108,1777,73,66336,108,125127,108,118001,108,120783,73,120793,73,120803,73,120813,73,120823,73,130033,73,65321,73,8544,73,8464,73,8465,73,117982,108,119816,73,119868,73,119920,73,120024,73,120128,73,120180,73,120232,73,120284,73,120336,73,120388,73,120440,73,65356,108,8572,73,8467,108,119845,108,119897,108,119949,108,120001,108,120053,108,120105,73,120157,73,120209,73,120261,73,120313,73,120365,73,120417,73,120469,73,448,73,120496,73,120554,73,120612,73,120670,73,120728,73,11410,73,1030,73,1216,73,1493,108,1503,108,1575,108,126464,108,126592,108,65166,108,65165,108,1994,108,11599,73,5825,73,42226,73,93992,73,66186,124,66313,124,119338,76,8556,76,8466,76,117985,76,119819,76,119871,76,119923,76,120027,76,120079,76,120131,76,120183,76,120235,76,120287,76,120339,76,120391,76,120443,76,11472,76,5086,76,5290,76,42209,76,93974,76,71843,76,71858,76,66587,76,66854,76,65325,77,8559,77,8499,77,117986,77,119820,77,119872,77,119924,77,120028,77,120080,77,120132,77,120184,77,120236,77,120288,77,120340,77,120392,77,120444,77,924,77,120499,77,120557,77,120615,77,120673,77,120731,77,1018,77,11416,77,5047,77,5616,77,5846,77,42207,77,66224,77,66321,77,119847,110,119899,110,119951,110,120003,110,120055,110,120107,110,120159,110,120211,110,120263,110,120315,110,120367,110,120419,110,120471,110,1400,110,1404,110,65326,78,8469,78,117987,78,119821,78,119873,78,119925,78,119977,78,120029,78,120081,78,120185,78,120237,78,120289,78,120341,78,120393,78,120445,78,925,78,120500,78,120558,78,120616,78,120674,78,120732,78,11418,78,42208,78,66835,78,3074,111,3202,111,3330,111,3458,111,2406,111,2662,111,2790,111,3046,111,3174,111,3302,111,3430,111,3664,111,3792,111,4160,111,1637,111,1781,111,65359,111,8500,111,119848,111,119900,111,119952,111,120056,111,120108,111,120160,111,120212,111,120264,111,120316,111,120368,111,120420,111,120472,111,7439,111,7441,111,43837,111,959,111,120528,111,120586,111,120644,111,120702,111,120760,111,963,111,120532,111,120590,111,120648,111,120706,111,120764,111,11423,111,4351,111,1413,111,1505,111,1607,111,126500,111,126564,111,126596,111,65259,111,65260,111,65258,111,65257,111,1726,111,64428,111,64429,111,64427,111,64426,111,1729,111,64424,111,64425,111,64423,111,64422,111,1749,111,3360,111,4125,111,66794,111,71880,111,71895,111,66604,111,1984,79,2534,79,2918,79,12295,79,70864,79,71904,79,118000,79,120782,79,120792,79,120802,79,120812,79,120822,79,130032,79,65327,79,117988,79,119822,79,119874,79,119926,79,119978,79,120030,79,120082,79,120134,79,120186,79,120238,79,120290,79,120342,79,120394,79,120446,79,927,79,120502,79,120560,79,120618,79,120676,79,120734,79,11422,79,1365,79,11604,79,4816,79,2848,79,66754,79,42227,79,71861,79,66194,79,66219,79,66564,79,66838,79,9076,112,65360,112,119849,112,119901,112,119953,112,120005,112,120057,112,120109,112,120161,112,120213,112,120265,112,120317,112,120369,112,120421,112,120473,112,961,112,120530,112,120544,112,120588,112,120602,112,120646,112,120660,112,120704,112,120718,112,120762,112,120776,112,11427,112,65328,80,8473,80,117989,80,119823,80,119875,80,119927,80,119979,80,120031,80,120083,80,120187,80,120239,80,120291,80,120343,80,120395,80,120447,80,929,80,120504,80,120562,80,120620,80,120678,80,120736,80,11426,80,5090,80,5229,80,42193,80,66197,80,119850,113,119902,113,119954,113,120006,113,120058,113,120110,113,120162,113,120214,113,120266,113,120318,113,120370,113,120422,113,120474,113,1307,113,1379,113,1382,113,8474,81,117990,81,119824,81,119876,81,119928,81,119980,81,120032,81,120084,81,120188,81,120240,81,120292,81,120344,81,120396,81,120448,81,11605,81,119851,114,119903,114,119955,114,120007,114,120059,114,120111,114,120163,114,120215,114,120267,114,120319,114,120371,114,120423,114,120475,114,43847,114,43848,114,7462,114,11397,114,43905,114,119318,82,8475,82,8476,82,8477,82,117991,82,119825,82,119877,82,119929,82,120033,82,120189,82,120241,82,120293,82,120345,82,120397,82,120449,82,422,82,5025,82,5074,82,66740,82,5511,82,42211,82,94005,82,65363,115,119852,115,119904,115,119956,115,120008,115,120060,115,120112,115,120164,115,120216,115,120268,115,120320,115,120372,115,120424,115,120476,115,42801,115,445,115,1109,115,43946,115,71873,115,66632,115,65331,83,117992,83,119826,83,119878,83,119930,83,119982,83,120034,83,120086,83,120138,83,120190,83,120242,83,120294,83,120346,83,120398,83,120450,83,1029,83,1359,83,5077,83,5082,83,42210,83,94010,83,66198,83,66592,83,119853,116,119905,116,119957,116,120009,116,120061,116,120113,116,120165,116,120217,116,120269,116,120321,116,120373,116,120425,116,120477,116,8868,84,10201,84,128872,84,65332,84,117993,84,119827,84,119879,84,119931,84,119983,84,120035,84,120087,84,120139,84,120191,84,120243,84,120295,84,120347,84,120399,84,120451,84,932,84,120507,84,120565,84,120623,84,120681,84,120739,84,11430,84,5026,84,42196,84,93962,84,71868,84,66199,84,66225,84,66325,84,119854,117,119906,117,119958,117,120010,117,120062,117,120114,117,120166,117,120218,117,120270,117,120322,117,120374,117,120426,117,120478,117,42911,117,7452,117,43854,117,43858,117,651,117,965,117,120534,117,120592,117,120650,117,120708,117,120766,117,1405,117,66806,117,71896,117,8746,85,8899,85,117994,85,119828,85,119880,85,119932,85,119984,85,120036,85,120088,85,120140,85,120192,85,120244,85,120296,85,120348,85,120400,85,120452,85,1357,85,4608,85,66766,85,5196,85,42228,85,94018,85,71864,85,8744,118,8897,118,65366,118,8564,118,119855,118,119907,118,119959,118,120011,118,120063,118,120115,118,120167,118,120219,118,120271,118,120323,118,120375,118,120427,118,120479,118,7456,118,957,118,120526,118,120584,118,120642,118,120700,118,120758,118,1141,118,1496,118,71430,118,43945,118,71872,118,119309,86,1639,86,1783,86,8548,86,117995,86,119829,86,119881,86,119933,86,119985,86,120037,86,120089,86,120141,86,120193,86,120245,86,120297,86,120349,86,120401,86,120453,86,1140,86,11576,86,5081,86,5167,86,42719,86,42214,86,93960,86,71840,86,66845,86,623,119,119856,119,119908,119,119960,119,120012,119,120064,119,120116,119,120168,119,120220,119,120272,119,120324,119,120376,119,120428,119,120480,119,7457,119,1121,119,1309,119,1377,119,71434,119,71438,119,71439,119,43907,119,71910,87,71919,87,117996,87,119830,87,119882,87,119934,87,119986,87,120038,87,120090,87,120142,87,120194,87,120246,87,120298,87,120350,87,120402,87,120454,87,1308,87,5043,87,5076,87,42218,87,5742,120,10539,120,10540,120,10799,120,65368,120,8569,120,119857,120,119909,120,119961,120,120013,120,120065,120,120117,120,120169,120,120221,120,120273,120,120325,120,120377,120,120429,120,120481,120,5441,120,5501,120,5741,88,9587,88,66338,88,71916,88,65336,88,8553,88,117997,88,119831,88,119883,88,119935,88,119987,88,120039,88,120091,88,120143,88,120195,88,120247,88,120299,88,120351,88,120403,88,120455,88,42931,88,935,88,120510,88,120568,88,120626,88,120684,88,120742,88,11436,88,11613,88,5815,88,42219,88,66192,88,66228,88,66327,88,66855,88,611,121,7564,121,65369,121,119858,121,119910,121,119962,121,120014,121,120066,121,120118,121,120170,121,120222,121,120274,121,120326,121,120378,121,120430,121,120482,121,655,121,7935,121,43866,121,947,121,8509,121,120516,121,120574,121,120632,121,120690,121,120748,121,1199,121,4327,121,71900,121,65337,89,117998,89,119832,89,119884,89,119936,89,119988,89,120040,89,120092,89,120144,89,120196,89,120248,89,120300,89,120352,89,120404,89,120456,89,933,89,978,89,120508,89,120566,89,120624,89,120682,89,120740,89,11432,89,1198,89,5033,89,5053,89,42220,89,94019,89,71844,89,66226,89,119859,122,119911,122,119963,122,120015,122,120067,122,120119,122,120171,122,120223,122,120275,122,120327,122,120379,122,120431,122,120483,122,7458,122,43923,122,71876,122,71909,90,66293,90,65338,90,8484,90,8488,90,117999,90,119833,90,119885,90,119937,90,119989,90,120041,90,120197,90,120249,90,120301,90,120353,90,120405,90,120457,90,918,90,120493,90,120551,90,120609,90,120667,90,120725,90,5059,90,42204,90,71849,90,65282,34,65283,35,65284,36,65285,37,65286,38,65290,42,65291,43,65294,46,65295,47,65296,48,65298,50,65299,51,65300,52,65301,53,65302,54,65303,55,65304,56,65305,57,65308,60,65309,61,65310,62,65312,64,65316,68,65318,70,65319,71,65324,76,65329,81,65330,82,65333,85,65334,86,65335,87,65343,95,65346,98,65348,100,65350,102,65355,107,65357,109,65358,110,65361,113,65362,114,65364,116,65365,117,65367,119,65370,122,65371,123,65373,125,119846,109],"_default":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8217,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"cs":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"de":[65374,126,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"es":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"fr":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"it":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ja":[8211,45,8218,44,65281,33,8216,96,8245,96,180,96,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65292,44,65297,49,65307,59],"ko":[8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pl":[65374,126,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"pt-BR":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"qps-ploc":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"ru":[65374,126,8218,44,65306,58,65281,33,8216,96,8245,96,180,96,12494,47,305,105,921,73,1009,112,215,120,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"tr":[160,32,8211,45,65374,126,8218,44,65306,58,65281,33,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65288,40,65289,41,65292,44,65297,49,65307,59,65311,63],"zh-hans":[160,32,65374,126,8218,44,8245,96,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89,65297,49],"zh-hant":[8211,45,65374,126,8218,44,180,96,12494,47,1047,51,1073,54,1072,97,1040,65,1068,98,1042,66,1089,99,1057,67,1077,101,1045,69,1053,72,305,105,1050,75,921,73,1052,77,1086,111,1054,79,1009,112,1088,112,1056,80,1075,114,1058,84,215,120,1093,120,1061,88,1091,121,1059,89]}`))}static{this.cache=new wn({getCacheKey:JSON.stringify},t=>{function n(e){let t=new Map;for(let n=0;n!e.startsWith(`_`)&&Object.hasOwn(a,e));o.length===0&&(o=[`_default`]);let s;for(let e of o){let t=n(a[e]);s=i(s,t)}return new e(r(n(a._common),s))})}static getInstance(t){return e.cache.get(Array.from(t))}static{this._locales=new Dn(()=>Object.keys(e.ambiguousCharacterData.value).filter(e=>!e.startsWith(`_`)))}static getLocales(){return e._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},xr=class e{static getRawData(){return JSON.parse(`{"_common":[11,12,13,127,847,1564,4447,4448,6068,6069,6155,6156,6157,6158,7355,7356,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8204,8205,8206,8207,8234,8235,8236,8237,8238,8239,8287,8288,8289,8290,8291,8292,8293,8294,8295,8296,8297,8298,8299,8300,8301,8302,8303,10240,12644,65024,65025,65026,65027,65028,65029,65030,65031,65032,65033,65034,65035,65036,65037,65038,65039,65279,65440,65520,65521,65522,65523,65524,65525,65526,65527,65528,65532,78844,119155,119156,119157,119158,119159,119160,119161,119162,917504,917505,917506,917507,917508,917509,917510,917511,917512,917513,917514,917515,917516,917517,917518,917519,917520,917521,917522,917523,917524,917525,917526,917527,917528,917529,917530,917531,917532,917533,917534,917535,917536,917537,917538,917539,917540,917541,917542,917543,917544,917545,917546,917547,917548,917549,917550,917551,917552,917553,917554,917555,917556,917557,917558,917559,917560,917561,917562,917563,917564,917565,917566,917567,917568,917569,917570,917571,917572,917573,917574,917575,917576,917577,917578,917579,917580,917581,917582,917583,917584,917585,917586,917587,917588,917589,917590,917591,917592,917593,917594,917595,917596,917597,917598,917599,917600,917601,917602,917603,917604,917605,917606,917607,917608,917609,917610,917611,917612,917613,917614,917615,917616,917617,917618,917619,917620,917621,917622,917623,917624,917625,917626,917627,917628,917629,917630,917631,917760,917761,917762,917763,917764,917765,917766,917767,917768,917769,917770,917771,917772,917773,917774,917775,917776,917777,917778,917779,917780,917781,917782,917783,917784,917785,917786,917787,917788,917789,917790,917791,917792,917793,917794,917795,917796,917797,917798,917799,917800,917801,917802,917803,917804,917805,917806,917807,917808,917809,917810,917811,917812,917813,917814,917815,917816,917817,917818,917819,917820,917821,917822,917823,917824,917825,917826,917827,917828,917829,917830,917831,917832,917833,917834,917835,917836,917837,917838,917839,917840,917841,917842,917843,917844,917845,917846,917847,917848,917849,917850,917851,917852,917853,917854,917855,917856,917857,917858,917859,917860,917861,917862,917863,917864,917865,917866,917867,917868,917869,917870,917871,917872,917873,917874,917875,917876,917877,917878,917879,917880,917881,917882,917883,917884,917885,917886,917887,917888,917889,917890,917891,917892,917893,917894,917895,917896,917897,917898,917899,917900,917901,917902,917903,917904,917905,917906,917907,917908,917909,917910,917911,917912,917913,917914,917915,917916,917917,917918,917919,917920,917921,917922,917923,917924,917925,917926,917927,917928,917929,917930,917931,917932,917933,917934,917935,917936,917937,917938,917939,917940,917941,917942,917943,917944,917945,917946,917947,917948,917949,917950,917951,917952,917953,917954,917955,917956,917957,917958,917959,917960,917961,917962,917963,917964,917965,917966,917967,917968,917969,917970,917971,917972,917973,917974,917975,917976,917977,917978,917979,917980,917981,917982,917983,917984,917985,917986,917987,917988,917989,917990,917991,917992,917993,917994,917995,917996,917997,917998,917999],"cs":[173,8203,12288],"de":[173,8203,12288],"es":[8203,12288],"fr":[173,8203,12288],"it":[160,173,12288],"ja":[173],"ko":[173,12288],"pl":[173,8203,12288],"pt-BR":[173,8203,12288],"qps-ploc":[160,173,8203,12288],"ru":[173,12288],"tr":[160,173,8203,12288],"zh-hans":[160,173,8203,12288],"zh-hant":[173,12288]}`)}static{this._data=void 0}static getData(){return this._data||=new Set([...Object.values(e.getRawData())].flat()),this._data}static isInvisibleCharacter(t){return e.getData().has(t)}static get codePoints(){return e.getData()}},Sr,Cr=globalThis.vscode;if(Cr!==void 0&&Cr.process!==void 0){let e=Cr.process;Sr={get platform(){return e.platform},get arch(){return e.arch},get env(){return e.env},cwd(){return e.cwd()}}}else Sr=typeof process<`u`&&typeof process?.versions?.node==`string`?{get platform(){return process.platform},get arch(){return process.arch},get env(){return{}},cwd(){return{}.VSCODE_CWD||process.cwd()}}:{get platform(){return Je?`win32`:Ye?`darwin`:`linux`},get arch(){},get env(){return{}},cwd(){return`/`}};var wr=Sr.cwd,Tr=Sr.env,Er=Sr.platform,Dr=65,Or=97,kr=90,Ar=122,jr=46,Mr=47,Nr=92,Pr=58,Vee=63,Fr=class extends Error{constructor(e,t,n){let r;typeof t==`string`&&t.indexOf(`not `)===0?(r=`must not be`,t=t.replace(/^not /,``)):r=`must be`;let i=`The "${e}" ${e.indexOf(`.`)===-1?`argument`:`property`} ${r} of type ${t}`;i+=`. Received type ${typeof n}`,super(i),this.code=`ERR_INVALID_ARG_TYPE`}};function Hee(e,t){if(typeof e!=`object`||!e)throw new Fr(t,`Object`,e)}function Ir(e,t){if(typeof e!=`string`)throw new Fr(t,`string`,e)}var Lr=Er===`win32`;function Rr(e){return e===Mr||e===Nr}function zr(e){return e===Mr}function Br(e){return e>=Dr&&e<=kr||e>=Or&&e<=Ar}function Vr(e,t,n,r){let i=``,a=0,o=-1,s=0,c=0;for(let l=0;l<=e.length;++l){if(l2){let e=i.lastIndexOf(n);e===-1?(i=``,a=0):(i=i.slice(0,e),a=i.length-1-i.lastIndexOf(n)),o=l,s=0;continue}else if(i.length!==0){i=``,a=0,o=l,s=0;continue}}t&&(i+=i.length>0?`${n}..`:`..`,a=2)}else i.length>0?i+=`${n}${e.slice(o+1,l)}`:i=e.slice(o+1,l),a=l-o-1;o=l,s=0}else c===jr&&s!==-1?++s:s=-1}return i}function Uee(e){return e?`${e[0]===`.`?``:`.`}${e}`:``}function Hr(e,t){Hee(t,`pathObject`);let n=t.dir||t.root,r=t.base||`${t.name||``}${Uee(t.ext)}`;return n?n===t.root?`${n}${r}`:`${n}${e}${r}`:r}var Ur={resolve(...e){let t=``,n=``,r=!1;for(let i=e.length-1;i>=-1;i--){let a;if(i>=0){if(a=e[i],Ir(a,`paths[${i}]`),a.length===0)continue}else t.length===0?a=wr():(a=Tr[`=${t}`]||wr(),(a===void 0||a.slice(0,2).toLowerCase()!==t.toLowerCase()&&a.charCodeAt(2)===Nr)&&(a=`${t}\\`));let o=a.length,s=0,c=``,l=!1,u=a.charCodeAt(0);if(o===1)Rr(u)&&(s=1,l=!0);else if(Rr(u))if(l=!0,Rr(a.charCodeAt(1))){let e=2,t=e;for(;e2&&Rr(a.charCodeAt(2))&&(l=!0,s=3));if(c.length>0)if(t.length>0){if(c.toLowerCase()!==t.toLowerCase())continue}else t=c;if(r){if(t.length>0)break}else if(n=`${a.slice(s)}\\${n}`,r=l,l&&t.length>0)break}return n=Vr(n,!r,`\\`,Rr),r?`${t}\\${n}`:`${t}${n}`||`.`},normalize(e){Ir(e,`path`);let t=e.length;if(t===0)return`.`;let n=0,r,i=!1,a=e.charCodeAt(0);if(t===1)return zr(a)?`\\`:e;if(Rr(a))if(i=!0,Rr(e.charCodeAt(1))){let i=2,a=i;for(;i2&&Rr(e.charCodeAt(2))&&(i=!0,n=3));let o=n0&&Rr(e.charCodeAt(t-1))&&(o+=`\\`),!i&&r===void 0&&e.includes(`:`)){if(o.length>=2&&Br(o.charCodeAt(0))&&o.charCodeAt(1)===Pr)return`.\\${o}`;let n=e.indexOf(`:`);do if(n===t-1||Rr(e.charCodeAt(n+1)))return`.\\${o}`;while((n=e.indexOf(`:`,n+1))!==-1)}return r===void 0?i?`\\${o}`:o:i?`${r}\\${o}`:`${r}${o}`},isAbsolute(e){Ir(e,`path`);let t=e.length;if(t===0)return!1;let n=e.charCodeAt(0);return Rr(n)||t>2&&Br(n)&&e.charCodeAt(1)===Pr&&Rr(e.charCodeAt(2))},join(...e){if(e.length===0)return`.`;let t,n;for(let r=0;r0&&(t===void 0?t=n=i:t+=`\\${i}`)}if(t===void 0)return`.`;let r=!0,i=0;if(typeof n==`string`&&Rr(n.charCodeAt(0))){++i;let e=n.length;e>1&&Rr(n.charCodeAt(1))&&(++i,e>2&&(Rr(n.charCodeAt(2))?++i:r=!1))}if(r){for(;i=2&&(t=`\\${t.slice(i)}`)}return Ur.normalize(t)},relative(e,t){if(Ir(e,`from`),Ir(t,`to`),e===t)return``;let n=Ur.resolve(e),r=Ur.resolve(t);if(n===r||(e=n.toLowerCase(),t=r.toLowerCase(),e===t))return``;if(n.length!==e.length||r.length!==t.length){let e=n.split(`\\`),t=r.split(`\\`);e[e.length-1]===``&&e.pop(),t[t.length-1]===``&&t.pop();let i=e.length,a=t.length,o=io?t.slice(s).join(`\\`):i>o?`..\\`.repeat(i-1-s)+`..`:``:`..\\`.repeat(i-s)+t.slice(s).join(`\\`)}let i=0;for(;ii&&e.charCodeAt(a-1)===Nr;)a--;let o=a-i,s=0;for(;ss&&t.charCodeAt(c-1)===Nr;)c--;let l=c-s,u=ou){if(t.charCodeAt(s+f)===Nr)return r.slice(s+f+1);if(f===2)return r.slice(s+f)}o>u&&(e.charCodeAt(i+f)===Nr?d=f:f===2&&(d=3)),d===-1&&(d=0)}let p=``;for(f=i+d+1;f<=a;++f)(f===a||e.charCodeAt(f)===Nr)&&(p+=p.length===0?`..`:`\\..`);return s+=d,p.length>0?`${p}${r.slice(s,c)}`:(r.charCodeAt(s)===Nr&&++s,r.slice(s,c))},toNamespacedPath(e){if(typeof e!=`string`||e.length===0)return e;let t=Ur.resolve(e);if(t.length<=2)return e;if(t.charCodeAt(0)===Nr){if(t.charCodeAt(1)===Nr){let e=t.charCodeAt(2);if(e!==Vee&&e!==jr)return`\\\\?\\UNC\\${t.slice(2)}`}}else if(Br(t.charCodeAt(0))&&t.charCodeAt(1)===Pr&&t.charCodeAt(2)===Nr)return`\\\\?\\${t}`;return t},dirname(e){Ir(e,`path`);let t=e.length;if(t===0)return`.`;let n=-1,r=0,i=e.charCodeAt(0);if(t===1)return Rr(i)?e:`.`;if(Rr(i)){if(n=r=1,Rr(e.charCodeAt(1))){let i=2,a=i;for(;i2&&Rr(e.charCodeAt(2))?3:2,r=n);let a=-1,o=!0;for(let n=t-1;n>=r;--n)if(Rr(e.charCodeAt(n))){if(!o){a=n;break}}else o=!1;if(a===-1){if(n===-1)return`.`;a=n}return e.slice(0,a)},basename(e,t){t!==void 0&&Ir(t,`suffix`),Ir(e,`path`);let n=0,r=-1,i=!0,a;if(e.length>=2&&Br(e.charCodeAt(0))&&e.charCodeAt(1)===Pr&&(n=2),t!==void 0&&t.length>0&&t.length<=e.length){if(t===e)return``;let o=t.length-1,s=-1;for(a=e.length-1;a>=n;--a){let c=e.charCodeAt(a);if(Rr(c)){if(!i){n=a+1;break}}else s===-1&&(i=!1,s=a+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(r=a):(o=-1,r=s))}return n===r?r=s:r===-1&&(r=e.length),e.slice(n,r)}for(a=e.length-1;a>=n;--a)if(Rr(e.charCodeAt(a))){if(!i){n=a+1;break}}else r===-1&&(i=!1,r=a+1);return r===-1?``:e.slice(n,r)},extname(e){Ir(e,`path`);let t=0,n=-1,r=0,i=-1,a=!0,o=0;e.length>=2&&e.charCodeAt(1)===Pr&&Br(e.charCodeAt(0))&&(t=r=2);for(let s=e.length-1;s>=t;--s){let t=e.charCodeAt(s);if(Rr(t)){if(!a){r=s+1;break}continue}i===-1&&(a=!1,i=s+1),t===jr?n===-1?n=s:o!==1&&(o=1):n!==-1&&(o=-1)}return n===-1||i===-1||o===0||o===1&&n===i-1&&n===r+1?``:e.slice(n,i)},format:Hr.bind(null,`\\`),parse(e){Ir(e,`path`);let t={root:``,dir:``,base:``,ext:``,name:``};if(e.length===0)return t;let n=e.length,r=0,i=e.charCodeAt(0);if(n===1)return Rr(i)?(t.root=t.dir=e,t):(t.base=t.name=e,t);if(Rr(i)){if(r=1,Rr(e.charCodeAt(1))){let t=2,i=t;for(;t0&&(t.root=e.slice(0,r));let a=-1,o=r,s=-1,c=!0,l=e.length-1,u=0;for(;l>=r;--l){if(i=e.charCodeAt(l),Rr(i)){if(!c){o=l+1;break}continue}s===-1&&(c=!1,s=l+1),i===jr?a===-1?a=l:u!==1&&(u=1):a!==-1&&(u=-1)}return s!==-1&&(a===-1||u===0||u===1&&a===s-1&&a===o+1?t.base=t.name=e.slice(o,s):(t.name=e.slice(o,a),t.base=e.slice(o,s),t.ext=e.slice(a,s))),o>0&&o!==r?t.dir=e.slice(0,o-1):t.dir=t.root,t},sep:`\\`,delimiter:`;`,win32:null,posix:null},Wee=(()=>{if(Lr){let e=/\\/g;return()=>{let t=wr().replace(e,`/`);return t.slice(t.indexOf(`/`))}}return()=>wr()})(),Wr={resolve(...e){let t=``,n=!1;for(let r=e.length-1;r>=0&&!n;r--){let i=e[r];Ir(i,`paths[${r}]`),i.length!==0&&(t=`${i}/${t}`,n=i.charCodeAt(0)===Mr)}if(!n){let e=Wee();t=`${e}/${t}`,n=e.charCodeAt(0)===Mr}return t=Vr(t,!n,`/`,zr),n?`/${t}`:t.length>0?t:`.`},normalize(e){if(Ir(e,`path`),e.length===0)return`.`;let t=e.charCodeAt(0)===Mr,n=e.charCodeAt(e.length-1)===Mr;return e=Vr(e,!t,`/`,zr),e.length===0?t?`/`:n?`./`:`.`:(n&&(e+=`/`),t?`/${e}`:e)},isAbsolute(e){return Ir(e,`path`),e.length>0&&e.charCodeAt(0)===Mr},join(...e){if(e.length===0)return`.`;let t=[];for(let n=0;n0&&t.push(r)}return t.length===0?`.`:Wr.normalize(t.join(`/`))},relative(e,t){if(Ir(e,`from`),Ir(t,`to`),e===t||(e=Wr.resolve(e),t=Wr.resolve(t),e===t))return``;let n=e.length,r=n-1,i=t.length-1,a=ra){if(t.charCodeAt(1+s)===Mr)return t.slice(1+s+1);if(s===0)return t.slice(1+s)}else r>a&&(e.charCodeAt(1+s)===Mr?o=s:s===0&&(o=0));let c=``;for(s=1+o+1;s<=n;++s)(s===n||e.charCodeAt(s)===Mr)&&(c+=c.length===0?`..`:`/..`);return`${c}${t.slice(1+o)}`},toNamespacedPath(e){return e},dirname(e){if(Ir(e,`path`),e.length===0)return`.`;let t=e.charCodeAt(0)===Mr,n=-1,r=!0;for(let t=e.length-1;t>=1;--t)if(e.charCodeAt(t)===Mr){if(!r){n=t;break}}else r=!1;return n===-1?t?`/`:`.`:t&&n===1?`//`:e.slice(0,n)},basename(e,t){t!==void 0&&Ir(t,`suffix`),Ir(e,`path`);let n=0,r=-1,i=!0,a;if(t!==void 0&&t.length>0&&t.length<=e.length){if(t===e)return``;let o=t.length-1,s=-1;for(a=e.length-1;a>=0;--a){let c=e.charCodeAt(a);if(c===Mr){if(!i){n=a+1;break}}else s===-1&&(i=!1,s=a+1),o>=0&&(c===t.charCodeAt(o)?--o===-1&&(r=a):(o=-1,r=s))}return n===r?r=s:r===-1&&(r=e.length),e.slice(n,r)}for(a=e.length-1;a>=0;--a)if(e.charCodeAt(a)===Mr){if(!i){n=a+1;break}}else r===-1&&(i=!1,r=a+1);return r===-1?``:e.slice(n,r)},extname(e){Ir(e,`path`);let t=-1,n=0,r=-1,i=!0,a=0;for(let o=e.length-1;o>=0;--o){let s=e[o];if(s===`/`){if(!i){n=o+1;break}continue}r===-1&&(i=!1,r=o+1),s===`.`?t===-1?t=o:a!==1&&(a=1):t!==-1&&(a=-1)}return t===-1||r===-1||a===0||a===1&&t===r-1&&t===n+1?``:e.slice(t,r)},format:Hr.bind(null,`/`),parse(e){Ir(e,`path`);let t={root:``,dir:``,base:``,ext:``,name:``};if(e.length===0)return t;let n=e.charCodeAt(0)===Mr,r;n?(t.root=`/`,r=1):r=0;let i=-1,a=0,o=-1,s=!0,c=e.length-1,l=0;for(;c>=r;--c){let t=e.charCodeAt(c);if(t===Mr){if(!s){a=c+1;break}continue}o===-1&&(s=!1,o=c+1),t===jr?i===-1?i=c:l!==1&&(l=1):i!==-1&&(l=-1)}if(o!==-1){let r=a===0&&n?1:a;i===-1||l===0||l===1&&i===o-1&&i===a+1?t.base=t.name=e.slice(r,o):(t.name=e.slice(r,i),t.base=e.slice(r,o),t.ext=e.slice(i,o))}return a>0?t.dir=e.slice(0,a-1):n&&(t.dir=`/`),t},sep:`/`,delimiter:`:`,win32:null,posix:null};Wr.win32=Ur.win32=Ur,Wr.posix=Ur.posix=Wr;var Gr=Lr?Ur.normalize:Wr.normalize,Gee=Lr?Ur.resolve:Wr.resolve,Kee=Lr?Ur.relative:Wr.relative,Kr=Lr?Ur.dirname:Wr.dirname,qr=Lr?Ur.basename:Wr.basename,qee=Lr?Ur.extname:Wr.extname,Jr=Lr?Ur.sep:Wr.sep,Jee=/^\w[\w\d+.-]*$/,Yee=/^\//,Xee=/^\/\//;function Zee(e,t){if(!e.scheme&&t)throw Error(`[UriError]: Scheme is missing: {scheme: "", authority: "${e.authority}", path: "${e.path}", query: "${e.query}", fragment: "${e.fragment}"}`);if(e.scheme&&!Jee.test(e.scheme))throw Error(`[UriError]: Scheme contains illegal characters.`);if(e.path){if(e.authority){if(!Yee.test(e.path))throw Error(`[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character`)}else if(Xee.test(e.path))throw Error(`[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")`)}}function Qee(e,t){return!e&&!t?`file`:e}function $ee(e,t){switch(e){case`https`:case`http`:case`file`:t?t[0]!==Xr&&(t=Xr+t):t=Xr;break}return t}var Yr=``,Xr=`/`,ete=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/,Zr=class e{static isUri(t){return t instanceof e?!0:!t||typeof t!=`object`?!1:typeof t.authority==`string`&&typeof t.fragment==`string`&&typeof t.path==`string`&&typeof t.query==`string`&&typeof t.scheme==`string`&&typeof t.fsPath==`string`&&typeof t.with==`function`&&typeof t.toString==`function`}constructor(e,t,n,r,i,a=!1){typeof e==`object`?(this.scheme=e.scheme||Yr,this.authority=e.authority||Yr,this.path=e.path||Yr,this.query=e.query||Yr,this.fragment=e.fragment||Yr):(this.scheme=Qee(e,a),this.authority=t||Yr,this.path=$ee(this.scheme,n||Yr),this.query=r||Yr,this.fragment=i||Yr,Zee(this,a))}get fsPath(){return ni(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:n,path:r,query:i,fragment:a}=e;return t===void 0?t=this.scheme:t===null&&(t=Yr),n===void 0?n=this.authority:n===null&&(n=Yr),r===void 0?r=this.path:r===null&&(r=Yr),i===void 0?i=this.query:i===null&&(i=Yr),a===void 0?a=this.fragment:a===null&&(a=Yr),t===this.scheme&&n===this.authority&&r===this.path&&i===this.query&&a===this.fragment?this:new $r(t,n,r,i,a)}static parse(e,t=!1){let n=ete.exec(e);return n?new $r(n[2]||Yr,oi(n[4]||Yr),oi(n[5]||Yr),oi(n[7]||Yr),oi(n[9]||Yr),t):new $r(Yr,Yr,Yr,Yr,Yr)}static file(e){let t=Yr;if(Je&&(e=e.replace(/\\/g,Xr)),e[0]===Xr&&e[1]===Xr){let n=e.indexOf(Xr,2);n===-1?(t=e.substring(2),e=Xr):(t=e.substring(2,n),e=e.substring(n)||Xr)}return new $r(`file`,t,e,Yr,Yr)}static from(e,t){return new $r(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(t,...n){if(!t.path)throw Error(`[UriError]: cannot call joinPath on URI without path`);let r;return r=Je&&t.scheme===`file`?e.file(Ur.join(ni(t,!0),...n)).path:Wr.join(t.path,...n),t.with({path:r})}toString(e=!1){return ri(this,e)}toJSON(){return this}static revive(t){if(!t||t instanceof e)return t;{let e=new $r(t);return e._formatted=t.external??null,e._fsPath=t._sep===Qr?t.fsPath??null:null,e}}},Qr=Je?1:void 0,$r=class extends Zr{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||=ni(this,!1),this._fsPath}toString(e=!1){return e?ri(this,!0):(this._formatted||=ri(this,!1),this._formatted)}toJSON(){let e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=Qr),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}},ei={58:`%3A`,47:`%2F`,63:`%3F`,35:`%23`,91:`%5B`,93:`%5D`,64:`%40`,33:`%21`,36:`%24`,38:`%26`,39:`%27`,40:`%28`,41:`%29`,42:`%2A`,43:`%2B`,44:`%2C`,59:`%3B`,61:`%3D`,32:`%20`};function ti(e,t,n){let r,i=-1;for(let a=0;a=97&&o<=122||o>=65&&o<=90||o>=48&&o<=57||o===45||o===46||o===95||o===126||t&&o===47||n&&o===91||n&&o===93||n&&o===58)i!==-1&&(r+=encodeURIComponent(e.substring(i,a)),i=-1),r!==void 0&&(r+=e.charAt(a));else{r===void 0&&(r=e.substr(0,a));let t=ei[o];t===void 0?i===-1&&(i=a):(i!==-1&&(r+=encodeURIComponent(e.substring(i,a)),i=-1),r+=t)}}return i!==-1&&(r+=encodeURIComponent(e.substring(i))),r===void 0?e:r}function tte(e){let t;for(let n=0;n1&&e.scheme===`file`?`//${e.authority}${e.path}`:e.path.charCodeAt(0)===47&&(e.path.charCodeAt(1)>=65&&e.path.charCodeAt(1)<=90||e.path.charCodeAt(1)>=97&&e.path.charCodeAt(1)<=122)&&e.path.charCodeAt(2)===58?t?e.path.substr(1):e.path[1].toLowerCase()+e.path.substr(2):e.path,Je&&(n=n.replace(/\//g,`\\`)),n}function ri(e,t){let n=t?tte:ti,r=``,{scheme:i,authority:a,path:o,query:s,fragment:c}=e;if(i&&(r+=i,r+=`:`),(a||i===`file`)&&(r+=Xr,r+=Xr),a){let e=a.indexOf(`@`);if(e!==-1){let t=a.substr(0,e);a=a.substr(e+1),e=t.lastIndexOf(`:`),e===-1?r+=n(t,!1,!1):(r+=n(t.substr(0,e),!1,!1),r+=`:`,r+=n(t.substr(e+1),!1,!0)),r+=`@`}a=a.toLowerCase(),e=a.lastIndexOf(`:`),e===-1?r+=n(a,!1,!0):(r+=n(a.substr(0,e),!1,!0),r+=a.substr(e))}if(o){if(o.length>=3&&o.charCodeAt(0)===47&&o.charCodeAt(2)===58){let e=o.charCodeAt(1);e>=65&&e<=90&&(o=`/${String.fromCharCode(e+32)}:${o.substr(3)}`)}else if(o.length>=2&&o.charCodeAt(1)===58){let e=o.charCodeAt(0);e>=65&&e<=90&&(o=`${String.fromCharCode(e+32)}:${o.substr(2)}`)}r+=n(o,!0,!1)}return s&&(r+=`?`,r+=n(s,!1,!1)),c&&(r+=`#`,r+=t?c:ti(c,!1,!1)),r}function ii(e){try{return decodeURIComponent(e)}catch{return e.length>3?e.substr(0,3)+ii(e.substr(3)):e}}var ai=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function oi(e){return e.match(ai)?e.replace(ai,e=>ii(e)):e}var si;(function(e){e.inMemory=`inmemory`,e.vscode=`vscode`,e.internal=`private`,e.walkThrough=`walkThrough`,e.walkThroughSnippet=`walkThroughSnippet`,e.http=`http`,e.https=`https`,e.file=`file`,e.mailto=`mailto`,e.untitled=`untitled`,e.data=`data`,e.command=`command`,e.vscodeRemote=`vscode-remote`,e.vscodeRemoteResource=`vscode-remote-resource`,e.vscodeManagedRemoteResource=`vscode-managed-remote-resource`,e.vscodeUserData=`vscode-userdata`,e.vscodeCustomEditor=`vscode-custom-editor`,e.vscodeNotebookCell=`vscode-notebook-cell`,e.vscodeNotebookCellMetadata=`vscode-notebook-cell-metadata`,e.vscodeNotebookCellMetadataDiff=`vscode-notebook-cell-metadata-diff`,e.vscodeNotebookCellOutput=`vscode-notebook-cell-output`,e.vscodeNotebookCellOutputDiff=`vscode-notebook-cell-output-diff`,e.vscodeNotebookMetadata=`vscode-notebook-metadata`,e.vscodeInteractiveInput=`vscode-interactive-input`,e.vscodeSettings=`vscode-settings`,e.vscodeWorkspaceTrust=`vscode-workspace-trust`,e.vscodeTerminal=`vscode-terminal`,e.vscodeChatCodeBlock=`vscode-chat-code-block`,e.vscodeChatCodeCompareBlock=`vscode-chat-code-compare-block`,e.vscodeChatEditor=`vscode-chat-editor`,e.vscodeChatInput=`chatSessionInput`,e.vscodeLocalChatSession=`vscode-chat-session`,e.webviewPanel=`webview-panel`,e.vscodeWebview=`vscode-webview`,e.extension=`extension`,e.vscodeFileResource=`vscode-file`,e.tmp=`tmp`,e.vsls=`vsls`,e.vscodeSourceControl=`vscode-scm`,e.commentsInput=`comment`,e.codeSetting=`code-setting`,e.outputChannel=`output`,e.accessibleView=`accessible-view`,e.chatEditingSnapshotScheme=`chat-editing-snapshot-text-model`,e.chatEditingModel=`chat-editing-text-model`,e.copilotPr=`copilot-pr`})(si||={});function ci(e,t){return Zr.isUri(e)?qn(e.scheme,t):Jn(e,t+`:`)}function li(e,...t){return t.some(t=>ci(e,t))}var ui=new class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema=`http`,this._delegate=null,this._serverRootPath=`/`}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return Wr.join(this._serverRootPath,si.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(t){return C(t),e}let t=e.authority,n=this._hosts[t];n&&n.indexOf(`:`)!==-1&&n.indexOf(`[`)===-1&&(n=`[${n}]`);let r=this._ports[t],i=this._connectionTokens[t],a=`path=${encodeURIComponent(e.path)}`;return typeof i==`string`&&(a+=`&tkn=${encodeURIComponent(i)}`),Zr.from({scheme:Qe?this._preferredWebSchema:si.vscodeRemoteResource,authority:`${n}:${r}`,path:this._remoteResourcesPath,query:a})}},di=`vscode-app`,fi=new class e{static{this.FALLBACK_AUTHORITY=di}uriToBrowserUri(t){return t.scheme===si.vscodeRemote?ui.rewrite(t):t.scheme===si.file&&(Ze||$e===`${si.vscodeFileResource}://${e.FALLBACK_AUTHORITY}`)?t.with({scheme:si.vscodeFileResource,authority:t.authority||e.FALLBACK_AUTHORITY,query:null,fragment:null}):t}},pi;(function(e){let t=new Map([[`1`,{"Cross-Origin-Opener-Policy":`same-origin`}],[`2`,{"Cross-Origin-Embedder-Policy":`require-corp`}],[`3`,{"Cross-Origin-Opener-Policy":`same-origin`,"Cross-Origin-Embedder-Policy":`require-corp`}]]);e.CoopAndCoep=Object.freeze(t.get(`3`));let n=`vscode-coi`;function r(e){let r;typeof e==`string`?r=new URL(e).searchParams:e instanceof URL?r=e.searchParams:Zr.isUri(e)&&(r=new URL(e.toString(!0)).searchParams);let i=r?.get(n);if(i)return t.get(i)}e.getHeadersFromQuery=r;function i(e,t,r){if(!globalThis.crossOriginIsolated)return;let i=t&&r?`3`:r?`2`:`1`;e instanceof URLSearchParams?e.set(n,i):e[n]=i}e.addSearchParam=i})(pi||={});var mi=typeof Buffer<`u`;new Dn(()=>new Uint8Array(256));var hi,gi=class e{static wrap(t){return mi&&!Buffer.isBuffer(t)&&(t=Buffer.from(t.buffer,t.byteOffset,t.byteLength)),new e(t)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return mi?this.buffer.toString():(hi||=new TextDecoder,hi.decode(this.buffer))}};function nte(e,t){return e[t+0]<<0>>>0|e[t+1]<<8>>>0}function rte(e,t,n){e[n+0]=t&255,t>>>=8,e[n+1]=t&255}function _i(e,t){return e[t]*2**24+e[t+1]*2**16+e[t+2]*2**8+e[t+3]}function vi(e,t,n){e[n+3]=t,t>>>=8,e[n+2]=t,t>>>=8,e[n+1]=t,t>>>=8,e[n]=t}function yi(e,t){return e[t]}function bi(e,t,n){e[n]=t}var xi=`0123456789abcdef`;function ite({buffer:e}){let t=``;for(let n=0;n>>4],t+=xi[r&15]}return t}function Si(e){return Ci(e,0)}function Ci(e,t){switch(typeof e){case`object`:return e===null?wi(349,t):Array.isArray(e)?ote(e,t):ste(e,t);case`string`:return Ti(e,t);case`boolean`:return ate(e,t);case`number`:return wi(e,t);case`undefined`:return wi(937,t);default:return wi(617,t)}}function wi(e,t){return(t<<5)-t+e|0}function ate(e,t){return wi(e?433:863,t)}function Ti(e,t){t=wi(149417,t);for(let n=0,r=e.length;nCi(t,e),t)}function ste(e,t){return t=wi(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=Ti(n,t),Ci(e[n],t)),t)}function Ei(e,t,n=32){let r=n-t,i=~((1<>>r)>>>0}function Di(e,t=32){return e instanceof ArrayBuffer?ite(gi.wrap(new Uint8Array(e))):(e>>>0).toString(16).padStart(t/4,`0`)}var cte=class e{static{this._bigBlock32=new DataView(new ArrayBuffer(320))}constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){let t=e.length;if(t===0)return;let n=this._buff,r=this._buffLen,i=this._leftoverHighSurrogate,a,o;for(i===0?(a=e.charCodeAt(0),o=0):(a=i,o=-1,i=0);;){let s=a;if(Zn(a))if(o+1>>6,e[t++]=128|(n&63)>>>0):n<65536?(e[t++]=224|(n&61440)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0):(e[t++]=240|(n&1835008)>>>18,e[t++]=128|(n&258048)>>>12,e[t++]=128|(n&4032)>>>6,e[t++]=128|(n&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),Di(this._h0)+Di(this._h1)+Di(this._h2)+Di(this._h3)+Di(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,this._buff.subarray(this._buffLen).fill(0),this._buffLen>56&&(this._step(),this._buff.fill(0));let e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){let t=e._bigBlock32,n=this._buffDV;for(let e=0;e<64;e+=4)t.setUint32(e,n.getUint32(e,!1),!1);for(let e=64;e<320;e+=4)t.setUint32(e,Ei(t.getUint32(e-12,!1)^t.getUint32(e-32,!1)^t.getUint32(e-56,!1)^t.getUint32(e-64,!1),1),!1);let r=this._h0,i=this._h1,a=this._h2,o=this._h3,s=this._h4,c,l,u;for(let e=0;e<80;e++)e<20?(c=i&a|~i&o,l=1518500249):e<40?(c=i^a^o,l=1859775393):e<60?(c=i&a|i&o|a&o,l=2400959708):(c=i^a^o,l=3395469782),u=Ei(r,5)+c+s+l+t.getUint32(e*4,!1)&4294967295,s=o,o=a,a=Ei(i,30),i=r,r=u;this._h0=this._h0+r&4294967295,this._h1=this._h1+i&4294967295,this._h2=this._h2+a&4294967295,this._h3=this._h3+o&4294967295,this._h4=this._h4+s&4294967295}};function lte(e){if(e.length===0)throw Error(`Invalid tail call`);return[e.slice(0,e.length-1),e[e.length-1]]}function Oi(e,t,n=(e,t)=>e===t){if(e===t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let r=0,i=e.length;rn(e[r],t))}function ji(e,t){let n=0,r=e-1;for(;n<=r;){let e=(n+r)/2|0,i=t(e);if(i<0)n=e+1;else if(i>0)r=e-1;else return e}return-(n+1)}function Mi(e,t,n){if(e|=0,e>=t.length)throw TypeError(`invalid index`);let r=t[Math.floor(t.length*Math.random())],i=[],a=[],o=[];for(let e of t){let t=n(e,r);t<0?i.push(e):t>0?a.push(e):o.push(e)}return e!!e)}function Li(e){let t=0;for(let n=0;n0}function Bi(e,t=e=>e){let n=new Set;return e.filter(e=>{let r=t(e);return n.has(r)?!1:(n.add(r),!0)})}function Vi(e,t){let n=typeof t==`number`?e:0;typeof t==`number`?n=e:(n=0,t=e);let r=[];if(n<=t)for(let e=n;et;e--)r.push(e);return r}function Hi(e,t,n){let r=e.slice(0,t),i=e.slice(t);return r.concat(n,i)}function Ui(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.unshift(t))}function Wi(e,t){let n=e.indexOf(t);n>-1&&(e.splice(n,1),e.push(t))}function Gi(e,t){for(let n of t)e.push(n)}function dte(e,t){let n=[];for(let r of e){let e=t(r);e!==void 0&&n.push(e)}return n}function Ki(e){return Array.isArray(e)?e:[e]}function fte(e,t,n){let r=Ji(e,t),i=e.length,a=n.length;e.length=i+a;for(let t=i-1;t>=r;t--)e[t+a]=e[t];for(let t=0;t0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Yi||={});function Xi(e,t){return(n,r)=>t(e(n),e(r))}function pte(...e){return(t,n)=>{for(let r of e){let e=r(t,n);if(!Yi.isNeitherLessOrGreaterThan(e))return e}return Yi.neitherLessOrGreaterThan}}var Zi=(e,t)=>e-t,Qi=(e,t)=>Zi(+!!e,+!!t);function $i(e){return(t,n)=>-e(t,n)}function mte(e){return(t,n)=>t===void 0?n===void 0?Yi.neitherLessOrGreaterThan:Yi.lessThan:n===void 0?Yi.greaterThan:e(t,n)}var ea=class{constructor(e){this.firstIdx=0,this.items=e,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;let n=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,n}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){let e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){let t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}},ta=class e{static{this.empty=new e(e=>{})}constructor(e){this.iterate=e}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>t(n)?e(n):!0))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||Yi.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}},hte=class e{constructor(e){this._indexMap=e}static createSortPermutation(t,n){return new e(Array.from(t.keys()).sort((e,r)=>n(t[e],t[r])))}apply(e){return e.map((t,n)=>e[this._indexMap[n]])}inverse(){let t=this._indexMap.slice();for(let e=0;ee+t,0)}var ra;function gte(e){ra?ra instanceof aa?ra.loggers.push(e):ra=new aa([ra,e]):ra=e}function ia(){return ra}var aa=class{constructor(e){this.loggers=e}handleObservableCreated(e,t){for(let n of this.loggers)n.handleObservableCreated(e,t)}handleOnListenerCountChanged(e,t){for(let n of this.loggers)n.handleOnListenerCountChanged(e,t)}handleObservableUpdated(e,t){for(let n of this.loggers)n.handleObservableUpdated(e,t)}handleAutorunCreated(e,t){for(let n of this.loggers)n.handleAutorunCreated(e,t)}handleAutorunDisposed(e){for(let t of this.loggers)t.handleAutorunDisposed(e)}handleAutorunDependencyChanged(e,t,n){for(let r of this.loggers)r.handleAutorunDependencyChanged(e,t,n)}handleAutorunStarted(e){for(let t of this.loggers)t.handleAutorunStarted(e)}handleAutorunFinished(e){for(let t of this.loggers)t.handleAutorunFinished(e)}handleDerivedDependencyChanged(e,t,n){for(let r of this.loggers)r.handleDerivedDependencyChanged(e,t,n)}handleDerivedCleared(e){for(let t of this.loggers)t.handleDerivedCleared(e)}handleBeginTransaction(e){for(let t of this.loggers)t.handleBeginTransaction(e)}handleEndTransaction(e){for(let t of this.loggers)t.handleEndTransaction(e)}},oa;(function(e){let t=!1;function n(){t=!0}e.enable=n;function r(){if(!t)return;let e=Error,n=e.stackTraceLimit;e.stackTraceLimit=3;let r=Error().stack;return e.stackTraceLimit=n,_te.fromStack(r,2)}e.ofCaller=r})(oa||={});var _te=class e{static fromStack(t,n){let r=vte(t.split(` -`)[n+1]);if(r)return new e(r.fileName,r.line,r.column,r.id)}constructor(e,t,n,r){this.fileName=e,this.line=t,this.column=n,this.id=r}};function vte(e){let t=e.match(/\((.*):(\d+):(\d+)\)/);if(t)return{fileName:t[1],line:parseInt(t[2]),column:parseInt(t[3]),id:e};let n=e.match(/at ([^\(\)]*):(\d+):(\d+)/);if(n)return{fileName:n[1],line:parseInt(n[2]),column:parseInt(n[3]),id:e}}var sa=(e,t)=>e===t;function ca(e=sa){return(t,n)=>Oi(t,n,e)}function la(){return(e,t)=>e.equals(t)}function ua(e,t,n){if(n!==void 0){let r=e;return r==null||t==null?t===r:n(r,t)}else{let t=e;return(e,n)=>e==null||n==null?n===e:t(e,n)}}function da(e,t){if(e===t)return!0;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let n=0;n{let e=ya(i);if(e!==void 0)return e;let t=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(i.toString());if(t)return`${this.debugName}.${t[2]}`;if(!r)return`${this.debugName} (mapped)`},debugReferenceFn:i},e=>i(this.read(e),e),n)}flatten(){return ba({owner:void 0,debugName:()=>`${this.debugName} (flattened)`},e=>this.read(e).read(e))}recomputeInitiallyAndOnChange(e,t){return e.add(Sa(this,t)),this}},wa=class extends Ca{constructor(e){super(),this._observers=new Set,ia()?.handleObservableCreated(this,e)}addObserver(e){let t=this._observers.size;this._observers.add(e),t===0&&this.onFirstObserverAdded(),t!==this._observers.size&&ia()?.handleOnListenerCountChanged(this,this._observers.size)}removeObserver(e){let t=this._observers.delete(e);t&&this._observers.size===0&&this.onLastObserverRemoved(),t&&ia()?.handleOnListenerCountChanged(this,this._observers.size)}onFirstObserverAdded(){}onLastObserverRemoved(){}debugGetObservers(){return this._observers}};function Cte(e){switch(e){case 0:return`initial`;case 1:return`dependenciesMightHaveChanged`;case 2:return`stale`;case 3:return`upToDate`;default:return``}}var Ta=class extends wa{get debugName(){return this._debugNameData.getDebugName(this)??`(anonymous)`}constructor(e,t,n,r=void 0,i,a){super(a),this._debugNameData=e,this._computeFn=t,this._changeTracker=n,this._handleLastObserverRemoved=r,this._equalityComparator=i,this._state=0,this._value=void 0,this._updateCount=0,this._dependencies=new Set,this._dependenciesToBeRemoved=new Set,this._changeSummary=void 0,this._isUpdating=!1,this._isComputing=!1,this._didReportChange=!1,this._isInBeforeUpdate=!1,this._isReaderValid=!1,this._store=void 0,this._delayedStore=void 0,this._removedObserverToCallEndUpdateOn=null,this._changeSummary=this._changeTracker?.createChangeSummary(void 0)}onLastObserverRemoved(){this._state=0,this._value=void 0,ia()?.handleDerivedCleared(this);for(let e of this._dependencies)e.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._delayedStore!==void 0&&(this._delayedStore.dispose(),this._delayedStore=void 0),this._handleLastObserverRemoved?.()}get(){if(this._isComputing,this._observers.size===0){let e;try{this._isReaderValid=!0;let t;this._changeTracker&&(t=this._changeTracker.createChangeSummary(void 0),this._changeTracker.beforeUpdate?.(this,t)),e=this._computeFn(this,t)}finally{this._isReaderValid=!1}return this.onLastObserverRemoved(),e}else{do{if(this._state===1){for(let e of this._dependencies)if(e.reportChanges(),this._state===2)break}this._state===1&&(this._state=3),this._state!==3&&this._recompute()}while(this._state!==3);return this._value}}_recompute(){let e=!1;this._isComputing=!0,this._didReportChange=!1;let t=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=t;try{let t=this._changeSummary;this._isReaderValid=!0,this._changeTracker&&(this._isInBeforeUpdate=!0,this._changeTracker.beforeUpdate?.(this,t),this._isInBeforeUpdate=!1,this._changeSummary=this._changeTracker?.createChangeSummary(t));let n=this._state!==0,r=this._value;this._state=3;let i=this._delayedStore;i!==void 0&&(this._delayedStore=void 0);try{this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._value=this._computeFn(this,t)}finally{this._isReaderValid=!1;for(let e of this._dependenciesToBeRemoved)e.removeObserver(this);this._dependenciesToBeRemoved.clear(),i!==void 0&&i.dispose()}e=this._didReportChange||n&&!this._equalityComparator(r,this._value),ia()?.handleObservableUpdated(this,{oldValue:r,newValue:this._value,change:void 0,didChange:e,hadValue:n})}catch(e){ne(e)}if(this._isComputing=!1,!this._didReportChange&&e)for(let e of this._observers)e.handleChange(this,void 0);else this._didReportChange=!1}toString(){return`LazyDerived<${this.debugName}>`}beginUpdate(e){if(this._isUpdating)throw new w(`Cyclic deriveds are not supported yet!`);this._updateCount++,this._isUpdating=!0;try{let e=this._updateCount===1;if(this._state===3&&(this._state=1,!e))for(let e of this._observers)e.handlePossibleChange(this);if(e)for(let e of this._observers)e.beginUpdate(this)}finally{this._isUpdating=!1}}endUpdate(e){if(this._updateCount--,this._updateCount===0){let e=[...this._observers];for(let t of e)t.endUpdate(this);if(this._removedObserverToCallEndUpdateOn){let e=[...this._removedObserverToCallEndUpdateOn];this._removedObserverToCallEndUpdateOn=null;for(let t of e)t.endUpdate(this)}}_e(()=>this._updateCount>=0)}handlePossibleChange(e){if(this._state===3&&this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)){this._state=1;for(let e of this._observers)e.handlePossibleChange(this)}}handleChange(e,t){if(this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)||this._isInBeforeUpdate){ia()?.handleDerivedDependencyChanged(this,e,t);let n=!1;try{n=this._changeTracker?this._changeTracker.handleChange({changedObservable:e,change:t,didChange:t=>t===e},this._changeSummary):!0}catch(e){ne(e)}let r=this._state===3;if(n&&(this._state===1||r)&&(this._state=2,r))for(let e of this._observers)e.handlePossibleChange(this)}}_ensureReaderValid(){if(!this._isReaderValid)throw new w(`The reader object cannot be used outside its compute function!`)}readObservable(e){this._ensureReaderValid(),e.addObserver(this);let t=e.get();return this._dependencies.add(e),this._dependenciesToBeRemoved.delete(e),t}get store(){return this._ensureReaderValid(),this._store===void 0&&(this._store=new E),this._store}addObserver(e){let t=!this._observers.has(e)&&this._updateCount>0;super.addObserver(e),t&&(this._removedObserverToCallEndUpdateOn&&this._removedObserverToCallEndUpdateOn.has(e)?this._removedObserverToCallEndUpdateOn.delete(e):e.beginUpdate(this))}removeObserver(e){this._observers.has(e)&&this._updateCount>0&&(this._removedObserverToCallEndUpdateOn||=new Set,this._removedObserverToCallEndUpdateOn.add(e)),super.removeObserver(e)}debugGetState(){return{state:this._state,stateStr:Cte(this._state),updateCount:this._updateCount,isComputing:this._isComputing,dependencies:this._dependencies,value:this._value}}debugSetValue(e){this._value=e}debugRecompute(){this._isComputing?this._state=2:this._recompute()}setValue(e,t,n){this._value=e;let r=this._observers;t.updateObserver(this,this);for(let e of r)e.handleChange(this,n)}},Ea=class extends Ta{constructor(e,t,n,r=void 0,i,a,o){super(e,t,n,r,i,o),this.set=a}};function A(e,t,n=oa.ofCaller()){return t===void 0?new Ta(new fa(void 0,void 0,e),e,void 0,void 0,sa,n):new Ta(new fa(e,void 0,t),t,void 0,void 0,sa,n)}function Da(e,t,n,r=oa.ofCaller()){return new Ea(new fa(e,void 0,t),t,void 0,void 0,sa,n,r)}function Oa(e,t,n=oa.ofCaller()){return new Ta(new fa(e.owner,e.debugName,e.debugReferenceFn),t,void 0,e.onLastObserverRemoved,e.equalsFn??sa,n)}xa(Oa);function ka(e,t,n=oa.ofCaller()){return new Ta(new fa(e.owner,e.debugName,void 0),t,e.changeTracker,void 0,e.equalityComparer??sa,n)}function Aa(e,t,n=oa.ofCaller()){let r,i;t===void 0?(r=e,i=void 0):(i=e,r=t);let a;return new Ta(new fa(i,void 0,r),e=>{a?a.clear():a=new E;let t=r(e);return t&&a.add(t),t},void 0,()=>{a&&=(a.dispose(),void 0)},sa,n)}function wte(e){switch(e){case 1:return`dependenciesMightHaveChanged`;case 2:return`stale`;case 3:return`upToDate`;default:return``}}var ja=class{get debugName(){return this._debugNameData.getDebugName(this)??`(anonymous)`}constructor(e,t,n,r){this._debugNameData=e,this._runFn=t,this._changeTracker=n,this._state=2,this._updateCount=0,this._disposed=!1,this._dependencies=new Set,this._dependenciesToBeRemoved=new Set,this._isRunning=!1,this._store=void 0,this._delayedStore=void 0,this._changeSummary=this._changeTracker?.createChangeSummary(void 0),ia()?.handleAutorunCreated(this,r),this._run()}dispose(){if(!this._disposed){this._disposed=!0;for(let e of this._dependencies)e.removeObserver(this);this._dependencies.clear(),this._store!==void 0&&this._store.dispose(),this._delayedStore!==void 0&&this._delayedStore.dispose(),ia()?.handleAutorunDisposed(this)}}_run(){let e=this._dependenciesToBeRemoved;this._dependenciesToBeRemoved=this._dependencies,this._dependencies=e,this._state=3;try{if(!this._disposed){ia()?.handleAutorunStarted(this);let e=this._changeSummary,t=this._delayedStore;t!==void 0&&(this._delayedStore=void 0);try{this._isRunning=!0,this._changeTracker&&(this._changeTracker.beforeUpdate?.(this,e),this._changeSummary=this._changeTracker.createChangeSummary(e)),this._store!==void 0&&(this._store.dispose(),this._store=void 0),this._runFn(this,e)}catch(e){ne(e)}finally{this._isRunning=!1,t!==void 0&&t.dispose()}}}finally{this._disposed||ia()?.handleAutorunFinished(this);for(let e of this._dependenciesToBeRemoved)e.removeObserver(this);this._dependenciesToBeRemoved.clear()}}toString(){return`Autorun<${this.debugName}>`}beginUpdate(e){this._state===3&&(this._state=1),this._updateCount++}endUpdate(e){try{if(this._updateCount===1)do{if(this._state===1){this._state=3;for(let e of this._dependencies)if(e.reportChanges(),this._state===2)break}this._state!==3&&this._run()}while(this._state!==3)}finally{this._updateCount--}_e(()=>this._updateCount>=0)}handlePossibleChange(e){this._state===3&&this._isDependency(e)&&(this._state=1)}handleChange(e,t){if(this._isDependency(e)){ia()?.handleAutorunDependencyChanged(this,e,t);try{(!this._changeTracker||this._changeTracker.handleChange({changedObservable:e,change:t,didChange:t=>t===e},this._changeSummary))&&(this._state=2)}catch(e){ne(e)}}}_isDependency(e){return this._dependencies.has(e)&&!this._dependenciesToBeRemoved.has(e)}_ensureNoRunning(){if(!this._isRunning)throw new w(`The reader object cannot be used outside its compute function!`)}readObservable(e){if(this._ensureNoRunning(),this._disposed)return e.get();e.addObserver(this);let t=e.get();return this._dependencies.add(e),this._dependenciesToBeRemoved.delete(e),t}get store(){if(this._ensureNoRunning(),this._disposed)throw new w(`Cannot access store after dispose`);return this._store===void 0&&(this._store=new E),this._store}debugGetState(){return{isRunning:this._isRunning,updateCount:this._updateCount,dependencies:this._dependencies,state:this._state,stateStr:wte(this._state)}}debugRerun(){this._isRunning?this._state=2:this._run()}};function Ma(e,t=oa.ofCaller()){return new ja(new fa(void 0,void 0,e),e,void 0,t)}function Na(e,t,n=oa.ofCaller()){return new ja(new fa(e.owner,e.debugName,e.debugReferenceFn??t),t,void 0,n)}function Pa(e,t,n=oa.ofCaller()){return new ja(new fa(e.owner,e.debugName,e.debugReferenceFn??t),t,e.changeTracker,n)}function Tte(e,t){let n=new E,r=Pa({owner:e.owner,debugName:e.debugName,debugReferenceFn:e.debugReferenceFn??t,changeTracker:e.changeTracker},(e,r)=>{n.clear(),t(e,r,n)});return T(()=>{r.dispose(),n.dispose()})}function Fa(e){let t=new E,n=Na({owner:void 0,debugName:void 0,debugReferenceFn:e},n=>{t.clear(),e(n,t)});return T(()=>{n.dispose(),t.dispose()})}function Ete(e,t){let n;return Na({debugReferenceFn:t},r=>{let i=e.read(r),a=n;n=i,t({lastValue:a,newValue:i})})}function Ia(e){let t=Error(`BugIndicatingErrorRecovery: `+e);C(t),console.error(`recovered from an error that indicates a bug`,t)}function La(e,t){let n=new Va(e,t);try{e(n)}finally{n.finish()}}var Ra=void 0;function za(e){if(Ra)e(Ra);else{let t=new Va(e,void 0);Ra=t;try{e(t)}finally{t.finish(),Ra=void 0}}}async function Dte(e,t){let n=new Va(e,t);try{await e(n)}finally{n.finish()}}function Ba(e,t,n){e?t(e):La(t,n)}var Va=class{constructor(e,t){this._fn=e,this._getDebugName=t,this._updatingObservers=[],ia()?.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():ya(this._fn)}updateObserver(e,t){if(!this._updatingObservers){Ia(`Transaction already finished!`),La(n=>{n.updateObserver(e,t)});return}this._updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){let e=this._updatingObservers;if(!e){Ia(`transaction.finish() has already been called!`);return}for(let t=0;tWa.globalTransaction,sa,i??oa.ofCaller())}function Ua(e,t,n,r=oa.ofCaller()){return new Wa(new fa(e.owner,e.debugName,e.debugReferenceFn??n),t,n,()=>Wa.globalTransaction,e.equalsFn??sa,r)}var Wa=class extends wa{constructor(e,t,n,r,i,a){super(a),this._debugNameData=e,this.event=t,this._getValue=n,this._getTransaction=r,this._equalityComparator=i,this._hasValue=!1,this.handleEvent=e=>{let t=this._getValue(e),n=this._value,r=!this._hasValue||!this._equalityComparator(n,t),i=!1;r&&(this._value=t,this._hasValue&&(i=!0,Ba(this._getTransaction(),e=>{ia()?.handleObservableUpdated(this,{oldValue:n,newValue:t,change:void 0,didChange:r,hadValue:this._hasValue});for(let t of this._observers)e.updateObserver(t,this),t.handleChange(this,void 0)},()=>{let e=this.getDebugName();return`Event fired`+(e?`: ${e}`:``)})),this._hasValue=!0),i||ia()?.handleObservableUpdated(this,{oldValue:n,newValue:t,change:void 0,didChange:r,hadValue:this._hasValue})}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){let e=this.getDebugName();return`From Event`+(e?`: ${e}`:``)}onFirstObserverAdded(){this._subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this._subscription.dispose(),this._subscription=void 0,this._hasValue=!1,this._value=void 0}get(){return this._subscription?(this._hasValue||this.handleEvent(void 0),this._value):this._getValue(void 0)}debugSetValue(e){this._value=e}debugGetState(){return{value:this._value,hasValue:this._hasValue}}};(function(e){e.Observer=Wa;function t(e,t){let n=!1;Wa.globalTransaction===void 0&&(Wa.globalTransaction=e,n=!0);try{t()}finally{n&&(Wa.globalTransaction=void 0)}}e.batchEventsGlobally=t})(Ha||={});function Ga(e,t){let n=!1,r,i;return Ha(a=>{let o=Ma(o=>{let s=e.read(o);n?(i&&clearTimeout(i),i=setTimeout(()=>{r=s,a()},t)):(n=!0,r=s)});return{dispose(){o.dispose(),n=!1,r=void 0}}},()=>n?r:e.get())}function Ka(e,t){let n=new Ote(!0,t);e.addObserver(n);try{n.beginUpdate(e)}finally{n.endUpdate(e)}return T(()=>{e.removeObserver(n)})}Ste(Ka);var Ote=class{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter===1&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges()),this._counter--}handlePossibleChange(e){}handleChange(e,t){}};function qa(e,t){let n;return Oa({owner:e,debugReferenceFn:t},e=>(n=t(e,n),n))}function Ja(e,t,n,r){let i=new Ya(n,r);return Oa({debugReferenceFn:n,owner:e,onLastObserverRemoved:()=>{i.dispose(),i=new Ya(n)}},e=>(i.setItems(t.read(e)),i.getItems()))}var Ya=class{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(e=>e.store.dispose()),this._cache.clear()}setItems(e){let t=[],n=new Set(this._cache.keys());for(let r of e){let e=this._keySelector?this._keySelector(r):r,i=this._cache.get(e);if(i)n.delete(e);else{let t=new E;i={out:this._map(r,t),store:t},this._cache.set(e,i)}t.push(i.out)}for(let e of n)this._cache.get(e).store.dispose(),this._cache.delete(e);this._items=t}getItems(){return this._items}};function Xa(e,t){switch(typeof e){case`number`:return``+e;case`string`:return e.length+2<=t?`"${e}"`:`"${e.substr(0,t-7)}"+...`;case`boolean`:return e?`true`:`false`;case`undefined`:return`undefined`;case`object`:return e===null?`null`:Array.isArray(e)?kte(e,t):Ate(e,t);case`symbol`:return e.toString();case`function`:return`[[Function${e.name?` `+e.name:``}]]`;default:return``+e}}function kte(e,t){let n=`[ `,r=!0;for(let i of e){if(r||(n+=`, `),n.length-5>t){n+=`...`;break}r=!1,n+=`${Xa(i,t-n.length)}`}return n+=` ]`,n}function Ate(e,t){if(typeof e.toString==`function`&&e.toString!==Object.prototype.toString){let n=e.toString();return n.length<=t?n:n.substring(0,t-3)+`...`}let n=va(e),r=n?n+`(`:`{ `,i=!0;for(let[n,a]of Object.entries(e)){if(i||(r+=`, `),r.length-5>t){r+=`...`;break}i=!1,r+=`${n}: ${Xa(a,t-r.length)}`}return r+=n?`)`:` }`,r}var jte=class e{static createClient(t,n){return new e(t,n)}constructor(e,t){this._channelFactory=e,this._getHandler=t,this._channel=this._channelFactory({handleNotification:e=>{let t=e,n=this._getHandler().notifications[t[0]];if(!n)throw Error(`Unknown notification "${t[0]}"!`);n(...t[1])},handleRequest:e=>{let t=e;try{return{type:`result`,value:this._getHandler().requests[t[0]](...t[1])}}catch(e){return{type:`error`,value:e}}}});let n=new Proxy({},{get:(e,t)=>async(...e)=>{let n=await this._channel.sendRequest([t,e]);if(n.type===`error`)throw n.value;return n.value}}),r=new Proxy({},{get:(e,t)=>(...e)=>{this._channel.sendNotification([t,e])}});this.api={notifications:r,requests:n}}};function Mte(e,t){let n=globalThis,r=[],i,{channel:a,handler:o}=Nte({sendNotification:e=>{i?i.sendNotification(e):r.push(e)}}),s;return(n.$$debugValueEditor_debugChannels??={})[e]=e=>{s=t(),i=e;for(let t of r)e.sendNotification(t);return r=[],o},jte.createClient(a,()=>{if(!s)throw Error(`Not supported`);return s})}function Nte(e){let t;return{channel:n=>(t=n,{sendNotification:t=>{e.sendNotification(t)},sendRequest:e=>{throw Error(`not supported`)}}),handler:{handleRequest:e=>e.type===`notification`?t?.handleNotification(e.data):t?.handleRequest(e.data)}}}var Pte=class{constructor(){this._timeout=void 0}throttle(e,t){this._timeout===void 0&&(this._timeout=setTimeout(()=>{this._timeout=void 0,e()},t))}dispose(){this._timeout!==void 0&&clearTimeout(this._timeout)}};function Za(e,t){for(let n in t)e[n]&&typeof e[n]==`object`&&t[n]&&typeof t[n]==`object`?Za(e[n],t[n]):e[n]=t[n]}function Qa(e,t){for(let n in t)t[n]===null?delete e[n]:e[n]&&typeof e[n]==`object`&&t[n]&&typeof t[n]==`object`?Qa(e[n],t[n]):e[n]=t[n]}function $a(e,t,n=oa.ofCaller()){let r;return r=typeof e==`string`?new fa(void 0,e,void 0):new fa(e,void 0,void 0),new eo(r,t,sa,n)}var eo=class extends wa{get debugName(){return this._debugNameData.getDebugName(this)??`ObservableValue`}constructor(e,t,n,r){super(r),this._debugNameData=e,this._equalityComparator=n,this._value=t,ia()?.handleObservableUpdated(this,{hadValue:!1,newValue:t,change:void 0,didChange:!0,oldValue:void 0})}get(){return this._value}set(e,t,n){if(n===void 0&&this._equalityComparator(this._value,e))return;let r;t||=r=new Va(()=>{},()=>`Setting ${this.debugName}`);try{let r=this._value;this._setValue(e),ia()?.handleObservableUpdated(this,{oldValue:r,newValue:e,change:n,didChange:!0,hadValue:!0});for(let e of this._observers)t.updateObserver(e,this),e.handleChange(this,n)}finally{r&&r.finish()}}toString(){return`${this.debugName}: ${this._value}`}_setValue(e){this._value=e}debugGetState(){return{value:this._value}}debugSetValue(e){this._value=e}};function to(e,t,n=oa.ofCaller()){let r;return r=typeof e==`string`?new fa(void 0,e,void 0):new fa(e,void 0,void 0),new Fte(r,t,sa,n)}var Fte=class extends eo{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){this._value?.dispose()}},Ite=class e{static{this._instance=void 0}static getInstance(){return e._instance===void 0&&(e._instance=new e),e._instance}getTransactionState(){let e=[],t=[...this._activeTransactions];if(t.length===0)return;let n=t.flatMap(e=>e.debugGetUpdatingObservers()??[]).map(e=>e.observer),r=new Set;for(;n.length>0;){let t=n.shift();if(r.has(t))continue;r.add(t);let i=this._getInfo(t,e=>{r.has(e)||n.push(e)});i&&e.push(i)}return{names:t.map(e=>e.getDebugName()??`tx`),affected:e}}_getObservableInfo(e){let t=this._instanceInfos.get(e);if(!t){C(new w(`No info found`));return}return t}_getAutorunInfo(e){let t=this._instanceInfos.get(e);if(!t){C(new w(`No info found`));return}return t}_getInfo(e,t){if(e instanceof Ta){let n=[...e.debugGetObservers()];for(let e of n)t(e);let r=this._getObservableInfo(e);if(!r)return;let i=e.debugGetState(),a={name:e.debugName,instanceId:r.instanceId,updateCount:i.updateCount},o=[...r.changedObservables].map(e=>this._instanceInfos.get(e)?.instanceId).filter(De);if(i.isComputing)return{...a,type:`observable/derived`,state:`updating`,changedDependencies:o,initialComputation:!1};switch(i.state){case 0:return{...a,type:`observable/derived`,state:`noValue`};case 3:return{...a,type:`observable/derived`,state:`upToDate`};case 2:return{...a,type:`observable/derived`,state:`stale`,changedDependencies:o};case 1:return{...a,type:`observable/derived`,state:`possiblyStale`}}}else if(e instanceof ja){let t=this._getAutorunInfo(e);if(!t)return;let n={name:e.debugName,instanceId:t.instanceId,updateCount:t.updateCount},r=[...t.changedObservables].map(e=>this._instanceInfos.get(e).instanceId);if(e.debugGetState().isRunning)return{...n,type:`autorun`,state:`updating`,changedDependencies:r};switch(e.debugGetState().state){case 3:return{...n,type:`autorun`,state:`upToDate`};case 2:return{...n,type:`autorun`,state:`stale`,changedDependencies:r};case 1:return{...n,type:`autorun`,state:`possiblyStale`}}}}_formatObservable(e){let t=this._getObservableInfo(e);if(t)return{name:e.debugName,instanceId:t.instanceId}}_formatObserver(e){if(e instanceof Ta)return{name:e.toString(),instanceId:this._getObservableInfo(e)?.instanceId};let t=this._getAutorunInfo(e);if(t)return{name:e.toString(),instanceId:t.instanceId}}constructor(){this._declarationId=0,this._instanceId=0,this._declarations=new Map,this._instanceInfos=new WeakMap,this._aliveInstances=new Map,this._activeTransactions=new Set,this._channel=Mte(`observableDevTools`,()=>({notifications:{setDeclarationIdFilter:e=>{},logObservableValue:e=>{console.log(`logObservableValue`,e)},flushUpdates:()=>{this._flushUpdates()},resetUpdates:()=>{this._pendingChanges=null,this._channel.api.notifications.handleChange(this._fullState,!0)}},requests:{getDeclarations:()=>{let e={};for(let t of this._declarations.values())e[t.id]=t;return{decls:e}},getSummarizedInstances:()=>null,getObservableValueInfo:e=>({observers:[...this._aliveInstances.get(e).debugGetObservers()].map(e=>this._formatObserver(e)).filter(De)}),getDerivedInfo:e=>{let t=this._aliveInstances.get(e);return{dependencies:[...t.debugGetState().dependencies].map(e=>this._formatObservable(e)).filter(De),observers:[...t.debugGetObservers()].map(e=>this._formatObserver(e)).filter(De)}},getAutorunInfo:e=>({dependencies:[...this._aliveInstances.get(e).debugGetState().dependencies].map(e=>this._formatObservable(e)).filter(De)}),getTransactionState:()=>this.getTransactionState(),setValue:(e,t)=>{let n=this._aliveInstances.get(e);if(n instanceof Ta)n.debugSetValue(t);else if(n instanceof eo)n.debugSetValue(t);else if(n instanceof Wa)n.debugSetValue(t);else throw new w(`Observable is not supported`);let r=[...n.debugGetObservers()];for(let e of r)e.beginUpdate(n);for(let e of r)e.handleChange(n,void 0);for(let e of r)e.endUpdate(n)},getValue:e=>{let t=this._aliveInstances.get(e);if(t instanceof Ta||t instanceof eo)return Xa(t.debugGetState().value,200)},logValue:e=>{let t=this._aliveInstances.get(e);if(t&&`get`in t)console.log(`Logged Value:`,t.get());else throw new w(`Observable is not supported`)},rerun:e=>{let t=this._aliveInstances.get(e);if(t instanceof Ta)t.debugRecompute();else if(t instanceof ja)t.debugRerun();else throw new w(`Observable is not supported`)}}})),this._pendingChanges=null,this._changeThrottler=new Pte,this._fullState={},this._flushUpdates=()=>{this._pendingChanges!==null&&(this._channel.api.notifications.handleChange(this._pendingChanges,!1),this._pendingChanges=null)},oa.enable()}_handleChange(e){Qa(this._fullState,e),this._pendingChanges===null?this._pendingChanges=e:Za(this._pendingChanges,e),this._changeThrottler.throttle(this._flushUpdates,10)}_getDeclarationId(e,t){if(!t)return-1;let n=this._declarations.get(t.id);return n===void 0&&(n={id:this._declarationId++,type:e,url:t.fileName,line:t.line,column:t.column},this._declarations.set(t.id,n),this._handleChange({decls:{[n.id]:n}})),n.id}handleObservableCreated(e,t){let n={declarationId:this._getDeclarationId(`observable/value`,t),instanceId:this._instanceId++,listenerCount:0,lastValue:void 0,updateCount:0,changedObservables:new Set};this._instanceInfos.set(e,n)}handleOnListenerCountChanged(e,t){let n=this._getObservableInfo(e);if(n){if(n.listenerCount===0&&t>0){let t=e instanceof Ta?`observable/derived`:`observable/value`;this._aliveInstances.set(n.instanceId,e),this._handleChange({instances:{[n.instanceId]:{instanceId:n.instanceId,declarationId:n.declarationId,formattedValue:n.lastValue,type:t,name:e.debugName}}})}else n.listenerCount>0&&t===0&&(this._handleChange({instances:{[n.instanceId]:null}}),this._aliveInstances.delete(n.instanceId));n.listenerCount=t}}handleObservableUpdated(e,t){if(e instanceof Ta){this._handleDerivedRecomputed(e,t);return}let n=this._getObservableInfo(e);n&&t.didChange&&(n.lastValue=Xa(t.newValue,30),n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:n.lastValue}}}))}handleAutorunCreated(e,t){let n={declarationId:this._getDeclarationId(`autorun`,t),instanceId:this._instanceId++,updateCount:0,changedObservables:new Set};this._instanceInfos.set(e,n),this._aliveInstances.set(n.instanceId,e),n&&this._handleChange({instances:{[n.instanceId]:{instanceId:n.instanceId,declarationId:n.declarationId,runCount:0,type:`autorun`,name:e.debugName}}})}handleAutorunDisposed(e){let t=this._getAutorunInfo(e);t&&(this._handleChange({instances:{[t.instanceId]:null}}),this._instanceInfos.delete(e),this._aliveInstances.delete(t.instanceId))}handleAutorunDependencyChanged(e,t,n){let r=this._getAutorunInfo(e);r&&r.changedObservables.add(t)}handleAutorunStarted(e){}handleAutorunFinished(e){let t=this._getAutorunInfo(e);t&&(t.changedObservables.clear(),t.updateCount++,this._handleChange({instances:{[t.instanceId]:{runCount:t.updateCount}}}))}handleDerivedDependencyChanged(e,t,n){let r=this._getObservableInfo(e);r&&r.changedObservables.add(t)}_handleDerivedRecomputed(e,t){let n=this._getObservableInfo(e);if(!n)return;let r=Xa(t.newValue,30);n.updateCount++,n.changedObservables.clear(),n.lastValue=r,n.listenerCount>0&&this._handleChange({instances:{[n.instanceId]:{formattedValue:r,recomputationCount:n.updateCount}}})}handleDerivedCleared(e){let t=this._getObservableInfo(e);t&&(t.lastValue=void 0,t.changedObservables.clear(),t.listenerCount>0&&this._handleChange({instances:{[t.instanceId]:{formattedValue:void 0}}}))}handleBeginTransaction(e){this._activeTransactions.add(e)}handleEndTransaction(e){this._activeTransactions.delete(e)}};Tr&&Tr.VSCODE_DEV_DEBUG_OBSERVABLES&>e(Ite.getInstance());var{getWindow:no,getDocument:Lte,getWindows:ro,getWindowsCount:Rte,getWindowId:io,getWindowById:ao,onDidRegisterWindow:oo,onWillUnregisterWindow:zte,onDidUnregisterWindow:Bte}=(function(){let e=new Map;u(d,1);let t={window:d,disposables:new E};e.set(d.vscodeWindowId,t);let n=new k,r=new k,i=new k;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return D.None;let a=new E,o={window:t,disposables:a.add(new E)};return e.set(t.vscodeWindowId,o),a.add(T(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(j(t,M.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:d},getDocument(e){return no(e).document}}})();function so(e){for(;e.firstChild;)e.firstChild.remove()}var Vte=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function j(e,t,n,r){return new Vte(e,t,n,r)}function co(e,t){return function(n){return t(new Nt(e,n))}}function Hte(e){return function(t){return e(new kt(t))}}var lo=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=co(no(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=Hte(n)),j(e,t,i,r)},Ute=function(e,t,n){return uo(e,co(no(e),t),n)};function uo(e,t,n){return j(e,et&>.pointerEvents?M.POINTER_DOWN:M.MOUSE_DOWN,t,n)}function Wte(e,t,n){return j(e,et&>.pointerEvents?M.POINTER_MOVE:M.MOUSE_MOVE,t,n)}function fo(e,t,n){return j(e,et&>.pointerEvents?M.POINTER_UP:M.MOUSE_UP,t,n)}function po(e,t,n){return vn(e,t,n)}var mo=class extends yn{constructor(e,t){super(e,t)}},ho,go,_o=class extends hn{constructor(e){super(),this.defaultTarget=e&&no(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},vo=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){C(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,n=new Map,r=new Map,i=i=>{n.set(i,!1);let a=e.get(i)??[];for(t.set(i,a),e.set(i,[]),r.set(i,!0);a.length>0;)a.sort(vo.sort),a.shift().execute();r.set(i,!1)};go=(t,r,a=0)=>{let o=io(t),s=new vo(r,a),c=e.get(o);return c||(c=[],e.set(o,c)),c.push(s),n.get(o)||(n.set(o,!0),t.requestAnimationFrame(()=>i(o))),s},ho=(e,n,i)=>{let a=io(e);if(r.get(a)){let e=new vo(n,i),r=t.get(a);return r||(r=[],t.set(a,r)),r.push(e),e}else return go(e,n,i)}})();function yo(e){return no(e).getComputedStyle(e,null)}function bo(e,t,n){let r=no(e),i=r.document;if(e!==i.body)return new So(e.clientWidth,e.clientHeight);if(et&&r?.visualViewport)return new So(r.visualViewport.width,r.visualViewport.height);if(r?.innerWidth&&r.innerHeight)return new So(r.innerWidth,r.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new So(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new So(i.documentElement.clientWidth,i.documentElement.clientHeight);throw Error(`Unable to figure out browser width and height`)}var xo=class e{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(t,n){let r=yo(t),i=r?r.getPropertyValue(n):`0`;return e.convertToPixels(t,i)}static getBorderLeftWidth(t){return e.getDimension(t,`border-left-width`)}static getBorderRightWidth(t){return e.getDimension(t,`border-right-width`)}static getBorderTopWidth(t){return e.getDimension(t,`border-top-width`)}static getBorderBottomWidth(t){return e.getDimension(t,`border-bottom-width`)}static getPaddingLeft(t){return e.getDimension(t,`padding-left`)}static getPaddingRight(t){return e.getDimension(t,`padding-right`)}static getPaddingTop(t){return e.getDimension(t,`padding-top`)}static getPaddingBottom(t){return e.getDimension(t,`padding-bottom`)}static getMarginLeft(t){return e.getDimension(t,`margin-left`)}static getMarginTop(t){return e.getDimension(t,`margin-top`)}static getMarginRight(t){return e.getDimension(t,`margin-right`)}static getMarginBottom(t){return e.getDimension(t,`margin-bottom`)}},So=class e{static{this.None=new e(0,0)}constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};function Co(e){let t=e.offsetParent,n=e.offsetTop,r=e.offsetLeft;for(;(e=e.parentNode)!==null&&e!==e.ownerDocument.body&&e!==e.ownerDocument.documentElement;){n-=e.scrollTop;let i=Po(e)?null:yo(e);i&&(r-=i.direction===`rtl`?-e.scrollLeft:e.scrollLeft),e===t&&(r+=xo.getBorderLeftWidth(e),n+=xo.getBorderTopWidth(e),n+=e.offsetTop,r+=e.offsetLeft,t=e.offsetParent)}return{left:r,top:n}}function wo(e,t,n){typeof t==`number`&&(e.style.width=`${t}px`),typeof n==`number`&&(e.style.height=`${n}px`)}function To(e){let t=e.getBoundingClientRect(),n=no(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}function Eo(e){let t=e,n=1;do{let e=yo(t).zoom;e!=null&&e!==`1`&&(n*=e),t=t.parentElement}while(t!==null&&t!==t.ownerDocument.documentElement);return n}function Do(e){let t=xo.getMarginLeft(e)+xo.getMarginRight(e);return e.offsetWidth+t}function Oo(e){let t=xo.getBorderLeftWidth(e)+xo.getBorderRightWidth(e),n=xo.getPaddingLeft(e)+xo.getPaddingRight(e);return e.offsetWidth-t-n}function ko(e){let t=xo.getBorderTopWidth(e)+xo.getBorderBottomWidth(e),n=xo.getPaddingTop(e)+xo.getPaddingBottom(e);return e.offsetHeight-t-n}function Ao(e){let t=xo.getMarginTop(e)+xo.getMarginBottom(e);return e.offsetHeight+t}function jo(e,t){return!!t?.contains(e)}function Mo(e,t,n){for(;e&&e.nodeType===e.ELEMENT_NODE;){if(e.classList.contains(t))return e;if(n){if(typeof n==`string`){if(e.classList.contains(n))return null}else if(e===n)return null}e=e.parentNode}return null}function No(e,t,n){return!!Mo(e,t,n)}function Po(e){return e&&!!e.host&&!!e.mode}function Fo(e){return!!Io(e)}function Io(e){for(;e.parentNode;){if(e===e.ownerDocument?.body)return null;e=e.parentNode}return Po(e)?e:null}function Lo(){let e=Bo().activeElement;for(;e?.shadowRoot;)e=e.shadowRoot.activeElement;return e}function Ro(e){return Lo()===e}function zo(e){return jo(Lo(),e)}function Bo(){return Rte()<=1?d.document:Array.from(ro()).map(({window:e})=>e.document).find(e=>e.hasFocus())??d.document}function Vo(){return Bo().defaultView?.window??d}var Ho=new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=Si(n),a=r.get(i);if(a)a.users+=1;else{let o=new k,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(T(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};function Uo(e){return e instanceof HTMLElement||e instanceof no(e).HTMLElement}function Wo(e){return e instanceof HTMLAnchorElement||e instanceof no(e).HTMLAnchorElement}function Go(e){return e instanceof SVGElement||e instanceof no(e).SVGElement}function Ko(e){return e instanceof MouseEvent||e instanceof no(e).MouseEvent}function qo(e){return e instanceof KeyboardEvent||e instanceof no(e).KeyboardEvent}var M={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,KEY_DOWN:`keydown`,KEY_UP:`keyup`,BEFORE_UNLOAD:`beforeunload`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`};function Jo(e){let t=e;return!!(t&&typeof t.preventDefault==`function`&&typeof t.stopPropagation==`function`)}var Yo={stop:(e,t)=>(e.preventDefault(),t&&e.stopPropagation(),e)};function Gte(e){let t=[];for(let n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)t[n]=e.scrollTop,e=e.parentNode;return t}function Kte(e,t){for(let n=0;e&&e.nodeType===e.ELEMENT_NODE;n++)e.scrollTop!==t[n]&&(e.scrollTop=t[n]),e=e.parentNode}var qte=class e extends D{get onDidFocus(){return this._onDidFocus.event}get onDidBlur(){return this._onDidBlur.event}static hasFocusWithin(e){if(Uo(e)){let t=Io(e);return jo(t?t.activeElement:e.ownerDocument.activeElement,e)}else{let t=e;return jo(t.document.activeElement,t.document)}}constructor(t){super(),this._onDidFocus=this._register(new k),this._onDidBlur=this._register(new k);let n=e.hasFocusWithin(t),r=!1,i=()=>{r=!1,n||(n=!0,this._onDidFocus.fire())},a=()=>{n&&(r=!0,(Uo(t)?no(t):t).setTimeout(()=>{r&&(r=!1,n=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{e.hasFocusWithin(t)!==n&&(n?a():i())},this._register(j(t,M.FOCUS,i,!0)),this._register(j(t,M.BLUR,a,!0)),Uo(t)&&(this._register(j(t,M.FOCUS_IN,()=>this._refreshStateHandler())),this._register(j(t,M.FOCUS_OUT,()=>this._refreshStateHandler())))}};function Xo(e){return new qte(e)}function Jte(e,t){return e.after(t),t}function N(e,...t){if(e.append(...t),t.length===1&&typeof t[0]!=`string`)return t[0]}function Zo(e,t){return e.insertBefore(t,e.firstChild),t}function Qo(e,...t){e.textContent=``,N(e,...t)}var Yte=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/,$o;(function(e){e.HTML=`http://www.w3.org/1999/xhtml`,e.SVG=`http://www.w3.org/2000/svg`})($o||={});function es(e,t,n,...r){let i=Yte.exec(t);if(!i)throw Error(`Bad use of emmet`);let a=i[1]||`div`,o;return o=e===$o.HTML?document.createElement(a):document.createElementNS(e,a),i[3]&&(o.id=i[3]),i[4]&&(o.className=i[4].replace(/\./g,` `).trim()),n&&Object.entries(n).forEach(([e,t])=>{t!==void 0&&(/^on\w+$/.test(e)?o[e]=t:e===`selected`?t&&o.setAttribute(e,`true`):o.setAttribute(e,t))}),o.append(...r),o}function P(e,t,...n){return es($o.HTML,e,t,...n)}P.SVG=function(e,t,...n){return es($o.SVG,e,t,...n)};function Xte(e,...t){e?ts(...t):ns(...t)}function ts(...e){for(let t of e)t.style.display=``,t.removeAttribute(`aria-hidden`)}function ns(...e){for(let t of e)t.style.display=`none`,t.setAttribute(`aria-hidden`,`true`)}function rs(e,t){let n=e.devicePixelRatio*t;return Math.max(1,Math.floor(n))/e.devicePixelRatio}function is(e){d.open(e,`_blank`,`noopener`)}function Zte(e,t){let n=()=>{t(),r=go(e,n)},r=go(e,n);return T(()=>r.dispose())}ui.setPreferredWebSchema(/^https:/.test(d.location.href)?`https`:`http`);var as=class e extends k{constructor(){super(),this._subscriptions=new E,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(O.runAndSubscribe(oo,({window:e,disposables:t})=>this.registerListeners(e,t),{window:d,disposables:this._subscriptions}))}registerListeners(e,t){t.add(j(e,`keydown`,e=>{if(e.defaultPrevented)return;let t=new kt(e);if(!(t.keyCode===6&&e.repeat)){if(e.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed=`alt`;else if(e.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed=`ctrl`;else if(e.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed=`meta`;else if(e.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed=`shift`;else if(t.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=e,this.fire(this._keyStatus))}},!0)),t.add(j(e,`keyup`,e=>{e.defaultPrevented||(!e.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased=`alt`:!e.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased=`ctrl`:!e.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased=`meta`:!e.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased=`shift`:this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=e.altKey,this._keyStatus.ctrlKey=e.ctrlKey,this._keyStatus.metaKey=e.metaKey,this._keyStatus.shiftKey=e.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=e,this.fire(this._keyStatus)))},!0)),t.add(j(e.document.body,`mousedown`,()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(j(e.document.body,`mouseup`,()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(j(e.document.body,`mousemove`,e=>{e.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(j(e,`blur`,()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return e.instance||=new e,e.instance}dispose(){super.dispose(),this._subscriptions.dispose()}},Qte=class extends D{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(j(this.element,M.DRAG_START,e=>{this.callbacks.onDragStart?.(e)})),this.callbacks.onDrag&&this._register(j(this.element,M.DRAG,e=>{this.callbacks.onDrag?.(e)})),this._register(j(this.element,M.DRAG_ENTER,e=>{this.counter++,this.dragStartTime=e.timeStamp,this.callbacks.onDragEnter?.(e)})),this._register(j(this.element,M.DRAG_OVER,e=>{e.preventDefault(),this.callbacks.onDragOver?.(e,e.timeStamp-this.dragStartTime)})),this._register(j(this.element,M.DRAG_LEAVE,e=>{this.counter--,this.counter===0&&(this.dragStartTime=0,this.callbacks.onDragLeave?.(e))})),this._register(j(this.element,M.DRAG_END,e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDragEnd?.(e)})),this._register(j(this.element,M.DROP,e=>{this.counter=0,this.dragStartTime=0,this.callbacks.onDrop?.(e)}))}},$te=/(?[\w\-]+)?(?:#(?[\w\-]+))?(?(?:\.(?:[\w\-]+))*)(?:@(?(?:[\w\_])+))?/;function os(e,...t){let n,r;Array.isArray(t[0])?(n={},r=t[0]):(n=t[0]||{},r=t[1]);let i=$te.exec(e);if(!i||!i.groups)throw Error(`Bad use of h`);let a=i.groups.tag||`div`,o=document.createElement(a);i.groups.id&&(o.id=i.groups.id);let s=[];if(i.groups.class)for(let e of i.groups.class.split(`.`))e!==``&&s.push(e);if(n.className!==void 0)for(let e of n.className.split(`.`))e!==``&&s.push(e);s.length>0&&(o.className=s.join(` `));let c={};if(i.groups.name&&(c[i.groups.name]=o),r)for(let e of r)Uo(e)?o.appendChild(e):typeof e==`string`?o.append(e):`root`in e&&(Object.assign(c,e),o.appendChild(e.root));for(let[e,t]of Object.entries(n))if(e===`className`)continue;else if(e===`style`)for(let[e,n]of Object.entries(t))o.style.setProperty(ss(e),typeof n==`number`?n+`px`:``+n);else e===`tabIndex`?o.tabIndex=t:o.setAttribute(ss(e),t.toString());return c.root=o,c}function ss(e){return e.replace(/([a-z])([A-Z])/g,`$1-$2`).toLowerCase()}function cs(e){return e.tagName.toLowerCase()===`input`||e.tagName.toLowerCase()===`textarea`||Uo(e)&&!!e.editContext}var ls;(function(e){function t(e=void 0){return(t,n,r)=>{let i=n.class;delete n.class;let a=n.ref;delete n.ref;let o=n.obsRef;return delete n.obsRef,new nne(t,a,o,e,i,n,r)}}function n(e,n=void 0){let r=t(n);return(t,n)=>r(e,t,n)}e.div=n(`div`),e.elem=t(void 0),e.svg=n(`svg`,`http://www.w3.org/2000/svg`),e.svgElem=t(`http://www.w3.org/2000/svg`);function r(){let e,t=function(t){e=t};return Object.defineProperty(t,"element",{get(){if(!e)throw new w(`Make sure the ref is set before accessing the element. Maybe wrong initialization order?`);return e}}),t}e.ref=r})(ls||={});var ene=class e{constructor(t,n,r,i,a,o,s){this._deriveds=[],this._element=i?document.createElementNS(i,t):document.createElement(t),n&&n(this._element),r&&this._deriveds.push(A(e=>{r(this),e.store.add({dispose:()=>{r(null)}})})),a&&(ps(a)?this._deriveds.push(A(this,e=>{us(this._element,fs(a,e))})):us(this._element,fs(a,void 0)));for(let[e,t]of Object.entries(o))if(e===`style`)for(let[e,n]of Object.entries(t)){let t=ss(e);_s(n)?this._deriveds.push(Oa({owner:this,debugName:()=>`set.style.${t}`},e=>{this._element.style.setProperty(t,ms(n.read(e)))})):this._element.style.setProperty(t,ms(n))}else e===`tabIndex`?_s(t)?this._deriveds.push(A(this,e=>{this._element.tabIndex=t.read(e)})):this._element.tabIndex=t:e.startsWith(`on`)?this._element[e]=t:_s(t)?this._deriveds.push(Oa({owner:this,debugName:()=>`set.${e}`},n=>{gs(this._element,e,t.read(n))})):gs(this._element,e,t);if(s){function t(n,r){return _s(r)?t(n,r.read(n)):Array.isArray(r)?r.flatMap(e=>t(n,e)):r instanceof e?(n&&r.readEffect(n),[r._element]):r?[r]:[]}let n=A(this,e=>{this._element.replaceChildren(...t(e,s))});this._deriveds.push(n),hs(s)||n.get()}}readEffect(e){for(let t of this._deriveds)t.read(e)}keepUpdated(e){return A(e=>{this.readEffect(e)}).recomputeInitiallyAndOnChange(e),this}toDisposableLiveElement(){let e=new E;return this.keepUpdated(e),new tne(this._element,e)}};function us(e,t){Go(e)?e.setAttribute(`class`,t):e.className=t}function ds(e,t,n){if(_s(e)){n(e.read(t));return}if(Array.isArray(e)){for(let r of e)ds(r,t,n);return}n(e)}function fs(e,t){let n=``;return ds(e,t,e=>{e&&(n.length===0?n=e:n+=` `+e)}),n}function ps(e){return _s(e)?!0:Array.isArray(e)?e.some(e=>ps(e)):!1}function ms(e){return typeof e==`number`?e+`px`:e}function hs(e){return _s(e)?!0:Array.isArray(e)?e.some(e=>hs(e)):!1}var tne=class{constructor(e,t){this.element=e,this._disposable=t}dispose(){this._disposable.dispose()}},nne=class extends ene{constructor(){super(...arguments),this._isHovered=void 0,this._didMouseMoveDuringHover=void 0}get element(){return this._element}get isHovered(){if(!this._isHovered){let e=$a(`hovered`,!1);this._element.addEventListener(`mouseenter`,t=>e.set(!0,void 0)),this._element.addEventListener(`mouseleave`,t=>e.set(!1,void 0)),this._isHovered=e}return this._isHovered}get didMouseMoveDuringHover(){if(!this._didMouseMoveDuringHover){let e=!1,t=$a(`didMouseMoveDuringHover`,!1);this._element.addEventListener(`mouseenter`,t=>{e=!0}),this._element.addEventListener(`mousemove`,n=>{e&&t.set(!0,void 0)}),this._element.addEventListener(`mouseleave`,n=>{e=!1,t.set(!1,void 0)}),this._didMouseMoveDuringHover=t}return this._didMouseMoveDuringHover}};function gs(e,t,n){n==null?e.removeAttribute(ss(t)):e.setAttribute(ss(t),String(n))}function _s(e){return!!e&&e.read!==void 0&&e.reportChanges!==void 0}var vs=2e4,ys,bs,xs,Ss,Cs;function rne(e){ys=document.createElement(`div`),ys.className=`monaco-aria-container`;let t=()=>{let e=document.createElement(`div`);return e.className=`monaco-alert`,e.setAttribute(`role`,`alert`),e.setAttribute(`aria-atomic`,`true`),ys.appendChild(e),e};bs=t(),xs=t();let n=()=>{let e=document.createElement(`div`);return e.className=`monaco-status`,e.setAttribute(`aria-live`,`polite`),e.setAttribute(`aria-atomic`,`true`),ys.appendChild(e),e};Ss=n(),Cs=n(),e.appendChild(ys)}function ws(e){ys&&(bs.textContent===e?(so(bs),Es(xs,e)):(so(xs),Es(bs,e)))}function Ts(e){ys&&(Ss.textContent===e?(so(Ss),Es(Cs,e)):(so(Cs),Es(Ss,e)))}function Es(e,t){so(e),t.length>vs&&(t=t.substr(0,vs)),e.textContent=t,e.style.visibility=`hidden`,e.style.visibility=`visible`}var Ds;(function(e){e.serviceIds=new Map,e.DI_TARGET=`$di$target`,e.DI_DEPENDENCIES=`$di$dependencies`;function t(t){return t[e.DI_DEPENDENCIES]||[]}e.getServiceDependencies=t})(Ds||={});var Os=ks(`instantiationService`);function ine(e,t,n){t[Ds.DI_TARGET]===t?t[Ds.DI_DEPENDENCIES].push({id:e,index:n}):(t[Ds.DI_DEPENDENCIES]=[{id:e,index:n}],t[Ds.DI_TARGET]=t)}function ks(e){if(Ds.serviceIds.has(e))return Ds.serviceIds.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);ine(t,e,r)};return t.toString=()=>e,Ds.serviceIds.set(e,t),t}var As=ks(`codeEditorService`),F=class e{constructor(e,t){this.lineNumber=e,this.column=t}with(t=this.lineNumber,n=this.column){return t===this.lineNumber&&n===this.column?this:new e(t,n)}delta(e=0,t=0){return this.with(Math.max(1,this.lineNumber+e),Math.max(1,this.column+t))}equals(t){return e.equals(this,t)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(t){return e.isBefore(this,t)}static isBefore(e,t){return e.lineNumbere.run(...t)}}var Rs=Object.create(null);function I(e,t){if(ye(t)){let n=Rs[t];if(n===void 0)throw Error(`${e} references an unknown codicon: ${t}`);t=n}return Rs[e]=t,{id:e}}function zs(){return Rs}var one={add:I(`add`,6e4),plus:I(`plus`,6e4),gistNew:I(`gist-new`,6e4),repoCreate:I(`repo-create`,6e4),lightbulb:I(`lightbulb`,60001),lightBulb:I(`light-bulb`,60001),repo:I(`repo`,60002),repoDelete:I(`repo-delete`,60002),gistFork:I(`gist-fork`,60003),repoForked:I(`repo-forked`,60003),gitPullRequest:I(`git-pull-request`,60004),gitPullRequestAbandoned:I(`git-pull-request-abandoned`,60004),recordKeys:I(`record-keys`,60005),keyboard:I(`keyboard`,60005),tag:I(`tag`,60006),gitPullRequestLabel:I(`git-pull-request-label`,60006),tagAdd:I(`tag-add`,60006),tagRemove:I(`tag-remove`,60006),person:I(`person`,60007),personFollow:I(`person-follow`,60007),personOutline:I(`person-outline`,60007),personFilled:I(`person-filled`,60007),sourceControl:I(`source-control`,60008),mirror:I(`mirror`,60009),mirrorPublic:I(`mirror-public`,60009),star:I(`star`,60010),starAdd:I(`star-add`,60010),starDelete:I(`star-delete`,60010),starEmpty:I(`star-empty`,60010),comment:I(`comment`,60011),commentAdd:I(`comment-add`,60011),alert:I(`alert`,60012),warning:I(`warning`,60012),search:I(`search`,60013),searchSave:I(`search-save`,60013),logOut:I(`log-out`,60014),signOut:I(`sign-out`,60014),logIn:I(`log-in`,60015),signIn:I(`sign-in`,60015),eye:I(`eye`,60016),eyeUnwatch:I(`eye-unwatch`,60016),eyeWatch:I(`eye-watch`,60016),circleFilled:I(`circle-filled`,60017),primitiveDot:I(`primitive-dot`,60017),closeDirty:I(`close-dirty`,60017),debugBreakpoint:I(`debug-breakpoint`,60017),debugBreakpointDisabled:I(`debug-breakpoint-disabled`,60017),debugHint:I(`debug-hint`,60017),terminalDecorationSuccess:I(`terminal-decoration-success`,60017),primitiveSquare:I(`primitive-square`,60018),edit:I(`edit`,60019),pencil:I(`pencil`,60019),info:I(`info`,60020),issueOpened:I(`issue-opened`,60020),gistPrivate:I(`gist-private`,60021),gitForkPrivate:I(`git-fork-private`,60021),lock:I(`lock`,60021),mirrorPrivate:I(`mirror-private`,60021),close:I(`close`,60022),removeClose:I(`remove-close`,60022),x:I(`x`,60022),repoSync:I(`repo-sync`,60023),sync:I(`sync`,60023),clone:I(`clone`,60024),desktopDownload:I(`desktop-download`,60024),beaker:I(`beaker`,60025),microscope:I(`microscope`,60025),vm:I(`vm`,60026),deviceDesktop:I(`device-desktop`,60026),file:I(`file`,60027),more:I(`more`,60028),ellipsis:I(`ellipsis`,60028),kebabHorizontal:I(`kebab-horizontal`,60028),mailReply:I(`mail-reply`,60029),reply:I(`reply`,60029),organization:I(`organization`,60030),organizationFilled:I(`organization-filled`,60030),organizationOutline:I(`organization-outline`,60030),newFile:I(`new-file`,60031),fileAdd:I(`file-add`,60031),newFolder:I(`new-folder`,60032),fileDirectoryCreate:I(`file-directory-create`,60032),trash:I(`trash`,60033),trashcan:I(`trashcan`,60033),history:I(`history`,60034),clock:I(`clock`,60034),folder:I(`folder`,60035),fileDirectory:I(`file-directory`,60035),symbolFolder:I(`symbol-folder`,60035),logoGithub:I(`logo-github`,60036),markGithub:I(`mark-github`,60036),github:I(`github`,60036),terminal:I(`terminal`,60037),console:I(`console`,60037),repl:I(`repl`,60037),zap:I(`zap`,60038),symbolEvent:I(`symbol-event`,60038),error:I(`error`,60039),stop:I(`stop`,60039),variable:I(`variable`,60040),symbolVariable:I(`symbol-variable`,60040),array:I(`array`,60042),symbolArray:I(`symbol-array`,60042),symbolModule:I(`symbol-module`,60043),symbolPackage:I(`symbol-package`,60043),symbolNamespace:I(`symbol-namespace`,60043),symbolObject:I(`symbol-object`,60043),symbolMethod:I(`symbol-method`,60044),symbolFunction:I(`symbol-function`,60044),symbolConstructor:I(`symbol-constructor`,60044),symbolBoolean:I(`symbol-boolean`,60047),symbolNull:I(`symbol-null`,60047),symbolNumeric:I(`symbol-numeric`,60048),symbolNumber:I(`symbol-number`,60048),symbolStructure:I(`symbol-structure`,60049),symbolStruct:I(`symbol-struct`,60049),symbolParameter:I(`symbol-parameter`,60050),symbolTypeParameter:I(`symbol-type-parameter`,60050),symbolKey:I(`symbol-key`,60051),symbolText:I(`symbol-text`,60051),symbolReference:I(`symbol-reference`,60052),goToFile:I(`go-to-file`,60052),symbolEnum:I(`symbol-enum`,60053),symbolValue:I(`symbol-value`,60053),symbolRuler:I(`symbol-ruler`,60054),symbolUnit:I(`symbol-unit`,60054),activateBreakpoints:I(`activate-breakpoints`,60055),archive:I(`archive`,60056),arrowBoth:I(`arrow-both`,60057),arrowDown:I(`arrow-down`,60058),arrowLeft:I(`arrow-left`,60059),arrowRight:I(`arrow-right`,60060),arrowSmallDown:I(`arrow-small-down`,60061),arrowSmallLeft:I(`arrow-small-left`,60062),arrowSmallRight:I(`arrow-small-right`,60063),arrowSmallUp:I(`arrow-small-up`,60064),arrowUp:I(`arrow-up`,60065),bell:I(`bell`,60066),bold:I(`bold`,60067),book:I(`book`,60068),bookmark:I(`bookmark`,60069),debugBreakpointConditionalUnverified:I(`debug-breakpoint-conditional-unverified`,60070),debugBreakpointConditional:I(`debug-breakpoint-conditional`,60071),debugBreakpointConditionalDisabled:I(`debug-breakpoint-conditional-disabled`,60071),debugBreakpointDataUnverified:I(`debug-breakpoint-data-unverified`,60072),debugBreakpointData:I(`debug-breakpoint-data`,60073),debugBreakpointDataDisabled:I(`debug-breakpoint-data-disabled`,60073),debugBreakpointLogUnverified:I(`debug-breakpoint-log-unverified`,60074),debugBreakpointLog:I(`debug-breakpoint-log`,60075),debugBreakpointLogDisabled:I(`debug-breakpoint-log-disabled`,60075),briefcase:I(`briefcase`,60076),broadcast:I(`broadcast`,60077),browser:I(`browser`,60078),bug:I(`bug`,60079),calendar:I(`calendar`,60080),caseSensitive:I(`case-sensitive`,60081),check:I(`check`,60082),checklist:I(`checklist`,60083),chevronDown:I(`chevron-down`,60084),chevronLeft:I(`chevron-left`,60085),chevronRight:I(`chevron-right`,60086),chevronUp:I(`chevron-up`,60087),chromeClose:I(`chrome-close`,60088),chromeMaximize:I(`chrome-maximize`,60089),chromeMinimize:I(`chrome-minimize`,60090),chromeRestore:I(`chrome-restore`,60091),circleOutline:I(`circle-outline`,60092),circle:I(`circle`,60092),debugBreakpointUnverified:I(`debug-breakpoint-unverified`,60092),terminalDecorationIncomplete:I(`terminal-decoration-incomplete`,60092),circleSlash:I(`circle-slash`,60093),circuitBoard:I(`circuit-board`,60094),clearAll:I(`clear-all`,60095),clippy:I(`clippy`,60096),closeAll:I(`close-all`,60097),cloudDownload:I(`cloud-download`,60098),cloudUpload:I(`cloud-upload`,60099),code:I(`code`,60100),collapseAll:I(`collapse-all`,60101),colorMode:I(`color-mode`,60102),commentDiscussion:I(`comment-discussion`,60103),creditCard:I(`credit-card`,60105),dash:I(`dash`,60108),dashboard:I(`dashboard`,60109),database:I(`database`,60110),debugContinue:I(`debug-continue`,60111),debugDisconnect:I(`debug-disconnect`,60112),debugPause:I(`debug-pause`,60113),debugRestart:I(`debug-restart`,60114),debugStart:I(`debug-start`,60115),debugStepInto:I(`debug-step-into`,60116),debugStepOut:I(`debug-step-out`,60117),debugStepOver:I(`debug-step-over`,60118),debugStop:I(`debug-stop`,60119),debug:I(`debug`,60120),deviceCameraVideo:I(`device-camera-video`,60121),deviceCamera:I(`device-camera`,60122),deviceMobile:I(`device-mobile`,60123),diffAdded:I(`diff-added`,60124),diffIgnored:I(`diff-ignored`,60125),diffModified:I(`diff-modified`,60126),diffRemoved:I(`diff-removed`,60127),diffRenamed:I(`diff-renamed`,60128),diff:I(`diff`,60129),diffSidebyside:I(`diff-sidebyside`,60129),discard:I(`discard`,60130),editorLayout:I(`editor-layout`,60131),emptyWindow:I(`empty-window`,60132),exclude:I(`exclude`,60133),extensions:I(`extensions`,60134),eyeClosed:I(`eye-closed`,60135),fileBinary:I(`file-binary`,60136),fileCode:I(`file-code`,60137),fileMedia:I(`file-media`,60138),filePdf:I(`file-pdf`,60139),fileSubmodule:I(`file-submodule`,60140),fileSymlinkDirectory:I(`file-symlink-directory`,60141),fileSymlinkFile:I(`file-symlink-file`,60142),fileZip:I(`file-zip`,60143),files:I(`files`,60144),filter:I(`filter`,60145),flame:I(`flame`,60146),foldDown:I(`fold-down`,60147),foldUp:I(`fold-up`,60148),fold:I(`fold`,60149),folderActive:I(`folder-active`,60150),folderOpened:I(`folder-opened`,60151),gear:I(`gear`,60152),gift:I(`gift`,60153),gistSecret:I(`gist-secret`,60154),gist:I(`gist`,60155),gitCommit:I(`git-commit`,60156),gitCompare:I(`git-compare`,60157),compareChanges:I(`compare-changes`,60157),gitMerge:I(`git-merge`,60158),githubAction:I(`github-action`,60159),githubAlt:I(`github-alt`,60160),globe:I(`globe`,60161),grabber:I(`grabber`,60162),graph:I(`graph`,60163),gripper:I(`gripper`,60164),heart:I(`heart`,60165),home:I(`home`,60166),horizontalRule:I(`horizontal-rule`,60167),hubot:I(`hubot`,60168),inbox:I(`inbox`,60169),issueReopened:I(`issue-reopened`,60171),issues:I(`issues`,60172),italic:I(`italic`,60173),jersey:I(`jersey`,60174),json:I(`json`,60175),kebabVertical:I(`kebab-vertical`,60176),key:I(`key`,60177),law:I(`law`,60178),lightbulbAutofix:I(`lightbulb-autofix`,60179),linkExternal:I(`link-external`,60180),link:I(`link`,60181),listOrdered:I(`list-ordered`,60182),listUnordered:I(`list-unordered`,60183),liveShare:I(`live-share`,60184),loading:I(`loading`,60185),location:I(`location`,60186),mailRead:I(`mail-read`,60187),mail:I(`mail`,60188),markdown:I(`markdown`,60189),megaphone:I(`megaphone`,60190),mention:I(`mention`,60191),milestone:I(`milestone`,60192),gitPullRequestMilestone:I(`git-pull-request-milestone`,60192),mortarBoard:I(`mortar-board`,60193),move:I(`move`,60194),multipleWindows:I(`multiple-windows`,60195),mute:I(`mute`,60196),noNewline:I(`no-newline`,60197),note:I(`note`,60198),octoface:I(`octoface`,60199),openPreview:I(`open-preview`,60200),package:I(`package`,60201),paintcan:I(`paintcan`,60202),pin:I(`pin`,60203),play:I(`play`,60204),run:I(`run`,60204),plug:I(`plug`,60205),preserveCase:I(`preserve-case`,60206),preview:I(`preview`,60207),project:I(`project`,60208),pulse:I(`pulse`,60209),question:I(`question`,60210),quote:I(`quote`,60211),radioTower:I(`radio-tower`,60212),reactions:I(`reactions`,60213),references:I(`references`,60214),refresh:I(`refresh`,60215),regex:I(`regex`,60216),remoteExplorer:I(`remote-explorer`,60217),remote:I(`remote`,60218),remove:I(`remove`,60219),replaceAll:I(`replace-all`,60220),replace:I(`replace`,60221),repoClone:I(`repo-clone`,60222),repoForcePush:I(`repo-force-push`,60223),repoPull:I(`repo-pull`,60224),repoPush:I(`repo-push`,60225),report:I(`report`,60226),requestChanges:I(`request-changes`,60227),rocket:I(`rocket`,60228),rootFolderOpened:I(`root-folder-opened`,60229),rootFolder:I(`root-folder`,60230),rss:I(`rss`,60231),ruby:I(`ruby`,60232),saveAll:I(`save-all`,60233),saveAs:I(`save-as`,60234),save:I(`save`,60235),screenFull:I(`screen-full`,60236),screenNormal:I(`screen-normal`,60237),searchStop:I(`search-stop`,60238),server:I(`server`,60240),settingsGear:I(`settings-gear`,60241),settings:I(`settings`,60242),shield:I(`shield`,60243),smiley:I(`smiley`,60244),sortPrecedence:I(`sort-precedence`,60245),splitHorizontal:I(`split-horizontal`,60246),splitVertical:I(`split-vertical`,60247),squirrel:I(`squirrel`,60248),starFull:I(`star-full`,60249),starHalf:I(`star-half`,60250),symbolClass:I(`symbol-class`,60251),symbolColor:I(`symbol-color`,60252),symbolConstant:I(`symbol-constant`,60253),symbolEnumMember:I(`symbol-enum-member`,60254),symbolField:I(`symbol-field`,60255),symbolFile:I(`symbol-file`,60256),symbolInterface:I(`symbol-interface`,60257),symbolKeyword:I(`symbol-keyword`,60258),symbolMisc:I(`symbol-misc`,60259),symbolOperator:I(`symbol-operator`,60260),symbolProperty:I(`symbol-property`,60261),wrench:I(`wrench`,60261),wrenchSubaction:I(`wrench-subaction`,60261),symbolSnippet:I(`symbol-snippet`,60262),tasklist:I(`tasklist`,60263),telescope:I(`telescope`,60264),textSize:I(`text-size`,60265),threeBars:I(`three-bars`,60266),thumbsdown:I(`thumbsdown`,60267),thumbsup:I(`thumbsup`,60268),tools:I(`tools`,60269),triangleDown:I(`triangle-down`,60270),triangleLeft:I(`triangle-left`,60271),triangleRight:I(`triangle-right`,60272),triangleUp:I(`triangle-up`,60273),twitter:I(`twitter`,60274),unfold:I(`unfold`,60275),unlock:I(`unlock`,60276),unmute:I(`unmute`,60277),unverified:I(`unverified`,60278),verified:I(`verified`,60279),versions:I(`versions`,60280),vmActive:I(`vm-active`,60281),vmOutline:I(`vm-outline`,60282),vmRunning:I(`vm-running`,60283),watch:I(`watch`,60284),whitespace:I(`whitespace`,60285),wholeWord:I(`whole-word`,60286),window:I(`window`,60287),wordWrap:I(`word-wrap`,60288),zoomIn:I(`zoom-in`,60289),zoomOut:I(`zoom-out`,60290),listFilter:I(`list-filter`,60291),listFlat:I(`list-flat`,60292),listSelection:I(`list-selection`,60293),selection:I(`selection`,60293),listTree:I(`list-tree`,60294),debugBreakpointFunctionUnverified:I(`debug-breakpoint-function-unverified`,60295),debugBreakpointFunction:I(`debug-breakpoint-function`,60296),debugBreakpointFunctionDisabled:I(`debug-breakpoint-function-disabled`,60296),debugStackframeActive:I(`debug-stackframe-active`,60297),circleSmallFilled:I(`circle-small-filled`,60298),debugStackframeDot:I(`debug-stackframe-dot`,60298),terminalDecorationMark:I(`terminal-decoration-mark`,60298),debugStackframe:I(`debug-stackframe`,60299),debugStackframeFocused:I(`debug-stackframe-focused`,60299),debugBreakpointUnsupported:I(`debug-breakpoint-unsupported`,60300),symbolString:I(`symbol-string`,60301),debugReverseContinue:I(`debug-reverse-continue`,60302),debugStepBack:I(`debug-step-back`,60303),debugRestartFrame:I(`debug-restart-frame`,60304),debugAlt:I(`debug-alt`,60305),callIncoming:I(`call-incoming`,60306),callOutgoing:I(`call-outgoing`,60307),menu:I(`menu`,60308),expandAll:I(`expand-all`,60309),feedback:I(`feedback`,60310),gitPullRequestReviewer:I(`git-pull-request-reviewer`,60310),groupByRefType:I(`group-by-ref-type`,60311),ungroupByRefType:I(`ungroup-by-ref-type`,60312),account:I(`account`,60313),gitPullRequestAssignee:I(`git-pull-request-assignee`,60313),bellDot:I(`bell-dot`,60314),debugConsole:I(`debug-console`,60315),library:I(`library`,60316),output:I(`output`,60317),runAll:I(`run-all`,60318),syncIgnored:I(`sync-ignored`,60319),pinned:I(`pinned`,60320),githubInverted:I(`github-inverted`,60321),serverProcess:I(`server-process`,60322),serverEnvironment:I(`server-environment`,60323),pass:I(`pass`,60324),issueClosed:I(`issue-closed`,60324),stopCircle:I(`stop-circle`,60325),playCircle:I(`play-circle`,60326),record:I(`record`,60327),debugAltSmall:I(`debug-alt-small`,60328),vmConnect:I(`vm-connect`,60329),cloud:I(`cloud`,60330),merge:I(`merge`,60331),export:I(`export`,60332),graphLeft:I(`graph-left`,60333),magnet:I(`magnet`,60334),notebook:I(`notebook`,60335),redo:I(`redo`,60336),checkAll:I(`check-all`,60337),pinnedDirty:I(`pinned-dirty`,60338),passFilled:I(`pass-filled`,60339),circleLargeFilled:I(`circle-large-filled`,60340),circleLarge:I(`circle-large`,60341),circleLargeOutline:I(`circle-large-outline`,60341),combine:I(`combine`,60342),gather:I(`gather`,60342),table:I(`table`,60343),variableGroup:I(`variable-group`,60344),typeHierarchy:I(`type-hierarchy`,60345),typeHierarchySub:I(`type-hierarchy-sub`,60346),typeHierarchySuper:I(`type-hierarchy-super`,60347),gitPullRequestCreate:I(`git-pull-request-create`,60348),runAbove:I(`run-above`,60349),runBelow:I(`run-below`,60350),notebookTemplate:I(`notebook-template`,60351),debugRerun:I(`debug-rerun`,60352),workspaceTrusted:I(`workspace-trusted`,60353),workspaceUntrusted:I(`workspace-untrusted`,60354),workspaceUnknown:I(`workspace-unknown`,60355),terminalCmd:I(`terminal-cmd`,60356),terminalDebian:I(`terminal-debian`,60357),terminalLinux:I(`terminal-linux`,60358),terminalPowershell:I(`terminal-powershell`,60359),terminalTmux:I(`terminal-tmux`,60360),terminalUbuntu:I(`terminal-ubuntu`,60361),terminalBash:I(`terminal-bash`,60362),arrowSwap:I(`arrow-swap`,60363),copy:I(`copy`,60364),personAdd:I(`person-add`,60365),filterFilled:I(`filter-filled`,60366),wand:I(`wand`,60367),debugLineByLine:I(`debug-line-by-line`,60368),inspect:I(`inspect`,60369),layers:I(`layers`,60370),layersDot:I(`layers-dot`,60371),layersActive:I(`layers-active`,60372),compass:I(`compass`,60373),compassDot:I(`compass-dot`,60374),compassActive:I(`compass-active`,60375),azure:I(`azure`,60376),issueDraft:I(`issue-draft`,60377),gitPullRequestClosed:I(`git-pull-request-closed`,60378),gitPullRequestDraft:I(`git-pull-request-draft`,60379),debugAll:I(`debug-all`,60380),debugCoverage:I(`debug-coverage`,60381),runErrors:I(`run-errors`,60382),folderLibrary:I(`folder-library`,60383),debugContinueSmall:I(`debug-continue-small`,60384),beakerStop:I(`beaker-stop`,60385),graphLine:I(`graph-line`,60386),graphScatter:I(`graph-scatter`,60387),pieChart:I(`pie-chart`,60388),bracket:I(`bracket`,60175),bracketDot:I(`bracket-dot`,60389),bracketError:I(`bracket-error`,60390),lockSmall:I(`lock-small`,60391),azureDevops:I(`azure-devops`,60392),verifiedFilled:I(`verified-filled`,60393),newline:I(`newline`,60394),layout:I(`layout`,60395),layoutActivitybarLeft:I(`layout-activitybar-left`,60396),layoutActivitybarRight:I(`layout-activitybar-right`,60397),layoutPanelLeft:I(`layout-panel-left`,60398),layoutPanelCenter:I(`layout-panel-center`,60399),layoutPanelJustify:I(`layout-panel-justify`,60400),layoutPanelRight:I(`layout-panel-right`,60401),layoutPanel:I(`layout-panel`,60402),layoutSidebarLeft:I(`layout-sidebar-left`,60403),layoutSidebarRight:I(`layout-sidebar-right`,60404),layoutStatusbar:I(`layout-statusbar`,60405),layoutMenubar:I(`layout-menubar`,60406),layoutCentered:I(`layout-centered`,60407),target:I(`target`,60408),indent:I(`indent`,60409),recordSmall:I(`record-small`,60410),errorSmall:I(`error-small`,60411),terminalDecorationError:I(`terminal-decoration-error`,60411),arrowCircleDown:I(`arrow-circle-down`,60412),arrowCircleLeft:I(`arrow-circle-left`,60413),arrowCircleRight:I(`arrow-circle-right`,60414),arrowCircleUp:I(`arrow-circle-up`,60415),layoutSidebarRightOff:I(`layout-sidebar-right-off`,60416),layoutPanelOff:I(`layout-panel-off`,60417),layoutSidebarLeftOff:I(`layout-sidebar-left-off`,60418),blank:I(`blank`,60419),heartFilled:I(`heart-filled`,60420),map:I(`map`,60421),mapHorizontal:I(`map-horizontal`,60421),foldHorizontal:I(`fold-horizontal`,60421),mapFilled:I(`map-filled`,60422),mapHorizontalFilled:I(`map-horizontal-filled`,60422),foldHorizontalFilled:I(`fold-horizontal-filled`,60422),circleSmall:I(`circle-small`,60423),bellSlash:I(`bell-slash`,60424),bellSlashDot:I(`bell-slash-dot`,60425),commentUnresolved:I(`comment-unresolved`,60426),gitPullRequestGoToChanges:I(`git-pull-request-go-to-changes`,60427),gitPullRequestNewChanges:I(`git-pull-request-new-changes`,60428),searchFuzzy:I(`search-fuzzy`,60429),commentDraft:I(`comment-draft`,60430),send:I(`send`,60431),sparkle:I(`sparkle`,60432),insert:I(`insert`,60433),mic:I(`mic`,60434),thumbsdownFilled:I(`thumbsdown-filled`,60435),thumbsupFilled:I(`thumbsup-filled`,60436),coffee:I(`coffee`,60437),snake:I(`snake`,60438),game:I(`game`,60439),vr:I(`vr`,60440),chip:I(`chip`,60441),piano:I(`piano`,60442),music:I(`music`,60443),micFilled:I(`mic-filled`,60444),repoFetch:I(`repo-fetch`,60445),copilot:I(`copilot`,60446),lightbulbSparkle:I(`lightbulb-sparkle`,60447),robot:I(`robot`,60448),sparkleFilled:I(`sparkle-filled`,60449),diffSingle:I(`diff-single`,60450),diffMultiple:I(`diff-multiple`,60451),surroundWith:I(`surround-with`,60452),share:I(`share`,60453),gitStash:I(`git-stash`,60454),gitStashApply:I(`git-stash-apply`,60455),gitStashPop:I(`git-stash-pop`,60456),vscode:I(`vscode`,60457),vscodeInsiders:I(`vscode-insiders`,60458),codeOss:I(`code-oss`,60459),runCoverage:I(`run-coverage`,60460),runAllCoverage:I(`run-all-coverage`,60461),coverage:I(`coverage`,60462),githubProject:I(`github-project`,60463),mapVertical:I(`map-vertical`,60464),foldVertical:I(`fold-vertical`,60464),mapVerticalFilled:I(`map-vertical-filled`,60465),foldVerticalFilled:I(`fold-vertical-filled`,60465),goToSearch:I(`go-to-search`,60466),percentage:I(`percentage`,60467),sortPercentage:I(`sort-percentage`,60467),attach:I(`attach`,60468),goToEditingSession:I(`go-to-editing-session`,60469),editSession:I(`edit-session`,60470),codeReview:I(`code-review`,60471),copilotWarning:I(`copilot-warning`,60472),python:I(`python`,60473),copilotLarge:I(`copilot-large`,60474),copilotWarningLarge:I(`copilot-warning-large`,60475),keyboardTab:I(`keyboard-tab`,60476),copilotBlocked:I(`copilot-blocked`,60477),copilotNotConnected:I(`copilot-not-connected`,60478),flag:I(`flag`,60479),lightbulbEmpty:I(`lightbulb-empty`,60480),symbolMethodArrow:I(`symbol-method-arrow`,60481),copilotUnavailable:I(`copilot-unavailable`,60482),repoPinned:I(`repo-pinned`,60483),keyboardTabAbove:I(`keyboard-tab-above`,60484),keyboardTabBelow:I(`keyboard-tab-below`,60485),gitPullRequestDone:I(`git-pull-request-done`,60486),mcp:I(`mcp`,60487),extensionsLarge:I(`extensions-large`,60488),layoutPanelDock:I(`layout-panel-dock`,60489),layoutSidebarLeftDock:I(`layout-sidebar-left-dock`,60490),layoutSidebarRightDock:I(`layout-sidebar-right-dock`,60491),copilotInProgress:I(`copilot-in-progress`,60492),copilotError:I(`copilot-error`,60493),copilotSuccess:I(`copilot-success`,60494),chatSparkle:I(`chat-sparkle`,60495),searchSparkle:I(`search-sparkle`,60496),editSparkle:I(`edit-sparkle`,60497),copilotSnooze:I(`copilot-snooze`,60498),sendToRemoteAgent:I(`send-to-remote-agent`,60499),commentDiscussionSparkle:I(`comment-discussion-sparkle`,60500),chatSparkleWarning:I(`chat-sparkle-warning`,60501),chatSparkleError:I(`chat-sparkle-error`,60502),collection:I(`collection`,60503),newCollection:I(`new-collection`,60504),thinking:I(`thinking`,60505),build:I(`build`,60506),commentDiscussionQuote:I(`comment-discussion-quote`,60507),cursor:I(`cursor`,60508),eraser:I(`eraser`,60509),fileText:I(`file-text`,60510),gitLens:I(`git-lens`,60511),quotes:I(`quotes`,60512),rename:I(`rename`,60513),runWithDeps:I(`run-with-deps`,60514),debugConnected:I(`debug-connected`,60515),strikethrough:I(`strikethrough`,60516),openInProduct:I(`open-in-product`,60517),indexZero:I(`index-zero`,60518),agent:I(`agent`,60519),editCode:I(`edit-code`,60520),repoSelected:I(`repo-selected`,60521),skip:I(`skip`,60522),mergeInto:I(`merge-into`,60523),gitBranchChanges:I(`git-branch-changes`,60524),gitBranchStagedChanges:I(`git-branch-staged-changes`,60525),gitBranchConflicts:I(`git-branch-conflicts`,60526),gitBranch:I(`git-branch`,60527),gitBranchCreate:I(`git-branch-create`,60527),gitBranchDelete:I(`git-branch-delete`,60527),searchLarge:I(`search-large`,60528),terminalGitBash:I(`terminal-git-bash`,60529)},sne={dialogError:I(`dialog-error`,`error`),dialogWarning:I(`dialog-warning`,`warning`),dialogInfo:I(`dialog-info`,`info`),dialogClose:I(`dialog-close`,`close`),treeItemExpanded:I(`tree-item-expanded`,`chevron-down`),treeFilterOnTypeOn:I(`tree-filter-on-type-on`,`list-filter`),treeFilterOnTypeOff:I(`tree-filter-on-type-off`,`list-selection`),treeFilterClear:I(`tree-filter-clear`,`close`),treeItemLoading:I(`tree-item-loading`,`loading`),menuSelection:I(`menu-selection`,`check`),menuSubmenu:I(`menu-submenu`,`chevron-right`),menuBarMore:I(`menubar-more`,`more`),scrollbarButtonLeft:I(`scrollbar-button-left`,`triangle-left`),scrollbarButtonRight:I(`scrollbar-button-right`,`triangle-right`),scrollbarButtonUp:I(`scrollbar-button-up`,`triangle-up`),scrollbarButtonDown:I(`scrollbar-button-down`,`triangle-down`),toolBarMore:I(`toolbar-more`,`more`),quickInputBack:I(`quick-input-back`,`arrow-left`),dropDownButton:I(`drop-down-button`,60084),symbolCustomColor:I(`symbol-customcolor`,60252),exportIcon:I(`export`,60332),workspaceUnspecified:I(`workspace-unspecified`,60355),newLine:I(`newline`,60394),thumbsDownFilled:I(`thumbsdown-filled`,60435),thumbsUpFilled:I(`thumbsup-filled`,60436),gitFetch:I(`git-fetch`,60445),lightbulbSparkleAutofix:I(`lightbulb-sparkle-autofix`,60447),debugBreakpointPending:I(`debug-breakpoint-pending`,60377)},L={...one,...sne},Bs;(function(e){function t(e){return!!e&&typeof e==`object`&&typeof e.id==`string`}e.isThemeColor=t})(Bs||={});var Vs;(function(e){e.iconNameSegment=`[A-Za-z0-9]+`,e.iconNameExpression=`[A-Za-z0-9-]+`,e.iconModifierExpression=`~[A-Za-z]+`,e.iconNameCharacter=`[A-Za-z0-9~-]`;let t=RegExp(`^(${e.iconNameExpression})(${e.iconModifierExpression})?$`);function n(e){let r=t.exec(e.id);if(!r)return n(L.error);let[,i,a]=r,o=[`codicon`,`codicon-`+i];return a&&o.push(`codicon-modifier-`+a.substring(1)),o}e.asClassNameArray=n;function r(e){return n(e).join(` `)}e.asClassName=r;function i(e){return`.`+n(e).join(`.`)}e.asCSSSelector=i;function a(e){return!!e&&typeof e==`object`&&typeof e.id==`string`&&(e.color===void 0||Bs.isThemeColor(e.color))}e.isThemeIcon=a;let o=RegExp(`^\\$\\((${e.iconNameExpression}(?:${e.iconModifierExpression})?)\\)$`);function s(e){let t=o.exec(e);if(!t)return;let[,n]=t;return{id:n}}e.fromString=s;function c(e){return{id:e}}e.fromId=c;function l(e,t){let n=e.id,r=n.lastIndexOf(`~`);return r!==-1&&(n=n.substring(0,r)),t&&(n=`${n}~${t}`),{id:n}}e.modify=l;function u(e){let t=e.id.lastIndexOf(`~`);if(t!==-1)return e.id.substring(t+1)}e.getModifier=u;function d(e,t){return e.id===t.id&&e.color?.id===t.color?.id}e.isEqual=d;function f(e){return e?.id===L.file.id}e.isFile=f;function p(e){return e?.id===L.folder.id}e.isFolder=p})(Vs||={});var Hs=ks(`commandService`),Us=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new k,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(e,t){if(!e)throw Error(`invalid command`);if(typeof e==`string`){if(!t)throw Error(`invalid command`);return this.registerCommand({id:e,handler:t})}if(e.metadata&&Array.isArray(e.metadata.args)){let t=[];for(let n of e.metadata.args)t.push(n.constraint);let n=e.handler;e.handler=function(e,...r){return Me(r,t),n(e,...r)}}let{id:n}=e,r=this._commands.get(n);r||(r=new Gt,this._commands.set(n,r));let i=r.unshift(e),a=T(()=>{i(),this._commands.get(n)?.isEmpty()&&this._commands.delete(n)});return this._onDidRegisterCommand.fire(n),Lt(a)}registerCommandAlias(e,t){return Us.registerCommand(e,(e,...n)=>e.get(Hs).executeCommand(t,...n))}getCommand(e){let t=this._commands.get(e);if(!(!t||t.isEmpty()))return It.first(t)}getCommands(){let e=new Map;for(let t of this._commands.keys()){let n=this.getCommand(t);n&&e.set(t,n)}return e}};Us.registerCommand(`noop`,()=>{});function Ws(...e){switch(e.length){case 1:return s(1693,`Did you mean {0}?`,e[0]);case 2:return s(1694,`Did you mean {0} or {1}?`,e[0],e[1]);case 3:return s(1695,`Did you mean {0}, {1} or {2}?`,e[0],e[1],e[2]);default:return}}var cne=s(1696,`Did you forget to open or close the quote?`),lne=s(1697,`Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.`),Gs=class e{constructor(){this._input=``,this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return`(`;case 1:return`)`;case 2:return`!`;case 3:return e.isTripleEq?`===`:`==`;case 4:return e.isTripleEq?`!==`:`!=`;case 5:return`<`;case 6:return`<=`;case 7:return`>=`;case 8:return`>=`;case 9:return`=~`;case 10:return e.lexeme;case 11:return`true`;case 12:return`false`;case 13:return`in`;case 14:return`not`;case 15:return`&&`;case 16:return`||`;case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return`EOF`;default:throw ue(`unhandled token type: ${JSON.stringify(e)}; have you forgotten to add a case?`)}}static{this._regexFlags=new Set([`i`,`g`,`s`,`m`,`y`,`u`].map(e=>e.charCodeAt(0)))}static{this._keywords=new Map([[`not`,14],[`in`,13],[`false`,12],[`true`,11]])}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){let e=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:e})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){let e=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:e})}else this._match(126)?this._addToken(9):this._error(Ws(`==`,`=~`));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(Ws(`&&`));break;case 124:this._match(124)?this._addToken(16):this._error(Ws(`||`));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){let t=this._start,n=this._input.substring(this._start,this._current),r={type:19,offset:this._start,lexeme:n};this._errors.push({offset:t,lexeme:n,additionalInfo:e}),this._tokens.push(r)}_string(){this.stringRe.lastIndex=this._start;let t=this.stringRe.exec(this._input);if(t){this._current=this._start+t[0].length;let n=this._input.substring(this._start,this._current),r=e._keywords.get(n);r?this._addToken(r):this._tokens.push({type:17,lexeme:n,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(cne);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let t=this._current,n=!1,r=!1;for(;;){if(t>=this._input.length){this._current=t,this._error(lne);return}let e=this._input.charCodeAt(t);if(n)n=!1;else if(e===47&&!r){t++;break}else e===91?r=!0:e===92?n=!0:e===93&&(r=!1);t++}for(;t=this._input.length}},Ks=new Map;Ks.set(`false`,!1),Ks.set(`true`,!0),Ks.set(`isMac`,Ye),Ks.set(`isLinux`,Xe),Ks.set(`isWindows`,Je),Ks.set(`isWeb`,Qe),Ks.set(`isMacNative`,Ye&&!Qe),Ks.set(`isEdge`,mt),Ks.set(`isFirefox`,ft),Ks.set(`isChrome`,dt),Ks.set(`isSafari`,pt);var une=Object.prototype.hasOwnProperty,dne={regexParsingWithErrorRecovery:!0},fne=s(1675,`Empty context key expression`),pne=s(1676,`Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively.`),mne=s(1677,`'in' after 'not'.`),qs=s(1678,`closing parenthesis ')'`),hne=s(1679,`Unexpected token`),gne=s(1680,`Did you forget to put && or || before the token?`),_ne=s(1681,`Unexpected end of expression`),vne=s(1682,`Did you forget to put a context key?`),yne=class e{static{this._parseError=Error()}constructor(e=dne){this._config=e,this._scanner=new Gs,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(t){if(t===``){this._parsingErrors.push({message:fne,offset:0,lexeme:``,additionalInfo:pne});return}this._tokens=this._scanner.reset(t).scan(),this._current=0,this._parsingErrors=[];try{let t=this._expr();if(!this._isAtEnd()){let t=this._peek(),n=t.type===17?gne:void 0;throw this._parsingErrors.push({message:hne,offset:t.offset,lexeme:Gs.getLexeme(t),additionalInfo:n}),e._parseError}return t}catch(t){if(t!==e._parseError)throw t;return}}_expr(){return this._or()}_or(){let e=[this._and()];for(;this._matchOne(16);){let t=this._and();e.push(t)}return e.length===1?e[0]:R.or(...e)}_and(){let e=[this._term()];for(;this._matchOne(15);){let t=this._term();e.push(t)}return e.length===1?e[0]:R.and(...e)}_term(){if(this._matchOne(2)){let e=this._peek();switch(e.type){case 11:return this._advance(),Ys.INSTANCE;case 12:return this._advance(),Xs.INSTANCE;case 0:{this._advance();let e=this._expr();return this._consume(1,qs),e?.negate()}case 17:return this._advance(),nc.create(e.lexeme);default:throw this._errExpectedButGot(`KEY | true | false | '(' expression ')'`,e)}}return this._primary()}_primary(){let t=this._peek();switch(t.type){case 11:return this._advance(),R.true();case 12:return this._advance(),R.false();case 0:{this._advance();let e=this._expr();return this._consume(1,qs),e}case 17:{let e=t.lexeme;if(this._advance(),this._matchOne(9)){let t=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),t.type!==10)throw this._errExpectedButGot(`REGEX`,t);let n=t.lexeme,r=n.lastIndexOf(`/`),i=r===n.length-1?void 0:this._removeFlagsGY(n.substring(r+1)),a;try{a=new RegExp(n.substring(1,r),i)}catch{throw this._errExpectedButGot(`REGEX`,t)}return cc.create(e,a)}switch(t.type){case 10:case 19:{let n=[t.lexeme];this._advance();let r=this._peek(),i=0;for(let e=0;e=0){let a=n.slice(e+1,i),o=n[i+1]===`i`?`i`:``;try{r=new RegExp(a,o)}catch{throw this._errExpectedButGot(`REGEX`,t)}}}if(r===null)throw this._errExpectedButGot(`REGEX`,t);return cc.create(e,r)}default:throw this._errExpectedButGot(`REGEX`,this._peek())}}if(this._matchOne(14)){this._consume(13,mne);let t=this._value();return R.notIn(e,t)}switch(this._peek().type){case 3:{this._advance();let t=this._value();if(this._previous().type===18)return R.equals(e,t);switch(t){case`true`:return R.has(e);case`false`:return R.not(e);default:return R.equals(e,t)}}case 4:{this._advance();let t=this._value();if(this._previous().type===18)return R.notEquals(e,t);switch(t){case`true`:return R.not(e);case`false`:return R.has(e);default:return R.notEquals(e,t)}}case 5:return this._advance(),oc.create(e,this._value());case 6:return this._advance(),sc.create(e,this._value());case 7:return this._advance(),ic.create(e,this._value());case 8:return this._advance(),ac.create(e,this._value());case 13:return this._advance(),R.in(e,this._value());default:return R.has(e)}}case 20:throw this._parsingErrors.push({message:_ne,offset:t.offset,lexeme:``,additionalInfo:vne}),e._parseError;default:throw this._errExpectedButGot(`true | false | KEY - | KEY '=~' REGEX - | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value`,this._peek())}}_value(){let e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),`true`;case 12:return this._advance(),`false`;case 13:return this._advance(),`in`;default:return``}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,``)}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(t,n,r){let i=s(1683,`Expected: {0} -Received: '{1}'.`,t,Gs.getLexeme(n)),a=n.offset,o=Gs.getLexeme(n);return this._parsingErrors.push({message:i,offset:a,lexeme:o,additionalInfo:r}),e._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},R=class{static false(){return Ys.INSTANCE}static true(){return Xs.INSTANCE}static has(e){return Zs.create(e)}static equals(e,t){return Qs.create(e,t)}static notEquals(e,t){return tc.create(e,t)}static regex(e,t){return cc.create(e,t)}static in(e,t){return $s.create(e,t)}static notIn(e,t){return ec.create(e,t)}static not(e){return nc.create(e)}static and(...e){return uc.create(e,null,!0)}static or(...e){return dc.create(e,null,!0)}static{this._parser=new yne({regexParsingWithErrorRecovery:!1})}static deserialize(e){if(e!=null)return this._parser.parse(e)}};function bne(e,t){let n=e?e.substituteConstants():void 0,r=t?t.substituteConstants():void 0;return!n&&!r?!0:!n||!r?!1:n.equals(r)}function Js(e,t){return e.cmp(t)}var Ys=class e{static{this.INSTANCE=new e}constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return`false`}keys(){return[]}negate(){return Xs.INSTANCE}},Xs=class e{static{this.INSTANCE=new e}constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return`true`}keys(){return[]}negate(){return Ys.INSTANCE}},Zs=class e{static create(t,n=null){let r=Ks.get(t);return typeof r==`boolean`?r?Xs.INSTANCE:Ys.INSTANCE:new e(t,n)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type===this.type?pc(this.key,e.key):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){let e=Ks.get(this.key);return typeof e==`boolean`?e?Xs.INSTANCE:Ys.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||=nc.create(this.key,this),this.negated}},Qs=class e{static create(t,n,r=null){if(typeof n==`boolean`)return n?Zs.create(t,r):nc.create(t,r);let i=Ks.get(t);return typeof i==`boolean`?n===(i?`true`:`false`)?Xs.INSTANCE:Ys.INSTANCE:new e(t,n,r)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=4}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){let e=Ks.get(this.key);if(typeof e==`boolean`){let t=e?`true`:`false`;return this.value===t?Xs.INSTANCE:Ys.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return`${this.key} == '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||=tc.create(this.key,this.value,this),this.negated}},$s=class e{static create(t,n){return new e(t,n)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type===this.type?mc(this.key,this.valueKey,e.key,e.valueKey):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){let t=e.getValue(this.valueKey),n=e.getValue(this.key);return Array.isArray(t)?t.includes(n):typeof n==`string`&&typeof t==`object`&&t?une.call(t,n):!1}serialize(){return`${this.key} in '${this.valueKey}'`}keys(){return[this.key,this.valueKey]}negate(){return this.negated||=ec.create(this.key,this.valueKey),this.negated}},ec=class e{static create(t,n){return new e(t,n)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=$s.create(e,t)}cmp(e){return e.type===this.type?this._negated.cmp(e._negated):this.type-e.type}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return`${this.key} not in '${this.valueKey}'`}keys(){return this._negated.keys()}negate(){return this._negated}},tc=class e{static create(t,n,r=null){if(typeof n==`boolean`)return n?nc.create(t,r):Zs.create(t,r);let i=Ks.get(t);return typeof i==`boolean`?n===(i?`true`:`false`)?Ys.INSTANCE:Xs.INSTANCE:new e(t,n,r)}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=5}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){let e=Ks.get(this.key);if(typeof e==`boolean`){let t=e?`true`:`false`;return this.value===t?Ys.INSTANCE:Xs.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return`${this.key} != '${this.value}'`}keys(){return[this.key]}negate(){return this.negated||=Qs.create(this.key,this.value,this),this.negated}},nc=class e{static create(t,n=null){let r=Ks.get(t);return typeof r==`boolean`?r?Ys.INSTANCE:Xs.INSTANCE:new e(t,n)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type===this.type?pc(this.key,e.key):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){let e=Ks.get(this.key);return typeof e==`boolean`?e?Ys.INSTANCE:Xs.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return`!${this.key}`}keys(){return[this.key]}negate(){return this.negated||=Zs.create(this.key,this),this.negated}};function rc(e,t){if(typeof e==`string`){let t=parseFloat(e);isNaN(t)||(e=t)}return typeof e==`string`||typeof e==`number`?t(e):Ys.INSTANCE}var ic=class e{static create(t,n,r=null){return rc(n,n=>new e(t,n,r))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=12}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value==`string`?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return`${this.key} > ${this.value}`}keys(){return[this.key]}negate(){return this.negated||=sc.create(this.key,this.value,this),this.negated}},ac=class e{static create(t,n,r=null){return rc(n,n=>new e(t,n,r))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=13}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value==`string`?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return`${this.key} >= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||=oc.create(this.key,this.value,this),this.negated}},oc=class e{static create(t,n,r=null){return rc(n,n=>new e(t,n,r))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=14}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value==`string`?!1:parseFloat(e.getValue(this.key))new e(t,n,r))}constructor(e,t,n){this.key=e,this.value=t,this.negated=n,this.type=15}cmp(e){return e.type===this.type?mc(this.key,this.value,e.key,e.value):this.type-e.type}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value==`string`?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return`${this.key} <= ${this.value}`}keys(){return[this.key]}negate(){return this.negated||=ic.create(this.key,this.value,this),this.negated}},cc=class e{static create(t,n){return new e(t,n)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;let t=this.regexp?this.regexp.source:``,n=e.regexp?e.regexp.source:``;return tn)}equals(e){if(e.type===this.type){let t=this.regexp?this.regexp.source:``,n=e.regexp?e.regexp.source:``;return this.key===e.key&&t===n}return!1}substituteConstants(){return this}evaluate(e){let t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){let e=this.regexp?`/${this.regexp.source}/${this.regexp.flags}`:`/invalid/`;return`${this.key} =~ ${e}`}keys(){return[this.key]}negate(){return this.negated||=xne.create(this),this.negated}},xne=class e{static create(t){return new e(t)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type===this.type?this._actual.cmp(e._actual):this.type-e.type}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return`!(${this._actual.serialize()})`}keys(){return this._actual.keys()}negate(){return this._actual}};function lc(e){let t=null;for(let n=0,r=e.length;ne.expr.length)return 1;for(let t=0,n=this.expr.length;t1;){let t=i[i.length-1];if(t.type!==9)break;i.pop();let n=i.pop(),a=i.length===0,o=dc.create(t.expr.map(t=>e.create([t,n],null,r)),null,a);o&&(i.push(o),i.sort(Js))}if(i.length===1)return i[0];if(r){for(let e=0;ee.serialize()).join(` && `)}keys(){let e=[];for(let t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){let e=[];for(let t of this.expr)e.push(t.negate());this.negated=dc.create(e,this,!0)}return this.negated}},dc=class e{static create(t,n,r){return e._normalizeArr(t,n,r)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,n=this.expr.length;te.serialize()).join(` || `)}keys(){let e=[];for(let t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){let t=[];for(let e of this.expr)t.push(e.negate());for(;t.length>1;){let n=t.shift(),r=t.shift(),i=[];for(let e of _c(n))for(let t of _c(r))i.push(uc.create([e,t],null,!1));t.unshift(e.create(i,null,!1))}this.negated=e.create(t,this,!0)}return this.negated}},z=class e extends Zs{static{this._info=[]}static all(){return e._info.values()}constructor(t,n,r){super(t,null),this._defaultValue=n,typeof r==`object`?e._info.push({...r,key:t}):r!==!0&&e._info.push({key:t,description:r,type:n==null?void 0:typeof n})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return Qs.create(this.key,e)}},fc=ks(`contextKeyService`);function pc(e,t){return et)}function mc(e,t,n,r){return en?1:tr)}function hc(e,t){if(e.type===0||t.type===1)return!0;if(e.type===9)return t.type===9?gc(e.expr,t.expr):!1;if(t.type===9){for(let n of t.expr)if(hc(e,n))return!0;return!1}if(e.type===6){if(t.type===6)return gc(t.expr,e.expr);for(let n of e.expr)if(hc(n,t))return!0;return!1}return e.equals(t)}function gc(e,t){let n=0,r=0;for(;n{je(e.dispose)&&e.dispose()}),this.data.clear()}},yc=new class e{constructor(){this._coreKeybindings=new Gt,this._extensionKeybindings=[],this._cachedMergedKeybindings=null}static bindToCurrentPlatform(e){if(st===1){if(e&&e.win)return e.win}else if(st===2){if(e&&e.mac)return e.mac}else if(e&&e.linux)return e.linux;return e}registerKeybindingRule(t){let n=e.bindToCurrentPlatform(t),r=new E;if(n&&n.primary){let e=Tt(n.primary,st);e&&r.add(this._registerDefaultKeybinding(e,t.id,t.args,t.weight,0,t.when))}if(n&&Array.isArray(n.secondary))for(let e=0,i=n.secondary.length;e{o(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(bc)),this._cachedMergedKeybindings.slice(0)}};vc.add({EditorModes:`platform.keybindingsRegistry`}.EditorModes,yc);function bc(e,t){if(e.weight1!==t.weight1)return e.weight1-t.weight1;if(e.command&&t.command){if(e.commandt.command)return 1}return e.weight2-t.weight2}var Sne=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},xc=function(e,t){return function(n,r){t(n,r,e)}},Sc;function Cc(e){return e.command!==void 0}function Cne(e){return e.submenu!==void 0}var B=class e{static{this._instances=new Map}static{this.CommandPalette=new e(`CommandPalette`)}static{this.DebugBreakpointsContext=new e(`DebugBreakpointsContext`)}static{this.DebugCallStackContext=new e(`DebugCallStackContext`)}static{this.DebugConsoleContext=new e(`DebugConsoleContext`)}static{this.DebugVariablesContext=new e(`DebugVariablesContext`)}static{this.NotebookVariablesContext=new e(`NotebookVariablesContext`)}static{this.DebugHoverContext=new e(`DebugHoverContext`)}static{this.DebugWatchContext=new e(`DebugWatchContext`)}static{this.DebugToolBar=new e(`DebugToolBar`)}static{this.DebugToolBarStop=new e(`DebugToolBarStop`)}static{this.DebugDisassemblyContext=new e(`DebugDisassemblyContext`)}static{this.DebugCallStackToolbar=new e(`DebugCallStackToolbar`)}static{this.DebugCreateConfiguration=new e(`DebugCreateConfiguration`)}static{this.EditorContext=new e(`EditorContext`)}static{this.SimpleEditorContext=new e(`SimpleEditorContext`)}static{this.EditorContent=new e(`EditorContent`)}static{this.EditorLineNumberContext=new e(`EditorLineNumberContext`)}static{this.EditorContextCopy=new e(`EditorContextCopy`)}static{this.EditorContextPeek=new e(`EditorContextPeek`)}static{this.EditorContextShare=new e(`EditorContextShare`)}static{this.EditorTitle=new e(`EditorTitle`)}static{this.CompactWindowEditorTitle=new e(`CompactWindowEditorTitle`)}static{this.EditorTitleRun=new e(`EditorTitleRun`)}static{this.EditorTitleContext=new e(`EditorTitleContext`)}static{this.EditorTitleContextShare=new e(`EditorTitleContextShare`)}static{this.EmptyEditorGroup=new e(`EmptyEditorGroup`)}static{this.EmptyEditorGroupContext=new e(`EmptyEditorGroupContext`)}static{this.EditorTabsBarContext=new e(`EditorTabsBarContext`)}static{this.EditorTabsBarShowTabsSubmenu=new e(`EditorTabsBarShowTabsSubmenu`)}static{this.EditorTabsBarShowTabsZenModeSubmenu=new e(`EditorTabsBarShowTabsZenModeSubmenu`)}static{this.EditorActionsPositionSubmenu=new e(`EditorActionsPositionSubmenu`)}static{this.EditorSplitMoveSubmenu=new e(`EditorSplitMoveSubmenu`)}static{this.ExplorerContext=new e(`ExplorerContext`)}static{this.ExplorerContextShare=new e(`ExplorerContextShare`)}static{this.ExtensionContext=new e(`ExtensionContext`)}static{this.ExtensionEditorContextMenu=new e(`ExtensionEditorContextMenu`)}static{this.GlobalActivity=new e(`GlobalActivity`)}static{this.CommandCenter=new e(`CommandCenter`)}static{this.CommandCenterCenter=new e(`CommandCenterCenter`)}static{this.LayoutControlMenuSubmenu=new e(`LayoutControlMenuSubmenu`)}static{this.LayoutControlMenu=new e(`LayoutControlMenu`)}static{this.MenubarMainMenu=new e(`MenubarMainMenu`)}static{this.MenubarAppearanceMenu=new e(`MenubarAppearanceMenu`)}static{this.MenubarDebugMenu=new e(`MenubarDebugMenu`)}static{this.MenubarEditMenu=new e(`MenubarEditMenu`)}static{this.MenubarCopy=new e(`MenubarCopy`)}static{this.MenubarFileMenu=new e(`MenubarFileMenu`)}static{this.MenubarGoMenu=new e(`MenubarGoMenu`)}static{this.MenubarHelpMenu=new e(`MenubarHelpMenu`)}static{this.MenubarLayoutMenu=new e(`MenubarLayoutMenu`)}static{this.MenubarNewBreakpointMenu=new e(`MenubarNewBreakpointMenu`)}static{this.PanelAlignmentMenu=new e(`PanelAlignmentMenu`)}static{this.PanelPositionMenu=new e(`PanelPositionMenu`)}static{this.ActivityBarPositionMenu=new e(`ActivityBarPositionMenu`)}static{this.MenubarPreferencesMenu=new e(`MenubarPreferencesMenu`)}static{this.MenubarRecentMenu=new e(`MenubarRecentMenu`)}static{this.MenubarSelectionMenu=new e(`MenubarSelectionMenu`)}static{this.MenubarShare=new e(`MenubarShare`)}static{this.MenubarSwitchEditorMenu=new e(`MenubarSwitchEditorMenu`)}static{this.MenubarSwitchGroupMenu=new e(`MenubarSwitchGroupMenu`)}static{this.MenubarTerminalMenu=new e(`MenubarTerminalMenu`)}static{this.MenubarTerminalSuggestStatusMenu=new e(`MenubarTerminalSuggestStatusMenu`)}static{this.MenubarViewMenu=new e(`MenubarViewMenu`)}static{this.MenubarHomeMenu=new e(`MenubarHomeMenu`)}static{this.OpenEditorsContext=new e(`OpenEditorsContext`)}static{this.OpenEditorsContextShare=new e(`OpenEditorsContextShare`)}static{this.ProblemsPanelContext=new e(`ProblemsPanelContext`)}static{this.SCMInputBox=new e(`SCMInputBox`)}static{this.SCMChangeContext=new e(`SCMChangeContext`)}static{this.SCMResourceContext=new e(`SCMResourceContext`)}static{this.SCMResourceContextShare=new e(`SCMResourceContextShare`)}static{this.SCMResourceFolderContext=new e(`SCMResourceFolderContext`)}static{this.SCMResourceGroupContext=new e(`SCMResourceGroupContext`)}static{this.SCMSourceControl=new e(`SCMSourceControl`)}static{this.SCMSourceControlInline=new e(`SCMSourceControlInline`)}static{this.SCMSourceControlTitle=new e(`SCMSourceControlTitle`)}static{this.SCMHistoryTitle=new e(`SCMHistoryTitle`)}static{this.SCMHistoryItemContext=new e(`SCMHistoryItemContext`)}static{this.SCMHistoryItemChangeContext=new e(`SCMHistoryItemChangeContext`)}static{this.SCMHistoryItemRefContext=new e(`SCMHistoryItemRefContext`)}static{this.SCMArtifactGroupContext=new e(`SCMArtifactGroupContext`)}static{this.SCMArtifactContext=new e(`SCMArtifactContext`)}static{this.SCMQuickDiffDecorations=new e(`SCMQuickDiffDecorations`)}static{this.SCMTitle=new e(`SCMTitle`)}static{this.SearchContext=new e(`SearchContext`)}static{this.SearchActionMenu=new e(`SearchActionContext`)}static{this.StatusBarWindowIndicatorMenu=new e(`StatusBarWindowIndicatorMenu`)}static{this.StatusBarRemoteIndicatorMenu=new e(`StatusBarRemoteIndicatorMenu`)}static{this.StickyScrollContext=new e(`StickyScrollContext`)}static{this.TestItem=new e(`TestItem`)}static{this.TestItemGutter=new e(`TestItemGutter`)}static{this.TestProfilesContext=new e(`TestProfilesContext`)}static{this.TestMessageContext=new e(`TestMessageContext`)}static{this.TestMessageContent=new e(`TestMessageContent`)}static{this.TestPeekElement=new e(`TestPeekElement`)}static{this.TestPeekTitle=new e(`TestPeekTitle`)}static{this.TestCallStack=new e(`TestCallStack`)}static{this.TestCoverageFilterItem=new e(`TestCoverageFilterItem`)}static{this.TouchBarContext=new e(`TouchBarContext`)}static{this.TitleBar=new e(`TitleBar`)}static{this.TitleBarContext=new e(`TitleBarContext`)}static{this.TitleBarTitleContext=new e(`TitleBarTitleContext`)}static{this.TunnelContext=new e(`TunnelContext`)}static{this.TunnelPrivacy=new e(`TunnelPrivacy`)}static{this.TunnelProtocol=new e(`TunnelProtocol`)}static{this.TunnelPortInline=new e(`TunnelInline`)}static{this.TunnelTitle=new e(`TunnelTitle`)}static{this.TunnelLocalAddressInline=new e(`TunnelLocalAddressInline`)}static{this.TunnelOriginInline=new e(`TunnelOriginInline`)}static{this.ViewItemContext=new e(`ViewItemContext`)}static{this.ViewContainerTitle=new e(`ViewContainerTitle`)}static{this.ViewContainerTitleContext=new e(`ViewContainerTitleContext`)}static{this.ViewTitle=new e(`ViewTitle`)}static{this.ViewTitleContext=new e(`ViewTitleContext`)}static{this.CommentEditorActions=new e(`CommentEditorActions`)}static{this.CommentThreadTitle=new e(`CommentThreadTitle`)}static{this.CommentThreadActions=new e(`CommentThreadActions`)}static{this.CommentThreadAdditionalActions=new e(`CommentThreadAdditionalActions`)}static{this.CommentThreadTitleContext=new e(`CommentThreadTitleContext`)}static{this.CommentThreadCommentContext=new e(`CommentThreadCommentContext`)}static{this.CommentTitle=new e(`CommentTitle`)}static{this.CommentActions=new e(`CommentActions`)}static{this.CommentsViewThreadActions=new e(`CommentsViewThreadActions`)}static{this.InteractiveToolbar=new e(`InteractiveToolbar`)}static{this.InteractiveCellTitle=new e(`InteractiveCellTitle`)}static{this.InteractiveCellDelete=new e(`InteractiveCellDelete`)}static{this.InteractiveCellExecute=new e(`InteractiveCellExecute`)}static{this.InteractiveInputExecute=new e(`InteractiveInputExecute`)}static{this.InteractiveInputConfig=new e(`InteractiveInputConfig`)}static{this.ReplInputExecute=new e(`ReplInputExecute`)}static{this.IssueReporter=new e(`IssueReporter`)}static{this.NotebookToolbar=new e(`NotebookToolbar`)}static{this.NotebookToolbarContext=new e(`NotebookToolbarContext`)}static{this.NotebookStickyScrollContext=new e(`NotebookStickyScrollContext`)}static{this.NotebookCellTitle=new e(`NotebookCellTitle`)}static{this.NotebookCellDelete=new e(`NotebookCellDelete`)}static{this.NotebookCellInsert=new e(`NotebookCellInsert`)}static{this.NotebookCellBetween=new e(`NotebookCellBetween`)}static{this.NotebookCellListTop=new e(`NotebookCellTop`)}static{this.NotebookCellExecute=new e(`NotebookCellExecute`)}static{this.NotebookCellExecuteGoTo=new e(`NotebookCellExecuteGoTo`)}static{this.NotebookCellExecutePrimary=new e(`NotebookCellExecutePrimary`)}static{this.NotebookDiffCellInputTitle=new e(`NotebookDiffCellInputTitle`)}static{this.NotebookDiffDocumentMetadata=new e(`NotebookDiffDocumentMetadata`)}static{this.NotebookDiffCellMetadataTitle=new e(`NotebookDiffCellMetadataTitle`)}static{this.NotebookDiffCellOutputsTitle=new e(`NotebookDiffCellOutputsTitle`)}static{this.NotebookOutputToolbar=new e(`NotebookOutputToolbar`)}static{this.NotebookOutlineFilter=new e(`NotebookOutlineFilter`)}static{this.NotebookOutlineActionMenu=new e(`NotebookOutlineActionMenu`)}static{this.NotebookEditorLayoutConfigure=new e(`NotebookEditorLayoutConfigure`)}static{this.NotebookKernelSource=new e(`NotebookKernelSource`)}static{this.BulkEditTitle=new e(`BulkEditTitle`)}static{this.BulkEditContext=new e(`BulkEditContext`)}static{this.TimelineItemContext=new e(`TimelineItemContext`)}static{this.TimelineTitle=new e(`TimelineTitle`)}static{this.TimelineTitleContext=new e(`TimelineTitleContext`)}static{this.TimelineFilterSubMenu=new e(`TimelineFilterSubMenu`)}static{this.AccountsContext=new e(`AccountsContext`)}static{this.SidebarTitle=new e(`SidebarTitle`)}static{this.PanelTitle=new e(`PanelTitle`)}static{this.AuxiliaryBarTitle=new e(`AuxiliaryBarTitle`)}static{this.TerminalInstanceContext=new e(`TerminalInstanceContext`)}static{this.TerminalEditorInstanceContext=new e(`TerminalEditorInstanceContext`)}static{this.TerminalNewDropdownContext=new e(`TerminalNewDropdownContext`)}static{this.TerminalTabContext=new e(`TerminalTabContext`)}static{this.TerminalTabEmptyAreaContext=new e(`TerminalTabEmptyAreaContext`)}static{this.TerminalStickyScrollContext=new e(`TerminalStickyScrollContext`)}static{this.WebviewContext=new e(`WebviewContext`)}static{this.InlineCompletionsActions=new e(`InlineCompletionsActions`)}static{this.InlineEditsActions=new e(`InlineEditsActions`)}static{this.NewFile=new e(`NewFile`)}static{this.MergeInput1Toolbar=new e(`MergeToolbar1Toolbar`)}static{this.MergeInput2Toolbar=new e(`MergeToolbar2Toolbar`)}static{this.MergeBaseToolbar=new e(`MergeBaseToolbar`)}static{this.MergeInputResultToolbar=new e(`MergeToolbarResultToolbar`)}static{this.InlineSuggestionToolbar=new e(`InlineSuggestionToolbar`)}static{this.InlineEditToolbar=new e(`InlineEditToolbar`)}static{this.ChatContext=new e(`ChatContext`)}static{this.ChatCodeBlock=new e(`ChatCodeblock`)}static{this.ChatCompareBlock=new e(`ChatCompareBlock`)}static{this.ChatMessageTitle=new e(`ChatMessageTitle`)}static{this.ChatHistory=new e(`ChatHistory`)}static{this.ChatWelcomeContext=new e(`ChatWelcomeContext`)}static{this.ChatMessageFooter=new e(`ChatMessageFooter`)}static{this.ChatExecute=new e(`ChatExecute`)}static{this.ChatInput=new e(`ChatInput`)}static{this.ChatInputSide=new e(`ChatInputSide`)}static{this.ChatModePicker=new e(`ChatModePicker`)}static{this.ChatEditingWidgetToolbar=new e(`ChatEditingWidgetToolbar`)}static{this.ChatEditingEditorContent=new e(`ChatEditingEditorContent`)}static{this.ChatEditingEditorHunk=new e(`ChatEditingEditorHunk`)}static{this.ChatEditingDeletedNotebookCell=new e(`ChatEditingDeletedNotebookCell`)}static{this.ChatInputAttachmentToolbar=new e(`ChatInputAttachmentToolbar`)}static{this.ChatEditingWidgetModifiedFilesToolbar=new e(`ChatEditingWidgetModifiedFilesToolbar`)}static{this.ChatInputResourceAttachmentContext=new e(`ChatInputResourceAttachmentContext`)}static{this.ChatInputSymbolAttachmentContext=new e(`ChatInputSymbolAttachmentContext`)}static{this.ChatInlineResourceAnchorContext=new e(`ChatInlineResourceAnchorContext`)}static{this.ChatInlineSymbolAnchorContext=new e(`ChatInlineSymbolAnchorContext`)}static{this.ChatMessageCheckpoint=new e(`ChatMessageCheckpoint`)}static{this.ChatMessageRestoreCheckpoint=new e(`ChatMessageRestoreCheckpoint`)}static{this.ChatNewMenu=new e(`ChatNewMenu`)}static{this.ChatEditingCodeBlockContext=new e(`ChatEditingCodeBlockContext`)}static{this.ChatTitleBarMenu=new e(`ChatTitleBarMenu`)}static{this.ChatAttachmentsContext=new e(`ChatAttachmentsContext`)}static{this.ChatToolOutputResourceToolbar=new e(`ChatToolOutputResourceToolbar`)}static{this.ChatTextEditorMenu=new e(`ChatTextEditorMenu`)}static{this.ChatToolOutputResourceContext=new e(`ChatToolOutputResourceContext`)}static{this.ChatMultiDiffContext=new e(`ChatMultiDiffContext`)}static{this.ChatSessionsMenu=new e(`ChatSessionsMenu`)}static{this.ChatSessionsCreateSubMenu=new e(`ChatSessionsCreateSubMenu`)}static{this.ChatConfirmationMenu=new e(`ChatConfirmationMenu`)}static{this.ChatEditorInlineExecute=new e(`ChatEditorInputExecute`)}static{this.ChatEditorInlineInputSide=new e(`ChatEditorInputSide`)}static{this.AccessibleView=new e(`AccessibleView`)}static{this.MultiDiffEditorFileToolbar=new e(`MultiDiffEditorFileToolbar`)}static{this.DiffEditorHunkToolbar=new e(`DiffEditorHunkToolbar`)}static{this.DiffEditorSelectionToolbar=new e(`DiffEditorSelectionToolbar`)}constructor(t){if(e._instances.has(t))throw TypeError(`MenuId with identifier '${t}' already exists. Use MenuId.for(ident) or a unique identifier`);e._instances.set(t,this),this.id=t}},wc=ks(`menuService`),Tc=class e{static{this._all=new Map}static for(t){let n=this._all.get(t);return n||(n=new e(t),this._all.set(t,n)),n}static merge(t){let n=new Set;for(let r of t)r instanceof e&&n.add(r.id);return n}constructor(e){this.id=e,this.has=t=>t===e}},Ec=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new bee({merge:Tc.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(e){return this._commands.set(e.id,e),this._onDidChangeMenu.fire(Tc.for(B.CommandPalette)),Lt(T(()=>{this._commands.delete(e.id)&&this._onDidChangeMenu.fire(Tc.for(B.CommandPalette))}))}getCommand(e){return this._commands.get(e)}getCommands(){let e=new Map;return this._commands.forEach((t,n)=>e.set(n,t)),e}appendMenuItem(e,t){let n=this._menuItems.get(e);n||(n=new Gt,this._menuItems.set(e,n));let r=n.push(t);return this._onDidChangeMenu.fire(Tc.for(e)),Lt(T(()=>{r(),this._onDidChangeMenu.fire(Tc.for(e))}))}appendMenuItems(e){let t=new E;for(let{id:n,item:r}of e)t.add(this.appendMenuItem(n,r));return t}getMenuItems(e){let t;return t=this._menuItems.has(e)?[...this._menuItems.get(e)]:[],e===B.CommandPalette&&this._appendImplicitItems(t),t}_appendImplicitItems(e){let t=new Set;for(let n of e)Cc(n)&&(t.add(n.command.id),n.alt&&t.add(n.alt.id));this._commands.forEach((n,r)=>{t.has(r)||e.push({command:n})})}},Dc=class extends Is{constructor(e,t,n){super(`submenuitem.${e.submenu.id}`,typeof e.title==`string`?e.title:e.title.value,n,`submenu`),this.item=e,this.hideActions=t}},Oc=Sc=class{static label(e,t){return t?.renderShortTitle&&e.shortTitle?typeof e.shortTitle==`string`?e.shortTitle:e.shortTitle.value:typeof e.title==`string`?e.title:e.title.value}constructor(e,t,n,r,i,a,o){this.hideActions=r,this.menuKeybinding=i,this._commandService=o,this.id=e.id,this.label=Sc.label(e,n),this.tooltip=(typeof e.tooltip==`string`?e.tooltip:e.tooltip?.value)??``,this.enabled=!e.precondition||a.contextMatchesRules(e.precondition),this.checked=void 0;let s;if(e.toggled){let t=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=a.contextMatchesRules(t.condition),this.checked&&t.tooltip&&(this.tooltip=typeof t.tooltip==`string`?t.tooltip:t.tooltip.value),this.checked&&Vs.isThemeIcon(t.icon)&&(s=t.icon),this.checked&&t.title&&(this.label=typeof t.title==`string`?t.title:t.title.value)}s||=Vs.isThemeIcon(e.icon)?e.icon:void 0,this.item=e,this.alt=t?new Sc(t,void 0,n,r,void 0,a,o):void 0,this._options=n,this.class=s&&Vs.asClassName(s)}run(...e){let t=[];return this._options?.arg&&(t=[...t,this._options.arg]),this._options?.shouldForwardArgs&&(t=[...t,...e]),this._commandService.executeCommand(this.id,...t)}};Oc=Sc=Sne([xc(5,fc),xc(6,Hs)],Oc);var kc=class{constructor(e){this.desc=e}};function Ac(e){let t=[],n=new e,{f1:r,menu:i,keybinding:a,...o}=n.desc;if(Us.getCommand(o.id))throw Error(`Cannot register two commands with the same id: ${o.id}`);if(t.push(Us.registerCommand({id:o.id,handler:(e,...t)=>n.run(e,...t),metadata:o.metadata??{description:n.desc.title}})),Array.isArray(i))for(let e of i)t.push(Ec.appendMenuItem(e.id,{command:{...o,precondition:e.precondition===null?void 0:o.precondition},...e}));else i&&t.push(Ec.appendMenuItem(i.id,{command:{...o,precondition:i.precondition===null?void 0:o.precondition},...i}));if(r&&(t.push(Ec.appendMenuItem(B.CommandPalette,{command:o,when:o.precondition})),t.push(Ec.addCommand(o))),Array.isArray(a))for(let e of a)t.push(yc.registerKeybindingRule({...e,id:o.id,when:o.precondition?R.and(o.precondition,e.when):e.when}));else a&&t.push(yc.registerKeybindingRule({...a,id:o.id,when:o.precondition?R.and(o.precondition,a.when):a.when}));return{dispose(){zt(t)}}}var jc=ks(`telemetryService`),Mc,Nc,Pc,wne=class{constructor(e,t){this.uri=e,this.value=t}};function Tne(e){return Array.isArray(e)}var Fc=class e{static{this.defaultToKey=e=>e.toString()}constructor(t,n){if(this[Mc]=`ResourceMap`,t instanceof e)this.map=new Map(t.map),this.toKey=n??e.defaultToKey;else if(Tne(t)){this.map=new Map,this.toKey=n??e.defaultToKey;for(let[e,n]of t)this.set(e,n)}else this.map=new Map,this.toKey=t??e.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new wne(e,t)),this}get(e){return this.map.get(this.toKey(e))?.value}has(e){return this.map.has(this.toKey(e))}get size(){return this.map.size}clear(){this.map.clear()}delete(e){return this.map.delete(this.toKey(e))}forEach(e,t){t!==void 0&&(e=e.bind(t));for(let[t,n]of this.map)e(n.value,n.uri,this)}*values(){for(let e of this.map.values())yield e.value}*keys(){for(let e of this.map.values())yield e.uri}*entries(){for(let e of this.map.values())yield[e.uri,e.value]}*[(Mc=Symbol.toStringTag,Symbol.iterator)](){for(let[,e]of this.map)yield[e.uri,e.value]}},Ene=class{constructor(e,t){this[Nc]=`ResourceSet`,!e||typeof e==`function`?this._map=new Fc(e):(this._map=new Fc(t),e.forEach(this.add,this))}get size(){return this._map.size}add(e){return this._map.set(e,e),this}clear(){this._map.clear()}delete(e){return this._map.delete(e)}forEach(e,t){this._map.forEach((n,r)=>e.call(t,r,r,this))}has(e){return this._map.has(e)}entries(){return this._map.entries()}keys(){return this._map.keys()}values(){return this._map.keys()}[(Nc=Symbol.toStringTag,Symbol.iterator)](){return this.keys()}},Dne=class{constructor(){this[Pc]=`LinkedMap`,this._map=new Map,this._head=void 0,this._tail=void 0,this._size=0,this._state=0}clear(){this._map.clear(),this._head=void 0,this._tail=void 0,this._size=0,this._state++}isEmpty(){return!this._head&&!this._tail}get size(){return this._size}get first(){return this._head?.value}get last(){return this._tail?.value}has(e){return this._map.has(e)}get(e,t=0){let n=this._map.get(e);if(n)return t!==0&&this.touch(n,t),n.value}set(e,t,n=0){let r=this._map.get(e);if(r)r.value=t,n!==0&&this.touch(r,n);else{switch(r={key:e,value:t,next:void 0,previous:void 0},n){case 0:this.addItemLast(r);break;case 1:this.addItemFirst(r);break;case 2:this.addItemLast(r);break;default:this.addItemLast(r);break}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){let t=this._map.get(e);if(t)return this._map.delete(e),this.removeItem(t),this._size--,t.value}shift(){if(!this._head&&!this._tail)return;if(!this._head||!this._tail)throw Error(`Invalid list`);let e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){let n=this._state,r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==n)throw Error(`LinkedMap got modified during iteration.`);r=r.next}}keys(){let e=this,t=this._state,n=this._head,r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw Error(`LinkedMap got modified during iteration.`);if(n){let e={value:n.key,done:!1};return n=n.next,e}else return{value:void 0,done:!0}}};return r}values(){let e=this,t=this._state,n=this._head,r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw Error(`LinkedMap got modified during iteration.`);if(n){let e={value:n.value,done:!1};return n=n.next,e}else return{value:void 0,done:!0}}};return r}entries(){let e=this,t=this._state,n=this._head,r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw Error(`LinkedMap got modified during iteration.`);if(n){let e={value:[n.key,n.value],done:!1};return n=n.next,e}else return{value:void 0,done:!0}}};return r}[(Pc=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.next,n--;this._head=t,this._size=n,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,n=this.size;for(;t&&n>e;)this._map.delete(t.key),t=t.previous,n--;this._tail=t,this._size=n,t&&(t.next=void 0),this._state++}addItemFirst(e){if(!this._head&&!this._tail)this._tail=e;else if(this._head)e.next=this._head,this._head.previous=e;else throw Error(`Invalid list`);this._head=e,this._state++}addItemLast(e){if(!this._head&&!this._tail)this._head=e;else if(this._tail)e.previous=this._tail,this._tail.next=e;else throw Error(`Invalid list`);this._tail=e,this._state++}removeItem(e){if(e===this._head&&e===this._tail)this._head=void 0,this._tail=void 0;else if(e===this._head){if(!e.next)throw Error(`Invalid list`);e.next.previous=void 0,this._head=e.next}else if(e===this._tail){if(!e.previous)throw Error(`Invalid list`);e.previous.next=void 0,this._tail=e.previous}else{let t=e.next,n=e.previous;if(!t||!n)throw Error(`Invalid list`);t.previous=n,n.next=t}e.next=void 0,e.previous=void 0,this._state++}touch(e,t){if(!this._head||!this._tail)throw Error(`Invalid list`);if(!(t!==1&&t!==2)){if(t===1){if(e===this._head)return;let t=e.next,n=e.previous;e===this._tail?(n.next=void 0,this._tail=n):(t.previous=n,n.next=t),e.previous=void 0,e.next=this._head,this._head.previous=e,this._head=e,this._state++}else if(t===2){if(e===this._tail)return;let t=e.next,n=e.previous;e===this._head?(t.previous=void 0,this._head=t):(t.previous=n,n.next=t),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){let e=[];return this.forEach((t,n)=>{e.push([n,t])}),e}fromJSON(e){this.clear();for(let[t,n]of e)this.set(t,n)}},One=class extends Dne{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}},Ic=class extends One{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}},kne=class{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(let[t,n]of e)this.set(t,n)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){let t=this._m1.get(e);return t===void 0?!1:(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}},Lc=class{constructor(){this.map=new Map}add(e,t){let n=this.map.get(e);n||(n=new Set,this.map.set(e,n)),n.add(t)}delete(e,t){let n=this.map.get(e);n&&(n.delete(t),n.size===0&&this.map.delete(e))}forEach(e,t){let n=this.map.get(e);n&&n.forEach(t)}},Rc=class{constructor(){this._data=new Map}set(e,...t){let n=this._data;for(let e=0;e{let r=``;for(let[i,a]of t)r+=`${` `.repeat(n)}${i}: `,a instanceof Map?r+=` -`+e(a,n+1):r+=`${a}\n`;return r};return e(this._data,0)}};function zc(e){return e===47||e===92}function Bc(e){return e.replace(/[\\/]/g,Wr.sep)}function Ane(e){return e.indexOf(`/`)===-1&&(e=Bc(e)),/^[a-zA-Z]:(\/|$)/.test(e)&&(e=`/`+e),e}function Vc(e,t=Wr.sep){if(!e)return``;let n=e.length,r=e.charCodeAt(0);if(zc(r)){if(zc(e.charCodeAt(1))&&!zc(e.charCodeAt(2))){let r=3,i=r;for(;re.length)return!1;if(n){if(!Jn(e,t))return!1;if(t.length===e.length)return!0;let n=t.length;return t.charAt(t.length-1)===r&&n--,e.charAt(n)===r}return t.charAt(t.length-1)!==r&&(t+=r),e.indexOf(t)===0}function Uc(e){return e>=65&&e<=90||e>=97&&e<=122}function jne(e,t=Je){return t?Uc(e.charCodeAt(0))&&e.charCodeAt(1)===58:!1}function Wc(e){return ni(e,!0)}var Gc=new class{constructor(e){this._ignorePathCasing=e}compare(e,t,n=!1){return e===t?0:Bn(this.getComparisonKey(e,n),this.getComparisonKey(t,n))}isEqual(e,t,n=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,n)===this.getComparisonKey(t,n)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,n=!1){if(e.scheme===t.scheme){if(e.scheme===si.file)return Hc(Wc(e),Wc(t),this._ignorePathCasing(e))&&e.query===t.query&&(n||e.fragment===t.fragment);if(Zc(e.authority,t.authority))return Hc(e.path,t.path,this._ignorePathCasing(e),`/`)&&e.query===t.query&&(n||e.fragment===t.fragment)}return!1}joinPath(e,...t){return Zr.joinPath(e,...t)}basenameOrAuthority(e){return qc(e)||e.authority}basename(e){return Wr.basename(e.path)}extname(e){return Wr.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===si.file?t=Zr.file(Kr(Wc(e))).path:(t=Wr.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error(`dirname("${e.toString})) resulted in a relative path`),t=`/`)),e.with({path:t})}normalizePath(e){if(!e.path.length)return e;let t;return t=e.scheme===si.file?Zr.file(Gr(Wc(e))).path:Wr.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!Zc(e.authority,t.authority))return;if(e.scheme===si.file){let n=Kee(Wc(e),Wc(t));return Je?Bc(n):n}let n=e.path||`/`,r=t.path||`/`;if(this._ignorePathCasing(e)){let e=0;for(let t=Math.min(n.length,r.length);eVc(n).length&&n[n.length-1]===t}else{let t=e.path;return t.length>1&&t.charCodeAt(t.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=Jr){return Qc(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=Jr){let n=!1;if(e.scheme===si.file){let r=Wc(e);n=r!==void 0&&r.length===Vc(r).length&&r[r.length-1]===t}else{t=`/`;let r=e.path;n=r.length===1&&r.charCodeAt(r.length-1)===47}return!n&&!Qc(e,t)?e.with({path:e.path+`/`}):e}}(()=>!1),Kc=Gc.isEqual.bind(Gc);Gc.isEqualOrParent.bind(Gc),Gc.getComparisonKey.bind(Gc);var Mne=Gc.basenameOrAuthority.bind(Gc),qc=Gc.basename.bind(Gc),Nne=Gc.extname.bind(Gc),Jc=Gc.dirname.bind(Gc),Yc=Gc.joinPath.bind(Gc),Pne=Gc.normalizePath.bind(Gc),Fne=Gc.relativePath.bind(Gc),Xc=Gc.resolvePath.bind(Gc);Gc.isAbsolutePath.bind(Gc);var Zc=Gc.isEqualAuthority.bind(Gc),Qc=Gc.hasTrailingPathSeparator.bind(Gc);Gc.removeTrailingPathSeparator.bind(Gc),Gc.addTrailingPathSeparator.bind(Gc);var $c;(function(e){e.META_DATA_LABEL=`label`,e.META_DATA_DESCRIPTION=`description`,e.META_DATA_SIZE=`size`,e.META_DATA_MIME=`mime`;function t(t){let n=new Map;t.path.substring(t.path.indexOf(`;`)+1,t.path.lastIndexOf(`;`)).split(`;`).forEach(e=>{let[t,r]=e.split(`:`);t&&r&&n.set(t,r)});let r=t.path.substring(0,t.path.indexOf(`;`));return r&&n.set(e.META_DATA_MIME,r),n}e.parseMetaData=t})($c||={});var el=ks(`logService`),tl=ks(`loggerService`),nl;(function(e){e[e.Off=0]=`Off`,e[e.Trace=1]=`Trace`,e[e.Debug=2]=`Debug`,e[e.Info=3]=`Info`,e[e.Warning=4]=`Warning`,e[e.Error=5]=`Error`})(nl||={});var rl=nl.Info;function il(e,t){return e!==nl.Off&&e<=t}var al=class extends D{constructor(){super(...arguments),this.level=rl,this._onDidChangeLogLevel=this._register(new k)}get onDidChangeLogLevel(){return this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return il(this.level,e)}canLog(e){return this._store.isDisposed?!1:this.checkLogLevel(e)}},ol=class extends al{constructor(e=rl,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.canLog(nl.Trace)&&(this.useColors?console.log(`%cTRACE`,`color: #888`,e,...t):console.log(e,...t))}debug(e,...t){this.canLog(nl.Debug)&&(this.useColors?console.log(`%cDEBUG`,`background: #eee; color: #888`,e,...t):console.log(e,...t))}info(e,...t){this.canLog(nl.Info)&&(this.useColors?console.log(`%c INFO`,`color: #33f`,e,...t):console.log(e,...t))}warn(e,...t){this.canLog(nl.Warning)&&(this.useColors?console.warn(`%c WARN`,`color: #993`,e,...t):console.log(e,...t))}error(e,...t){this.canLog(nl.Error)&&(this.useColors?console.error(`%c ERR`,`color: #f33`,e,...t):console.error(e,...t))}},sl=class extends al{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(let t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(let n of this.loggers)n.trace(e,...t)}debug(e,...t){for(let n of this.loggers)n.debug(e,...t)}info(e,...t){for(let n of this.loggers)n.info(e,...t)}warn(e,...t){for(let n of this.loggers)n.warn(e,...t)}error(e,...t){for(let n of this.loggers)n.error(e,...t)}dispose(){for(let e of this.loggers)e.dispose();super.dispose()}},cl=class extends D{constructor(e,t,n){if(super(),this.logLevel=e,this.logsHome=t,this._loggers=new Fc,this._onDidChangeLoggers=this._register(new k),this._onDidChangeVisibility=this._register(new k),n)for(let e of n)this._loggers.set(e.resource,{logger:void 0,info:e})}getLoggerEntry(e){return ye(e)?[...this._loggers.values()].find(t=>t.info.id===e):this._loggers.get(e)}createLogger(e,t){let n=this.toResource(e),r=ye(e)?e:t?.id??Si(n.toString()).toString(16),i=this._loggers.get(n)?.logger,a=t?.logLevel===`always`?nl.Trace:t?.logLevel;i||=this.doCreateLogger(n,a??this.getLogLevel(n)??this.logLevel,{...t,id:r});let o={logger:i,info:{resource:n,id:r,logLevel:a,name:t?.name,hidden:t?.hidden,group:t?.group,extensionId:t?.extensionId,when:t?.when}};return this.registerLogger(o.info),this._loggers.set(n,o),i}toResource(e){return ye(e)?Yc(this.logsHome,`${e}.log`):e}setVisibility(e,t){let n=this.getLoggerEntry(e);n&&t!==!n.info.hidden&&(n.info.hidden=!t,this._loggers.set(n.info.resource,n),this._onDidChangeVisibility.fire([n.info.resource,t]))}getLogLevel(e){let t;return e&&(t=this._loggers.get(e)?.info.logLevel),t??this.logLevel}registerLogger(e){let t=this._loggers.get(e.resource);t?t.info.hidden!==e.hidden&&this.setVisibility(e.resource,!e.hidden):(this._loggers.set(e.resource,{info:e,logger:void 0}),this._onDidChangeLoggers.fire({added:[e],removed:[]}))}dispose(){this._loggers.forEach(e=>e.logger?.dispose()),this._loggers.clear(),super.dispose()}},ll=class{constructor(){this.onDidChangeLogLevel=new k().event}setLevel(e){}getLevel(){return nl.Info}trace(e,...t){}debug(e,...t){}info(e,...t){}warn(e,...t){}error(e,...t){}dispose(){}},ul=class extends cl{constructor(){super(nl.Off,Zr.parse(`log:///log`))}doCreateLogger(e,t,n){return new ll}};function dl(e){switch(e){case nl.Trace:return`trace`;case nl.Debug:return`debug`;case nl.Info:return`info`;case nl.Warning:return`warn`;case nl.Error:return`error`;case nl.Off:return`off`}}new z(`logLevel`,dl(nl.Info));var fl=class e{static{this.REGISTERED_COMMANDS=new Set}static getRegisteredCommands(){return[...e.REGISTERED_COMMANDS]}static registerCommand(t){e.REGISTERED_COMMANDS.add(t)}},pl=class{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata,this.canTriggerInlineEdits=e.canTriggerInlineEdits}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){let e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(let t of e){let e=t.kbExpr;this.precondition&&(e=e?R.and(e,this.precondition):this.precondition);let n={id:this.id,weight:t.weight,args:t.args,when:e,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};yc.registerKeybindingRule(n)}}Us.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata}),this.canTriggerInlineEdits&&fl.registerCommand(this.id)}_registerMenuItem(e){Ec.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}},ml=class extends pl{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,n,r){return this._implementations.push({priority:e,name:t,implementation:n,when:r}),this._implementations.sort((e,t)=>t.priority-e.priority),{dispose:()=>{for(let e=0;e{if(e.get(fc).contextMatchesRules(n??void 0))return r(e,a,t)})}runCommand(t,n){return e.runEditorCommand(t,n,this.precondition,(e,t,n)=>this.runEditorCommand(e,t,n))}},V=class e extends gl{static convertOptions(e){let t;t=Array.isArray(e.menuOpts)?e.menuOpts:e.menuOpts?[e.menuOpts]:[];function n(t){return t.menuId||=B.EditorContext,t.title||=typeof e.label==`string`?e.label:e.label.value,t.when=R.and(e.precondition,t.when),t}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(n)):e.contextMenuOpts&&t.push(n(e.contextMenuOpts)),e.menuOpts=t,e}constructor(t){super(e.convertOptions(t)),typeof t.label==`string`?(this.label=t.label,this.alias=t.alias??t.label):(this.label=t.label.value,this.alias=t.alias??t.label.original)}runEditorCommand(e,t,n){return this.reportTelemetry(e,t),this.run(e,t,n||{})}reportTelemetry(e,t){e.get(jc).publicLog2(`editorActionInvoked`,{name:this.label,id:this.id})}},_l=class extends V{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((e,t)=>t[0]-e[0]),{dispose:()=>{for(let e=0;e{let n=e.get(fc),i=e.get(el);if(!n.contextMatchesRules(this.desc.precondition??void 0)){i.debug(`[EditorAction2] NOT running command because its precondition is FALSE`,this.desc.id,this.desc.precondition?.serialize());return}return this.runEditorCommand(e,r,...t)})}};function yl(e,t){Us.registerCommand(e,function(e,...n){let r=e.get(Os),[i,a]=n;ke(Zr.isUri(i)),ke(F.isIPosition(a));let o=e.get(js).getModel(i);if(o){let e=F.lift(a);return r.invokeFunction(t,o,e,...n.slice(2))}return e.get(Ms).createModelReference(i).then(e=>new Promise((i,o)=>{try{i(r.invokeFunction(t,e.object.textEditorModel,F.lift(a),n.slice(2)))}catch(e){o(e)}}).finally(()=>{e.dispose()}))})}function H(e){return Cl.INSTANCE.registerEditorCommand(e),e}function U(e){let t=new e;return Cl.INSTANCE.registerEditorAction(t),t}function bl(e){return Cl.INSTANCE.registerEditorAction(e),e}function Ine(e){Cl.INSTANCE.registerEditorAction(e)}function xl(e,t,n){Cl.INSTANCE.registerEditorContribution(e,t,n)}var Sl;(function(e){function t(e){return Cl.INSTANCE.getEditorCommand(e)}e.getEditorCommand=t;function n(){return Cl.INSTANCE.getEditorActions()}e.getEditorActions=n;function r(){return Cl.INSTANCE.getEditorContributions()}e.getEditorContributions=r;function i(e){return Cl.INSTANCE.getEditorContributions().filter(t=>e.indexOf(t.id)>=0)}e.getSomeEditorContributions=i;function a(){return Cl.INSTANCE.getDiffEditorContributions()}e.getDiffEditorContributions=a})(Sl||={});var Lne={EditorCommonContributions:`editor.contributions`},Cl=class e{static{this.INSTANCE=new e}constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,n){this.editorContributions.push({id:e,ctor:t,instantiation:n})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}};vc.add(Lne.EditorCommonContributions,Cl.INSTANCE);function wl(e){return e.register(),e}var Tl=wl(new ml({id:`undo`,precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:B.MenubarEditMenu,group:`1_do`,title:s(69,`&&Undo`),order:1},{menuId:B.CommandPalette,group:``,title:s(70,`Undo`),order:1},{menuId:B.SimpleEditorContext,group:`1_do`,title:s(71,`Undo`),order:1}]}));wl(new hl(Tl,{id:`default:undo`,precondition:void 0}));var El=wl(new ml({id:`redo`,precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:B.MenubarEditMenu,group:`1_do`,title:s(72,`&&Redo`),order:2},{menuId:B.CommandPalette,group:``,title:s(73,`Redo`),order:1},{menuId:B.SimpleEditorContext,group:`1_do`,title:s(74,`Redo`),order:2}]}));wl(new hl(El,{id:`default:redo`,precondition:void 0}));var Rne=wl(new ml({id:`editor.action.selectAll`,precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:B.MenubarSelectionMenu,group:`1_basic`,title:s(75,`&&Select All`),order:1},{menuId:B.CommandPalette,group:``,title:s(76,`Select All`),order:1},{menuId:B.SimpleEditorContext,group:`9_select`,title:s(77,`Select All`),order:1}]})),W=class e{constructor(e,t,n,r){e>n||e===n&&t>r?(this.startLineNumber=n,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=n,this.endColumn=r)}isEmpty(){return e.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(t){return e.containsPosition(this,t)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(t){return e.containsRange(this,t)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(t){return e.strictContainsRange(this,t)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(t){return e.plusRange(this,t)}static plusRange(t,n){let r,i,a,o;return n.startLineNumbert.endLineNumber?(a=n.endLineNumber,o=n.endColumn):n.endLineNumber===t.endLineNumber?(a=n.endLineNumber,o=Math.max(n.endColumn,t.endColumn)):(a=t.endLineNumber,o=t.endColumn),new e(r,i,a,o)}intersectRanges(t){return e.intersectRanges(this,t)}static intersectRanges(t,n){let r=t.startLineNumber,i=t.startColumn,a=t.endLineNumber,o=t.endColumn,s=n.startLineNumber,c=n.startColumn,l=n.endLineNumber,u=n.endColumn;return rl?(a=l,o=u):a===l&&(o=Math.min(o,u)),r>a||r===a&&i>o?null:new e(r,i,a,o)}equalsRange(t){return e.equalsRange(this,t)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return e.getEndPosition(this)}static getEndPosition(e){return new F(e.endLineNumber,e.endColumn)}getStartPosition(){return e.getStartPosition(this)}static getStartPosition(e){return new F(e.startLineNumber,e.startColumn)}toString(){return`[`+this.startLineNumber+`,`+this.startColumn+` -> `+this.endLineNumber+`,`+this.endColumn+`]`}setEndPosition(t,n){return new e(this.startLineNumber,this.startColumn,t,n)}setStartPosition(t,n){return new e(t,n,this.endLineNumber,this.endColumn)}collapseToStart(){return e.collapseToStart(this)}static collapseToStart(t){return new e(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn)}collapseToEnd(){return e.collapseToEnd(this)}static collapseToEnd(t){return new e(t.endLineNumber,t.endColumn,t.endLineNumber,t.endColumn)}delta(t){return new e(this.startLineNumber+t,this.startColumn,this.endLineNumber+t,this.endColumn)}isSingleLine(){return this.startLineNumber===this.endLineNumber}static fromPositions(t,n=t){return new e(t.lineNumber,t.column,n.lineNumber,n.column)}static lift(t){return t?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):null}static isIRange(e){return!!e&&typeof e.startLineNumber==`number`&&typeof e.startColumn==`number`&&typeof e.endLineNumber==`number`&&typeof e.endColumn==`number`}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}},G=class e extends W{constructor(e,t,n,r){super(e,t,n,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=n,this.positionColumn=r}toString(){return`[`+this.selectionStartLineNumber+`,`+this.selectionStartColumn+` -> `+this.positionLineNumber+`,`+this.positionColumn+`]`}equalsSelection(t){return e.selectionsEqual(this,t)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(t,n){return this.getDirection()===0?new e(this.startLineNumber,this.startColumn,t,n):new e(t,n,this.startLineNumber,this.startColumn)}getPosition(){return new F(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new F(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(t,n){return this.getDirection()===0?new e(t,n,this.endLineNumber,this.endColumn):new e(this.endLineNumber,this.endColumn,t,n)}static fromPositions(t,n=t){return new e(t.lineNumber,t.column,n.lineNumber,n.column)}static fromRange(t,n){return n===0?new e(t.startLineNumber,t.startColumn,t.endLineNumber,t.endColumn):new e(t.endLineNumber,t.endColumn,t.startLineNumber,t.startColumn)}static liftSelection(t){return new e(t.selectionStartLineNumber,t.selectionStartColumn,t.positionLineNumber,t.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n0&&e.getLanguageId(o-1)===i;)o--;return new zne(e,i,o,a+1,e.getStartOffset(o),e.getEndOffset(a))}var zne=class{constructor(e,t,n,r,i,a){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=n,this._lastTokenIndex=r,this.firstCharOffset=i,this._lastCharOffset=a,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}};function Ol(e){return(e&3)!=0}var kl=class e{static _nextVisibleColumn(t,n,r){return t===9?e.nextRenderTabStop(n,r):ur(t)||dr(t)?n+2:n+1}static visibleColumnFromColumn(e,t,n){let r=Math.min(t-1,e.length),i=e.substring(0,r),a=new nr(i),o=0;for(;!a.eol();){let e=er(i,r,a.offset);a.nextGraphemeLength(),o=this._nextVisibleColumn(e,o,n)}return o}static columnFromVisibleColumn(e,t,n){if(t<=0)return 1;let r=e.length,i=new nr(e),a=0,o=1;for(;!i.eol();){let s=er(e,r,i.offset);i.nextGraphemeLength();let c=this._nextVisibleColumn(s,a,n),l=i.offset+1;if(c>=t){let e=t-a;return c-t!0,Hne=()=>!1,Une=e=>e===` `||e===` `,Ml=class{static shouldRecreate(e){return e.hasChanged(165)||e.hasChanged(148)||e.hasChanged(45)||e.hasChanged(85)||e.hasChanged(88)||e.hasChanged(89)||e.hasChanged(10)||e.hasChanged(11)||e.hasChanged(15)||e.hasChanged(13)||e.hasChanged(14)||e.hasChanged(20)||e.hasChanged(145)||e.hasChanged(141)||e.hasChanged(59)||e.hasChanged(104)||e.hasChanged(147)||e.hasChanged(93)}constructor(e,t,n,r){this.languageConfigurationService=r,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;let i=n.options,a=i.get(165),o=i.get(59);this.readOnly=i.get(104),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=i.get(132),this.lineHeight=o.lineHeight,this.typicalHalfwidthCharacterWidth=o.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(a.height/this.lineHeight)-2),this.useTabStops=i.get(145),this.trimWhitespaceOnDelete=i.get(141),this.wordSeparators=i.get(148),this.emptySelectionClipboard=i.get(45),this.copyWithSyntaxHighlighting=i.get(31),this.multiCursorMergeOverlapping=i.get(85),this.multiCursorPaste=i.get(88),this.multiCursorLimit=i.get(89),this.autoClosingBrackets=i.get(10),this.autoClosingComments=i.get(11),this.autoClosingQuotes=i.get(15),this.autoClosingDelete=i.get(13),this.autoClosingOvertype=i.get(14),this.autoSurround=i.get(20),this.autoIndent=i.get(16),this.wordSegmenterLocales=i.get(147),this.overtypeOnPaste=i.get(93),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();let s=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(s)for(let e of s)this.surroundingPairs[e.open]=e.close;let c=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=c?.blockCommentStartToken??null}get electricChars(){if(!this._electricChars){this._electricChars={};let e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter?.getElectricCharacters();if(e)for(let t of e)this._electricChars[t]=!0}return this._electricChars}get inputMode(){return jl.getInputMode()}onElectricCharacter(e,t,n){let r=Dl(t,n-1),i=this.languageConfigurationService.getLanguageConfiguration(r.languageId).electricCharacter;return i?i.onElectricCharacter(e,r,n-r.firstCharOffset):null}normalizeIndentation(e){return Al(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,n){switch(t){case`beforeWhitespace`:return Une;case`languageDefined`:return this._getLanguageDefinedShouldAutoClose(e,n);case`always`:return Vne;case`never`:return Hne}}_getLanguageDefinedShouldAutoClose(e,t){let n=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return e=>n.indexOf(e)!==-1}visibleColumnFromColumn(e,t){return kl.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,n){let r=kl.columnFromVisibleColumn(e.getLineContent(t),n,this.tabSize),i=e.getLineMinColumn(t);if(ra?a:r}},Nl=class e{static fromModelState(e){return new Wne(e)}static fromViewState(e){return new Gne(e)}static fromModelSelection(t){let n=G.liftSelection(t),r=new Pl(W.fromPositions(n.getSelectionStart()),0,0,n.getPosition(),0);return e.fromModelState(r)}static fromModelSelections(e){let t=[];for(let n=0,r=e.length;ni,c=r>a,l=ra||mr||p0&&i--,e.columnSelect(t,n,r.fromViewLineNumber,r.fromViewVisualColumn,r.toViewLineNumber,i)}static columnSelectRight(e,t,n){let r=0,i=Math.min(n.fromViewLineNumber,n.toViewLineNumber),a=Math.max(n.fromViewLineNumber,n.toViewLineNumber);for(let n=i;n<=a;n++){let i=t.getLineMaxColumn(n),a=e.visibleColumnFromColumn(t,new F(n,i));r=Math.max(r,a)}let o=n.toViewVisualColumn;return oi&&(a=new F(i,e.getLineMaxColumn(i)));let o=W.fromPositions(n,a);t.addTrackedEditOperation(o,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromPositions(n.getEndPosition())}},Kne=class{constructor(e,t){this._range=e,this._text=t}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromRange(n,0)}},Bl=class{constructor(e,t,n=!1){this._range=e,this._text=t,this.insertsAutoWhitespace=n}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromPositions(n.getStartPosition())}},Vl=class{constructor(e,t,n,r,i=!1){this._range=e,this._text=t,this._columnDeltaOffset=r,this._lineNumberDeltaOffset=n,this.insertsAutoWhitespace=i}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromPositions(n.getEndPosition().delta(this._lineNumberDeltaOffset,this._columnDeltaOffset))}},qne=class{constructor(e){this._range=e}getEditOperations(e,t){let n=e.getValueInRange(this._range),r=this._range.getEndPosition(),i=r.lineNumber,a=Ul(e,r,n.length);a.lineNumber>i&&(a=new F(i,e.getLineMaxColumn(i)));let o=W.fromPositions(r,a);t.addTrackedEditOperation(o,``)}computeCursorState(e,t){let n=t.getInverseEditOperations()[0].range;return G.fromPositions(n.getEndPosition())}},Hl=class{constructor(e,t,n,r=!1){this._range=e,this._text=t,this._initialSelection=n,this._forceMoveMarkers=r,this._selectionId=null}getEditOperations(e,t){t.addTrackedEditOperation(this._range,this._text,this._forceMoveMarkers),this._selectionId=t.trackSelection(this._initialSelection)}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}};function Ul(e,t,n){if(n<0)throw Error(`Unexpected negative delta`);let r=e.getLineCount(),i=new F(r,e.getLineMaxColumn(r));for(let a=t.lineNumber;a<=r;a++)if(a===t.lineNumber){let r=n-e.getLineMaxColumn(t.lineNumber)+t.column;if(r<=0){i=new F(t.lineNumber,t.column+n);break}n=r}else{let t=n-e.getLineMaxColumn(a);if(t<=0){i=new F(a,n);break}n=t}return i}var Wl=class e{static whitespaceVisibleColumn(e,t,n){let r=e.length,i=0,a=-1,o=-1;for(let s=0;se.getLineMinColumn(t.lineNumber))return t.delta(void 0,-ir(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){let n=t.lineNumber-1;return new F(n,e.getLineMaxColumn(n))}else return t}static leftPositionAtomicSoftTabs(e,t,n){if(t.column<=e.getLineIndentColumn(t.lineNumber)){let r=e.getLineMinColumn(t.lineNumber),i=e.getLineContent(t.lineNumber),a=Wl.atomicPosition(i,t.column-1,n,0);if(a!==-1&&a+1>=r)return new F(t.lineNumber,a+1)}return this.leftPosition(e,t)}static left(t,n,r){let i=t.stickyTabStops?e.leftPositionAtomicSoftTabs(n,r,t.tabSize):e.leftPosition(n,r);return new Gl(i.lineNumber,i.column,0)}static moveLeft(t,n,r,i,a){let o,s;if(r.hasSelection()&&!i)o=r.selection.startLineNumber,s=r.selection.startColumn;else{let i=r.position.delta(void 0,-(a-1)),c=n.normalizePosition(e.clipPositionColumn(i,n),0),l=e.left(t,n,c);o=l.lineNumber,s=l.column}return r.move(i,o,s,0)}static clipPositionColumn(t,n){return new F(t.lineNumber,e.clipRange(t.column,n.getLineMinColumn(t.lineNumber),n.getLineMaxColumn(t.lineNumber)))}static clipRange(e,t,n){return en?n:e}static rightPosition(e,t,n){return nl?(n=l,r=o?t.getLineMaxColumn(n):Math.min(t.getLineMaxColumn(n),r)):r=e.columnFromVisibleColumn(t,n,c),i=f?0:c-kl.visibleColumnFromColumn(t.getLineContent(n),r,e.tabSize),s!==void 0){let e=new F(n,r),a=t.normalizePosition(e,s);i+=r-a.column,n=a.lineNumber,r=a.column}return new Gl(n,r,i)}static down(e,t,n,r,i,a,o){return this.vertical(e,t,n,r,i,n+a,o,4)}static moveDown(t,n,r,i,a){let o,s;r.hasSelection()&&!i?(o=r.selection.endLineNumber,s=r.selection.endColumn):(o=r.position.lineNumber,s=r.position.column);let c=0,l;do if(l=e.down(t,n,o+c,s,r.leftoverVisibleColumns,a,!0),n.normalizePosition(new F(l.lineNumber,l.column),2).lineNumber>o)break;while(c++<10&&o+c1&&this._isBlankLine(t,i);)i--;for(;i>1&&!this._isBlankLine(t,i);)i--;return n.move(r,i,t.getLineMinColumn(i),0)}static moveToNextBlankLine(e,t,n,r){let i=t.getLineCount(),a=n.position.lineNumber;for(;a0,n=t.getLineFirstNonWhitespaceColumn(i.lineNumber);if(e&&n>0)return new W(i.lineNumber,n,r.lineNumber,r.column)}return new W(i.lineNumber,i.column,r.lineNumber,r.column)}static isAutoClosingPairDelete(e,t,n,r,i,a,o){if(t===`never`&&n===`never`||e===`never`)return!1;for(let s=0,c=a.length;s=u.length+1)return!1;let d=u.charAt(l.column-2),f=r.get(d);if(!f)return!1;if(Il(d)){if(n===`never`)return!1}else if(t===`never`)return!1;let p=u.charAt(l.column-1),m=!1;for(let e of f)e.open===d&&e.close===p&&(m=!0);if(!m)return!1;if(e===`auto`){let e=!1;for(let t=0,n=o.length;t1){let e=n.getLineContent(i.lineNumber),t=Ln(e),a=t===-1?e.length+1:t+1;if(i.column<=a){let e=r.visibleColumnFromColumn(n,i),t=kl.prevIndentTabStop(e,r.indentSize),a=r.columnFromVisibleColumn(n,i.lineNumber,t);return new W(i.lineNumber,a,i.lineNumber,i.column)}}return W.fromPositions(e.getPositionAfterDeleteLeft(i,n),i)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){let n=_r(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,n+1)}else if(e.lineNumber>1){let n=e.lineNumber-1;return new F(n,t.getLineMaxColumn(n))}else return e}static cut(e,t,n){let r=[],i=null;n.sort((e,t)=>F.compare(e.getStartPosition(),t.getEndPosition()));for(let a=0,o=n.length;a1&&i?.endLineNumber!==e.lineNumber?(n=e.lineNumber-1,s=t.getLineMaxColumn(e.lineNumber-1),c=e.lineNumber,l=t.getLineMaxColumn(e.lineNumber)):(n=e.lineNumber,s=1,c=e.lineNumber,l=t.getLineMaxColumn(e.lineNumber));let u=new W(n,s,c,l);i=u,u.isEmpty()?r[a]=null:r[a]=new Rl(u,``)}else r[a]=null;else r[a]=new Rl(o,``)}return new Fl(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}},Jl={DateTimeFormat(e,t){return new Dn(()=>{try{return new Intl.DateTimeFormat(e,t)}catch{return new Intl.DateTimeFormat(void 0,t)}})},Collator(e,t){return new Dn(()=>{try{return new Intl.Collator(e,t)}catch{return new Intl.Collator(void 0,t)}})},Segmenter(e,t){return new Dn(()=>{try{return new Intl.Segmenter(e,t)}catch{return new Intl.Segmenter(void 0,t)}})},Locale(e,t){return new Dn(()=>{try{return new Intl.Locale(e,t)}catch{return new Intl.Locale(`en`,t)}})},NumberFormat(e,t){return new Dn(()=>{try{return new Intl.NumberFormat(e,t)}catch{return new Intl.NumberFormat(void 0,t)}})}};function Yl(e){return e<0?0:e>255?255:e|0}function Xl(e){return e<0?0:e>4294967295?4294967295:e|0}var Zl=class e{constructor(t){let n=Yl(t);this._defaultValue=n,this._asciiMap=e._createAsciiMap(n),this._map=new Map}static _createAsciiMap(e){let t=new Uint8Array(256);return t.fill(e),t}set(e,t){let n=Yl(t);e>=0&&e<256?this._asciiMap[e]=n:this._map.set(e,n)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}},Ql=class{constructor(){this._actual=new Zl(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}},Jne=class extends Zl{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=Jl.Segmenter(this.intlSegmenterLocales,{granularity:`word`}):this._segmenter=null;for(let t=0,n=e.length;tt)break;n=r}return n}findNextIntlWordAtOrAfterOffset(e,t){for(let n of this._getIntlSegmenterWordsOnLine(e))if(!(n.index=0;a--){let n=e.charCodeAt(a),o=t.get(n);if(i&&a===i.index)return this._createIntlWord(i,o);if(o===0){if(r===2)return this._createWord(e,r,o,a+1,this._findEndOfWord(e,t,r,a+1));r=1}else if(o===2){if(r===1)return this._createWord(e,r,o,a+1,this._findEndOfWord(e,t,r,a+1));r=2}else if(o===1&&r!==0)return this._createWord(e,r,o,a+1,this._findEndOfWord(e,t,r,a+1))}return r===0?null:this._createWord(e,r,1,0,this._findEndOfWord(e,t,r,0))}static _findEndOfWord(e,t,n,r){let i=t.findNextIntlWordAtOrAfterOffset(e,r),a=e.length;for(let o=r;o=0;a--){let r=e.charCodeAt(a),o=t.get(r);if(i&&a===i.index)return a;if(o===1||n===1&&o===2||n===2&&o===0)return a+1}return 0}static moveWordLeft(t,n,r,i,a){let o=r.lineNumber,s=r.column;s===1&&o>1&&(--o,s=n.getLineMaxColumn(o));let c=e._findPreviousWordOnLine(t,n,new F(o,s));if(i===0)return new F(o,c?c.start+1:1);if(i===1)return!a&&c&&c.wordType===2&&c.end-c.start===1&&c.nextCharClass===0&&(c=e._findPreviousWordOnLine(t,n,new F(o,c.start+1))),new F(o,c?c.start+1:1);if(i===3){for(;c&&c.wordType===2;)c=e._findPreviousWordOnLine(t,n,new F(o,c.start+1));return new F(o,c?c.start+1:1)}return c&&s<=c.end+1&&(c=e._findPreviousWordOnLine(t,n,new F(o,c.start+1))),new F(o,c?c.end+1:1)}static _moveWordPartLeft(e,t){let n=t.lineNumber,r=e.getLineMaxColumn(n);if(t.column===1)return n>1?new F(n-1,e.getLineMaxColumn(n-1)):t;let i=e.getLineContent(n);for(let e=t.column-1;e>1;e--){let t=i.charCodeAt(e-2),a=i.charCodeAt(e-1);if(t===95&&a!==95||t===45&&a!==45||(Gn(t)||Wn(t))&&Kn(a))return new F(n,e);if(Kn(t)&&Kn(a)&&e+1=c.start+1&&(c=e._findNextWordOnLine(t,n,new F(a,c.end+1))),o=c?c.start+1:n.getLineMaxColumn(a);return new F(a,o)}static _moveWordPartRight(e,t){let n=t.lineNumber,r=e.getLineMaxColumn(n);if(t.column===r)return n1?l=1:(c--,l=i.getLineMaxColumn(c)):(u&&l<=u.end+1&&(u=e._findPreviousWordOnLine(r,i,new F(c,u.start+1))),u?l=u.end+1:l>1?l=1:(c--,l=i.getLineMaxColumn(c))),new W(c,l,s.lineNumber,s.column)}static deleteInsideWord(e,t,n){if(!n.isEmpty())return n;let r=new F(n.positionLineNumber,n.positionColumn);return this._deleteInsideWordWhitespace(t,r)||this._deleteInsideWordDetermineDeleteRange(e,t,r)}static _charAtIsWhitespace(e,t){let n=e.charCodeAt(t);return n===32||n===9}static _deleteInsideWordWhitespace(e,t){let n=e.getLineContent(t.lineNumber),r=n.length;if(r===0)return null;let i=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(n,i))return null;let a=Math.min(t.column-1,r-1);if(!this._charAtIsWhitespace(n,a))return null;for(;i>0&&this._charAtIsWhitespace(n,i-1);)i--;for(;a+11?new W(r.lineNumber-1,n.getLineMaxColumn(r.lineNumber-1),r.lineNumber,1):r.lineNumbere.start+1<=r.column&&r.column<=e.end+1,s=(e,t)=>(e=Math.min(e,r.column),t=Math.max(t,r.column),new W(r.lineNumber,e,r.lineNumber,t)),c=e=>{let t=e.start+1,n=e.end+1,r=!1;for(;n-11&&this._charAtIsWhitespace(i,t-2);)t--;return s(t,n)},l=e._findPreviousWordOnLine(t,n,r);if(l&&o(l))return c(l);let u=e._findNextWordOnLine(t,n,r);return u&&o(u)?c(u):l&&u?s(l.end+1,u.start+1):l?s(l.start+1,l.end+1):u?s(u.start+1,u.end+1):s(1,a+1)}static _deleteWordPartLeft(t,n){if(!n.isEmpty())return n;let r=n.getPosition(),i=e._moveWordPartLeft(t,r);return new W(r.lineNumber,r.column,i.lineNumber,i.column)}static _findFirstNonWhitespaceChar(e,t){let n=e.length;for(let r=t;r=f.start+1&&(f=e._findNextWordOnLine(r,i,new F(c,f.end+1))),f?l=f.start+1:l!!e)}function iu(e){if(!e||typeof e!=`object`||e instanceof RegExp)return e;let t=Array.isArray(e)?[]:{};return Object.entries(e).forEach(([e,n])=>{t[e]=n&&typeof n==`object`?iu(n):n}),t}function Yne(e){if(!e||typeof e!=`object`)return e;let t=[e];for(;t.length>0;){let e=t.shift();Object.freeze(e);for(let n in e)if(au.call(e,n)){let r=e[n];typeof r==`object`&&!Object.isFrozen(r)&&!Se(r)&&t.push(r)}}return e}var au=Object.prototype.hasOwnProperty;function ou(e,t){return su(e,t,new Set)}function su(e,t,n){if(Oe(e))return e;let r=t(e);if(r!==void 0)return r;if(Array.isArray(e)){let r=[];for(let i of e)r.push(su(i,t,n));return r}if(xe(e)){if(n.has(e))throw Error(`Cannot clone recursive data-structure`);n.add(e);let r={};for(let i in e)au.call(e,i)&&(r[i]=su(e[i],t,n));return n.delete(e),r}return e}function cu(e,t,n=!0){return xe(e)?(xe(t)&&Object.keys(t).forEach(r=>{r in e?n&&(xe(e[r])&&xe(t[r])?cu(e[r],t[r],n):e[r]=t[r]):e[r]=t[r]}),e):t}function lu(e,t){if(e===t)return!0;if(e==null||t==null||typeof e!=typeof t||typeof e!=`object`||Array.isArray(e)!==Array.isArray(t))return!1;let n,r;if(Array.isArray(e)){if(e.length!==t.length)return!1;for(n=0;nt&&(n=t,r=e.model.getLineMaxColumn(n)),Nl.fromModelState(new Pl(new W(a.lineNumber,1,n,r),2,0,new F(n,r),0))}let s=t.modelState.selectionStart.getStartPosition().lineNumber;if(a.lineNumbers){let n=e.getLineCount(),r=o.lineNumber+1,i=1;return r>n&&(r=n,i=e.getLineMaxColumn(r)),Nl.fromViewState(t.viewState.move(!0,r,i,0))}else{let e=t.modelState.selectionStart.getEndPosition();return Nl.fromModelState(t.modelState.move(!0,e.lineNumber,e.column,0))}}static word(e,t,n,r){let i=e.model.validatePosition(r);return Nl.fromModelState(tu.word(e.cursorConfig,e.model,t.modelState,n,i))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new Nl(t.modelState,t.viewState);let n=t.viewState.position.lineNumber,r=t.viewState.position.column;return Nl.fromViewState(new Pl(new W(n,r,n,r),0,0,new F(n,r),0))}static moveTo(e,t,n,r,i){if(n){if(t.modelState.selectionStartKind===1)return this.word(e,t,n,r);if(t.modelState.selectionStartKind===2)return this.line(e,t,n,r,i)}let a=e.model.validatePosition(r),o=i?e.coordinatesConverter.validateViewPosition(new F(i.lineNumber,i.column),a):e.coordinatesConverter.convertModelPositionToViewPosition(a);return Nl.fromViewState(t.viewState.move(n,o.lineNumber,o.column,0))}static simpleMove(e,t,n,r,i,a){switch(n){case 0:return a===4?this._moveHalfLineLeft(e,t,r):this._moveLeft(e,t,r,i);case 1:return a===4?this._moveHalfLineRight(e,t,r):this._moveRight(e,t,r,i);case 2:return a===2?this._moveUpByViewLines(e,t,r,i):this._moveUpByModelLines(e,t,r,i);case 3:return a===2?this._moveDownByViewLines(e,t,r,i):this._moveDownByModelLines(e,t,r,i);case 4:return a===2?t.map(t=>Nl.fromViewState(Kl.moveToPrevBlankLine(e.cursorConfig,e,t.viewState,r))):t.map(t=>Nl.fromModelState(Kl.moveToPrevBlankLine(e.cursorConfig,e.model,t.modelState,r)));case 5:return a===2?t.map(t=>Nl.fromViewState(Kl.moveToNextBlankLine(e.cursorConfig,e,t.viewState,r))):t.map(t=>Nl.fromModelState(Kl.moveToNextBlankLine(e.cursorConfig,e.model,t.modelState,r)));case 6:return this._moveToViewMinColumn(e,t,r);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,r);case 8:return this._moveToViewCenterColumn(e,t,r);case 9:return this._moveToViewMaxColumn(e,t,r);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,r);default:return null}}static viewportMove(e,t,n,r,i){let a=e.getCompletelyVisibleViewRange(),o=e.coordinatesConverter.convertViewRangeToModelRange(a);switch(n){case 11:{let n=this._firstLineNumberInRange(e.model,o,i),a=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],r,n,a)]}case 13:{let n=this._lastLineNumberInRange(e.model,o,i),a=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],r,n,a)]}case 12:{let n=Math.round((o.startLineNumber+o.endLineNumber)/2),i=e.model.getLineFirstNonWhitespaceColumn(n);return[this._moveToModelPosition(e,t[0],r,n,i)]}case 14:{let n=[];for(let i=0,o=t.length;in.endLineNumber-1?n.endLineNumber-1:i{let i=e.getTextDirection(t.viewState.position.lineNumber)===fu.RTL;return Nl.fromViewState(i?Kl.moveRight(e.cursorConfig,e,t.viewState,n,r):Kl.moveLeft(e.cursorConfig,e,t.viewState,n,r))})}static _moveHalfLineLeft(e,t,n){let r=[];for(let i=0,a=t.length;i{let i=e.getTextDirection(t.viewState.position.lineNumber)===fu.RTL;return Nl.fromViewState(i?Kl.moveLeft(e.cursorConfig,e,t.viewState,n,r):Kl.moveRight(e.cursorConfig,e,t.viewState,n,r))})}static _moveHalfLineRight(e,t,n){let r=[];for(let i=0,a=t.length;i/?`;function ere(e=``){let t=`(-?\\d*\\.\\d\\w*)|([^`;for(let n of Cu)e.indexOf(n)>=0||(t+=`\\`+n);return t+=`\\s]+)`,new RegExp(t,`g`)}var wu=ere();function Tu(e){let t=wu;if(e&&e instanceof RegExp)if(e.global)t=e;else{let n=`g`;e.ignoreCase&&(n+=`i`),e.multiline&&(n+=`m`),e.unicode&&(n+=`u`),t=new RegExp(e.source,n)}return t.lastIndex=0,t}var Eu=new Gt;Eu.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function Du(e,t,n,r,i){if(t=Tu(t),i||=It.first(Eu),n.length>i.maxLen){let a=e-i.maxLen/2;return a<0?a=0:r+=a,n=n.substring(a,e+i.maxLen/2),Du(e,t,n,r,i)}let a=Date.now(),o=e-1-r,s=-1,c=null;for(let e=1;!(Date.now()-a>=i.timeBudget);e++){let r=o-i.windowSize*e;t.lastIndex=Math.max(0,r);let a=Ou(t,n,o,s);if(!a&&c||(c=a,r<=0))break;s=r}if(c){let e={word:c[0],startColumn:r+1+c.index,endColumn:r+1+c.index+c[0].length};return t.lastIndex=0,e}return null}function Ou(e,t,n,r){let i;for(;i=e.exec(t);){let t=i.index||0;if(t<=n&&e.lastIndex>=n)return i;if(r>0&&t>r)return null}return null}var ku=class e{static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=`;:.,=}])> - `}static{this.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS=`'"\`;:.,=}])> - `}constructor(t){if(t.autoClosingPairs?this._autoClosingPairs=t.autoClosingPairs.map(e=>new xu(e)):t.brackets?this._autoClosingPairs=t.brackets.map(e=>new xu({open:e[0],close:e[1]})):this._autoClosingPairs=[],t.__electricCharacterSupport&&t.__electricCharacterSupport.docComment){let e=t.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new xu({open:e.open,close:e.close||``}))}this._autoCloseBeforeForQuotes=typeof t.autoCloseBefore==`string`?t.autoCloseBefore:e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof t.autoCloseBefore==`string`?t.autoCloseBefore:e.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=t.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}},Au;function ju(){return Au||=new TextDecoder(`UTF-16LE`),Au}var Mu;function Nu(){return Mu||=new TextDecoder(`UTF-16BE`),Mu}var Pu;function Fu(){return Pu||=ut()?ju():Nu(),Pu}function Iu(e,t,n){let r=new Uint16Array(e.buffer,t,n);return n>0&&(r[0]===65279||r[0]===65534)?Lu(e,t,n):ju().decode(r)}function Lu(e,t,n){let r=[],i=0;for(let a=0;a=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let n=0;n[e[0].toLowerCase(),e[1].toLowerCase()]);let n=[];for(let e=0;e{let[n,r]=e,[i,a]=t;return n===i||n===a||r===i||r===a},i=(e,r)=>{let i=Math.min(e,r),a=Math.max(e,r);for(let e=0;e0&&a.push({open:i,close:o})}return a}var Vu=class{constructor(e,t){this._richEditBracketsBrand=void 0;let n=Bu(t);this.brackets=n.map((t,r)=>new zu(e,r,t.open,t.close,Gu(t.open,t.close,n,r),Ku(t.open,t.close,n,r))),this.forwardRegex=qu(this.brackets),this.reversedRegex=Ju(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(let e of this.brackets){for(let t of e.open)this.textIsBracket[t]=e,this.textIsOpenBracket[t]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,t.length);for(let t of e.close)this.textIsBracket[t]=e,this.textIsOpenBracket[t]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,t.length)}}};function Hu(e,t,n,r){for(let i=0,a=t.length;i=0&&r.push(t);for(let t of a.close)t.indexOf(e)>=0&&r.push(t)}}function Uu(e,t){return e.length-t.length}function Wu(e){if(e.length<=1)return e;let t=[],n=new Set;for(let r of e)n.has(r)||(t.push(r),n.add(r));return t}function Gu(e,t,n,r){let i=[];i=i.concat(e),i=i.concat(t);for(let e=0,t=i.length;e=0;r--)t[n++]=e.charCodeAt(r);return Fu().decode(t)}let t=null,n=null;return function(r){return t!==r&&(t=r,n=e(t)),n}})(),Qu=class{static _findPrevBracketInText(e,t,n,r){let i=n.match(e);if(!i)return null;let a=n.length-(i.index||0),o=i[0].length,s=r+a;return new W(t,s-o+1,t,s+1)}static findPrevBracketInRange(e,t,n,r,i){let a=Zu(n).substring(n.length-i,n.length-r);return this._findPrevBracketInText(e,t,a,r)}static findNextBracketInText(e,t,n,r){let i=n.match(e);if(!i)return null;let a=i.index||0,o=i[0].length;if(o===0)return null;let s=r+a;return new W(t,s+1,t,s+1+o)}static findNextBracketInRange(e,t,n,r,i){let a=n.substring(r,i);return this.findNextBracketInText(e,t,a,r)}},$u=class{constructor(e){this._richEditBrackets=e}getElectricCharacters(){let e=[];if(this._richEditBrackets)for(let t of this._richEditBrackets.brackets)for(let n of t.close){let t=n.charAt(n.length-1);e.push(t)}return Bi(e)}onElectricCharacter(e,t,n){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;let r=t.findTokenIndexAtOffset(n-1);if(Ol(t.getStandardTokenType(r)))return null;let i=this._richEditBrackets.reversedRegex,a=t.getLineContent().substring(0,n-1)+e,o=Qu.findPrevBracketInRange(i,1,a,0,a.length);if(!o)return null;let s=a.substring(o.startColumn-1,o.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[s])return null;let c=t.getActualLineContentBefore(o.startColumn-1);return/^\s*$/.test(c)?{matchOpenBracket:s}:null}};function ed(e){return e.global&&(e.lastIndex=0),!0}var td=class{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&ed(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&ed(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&ed(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&ed(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}},nd=class e{constructor(t){t||={},t.brackets=t.brackets||[[`(`,`)`],[`{`,`}`],[`[`,`]`]],this._brackets=[],t.brackets.forEach(t=>{let n=e._createOpenBracketRegExp(t[0]),r=e._createCloseBracketRegExp(t[1]);n&&r&&this._brackets.push({open:t[0],openRegExp:n,close:t[1],closeRegExp:r})}),this._regExpRules=t.onEnterRules||[]}onEnter(e,t,n,r){if(e>=3)for(let e=0,i=this._regExpRules.length;ee.reg?(e.reg.lastIndex=0,e.reg.test(e.text)):!0))return i.action}if(e>=2&&n.length>0&&r.length>0)for(let e=0,t=this._brackets.length;e=2&&n.length>0){for(let e=0,t=this._brackets.length;e0&&e.charAt(e.length-1)===`#`?e.substring(0,e.length-1):e}var nre=new class extends D{constructor(){super(...arguments),this.schemasById={},this._onDidChangeSchema=this._register(new k)}registerSchema(e,t,n){let r=tre(e);this.schemasById[r]=t,this._onDidChangeSchema.fire(e),n&&n.add(T(()=>{delete this.schemasById[r],this._onDidChangeSchema.fire(e)}))}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};vc.add(gd.JSONContribution,nre);var _d,vd=globalThis.vscode;if(vd!==void 0&&vd.context!==void 0){let e=vd.context.configuration();if(e)_d=e.product;else throw Error(`Sandbox: unable to resolve product configuration from preload script.`)}else if(globalThis._VSCODE_PRODUCT_JSON&&globalThis._VSCODE_PACKAGE_JSON){if(_d=globalThis._VSCODE_PRODUCT_JSON,Tr.VSCODE_DEV&&Object.assign(_d,{nameShort:`${_d.nameShort} Dev`,nameLong:`${_d.nameLong} Dev`,dataFolderName:`${_d.dataFolderName}-dev`,serverDataFolderName:_d.serverDataFolderName?`${_d.serverDataFolderName}-dev`:void 0}),!_d.version){let e=globalThis._VSCODE_PACKAGE_JSON;Object.assign(_d,{version:e.version})}}else _d={},Object.keys(_d).length===0&&Object.assign(_d,{version:`1.104.0-dev`,nameShort:`Code - OSS Dev`,nameLong:`Code - OSS Dev`,applicationName:`code-oss`,dataFolderName:`.vscode-oss`,urlProtocol:`code-oss`,reportIssueUrl:`https://github.com/microsoft/vscode/issues/new`,licenseName:`MIT`,licenseUrl:`https://github.com/microsoft/vscode/blob/main/LICENSE.txt`,serverLicenseUrl:`https://github.com/microsoft/vscode/blob/main/LICENSE.txt`});var yd=_d,bd={Configuration:`base.contributions.configuration`},xd=`vscode://schemas/settings/resourceLanguage`,Sd=vc.as(gd.JSONContribution),rre=class extends D{constructor(){super(),this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=this._register(new k),this._onDidUpdateConfiguration=this._register(new k),this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:`defaultOverrides`,title:s(1664,`Default Language Configuration Overrides`),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},Sd.registerSchema(xd,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){return this.registerConfigurations([e],t),e}registerConfigurations(e,t=!0){let n=new Set;this.doRegisterConfigurations(e,t,n),Sd.registerSchema(xd,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:n})}registerDefaultConfigurations(e){let t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){this.registeredConfigurationDefaults.push(...e);let n=[];for(let{overrides:r,source:i}of e)for(let e in r){t.add(e);let a=this.configurationDefaultsOverrides.get(e)??this.configurationDefaultsOverrides.set(e,{configurationDefaultOverrides:[]}).get(e),o=r[e];if(a.configurationDefaultOverrides.push({value:o,source:i}),Td.test(e)){let t=this.mergeDefaultConfigurationsForOverrideIdentifier(e,o,i,a.configurationDefaultOverrideValue);if(!t)continue;a.configurationDefaultOverrideValue=t,this.updateDefaultOverrideProperty(e,t,i),n.push(...Ed(e))}else{let t=this.mergeDefaultConfigurationsForConfigurationProperty(e,o,i,a.configurationDefaultOverrideValue);if(!t)continue;a.configurationDefaultOverrideValue=t;let n=this.configurationProperties[e];n&&(this.updatePropertyDefaultValue(e,n),this.updateSchema(e,n))}}this.doRegisterOverrideIdentifiers(n)}updateDefaultOverrideProperty(e,t,n){let r={section:{id:this.defaultLanguageConfigurationOverridesNode.id,title:this.defaultLanguageConfigurationOverridesNode.title,order:this.defaultLanguageConfigurationOverridesNode.order,extensionInfo:this.defaultLanguageConfigurationOverridesNode.extensionInfo},type:`object`,default:t.value,description:s(1665,`Configure settings to be overridden for {0}.`,ld(e)),$ref:xd,defaultDefaultValue:t.value,source:n,defaultValueSource:n};this.configurationProperties[e]=r,this.defaultLanguageConfigurationOverridesNode.properties[e]=r}mergeDefaultConfigurationsForOverrideIdentifier(e,t,n,r){let i=r?.value||{},a=r?.source??new Map;if(!(a instanceof Map)){console.error(`objectConfigurationSources is not a Map`);return}for(let e of Object.keys(t)){let r=t[e];if(xe(r)&&(Ee(i[e])||xe(i[e]))){if(i[e]={...i[e]??{},...r},n)for(let t in r)a.set(`${e}.${t}`,n)}else i[e]=r,n?a.set(e,n):a.delete(e)}return{value:i,source:a}}mergeDefaultConfigurationsForConfigurationProperty(e,t,n,r){let i=this.configurationProperties[e],a=r?.value??i?.defaultDefaultValue,o=n;if(xe(t)&&(i!==void 0&&i.type===`object`||i===void 0&&(Ee(a)||xe(a)))){if(o=r?.source??new Map,!(o instanceof Map)){console.error(`defaultValueSource is not a Map`);return}for(let r in t)n&&o.set(`${e}.${r}`,n);t={...xe(a)?a:{},...t}}return{value:t,source:o}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(let t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,n){e.forEach(e=>{this.validateAndRegisterProperties(e,t,e.extensionInfo,e.restrictedProperties,void 0,n),this.configurationContributors.push(e),this.registerJSONConfiguration(e)})}validateAndRegisterProperties(e,t=!0,n,r,i=4,a){i=Oe(e.scope)?i:e.scope;let o=e.properties;if(o)for(let s in o){let c=o[s];if(c.section={id:e.id,title:e.title,order:e.order,extensionInfo:e.extensionInfo},t&&ore(s,c,n?.id)){delete o[s];continue}c.source=n,c.defaultDefaultValue=o[s].default,this.updatePropertyDefaultValue(s,c),Td.test(s)?c.scope=void 0:(c.scope=Oe(c.scope)?i:c.scope,c.restricted=Oe(c.restricted)?!!r?.includes(s):c.restricted),c.experiment?c.tags?.some(e=>e.toLowerCase()===`onexp`)||(c.tags=c.tags??[],c.tags.push(`onExP`)):c.tags?.some(e=>e.toLowerCase()===`onexp`)&&(console.error(`Invalid tag 'onExP' found for property '${s}'. Please use 'experiment' property instead.`),c.experiment={mode:`startup`});let l=o[s].hasOwnProperty(`included`)&&!o[s].included,u=o[s].policy?.name;l?(this.excludedConfigurationProperties[s]=o[s],u&&(this.policyConfigurations.set(u,s),a.add(s)),delete o[s]):(a.add(s),u&&this.policyConfigurations.set(u,s),this.configurationProperties[s]=o[s],!o[s].deprecationMessage&&o[s].markdownDeprecationMessage&&(o[s].deprecationMessage=o[s].markdownDeprecationMessage))}let s=e.allOf;if(s)for(let e of s)this.validateAndRegisterProperties(e,t,n,r,i,a)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}getExcludedConfigurationProperties(){return this.excludedConfigurationProperties}registerJSONConfiguration(e){let t=e=>{let n=e.properties;if(n)for(let e in n)this.updateSchema(e,n[e]);e.allOf?.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 3:break;case 7:break;case 4:break;case 5:break;case 6:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(let e of this.overrideIdentifiers.values()){let t=`[${e}]`,n={type:`object`,description:s(1666,`Configure editor settings to be overridden for a language.`),errorMessage:s(1667,`This setting does not support per-language configuration.`),$ref:xd};this.updatePropertyDefaultValue(t,n)}}registerOverridePropertyPatternKey(){s(1668,`Configure editor settings to be overridden for a language.`),s(1669,`This setting does not support per-language configuration.`),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){let n=this.configurationDefaultsOverrides.get(e)?.configurationDefaultOverrideValue,r,i;n&&(!t.disallowConfigurationDefault||!n.source)&&(r=n.value,i=n.source),Ee(r)&&(r=t.defaultDefaultValue,i=void 0),Ee(r)&&(r=are(t.type)),t.default=r,t.defaultValueSource=i}},Cd=`\\[([^\\]]+)\\]`,wd=new RegExp(Cd,`g`),ire=`^(${Cd})+$`,Td=new RegExp(ire);function Ed(e){let t=[];if(Td.test(e)){let n=wd.exec(e);for(;n?.length;){let r=n[1].trim();r&&t.push(r),n=wd.exec(e)}}return Bi(t)}function are(e){switch(Array.isArray(e)?e[0]:e){case`boolean`:return!1;case`integer`:case`number`:return 0;case`string`:return``;case`array`:return[];case`object`:return{};default:return null}}var Dd=new rre;vc.add(bd.Configuration,Dd);function ore(e,t,n){return e.trim()?Td.test(e)?s(1671,`Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.`,e):Dd.getConfigurationProperties()[e]!==void 0&&(!n||!sre.has(n.toLowerCase()))?s(1672,`Cannot register '{0}'. This property is already registered.`,e):t.policy?.name&&Dd.getPolicyConfigurations().get(t.policy?.name)!==void 0?s(1673,`Cannot register '{0}'. The associated policy {1} is already registered with {2}.`,e,t.policy?.name,Dd.getPolicyConfigurations().get(t.policy?.name)):null:s(1670,`Cannot register an empty property`)}var sre=new Set(yd.defaultChatAgent?[yd.defaultChatAgent.extensionId,yd.defaultChatAgent.chatExtensionId].map(e=>e.toLowerCase()):[]),cre={ModesRegistry:`editor.modesRegistry`},Od=new class extends D{constructor(){super(),this._onDidChangeLanguages=this._register(new k),this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,n=this._languages.length;t{let t=new Set;return{info:new ure(this,e,t),closing:t}}),i=new Tn(e=>{let t=new Set,n=new Set;return{info:new dre(this,e,t,n),opening:t,openingColorized:n}});for(let[e,t]of n){let n=r.get(e),a=i.get(t);n.closing.add(a.info),a.opening.add(n.info)}let a=t.colorizedBracketPairs?Ad(t.colorizedBracketPairs):n.filter(e=>!(e[0]===`<`&&e[1]===`>`));for(let[e,t]of a){let n=r.get(e),a=i.get(t);n.closing.add(a.info),a.openingColorized.add(n.info),a.opening.add(n.info)}this._openingBrackets=new Map([...r.cachedValues].map(([e,t])=>[e,t.info])),this._closingBrackets=new Map([...i.cachedValues].map(([e,t])=>[e,t.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){return Xu(Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]),e)}};function Ad(e){return e.filter(([e,t])=>e!==``&&t!==``)}var jd=class{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}},ure=class extends jd{constructor(e,t,n){super(e,t),this.openedBrackets=n,this.isOpeningBracket=!0}},dre=class extends jd{constructor(e,t,n,r){super(e,t),this.openingBrackets=n,this.openingColorizedBrackets=r,this.isOpeningBracket=!1}closes(e){return e.config===this.config?this.openingBrackets.has(e):!1}closesColorized(e){return e.config===this.config?this.openingColorizedBrackets.has(e):!1}getOpeningBrackets(){return[...this.openingBrackets]}},fre=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Md=function(e,t){return function(n,r){t(n,r,e)}},Nd=class{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}},Pd=ks(`languageConfigurationService`),Fd=class extends D{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new gre),this.onDidChangeEmitter=this._register(new k),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;let n=new Set(Object.values(Id));this._register(this.configurationService.onDidChangeConfiguration(e=>{let t=e.change.keys.some(e=>n.has(e)),r=e.change.overrides.filter(([e,t])=>t.some(e=>n.has(e))).map(([e])=>e);if(t)this.configurations.clear(),this.onDidChangeEmitter.fire(new Nd(void 0));else for(let e of r)this.languageService.isRegisteredLanguageId(e)&&(this.configurations.delete(e),this.onDidChangeEmitter.fire(new Nd(e)))})),this._register(this._registry.onDidChange(e=>{this.configurations.delete(e.languageId),this.onDidChangeEmitter.fire(new Nd(e.languageId))}))}register(e,t,n){return this._registry.register(e,t,n)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=pre(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};Fd=fre([Md(0,rd),Md(1,ud)],Fd);function pre(e,t,n,r){let i=t.getLanguageConfiguration(e);if(!i){if(!r.isRegisteredLanguageId(e))return new Hd(e,{});i=new Hd(e,{})}let a=mre(i.languageId,n),o=zd([i.underlyingConfig,a]);return new Hd(i.languageId,o)}var Id={brackets:`editor.language.brackets`,colorizedBracketPairs:`editor.language.colorizedBracketPairs`};function mre(e,t){let n=t.getValue(Id.brackets,{overrideIdentifier:e}),r=t.getValue(Id.colorizedBracketPairs,{overrideIdentifier:e});return{brackets:Ld(n),colorizedBracketPairs:Ld(r)}}function Ld(e){if(Array.isArray(e))return e.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function Rd(e,t,n){let r=Rn(e.getLineContent(t));return r.length>n-1&&(r=r.substring(0,n-1)),r}var hre=class{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){let n=new Bd(e,t,++this._order);return this._entries.push(n),this._resolved=null,Lt(T(()=>{for(let e=0;ee.configuration)))}};function zd(e){let t={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(let n of e)t={comments:n.comments||t.comments,brackets:n.brackets||t.brackets,wordPattern:n.wordPattern||t.wordPattern,indentationRules:n.indentationRules||t.indentationRules,onEnterRules:n.onEnterRules||t.onEnterRules,autoClosingPairs:n.autoClosingPairs||t.autoClosingPairs,surroundingPairs:n.surroundingPairs||t.surroundingPairs,autoCloseBefore:n.autoCloseBefore||t.autoCloseBefore,folding:n.folding||t.folding,colorizedBracketPairs:n.colorizedBracketPairs||t.colorizedBracketPairs,__electricCharacterSupport:n.__electricCharacterSupport||t.__electricCharacterSupport};return t}var Bd=class{constructor(e,t,n){this.configuration=e,this.priority=t,this.order=n}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}},Vd=class{constructor(e){this.languageId=e}},gre=class extends D{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new k),this.onDidChange=this._onDidChange.event,this._register(this.register(kd,{brackets:[[`(`,`)`],[`[`,`]`],[`{`,`}`]],surroundingPairs:[{open:`{`,close:`}`},{open:`[`,close:`]`},{open:`(`,close:`)`},{open:`<`,close:`>`},{open:`"`,close:`"`},{open:`'`,close:`'`},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,n=0){let r=this._entries.get(e);r||(r=new hre(e),this._entries.set(e,r));let i=r.register(t,n);return this._onDidChange.fire(new Vd(e)),Lt(T(()=>{i.dispose(),this._onDidChange.fire(new Vd(e))}))}getLanguageConfiguration(e){return this._entries.get(e)?.getResolvedConfiguration()||null}},Hd=class e{constructor(t,n){this.languageId=t,this.underlyingConfig=n,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new nd(this.underlyingConfig):null,this.comments=e._handleComments(this.underlyingConfig),this.characterPair=new ku(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||wu,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new td(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new lre(t,this.underlyingConfig)}getWordDefinition(){return Tu(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new Vu(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||=new $u(this.brackets),this._electricCharacter}onEnter(e,t,n,r){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,n,r):null}getAutoClosingPairs(){return new $ne(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){let t=e.comments;if(!t)return null;let n={};if(t.lineComment&&(typeof t.lineComment==`string`?n.lineCommentToken=t.lineComment:(n.lineCommentToken=t.lineComment.comment,n.lineCommentNoIndent=t.lineComment.noIndent)),t.blockComment){let[e,r]=t.blockComment;n.blockCommentStartToken=e,n.blockCommentEndToken=r}return n}};pd(Pd,Fd,1);var Ud=class{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let t=`mtk`+this.getForeground(e),n=this.getFontStyle(e);return n&1&&(t+=` mtki`),n&2&&(t+=` mtkb`),n&4&&(t+=` mtku`),n&8&&(t+=` mtks`),t}static getInlineStyleFromMetadata(e,t){let n=this.getForeground(e),r=this.getFontStyle(e),i=`color: ${t[n]};`;r&1&&(i+=`font-style: italic;`),r&2&&(i+=`font-weight: bold;`);let a=``;return r&4&&(a+=` underline`),r&8&&(a+=` line-through`),a&&(i+=`text-decoration:${a};`),i}static getPresentationFromMetadata(e){let t=this.getForeground(e),n=this.getFontStyle(e);return{foreground:t,italic:!!(n&1),bold:!!(n&2),underline:!!(n&4),strikethrough:!!(n&8)}}},Wd=class e{static fromTo(t,n){return new e(t,n)}static addRange(t,n){let r=0;for(;rn))return new e(t,n)}static ofLength(t){return new e(0,t)}static ofStartAndLength(t,n){return new e(t,t+n)}static emptyAt(t){return new e(t,t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new w(`Invalid range: ${this.toString()}`)}get isEmpty(){return this.start===this.endExclusive}delta(t){return new e(this.start+t,this.endExclusive+t)}deltaStart(t){return new e(this.start+t,this.endExclusive)}deltaEnd(t){return new e(this.start,this.endExclusive+t)}get length(){return this.endExclusive-this.start}toString(){return`[${this.start}, ${this.endExclusive})`}equals(e){return this.start===e.start&&this.endExclusive===e.endExclusive}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new w(`Invalid clipping range: ${this.toString()}`);return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new w(`Invalid clipping range: ${this.toString()}`);return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString()).join(`, `)}intersectsStrict(e){let t=0;for(;te+t.length,0)}},Gd=class e{static createEmpty(t,n){let r=e.defaultTokenMetadata,i=new Uint32Array(2);return i[0]=t.length,i[1]=r,new e(i,t,n)}static createFromTextAndMetadata(t,n){let r=0,i=``,a=[];for(let{text:e,metadata:n}of t)a.push(r+e.length,n),r+=e.length,i+=e;return new e(new Uint32Array(a),i,n)}static convertToEndOffset(e,t){let n=(e.length>>>1)-1;for(let t=0;t>>1)-1;for(;nt&&(r=i)}return n}static{this.defaultTokenMetadata=33587200}constructor(e,t,n){this._lineTokensBrand=void 0,(e.length>1?e[e.length-2]:0)!==t.length&&C(Error(`Token length and text length do not match!`)),this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=n}getTextLength(){return this._text.length}equals(t){return t instanceof e?this.slicedEquals(t,0,this._tokensCount):!1}slicedEquals(e,t,n){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;let r=t<<1,i=r+(n<<1);for(let t=r;t0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){let t=this._tokens[(e<<1)+1],n=Ud.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(n)}getStandardTokenType(e){let t=this._tokens[(e<<1)+1];return Ud.getTokenType(t)}getForeground(e){let t=this._tokens[(e<<1)+1];return Ud.getForeground(t)}getClassName(e){let t=this._tokens[(e<<1)+1];return Ud.getClassNameFromMetadata(t)}getInlineStyle(e,t){let n=this._tokens[(e<<1)+1];return Ud.getInlineStyleFromMetadata(n,t)}getPresentation(e){let t=this._tokens[(e<<1)+1];return Ud.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(t){return e.findIndexInTokensArray(this._tokens,t)}inflate(){return this}sliceAndInflate(e,t,n){return new vre(this,e,t,n)}sliceZeroCopy(e){return this.sliceAndInflate(e.start,e.endExclusive,0)}withInserted(t){if(t.length===0)return this;let n=0,r=0,i=``,a=[],o=0;for(;;){let e=no){i+=this._text.substring(o,s.offset);let e=this._tokens[(n<<1)+1];a.push(i.length,e),o=s.offset}i+=s.text,a.push(i.length,s.tokenMetadata),r++}else break}return new e(new Uint32Array(a),i,this.languageIdCodec)}getTokensInRange(e){let t=new bre,n=this.findTokenIndexAtOffset(e.start),r=this.findTokenIndexAtOffset(e.endExclusive);for(let i=n;i<=r;i++){let n=new Wd(this.getStartOffset(i),this.getEndOffset(i)).intersectionLength(e);n>0&&t.add(n,this.getMetadata(i))}return t.build()}getTokenText(e){let t=this.getStartOffset(e),n=this.getEndOffset(e);return this._text.substring(t,n)}forEach(e){let t=this.getCount();for(let n=0;n{e+=`[${this.getTokenText(t)}]{${this.getClassName(t)}}`}),e}},vre=class e{constructor(e,t,n,r){this._source=e,this._startOffset=t,this._endOffset=n,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let t=this._firstTokenIndex,r=e.getCount();t=n);t++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(t){return t instanceof e?this._startOffset===t._startOffset&&this._endOffset===t._endOffset&&this._deltaOffset===t._deltaOffset&&this._source.slicedEquals(t._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){let t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){let t=this._firstTokenIndex+e,n=this._source.getStartOffset(t),r=this._source.getEndOffset(t),i=this._source.getTokenText(t);return nthis._endOffset&&(i=i.substring(0,i.length-(r-this._endOffset))),i}forEach(e){for(let t=0;t({text:t.substring(e),metadata:n.metadata})),t)}forEach(e){let t=0;for(let n of this._tokenInfo)e(new Wd(t,t+n.length),n),t+=n.length}map(e){let t=[],n=0;for(let r of this._tokenInfo){let i=new Wd(n,n+r.length);t.push(e(i,r)),n+=r.length}return t}slice(t){let n=[],r=0;for(let e of this._tokenInfo){let i=r,a=i+e.length;if(a>t.start){if(i>=t.endExclusive)break;let r=Math.max(0,t.start-i),o=Math.max(0,a-t.endExclusive);n.push(new qd(e.length-r-o,e.metadata))}r+=e.length}return e.create(n)}},qd=class{constructor(e,t){this.length=e,this.metadata=t}},bre=class{constructor(){this._tokens=[]}add(e,t){this._tokens.push(new qd(e,t))}build(){return Kd.create(this._tokens)}},Jd=class{constructor(e,t,n){this._indentRulesSupport=t,this._indentationLineProcessor=new Xd(e,n)}shouldIncrease(e,t){let n=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldIncrease(n)}shouldDecrease(e,t){let n=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldDecrease(n)}shouldIgnore(e,t){let n=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldIgnore(n)}shouldIndentNextLine(e,t){let n=this._indentationLineProcessor.getProcessedLine(e,t);return this._indentRulesSupport.shouldIndentNextLine(n)}},Yd=class{constructor(e,t){this.model=e,this.indentationLineProcessor=new Xd(e,t)}getProcessedTokenContextAroundRange(e){return{beforeRangeProcessedTokens:this._getProcessedTokensBeforeRange(e),afterRangeProcessedTokens:this._getProcessedTokensAfterRange(e),previousLineProcessedTokens:this._getProcessedPreviousLineTokens(e)}}_getProcessedTokensBeforeRange(e){this.model.tokenization.forceTokenization(e.startLineNumber);let t=this.model.tokenization.getLineTokens(e.startLineNumber),n=Dl(t,e.startColumn-1),r;if(Zd(this.model,e.getStartPosition())){let i=e.startColumn-1-n.firstCharOffset,a=n.firstCharOffset,o=a+i;r=t.sliceAndInflate(a,o,0)}else{let n=e.startColumn-1;r=t.sliceAndInflate(0,n,0)}return this.indentationLineProcessor.getProcessedTokens(r)}_getProcessedTokensAfterRange(e){let t=e.isEmpty()?e.getStartPosition():e.getEndPosition();this.model.tokenization.forceTokenization(t.lineNumber);let n=this.model.tokenization.getLineTokens(t.lineNumber),r=Dl(n,t.column-1),i=t.column-1-r.firstCharOffset,a=r.firstCharOffset+i,o=r.firstCharOffset+r.getLineLength(),s=n.sliceAndInflate(a,o,0);return this.indentationLineProcessor.getProcessedTokens(s)}_getProcessedPreviousLineTokens(e){let t=e=>(this.model.tokenization.forceTokenization(e),Dl(this.model.tokenization.getLineTokens(e),this.model.getLineMaxColumn(e)-1));this.model.tokenization.forceTokenization(e.startLineNumber);let n=Dl(this.model.tokenization.getLineTokens(e.startLineNumber),e.startColumn-1),r=Gd.createEmpty(``,n.languageIdCodec),i=e.startLineNumber-1;if(i===0||n.firstCharOffset!==0)return r;let a=t(i);if(n.languageId!==a.languageId)return r;let o=a.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(o)}},Xd=class{constructor(e,t){this.model=e,this.languageConfigurationService=t}getProcessedLine(e,t){let n=(e,t)=>{let n=Rn(e);return t+e.substring(n.length)};this.model.tokenization.forceTokenization?.(e);let r=this.model.tokenization.getLineTokens(e),i=this.getProcessedTokens(r).getLineContent();return t!==void 0&&(i=n(i,t)),i}getProcessedTokens(e){let t=e=>e===2||e===3||e===1,n=e.getLanguageId(0),r=this.languageConfigurationService.getLanguageConfiguration(n).bracketsNew.getBracketRegExp({global:!0}),i=[];return e.forEach(n=>{let a=e.getStandardTokenType(n),o=e.getTokenText(n);t(a)&&(o=o.replace(r,``));let s=e.getMetadata(n);i.push({text:o,metadata:s})}),Gd.createFromTextAndMetadata(i,e.languageIdCodec)}};function Zd(e,t){e.tokenization.forceTokenization(t.lineNumber);let n=e.tokenization.getLineTokens(t.lineNumber),r=Dl(n,t.column-1),i=r.firstCharOffset===0,a=n.getLanguageId(0)===r.languageId;return!i&&!a}function Qd(e,t,n,r){t.tokenization.forceTokenization(n.startLineNumber);let i=t.getLanguageIdAtPosition(n.startLineNumber,n.startColumn),a=r.getLanguageConfiguration(i);if(!a)return null;let o=new Yd(t,r).getProcessedTokenContextAroundRange(n),s=o.previousLineProcessedTokens.getLineContent(),c=o.beforeRangeProcessedTokens.getLineContent(),l=o.afterRangeProcessedTokens.getLineContent(),u=a.onEnter(e,s,c,l);if(!u)return null;let d=u.indentAction,f=u.appendText,p=u.removeText||0;f?d===bu.Indent&&(f=` `+f):f=d===bu.Indent||d===bu.IndentOutdent?` `:``;let m=Rd(t,n.startLineNumber,n.startColumn);return p&&(m=m.substring(0,m.length-p)),{indentAction:d,appendText:f,removeText:p,indentation:m}}var xre=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Sre=function(e,t){return function(n,r){t(n,r,e)}},$d,ef=Object.create(null);function tf(e,t){if(t<=0)return``;ef[e]||(ef[e]=[``,e]);let n=ef[e];for(let r=n.length;r<=t;r++)n[r]=n[r-1]+e;return n[t]}var nf=$d=class{static unshiftIndent(e,t,n,r,i){let a=kl.visibleColumnFromColumn(e,t,n);return i?tf(tf(` `,r),kl.prevIndentTabStop(a,r)/r):tf(` `,kl.prevRenderTabStop(a,n)/n)}static shiftIndent(e,t,n,r,i){let a=kl.visibleColumnFromColumn(e,t,n);return i?tf(tf(` `,r),kl.nextIndentTabStop(a,r)/r):tf(` `,kl.nextRenderTabStop(a,n)/n)}constructor(e,t,n){this._languageConfigurationService=n,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,n){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,n):e.addEditOperation(t,n)}getEditOperations(e,t){let n=this._selection.startLineNumber,r=this._selection.endLineNumber;this._selection.endColumn===1&&n!==r&&--r;let{tabSize:i,indentSize:a,insertSpaces:o}=this._opts,s=n===r;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(n))&&(this._useLastEditRangeForCursorEndPosition=!0);let c=0,l=0;for(let u=n;u<=r;u++,c=l){l=0;let r=e.getLineContent(u),d=Ln(r);if(this._opts.isUnshift&&(r.length===0||d===0)||!s&&!this._opts.isUnshift&&r.length===0)continue;if(d===-1&&(d=r.length),u>1&&kl.visibleColumnFromColumn(r,d+1,i)%a!==0&&e.tokenization.isCheapToTokenize(u-1)){let t=Qd(this._opts.autoIndent,e,new W(u-1,e.getLineMaxColumn(u-1),u-1,e.getLineMaxColumn(u-1)),this._languageConfigurationService);if(t){if(l=c,t.appendText)for(let e=0,n=t.appendText.length;e1){let i,a=-1;for(i=t-1;i>=1;i--){if(e.tokenization.getLanguageIdAtPosition(i,0)!==r)return a;let t=e.getLineContent(i);if(n.shouldIgnore(i)||/^\s+$/.test(t)||t===``){a=i;continue}return i}}return-1}function rf(e,t,n,r=!0,i){if(e<4)return null;let a=i.getLanguageConfiguration(t.tokenization.getLanguageId()).indentRulesSupport;if(!a)return null;let o=new Jd(t,a,i);if(n<=1)return{indentation:``,action:null};for(let e=n-1;e>0&&t.getLineContent(e)===``;e--)if(e===1)return{indentation:``,action:null};let s=Tre(t,n,o);if(s<0)return null;if(s<1)return{indentation:``,action:null};if(o.shouldIncrease(s)||o.shouldIndentNextLine(s))return{indentation:Rn(t.getLineContent(s)),action:bu.Indent,line:s};if(o.shouldDecrease(s))return{indentation:Rn(t.getLineContent(s)),action:null,line:s};{if(s===1)return{indentation:Rn(t.getLineContent(s)),action:null,line:s};let e=s-1,n=a.getIndentMetadata(t.getLineContent(e));if(!(n&3)&&n&4){let n=0;for(let t=e-1;t>0;t--)if(!o.shouldIndentNextLine(t)){n=t;break}return{indentation:Rn(t.getLineContent(n+1)),action:null,line:n+1}}if(r)return{indentation:Rn(t.getLineContent(s)),action:null,line:s};for(let e=s;e>0;e--)if(o.shouldIncrease(e))return{indentation:Rn(t.getLineContent(e)),action:bu.Indent,line:e};else if(o.shouldIndentNextLine(e)){let n=0;for(let t=e-1;t>0;t--)if(!o.shouldIndentNextLine(e)){n=t;break}return{indentation:Rn(t.getLineContent(n+1)),action:null,line:n+1}}else if(o.shouldDecrease(e))return{indentation:Rn(t.getLineContent(e)),action:null,line:e};return{indentation:Rn(t.getLineContent(1)),action:null,line:1}}}function af(e,t,n,r,i,a){if(e<4)return null;let o=a.getLanguageConfiguration(n);if(!o)return null;let s=a.getLanguageConfiguration(n).indentRulesSupport;if(!s)return null;let c=new Jd(t,s,a),l=rf(e,t,r,void 0,a);if(l){let n=l.line;if(n!==void 0){let a=!0;for(let e=n;e0){let s=t.getLineContent(m);if(c.shouldIndentNextLine(s)&&c.shouldIncrease(p)){let s=rf(o,t,n.startLineNumber,!1,a)?.indentation;if(s!==void 0){let a=Rn(t.getLineContent(n.startLineNumber)),o=i.shiftIndent(s)===a,c=/^\s*$/.test(f),l=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(r),u=l&&l.length>0&&c;if(o&&u)return s}}}return null}function of(e,t,n){let r=n.getLanguageConfiguration(e.getLanguageId()).indentRulesSupport;return!r||t<1||t>e.getLineCount()?null:r.getIndentMetadata(e.getLineContent(t))}function Ore(e,t,n){return{tokenization:{getLineTokens:r=>r===t?n:e.tokenization.getLineTokens(r),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(t,n)=>e.getLanguageIdAtPosition(t,n)},getLineContent:r=>r===t?n.getLineContent():e.getLineContent(r)}}var kre=class{static getEdits(e,t,n,r,i){if(!i&&this._isAutoIndentType(e,t,n)){let i=[];for(let a of n){let n=this._findActualIndentationForSelection(e,t,a,r);if(n===null)return;i.push({selection:a,indentation:n})}let a=sf.getAutoClosingPairClose(e,t,n,r,!1);return this._getIndentationAndAutoClosingPairEdits(e,t,i,r,a)}}static _isAutoIndentType(e,t,n){if(e.autoIndent<4)return!1;for(let e=0,r=n.length;e_f(e,t),unshiftIndent:t=>vf(e,t)},e.languageConfigurationService);if(i===null)return null;let a=Rd(t,n.startLineNumber,n.startColumn);return i===e.normalizeIndentation(a)?null:i}static _getIndentationAndAutoClosingPairEdits(e,t,n,r,i){return new Fl(4,n.map(({selection:n,indentation:a})=>{if(i!==null)return new Bre(this._getEditFromIndentationAndSelection(e,t,a,n,r,!1),n,r,i);{let i=this._getEditFromIndentationAndSelection(e,t,a,n,r,!0);return gf(i.range,i.text,!1)}}),{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}static _getEditFromIndentationAndSelection(e,t,n,r,i,a=!0){let o=r.startLineNumber,s=t.getLineFirstNonWhitespaceColumn(o),c=e.normalizeIndentation(n);if(s!==0){let e=t.getLineContent(o);c+=e.substring(s-1,r.startColumn-1)}return c+=a?i:``,{range:new W(o,1,r.endLineNumber,r.endColumn),text:c}}},Are=class{static getEdits(e,t,n,r,i,a){if(hf(t,n,r,i,a))return this._runAutoClosingOvertype(e,r,a)}static _runAutoClosingOvertype(e,t,n){let r=[];for(let e=0,i=t.length;enew Rl(new W(e.positionLineNumber,e.positionColumn,e.positionLineNumber,e.positionColumn+1),``,!1)),{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}},sf=class{static getEdits(e,t,n,r,i,a){if(!a){let a=this.getAutoClosingPairClose(e,t,n,r,i);if(a!==null)return this._runAutoClosingOpenCharType(n,r,i,a)}}static _runAutoClosingOpenCharType(e,t,n,r){let i=[];for(let a=0,o=e.length;a{let t=e.getPosition();return i?{lineNumber:t.lineNumber,beforeColumn:t.column-r.length,afterColumn:t.column}:{lineNumber:t.lineNumber,beforeColumn:t.column,afterColumn:t.column}}),o=this._findAutoClosingPairOpen(e,t,a.map(e=>new F(e.lineNumber,e.beforeColumn)),r);if(!o)return null;let s,c;if(Il(r)?(s=e.autoClosingQuotes,c=e.shouldAutoCloseBefore.quote):e.blockCommentStartToken&&o.open.includes(e.blockCommentStartToken)?(s=e.autoClosingComments,c=e.shouldAutoCloseBefore.comment):(s=e.autoClosingBrackets,c=e.shouldAutoCloseBefore.bracket),s===`never`)return null;let l=this._findContainedAutoClosingPair(e,o),u=l?l.close:``,d=!0;for(let n of a){let{lineNumber:i,beforeColumn:a,afterColumn:l}=n,f=t.getLineContent(i),p=f.substring(0,a-1),m=f.substring(l-1);if(m.startsWith(u)||(d=!1),m.length>0){let t=m.charAt(0);if(!this._isBeforeClosingBrace(e,m)&&!c(t))return null}if(o.open.length===1&&(r===`'`||r===`"`)&&s!==`always`){let t=eu(e.wordSeparators,[]);if(p.length>0){let e=p.charCodeAt(p.length-1);if(t.get(e)===0)return null}}if(!t.tokenization.isCheapToTokenize(i))return null;t.tokenization.forceTokenization(i);let h=Dl(t.tokenization.getLineTokens(i),a-1);if(!o.shouldAutoClose(h,a-h.firstCharOffset))return null;let g=o.findNeutralCharacter();if(g){let e=t.tokenization.getTokenTypeIfInsertingCharacter(i,a,g);if(!o.isOK(e))return null}}return d?o.close.substring(0,o.close.length-u.length):o.close}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;let n=t.close.charAt(t.close.length-1),r=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(n)||[],i=null;for(let e of r)e.open!==t.open&&t.open.includes(e.open)&&t.close.endsWith(e.close)&&(!i||e.open.length>i.open.length)&&(i=e);return i}static _findAutoClosingPairOpen(e,t,n,r){let i=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(r);if(!i)return null;let a=null;for(let e of i)if(a===null||e.open.length>a.open.length){let i=!0;for(let a of n)if(t.getValueInRange(new W(a.lineNumber,a.column-e.open.length+1,a.lineNumber,a.column))+r!==e.open){i=!1;break}i&&(a=e)}return a}static _isBeforeClosingBrace(e,t){let n=t.charAt(0),r=e.autoClosingPairs.autoClosingPairsOpenByStart.get(n)||[],i=e.autoClosingPairs.autoClosingPairsCloseByStart.get(n)||[],a=r.some(e=>t.startsWith(e.open)),o=i.some(e=>t.startsWith(e.close));return!a&&o}},cf=class{static getEdits(e,t){return e.inputMode===`overtype`?new Fl(4,t.map(e=>new qne(e.insertedTextRange)),{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1}):null}},Mre=class{static getEdits(e,t,n,r,i){if(!i&&this._isSurroundSelectionType(e,t,n,r))return this._runSurroundSelectionType(e,n,r)}static _runSurroundSelectionType(e,t,n){let r=[];for(let i=0,a=t.length;i=4){let i=Ere(e.autoIndent,t,r,{unshiftIndent:t=>vf(e,t),shiftIndent:t=>_f(e,t),normalizeIndentation:t=>e.normalizeIndentation(t)},e.languageConfigurationService);if(i){let a=e.visibleColumnFromColumn(t,r.getEndPosition()),o=r.endColumn,s=Ln(t.getLineContent(r.endLineNumber));if(r=s>=0?r.setEndPosition(r.endLineNumber,Math.max(r.endColumn,s+1)):r.setEndPosition(r.endLineNumber,t.getLineMaxColumn(r.endLineNumber)),n)return new Bl(r,` -`+e.normalizeIndentation(i.afterEnter),!0);{let t=0;return o<=s+1&&(e.insertSpaces||(a=Math.ceil(a/e.indentSize)),t=Math.min(a+1-e.normalizeIndentation(i.afterEnter).length-1,0)),new Vl(r,` -`+e.normalizeIndentation(i.afterEnter),0,t,!0)}}}return gf(r,` -`+e.normalizeIndentation(a),n)}static lineInsertBefore(e,t,n){if(t===null||n===null)return[];let r=[];for(let i=0,a=n.length;ithis._compositionType(n,e,i,a,o,s)),{shouldPushStackElementBefore:ff(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,n,r,i,a){if(!t.isEmpty())return null;let o=t.getPosition(),s=Math.max(1,o.column-r),c=Math.min(e.getLineMaxColumn(o.lineNumber),o.column+i);return new Vl(new W(o.lineNumber,s,o.lineNumber,c),n,0,a)}},Lre=class{static getEdits(e,t,n){let r=[];for(let e=0,i=t.length;e1){let r;for(r=n-1;r>=1&&!(zn(t.getLineContent(r))>=0);r--);if(r<1)return null;let a=t.getLineMaxColumn(r),o=Qd(e.autoIndent,t,new W(r,a,r,a),e.languageConfigurationService);o&&(i=o.indentation+o.appendText)}return r&&(r===bu.Indent&&(i=_f(e,i)),r===bu.Outdent&&(i=vf(e,i)),i=e.normalizeIndentation(i)),i||null}static _replaceJumpToNextIndent(e,t,n,r){let i=``,a=n.getStartPosition();if(e.insertSpaces){let n=e.visibleColumnFromColumn(t,a),r=e.indentSize,o=r-n%r;for(let e=0;e2?c.charCodeAt(s.column-2):0)===92&&l)return!1;if(e.autoClosingOvertype===`auto`){let e=!1;for(let t=0,n=r.length;t{let n=e.get(As).getFocusedCodeEditor();return n&&n.hasTextFocus()?this._runEditorCommand(e,n,t):!1}),e.addImplementation(1e3,`generic-dom-input-textarea`,(e,t)=>{let n=Lo();return n&&cs(n)?(this.runDOMCommand(n),!0):!1}),e.addImplementation(0,`generic-dom`,(e,t)=>{let n=e.get(As).getActiveCodeEditor();return n?(n.focus(),this._runEditorCommand(e,n,t)):!1})}_runEditorCommand(e,t,n){return this.runEditorCommand(e,t,n)||!0}},Ef;(function(e){class t extends Sf{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode}runCoreEditorCommand(e,t){t.position&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[vu.moveTo(e,e.getPrimaryCursorState(),this._inSelectionMode,t.position,t.viewPosition)])&&t.revealType!==2&&e.revealAllCursors(t.source,!0,!0))}}e.MoveTo=H(new t({id:`_moveTo`,inSelectionMode:!1,precondition:void 0})),e.MoveToSelect=H(new t({id:`_moveToSelect`,inSelectionMode:!0,precondition:void 0}));class n extends Sf{runCoreEditorCommand(e,t){e.model.pushStackElement();let n=this._getColumnSelectResult(e,e.getPrimaryCursorState(),e.getCursorColumnSelectData(),t);n!==null&&(e.setCursorStates(t.source,3,n.viewStates.map(e=>Nl.fromViewState(e))),e.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:n.fromLineNumber,fromViewVisualColumn:n.fromVisualColumn,toViewLineNumber:n.toLineNumber,toViewVisualColumn:n.toVisualColumn}),n.reversed?e.revealTopMostCursor(t.source):e.revealBottomMostCursor(t.source))}}e.ColumnSelect=H(new class extends n{constructor(){super({id:`columnSelect`,precondition:void 0})}_getColumnSelectResult(e,t,n,r){if(r.position===void 0||r.viewPosition===void 0||r.mouseColumn===void 0)return null;let i=e.model.validatePosition(r.position),a=e.coordinatesConverter.validateViewPosition(new F(r.viewPosition.lineNumber,r.viewPosition.column),i),o=r.doColumnSelect?n.fromViewLineNumber:a.lineNumber,s=r.doColumnSelect?n.fromViewVisualColumn:r.mouseColumn-1;return Ll.columnSelect(e.cursorConfig,e,o,s,a.lineNumber,r.mouseColumn-1)}}),e.CursorColumnSelectLeft=H(new class extends n{constructor(){super({id:`cursorColumnSelectLeft`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,r){return Ll.columnSelectLeft(e.cursorConfig,e,n)}}),e.CursorColumnSelectRight=H(new class extends n{constructor(){super({id:`cursorColumnSelectRight`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(e,t,n,r){return Ll.columnSelectRight(e.cursorConfig,e,n)}});class r extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,r){return Ll.columnSelectUp(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectUp=H(new r({isPaged:!1,id:`cursorColumnSelectUp`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3600,linux:{primary:0}}})),e.CursorColumnSelectPageUp=H(new r({isPaged:!0,id:`cursorColumnSelectPageUp`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3595,linux:{primary:0}}}));class i extends n{constructor(e){super(e),this._isPaged=e.isPaged}_getColumnSelectResult(e,t,n,r){return Ll.columnSelectDown(e.cursorConfig,e,n,this._isPaged)}}e.CursorColumnSelectDown=H(new i({isPaged:!1,id:`cursorColumnSelectDown`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3602,linux:{primary:0}}})),e.CursorColumnSelectPageDown=H(new i({isPaged:!0,id:`cursorColumnSelectPageDown`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:3596,linux:{primary:0}}}));class a extends Sf{constructor(){super({id:`cursorMove`,precondition:void 0,metadata:yu.metadata})}runCoreEditorCommand(e,t){let n=yu.parse(t);n&&this._runCursorMove(e,t.source,n)}_runCursorMove(e,t,n){let r=n.noHistory?`api`:t;e.model.pushStackElement(),e.setCursorStates(r,3,a._move(e,e.getCursorStates(),n)),e.revealAllCursors(r,!0)}static _move(e,t,n){let r=n.select,i=n.value;switch(n.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return vu.simpleMove(e,t,n.direction,r,i,n.unit);case 11:case 13:case 12:case 14:return vu.viewportMove(e,t,n.direction,r,i);default:return null}}}e.CursorMoveImpl=a,e.CursorMove=H(new a);class o extends Sf{constructor(e){super(e),this._staticArgs=e.args}runCoreEditorCommand(e,t){let n=this._staticArgs;this._staticArgs.value===-1&&(n={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:t.pageSize||e.cursorConfig.pageSize}),e.model.pushStackElement(),e.setCursorStates(t.source,3,vu.simpleMove(e,e.getCursorStates(),n.direction,n.select,n.value,n.unit)),e.revealAllCursors(t.source,!0)}}e.CursorLeft=H(new o({args:{direction:0,unit:0,select:!1,value:1},id:`cursorLeft`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),e.CursorLeftSelect=H(new o({args:{direction:0,unit:0,select:!0,value:1},id:`cursorLeftSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1039}})),e.CursorRight=H(new o({args:{direction:1,unit:0,select:!1,value:1},id:`cursorRight`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),e.CursorRightSelect=H(new o({args:{direction:1,unit:0,select:!0,value:1},id:`cursorRightSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1041}})),e.CursorUp=H(new o({args:{direction:2,unit:2,select:!1,value:1},id:`cursorUp`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),e.CursorUpSelect=H(new o({args:{direction:2,unit:2,select:!0,value:1},id:`cursorUpSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),e.CursorPageUp=H(new o({args:{direction:2,unit:2,select:!1,value:-1},id:`cursorPageUp`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:11}})),e.CursorPageUpSelect=H(new o({args:{direction:2,unit:2,select:!0,value:-1},id:`cursorPageUpSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1035}})),e.CursorDown=H(new o({args:{direction:3,unit:2,select:!1,value:1},id:`cursorDown`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),e.CursorDownSelect=H(new o({args:{direction:3,unit:2,select:!0,value:1},id:`cursorDownSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),e.CursorPageDown=H(new o({args:{direction:3,unit:2,select:!1,value:-1},id:`cursorPageDown`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:12}})),e.CursorPageDownSelect=H(new o({args:{direction:3,unit:2,select:!0,value:-1},id:`cursorPageDownSelect`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1036}})),e.CreateCursor=H(new class extends Sf{constructor(){super({id:`createCursor`,precondition:void 0})}runCoreEditorCommand(e,t){if(!t.position)return;let n;n=t.wholeLine?vu.line(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition):vu.moveTo(e,e.getPrimaryCursorState(),!1,t.position,t.viewPosition);let r=e.getCursorStates();if(r.length>1){let i=n.modelState?n.modelState.position:null,a=n.viewState?n.viewState.position:null;for(let n=0,o=r.length;na&&(i=a);let o=new W(i,1,i,e.model.getLineMaxColumn(i)),s=0;if(n.at)switch(n.at){case wf.RawAtArgument.Top:s=3;break;case wf.RawAtArgument.Center:s=1;break;case wf.RawAtArgument.Bottom:s=4;break}let c=e.coordinatesConverter.convertModelRangeToViewRange(o);e.revealRange(t.source,!1,c,s,0)}}),e.SelectAll=new class extends Tf{constructor(){super(Rne)}runDOMCommand(e){g&&(e.focus(),e.select()),e.ownerDocument.execCommand(`selectAll`)}runEditorCommand(e,t,n){let r=t._getViewModel();r&&this.runCoreEditorCommand(r,n)}runCoreEditorCommand(e,t){e.model.pushStackElement(),e.setCursorStates(`keyboard`,3,[vu.selectAll(e,e.getPrimaryCursorState())])}},e.SetSelection=H(new class extends Sf{constructor(){super({id:`setSelection`,precondition:void 0})}runCoreEditorCommand(e,t){t.selection&&(e.model.pushStackElement(),e.setCursorStates(t.source,3,[Nl.fromModelSelection(t.selection)]))}})})(Ef||={});var Hre=R.and(K.textInputFocus,K.columnSelection);function Df(e,t){yc.registerKeybindingRule({id:e,primary:t,when:Hre,weight:1})}Df(Ef.CursorColumnSelectLeft.id,1039),Df(Ef.CursorColumnSelectRight.id,1041),Df(Ef.CursorColumnSelectUp.id,1040),Df(Ef.CursorColumnSelectPageUp.id,1035),Df(Ef.CursorColumnSelectDown.id,1042),Df(Ef.CursorColumnSelectPageDown.id,1036);function Of(e){return e.register(),e}var kf;(function(e){class t extends gl{runEditorCommand(e,t,n){let r=t._getViewModel();r&&this.runCoreEditingCommand(t,r,n||{})}}e.CoreEditingCommand=t,e.LineBreakInsert=H(new class extends t{constructor(){super({id:`lineBreakInsert`,precondition:K.writable,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,lf.lineBreakInsert(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection)))}}),e.Outdent=H(new class extends t{constructor(){super({id:`outdent`,precondition:K.writable,kbOpts:{weight:xf,kbExpr:R.and(K.editorTextFocus,K.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,bf.outdent(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.Tab=H(new class extends t{constructor(){super({id:`tab`,precondition:K.writable,kbOpts:{weight:xf,kbExpr:R.and(K.editorTextFocus,K.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(e,t,n){e.pushUndoStop(),e.executeCommands(this.id,bf.tab(t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection))),e.pushUndoStop()}}),e.DeleteLeft=H(new class extends t{constructor(){super({id:`deleteLeft`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(e,t,n){let[r,i]=ql.deleteLeft(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection),t.getCursorAutoClosedCharacters());r&&e.pushUndoStop(),e.executeCommands(this.id,i),t.setPrevEditOperationType(2)}}),e.DeleteRight=H(new class extends t{constructor(){super({id:`deleteRight`,precondition:void 0,kbOpts:{weight:xf,kbExpr:K.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(e,t,n){let[r,i]=ql.deleteRight(t.getPrevEditOperationType(),t.cursorConfig,t.model,t.getCursorStates().map(e=>e.modelState.selection));r&&e.pushUndoStop(),e.executeCommands(this.id,i),t.setPrevEditOperationType(3)}}),e.Undo=new class extends Tf{constructor(){super(Tl)}runDOMCommand(e){e.ownerDocument.execCommand(`undo`)}runEditorCommand(e,t,n){if(!(!t.hasModel()||t.getOption(104)===!0))return t.getModel().undo()}},e.Redo=new class extends Tf{constructor(){super(El)}runDOMCommand(e){e.ownerDocument.execCommand(`redo`)}runEditorCommand(e,t,n){if(!(!t.hasModel()||t.getOption(104)===!0))return t.getModel().redo()}}})(kf||={});var Af=class extends pl{constructor(e,t,n){super({id:e,precondition:void 0,metadata:n}),this._handlerId=t}runCommand(e,t){let n=e.get(As).getFocusedCodeEditor();n&&n.trigger(`keyboard`,this._handlerId,t)}};function jf(e,t){Of(new Af(`default:`+e,e)),Of(new Af(e,e,t))}jf(`type`,{description:`Type`,args:[{name:`args`,schema:{type:`object`,required:[`text`],properties:{text:{type:`string`}}}}]}),jf(`replacePreviousChar`),jf(`compositionType`),jf(`compositionStart`),jf(`compositionEnd`),jf(`paste`),jf(`cut`);var Mf=ks(`markerDecorationsService`),Ure=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Wre=function(e,t){return function(n,r){t(n,r,e)}},Nf=class{static{this.ID=`editor.contrib.markerDecorations`}constructor(e,t){}dispose(){}};Nf=Ure([Wre(1,Mf)],Nf),xl(Nf.ID,Nf,0);var Pf=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingLeft=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}focus(){this.domNode.focus()}setMaxWidth(e){let t=Ff(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=Ff(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=Ff(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=Ff(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=Ff(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=Ff(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=Ff(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){let t=Ff(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=Ff(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=Ff(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=Ff(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function Ff(e){return typeof e==`number`?`${e}px`:e}function If(e){return new Pf(e)}function Lf(e,t){e instanceof Pf?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setFontVariationSettings(t.fontVariationSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+`px`,e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.fontVariationSettings=t.fontVariationSettings,e.style.lineHeight=t.lineHeight+`px`,e.style.letterSpacing=t.letterSpacing+`px`)}var Rf=class extends D{constructor(e,t){super(),this._onDidChange=this._register(new k),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null,t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()},n=!1,r=!1,i=()=>{if(n&&!r)try{n=!1,r=!0,t()}finally{go(no(this._referenceDomElement),()=>{r=!1,i()})}};this._resizeObserver=new ResizeObserver(t=>{e=t&&t[0]&&t[0].contentRect?{width:t[0].contentRect.width,height:t[0].contentRect.height}:null,n=!0,i()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&=(this._resizeObserver.disconnect(),null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,r=0;t?(n=t.width,r=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),n=Math.max(5,n),r=Math.max(5,r),(this._width!==n||this._height!==r)&&(this._width=n,this._height=r,e&&this._onDidChange.fire())}},Gre=class extends D{constructor(e){super(),this._onDidChange=this._register(new k),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){this._mediaQueryList?.removeEventListener(`change`,this._listener),this._mediaQueryList=e.matchMedia(`(resolution: ${e.devicePixelRatio}dppx)`),this._mediaQueryList.addEventListener(`change`,this._listener),t&&this._onDidChange.fire()}},Kre=class extends D{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new k),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);let t=this._register(new Gre(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){let t=document.createElement(`canvas`).getContext(`2d`);return(e.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},zf=new class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){let t=io(e),n=this.mapWindowIdToPixelRatioMonitor.get(t);return n||(n=Lt(new Kre(e)),this.mapWindowIdToPixelRatioMonitor.set(t,n),O.once(Bte)(({vscodeWindowId:e})=>{e===t&&(n?.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),n}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}},qre=class{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}},Jre=class e{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),this._container?.remove(),this._container=null,this._testElements=null}_createDomElements(){let t=document.createElement(`div`);t.style.position=`absolute`,t.style.top=`-50000px`,t.style.width=`50000px`;let n=document.createElement(`div`);Lf(n,this._bareFontInfo),t.appendChild(n);let r=document.createElement(`div`);Lf(r,this._bareFontInfo),r.style.fontWeight=`bold`,t.appendChild(r);let i=document.createElement(`div`);Lf(i,this._bareFontInfo),i.style.fontStyle=`italic`,t.appendChild(i);let a=[];for(let t of this._requests){let o;t.type===0&&(o=n),t.type===2&&(o=r),t.type===1&&(o=i),o.appendChild(document.createElement(`br`));let s=document.createElement(`span`);e._render(s,t),o.appendChild(s),a.push(s)}this._container=t,this._testElements=a}static _render(e,t){if(t.chr===` `){let t=`\xA0`;for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let n=t.chr;for(let e=0;e<8;e++)n+=n;e.textContent=n}}_readFromDomElements(){for(let e=0,t=this._requests.length;en?n:e}static float(e,t){return typeof e==`string`&&(e=parseFloat(e)),typeof e!=`number`||isNaN(e)?t:e}constructor(e,t,n,r,i,a,o){i!==void 0&&(i.type=`number`,i.default=n,i.minimum=a,i.maximum=o),super(e,t,n,i),this.validationFn=r,this.minimum=a,this.maximum=o}validate(t){return this.validationFn(e.float(t,this.defaultValue))}},ip=class e extends Qf{static string(e,t){return typeof e==`string`?e:t}constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`string`,r.default=n),super(e,t,n,r)}validate(t){return e.string(t,this.defaultValue)}};function ap(e,t,n,r){return typeof e==`string`?r&&e in r?r[e]:n.indexOf(e)===-1?t:e:t}var op=class extends Qf{constructor(e,t,n,r,i=void 0){i!==void 0&&(i.type=`string`,i.enum=r.slice(0),i.default=n),super(e,t,n,i),this._allowedValues=r}validate(e){return ap(e,this.defaultValue,this._allowedValues)}},sp=class extends Jf{constructor(e,t,n,r,i,a,o=void 0){o!==void 0&&(o.type=`string`,o.enum=i,o.default=r),super(e,t,n,o),this._allowedValues=i,this._convert=a}validate(e){return typeof e!=`string`||this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}};function $re(e){switch(e){case`none`:return 0;case`keep`:return 1;case`brackets`:return 2;case`advanced`:return 3;case`full`:return 4}}var eie=class extends Jf{constructor(){super(2,`accessibilitySupport`,0,{type:`string`,enum:[`auto`,`on`,`off`],enumDescriptions:[s(201,`Use platform APIs to detect when a Screen Reader is attached.`),s(202,`Optimize for usage with a Screen Reader.`),s(203,`Assume a screen reader is not attached.`)],default:`auto`,tags:[`accessibility`],description:s(204,`Controls if the UI should run in a mode where it is optimized for screen readers.`)})}validate(e){switch(e){case`auto`:return 0;case`off`:return 1;case`on`:return 2}return this.defaultValue}compute(e,t,n){return n===0?e.accessibilitySupport:n}},tie=class extends Jf{constructor(){let e={insertSpace:!0,ignoreEmptyLines:!0};super(29,`comments`,e,{"editor.comments.insertSpace":{type:`boolean`,default:e.insertSpace,description:s(205,`Controls whether a space character is inserted when commenting.`)},"editor.comments.ignoreEmptyLines":{type:`boolean`,default:e.ignoreEmptyLines,description:s(206,`Controls if empty lines should be ignored with toggle, add or remove actions for line comments.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertSpace:$f(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:$f(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};function nie(e){switch(e){case`blink`:return 1;case`smooth`:return 2;case`phase`:return 3;case`expand`:return 4;case`solid`:return 5}}var cp;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(cp||={});function lp(e){switch(e){case`line`:return cp.Line;case`block`:return cp.Block;case`underline`:return cp.Underline;case`line-thin`:return cp.LineThin;case`block-outline`:return cp.BlockOutline;case`underline-thin`:return cp.UnderlineThin}}var rie=class extends Zf{constructor(){super(162,``)}compute(e,t,n){let r=[`monaco-editor`];return t.get(48)&&r.push(t.get(48)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(82)===`default`?r.push(`mouse-default`):t.get(82)===`copy`&&r.push(`mouse-copy`),t.get(127)&&r.push(`showUnused`),t.get(157)&&r.push(`showDeprecated`),r.join(` `)}},iie=class extends ep{constructor(){super(45,`emptySelectionClipboard`,!0,{description:s(207,`Controls whether copying without a selection copies the current line.`)})}compute(e,t,n){return n&&e.emptySelectionClipboard}},aie=class extends Jf{constructor(){let e={cursorMoveOnType:!0,findOnType:!0,seedSearchStringFromSelection:`always`,autoFindInSelection:`never`,globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0,history:`workspace`,replaceHistory:`workspace`};super(50,`find`,e,{"editor.find.cursorMoveOnType":{type:`boolean`,default:e.cursorMoveOnType,description:s(208,`Controls whether the cursor should jump to find matches while typing.`)},"editor.find.seedSearchStringFromSelection":{type:`string`,enum:[`never`,`always`,`selection`],default:e.seedSearchStringFromSelection,enumDescriptions:[s(209,`Never seed search string from the editor selection.`),s(210,`Always seed search string from the editor selection, including word at cursor position.`),s(211,`Only seed search string from the editor selection.`)],description:s(212,`Controls whether the search string in the Find Widget is seeded from the editor selection.`)},"editor.find.autoFindInSelection":{type:`string`,enum:[`never`,`always`,`multiline`],default:e.autoFindInSelection,enumDescriptions:[s(213,`Never turn on Find in Selection automatically (default).`),s(214,`Always turn on Find in Selection automatically.`),s(215,`Turn on Find in Selection automatically when multiple lines of content are selected.`)],description:s(216,`Controls the condition for turning on Find in Selection automatically.`)},"editor.find.globalFindClipboard":{type:`boolean`,default:e.globalFindClipboard,description:s(217,`Controls whether the Find Widget should read or modify the shared find clipboard on macOS.`),included:Ye},"editor.find.addExtraSpaceOnTop":{type:`boolean`,default:e.addExtraSpaceOnTop,description:s(218,`Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.`)},"editor.find.loop":{type:`boolean`,default:e.loop,description:s(219,`Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.`)},"editor.find.history":{type:`string`,enum:[`never`,`workspace`],default:`workspace`,enumDescriptions:[s(220,`Do not store search history from the find widget.`),s(221,`Store search history across the active workspace`)],description:s(222,`Controls how the find widget history should be stored`)},"editor.find.replaceHistory":{type:`string`,enum:[`never`,`workspace`],default:`workspace`,enumDescriptions:[s(223,`Do not store history from the replace widget.`),s(224,`Store replace history across the active workspace`)],description:s(225,`Controls how the replace widget history should be stored`)},"editor.find.findOnType":{type:`boolean`,default:e.findOnType,description:s(226,`Controls whether the Find Widget should search as you type.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{cursorMoveOnType:$f(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),findOnType:$f(t.findOnType,this.defaultValue.findOnType),seedSearchStringFromSelection:typeof t.seedSearchStringFromSelection==`boolean`?t.seedSearchStringFromSelection?`always`:`never`:ap(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,[`never`,`always`,`selection`]),autoFindInSelection:typeof t.autoFindInSelection==`boolean`?t.autoFindInSelection?`always`:`never`:ap(t.autoFindInSelection,this.defaultValue.autoFindInSelection,[`never`,`always`,`multiline`]),globalFindClipboard:$f(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:$f(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:$f(t.loop,this.defaultValue.loop),history:ap(t.history,this.defaultValue.history,[`never`,`workspace`]),replaceHistory:ap(t.replaceHistory,this.defaultValue.replaceHistory,[`never`,`workspace`])}}},up=class e extends Jf{static{this.OFF=`"liga" off, "calt" off`}static{this.ON=`"liga" on, "calt" on`}constructor(){super(60,`fontLigatures`,e.OFF,{anyOf:[{type:`boolean`,description:s(227,`Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.`)},{type:`string`,description:s(228,`Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.`)}],description:s(229,`Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`||t.length===0?e.OFF:t===`true`?e.ON:t:t?e.ON:e.OFF}},oie=class e extends Jf{static{this.OFF=Uf}static{this.TRANSLATE=Zre}constructor(){super(63,`fontVariations`,e.OFF,{anyOf:[{type:`boolean`,description:s(230,`Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.`)},{type:`string`,description:s(231,`Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.`)}],description:s(232,`Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`?e.OFF:t===`true`?e.TRANSLATE:t:t?e.TRANSLATE:e.OFF}compute(e,t,n){return e.fontInfo.fontVariationSettings}},sie=class extends Zf{constructor(){super(59,new Hf({pixelRatio:0,fontFamily:``,fontWeight:``,fontSize:0,fontFeatureSettings:``,fontVariationSettings:``,lineHeight:0,letterSpacing:0,isMonospace:!1,typicalHalfwidthCharacterWidth:0,typicalFullwidthCharacterWidth:0,canUseHalfwidthRightwardsArrow:!1,spaceWidth:0,middotWidth:0,wsmiddotWidth:0,maxDigitWidth:0},!1))}compute(e,t,n){return e.fontInfo}},cie=class extends Zf{constructor(){super(161,cp.Line)}compute(e,t,n){return e.inputMode===`overtype`?t.get(92):t.get(34)}},lie=class extends Zf{constructor(){super(170,!1)}compute(e,t){return e.editContextSupported&&t.get(44)}},uie=class extends Zf{constructor(){super(172,!1)}compute(e,t){return e.accessibilitySupport===2?t.get(7):t.get(6)}},die=class extends Qf{constructor(){super(61,`fontSize`,Wf.fontSize,{type:`number`,minimum:6,maximum:100,default:Wf.fontSize,description:s(233,`Controls the font size in pixels.`)})}validate(e){let t=rp.float(e,this.defaultValue);return t===0?Wf.fontSize:rp.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}},fie=class e extends Jf{static{this.SUGGESTION_VALUES=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`]}static{this.MINIMUM_VALUE=1}static{this.MAXIMUM_VALUE=1e3}constructor(){super(62,`fontWeight`,Wf.fontWeight,{anyOf:[{type:`number`,minimum:e.MINIMUM_VALUE,maximum:e.MAXIMUM_VALUE,errorMessage:s(234,`Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.`)},{type:`string`,pattern:`^(normal|bold|1000|[1-9][0-9]{0,2})$`},{enum:e.SUGGESTION_VALUES}],default:Wf.fontWeight,description:s(235,`Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.`)})}validate(t){return t===`normal`||t===`bold`?t:String(np.clampedInt(t,Wf.fontWeight,e.MINIMUM_VALUE,e.MAXIMUM_VALUE))}},pie=class extends Jf{constructor(){let e={multiple:`peek`,multipleDefinitions:`peek`,multipleTypeDefinitions:`peek`,multipleDeclarations:`peek`,multipleImplementations:`peek`,multipleReferences:`peek`,multipleTests:`peek`,alternativeDefinitionCommand:`editor.action.goToReferences`,alternativeTypeDefinitionCommand:`editor.action.goToReferences`,alternativeDeclarationCommand:`editor.action.goToReferences`,alternativeImplementationCommand:``,alternativeReferenceCommand:``,alternativeTestsCommand:``},t={type:`string`,enum:[`peek`,`gotoAndPeek`,`goto`],default:e.multiple,enumDescriptions:[s(236,`Show Peek view of the results (default)`),s(237,`Go to the primary result and show a Peek view`),s(238,`Go to the primary result and enable Peek-less navigation to others`)]},n=[``,`editor.action.referenceSearch.trigger`,`editor.action.goToReferences`,`editor.action.peekImplementation`,`editor.action.goToImplementation`,`editor.action.peekTypeDefinition`,`editor.action.goToTypeDefinition`,`editor.action.peekDeclaration`,`editor.action.revealDeclaration`,`editor.action.peekDefinition`,`editor.action.revealDefinitionAside`,`editor.action.revealDefinition`];super(67,`gotoLocation`,e,{"editor.gotoLocation.multiple":{deprecationMessage:s(239,`This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.`)},"editor.gotoLocation.multipleDefinitions":{description:s(240,`Controls the behavior the 'Go to Definition'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:s(241,`Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleDeclarations":{description:s(242,`Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleImplementations":{description:s(243,`Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.`),...t},"editor.gotoLocation.multipleReferences":{description:s(244,`Controls the behavior the 'Go to References'-command when multiple target locations exist.`),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:`string`,default:e.alternativeDefinitionCommand,enum:n,description:s(245,`Alternative command id that is being executed when the result of 'Go to Definition' is the current location.`)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:`string`,default:e.alternativeTypeDefinitionCommand,enum:n,description:s(246,`Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.`)},"editor.gotoLocation.alternativeDeclarationCommand":{type:`string`,default:e.alternativeDeclarationCommand,enum:n,description:s(247,`Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.`)},"editor.gotoLocation.alternativeImplementationCommand":{type:`string`,default:e.alternativeImplementationCommand,enum:n,description:s(248,`Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.`)},"editor.gotoLocation.alternativeReferenceCommand":{type:`string`,default:e.alternativeReferenceCommand,enum:n,description:s(249,`Alternative command id that is being executed when the result of 'Go to Reference' is the current location.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{multiple:ap(t.multiple,this.defaultValue.multiple,[`peek`,`gotoAndPeek`,`goto`]),multipleDefinitions:ap(t.multipleDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTypeDefinitions:ap(t.multipleTypeDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleDeclarations:ap(t.multipleDeclarations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleImplementations:ap(t.multipleImplementations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleReferences:ap(t.multipleReferences,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTests:ap(t.multipleTests,`peek`,[`peek`,`gotoAndPeek`,`goto`]),alternativeDefinitionCommand:ip.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:ip.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:ip.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:ip.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:ip.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:ip.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}},mie=class extends Jf{constructor(){let e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(69,`hover`,e,{"editor.hover.enabled":{type:`boolean`,default:e.enabled,description:s(250,`Controls whether the hover is shown.`)},"editor.hover.delay":{type:`number`,default:e.delay,minimum:0,maximum:1e4,description:s(251,`Controls the delay in milliseconds after which the hover is shown.`)},"editor.hover.sticky":{type:`boolean`,default:e.sticky,description:s(252,`Controls whether the hover should remain visible when mouse is moved over it.`)},"editor.hover.hidingDelay":{type:`integer`,minimum:0,default:e.hidingDelay,markdownDescription:s(253,"Controls the delay in milliseconds after which the hover is hidden. Requires `#editor.hover.sticky#` to be enabled.")},"editor.hover.above":{type:`boolean`,default:e.above,description:s(254,`Prefer showing hovers above the line, if there's space.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:$f(t.enabled,this.defaultValue.enabled),delay:np.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:$f(t.sticky,this.defaultValue.sticky),hidingDelay:np.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:$f(t.above,this.defaultValue.above)}}},dp=class e extends Zf{constructor(){super(165,{width:0,height:0,glyphMarginLeft:0,glyphMarginWidth:0,glyphMarginDecorationLaneCount:0,lineNumbersLeft:0,lineNumbersWidth:0,decorationsLeft:0,decorationsWidth:0,contentLeft:0,contentWidth:0,minimap:{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:0,minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:0},viewportColumn:0,isWordWrapMinified:!1,isViewportWrapping:!1,wrappingColumn:-1,verticalScrollbarWidth:0,horizontalScrollbarHeight:0,overviewRuler:{top:0,width:0,height:0,right:0}})}compute(t,n,r){return e.computeLayout(n,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){let t=e.height/e.lineHeight,n=Math.floor(e.paddingTop/e.lineHeight),r=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(r=Math.max(r,t-1));let i=(n+e.viewLineCount+r)/(e.pixelRatio*e.height),a=Math.floor(e.viewLineCount/i);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:n,extraLinesBeyondLastLine:r,desiredRatio:i,minimapLineCount:a}}static _computeMinimapLayout(t,n){let r=t.outerWidth,i=t.outerHeight,a=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(a*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};let o=n.stableMinimapLayoutInput,s=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.paddingTop===o.paddingTop&&t.paddingBottom===o.paddingBottom&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,c=t.lineHeight,l=t.typicalHalfwidthCharacterWidth,u=t.scrollBeyondLastLine,d=t.minimap.renderCharacters,f=a>=2?Math.round(t.minimap.scale*2):t.minimap.scale,p=t.minimap.maxColumn,m=t.minimap.size,h=t.minimap.side,g=t.verticalScrollbarWidth,_=t.viewLineCount,v=t.remainingWidth,y=t.isViewportWrapping,b=d?2:3,x=Math.floor(a*i),S=x/a,ee=!1,te=!1,ne=b*f,C=f/a,re=1;if(m===`fill`||m===`fit`){let{typicalViewportLineCount:r,extraLinesBeforeFirstLine:o,extraLinesBeyondLastLine:l,desiredRatio:d,minimapLineCount:p}=e.computeContainedMinimapLineCount({viewLineCount:_,scrollBeyondLastLine:u,paddingTop:t.paddingTop,paddingBottom:t.paddingBottom,height:i,lineHeight:c,pixelRatio:a});if(_/p>1)ee=!0,te=!0,f=1,ne=1,C=f/a;else{let e=!1,i=f+1;if(m===`fit`){let t=Math.ceil((o+_+l)*ne);y&&s&&v<=n.stableFitRemainingWidth?(e=!0,i=n.stableFitMaxMinimapScale):e=t>x}if(m===`fill`||e){ee=!0;let e=f;ne=Math.min(c*a,Math.max(1,Math.floor(1/d))),y&&s&&v<=n.stableFitRemainingWidth&&(i=n.stableFitMaxMinimapScale),f=Math.min(i,Math.max(1,Math.floor(ne/b))),f>e&&(re=Math.min(2,f/e)),C=f/a/re,x=Math.ceil(Math.max(r,o+_+l)*ne),y?(n.stableMinimapLayoutInput=t,n.stableFitRemainingWidth=v,n.stableFitMaxMinimapScale=f):(n.stableMinimapLayoutInput=null,n.stableFitRemainingWidth=0)}}}let ie=Math.floor(p*C),ae=Math.min(ie,Math.max(0,Math.floor((v-g-2)*C/(l+C)))+8),oe=Math.floor(a*ae),se=oe/a;return oe=Math.floor(oe*re),{renderMinimap:d?1:2,minimapLeft:h===`left`?0:r-ae-g,minimapWidth:ae,minimapHeightIsEditorHeight:ee,minimapIsSampling:te,minimapScale:f,minimapLineHeight:ne,minimapCanvasInnerWidth:oe,minimapCanvasInnerHeight:x,minimapCanvasOuterWidth:se,minimapCanvasOuterHeight:S}}static computeLayout(t,n){let r=n.outerWidth|0,i=n.outerHeight|0,a=n.lineHeight|0,o=n.lineNumbersDigitCount|0,s=n.typicalHalfwidthCharacterWidth,c=n.maxDigitWidth,l=n.pixelRatio,u=n.viewLineCount,d=t.get(154),f=d===`inherit`?t.get(153):d,p=f===`inherit`?t.get(149):f,m=t.get(152),h=n.isDominatedByLongLines,g=t.get(66),_=t.get(76).renderType!==0,v=t.get(77),y=t.get(119),b=t.get(96),x=t.get(81),S=t.get(117),ee=S.verticalScrollbarSize,te=S.verticalHasArrows,ne=S.arrowSize,C=S.horizontalScrollbarSize,re=t.get(52),ie=t.get(126)!==`never`,ae=t.get(74);re&&ie&&(ae+=16);let oe=0;_&&(oe=Math.round(Math.max(o,v)*c));let se=0;g&&(se=a*n.glyphMarginDecorationLaneCount);let ce=0,le=ce+se,ue=le+oe,de=ue+ae,fe=r-se-oe-ae,w=!1,pe=!1,me=-1;t.get(2)===2&&f===`inherit`&&h?(w=!0,pe=!0):p===`on`||p===`bounded`?pe=!0:p===`wordWrapColumn`&&(me=m);let he=e._computeMinimapLayout({outerWidth:r,outerHeight:i,lineHeight:a,typicalHalfwidthCharacterWidth:s,pixelRatio:l,scrollBeyondLastLine:y,paddingTop:b.top,paddingBottom:b.bottom,minimap:x,verticalScrollbarWidth:ee,viewLineCount:u,remainingWidth:fe,isViewportWrapping:pe},n.memory||new qf);he.renderMinimap!==0&&he.minimapLeft===0&&(ce+=he.minimapWidth,le+=he.minimapWidth,ue+=he.minimapWidth,de+=he.minimapWidth);let ge=fe-he.minimapWidth,_e=Math.max(1,Math.floor((ge-ee-2)/s)),ve=te?ne:0;return pe&&(me=Math.max(1,_e),p===`bounded`&&(me=Math.min(me,m))),{width:r,height:i,glyphMarginLeft:ce,glyphMarginWidth:se,glyphMarginDecorationLaneCount:n.glyphMarginDecorationLaneCount,lineNumbersLeft:le,lineNumbersWidth:oe,decorationsLeft:ue,decorationsWidth:ae,contentLeft:de,contentWidth:ge,minimap:he,viewportColumn:_e,isWordWrapMinified:w,isViewportWrapping:pe,wrappingColumn:me,verticalScrollbarWidth:ee,horizontalScrollbarHeight:C,overviewRuler:{top:ve,width:ee,height:i-2*ve,right:0}}}},hie=class extends Jf{constructor(){super(156,`wrappingStrategy`,`simple`,{"editor.wrappingStrategy":{enumDescriptions:[s(255,`Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.`),s(256,`Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.`)],type:`string`,enum:[`simple`,`advanced`],default:`simple`,description:s(257,`Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.`)}})}validate(e){return ap(e,`simple`,[`simple`,`advanced`])}compute(e,t,n){return t.get(2)===2?`advanced`:n}},fp;(function(e){e.Off=`off`,e.OnCode=`onCode`,e.On=`on`})(fp||={});var gie=class extends Jf{constructor(){let e={enabled:fp.OnCode};super(73,`lightbulb`,e,{"editor.lightbulb.enabled":{type:`string`,enum:[fp.Off,fp.OnCode,fp.On],default:e.enabled,enumDescriptions:[s(258,`Disable the code action menu.`),s(259,`Show the code action menu when the cursor is on lines with code.`),s(260,`Show the code action menu when the cursor is on lines with code or on empty lines.`)],description:s(261,`Enables the Code Action lightbulb in the editor.`)}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{enabled:ap(e.enabled,this.defaultValue.enabled,[fp.Off,fp.OnCode,fp.On])}}},_ie=class extends Jf{constructor(){let e={enabled:!0,maxLineCount:5,defaultModel:`outlineModel`,scrollWithEditor:!0};super(131,`stickyScroll`,e,{"editor.stickyScroll.enabled":{type:`boolean`,default:e.enabled,description:s(262,`Shows the nested current scopes during the scroll at the top of the editor.`)},"editor.stickyScroll.maxLineCount":{type:`number`,default:e.maxLineCount,minimum:1,maximum:20,description:s(263,`Defines the maximum number of sticky lines to show.`)},"editor.stickyScroll.defaultModel":{type:`string`,enum:[`outlineModel`,`foldingProviderModel`,`indentationModel`],default:e.defaultModel,description:s(264,`Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.`)},"editor.stickyScroll.scrollWithEditor":{type:`boolean`,default:e.scrollWithEditor,description:s(265,`Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:$f(t.enabled,this.defaultValue.enabled),maxLineCount:np.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:ap(t.defaultModel,this.defaultValue.defaultModel,[`outlineModel`,`foldingProviderModel`,`indentationModel`]),scrollWithEditor:$f(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}},vie=class extends Jf{constructor(){let e={enabled:`on`,fontSize:0,fontFamily:``,padding:!1,maximumLength:43};super(159,`inlayHints`,e,{"editor.inlayHints.enabled":{type:`string`,default:e.enabled,description:s(266,`Enables the inlay hints in the editor.`),enum:[`on`,`onUnlessPressed`,`offUnlessPressed`,`off`],markdownEnumDescriptions:[s(267,`Inlay hints are enabled`),s(268,`Inlay hints are showing by default and hide when holding {0}`,Ye?`Ctrl+Option`:`Ctrl+Alt`),s(269,`Inlay hints are hidden by default and show when holding {0}`,Ye?`Ctrl+Option`:`Ctrl+Alt`),s(270,`Inlay hints are disabled`)]},"editor.inlayHints.fontSize":{type:`number`,default:e.fontSize,markdownDescription:s(271,`Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.`,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:`string`,default:e.fontFamily,markdownDescription:s(272,`Controls font family of inlay hints in the editor. When set to empty, the {0} is used.`,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:`boolean`,default:e.padding,description:s(273,`Enables the padding around the inlay hints in the editor.`)},"editor.inlayHints.maximumLength":{type:`number`,default:e.maximumLength,markdownDescription:s(274,"Maximum overall length of inlay hints, for a single line, before they get truncated by the editor. Set to `0` to never truncate")}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return typeof t.enabled==`boolean`&&(t.enabled=t.enabled?`on`:`off`),{enabled:ap(t.enabled,this.defaultValue.enabled,[`on`,`off`,`offUnlessPressed`,`onUnlessPressed`]),fontSize:np.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:ip.string(t.fontFamily,this.defaultValue.fontFamily),padding:$f(t.padding,this.defaultValue.padding),maximumLength:np.clampedInt(t.maximumLength,this.defaultValue.maximumLength,0,2**53-1)}}},yie=class extends Jf{constructor(){super(74,`lineDecorationsWidth`,10)}validate(e){return typeof e==`string`&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):np.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,n){return n<0?np.clampedInt(-n*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):n}},bie=class extends rp{constructor(){super(75,`lineHeight`,Wf.lineHeight,e=>rp.clamp(e,0,150),{markdownDescription:s(275,`Controls the line height. - - Use 0 to automatically compute the line height from the font size. - - Values between 0 and 8 will be used as a multiplier with the font size. - - Values greater than or equal to 8 will be used as effective values.`)},0,150)}compute(e,t,n){return e.fontInfo.lineHeight}},xie=class extends Jf{constructor(){let e={enabled:!0,size:`proportional`,side:`right`,showSlider:`mouseover`,autohide:`none`,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,markSectionHeaderRegex:`\\bMARK:\\s*(?-?)\\s*(?