From ad847888f8e1e2f0694659abfa667184c76e7cfb Mon Sep 17 00:00:00 2001 From: yuyx <237899745@qq.com> Date: Wed, 7 Jan 2026 14:12:54 +0800 Subject: [PATCH] Avoid live KDocs status on page load --- admin-frontend/src/api/kdocs.js | 4 +- admin-frontend/src/pages/SystemPage.vue | 6 +-- routes/admin_api/core.py | 20 ++++--- static/admin/.vite/manifest.json | 54 +++++++++---------- ...0pAMP.js => AnnouncementsPage-DJV9obay.js} | 2 +- ...Page-DjFQXXaw.js => EmailPage-D-tsUWFT.js} | 2 +- ...-Ccz7usmm.js => FeedbacksPage-DZUE-vHi.js} | 2 +- ...sPage-DKgDsqeF.js => LogsPage-CdMEmjzm.js} | 2 +- ...age-9KIB3iif.js => ReportPage-DAW30JOI.js} | 2 +- ...e-QH4U-Y6k.js => SecurityPage-C21EbRZb.js} | 2 +- ...e-OTetedw0.js => SettingsPage-BM2ulFCL.js} | 2 +- static/admin/assets/SystemPage-5z0b5M8t.css | 1 + static/admin/assets/SystemPage-BgaIr3zp.css | 1 - static/admin/assets/SystemPage-D5R5QCv7.js | 17 ++++++ static/admin/assets/SystemPage-agjTEZ2h.js | 17 ------ ...Page-D513gXjG.js => UsersPage-DxOwX5c9.js} | 2 +- .../{email-BDvF0irD.js => email-CANx8Tja.js} | 2 +- .../{index-DYOBdo6M.js => index-DD_NUvZR.js} | 4 +- ...{system-CMyTza1B.js => system-CM-zje4U.js} | 2 +- .../{tasks-CQlm8unE.js => tasks-MT8n16Cr.js} | 2 +- .../{users-CwvLJNE7.js => users-BfTiBX13.js} | 2 +- static/admin/index.html | 2 +- 22 files changed, 77 insertions(+), 73 deletions(-) rename static/admin/assets/{AnnouncementsPage-Qex0pAMP.js => AnnouncementsPage-DJV9obay.js} (99%) rename static/admin/assets/{EmailPage-DjFQXXaw.js => EmailPage-D-tsUWFT.js} (99%) rename static/admin/assets/{FeedbacksPage-Ccz7usmm.js => FeedbacksPage-DZUE-vHi.js} (97%) rename static/admin/assets/{LogsPage-DKgDsqeF.js => LogsPage-CdMEmjzm.js} (97%) rename static/admin/assets/{ReportPage-9KIB3iif.js => ReportPage-DAW30JOI.js} (99%) rename static/admin/assets/{SecurityPage-QH4U-Y6k.js => SecurityPage-C21EbRZb.js} (99%) rename static/admin/assets/{SettingsPage-OTetedw0.js => SettingsPage-BM2ulFCL.js} (98%) create mode 100644 static/admin/assets/SystemPage-5z0b5M8t.css delete mode 100644 static/admin/assets/SystemPage-BgaIr3zp.css create mode 100644 static/admin/assets/SystemPage-D5R5QCv7.js delete mode 100644 static/admin/assets/SystemPage-agjTEZ2h.js rename static/admin/assets/{UsersPage-D513gXjG.js => UsersPage-DxOwX5c9.js} (98%) rename static/admin/assets/{email-BDvF0irD.js => email-CANx8Tja.js} (86%) rename static/admin/assets/{index-DYOBdo6M.js => index-DD_NUvZR.js} (99%) rename static/admin/assets/{system-CMyTza1B.js => system-CM-zje4U.js} (78%) rename static/admin/assets/{tasks-CQlm8unE.js => tasks-MT8n16Cr.js} (87%) rename static/admin/assets/{users-CwvLJNE7.js => users-BfTiBX13.js} (90%) diff --git a/admin-frontend/src/api/kdocs.js b/admin-frontend/src/api/kdocs.js index 99649f3..c7ceed6 100644 --- a/admin-frontend/src/api/kdocs.js +++ b/admin-frontend/src/api/kdocs.js @@ -1,7 +1,7 @@ import { api } from './client' -export async function fetchKdocsStatus() { - const { data } = await api.get('/kdocs/status') +export async function fetchKdocsStatus(params = {}) { + const { data } = await api.get('/kdocs/status', { params }) return data } diff --git a/admin-frontend/src/pages/SystemPage.vue b/admin-frontend/src/pages/SystemPage.vue index 572e451..93143de 100644 --- a/admin-frontend/src/pages/SystemPage.vue +++ b/admin-frontend/src/pages/SystemPage.vue @@ -251,7 +251,7 @@ async function saveKdocsConfig() { async function refreshKdocsStatus() { try { - kdocsStatus.value = await fetchKdocsStatus() + kdocsStatus.value = await fetchKdocsStatus({ live: 1 }) } catch { // handled by interceptor } @@ -259,7 +259,7 @@ async function refreshKdocsStatus() { async function pollKdocsStatus() { try { - const status = await fetchKdocsStatus() + const status = await fetchKdocsStatus({ live: 1 }) kdocsStatus.value = status const loggedIn = status?.logged_in === true || status?.last_login_ok === true if (loggedIn) { @@ -545,7 +545,7 @@ onMounted(loadAll) 已登录 需要扫码 未知 - · 队列 {{ kdocsStatus.queue_size || 0 }} + · 待上传 {{ kdocsStatus.queue_size || 0 }} · 最近错误:{{ kdocsStatus.last_error }} diff --git a/routes/admin_api/core.py b/routes/admin_api/core.py index b471075..4cd53e6 100644 --- a/routes/admin_api/core.py +++ b/routes/admin_api/core.py @@ -850,14 +850,18 @@ def get_kdocs_status_api(): uploader = get_kdocs_uploader() status = uploader.get_status() - live = uploader.refresh_login_status() - if live.get("success"): - logged_in = bool(live.get("logged_in")) - status["logged_in"] = logged_in - status["last_login_ok"] = logged_in - status["login_required"] = not logged_in - if live.get("error"): - status["last_error"] = live.get("error") + live = str(request.args.get("live", "")).lower() in ("1", "true", "yes") + if live: + live_status = uploader.refresh_login_status() + if live_status.get("success"): + logged_in = bool(live_status.get("logged_in")) + status["logged_in"] = logged_in + status["last_login_ok"] = logged_in + status["login_required"] = not logged_in + if live_status.get("error"): + status["last_error"] = live_status.get("error") + else: + status["logged_in"] = True if status.get("last_login_ok") else False if status.get("last_login_ok") is False else None return jsonify(status) except Exception as e: return jsonify({"error": f"获取状态失败: {e}"}), 500 diff --git a/static/admin/.vite/manifest.json b/static/admin/.vite/manifest.json index 1208107..0f17a64 100644 --- a/static/admin/.vite/manifest.json +++ b/static/admin/.vite/manifest.json @@ -1,34 +1,34 @@ { - "_email-BDvF0irD.js": { - "file": "assets/email-BDvF0irD.js", + "_email-CANx8Tja.js": { + "file": "assets/email-CANx8Tja.js", "name": "email", "imports": [ "index.html" ] }, - "_system-CMyTza1B.js": { - "file": "assets/system-CMyTza1B.js", + "_system-CM-zje4U.js": { + "file": "assets/system-CM-zje4U.js", "name": "system", "imports": [ "index.html" ] }, - "_tasks-CQlm8unE.js": { - "file": "assets/tasks-CQlm8unE.js", + "_tasks-MT8n16Cr.js": { + "file": "assets/tasks-MT8n16Cr.js", "name": "tasks", "imports": [ "index.html" ] }, - "_users-CwvLJNE7.js": { - "file": "assets/users-CwvLJNE7.js", + "_users-BfTiBX13.js": { + "file": "assets/users-BfTiBX13.js", "name": "users", "imports": [ "index.html" ] }, "index.html": { - "file": "assets/index-DYOBdo6M.js", + "file": "assets/index-DD_NUvZR.js", "name": "index", "src": "index.html", "isEntry": true, @@ -48,7 +48,7 @@ ] }, "src/pages/AnnouncementsPage.vue": { - "file": "assets/AnnouncementsPage-Qex0pAMP.js", + "file": "assets/AnnouncementsPage-DJV9obay.js", "name": "AnnouncementsPage", "src": "src/pages/AnnouncementsPage.vue", "isDynamicEntry": true, @@ -60,12 +60,12 @@ ] }, "src/pages/EmailPage.vue": { - "file": "assets/EmailPage-DjFQXXaw.js", + "file": "assets/EmailPage-D-tsUWFT.js", "name": "EmailPage", "src": "src/pages/EmailPage.vue", "isDynamicEntry": true, "imports": [ - "_email-BDvF0irD.js", + "_email-CANx8Tja.js", "index.html" ], "css": [ @@ -73,7 +73,7 @@ ] }, "src/pages/FeedbacksPage.vue": { - "file": "assets/FeedbacksPage-Ccz7usmm.js", + "file": "assets/FeedbacksPage-DZUE-vHi.js", "name": "FeedbacksPage", "src": "src/pages/FeedbacksPage.vue", "isDynamicEntry": true, @@ -85,13 +85,13 @@ ] }, "src/pages/LogsPage.vue": { - "file": "assets/LogsPage-DKgDsqeF.js", + "file": "assets/LogsPage-CdMEmjzm.js", "name": "LogsPage", "src": "src/pages/LogsPage.vue", "isDynamicEntry": true, "imports": [ - "_users-CwvLJNE7.js", - "_tasks-CQlm8unE.js", + "_users-BfTiBX13.js", + "_tasks-MT8n16Cr.js", "index.html" ], "css": [ @@ -99,22 +99,22 @@ ] }, "src/pages/ReportPage.vue": { - "file": "assets/ReportPage-9KIB3iif.js", + "file": "assets/ReportPage-DAW30JOI.js", "name": "ReportPage", "src": "src/pages/ReportPage.vue", "isDynamicEntry": true, "imports": [ "index.html", - "_email-BDvF0irD.js", - "_tasks-CQlm8unE.js", - "_system-CMyTza1B.js" + "_email-CANx8Tja.js", + "_tasks-MT8n16Cr.js", + "_system-CM-zje4U.js" ], "css": [ "assets/ReportPage-Q8rCsG8A.css" ] }, "src/pages/SecurityPage.vue": { - "file": "assets/SecurityPage-QH4U-Y6k.js", + "file": "assets/SecurityPage-C21EbRZb.js", "name": "SecurityPage", "src": "src/pages/SecurityPage.vue", "isDynamicEntry": true, @@ -126,7 +126,7 @@ ] }, "src/pages/SettingsPage.vue": { - "file": "assets/SettingsPage-OTetedw0.js", + "file": "assets/SettingsPage-BM2ulFCL.js", "name": "SettingsPage", "src": "src/pages/SettingsPage.vue", "isDynamicEntry": true, @@ -138,25 +138,25 @@ ] }, "src/pages/SystemPage.vue": { - "file": "assets/SystemPage-agjTEZ2h.js", + "file": "assets/SystemPage-D5R5QCv7.js", "name": "SystemPage", "src": "src/pages/SystemPage.vue", "isDynamicEntry": true, "imports": [ - "_system-CMyTza1B.js", + "_system-CM-zje4U.js", "index.html" ], "css": [ - "assets/SystemPage-BgaIr3zp.css" + "assets/SystemPage-5z0b5M8t.css" ] }, "src/pages/UsersPage.vue": { - "file": "assets/UsersPage-D513gXjG.js", + "file": "assets/UsersPage-DxOwX5c9.js", "name": "UsersPage", "src": "src/pages/UsersPage.vue", "isDynamicEntry": true, "imports": [ - "_users-CwvLJNE7.js", + "_users-BfTiBX13.js", "index.html" ], "css": [ diff --git a/static/admin/assets/AnnouncementsPage-Qex0pAMP.js b/static/admin/assets/AnnouncementsPage-DJV9obay.js similarity index 99% rename from static/admin/assets/AnnouncementsPage-Qex0pAMP.js rename to static/admin/assets/AnnouncementsPage-DJV9obay.js index ea74110..4ac1766 100644 --- a/static/admin/assets/AnnouncementsPage-Qex0pAMP.js +++ b/static/admin/assets/AnnouncementsPage-DJV9obay.js @@ -1 +1 @@ -import{a as k,_ as K,r as p,o as Q,f,I as W,g as C,h as m,j as i,m as n,w as t,q as c,n as A,B as b,x as G,Q as O,p as $,J as X,L as r,R as D,K as h}from"./index-DYOBdo6M.js";async function Y(){const{data:u}=await k.get("/announcements");return u}async function Z(u){const{data:o}=await k.post("/announcements",u);return o}async function ee(u){const o=new FormData;o.append("file",u);const{data:v}=await k.post("/announcements/upload_image",o);return v}async function te(u){const{data:o}=await k.post(`/announcements/${u}/activate`);return o}async function ne(u){const{data:o}=await k.post(`/announcements/${u}/deactivate`);return o}async function ae(u){const{data:o}=await k.delete(`/announcements/${u}`);return o}const le={class:"page-stack"},se={class:"app-page-title"},oe={class:"image-upload-row"},ie={key:1,class:"image-url"},ue={key:0,class:"image-preview"},ce=["src"],re={class:"actions"},de={class:"table-wrap"},me=["title"],fe={key:1,class:"app-muted"},pe={class:"actions"},ve={__name:"AnnouncementsPage",setup(u){const o=p(""),v=p(""),d=p(""),_=p(null),B=p(!1),I=p(!1),T=p([]);async function g(){I.value=!0;try{T.value=await Y()}catch{T.value=[]}finally{I.value=!1}}function z(){o.value="",v.value="",d.value="",_.value&&(_.value.value="")}function E(){_.value?.click()}function F(){d.value="",_.value&&(_.value.value="")}async function P(l){const e=l.target?.files?.[0];if(e){if(e.type&&!e.type.startsWith("image/")){r.error("请选择图片文件"),l.target.value="";return}B.value=!0;try{const s=await ee(e);if(!s?.success||!s?.url){r.error(s?.error||"上传失败");return}d.value=s.url,r.success("上传成功")}catch{}finally{B.value=!1,l.target.value=""}}}async function M(l){const e=o.value.trim(),s=v.value.trim(),x=d.value.trim();if(!e||!s){r.error("标题和内容不能为空");return}try{const y=await Z({title:e,content:s,image_url:x,is_active:!!l});if(!y?.success){r.error(y?.error||"保存失败");return}r.success("保存成功"),z(),await g()}catch{}}async function R(l){const e=D("div",{class:"announcement-view"},[l.content?D("div",{class:"announcement-view-text"},l.content):null,l.image_url?D("img",{class:"announcement-view-image",src:l.image_url,alt:"公告图片"}):null]);await h.alert(e,l.title||"公告",{confirmButtonText:"关闭",dangerouslyUseHTMLString:!1})}async function L(l){try{await h.confirm("确定启用该公告吗?启用后将自动停用其他公告。","启用公告",{confirmButtonText:"启用",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await te(l.id);if(!e?.success){r.error(e?.error||"启用失败");return}r.success("已启用"),await g()}catch{}}async function S(l){try{await h.confirm("确定停用该公告吗?","停用公告",{confirmButtonText:"停用",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await ne(l.id);if(!e?.success){r.error(e?.error||"停用失败");return}r.success("已停用"),await g()}catch{}}async function j(l){try{await h.confirm("确定删除该公告吗?删除后无法恢复。","删除公告",{confirmButtonText:"删除",cancelButtonText:"取消",type:"error"})}catch{return}try{const e=await ae(l.id);if(!e?.success){r.error(e?.error||"删除失败");return}r.success("已删除"),await g()}catch{}}return Q(g),(l,e)=>{const s=f("el-button"),x=f("el-input"),y=f("el-form-item"),q=f("el-form"),N=f("el-card"),w=f("el-table-column"),U=f("el-tag"),H=f("el-table"),J=W("loading");return m(),C("div",le,[i("div",se,[e[5]||(e[5]=i("h2",null,"公告管理",-1)),i("div",null,[n(s,{onClick:g},{default:t(()=>[...e[4]||(e[4]=[c("刷新",-1)])]),_:1})])]),n(N,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:t(()=>[e[11]||(e[11]=i("h3",{class:"section-title"},"创建公告",-1)),n(q,{"label-width":"90px"},{default:t(()=>[n(y,{label:"公告标题"},{default:t(()=>[n(x,{modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=a=>o.value=a),placeholder:"请输入公告标题",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),n(y,{label:"公告内容"},{default:t(()=>[n(x,{modelValue:v.value,"onUpdate:modelValue":e[1]||(e[1]=a=>v.value=a),type:"textarea",rows:5,placeholder:"请输入公告内容(将以弹窗形式展示)",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1}),n(y,{label:"公告图片"},{default:t(()=>[i("div",oe,[n(s,{icon:G(O),loading:B.value,onClick:E},{default:t(()=>[...e[6]||(e[6]=[c("上传图片",-1)])]),_:1},8,["icon","loading"]),d.value?(m(),b(s,{key:0,onClick:F},{default:t(()=>[...e[7]||(e[7]=[c("移除",-1)])]),_:1})):A("",!0),d.value?(m(),C("span",ie,$(d.value),1)):A("",!0),i("input",{ref_key:"imageInputRef",ref:_,class:"image-input",type:"file",accept:"image/*",onChange:P},null,544)])]),_:1})]),_:1}),d.value?(m(),C("div",ue,[i("img",{src:d.value,alt:"公告图片预览"},null,8,ce)])):A("",!0),i("div",re,[n(s,{type:"primary",onClick:e[2]||(e[2]=a=>M(!0))},{default:t(()=>[...e[8]||(e[8]=[c("发布并启用",-1)])]),_:1}),n(s,{onClick:e[3]||(e[3]=a=>M(!1))},{default:t(()=>[...e[9]||(e[9]=[c("保存但不启用",-1)])]),_:1}),n(s,{onClick:z},{default:t(()=>[...e[10]||(e[10]=[c("清空",-1)])]),_:1})]),e[12]||(e[12]=i("div",{class:"help"}," 说明:启用公告后,用户登录进入系统将弹窗提示;用户可选择“当次关闭”或“永久关闭本次公告”。 ",-1))]),_:1}),n(N,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:t(()=>[e[18]||(e[18]=i("h3",{class:"section-title"},"公告列表",-1)),i("div",de,[X((m(),b(H,{data:T.value,style:{width:"100%"}},{default:t(()=>[n(w,{prop:"id",label:"ID",width:"80"}),n(w,{label:"标题","min-width":"240"},{default:t(({row:a})=>[i("span",{class:"ellipsis",title:a.title},$(a.title),9,me)]),_:1}),n(w,{label:"状态",width:"120"},{default:t(({row:a})=>[n(U,{type:a.is_active?"success":"info",effect:"light"},{default:t(()=>[c($(a.is_active?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),n(w,{label:"图片",width:"100"},{default:t(({row:a})=>[a.image_url?(m(),b(U,{key:0,type:"success",effect:"light"},{default:t(()=>[...e[13]||(e[13]=[c("有图",-1)])]),_:1})):(m(),C("span",fe,"-"))]),_:1}),n(w,{prop:"created_at",label:"创建时间",width:"180"}),n(w,{label:"操作",width:"260",fixed:"right"},{default:t(({row:a})=>[i("div",pe,[n(s,{size:"small",onClick:V=>R(a)},{default:t(()=>[...e[14]||(e[14]=[c("查看",-1)])]),_:1},8,["onClick"]),a.is_active?(m(),b(s,{key:0,size:"small",onClick:V=>S(a)},{default:t(()=>[...e[15]||(e[15]=[c("停用",-1)])]),_:1},8,["onClick"])):(m(),b(s,{key:1,type:"success",size:"small",onClick:V=>L(a)},{default:t(()=>[...e[16]||(e[16]=[c("启用",-1)])]),_:1},8,["onClick"])),n(s,{type:"danger",size:"small",onClick:V=>j(a)},{default:t(()=>[...e[17]||(e[17]=[c("删除",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data"])),[[J,I.value]])])]),_:1})])}}},ge=K(ve,[["__scopeId","data-v-cad97d6b"]]);export{ge as default}; +import{a as k,_ as K,r as p,o as Q,f,I as W,g as C,h as m,j as i,m as n,w as t,q as c,n as A,B as b,x as G,Q as O,p as $,J as X,L as r,R as D,K as h}from"./index-DD_NUvZR.js";async function Y(){const{data:u}=await k.get("/announcements");return u}async function Z(u){const{data:o}=await k.post("/announcements",u);return o}async function ee(u){const o=new FormData;o.append("file",u);const{data:v}=await k.post("/announcements/upload_image",o);return v}async function te(u){const{data:o}=await k.post(`/announcements/${u}/activate`);return o}async function ne(u){const{data:o}=await k.post(`/announcements/${u}/deactivate`);return o}async function ae(u){const{data:o}=await k.delete(`/announcements/${u}`);return o}const le={class:"page-stack"},se={class:"app-page-title"},oe={class:"image-upload-row"},ie={key:1,class:"image-url"},ue={key:0,class:"image-preview"},ce=["src"],re={class:"actions"},de={class:"table-wrap"},me=["title"],fe={key:1,class:"app-muted"},pe={class:"actions"},ve={__name:"AnnouncementsPage",setup(u){const o=p(""),v=p(""),d=p(""),_=p(null),B=p(!1),I=p(!1),T=p([]);async function g(){I.value=!0;try{T.value=await Y()}catch{T.value=[]}finally{I.value=!1}}function z(){o.value="",v.value="",d.value="",_.value&&(_.value.value="")}function E(){_.value?.click()}function F(){d.value="",_.value&&(_.value.value="")}async function P(l){const e=l.target?.files?.[0];if(e){if(e.type&&!e.type.startsWith("image/")){r.error("请选择图片文件"),l.target.value="";return}B.value=!0;try{const s=await ee(e);if(!s?.success||!s?.url){r.error(s?.error||"上传失败");return}d.value=s.url,r.success("上传成功")}catch{}finally{B.value=!1,l.target.value=""}}}async function M(l){const e=o.value.trim(),s=v.value.trim(),x=d.value.trim();if(!e||!s){r.error("标题和内容不能为空");return}try{const y=await Z({title:e,content:s,image_url:x,is_active:!!l});if(!y?.success){r.error(y?.error||"保存失败");return}r.success("保存成功"),z(),await g()}catch{}}async function R(l){const e=D("div",{class:"announcement-view"},[l.content?D("div",{class:"announcement-view-text"},l.content):null,l.image_url?D("img",{class:"announcement-view-image",src:l.image_url,alt:"公告图片"}):null]);await h.alert(e,l.title||"公告",{confirmButtonText:"关闭",dangerouslyUseHTMLString:!1})}async function L(l){try{await h.confirm("确定启用该公告吗?启用后将自动停用其他公告。","启用公告",{confirmButtonText:"启用",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await te(l.id);if(!e?.success){r.error(e?.error||"启用失败");return}r.success("已启用"),await g()}catch{}}async function S(l){try{await h.confirm("确定停用该公告吗?","停用公告",{confirmButtonText:"停用",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await ne(l.id);if(!e?.success){r.error(e?.error||"停用失败");return}r.success("已停用"),await g()}catch{}}async function j(l){try{await h.confirm("确定删除该公告吗?删除后无法恢复。","删除公告",{confirmButtonText:"删除",cancelButtonText:"取消",type:"error"})}catch{return}try{const e=await ae(l.id);if(!e?.success){r.error(e?.error||"删除失败");return}r.success("已删除"),await g()}catch{}}return Q(g),(l,e)=>{const s=f("el-button"),x=f("el-input"),y=f("el-form-item"),q=f("el-form"),N=f("el-card"),w=f("el-table-column"),U=f("el-tag"),H=f("el-table"),J=W("loading");return m(),C("div",le,[i("div",se,[e[5]||(e[5]=i("h2",null,"公告管理",-1)),i("div",null,[n(s,{onClick:g},{default:t(()=>[...e[4]||(e[4]=[c("刷新",-1)])]),_:1})])]),n(N,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:t(()=>[e[11]||(e[11]=i("h3",{class:"section-title"},"创建公告",-1)),n(q,{"label-width":"90px"},{default:t(()=>[n(y,{label:"公告标题"},{default:t(()=>[n(x,{modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=a=>o.value=a),placeholder:"请输入公告标题",maxlength:"100","show-word-limit":""},null,8,["modelValue"])]),_:1}),n(y,{label:"公告内容"},{default:t(()=>[n(x,{modelValue:v.value,"onUpdate:modelValue":e[1]||(e[1]=a=>v.value=a),type:"textarea",rows:5,placeholder:"请输入公告内容(将以弹窗形式展示)",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1}),n(y,{label:"公告图片"},{default:t(()=>[i("div",oe,[n(s,{icon:G(O),loading:B.value,onClick:E},{default:t(()=>[...e[6]||(e[6]=[c("上传图片",-1)])]),_:1},8,["icon","loading"]),d.value?(m(),b(s,{key:0,onClick:F},{default:t(()=>[...e[7]||(e[7]=[c("移除",-1)])]),_:1})):A("",!0),d.value?(m(),C("span",ie,$(d.value),1)):A("",!0),i("input",{ref_key:"imageInputRef",ref:_,class:"image-input",type:"file",accept:"image/*",onChange:P},null,544)])]),_:1})]),_:1}),d.value?(m(),C("div",ue,[i("img",{src:d.value,alt:"公告图片预览"},null,8,ce)])):A("",!0),i("div",re,[n(s,{type:"primary",onClick:e[2]||(e[2]=a=>M(!0))},{default:t(()=>[...e[8]||(e[8]=[c("发布并启用",-1)])]),_:1}),n(s,{onClick:e[3]||(e[3]=a=>M(!1))},{default:t(()=>[...e[9]||(e[9]=[c("保存但不启用",-1)])]),_:1}),n(s,{onClick:z},{default:t(()=>[...e[10]||(e[10]=[c("清空",-1)])]),_:1})]),e[12]||(e[12]=i("div",{class:"help"}," 说明:启用公告后,用户登录进入系统将弹窗提示;用户可选择“当次关闭”或“永久关闭本次公告”。 ",-1))]),_:1}),n(N,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:t(()=>[e[18]||(e[18]=i("h3",{class:"section-title"},"公告列表",-1)),i("div",de,[X((m(),b(H,{data:T.value,style:{width:"100%"}},{default:t(()=>[n(w,{prop:"id",label:"ID",width:"80"}),n(w,{label:"标题","min-width":"240"},{default:t(({row:a})=>[i("span",{class:"ellipsis",title:a.title},$(a.title),9,me)]),_:1}),n(w,{label:"状态",width:"120"},{default:t(({row:a})=>[n(U,{type:a.is_active?"success":"info",effect:"light"},{default:t(()=>[c($(a.is_active?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),n(w,{label:"图片",width:"100"},{default:t(({row:a})=>[a.image_url?(m(),b(U,{key:0,type:"success",effect:"light"},{default:t(()=>[...e[13]||(e[13]=[c("有图",-1)])]),_:1})):(m(),C("span",fe,"-"))]),_:1}),n(w,{prop:"created_at",label:"创建时间",width:"180"}),n(w,{label:"操作",width:"260",fixed:"right"},{default:t(({row:a})=>[i("div",pe,[n(s,{size:"small",onClick:V=>R(a)},{default:t(()=>[...e[14]||(e[14]=[c("查看",-1)])]),_:1},8,["onClick"]),a.is_active?(m(),b(s,{key:0,size:"small",onClick:V=>S(a)},{default:t(()=>[...e[15]||(e[15]=[c("停用",-1)])]),_:1},8,["onClick"])):(m(),b(s,{key:1,type:"success",size:"small",onClick:V=>L(a)},{default:t(()=>[...e[16]||(e[16]=[c("启用",-1)])]),_:1},8,["onClick"])),n(s,{type:"danger",size:"small",onClick:V=>j(a)},{default:t(()=>[...e[17]||(e[17]=[c("删除",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data"])),[[J,I.value]])])]),_:1})])}}},ge=K(ve,[["__scopeId","data-v-cad97d6b"]]);export{ge as default}; diff --git a/static/admin/assets/EmailPage-DjFQXXaw.js b/static/admin/assets/EmailPage-D-tsUWFT.js similarity index 99% rename from static/admin/assets/EmailPage-DjFQXXaw.js rename to static/admin/assets/EmailPage-D-tsUWFT.js index 7e9de2b..0c4cf53 100644 --- a/static/admin/assets/EmailPage-DjFQXXaw.js +++ b/static/admin/assets/EmailPage-D-tsUWFT.js @@ -1 +1 @@ -import{a as Ae,c as De,b as He,f as Ne,u as Fe}from"./email-BDvF0irD.js";import{a as L,_ as Ie,r as p,S as pe,T as ze,c as ce,o as Qe,f as c,I as je,g as T,h as _,j as o,J as O,m as l,w as n,q as r,B as M,p as d,n as C,F as ae,v as fe,K as U,L as f}from"./index-DYOBdo6M.js";async function Ke(){const{data:v}=await L.get("/smtp/configs");return v}async function Oe(v){const{data:b}=await L.post("/smtp/configs",v);return b}async function Ge(v,b){const{data:g}=await L.put(`/smtp/configs/${v}`,b);return g}async function Je(v){const{data:b}=await L.delete(`/smtp/configs/${v}`);return b}async function Re(v,b){const{data:g}=await L.post(`/smtp/configs/${v}/test`,{email:b});return g}async function We(v){const{data:b}=await L.post(`/smtp/configs/${v}/primary`);return b}async function Xe(){const{data:v}=await L.post("/smtp/configs/primary/clear");return v}const Ye={class:"page-stack"},Ze={class:"app-page-title"},el={class:"toolbar"},ll={class:"help app-muted"},tl={class:"section-head"},al={class:"table-wrap"},sl={class:"stat-value"},nl={class:"stat-value ok"},ol={class:"stat-value err"},il={class:"stat-value"},ul={class:"sub-stats"},dl={class:"help app-muted"},rl={class:"section-head"},ml={class:"toolbar"},pl={class:"table-wrap"},cl=["title"],fl=["title"],_l=["title"],vl={class:"pagination"},bl={class:"page-hint app-muted"},yl={style:{width:"100%"}},gl={key:0,class:"help"},hl={key:0},wl={key:0},kl={key:0},Vl={class:"dialog-actions"},_e=15,Sl={__name:"EmailPage",setup(v){const b=p(!1),g=p(!1),u=pe({enabled:!1,failover_enabled:!0,register_verify_enabled:!1,login_alert_enabled:!0,task_notify_enabled:!1,base_url:"",updated_at:null});let E=null;async function se(){b.value=!0;try{const s=await He();u.enabled=!!s.enabled,u.failover_enabled=!!s.failover_enabled,u.register_verify_enabled=!!s.register_verify_enabled,u.login_alert_enabled=s.login_alert_enabled===void 0?!0:!!s.login_alert_enabled,u.task_notify_enabled=!!s.task_notify_enabled,u.base_url=s.base_url||"",u.updated_at=s.updated_at||null}catch{}finally{b.value=!1}}async function ve(){if(!b.value){g.value=!0;try{const s=await Fe({enabled:u.enabled,failover_enabled:u.failover_enabled,register_verify_enabled:u.register_verify_enabled,login_alert_enabled:u.login_alert_enabled,task_notify_enabled:u.task_notify_enabled,base_url:(u.base_url||"").trim()});if(!s?.success){f.error(s?.error||"更新失败");return}f.success("邮件设置已更新"),await se()}catch{}finally{g.value=!1}}}function q(){E&&window.clearTimeout(E),E=window.setTimeout(ve,300)}ze(()=>{E&&window.clearTimeout(E),E=null});const G=p(!1),J=p([]),x=p(!1),h=p(!1),R=p(!1),N=p(!1),a=pe({id:null,name:"默认配置",enabled:!0,host:"",port:465,username:"",password:"",use_ssl:!0,use_tls:!1,sender_name:"自动化学习",sender_email:"",daily_limit:0,priority:0}),F=[{key:"custom",label:"自定义(手动填写)",defaults:null,note:"适用于其他邮箱/自建SMTP",links:[]},{key:"gmail",label:"Gmail",defaults:{host:"smtp.gmail.com",port:465,use_ssl:!0,use_tls:!1},note:"通常需要开启两步验证并创建应用专用密码(App Password)",links:[{label:"SMTP 设置说明",url:"https://support.google.com/mail/answer/7126229?hl=zh-Hans"},{label:"App Password",url:"https://myaccount.google.com/apppasswords"}]},{key:"qq",label:"QQ 邮箱",defaults:{host:"smtp.qq.com",port:465,use_ssl:!0,use_tls:!1},note:"需要在邮箱设置中开启 SMTP 并获取授权码(不是QQ登录密码)",links:[{label:"QQ邮箱 SMTP 帮助",url:"https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256"}]},{key:"163",label:"163 邮箱",defaults:{host:"smtp.163.com",port:465,use_ssl:!0,use_tls:!1},note:"需要在邮箱设置中开启 SMTP 并使用授权码/客户端授权密码",links:[{label:"网易邮箱 SMTP 帮助",url:"https://help.mail.163.com/faqDetail.do?code=d7a5dc8471a22b76"}]},{key:"126",label:"126 邮箱",defaults:{host:"smtp.126.com",port:465,use_ssl:!0,use_tls:!1},note:"需要在邮箱设置中开启 SMTP 并使用授权码/客户端授权密码",links:[{label:"网易邮箱帮助",url:"https://help.mail.163.com/"}]},{key:"outlook",label:"Outlook/Hotmail",defaults:{host:"smtp-mail.outlook.com",port:587,use_ssl:!1,use_tls:!0},note:"建议使用 TLS 587(部分账号需开启 SMTP AUTH)",links:[{label:"微软 SMTP 设置",url:"https://support.microsoft.com/office/pop-imap-and-smtp-settings-for-outlook-com-d088b0b7-0d38-4f9a-bc5d-509f9e4c6d3d"}]},{key:"office365",label:"Microsoft 365/Exchange",defaults:{host:"smtp.office365.com",port:587,use_ssl:!1,use_tls:!0},note:"企业邮箱常用配置(需启用 SMTP AUTH)",links:[{label:"微软官方说明",url:"https://learn.microsoft.com/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission"}]},{key:"icloud",label:"iCloud",defaults:{host:"smtp.mail.me.com",port:587,use_ssl:!1,use_tls:!0},note:"需要在 Apple ID 中生成“App 专用密码”",links:[{label:"Apple 邮件服务器设置",url:"https://support.apple.com/zh-cn/HT202304"}]},{key:"tencent_exmail",label:"腾讯企业邮箱",defaults:{host:"smtp.exmail.qq.com",port:465,use_ssl:!0,use_tls:!1},note:"企业邮箱常用配置",links:[{label:"腾讯企业邮箱帮助",url:"https://service.exmail.qq.com/cgi-bin/help?subtype=1&id=23&no=1001068"}]},{key:"aliyun_exmail",label:"阿里企业邮箱",defaults:{host:"smtp.mxhichina.com",port:465,use_ssl:!0,use_tls:!1},note:"企业邮箱常用配置",links:[{label:"阿里云文档",url:"https://help.aliyun.com/document_detail/50652.html"}]}],$=p("custom"),V=ce(()=>F.find(s=>s.key===$.value)||F[0]),be=ce(()=>h.value&&R.value?"留空保持不变":"SMTP密码或授权码");function ye(s){const e=String(s?.host||"").trim().toLowerCase();return e&&{"smtp.gmail.com":"gmail","smtp.qq.com":"qq","smtp.163.com":"163","smtp.126.com":"126","smtp-mail.outlook.com":"outlook","smtp.office365.com":"office365","smtp.mail.me.com":"icloud","smtp.exmail.qq.com":"tencent_exmail","smtp.mxhichina.com":"aliyun_exmail"}[e]||"custom"}function ge(s){const e=F.find(i=>i.key===s);!e||!e.defaults||(a.host=e.defaults.host,a.port=e.defaults.port,a.use_ssl=e.defaults.use_ssl,a.use_tls=e.defaults.use_tls)}function ne(){a.id=null,a.name="默认配置",a.enabled=!0,a.host="",a.port=465,a.username="",a.password="",a.use_ssl=!0,a.use_tls=!1,a.sender_name="自动化学习",a.sender_email="",a.daily_limit=0,a.priority=0,R.value=!1,N.value=!1,$.value="custom"}async function A(){G.value=!0;try{J.value=await Ke()}catch{J.value=[]}finally{G.value=!1}}function he(){h.value=!1,ne(),$.value="custom",x.value=!0}function we(s){h.value=!0,ne(),a.id=s.id,a.name=s.name||"默认配置",a.enabled=!!s.enabled,a.host=s.host||"",a.port=s.port||465,a.username=s.username||"",a.password="",a.use_ssl=!!s.use_ssl,a.use_tls=!!s.use_tls,a.sender_name=s.sender_name||"自动化学习",a.sender_email=s.sender_email||"",a.daily_limit=s.daily_limit??0,a.priority=s.priority??0,R.value=!!s.has_password,N.value=!!s.is_primary,$.value=ye(s),x.value=!0}function oe(s){return s.is_primary?{label:"主",type:"warning"}:s.enabled?{label:"备用",type:"success"}:{label:"禁用",type:"info"}}function ke(s){return s.daily_limit&&s.daily_limit>0?`${s.daily_sent}/${s.daily_limit}`:`${s.daily_sent}/∞`}async function Ve(){if(!a.host.trim()){f.error("SMTP服务器地址不能为空");return}if(!a.username.trim()){f.error("SMTP用户名不能为空");return}const s={name:a.name.trim()||"默认配置",enabled:!!a.enabled,priority:Number(a.priority)||0,host:a.host.trim(),port:Number(a.port)||465,username:a.username.trim(),use_ssl:!!a.use_ssl,use_tls:!!a.use_tls,sender_name:(a.sender_name||"").trim(),sender_email:(a.sender_email||"").trim(),daily_limit:Number(a.daily_limit)||0};try{if(h.value){const e={...s};a.password&&(e.password=a.password);const i=await Ge(a.id,e);if(!i?.success){f.error(i?.error||"更新失败");return}f.success("保存成功")}else{const e={...s};a.password&&(e.password=a.password);const i=await Oe(e);if(!i?.success){f.error(i?.error||"创建失败");return}f.success("创建成功")}x.value=!1,await A()}catch{}}async function Se(){if(!h.value||!a.id){f.error("请先保存配置后再测试");return}let s;try{const e=await U.prompt("请输入测试收件邮箱","测试连接",{inputPlaceholder:"name@example.com",confirmButtonText:"发送测试邮件",cancelButtonText:"取消",inputValidator:i=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(i||"").trim()),inputErrorMessage:"邮箱格式不正确"});s=String(e.value||"").trim()}catch{return}try{const e=await Re(a.id,s);e?.success?(f.success("测试成功,邮件已发送"),await A()):await U.alert(e?.error||"测试失败","测试失败",{confirmButtonText:"知道了"})}catch{}}async function xe(){if(!(!h.value||!a.id)){try{await U.confirm("确定将该配置设为主配置吗?","设为主配置",{confirmButtonText:"设为主配置",cancelButtonText:"取消",type:"warning"})}catch{return}try{const s=await We(a.id);if(!s?.success){f.error(s?.error||"设置失败");return}f.success("已设为主配置"),x.value=!1,await A()}catch{}}}async function Te(){if(h.value){try{await U.confirm("确定取消主配置吗?取消后将按优先级选择可用SMTP。","取消主配置",{confirmButtonText:"取消主配置",cancelButtonText:"保留",type:"warning"})}catch{return}try{const s=await Xe();if(!s?.success){f.error(s?.error||"操作失败");return}f.success("已取消主配置"),x.value=!1,await A()}catch{}}}async function Pe(){if(!(!h.value||!a.id)){try{await U.confirm("确定删除该SMTP配置吗?此操作不可恢复。","删除配置",{confirmButtonText:"删除",cancelButtonText:"取消",type:"error"})}catch{return}try{const s=await Je(a.id);if(!s?.success){f.error(s?.error||"删除失败");return}f.success("已删除"),x.value=!1,await A()}catch{}}}const W=p(!1),w=p({}),X=p(!1),I=p(""),z=p(""),Q=p(1),Y=p([]),Z=p(0),ee=p(1);function Ce(s){return{register:"注册验证",reset:"密码重置",bind:"邮箱绑定",task_complete:"任务完成",security_alert:"安全告警"}[s]||s}function ie(s){return s?.username&&s?.user_id?`${s.username} (#${s.user_id})`:s?.user_id?`用户#${s.user_id}`:"系统"}async function Be(){W.value=!0;try{w.value=await Ne()}catch{w.value={}}finally{W.value=!1}}async function H(s=1){X.value=!0;try{const e={page:s,page_size:_e};I.value&&(e.type=I.value),z.value&&(e.status=z.value);const i=await Ae(e);Y.value=i?.logs||[],Z.value=i?.total||0,Q.value=i?.page||s,ee.value=i?.total_pages||1}catch{Y.value=[],Z.value=0,ee.value=1}finally{X.value=!1}}async function Me(){let s;try{const e=await U.prompt("请输入保留天数(将删除该天数之前的日志)","清理日志",{inputValue:"30",confirmButtonText:"清理",cancelButtonText:"取消",inputValidator:i=>{const k=parseInt(String(i),10);return Number.isFinite(k)&&k>=7},inputErrorMessage:"天数必须大于等于7"});s=parseInt(String(e.value),10)}catch{return}try{await U.confirm(`确定删除 ${s} 天之前的邮件日志吗?`,"二次确认",{confirmButtonText:"删除",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await De(s);if(!e?.success){f.error(e?.error||"清理失败");return}f.success(`已清理 ${e.deleted} 条日志`),await H(1)}catch{}}async function ue(){await Promise.all([se(),A(),Be(),H(1)])}return Qe(ue),(s,e)=>{const i=c("el-button"),k=c("el-switch"),m=c("el-form-item"),Ue=c("el-divider"),B=c("el-input"),de=c("el-form"),P=c("el-card"),D=c("el-tag"),y=c("el-table-column"),re=c("el-table"),j=c("el-col"),Le=c("el-row"),S=c("el-option"),le=c("el-select"),Ee=c("el-pagination"),qe=c("el-link"),te=c("el-input-number"),$e=c("el-dialog"),K=je("loading");return _(),T("div",Ye,[o("div",Ze,[e[27]||(e[27]=o("h2",null,"邮件配置",-1)),o("div",el,[l(i,{onClick:ue},{default:n(()=>[...e[26]||(e[26]=[r("刷新",-1)])]),_:1})])]),O((_(),M(P,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:n(()=>[e[31]||(e[31]=o("h3",{class:"section-title"},"全局设置",-1)),l(de,{"label-width":"140px"},{default:n(()=>[l(m,{label:"启用邮件功能"},{default:n(()=>[l(k,{modelValue:u.enabled,"onUpdate:modelValue":e[0]||(e[0]=t=>u.enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"])]),_:1}),l(m,{label:"启用故障转移"},{default:n(()=>[l(k,{modelValue:u.failover_enabled,"onUpdate:modelValue":e[1]||(e[1]=t=>u.failover_enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"])]),_:1}),l(m,{label:"启用注册邮箱验证"},{default:n(()=>[l(k,{modelValue:u.register_verify_enabled,"onUpdate:modelValue":e[2]||(e[2]=t=>u.register_verify_enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"])]),_:1}),l(Ue,{"content-position":"left"},{default:n(()=>[...e[28]||(e[28]=[r("通知设置",-1)])]),_:1}),l(m,{label:"启用任务完成通知"},{default:n(()=>[l(k,{modelValue:u.task_notify_enabled,"onUpdate:modelValue":e[3]||(e[3]=t=>u.task_notify_enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"])]),_:1}),l(m,{label:"新设备登录提醒"},{default:n(()=>[l(k,{modelValue:u.login_alert_enabled,"onUpdate:modelValue":e[4]||(e[4]=t=>u.login_alert_enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"]),e[29]||(e[29]=o("div",{class:"help"},"当检测到新设备或新IP登录时,发送邮件提醒用户",-1))]),_:1}),l(m,{label:"网站基础URL"},{default:n(()=>[l(B,{modelValue:u.base_url,"onUpdate:modelValue":e[5]||(e[5]=t=>u.base_url=t),placeholder:"例如: https://example.com",disabled:g.value,onBlur:q},null,8,["modelValue","disabled"]),e[30]||(e[30]=o("div",{class:"help"},"用于生成邮件中的验证链接,留空则使用默认配置。",-1))]),_:1})]),_:1}),o("div",ll,"最近更新时间:"+d(u.updated_at||"-"),1)]),_:1})),[[K,b.value]]),l(P,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:n(()=>[o("div",tl,[e[33]||(e[33]=o("h3",{class:"section-title"},"SMTP配置列表",-1)),l(i,{type:"primary",onClick:he},{default:n(()=>[...e[32]||(e[32]=[r("+ 添加配置",-1)])]),_:1})]),o("div",al,[O((_(),M(re,{data:J.value,style:{width:"100%"}},{default:n(()=>[l(y,{label:"状态",width:"90"},{default:n(({row:t})=>[l(D,{type:oe(t).type,effect:"light"},{default:n(()=>[r(d(oe(t).label),1)]),_:2},1032,["type"])]),_:1}),l(y,{prop:"name",label:"名称","min-width":"160"}),l(y,{label:"服务器","min-width":"200"},{default:n(({row:t})=>[r(d(t.host)+":"+d(t.port),1)]),_:1}),l(y,{label:"今日/限额",width:"110"},{default:n(({row:t})=>[r(d(ke(t)),1)]),_:1}),l(y,{label:"成功率",width:"100"},{default:n(({row:t})=>[r(d(t.success_rate)+"%",1)]),_:1}),l(y,{label:"操作",width:"120",fixed:"right"},{default:n(({row:t})=>[l(i,{size:"small",onClick:me=>we(t)},{default:n(()=>[...e[34]||(e[34]=[r("编辑",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[K,G.value]])])]),_:1}),O((_(),M(P,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:n(()=>[e[39]||(e[39]=o("h3",{class:"section-title"},"邮件发送统计",-1)),l(Le,{gutter:12},{default:n(()=>[l(j,{xs:12,sm:6},{default:n(()=>[l(P,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:n(()=>[o("div",sl,d(w.value.total_sent||0),1),e[35]||(e[35]=o("div",{class:"stat-label"},"总发送",-1))]),_:1})]),_:1}),l(j,{xs:12,sm:6},{default:n(()=>[l(P,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:n(()=>[o("div",nl,d(w.value.total_success||0),1),e[36]||(e[36]=o("div",{class:"stat-label"},"成功",-1))]),_:1})]),_:1}),l(j,{xs:12,sm:6},{default:n(()=>[l(P,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:n(()=>[o("div",ol,d(w.value.total_failed||0),1),e[37]||(e[37]=o("div",{class:"stat-label"},"失败",-1))]),_:1})]),_:1}),l(j,{xs:12,sm:6},{default:n(()=>[l(P,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:n(()=>[o("div",il,d(w.value.success_rate||0)+"%",1),e[38]||(e[38]=o("div",{class:"stat-label"},"成功率",-1))]),_:1})]),_:1})]),_:1}),o("div",ul,[l(D,{effect:"light"},{default:n(()=>[r("注册验证 "+d(w.value.register_sent||0),1)]),_:1}),l(D,{effect:"light"},{default:n(()=>[r("密码重置 "+d(w.value.reset_sent||0),1)]),_:1}),l(D,{effect:"light"},{default:n(()=>[r("邮箱绑定 "+d(w.value.bind_sent||0),1)]),_:1}),l(D,{effect:"light"},{default:n(()=>[r("任务完成 "+d(w.value.task_complete_sent||0),1)]),_:1})]),o("div",dl,"最后更新:"+d(w.value.last_updated||"-"),1)]),_:1})),[[K,W.value]]),l(P,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:n(()=>[o("div",rl,[e[41]||(e[41]=o("h3",{class:"section-title"},"邮件发送日志",-1)),o("div",ml,[l(le,{modelValue:I.value,"onUpdate:modelValue":e[6]||(e[6]=t=>I.value=t),style:{width:"140px"},onChange:e[7]||(e[7]=t=>H(1))},{default:n(()=>[l(S,{label:"全部类型",value:""}),l(S,{label:"注册验证",value:"register"}),l(S,{label:"密码重置",value:"reset"}),l(S,{label:"邮箱绑定",value:"bind"}),l(S,{label:"任务完成",value:"task_complete"}),l(S,{label:"安全告警",value:"security_alert"})]),_:1},8,["modelValue"]),l(le,{modelValue:z.value,"onUpdate:modelValue":e[8]||(e[8]=t=>z.value=t),style:{width:"120px"},onChange:e[9]||(e[9]=t=>H(1))},{default:n(()=>[l(S,{label:"全部状态",value:""}),l(S,{label:"成功",value:"success"}),l(S,{label:"失败",value:"failed"})]),_:1},8,["modelValue"]),l(i,{type:"danger",plain:"",onClick:Me},{default:n(()=>[...e[40]||(e[40]=[r("清理日志",-1)])]),_:1})])]),o("div",pl,[O((_(),M(re,{data:Y.value,style:{width:"100%"}},{default:n(()=>[l(y,{prop:"created_at",label:"时间",width:"180"}),l(y,{prop:"email_to",label:"收件人","min-width":"180"}),l(y,{label:"来源用户","min-width":"160"},{default:n(({row:t})=>[o("span",{class:"ellipsis",title:ie(t)},d(ie(t)),9,cl)]),_:1}),l(y,{label:"类型",width:"120"},{default:n(({row:t})=>[r(d(Ce(t.email_type)),1)]),_:1}),l(y,{label:"主题","min-width":"220"},{default:n(({row:t})=>[o("span",{class:"ellipsis",title:t.subject},d(t.subject),9,fl)]),_:1}),l(y,{label:"状态",width:"90"},{default:n(({row:t})=>[l(D,{type:t.status==="success"?"success":"danger",effect:"light"},{default:n(()=>[r(d(t.status==="success"?"成功":"失败"),1)]),_:2},1032,["type"])]),_:1}),l(y,{label:"错误","min-width":"200"},{default:n(({row:t})=>[o("span",{class:"ellipsis",title:t.error_message||""},d(t.error_message||"-"),9,_l)]),_:1})]),_:1},8,["data"])),[[K,X.value]])]),o("div",vl,[l(Ee,{"current-page":Q.value,"onUpdate:currentPage":e[10]||(e[10]=t=>Q.value=t),"page-size":_e,total:Z.value,layout:"prev, pager, next, ->, total",onCurrentChange:H},null,8,["current-page","total"]),o("div",bl,"第 "+d(Q.value)+" / "+d(ee.value)+" 页",1)])]),_:1}),l($e,{modelValue:x.value,"onUpdate:modelValue":e[25]||(e[25]=t=>x.value=t),title:h.value?"编辑SMTP配置":"添加SMTP配置",width:"min(560px, 92vw)"},{footer:n(()=>[o("div",Vl,[l(i,{onClick:Se},{default:n(()=>[...e[42]||(e[42]=[r("测试连接",-1)])]),_:1}),h.value&&N.value?(_(),M(i,{key:0,type:"warning",plain:"",onClick:Te},{default:n(()=>[...e[43]||(e[43]=[r("取消主配置",-1)])]),_:1})):C("",!0),h.value&&!N.value?(_(),M(i,{key:1,onClick:xe},{default:n(()=>[...e[44]||(e[44]=[r("设为主配置",-1)])]),_:1})):C("",!0),h.value?(_(),M(i,{key:2,type:"danger",plain:"",onClick:Pe},{default:n(()=>[...e[45]||(e[45]=[r("删除配置",-1)])]),_:1})):C("",!0),e[48]||(e[48]=o("div",{class:"spacer"},null,-1)),l(i,{onClick:e[24]||(e[24]=t=>x.value=!1)},{default:n(()=>[...e[46]||(e[46]=[r("取消",-1)])]),_:1}),l(i,{type:"primary",onClick:Ve},{default:n(()=>[...e[47]||(e[47]=[r("保存",-1)])]),_:1})])]),default:n(()=>[l(de,{"label-width":"120px"},{default:n(()=>[l(m,{label:"名称"},{default:n(()=>[l(B,{modelValue:a.name,"onUpdate:modelValue":e[11]||(e[11]=t=>a.name=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"启用"},{default:n(()=>[l(k,{modelValue:a.enabled,"onUpdate:modelValue":e[12]||(e[12]=t=>a.enabled=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"邮箱模板"},{default:n(()=>[o("div",yl,[l(le,{modelValue:$.value,"onUpdate:modelValue":e[13]||(e[13]=t=>$.value=t),placeholder:"选择常用邮箱模板",style:{width:"100%"},onChange:ge},{default:n(()=>[(_(),T(ae,null,fe(F,t=>l(S,{key:t.key,label:t.label,value:t.key},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),V.value.note||V.value.links&&V.value.links.length?(_(),T("div",gl,[V.value.note?(_(),T("span",hl,d(V.value.note),1)):C("",!0),V.value.links&&V.value.links.length?(_(),T(ae,{key:1},[V.value.note?(_(),T("span",wl," · ")):C("",!0),(_(!0),T(ae,null,fe(V.value.links,(t,me)=>(_(),T("span",{key:t.url},[l(qe,{href:t.url,target:"_blank",type:"primary",underline:!1},{default:n(()=>[r(d(t.label),1)]),_:2},1032,["href"]),me[l(B,{modelValue:a.host,"onUpdate:modelValue":e[14]||(e[14]=t=>a.host=t),placeholder:"smtp.example.com"},null,8,["modelValue"])]),_:1}),l(m,{label:"端口"},{default:n(()=>[l(te,{modelValue:a.port,"onUpdate:modelValue":e[15]||(e[15]=t=>a.port=t),min:1,max:65535},null,8,["modelValue"])]),_:1}),l(m,{label:"用户名"},{default:n(()=>[l(B,{modelValue:a.username,"onUpdate:modelValue":e[16]||(e[16]=t=>a.username=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"密码"},{default:n(()=>[l(B,{modelValue:a.password,"onUpdate:modelValue":e[17]||(e[17]=t=>a.password=t),type:"password","show-password":"",placeholder:be.value},null,8,["modelValue","placeholder"])]),_:1}),l(m,{label:"SSL"},{default:n(()=>[l(k,{modelValue:a.use_ssl,"onUpdate:modelValue":e[18]||(e[18]=t=>a.use_ssl=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"TLS"},{default:n(()=>[l(k,{modelValue:a.use_tls,"onUpdate:modelValue":e[19]||(e[19]=t=>a.use_tls=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"发件人名称"},{default:n(()=>[l(B,{modelValue:a.sender_name,"onUpdate:modelValue":e[20]||(e[20]=t=>a.sender_name=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"发件人邮箱"},{default:n(()=>[l(B,{modelValue:a.sender_email,"onUpdate:modelValue":e[21]||(e[21]=t=>a.sender_email=t),placeholder:"可选"},null,8,["modelValue"])]),_:1}),l(m,{label:"每日限额"},{default:n(()=>[l(te,{modelValue:a.daily_limit,"onUpdate:modelValue":e[22]||(e[22]=t=>a.daily_limit=t),min:0,max:1e6},null,8,["modelValue"])]),_:1}),l(m,{label:"优先级"},{default:n(()=>[l(te,{modelValue:a.priority,"onUpdate:modelValue":e[23]||(e[23]=t=>a.priority=t),min:0,max:1e3},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])])}}},Pl=Ie(Sl,[["__scopeId","data-v-7a7e1e9d"]]);export{Pl as default}; +import{a as Ae,c as De,b as He,f as Ne,u as Fe}from"./email-CANx8Tja.js";import{a as L,_ as Ie,r as p,S as pe,T as ze,c as ce,o as Qe,f as c,I as je,g as T,h as _,j as o,J as O,m as l,w as n,q as r,B as M,p as d,n as C,F as ae,v as fe,K as U,L as f}from"./index-DD_NUvZR.js";async function Ke(){const{data:v}=await L.get("/smtp/configs");return v}async function Oe(v){const{data:b}=await L.post("/smtp/configs",v);return b}async function Ge(v,b){const{data:g}=await L.put(`/smtp/configs/${v}`,b);return g}async function Je(v){const{data:b}=await L.delete(`/smtp/configs/${v}`);return b}async function Re(v,b){const{data:g}=await L.post(`/smtp/configs/${v}/test`,{email:b});return g}async function We(v){const{data:b}=await L.post(`/smtp/configs/${v}/primary`);return b}async function Xe(){const{data:v}=await L.post("/smtp/configs/primary/clear");return v}const Ye={class:"page-stack"},Ze={class:"app-page-title"},el={class:"toolbar"},ll={class:"help app-muted"},tl={class:"section-head"},al={class:"table-wrap"},sl={class:"stat-value"},nl={class:"stat-value ok"},ol={class:"stat-value err"},il={class:"stat-value"},ul={class:"sub-stats"},dl={class:"help app-muted"},rl={class:"section-head"},ml={class:"toolbar"},pl={class:"table-wrap"},cl=["title"],fl=["title"],_l=["title"],vl={class:"pagination"},bl={class:"page-hint app-muted"},yl={style:{width:"100%"}},gl={key:0,class:"help"},hl={key:0},wl={key:0},kl={key:0},Vl={class:"dialog-actions"},_e=15,Sl={__name:"EmailPage",setup(v){const b=p(!1),g=p(!1),u=pe({enabled:!1,failover_enabled:!0,register_verify_enabled:!1,login_alert_enabled:!0,task_notify_enabled:!1,base_url:"",updated_at:null});let E=null;async function se(){b.value=!0;try{const s=await He();u.enabled=!!s.enabled,u.failover_enabled=!!s.failover_enabled,u.register_verify_enabled=!!s.register_verify_enabled,u.login_alert_enabled=s.login_alert_enabled===void 0?!0:!!s.login_alert_enabled,u.task_notify_enabled=!!s.task_notify_enabled,u.base_url=s.base_url||"",u.updated_at=s.updated_at||null}catch{}finally{b.value=!1}}async function ve(){if(!b.value){g.value=!0;try{const s=await Fe({enabled:u.enabled,failover_enabled:u.failover_enabled,register_verify_enabled:u.register_verify_enabled,login_alert_enabled:u.login_alert_enabled,task_notify_enabled:u.task_notify_enabled,base_url:(u.base_url||"").trim()});if(!s?.success){f.error(s?.error||"更新失败");return}f.success("邮件设置已更新"),await se()}catch{}finally{g.value=!1}}}function q(){E&&window.clearTimeout(E),E=window.setTimeout(ve,300)}ze(()=>{E&&window.clearTimeout(E),E=null});const G=p(!1),J=p([]),x=p(!1),h=p(!1),R=p(!1),N=p(!1),a=pe({id:null,name:"默认配置",enabled:!0,host:"",port:465,username:"",password:"",use_ssl:!0,use_tls:!1,sender_name:"自动化学习",sender_email:"",daily_limit:0,priority:0}),F=[{key:"custom",label:"自定义(手动填写)",defaults:null,note:"适用于其他邮箱/自建SMTP",links:[]},{key:"gmail",label:"Gmail",defaults:{host:"smtp.gmail.com",port:465,use_ssl:!0,use_tls:!1},note:"通常需要开启两步验证并创建应用专用密码(App Password)",links:[{label:"SMTP 设置说明",url:"https://support.google.com/mail/answer/7126229?hl=zh-Hans"},{label:"App Password",url:"https://myaccount.google.com/apppasswords"}]},{key:"qq",label:"QQ 邮箱",defaults:{host:"smtp.qq.com",port:465,use_ssl:!0,use_tls:!1},note:"需要在邮箱设置中开启 SMTP 并获取授权码(不是QQ登录密码)",links:[{label:"QQ邮箱 SMTP 帮助",url:"https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256"}]},{key:"163",label:"163 邮箱",defaults:{host:"smtp.163.com",port:465,use_ssl:!0,use_tls:!1},note:"需要在邮箱设置中开启 SMTP 并使用授权码/客户端授权密码",links:[{label:"网易邮箱 SMTP 帮助",url:"https://help.mail.163.com/faqDetail.do?code=d7a5dc8471a22b76"}]},{key:"126",label:"126 邮箱",defaults:{host:"smtp.126.com",port:465,use_ssl:!0,use_tls:!1},note:"需要在邮箱设置中开启 SMTP 并使用授权码/客户端授权密码",links:[{label:"网易邮箱帮助",url:"https://help.mail.163.com/"}]},{key:"outlook",label:"Outlook/Hotmail",defaults:{host:"smtp-mail.outlook.com",port:587,use_ssl:!1,use_tls:!0},note:"建议使用 TLS 587(部分账号需开启 SMTP AUTH)",links:[{label:"微软 SMTP 设置",url:"https://support.microsoft.com/office/pop-imap-and-smtp-settings-for-outlook-com-d088b0b7-0d38-4f9a-bc5d-509f9e4c6d3d"}]},{key:"office365",label:"Microsoft 365/Exchange",defaults:{host:"smtp.office365.com",port:587,use_ssl:!1,use_tls:!0},note:"企业邮箱常用配置(需启用 SMTP AUTH)",links:[{label:"微软官方说明",url:"https://learn.microsoft.com/exchange/clients-and-mobile-in-exchange-online/authenticated-client-smtp-submission"}]},{key:"icloud",label:"iCloud",defaults:{host:"smtp.mail.me.com",port:587,use_ssl:!1,use_tls:!0},note:"需要在 Apple ID 中生成“App 专用密码”",links:[{label:"Apple 邮件服务器设置",url:"https://support.apple.com/zh-cn/HT202304"}]},{key:"tencent_exmail",label:"腾讯企业邮箱",defaults:{host:"smtp.exmail.qq.com",port:465,use_ssl:!0,use_tls:!1},note:"企业邮箱常用配置",links:[{label:"腾讯企业邮箱帮助",url:"https://service.exmail.qq.com/cgi-bin/help?subtype=1&id=23&no=1001068"}]},{key:"aliyun_exmail",label:"阿里企业邮箱",defaults:{host:"smtp.mxhichina.com",port:465,use_ssl:!0,use_tls:!1},note:"企业邮箱常用配置",links:[{label:"阿里云文档",url:"https://help.aliyun.com/document_detail/50652.html"}]}],$=p("custom"),V=ce(()=>F.find(s=>s.key===$.value)||F[0]),be=ce(()=>h.value&&R.value?"留空保持不变":"SMTP密码或授权码");function ye(s){const e=String(s?.host||"").trim().toLowerCase();return e&&{"smtp.gmail.com":"gmail","smtp.qq.com":"qq","smtp.163.com":"163","smtp.126.com":"126","smtp-mail.outlook.com":"outlook","smtp.office365.com":"office365","smtp.mail.me.com":"icloud","smtp.exmail.qq.com":"tencent_exmail","smtp.mxhichina.com":"aliyun_exmail"}[e]||"custom"}function ge(s){const e=F.find(i=>i.key===s);!e||!e.defaults||(a.host=e.defaults.host,a.port=e.defaults.port,a.use_ssl=e.defaults.use_ssl,a.use_tls=e.defaults.use_tls)}function ne(){a.id=null,a.name="默认配置",a.enabled=!0,a.host="",a.port=465,a.username="",a.password="",a.use_ssl=!0,a.use_tls=!1,a.sender_name="自动化学习",a.sender_email="",a.daily_limit=0,a.priority=0,R.value=!1,N.value=!1,$.value="custom"}async function A(){G.value=!0;try{J.value=await Ke()}catch{J.value=[]}finally{G.value=!1}}function he(){h.value=!1,ne(),$.value="custom",x.value=!0}function we(s){h.value=!0,ne(),a.id=s.id,a.name=s.name||"默认配置",a.enabled=!!s.enabled,a.host=s.host||"",a.port=s.port||465,a.username=s.username||"",a.password="",a.use_ssl=!!s.use_ssl,a.use_tls=!!s.use_tls,a.sender_name=s.sender_name||"自动化学习",a.sender_email=s.sender_email||"",a.daily_limit=s.daily_limit??0,a.priority=s.priority??0,R.value=!!s.has_password,N.value=!!s.is_primary,$.value=ye(s),x.value=!0}function oe(s){return s.is_primary?{label:"主",type:"warning"}:s.enabled?{label:"备用",type:"success"}:{label:"禁用",type:"info"}}function ke(s){return s.daily_limit&&s.daily_limit>0?`${s.daily_sent}/${s.daily_limit}`:`${s.daily_sent}/∞`}async function Ve(){if(!a.host.trim()){f.error("SMTP服务器地址不能为空");return}if(!a.username.trim()){f.error("SMTP用户名不能为空");return}const s={name:a.name.trim()||"默认配置",enabled:!!a.enabled,priority:Number(a.priority)||0,host:a.host.trim(),port:Number(a.port)||465,username:a.username.trim(),use_ssl:!!a.use_ssl,use_tls:!!a.use_tls,sender_name:(a.sender_name||"").trim(),sender_email:(a.sender_email||"").trim(),daily_limit:Number(a.daily_limit)||0};try{if(h.value){const e={...s};a.password&&(e.password=a.password);const i=await Ge(a.id,e);if(!i?.success){f.error(i?.error||"更新失败");return}f.success("保存成功")}else{const e={...s};a.password&&(e.password=a.password);const i=await Oe(e);if(!i?.success){f.error(i?.error||"创建失败");return}f.success("创建成功")}x.value=!1,await A()}catch{}}async function Se(){if(!h.value||!a.id){f.error("请先保存配置后再测试");return}let s;try{const e=await U.prompt("请输入测试收件邮箱","测试连接",{inputPlaceholder:"name@example.com",confirmButtonText:"发送测试邮件",cancelButtonText:"取消",inputValidator:i=>/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(i||"").trim()),inputErrorMessage:"邮箱格式不正确"});s=String(e.value||"").trim()}catch{return}try{const e=await Re(a.id,s);e?.success?(f.success("测试成功,邮件已发送"),await A()):await U.alert(e?.error||"测试失败","测试失败",{confirmButtonText:"知道了"})}catch{}}async function xe(){if(!(!h.value||!a.id)){try{await U.confirm("确定将该配置设为主配置吗?","设为主配置",{confirmButtonText:"设为主配置",cancelButtonText:"取消",type:"warning"})}catch{return}try{const s=await We(a.id);if(!s?.success){f.error(s?.error||"设置失败");return}f.success("已设为主配置"),x.value=!1,await A()}catch{}}}async function Te(){if(h.value){try{await U.confirm("确定取消主配置吗?取消后将按优先级选择可用SMTP。","取消主配置",{confirmButtonText:"取消主配置",cancelButtonText:"保留",type:"warning"})}catch{return}try{const s=await Xe();if(!s?.success){f.error(s?.error||"操作失败");return}f.success("已取消主配置"),x.value=!1,await A()}catch{}}}async function Pe(){if(!(!h.value||!a.id)){try{await U.confirm("确定删除该SMTP配置吗?此操作不可恢复。","删除配置",{confirmButtonText:"删除",cancelButtonText:"取消",type:"error"})}catch{return}try{const s=await Je(a.id);if(!s?.success){f.error(s?.error||"删除失败");return}f.success("已删除"),x.value=!1,await A()}catch{}}}const W=p(!1),w=p({}),X=p(!1),I=p(""),z=p(""),Q=p(1),Y=p([]),Z=p(0),ee=p(1);function Ce(s){return{register:"注册验证",reset:"密码重置",bind:"邮箱绑定",task_complete:"任务完成",security_alert:"安全告警"}[s]||s}function ie(s){return s?.username&&s?.user_id?`${s.username} (#${s.user_id})`:s?.user_id?`用户#${s.user_id}`:"系统"}async function Be(){W.value=!0;try{w.value=await Ne()}catch{w.value={}}finally{W.value=!1}}async function H(s=1){X.value=!0;try{const e={page:s,page_size:_e};I.value&&(e.type=I.value),z.value&&(e.status=z.value);const i=await Ae(e);Y.value=i?.logs||[],Z.value=i?.total||0,Q.value=i?.page||s,ee.value=i?.total_pages||1}catch{Y.value=[],Z.value=0,ee.value=1}finally{X.value=!1}}async function Me(){let s;try{const e=await U.prompt("请输入保留天数(将删除该天数之前的日志)","清理日志",{inputValue:"30",confirmButtonText:"清理",cancelButtonText:"取消",inputValidator:i=>{const k=parseInt(String(i),10);return Number.isFinite(k)&&k>=7},inputErrorMessage:"天数必须大于等于7"});s=parseInt(String(e.value),10)}catch{return}try{await U.confirm(`确定删除 ${s} 天之前的邮件日志吗?`,"二次确认",{confirmButtonText:"删除",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await De(s);if(!e?.success){f.error(e?.error||"清理失败");return}f.success(`已清理 ${e.deleted} 条日志`),await H(1)}catch{}}async function ue(){await Promise.all([se(),A(),Be(),H(1)])}return Qe(ue),(s,e)=>{const i=c("el-button"),k=c("el-switch"),m=c("el-form-item"),Ue=c("el-divider"),B=c("el-input"),de=c("el-form"),P=c("el-card"),D=c("el-tag"),y=c("el-table-column"),re=c("el-table"),j=c("el-col"),Le=c("el-row"),S=c("el-option"),le=c("el-select"),Ee=c("el-pagination"),qe=c("el-link"),te=c("el-input-number"),$e=c("el-dialog"),K=je("loading");return _(),T("div",Ye,[o("div",Ze,[e[27]||(e[27]=o("h2",null,"邮件配置",-1)),o("div",el,[l(i,{onClick:ue},{default:n(()=>[...e[26]||(e[26]=[r("刷新",-1)])]),_:1})])]),O((_(),M(P,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:n(()=>[e[31]||(e[31]=o("h3",{class:"section-title"},"全局设置",-1)),l(de,{"label-width":"140px"},{default:n(()=>[l(m,{label:"启用邮件功能"},{default:n(()=>[l(k,{modelValue:u.enabled,"onUpdate:modelValue":e[0]||(e[0]=t=>u.enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"])]),_:1}),l(m,{label:"启用故障转移"},{default:n(()=>[l(k,{modelValue:u.failover_enabled,"onUpdate:modelValue":e[1]||(e[1]=t=>u.failover_enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"])]),_:1}),l(m,{label:"启用注册邮箱验证"},{default:n(()=>[l(k,{modelValue:u.register_verify_enabled,"onUpdate:modelValue":e[2]||(e[2]=t=>u.register_verify_enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"])]),_:1}),l(Ue,{"content-position":"left"},{default:n(()=>[...e[28]||(e[28]=[r("通知设置",-1)])]),_:1}),l(m,{label:"启用任务完成通知"},{default:n(()=>[l(k,{modelValue:u.task_notify_enabled,"onUpdate:modelValue":e[3]||(e[3]=t=>u.task_notify_enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"])]),_:1}),l(m,{label:"新设备登录提醒"},{default:n(()=>[l(k,{modelValue:u.login_alert_enabled,"onUpdate:modelValue":e[4]||(e[4]=t=>u.login_alert_enabled=t),disabled:g.value,onChange:q},null,8,["modelValue","disabled"]),e[29]||(e[29]=o("div",{class:"help"},"当检测到新设备或新IP登录时,发送邮件提醒用户",-1))]),_:1}),l(m,{label:"网站基础URL"},{default:n(()=>[l(B,{modelValue:u.base_url,"onUpdate:modelValue":e[5]||(e[5]=t=>u.base_url=t),placeholder:"例如: https://example.com",disabled:g.value,onBlur:q},null,8,["modelValue","disabled"]),e[30]||(e[30]=o("div",{class:"help"},"用于生成邮件中的验证链接,留空则使用默认配置。",-1))]),_:1})]),_:1}),o("div",ll,"最近更新时间:"+d(u.updated_at||"-"),1)]),_:1})),[[K,b.value]]),l(P,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:n(()=>[o("div",tl,[e[33]||(e[33]=o("h3",{class:"section-title"},"SMTP配置列表",-1)),l(i,{type:"primary",onClick:he},{default:n(()=>[...e[32]||(e[32]=[r("+ 添加配置",-1)])]),_:1})]),o("div",al,[O((_(),M(re,{data:J.value,style:{width:"100%"}},{default:n(()=>[l(y,{label:"状态",width:"90"},{default:n(({row:t})=>[l(D,{type:oe(t).type,effect:"light"},{default:n(()=>[r(d(oe(t).label),1)]),_:2},1032,["type"])]),_:1}),l(y,{prop:"name",label:"名称","min-width":"160"}),l(y,{label:"服务器","min-width":"200"},{default:n(({row:t})=>[r(d(t.host)+":"+d(t.port),1)]),_:1}),l(y,{label:"今日/限额",width:"110"},{default:n(({row:t})=>[r(d(ke(t)),1)]),_:1}),l(y,{label:"成功率",width:"100"},{default:n(({row:t})=>[r(d(t.success_rate)+"%",1)]),_:1}),l(y,{label:"操作",width:"120",fixed:"right"},{default:n(({row:t})=>[l(i,{size:"small",onClick:me=>we(t)},{default:n(()=>[...e[34]||(e[34]=[r("编辑",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[K,G.value]])])]),_:1}),O((_(),M(P,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:n(()=>[e[39]||(e[39]=o("h3",{class:"section-title"},"邮件发送统计",-1)),l(Le,{gutter:12},{default:n(()=>[l(j,{xs:12,sm:6},{default:n(()=>[l(P,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:n(()=>[o("div",sl,d(w.value.total_sent||0),1),e[35]||(e[35]=o("div",{class:"stat-label"},"总发送",-1))]),_:1})]),_:1}),l(j,{xs:12,sm:6},{default:n(()=>[l(P,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:n(()=>[o("div",nl,d(w.value.total_success||0),1),e[36]||(e[36]=o("div",{class:"stat-label"},"成功",-1))]),_:1})]),_:1}),l(j,{xs:12,sm:6},{default:n(()=>[l(P,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:n(()=>[o("div",ol,d(w.value.total_failed||0),1),e[37]||(e[37]=o("div",{class:"stat-label"},"失败",-1))]),_:1})]),_:1}),l(j,{xs:12,sm:6},{default:n(()=>[l(P,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:n(()=>[o("div",il,d(w.value.success_rate||0)+"%",1),e[38]||(e[38]=o("div",{class:"stat-label"},"成功率",-1))]),_:1})]),_:1})]),_:1}),o("div",ul,[l(D,{effect:"light"},{default:n(()=>[r("注册验证 "+d(w.value.register_sent||0),1)]),_:1}),l(D,{effect:"light"},{default:n(()=>[r("密码重置 "+d(w.value.reset_sent||0),1)]),_:1}),l(D,{effect:"light"},{default:n(()=>[r("邮箱绑定 "+d(w.value.bind_sent||0),1)]),_:1}),l(D,{effect:"light"},{default:n(()=>[r("任务完成 "+d(w.value.task_complete_sent||0),1)]),_:1})]),o("div",dl,"最后更新:"+d(w.value.last_updated||"-"),1)]),_:1})),[[K,W.value]]),l(P,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:n(()=>[o("div",rl,[e[41]||(e[41]=o("h3",{class:"section-title"},"邮件发送日志",-1)),o("div",ml,[l(le,{modelValue:I.value,"onUpdate:modelValue":e[6]||(e[6]=t=>I.value=t),style:{width:"140px"},onChange:e[7]||(e[7]=t=>H(1))},{default:n(()=>[l(S,{label:"全部类型",value:""}),l(S,{label:"注册验证",value:"register"}),l(S,{label:"密码重置",value:"reset"}),l(S,{label:"邮箱绑定",value:"bind"}),l(S,{label:"任务完成",value:"task_complete"}),l(S,{label:"安全告警",value:"security_alert"})]),_:1},8,["modelValue"]),l(le,{modelValue:z.value,"onUpdate:modelValue":e[8]||(e[8]=t=>z.value=t),style:{width:"120px"},onChange:e[9]||(e[9]=t=>H(1))},{default:n(()=>[l(S,{label:"全部状态",value:""}),l(S,{label:"成功",value:"success"}),l(S,{label:"失败",value:"failed"})]),_:1},8,["modelValue"]),l(i,{type:"danger",plain:"",onClick:Me},{default:n(()=>[...e[40]||(e[40]=[r("清理日志",-1)])]),_:1})])]),o("div",pl,[O((_(),M(re,{data:Y.value,style:{width:"100%"}},{default:n(()=>[l(y,{prop:"created_at",label:"时间",width:"180"}),l(y,{prop:"email_to",label:"收件人","min-width":"180"}),l(y,{label:"来源用户","min-width":"160"},{default:n(({row:t})=>[o("span",{class:"ellipsis",title:ie(t)},d(ie(t)),9,cl)]),_:1}),l(y,{label:"类型",width:"120"},{default:n(({row:t})=>[r(d(Ce(t.email_type)),1)]),_:1}),l(y,{label:"主题","min-width":"220"},{default:n(({row:t})=>[o("span",{class:"ellipsis",title:t.subject},d(t.subject),9,fl)]),_:1}),l(y,{label:"状态",width:"90"},{default:n(({row:t})=>[l(D,{type:t.status==="success"?"success":"danger",effect:"light"},{default:n(()=>[r(d(t.status==="success"?"成功":"失败"),1)]),_:2},1032,["type"])]),_:1}),l(y,{label:"错误","min-width":"200"},{default:n(({row:t})=>[o("span",{class:"ellipsis",title:t.error_message||""},d(t.error_message||"-"),9,_l)]),_:1})]),_:1},8,["data"])),[[K,X.value]])]),o("div",vl,[l(Ee,{"current-page":Q.value,"onUpdate:currentPage":e[10]||(e[10]=t=>Q.value=t),"page-size":_e,total:Z.value,layout:"prev, pager, next, ->, total",onCurrentChange:H},null,8,["current-page","total"]),o("div",bl,"第 "+d(Q.value)+" / "+d(ee.value)+" 页",1)])]),_:1}),l($e,{modelValue:x.value,"onUpdate:modelValue":e[25]||(e[25]=t=>x.value=t),title:h.value?"编辑SMTP配置":"添加SMTP配置",width:"min(560px, 92vw)"},{footer:n(()=>[o("div",Vl,[l(i,{onClick:Se},{default:n(()=>[...e[42]||(e[42]=[r("测试连接",-1)])]),_:1}),h.value&&N.value?(_(),M(i,{key:0,type:"warning",plain:"",onClick:Te},{default:n(()=>[...e[43]||(e[43]=[r("取消主配置",-1)])]),_:1})):C("",!0),h.value&&!N.value?(_(),M(i,{key:1,onClick:xe},{default:n(()=>[...e[44]||(e[44]=[r("设为主配置",-1)])]),_:1})):C("",!0),h.value?(_(),M(i,{key:2,type:"danger",plain:"",onClick:Pe},{default:n(()=>[...e[45]||(e[45]=[r("删除配置",-1)])]),_:1})):C("",!0),e[48]||(e[48]=o("div",{class:"spacer"},null,-1)),l(i,{onClick:e[24]||(e[24]=t=>x.value=!1)},{default:n(()=>[...e[46]||(e[46]=[r("取消",-1)])]),_:1}),l(i,{type:"primary",onClick:Ve},{default:n(()=>[...e[47]||(e[47]=[r("保存",-1)])]),_:1})])]),default:n(()=>[l(de,{"label-width":"120px"},{default:n(()=>[l(m,{label:"名称"},{default:n(()=>[l(B,{modelValue:a.name,"onUpdate:modelValue":e[11]||(e[11]=t=>a.name=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"启用"},{default:n(()=>[l(k,{modelValue:a.enabled,"onUpdate:modelValue":e[12]||(e[12]=t=>a.enabled=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"邮箱模板"},{default:n(()=>[o("div",yl,[l(le,{modelValue:$.value,"onUpdate:modelValue":e[13]||(e[13]=t=>$.value=t),placeholder:"选择常用邮箱模板",style:{width:"100%"},onChange:ge},{default:n(()=>[(_(),T(ae,null,fe(F,t=>l(S,{key:t.key,label:t.label,value:t.key},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),V.value.note||V.value.links&&V.value.links.length?(_(),T("div",gl,[V.value.note?(_(),T("span",hl,d(V.value.note),1)):C("",!0),V.value.links&&V.value.links.length?(_(),T(ae,{key:1},[V.value.note?(_(),T("span",wl," · ")):C("",!0),(_(!0),T(ae,null,fe(V.value.links,(t,me)=>(_(),T("span",{key:t.url},[l(qe,{href:t.url,target:"_blank",type:"primary",underline:!1},{default:n(()=>[r(d(t.label),1)]),_:2},1032,["href"]),me[l(B,{modelValue:a.host,"onUpdate:modelValue":e[14]||(e[14]=t=>a.host=t),placeholder:"smtp.example.com"},null,8,["modelValue"])]),_:1}),l(m,{label:"端口"},{default:n(()=>[l(te,{modelValue:a.port,"onUpdate:modelValue":e[15]||(e[15]=t=>a.port=t),min:1,max:65535},null,8,["modelValue"])]),_:1}),l(m,{label:"用户名"},{default:n(()=>[l(B,{modelValue:a.username,"onUpdate:modelValue":e[16]||(e[16]=t=>a.username=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"密码"},{default:n(()=>[l(B,{modelValue:a.password,"onUpdate:modelValue":e[17]||(e[17]=t=>a.password=t),type:"password","show-password":"",placeholder:be.value},null,8,["modelValue","placeholder"])]),_:1}),l(m,{label:"SSL"},{default:n(()=>[l(k,{modelValue:a.use_ssl,"onUpdate:modelValue":e[18]||(e[18]=t=>a.use_ssl=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"TLS"},{default:n(()=>[l(k,{modelValue:a.use_tls,"onUpdate:modelValue":e[19]||(e[19]=t=>a.use_tls=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"发件人名称"},{default:n(()=>[l(B,{modelValue:a.sender_name,"onUpdate:modelValue":e[20]||(e[20]=t=>a.sender_name=t)},null,8,["modelValue"])]),_:1}),l(m,{label:"发件人邮箱"},{default:n(()=>[l(B,{modelValue:a.sender_email,"onUpdate:modelValue":e[21]||(e[21]=t=>a.sender_email=t),placeholder:"可选"},null,8,["modelValue"])]),_:1}),l(m,{label:"每日限额"},{default:n(()=>[l(te,{modelValue:a.daily_limit,"onUpdate:modelValue":e[22]||(e[22]=t=>a.daily_limit=t),min:0,max:1e6},null,8,["modelValue"])]),_:1}),l(m,{label:"优先级"},{default:n(()=>[l(te,{modelValue:a.priority,"onUpdate:modelValue":e[23]||(e[23]=t=>a.priority=t),min:0,max:1e3},null,8,["modelValue"])]),_:1})]),_:1})]),_:1},8,["modelValue","title"])])}}},Pl=Ie(Sl,[["__scopeId","data-v-7a7e1e9d"]]);export{Pl as default}; diff --git a/static/admin/assets/FeedbacksPage-Ccz7usmm.js b/static/admin/assets/FeedbacksPage-DZUE-vHi.js similarity index 97% rename from static/admin/assets/FeedbacksPage-Ccz7usmm.js rename to static/admin/assets/FeedbacksPage-DZUE-vHi.js index 4b1098c..1fab391 100644 --- a/static/admin/assets/FeedbacksPage-Ccz7usmm.js +++ b/static/admin/assets/FeedbacksPage-DZUE-vHi.js @@ -1 +1 @@ -import{_ as j,i as L,r as m,o as O,f as o,I as q,g as k,h as b,j as s,m as e,w as a,F as V,v as J,q as u,p as d,J as K,B as R,n as U,M as A,K as B,N as G,L as C,O as H,P as Q}from"./index-DYOBdo6M.js";const W={class:"page-stack"},X={class:"app-page-title"},Y={class:"toolbar"},Z={class:"stat-value"},ee={class:"stat-value warn"},te={class:"stat-value ok"},ae={class:"stat-value"},le={class:"table-wrap"},se={class:"ellipsis"},ne={class:"ellipsis"},oe={class:"ellipsis"},ie={class:"actions"},de={__name:"FeedbacksPage",setup(ce){const N=L("refreshNavBadges",null),y=m(!1),g=m(""),c=m({total:0,pending:0,replied:0,closed:0}),w=m([]),M=[{label:"全部状态",value:""},{label:"待处理",value:"pending"},{label:"已回复",value:"replied"},{label:"已关闭",value:"closed"}];function F(n){return n==="pending"?{label:"待处理",type:"warning"}:n==="replied"?{label:"已回复",type:"success"}:n==="closed"?{label:"已关闭",type:"info"}:{label:n||"-",type:"info"}}async function r(){y.value=!0;try{const n=await A(g.value);w.value=n?.feedbacks||[],c.value=n?.stats||{total:0,pending:0,replied:0,closed:0}}catch{w.value=[],c.value={total:0,pending:0,replied:0,closed:0}}finally{y.value=!1}await N?.({pendingFeedbacks:c.value.pending||0})}async function D(n){let t;try{t=(await B.prompt("请输入回复内容","回复反馈",{inputType:"textarea",inputPlaceholder:"回复内容",confirmButtonText:"提交",cancelButtonText:"取消",inputValidator:h=>!!String(h||"").trim(),inputErrorMessage:"回复内容不能为空"})).value}catch{return}try{const _=await G(n.id,String(t||"").trim());C.success(_?.message||"回复成功"),await r()}catch{}}async function E(n){try{await B.confirm("确定要关闭这个反馈吗?","关闭反馈",{confirmButtonText:"关闭",cancelButtonText:"取消",type:"warning"})}catch{return}try{const t=await H(n.id);C.success(t?.message||"反馈已关闭"),await r()}catch{}}async function P(n){try{await B.confirm("确定要删除这个反馈吗?此操作不可恢复!","删除反馈",{confirmButtonText:"删除",cancelButtonText:"取消",type:"error"})}catch{return}try{const t=await Q(n.id);C.success(t?.message||"反馈已删除"),await r()}catch{}}return O(r),(n,t)=>{const _=o("el-option"),h=o("el-select"),f=o("el-button"),p=o("el-card"),v=o("el-col"),z=o("el-row"),i=o("el-table-column"),x=o("el-tooltip"),I=o("el-tag"),S=o("el-table"),$=q("loading");return b(),k("div",W,[s("div",X,[t[2]||(t[2]=s("h2",null,"反馈管理",-1)),s("div",Y,[e(h,{modelValue:g.value,"onUpdate:modelValue":t[0]||(t[0]=l=>g.value=l),style:{width:"160px"},onChange:r},{default:a(()=>[(b(),k(V,null,J(M,l=>e(_,{key:l.value,label:l.label,value:l.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),e(f,{onClick:r},{default:a(()=>[...t[1]||(t[1]=[u("刷新",-1)])]),_:1})])]),e(z,{gutter:12},{default:a(()=>[e(v,{xs:12,sm:6},{default:a(()=>[e(p,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:a(()=>[s("div",Z,d(c.value.total||0),1),t[3]||(t[3]=s("div",{class:"stat-label"},"总计",-1))]),_:1})]),_:1}),e(v,{xs:12,sm:6},{default:a(()=>[e(p,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:a(()=>[s("div",ee,d(c.value.pending||0),1),t[4]||(t[4]=s("div",{class:"stat-label"},"待处理",-1))]),_:1})]),_:1}),e(v,{xs:12,sm:6},{default:a(()=>[e(p,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:a(()=>[s("div",te,d(c.value.replied||0),1),t[5]||(t[5]=s("div",{class:"stat-label"},"已回复",-1))]),_:1})]),_:1}),e(v,{xs:12,sm:6},{default:a(()=>[e(p,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:a(()=>[s("div",ae,d(c.value.closed||0),1),t[6]||(t[6]=s("div",{class:"stat-label"},"已关闭",-1))]),_:1})]),_:1})]),_:1}),e(p,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:a(()=>[s("div",le,[K((b(),R(S,{data:w.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"ID",width:"80"}),e(i,{prop:"username",label:"用户",width:"140"}),e(i,{label:"标题","min-width":"180"},{default:a(({row:l})=>[e(x,{content:l.title,placement:"top","show-after":300},{default:a(()=>[s("span",se,d(l.title),1)]),_:2},1032,["content"])]),_:1}),e(i,{label:"描述","min-width":"220"},{default:a(({row:l})=>[e(x,{content:l.description,placement:"top","show-after":300},{default:a(()=>[s("span",ne,d(l.description),1)]),_:2},1032,["content"])]),_:1}),e(i,{prop:"contact",label:"联系方式","min-width":"160"},{default:a(({row:l})=>[u(d(l.contact||"-"),1)]),_:1}),e(i,{label:"状态",width:"110"},{default:a(({row:l})=>[e(I,{type:F(l.status).type,effect:"light"},{default:a(()=>[u(d(F(l.status).label),1)]),_:2},1032,["type"])]),_:1}),e(i,{prop:"created_at",label:"提交时间",width:"180"}),e(i,{label:"回复","min-width":"180"},{default:a(({row:l})=>[e(x,{content:l.admin_reply||"",placement:"top","show-after":300},{default:a(()=>[s("span",oe,d(l.admin_reply||"-"),1)]),_:2},1032,["content"])]),_:1}),e(i,{label:"操作",width:"220",fixed:"right"},{default:a(({row:l})=>[s("div",ie,[l.status!=="closed"?(b(),k(V,{key:0},[e(f,{type:"primary",size:"small",onClick:T=>D(l)},{default:a(()=>[...t[7]||(t[7]=[u("回复",-1)])]),_:1},8,["onClick"]),e(f,{size:"small",onClick:T=>E(l)},{default:a(()=>[...t[8]||(t[8]=[u("关闭",-1)])]),_:1},8,["onClick"])],64)):U("",!0),e(f,{type:"danger",size:"small",onClick:T=>P(l)},{default:a(()=>[...t[9]||(t[9]=[u("删除",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data"])),[[$,y.value]])])]),_:1})])}}},ue=j(de,[["__scopeId","data-v-97c1e509"]]);export{ue as default}; +import{_ as j,i as L,r as m,o as O,f as o,I as q,g as k,h as b,j as s,m as e,w as a,F as V,v as J,q as u,p as d,J as K,B as R,n as U,M as A,K as B,N as G,L as C,O as H,P as Q}from"./index-DD_NUvZR.js";const W={class:"page-stack"},X={class:"app-page-title"},Y={class:"toolbar"},Z={class:"stat-value"},ee={class:"stat-value warn"},te={class:"stat-value ok"},ae={class:"stat-value"},le={class:"table-wrap"},se={class:"ellipsis"},ne={class:"ellipsis"},oe={class:"ellipsis"},ie={class:"actions"},de={__name:"FeedbacksPage",setup(ce){const N=L("refreshNavBadges",null),y=m(!1),g=m(""),c=m({total:0,pending:0,replied:0,closed:0}),w=m([]),M=[{label:"全部状态",value:""},{label:"待处理",value:"pending"},{label:"已回复",value:"replied"},{label:"已关闭",value:"closed"}];function F(n){return n==="pending"?{label:"待处理",type:"warning"}:n==="replied"?{label:"已回复",type:"success"}:n==="closed"?{label:"已关闭",type:"info"}:{label:n||"-",type:"info"}}async function r(){y.value=!0;try{const n=await A(g.value);w.value=n?.feedbacks||[],c.value=n?.stats||{total:0,pending:0,replied:0,closed:0}}catch{w.value=[],c.value={total:0,pending:0,replied:0,closed:0}}finally{y.value=!1}await N?.({pendingFeedbacks:c.value.pending||0})}async function D(n){let t;try{t=(await B.prompt("请输入回复内容","回复反馈",{inputType:"textarea",inputPlaceholder:"回复内容",confirmButtonText:"提交",cancelButtonText:"取消",inputValidator:h=>!!String(h||"").trim(),inputErrorMessage:"回复内容不能为空"})).value}catch{return}try{const _=await G(n.id,String(t||"").trim());C.success(_?.message||"回复成功"),await r()}catch{}}async function E(n){try{await B.confirm("确定要关闭这个反馈吗?","关闭反馈",{confirmButtonText:"关闭",cancelButtonText:"取消",type:"warning"})}catch{return}try{const t=await H(n.id);C.success(t?.message||"反馈已关闭"),await r()}catch{}}async function P(n){try{await B.confirm("确定要删除这个反馈吗?此操作不可恢复!","删除反馈",{confirmButtonText:"删除",cancelButtonText:"取消",type:"error"})}catch{return}try{const t=await Q(n.id);C.success(t?.message||"反馈已删除"),await r()}catch{}}return O(r),(n,t)=>{const _=o("el-option"),h=o("el-select"),f=o("el-button"),p=o("el-card"),v=o("el-col"),z=o("el-row"),i=o("el-table-column"),x=o("el-tooltip"),I=o("el-tag"),S=o("el-table"),$=q("loading");return b(),k("div",W,[s("div",X,[t[2]||(t[2]=s("h2",null,"反馈管理",-1)),s("div",Y,[e(h,{modelValue:g.value,"onUpdate:modelValue":t[0]||(t[0]=l=>g.value=l),style:{width:"160px"},onChange:r},{default:a(()=>[(b(),k(V,null,J(M,l=>e(_,{key:l.value,label:l.label,value:l.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),e(f,{onClick:r},{default:a(()=>[...t[1]||(t[1]=[u("刷新",-1)])]),_:1})])]),e(z,{gutter:12},{default:a(()=>[e(v,{xs:12,sm:6},{default:a(()=>[e(p,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:a(()=>[s("div",Z,d(c.value.total||0),1),t[3]||(t[3]=s("div",{class:"stat-label"},"总计",-1))]),_:1})]),_:1}),e(v,{xs:12,sm:6},{default:a(()=>[e(p,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:a(()=>[s("div",ee,d(c.value.pending||0),1),t[4]||(t[4]=s("div",{class:"stat-label"},"待处理",-1))]),_:1})]),_:1}),e(v,{xs:12,sm:6},{default:a(()=>[e(p,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:a(()=>[s("div",te,d(c.value.replied||0),1),t[5]||(t[5]=s("div",{class:"stat-label"},"已回复",-1))]),_:1})]),_:1}),e(v,{xs:12,sm:6},{default:a(()=>[e(p,{shadow:"never",class:"stat-card","body-style":{padding:"14px"}},{default:a(()=>[s("div",ae,d(c.value.closed||0),1),t[6]||(t[6]=s("div",{class:"stat-label"},"已关闭",-1))]),_:1})]),_:1})]),_:1}),e(p,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:a(()=>[s("div",le,[K((b(),R(S,{data:w.value,style:{width:"100%"}},{default:a(()=>[e(i,{prop:"id",label:"ID",width:"80"}),e(i,{prop:"username",label:"用户",width:"140"}),e(i,{label:"标题","min-width":"180"},{default:a(({row:l})=>[e(x,{content:l.title,placement:"top","show-after":300},{default:a(()=>[s("span",se,d(l.title),1)]),_:2},1032,["content"])]),_:1}),e(i,{label:"描述","min-width":"220"},{default:a(({row:l})=>[e(x,{content:l.description,placement:"top","show-after":300},{default:a(()=>[s("span",ne,d(l.description),1)]),_:2},1032,["content"])]),_:1}),e(i,{prop:"contact",label:"联系方式","min-width":"160"},{default:a(({row:l})=>[u(d(l.contact||"-"),1)]),_:1}),e(i,{label:"状态",width:"110"},{default:a(({row:l})=>[e(I,{type:F(l.status).type,effect:"light"},{default:a(()=>[u(d(F(l.status).label),1)]),_:2},1032,["type"])]),_:1}),e(i,{prop:"created_at",label:"提交时间",width:"180"}),e(i,{label:"回复","min-width":"180"},{default:a(({row:l})=>[e(x,{content:l.admin_reply||"",placement:"top","show-after":300},{default:a(()=>[s("span",oe,d(l.admin_reply||"-"),1)]),_:2},1032,["content"])]),_:1}),e(i,{label:"操作",width:"220",fixed:"right"},{default:a(({row:l})=>[s("div",ie,[l.status!=="closed"?(b(),k(V,{key:0},[e(f,{type:"primary",size:"small",onClick:T=>D(l)},{default:a(()=>[...t[7]||(t[7]=[u("回复",-1)])]),_:1},8,["onClick"]),e(f,{size:"small",onClick:T=>E(l)},{default:a(()=>[...t[8]||(t[8]=[u("关闭",-1)])]),_:1},8,["onClick"])],64)):U("",!0),e(f,{type:"danger",size:"small",onClick:T=>P(l)},{default:a(()=>[...t[9]||(t[9]=[u("删除",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data"])),[[$,y.value]])])]),_:1})])}}},ue=j(de,[["__scopeId","data-v-97c1e509"]]);export{ue as default}; diff --git a/static/admin/assets/LogsPage-DKgDsqeF.js b/static/admin/assets/LogsPage-CdMEmjzm.js similarity index 97% rename from static/admin/assets/LogsPage-DKgDsqeF.js rename to static/admin/assets/LogsPage-CdMEmjzm.js index c4e11f9..2457ca7 100644 --- a/static/admin/assets/LogsPage-DKgDsqeF.js +++ b/static/admin/assets/LogsPage-CdMEmjzm.js @@ -1 +1 @@ -import{f as K}from"./users-CwvLJNE7.js";import{d as G,e as H}from"./tasks-CQlm8unE.js";import{_ as Q,r as u,c as X,o as Z,f as r,I as ee,g as P,h as y,j as v,m as t,w as a,q as p,F as te,v as le,B as F,J as ae,p as m,K as $,L as oe}from"./index-DYOBdo6M.js";function ne(f){return String(f||"").trim()}function se(f){return!f.startsWith("user_scheduled")||!f.includes(":")?"":f.split(":",2)[1]||""}function ue(f){const s=ne(f);if(!s||s==="manual")return{group:"manual",label:"手动",type:"success",tooltip:""};if(s==="scheduled")return{group:"scheduled",label:"定时任务",type:"primary",tooltip:"系统定时"};if(s.startsWith("user_scheduled")){const i=se(s),_=String(i||"").replace(/^batch_/,"");return{group:"scheduled",label:"定时任务",type:"primary",tooltip:_?`用户定时批次:${_}`:"用户定时"}}return{group:"manual",label:"手动",type:"success",tooltip:{batch:"手动批量",manual_screenshot:"手动截图",immediate:"立即执行",resumed:"断点恢复"}[s]||s}}const re={class:"page-stack"},ie={class:"app-page-title"},ce={class:"toolbar"},de={class:"filters"},pe={class:"table-wrap"},me={class:"ellipsis"},fe={class:"pagination"},ve={class:"page-hint app-muted"},T=20,_e={__name:"LogsPage",setup(f){const s=u(!1),S=u([]),h=u(0),i=u(1),_=u(!1),C=u([]),w=u(""),V=u(""),x=u(""),k=u(""),M=u(""),E=X(()=>Math.max(1,Math.ceil((h.value||0)/T)));function Y(o){if(o==null)return"-";const e=Number(o);return Number.isFinite(e)?e<60?`${e}秒`:`${Math.floor(e/60)}分${e%60}秒`:"-"}function g(o){const e=ue(o);return{key:e.group,label:e.label,type:e.type,tooltip:e.tooltip}}function L(o){return o==="success"?{label:"成功",type:"success"}:o==="failed"?{label:"失败",type:"danger"}:{label:o||"-",type:"info"}}async function z(){_.value=!0;try{const o=await K();C.value=(o||[]).map(e=>({id:e.id,username:e.username}))}catch{C.value=[]}finally{_.value=!1}}async function b(){s.value=!0;try{const o=(i.value-1)*T,e={limit:T,offset:o};w.value&&(e.date=w.value),V.value&&(e.status=V.value),x.value&&(e.source=x.value),k.value&&(e.user_id=k.value),M.value&&(e.account=M.value);const c=await G(e);S.value=c?.logs||[],h.value=c?.total||0}catch{S.value=[],h.value=0}finally{s.value=!1}}function O(){i.value=1,b()}function j(){w.value="",V.value="",x.value="",k.value="",M.value="",i.value=1,b()}async function R(){let o;try{const e=await $.prompt("请输入要清理多少天前的日志(默认30天)","清理旧日志",{inputValue:"30",confirmButtonText:"下一步",cancelButtonText:"取消",inputValidator:c=>{const B=parseInt(String(c),10);return Number.isFinite(B)&&B>=1},inputErrorMessage:"请输入有效的天数(大于0的整数)"});o=parseInt(String(e.value),10)}catch{return}try{await $.confirm(`确定要删除 ${o} 天前的所有日志吗?此操作不可恢复!`,"二次确认",{confirmButtonText:"删除",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await H(o);oe.success(e?.message||"清理成功"),i.value=1,await b()}catch{}}return Z(async()=>{await z(),await b()}),(o,e)=>{const c=r("el-button"),B=r("el-date-picker"),n=r("el-option"),U=r("el-select"),W=r("el-input"),D=r("el-card"),d=r("el-table-column"),I=r("el-tag"),N=r("el-tooltip"),q=r("el-table"),A=r("el-pagination"),J=ee("loading");return y(),P("div",re,[v("div",ie,[e[7]||(e[7]=v("h2",null,"任务日志",-1)),v("div",ce,[t(c,{onClick:b},{default:a(()=>[...e[6]||(e[6]=[p("刷新",-1)])]),_:1})])]),t(D,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:a(()=>[v("div",de,[t(B,{modelValue:w.value,"onUpdate:modelValue":e[0]||(e[0]=l=>w.value=l),type:"date","value-format":"YYYY-MM-DD",placeholder:"日期",style:{width:"150px"}},null,8,["modelValue"]),t(U,{modelValue:V.value,"onUpdate:modelValue":e[1]||(e[1]=l=>V.value=l),placeholder:"状态",style:{width:"120px"}},{default:a(()=>[t(n,{label:"全部",value:""}),t(n,{label:"成功",value:"success"}),t(n,{label:"失败",value:"failed"})]),_:1},8,["modelValue"]),t(U,{modelValue:x.value,"onUpdate:modelValue":e[2]||(e[2]=l=>x.value=l),placeholder:"来源",style:{width:"120px"}},{default:a(()=>[t(n,{label:"全部",value:""}),t(n,{label:"手动",value:"manual"}),t(n,{label:"定时任务(系统)",value:"scheduled"}),t(n,{label:"定时任务(用户)",value:"user_scheduled"}),t(n,{label:"手动(批量)",value:"batch"}),t(n,{label:"手动(截图)",value:"manual_screenshot"}),t(n,{label:"手动(立即)",value:"immediate"}),t(n,{label:"手动(恢复)",value:"resumed"})]),_:1},8,["modelValue"]),t(U,{modelValue:k.value,"onUpdate:modelValue":e[3]||(e[3]=l=>k.value=l),placeholder:"用户",style:{width:"140px"},loading:_.value,filterable:"",clearable:""},{default:a(()=>[t(n,{label:"全部",value:""}),(y(!0),P(te,null,le(C.value,l=>(y(),F(n,{key:l.id,label:l.username,value:String(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),t(W,{modelValue:M.value,"onUpdate:modelValue":e[4]||(e[4]=l=>M.value=l),placeholder:"账号关键字",style:{width:"170px"},clearable:""},null,8,["modelValue"]),t(c,{type:"primary",onClick:O},{default:a(()=>[...e[8]||(e[8]=[p("筛选",-1)])]),_:1}),t(c,{onClick:j},{default:a(()=>[...e[9]||(e[9]=[p("重置",-1)])]),_:1}),t(c,{type:"danger",plain:"",onClick:R},{default:a(()=>[...e[10]||(e[10]=[p("清理旧日志",-1)])]),_:1})])]),_:1}),t(D,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:a(()=>[v("div",pe,[ae((y(),F(q,{data:S.value,style:{width:"100%"}},{default:a(()=>[t(d,{prop:"created_at",label:"时间",width:"180"}),t(d,{label:"来源",width:"110"},{default:a(({row:l})=>[g(l.source).tooltip?(y(),F(N,{key:0,content:g(l.source).tooltip,placement:"top","show-after":300},{default:a(()=>[t(I,{type:g(l.source).type,effect:"light"},{default:a(()=>[p(m(g(l.source).label),1)]),_:2},1032,["type"])]),_:2},1032,["content"])):(y(),F(I,{key:1,type:g(l.source).type,effect:"light"},{default:a(()=>[p(m(g(l.source).label),1)]),_:2},1032,["type"]))]),_:1}),t(d,{prop:"user_username",label:"用户",width:"140"}),t(d,{prop:"username",label:"账号",width:"160"}),t(d,{prop:"browse_type",label:"浏览类型",width:"120"}),t(d,{label:"状态",width:"90"},{default:a(({row:l})=>[t(I,{type:L(l.status).type,effect:"light"},{default:a(()=>[p(m(L(l.status).label),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"内容/附件",width:"110"},{default:a(({row:l})=>[p(m(l.total_items)+" / "+m(l.total_attachments),1)]),_:1}),t(d,{label:"用时",width:"90"},{default:a(({row:l})=>[p(m(Y(l.duration)),1)]),_:1}),t(d,{label:"失败原因","min-width":"220"},{default:a(({row:l})=>[t(N,{content:l.error_message||"",placement:"top","show-after":300},{default:a(()=>[v("span",me,m(l.error_message||"-"),1)]),_:2},1032,["content"])]),_:1})]),_:1},8,["data"])),[[J,s.value]])]),v("div",fe,[t(A,{"current-page":i.value,"onUpdate:currentPage":e[5]||(e[5]=l=>i.value=l),"page-size":T,total:h.value,layout:"prev, pager, next, jumper, ->, total",onCurrentChange:b},null,8,["current-page","total"]),v("div",ve,"第 "+m(i.value)+" / "+m(E.value)+" 页",1)])]),_:1})])}}},he=Q(_e,[["__scopeId","data-v-080a6c1f"]]);export{he as default}; +import{f as K}from"./users-BfTiBX13.js";import{d as G,e as H}from"./tasks-MT8n16Cr.js";import{_ as Q,r as u,c as X,o as Z,f as r,I as ee,g as P,h as y,j as v,m as t,w as a,q as p,F as te,v as le,B as F,J as ae,p as m,K as $,L as oe}from"./index-DD_NUvZR.js";function ne(f){return String(f||"").trim()}function se(f){return!f.startsWith("user_scheduled")||!f.includes(":")?"":f.split(":",2)[1]||""}function ue(f){const s=ne(f);if(!s||s==="manual")return{group:"manual",label:"手动",type:"success",tooltip:""};if(s==="scheduled")return{group:"scheduled",label:"定时任务",type:"primary",tooltip:"系统定时"};if(s.startsWith("user_scheduled")){const i=se(s),_=String(i||"").replace(/^batch_/,"");return{group:"scheduled",label:"定时任务",type:"primary",tooltip:_?`用户定时批次:${_}`:"用户定时"}}return{group:"manual",label:"手动",type:"success",tooltip:{batch:"手动批量",manual_screenshot:"手动截图",immediate:"立即执行",resumed:"断点恢复"}[s]||s}}const re={class:"page-stack"},ie={class:"app-page-title"},ce={class:"toolbar"},de={class:"filters"},pe={class:"table-wrap"},me={class:"ellipsis"},fe={class:"pagination"},ve={class:"page-hint app-muted"},T=20,_e={__name:"LogsPage",setup(f){const s=u(!1),S=u([]),h=u(0),i=u(1),_=u(!1),C=u([]),w=u(""),V=u(""),x=u(""),k=u(""),M=u(""),E=X(()=>Math.max(1,Math.ceil((h.value||0)/T)));function Y(o){if(o==null)return"-";const e=Number(o);return Number.isFinite(e)?e<60?`${e}秒`:`${Math.floor(e/60)}分${e%60}秒`:"-"}function g(o){const e=ue(o);return{key:e.group,label:e.label,type:e.type,tooltip:e.tooltip}}function L(o){return o==="success"?{label:"成功",type:"success"}:o==="failed"?{label:"失败",type:"danger"}:{label:o||"-",type:"info"}}async function z(){_.value=!0;try{const o=await K();C.value=(o||[]).map(e=>({id:e.id,username:e.username}))}catch{C.value=[]}finally{_.value=!1}}async function b(){s.value=!0;try{const o=(i.value-1)*T,e={limit:T,offset:o};w.value&&(e.date=w.value),V.value&&(e.status=V.value),x.value&&(e.source=x.value),k.value&&(e.user_id=k.value),M.value&&(e.account=M.value);const c=await G(e);S.value=c?.logs||[],h.value=c?.total||0}catch{S.value=[],h.value=0}finally{s.value=!1}}function O(){i.value=1,b()}function j(){w.value="",V.value="",x.value="",k.value="",M.value="",i.value=1,b()}async function R(){let o;try{const e=await $.prompt("请输入要清理多少天前的日志(默认30天)","清理旧日志",{inputValue:"30",confirmButtonText:"下一步",cancelButtonText:"取消",inputValidator:c=>{const B=parseInt(String(c),10);return Number.isFinite(B)&&B>=1},inputErrorMessage:"请输入有效的天数(大于0的整数)"});o=parseInt(String(e.value),10)}catch{return}try{await $.confirm(`确定要删除 ${o} 天前的所有日志吗?此操作不可恢复!`,"二次确认",{confirmButtonText:"删除",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await H(o);oe.success(e?.message||"清理成功"),i.value=1,await b()}catch{}}return Z(async()=>{await z(),await b()}),(o,e)=>{const c=r("el-button"),B=r("el-date-picker"),n=r("el-option"),U=r("el-select"),W=r("el-input"),D=r("el-card"),d=r("el-table-column"),I=r("el-tag"),N=r("el-tooltip"),q=r("el-table"),A=r("el-pagination"),J=ee("loading");return y(),P("div",re,[v("div",ie,[e[7]||(e[7]=v("h2",null,"任务日志",-1)),v("div",ce,[t(c,{onClick:b},{default:a(()=>[...e[6]||(e[6]=[p("刷新",-1)])]),_:1})])]),t(D,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:a(()=>[v("div",de,[t(B,{modelValue:w.value,"onUpdate:modelValue":e[0]||(e[0]=l=>w.value=l),type:"date","value-format":"YYYY-MM-DD",placeholder:"日期",style:{width:"150px"}},null,8,["modelValue"]),t(U,{modelValue:V.value,"onUpdate:modelValue":e[1]||(e[1]=l=>V.value=l),placeholder:"状态",style:{width:"120px"}},{default:a(()=>[t(n,{label:"全部",value:""}),t(n,{label:"成功",value:"success"}),t(n,{label:"失败",value:"failed"})]),_:1},8,["modelValue"]),t(U,{modelValue:x.value,"onUpdate:modelValue":e[2]||(e[2]=l=>x.value=l),placeholder:"来源",style:{width:"120px"}},{default:a(()=>[t(n,{label:"全部",value:""}),t(n,{label:"手动",value:"manual"}),t(n,{label:"定时任务(系统)",value:"scheduled"}),t(n,{label:"定时任务(用户)",value:"user_scheduled"}),t(n,{label:"手动(批量)",value:"batch"}),t(n,{label:"手动(截图)",value:"manual_screenshot"}),t(n,{label:"手动(立即)",value:"immediate"}),t(n,{label:"手动(恢复)",value:"resumed"})]),_:1},8,["modelValue"]),t(U,{modelValue:k.value,"onUpdate:modelValue":e[3]||(e[3]=l=>k.value=l),placeholder:"用户",style:{width:"140px"},loading:_.value,filterable:"",clearable:""},{default:a(()=>[t(n,{label:"全部",value:""}),(y(!0),P(te,null,le(C.value,l=>(y(),F(n,{key:l.id,label:l.username,value:String(l.id)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"]),t(W,{modelValue:M.value,"onUpdate:modelValue":e[4]||(e[4]=l=>M.value=l),placeholder:"账号关键字",style:{width:"170px"},clearable:""},null,8,["modelValue"]),t(c,{type:"primary",onClick:O},{default:a(()=>[...e[8]||(e[8]=[p("筛选",-1)])]),_:1}),t(c,{onClick:j},{default:a(()=>[...e[9]||(e[9]=[p("重置",-1)])]),_:1}),t(c,{type:"danger",plain:"",onClick:R},{default:a(()=>[...e[10]||(e[10]=[p("清理旧日志",-1)])]),_:1})])]),_:1}),t(D,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:a(()=>[v("div",pe,[ae((y(),F(q,{data:S.value,style:{width:"100%"}},{default:a(()=>[t(d,{prop:"created_at",label:"时间",width:"180"}),t(d,{label:"来源",width:"110"},{default:a(({row:l})=>[g(l.source).tooltip?(y(),F(N,{key:0,content:g(l.source).tooltip,placement:"top","show-after":300},{default:a(()=>[t(I,{type:g(l.source).type,effect:"light"},{default:a(()=>[p(m(g(l.source).label),1)]),_:2},1032,["type"])]),_:2},1032,["content"])):(y(),F(I,{key:1,type:g(l.source).type,effect:"light"},{default:a(()=>[p(m(g(l.source).label),1)]),_:2},1032,["type"]))]),_:1}),t(d,{prop:"user_username",label:"用户",width:"140"}),t(d,{prop:"username",label:"账号",width:"160"}),t(d,{prop:"browse_type",label:"浏览类型",width:"120"}),t(d,{label:"状态",width:"90"},{default:a(({row:l})=>[t(I,{type:L(l.status).type,effect:"light"},{default:a(()=>[p(m(L(l.status).label),1)]),_:2},1032,["type"])]),_:1}),t(d,{label:"内容/附件",width:"110"},{default:a(({row:l})=>[p(m(l.total_items)+" / "+m(l.total_attachments),1)]),_:1}),t(d,{label:"用时",width:"90"},{default:a(({row:l})=>[p(m(Y(l.duration)),1)]),_:1}),t(d,{label:"失败原因","min-width":"220"},{default:a(({row:l})=>[t(N,{content:l.error_message||"",placement:"top","show-after":300},{default:a(()=>[v("span",me,m(l.error_message||"-"),1)]),_:2},1032,["content"])]),_:1})]),_:1},8,["data"])),[[J,s.value]])]),v("div",fe,[t(A,{"current-page":i.value,"onUpdate:currentPage":e[5]||(e[5]=l=>i.value=l),"page-size":T,total:h.value,layout:"prev, pager, next, jumper, ->, total",onCurrentChange:b},null,8,["current-page","total"]),v("div",ve,"第 "+m(i.value)+" / "+m(E.value)+" 页",1)])]),_:1})])}}},he=Q(_e,[["__scopeId","data-v-080a6c1f"]]);export{he as default}; diff --git a/static/admin/assets/ReportPage-9KIB3iif.js b/static/admin/assets/ReportPage-DAW30JOI.js similarity index 99% rename from static/admin/assets/ReportPage-9KIB3iif.js rename to static/admin/assets/ReportPage-DAW30JOI.js index 6ef88fa..93c928b 100644 --- a/static/admin/assets/ReportPage-9KIB3iif.js +++ b/static/admin/assets/ReportPage-DAW30JOI.js @@ -1 +1 @@ -import{a as Me,_ as We,i as ie,r as g,c as u,u as Ae,b as Be,t as ne,k as Ne,s as Ve,l as Ie,d as Ue,o as De,e as Ee,f as m,g as b,h as _,j as e,m as l,n as P,p as t,w as a,q as d,F as G,v as Fe,x as W,y as $e,z as je,A as Ge,B as L,C as He,D as oe,E as Qe,G as Ze,H as Je}from"./index-DYOBdo6M.js";import{f as Ke}from"./email-BDvF0irD.js";import{f as Oe,a as Xe,b as Ye,c as es}from"./tasks-CQlm8unE.js";import{f as ss}from"./system-CMyTza1B.js";async function ts(){const{data:H}=await Me.get("/browser_pool/stats");return H}const ls={class:"page-stack"},as={class:"hero"},is={class:"hero-top"},ns={class:"hero-title"},os={class:"hero-meta app-muted"},ds={key:0},us={key:1,class:"hero-dot"},rs={key:2},cs={class:"hero-actions"},vs={class:"kpi-grid"},_s={class:"kpi-icon"},ps={class:"kpi-body"},fs={class:"kpi-value"},ms={class:"kpi-label"},hs={key:0,class:"kpi-sub app-muted"},gs={class:"panel-head"},bs={class:"head-left"},ks={class:"head-icon tone-purple"},ys={class:"head-text"},ws={class:"panel-sub app-muted"},xs={class:"tile-section"},Ss={class:"tile-grid"},Cs={class:"tile"},Ps={class:"tile-v"},Ts={class:"tile"},Rs={class:"tile-v ok"},qs={class:"tile"},Ls={class:"tile-v err"},zs={class:"tile"},Ms={class:"tile-v"},Ws={class:"tile"},As={class:"tile-v"},Bs={class:"tile-section"},Ns={class:"tile-grid"},Vs={class:"tile"},Is={class:"tile-v"},Us={class:"tile"},Ds={class:"tile-v ok"},Es={class:"tile"},Fs={class:"tile-v err"},$s={class:"tile"},js={class:"tile-v"},Gs={class:"tile"},Hs={class:"tile-v"},Qs={class:"panel-head"},Zs={class:"head-left"},Js={class:"head-icon tone-blue"},Ks={class:"head-text"},Os={class:"panel-sub app-muted"},Xs={class:"tab-label"},Ys={class:"table-wrap"},et={key:0,class:"help app-muted"},st={class:"tab-label"},tt={class:"table-wrap"},lt={key:0,class:"help app-muted"},at={class:"panel-head"},it={class:"head-left"},nt={class:"head-icon tone-cyan"},ot={class:"head-text"},dt={class:"panel-sub app-muted"},ut={class:"tile-grid tile-grid--3"},rt={class:"tile"},ct={class:"tile-v"},vt={class:"tile"},_t={class:"tile-v ok"},pt={class:"tile"},ft={class:"tile-v err"},mt={class:"type-grid"},ht={class:"type-item"},gt={class:"type-v"},bt={class:"type-item"},kt={class:"type-v"},yt={class:"type-item"},wt={class:"type-v"},xt={class:"type-item"},St={class:"type-v"},Ct={class:"panel-head"},Pt={class:"head-left"},Tt={class:"head-icon tone-orange"},Rt={class:"head-text"},qt={class:"panel-sub app-muted"},Lt={class:"tile-grid tile-grid--3"},zt={class:"tile"},Mt={class:"tile-v"},Wt={class:"tile"},At={class:"tile-v warn"},Bt={class:"tile"},Nt={class:"tile-v ok"},Vt={class:"panel-head"},It={class:"head-left"},Ut={class:"head-icon tone-green"},Dt={class:"resource-grid"},Et={class:"resource-item"},Ft={class:"resource-sub app-muted"},$t={class:"resource-item"},jt={class:"resource-sub app-muted"},Gt={class:"resource-item"},Ht={class:"resource-sub app-muted"},Qt={class:"panel-head"},Zt={class:"head-left"},Jt={class:"head-text"},Kt={class:"panel-sub app-muted"},Ot={class:"tile-grid tile-grid--4"},Xt={class:"tile"},Yt={class:"tile-v"},el={class:"tile"},sl={class:"tile-v ok"},tl={class:"tile"},ll={class:"tile-v"},al={class:"tile"},il={class:"tile-v warn"},nl={class:"table-wrap"},ol={class:"panel-head"},dl={class:"head-left"},ul={class:"head-icon tone-red"},rl={class:"config-grid"},cl={class:"config-item"},vl={class:"config-v"},_l={class:"config-inline app-muted"},pl={class:"config-sub app-muted"},fl={class:"config-item"},ml={class:"config-v"},hl={key:2,class:"config-inline app-muted"},gl={class:"config-sub app-muted"},bl={class:"config-item"},kl={class:"config-v"},yl={__name:"ReportPage",setup(H){const de=ie("refreshStats",null),ue=ie("adminStats",null),U=g(!1),D=g(!1),N=g(""),E=g(null),k=g(null),x=g(null),A=g(null),c=g(null),R=g(null),T=g(null),y=g(null),Q=g("running");function re(){try{N.value=new Date().toLocaleString("zh-CN",{hour12:!1,timeZone:"Asia/Shanghai"})}catch{N.value=""}}function i(o){const s=Number(o);return Number.isFinite(s)?s:0}function h(o){const s=String(o??"").trim();if(!s)return 0;const p=s.endsWith("%")?s.slice(0,-1):s,v=Number(p);return!Number.isFinite(v)||v<0?0:v>1e3?1e3:v}function Z(o){const s=String(o??"").trim();return!s||s==="manual"?"手动":s==="scheduled"?"系统定时":s==="batch"?"批量执行":s==="resumed"?"断点续跑":s.startsWith("user_scheduled:")?"用户定时":s}const ce=u(()=>{const o=ue?.value||{},s=i(k.value?.max_concurrent);return[{label:"总用户数",value:i(o.total_users),icon:Ae,tone:"blue"},{label:"今日注册",value:i(o.new_users_today),icon:Be,tone:"green"},{label:"近7天注册",value:i(o.new_users_7d),icon:ne,tone:"purple"},{label:"总账号数",value:i(o.total_accounts),icon:Ne,tone:"cyan"},{label:"VIP用户",value:i(o.vip_users),icon:Ve,tone:"orange"},{label:"运行中任务",value:i(k.value?.running_count),icon:Ie,tone:"green",sub:s?`并发上限 ${s}`:""},{label:"排队任务",value:i(k.value?.queuing_count),icon:Ue,tone:"purple"}]}),w=u(()=>E.value?.today||{}),B=u(()=>E.value?.total||{}),ve=u(()=>k.value?.running||[]),_e=u(()=>k.value?.queuing||[]),J=u(()=>i(k.value?.running_count)),K=u(()=>i(k.value?.queuing_count)),O=u(()=>{const o=T.value?.workers;return Array.isArray(o)?[...o].sort((s,p)=>i(s?.worker_id)-i(p?.worker_id)):[]}),pe=u(()=>i(T.value?.total_workers)),X=u(()=>O.value.filter(o=>!!o?.has_browser).length),fe=u(()=>i(T.value?.idle_workers)),Y=u(()=>i(T.value?.queue_size)),me=u(()=>i(T.value?.active_workers));function he(o){return o?.thread_alive?o?.has_browser?"success":"info":"danger"}function ge(o){return o?.thread_alive?o?.has_browser?"活跃":"空闲":"异常"}function be(o){return o?.thread_alive?o?.idle?"info":"warning":"danger"}function ke(o){return o?.thread_alive?o?.idle?"空闲":"忙碌":"停止"}const V=u(()=>{const o=i(w.value.success_tasks),s=i(w.value.failed_tasks),p=o+s;return p>0?Math.round(o/p*1e3)/10:0}),ye=u(()=>i(x.value?.success_rate)),we=u(()=>(y.value?.schedule_enabled??0)===1),xe=u(()=>y.value?.schedule_time||"-"),Se=u(()=>y.value?.schedule_browse_type||"-"),ee=u(()=>String(y.value?.schedule_weekdays||"").trim()),Ce=u(()=>{const o=ee.value;if(!o)return"";const s={1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"},p=o.split(",").map(v=>v.trim()).filter(Boolean);return p.length?p.map(v=>s[Number(v)]||v).join("、"):o}),se=u(()=>(y.value?.proxy_enabled??0)===1),te=u(()=>y.value?.proxy_api_url||""),Pe=u(()=>i(y.value?.proxy_expire_minutes)),le=u(()=>i(y.value?.max_concurrent_global)),Te=u(()=>i(y.value?.max_concurrent_per_account)),Re=u(()=>i(y.value?.max_screenshot_concurrent)),F=u(()=>{const o=i(k.value?.running_count),s=i(k.value?.queuing_count),p=i(k.value?.max_concurrent);return`运行中 ${o} / 排队 ${s} / 并发上限 ${p||le.value||"-"}`});async function $(o={}){const s=o.showLoading??!0;if(!D.value){D.value=!0,s&&(U.value=!0);try{const[p,v,q,S,C,f,r,z]=await Promise.allSettled([Oe(),Xe(),Ke(),Ze(),Ye(),es(),ts(),ss()]);E.value=p.status==="fulfilled"?p.value:null,k.value=v.status==="fulfilled"?v.value:null,x.value=q.status==="fulfilled"?q.value:null,A.value=S.status==="fulfilled"?S.value:null,c.value=C.status==="fulfilled"?C.value:null,R.value=f.status==="fulfilled"?f.value:null,T.value=r.status==="fulfilled"?r.value:null,y.value=z.status==="fulfilled"?z.value:null,await de?.(),re()}finally{D.value=!1,s&&(U.value=!1)}}}let I=null;function qe(){return $({showLoading:!0})}return De(()=>{$({showLoading:!1}),I=setInterval(()=>$({showLoading:!1}),1e3)}),Ee(()=>{I&&(clearInterval(I),I=null)}),(o,s)=>{const p=m("el-button"),v=m("el-icon"),q=m("el-progress"),S=m("el-card"),C=m("el-col"),f=m("el-tag"),r=m("el-table-column"),z=m("el-table"),ae=m("el-tab-pane"),Le=m("el-tabs"),j=m("el-row"),M=m("el-descriptions-item"),ze=m("el-descriptions");return _(),b("div",ls,[e("div",as,[e("div",is,[e("div",ns,[s[1]||(s[1]=e("div",{class:"hero-title-row"},[e("h2",null,"报表中心")],-1)),e("div",os,[N.value?(_(),b("span",ds,"更新时间:"+t(N.value),1)):P("",!0),c.value?.uptime?(_(),b("span",us,"·")):P("",!0),c.value?.uptime?(_(),b("span",rs,"运行 "+t(c.value.uptime),1)):P("",!0)])]),e("div",cs,[l(p,{type:"primary",plain:"",loading:U.value,onClick:qe},{default:a(()=>[...s[2]||(s[2]=[d("刷新",-1)])]),_:1},8,["loading"])])]),e("div",vs,[(_(!0),b(G,null,Fe(ce.value,n=>(_(),b("div",{key:n.label,class:oe(["kpi-card",`kpi-tone--${n.tone}`])},[e("div",_s,[l(v,null,{default:a(()=>[(_(),L(Je(n.icon)))]),_:2},1024)]),e("div",ps,[e("div",fs,t(n.value),1),e("div",ms,t(n.label),1),n.sub?(_(),b("div",hs,t(n.sub),1)):P("",!0)])],2))),128))])]),l(j,{gutter:12},{default:a(()=>[l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",gs,[e("div",bs,[e("div",ks,[l(v,null,{default:a(()=>[l(W(ne))]),_:1})]),e("div",ys,[s[3]||(s[3]=e("div",{class:"panel-title"},"任务概览",-1)),e("div",ws,[i(w.value.total_tasks)>0?(_(),b(G,{key:0},[d(" 今日成功率 "+t(V.value)+"% · "+t(F.value),1)],64)):(_(),b(G,{key:1},[d("今日无任务 · "+t(F.value),1)],64))])])]),l(q,{type:"circle",percentage:i(w.value.total_tasks)>0?Math.round(V.value):0,width:74,"stroke-width":10,status:i(w.value.total_tasks)===0||V.value>=90?"success":V.value>=60?"warning":"exception"},null,8,["percentage","status"])]),e("div",xs,[s[9]||(s[9]=e("div",{class:"tile-title app-muted"},"今日",-1)),e("div",Ss,[e("div",Cs,[e("div",Ps,t(i(w.value.total_tasks)),1),s[4]||(s[4]=e("div",{class:"tile-k app-muted"},"总任务",-1))]),e("div",Ts,[e("div",Rs,t(i(w.value.success_tasks)),1),s[5]||(s[5]=e("div",{class:"tile-k app-muted"},"成功",-1))]),e("div",qs,[e("div",Ls,t(i(w.value.failed_tasks)),1),s[6]||(s[6]=e("div",{class:"tile-k app-muted"},"失败",-1))]),e("div",zs,[e("div",Ms,t(i(w.value.total_items)),1),s[7]||(s[7]=e("div",{class:"tile-k app-muted"},"浏览内容",-1))]),e("div",Ws,[e("div",As,t(i(w.value.total_attachments)),1),s[8]||(s[8]=e("div",{class:"tile-k app-muted"},"查看附件",-1))])])]),s[16]||(s[16]=e("div",{class:"divider"},null,-1)),e("div",Bs,[s[15]||(s[15]=e("div",{class:"tile-title app-muted"},"累计",-1)),e("div",Ns,[e("div",Vs,[e("div",Is,t(i(B.value.total_tasks)),1),s[10]||(s[10]=e("div",{class:"tile-k app-muted"},"总任务",-1))]),e("div",Us,[e("div",Ds,t(i(B.value.success_tasks)),1),s[11]||(s[11]=e("div",{class:"tile-k app-muted"},"成功",-1))]),e("div",Es,[e("div",Fs,t(i(B.value.failed_tasks)),1),s[12]||(s[12]=e("div",{class:"tile-k app-muted"},"失败",-1))]),e("div",$s,[e("div",js,t(i(B.value.total_items)),1),s[13]||(s[13]=e("div",{class:"tile-k app-muted"},"浏览内容",-1))]),e("div",Gs,[e("div",Hs,t(i(B.value.total_attachments)),1),s[14]||(s[14]=e("div",{class:"tile-k app-muted"},"查看附件",-1))])])])]),_:1})]),_:1}),l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",Qs,[e("div",Zs,[e("div",Js,[l(v,null,{default:a(()=>[l(W($e))]),_:1})]),e("div",Ks,[s[17]||(s[17]=e("div",{class:"panel-title"},"队列监控",-1)),e("div",Os,t(F.value),1)])])]),l(Le,{modelValue:Q.value,"onUpdate:modelValue":s[0]||(s[0]=n=>Q.value=n),class:"queue-tabs",stretch:""},{default:a(()=>[l(ae,{name:"running"},{label:a(()=>[e("span",Xs,[s[18]||(s[18]=d(" 运行中 ",-1)),l(f,{size:"small",effect:"light",type:"success"},{default:a(()=>[d(t(J.value),1)]),_:1})])]),default:a(()=>[e("div",Ys,[l(z,{data:ve.value.slice(0,10),size:"small",style:{width:"100%"}},{default:a(()=>[l(r,{label:"用户","min-width":"120"},{default:a(({row:n})=>[d(t(n.user_username||"-"),1)]),_:1}),l(r,{label:"账号","min-width":"150"},{default:a(({row:n})=>[d(t(n.username||"-"),1)]),_:1}),l(r,{label:"来源",width:"100"},{default:a(({row:n})=>[d(t(Z(n.source)),1)]),_:1}),l(r,{label:"类型",width:"90"},{default:a(({row:n})=>[d(t(n.browse_type||"-"),1)]),_:1}),l(r,{label:"进度",width:"100"},{default:a(({row:n})=>[d(t(n.progress_items)+"/"+t(n.progress_attachments),1)]),_:1}),l(r,{label:"耗时",width:"100"},{default:a(({row:n})=>[d(t(n.elapsed_display||"-"),1)]),_:1}),l(r,{label:"状态","min-width":"140"},{default:a(({row:n})=>[d(t(n.detail_status||n.status||"-"),1)]),_:1})]),_:1},8,["data"])]),J.value===0?(_(),b("div",et,"当前无运行任务")):P("",!0)]),_:1}),l(ae,{name:"queuing"},{label:a(()=>[e("span",st,[s[19]||(s[19]=d(" 排队中 ",-1)),l(f,{size:"small",effect:"light",type:"warning"},{default:a(()=>[d(t(K.value),1)]),_:1})])]),default:a(()=>[e("div",tt,[l(z,{data:_e.value.slice(0,10),size:"small",style:{width:"100%"}},{default:a(()=>[l(r,{label:"用户","min-width":"120"},{default:a(({row:n})=>[d(t(n.user_username||"-"),1)]),_:1}),l(r,{label:"账号","min-width":"150"},{default:a(({row:n})=>[d(t(n.username||"-"),1)]),_:1}),l(r,{label:"来源",width:"100"},{default:a(({row:n})=>[d(t(Z(n.source)),1)]),_:1}),l(r,{label:"类型",width:"90"},{default:a(({row:n})=>[d(t(n.browse_type||"-"),1)]),_:1}),l(r,{label:"等待",width:"100"},{default:a(({row:n})=>[d(t(n.elapsed_display||"-"),1)]),_:1}),l(r,{label:"状态","min-width":"160"},{default:a(({row:n})=>[d(t(n.detail_status||n.status||"-"),1)]),_:1})]),_:1},8,["data"])]),K.value===0?(_(),b("div",lt,"当前无排队任务")):P("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(j,{gutter:12},{default:a(()=>[l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",at,[e("div",it,[e("div",nt,[l(v,null,{default:a(()=>[l(W(je))]),_:1})]),e("div",ot,[s[20]||(s[20]=e("div",{class:"panel-title"},"邮件报表",-1)),e("div",dt,"成功率 "+t(ye.value)+"%",1)])])]),e("div",ut,[e("div",rt,[e("div",ct,t(i(x.value?.total_sent)),1),s[21]||(s[21]=e("div",{class:"tile-k app-muted"},"总发送",-1))]),e("div",vt,[e("div",_t,t(i(x.value?.total_success)),1),s[22]||(s[22]=e("div",{class:"tile-k app-muted"},"成功",-1))]),e("div",pt,[e("div",ft,t(i(x.value?.total_failed)),1),s[23]||(s[23]=e("div",{class:"tile-k app-muted"},"失败",-1))])]),s[28]||(s[28]=e("div",{class:"divider"},null,-1)),s[29]||(s[29]=e("div",{class:"sub-title"},"类型统计",-1)),e("div",mt,[e("div",ht,[e("div",gt,t(i(x.value?.register_sent)),1),s[24]||(s[24]=e("div",{class:"type-k app-muted"},"注册验证",-1))]),e("div",bt,[e("div",kt,t(i(x.value?.reset_sent)),1),s[25]||(s[25]=e("div",{class:"type-k app-muted"},"密码重置",-1))]),e("div",yt,[e("div",wt,t(i(x.value?.bind_sent)),1),s[26]||(s[26]=e("div",{class:"type-k app-muted"},"邮箱绑定",-1))]),e("div",xt,[e("div",St,t(i(x.value?.task_complete_sent)),1),s[27]||(s[27]=e("div",{class:"type-k app-muted"},"任务完成",-1))])])]),_:1})]),_:1}),l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",Ct,[e("div",Pt,[e("div",Tt,[l(v,null,{default:a(()=>[l(W(Ge))]),_:1})]),e("div",Rt,[s[30]||(s[30]=e("div",{class:"panel-title"},"反馈概览",-1)),e("div",qt,"待处理 "+t(i(A.value?.pending))+" 条",1)])])]),e("div",Lt,[e("div",zt,[e("div",Mt,t(i(A.value?.total)),1),s[31]||(s[31]=e("div",{class:"tile-k app-muted"},"总反馈",-1))]),e("div",Wt,[e("div",At,t(i(A.value?.pending)),1),s[32]||(s[32]=e("div",{class:"tile-k app-muted"},"待处理",-1))]),e("div",Bt,[e("div",Nt,t(i(A.value?.replied)),1),s[33]||(s[33]=e("div",{class:"tile-k app-muted"},"已回复",-1))])]),s[34]||(s[34]=e("div",{class:"divider"},null,-1)),s[35]||(s[35]=e("div",{class:"help app-muted"},"提示:用户的反馈需要及时处理,避免影响活跃度与留存。",-1))]),_:1})]),_:1})]),_:1}),l(j,{gutter:12},{default:a(()=>[l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",Vt,[e("div",It,[e("div",Ut,[l(v,null,{default:a(()=>[l(W(He))]),_:1})]),s[36]||(s[36]=e("div",{class:"head-text"},[e("div",{class:"panel-title"},"系统资源"),e("div",{class:"panel-sub app-muted"},"服务器与容器运行状态")],-1))]),c.value?.uptime?(_(),L(f,{key:0,effect:"light",type:"info"},{default:a(()=>[d("运行 "+t(c.value.uptime),1)]),_:1})):P("",!0)]),e("div",Dt,[e("div",Et,[s[37]||(s[37]=e("div",{class:"resource-k app-muted"},"CPU",-1)),l(q,{percentage:Math.round(h(c.value?.cpu_percent)),status:h(c.value?.cpu_percent)>=90?"exception":h(c.value?.cpu_percent)>=75?"warning":"success"},null,8,["percentage","status"]),e("div",Ft,t(Math.round(h(c.value?.cpu_percent)))+"%",1)]),e("div",$t,[s[38]||(s[38]=e("div",{class:"resource-k app-muted"},"内存",-1)),l(q,{percentage:Math.round(h(c.value?.memory_percent)),status:h(c.value?.memory_percent)>=90?"exception":h(c.value?.memory_percent)>=75?"warning":"success"},null,8,["percentage","status"]),e("div",jt,t(c.value?.memory_used||"-")+" / "+t(c.value?.memory_total||"-")+"("+t(Math.round(h(c.value?.memory_percent)))+"%) ",1)]),e("div",Gt,[s[39]||(s[39]=e("div",{class:"resource-k app-muted"},"磁盘",-1)),l(q,{percentage:Math.round(h(c.value?.disk_percent)),status:h(c.value?.disk_percent)>=90?"exception":h(c.value?.disk_percent)>=75?"warning":"success"},null,8,["percentage","status"]),e("div",Ht,t(c.value?.disk_used||"-")+" / "+t(c.value?.disk_total||"-")+"("+t(Math.round(h(c.value?.disk_percent)))+"%) ",1)])]),s[46]||(s[46]=e("div",{class:"divider"},null,-1)),s[47]||(s[47]=e("div",{class:"sub-title"},"容器",-1)),l(ze,{border:"",column:2,size:"small"},{default:a(()=>[l(M,{label:"状态"},{default:a(()=>[d(t(R.value?.status||"-"),1)]),_:1}),l(M,{label:"容器名"},{default:a(()=>[d(t(R.value?.container_name||"-"),1)]),_:1}),l(M,{label:"运行时长"},{default:a(()=>[d(t(R.value?.uptime||"-"),1)]),_:1}),l(M,{label:"CPU"},{default:a(()=>[d(t(R.value?.cpu_percent||"-"),1)]),_:1}),l(M,{label:"内存"},{default:a(()=>[d(t(R.value?.memory_usage||"-"),1)]),_:1}),l(M,{label:"内存占比"},{default:a(()=>[d(t(R.value?.memory_percent||"-"),1)]),_:1})]),_:1}),s[48]||(s[48]=e("div",{class:"divider"},null,-1)),e("div",Qt,[e("div",Zt,[e("div",Jt,[s[40]||(s[40]=e("div",{class:"panel-title"},"截图线程池",-1)),e("div",Kt," 活跃(有执行环境)"+t(X.value)+" · 忙碌 "+t(me.value)+" · 队列 "+t(Y.value),1)])]),T.value?.server_time_cst?(_(),L(f,{key:0,effect:"light",type:"info"},{default:a(()=>[d(t(T.value.server_time_cst),1)]),_:1})):P("",!0)]),e("div",Ot,[e("div",Xt,[e("div",Yt,t(pe.value),1),s[41]||(s[41]=e("div",{class:"tile-k app-muted"},"总 Worker",-1))]),e("div",el,[e("div",sl,t(X.value),1),s[42]||(s[42]=e("div",{class:"tile-k app-muted"},"活跃(有执行环境)",-1))]),e("div",tl,[e("div",ll,t(fe.value),1),s[43]||(s[43]=e("div",{class:"tile-k app-muted"},"空闲(无任务)",-1))]),e("div",al,[e("div",il,t(Y.value),1),s[44]||(s[44]=e("div",{class:"tile-k app-muted"},"队列等待",-1))])]),s[49]||(s[49]=e("div",{class:"divider"},null,-1)),e("div",nl,[l(z,{data:O.value,size:"small",border:""},{default:a(()=>[l(r,{prop:"worker_id",label:"Worker",width:"90"}),l(r,{label:"状态",width:"90"},{default:a(({row:n})=>[l(f,{type:he(n),effect:"light"},{default:a(()=>[d(t(ge(n)),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"执行",width:"90"},{default:a(({row:n})=>[l(f,{type:be(n),effect:"light"},{default:a(()=>[d(t(ke(n)),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"任务",width:"120"},{default:a(({row:n})=>[e("span",null,t(i(n?.total_tasks)),1),s[45]||(s[45]=e("span",{class:"app-muted"}," / ",-1)),e("span",{class:oe(i(n?.failed_tasks)?"err":"app-muted")},t(i(n?.failed_tasks)),3)]),_:1}),l(r,{prop:"browser_use_count",label:"复用",width:"90"}),l(r,{prop:"last_active_at",label:"最近活跃","min-width":"160"}),l(r,{prop:"browser_created_at",label:"环境创建","min-width":"160"})]),_:1},8,["data"])])]),_:1})]),_:1}),l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",ol,[e("div",dl,[e("div",ul,[l(v,null,{default:a(()=>[l(W(Qe))]),_:1})]),s[50]||(s[50]=e("div",{class:"head-text"},[e("div",{class:"panel-title"},"配置概览"),e("div",{class:"panel-sub app-muted"},"定时 / 代理 / 并发")],-1))])]),e("div",rl,[e("div",cl,[s[53]||(s[53]=e("div",{class:"config-k app-muted"},"定时任务",-1)),e("div",vl,[we.value?(_(),L(f,{key:0,type:"success",effect:"light"},{default:a(()=>[...s[51]||(s[51]=[d("启用",-1)])]),_:1})):(_(),L(f,{key:1,type:"info",effect:"light"},{default:a(()=>[...s[52]||(s[52]=[d("关闭",-1)])]),_:1})),e("span",_l,t(xe.value)+" / "+t(Se.value),1)]),e("div",pl,"日期:"+t(Ce.value||ee.value||"-"),1)]),e("div",fl,[s[56]||(s[56]=e("div",{class:"config-k app-muted"},"代理",-1)),e("div",ml,[se.value?(_(),L(f,{key:0,type:"success",effect:"light"},{default:a(()=>[...s[54]||(s[54]=[d("启用",-1)])]),_:1})):(_(),L(f,{key:1,type:"info",effect:"light"},{default:a(()=>[...s[55]||(s[55]=[d("关闭",-1)])]),_:1})),se.value&&te.value?(_(),b("span",hl,t(te.value),1)):P("",!0)]),e("div",gl,"有效期:"+t(Pe.value||"-")+" 分钟",1)]),e("div",bl,[s[59]||(s[59]=e("div",{class:"config-k app-muted"},"并发",-1)),e("div",kl,[e("span",null,"全局 "+t(le.value||"-"),1),s[57]||(s[57]=e("span",{class:"config-split app-muted"},"/",-1)),e("span",null,"单账号 "+t(Te.value||"-"),1),s[58]||(s[58]=e("span",{class:"config-split app-muted"},"/",-1)),e("span",null,"截图 "+t(Re.value||"-"),1)])])])]),_:1})]),_:1})]),_:1})])}}},Pl=We(yl,[["__scopeId","data-v-5f1c2d43"]]);export{Pl as default}; +import{a as Me,_ as We,i as ie,r as g,c as u,u as Ae,b as Be,t as ne,k as Ne,s as Ve,l as Ie,d as Ue,o as De,e as Ee,f as m,g as b,h as _,j as e,m as l,n as P,p as t,w as a,q as d,F as G,v as Fe,x as W,y as $e,z as je,A as Ge,B as L,C as He,D as oe,E as Qe,G as Ze,H as Je}from"./index-DD_NUvZR.js";import{f as Ke}from"./email-CANx8Tja.js";import{f as Oe,a as Xe,b as Ye,c as es}from"./tasks-MT8n16Cr.js";import{f as ss}from"./system-CM-zje4U.js";async function ts(){const{data:H}=await Me.get("/browser_pool/stats");return H}const ls={class:"page-stack"},as={class:"hero"},is={class:"hero-top"},ns={class:"hero-title"},os={class:"hero-meta app-muted"},ds={key:0},us={key:1,class:"hero-dot"},rs={key:2},cs={class:"hero-actions"},vs={class:"kpi-grid"},_s={class:"kpi-icon"},ps={class:"kpi-body"},fs={class:"kpi-value"},ms={class:"kpi-label"},hs={key:0,class:"kpi-sub app-muted"},gs={class:"panel-head"},bs={class:"head-left"},ks={class:"head-icon tone-purple"},ys={class:"head-text"},ws={class:"panel-sub app-muted"},xs={class:"tile-section"},Ss={class:"tile-grid"},Cs={class:"tile"},Ps={class:"tile-v"},Ts={class:"tile"},Rs={class:"tile-v ok"},qs={class:"tile"},Ls={class:"tile-v err"},zs={class:"tile"},Ms={class:"tile-v"},Ws={class:"tile"},As={class:"tile-v"},Bs={class:"tile-section"},Ns={class:"tile-grid"},Vs={class:"tile"},Is={class:"tile-v"},Us={class:"tile"},Ds={class:"tile-v ok"},Es={class:"tile"},Fs={class:"tile-v err"},$s={class:"tile"},js={class:"tile-v"},Gs={class:"tile"},Hs={class:"tile-v"},Qs={class:"panel-head"},Zs={class:"head-left"},Js={class:"head-icon tone-blue"},Ks={class:"head-text"},Os={class:"panel-sub app-muted"},Xs={class:"tab-label"},Ys={class:"table-wrap"},et={key:0,class:"help app-muted"},st={class:"tab-label"},tt={class:"table-wrap"},lt={key:0,class:"help app-muted"},at={class:"panel-head"},it={class:"head-left"},nt={class:"head-icon tone-cyan"},ot={class:"head-text"},dt={class:"panel-sub app-muted"},ut={class:"tile-grid tile-grid--3"},rt={class:"tile"},ct={class:"tile-v"},vt={class:"tile"},_t={class:"tile-v ok"},pt={class:"tile"},ft={class:"tile-v err"},mt={class:"type-grid"},ht={class:"type-item"},gt={class:"type-v"},bt={class:"type-item"},kt={class:"type-v"},yt={class:"type-item"},wt={class:"type-v"},xt={class:"type-item"},St={class:"type-v"},Ct={class:"panel-head"},Pt={class:"head-left"},Tt={class:"head-icon tone-orange"},Rt={class:"head-text"},qt={class:"panel-sub app-muted"},Lt={class:"tile-grid tile-grid--3"},zt={class:"tile"},Mt={class:"tile-v"},Wt={class:"tile"},At={class:"tile-v warn"},Bt={class:"tile"},Nt={class:"tile-v ok"},Vt={class:"panel-head"},It={class:"head-left"},Ut={class:"head-icon tone-green"},Dt={class:"resource-grid"},Et={class:"resource-item"},Ft={class:"resource-sub app-muted"},$t={class:"resource-item"},jt={class:"resource-sub app-muted"},Gt={class:"resource-item"},Ht={class:"resource-sub app-muted"},Qt={class:"panel-head"},Zt={class:"head-left"},Jt={class:"head-text"},Kt={class:"panel-sub app-muted"},Ot={class:"tile-grid tile-grid--4"},Xt={class:"tile"},Yt={class:"tile-v"},el={class:"tile"},sl={class:"tile-v ok"},tl={class:"tile"},ll={class:"tile-v"},al={class:"tile"},il={class:"tile-v warn"},nl={class:"table-wrap"},ol={class:"panel-head"},dl={class:"head-left"},ul={class:"head-icon tone-red"},rl={class:"config-grid"},cl={class:"config-item"},vl={class:"config-v"},_l={class:"config-inline app-muted"},pl={class:"config-sub app-muted"},fl={class:"config-item"},ml={class:"config-v"},hl={key:2,class:"config-inline app-muted"},gl={class:"config-sub app-muted"},bl={class:"config-item"},kl={class:"config-v"},yl={__name:"ReportPage",setup(H){const de=ie("refreshStats",null),ue=ie("adminStats",null),U=g(!1),D=g(!1),N=g(""),E=g(null),k=g(null),x=g(null),A=g(null),c=g(null),R=g(null),T=g(null),y=g(null),Q=g("running");function re(){try{N.value=new Date().toLocaleString("zh-CN",{hour12:!1,timeZone:"Asia/Shanghai"})}catch{N.value=""}}function i(o){const s=Number(o);return Number.isFinite(s)?s:0}function h(o){const s=String(o??"").trim();if(!s)return 0;const p=s.endsWith("%")?s.slice(0,-1):s,v=Number(p);return!Number.isFinite(v)||v<0?0:v>1e3?1e3:v}function Z(o){const s=String(o??"").trim();return!s||s==="manual"?"手动":s==="scheduled"?"系统定时":s==="batch"?"批量执行":s==="resumed"?"断点续跑":s.startsWith("user_scheduled:")?"用户定时":s}const ce=u(()=>{const o=ue?.value||{},s=i(k.value?.max_concurrent);return[{label:"总用户数",value:i(o.total_users),icon:Ae,tone:"blue"},{label:"今日注册",value:i(o.new_users_today),icon:Be,tone:"green"},{label:"近7天注册",value:i(o.new_users_7d),icon:ne,tone:"purple"},{label:"总账号数",value:i(o.total_accounts),icon:Ne,tone:"cyan"},{label:"VIP用户",value:i(o.vip_users),icon:Ve,tone:"orange"},{label:"运行中任务",value:i(k.value?.running_count),icon:Ie,tone:"green",sub:s?`并发上限 ${s}`:""},{label:"排队任务",value:i(k.value?.queuing_count),icon:Ue,tone:"purple"}]}),w=u(()=>E.value?.today||{}),B=u(()=>E.value?.total||{}),ve=u(()=>k.value?.running||[]),_e=u(()=>k.value?.queuing||[]),J=u(()=>i(k.value?.running_count)),K=u(()=>i(k.value?.queuing_count)),O=u(()=>{const o=T.value?.workers;return Array.isArray(o)?[...o].sort((s,p)=>i(s?.worker_id)-i(p?.worker_id)):[]}),pe=u(()=>i(T.value?.total_workers)),X=u(()=>O.value.filter(o=>!!o?.has_browser).length),fe=u(()=>i(T.value?.idle_workers)),Y=u(()=>i(T.value?.queue_size)),me=u(()=>i(T.value?.active_workers));function he(o){return o?.thread_alive?o?.has_browser?"success":"info":"danger"}function ge(o){return o?.thread_alive?o?.has_browser?"活跃":"空闲":"异常"}function be(o){return o?.thread_alive?o?.idle?"info":"warning":"danger"}function ke(o){return o?.thread_alive?o?.idle?"空闲":"忙碌":"停止"}const V=u(()=>{const o=i(w.value.success_tasks),s=i(w.value.failed_tasks),p=o+s;return p>0?Math.round(o/p*1e3)/10:0}),ye=u(()=>i(x.value?.success_rate)),we=u(()=>(y.value?.schedule_enabled??0)===1),xe=u(()=>y.value?.schedule_time||"-"),Se=u(()=>y.value?.schedule_browse_type||"-"),ee=u(()=>String(y.value?.schedule_weekdays||"").trim()),Ce=u(()=>{const o=ee.value;if(!o)return"";const s={1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"},p=o.split(",").map(v=>v.trim()).filter(Boolean);return p.length?p.map(v=>s[Number(v)]||v).join("、"):o}),se=u(()=>(y.value?.proxy_enabled??0)===1),te=u(()=>y.value?.proxy_api_url||""),Pe=u(()=>i(y.value?.proxy_expire_minutes)),le=u(()=>i(y.value?.max_concurrent_global)),Te=u(()=>i(y.value?.max_concurrent_per_account)),Re=u(()=>i(y.value?.max_screenshot_concurrent)),F=u(()=>{const o=i(k.value?.running_count),s=i(k.value?.queuing_count),p=i(k.value?.max_concurrent);return`运行中 ${o} / 排队 ${s} / 并发上限 ${p||le.value||"-"}`});async function $(o={}){const s=o.showLoading??!0;if(!D.value){D.value=!0,s&&(U.value=!0);try{const[p,v,q,S,C,f,r,z]=await Promise.allSettled([Oe(),Xe(),Ke(),Ze(),Ye(),es(),ts(),ss()]);E.value=p.status==="fulfilled"?p.value:null,k.value=v.status==="fulfilled"?v.value:null,x.value=q.status==="fulfilled"?q.value:null,A.value=S.status==="fulfilled"?S.value:null,c.value=C.status==="fulfilled"?C.value:null,R.value=f.status==="fulfilled"?f.value:null,T.value=r.status==="fulfilled"?r.value:null,y.value=z.status==="fulfilled"?z.value:null,await de?.(),re()}finally{D.value=!1,s&&(U.value=!1)}}}let I=null;function qe(){return $({showLoading:!0})}return De(()=>{$({showLoading:!1}),I=setInterval(()=>$({showLoading:!1}),1e3)}),Ee(()=>{I&&(clearInterval(I),I=null)}),(o,s)=>{const p=m("el-button"),v=m("el-icon"),q=m("el-progress"),S=m("el-card"),C=m("el-col"),f=m("el-tag"),r=m("el-table-column"),z=m("el-table"),ae=m("el-tab-pane"),Le=m("el-tabs"),j=m("el-row"),M=m("el-descriptions-item"),ze=m("el-descriptions");return _(),b("div",ls,[e("div",as,[e("div",is,[e("div",ns,[s[1]||(s[1]=e("div",{class:"hero-title-row"},[e("h2",null,"报表中心")],-1)),e("div",os,[N.value?(_(),b("span",ds,"更新时间:"+t(N.value),1)):P("",!0),c.value?.uptime?(_(),b("span",us,"·")):P("",!0),c.value?.uptime?(_(),b("span",rs,"运行 "+t(c.value.uptime),1)):P("",!0)])]),e("div",cs,[l(p,{type:"primary",plain:"",loading:U.value,onClick:qe},{default:a(()=>[...s[2]||(s[2]=[d("刷新",-1)])]),_:1},8,["loading"])])]),e("div",vs,[(_(!0),b(G,null,Fe(ce.value,n=>(_(),b("div",{key:n.label,class:oe(["kpi-card",`kpi-tone--${n.tone}`])},[e("div",_s,[l(v,null,{default:a(()=>[(_(),L(Je(n.icon)))]),_:2},1024)]),e("div",ps,[e("div",fs,t(n.value),1),e("div",ms,t(n.label),1),n.sub?(_(),b("div",hs,t(n.sub),1)):P("",!0)])],2))),128))])]),l(j,{gutter:12},{default:a(()=>[l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",gs,[e("div",bs,[e("div",ks,[l(v,null,{default:a(()=>[l(W(ne))]),_:1})]),e("div",ys,[s[3]||(s[3]=e("div",{class:"panel-title"},"任务概览",-1)),e("div",ws,[i(w.value.total_tasks)>0?(_(),b(G,{key:0},[d(" 今日成功率 "+t(V.value)+"% · "+t(F.value),1)],64)):(_(),b(G,{key:1},[d("今日无任务 · "+t(F.value),1)],64))])])]),l(q,{type:"circle",percentage:i(w.value.total_tasks)>0?Math.round(V.value):0,width:74,"stroke-width":10,status:i(w.value.total_tasks)===0||V.value>=90?"success":V.value>=60?"warning":"exception"},null,8,["percentage","status"])]),e("div",xs,[s[9]||(s[9]=e("div",{class:"tile-title app-muted"},"今日",-1)),e("div",Ss,[e("div",Cs,[e("div",Ps,t(i(w.value.total_tasks)),1),s[4]||(s[4]=e("div",{class:"tile-k app-muted"},"总任务",-1))]),e("div",Ts,[e("div",Rs,t(i(w.value.success_tasks)),1),s[5]||(s[5]=e("div",{class:"tile-k app-muted"},"成功",-1))]),e("div",qs,[e("div",Ls,t(i(w.value.failed_tasks)),1),s[6]||(s[6]=e("div",{class:"tile-k app-muted"},"失败",-1))]),e("div",zs,[e("div",Ms,t(i(w.value.total_items)),1),s[7]||(s[7]=e("div",{class:"tile-k app-muted"},"浏览内容",-1))]),e("div",Ws,[e("div",As,t(i(w.value.total_attachments)),1),s[8]||(s[8]=e("div",{class:"tile-k app-muted"},"查看附件",-1))])])]),s[16]||(s[16]=e("div",{class:"divider"},null,-1)),e("div",Bs,[s[15]||(s[15]=e("div",{class:"tile-title app-muted"},"累计",-1)),e("div",Ns,[e("div",Vs,[e("div",Is,t(i(B.value.total_tasks)),1),s[10]||(s[10]=e("div",{class:"tile-k app-muted"},"总任务",-1))]),e("div",Us,[e("div",Ds,t(i(B.value.success_tasks)),1),s[11]||(s[11]=e("div",{class:"tile-k app-muted"},"成功",-1))]),e("div",Es,[e("div",Fs,t(i(B.value.failed_tasks)),1),s[12]||(s[12]=e("div",{class:"tile-k app-muted"},"失败",-1))]),e("div",$s,[e("div",js,t(i(B.value.total_items)),1),s[13]||(s[13]=e("div",{class:"tile-k app-muted"},"浏览内容",-1))]),e("div",Gs,[e("div",Hs,t(i(B.value.total_attachments)),1),s[14]||(s[14]=e("div",{class:"tile-k app-muted"},"查看附件",-1))])])])]),_:1})]),_:1}),l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",Qs,[e("div",Zs,[e("div",Js,[l(v,null,{default:a(()=>[l(W($e))]),_:1})]),e("div",Ks,[s[17]||(s[17]=e("div",{class:"panel-title"},"队列监控",-1)),e("div",Os,t(F.value),1)])])]),l(Le,{modelValue:Q.value,"onUpdate:modelValue":s[0]||(s[0]=n=>Q.value=n),class:"queue-tabs",stretch:""},{default:a(()=>[l(ae,{name:"running"},{label:a(()=>[e("span",Xs,[s[18]||(s[18]=d(" 运行中 ",-1)),l(f,{size:"small",effect:"light",type:"success"},{default:a(()=>[d(t(J.value),1)]),_:1})])]),default:a(()=>[e("div",Ys,[l(z,{data:ve.value.slice(0,10),size:"small",style:{width:"100%"}},{default:a(()=>[l(r,{label:"用户","min-width":"120"},{default:a(({row:n})=>[d(t(n.user_username||"-"),1)]),_:1}),l(r,{label:"账号","min-width":"150"},{default:a(({row:n})=>[d(t(n.username||"-"),1)]),_:1}),l(r,{label:"来源",width:"100"},{default:a(({row:n})=>[d(t(Z(n.source)),1)]),_:1}),l(r,{label:"类型",width:"90"},{default:a(({row:n})=>[d(t(n.browse_type||"-"),1)]),_:1}),l(r,{label:"进度",width:"100"},{default:a(({row:n})=>[d(t(n.progress_items)+"/"+t(n.progress_attachments),1)]),_:1}),l(r,{label:"耗时",width:"100"},{default:a(({row:n})=>[d(t(n.elapsed_display||"-"),1)]),_:1}),l(r,{label:"状态","min-width":"140"},{default:a(({row:n})=>[d(t(n.detail_status||n.status||"-"),1)]),_:1})]),_:1},8,["data"])]),J.value===0?(_(),b("div",et,"当前无运行任务")):P("",!0)]),_:1}),l(ae,{name:"queuing"},{label:a(()=>[e("span",st,[s[19]||(s[19]=d(" 排队中 ",-1)),l(f,{size:"small",effect:"light",type:"warning"},{default:a(()=>[d(t(K.value),1)]),_:1})])]),default:a(()=>[e("div",tt,[l(z,{data:_e.value.slice(0,10),size:"small",style:{width:"100%"}},{default:a(()=>[l(r,{label:"用户","min-width":"120"},{default:a(({row:n})=>[d(t(n.user_username||"-"),1)]),_:1}),l(r,{label:"账号","min-width":"150"},{default:a(({row:n})=>[d(t(n.username||"-"),1)]),_:1}),l(r,{label:"来源",width:"100"},{default:a(({row:n})=>[d(t(Z(n.source)),1)]),_:1}),l(r,{label:"类型",width:"90"},{default:a(({row:n})=>[d(t(n.browse_type||"-"),1)]),_:1}),l(r,{label:"等待",width:"100"},{default:a(({row:n})=>[d(t(n.elapsed_display||"-"),1)]),_:1}),l(r,{label:"状态","min-width":"160"},{default:a(({row:n})=>[d(t(n.detail_status||n.status||"-"),1)]),_:1})]),_:1},8,["data"])]),K.value===0?(_(),b("div",lt,"当前无排队任务")):P("",!0)]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),l(j,{gutter:12},{default:a(()=>[l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",at,[e("div",it,[e("div",nt,[l(v,null,{default:a(()=>[l(W(je))]),_:1})]),e("div",ot,[s[20]||(s[20]=e("div",{class:"panel-title"},"邮件报表",-1)),e("div",dt,"成功率 "+t(ye.value)+"%",1)])])]),e("div",ut,[e("div",rt,[e("div",ct,t(i(x.value?.total_sent)),1),s[21]||(s[21]=e("div",{class:"tile-k app-muted"},"总发送",-1))]),e("div",vt,[e("div",_t,t(i(x.value?.total_success)),1),s[22]||(s[22]=e("div",{class:"tile-k app-muted"},"成功",-1))]),e("div",pt,[e("div",ft,t(i(x.value?.total_failed)),1),s[23]||(s[23]=e("div",{class:"tile-k app-muted"},"失败",-1))])]),s[28]||(s[28]=e("div",{class:"divider"},null,-1)),s[29]||(s[29]=e("div",{class:"sub-title"},"类型统计",-1)),e("div",mt,[e("div",ht,[e("div",gt,t(i(x.value?.register_sent)),1),s[24]||(s[24]=e("div",{class:"type-k app-muted"},"注册验证",-1))]),e("div",bt,[e("div",kt,t(i(x.value?.reset_sent)),1),s[25]||(s[25]=e("div",{class:"type-k app-muted"},"密码重置",-1))]),e("div",yt,[e("div",wt,t(i(x.value?.bind_sent)),1),s[26]||(s[26]=e("div",{class:"type-k app-muted"},"邮箱绑定",-1))]),e("div",xt,[e("div",St,t(i(x.value?.task_complete_sent)),1),s[27]||(s[27]=e("div",{class:"type-k app-muted"},"任务完成",-1))])])]),_:1})]),_:1}),l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",Ct,[e("div",Pt,[e("div",Tt,[l(v,null,{default:a(()=>[l(W(Ge))]),_:1})]),e("div",Rt,[s[30]||(s[30]=e("div",{class:"panel-title"},"反馈概览",-1)),e("div",qt,"待处理 "+t(i(A.value?.pending))+" 条",1)])])]),e("div",Lt,[e("div",zt,[e("div",Mt,t(i(A.value?.total)),1),s[31]||(s[31]=e("div",{class:"tile-k app-muted"},"总反馈",-1))]),e("div",Wt,[e("div",At,t(i(A.value?.pending)),1),s[32]||(s[32]=e("div",{class:"tile-k app-muted"},"待处理",-1))]),e("div",Bt,[e("div",Nt,t(i(A.value?.replied)),1),s[33]||(s[33]=e("div",{class:"tile-k app-muted"},"已回复",-1))])]),s[34]||(s[34]=e("div",{class:"divider"},null,-1)),s[35]||(s[35]=e("div",{class:"help app-muted"},"提示:用户的反馈需要及时处理,避免影响活跃度与留存。",-1))]),_:1})]),_:1})]),_:1}),l(j,{gutter:12},{default:a(()=>[l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",Vt,[e("div",It,[e("div",Ut,[l(v,null,{default:a(()=>[l(W(He))]),_:1})]),s[36]||(s[36]=e("div",{class:"head-text"},[e("div",{class:"panel-title"},"系统资源"),e("div",{class:"panel-sub app-muted"},"服务器与容器运行状态")],-1))]),c.value?.uptime?(_(),L(f,{key:0,effect:"light",type:"info"},{default:a(()=>[d("运行 "+t(c.value.uptime),1)]),_:1})):P("",!0)]),e("div",Dt,[e("div",Et,[s[37]||(s[37]=e("div",{class:"resource-k app-muted"},"CPU",-1)),l(q,{percentage:Math.round(h(c.value?.cpu_percent)),status:h(c.value?.cpu_percent)>=90?"exception":h(c.value?.cpu_percent)>=75?"warning":"success"},null,8,["percentage","status"]),e("div",Ft,t(Math.round(h(c.value?.cpu_percent)))+"%",1)]),e("div",$t,[s[38]||(s[38]=e("div",{class:"resource-k app-muted"},"内存",-1)),l(q,{percentage:Math.round(h(c.value?.memory_percent)),status:h(c.value?.memory_percent)>=90?"exception":h(c.value?.memory_percent)>=75?"warning":"success"},null,8,["percentage","status"]),e("div",jt,t(c.value?.memory_used||"-")+" / "+t(c.value?.memory_total||"-")+"("+t(Math.round(h(c.value?.memory_percent)))+"%) ",1)]),e("div",Gt,[s[39]||(s[39]=e("div",{class:"resource-k app-muted"},"磁盘",-1)),l(q,{percentage:Math.round(h(c.value?.disk_percent)),status:h(c.value?.disk_percent)>=90?"exception":h(c.value?.disk_percent)>=75?"warning":"success"},null,8,["percentage","status"]),e("div",Ht,t(c.value?.disk_used||"-")+" / "+t(c.value?.disk_total||"-")+"("+t(Math.round(h(c.value?.disk_percent)))+"%) ",1)])]),s[46]||(s[46]=e("div",{class:"divider"},null,-1)),s[47]||(s[47]=e("div",{class:"sub-title"},"容器",-1)),l(ze,{border:"",column:2,size:"small"},{default:a(()=>[l(M,{label:"状态"},{default:a(()=>[d(t(R.value?.status||"-"),1)]),_:1}),l(M,{label:"容器名"},{default:a(()=>[d(t(R.value?.container_name||"-"),1)]),_:1}),l(M,{label:"运行时长"},{default:a(()=>[d(t(R.value?.uptime||"-"),1)]),_:1}),l(M,{label:"CPU"},{default:a(()=>[d(t(R.value?.cpu_percent||"-"),1)]),_:1}),l(M,{label:"内存"},{default:a(()=>[d(t(R.value?.memory_usage||"-"),1)]),_:1}),l(M,{label:"内存占比"},{default:a(()=>[d(t(R.value?.memory_percent||"-"),1)]),_:1})]),_:1}),s[48]||(s[48]=e("div",{class:"divider"},null,-1)),e("div",Qt,[e("div",Zt,[e("div",Jt,[s[40]||(s[40]=e("div",{class:"panel-title"},"截图线程池",-1)),e("div",Kt," 活跃(有执行环境)"+t(X.value)+" · 忙碌 "+t(me.value)+" · 队列 "+t(Y.value),1)])]),T.value?.server_time_cst?(_(),L(f,{key:0,effect:"light",type:"info"},{default:a(()=>[d(t(T.value.server_time_cst),1)]),_:1})):P("",!0)]),e("div",Ot,[e("div",Xt,[e("div",Yt,t(pe.value),1),s[41]||(s[41]=e("div",{class:"tile-k app-muted"},"总 Worker",-1))]),e("div",el,[e("div",sl,t(X.value),1),s[42]||(s[42]=e("div",{class:"tile-k app-muted"},"活跃(有执行环境)",-1))]),e("div",tl,[e("div",ll,t(fe.value),1),s[43]||(s[43]=e("div",{class:"tile-k app-muted"},"空闲(无任务)",-1))]),e("div",al,[e("div",il,t(Y.value),1),s[44]||(s[44]=e("div",{class:"tile-k app-muted"},"队列等待",-1))])]),s[49]||(s[49]=e("div",{class:"divider"},null,-1)),e("div",nl,[l(z,{data:O.value,size:"small",border:""},{default:a(()=>[l(r,{prop:"worker_id",label:"Worker",width:"90"}),l(r,{label:"状态",width:"90"},{default:a(({row:n})=>[l(f,{type:he(n),effect:"light"},{default:a(()=>[d(t(ge(n)),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"执行",width:"90"},{default:a(({row:n})=>[l(f,{type:be(n),effect:"light"},{default:a(()=>[d(t(ke(n)),1)]),_:2},1032,["type"])]),_:1}),l(r,{label:"任务",width:"120"},{default:a(({row:n})=>[e("span",null,t(i(n?.total_tasks)),1),s[45]||(s[45]=e("span",{class:"app-muted"}," / ",-1)),e("span",{class:oe(i(n?.failed_tasks)?"err":"app-muted")},t(i(n?.failed_tasks)),3)]),_:1}),l(r,{prop:"browser_use_count",label:"复用",width:"90"}),l(r,{prop:"last_active_at",label:"最近活跃","min-width":"160"}),l(r,{prop:"browser_created_at",label:"环境创建","min-width":"160"})]),_:1},8,["data"])])]),_:1})]),_:1}),l(C,{xs:24,lg:12},{default:a(()=>[l(S,{shadow:"never",class:"panel","body-style":{padding:"16px"}},{default:a(()=>[e("div",ol,[e("div",dl,[e("div",ul,[l(v,null,{default:a(()=>[l(W(Qe))]),_:1})]),s[50]||(s[50]=e("div",{class:"head-text"},[e("div",{class:"panel-title"},"配置概览"),e("div",{class:"panel-sub app-muted"},"定时 / 代理 / 并发")],-1))])]),e("div",rl,[e("div",cl,[s[53]||(s[53]=e("div",{class:"config-k app-muted"},"定时任务",-1)),e("div",vl,[we.value?(_(),L(f,{key:0,type:"success",effect:"light"},{default:a(()=>[...s[51]||(s[51]=[d("启用",-1)])]),_:1})):(_(),L(f,{key:1,type:"info",effect:"light"},{default:a(()=>[...s[52]||(s[52]=[d("关闭",-1)])]),_:1})),e("span",_l,t(xe.value)+" / "+t(Se.value),1)]),e("div",pl,"日期:"+t(Ce.value||ee.value||"-"),1)]),e("div",fl,[s[56]||(s[56]=e("div",{class:"config-k app-muted"},"代理",-1)),e("div",ml,[se.value?(_(),L(f,{key:0,type:"success",effect:"light"},{default:a(()=>[...s[54]||(s[54]=[d("启用",-1)])]),_:1})):(_(),L(f,{key:1,type:"info",effect:"light"},{default:a(()=>[...s[55]||(s[55]=[d("关闭",-1)])]),_:1})),se.value&&te.value?(_(),b("span",hl,t(te.value),1)):P("",!0)]),e("div",gl,"有效期:"+t(Pe.value||"-")+" 分钟",1)]),e("div",bl,[s[59]||(s[59]=e("div",{class:"config-k app-muted"},"并发",-1)),e("div",kl,[e("span",null,"全局 "+t(le.value||"-"),1),s[57]||(s[57]=e("span",{class:"config-split app-muted"},"/",-1)),e("span",null,"单账号 "+t(Te.value||"-"),1),s[58]||(s[58]=e("span",{class:"config-split app-muted"},"/",-1)),e("span",null,"截图 "+t(Re.value||"-"),1)])])])]),_:1})]),_:1})]),_:1})])}}},Pl=We(yl,[["__scopeId","data-v-5f1c2d43"]]);export{Pl as default}; diff --git a/static/admin/assets/SecurityPage-QH4U-Y6k.js b/static/admin/assets/SecurityPage-C21EbRZb.js similarity index 99% rename from static/admin/assets/SecurityPage-QH4U-Y6k.js rename to static/admin/assets/SecurityPage-C21EbRZb.js index ffff2c0..6ad3723 100644 --- a/static/admin/assets/SecurityPage-QH4U-Y6k.js +++ b/static/admin/assets/SecurityPage-C21EbRZb.js @@ -1,4 +1,4 @@ -import{a as g,_ as Oe,r as p,c as pe,o as He,f as c,I as Je,g as I,h as u,j as r,m as a,w as l,q as i,F as ce,v as Se,B as y,p as f,J as le,n as fe,K as ne,L as h}from"./index-DYOBdo6M.js";async function Ge(){const{data:d}=await g.get("/admin/security/dashboard");return d}async function Qe(d){const{data:m}=await g.get("/admin/security/threats",{params:d});return m}async function We(){const{data:d}=await g.get("/admin/security/banned-ips");return d}async function Xe(){const{data:d}=await g.get("/admin/security/banned-users");return d}async function Ye(d){const{data:m}=await g.post("/admin/security/ban-ip",d);return m}async function Ze(d){const{data:m}=await g.post("/admin/security/unban-ip",{ip:d});return m}async function et(d){const{data:m}=await g.post("/admin/security/ban-user",d);return m}async function tt(d){const{data:m}=await g.post("/admin/security/unban-user",{user_id:d});return m}async function at(d){const m=encodeURIComponent(String(d||"").trim()),{data:V}=await g.get(`/admin/security/ip-risk/${m}`);return V}async function lt(d){const{data:m}=await g.post("/admin/security/ip-risk/clear",{ip:d});return m}async function nt(d){const m=encodeURIComponent(String(d||"").trim()),{data:V}=await g.get(`/admin/security/user-risk/${m}`);return V}async function it(){const{data:d}=await g.post("/admin/security/cleanup",{});return d}const st={class:"page-stack"},ot={class:"app-page-title"},ut={class:"toolbar"},rt={class:"stat-value"},dt={class:"stat-label"},pt={class:"filters"},ct={class:"table-wrap"},ft={key:1},mt={key:1},vt={class:"mono ellipsis"},_t={class:"ellipsis"},yt={class:"pagination"},bt={class:"page-hint app-muted"},gt={class:"toolbar"},kt={class:"table-wrap"},wt={class:"table-wrap"},ht={class:"filters"},It={class:"filters"},Vt={class:"risk-head"},xt={class:"risk-title"},Ct={key:0},St={key:1},Tt={class:"toolbar"},Pt={class:"table-wrap"},Ut={class:"mono ellipsis"},Bt={class:"ellipsis"},$t={class:"dialog-actions"},me=20,Rt={__name:"SecurityPage",setup(d){const m=p("threats"),V=p(!1),z=p(null),ie=p(!1),E=p([]),A=p(0),S=p(1),$=p(""),R=p(""),D=p(!1),ve=p([]),_e=p([]),ye=p("ips"),T=p(!1),N=p(!1),o=p({kind:"ip",ip:"",user_id:"",reason:"",duration_hours:24,permanent:!1}),K=p("ip"),k=p(!1),O=p(""),H=p(""),_=p(null),w=p(""),Te=["sql_injection","xss","path_traversal","command_injection","ssrf","scanner","bruteforce","csrf","xxe","file_upload"];function se(n){const e=Number(n);return Number.isFinite(e)?e:0}function F(n){const e=Number(n||0);return e>=80?{label:"高",type:"danger"}:e>=50?{label:"中",type:"warning"}:{label:"低",type:"success"}}function be(n){const e=String(n||"").trim();return e||"永久"}function ge(n){const e=[];return n?.field_name&&e.push(`字段: ${n.field_name}`),n?.rule&&e.push(`规则: ${n.rule}`),n?.matched&&e.push(`匹配: ${n.matched}`),n?.value_preview&&e.push(`值: ${n.value_preview}`),e.length?e.join(" · "):"-"}function J(n){const e=String(n?.request_method||"").trim(),s=String(n?.request_path||"").trim();return`${e} ${s}`.trim()||"-"}const Pe=pe(()=>{const n=new Set(Te),e=z.value?.recent_threat_events||[];for(const s of e){const b=String(s?.threat_type||"").trim();b&&n.add(b)}for(const s of E.value||[]){const b=String(s?.threat_type||"").trim();b&&n.add(b)}return Array.from(n).sort((s,b)=>s.localeCompare(b)).map(s=>({label:s,value:s}))}),Ue=pe(()=>{const n=z.value||{};return[{key:"threat_events_24h",label:"最近24小时威胁事件",value:se(n.threat_events_24h)},{key:"banned_ip_count",label:"当前封禁IP数",value:se(n.banned_ip_count)},{key:"banned_user_count",label:"当前封禁用户数",value:se(n.banned_user_count)}]}),Be=pe(()=>Math.max(1,Math.ceil((A.value||0)/me)));async function j(){V.value=!0;try{z.value=await Ge()}catch{z.value=null}finally{V.value=!1}}async function G(){ie.value=!0;try{const n={page:S.value,per_page:me};$.value&&(n.event_type=$.value),R.value&&(n.severity=R.value);const e=await Qe(n);E.value=e?.items||[],A.value=e?.total||0}catch{E.value=[],A.value=0}finally{ie.value=!1}}async function P(){if(!D.value){D.value=!0;try{const[n,e]=await Promise.allSettled([We(),Xe()]);ve.value=n.status==="fulfilled"?n.value?.items||[]:[],_e.value=e.status==="fulfilled"?e.value?.items||[]:[]}finally{D.value=!1}}}async function oe(){await Promise.allSettled([j(),G(),P()])}function $e(){S.value=1,G()}function Re(){$.value="",R.value="",S.value=1,G()}function ke(){o.value={kind:"ip",ip:"",user_id:"",reason:"",duration_hours:24,permanent:!1}}function Q(n="ip",e={}){ke(),o.value.kind=n==="user"?"user":"ip",o.value.kind==="ip"?o.value.ip=String(e.ip||"").trim():o.value.user_id=String(e.user_id||"").trim(),e.reason&&(o.value.reason=String(e.reason||"").trim()),T.value=!0}async function De(){const n=o.value.kind,e=String(o.value.reason||"").trim(),s=!!o.value.permanent,b=Number(o.value.duration_hours||24);if(!e){h.error("原因不能为空");return}if(n==="ip"){const Y=String(o.value.ip||"").trim();if(!Y){h.error("IP不能为空");return}N.value=!0;try{await Ye({ip:Y,reason:e,duration_hours:b,permanent:s}),h.success("IP已封禁"),T.value=!1,await Promise.allSettled([j(),P()])}catch{}finally{N.value=!1}return}const L=String(o.value.user_id||"").trim(),X=Number.parseInt(L,10);if(!Number.isFinite(X)){h.error("用户ID无效");return}N.value=!0;try{await et({user_id:X,reason:e,duration_hours:b,permanent:s}),h.success("用户已封禁"),T.value=!1,await Promise.allSettled([j(),P()])}catch{}finally{N.value=!1}}async function we(n){const e=String(n||"").trim();if(e){try{await ne.confirm(`确定解除对 IP ${e} 的封禁吗?`,"解除封禁",{confirmButtonText:"解除",cancelButtonText:"取消",type:"warning"})}catch{return}try{await Ze(e),h.success("已解除IP封禁"),await Promise.allSettled([j(),P()])}catch{}}}async function he(n){const e=Number.parseInt(String(n||"").trim(),10);if(Number.isFinite(e)){try{await ne.confirm(`确定解除对 用户ID ${e} 的封禁吗?`,"解除封禁",{confirmButtonText:"解除",cancelButtonText:"取消",type:"warning"})}catch{return}try{await tt(e),h.success("已解除用户封禁"),await Promise.allSettled([j(),P()])}catch{}}}function Ie(n){const e=String(n||"").trim();e&&(m.value="risk",K.value="ip",O.value=e,W())}function Ve(n){const e=String(n||"").trim();e&&(m.value="risk",K.value="user",H.value=e,ue())}async function W(){const n=String(O.value||"").trim();if(!n){h.error("请输入IP");return}k.value=!0;try{_.value=await at(n),w.value="ip"}catch{_.value=null,w.value=""}finally{k.value=!1}}async function ue(){const n=String(H.value||"").trim(),e=Number.parseInt(n,10);if(!Number.isFinite(e)){h.error("请输入有效的用户ID");return}k.value=!0;try{_.value=await nt(e),w.value="user"}catch{_.value=null,w.value=""}finally{k.value=!1}}function Ne(){!_.value||!w.value||(w.value==="ip"?Q("ip",{ip:_.value?.ip,reason:"风险查询手动封禁"}):Q("user",{user_id:_.value?.user_id,reason:"风险查询手动封禁"}))}async function Fe(){!_.value||!w.value||(w.value==="ip"?(await we(_.value?.ip),await W()):(await he(_.value?.user_id),await ue()))}async function je(){if(w.value!=="ip")return;const n=String(_.value?.ip||"").trim();if(n){try{await ne.confirm(`确定清除 IP ${n} 的风险分吗? +import{a as g,_ as Oe,r as p,c as pe,o as He,f as c,I as Je,g as I,h as u,j as r,m as a,w as l,q as i,F as ce,v as Se,B as y,p as f,J as le,n as fe,K as ne,L as h}from"./index-DD_NUvZR.js";async function Ge(){const{data:d}=await g.get("/admin/security/dashboard");return d}async function Qe(d){const{data:m}=await g.get("/admin/security/threats",{params:d});return m}async function We(){const{data:d}=await g.get("/admin/security/banned-ips");return d}async function Xe(){const{data:d}=await g.get("/admin/security/banned-users");return d}async function Ye(d){const{data:m}=await g.post("/admin/security/ban-ip",d);return m}async function Ze(d){const{data:m}=await g.post("/admin/security/unban-ip",{ip:d});return m}async function et(d){const{data:m}=await g.post("/admin/security/ban-user",d);return m}async function tt(d){const{data:m}=await g.post("/admin/security/unban-user",{user_id:d});return m}async function at(d){const m=encodeURIComponent(String(d||"").trim()),{data:V}=await g.get(`/admin/security/ip-risk/${m}`);return V}async function lt(d){const{data:m}=await g.post("/admin/security/ip-risk/clear",{ip:d});return m}async function nt(d){const m=encodeURIComponent(String(d||"").trim()),{data:V}=await g.get(`/admin/security/user-risk/${m}`);return V}async function it(){const{data:d}=await g.post("/admin/security/cleanup",{});return d}const st={class:"page-stack"},ot={class:"app-page-title"},ut={class:"toolbar"},rt={class:"stat-value"},dt={class:"stat-label"},pt={class:"filters"},ct={class:"table-wrap"},ft={key:1},mt={key:1},vt={class:"mono ellipsis"},_t={class:"ellipsis"},yt={class:"pagination"},bt={class:"page-hint app-muted"},gt={class:"toolbar"},kt={class:"table-wrap"},wt={class:"table-wrap"},ht={class:"filters"},It={class:"filters"},Vt={class:"risk-head"},xt={class:"risk-title"},Ct={key:0},St={key:1},Tt={class:"toolbar"},Pt={class:"table-wrap"},Ut={class:"mono ellipsis"},Bt={class:"ellipsis"},$t={class:"dialog-actions"},me=20,Rt={__name:"SecurityPage",setup(d){const m=p("threats"),V=p(!1),z=p(null),ie=p(!1),E=p([]),A=p(0),S=p(1),$=p(""),R=p(""),D=p(!1),ve=p([]),_e=p([]),ye=p("ips"),T=p(!1),N=p(!1),o=p({kind:"ip",ip:"",user_id:"",reason:"",duration_hours:24,permanent:!1}),K=p("ip"),k=p(!1),O=p(""),H=p(""),_=p(null),w=p(""),Te=["sql_injection","xss","path_traversal","command_injection","ssrf","scanner","bruteforce","csrf","xxe","file_upload"];function se(n){const e=Number(n);return Number.isFinite(e)?e:0}function F(n){const e=Number(n||0);return e>=80?{label:"高",type:"danger"}:e>=50?{label:"中",type:"warning"}:{label:"低",type:"success"}}function be(n){const e=String(n||"").trim();return e||"永久"}function ge(n){const e=[];return n?.field_name&&e.push(`字段: ${n.field_name}`),n?.rule&&e.push(`规则: ${n.rule}`),n?.matched&&e.push(`匹配: ${n.matched}`),n?.value_preview&&e.push(`值: ${n.value_preview}`),e.length?e.join(" · "):"-"}function J(n){const e=String(n?.request_method||"").trim(),s=String(n?.request_path||"").trim();return`${e} ${s}`.trim()||"-"}const Pe=pe(()=>{const n=new Set(Te),e=z.value?.recent_threat_events||[];for(const s of e){const b=String(s?.threat_type||"").trim();b&&n.add(b)}for(const s of E.value||[]){const b=String(s?.threat_type||"").trim();b&&n.add(b)}return Array.from(n).sort((s,b)=>s.localeCompare(b)).map(s=>({label:s,value:s}))}),Ue=pe(()=>{const n=z.value||{};return[{key:"threat_events_24h",label:"最近24小时威胁事件",value:se(n.threat_events_24h)},{key:"banned_ip_count",label:"当前封禁IP数",value:se(n.banned_ip_count)},{key:"banned_user_count",label:"当前封禁用户数",value:se(n.banned_user_count)}]}),Be=pe(()=>Math.max(1,Math.ceil((A.value||0)/me)));async function j(){V.value=!0;try{z.value=await Ge()}catch{z.value=null}finally{V.value=!1}}async function G(){ie.value=!0;try{const n={page:S.value,per_page:me};$.value&&(n.event_type=$.value),R.value&&(n.severity=R.value);const e=await Qe(n);E.value=e?.items||[],A.value=e?.total||0}catch{E.value=[],A.value=0}finally{ie.value=!1}}async function P(){if(!D.value){D.value=!0;try{const[n,e]=await Promise.allSettled([We(),Xe()]);ve.value=n.status==="fulfilled"?n.value?.items||[]:[],_e.value=e.status==="fulfilled"?e.value?.items||[]:[]}finally{D.value=!1}}}async function oe(){await Promise.allSettled([j(),G(),P()])}function $e(){S.value=1,G()}function Re(){$.value="",R.value="",S.value=1,G()}function ke(){o.value={kind:"ip",ip:"",user_id:"",reason:"",duration_hours:24,permanent:!1}}function Q(n="ip",e={}){ke(),o.value.kind=n==="user"?"user":"ip",o.value.kind==="ip"?o.value.ip=String(e.ip||"").trim():o.value.user_id=String(e.user_id||"").trim(),e.reason&&(o.value.reason=String(e.reason||"").trim()),T.value=!0}async function De(){const n=o.value.kind,e=String(o.value.reason||"").trim(),s=!!o.value.permanent,b=Number(o.value.duration_hours||24);if(!e){h.error("原因不能为空");return}if(n==="ip"){const Y=String(o.value.ip||"").trim();if(!Y){h.error("IP不能为空");return}N.value=!0;try{await Ye({ip:Y,reason:e,duration_hours:b,permanent:s}),h.success("IP已封禁"),T.value=!1,await Promise.allSettled([j(),P()])}catch{}finally{N.value=!1}return}const L=String(o.value.user_id||"").trim(),X=Number.parseInt(L,10);if(!Number.isFinite(X)){h.error("用户ID无效");return}N.value=!0;try{await et({user_id:X,reason:e,duration_hours:b,permanent:s}),h.success("用户已封禁"),T.value=!1,await Promise.allSettled([j(),P()])}catch{}finally{N.value=!1}}async function we(n){const e=String(n||"").trim();if(e){try{await ne.confirm(`确定解除对 IP ${e} 的封禁吗?`,"解除封禁",{confirmButtonText:"解除",cancelButtonText:"取消",type:"warning"})}catch{return}try{await Ze(e),h.success("已解除IP封禁"),await Promise.allSettled([j(),P()])}catch{}}}async function he(n){const e=Number.parseInt(String(n||"").trim(),10);if(Number.isFinite(e)){try{await ne.confirm(`确定解除对 用户ID ${e} 的封禁吗?`,"解除封禁",{confirmButtonText:"解除",cancelButtonText:"取消",type:"warning"})}catch{return}try{await tt(e),h.success("已解除用户封禁"),await Promise.allSettled([j(),P()])}catch{}}}function Ie(n){const e=String(n||"").trim();e&&(m.value="risk",K.value="ip",O.value=e,W())}function Ve(n){const e=String(n||"").trim();e&&(m.value="risk",K.value="user",H.value=e,ue())}async function W(){const n=String(O.value||"").trim();if(!n){h.error("请输入IP");return}k.value=!0;try{_.value=await at(n),w.value="ip"}catch{_.value=null,w.value=""}finally{k.value=!1}}async function ue(){const n=String(H.value||"").trim(),e=Number.parseInt(n,10);if(!Number.isFinite(e)){h.error("请输入有效的用户ID");return}k.value=!0;try{_.value=await nt(e),w.value="user"}catch{_.value=null,w.value=""}finally{k.value=!1}}function Ne(){!_.value||!w.value||(w.value==="ip"?Q("ip",{ip:_.value?.ip,reason:"风险查询手动封禁"}):Q("user",{user_id:_.value?.user_id,reason:"风险查询手动封禁"}))}async function Fe(){!_.value||!w.value||(w.value==="ip"?(await we(_.value?.ip),await W()):(await he(_.value?.user_id),await ue()))}async function je(){if(w.value!=="ip")return;const n=String(_.value?.ip||"").trim();if(n){try{await ne.confirm(`确定清除 IP ${n} 的风险分吗? 清除风险分不会删除威胁历史,也不会解除封禁。`,"清除风险分",{confirmButtonText:"清除",cancelButtonText:"取消",type:"warning"})}catch{return}if(!k.value){k.value=!0;try{await lt(n),h.success("IP风险分已清零")}catch{}finally{k.value=!1}await W()}}}const re=p(!1);async function Le(){try{await ne.confirm(`确定清理过期封禁记录,并衰减风险分吗? diff --git a/static/admin/assets/SettingsPage-OTetedw0.js b/static/admin/assets/SettingsPage-BM2ulFCL.js similarity index 98% rename from static/admin/assets/SettingsPage-OTetedw0.js rename to static/admin/assets/SettingsPage-BM2ulFCL.js index 37e3e4e..a4927e0 100644 --- a/static/admin/assets/SettingsPage-OTetedw0.js +++ b/static/admin/assets/SettingsPage-BM2ulFCL.js @@ -1 +1 @@ -import{a as m,_ as B,r as p,f as u,g as T,h as P,j as r,m as a,w as l,q as x,L as i,K as b}from"./index-DYOBdo6M.js";async function C(o){const{data:s}=await m.put("/admin/username",{new_username:o});return s}async function S(o){const{data:s}=await m.put("/admin/password",{new_password:o});return s}async function U(){const{data:o}=await m.post("/logout");return o}const A={class:"page-stack"},E={__name:"SettingsPage",setup(o){const s=p(""),d=p(""),n=p(!1);function k(t){const e=String(t||"");return e.length<8?{ok:!1,message:"密码长度至少8位"}:e.length>128?{ok:!1,message:"密码长度不能超过128个字符"}:!/[a-zA-Z]/.test(e)||!/\d/.test(e)?{ok:!1,message:"密码必须包含字母和数字"}:{ok:!0,message:""}}async function f(){try{await U()}catch{}finally{window.location.href="/yuyx"}}async function V(){const t=s.value.trim();if(!t){i.error("请输入新用户名");return}try{await b.confirm(`确定将管理员用户名修改为「${t}」吗?修改后需要重新登录。`,"修改用户名",{confirmButtonText:"确认修改",cancelButtonText:"取消",type:"warning"})}catch{return}n.value=!0;try{await C(t),i.success("用户名修改成功,请重新登录"),s.value="",setTimeout(f,1200)}catch{}finally{n.value=!1}}async function h(){const t=d.value;if(!t){i.error("请输入新密码");return}const e=k(t);if(!e.ok){i.error(e.message);return}try{await b.confirm("确定修改管理员密码吗?修改后需要重新登录。","修改密码",{confirmButtonText:"确认修改",cancelButtonText:"取消",type:"warning"})}catch{return}n.value=!0;try{await S(t),i.success("密码修改成功,请重新登录"),d.value="",setTimeout(f,1200)}catch{}finally{n.value=!1}}return(t,e)=>{const g=u("el-input"),w=u("el-form-item"),v=u("el-form"),y=u("el-button"),_=u("el-card");return P(),T("div",A,[e[7]||(e[7]=r("div",{class:"app-page-title"},[r("h2",null,"设置"),r("span",{class:"app-muted"},"管理员账号设置")],-1)),a(_,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:l(()=>[e[3]||(e[3]=r("h3",{class:"section-title"},"修改管理员用户名",-1)),a(v,{"label-width":"120px"},{default:l(()=>[a(w,{label:"新用户名"},{default:l(()=>[a(g,{modelValue:s.value,"onUpdate:modelValue":e[0]||(e[0]=c=>s.value=c),placeholder:"输入新用户名",disabled:n.value},null,8,["modelValue","disabled"])]),_:1})]),_:1}),a(y,{type:"primary",loading:n.value,onClick:V},{default:l(()=>[...e[2]||(e[2]=[x("保存用户名",-1)])]),_:1},8,["loading"])]),_:1}),a(_,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:l(()=>[e[5]||(e[5]=r("h3",{class:"section-title"},"修改管理员密码",-1)),a(v,{"label-width":"120px"},{default:l(()=>[a(w,{label:"新密码"},{default:l(()=>[a(g,{modelValue:d.value,"onUpdate:modelValue":e[1]||(e[1]=c=>d.value=c),type:"password","show-password":"",placeholder:"输入新密码",disabled:n.value},null,8,["modelValue","disabled"])]),_:1})]),_:1}),a(y,{type:"primary",loading:n.value,onClick:h},{default:l(()=>[...e[4]||(e[4]=[x("保存密码",-1)])]),_:1},8,["loading"]),e[6]||(e[6]=r("div",{class:"help"},"建议使用更强密码(至少8位且包含字母与数字)。",-1))]),_:1})])}}},M=B(E,[["__scopeId","data-v-12a26d11"]]);export{M as default}; +import{a as m,_ as B,r as p,f as u,g as T,h as P,j as r,m as a,w as l,q as x,L as i,K as b}from"./index-DD_NUvZR.js";async function C(o){const{data:s}=await m.put("/admin/username",{new_username:o});return s}async function S(o){const{data:s}=await m.put("/admin/password",{new_password:o});return s}async function U(){const{data:o}=await m.post("/logout");return o}const A={class:"page-stack"},E={__name:"SettingsPage",setup(o){const s=p(""),d=p(""),n=p(!1);function k(t){const e=String(t||"");return e.length<8?{ok:!1,message:"密码长度至少8位"}:e.length>128?{ok:!1,message:"密码长度不能超过128个字符"}:!/[a-zA-Z]/.test(e)||!/\d/.test(e)?{ok:!1,message:"密码必须包含字母和数字"}:{ok:!0,message:""}}async function f(){try{await U()}catch{}finally{window.location.href="/yuyx"}}async function V(){const t=s.value.trim();if(!t){i.error("请输入新用户名");return}try{await b.confirm(`确定将管理员用户名修改为「${t}」吗?修改后需要重新登录。`,"修改用户名",{confirmButtonText:"确认修改",cancelButtonText:"取消",type:"warning"})}catch{return}n.value=!0;try{await C(t),i.success("用户名修改成功,请重新登录"),s.value="",setTimeout(f,1200)}catch{}finally{n.value=!1}}async function h(){const t=d.value;if(!t){i.error("请输入新密码");return}const e=k(t);if(!e.ok){i.error(e.message);return}try{await b.confirm("确定修改管理员密码吗?修改后需要重新登录。","修改密码",{confirmButtonText:"确认修改",cancelButtonText:"取消",type:"warning"})}catch{return}n.value=!0;try{await S(t),i.success("密码修改成功,请重新登录"),d.value="",setTimeout(f,1200)}catch{}finally{n.value=!1}}return(t,e)=>{const g=u("el-input"),w=u("el-form-item"),v=u("el-form"),y=u("el-button"),_=u("el-card");return P(),T("div",A,[e[7]||(e[7]=r("div",{class:"app-page-title"},[r("h2",null,"设置"),r("span",{class:"app-muted"},"管理员账号设置")],-1)),a(_,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:l(()=>[e[3]||(e[3]=r("h3",{class:"section-title"},"修改管理员用户名",-1)),a(v,{"label-width":"120px"},{default:l(()=>[a(w,{label:"新用户名"},{default:l(()=>[a(g,{modelValue:s.value,"onUpdate:modelValue":e[0]||(e[0]=c=>s.value=c),placeholder:"输入新用户名",disabled:n.value},null,8,["modelValue","disabled"])]),_:1})]),_:1}),a(y,{type:"primary",loading:n.value,onClick:V},{default:l(()=>[...e[2]||(e[2]=[x("保存用户名",-1)])]),_:1},8,["loading"])]),_:1}),a(_,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:l(()=>[e[5]||(e[5]=r("h3",{class:"section-title"},"修改管理员密码",-1)),a(v,{"label-width":"120px"},{default:l(()=>[a(w,{label:"新密码"},{default:l(()=>[a(g,{modelValue:d.value,"onUpdate:modelValue":e[1]||(e[1]=c=>d.value=c),type:"password","show-password":"",placeholder:"输入新密码",disabled:n.value},null,8,["modelValue","disabled"])]),_:1})]),_:1}),a(y,{type:"primary",loading:n.value,onClick:h},{default:l(()=>[...e[4]||(e[4]=[x("保存密码",-1)])]),_:1},8,["loading"]),e[6]||(e[6]=r("div",{class:"help"},"建议使用更强密码(至少8位且包含字母与数字)。",-1))]),_:1})])}}},M=B(E,[["__scopeId","data-v-12a26d11"]]);export{M as default}; diff --git a/static/admin/assets/SystemPage-5z0b5M8t.css b/static/admin/assets/SystemPage-5z0b5M8t.css new file mode 100644 index 0000000..6cd5976 --- /dev/null +++ b/static/admin/assets/SystemPage-5z0b5M8t.css @@ -0,0 +1 @@ +.page-stack[data-v-5af0394e]{display:flex;flex-direction:column;gap:12px}.card[data-v-5af0394e]{border-radius:var(--app-radius);border:1px solid var(--app-border)}.section-title[data-v-5af0394e]{margin:0 0 12px;font-size:14px;font-weight:800}.kdocs-qr[data-v-5af0394e]{display:flex;flex-direction:column;align-items:center;gap:12px}.kdocs-qr img[data-v-5af0394e]{width:260px;max-width:100%;border:1px solid var(--app-border);border-radius:8px;padding:8px;background:#fff}.help[data-v-5af0394e]{margin-top:6px;font-size:12px;color:var(--app-muted)}.row-actions[data-v-5af0394e]{display:flex;flex-wrap:wrap;gap:10px} diff --git a/static/admin/assets/SystemPage-BgaIr3zp.css b/static/admin/assets/SystemPage-BgaIr3zp.css deleted file mode 100644 index d2f79fa..0000000 --- a/static/admin/assets/SystemPage-BgaIr3zp.css +++ /dev/null @@ -1 +0,0 @@ -.page-stack[data-v-2e6346ad]{display:flex;flex-direction:column;gap:12px}.card[data-v-2e6346ad]{border-radius:var(--app-radius);border:1px solid var(--app-border)}.section-title[data-v-2e6346ad]{margin:0 0 12px;font-size:14px;font-weight:800}.kdocs-qr[data-v-2e6346ad]{display:flex;flex-direction:column;align-items:center;gap:12px}.kdocs-qr img[data-v-2e6346ad]{width:260px;max-width:100%;border:1px solid var(--app-border);border-radius:8px;padding:8px;background:#fff}.help[data-v-2e6346ad]{margin-top:6px;font-size:12px;color:var(--app-muted)}.row-actions[data-v-2e6346ad]{display:flex;flex-wrap:wrap;gap:10px} diff --git a/static/admin/assets/SystemPage-D5R5QCv7.js b/static/admin/assets/SystemPage-D5R5QCv7.js new file mode 100644 index 0000000..5ecf813 --- /dev/null +++ b/static/admin/assets/SystemPage-D5R5QCv7.js @@ -0,0 +1,17 @@ +import{f as he,u as X,e as Ie}from"./system-CM-zje4U.js";import{a as C,_ as Se,r as n,c as Ne,U as Ae,T as Be,o as Te,f as c,I as De,J as Ke,h as _,g as k,j as s,m as l,w as o,q as m,B as Y,n as U,F as Ee,v as $e,p as le,K as Z,L as r}from"./index-DD_NUvZR.js";async function ae(p={}){const{data:v}=await C.get("/kdocs/status",{params:p});return v}async function qe(p={}){const v={force:!0,...p},{data:g}=await C.post("/kdocs/qr",v);return g}async function Fe(){const{data:p}=await C.post("/kdocs/clear-login",{});return p}async function He(){const{data:p}=await C.get("/proxy/config");return p}async function Le(p){const{data:v}=await C.post("/proxy/config",p);return v}async function Qe(p){const{data:v}=await C.post("/proxy/test",p);return v}const Me={class:"page-stack"},je={class:"app-page-title"},Oe={class:"row-actions"},ze={class:"row-actions"},Re={class:"row-actions"},We={class:"help"},Ge={key:0},Je={key:1},Xe={key:2},Ye={key:3},Ze={class:"kdocs-qr"},el=["src"],ll={__name:"SystemPage",setup(p){const v=n(!1),g=n(2),B=n(1),T=n(3),f=n(!1),D=n("02:00"),P=n("应读"),b=n(["1","2","3","4","5","6","7"]),h=n(!0),I=n(!1),x=n(""),K=n(3),E=n(!1),$=n(10),q=n(7),F=n(!1),H=n(""),L=n(""),Q=n(""),M=n(0),j=n("A"),O=n("D"),z=n(!1),R=n(""),y=n({}),S=n(!1),W=n(""),te=n(!1);let G=null;const se=[{label:"周一",value:"1"},{label:"周二",value:"2"},{label:"周三",value:"3"},{label:"周四",value:"4"},{label:"周五",value:"5"},{label:"周六",value:"6"},{label:"周日",value:"7"}],de={1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"},re=Ne(()=>(b.value||[]).map(a=>de[Number(a)]||a).join("、"));function ie(a){return String(a)==="注册前未读"?"注册前未读":"应读"}async function oe(){v.value=!0;try{const[a,e,d]=await Promise.all([he(),He(),ae().catch(()=>({}))]);g.value=a.max_concurrent_global??2,B.value=a.max_concurrent_per_account??1,T.value=a.max_screenshot_concurrent??3,f.value=(a.schedule_enabled??0)===1,D.value=a.schedule_time||"02:00",P.value=ie(a.schedule_browse_type);const i=String(a.schedule_weekdays||"1,2,3,4,5,6,7").split(",").map(u=>u.trim()).filter(Boolean);b.value=i.length?i:["1","2","3","4","5","6","7"],h.value=(a.enable_screenshot??1)===1,E.value=(a.auto_approve_enabled??0)===1,$.value=a.auto_approve_hourly_limit??10,q.value=a.auto_approve_vip_days??7,I.value=(e.proxy_enabled??0)===1,x.value=e.proxy_api_url||"",K.value=e.proxy_expire_minutes??3,F.value=(a.kdocs_enabled??0)===1,H.value=a.kdocs_doc_url||"",L.value=a.kdocs_default_unit||"",Q.value=a.kdocs_sheet_name||"",M.value=a.kdocs_sheet_index??0,j.value=(a.kdocs_unit_column||"A").toUpperCase(),O.value=(a.kdocs_image_column||"D").toUpperCase(),z.value=(a.kdocs_admin_notify_enabled??0)===1,R.value=a.kdocs_admin_notify_email||"",y.value=d||{}}catch{}finally{v.value=!1}}async function me(){const a={max_concurrent_global:Number(g.value),max_concurrent_per_account:Number(B.value),max_screenshot_concurrent:Number(T.value)};try{await Z.confirm(`确定更新并发配置吗? + +全局并发数: ${a.max_concurrent_global} +单账号并发数: ${a.max_concurrent_per_account} +截图并发数: ${a.max_screenshot_concurrent}`,"保存并发配置",{confirmButtonText:"保存",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await X(a);r.success(e?.message||"并发配置已更新")}catch{}}async function ce(){if(f.value&&(!b.value||b.value.length===0)){r.error("请至少选择一个执行日期");return}const a={schedule_enabled:f.value?1:0,schedule_time:D.value,schedule_browse_type:P.value,schedule_weekdays:(b.value||[]).join(","),enable_screenshot:h.value?1:0},e=h.value?"截图":"不截图",d=f.value?`确定启用定时任务吗? + +执行时间: 每天 ${a.schedule_time} +执行日期: ${re.value} +浏览类型: ${a.schedule_browse_type} +截图: ${e} + +系统将自动执行所有账号的浏览任务`:"确定关闭定时任务吗?";try{await Z.confirm(d,"保存定时任务",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"})}catch{return}try{const i=await X(a);r.success(i?.message||(f.value?"定时任务已启用":"定时任务已关闭"))}catch{}}async function pe(){const a=`确定要立即执行定时任务吗? + +这将执行所有账号的浏览任务 +浏览类型: ${P.value} + +注意:无视定时时间和执行日期配置,立即开始执行!`;try{await Z.confirm(a,"立即执行",{confirmButtonText:"立即执行",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await Ie();r.success(e?.message||"定时任务已开始执行")}catch{}}async function ve(){if(I.value&&!x.value.trim()){r.error("启用代理时,API地址不能为空");return}const a={proxy_enabled:I.value?1:0,proxy_api_url:x.value.trim(),proxy_expire_minutes:Number(K.value)||3};try{const e=await Le(a);r.success(e?.message||"代理配置已更新")}catch{}}async function fe(){const a={kdocs_enabled:F.value?1:0,kdocs_doc_url:H.value.trim(),kdocs_default_unit:L.value.trim(),kdocs_sheet_name:Q.value.trim(),kdocs_sheet_index:Number(M.value)||0,kdocs_unit_column:j.value.trim().toUpperCase(),kdocs_image_column:O.value.trim().toUpperCase(),kdocs_admin_notify_enabled:z.value?1:0,kdocs_admin_notify_email:R.value.trim()};try{const e=await X(a);r.success(e?.message||"表格配置已更新")}catch{}}async function ee(){try{y.value=await ae({live:1})}catch{}}async function ne(){try{const a=await ae({live:1});y.value=a,(a?.logged_in===!0||a?.last_login_ok===!0)&&(r.success("扫码成功,已登录"),S.value=!1,J())}catch{}}function _e(){J(),te.value=!0,ne(),G=setInterval(ne,2e3)}function J(){G&&(clearInterval(G),G=null),te.value=!1}async function ye(){try{const a=await qe();if(W.value=a?.qr_image||"",!W.value){if(a?.logged_in){r.success("当前已登录,无需扫码"),await ee();return}r.warning("未获取到二维码");return}S.value=!0}catch{}}async function be(){try{await Fe(),r.success("登录态已清除"),await ee()}catch{}}Ae(S,a=>{a?_e():J()}),Be(()=>{J()});async function xe(){if(!x.value.trim()){r.error("请先输入代理API地址");return}try{const a=await Qe({api_url:x.value.trim()});await Z.alert(a?.message||"测试完成","代理测试",{confirmButtonText:"知道了"})}catch{}}async function Ve(){const a=Number($.value),e=Number(q.value);if(!Number.isFinite(a)||a<1){r.error("每小时注册限制必须大于0");return}if(!Number.isFinite(e)||e<0){r.error("VIP天数不能为负数");return}const d={auto_approve_enabled:E.value?1:0,auto_approve_hourly_limit:a,auto_approve_vip_days:e};try{const i=await X(d);r.success(i?.message||"注册设置已保存")}catch{}}return Te(oe),(a,e)=>{const d=c("el-button"),i=c("el-input-number"),u=c("el-form-item"),N=c("el-form"),A=c("el-card"),w=c("el-switch"),ke=c("el-time-picker"),ue=c("el-option"),ge=c("el-select"),we=c("el-checkbox"),Ue=c("el-checkbox-group"),V=c("el-input"),Ce=c("el-dialog"),Pe=De("loading");return Ke((_(),k("div",Me,[s("div",je,[e[25]||(e[25]=s("h2",null,"系统配置",-1)),s("div",null,[l(d,{onClick:oe},{default:o(()=>[...e[24]||(e[24]=[m("刷新",-1)])]),_:1})])]),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[30]||(e[30]=s("h3",{class:"section-title"},"系统并发配置",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"全局最大并发数"},{default:o(()=>[l(i,{modelValue:g.value,"onUpdate:modelValue":e[0]||(e[0]=t=>g.value=t),min:1,max:200},null,8,["modelValue"]),e[26]||(e[26]=s("div",{class:"help"},"同时最多运行的账号数量(浏览任务使用 API 方式,资源占用较低)。",-1))]),_:1}),l(u,{label:"单账号最大并发数"},{default:o(()=>[l(i,{modelValue:B.value,"onUpdate:modelValue":e[1]||(e[1]=t=>B.value=t),min:1,max:50},null,8,["modelValue"]),e[27]||(e[27]=s("div",{class:"help"},"单个账号同时最多运行的任务数量(建议设为 1)。",-1))]),_:1}),l(u,{label:"截图最大并发数"},{default:o(()=>[l(i,{modelValue:T.value,"onUpdate:modelValue":e[2]||(e[2]=t=>T.value=t),min:1,max:50},null,8,["modelValue"]),e[28]||(e[28]=s("div",{class:"help"},"同时进行截图的最大数量(wkhtmltoimage 资源占用较低,可按需提高)。",-1))]),_:1})]),_:1}),l(d,{type:"primary",onClick:me},{default:o(()=>[...e[29]||(e[29]=[m("保存并发配置",-1)])]),_:1})]),_:1}),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[35]||(e[35]=s("h3",{class:"section-title"},"定时任务配置",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"启用定时任务"},{default:o(()=>[l(w,{modelValue:f.value,"onUpdate:modelValue":e[3]||(e[3]=t=>f.value=t)},null,8,["modelValue"]),e[31]||(e[31]=s("div",{class:"help"},"开启后,系统会按计划自动执行浏览任务。",-1))]),_:1}),f.value?(_(),Y(u,{key:0,label:"执行时间"},{default:o(()=>[l(ke,{modelValue:D.value,"onUpdate:modelValue":e[4]||(e[4]=t=>D.value=t),"value-format":"HH:mm",format:"HH:mm"},null,8,["modelValue"])]),_:1})):U("",!0),f.value?(_(),Y(u,{key:1,label:"浏览类型"},{default:o(()=>[l(ge,{modelValue:P.value,"onUpdate:modelValue":e[5]||(e[5]=t=>P.value=t),style:{width:"220px"}},{default:o(()=>[l(ue,{label:"注册前未读",value:"注册前未读"}),l(ue,{label:"应读",value:"应读"})]),_:1},8,["modelValue"])]),_:1})):U("",!0),f.value?(_(),Y(u,{key:2,label:"执行日期"},{default:o(()=>[l(Ue,{modelValue:b.value,"onUpdate:modelValue":e[6]||(e[6]=t=>b.value=t)},{default:o(()=>[(_(),k(Ee,null,$e(se,t=>l(we,{key:t.value,label:t.value},{default:o(()=>[m(le(t.label),1)]),_:2},1032,["label"])),64))]),_:1},8,["modelValue"])]),_:1})):U("",!0),f.value?(_(),Y(u,{key:3,label:"定时任务截图"},{default:o(()=>[l(w,{modelValue:h.value,"onUpdate:modelValue":e[7]||(e[7]=t=>h.value=t)},null,8,["modelValue"]),e[32]||(e[32]=s("div",{class:"help"},"开启后,定时任务执行时会生成截图。",-1))]),_:1})):U("",!0)]),_:1}),s("div",Oe,[l(d,{type:"primary",onClick:ce},{default:o(()=>[...e[33]||(e[33]=[m("保存定时任务配置",-1)])]),_:1}),l(d,{type:"success",plain:"",onClick:pe},{default:o(()=>[...e[34]||(e[34]=[m("立即执行",-1)])]),_:1})])]),_:1}),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[40]||(e[40]=s("h3",{class:"section-title"},"代理设置",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"启用IP代理"},{default:o(()=>[l(w,{modelValue:I.value,"onUpdate:modelValue":e[8]||(e[8]=t=>I.value=t)},null,8,["modelValue"]),e[36]||(e[36]=s("div",{class:"help"},"开启后,所有浏览任务将通过代理IP访问(失败自动重试3次)。",-1))]),_:1}),l(u,{label:"代理API地址"},{default:o(()=>[l(V,{modelValue:x.value,"onUpdate:modelValue":e[9]||(e[9]=t=>x.value=t),placeholder:"http://api.xxx/Tools/IP.ashx?..."},null,8,["modelValue"]),e[37]||(e[37]=s("div",{class:"help"},"API 应返回:IP:PORT(例如 123.45.67.89:8888)。",-1))]),_:1}),l(u,{label:"代理有效期(分钟)"},{default:o(()=>[l(i,{modelValue:K.value,"onUpdate:modelValue":e[10]||(e[10]=t=>K.value=t),min:1,max:60},null,8,["modelValue"])]),_:1})]),_:1}),s("div",ze,[l(d,{type:"primary",onClick:ve},{default:o(()=>[...e[38]||(e[38]=[m("保存代理配置",-1)])]),_:1}),l(d,{onClick:xe},{default:o(()=>[...e[39]||(e[39]=[m("测试代理",-1)])]),_:1})])]),_:1}),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[43]||(e[43]=s("h3",{class:"section-title"},"注册设置",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"注册赠送VIP"},{default:o(()=>[l(w,{modelValue:E.value,"onUpdate:modelValue":e[11]||(e[11]=t=>E.value=t)},null,8,["modelValue"]),e[41]||(e[41]=s("div",{class:"help"},"开启后,新用户注册成功后将赠送下方设置的VIP天数(注册已默认无需审核)。",-1))]),_:1}),l(u,{label:"每小时注册限制"},{default:o(()=>[l(i,{modelValue:$.value,"onUpdate:modelValue":e[12]||(e[12]=t=>$.value=t),min:1,max:1e4},null,8,["modelValue"])]),_:1}),l(u,{label:"注册赠送VIP天数"},{default:o(()=>[l(i,{modelValue:q.value,"onUpdate:modelValue":e[13]||(e[13]=t=>q.value=t),min:0,max:999999},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{type:"primary",onClick:Ve},{default:o(()=>[...e[42]||(e[42]=[m("保存注册设置",-1)])]),_:1})]),_:1}),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[51]||(e[51]=s("h3",{class:"section-title"},"金山文档上传",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"启用上传"},{default:o(()=>[l(w,{modelValue:F.value,"onUpdate:modelValue":e[14]||(e[14]=t=>F.value=t)},null,8,["modelValue"]),e[44]||(e[44]=s("div",{class:"help"},"表格结构变化时可先关闭,避免错误上传。",-1))]),_:1}),l(u,{label:"文档链接"},{default:o(()=>[l(V,{modelValue:H.value,"onUpdate:modelValue":e[15]||(e[15]=t=>H.value=t),placeholder:"https://kdocs.cn/..."},null,8,["modelValue"])]),_:1}),l(u,{label:"默认县区"},{default:o(()=>[l(V,{modelValue:L.value,"onUpdate:modelValue":e[16]||(e[16]=t=>L.value=t),placeholder:"如:道县(用户可覆盖)"},null,8,["modelValue"])]),_:1}),l(u,{label:"Sheet名称"},{default:o(()=>[l(V,{modelValue:Q.value,"onUpdate:modelValue":e[17]||(e[17]=t=>Q.value=t),placeholder:"留空使用第一个Sheet"},null,8,["modelValue"])]),_:1}),l(u,{label:"Sheet序号"},{default:o(()=>[l(i,{modelValue:M.value,"onUpdate:modelValue":e[18]||(e[18]=t=>M.value=t),min:0,max:50},null,8,["modelValue"]),e[45]||(e[45]=s("div",{class:"help"},"0 表示第一个Sheet。",-1))]),_:1}),l(u,{label:"县区列"},{default:o(()=>[l(V,{modelValue:j.value,"onUpdate:modelValue":e[19]||(e[19]=t=>j.value=t),placeholder:"A",style:{"max-width":"120px"}},null,8,["modelValue"])]),_:1}),l(u,{label:"图片列"},{default:o(()=>[l(V,{modelValue:O.value,"onUpdate:modelValue":e[20]||(e[20]=t=>O.value=t),placeholder:"D",style:{"max-width":"120px"}},null,8,["modelValue"])]),_:1}),l(u,{label:"管理员通知"},{default:o(()=>[l(w,{modelValue:z.value,"onUpdate:modelValue":e[21]||(e[21]=t=>z.value=t)},null,8,["modelValue"])]),_:1}),l(u,{label:"通知邮箱"},{default:o(()=>[l(V,{modelValue:R.value,"onUpdate:modelValue":e[22]||(e[22]=t=>R.value=t),placeholder:"admin@example.com"},null,8,["modelValue"])]),_:1})]),_:1}),s("div",Re,[l(d,{type:"primary",onClick:fe},{default:o(()=>[...e[46]||(e[46]=[m("保存表格配置",-1)])]),_:1}),l(d,{onClick:ee},{default:o(()=>[...e[47]||(e[47]=[m("刷新状态",-1)])]),_:1}),l(d,{type:"success",plain:"",onClick:ye},{default:o(()=>[...e[48]||(e[48]=[m("获取二维码",-1)])]),_:1}),l(d,{type:"danger",plain:"",onClick:be},{default:o(()=>[...e[49]||(e[49]=[m("清除登录",-1)])]),_:1})]),s("div",We,[e[50]||(e[50]=m(" 登录状态: ",-1)),y.value.last_login_ok===!0?(_(),k("span",Ge,"已登录")):y.value.login_required?(_(),k("span",Je,"需要扫码")):(_(),k("span",Xe,"未知")),m(" · 待上传 "+le(y.value.queue_size||0)+" ",1),y.value.last_error?(_(),k("span",Ye,"· 最近错误:"+le(y.value.last_error),1)):U("",!0)])]),_:1}),l(Ce,{modelValue:S.value,"onUpdate:modelValue":e[23]||(e[23]=t=>S.value=t),title:"扫码登录",width:"min(420px, 92vw)"},{default:o(()=>[s("div",Ze,[W.value?(_(),k("img",{key:0,src:`data:image/png;base64,${W.value}`,alt:"KDocs QR"},null,8,el)):U("",!0),e[52]||(e[52]=s("div",{class:"help"},"请使用管理员微信扫码登录。",-1))])]),_:1},8,["modelValue"])])),[[Pe,v.value]])}}},ol=Se(ll,[["__scopeId","data-v-5af0394e"]]);export{ol as default}; diff --git a/static/admin/assets/SystemPage-agjTEZ2h.js b/static/admin/assets/SystemPage-agjTEZ2h.js deleted file mode 100644 index 4a25455..0000000 --- a/static/admin/assets/SystemPage-agjTEZ2h.js +++ /dev/null @@ -1,17 +0,0 @@ -import{f as he,u as X,e as Ie}from"./system-CMyTza1B.js";import{a as C,_ as Se,r as n,c as Ne,U as Ae,T as Be,o as Te,f as c,I as De,J as Ke,h as f,g as k,j as s,m as l,w as o,q as m,B as Y,n as U,F as Ee,v as $e,p as le,K as Z,L as r}from"./index-DYOBdo6M.js";async function ae(){const{data:p}=await C.get("/kdocs/status");return p}async function qe(p={}){const _={force:!0,...p},{data:g}=await C.post("/kdocs/qr",_);return g}async function Fe(){const{data:p}=await C.post("/kdocs/clear-login",{});return p}async function He(){const{data:p}=await C.get("/proxy/config");return p}async function Le(p){const{data:_}=await C.post("/proxy/config",p);return _}async function Qe(p){const{data:_}=await C.post("/proxy/test",p);return _}const Me={class:"page-stack"},je={class:"app-page-title"},Oe={class:"row-actions"},ze={class:"row-actions"},Re={class:"row-actions"},We={class:"help"},Ge={key:0},Je={key:1},Xe={key:2},Ye={key:3},Ze={class:"kdocs-qr"},el=["src"],ll={__name:"SystemPage",setup(p){const _=n(!1),g=n(2),B=n(1),T=n(3),v=n(!1),D=n("02:00"),P=n("应读"),b=n(["1","2","3","4","5","6","7"]),h=n(!0),I=n(!1),x=n(""),K=n(3),E=n(!1),$=n(10),q=n(7),F=n(!1),H=n(""),L=n(""),Q=n(""),M=n(0),j=n("A"),O=n("D"),z=n(!1),R=n(""),y=n({}),S=n(!1),W=n(""),te=n(!1);let G=null;const se=[{label:"周一",value:"1"},{label:"周二",value:"2"},{label:"周三",value:"3"},{label:"周四",value:"4"},{label:"周五",value:"5"},{label:"周六",value:"6"},{label:"周日",value:"7"}],de={1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"},re=Ne(()=>(b.value||[]).map(a=>de[Number(a)]||a).join("、"));function ie(a){return String(a)==="注册前未读"?"注册前未读":"应读"}async function oe(){_.value=!0;try{const[a,e,d]=await Promise.all([he(),He(),ae().catch(()=>({}))]);g.value=a.max_concurrent_global??2,B.value=a.max_concurrent_per_account??1,T.value=a.max_screenshot_concurrent??3,v.value=(a.schedule_enabled??0)===1,D.value=a.schedule_time||"02:00",P.value=ie(a.schedule_browse_type);const i=String(a.schedule_weekdays||"1,2,3,4,5,6,7").split(",").map(u=>u.trim()).filter(Boolean);b.value=i.length?i:["1","2","3","4","5","6","7"],h.value=(a.enable_screenshot??1)===1,E.value=(a.auto_approve_enabled??0)===1,$.value=a.auto_approve_hourly_limit??10,q.value=a.auto_approve_vip_days??7,I.value=(e.proxy_enabled??0)===1,x.value=e.proxy_api_url||"",K.value=e.proxy_expire_minutes??3,F.value=(a.kdocs_enabled??0)===1,H.value=a.kdocs_doc_url||"",L.value=a.kdocs_default_unit||"",Q.value=a.kdocs_sheet_name||"",M.value=a.kdocs_sheet_index??0,j.value=(a.kdocs_unit_column||"A").toUpperCase(),O.value=(a.kdocs_image_column||"D").toUpperCase(),z.value=(a.kdocs_admin_notify_enabled??0)===1,R.value=a.kdocs_admin_notify_email||"",y.value=d||{}}catch{}finally{_.value=!1}}async function me(){const a={max_concurrent_global:Number(g.value),max_concurrent_per_account:Number(B.value),max_screenshot_concurrent:Number(T.value)};try{await Z.confirm(`确定更新并发配置吗? - -全局并发数: ${a.max_concurrent_global} -单账号并发数: ${a.max_concurrent_per_account} -截图并发数: ${a.max_screenshot_concurrent}`,"保存并发配置",{confirmButtonText:"保存",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await X(a);r.success(e?.message||"并发配置已更新")}catch{}}async function ce(){if(v.value&&(!b.value||b.value.length===0)){r.error("请至少选择一个执行日期");return}const a={schedule_enabled:v.value?1:0,schedule_time:D.value,schedule_browse_type:P.value,schedule_weekdays:(b.value||[]).join(","),enable_screenshot:h.value?1:0},e=h.value?"截图":"不截图",d=v.value?`确定启用定时任务吗? - -执行时间: 每天 ${a.schedule_time} -执行日期: ${re.value} -浏览类型: ${a.schedule_browse_type} -截图: ${e} - -系统将自动执行所有账号的浏览任务`:"确定关闭定时任务吗?";try{await Z.confirm(d,"保存定时任务",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"})}catch{return}try{const i=await X(a);r.success(i?.message||(v.value?"定时任务已启用":"定时任务已关闭"))}catch{}}async function pe(){const a=`确定要立即执行定时任务吗? - -这将执行所有账号的浏览任务 -浏览类型: ${P.value} - -注意:无视定时时间和执行日期配置,立即开始执行!`;try{await Z.confirm(a,"立即执行",{confirmButtonText:"立即执行",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await Ie();r.success(e?.message||"定时任务已开始执行")}catch{}}async function ve(){if(I.value&&!x.value.trim()){r.error("启用代理时,API地址不能为空");return}const a={proxy_enabled:I.value?1:0,proxy_api_url:x.value.trim(),proxy_expire_minutes:Number(K.value)||3};try{const e=await Le(a);r.success(e?.message||"代理配置已更新")}catch{}}async function fe(){const a={kdocs_enabled:F.value?1:0,kdocs_doc_url:H.value.trim(),kdocs_default_unit:L.value.trim(),kdocs_sheet_name:Q.value.trim(),kdocs_sheet_index:Number(M.value)||0,kdocs_unit_column:j.value.trim().toUpperCase(),kdocs_image_column:O.value.trim().toUpperCase(),kdocs_admin_notify_enabled:z.value?1:0,kdocs_admin_notify_email:R.value.trim()};try{const e=await X(a);r.success(e?.message||"表格配置已更新")}catch{}}async function ee(){try{y.value=await ae()}catch{}}async function ne(){try{const a=await ae();y.value=a,(a?.logged_in===!0||a?.last_login_ok===!0)&&(r.success("扫码成功,已登录"),S.value=!1,J())}catch{}}function _e(){J(),te.value=!0,ne(),G=setInterval(ne,2e3)}function J(){G&&(clearInterval(G),G=null),te.value=!1}async function ye(){try{const a=await qe();if(W.value=a?.qr_image||"",!W.value){if(a?.logged_in){r.success("当前已登录,无需扫码"),await ee();return}r.warning("未获取到二维码");return}S.value=!0}catch{}}async function be(){try{await Fe(),r.success("登录态已清除"),await ee()}catch{}}Ae(S,a=>{a?_e():J()}),Be(()=>{J()});async function xe(){if(!x.value.trim()){r.error("请先输入代理API地址");return}try{const a=await Qe({api_url:x.value.trim()});await Z.alert(a?.message||"测试完成","代理测试",{confirmButtonText:"知道了"})}catch{}}async function Ve(){const a=Number($.value),e=Number(q.value);if(!Number.isFinite(a)||a<1){r.error("每小时注册限制必须大于0");return}if(!Number.isFinite(e)||e<0){r.error("VIP天数不能为负数");return}const d={auto_approve_enabled:E.value?1:0,auto_approve_hourly_limit:a,auto_approve_vip_days:e};try{const i=await X(d);r.success(i?.message||"注册设置已保存")}catch{}}return Te(oe),(a,e)=>{const d=c("el-button"),i=c("el-input-number"),u=c("el-form-item"),N=c("el-form"),A=c("el-card"),w=c("el-switch"),ke=c("el-time-picker"),ue=c("el-option"),ge=c("el-select"),we=c("el-checkbox"),Ue=c("el-checkbox-group"),V=c("el-input"),Ce=c("el-dialog"),Pe=De("loading");return Ke((f(),k("div",Me,[s("div",je,[e[25]||(e[25]=s("h2",null,"系统配置",-1)),s("div",null,[l(d,{onClick:oe},{default:o(()=>[...e[24]||(e[24]=[m("刷新",-1)])]),_:1})])]),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[30]||(e[30]=s("h3",{class:"section-title"},"系统并发配置",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"全局最大并发数"},{default:o(()=>[l(i,{modelValue:g.value,"onUpdate:modelValue":e[0]||(e[0]=t=>g.value=t),min:1,max:200},null,8,["modelValue"]),e[26]||(e[26]=s("div",{class:"help"},"同时最多运行的账号数量(浏览任务使用 API 方式,资源占用较低)。",-1))]),_:1}),l(u,{label:"单账号最大并发数"},{default:o(()=>[l(i,{modelValue:B.value,"onUpdate:modelValue":e[1]||(e[1]=t=>B.value=t),min:1,max:50},null,8,["modelValue"]),e[27]||(e[27]=s("div",{class:"help"},"单个账号同时最多运行的任务数量(建议设为 1)。",-1))]),_:1}),l(u,{label:"截图最大并发数"},{default:o(()=>[l(i,{modelValue:T.value,"onUpdate:modelValue":e[2]||(e[2]=t=>T.value=t),min:1,max:50},null,8,["modelValue"]),e[28]||(e[28]=s("div",{class:"help"},"同时进行截图的最大数量(wkhtmltoimage 资源占用较低,可按需提高)。",-1))]),_:1})]),_:1}),l(d,{type:"primary",onClick:me},{default:o(()=>[...e[29]||(e[29]=[m("保存并发配置",-1)])]),_:1})]),_:1}),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[35]||(e[35]=s("h3",{class:"section-title"},"定时任务配置",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"启用定时任务"},{default:o(()=>[l(w,{modelValue:v.value,"onUpdate:modelValue":e[3]||(e[3]=t=>v.value=t)},null,8,["modelValue"]),e[31]||(e[31]=s("div",{class:"help"},"开启后,系统会按计划自动执行浏览任务。",-1))]),_:1}),v.value?(f(),Y(u,{key:0,label:"执行时间"},{default:o(()=>[l(ke,{modelValue:D.value,"onUpdate:modelValue":e[4]||(e[4]=t=>D.value=t),"value-format":"HH:mm",format:"HH:mm"},null,8,["modelValue"])]),_:1})):U("",!0),v.value?(f(),Y(u,{key:1,label:"浏览类型"},{default:o(()=>[l(ge,{modelValue:P.value,"onUpdate:modelValue":e[5]||(e[5]=t=>P.value=t),style:{width:"220px"}},{default:o(()=>[l(ue,{label:"注册前未读",value:"注册前未读"}),l(ue,{label:"应读",value:"应读"})]),_:1},8,["modelValue"])]),_:1})):U("",!0),v.value?(f(),Y(u,{key:2,label:"执行日期"},{default:o(()=>[l(Ue,{modelValue:b.value,"onUpdate:modelValue":e[6]||(e[6]=t=>b.value=t)},{default:o(()=>[(f(),k(Ee,null,$e(se,t=>l(we,{key:t.value,label:t.value},{default:o(()=>[m(le(t.label),1)]),_:2},1032,["label"])),64))]),_:1},8,["modelValue"])]),_:1})):U("",!0),v.value?(f(),Y(u,{key:3,label:"定时任务截图"},{default:o(()=>[l(w,{modelValue:h.value,"onUpdate:modelValue":e[7]||(e[7]=t=>h.value=t)},null,8,["modelValue"]),e[32]||(e[32]=s("div",{class:"help"},"开启后,定时任务执行时会生成截图。",-1))]),_:1})):U("",!0)]),_:1}),s("div",Oe,[l(d,{type:"primary",onClick:ce},{default:o(()=>[...e[33]||(e[33]=[m("保存定时任务配置",-1)])]),_:1}),l(d,{type:"success",plain:"",onClick:pe},{default:o(()=>[...e[34]||(e[34]=[m("立即执行",-1)])]),_:1})])]),_:1}),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[40]||(e[40]=s("h3",{class:"section-title"},"代理设置",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"启用IP代理"},{default:o(()=>[l(w,{modelValue:I.value,"onUpdate:modelValue":e[8]||(e[8]=t=>I.value=t)},null,8,["modelValue"]),e[36]||(e[36]=s("div",{class:"help"},"开启后,所有浏览任务将通过代理IP访问(失败自动重试3次)。",-1))]),_:1}),l(u,{label:"代理API地址"},{default:o(()=>[l(V,{modelValue:x.value,"onUpdate:modelValue":e[9]||(e[9]=t=>x.value=t),placeholder:"http://api.xxx/Tools/IP.ashx?..."},null,8,["modelValue"]),e[37]||(e[37]=s("div",{class:"help"},"API 应返回:IP:PORT(例如 123.45.67.89:8888)。",-1))]),_:1}),l(u,{label:"代理有效期(分钟)"},{default:o(()=>[l(i,{modelValue:K.value,"onUpdate:modelValue":e[10]||(e[10]=t=>K.value=t),min:1,max:60},null,8,["modelValue"])]),_:1})]),_:1}),s("div",ze,[l(d,{type:"primary",onClick:ve},{default:o(()=>[...e[38]||(e[38]=[m("保存代理配置",-1)])]),_:1}),l(d,{onClick:xe},{default:o(()=>[...e[39]||(e[39]=[m("测试代理",-1)])]),_:1})])]),_:1}),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[43]||(e[43]=s("h3",{class:"section-title"},"注册设置",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"注册赠送VIP"},{default:o(()=>[l(w,{modelValue:E.value,"onUpdate:modelValue":e[11]||(e[11]=t=>E.value=t)},null,8,["modelValue"]),e[41]||(e[41]=s("div",{class:"help"},"开启后,新用户注册成功后将赠送下方设置的VIP天数(注册已默认无需审核)。",-1))]),_:1}),l(u,{label:"每小时注册限制"},{default:o(()=>[l(i,{modelValue:$.value,"onUpdate:modelValue":e[12]||(e[12]=t=>$.value=t),min:1,max:1e4},null,8,["modelValue"])]),_:1}),l(u,{label:"注册赠送VIP天数"},{default:o(()=>[l(i,{modelValue:q.value,"onUpdate:modelValue":e[13]||(e[13]=t=>q.value=t),min:0,max:999999},null,8,["modelValue"])]),_:1})]),_:1}),l(d,{type:"primary",onClick:Ve},{default:o(()=>[...e[42]||(e[42]=[m("保存注册设置",-1)])]),_:1})]),_:1}),l(A,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:o(()=>[e[51]||(e[51]=s("h3",{class:"section-title"},"金山文档上传",-1)),l(N,{"label-width":"130px"},{default:o(()=>[l(u,{label:"启用上传"},{default:o(()=>[l(w,{modelValue:F.value,"onUpdate:modelValue":e[14]||(e[14]=t=>F.value=t)},null,8,["modelValue"]),e[44]||(e[44]=s("div",{class:"help"},"表格结构变化时可先关闭,避免错误上传。",-1))]),_:1}),l(u,{label:"文档链接"},{default:o(()=>[l(V,{modelValue:H.value,"onUpdate:modelValue":e[15]||(e[15]=t=>H.value=t),placeholder:"https://kdocs.cn/..."},null,8,["modelValue"])]),_:1}),l(u,{label:"默认县区"},{default:o(()=>[l(V,{modelValue:L.value,"onUpdate:modelValue":e[16]||(e[16]=t=>L.value=t),placeholder:"如:道县(用户可覆盖)"},null,8,["modelValue"])]),_:1}),l(u,{label:"Sheet名称"},{default:o(()=>[l(V,{modelValue:Q.value,"onUpdate:modelValue":e[17]||(e[17]=t=>Q.value=t),placeholder:"留空使用第一个Sheet"},null,8,["modelValue"])]),_:1}),l(u,{label:"Sheet序号"},{default:o(()=>[l(i,{modelValue:M.value,"onUpdate:modelValue":e[18]||(e[18]=t=>M.value=t),min:0,max:50},null,8,["modelValue"]),e[45]||(e[45]=s("div",{class:"help"},"0 表示第一个Sheet。",-1))]),_:1}),l(u,{label:"县区列"},{default:o(()=>[l(V,{modelValue:j.value,"onUpdate:modelValue":e[19]||(e[19]=t=>j.value=t),placeholder:"A",style:{"max-width":"120px"}},null,8,["modelValue"])]),_:1}),l(u,{label:"图片列"},{default:o(()=>[l(V,{modelValue:O.value,"onUpdate:modelValue":e[20]||(e[20]=t=>O.value=t),placeholder:"D",style:{"max-width":"120px"}},null,8,["modelValue"])]),_:1}),l(u,{label:"管理员通知"},{default:o(()=>[l(w,{modelValue:z.value,"onUpdate:modelValue":e[21]||(e[21]=t=>z.value=t)},null,8,["modelValue"])]),_:1}),l(u,{label:"通知邮箱"},{default:o(()=>[l(V,{modelValue:R.value,"onUpdate:modelValue":e[22]||(e[22]=t=>R.value=t),placeholder:"admin@example.com"},null,8,["modelValue"])]),_:1})]),_:1}),s("div",Re,[l(d,{type:"primary",onClick:fe},{default:o(()=>[...e[46]||(e[46]=[m("保存表格配置",-1)])]),_:1}),l(d,{onClick:ee},{default:o(()=>[...e[47]||(e[47]=[m("刷新状态",-1)])]),_:1}),l(d,{type:"success",plain:"",onClick:ye},{default:o(()=>[...e[48]||(e[48]=[m("获取二维码",-1)])]),_:1}),l(d,{type:"danger",plain:"",onClick:be},{default:o(()=>[...e[49]||(e[49]=[m("清除登录",-1)])]),_:1})]),s("div",We,[e[50]||(e[50]=m(" 登录状态: ",-1)),y.value.last_login_ok===!0?(f(),k("span",Ge,"已登录")):y.value.login_required?(f(),k("span",Je,"需要扫码")):(f(),k("span",Xe,"未知")),m(" · 队列 "+le(y.value.queue_size||0)+" ",1),y.value.last_error?(f(),k("span",Ye,"· 最近错误:"+le(y.value.last_error),1)):U("",!0)])]),_:1}),l(Ce,{modelValue:S.value,"onUpdate:modelValue":e[23]||(e[23]=t=>S.value=t),title:"扫码登录",width:"min(420px, 92vw)"},{default:o(()=>[s("div",Ze,[W.value?(f(),k("img",{key:0,src:`data:image/png;base64,${W.value}`,alt:"KDocs QR"},null,8,el)):U("",!0),e[52]||(e[52]=s("div",{class:"help"},"请使用管理员微信扫码登录。",-1))])]),_:1},8,["modelValue"])])),[[Pe,_.value]])}}},ol=Se(ll,[["__scopeId","data-v-2e6346ad"]]);export{ol as default}; diff --git a/static/admin/assets/UsersPage-D513gXjG.js b/static/admin/assets/UsersPage-DxOwX5c9.js similarity index 98% rename from static/admin/assets/UsersPage-D513gXjG.js rename to static/admin/assets/UsersPage-DxOwX5c9.js index 1dd3221..bbdb879 100644 --- a/static/admin/assets/UsersPage-D513gXjG.js +++ b/static/admin/assets/UsersPage-DxOwX5c9.js @@ -1 +1 @@ -import{a as W,r as Z,s as J,b as K,c as F,d as G,f as H}from"./users-CwvLJNE7.js";import{_ as O,i as Q,r as I,o as X,f as y,I as Y,g as C,h as l,j as f,m as r,w as s,q as o,J as ee,B as p,n as m,p as x,K as k,L as v}from"./index-DYOBdo6M.js";function D(g){if(!g)return null;if(g instanceof Date)return g;let a=String(g).trim();if(!a)return null;/^\d{4}-\d{2}-\d{2}$/.test(a)&&(a=`${a}T00:00:00`);let c=a.includes("T")?a:a.replace(" ","T");c=c.replace(/\.(\d{3})\d+/,".$1"),/([zZ]|[+-]\d{2}:\d{2})$/.test(c)||(c=`${c}+08:00`);const d=new Date(c);return Number.isNaN(d.getTime())?null:d}function U(g){const a=String(g||"");if(!a)return{ok:!1,message:"密码不能为空"};if(a.length<8)return{ok:!1,message:"密码长度不能少于8个字符"};if(a.length>128)return{ok:!1,message:"密码长度不能超过128个字符"};const c=/[a-zA-Z]/.test(a),h=/\d/.test(a);return!c||!h?{ok:!1,message:"密码必须包含字母和数字"}:{ok:!0,message:""}}const te={class:"page-stack"},ne={class:"app-page-title"},se={class:"table-wrap"},ae={class:"user-block"},ie={class:"user-main"},le={key:0,class:"app-muted user-sub"},re={key:1,class:"vip-sub"},oe={key:0,class:"app-muted"},ce={class:"actions"},ue={__name:"UsersPage",setup(g){const a=Q("refreshStats",null),c=I(!1),h=I([]);function d(n){const e=n?.vip_expire_time;if(!e)return!1;if(String(e).startsWith("2099-12-31"))return!0;const i=D(e);return i?i.getTime()>Date.now():!1}function V(n){const e=n?.vip_expire_time;if(!e||!d(n))return"";if(String(e).startsWith("2099-12-31"))return"永久VIP";const i=D(e);if(!i)return`到期: ${e}`;const u=Math.ceil((i.getTime()-Date.now())/(1e3*60*60*24));return`到期: ${e}(剩${u}天)`}function B(n){return n==="rejected"?{label:"禁用",type:"danger"}:{label:"正常",type:"success"}}async function w(){c.value=!0;try{h.value=await H()}catch{h.value=[]}finally{c.value=!1}}async function P(){await w()}async function z(n){try{await k.confirm(`确定启用用户「${n.username}」吗?启用后用户可正常登录。`,"启用用户",{confirmButtonText:"启用",cancelButtonText:"取消",type:"success"})}catch{return}try{await W(n.id),v.success("用户已启用"),await w(),await a?.()}catch{}}async function S(n){try{await k.confirm(`确定禁用用户「${n.username}」吗?禁用后用户将无法登录。`,"禁用用户",{confirmButtonText:"禁用",cancelButtonText:"取消",type:"warning"})}catch{return}try{await Z(n.id),v.success("用户已禁用"),await w(),await a?.()}catch{}}async function N(n){try{await k.confirm(`确定删除用户「${n.username}」吗?此操作将删除该用户的所有数据,不可恢复!`,"删除用户",{confirmButtonText:"删除",cancelButtonText:"取消",type:"error"})}catch{return}try{await G(n.id),v.success("用户已删除"),await w(),await a?.()}catch{}}async function T(n,e){const i={7:"一周",30:"一个月",365:"一年",999999:"永久"}[e]||`${e}天`;try{await k.confirm(`确定为用户「${n.username}」开通 ${i} VIP 吗?`,"设置VIP",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"})}catch{return}try{const u=await J(n.id,e);v.success(u?.message||"VIP设置成功"),await w(),await a?.()}catch{}}async function M(n){try{await k.confirm(`确定移除用户「${n.username}」的 VIP 吗?`,"移除VIP",{confirmButtonText:"移除",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await K(n.id);v.success(e?.message||"VIP已移除"),await w(),await a?.()}catch{}}async function j(n){let e;try{e=(await k.prompt("请输入新密码(至少8位且包含字母和数字)","重置密码",{confirmButtonText:"提交",cancelButtonText:"取消",inputType:"password",inputPlaceholder:"新密码",inputValidator:$=>U($).ok,inputErrorMessage:"密码至少8位且包含字母和数字"})).value}catch{return}const i=U(e);if(!i.ok){v.error(i.message);return}try{await k.confirm(`确定将用户「${n.username}」的密码重置为该新密码吗?`,"二次确认",{confirmButtonText:"确认重置",cancelButtonText:"取消",type:"warning"})}catch{return}try{const u=await F(n.id,e);v.success(u?.message||"密码重置成功")}catch{}}return X(P),(n,e)=>{const i=y("el-button"),u=y("el-table-column"),$=y("el-tag"),b=y("el-dropdown-item"),E=y("el-dropdown-menu"),L=y("el-dropdown"),A=y("el-table"),R=y("el-card"),q=Y("loading");return l(),C("div",te,[f("div",ne,[e[1]||(e[1]=f("h2",null,"用户",-1)),f("div",null,[r(i,{onClick:P},{default:s(()=>[...e[0]||(e[0]=[o("刷新",-1)])]),_:1})])]),r(R,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:s(()=>[f("div",se,[ee((l(),p(A,{data:h.value,style:{width:"100%"}},{default:s(()=>[r(u,{prop:"id",label:"ID",width:"80"}),r(u,{label:"用户","min-width":"240"},{default:s(({row:t})=>[f("div",ae,[f("div",ie,[f("strong",null,x(t.username),1),d(t)?(l(),p($,{key:0,type:"warning",effect:"light",size:"small"},{default:s(()=>[...e[2]||(e[2]=[o("VIP",-1)])]),_:1})):m("",!0)]),t.email?(l(),C("div",le,x(t.email),1)):m("",!0),V(t)?(l(),C("div",re,x(V(t)),1)):m("",!0)])]),_:1}),r(u,{label:"状态",width:"120"},{default:s(({row:t})=>[r($,{type:B(t.status).type,effect:"light"},{default:s(()=>[o(x(B(t.status).label),1)]),_:2},1032,["type"])]),_:1}),r(u,{label:"时间","min-width":"220"},{default:s(({row:t})=>[f("div",null,x(t.created_at),1),t.vip_expire_time?(l(),C("div",oe,"VIP到期: "+x(t.vip_expire_time),1)):m("",!0)]),_:1}),r(u,{label:"操作",width:"280",fixed:"right"},{default:s(({row:t})=>[f("div",ce,[t.status==="rejected"?(l(),p(i,{key:0,type:"success",size:"small",onClick:_=>z(t)},{default:s(()=>[...e[3]||(e[3]=[o("启用",-1)])]),_:1},8,["onClick"])):(l(),p(i,{key:1,type:"warning",size:"small",onClick:_=>S(t)},{default:s(()=>[...e[4]||(e[4]=[o("禁用",-1)])]),_:1},8,["onClick"])),r(L,{trigger:"click"},{dropdown:s(()=>[r(E,null,{default:s(()=>[d(t)?m("",!0):(l(),p(b,{key:0,onClick:_=>T(t,7)},{default:s(()=>[...e[6]||(e[6]=[o("开通一周",-1)])]),_:1},8,["onClick"])),d(t)?m("",!0):(l(),p(b,{key:1,onClick:_=>T(t,30)},{default:s(()=>[...e[7]||(e[7]=[o("开通一月",-1)])]),_:1},8,["onClick"])),d(t)?m("",!0):(l(),p(b,{key:2,onClick:_=>T(t,365)},{default:s(()=>[...e[8]||(e[8]=[o("开通一年",-1)])]),_:1},8,["onClick"])),d(t)?m("",!0):(l(),p(b,{key:3,onClick:_=>T(t,999999)},{default:s(()=>[...e[9]||(e[9]=[o("永久VIP",-1)])]),_:1},8,["onClick"])),d(t)?(l(),p(b,{key:4,onClick:_=>M(t)},{default:s(()=>[...e[10]||(e[10]=[o("移除VIP",-1)])]),_:1},8,["onClick"])):m("",!0)]),_:2},1024)]),default:s(()=>[r(i,{size:"small"},{default:s(()=>[...e[5]||(e[5]=[o("VIP",-1)])]),_:1})]),_:2},1024),r(i,{size:"small",onClick:_=>j(t)},{default:s(()=>[...e[11]||(e[11]=[o("重置密码",-1)])]),_:1},8,["onClick"]),r(i,{type:"danger",size:"small",onClick:_=>N(t)},{default:s(()=>[...e[12]||(e[12]=[o("删除",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data"])),[[q,c.value]])])]),_:1})])}}},pe=O(ue,[["__scopeId","data-v-d73d2b82"]]);export{pe as default}; +import{a as W,r as Z,s as J,b as K,c as F,d as G,f as H}from"./users-BfTiBX13.js";import{_ as O,i as Q,r as I,o as X,f as y,I as Y,g as C,h as l,j as f,m as r,w as s,q as o,J as ee,B as p,n as m,p as x,K as k,L as v}from"./index-DD_NUvZR.js";function D(g){if(!g)return null;if(g instanceof Date)return g;let a=String(g).trim();if(!a)return null;/^\d{4}-\d{2}-\d{2}$/.test(a)&&(a=`${a}T00:00:00`);let c=a.includes("T")?a:a.replace(" ","T");c=c.replace(/\.(\d{3})\d+/,".$1"),/([zZ]|[+-]\d{2}:\d{2})$/.test(c)||(c=`${c}+08:00`);const d=new Date(c);return Number.isNaN(d.getTime())?null:d}function U(g){const a=String(g||"");if(!a)return{ok:!1,message:"密码不能为空"};if(a.length<8)return{ok:!1,message:"密码长度不能少于8个字符"};if(a.length>128)return{ok:!1,message:"密码长度不能超过128个字符"};const c=/[a-zA-Z]/.test(a),h=/\d/.test(a);return!c||!h?{ok:!1,message:"密码必须包含字母和数字"}:{ok:!0,message:""}}const te={class:"page-stack"},ne={class:"app-page-title"},se={class:"table-wrap"},ae={class:"user-block"},ie={class:"user-main"},le={key:0,class:"app-muted user-sub"},re={key:1,class:"vip-sub"},oe={key:0,class:"app-muted"},ce={class:"actions"},ue={__name:"UsersPage",setup(g){const a=Q("refreshStats",null),c=I(!1),h=I([]);function d(n){const e=n?.vip_expire_time;if(!e)return!1;if(String(e).startsWith("2099-12-31"))return!0;const i=D(e);return i?i.getTime()>Date.now():!1}function V(n){const e=n?.vip_expire_time;if(!e||!d(n))return"";if(String(e).startsWith("2099-12-31"))return"永久VIP";const i=D(e);if(!i)return`到期: ${e}`;const u=Math.ceil((i.getTime()-Date.now())/(1e3*60*60*24));return`到期: ${e}(剩${u}天)`}function B(n){return n==="rejected"?{label:"禁用",type:"danger"}:{label:"正常",type:"success"}}async function w(){c.value=!0;try{h.value=await H()}catch{h.value=[]}finally{c.value=!1}}async function P(){await w()}async function z(n){try{await k.confirm(`确定启用用户「${n.username}」吗?启用后用户可正常登录。`,"启用用户",{confirmButtonText:"启用",cancelButtonText:"取消",type:"success"})}catch{return}try{await W(n.id),v.success("用户已启用"),await w(),await a?.()}catch{}}async function S(n){try{await k.confirm(`确定禁用用户「${n.username}」吗?禁用后用户将无法登录。`,"禁用用户",{confirmButtonText:"禁用",cancelButtonText:"取消",type:"warning"})}catch{return}try{await Z(n.id),v.success("用户已禁用"),await w(),await a?.()}catch{}}async function N(n){try{await k.confirm(`确定删除用户「${n.username}」吗?此操作将删除该用户的所有数据,不可恢复!`,"删除用户",{confirmButtonText:"删除",cancelButtonText:"取消",type:"error"})}catch{return}try{await G(n.id),v.success("用户已删除"),await w(),await a?.()}catch{}}async function T(n,e){const i={7:"一周",30:"一个月",365:"一年",999999:"永久"}[e]||`${e}天`;try{await k.confirm(`确定为用户「${n.username}」开通 ${i} VIP 吗?`,"设置VIP",{confirmButtonText:"确认",cancelButtonText:"取消",type:"warning"})}catch{return}try{const u=await J(n.id,e);v.success(u?.message||"VIP设置成功"),await w(),await a?.()}catch{}}async function M(n){try{await k.confirm(`确定移除用户「${n.username}」的 VIP 吗?`,"移除VIP",{confirmButtonText:"移除",cancelButtonText:"取消",type:"warning"})}catch{return}try{const e=await K(n.id);v.success(e?.message||"VIP已移除"),await w(),await a?.()}catch{}}async function j(n){let e;try{e=(await k.prompt("请输入新密码(至少8位且包含字母和数字)","重置密码",{confirmButtonText:"提交",cancelButtonText:"取消",inputType:"password",inputPlaceholder:"新密码",inputValidator:$=>U($).ok,inputErrorMessage:"密码至少8位且包含字母和数字"})).value}catch{return}const i=U(e);if(!i.ok){v.error(i.message);return}try{await k.confirm(`确定将用户「${n.username}」的密码重置为该新密码吗?`,"二次确认",{confirmButtonText:"确认重置",cancelButtonText:"取消",type:"warning"})}catch{return}try{const u=await F(n.id,e);v.success(u?.message||"密码重置成功")}catch{}}return X(P),(n,e)=>{const i=y("el-button"),u=y("el-table-column"),$=y("el-tag"),b=y("el-dropdown-item"),E=y("el-dropdown-menu"),L=y("el-dropdown"),A=y("el-table"),R=y("el-card"),q=Y("loading");return l(),C("div",te,[f("div",ne,[e[1]||(e[1]=f("h2",null,"用户",-1)),f("div",null,[r(i,{onClick:P},{default:s(()=>[...e[0]||(e[0]=[o("刷新",-1)])]),_:1})])]),r(R,{shadow:"never","body-style":{padding:"16px"},class:"card"},{default:s(()=>[f("div",se,[ee((l(),p(A,{data:h.value,style:{width:"100%"}},{default:s(()=>[r(u,{prop:"id",label:"ID",width:"80"}),r(u,{label:"用户","min-width":"240"},{default:s(({row:t})=>[f("div",ae,[f("div",ie,[f("strong",null,x(t.username),1),d(t)?(l(),p($,{key:0,type:"warning",effect:"light",size:"small"},{default:s(()=>[...e[2]||(e[2]=[o("VIP",-1)])]),_:1})):m("",!0)]),t.email?(l(),C("div",le,x(t.email),1)):m("",!0),V(t)?(l(),C("div",re,x(V(t)),1)):m("",!0)])]),_:1}),r(u,{label:"状态",width:"120"},{default:s(({row:t})=>[r($,{type:B(t.status).type,effect:"light"},{default:s(()=>[o(x(B(t.status).label),1)]),_:2},1032,["type"])]),_:1}),r(u,{label:"时间","min-width":"220"},{default:s(({row:t})=>[f("div",null,x(t.created_at),1),t.vip_expire_time?(l(),C("div",oe,"VIP到期: "+x(t.vip_expire_time),1)):m("",!0)]),_:1}),r(u,{label:"操作",width:"280",fixed:"right"},{default:s(({row:t})=>[f("div",ce,[t.status==="rejected"?(l(),p(i,{key:0,type:"success",size:"small",onClick:_=>z(t)},{default:s(()=>[...e[3]||(e[3]=[o("启用",-1)])]),_:1},8,["onClick"])):(l(),p(i,{key:1,type:"warning",size:"small",onClick:_=>S(t)},{default:s(()=>[...e[4]||(e[4]=[o("禁用",-1)])]),_:1},8,["onClick"])),r(L,{trigger:"click"},{dropdown:s(()=>[r(E,null,{default:s(()=>[d(t)?m("",!0):(l(),p(b,{key:0,onClick:_=>T(t,7)},{default:s(()=>[...e[6]||(e[6]=[o("开通一周",-1)])]),_:1},8,["onClick"])),d(t)?m("",!0):(l(),p(b,{key:1,onClick:_=>T(t,30)},{default:s(()=>[...e[7]||(e[7]=[o("开通一月",-1)])]),_:1},8,["onClick"])),d(t)?m("",!0):(l(),p(b,{key:2,onClick:_=>T(t,365)},{default:s(()=>[...e[8]||(e[8]=[o("开通一年",-1)])]),_:1},8,["onClick"])),d(t)?m("",!0):(l(),p(b,{key:3,onClick:_=>T(t,999999)},{default:s(()=>[...e[9]||(e[9]=[o("永久VIP",-1)])]),_:1},8,["onClick"])),d(t)?(l(),p(b,{key:4,onClick:_=>M(t)},{default:s(()=>[...e[10]||(e[10]=[o("移除VIP",-1)])]),_:1},8,["onClick"])):m("",!0)]),_:2},1024)]),default:s(()=>[r(i,{size:"small"},{default:s(()=>[...e[5]||(e[5]=[o("VIP",-1)])]),_:1})]),_:2},1024),r(i,{size:"small",onClick:_=>j(t)},{default:s(()=>[...e[11]||(e[11]=[o("重置密码",-1)])]),_:1},8,["onClick"]),r(i,{type:"danger",size:"small",onClick:_=>N(t)},{default:s(()=>[...e[12]||(e[12]=[o("删除",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1},8,["data"])),[[q,c.value]])])]),_:1})])}}},pe=O(ue,[["__scopeId","data-v-d73d2b82"]]);export{pe as default}; diff --git a/static/admin/assets/email-BDvF0irD.js b/static/admin/assets/email-CANx8Tja.js similarity index 86% rename from static/admin/assets/email-BDvF0irD.js rename to static/admin/assets/email-CANx8Tja.js index 88d161a..4ebc69e 100644 --- a/static/admin/assets/email-BDvF0irD.js +++ b/static/admin/assets/email-CANx8Tja.js @@ -1 +1 @@ -import{a as n}from"./index-DYOBdo6M.js";async function i(){const{data:a}=await n.get("/email/settings");return a}async function e(a){const{data:t}=await n.post("/email/settings",a);return t}async function c(){const{data:a}=await n.get("/email/stats");return a}async function o(a){const{data:t}=await n.get("/email/logs",{params:a});return t}async function l(a){const{data:t}=await n.post("/email/logs/cleanup",{days:a});return t}export{o as a,i as b,l as c,c as f,e as u}; +import{a as n}from"./index-DD_NUvZR.js";async function i(){const{data:a}=await n.get("/email/settings");return a}async function e(a){const{data:t}=await n.post("/email/settings",a);return t}async function c(){const{data:a}=await n.get("/email/stats");return a}async function o(a){const{data:t}=await n.get("/email/logs",{params:a});return t}async function l(a){const{data:t}=await n.post("/email/logs/cleanup",{days:a});return t}export{o as a,i as b,l as c,c as f,e as u}; diff --git a/static/admin/assets/index-DYOBdo6M.js b/static/admin/assets/index-DD_NUvZR.js similarity index 99% rename from static/admin/assets/index-DYOBdo6M.js rename to static/admin/assets/index-DD_NUvZR.js index 0edb5a6..cd1b172 100644 --- a/static/admin/assets/index-DYOBdo6M.js +++ b/static/admin/assets/index-DD_NUvZR.js @@ -1,4 +1,4 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ReportPage-9KIB3iif.js","./email-BDvF0irD.js","./tasks-CQlm8unE.js","./system-CMyTza1B.js","./ReportPage-Q8rCsG8A.css","./UsersPage-D513gXjG.js","./users-CwvLJNE7.js","./UsersPage-CC4Unpwt.css","./FeedbacksPage-Ccz7usmm.js","./FeedbacksPage-BKNQYWPz.css","./LogsPage-DKgDsqeF.js","./LogsPage-Cmm-qHAH.css","./AnnouncementsPage-Qex0pAMP.js","./AnnouncementsPage-BhIwmMSX.css","./EmailPage-DjFQXXaw.js","./EmailPage-BH6ksrcc.css","./SecurityPage-QH4U-Y6k.js","./SecurityPage-Dv9jYTtC.css","./SystemPage-agjTEZ2h.js","./SystemPage-BgaIr3zp.css","./SettingsPage-OTetedw0.js","./SettingsPage-DKTq8S2K.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ReportPage-DAW30JOI.js","./email-CANx8Tja.js","./tasks-MT8n16Cr.js","./system-CM-zje4U.js","./ReportPage-Q8rCsG8A.css","./UsersPage-DxOwX5c9.js","./users-BfTiBX13.js","./UsersPage-CC4Unpwt.css","./FeedbacksPage-DZUE-vHi.js","./FeedbacksPage-BKNQYWPz.css","./LogsPage-CdMEmjzm.js","./LogsPage-Cmm-qHAH.css","./AnnouncementsPage-DJV9obay.js","./AnnouncementsPage-BhIwmMSX.css","./EmailPage-D-tsUWFT.js","./EmailPage-BH6ksrcc.css","./SecurityPage-C21EbRZb.js","./SecurityPage-Dv9jYTtC.css","./SystemPage-D5R5QCv7.js","./SystemPage-5z0b5M8t.css","./SettingsPage-BM2ulFCL.js","./SettingsPage-DKTq8S2K.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))o(a);new MutationObserver(a=>{for(const l of a)if(l.type==="childList")for(const r of l.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&o(r)}).observe(document,{childList:!0,subtree:!0});function n(a){const l={};return a.integrity&&(l.integrity=a.integrity),a.referrerPolicy&&(l.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?l.credentials="include":a.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function o(a){if(a.ep)return;a.ep=!0;const l=n(a);fetch(a.href,l)}})();function oh(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const on={},Kr=[],Mt=()=>{},jw=()=>!1,Rd=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ah=e=>e.startsWith("onUpdate:"),Tn=Object.assign,lh=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ET=Object.prototype.hasOwnProperty,Rt=(e,t)=>ET.call(e,t),Ce=Array.isArray,Wr=e=>nu(e)==="[object Map]",Nd=e=>nu(e)==="[object Set]",Il=e=>nu(e)==="[object Date]",Ke=e=>typeof e=="function",Ve=e=>typeof e=="string",Wo=e=>typeof e=="symbol",rt=e=>e!==null&&typeof e=="object",dr=e=>(rt(e)||Ke(e))&&Ke(e.then)&&Ke(e.catch),Uw=Object.prototype.toString,nu=e=>Uw.call(e),_T=e=>nu(e).slice(8,-1),Si=e=>nu(e)==="[object Object]",xd=e=>Ve(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,li=oh(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Id=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},TT=/-\w/g,no=Id(e=>e.replace(TT,t=>t.slice(1).toUpperCase())),OT=/\B([A-Z])/g,nl=Id(e=>e.replace(OT,"-$1").toLowerCase()),ou=Id(e=>e.charAt(0).toUpperCase()+e.slice(1)),ri=Id(e=>e?`on${ou(e)}`:""),Nl=(e,t)=>!Object.is(e,t),cc=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},rh=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Yw=e=>{const t=Ve(e)?Number(e):NaN;return isNaN(t)?e:t};let Sg;const Pd=()=>Sg||(Sg=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function je(e){if(Ce(e)){const t={};for(let n=0;n{if(n){const o=n.split(RT);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function I(e){let t="";if(Ve(e))t=e;else if(Ce(e))for(let n=0;nns(n,t))}const Jw=e=>!!(e&&e.__v_isRef===!0),ke=e=>Ve(e)?e:e==null?"":Ce(e)||rt(e)&&(e.toString===Uw||!Ke(e.toString))?Jw(e)?ke(e.value):JSON.stringify(e,Zw,2):String(e),Zw=(e,t)=>Jw(t)?Zw(e,t.value):Wr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,a],l)=>(n[Af(o,l)+" =>"]=a,n),{})}:Nd(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Af(n))}:Wo(t)?Af(t):rt(t)&&!Ce(t)&&!Si(t)?String(t):t,Af=(e,t="")=>{var n;return Wo(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};let zn;class Qw{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=zn,!t&&zn&&(this.index=(zn.scopes||(zn.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0&&--this._on===0&&(zn=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,o;for(n=0,o=this.effects.length;n0)return;if(ii){let t=ii;for(ii=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;si;){let t=si;for(si=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function l1(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function r1(e){let t,n=e.depsTail,o=n;for(;o;){const a=o.prevDep;o.version===-1?(o===n&&(n=a),uh(o),LT(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=a}e.deps=t,e.depsTail=n}function $p(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(s1(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function s1(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ki)||(e.globalVersion=ki,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!$p(e))))return;e.flags|=2;const t=e.dep,n=sn,o=zo;sn=e,zo=!0;try{l1(e);const a=e.fn(e._value);(t.version===0||Nl(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(a){throw t.version++,a}finally{sn=n,zo=o,r1(e),e.flags&=-3}}function uh(e,t=!1){const{dep:n,prevSub:o,nextSub:a}=e;if(o&&(o.nextSub=a,e.prevSub=void 0),a&&(a.prevSub=o,e.nextSub=void 0),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let l=n.computed.deps;l;l=l.nextDep)uh(l,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function LT(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let zo=!0;const i1=[];function Ua(){i1.push(zo),zo=!1}function qa(){const e=i1.pop();zo=e===void 0?!0:e}function kg(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=sn;sn=void 0;try{t()}finally{sn=n}}}let ki=0,DT=class{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}};class Md{constructor(t){this.computed=t,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(t){if(!sn||!zo||sn===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==sn)n=this.activeLink=new DT(sn,this),sn.deps?(n.prevDep=sn.depsTail,sn.depsTail.nextDep=n,sn.depsTail=n):sn.deps=sn.depsTail=n,u1(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=sn.depsTail,n.nextDep=void 0,sn.depsTail.nextDep=n,sn.depsTail=n,sn.deps===n&&(sn.deps=o)}return n}trigger(t){this.version++,ki++,this.notify(t)}notify(t){sh();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{ih()}}}function u1(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)u1(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Kc=new WeakMap,lr=Symbol(""),Rp=Symbol(""),Ei=Symbol("");function Kn(e,t,n){if(zo&&sn){let o=Kc.get(e);o||Kc.set(e,o=new Map);let a=o.get(n);a||(o.set(n,a=new Md),a.map=o,a.key=n),a.track()}}function Ba(e,t,n,o,a,l){const r=Kc.get(e);if(!r){ki++;return}const i=u=>{u&&u.trigger()};if(sh(),t==="clear")r.forEach(i);else{const u=Ce(e),c=u&&xd(n);if(u&&n==="length"){const d=Number(o);r.forEach((f,v)=>{(v==="length"||v===Ei||!Wo(v)&&v>=d)&&i(f)})}else switch((n!==void 0||r.has(void 0))&&i(r.get(n)),c&&i(r.get(Ei)),t){case"add":u?c&&i(r.get("length")):(i(r.get(lr)),Wr(e)&&i(r.get(Rp)));break;case"delete":u||(i(r.get(lr)),Wr(e)&&i(r.get(Rp)));break;case"set":Wr(e)&&i(r.get(lr));break}}ih()}function BT(e,t){const n=Kc.get(e);return n&&n.get(t)}function $r(e){const t=Kt(e);return t===e?t:(Kn(t,"iterate",Ei),So(e)?t:t.map(jo))}function Ad(e){return Kn(e=Kt(e),"iterate",Ei),e}function yl(e,t){return Ya(e)?rr(e)?os(jo(t)):os(t):jo(t)}const FT={__proto__:null,[Symbol.iterator](){return Df(this,Symbol.iterator,e=>yl(this,e))},concat(...e){return $r(this).concat(...e.map(t=>Ce(t)?$r(t):t))},entries(){return Df(this,"entries",e=>(e[1]=yl(this,e[1]),e))},every(e,t){return Ia(this,"every",e,t,void 0,arguments)},filter(e,t){return Ia(this,"filter",e,t,n=>n.map(o=>yl(this,o)),arguments)},find(e,t){return Ia(this,"find",e,t,n=>yl(this,n),arguments)},findIndex(e,t){return Ia(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ia(this,"findLast",e,t,n=>yl(this,n),arguments)},findLastIndex(e,t){return Ia(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ia(this,"forEach",e,t,void 0,arguments)},includes(...e){return Bf(this,"includes",e)},indexOf(...e){return Bf(this,"indexOf",e)},join(e){return $r(this).join(e)},lastIndexOf(...e){return Bf(this,"lastIndexOf",e)},map(e,t){return Ia(this,"map",e,t,void 0,arguments)},pop(){return zs(this,"pop")},push(...e){return zs(this,"push",e)},reduce(e,...t){return Eg(this,"reduce",e,t)},reduceRight(e,...t){return Eg(this,"reduceRight",e,t)},shift(){return zs(this,"shift")},some(e,t){return Ia(this,"some",e,t,void 0,arguments)},splice(...e){return zs(this,"splice",e)},toReversed(){return $r(this).toReversed()},toSorted(e){return $r(this).toSorted(e)},toSpliced(...e){return $r(this).toSpliced(...e)},unshift(...e){return zs(this,"unshift",e)},values(){return Df(this,"values",e=>yl(this,e))}};function Df(e,t,n){const o=Ad(e),a=o[t]();return o!==e&&!So(e)&&(a._next=a.next,a.next=()=>{const l=a._next();return l.done||(l.value=n(l.value)),l}),a}const VT=Array.prototype;function Ia(e,t,n,o,a,l){const r=Ad(e),i=r!==e&&!So(e),u=r[t];if(u!==VT[t]){const f=u.apply(e,l);return i?jo(f):f}let c=n;r!==e&&(i?c=function(f,v){return n.call(this,yl(e,f),v,e)}:n.length>2&&(c=function(f,v){return n.call(this,f,v,e)}));const d=u.call(r,c,o);return i&&a?a(d):d}function Eg(e,t,n,o){const a=Ad(e);let l=n;return a!==e&&(So(e)?n.length>3&&(l=function(r,i,u){return n.call(this,r,i,u,e)}):l=function(r,i,u){return n.call(this,r,yl(e,i),u,e)}),a[t](l,...o)}function Bf(e,t,n){const o=Kt(e);Kn(o,"iterate",Ei);const a=o[t](...n);return(a===-1||a===!1)&&Dd(n[0])?(n[0]=Kt(n[0]),o[t](...n)):a}function zs(e,t,n=[]){Ua(),sh();const o=Kt(e)[t].apply(e,n);return ih(),qa(),o}const zT=oh("__proto__,__v_isRef,__isVue"),c1=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Wo));function HT(e){Wo(e)||(e=String(e));const t=Kt(this);return Kn(t,"has",e),t.hasOwnProperty(e)}class d1{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){if(n==="__v_skip")return t.__v_skip;const a=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!a;if(n==="__v_isReadonly")return a;if(n==="__v_isShallow")return l;if(n==="__v_raw")return o===(a?l?ZT:h1:l?v1:p1).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const r=Ce(t);if(!a){let u;if(r&&(u=FT[n]))return u;if(n==="hasOwnProperty")return HT}const i=Reflect.get(t,n,qt(t)?t:o);if((Wo(n)?c1.has(n):zT(n))||(a||Kn(t,"get",n),l))return i;if(qt(i)){const u=r&&xd(n)?i:i.value;return a&&rt(u)?fr(u):u}return rt(i)?a?fr(i):xt(i):i}}class f1 extends d1{constructor(t=!1){super(!1,t)}set(t,n,o,a){let l=t[n];const r=Ce(t)&&xd(n);if(!this._isShallow){const c=Ya(l);if(!So(o)&&!Ya(o)&&(l=Kt(l),o=Kt(o)),!r&&qt(l)&&!qt(o))return c||(l.value=o),!0}const i=r?Number(n)e,Vu=e=>Reflect.getPrototypeOf(e);function qT(e,t,n){return function(...o){const a=this.__v_raw,l=Kt(a),r=Wr(l),i=e==="entries"||e===Symbol.iterator&&r,u=e==="keys"&&r,c=a[e](...o),d=n?Np:t?os:jo;return!t&&Kn(l,"iterate",u?Rp:lr),{next(){const{value:f,done:v}=c.next();return v?{value:f,done:v}:{value:i?[d(f[0]),d(f[1])]:d(f),done:v}},[Symbol.iterator](){return this}}}}function zu(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function YT(e,t){const n={get(a){const l=this.__v_raw,r=Kt(l),i=Kt(a);e||(Nl(a,i)&&Kn(r,"get",a),Kn(r,"get",i));const{has:u}=Vu(r),c=t?Np:e?os:jo;if(u.call(r,a))return c(l.get(a));if(u.call(r,i))return c(l.get(i));l!==r&&l.get(a)},get size(){const a=this.__v_raw;return!e&&Kn(Kt(a),"iterate",lr),a.size},has(a){const l=this.__v_raw,r=Kt(l),i=Kt(a);return e||(Nl(a,i)&&Kn(r,"has",a),Kn(r,"has",i)),a===i?l.has(a):l.has(a)||l.has(i)},forEach(a,l){const r=this,i=r.__v_raw,u=Kt(i),c=t?Np:e?os:jo;return!e&&Kn(u,"iterate",lr),i.forEach((d,f)=>a.call(l,c(d),c(f),r))}};return Tn(n,e?{add:zu("add"),set:zu("set"),delete:zu("delete"),clear:zu("clear")}:{add(a){!t&&!So(a)&&!Ya(a)&&(a=Kt(a));const l=Kt(this);return Vu(l).has.call(l,a)||(l.add(a),Ba(l,"add",a,a)),this},set(a,l){!t&&!So(l)&&!Ya(l)&&(l=Kt(l));const r=Kt(this),{has:i,get:u}=Vu(r);let c=i.call(r,a);c||(a=Kt(a),c=i.call(r,a));const d=u.call(r,a);return r.set(a,l),c?Nl(l,d)&&Ba(r,"set",a,l):Ba(r,"add",a,l),this},delete(a){const l=Kt(this),{has:r,get:i}=Vu(l);let u=r.call(l,a);u||(a=Kt(a),u=r.call(l,a)),i&&i.call(l,a);const c=l.delete(a);return u&&Ba(l,"delete",a,void 0),c},clear(){const a=Kt(this),l=a.size!==0,r=a.clear();return l&&Ba(a,"clear",void 0,void 0),r}}),["keys","values","entries",Symbol.iterator].forEach(a=>{n[a]=qT(a,e,t)}),n}function ch(e,t){const n=YT(e,t);return(o,a,l)=>a==="__v_isReactive"?!e:a==="__v_isReadonly"?e:a==="__v_raw"?o:Reflect.get(Rt(n,a)&&a in o?n:o,a,l)}const GT={get:ch(!1,!1)},XT={get:ch(!1,!0)},JT={get:ch(!0,!1)};const p1=new WeakMap,v1=new WeakMap,h1=new WeakMap,ZT=new WeakMap;function QT(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function eO(e){return e.__v_skip||!Object.isExtensible(e)?0:QT(_T(e))}function xt(e){return Ya(e)?e:dh(e,!1,WT,GT,p1)}function Ld(e){return dh(e,!1,UT,XT,v1)}function fr(e){return dh(e,!0,jT,JT,h1)}function dh(e,t,n,o,a){if(!rt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=eO(e);if(l===0)return e;const r=a.get(e);if(r)return r;const i=new Proxy(e,l===2?o:n);return a.set(e,i),i}function rr(e){return Ya(e)?rr(e.__v_raw):!!(e&&e.__v_isReactive)}function Ya(e){return!!(e&&e.__v_isReadonly)}function So(e){return!!(e&&e.__v_isShallow)}function Dd(e){return e?!!e.__v_raw:!1}function Kt(e){const t=e&&e.__v_raw;return t?Kt(t):e}function Ha(e){return!Rt(e,"__v_skip")&&Object.isExtensible(e)&&qw(e,"__v_skip",!0),e}const jo=e=>rt(e)?xt(e):e,os=e=>rt(e)?fr(e):e;function qt(e){return e?e.__v_isRef===!0:!1}function L(e){return m1(e,!1)}function Wt(e){return m1(e,!0)}function m1(e,t){return qt(e)?e:new tO(e,t)}class tO{constructor(t,n){this.dep=new Md,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:Kt(t),this._value=n?t:jo(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||So(t)||Ya(t);t=o?t:Kt(t),Nl(t,n)&&(this._rawValue=t,this._value=o?t:jo(t),this.dep.trigger())}}function dc(e){e.dep&&e.dep.trigger()}function s(e){return qt(e)?e.value:e}const nO={get:(e,t,n)=>t==="__v_raw"?e:s(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const a=e[t];return qt(a)&&!qt(n)?(a.value=n,!0):Reflect.set(e,t,n,o)}};function g1(e){return rr(e)?e:new Proxy(e,nO)}class oO{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Md,{get:o,set:a}=t(n.track.bind(n),n.trigger.bind(n));this._get=o,this._set=a}get value(){return this._value=this._get()}set value(t){this._set(t)}}function aO(e){return new oO(e)}function wn(e){const t=Ce(e)?new Array(e.length):{};for(const n in e)t[n]=b1(e,n);return t}class lO{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0,this._raw=Kt(t);let a=!0,l=t;if(!Ce(t)||!xd(String(n)))do a=!Dd(l)||So(l);while(a&&(l=l.__v_raw));this._shallow=a}get value(){let t=this._object[this._key];return this._shallow&&(t=s(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&qt(this._raw[this._key])){const n=this._object[this._key];if(qt(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return BT(this._raw,this._key)}}class rO{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Dt(e,t,n){return qt(e)?e:Ke(e)?new rO(e):rt(e)&&arguments.length>1?b1(e,t,n):L(e)}function b1(e,t,n){return new lO(e,t,n)}class sO{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Md(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ki-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&sn!==this)return a1(this,!0),!0}get value(){const t=this.dep.track();return s1(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function iO(e,t,n=!1){let o,a;return Ke(e)?o=e:(o=e.get,a=e.set),new sO(o,a,n)}const Hu={},Wc=new WeakMap;let ql;function uO(e,t=!1,n=ql){if(n){let o=Wc.get(n);o||Wc.set(n,o=[]),o.push(e)}}function cO(e,t,n=on){const{immediate:o,deep:a,once:l,scheduler:r,augmentJob:i,call:u}=n,c=y=>a?y:So(y)||a===!1||a===0?Fa(y,1):Fa(y);let d,f,v,p,m=!1,h=!1;if(qt(e)?(f=()=>e.value,m=So(e)):rr(e)?(f=()=>c(e),m=!0):Ce(e)?(h=!0,m=e.some(y=>rr(y)||So(y)),f=()=>e.map(y=>{if(qt(y))return y.value;if(rr(y))return c(y);if(Ke(y))return u?u(y,2):y()})):Ke(e)?t?f=u?()=>u(e,2):e:f=()=>{if(v){Ua();try{v()}finally{qa()}}const y=ql;ql=d;try{return u?u(e,3,[p]):e(p)}finally{ql=y}}:f=Mt,t&&a){const y=f,k=a===!0?1/0:a;f=()=>Fa(y(),k)}const g=e1(),b=()=>{d.stop(),g&&g.active&&lh(g.effects,d)};if(l&&t){const y=t;t=(...k)=>{y(...k),b()}}let C=h?new Array(e.length).fill(Hu):Hu;const w=y=>{if(!(!(d.flags&1)||!d.dirty&&!y))if(t){const k=d.run();if(a||m||(h?k.some((E,_)=>Nl(E,C[_])):Nl(k,C))){v&&v();const E=ql;ql=d;try{const _=[k,C===Hu?void 0:h&&C[0]===Hu?[]:C,p];C=k,u?u(t,3,_):t(..._)}finally{ql=E}}}else d.run()};return i&&i(w),d=new n1(f),d.scheduler=r?()=>r(w,!1):w,p=y=>uO(y,!1,d),v=d.onStop=()=>{const y=Wc.get(d);if(y){if(u)u(y,4);else for(const k of y)k();Wc.delete(d)}},t?o?w(!0):C=d.run():r?r(w.bind(null,!0),!0):d.run(),b.pause=d.pause.bind(d),b.resume=d.resume.bind(d),b.stop=b,b}function Fa(e,t=1/0,n){if(t<=0||!rt(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,qt(e))Fa(e.value,t,n);else if(Ce(e))for(let o=0;o{Fa(o,t,n)});else if(Si(e)){for(const o in e)Fa(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&Fa(e[o],t,n)}return e}function au(e,t,n,o){try{return o?e(...o):e()}catch(a){lu(a,t,n)}}function Uo(e,t,n,o){if(Ke(e)){const a=au(e,t,n,o);return a&&dr(a)&&a.catch(l=>{lu(l,t,n)}),a}if(Ce(e)){const a=[];for(let l=0;l>>1,a=eo[o],l=_i(a);l=_i(n)?eo.push(e):eo.splice(fO(t),0,e),e.flags|=1,w1()}}function w1(){jc||(jc=y1.then(S1))}function xp(e){Ce(e)?jr.push(...e):wl&&e.id===-1?wl.splice(Ar+1,0,e):e.flags&1||(jr.push(e),e.flags|=1),w1()}function _g(e,t,n=ca+1){for(;n_i(n)-_i(o));if(jr.length=0,wl){wl.push(...t);return}for(wl=t,Ar=0;Are.id==null?e.flags&2?-1:1/0:e.id;function S1(e){try{for(ca=0;ca{o._d&&Gc(-1);const l=Uc(t);let r;try{r=e(...a)}finally{Uc(l),o._d&&Gc(1)}return r};return o._n=!0,o._c=!0,o._d=!0,o}function it(e,t){if(An===null)return e;const n=Kd(An),o=e.dirs||(e.dirs=[]);for(let a=0;ae.__isTeleport,ui=e=>e&&(e.disabled||e.disabled===""),Tg=e=>e&&(e.defer||e.defer===""),Og=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$g=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Ip=(e,t)=>{const n=e&&e.to;return Ve(n)?t?t(n):null:n},T1={name:"Teleport",__isTeleport:!0,process(e,t,n,o,a,l,r,i,u,c){const{mc:d,pc:f,pbc:v,o:{insert:p,querySelector:m,createText:h,createComment:g}}=c,b=ui(t.props);let{shapeFlag:C,children:w,dynamicChildren:y}=t;if(e==null){const k=t.el=h(""),E=t.anchor=h("");p(k,n,o),p(E,n,o);const _=(R,M)=>{C&16&&d(w,R,M,a,l,r,i,u)},x=()=>{const R=t.target=Ip(t.props,m),M=O1(R,t,h,p);R&&(r!=="svg"&&Og(R)?r="svg":r!=="mathml"&&$g(R)&&(r="mathml"),a&&a.isCE&&(a.ce._teleportTargets||(a.ce._teleportTargets=new Set)).add(R),b||(_(R,M),fc(t,!1)))};b&&(_(n,E),fc(t,!0)),Tg(t.props)?(t.el.__isMounted=!1,Fn(()=>{x(),delete t.el.__isMounted},l)):x()}else{if(Tg(t.props)&&e.el.__isMounted===!1){Fn(()=>{T1.process(e,t,n,o,a,l,r,i,u,c)},l);return}t.el=e.el,t.targetStart=e.targetStart;const k=t.anchor=e.anchor,E=t.target=e.target,_=t.targetAnchor=e.targetAnchor,x=ui(e.props),R=x?n:E,M=x?k:_;if(r==="svg"||Og(E)?r="svg":(r==="mathml"||$g(E))&&(r="mathml"),y?(v(e.dynamicChildren,y,R,a,l,r,i),Sh(e,t,!0)):u||f(e,t,R,M,a,l,r,i,!1),b)x?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ku(t,n,k,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const O=t.target=Ip(t.props,m);O&&Ku(t,O,null,c,0)}else x&&Ku(t,E,_,c,1);fc(t,b)}},remove(e,t,n,{um:o,o:{remove:a}},l){const{shapeFlag:r,children:i,anchor:u,targetStart:c,targetAnchor:d,target:f,props:v}=e;if(f&&(a(c),a(d)),l&&a(u),r&16){const p=l||!ui(v);for(let m=0;m{e.isMounted=!0}),Pt(()=>{e.isUnmounting=!0}),e}const Oo=[Function,Array],R1={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Oo,onEnter:Oo,onAfterEnter:Oo,onEnterCancelled:Oo,onBeforeLeave:Oo,onLeave:Oo,onAfterLeave:Oo,onLeaveCancelled:Oo,onBeforeAppear:Oo,onAppear:Oo,onAfterAppear:Oo,onAppearCancelled:Oo},N1=e=>{const t=e.subTree;return t.component?N1(t.component):t},hO={name:"BaseTransition",props:R1,setup(e,{slots:t}){const n=dt(),o=$1();return()=>{const a=t.default&&ph(t.default(),!0);if(!a||!a.length)return;const l=x1(a),r=Kt(e),{mode:i}=r;if(o.isLeaving)return Ff(l);const u=Rg(l);if(!u)return Ff(l);let c=Ti(u,r,o,n,f=>c=f);u.type!==an&&pr(u,c);let d=n.subTree&&Rg(n.subTree);if(d&&d.type!==an&&!da(d,u)&&N1(n).type!==an){let f=Ti(d,r,o,n);if(pr(d,f),i==="out-in"&&u.type!==an)return o.isLeaving=!0,f.afterLeave=()=>{o.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,d=void 0},Ff(l);i==="in-out"&&u.type!==an?f.delayLeave=(v,p,m)=>{const h=I1(o,d);h[String(d.key)]=d,v[La]=()=>{p(),v[La]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{m(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return l}}};function x1(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==an){t=n;break}}return t}const mO=hO;function I1(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function Ti(e,t,n,o,a){const{appear:l,mode:r,persisted:i=!1,onBeforeEnter:u,onEnter:c,onAfterEnter:d,onEnterCancelled:f,onBeforeLeave:v,onLeave:p,onAfterLeave:m,onLeaveCancelled:h,onBeforeAppear:g,onAppear:b,onAfterAppear:C,onAppearCancelled:w}=t,y=String(e.key),k=I1(n,e),E=(R,M)=>{R&&Uo(R,o,9,M)},_=(R,M)=>{const O=M[1];E(R,M),Ce(R)?R.every(N=>N.length<=1)&&O():R.length<=1&&O()},x={mode:r,persisted:i,beforeEnter(R){let M=u;if(!n.isMounted)if(l)M=g||u;else return;R[La]&&R[La](!0);const O=k[y];O&&da(e,O)&&O.el[La]&&O.el[La](),E(M,[R])},enter(R){let M=c,O=d,N=f;if(!n.isMounted)if(l)M=b||c,O=C||d,N=w||f;else return;let F=!1;const U=R[Wu]=Y=>{F||(F=!0,Y?E(N,[R]):E(O,[R]),x.delayedLeave&&x.delayedLeave(),R[Wu]=void 0)};M?_(M,[R,U]):U()},leave(R,M){const O=String(e.key);if(R[Wu]&&R[Wu](!0),n.isUnmounting)return M();E(v,[R]);let N=!1;const F=R[La]=U=>{N||(N=!0,M(),U?E(h,[R]):E(m,[R]),R[La]=void 0,k[O]===e&&delete k[O])};k[O]=e,p?_(p,[R,F]):F()},clone(R){const M=Ti(R,t,n,o,a);return a&&a(M),M}};return x}function Ff(e){if(Bd(e))return e=Ga(e),e.children=null,e}function Rg(e){if(!Bd(e))return _1(e.type)&&e.children?x1(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Ke(n.default))return n.default()}}function pr(e,t){e.shapeFlag&6&&e.component?(e.transition=t,pr(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ph(e,t=!1,n){let o=[],a=0;for(let l=0;l1)for(let l=0;lci(m,t&&(Ce(t)?t[h]:t),n,o,a));return}if(Ur(o)&&!a){o.shapeFlag&512&&o.type.__asyncResolved&&o.component.subTree.component&&ci(e,t,n,o.component.subTree);return}const l=o.shapeFlag&4?Kd(o.component):o.el,r=a?null:l,{i,r:u}=e,c=t&&t.r,d=i.refs===on?i.refs={}:i.refs,f=i.setupState,v=Kt(f),p=f===on?jw:m=>Rt(v,m);if(c!=null&&c!==u){if(Ng(t),Ve(c))d[c]=null,p(c)&&(f[c]=null);else if(qt(c)){c.value=null;const m=t;m.k&&(d[m.k]=null)}}if(Ke(u))au(u,i,12,[r,d]);else{const m=Ve(u),h=qt(u);if(m||h){const g=()=>{if(e.f){const b=m?p(u)?f[u]:d[u]:u.value;if(a)Ce(b)&&lh(b,l);else if(Ce(b))b.includes(l)||b.push(l);else if(m)d[u]=[l],p(u)&&(f[u]=d[u]);else{const C=[l];u.value=C,e.k&&(d[e.k]=C)}}else m?(d[u]=r,p(u)&&(f[u]=r)):h&&(u.value=r,e.k&&(d[e.k]=r))};if(r){const b=()=>{g(),qc.delete(e)};b.id=-1,qc.set(e,b),Fn(b,n)}else Ng(e),g()}}}function Ng(e){const t=qc.get(e);t&&(t.flags|=8,qc.delete(e))}Pd().requestIdleCallback;Pd().cancelIdleCallback;const Ur=e=>!!e.type.__asyncLoader,Bd=e=>e.type.__isKeepAlive;function Fd(e,t){A1(e,"a",t)}function M1(e,t){A1(e,"da",t)}function A1(e,t,n=Wn){const o=e.__wdc||(e.__wdc=()=>{let a=n;for(;a;){if(a.isDeactivated)return;a=a.parent}return e()});if(Vd(t,o,n),n){let a=n.parent;for(;a&&a.parent;)Bd(a.parent.vnode)&&gO(o,t,n,a),a=a.parent}}function gO(e,t,n,o){const a=Vd(t,e,o,!0);_s(()=>{lh(o[t],a)},n)}function Vd(e,t,n=Wn,o=!1){if(n){const a=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...r)=>{Ua();const i=ru(n),u=Uo(t,n,e,r);return i(),qa(),u});return o?a.unshift(l):a.push(l),l}}const ol=e=>(t,n=Wn)=>{(!$i||e==="sp")&&Vd(e,(...o)=>t(...o),n)},zd=ol("bm"),pt=ol("m"),vh=ol("bu"),ea=ol("u"),Pt=ol("bum"),_s=ol("um"),bO=ol("sp"),yO=ol("rtg"),wO=ol("rtc");function CO(e,t=Wn){Vd("ec",e,t)}const hh="components",SO="directives";function mt(e,t){return gh(hh,e,!0,t)||e}const L1=Symbol.for("v-ndc");function ut(e){return Ve(e)?gh(hh,e,!1)||e:e||L1}function mh(e){return gh(SO,e)}function gh(e,t,n=!0,o=!1){const a=An||Wn;if(a){const l=a.type;if(e===hh){const i=p$(l,!1);if(i&&(i===t||i===no(t)||i===ou(no(t))))return l}const r=xg(a[e]||l[e],t)||xg(a.appContext[e],t);return!r&&o?l:r}}function xg(e,t){return e&&(e[t]||e[no(t)]||e[ou(no(t))])}function bt(e,t,n,o){let a;const l=n,r=Ce(e);if(r||Ve(e)){const i=r&&rr(e);let u=!1,c=!1;i&&(u=!So(e),c=Ya(e),e=Ad(e)),a=new Array(e.length);for(let d=0,f=e.length;dt(i,u,void 0,l));else{const i=Object.keys(e);a=new Array(i.length);for(let u=0,c=i.length;u{const l=o.fn(...a);return l&&(l.key=o.key),l}:o.fn)}return e}function le(e,t,n={},o,a){if(An.ce||An.parent&&Ur(An.parent)&&An.parent.ce){const c=Object.keys(n).length>0;return t!=="default"&&(n.name=t),T(),ie(ze,null,[G("slot",n,o&&o())],c?-2:64)}let l=e[t];l&&l._c&&(l._d=!1),T();const r=l&&D1(l(n)),i=n.key||r&&r.key,u=ie(ze,{key:(i&&!Wo(i)?i:`_${t}`)+(!r&&o?"_fb":"")},r||(o?o():[]),r&&e._===1?64:-2);return u.scopeId&&(u.slotScopeIds=[u.scopeId+"-s"]),l&&l._c&&(l._d=!0),u}function D1(e){return e.some(t=>Ht(t)?!(t.type===an||t.type===ze&&!D1(t.children)):!0)?e:null}function kO(e,t){const n={};for(const o in e)n[ri(o)]=e[o];return n}const Pp=e=>e?aC(e)?Kd(e):Pp(e.parent):null,di=Tn(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=>Pp(e.parent),$root:e=>Pp(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>V1(e),$forceUpdate:e=>e.f||(e.f=()=>{fh(e.update)}),$nextTick:e=>e.n||(e.n=Me.bind(e.proxy)),$watch:e=>MO.bind(e)}),Vf=(e,t)=>e!==on&&!e.__isScriptSetup&&Rt(e,t),EO={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:a,props:l,accessCache:r,type:i,appContext:u}=e;if(t[0]!=="$"){const v=r[t];if(v!==void 0)switch(v){case 1:return o[t];case 2:return a[t];case 4:return n[t];case 3:return l[t]}else{if(Vf(o,t))return r[t]=1,o[t];if(a!==on&&Rt(a,t))return r[t]=2,a[t];if(Rt(l,t))return r[t]=3,l[t];if(n!==on&&Rt(n,t))return r[t]=4,n[t];Mp&&(r[t]=0)}}const c=di[t];let d,f;if(c)return t==="$attrs"&&Kn(e.attrs,"get",""),c(e);if((d=i.__cssModules)&&(d=d[t]))return d;if(n!==on&&Rt(n,t))return r[t]=4,n[t];if(f=u.config.globalProperties,Rt(f,t))return f[t]},set({_:e},t,n){const{data:o,setupState:a,ctx:l}=e;return Vf(a,t)?(a[t]=n,!0):o!==on&&Rt(o,t)?(o[t]=n,!0):Rt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:o,appContext:a,props:l,type:r}},i){let u;return!!(n[i]||e!==on&&i[0]!=="$"&&Rt(e,i)||Vf(t,i)||Rt(l,i)||Rt(o,i)||Rt(di,i)||Rt(a.config.globalProperties,i)||(u=r.__cssModules)&&u[i])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Rt(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function hn(){return B1().slots}function al(){return B1().attrs}function B1(e){const t=dt();return t.setupContext||(t.setupContext=rC(t))}function Ig(e){return Ce(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Mp=!0;function _O(e){const t=V1(e),n=e.proxy,o=e.ctx;Mp=!1,t.beforeCreate&&Pg(t.beforeCreate,e,"bc");const{data:a,computed:l,methods:r,watch:i,provide:u,inject:c,created:d,beforeMount:f,mounted:v,beforeUpdate:p,updated:m,activated:h,deactivated:g,beforeDestroy:b,beforeUnmount:C,destroyed:w,unmounted:y,render:k,renderTracked:E,renderTriggered:_,errorCaptured:x,serverPrefetch:R,expose:M,inheritAttrs:O,components:N,directives:F,filters:U}=t;if(c&&TO(c,o,null),r)for(const $ in r){const A=r[$];Ke(A)&&(o[$]=A.bind(n))}if(a){const $=a.call(n,n);rt($)&&(e.data=xt($))}if(Mp=!0,l)for(const $ in l){const A=l[$],z=Ke(A)?A.bind(n,n):Ke(A.get)?A.get.bind(n,n):Mt,D=!Ke(A)&&Ke(A.set)?A.set.bind(n):Mt,W=S({get:z,set:D});Object.defineProperty(o,$,{enumerable:!0,configurable:!0,get:()=>W.value,set:V=>W.value=V})}if(i)for(const $ in i)F1(i[$],o,n,$);if(u){const $=Ke(u)?u.call(n):u;Reflect.ownKeys($).forEach(A=>{vt(A,$[A])})}d&&Pg(d,e,"c");function P($,A){Ce(A)?A.forEach(z=>$(z.bind(n))):A&&$(A.bind(n))}if(P(zd,f),P(pt,v),P(vh,p),P(ea,m),P(Fd,h),P(M1,g),P(CO,x),P(wO,E),P(yO,_),P(Pt,C),P(_s,y),P(bO,R),Ce(M))if(M.length){const $=e.exposed||(e.exposed={});M.forEach(A=>{Object.defineProperty($,A,{get:()=>n[A],set:z=>n[A]=z,enumerable:!0})})}else e.exposed||(e.exposed={});k&&e.render===Mt&&(e.render=k),O!=null&&(e.inheritAttrs=O),N&&(e.components=N),F&&(e.directives=F),R&&P1(e)}function TO(e,t,n=Mt){Ce(e)&&(e=Ap(e));for(const o in e){const a=e[o];let l;rt(a)?"default"in a?l=Pe(a.from||o,a.default,!0):l=Pe(a.from||o):l=Pe(a),qt(l)?Object.defineProperty(t,o,{enumerable:!0,configurable:!0,get:()=>l.value,set:r=>l.value=r}):t[o]=l}}function Pg(e,t,n){Uo(Ce(e)?e.map(o=>o.bind(t.proxy)):e.bind(t.proxy),t,n)}function F1(e,t,n,o){let a=o.includes(".")?H1(n,o):()=>n[o];if(Ve(e)){const l=t[e];Ke(l)&&fe(a,l)}else if(Ke(e))fe(a,e.bind(n));else if(rt(e))if(Ce(e))e.forEach(l=>F1(l,t,n,o));else{const l=Ke(e.handler)?e.handler.bind(n):t[e.handler];Ke(l)&&fe(a,l,e)}}function V1(e){const t=e.type,{mixins:n,extends:o}=t,{mixins:a,optionsCache:l,config:{optionMergeStrategies:r}}=e.appContext,i=l.get(t);let u;return i?u=i:!a.length&&!n&&!o?u=t:(u={},a.length&&a.forEach(c=>Yc(u,c,r,!0)),Yc(u,t,r)),rt(t)&&l.set(t,u),u}function Yc(e,t,n,o=!1){const{mixins:a,extends:l}=t;l&&Yc(e,l,n,!0),a&&a.forEach(r=>Yc(e,r,n,!0));for(const r in t)if(!(o&&r==="expose")){const i=OO[r]||n&&n[r];e[r]=i?i(e[r],t[r]):t[r]}return e}const OO={data:Mg,props:Ag,emits:Ag,methods:ei,computed:ei,beforeCreate:Zn,created:Zn,beforeMount:Zn,mounted:Zn,beforeUpdate:Zn,updated:Zn,beforeDestroy:Zn,beforeUnmount:Zn,destroyed:Zn,unmounted:Zn,activated:Zn,deactivated:Zn,errorCaptured:Zn,serverPrefetch:Zn,components:ei,directives:ei,watch:RO,provide:Mg,inject:$O};function Mg(e,t){return t?e?function(){return Tn(Ke(e)?e.call(this,this):e,Ke(t)?t.call(this,this):t)}:t:e}function $O(e,t){return ei(Ap(e),Ap(t))}function Ap(e){if(Ce(e)){const t={};for(let n=0;n1)return n&&Ke(t)?t.call(o&&o.proxy):t}}const IO=Symbol.for("v-scx"),PO=()=>Pe(IO);function Eo(e,t){return bh(e,null,t)}function fe(e,t,n){return bh(e,t,n)}function bh(e,t,n=on){const{immediate:o,deep:a,flush:l,once:r}=n,i=Tn({},n),u=t&&o||!t&&l!=="post";let c;if($i){if(l==="sync"){const p=PO();c=p.__watcherHandles||(p.__watcherHandles=[])}else if(!u){const p=()=>{};return p.stop=Mt,p.resume=Mt,p.pause=Mt,p}}const d=Wn;i.call=(p,m,h)=>Uo(p,d,m,h);let f=!1;l==="post"?i.scheduler=p=>{Fn(p,d&&d.suspense)}:l!=="sync"&&(f=!0,i.scheduler=(p,m)=>{m?p():fh(p)}),i.augmentJob=p=>{t&&(p.flags|=4),f&&(p.flags|=2,d&&(p.id=d.uid,p.i=d))};const v=cO(e,t,i);return $i&&(c?c.push(v):u&&v()),v}function MO(e,t,n){const o=this.proxy,a=Ve(e)?e.includes(".")?H1(o,e):()=>o[e]:e.bind(o,o);let l;Ke(t)?l=t:(l=t.handler,n=t);const r=ru(this),i=bh(a,l.bind(o),n);return r(),i}function H1(e,t){const n=t.split(".");return()=>{let o=e;for(let a=0;at==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${no(t)}Modifiers`]||e[`${nl(t)}Modifiers`];function LO(e,t,...n){if(e.isUnmounted)return;const o=e.vnode.props||on;let a=n;const l=t.startsWith("update:"),r=l&&AO(o,t.slice(7));r&&(r.trim&&(a=n.map(d=>Ve(d)?d.trim():d)),r.number&&(a=n.map(rh)));let i,u=o[i=ri(t)]||o[i=ri(no(t))];!u&&l&&(u=o[i=ri(nl(t))]),u&&Uo(u,e,6,a);const c=o[i+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[i])return;e.emitted[i]=!0,Uo(c,e,6,a)}}const DO=new WeakMap;function K1(e,t,n=!1){const o=n?DO:t.emitsCache,a=o.get(e);if(a!==void 0)return a;const l=e.emits;let r={},i=!1;if(!Ke(e)){const u=c=>{const d=K1(c,t,!0);d&&(i=!0,Tn(r,d))};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!l&&!i?(rt(e)&&o.set(e,null),null):(Ce(l)?l.forEach(u=>r[u]=null):Tn(r,l),rt(e)&&o.set(e,r),r)}function Hd(e,t){return!e||!Rd(t)?!1:(t=t.slice(2).replace(/Once$/,""),Rt(e,t[0].toLowerCase()+t.slice(1))||Rt(e,nl(t))||Rt(e,t))}function Lg(e){const{type:t,vnode:n,proxy:o,withProxy:a,propsOptions:[l],slots:r,attrs:i,emit:u,render:c,renderCache:d,props:f,data:v,setupState:p,ctx:m,inheritAttrs:h}=e,g=Uc(e);let b,C;try{if(n.shapeFlag&4){const y=a||o,k=y;b=Do(c.call(k,y,d,f,p,v,m)),C=i}else{const y=t;b=Do(y.length>1?y(f,{attrs:i,slots:r,emit:u}):y(f,null)),C=t.props?i:FO(i)}}catch(y){fi.length=0,lu(y,e,1),b=G(an)}let w=b;if(C&&h!==!1){const y=Object.keys(C),{shapeFlag:k}=w;y.length&&k&7&&(l&&y.some(ah)&&(C=VO(C,l)),w=Ga(w,C,!1,!0))}return n.dirs&&(w=Ga(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&pr(w,n.transition),b=w,Uc(g),b}function BO(e,t=!0){let n;for(let o=0;o{let t;for(const n in e)(n==="class"||n==="style"||Rd(n))&&((t||(t={}))[n]=e[n]);return t},VO=(e,t)=>{const n={};for(const o in e)(!ah(o)||!(o.slice(9)in t))&&(n[o]=e[o]);return n};function zO(e,t,n){const{props:o,children:a,component:l}=e,{props:r,children:i,patchFlag:u}=t,c=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&u>=0){if(u&1024)return!0;if(u&16)return o?Dg(o,r,c):!!r;if(u&8){const d=t.dynamicProps;for(let f=0;fObject.create(W1),U1=e=>Object.getPrototypeOf(e)===W1;function HO(e,t,n,o=!1){const a={},l=j1();e.propsDefaults=Object.create(null),q1(e,t,a,l);for(const r in e.propsOptions[0])r in a||(a[r]=void 0);n?e.props=o?a:Ld(a):e.type.props?e.props=a:e.props=l,e.attrs=l}function KO(e,t,n,o){const{props:a,attrs:l,vnode:{patchFlag:r}}=e,i=Kt(a),[u]=e.propsOptions;let c=!1;if((o||r>0)&&!(r&16)){if(r&8){const d=e.vnode.dynamicProps;for(let f=0;f{u=!0;const[v,p]=Y1(f,t,!0);Tn(r,v),p&&i.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!l&&!u)return rt(e)&&o.set(e,Kr),Kr;if(Ce(l))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",Ch=e=>Ce(e)?e.map(Do):[Do(e)],jO=(e,t,n)=>{if(t._n)return t;const o=te((...a)=>Ch(t(...a)),n);return o._c=!1,o},G1=(e,t,n)=>{const o=e._ctx;for(const a in e){if(wh(a))continue;const l=e[a];if(Ke(l))t[a]=jO(a,l,o);else if(l!=null){const r=Ch(l);t[a]=()=>r}}},X1=(e,t)=>{const n=Ch(t);e.slots.default=()=>n},J1=(e,t,n)=>{for(const o in t)(n||!wh(o))&&(e[o]=t[o])},UO=(e,t,n)=>{const o=e.slots=j1();if(e.vnode.shapeFlag&32){const a=t._;a?(J1(o,t,n),n&&qw(o,"_",a,!0)):G1(t,o)}else t&&X1(e,t)},qO=(e,t,n)=>{const{vnode:o,slots:a}=e;let l=!0,r=on;if(o.shapeFlag&32){const i=t._;i?n&&i===1?l=!1:J1(a,t,n):(l=!t.$stable,G1(t,a)),r=t}else t&&(X1(e,t),r={default:1});if(l)for(const i in a)!wh(i)&&r[i]==null&&delete a[i]},Fn=a$;function YO(e){return GO(e)}function GO(e,t){const n=Pd();n.__VUE__=!0;const{insert:o,remove:a,patchProp:l,createElement:r,createText:i,createComment:u,setText:c,setElementText:d,parentNode:f,nextSibling:v,setScopeId:p=Mt,insertStaticContent:m}=e,h=(K,Z,ue,pe=null,ve=null,he=null,Ie=void 0,_e=null,De=!!Z.dynamicChildren)=>{if(K===Z)return;K&&!da(K,Z)&&(pe=ee(K),V(K,ve,he,!0),K=null),Z.patchFlag===-2&&(De=!1,Z.dynamicChildren=null);const{type:ye,ref:xe,shapeFlag:Re}=Z;switch(ye){case Ts:g(K,Z,ue,pe);break;case an:b(K,Z,ue,pe);break;case Hf:K==null&&C(Z,ue,pe,Ie);break;case ze:N(K,Z,ue,pe,ve,he,Ie,_e,De);break;default:Re&1?k(K,Z,ue,pe,ve,he,Ie,_e,De):Re&6?F(K,Z,ue,pe,ve,he,Ie,_e,De):(Re&64||Re&128)&&ye.process(K,Z,ue,pe,ve,he,Ie,_e,De,Q)}xe!=null&&ve?ci(xe,K&&K.ref,he,Z||K,!Z):xe==null&&K&&K.ref!=null&&ci(K.ref,null,he,K,!0)},g=(K,Z,ue,pe)=>{if(K==null)o(Z.el=i(Z.children),ue,pe);else{const ve=Z.el=K.el;Z.children!==K.children&&c(ve,Z.children)}},b=(K,Z,ue,pe)=>{K==null?o(Z.el=u(Z.children||""),ue,pe):Z.el=K.el},C=(K,Z,ue,pe)=>{[K.el,K.anchor]=m(K.children,Z,ue,pe,K.el,K.anchor)},w=({el:K,anchor:Z},ue,pe)=>{let ve;for(;K&&K!==Z;)ve=v(K),o(K,ue,pe),K=ve;o(Z,ue,pe)},y=({el:K,anchor:Z})=>{let ue;for(;K&&K!==Z;)ue=v(K),a(K),K=ue;a(Z)},k=(K,Z,ue,pe,ve,he,Ie,_e,De)=>{if(Z.type==="svg"?Ie="svg":Z.type==="math"&&(Ie="mathml"),K==null)E(Z,ue,pe,ve,he,Ie,_e,De);else{const ye=K.el&&K.el._isVueCE?K.el:null;try{ye&&ye._beginPatch(),R(K,Z,ve,he,Ie,_e,De)}finally{ye&&ye._endPatch()}}},E=(K,Z,ue,pe,ve,he,Ie,_e)=>{let De,ye;const{props:xe,shapeFlag:Re,transition:Le,dirs:He}=K;if(De=K.el=r(K.type,he,xe&&xe.is,xe),Re&8?d(De,K.children):Re&16&&x(K.children,De,null,pe,ve,zf(K,he),Ie,_e),He&&Kl(K,null,pe,"created"),_(De,K,K.scopeId,Ie,pe),xe){for(const We in xe)We!=="value"&&!li(We)&&l(De,We,null,xe[We],he,pe);"value"in xe&&l(De,"value",null,xe.value,he),(ye=xe.onVnodeBeforeMount)&&sa(ye,pe,K)}He&&Kl(K,null,pe,"beforeMount");const me=XO(ve,Le);me&&Le.beforeEnter(De),o(De,Z,ue),((ye=xe&&xe.onVnodeMounted)||me||He)&&Fn(()=>{ye&&sa(ye,pe,K),me&&Le.enter(De),He&&Kl(K,null,pe,"mounted")},ve)},_=(K,Z,ue,pe,ve)=>{if(ue&&p(K,ue),pe)for(let he=0;he{for(let ye=De;ye{const _e=Z.el=K.el;let{patchFlag:De,dynamicChildren:ye,dirs:xe}=Z;De|=K.patchFlag&16;const Re=K.props||on,Le=Z.props||on;let He;if(ue&&Wl(ue,!1),(He=Le.onVnodeBeforeUpdate)&&sa(He,ue,Z,K),xe&&Kl(Z,K,ue,"beforeUpdate"),ue&&Wl(ue,!0),(Re.innerHTML&&Le.innerHTML==null||Re.textContent&&Le.textContent==null)&&d(_e,""),ye?M(K.dynamicChildren,ye,_e,ue,pe,zf(Z,ve),he):Ie||A(K,Z,_e,null,ue,pe,zf(Z,ve),he,!1),De>0){if(De&16)O(_e,Re,Le,ue,ve);else if(De&2&&Re.class!==Le.class&&l(_e,"class",null,Le.class,ve),De&4&&l(_e,"style",Re.style,Le.style,ve),De&8){const me=Z.dynamicProps;for(let We=0;We{He&&sa(He,ue,Z,K),xe&&Kl(Z,K,ue,"updated")},pe)},M=(K,Z,ue,pe,ve,he,Ie)=>{for(let _e=0;_e{if(Z!==ue){if(Z!==on)for(const he in Z)!li(he)&&!(he in ue)&&l(K,he,Z[he],null,ve,pe);for(const he in ue){if(li(he))continue;const Ie=ue[he],_e=Z[he];Ie!==_e&&he!=="value"&&l(K,he,_e,Ie,ve,pe)}"value"in ue&&l(K,"value",Z.value,ue.value,ve)}},N=(K,Z,ue,pe,ve,he,Ie,_e,De)=>{const ye=Z.el=K?K.el:i(""),xe=Z.anchor=K?K.anchor:i("");let{patchFlag:Re,dynamicChildren:Le,slotScopeIds:He}=Z;He&&(_e=_e?_e.concat(He):He),K==null?(o(ye,ue,pe),o(xe,ue,pe),x(Z.children||[],ue,xe,ve,he,Ie,_e,De)):Re>0&&Re&64&&Le&&K.dynamicChildren?(M(K.dynamicChildren,Le,ue,ve,he,Ie,_e),(Z.key!=null||ve&&Z===ve.subTree)&&Sh(K,Z,!0)):A(K,Z,ue,xe,ve,he,Ie,_e,De)},F=(K,Z,ue,pe,ve,he,Ie,_e,De)=>{Z.slotScopeIds=_e,K==null?Z.shapeFlag&512?ve.ctx.activate(Z,ue,pe,Ie,De):U(Z,ue,pe,ve,he,Ie,De):Y(K,Z,De)},U=(K,Z,ue,pe,ve,he,Ie)=>{const _e=K.component=u$(K,pe,ve);if(Bd(K)&&(_e.ctx.renderer=Q),c$(_e,!1,Ie),_e.asyncDep){if(ve&&ve.registerDep(_e,P,Ie),!K.el){const De=_e.subTree=G(an);b(null,De,Z,ue),K.placeholder=De.el}}else P(_e,K,Z,ue,ve,he,Ie)},Y=(K,Z,ue)=>{const pe=Z.component=K.component;if(zO(K,Z,ue))if(pe.asyncDep&&!pe.asyncResolved){$(pe,Z,ue);return}else pe.next=Z,pe.update();else Z.el=K.el,pe.vnode=Z},P=(K,Z,ue,pe,ve,he,Ie)=>{const _e=()=>{if(K.isMounted){let{next:Re,bu:Le,u:He,parent:me,vnode:We}=K;{const ot=Z1(K);if(ot){Re&&(Re.el=We.el,$(K,Re,Ie)),ot.asyncDep.then(()=>{K.isUnmounted||_e()});return}}let Be=Re,Ct;Wl(K,!1),Re?(Re.el=We.el,$(K,Re,Ie)):Re=We,Le&&cc(Le),(Ct=Re.props&&Re.props.onVnodeBeforeUpdate)&&sa(Ct,me,Re,We),Wl(K,!0);const Et=Lg(K),Xe=K.subTree;K.subTree=Et,h(Xe,Et,f(Xe.el),ee(Xe),K,ve,he),Re.el=Et.el,Be===null&&yh(K,Et.el),He&&Fn(He,ve),(Ct=Re.props&&Re.props.onVnodeUpdated)&&Fn(()=>sa(Ct,me,Re,We),ve)}else{let Re;const{el:Le,props:He}=Z,{bm:me,m:We,parent:Be,root:Ct,type:Et}=K,Xe=Ur(Z);Wl(K,!1),me&&cc(me),!Xe&&(Re=He&&He.onVnodeBeforeMount)&&sa(Re,Be,Z),Wl(K,!0);{Ct.ce&&Ct.ce._def.shadowRoot!==!1&&Ct.ce._injectChildStyle(Et);const ot=K.subTree=Lg(K);h(null,ot,ue,pe,K,ve,he),Z.el=ot.el}if(We&&Fn(We,ve),!Xe&&(Re=He&&He.onVnodeMounted)){const ot=Z;Fn(()=>sa(Re,Be,ot),ve)}(Z.shapeFlag&256||Be&&Ur(Be.vnode)&&Be.vnode.shapeFlag&256)&&K.a&&Fn(K.a,ve),K.isMounted=!0,Z=ue=pe=null}};K.scope.on();const De=K.effect=new n1(_e);K.scope.off();const ye=K.update=De.run.bind(De),xe=K.job=De.runIfDirty.bind(De);xe.i=K,xe.id=K.uid,De.scheduler=()=>fh(xe),Wl(K,!0),ye()},$=(K,Z,ue)=>{Z.component=K;const pe=K.vnode.props;K.vnode=Z,K.next=null,KO(K,Z.props,pe,ue),qO(K,Z.children,ue),Ua(),_g(K),qa()},A=(K,Z,ue,pe,ve,he,Ie,_e,De=!1)=>{const ye=K&&K.children,xe=K?K.shapeFlag:0,Re=Z.children,{patchFlag:Le,shapeFlag:He}=Z;if(Le>0){if(Le&128){D(ye,Re,ue,pe,ve,he,Ie,_e,De);return}else if(Le&256){z(ye,Re,ue,pe,ve,he,Ie,_e,De);return}}He&8?(xe&16&&ce(ye,ve,he),Re!==ye&&d(ue,Re)):xe&16?He&16?D(ye,Re,ue,pe,ve,he,Ie,_e,De):ce(ye,ve,he,!0):(xe&8&&d(ue,""),He&16&&x(Re,ue,pe,ve,he,Ie,_e,De))},z=(K,Z,ue,pe,ve,he,Ie,_e,De)=>{K=K||Kr,Z=Z||Kr;const ye=K.length,xe=Z.length,Re=Math.min(ye,xe);let Le;for(Le=0;Lexe?ce(K,ve,he,!0,!1,Re):x(Z,ue,pe,ve,he,Ie,_e,De,Re)},D=(K,Z,ue,pe,ve,he,Ie,_e,De)=>{let ye=0;const xe=Z.length;let Re=K.length-1,Le=xe-1;for(;ye<=Re&&ye<=Le;){const He=K[ye],me=Z[ye]=De?Cl(Z[ye]):Do(Z[ye]);if(da(He,me))h(He,me,ue,null,ve,he,Ie,_e,De);else break;ye++}for(;ye<=Re&&ye<=Le;){const He=K[Re],me=Z[Le]=De?Cl(Z[Le]):Do(Z[Le]);if(da(He,me))h(He,me,ue,null,ve,he,Ie,_e,De);else break;Re--,Le--}if(ye>Re){if(ye<=Le){const He=Le+1,me=HeLe)for(;ye<=Re;)V(K[ye],ve,he,!0),ye++;else{const He=ye,me=ye,We=new Map;for(ye=me;ye<=Le;ye++){const Ue=Z[ye]=De?Cl(Z[ye]):Do(Z[ye]);Ue.key!=null&&We.set(Ue.key,ye)}let Be,Ct=0;const Et=Le-me+1;let Xe=!1,ot=0;const ct=new Array(Et);for(ye=0;ye=Et){V(Ue,ve,he,!0);continue}let de;if(Ue.key!=null)de=We.get(Ue.key);else for(Be=me;Be<=Le;Be++)if(ct[Be-me]===0&&da(Ue,Z[Be])){de=Be;break}de===void 0?V(Ue,ve,he,!0):(ct[de-me]=ye+1,de>=ot?ot=de:Xe=!0,h(Ue,Z[de],ue,null,ve,he,Ie,_e,De),Ct++)}const be=Xe?JO(ct):Kr;for(Be=be.length-1,ye=Et-1;ye>=0;ye--){const Ue=me+ye,de=Z[Ue],qe=Z[Ue+1],yt=Ue+1{const{el:he,type:Ie,transition:_e,children:De,shapeFlag:ye}=K;if(ye&6){W(K.component.subTree,Z,ue,pe);return}if(ye&128){K.suspense.move(Z,ue,pe);return}if(ye&64){Ie.move(K,Z,ue,Q);return}if(Ie===ze){o(he,Z,ue);for(let Re=0;Re_e.enter(he),ve);else{const{leave:Re,delayLeave:Le,afterLeave:He}=_e,me=()=>{K.ctx.isUnmounted?a(he):o(he,Z,ue)},We=()=>{he._isLeaving&&he[La](!0),Re(he,()=>{me(),He&&He()})};Le?Le(he,me,We):We()}else o(he,Z,ue)},V=(K,Z,ue,pe=!1,ve=!1)=>{const{type:he,props:Ie,ref:_e,children:De,dynamicChildren:ye,shapeFlag:xe,patchFlag:Re,dirs:Le,cacheIndex:He}=K;if(Re===-2&&(ve=!1),_e!=null&&(Ua(),ci(_e,null,ue,K,!0),qa()),He!=null&&(Z.renderCache[He]=void 0),xe&256){Z.ctx.deactivate(K);return}const me=xe&1&&Le,We=!Ur(K);let Be;if(We&&(Be=Ie&&Ie.onVnodeBeforeUnmount)&&sa(Be,Z,K),xe&6)oe(K.component,ue,pe);else{if(xe&128){K.suspense.unmount(ue,pe);return}me&&Kl(K,null,Z,"beforeUnmount"),xe&64?K.type.remove(K,Z,ue,Q,pe):ye&&!ye.hasOnce&&(he!==ze||Re>0&&Re&64)?ce(ye,Z,ue,!1,!0):(he===ze&&Re&384||!ve&&xe&16)&&ce(De,Z,ue),pe&&j(K)}(We&&(Be=Ie&&Ie.onVnodeUnmounted)||me)&&Fn(()=>{Be&&sa(Be,Z,K),me&&Kl(K,null,Z,"unmounted")},ue)},j=K=>{const{type:Z,el:ue,anchor:pe,transition:ve}=K;if(Z===ze){ne(ue,pe);return}if(Z===Hf){y(K);return}const he=()=>{a(ue),ve&&!ve.persisted&&ve.afterLeave&&ve.afterLeave()};if(K.shapeFlag&1&&ve&&!ve.persisted){const{leave:Ie,delayLeave:_e}=ve,De=()=>Ie(ue,he);_e?_e(K.el,he,De):De()}else he()},ne=(K,Z)=>{let ue;for(;K!==Z;)ue=v(K),a(K),K=ue;a(Z)},oe=(K,Z,ue)=>{const{bum:pe,scope:ve,job:he,subTree:Ie,um:_e,m:De,a:ye}=K;Fg(De),Fg(ye),pe&&cc(pe),ve.stop(),he&&(he.flags|=8,V(Ie,K,Z,ue)),_e&&Fn(_e,Z),Fn(()=>{K.isUnmounted=!0},Z)},ce=(K,Z,ue,pe=!1,ve=!1,he=0)=>{for(let Ie=he;Ie{if(K.shapeFlag&6)return ee(K.component.subTree);if(K.shapeFlag&128)return K.suspense.next();const Z=v(K.anchor||K.el),ue=Z&&Z[E1];return ue?v(ue):Z};let se=!1;const X=(K,Z,ue)=>{K==null?Z._vnode&&V(Z._vnode,null,null,!0):h(Z._vnode||null,K,Z,null,null,null,ue),Z._vnode=K,se||(se=!0,_g(),C1(),se=!1)},Q={p:h,um:V,m:W,r:j,mt:U,mc:x,pc:A,pbc:M,n:ee,o:e};return{render:X,hydrate:void 0,createApp:xO(X)}}function zf({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 Wl({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function XO(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Sh(e,t,n=!1){const o=e.children,a=t.children;if(Ce(o)&&Ce(a))for(let l=0;l>1,e[n[i]]0&&(t[o]=n[l-1]),n[l]=o)}}for(l=n.length,r=n[l-1];l-- >0;)n[l]=r,r=t[r];return n}function Z1(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Z1(t)}function Fg(e){if(e)for(let t=0;te.__isSuspense;let Dp=0;const ZO={name:"Suspense",__isSuspense:!0,process(e,t,n,o,a,l,r,i,u,c){if(e==null)e$(t,n,o,a,l,r,i,u,c);else{if(l&&l.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}t$(e,t,n,o,a,r,i,u,c)}},hydrate:n$,normalize:o$},QO=ZO;function Oi(e,t){const n=e.props&&e.props[t];Ke(n)&&n()}function e$(e,t,n,o,a,l,r,i,u){const{p:c,o:{createElement:d}}=u,f=d("div"),v=e.suspense=eC(e,a,o,t,f,n,l,r,i,u);c(null,v.pendingBranch=e.ssContent,f,null,o,v,l,r),v.deps>0?(Oi(e,"onPending"),Oi(e,"onFallback"),c(null,e.ssFallback,t,n,o,null,l,r),Yr(v,e.ssFallback)):v.resolve(!1,!0)}function t$(e,t,n,o,a,l,r,i,{p:u,um:c,o:{createElement:d}}){const f=t.suspense=e.suspense;f.vnode=t,t.el=e.el;const v=t.ssContent,p=t.ssFallback,{activeBranch:m,pendingBranch:h,isInFallback:g,isHydrating:b}=f;if(h)f.pendingBranch=v,da(h,v)?(u(h,v,f.hiddenContainer,null,a,f,l,r,i),f.deps<=0?f.resolve():g&&(b||(u(m,p,n,o,a,null,l,r,i),Yr(f,p)))):(f.pendingId=Dp++,b?(f.isHydrating=!1,f.activeBranch=h):c(h,a,f),f.deps=0,f.effects.length=0,f.hiddenContainer=d("div"),g?(u(null,v,f.hiddenContainer,null,a,f,l,r,i),f.deps<=0?f.resolve():(u(m,p,n,o,a,null,l,r,i),Yr(f,p))):m&&da(m,v)?(u(m,v,n,o,a,f,l,r,i),f.resolve(!0)):(u(null,v,f.hiddenContainer,null,a,f,l,r,i),f.deps<=0&&f.resolve()));else if(m&&da(m,v))u(m,v,n,o,a,f,l,r,i),Yr(f,v);else if(Oi(t,"onPending"),f.pendingBranch=v,v.shapeFlag&512?f.pendingId=v.component.suspenseId:f.pendingId=Dp++,u(null,v,f.hiddenContainer,null,a,f,l,r,i),f.deps<=0)f.resolve();else{const{timeout:C,pendingId:w}=f;C>0?setTimeout(()=>{f.pendingId===w&&f.fallback(p)},C):C===0&&f.fallback(p)}}function eC(e,t,n,o,a,l,r,i,u,c,d=!1){const{p:f,m:v,um:p,n:m,o:{parentNode:h,remove:g}}=c;let b;const C=l$(e);C&&t&&t.pendingBranch&&(b=t.pendingId,t.deps++);const w=e.props?Yw(e.props.timeout):void 0,y=l,k={vnode:e,parent:t,parentComponent:n,namespace:r,container:o,hiddenContainer:a,deps:0,pendingId:Dp++,timeout:typeof w=="number"?w:-1,activeBranch:null,pendingBranch:null,isInFallback:!d,isHydrating:d,isUnmounted:!1,effects:[],resolve(E=!1,_=!1){const{vnode:x,activeBranch:R,pendingBranch:M,pendingId:O,effects:N,parentComponent:F,container:U,isInFallback:Y}=k;let P=!1;k.isHydrating?k.isHydrating=!1:E||(P=R&&M.transition&&M.transition.mode==="out-in",P&&(R.transition.afterLeave=()=>{O===k.pendingId&&(v(M,U,l===y?m(R):l,0),xp(N),Y&&x.ssFallback&&(x.ssFallback.el=null))}),R&&(h(R.el)===U&&(l=m(R)),p(R,F,k,!0),!P&&Y&&x.ssFallback&&Fn(()=>x.ssFallback.el=null,k)),P||v(M,U,l,0)),Yr(k,M),k.pendingBranch=null,k.isInFallback=!1;let $=k.parent,A=!1;for(;$;){if($.pendingBranch){$.effects.push(...N),A=!0;break}$=$.parent}!A&&!P&&xp(N),k.effects=[],C&&t&&t.pendingBranch&&b===t.pendingId&&(t.deps--,t.deps===0&&!_&&t.resolve()),Oi(x,"onResolve")},fallback(E){if(!k.pendingBranch)return;const{vnode:_,activeBranch:x,parentComponent:R,container:M,namespace:O}=k;Oi(_,"onFallback");const N=m(x),F=()=>{k.isInFallback&&(f(null,E,M,N,R,null,O,i,u),Yr(k,E))},U=E.transition&&E.transition.mode==="out-in";U&&(x.transition.afterLeave=F),k.isInFallback=!0,p(x,R,null,!0),U||F()},move(E,_,x){k.activeBranch&&v(k.activeBranch,E,_,x),k.container=E},next(){return k.activeBranch&&m(k.activeBranch)},registerDep(E,_,x){const R=!!k.pendingBranch;R&&k.deps++;const M=E.vnode.el;E.asyncDep.catch(O=>{lu(O,E,0)}).then(O=>{if(E.isUnmounted||k.isUnmounted||k.pendingId!==E.suspenseId)return;E.asyncResolved=!0;const{vnode:N}=E;Fp(E,O),M&&(N.el=M);const F=!M&&E.subTree.el;_(E,N,h(M||E.subTree.el),M?null:m(E.subTree),k,r,x),F&&(N.placeholder=null,g(F)),yh(E,N.el),R&&--k.deps===0&&k.resolve()})},unmount(E,_){k.isUnmounted=!0,k.activeBranch&&p(k.activeBranch,n,E,_),k.pendingBranch&&p(k.pendingBranch,n,E,_)}};return k}function n$(e,t,n,o,a,l,r,i,u){const c=t.suspense=eC(t,o,n,e.parentNode,document.createElement("div"),null,a,l,r,i,!0),d=u(e,c.pendingBranch=t.ssContent,n,c,l,r);return c.deps===0&&c.resolve(!1,!0),d}function o$(e){const{shapeFlag:t,children:n}=e,o=t&32;e.ssContent=Vg(o?n.default:n),e.ssFallback=o?Vg(n.fallback):G(an)}function Vg(e){let t;if(Ke(e)){const n=as&&e._c;n&&(e._d=!1,T()),e=e(),n&&(e._d=!0,t=io,tC())}return Ce(e)&&(e=BO(e)),e=Do(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function a$(e,t){t&&t.pendingBranch?Ce(e)?t.effects.push(...e):t.effects.push(e):xp(e)}function Yr(e,t){e.activeBranch=t;const{vnode:n,parentComponent:o}=e;let a=t.el;for(;!a&&t.component;)t=t.component.subTree,a=t.el;n.el=a,o&&o.subTree===n&&(o.vnode.el=a,yh(o,a))}function l$(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}const ze=Symbol.for("v-fgt"),Ts=Symbol.for("v-txt"),an=Symbol.for("v-cmt"),Hf=Symbol.for("v-stc"),fi=[];let io=null;function T(e=!1){fi.push(io=e?null:[])}function tC(){fi.pop(),io=fi[fi.length-1]||null}let as=1;function Gc(e,t=!1){as+=e,e<0&&io&&t&&(io.hasOnce=!0)}function nC(e){return e.dynamicChildren=as>0?io||Kr:null,tC(),as>0&&io&&io.push(e),e}function B(e,t,n,o,a,l){return nC(H(e,t,n,o,a,l,!0))}function ie(e,t,n,o,a){return nC(G(e,t,n,o,a,!0))}function Ht(e){return e?e.__v_isVNode===!0:!1}function da(e,t){return e.type===t.type&&e.key===t.key}const oC=({key:e})=>e??null,pc=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ve(e)||qt(e)||Ke(e)?{i:An,r:e,k:t,f:!!n}:e:null);function H(e,t=null,n=null,o=0,a=null,l=e===ze?0:1,r=!1,i=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&oC(t),ref:t&&pc(t),scopeId:k1,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:l,patchFlag:o,dynamicProps:a,dynamicChildren:null,appContext:null,ctx:An};return i?(kh(u,n),l&128&&e.normalize(u)):n&&(u.shapeFlag|=Ve(n)?8:16),as>0&&!r&&io&&(u.patchFlag>0||l&6)&&u.patchFlag!==32&&io.push(u),u}const G=r$;function r$(e,t=null,n=null,o=0,a=null,l=!1){if((!e||e===L1)&&(e=an),Ht(e)){const i=Ga(e,t,!0);return n&&kh(i,n),as>0&&!l&&io&&(i.shapeFlag&6?io[io.indexOf(e)]=i:io.push(i)),i.patchFlag=-2,i}if(v$(e)&&(e=e.__vccOpts),t){t=pa(t);let{class:i,style:u}=t;i&&!Ve(i)&&(t.class=I(i)),rt(u)&&(Dd(u)&&!Ce(u)&&(u=Tn({},u)),t.style=je(u))}const r=Ve(e)?1:Q1(e)?128:_1(e)?64:rt(e)?4:Ke(e)?2:0;return H(e,t,n,o,a,r,l,!0)}function pa(e){return e?Dd(e)||U1(e)?Tn({},e):e:null}function Ga(e,t,n=!1,o=!1){const{props:a,ref:l,patchFlag:r,children:i,transition:u}=e,c=t?ft(a||{},t):a,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&oC(c),ref:t&&t.ref?n&&l?Ce(l)?l.concat(pc(t)):[l,pc(t)]:pc(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:i,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ze?r===-1?16:r|16:r,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ga(e.ssContent),ssFallback:e.ssFallback&&Ga(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&o&&pr(d,u.clone(d)),d}function wt(e=" ",t=0){return G(Ts,null,e,t)}function re(e="",t=!1){return t?(T(),ie(an,null,e)):G(an,null,e)}function Do(e){return e==null||typeof e=="boolean"?G(an):Ce(e)?G(ze,null,e.slice()):Ht(e)?Cl(e):G(Ts,null,String(e))}function Cl(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ga(e)}function kh(e,t){let n=0;const{shapeFlag:o}=e;if(t==null)t=null;else if(Ce(t))n=16;else if(typeof t=="object")if(o&65){const a=t.default;a&&(a._c&&(a._d=!1),kh(e,a()),a._c&&(a._d=!0));return}else{n=32;const a=t._;!a&&!U1(t)?t._ctx=An:a===3&&An&&(An.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Ke(t)?(t={default:t,_ctx:An},n=32):(t=String(t),o&64?(n=16,t=[wt(t)]):n=8);e.children=t,e.shapeFlag|=n}function ft(...e){const t={};for(let n=0;nWn||An;let Xc,Bp;{const e=Pd(),t=(n,o)=>{let a;return(a=e[n])||(a=e[n]=[]),a.push(o),l=>{a.length>1?a.forEach(r=>r(l)):a[0](l)}};Xc=t("__VUE_INSTANCE_SETTERS__",n=>Wn=n),Bp=t("__VUE_SSR_SETTERS__",n=>$i=n)}const ru=e=>{const t=Wn;return Xc(e),e.scope.on(),()=>{e.scope.off(),Xc(t)}},zg=()=>{Wn&&Wn.scope.off(),Xc(null)};function aC(e){return e.vnode.shapeFlag&4}let $i=!1;function c$(e,t=!1,n=!1){t&&Bp(t);const{props:o,children:a}=e.vnode,l=aC(e);HO(e,o,l,t),UO(e,a,n||t);const r=l?d$(e,t):void 0;return t&&Bp(!1),r}function d$(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,EO);const{setup:o}=n;if(o){Ua();const a=e.setupContext=o.length>1?rC(e):null,l=ru(e),r=au(o,e,0,[e.props,a]),i=dr(r);if(qa(),l(),(i||e.sp)&&!Ur(e)&&P1(e),i){if(r.then(zg,zg),t)return r.then(u=>{Fp(e,u)}).catch(u=>{lu(u,e,0)});e.asyncDep=r}else Fp(e,r)}else lC(e)}function Fp(e,t,n){Ke(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:rt(t)&&(e.setupState=g1(t)),lC(e)}function lC(e,t,n){const o=e.type;e.render||(e.render=o.render||Mt);{const a=ru(e);Ua();try{_O(e)}finally{qa(),a()}}}const f$={get(e,t){return Kn(e,"get",""),e[t]}};function rC(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,f$),slots:e.slots,emit:e.emit,expose:t}}function Kd(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(g1(Ha(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in di)return di[n](e)},has(t,n){return n in t||n in di}})):e.proxy}function p$(e,t=!0){return Ke(e)?e.displayName||e.name:e.name||t&&e.__name}function v$(e){return Ke(e)&&"__vccOpts"in e}const S=(e,t)=>iO(e,t,$i);function Ge(e,t,n){try{Gc(-1);const o=arguments.length;return o===2?rt(t)&&!Ce(t)?Ht(t)?G(e,null,[t]):G(e,t):G(e,null,t):(o>3?n=Array.prototype.slice.call(arguments,2):o===3&&Ht(n)&&(n=[n]),G(e,t,n))}finally{Gc(1)}}const h$="3.5.25",m$=Mt;let Vp;const Hg=typeof window<"u"&&window.trustedTypes;if(Hg)try{Vp=Hg.createPolicy("vue",{createHTML:e=>e})}catch{}const sC=Vp?e=>Vp.createHTML(e):e=>e,g$="http://www.w3.org/2000/svg",b$="http://www.w3.org/1998/Math/MathML",Aa=typeof document<"u"?document:null,Kg=Aa&&Aa.createElement("template"),y$={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,o)=>{const a=t==="svg"?Aa.createElementNS(g$,e):t==="mathml"?Aa.createElementNS(b$,e):n?Aa.createElement(e,{is:n}):Aa.createElement(e);return e==="select"&&o&&o.multiple!=null&&a.setAttribute("multiple",o.multiple),a},createText:e=>Aa.createTextNode(e),createComment:e=>Aa.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Aa.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,o,a,l){const r=n?n.previousSibling:t.lastChild;if(a&&(a===l||a.nextSibling))for(;t.insertBefore(a.cloneNode(!0),n),!(a===l||!(a=a.nextSibling)););else{Kg.innerHTML=sC(o==="svg"?`${e}`:o==="mathml"?`${e}`:e);const i=Kg.content;if(o==="svg"||o==="mathml"){const u=i.firstChild;for(;u.firstChild;)i.appendChild(u.firstChild);i.removeChild(u)}t.insertBefore(i,n)}return[r?r.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},fl="transition",Hs="animation",ls=Symbol("_vtc"),iC={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},uC=Tn({},R1,iC),w$=e=>(e.displayName="Transition",e.props=uC,e),Nn=w$((e,{slots:t})=>Ge(mO,cC(e),t)),jl=(e,t=[])=>{Ce(e)?e.forEach(n=>n(...t)):e&&e(...t)},Wg=e=>e?Ce(e)?e.some(t=>t.length>1):e.length>1:!1;function cC(e){const t={};for(const N in e)N in iC||(t[N]=e[N]);if(e.css===!1)return t;const{name:n="v",type:o,duration:a,enterFromClass:l=`${n}-enter-from`,enterActiveClass:r=`${n}-enter-active`,enterToClass:i=`${n}-enter-to`,appearFromClass:u=l,appearActiveClass:c=r,appearToClass:d=i,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:v=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=C$(a),h=m&&m[0],g=m&&m[1],{onBeforeEnter:b,onEnter:C,onEnterCancelled:w,onLeave:y,onLeaveCancelled:k,onBeforeAppear:E=b,onAppear:_=C,onAppearCancelled:x=w}=t,R=(N,F,U,Y)=>{N._enterCancelled=Y,hl(N,F?d:i),hl(N,F?c:r),U&&U()},M=(N,F)=>{N._isLeaving=!1,hl(N,f),hl(N,p),hl(N,v),F&&F()},O=N=>(F,U)=>{const Y=N?_:C,P=()=>R(F,N,U);jl(Y,[F,P]),jg(()=>{hl(F,N?u:l),ua(F,N?d:i),Wg(Y)||Ug(F,o,h,P)})};return Tn(t,{onBeforeEnter(N){jl(b,[N]),ua(N,l),ua(N,r)},onBeforeAppear(N){jl(E,[N]),ua(N,u),ua(N,c)},onEnter:O(!1),onAppear:O(!0),onLeave(N,F){N._isLeaving=!0;const U=()=>M(N,F);ua(N,f),N._enterCancelled?(ua(N,v),zp(N)):(zp(N),ua(N,v)),jg(()=>{N._isLeaving&&(hl(N,f),ua(N,p),Wg(y)||Ug(N,o,g,U))}),jl(y,[N,U])},onEnterCancelled(N){R(N,!1,void 0,!0),jl(w,[N])},onAppearCancelled(N){R(N,!0,void 0,!0),jl(x,[N])},onLeaveCancelled(N){M(N),jl(k,[N])}})}function C$(e){if(e==null)return null;if(rt(e))return[Kf(e.enter),Kf(e.leave)];{const t=Kf(e);return[t,t]}}function Kf(e){return Yw(e)}function ua(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[ls]||(e[ls]=new Set)).add(t)}function hl(e,t){t.split(/\s+/).forEach(o=>o&&e.classList.remove(o));const n=e[ls];n&&(n.delete(t),n.size||(e[ls]=void 0))}function jg(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let S$=0;function Ug(e,t,n,o){const a=e._endId=++S$,l=()=>{a===e._endId&&o()};if(n!=null)return setTimeout(l,n);const{type:r,timeout:i,propCount:u}=dC(e,t);if(!r)return o();const c=r+"end";let d=0;const f=()=>{e.removeEventListener(c,v),l()},v=p=>{p.target===e&&++d>=u&&f()};setTimeout(()=>{d(n[m]||"").split(", "),a=o(`${fl}Delay`),l=o(`${fl}Duration`),r=qg(a,l),i=o(`${Hs}Delay`),u=o(`${Hs}Duration`),c=qg(i,u);let d=null,f=0,v=0;t===fl?r>0&&(d=fl,f=r,v=l.length):t===Hs?c>0&&(d=Hs,f=c,v=u.length):(f=Math.max(r,c),d=f>0?r>c?fl:Hs:null,v=d?d===fl?l.length:u.length:0);const p=d===fl&&/\b(?:transform|all)(?:,|$)/.test(o(`${fl}Property`).toString());return{type:d,timeout:f,propCount:v,hasTransform:p}}function qg(e,t){for(;e.lengthYg(n)+Yg(e[o])))}function Yg(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function zp(e){return(e?e.ownerDocument:document).body.offsetHeight}function k$(e,t,n){const o=e[ls];o&&(t=(t?[t,...o]:[...o]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Jc=Symbol("_vod"),fC=Symbol("_vsh"),$t={name:"show",beforeMount(e,{value:t},{transition:n}){e[Jc]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Ks(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:o}){!t!=!n&&(o?t?(o.beforeEnter(e),Ks(e,!0),o.enter(e)):o.leave(e,()=>{Ks(e,!1)}):Ks(e,t))},beforeUnmount(e,{value:t}){Ks(e,t)}};function Ks(e,t){e.style.display=t?e[Jc]:"none",e[fC]=!t}const E$=Symbol(""),_$=/(?:^|;)\s*display\s*:/;function T$(e,t,n){const o=e.style,a=Ve(n);let l=!1;if(n&&!a){if(t)if(Ve(t))for(const r of t.split(";")){const i=r.slice(0,r.indexOf(":")).trim();n[i]==null&&vc(o,i,"")}else for(const r in t)n[r]==null&&vc(o,r,"");for(const r in n)r==="display"&&(l=!0),vc(o,r,n[r])}else if(a){if(t!==n){const r=o[E$];r&&(n+=";"+r),o.cssText=n,l=_$.test(n)}}else t&&e.removeAttribute("style");Jc in e&&(e[Jc]=l?o.display:"",e[fC]&&(o.display="none"))}const Gg=/\s*!important$/;function vc(e,t,n){if(Ce(n))n.forEach(o=>vc(e,t,o));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const o=O$(e,t);Gg.test(n)?e.setProperty(nl(o),n.replace(Gg,""),"important"):e[o]=n}}const Xg=["Webkit","Moz","ms"],Wf={};function O$(e,t){const n=Wf[t];if(n)return n;let o=no(t);if(o!=="filter"&&o in e)return Wf[t]=o;o=ou(o);for(let a=0;ajf||(x$.then(()=>jf=0),jf=Date.now());function P$(e,t){const n=o=>{if(!o._vts)o._vts=Date.now();else if(o._vts<=n.attached)return;Uo(M$(o,n.value),t,5,[o])};return n.value=e,n.attached=I$(),n}function M$(e,t){if(Ce(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(o=>a=>!a._stopped&&o&&o(a))}else return t}const n0=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,A$=(e,t,n,o,a,l)=>{const r=a==="svg";t==="class"?k$(e,o,r):t==="style"?T$(e,n,o):Rd(t)?ah(t)||R$(e,t,n,o,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):L$(e,t,o,r))?(Qg(e,t,o),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Zg(e,t,o,r,l,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Ve(o))?Qg(e,no(t),o,l,t):(t==="true-value"?e._trueValue=o:t==="false-value"&&(e._falseValue=o),Zg(e,t,o,r))};function L$(e,t,n,o){if(o)return!!(t==="innerHTML"||t==="textContent"||t in e&&n0(t)&&Ke(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"){const a=e.tagName;if(a==="IMG"||a==="VIDEO"||a==="CANVAS"||a==="SOURCE")return!1}return n0(t)&&Ve(n)?!1:t in e}const pC=new WeakMap,vC=new WeakMap,Zc=Symbol("_moveCb"),o0=Symbol("_enterCb"),D$=e=>(delete e.props.mode,e),B$=D$({name:"TransitionGroup",props:Tn({},uC,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=dt(),o=$1();let a,l;return ea(()=>{if(!a.length)return;const r=e.moveClass||`${e.name||"v"}-move`;if(!H$(a[0].el,n.vnode.el,r)){a=[];return}a.forEach(F$),a.forEach(V$);const i=a.filter(z$);zp(n.vnode.el),i.forEach(u=>{const c=u.el,d=c.style;ua(c,r),d.transform=d.webkitTransform=d.transitionDuration="";const f=c[Zc]=v=>{v&&v.target!==c||(!v||v.propertyName.endsWith("transform"))&&(c.removeEventListener("transitionend",f),c[Zc]=null,hl(c,r))};c.addEventListener("transitionend",f)}),a=[]}),()=>{const r=Kt(e),i=cC(r);let u=r.tag||ze;if(a=[],l)for(let c=0;c{i.split(/\s+/).forEach(u=>u&&o.classList.remove(u))}),n.split(/\s+/).forEach(i=>i&&o.classList.add(i)),o.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(o);const{hasTransform:r}=dC(o);return l.removeChild(o),r}const rs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Ce(t)?n=>cc(t,n):t};function K$(e){e.target.composing=!0}function a0(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Ka=Symbol("_assign");function l0(e,t,n){return t&&(e=e.trim()),n&&(e=rh(e)),e}const Wd={created(e,{modifiers:{lazy:t,trim:n,number:o}},a){e[Ka]=rs(a);const l=o||a.props&&a.props.type==="number";kl(e,t?"change":"input",r=>{r.target.composing||e[Ka](l0(e.value,n,l))}),(n||l)&&kl(e,"change",()=>{e.value=l0(e.value,n,l)}),t||(kl(e,"compositionstart",K$),kl(e,"compositionend",a0),kl(e,"change",a0))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:o,trim:a,number:l}},r){if(e[Ka]=rs(r),e.composing)return;const i=(l||e.type==="number")&&!/^0\d/.test(e.value)?rh(e.value):e.value,u=t??"";i!==u&&(document.activeElement===e&&e.type!=="range"&&(o&&t===n||a&&e.value.trim()===u)||(e.value=u))}},mC={deep:!0,created(e,t,n){e[Ka]=rs(n),kl(e,"change",()=>{const o=e._modelValue,a=bC(e),l=e.checked,r=e[Ka];if(Ce(o)){const i=Xw(o,a),u=i!==-1;if(l&&!u)r(o.concat(a));else if(!l&&u){const c=[...o];c.splice(i,1),r(c)}}else if(Nd(o)){const i=new Set(o);l?i.add(a):i.delete(a),r(i)}else r(yC(e,l))})},mounted:r0,beforeUpdate(e,t,n){e[Ka]=rs(n),r0(e,t,n)}};function r0(e,{value:t,oldValue:n},o){e._modelValue=t;let a;if(Ce(t))a=Xw(t,o.props.value)>-1;else if(Nd(t))a=t.has(o.props.value);else{if(t===n)return;a=ns(t,yC(e,!0))}e.checked!==a&&(e.checked=a)}const gC={created(e,{value:t},n){e.checked=ns(t,n.props.value),e[Ka]=rs(n),kl(e,"change",()=>{e[Ka](bC(e))})},beforeUpdate(e,{value:t,oldValue:n},o){e[Ka]=rs(o),t!==n&&(e.checked=ns(t,o.props.value))}};function bC(e){return"_value"in e?e._value:e.value}function yC(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const W$=["ctrl","shift","alt","meta"],j$={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)=>W$.some(n=>e[`${n}Key`]&&!t.includes(n))},Ze=(e,t)=>{const n=e._withMods||(e._withMods={}),o=t.join(".");return n[o]||(n[o]=((a,...l)=>{for(let r=0;r{const n=e._withKeys||(e._withKeys={}),o=t.join(".");return n[o]||(n[o]=(a=>{if(!("key"in a))return;const l=nl(a.key);if(t.some(r=>r===l||U$[r]===l))return e(a)}))},q$=Tn({patchProp:A$},y$);let s0;function wC(){return s0||(s0=YO(q$))}const Pl=((...e)=>{wC().render(...e)}),CC=((...e)=>{const t=wC().createApp(...e),{mount:n}=t;return t.mount=o=>{const a=G$(o);if(!a)return;const l=t._component;!Ke(l)&&!l.render&&!l.template&&(l.template=a.innerHTML),a.nodeType===1&&(a.textContent="");const r=n(a,!1,Y$(a));return a instanceof Element&&(a.removeAttribute("v-cloak"),a.setAttribute("data-v-app","")),r},t});function Y$(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function G$(e){return Ve(e)?document.querySelector(e):e}const SC=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n},X$={};function J$(e,t){const n=mt("RouterView");return T(),ie(n)}const Z$=SC(X$,[["render",J$]]),Q$="modulepreload",eR=function(e,t){return new URL(e,t).href},i0={},ll=function(t,n,o){let a=Promise.resolve();if(n&&n.length>0){let c=function(d){return Promise.all(d.map(f=>Promise.resolve(f).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};const r=document.getElementsByTagName("link"),i=document.querySelector("meta[property=csp-nonce]"),u=i?.nonce||i?.getAttribute("nonce");a=c(n.map(d=>{if(d=eR(d,o),d in i0)return;i0[d]=!0;const f=d.endsWith(".css"),v=f?'[rel="stylesheet"]':"";if(o)for(let m=r.length-1;m>=0;m--){const h=r[m];if(h.href===d&&(!f||h.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${d}"]${v}`))return;const p=document.createElement("link");if(p.rel=f?"stylesheet":Q$,f||(p.as="script"),p.crossOrigin="",p.href=d,u&&p.setAttribute("nonce",u),document.head.appendChild(p),f)return new Promise((m,h)=>{p.addEventListener("load",m),p.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${d}`)))})}))}function l(r){const i=new Event("vite:preloadError",{cancelable:!0});if(i.payload=r,window.dispatchEvent(i),!i.defaultPrevented)throw r}return a.then(r=>{for(const i of r||[])i.status==="rejected"&&l(i.reason);return t().catch(l)})};const Lr=typeof document<"u";function kC(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function tR(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&kC(e.default)}const Xt=Object.assign;function Uf(e,t){const n={};for(const o in t){const a=t[o];n[o]=qo(a)?a.map(e):e(a)}return n}const pi=()=>{},qo=Array.isArray;function u0(e,t){const n={};for(const o in e)n[o]=o in t?t[o]:e[o];return n}const EC=/#/g,nR=/&/g,oR=/\//g,aR=/=/g,lR=/\?/g,_C=/\+/g,rR=/%5B/g,sR=/%5D/g,TC=/%5E/g,iR=/%60/g,OC=/%7B/g,uR=/%7C/g,$C=/%7D/g,cR=/%20/g;function Eh(e){return e==null?"":encodeURI(""+e).replace(uR,"|").replace(rR,"[").replace(sR,"]")}function dR(e){return Eh(e).replace(OC,"{").replace($C,"}").replace(TC,"^")}function Hp(e){return Eh(e).replace(_C,"%2B").replace(cR,"+").replace(EC,"%23").replace(nR,"%26").replace(iR,"`").replace(OC,"{").replace($C,"}").replace(TC,"^")}function fR(e){return Hp(e).replace(aR,"%3D")}function pR(e){return Eh(e).replace(EC,"%23").replace(lR,"%3F")}function vR(e){return pR(e).replace(oR,"%2F")}function Ri(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const hR=/\/$/,mR=e=>e.replace(hR,"");function qf(e,t,n="/"){let o,a={},l="",r="";const i=t.indexOf("#");let u=t.indexOf("?");return u=i>=0&&u>i?-1:u,u>=0&&(o=t.slice(0,u),l=t.slice(u,i>0?i:t.length),a=e(l.slice(1))),i>=0&&(o=o||t.slice(0,i),r=t.slice(i,t.length)),o=wR(o??t,n),{fullPath:o+l+r,path:o,query:a,hash:Ri(r)}}function gR(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function c0(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function bR(e,t,n){const o=t.matched.length-1,a=n.matched.length-1;return o>-1&&o===a&&ss(t.matched[o],n.matched[a])&&RC(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ss(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function RC(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!yR(e[n],t[n]))return!1;return!0}function yR(e,t){return qo(e)?d0(e,t):qo(t)?d0(t,e):e?.valueOf()===t?.valueOf()}function d0(e,t){return qo(t)?e.length===t.length&&e.every((n,o)=>n===t[o]):e.length===1&&e[0]===t}function wR(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),o=e.split("/"),a=o[o.length-1];(a===".."||a===".")&&o.push("");let l=n.length-1,r,i;for(r=0;r1&&l--;else break;return n.slice(0,l).join("/")+"/"+o.slice(r).join("/")}const pl={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Kp=(function(e){return e.pop="pop",e.push="push",e})({}),Yf=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function CR(e){if(!e)if(Lr){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),mR(e)}const SR=/^[^#]+#/;function kR(e,t){return e.replace(SR,"#")+t}function ER(e,t){const n=document.documentElement.getBoundingClientRect(),o=e.getBoundingClientRect();return{behavior:t.behavior,left:o.left-n.left-(t.left||0),top:o.top-n.top-(t.top||0)}}const jd=()=>({left:window.scrollX,top:window.scrollY});function _R(e){let t;if("el"in e){const n=e.el,o=typeof n=="string"&&n.startsWith("#"),a=typeof n=="string"?o?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!a)return;t=ER(a,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function f0(e,t){return(history.state?history.state.position-t:-1)+e}const Wp=new Map;function TR(e,t){Wp.set(e,t)}function OR(e){const t=Wp.get(e);return Wp.delete(e),t}function $R(e){return typeof e=="string"||e&&typeof e=="object"}function NC(e){return typeof e=="string"||typeof e=="symbol"}let mn=(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})({});const xC=Symbol("");mn.MATCHER_NOT_FOUND+"",mn.NAVIGATION_GUARD_REDIRECT+"",mn.NAVIGATION_ABORTED+"",mn.NAVIGATION_CANCELLED+"",mn.NAVIGATION_DUPLICATED+"";function is(e,t){return Xt(new Error,{type:e,[xC]:!0},t)}function Pa(e,t){return e instanceof Error&&xC in e&&(t==null||!!(e.type&t))}const RR=["params","query","hash"];function NR(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of RR)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function xR(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;oa&&Hp(a)):[o&&Hp(o)]).forEach(a=>{a!==void 0&&(t+=(t.length?"&":"")+n,a!=null&&(t+="="+a))})}return t}function IR(e){const t={};for(const n in e){const o=e[n];o!==void 0&&(t[n]=qo(o)?o.map(a=>a==null?null:""+a):o==null?o:""+o)}return t}const PR=Symbol(""),v0=Symbol(""),Ud=Symbol(""),_h=Symbol(""),jp=Symbol("");function Ws(){let e=[];function t(o){return e.push(o),()=>{const a=e.indexOf(o);a>-1&&e.splice(a,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Sl(e,t,n,o,a,l=r=>r()){const r=o&&(o.enterCallbacks[a]=o.enterCallbacks[a]||[]);return()=>new Promise((i,u)=>{const c=v=>{v===!1?u(is(mn.NAVIGATION_ABORTED,{from:n,to:t})):v instanceof Error?u(v):$R(v)?u(is(mn.NAVIGATION_GUARD_REDIRECT,{from:t,to:v})):(r&&o.enterCallbacks[a]===r&&typeof v=="function"&&r.push(v),i())},d=l(()=>e.call(o&&o.instances[a],t,n,c));let f=Promise.resolve(d);e.length<3&&(f=f.then(c)),f.catch(v=>u(v))})}function Gf(e,t,n,o,a=l=>l()){const l=[];for(const r of e)for(const i in r.components){let u=r.components[i];if(!(t!=="beforeRouteEnter"&&!r.instances[i]))if(kC(u)){const c=(u.__vccOpts||u)[t];c&&l.push(Sl(c,n,o,r,i,a))}else{let c=u();l.push(()=>c.then(d=>{if(!d)throw new Error(`Couldn't resolve component "${i}" at "${r.path}"`);const f=tR(d)?d.default:d;r.mods[i]=d,r.components[i]=f;const v=(f.__vccOpts||f)[t];return v&&Sl(v,n,o,r,i,a)()}))}}return l}function MR(e,t){const n=[],o=[],a=[],l=Math.max(t.matched.length,e.matched.length);for(let r=0;rss(c,i))?o.push(i):n.push(i));const u=e.matched[r];u&&(t.matched.find(c=>ss(c,u))||a.push(u))}return[n,o,a]}let AR=()=>location.protocol+"//"+location.host;function IC(e,t){const{pathname:n,search:o,hash:a}=t,l=e.indexOf("#");if(l>-1){let r=a.includes(e.slice(l))?e.slice(l).length:1,i=a.slice(r);return i[0]!=="/"&&(i="/"+i),c0(i,"")}return c0(n,e)+o+a}function LR(e,t,n,o){let a=[],l=[],r=null;const i=({state:v})=>{const p=IC(e,location),m=n.value,h=t.value;let g=0;if(v){if(n.value=p,t.value=v,r&&r===m){r=null;return}g=h?v.position-h.position:0}else o(p);a.forEach(b=>{b(n.value,m,{delta:g,type:Kp.pop,direction:g?g>0?Yf.forward:Yf.back:Yf.unknown})})};function u(){r=n.value}function c(v){a.push(v);const p=()=>{const m=a.indexOf(v);m>-1&&a.splice(m,1)};return l.push(p),p}function d(){if(document.visibilityState==="hidden"){const{history:v}=window;if(!v.state)return;v.replaceState(Xt({},v.state,{scroll:jd()}),"")}}function f(){for(const v of l)v();l=[],window.removeEventListener("popstate",i),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",d)}return window.addEventListener("popstate",i),window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",d),{pauseListeners:u,listen:c,destroy:f}}function h0(e,t,n,o=!1,a=!1){return{back:e,current:t,forward:n,replaced:o,position:window.history.length,scroll:a?jd():null}}function DR(e){const{history:t,location:n}=window,o={value:IC(e,n)},a={value:t.state};a.value||l(o.value,{back:null,current:o.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(u,c,d){const f=e.indexOf("#"),v=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+u:AR()+e+u;try{t[d?"replaceState":"pushState"](c,"",v),a.value=c}catch(p){console.error(p),n[d?"replace":"assign"](v)}}function r(u,c){l(u,Xt({},t.state,h0(a.value.back,u,a.value.forward,!0),c,{position:a.value.position}),!0),o.value=u}function i(u,c){const d=Xt({},a.value,t.state,{forward:u,scroll:jd()});l(d.current,d,!0),l(u,Xt({},h0(o.value,u,null),{position:d.position+1},c),!1),o.value=u}return{location:o,state:a,push:i,replace:r}}function BR(e){e=CR(e);const t=DR(e),n=LR(e,t.state,t.location,t.replace);function o(l,r=!0){r||n.pauseListeners(),history.go(l)}const a=Xt({location:"",base:e,go:o,createHref:kR.bind(null,e)},t,n);return Object.defineProperty(a,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(a,"state",{enumerable:!0,get:()=>t.state.value}),a}function FR(e){return e=location.host?e||location.pathname+location.search:"",e.includes("#")||(e+="#"),BR(e)}let Zl=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var Sn=(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})(Sn||{});const VR={type:Zl.Static,value:""},zR=/[a-zA-Z0-9_]/;function HR(e){if(!e)return[[]];if(e==="/")return[[VR]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${n})/"${c}": ${p}`)}let n=Sn.Static,o=n;const a=[];let l;function r(){l&&a.push(l),l=[]}let i=0,u,c="",d="";function f(){c&&(n===Sn.Static?l.push({type:Zl.Static,value:c}):n===Sn.Param||n===Sn.ParamRegExp||n===Sn.ParamRegExpEnd?(l.length>1&&(u==="*"||u==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),l.push({type:Zl.Param,value:c,regexp:d,repeatable:u==="*"||u==="+",optional:u==="*"||u==="?"})):t("Invalid state to consume buffer"),c="")}function v(){c+=u}for(;it.length?t.length===1&&t[0]===Qn.Static+Qn.Segment?1:-1:0}function PC(e,t){let n=0;const o=e.score,a=t.score;for(;n0&&t[t.length-1]<0}const qR={strict:!1,end:!0,sensitive:!1};function YR(e,t,n){const o=jR(HR(e.path),n),a=Xt(o,{record:e,parent:t,children:[],alias:[]});return t&&!a.record.aliasOf==!t.record.aliasOf&&t.children.push(a),a}function GR(e,t){const n=[],o=new Map;t=u0(qR,t);function a(f){return o.get(f)}function l(f,v,p){const m=!p,h=y0(f);h.aliasOf=p&&p.record;const g=u0(t,f),b=[h];if("alias"in f){const y=typeof f.alias=="string"?[f.alias]:f.alias;for(const k of y)b.push(y0(Xt({},h,{components:p?p.record.components:h.components,path:k,aliasOf:p?p.record:h})))}let C,w;for(const y of b){const{path:k}=y;if(v&&k[0]!=="/"){const E=v.record.path,_=E[E.length-1]==="/"?"":"/";y.path=v.record.path+(k&&_+k)}if(C=YR(y,v,g),p?p.alias.push(C):(w=w||C,w!==C&&w.alias.push(C),m&&f.name&&!w0(C)&&r(f.name)),MC(C)&&u(C),h.children){const E=h.children;for(let _=0;_{r(w)}:pi}function r(f){if(NC(f)){const v=o.get(f);v&&(o.delete(f),n.splice(n.indexOf(v),1),v.children.forEach(r),v.alias.forEach(r))}else{const v=n.indexOf(f);v>-1&&(n.splice(v,1),f.record.name&&o.delete(f.record.name),f.children.forEach(r),f.alias.forEach(r))}}function i(){return n}function u(f){const v=ZR(f,n);n.splice(v,0,f),f.record.name&&!w0(f)&&o.set(f.record.name,f)}function c(f,v){let p,m={},h,g;if("name"in f&&f.name){if(p=o.get(f.name),!p)throw is(mn.MATCHER_NOT_FOUND,{location:f});g=p.record.name,m=Xt(b0(v.params,p.keys.filter(w=>!w.optional).concat(p.parent?p.parent.keys.filter(w=>w.optional):[]).map(w=>w.name)),f.params&&b0(f.params,p.keys.map(w=>w.name))),h=p.stringify(m)}else if(f.path!=null)h=f.path,p=n.find(w=>w.re.test(h)),p&&(m=p.parse(h),g=p.record.name);else{if(p=v.name?o.get(v.name):n.find(w=>w.re.test(v.path)),!p)throw is(mn.MATCHER_NOT_FOUND,{location:f,currentLocation:v});g=p.record.name,m=Xt({},v.params,f.params),h=p.stringify(m)}const b=[];let C=p;for(;C;)b.unshift(C.record),C=C.parent;return{name:g,path:h,params:m,matched:b,meta:JR(b)}}e.forEach(f=>l(f));function d(){n.length=0,o.clear()}return{addRoute:l,resolve:c,removeRoute:r,clearRoutes:d,getRoutes:i,getRecordMatcher:a}}function b0(e,t){const n={};for(const o of t)o in e&&(n[o]=e[o]);return n}function y0(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:XR(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 XR(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const o in e.components)t[o]=typeof n=="object"?n[o]:n;return t}function w0(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function JR(e){return e.reduce((t,n)=>Xt(t,n.meta),{})}function ZR(e,t){let n=0,o=t.length;for(;n!==o;){const l=n+o>>1;PC(e,t[l])<0?o=l:n=l+1}const a=QR(e);return a&&(o=t.lastIndexOf(a,o-1)),o}function QR(e){let t=e;for(;t=t.parent;)if(MC(t)&&PC(e,t)===0)return t}function MC({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function C0(e){const t=Pe(Ud),n=Pe(_h),o=S(()=>{const u=s(e.to);return t.resolve(u)}),a=S(()=>{const{matched:u}=o.value,{length:c}=u,d=u[c-1],f=n.matched;if(!d||!f.length)return-1;const v=f.findIndex(ss.bind(null,d));if(v>-1)return v;const p=S0(u[c-2]);return c>1&&S0(d)===p&&f[f.length-1].path!==p?f.findIndex(ss.bind(null,u[c-2])):v}),l=S(()=>a.value>-1&&aN(n.params,o.value.params)),r=S(()=>a.value>-1&&a.value===n.matched.length-1&&RC(n.params,o.value.params));function i(u={}){if(oN(u)){const c=t[s(e.replace)?"replace":"push"](s(e.to)).catch(pi);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:o,href:S(()=>o.value.href),isActive:l,isExactActive:r,navigate:i}}function eN(e){return e.length===1?e[0]:e}const tN=q({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:C0,setup(e,{slots:t}){const n=xt(C0(e)),{options:o}=Pe(Ud),a=S(()=>({[k0(e.activeClass,o.linkActiveClass,"router-link-active")]:n.isActive,[k0(e.exactActiveClass,o.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const l=t.default&&eN(t.default(n));return e.custom?l:Ge("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:a.value},l)}}}),nN=tN;function oN(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){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function aN(e,t){for(const n in t){const o=t[n],a=e[n];if(typeof o=="string"){if(o!==a)return!1}else if(!qo(a)||a.length!==o.length||o.some((l,r)=>l.valueOf()!==a[r].valueOf()))return!1}return!0}function S0(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const k0=(e,t,n)=>e??t??n,lN=q({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const o=Pe(jp),a=S(()=>e.route||o.value),l=Pe(v0,0),r=S(()=>{let c=s(l);const{matched:d}=a.value;let f;for(;(f=d[c])&&!f.components;)c++;return c}),i=S(()=>a.value.matched[r.value]);vt(v0,S(()=>r.value+1)),vt(PR,i),vt(jp,a);const u=L();return fe(()=>[u.value,i.value,e.name],([c,d,f],[v,p,m])=>{d&&(d.instances[f]=c,p&&p!==d&&c&&c===v&&(d.leaveGuards.size||(d.leaveGuards=p.leaveGuards),d.updateGuards.size||(d.updateGuards=p.updateGuards))),c&&d&&(!p||!ss(d,p)||!v)&&(d.enterCallbacks[f]||[]).forEach(h=>h(c))},{flush:"post"}),()=>{const c=a.value,d=e.name,f=i.value,v=f&&f.components[d];if(!v)return E0(n.default,{Component:v,route:c});const p=f.props[d],m=p?p===!0?c.params:typeof p=="function"?p(c):p:null,g=Ge(v,Xt({},m,t,{onVnodeUnmounted:b=>{b.component.isUnmounted&&(f.instances[d]=null)},ref:u}));return E0(n.default,{Component:g,route:c})||g}}});function E0(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const rN=lN;function sN(e){const t=GR(e.routes,e),n=e.parseQuery||xR,o=e.stringifyQuery||p0,a=e.history,l=Ws(),r=Ws(),i=Ws(),u=Wt(pl);let c=pl;Lr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Uf.bind(null,ee=>""+ee),f=Uf.bind(null,vR),v=Uf.bind(null,Ri);function p(ee,se){let X,Q;return NC(ee)?(X=t.getRecordMatcher(ee),Q=se):Q=ee,t.addRoute(Q,X)}function m(ee){const se=t.getRecordMatcher(ee);se&&t.removeRoute(se)}function h(){return t.getRoutes().map(ee=>ee.record)}function g(ee){return!!t.getRecordMatcher(ee)}function b(ee,se){if(se=Xt({},se||u.value),typeof ee=="string"){const ue=qf(n,ee,se.path),pe=t.resolve({path:ue.path},se),ve=a.createHref(ue.fullPath);return Xt(ue,pe,{params:v(pe.params),hash:Ri(ue.hash),redirectedFrom:void 0,href:ve})}let X;if(ee.path!=null)X=Xt({},ee,{path:qf(n,ee.path,se.path).path});else{const ue=Xt({},ee.params);for(const pe in ue)ue[pe]==null&&delete ue[pe];X=Xt({},ee,{params:f(ue)}),se.params=f(se.params)}const Q=t.resolve(X,se),ae=ee.hash||"";Q.params=d(v(Q.params));const K=gR(o,Xt({},ee,{hash:dR(ae),path:Q.path})),Z=a.createHref(K);return Xt({fullPath:K,hash:ae,query:o===p0?IR(ee.query):ee.query||{}},Q,{redirectedFrom:void 0,href:Z})}function C(ee){return typeof ee=="string"?qf(n,ee,u.value.path):Xt({},ee)}function w(ee,se){if(c!==ee)return is(mn.NAVIGATION_CANCELLED,{from:se,to:ee})}function y(ee){return _(ee)}function k(ee){return y(Xt(C(ee),{replace:!0}))}function E(ee,se){const X=ee.matched[ee.matched.length-1];if(X&&X.redirect){const{redirect:Q}=X;let ae=typeof Q=="function"?Q(ee,se):Q;return typeof ae=="string"&&(ae=ae.includes("?")||ae.includes("#")?ae=C(ae):{path:ae},ae.params={}),Xt({query:ee.query,hash:ee.hash,params:ae.path!=null?{}:ee.params},ae)}}function _(ee,se){const X=c=b(ee),Q=u.value,ae=ee.state,K=ee.force,Z=ee.replace===!0,ue=E(X,Q);if(ue)return _(Xt(C(ue),{state:typeof ue=="object"?Xt({},ae,ue.state):ae,force:K,replace:Z}),se||X);const pe=X;pe.redirectedFrom=se;let ve;return!K&&bR(o,Q,X)&&(ve=is(mn.NAVIGATION_DUPLICATED,{to:pe,from:Q}),W(Q,Q,!0,!1)),(ve?Promise.resolve(ve):M(pe,Q)).catch(he=>Pa(he)?Pa(he,mn.NAVIGATION_GUARD_REDIRECT)?he:D(he):A(he,pe,Q)).then(he=>{if(he){if(Pa(he,mn.NAVIGATION_GUARD_REDIRECT))return _(Xt({replace:Z},C(he.to),{state:typeof he.to=="object"?Xt({},ae,he.to.state):ae,force:K}),se||pe)}else he=N(pe,Q,!0,Z,ae);return O(pe,Q,he),he})}function x(ee,se){const X=w(ee,se);return X?Promise.reject(X):Promise.resolve()}function R(ee){const se=ne.values().next().value;return se&&typeof se.runWithContext=="function"?se.runWithContext(ee):ee()}function M(ee,se){let X;const[Q,ae,K]=MR(ee,se);X=Gf(Q.reverse(),"beforeRouteLeave",ee,se);for(const ue of Q)ue.leaveGuards.forEach(pe=>{X.push(Sl(pe,ee,se))});const Z=x.bind(null,ee,se);return X.push(Z),ce(X).then(()=>{X=[];for(const ue of l.list())X.push(Sl(ue,ee,se));return X.push(Z),ce(X)}).then(()=>{X=Gf(ae,"beforeRouteUpdate",ee,se);for(const ue of ae)ue.updateGuards.forEach(pe=>{X.push(Sl(pe,ee,se))});return X.push(Z),ce(X)}).then(()=>{X=[];for(const ue of K)if(ue.beforeEnter)if(qo(ue.beforeEnter))for(const pe of ue.beforeEnter)X.push(Sl(pe,ee,se));else X.push(Sl(ue.beforeEnter,ee,se));return X.push(Z),ce(X)}).then(()=>(ee.matched.forEach(ue=>ue.enterCallbacks={}),X=Gf(K,"beforeRouteEnter",ee,se,R),X.push(Z),ce(X))).then(()=>{X=[];for(const ue of r.list())X.push(Sl(ue,ee,se));return X.push(Z),ce(X)}).catch(ue=>Pa(ue,mn.NAVIGATION_CANCELLED)?ue:Promise.reject(ue))}function O(ee,se,X){i.list().forEach(Q=>R(()=>Q(ee,se,X)))}function N(ee,se,X,Q,ae){const K=w(ee,se);if(K)return K;const Z=se===pl,ue=Lr?history.state:{};X&&(Q||Z?a.replace(ee.fullPath,Xt({scroll:Z&&ue&&ue.scroll},ae)):a.push(ee.fullPath,ae)),u.value=ee,W(ee,se,X,Z),D()}let F;function U(){F||(F=a.listen((ee,se,X)=>{if(!oe.listening)return;const Q=b(ee),ae=E(Q,oe.currentRoute.value);if(ae){_(Xt(ae,{replace:!0,force:!0}),Q).catch(pi);return}c=Q;const K=u.value;Lr&&TR(f0(K.fullPath,X.delta),jd()),M(Q,K).catch(Z=>Pa(Z,mn.NAVIGATION_ABORTED|mn.NAVIGATION_CANCELLED)?Z:Pa(Z,mn.NAVIGATION_GUARD_REDIRECT)?(_(Xt(C(Z.to),{force:!0}),Q).then(ue=>{Pa(ue,mn.NAVIGATION_ABORTED|mn.NAVIGATION_DUPLICATED)&&!X.delta&&X.type===Kp.pop&&a.go(-1,!1)}).catch(pi),Promise.reject()):(X.delta&&a.go(-X.delta,!1),A(Z,Q,K))).then(Z=>{Z=Z||N(Q,K,!1),Z&&(X.delta&&!Pa(Z,mn.NAVIGATION_CANCELLED)?a.go(-X.delta,!1):X.type===Kp.pop&&Pa(Z,mn.NAVIGATION_ABORTED|mn.NAVIGATION_DUPLICATED)&&a.go(-1,!1)),O(Q,K,Z)}).catch(pi)}))}let Y=Ws(),P=Ws(),$;function A(ee,se,X){D(ee);const Q=P.list();return Q.length?Q.forEach(ae=>ae(ee,se,X)):console.error(ee),Promise.reject(ee)}function z(){return $&&u.value!==pl?Promise.resolve():new Promise((ee,se)=>{Y.add([ee,se])})}function D(ee){return $||($=!ee,U(),Y.list().forEach(([se,X])=>ee?X(ee):se()),Y.reset()),ee}function W(ee,se,X,Q){const{scrollBehavior:ae}=e;if(!Lr||!ae)return Promise.resolve();const K=!X&&OR(f0(ee.fullPath,0))||(Q||!X)&&history.state&&history.state.scroll||null;return Me().then(()=>ae(ee,se,K)).then(Z=>Z&&_R(Z)).catch(Z=>A(Z,ee,se))}const V=ee=>a.go(ee);let j;const ne=new Set,oe={currentRoute:u,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:g,getRoutes:h,resolve:b,options:e,push:y,replace:k,go:V,back:()=>V(-1),forward:()=>V(1),beforeEach:l.add,beforeResolve:r.add,afterEach:i.add,onError:P.add,isReady:z,install(ee){ee.component("RouterLink",nN),ee.component("RouterView",rN),ee.config.globalProperties.$router=oe,Object.defineProperty(ee.config.globalProperties,"$route",{enumerable:!0,get:()=>s(u)}),Lr&&!j&&u.value===pl&&(j=!0,y(a.location).catch(Q=>{}));const se={};for(const Q in pl)Object.defineProperty(se,Q,{get:()=>u.value[Q],enumerable:!0});ee.provide(Ud,oe),ee.provide(_h,Ld(se)),ee.provide(jp,u);const X=ee.unmount;ne.add(ee),ee.unmount=function(){ne.delete(ee),ne.size<1&&(c=pl,F&&F(),F=null,u.value=pl,j=!1,$=!1),X()}}};function ce(ee){return ee.reduce((se,X)=>se.then(()=>R(X)),Promise.resolve())}return oe}function iN(){return Pe(Ud)}function uN(e){return Pe(_h)}const cN="2.12.0",_0=Symbol("INSTALLED_KEY"),AC=Symbol(),vi="el",dN="is-",Ul=(e,t,n,o,a)=>{let l=`${e}-${t}`;return n&&(l+=`-${n}`),o&&(l+=`__${o}`),a&&(l+=`--${a}`),l},LC=Symbol("namespaceContextKey"),Th=e=>{const t=e||(dt()?Pe(LC,L(vi)):L(vi));return S(()=>s(t)||vi)},ge=(e,t)=>{const n=Th(t);return{namespace:n,b:(h="")=>Ul(n.value,e,h,"",""),e:h=>h?Ul(n.value,e,"",h,""):"",m:h=>h?Ul(n.value,e,"","",h):"",be:(h,g)=>h&&g?Ul(n.value,e,h,g,""):"",em:(h,g)=>h&&g?Ul(n.value,e,"",h,g):"",bm:(h,g)=>h&&g?Ul(n.value,e,h,"",g):"",bem:(h,g,b)=>h&&g&&b?Ul(n.value,e,h,g,b):"",is:(h,...g)=>{const b=g.length>=1?g[0]:!0;return h&&b?`${dN}${h}`:""},cssVar:h=>{const g={};for(const b in h)h[b]&&(g[`--${n.value}-${b}`]=h[b]);return g},cssVarName:h=>`--${n.value}-${h}`,cssVarBlock:h=>{const g={};for(const b in h)h[b]&&(g[`--${n.value}-${e}-${b}`]=h[b]);return g},cssVarBlockName:h=>`--${n.value}-${e}-${h}`}};var DC=typeof global=="object"&&global&&global.Object===Object&&global,fN=typeof self=="object"&&self&&self.Object===Object&&self,ta=DC||fN||Function("return this")(),Io=ta.Symbol,BC=Object.prototype,pN=BC.hasOwnProperty,vN=BC.toString,js=Io?Io.toStringTag:void 0;function hN(e){var t=pN.call(e,js),n=e[js];try{e[js]=void 0;var o=!0}catch{}var a=vN.call(e);return o&&(t?e[js]=n:delete e[js]),a}var mN=Object.prototype,gN=mN.toString;function bN(e){return gN.call(e)}var yN="[object Null]",wN="[object Undefined]",T0=Io?Io.toStringTag:void 0;function Sr(e){return e==null?e===void 0?wN:yN:T0&&T0 in Object(e)?hN(e):bN(e)}function ya(e){return e!=null&&typeof e=="object"}var CN="[object Symbol]";function qd(e){return typeof e=="symbol"||ya(e)&&Sr(e)==CN}function Oh(e,t){for(var n=-1,o=e==null?0:e.length,a=Array(o);++n0){if(++t>=GN)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}function QN(e){return function(){return e}}var Qc=(function(){try{var e=Er(Object,"defineProperty");return e({},"",{}),e}catch{}})(),ex=Qc?function(e,t){return Qc(e,"toString",{configurable:!0,enumerable:!1,value:QN(t),writable:!0})}:$h,zC=ZN(ex);function tx(e,t){for(var n=-1,o=e==null?0:e.length;++n-1}var rx=9007199254740991,sx=/^(?:0|[1-9]\d*)$/;function Yd(e,t){var n=typeof e;return t=t??rx,!!t&&(n=="number"||n!="symbol"&&sx.test(e))&&e>-1&&e%1==0&&e-1&&e%1==0&&e<=cx}function $s(e){return e!=null&&Ih(e.length)&&!Rh(e)}function dx(e,t,n){if(!ao(n))return!1;var o=typeof t;return(o=="number"?$s(n)&&Yd(t,n.length):o=="string"&&t in n)?su(n[t],e):!1}function fx(e){return WC(function(t,n){var o=-1,a=n.length,l=a>1?n[a-1]:void 0,r=a>2?n[2]:void 0;for(l=e.length>3&&typeof l=="function"?(a--,l):void 0,r&&dx(n[0],n[1],r)&&(l=a<3?void 0:l,a=1),t=Object(t);++o-1}function S4(e,t){var n=this.__data__,o=Gd(n,e);return o<0?(++this.size,n.push([e,t])):n[o][1]=t,this}function rl(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t0&&n(i)?t>1?cu(i,t-1,n,o,a):Dh(a,i):o||(a[a.length]=i)}return a}function XC(e){var t=e==null?0:e.length;return t?cu(e,1):[]}function JC(e){return zC(KC(e,void 0,XC),e+"")}var Bh=GC(Object.getPrototypeOf,Object),D4="[object Object]",B4=Function.prototype,F4=Object.prototype,ZC=B4.toString,V4=F4.hasOwnProperty,z4=ZC.call(Object);function QC(e){if(!ya(e)||Sr(e)!=D4)return!1;var t=Bh(e);if(t===null)return!0;var n=V4.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&ZC.call(n)==z4}function H4(e,t,n){var o=-1,a=e.length;t<0&&(t=-t>a?0:a+t),n=n>a?a:n,n<0&&(n+=a),a=t>n?0:n-t>>>0,t>>>=0;for(var l=Array(a);++o=t?e:t)),e}function Qd(e,t,n){return n===void 0&&(n=t,t=void 0),n!==void 0&&(n=hi(n),n=n===n?n:0),t!==void 0&&(t=hi(t),t=t===t?t:0),K4(hi(e),t,n)}function W4(){this.__data__=new rl,this.size=0}function j4(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function U4(e){return this.__data__.get(e)}function q4(e){return this.__data__.has(e)}var Y4=200;function G4(e,t){var n=this.__data__;if(n instanceof rl){var o=n.__data__;if(!Pi||o.lengthi))return!1;var c=l.get(e),d=l.get(t);if(c&&d)return c==t&&d==e;var f=-1,v=!0,p=n&E3?new Mi:void 0;for(l.set(e,t),l.set(t,e);++f=t||_<0||f&&x>=l}function b(){var E=Qf();if(g(E))return C(E);i=setTimeout(b,h(E))}function C(E){return i=void 0,v&&o?p(E):(o=a=void 0,r)}function w(){i!==void 0&&clearTimeout(i),c=0,o=u=a=i=void 0}function y(){return i===void 0?r:C(Qf())}function k(){var E=Qf(),_=g(E);if(o=arguments,a=this,u=E,_){if(i===void 0)return m(u);if(f)return clearTimeout(i),i=setTimeout(b,t),p(u)}return i===void 0&&(i=setTimeout(b,t)),r}return k.cancel=w,k.flush=y,k}function Xp(e,t,n){(n!==void 0&&!su(e[t],n)||n===void 0&&!(t in e))&&Nh(e,t,n)}function bS(e){return ya(e)&&$s(e)}function Jp(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}function pP(e){return Os(e,uu(e))}function vP(e,t,n,o,a,l,r){var i=Jp(e,n),u=Jp(t,n),c=r.get(u);if(c){Xp(e,n,c);return}var d=l?l(i,u,n+"",e,t,r):void 0,f=d===void 0;if(f){var v=oo(u),p=!v&&xi(u),m=!v&&!p&&Ah(u);d=u,v||p||m?oo(i)?d=i:bS(i)?d=VC(i):p?(f=!1,d=tS(u,!0)):m?(f=!1,d=rS(u,!0)):d=[]:QC(u)||Ni(u)?(d=i,Ni(i)?d=pP(i):(!ao(i)||Rh(i))&&(d=sS(u))):f=!1}f&&(r.set(u,d),a(d,u,o,l,r),r.delete(u)),Xp(e,n,d)}function yS(e,t,n,o,a){e!==t&&gS(t,function(l,r){if(a||(a=new Ho),ao(l))vP(e,t,r,n,yS,o,a);else{var i=o?o(Jp(e,r),l,r+"",e,t,a):void 0;i===void 0&&(i=l),Xp(e,r,i)}},uu)}function hP(e){var t=e==null?0:e.length;return t?e[t-1]:void 0}function wS(e,t,n){var o=e==null?0:e.length;if(!o)return-1;var a=o-1;return HC(e,mS(t),a,!0)}function mP(e,t){var n=-1,o=$s(e)?Array(e.length):[];return uP(e,function(a,l,r){o[++n]=t(a,l,r)}),o}function gP(e,t){var n=oo(e)?Oh:mP;return n(e,mS(t))}function CS(e,t){return cu(gP(e,t),1)}var bP=1/0;function yP(e){var t=e==null?0:e.length;return t?cu(e,bP):[]}function Ai(e){for(var t=-1,n=e==null?0:e.length,o={};++t1),l}),Os(e,lS(e),n),o&&(n=Xr(n,EP|_P|TP,kP));for(var a=t.length;a--;)SP(n,t[a]);return n});function kS(e,t,n,o){if(!ao(e))return e;t=Rs(t,e);for(var a=-1,l=t.length,r=l-1,i=e;i!=null&&++a=PP){var c=IP(e);if(c)return zh(c);r=!1,a=dS,u=new Mi}else u=i;e:for(;++oe===void 0,Lt=e=>typeof e=="boolean",Ye=e=>typeof e=="number",to=e=>!e&&e!==0||Ce(e)&&e.length===0||rt(e)&&!Object.keys(e).length,uo=e=>typeof Element>"u"?!1:e instanceof Element,co=e=>cn(e),AP=e=>Ve(e)?!Number.isNaN(Number(e)):!1,fu=e=>e===window;var LP=Object.defineProperty,DP=Object.defineProperties,BP=Object.getOwnPropertyDescriptors,nb=Object.getOwnPropertySymbols,FP=Object.prototype.hasOwnProperty,VP=Object.prototype.propertyIsEnumerable,ob=(e,t,n)=>t in e?LP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,zP=(e,t)=>{for(var n in t||(t={}))FP.call(t,n)&&ob(e,n,t[n]);if(nb)for(var n of nb(t))VP.call(t,n)&&ob(e,n,t[n]);return e},HP=(e,t)=>DP(e,BP(t));function nd(e,t){var n;const o=Wt();return Eo(()=>{o.value=e()},HP(zP({},t),{flush:(n=void 0)!=null?n:"sync"})),fr(o)}var ab;const Nt=typeof window<"u",KP=e=>typeof e<"u",Zp=e=>typeof e=="function",WP=e=>typeof e=="string",ES=(e,t,n)=>Math.min(n,Math.max(t,e)),Wa=()=>{},od=Nt&&((ab=window?.navigator)==null?void 0:ab.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function Ml(e){return typeof e=="function"?e():s(e)}function _S(e,t){function n(...o){return new Promise((a,l)=>{Promise.resolve(e(()=>t.apply(this,o),{fn:t,thisArg:this,args:o})).then(a).catch(l)})}return n}function jP(e,t={}){let n,o,a=Wa;const l=i=>{clearTimeout(i),a(),a=Wa};return i=>{const u=Ml(e),c=Ml(t.maxWait);return n&&l(n),u<=0||c!==void 0&&c<=0?(o&&(l(o),o=null),Promise.resolve(i())):new Promise((d,f)=>{a=t.rejectOnCancel?f:d,c&&!o&&(o=setTimeout(()=>{n&&l(n),o=null,d(i())},c)),n=setTimeout(()=>{o&&l(o),o=null,d(i())},u)})}}function UP(e,t=!0,n=!0,o=!1){let a=0,l,r=!0,i=Wa,u;const c=()=>{l&&(clearTimeout(l),l=void 0,i(),i=Wa)};return f=>{const v=Ml(e),p=Date.now()-a,m=()=>u=f();return c(),v<=0?(a=Date.now(),m()):(p>v&&(n||!r)?(a=Date.now(),m()):t&&(u=new Promise((h,g)=>{i=o?g:h,l=setTimeout(()=>{a=Date.now(),r=!0,h(m()),c()},Math.max(0,v-p))})),!n&&!l&&(l=setTimeout(()=>r=!0,v)),r=!1,u)}}function qP(e){return e}function YP(e,t){let n,o,a;const l=L(!0),r=()=>{l.value=!0,a()};fe(e,r,{flush:"sync"});const i=Zp(t)?t:t.get,u=Zp(t)?void 0:t.set,c=aO((d,f)=>(o=d,a=f,{get(){return l.value&&(n=i(),l.value=!1),o(),n},set(v){u?.(v)}}));return Object.isExtensible(c)&&(c.trigger=r),c}function xs(e){return e1()?(t1(e),!0):!1}function GP(e){if(!qt(e))return xt(e);const t=new Proxy({},{get(n,o,a){return s(Reflect.get(e.value,o,a))},set(n,o,a){return qt(e.value[o])&&!qt(a)?e.value[o].value=a:e.value[o]=a,!0},deleteProperty(n,o){return Reflect.deleteProperty(e.value,o)},has(n,o){return Reflect.has(e.value,o)},ownKeys(){return Object.keys(e.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return xt(t)}function XP(e){return GP(S(e))}function pu(e,t=200,n={}){return _S(jP(t,n),e)}function JP(e,t=200,n={}){const o=L(e.value),a=pu(()=>{o.value=e.value},t,n);return fe(e,()=>a()),o}function TS(e,t=200,n=!1,o=!0,a=!1){return _S(UP(t,n,o,a),e)}function Hh(e,t=!0){dt()?pt(e):t?e():Me(e)}function cs(e,t,n={}){const{immediate:o=!0}=n,a=L(!1);let l=null;function r(){l&&(clearTimeout(l),l=null)}function i(){a.value=!1,r()}function u(...c){r(),a.value=!0,l=setTimeout(()=>{a.value=!1,l=null,e(...c)},Ml(t))}return o&&(a.value=!0,Nt&&u()),xs(i),{isPending:fr(a),start:u,stop:i}}function En(e){var t;const n=Ml(e);return(t=n?.$el)!=null?t:n}const _a=Nt?window:void 0,ZP=Nt?window.document:void 0;function It(...e){let t,n,o,a;if(WP(e[0])||Array.isArray(e[0])?([n,o,a]=e,t=_a):[t,n,o,a]=e,!t)return Wa;Array.isArray(n)||(n=[n]),Array.isArray(o)||(o=[o]);const l=[],r=()=>{l.forEach(d=>d()),l.length=0},i=(d,f,v,p)=>(d.addEventListener(f,v,p),()=>d.removeEventListener(f,v,p)),u=fe(()=>[En(t),Ml(a)],([d,f])=>{r(),d&&l.push(...n.flatMap(v=>o.map(p=>i(d,v,p,f))))},{immediate:!0,flush:"post"}),c=()=>{u(),r()};return xs(c),c}let lb=!1;function Kh(e,t,n={}){const{window:o=_a,ignore:a=[],capture:l=!0,detectIframe:r=!1}=n;if(!o)return;od&&!lb&&(lb=!0,Array.from(o.document.body.children).forEach(v=>v.addEventListener("click",Wa)));let i=!0;const u=v=>a.some(p=>{if(typeof p=="string")return Array.from(o.document.querySelectorAll(p)).some(m=>m===v.target||v.composedPath().includes(m));{const m=En(p);return m&&(v.target===m||v.composedPath().includes(m))}}),d=[It(o,"click",v=>{const p=En(e);if(!(!p||p===v.target||v.composedPath().includes(p))){if(v.detail===0&&(i=!u(v)),!i){i=!0;return}t(v)}},{passive:!0,capture:l}),It(o,"pointerdown",v=>{const p=En(e);p&&(i=!v.composedPath().includes(p)&&!u(v))},{passive:!0}),r&&It(o,"blur",v=>{var p;const m=En(e);((p=o.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!m?.contains(o.document.activeElement)&&t(v)})].filter(Boolean);return()=>d.forEach(v=>v())}function QP(e={}){var t;const{window:n=_a}=e,o=(t=e.document)!=null?t:n?.document,a=YP(()=>null,()=>o?.activeElement);return n&&(It(n,"blur",l=>{l.relatedTarget===null&&a.trigger()},!0),It(n,"focus",a.trigger,!0)),a}function Wh(e,t=!1){const n=L(),o=()=>n.value=!!e();return o(),Hh(o,t),n}function eM(e){return JSON.parse(JSON.stringify(e))}const rb=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},sb="__vueuse_ssr_handlers__";rb[sb]=rb[sb]||{};function tM(e,t,{window:n=_a,initialValue:o=""}={}){const a=L(o),l=S(()=>{var r;return En(t)||((r=n?.document)==null?void 0:r.documentElement)});return fe([l,()=>Ml(e)],([r,i])=>{var u;if(r&&n){const c=(u=n.getComputedStyle(r).getPropertyValue(i))==null?void 0:u.trim();a.value=c||o}},{immediate:!0}),fe(a,r=>{var i;(i=l.value)!=null&&i.style&&l.value.style.setProperty(Ml(e),r)}),a}function nM({document:e=ZP}={}){if(!e)return L("visible");const t=L(e.visibilityState);return It(e,"visibilitychange",()=>{t.value=e.visibilityState}),t}var ib=Object.getOwnPropertySymbols,oM=Object.prototype.hasOwnProperty,aM=Object.prototype.propertyIsEnumerable,lM=(e,t)=>{var n={};for(var o in e)oM.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&ib)for(var o of ib(e))t.indexOf(o)<0&&aM.call(e,o)&&(n[o]=e[o]);return n};function Yt(e,t,n={}){const o=n,{window:a=_a}=o,l=lM(o,["window"]);let r;const i=Wh(()=>a&&"ResizeObserver"in a),u=()=>{r&&(r.disconnect(),r=void 0)},c=fe(()=>En(e),f=>{u(),i.value&&a&&f&&(r=new ResizeObserver(t),r.observe(f,l))},{immediate:!0,flush:"post"}),d=()=>{u(),c()};return xs(d),{isSupported:i,stop:d}}function ub(e,t={}){const{reset:n=!0,windowResize:o=!0,windowScroll:a=!0,immediate:l=!0}=t,r=L(0),i=L(0),u=L(0),c=L(0),d=L(0),f=L(0),v=L(0),p=L(0);function m(){const h=En(e);if(!h){n&&(r.value=0,i.value=0,u.value=0,c.value=0,d.value=0,f.value=0,v.value=0,p.value=0);return}const g=h.getBoundingClientRect();r.value=g.height,i.value=g.bottom,u.value=g.left,c.value=g.right,d.value=g.top,f.value=g.width,v.value=g.x,p.value=g.y}return Yt(e,m),fe(()=>En(e),h=>!h&&m()),a&&It("scroll",m,{capture:!0,passive:!0}),o&&It("resize",m,{passive:!0}),Hh(()=>{l&&m()}),{height:r,bottom:i,left:u,right:c,top:d,width:f,x:v,y:p,update:m}}function Qp(e,t={width:0,height:0},n={}){const{window:o=_a,box:a="content-box"}=n,l=S(()=>{var u,c;return(c=(u=En(e))==null?void 0:u.namespaceURI)==null?void 0:c.includes("svg")}),r=L(t.width),i=L(t.height);return Yt(e,([u])=>{const c=a==="border-box"?u.borderBoxSize:a==="content-box"?u.contentBoxSize:u.devicePixelContentBoxSize;if(o&&l.value){const d=En(e);if(d){const f=o.getComputedStyle(d);r.value=parseFloat(f.width),i.value=parseFloat(f.height)}}else if(c){const d=Array.isArray(c)?c:[c];r.value=d.reduce((f,{inlineSize:v})=>f+v,0),i.value=d.reduce((f,{blockSize:v})=>f+v,0)}else r.value=u.contentRect.width,i.value=u.contentRect.height},n),fe(()=>En(e),u=>{r.value=u?t.width:0,i.value=u?t.height:0}),{width:r,height:i}}function rM(e,t,n={}){const{root:o,rootMargin:a="0px",threshold:l=.1,window:r=_a}=n,i=Wh(()=>r&&"IntersectionObserver"in r);let u=Wa;const c=i.value?fe(()=>({el:En(e),root:En(o)}),({el:f,root:v})=>{if(u(),!f)return;const p=new IntersectionObserver(t,{root:v,rootMargin:a,threshold:l});p.observe(f),u=()=>{p.disconnect(),u=Wa}},{immediate:!0,flush:"post"}):Wa,d=()=>{u(),c()};return xs(d),{isSupported:i,stop:d}}var cb=Object.getOwnPropertySymbols,sM=Object.prototype.hasOwnProperty,iM=Object.prototype.propertyIsEnumerable,uM=(e,t)=>{var n={};for(var o in e)sM.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(e!=null&&cb)for(var o of cb(e))t.indexOf(o)<0&&iM.call(e,o)&&(n[o]=e[o]);return n};function OS(e,t,n={}){const o=n,{window:a=_a}=o,l=uM(o,["window"]);let r;const i=Wh(()=>a&&"MutationObserver"in a),u=()=>{r&&(r.disconnect(),r=void 0)},c=fe(()=>En(e),f=>{u(),i.value&&a&&f&&(r=new MutationObserver(t),r.observe(f,l))},{immediate:!0}),d=()=>{u(),c()};return xs(d),{isSupported:i,stop:d}}var db;(function(e){e.UP="UP",e.RIGHT="RIGHT",e.DOWN="DOWN",e.LEFT="LEFT",e.NONE="NONE"})(db||(db={}));var cM=Object.defineProperty,fb=Object.getOwnPropertySymbols,dM=Object.prototype.hasOwnProperty,fM=Object.prototype.propertyIsEnumerable,pb=(e,t,n)=>t in e?cM(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,pM=(e,t)=>{for(var n in t||(t={}))dM.call(t,n)&&pb(e,n,t[n]);if(fb)for(var n of fb(t))fM.call(t,n)&&pb(e,n,t[n]);return e};const vM={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};pM({linear:qP},vM);function $S(e,t,n,o={}){var a,l,r;const{clone:i=!1,passive:u=!1,eventName:c,deep:d=!1,defaultValue:f}=o,v=dt(),p=n||v?.emit||((a=v?.$emit)==null?void 0:a.bind(v))||((r=(l=v?.proxy)==null?void 0:l.$emit)==null?void 0:r.bind(v?.proxy));let m=c;t||(t="modelValue"),m=c||m||`update:${t.toString()}`;const h=b=>i?Zp(i)?i(b):eM(b):b,g=()=>KP(e[t])?h(e[t]):f;if(u){const b=g(),C=L(b);return fe(()=>e[t],w=>C.value=h(w)),fe(C,w=>{(w!==e[t]||d)&&p(m,w)},{deep:d}),C}else return S({get(){return g()},set(b){p(m,b)}})}function hM({window:e=_a}={}){if(!e)return L(!1);const t=L(e.document.hasFocus());return It(e,"blur",()=>{t.value=!1}),It(e,"focus",()=>{t.value=!0}),t}function jh(e={}){const{window:t=_a,initialWidth:n=1/0,initialHeight:o=1/0,listenOrientation:a=!0,includeScrollbar:l=!0}=e,r=L(n),i=L(o),u=()=>{t&&(l?(r.value=t.innerWidth,i.value=t.innerHeight):(r.value=t.document.documentElement.clientWidth,i.value=t.document.documentElement.clientHeight))};return u(),Hh(u),It("resize",u,{passive:!0}),a&&It("orientationchange",u,{passive:!0}),{width:r,height:i}}class mM extends Error{constructor(t){super(t),this.name="ElementPlusError"}}function fn(e,t){throw new mM(`[${e}] ${t}`)}const vb={current:0},hb=L(0),RS=2e3,mb=Symbol("elZIndexContextKey"),NS=Symbol("zIndexContextKey"),vu=e=>{const t=dt()?Pe(mb,vb):vb,n=e||(dt()?Pe(NS,void 0):void 0),o=S(()=>{const r=s(n);return Ye(r)?r:RS}),a=S(()=>o.value+hb.value),l=()=>(t.current++,hb.value=t.current,a.value);return!Nt&&Pe(mb),{initialZIndex:o,currentZIndex:a,nextZIndex:l}};var gM={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value",alphaDescription:"alpha {alpha}, current color is {color}",hueLabel:"pick hue value",hueDescription:"hue {hue}, current color is {color}",svLabel:"pick saturation and brightness value",svDescription:"saturation {saturation}, brightness {brightness}, current color is {color}",predefineDescription:"select {value} as the color"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum",selectAllLabel:"Select all rows",selectRowLabel:"Select this row",expandRowLabel:"Expand this row",collapseRowLabel:"Collapse this row",sortLabel:"Sort by {column}",filterLabel:"Filter by {column}"},tag:{close:"Close this tag"},tour:{next:"Next",previous:"Previous",finish:"Finish",close:"Close this dialog"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const bM=e=>(t,n)=>yM(t,n,s(e)),yM=(e,t,n)=>dn(n,e,e).replace(/\{(\w+)\}/g,(o,a)=>{var l;return`${(l=t?.[a])!=null?l:`{${a}}`}`}),wM=e=>{const t=S(()=>s(e).name),n=qt(e)?e:L(e);return{lang:t,locale:n,t:bM(e)}},xS=Symbol("localeContextKey"),kt=e=>{const t=e||Pe(xS,L());return wM(S(()=>t.value||gM))},IS="__epPropKey",J=e=>e,CM=e=>rt(e)&&!!e[IS],na=(e,t)=>{if(!rt(e)||CM(e))return e;const{values:n,required:o,default:a,type:l,validator:r}=e,u={type:l,required:!!o,validator:n||r?c=>{let d=!1,f=[];if(n&&(f=Array.from(n),Rt(e,"default")&&f.push(a),d||(d=f.includes(c))),r&&(d||(d=r(c))),!d&&f.length>0){const v=[...new Set(f)].map(p=>JSON.stringify(p)).join(", ");m$(`Invalid prop: validation failed${t?` for prop "${t}"`:""}. Expected one of [${v}], got value ${JSON.stringify(c)}.`)}return d}:void 0,[IS]:!0};return Rt(e,"default")&&(u.default=a),u},Ee=e=>Ai(Object.entries(e).map(([t,n])=>[t,na(n,t)])),Ta=["","default","small","large"],gn=na({type:String,values:Ta,required:!1}),PS=Symbol("size"),MS=()=>{const e=Pe(PS,{});return S(()=>s(e.size)||"")},AS=Symbol("emptyValuesContextKey"),SM=["",void 0,null],kM=void 0,_r=Ee({emptyValues:Array,valueOnClear:{type:J([String,Number,Boolean,Function]),default:void 0,validator:e=>(e=Ke(e)?e():e,Ce(e)?e.every(t=>!t):!e)}}),hu=(e,t)=>{const n=dt()?Pe(AS,L({})):L({}),o=S(()=>e.emptyValues||n.value.emptyValues||SM),a=S(()=>Ke(e.valueOnClear)?e.valueOnClear():e.valueOnClear!==void 0?e.valueOnClear:Ke(n.value.valueOnClear)?n.value.valueOnClear():n.value.valueOnClear!==void 0?n.value.valueOnClear:t!==void 0?t:kM),l=r=>{let i=!0;return Ce(r)?i=o.value.some(u=>nn(r,u)):i=o.value.includes(r),i};return l(a.value),{emptyValues:o,valueOnClear:a,isEmptyValue:l}},Li=e=>Object.keys(e),LS=e=>Object.entries(e),gi=(e,t,n)=>({get value(){return dn(e,t,n)},set value(o){RP(e,t,o)}}),ad=L();function Is(e,t=void 0){const n=dt()?Pe(AC,ad):ad;return e?S(()=>{var o,a;return(a=(o=n.value)==null?void 0:o[e])!=null?a:t}):n}function nf(e,t){const n=Is(),o=ge(e,S(()=>{var i;return((i=n.value)==null?void 0:i.namespace)||vi})),a=kt(S(()=>{var i;return(i=n.value)==null?void 0:i.locale})),l=vu(S(()=>{var i;return((i=n.value)==null?void 0:i.zIndex)||RS})),r=S(()=>{var i;return s(t)||((i=n.value)==null?void 0:i.size)||""});return Uh(S(()=>s(n)||{})),{ns:o,locale:a,zIndex:l,size:r}}const Uh=(e,t,n=!1)=>{var o;const a=!!dt(),l=a?Is():void 0,r=(o=t?.provide)!=null?o:a?vt:void 0;if(!r)return;const i=S(()=>{const u=s(e);return l?.value?EM(l.value,u):u});return r(AC,i),r(xS,S(()=>i.value.locale)),r(LC,S(()=>i.value.namespace)),r(NS,S(()=>i.value.zIndex)),r(PS,{size:S(()=>i.value.size||"")}),r(AS,S(()=>({emptyValues:i.value.emptyValues,valueOnClear:i.value.valueOnClear}))),(n||!ad.value)&&(ad.value=i.value),i},EM=(e,t)=>{const n=[...new Set([...Li(e),...Li(t)])],o={};for(const a of n)o[a]=t[a]!==void 0?t[a]:e[a];return o},_M=(e=[])=>({version:cN,install:(n,o)=>{n[_0]||(n[_0]=!0,e.forEach(a=>n.use(a)),o&&Uh(o,n,!0))}}),Qe="update:modelValue",gt="change",pn="input",TM=Ee({zIndex:{type:J([Number,String]),default:100},target:{type:String,default:""},offset:{type:Number,default:0},position:{type:String,values:["top","bottom"],default:"top"}}),OM={scroll:({scrollTop:e,fixed:t})=>Ye(e)&&Lt(t),[gt]:e=>Lt(e)};var Oe=(e,t)=>{const n=e.__vccOpts||e;for(const[o,a]of t)n[o]=a;return n};function $M(e,t,n,o){const a=n-t;return e/=o/2,e<1?a/2*e*e*e+t:a/2*((e-=2)*e*e+2)+t}const Ja=e=>Nt?window.requestAnimationFrame(e):setTimeout(e,16),Za=e=>Nt?window.cancelAnimationFrame(e):clearTimeout(e),DS=(e="")=>e.split(" ").filter(t=>!!t.trim()),va=(e,t)=>{if(!e||!t)return!1;if(t.includes(" "))throw new Error("className should not contain space.");return e.classList.contains(t)},Ro=(e,t)=>{!e||!t.trim()||e.classList.add(...DS(t))},Yn=(e,t)=>{!e||!t.trim()||e.classList.remove(...DS(t))},Va=(e,t)=>{var n;if(!Nt||!e||!t)return"";let o=no(t);o==="float"&&(o="cssFloat");try{const a=e.style[o];if(a)return a;const l=(n=document.defaultView)==null?void 0:n.getComputedStyle(e,"");return l?l[o]:""}catch{return e.style[o]}},BS=(e,t,n)=>{if(!(!e||!t))if(rt(t))LS(t).forEach(([o,a])=>BS(e,o,a));else{const o=no(t);e.style[o]=n}};function Zt(e,t="px"){if(!e&&e!==0)return"";if(Ye(e)||AP(e))return`${e}${t}`;if(Ve(e))return e}const RM=(e,t)=>{if(!Nt)return!1;const n={undefined:"overflow",true:"overflow-y",false:"overflow-x"}[String(t)],o=Va(e,n);return["scroll","auto","overlay"].some(a=>o.includes(a))},qh=(e,t)=>{if(!Nt)return;let n=e;for(;n;){if([window,document,document.documentElement].includes(n))return window;if(RM(n,t))return n;n=n.parentNode}return n};let Uu;const FS=e=>{var t;if(!Nt)return 0;if(Uu!==void 0)return Uu;const n=document.createElement("div");n.className=`${e}-scrollbar__wrap`,n.style.visibility="hidden",n.style.width="100px",n.style.position="absolute",n.style.top="-9999px",document.body.appendChild(n);const o=n.offsetWidth;n.style.overflow="scroll";const a=document.createElement("div");a.style.width="100%",n.appendChild(a);const l=a.offsetWidth;return(t=n.parentNode)==null||t.removeChild(n),Uu=o-l,Uu};function Yh(e,t){if(!Nt)return;if(!t){e.scrollTop=0;return}const n=[];let o=t.offsetParent;for(;o!==null&&e!==o&&e.contains(o);)n.push(o),o=o.offsetParent;const a=t.offsetTop+n.reduce((u,c)=>u+c.offsetTop,0),l=a+t.offsetHeight,r=e.scrollTop,i=r+e.clientHeight;ai&&(e.scrollTop=l-e.clientHeight)}function NM(e,t,n,o,a){const l=Date.now();let r;const i=()=>{const c=Date.now()-l,d=$M(c>o?o:c,t,n,o);fu(e)?e.scrollTo(window.pageXOffset,d):e.scrollTop=d,c{r&&Za(r)}}const gb=(e,t)=>fu(t)?e.ownerDocument.documentElement:t,bb=e=>fu(e)?window.scrollY:e.scrollTop,VS="ElAffix",xM=q({name:VS}),IM=q({...xM,props:TM,emits:OM,setup(e,{expose:t,emit:n}){const o=e,a=ge("affix"),l=Wt(),r=Wt(),i=Wt(),{height:u}=jh(),{height:c,width:d,top:f,bottom:v,update:p}=ub(r,{windowScroll:!1}),m=ub(l),h=L(!1),g=L(0),b=L(0),C=S(()=>({height:h.value?`${c.value}px`:"",width:h.value?`${d.value}px`:""})),w=S(()=>{if(!h.value)return{};const _=Zt(o.offset);return{height:`${c.value}px`,width:`${d.value}px`,top:o.position==="top"?_:"",bottom:o.position==="bottom"?_:"",transform:b.value?`translateY(${b.value}px)`:"",zIndex:o.zIndex}}),y=()=>{if(!i.value)return;g.value=i.value instanceof Window?document.documentElement.scrollTop:i.value.scrollTop||0;const{position:_,target:x,offset:R}=o,M=R+c.value;if(_==="top")if(x){const O=m.bottom.value-M;h.value=R>f.value&&m.bottom.value>0,b.value=O<0?O:0}else h.value=R>f.value;else if(x){const O=u.value-m.top.value-M;h.value=u.value-Rm.top.value,b.value=O<0?-O:0}else h.value=u.value-R{if(!h.value){p();return}h.value=!1,await Me(),p(),h.value=!0},E=async()=>{p(),await Me(),n("scroll",{scrollTop:g.value,fixed:h.value})};return fe(h,_=>n(gt,_)),pt(()=>{var _;o.target?(l.value=(_=document.querySelector(o.target))!=null?_:void 0,l.value||fn(VS,`Target does not exist: ${o.target}`)):l.value=document.documentElement,i.value=qh(r.value,!0),p()}),It(i,"scroll",E),Eo(y),t({update:y,updateRoot:k}),(_,x)=>(T(),B("div",{ref_key:"root",ref:r,class:I(s(a).b()),style:je(s(C))},[H("div",{class:I({[s(a).m("fixed")]:h.value}),style:je(s(w))},[le(_.$slots,"default")],6)],6))}});var PM=Oe(IM,[["__file","affix.vue"]]);const at=(e,t)=>{if(e.install=n=>{for(const o of[e,...Object.values(t??{})])n.component(o.name,o)},t)for(const[n,o]of Object.entries(t))e[n]=o;return e},zS=(e,t)=>(e.install=n=>{e._context=n._context,n.config.globalProperties[t]=e},e),MM=(e,t)=>(e.install=n=>{n.directive(t,e)},e),Qt=e=>(e.install=Mt,e),AM=at(PM),LM=Ee({size:{type:J([Number,String])},color:{type:String}}),DM=q({name:"ElIcon",inheritAttrs:!1}),BM=q({...DM,props:LM,setup(e){const t=e,n=ge("icon"),o=S(()=>{const{size:a,color:l}=t,r=Zt(a);return!r&&!l?{}:{fontSize:r,"--color":l}});return(a,l)=>(T(),B("i",ft({class:s(n).b(),style:s(o)},a.$attrs),[le(a.$slots,"default")],16))}});var FM=Oe(BM,[["__file","icon.vue"]]);const Fe=at(FM);var VM=q({name:"ArrowDown",__name:"arrow-down",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.59 30.59 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.59 30.59 0 0 0-42.752 0z"})]))}}),Oa=VM,zM=q({name:"ArrowLeft",__name:"arrow-left",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.59 30.59 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.59 30.59 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0"})]))}}),Qa=zM,HM=q({name:"ArrowRight",__name:"arrow-right",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M340.864 149.312a30.59 30.59 0 0 0 0 42.752L652.736 512 340.864 831.872a30.59 30.59 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),Gn=HM,KM=q({name:"ArrowUp",__name:"arrow-up",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),of=KM,WM=q({name:"Back",__name:"back",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),H("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),jM=WM,UM=q({name:"Bell",__name:"bell",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 64a64 64 0 0 1 64 64v64H448v-64a64 64 0 0 1 64-64"}),H("path",{fill:"currentColor",d:"M256 768h512V448a256 256 0 1 0-512 0zm256-640a320 320 0 0 1 320 320v384H192V448a320 320 0 0 1 320-320"}),H("path",{fill:"currentColor",d:"M96 768h832q32 0 32 32t-32 32H96q-32 0-32-32t32-32m352 128h128a64 64 0 0 1-128 0"})]))}}),qM=UM,YM=q({name:"Calendar",__name:"calendar",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}}),GM=YM,XM=q({name:"CaretRight",__name:"caret-right",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),HS=XM,JM=q({name:"CaretTop",__name:"caret-top",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}}),ZM=JM,QM=q({name:"ChatLineSquare",__name:"chat-line-square",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M160 826.88 273.536 736H800a64 64 0 0 0 64-64V256a64 64 0 0 0-64-64H224a64 64 0 0 0-64 64zM296 800 147.968 918.4A32 32 0 0 1 96 893.44V256a128 128 0 0 1 128-128h576a128 128 0 0 1 128 128v416a128 128 0 0 1-128 128z"}),H("path",{fill:"currentColor",d:"M352 512h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32m0-192h320q32 0 32 32t-32 32H352q-32 0-32-32t32-32"})]))}}),eA=QM,tA=q({name:"Check",__name:"check",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),mu=tA,nA=q({name:"CircleCheckFilled",__name:"circle-check-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),oA=nA,aA=q({name:"CircleCheck",__name:"circle-check",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),H("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752z"})]))}}),Gh=aA,lA=q({name:"CircleCloseFilled",__name:"circle-close-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),Xh=lA,rA=q({name:"CircleClose",__name:"circle-close",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),H("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),il=rA,sA=q({name:"Clock",__name:"clock",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),H("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),H("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),KS=sA,iA=q({name:"Close",__name:"close",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),Po=iA,uA=q({name:"Cpu",__name:"cpu",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M320 256a64 64 0 0 0-64 64v384a64 64 0 0 0 64 64h384a64 64 0 0 0 64-64V320a64 64 0 0 0-64-64zm0-64h384a128 128 0 0 1 128 128v384a128 128 0 0 1-128 128H320a128 128 0 0 1-128-128V320a128 128 0 0 1 128-128"}),H("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m-320 0a32 32 0 0 1 32 32v128h-64V96a32 32 0 0 1 32-32m160 896a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m160 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32m-320 0a32 32 0 0 1-32-32V800h64v128a32 32 0 0 1-32 32M64 512a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0-160a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m0 320a32 32 0 0 1 32-32h128v64H96a32 32 0 0 1-32-32m896-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0-160a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32m0 320a32 32 0 0 1-32 32H800v-64h128a32 32 0 0 1 32 32"})]))}}),xne=uA,cA=q({name:"DArrowLeft",__name:"d-arrow-left",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672zm256 0a29.12 29.12 0 0 1 41.728 0 30.59 30.59 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.59 30.59 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672z"})]))}}),Al=cA,dA=q({name:"DArrowRight",__name:"d-arrow-right",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L764.736 512 452.864 192a30.59 30.59 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.59 30.59 0 0 1 0-42.752L508.736 512 196.864 192a30.59 30.59 0 0 1 0-42.688"})]))}}),Ll=dA,fA=q({name:"Delete",__name:"delete",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),pA=fA,vA=q({name:"Document",__name:"document",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),WS=vA,hA=q({name:"FullScreen",__name:"full-screen",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),mA=hA,gA=q({name:"Hide",__name:"hide",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4s-12.8-9.6-22.4-9.6-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176S0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4s3.2 16 9.6 22.4 12.8 9.6 22.4 9.6 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4m-646.4 528Q115.2 579.2 76.8 512q43.2-72 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4m140.8-96Q352 555.2 352 512c0-44.8 16-83.2 48-112s67.2-48 112-48c28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6q-43.2 72-153.6 172.8c-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176S1024 528 1024 512s-48.001-73.6-134.401-176"}),H("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112s-67.2 48-112 48"})]))}}),bA=gA,yA=q({name:"InfoFilled",__name:"info-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.99 12.99 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),Di=yA,wA=q({name:"Key",__name:"key",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M448 456.064V96a32 32 0 0 1 32-32.064L672 64a32 32 0 0 1 0 64H512v128h160a32 32 0 0 1 0 64H512v128a256 256 0 1 1-64 8.064M512 896a192 192 0 1 0 0-384 192 192 0 0 0 0 384"})]))}}),Ine=wA,CA=q({name:"List",__name:"list",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z"})]))}}),SA=CA,kA=q({name:"Loading",__name:"loading",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248m452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248M828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0"})]))}}),Ca=kA,EA=q({name:"Lock",__name:"lock",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M224 448a32 32 0 0 0-32 32v384a32 32 0 0 0 32 32h576a32 32 0 0 0 32-32V480a32 32 0 0 0-32-32zm0-64h576a96 96 0 0 1 96 96v384a96 96 0 0 1-96 96H224a96 96 0 0 1-96-96V480a96 96 0 0 1 96-96"}),H("path",{fill:"currentColor",d:"M512 544a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V576a32 32 0 0 1 32-32m192-160v-64a192 192 0 1 0-384 0v64zM512 64a256 256 0 0 1 256 256v128H256V320A256 256 0 0 1 512 64"})]))}}),_A=EA,TA=q({name:"Message",__name:"message",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M128 224v512a64 64 0 0 0 64 64h640a64 64 0 0 0 64-64V224zm0-64h768a64 64 0 0 1 64 64v512a128 128 0 0 1-128 128H192A128 128 0 0 1 64 736V224a64 64 0 0 1 64-64"}),H("path",{fill:"currentColor",d:"M904 224 656.512 506.88a192 192 0 0 1-289.024 0L120 224zm-698.944 0 210.56 240.704a128 128 0 0 0 192.704 0L818.944 224z"})]))}}),OA=TA,$A=q({name:"Minus",__name:"minus",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),RA=$A,NA=q({name:"MoreFilled",__name:"more-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}}),yb=NA,xA=q({name:"More",__name:"more",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M176 416a112 112 0 1 0 0 224 112 112 0 0 0 0-224m0 64a48 48 0 1 1 0 96 48 48 0 0 1 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96m336-64a112 112 0 1 1 0 224 112 112 0 0 1 0-224m0 64a48 48 0 1 0 0 96 48 48 0 0 0 0-96"})]))}}),IA=xA,PA=q({name:"PictureFilled",__name:"picture-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}}),MA=PA,AA=q({name:"Plus",__name:"plus",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),jS=AA,LA=q({name:"QuestionFilled",__name:"question-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592q0-64.416-42.24-101.376c-28.16-25.344-65.472-37.312-111.232-37.312m-12.672 406.208a54.27 54.27 0 0 0-38.72 14.784 49.4 49.4 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.85 54.85 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.97 51.97 0 0 0-15.488-38.016 55.94 55.94 0 0 0-39.424-14.784"})]))}}),DA=LA,BA=q({name:"RefreshLeft",__name:"refresh-left",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M289.088 296.704h92.992a32 32 0 0 1 0 64H232.96a32 32 0 0 1-32-32V179.712a32 32 0 0 1 64 0v50.56a384 384 0 0 1 643.84 282.88 384 384 0 0 1-383.936 384 384 384 0 0 1-384-384h64a320 320 0 1 0 640 0 320 320 0 0 0-555.712-216.448z"})]))}}),FA=BA,VA=q({name:"RefreshRight",__name:"refresh-right",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M784.512 230.272v-50.56a32 32 0 1 1 64 0v149.056a32 32 0 0 1-32 32H667.52a32 32 0 1 1 0-64h92.992A320 320 0 1 0 524.8 833.152a320 320 0 0 0 320-320h64a384 384 0 0 1-384 384 384 384 0 0 1-384-384 384 384 0 0 1 643.712-282.88"})]))}}),zA=VA,HA=q({name:"ScaleToOriginal",__name:"scale-to-original",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118m-361.412 0a30.12 30.12 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.12 30.12 0 0 0-30.118-30.118M512 361.412a30.12 30.12 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.12 30.12 0 0 0 512 361.412M512 512a30.12 30.12 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.12 30.12 0 0 0 512 512"})]))}}),KA=HA,WA=q({name:"Search",__name:"search",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}}),jA=WA,UA=q({name:"Setting",__name:"setting",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),qA=UA,YA=q({name:"SortDown",__name:"sort-down",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M576 96v709.568L333.312 562.816A32 32 0 1 0 288 608l297.408 297.344A32 32 0 0 0 640 882.688V96a32 32 0 0 0-64 0"})]))}}),GA=YA,XA=q({name:"SortUp",__name:"sort-up",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M384 141.248V928a32 32 0 1 0 64 0V218.56l242.688 242.688A32 32 0 1 0 736 416L438.592 118.656A32 32 0 0 0 384 141.248"})]))}}),JA=XA,ZA=q({name:"StarFilled",__name:"star-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M313.6 924.48a70.4 70.4 0 0 1-74.152-5.365 70.4 70.4 0 0 1-27.992-68.875l37.888-220.928L88.96 472.96a70.4 70.4 0 0 1 3.788-104.225A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 100.246-28.595 70.4 70.4 0 0 1 25.962 28.595l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),qu=ZA,QA=q({name:"Star",__name:"star",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"m512 747.84 228.16 119.936a6.4 6.4 0 0 0 9.28-6.72l-43.52-254.08 184.512-179.904a6.4 6.4 0 0 0-3.52-10.88l-255.104-37.12L517.76 147.904a6.4 6.4 0 0 0-11.52 0L392.192 379.072l-255.104 37.12a6.4 6.4 0 0 0-3.52 10.88L318.08 606.976l-43.584 254.08a6.4 6.4 0 0 0 9.28 6.72zM313.6 924.48a70.4 70.4 0 0 1-102.144-74.24l37.888-220.928L88.96 472.96A70.4 70.4 0 0 1 128 352.896l221.76-32.256 99.2-200.96a70.4 70.4 0 0 1 126.208 0l99.2 200.96 221.824 32.256a70.4 70.4 0 0 1 39.04 120.064L774.72 629.376l37.888 220.928a70.4 70.4 0 0 1-102.144 74.24L512 820.096l-198.4 104.32z"})]))}}),e6=QA,t6=q({name:"SuccessFilled",__name:"success-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.27 38.27 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),US=t6,n6=q({name:"Tickets",__name:"tickets",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h192v64H320zm0 384h384v64H320z"})]))}}),Pne=n6,o6=q({name:"Tools",__name:"tools",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M764.416 254.72a351.7 351.7 0 0 1 86.336 149.184H960v192.064H850.752a351.7 351.7 0 0 1-86.336 149.312l54.72 94.72-166.272 96-54.592-94.72a352.64 352.64 0 0 1-172.48 0L371.136 936l-166.272-96 54.72-94.72a351.7 351.7 0 0 1-86.336-149.312H64v-192h109.248a351.7 351.7 0 0 1 86.336-149.312L204.8 160l166.208-96h.192l54.656 94.592a352.64 352.64 0 0 1 172.48 0L652.8 64h.128L819.2 160l-54.72 94.72zM704 499.968a192 192 0 1 0-384 0 192 192 0 0 0 384 0"})]))}}),a6=o6,l6=q({name:"TrendCharts",__name:"trend-charts",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M128 896V128h768v768zm291.712-327.296 128 102.4 180.16-201.792-47.744-42.624-139.84 156.608-128-102.4-180.16 201.792 47.744 42.624zM816 352a48 48 0 1 0-96 0 48 48 0 0 0 96 0"})]))}}),Mne=l6,r6=q({name:"UserFilled",__name:"user-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M288 320a224 224 0 1 0 448 0 224 224 0 1 0-448 0m544 608H160a32 32 0 0 1-32-32v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 0 1-32 32z"})]))}}),Ane=r6,s6=q({name:"User",__name:"user",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 512a192 192 0 1 0 0-384 192 192 0 0 0 0 384m0 64a256 256 0 1 1 0-512 256 256 0 0 1 0 512m320 320v-96a96 96 0 0 0-96-96H288a96 96 0 0 0-96 96v96a32 32 0 1 1-64 0v-96a160 160 0 0 1 160-160h448a160 160 0 0 1 160 160v96a32 32 0 1 1-64 0"})]))}}),i6=s6,u6=q({name:"View",__name:"view",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288m0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.19 160.19 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),c6=u6,d6=q({name:"WarningFilled",__name:"warning-filled",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.43 58.43 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.43 58.43 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),af=d6,f6=q({name:"ZoomIn",__name:"zoom-in",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),qS=f6,p6=q({name:"ZoomOut",__name:"zoom-out",setup(e){return(t,n)=>(T(),B("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[H("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),v6=p6;const Bt=J([String,Object,Function]),YS={Close:Po},Jh={Close:Po,SuccessFilled:US,InfoFilled:Di,WarningFilled:af,CircleCloseFilled:Xh},Dl={primary:Di,success:US,warning:af,error:Xh,info:Di},lf={validating:Ca,success:Gh,error:il},h6=["light","dark"],m6=Ee({title:{type:String,default:""},description:{type:String,default:""},type:{type:String,values:Li(Dl),default:"info"},closable:{type:Boolean,default:!0},closeText:{type:String,default:""},showIcon:Boolean,center:Boolean,effect:{type:String,values:h6,default:"light"},showAfter:Number,hideAfter:Number,autoClose:Number}),g6={close:e=>e instanceof MouseEvent},b6=q({name:"ElAlert"}),y6=q({...b6,props:m6,emits:g6,setup(e,{emit:t}){const n=e,{Close:o}=Jh,a=hn(),l=ge("alert"),r=L(!0),i=S(()=>Dl[n.type]),u=S(()=>!!(n.description||a.default)),c=d=>{r.value=!1,t("close",d)};return n.showAfter||n.hideAfter||n.autoClose,(d,f)=>(T(),ie(Nn,{name:s(l).b("fade"),persisted:""},{default:te(()=>[it(H("div",{class:I([s(l).b(),s(l).m(d.type),s(l).is("center",d.center),s(l).is(d.effect)]),role:"alert"},[d.showIcon&&(d.$slots.icon||s(i))?(T(),ie(s(Fe),{key:0,class:I([s(l).e("icon"),s(l).is("big",s(u))])},{default:te(()=>[le(d.$slots,"icon",{},()=>[(T(),ie(ut(s(i))))])]),_:3},8,["class"])):re("v-if",!0),H("div",{class:I(s(l).e("content"))},[d.title||d.$slots.title?(T(),B("span",{key:0,class:I([s(l).e("title"),{"with-description":s(u)}])},[le(d.$slots,"title",{},()=>[wt(ke(d.title),1)])],2)):re("v-if",!0),s(u)?(T(),B("p",{key:1,class:I(s(l).e("description"))},[le(d.$slots,"default",{},()=>[wt(ke(d.description),1)])],2)):re("v-if",!0),d.closable?(T(),B(ze,{key:2},[d.closeText?(T(),B("div",{key:0,class:I([s(l).e("close-btn"),s(l).is("customed")]),onClick:c},ke(d.closeText),3)):(T(),ie(s(Fe),{key:1,class:I(s(l).e("close-btn")),onClick:c},{default:te(()=>[G(s(o))]),_:1},8,["class"]))],64)):re("v-if",!0)],2)],2),[[$t,r.value]])]),_:3},8,["name"]))}});var w6=Oe(y6,[["__file","alert.vue"]]);const C6=at(w6),Zh=()=>Nt&&/firefox/i.test(window.navigator.userAgent),GS=()=>Nt&&/android/i.test(window.navigator.userAgent);let ro;const S6={height:"0",visibility:"hidden",overflow:Zh()?"":"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},k6=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing","word-break"],wb=e=>{const t=Number.parseFloat(e);return Number.isNaN(t)?e:t};function E6(e){const t=window.getComputedStyle(e),n=t.getPropertyValue("box-sizing"),o=Number.parseFloat(t.getPropertyValue("padding-bottom"))+Number.parseFloat(t.getPropertyValue("padding-top")),a=Number.parseFloat(t.getPropertyValue("border-bottom-width"))+Number.parseFloat(t.getPropertyValue("border-top-width"));return{contextStyle:k6.map(r=>[r,t.getPropertyValue(r)]),paddingSize:o,borderSize:a,boxSizing:n}}function Cb(e,t=1,n){var o,a;ro||(ro=document.createElement("textarea"),((o=e.parentNode)!=null?o:document.body).appendChild(ro));const{paddingSize:l,borderSize:r,boxSizing:i,contextStyle:u}=E6(e);u.forEach(([v,p])=>ro?.style.setProperty(v,p)),Object.entries(S6).forEach(([v,p])=>ro?.style.setProperty(v,p,"important")),ro.value=e.value||e.placeholder||"";let c=ro.scrollHeight;const d={};i==="border-box"?c=c+r:i==="content-box"&&(c=c-l),ro.value="";const f=ro.scrollHeight-l;if(Ye(t)){let v=f*t;i==="border-box"&&(v=v+l+r),c=Math.max(v,c),d.minHeight=`${v}px`}if(Ye(n)){let v=f*n;i==="border-box"&&(v=v+l+r),c=Math.min(v,c)}return d.height=`${c}px`,(a=ro.parentNode)==null||a.removeChild(ro),ro=void 0,d}const Jt=e=>e,_6=Ee({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),Xn=e=>Xa(_6,e),gu=Ee({id:{type:String,default:void 0},size:gn,disabled:{type:Boolean,default:void 0},modelValue:{type:J([String,Number,Object]),default:""},modelModifiers:{type:J(Object),default:()=>({})},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:J(String),default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:J([Boolean,Object]),default:!1},autocomplete:{type:J(String),default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,clearIcon:{type:Bt,default:il},showPassword:Boolean,showWordLimit:Boolean,wordLimitPosition:{type:String,values:["inside","outside"],default:"inside"},suffixIcon:{type:Bt},prefixIcon:{type:Bt},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:J([Object,Array,String]),default:()=>Jt({})},autofocus:Boolean,rows:{type:Number,default:2},...Xn(["ariaLabel"]),inputmode:{type:J(String),default:void 0},name:String}),T6={[Qe]:e=>Ve(e),input:e=>Ve(e),change:(e,t)=>Ve(e)&&(t instanceof Event||t===void 0),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,mouseleave:e=>e instanceof MouseEvent,mouseenter:e=>e instanceof MouseEvent,keydown:e=>e instanceof Event,compositionstart:e=>e instanceof CompositionEvent,compositionupdate:e=>e instanceof CompositionEvent,compositionend:e=>e instanceof CompositionEvent},O6=["class","style"],$6=/^on[A-Z]/,rf=(e={})=>{const{excludeListeners:t=!1,excludeKeys:n}=e,o=S(()=>(n?.value||[]).concat(O6)),a=dt();return S(a?()=>{var l;return Ai(Object.entries((l=a.proxy)==null?void 0:l.$attrs).filter(([r])=>!o.value.includes(r)&&!(t&&$6.test(r))))}:()=>({}))},Sb={prefix:Math.floor(Math.random()*1e4),current:0},R6=Symbol("elIdInjection"),Qh=()=>dt()?Pe(R6,Sb):Sb,xn=e=>{const t=Qh(),n=Th();return nd(()=>s(e)||`${n.value}-id-${t.prefix}-${t.current++}`)},Tr=Symbol("formContextKey"),Sa=Symbol("formItemContextKey"),$n=()=>{const e=Pe(Tr,void 0),t=Pe(Sa,void 0);return{form:e,formItem:t}},_o=(e,{formItemContext:t,disableIdGeneration:n,disableIdManagement:o})=>{n||(n=L(!1)),o||(o=L(!1));const a=dt(),l=()=>{let c=a?.parent;for(;c;){if(c.type.name==="ElFormItem")return!1;if(c.type.name==="ElLabelWrap")return!0;c=c.parent}return!1},r=L();let i;const u=S(()=>{var c;return!!(!(e.label||e.ariaLabel)&&t&&t.inputIds&&((c=t.inputIds)==null?void 0:c.length)<=1)});return pt(()=>{i=fe([Dt(e,"id"),n],([c,d])=>{const f=c??(d?void 0:xn().value);f!==r.value&&(t?.removeInputId&&!l()&&(r.value&&t.removeInputId(r.value),!o?.value&&!d&&f&&t.addInputId(f)),r.value=f)},{immediate:!0})}),_s(()=>{i&&i(),t?.removeInputId&&r.value&&t.removeInputId(r.value)}),{isLabeledByFormItem:u,inputId:r}},XS=e=>{const t=dt();return S(()=>{var n,o;return(o=(n=t?.proxy)==null?void 0:n.$props)==null?void 0:o[e]})},vn=(e,t={})=>{const n=L(void 0),o=t.prop?n:XS("size"),a=t.global?n:MS(),l=t.form?{size:void 0}:Pe(Tr,void 0),r=t.formItem?{size:void 0}:Pe(Sa,void 0);return S(()=>o.value||s(e)||r?.size||l?.size||a.value||"")},en=e=>{const t=XS("disabled"),n=Pe(Tr,void 0);return S(()=>{var o,a,l;return(l=(a=(o=t.value)!=null?o:s(e))!=null?a:n?.disabled)!=null?l:!1})},N6='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',kb=e=>typeof Element>"u"?!1:e instanceof Element,x6=e=>getComputedStyle(e).position==="fixed"?!1:e.offsetParent!==null,Eb=e=>Array.from(e.querySelectorAll(N6)).filter(t=>Bi(t)&&x6(t)),Bi=e=>{if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.tabIndex<0||e.hasAttribute("disabled")||e.getAttribute("aria-disabled")==="true")return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return!(e.type==="hidden"||e.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},hc=function(e,t,...n){let o;t.includes("mouse")||t.includes("click")?o="MouseEvents":t.includes("key")?o="KeyboardEvent":o="HTMLEvents";const a=document.createEvent(o);return a.initEvent(t,...n),e.dispatchEvent(a),e},JS=e=>!e.getAttribute("aria-owns"),ZS=(e,t,n)=>{const{parentNode:o}=e;if(!o)return null;const a=o.querySelectorAll(n),l=Array.prototype.indexOf.call(a,e);return a[l+t]||null},bu=(e,t)=>{if(!e||!e.focus)return;let n=!1;kb(e)&&!Bi(e)&&!e.getAttribute("tabindex")&&(e.setAttribute("tabindex","-1"),n=!0),e.focus(t),kb(e)&&n&&e.removeAttribute("tabindex")},mc=e=>{e&&(bu(e),!JS(e)&&e.click())};function ul(e,{disabled:t,beforeFocus:n,afterFocus:o,beforeBlur:a,afterBlur:l}={}){const r=dt(),{emit:i}=r,u=Wt(),c=L(!1),d=p=>{const m=Ke(n)?n(p):!1;s(t)||c.value||m||(c.value=!0,i("focus",p),o?.())},f=p=>{var m;const h=Ke(a)?a(p):!1;s(t)||p.relatedTarget&&((m=u.value)!=null&&m.contains(p.relatedTarget))||h||(c.value=!1,i("blur",p),l?.())},v=p=>{var m,h;s(t)||Bi(p.target)||(m=u.value)!=null&&m.contains(document.activeElement)&&u.value!==document.activeElement||(h=e.value)==null||h.focus()};return fe([u,()=>s(t)],([p,m])=>{p&&(m?p.removeAttribute("tabindex"):p.setAttribute("tabindex","-1"))}),It(u,"focus",d,!0),It(u,"blur",f,!0),It(u,"click",v,!0),{isFocused:c,wrapperRef:u,handleFocus:d,handleBlur:f}}const I6=e=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(e);function yu({afterComposition:e,emit:t}){const n=L(!1),o=i=>{t?.("compositionstart",i),n.value=!0},a=i=>{var u;t?.("compositionupdate",i);const c=(u=i.target)==null?void 0:u.value,d=c[c.length-1]||"";n.value=!I6(d)},l=i=>{t?.("compositionend",i),n.value&&(n.value=!1,Me(()=>e(i)))};return{isComposing:n,handleComposition:i=>{i.type==="compositionend"?l(i):a(i)},handleCompositionStart:o,handleCompositionUpdate:a,handleCompositionEnd:l}}function P6(e){let t;function n(){if(e.value==null)return;const{selectionStart:a,selectionEnd:l,value:r}=e.value;if(a==null||l==null)return;const i=r.slice(0,Math.max(0,a)),u=r.slice(Math.max(0,l));t={selectionStart:a,selectionEnd:l,value:r,beforeTxt:i,afterTxt:u}}function o(){if(e.value==null||t==null)return;const{value:a}=e.value,{beforeTxt:l,afterTxt:r,selectionStart:i}=t;if(l==null||r==null||i==null)return;let u=a.length;if(a.endsWith(r))u=a.length-r.length;else if(a.startsWith(l))u=l.length;else{const c=l[i-1],d=a.indexOf(c,i-1);d!==-1&&(u=d+1)}e.value.setSelectionRange(u,u)}return[n,o]}const M6="ElInput",A6=q({name:M6,inheritAttrs:!1}),L6=q({...A6,props:gu,emits:T6,setup(e,{expose:t,emit:n}){const o=e,a=al(),l=rf(),r=hn(),i=S(()=>[o.type==="textarea"?h.b():m.b(),m.m(v.value),m.is("disabled",p.value),m.is("exceed",V.value),{[m.b("group")]:r.prepend||r.append,[m.m("prefix")]:r.prefix||o.prefixIcon,[m.m("suffix")]:r.suffix||o.suffixIcon||o.clearable||o.showPassword,[m.bm("suffix","password-clear")]:A.value&&z.value,[m.b("hidden")]:o.type==="hidden"},a.class]),u=S(()=>[m.e("wrapper"),m.is("focus",x.value)]),{form:c,formItem:d}=$n(),{inputId:f}=_o(o,{formItemContext:d}),v=vn(),p=en(),m=ge("input"),h=ge("textarea"),g=Wt(),b=Wt(),C=L(!1),w=L(!1),y=L(),k=Wt(o.inputStyle),E=S(()=>g.value||b.value),{wrapperRef:_,isFocused:x,handleFocus:R,handleBlur:M}=ul(E,{disabled:p,afterBlur(){var me;o.validateEvent&&((me=d?.validate)==null||me.call(d,"blur").catch(We=>void 0))}}),O=S(()=>{var me;return(me=c?.statusIcon)!=null?me:!1}),N=S(()=>d?.validateState||""),F=S(()=>N.value&&lf[N.value]),U=S(()=>w.value?c6:bA),Y=S(()=>[a.style]),P=S(()=>[o.inputStyle,k.value,{resize:o.resize}]),$=S(()=>cn(o.modelValue)?"":String(o.modelValue)),A=S(()=>o.clearable&&!p.value&&!o.readonly&&!!$.value&&(x.value||C.value)),z=S(()=>o.showPassword&&!p.value&&!!$.value),D=S(()=>o.showWordLimit&&!!o.maxlength&&(o.type==="text"||o.type==="textarea")&&!p.value&&!o.readonly&&!o.showPassword),W=S(()=>$.value.length),V=S(()=>!!D.value&&W.value>Number(o.maxlength)),j=S(()=>!!r.suffix||!!o.suffixIcon||A.value||o.showPassword||D.value||!!N.value&&O.value),ne=S(()=>!!Object.keys(o.modelModifiers).length),[oe,ce]=P6(g);Yt(b,me=>{if(X(),!D.value||o.resize!=="both"&&o.resize!=="horizontal")return;const We=me[0],{width:Be}=We.contentRect;y.value={right:`calc(100% - ${Be+22-10}px)`}});const ee=()=>{const{type:me,autosize:We}=o;if(!(!Nt||me!=="textarea"||!b.value))if(We){const Be=rt(We)?We.minRows:void 0,Ct=rt(We)?We.maxRows:void 0,Et=Cb(b.value,Be,Ct);k.value={overflowY:"hidden",...Et},Me(()=>{b.value.offsetHeight,k.value=Et})}else k.value={minHeight:Cb(b.value).minHeight}},X=(me=>{let We=!1;return()=>{var Be;if(We||!o.autosize)return;((Be=b.value)==null?void 0:Be.offsetParent)===null||(setTimeout(me),We=!0)}})(ee),Q=()=>{const me=E.value,We=o.formatter?o.formatter($.value):$.value;!me||me.value===We||o.type==="file"||(me.value=We)},ae=me=>{const{trim:We,number:Be}=o.modelModifiers;return We&&(me=me.trim()),Be&&(me=`${wb(me)}`),o.formatter&&o.parser&&(me=o.parser(me)),me},K=async me=>{if(ue.value)return;const{lazy:We}=o.modelModifiers;let{value:Be}=me.target;if(We){n(pn,Be);return}if(Be=ae(Be),String(Be)===$.value){o.formatter&&Q();return}oe(),n(Qe,Be),n(pn,Be),await Me(),(o.formatter&&o.parser||!ne.value)&&Q(),ce()},Z=async me=>{let{value:We}=me.target;We=ae(We),o.modelModifiers.lazy&&n(Qe,We),n(gt,We,me),await Me(),Q()},{isComposing:ue,handleCompositionStart:pe,handleCompositionUpdate:ve,handleCompositionEnd:he}=yu({emit:n,afterComposition:K}),Ie=()=>{w.value=!w.value},_e=()=>{var me;return(me=E.value)==null?void 0:me.focus()},De=()=>{var me;return(me=E.value)==null?void 0:me.blur()},ye=me=>{C.value=!1,n("mouseleave",me)},xe=me=>{C.value=!0,n("mouseenter",me)},Re=me=>{n("keydown",me)},Le=()=>{var me;(me=E.value)==null||me.select()},He=()=>{n(Qe,""),n(gt,""),n("clear"),n(pn,"")};return fe(()=>o.modelValue,()=>{var me;Me(()=>ee()),o.validateEvent&&((me=d?.validate)==null||me.call(d,"change").catch(We=>void 0))}),fe($,me=>{if(!E.value)return;const{trim:We,number:Be}=o.modelModifiers,Ct=E.value.value,Et=(Be||o.type==="number")&&!/^0\d/.test(Ct)?`${wb(Ct)}`:Ct;Et!==me&&(document.activeElement===E.value&&E.value.type!=="range"&&We&&Et.trim()===me||Q())}),fe(()=>o.type,async()=>{await Me(),Q(),ee()}),pt(()=>{!o.formatter&&o.parser,Q(),Me(ee)}),t({input:g,textarea:b,ref:E,textareaStyle:P,autosize:Dt(o,"autosize"),isComposing:ue,focus:_e,blur:De,select:Le,clear:He,resizeTextarea:ee}),(me,We)=>(T(),B("div",{class:I([s(i),{[s(m).bm("group","append")]:me.$slots.append,[s(m).bm("group","prepend")]:me.$slots.prepend}]),style:je(s(Y)),onMouseenter:xe,onMouseleave:ye},[re(" input "),me.type!=="textarea"?(T(),B(ze,{key:0},[re(" prepend slot "),me.$slots.prepend?(T(),B("div",{key:0,class:I(s(m).be("group","prepend"))},[le(me.$slots,"prepend")],2)):re("v-if",!0),H("div",{ref_key:"wrapperRef",ref:_,class:I(s(u))},[re(" prefix slot "),me.$slots.prefix||me.prefixIcon?(T(),B("span",{key:0,class:I(s(m).e("prefix"))},[H("span",{class:I(s(m).e("prefix-inner"))},[le(me.$slots,"prefix"),me.prefixIcon?(T(),ie(s(Fe),{key:0,class:I(s(m).e("icon"))},{default:te(()=>[(T(),ie(ut(me.prefixIcon)))]),_:1},8,["class"])):re("v-if",!0)],2)],2)):re("v-if",!0),H("input",ft({id:s(f),ref_key:"input",ref:g,class:s(m).e("inner")},s(l),{name:me.name,minlength:me.minlength,maxlength:me.maxlength,type:me.showPassword?w.value?"text":"password":me.type,disabled:s(p),readonly:me.readonly,autocomplete:me.autocomplete,tabindex:me.tabindex,"aria-label":me.ariaLabel,placeholder:me.placeholder,style:me.inputStyle,form:me.form,autofocus:me.autofocus,role:me.containerRole,inputmode:me.inputmode,onCompositionstart:s(pe),onCompositionupdate:s(ve),onCompositionend:s(he),onInput:K,onChange:Z,onKeydown:Re}),null,16,["id","name","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","inputmode","onCompositionstart","onCompositionupdate","onCompositionend"]),re(" suffix slot "),s(j)?(T(),B("span",{key:1,class:I(s(m).e("suffix"))},[H("span",{class:I(s(m).e("suffix-inner"))},[!s(A)||!s(z)||!s(D)?(T(),B(ze,{key:0},[le(me.$slots,"suffix"),me.suffixIcon?(T(),ie(s(Fe),{key:0,class:I(s(m).e("icon"))},{default:te(()=>[(T(),ie(ut(me.suffixIcon)))]),_:1},8,["class"])):re("v-if",!0)],64)):re("v-if",!0),s(A)?(T(),ie(s(Fe),{key:1,class:I([s(m).e("icon"),s(m).e("clear")]),onMousedown:Ze(s(Mt),["prevent"]),onClick:He},{default:te(()=>[(T(),ie(ut(me.clearIcon)))]),_:1},8,["class","onMousedown"])):re("v-if",!0),s(z)?(T(),ie(s(Fe),{key:2,class:I([s(m).e("icon"),s(m).e("password")]),onClick:Ie,onMousedown:Ze(s(Mt),["prevent"]),onMouseup:Ze(s(Mt),["prevent"])},{default:te(()=>[(T(),ie(ut(s(U))))]),_:1},8,["class","onMousedown","onMouseup"])):re("v-if",!0),s(D)?(T(),B("span",{key:3,class:I([s(m).e("count"),s(m).is("outside",me.wordLimitPosition==="outside")])},[H("span",{class:I(s(m).e("count-inner"))},ke(s(W))+" / "+ke(me.maxlength),3)],2)):re("v-if",!0),s(N)&&s(F)&&s(O)?(T(),ie(s(Fe),{key:4,class:I([s(m).e("icon"),s(m).e("validateIcon"),s(m).is("loading",s(N)==="validating")])},{default:te(()=>[(T(),ie(ut(s(F))))]),_:1},8,["class"])):re("v-if",!0)],2)],2)):re("v-if",!0)],2),re(" append slot "),me.$slots.append?(T(),B("div",{key:1,class:I(s(m).be("group","append"))},[le(me.$slots,"append")],2)):re("v-if",!0)],64)):(T(),B(ze,{key:1},[re(" textarea "),H("textarea",ft({id:s(f),ref_key:"textarea",ref:b,class:[s(h).e("inner"),s(m).is("focus",s(x))]},s(l),{name:me.name,minlength:me.minlength,maxlength:me.maxlength,tabindex:me.tabindex,disabled:s(p),readonly:me.readonly,autocomplete:me.autocomplete,style:s(P),"aria-label":me.ariaLabel,placeholder:me.placeholder,form:me.form,autofocus:me.autofocus,rows:me.rows,role:me.containerRole,onCompositionstart:s(pe),onCompositionupdate:s(ve),onCompositionend:s(he),onInput:K,onFocus:s(R),onBlur:s(M),onChange:Z,onKeydown:Re}),null,16,["id","name","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),s(D)?(T(),B("span",{key:0,style:je(y.value),class:I([s(m).e("count"),s(m).is("outside",me.wordLimitPosition==="outside")])},ke(s(W))+" / "+ke(me.maxlength),7)):re("v-if",!0)],64))],38))}});var D6=Oe(L6,[["__file","input.vue"]]);const qn=at(D6),Rr=4,QS={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},B6=({move:e,size:t,bar:n})=>({[n.size]:t,transform:`translate${n.axis}(${e}%)`}),em=Symbol("scrollbarContextKey"),F6=Ee({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),V6="Thumb",z6=q({__name:"thumb",props:F6,setup(e){const t=e,n=Pe(em),o=ge("scrollbar");n||fn(V6,"can not inject scrollbar context");const a=L(),l=L(),r=L({}),i=L(!1);let u=!1,c=!1,d=0,f=0,v=Nt?document.onselectstart:null;const p=S(()=>QS[t.vertical?"vertical":"horizontal"]),m=S(()=>B6({size:t.size,move:t.move,bar:p.value})),h=S(()=>a.value[p.value.offset]**2/n.wrapElement[p.value.scrollSize]/t.ratio/l.value[p.value.offset]),g=x=>{var R;if(x.stopPropagation(),x.ctrlKey||[1,2].includes(x.button))return;(R=window.getSelection())==null||R.removeAllRanges(),C(x);const M=x.currentTarget;M&&(r.value[p.value.axis]=M[p.value.offset]-(x[p.value.client]-M.getBoundingClientRect()[p.value.direction]))},b=x=>{if(!l.value||!a.value||!n.wrapElement)return;const R=Math.abs(x.target.getBoundingClientRect()[p.value.direction]-x[p.value.client]),M=l.value[p.value.offset]/2,O=(R-M)*100*h.value/a.value[p.value.offset];n.wrapElement[p.value.scroll]=O*n.wrapElement[p.value.scrollSize]/100},C=x=>{x.stopImmediatePropagation(),u=!0,d=n.wrapElement.scrollHeight,f=n.wrapElement.scrollWidth,document.addEventListener("mousemove",w),document.addEventListener("mouseup",y),v=document.onselectstart,document.onselectstart=()=>!1},w=x=>{if(!a.value||!l.value||u===!1)return;const R=r.value[p.value.axis];if(!R)return;const M=(a.value.getBoundingClientRect()[p.value.direction]-x[p.value.client])*-1,O=l.value[p.value.offset]-R,N=(M-O)*100*h.value/a.value[p.value.offset];p.value.scroll==="scrollLeft"?n.wrapElement[p.value.scroll]=N*f/100:n.wrapElement[p.value.scroll]=N*d/100},y=()=>{u=!1,r.value[p.value.axis]=0,document.removeEventListener("mousemove",w),document.removeEventListener("mouseup",y),_(),c&&(i.value=!1)},k=()=>{c=!1,i.value=!!t.size},E=()=>{c=!0,i.value=u};Pt(()=>{_(),document.removeEventListener("mouseup",y)});const _=()=>{document.onselectstart!==v&&(document.onselectstart=v)};return It(Dt(n,"scrollbarElement"),"mousemove",k),It(Dt(n,"scrollbarElement"),"mouseleave",E),(x,R)=>(T(),ie(Nn,{name:s(o).b("fade"),persisted:""},{default:te(()=>[it(H("div",{ref_key:"instance",ref:a,class:I([s(o).e("bar"),s(o).is(s(p).key)]),onMousedown:b,onClick:Ze(()=>{},["stop"])},[H("div",{ref_key:"thumb",ref:l,class:I(s(o).e("thumb")),style:je(s(m)),onMousedown:g},null,38)],42,["onClick"]),[[$t,x.always||i.value]])]),_:1},8,["name"]))}});var _b=Oe(z6,[["__file","thumb.vue"]]);const H6=Ee({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),K6=q({__name:"bar",props:H6,setup(e,{expose:t}){const n=e,o=Pe(em),a=L(0),l=L(0),r=L(""),i=L(""),u=L(1),c=L(1);return t({handleScroll:v=>{if(v){const p=v.offsetHeight-Rr,m=v.offsetWidth-Rr;l.value=v.scrollTop*100/p*u.value,a.value=v.scrollLeft*100/m*c.value}},update:()=>{const v=o?.wrapElement;if(!v)return;const p=v.offsetHeight-Rr,m=v.offsetWidth-Rr,h=p**2/v.scrollHeight,g=m**2/v.scrollWidth,b=Math.max(h,n.minSize),C=Math.max(g,n.minSize);u.value=h/(p-h)/(b/(p-b)),c.value=g/(m-g)/(C/(m-C)),i.value=b+Rr(T(),B(ze,null,[G(_b,{move:a.value,ratio:c.value,size:r.value,always:v.always},null,8,["move","ratio","size","always"]),G(_b,{move:l.value,ratio:u.value,size:i.value,vertical:"",always:v.always},null,8,["move","ratio","size","always"])],64))}});var W6=Oe(K6,[["__file","bar.vue"]]);const j6=Ee({distance:{type:Number,default:0},height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:Boolean,wrapStyle:{type:J([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...Xn(["ariaLabel","ariaOrientation"])}),e2={"end-reached":e=>["left","right","top","bottom"].includes(e),scroll:({scrollTop:e,scrollLeft:t})=>[e,t].every(Ye)},U6="ElScrollbar",q6=q({name:U6}),Y6=q({...q6,props:j6,emits:e2,setup(e,{expose:t,emit:n}){const o=e,a=ge("scrollbar");let l,r,i,u=0,c=0,d="";const f={bottom:!1,top:!1,right:!1,left:!1},v=L(),p=L(),m=L(),h=L(),g=S(()=>{const O={},N=Zt(o.height),F=Zt(o.maxHeight);return N&&(O.height=N),F&&(O.maxHeight=F),[o.wrapStyle,O]}),b=S(()=>[o.wrapClass,a.e("wrap"),{[a.em("wrap","hidden-default")]:!o.native}]),C=S(()=>[a.e("view"),o.viewClass]),w=O=>{var N;return(N=f[O])!=null?N:!1},y={top:"bottom",bottom:"top",left:"right",right:"left"},k=O=>{const N=y[d];if(!N)return;const F=O[d],U=O[N];F&&!f[d]&&(f[d]=!0),!U&&f[N]&&(f[N]=!1)},E=()=>{var O;if(p.value){(O=h.value)==null||O.handleScroll(p.value);const N=u,F=c;u=p.value.scrollTop,c=p.value.scrollLeft;const U={bottom:u+p.value.clientHeight>=p.value.scrollHeight-o.distance,top:u<=o.distance&&N!==0,right:c+p.value.clientWidth>=p.value.scrollWidth-o.distance&&F!==c,left:c<=o.distance&&F!==0};if(n("scroll",{scrollTop:u,scrollLeft:c}),N!==u&&(d=u>N?"bottom":"top"),F!==c&&(d=c>F?"right":"left"),o.distance>0){if(w(d))return;k(U)}U[d]&&n("end-reached",d)}};function _(O,N){rt(O)?p.value.scrollTo(O):Ye(O)&&Ye(N)&&p.value.scrollTo(O,N)}const x=O=>{Ye(O)&&(p.value.scrollTop=O)},R=O=>{Ye(O)&&(p.value.scrollLeft=O)},M=()=>{var O;(O=h.value)==null||O.update(),f[d]=!1};return fe(()=>o.noresize,O=>{O?(l?.(),r?.(),i?.()):({stop:l}=Yt(m,M),{stop:r}=Yt(p,M),i=It("resize",M))},{immediate:!0}),fe(()=>[o.maxHeight,o.height],()=>{o.native||Me(()=>{var O;M(),p.value&&((O=h.value)==null||O.handleScroll(p.value))})}),vt(em,xt({scrollbarElement:v,wrapElement:p})),Fd(()=>{p.value&&(p.value.scrollTop=u,p.value.scrollLeft=c)}),pt(()=>{o.native||Me(()=>{M()})}),ea(()=>M()),t({wrapRef:p,update:M,scrollTo:_,setScrollTop:x,setScrollLeft:R,handleScroll:E}),(O,N)=>(T(),B("div",{ref_key:"scrollbarRef",ref:v,class:I(s(a).b())},[H("div",{ref_key:"wrapRef",ref:p,class:I(s(b)),style:je(s(g)),tabindex:O.tabindex,onScroll:E},[(T(),ie(ut(O.tag),{id:O.id,ref_key:"resizeRef",ref:m,class:I(s(C)),style:je(O.viewStyle),role:O.role,"aria-label":O.ariaLabel,"aria-orientation":O.ariaOrientation},{default:te(()=>[le(O.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),O.native?re("v-if",!0):(T(),ie(W6,{key:0,ref_key:"barRef",ref:h,always:O.always,"min-size":O.minSize},null,8,["always","min-size"]))],2))}});var G6=Oe(Y6,[["__file","scrollbar.vue"]]);const Yo=at(G6),tm=Symbol("popper"),t2=Symbol("popperContent"),n2=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],o2=Ee({role:{type:String,values:n2,default:"tooltip"}}),X6=q({name:"ElPopper",inheritAttrs:!1}),J6=q({...X6,props:o2,setup(e,{expose:t}){const n=e,o=L(),a=L(),l=L(),r=L(),i=S(()=>n.role),u={triggerRef:o,popperInstanceRef:a,contentRef:l,referenceRef:r,role:i};return t(u),vt(tm,u),(c,d)=>le(c.$slots,"default")}});var Z6=Oe(J6,[["__file","popper.vue"]]);const Q6=q({name:"ElPopperArrow",inheritAttrs:!1}),e8=q({...Q6,setup(e,{expose:t}){const n=ge("popper"),{arrowRef:o,arrowStyle:a}=Pe(t2,void 0);return Pt(()=>{o.value=void 0}),t({arrowRef:o}),(l,r)=>(T(),B("span",{ref_key:"arrowRef",ref:o,class:I(s(n).e("arrow")),style:je(s(a)),"data-popper-arrow":""},null,6))}});var t8=Oe(e8,[["__file","arrow.vue"]]);const a2=Ee({virtualRef:{type:J(Object)},virtualTriggering:Boolean,onMouseenter:{type:J(Function)},onMouseleave:{type:J(Function)},onClick:{type:J(Function)},onKeydown:{type:J(Function)},onFocus:{type:J(Function)},onBlur:{type:J(Function)},onContextmenu:{type:J(Function)},id:String,open:Boolean}),l2=Symbol("elForwardRef"),n8=e=>{vt(l2,{setForwardRef:n=>{e.value=n}})},o8=e=>({mounted(t){e(t)},updated(t){e(t)},unmounted(){e(null)}}),a8="ElOnlyChild",r2=q({name:a8,setup(e,{slots:t,attrs:n}){var o;const a=Pe(l2),l=o8((o=a?.setForwardRef)!=null?o:Mt);return()=>{var r;const i=(r=t.default)==null?void 0:r.call(t,n);if(!i)return null;const[u,c]=s2(i);return u?it(Ga(u,n),[[l]]):null}}});function s2(e){if(!e)return[null,0];const t=e,n=t.filter(o=>o.type!==an).length;for(const o of t){if(rt(o))switch(o.type){case an:continue;case Ts:case"svg":return[Tb(o),n];case ze:return s2(o.children);default:return[o,n]}return[Tb(o),n]}return[null,0]}function Tb(e){const t=ge("only-child");return G("span",{class:t.e("content")},[e])}const l8=q({name:"ElPopperTrigger",inheritAttrs:!1}),r8=q({...l8,props:a2,setup(e,{expose:t}){const n=e,{role:o,triggerRef:a}=Pe(tm,void 0);n8(a);const l=S(()=>i.value?n.id:void 0),r=S(()=>{if(o&&o.value==="tooltip")return n.open&&n.id?n.id:void 0}),i=S(()=>{if(o&&o.value!=="tooltip")return o.value}),u=S(()=>i.value?`${n.open}`:void 0);let c;const d=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return pt(()=>{fe(()=>n.virtualRef,f=>{f&&(a.value=En(f))},{immediate:!0}),fe(a,(f,v)=>{c?.(),c=void 0,uo(v)&&d.forEach(p=>{const m=n[p];m&&v.removeEventListener(p.slice(2).toLowerCase(),m,["onFocus","onBlur"].includes(p))}),uo(f)&&(d.forEach(p=>{const m=n[p];m&&f.addEventListener(p.slice(2).toLowerCase(),m,["onFocus","onBlur"].includes(p))}),Bi(f)&&(c=fe([l,r,i,u],p=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((m,h)=>{cn(p[h])?f.removeAttribute(m):f.setAttribute(m,p[h])})},{immediate:!0}))),uo(v)&&Bi(v)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(p=>v.removeAttribute(p))},{immediate:!0})}),Pt(()=>{if(c?.(),c=void 0,a.value&&uo(a.value)){const f=a.value;d.forEach(v=>{const p=n[v];p&&f.removeEventListener(v.slice(2).toLowerCase(),p,["onFocus","onBlur"].includes(v))}),a.value=void 0}}),t({triggerRef:a}),(f,v)=>f.virtualTriggering?re("v-if",!0):(T(),ie(s(r2),ft({key:0},f.$attrs,{"aria-controls":s(l),"aria-describedby":s(r),"aria-expanded":s(u),"aria-haspopup":s(i)}),{default:te(()=>[le(f.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var s8=Oe(r8,[["__file","trigger.vue"]]);const tp="focus-trap.focus-after-trapped",np="focus-trap.focus-after-released",i8="focus-trap.focusout-prevented",Ob={cancelable:!0,bubbles:!1},u8={cancelable:!0,bubbles:!1},$b="focusAfterTrapped",Rb="focusAfterReleased",i2=Symbol("elFocusTrap"),nm=L(),sf=L(0),om=L(0);let Yu=0;const u2=e=>{const t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{const a=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||a?NodeFilter.FILTER_SKIP:o.tabIndex>=0||o===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t},Nb=(e,t)=>{for(const n of e)if(!c8(n,t))return n},c8=(e,t)=>{if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1},d8=e=>{const t=u2(e),n=Nb(t,e),o=Nb(t.reverse(),e);return[n,o]},f8=e=>e instanceof HTMLInputElement&&"select"in e,ml=(e,t)=>{if(e){const n=document.activeElement;bu(e,{preventScroll:!0}),om.value=window.performance.now(),e!==n&&f8(e)&&t&&e.select()}};function xb(e,t){const n=[...e],o=e.indexOf(t);return o!==-1&&n.splice(o,1),n}const p8=()=>{let e=[];return{push:o=>{const a=e[0];a&&o!==a&&a.pause(),e=xb(e,o),e.unshift(o)},remove:o=>{var a,l;e=xb(e,o),(l=(a=e[0])==null?void 0:a.resume)==null||l.call(a)}}},v8=(e,t=!1)=>{const n=document.activeElement;for(const o of e)if(ml(o,t),document.activeElement!==n)return},Ib=p8(),h8=()=>sf.value>om.value,Gu=()=>{nm.value="pointer",sf.value=window.performance.now()},Pb=()=>{nm.value="keyboard",sf.value=window.performance.now()},m8=()=>(pt(()=>{Yu===0&&(document.addEventListener("mousedown",Gu),document.addEventListener("touchstart",Gu),document.addEventListener("keydown",Pb)),Yu++}),Pt(()=>{Yu--,Yu<=0&&(document.removeEventListener("mousedown",Gu),document.removeEventListener("touchstart",Gu),document.removeEventListener("keydown",Pb))}),{focusReason:nm,lastUserFocusTimestamp:sf,lastAutomatedFocusTimestamp:om}),Xu=e=>new CustomEvent(i8,{...u8,detail:e}),Se={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"},yn=(e,t,{checkForDefaultPrevented:n=!0}={})=>a=>{const l=e?.(a);if(n===!1||!l)return t?.(a)},Mb=e=>t=>t.pointerType==="mouse"?e(t):void 0,Vt=e=>{if(e.code&&e.code!=="Unidentified")return e.code;const t=c2(e);if(t){if(Object.values(Se).includes(t))return t;switch(t){case" ":return Se.space;default:return""}}return""},c2=e=>{let t=e.key&&e.key!=="Unidentified"?e.key:"";if(!t&&e.type==="keyup"&&GS()){const n=e.target;t=n.value.charAt(n.selectionStart-1)}return t};let Dr=[];const Ab=e=>{Vt(e)===Se.esc&&Dr.forEach(n=>n(e))},g8=e=>{pt(()=>{Dr.length===0&&document.addEventListener("keydown",Ab),Nt&&Dr.push(e)}),Pt(()=>{Dr=Dr.filter(t=>t!==e),Dr.length===0&&Nt&&document.removeEventListener("keydown",Ab)})},b8=q({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[$b,Rb,"focusin","focusout","focusout-prevented","release-requested"],setup(e,{emit:t}){const n=L();let o,a;const{focusReason:l}=m8();g8(m=>{e.trapped&&!r.paused&&t("release-requested",m)});const r={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},i=m=>{if(!e.loop&&!e.trapped||r.paused)return;const{altKey:h,ctrlKey:g,metaKey:b,currentTarget:C,shiftKey:w}=m,{loop:y}=e,E=Vt(m)===Se.tab&&!h&&!g&&!b,_=document.activeElement;if(E&&_){const x=C,[R,M]=d8(x);if(R&&M){if(!w&&_===M){const N=Xu({focusReason:l.value});t("focusout-prevented",N),N.defaultPrevented||(m.preventDefault(),y&&ml(R,!0))}else if(w&&[R,x].includes(_)){const N=Xu({focusReason:l.value});t("focusout-prevented",N),N.defaultPrevented||(m.preventDefault(),y&&ml(M,!0))}}else if(_===x){const N=Xu({focusReason:l.value});t("focusout-prevented",N),N.defaultPrevented||m.preventDefault()}}};vt(i2,{focusTrapRef:n,onKeydown:i}),fe(()=>e.focusTrapEl,m=>{m&&(n.value=m)},{immediate:!0}),fe([n],([m],[h])=>{m&&(m.addEventListener("keydown",i),m.addEventListener("focusin",d),m.addEventListener("focusout",f)),h&&(h.removeEventListener("keydown",i),h.removeEventListener("focusin",d),h.removeEventListener("focusout",f))});const u=m=>{t($b,m)},c=m=>t(Rb,m),d=m=>{const h=s(n);if(!h)return;const g=m.target,b=m.relatedTarget,C=g&&h.contains(g);e.trapped||b&&h.contains(b)||(o=b),C&&t("focusin",m),!r.paused&&e.trapped&&(C?a=g:ml(a,!0))},f=m=>{const h=s(n);if(!(r.paused||!h))if(e.trapped){const g=m.relatedTarget;!cn(g)&&!h.contains(g)&&setTimeout(()=>{if(!r.paused&&e.trapped){const b=Xu({focusReason:l.value});t("focusout-prevented",b),b.defaultPrevented||ml(a,!0)}},0)}else{const g=m.target;g&&h.contains(g)||t("focusout",m)}};async function v(){await Me();const m=s(n);if(m){Ib.push(r);const h=m.contains(document.activeElement)?o:document.activeElement;if(o=h,!m.contains(h)){const b=new Event(tp,Ob);m.addEventListener(tp,u),m.dispatchEvent(b),b.defaultPrevented||Me(()=>{let C=e.focusStartEl;Ve(C)||(ml(C),document.activeElement!==C&&(C="first")),C==="first"&&v8(u2(m),!0),(document.activeElement===h||C==="container")&&ml(m)})}}}function p(){const m=s(n);if(m){m.removeEventListener(tp,u);const h=new CustomEvent(np,{...Ob,detail:{focusReason:l.value}});m.addEventListener(np,c),m.dispatchEvent(h),!h.defaultPrevented&&(l.value=="keyboard"||!h8()||m.contains(document.activeElement))&&ml(o??document.body),m.removeEventListener(np,c),Ib.remove(r),o=null,a=null}}return pt(()=>{e.trapped&&v(),fe(()=>e.trapped,m=>{m?v():p()})}),Pt(()=>{e.trapped&&p(),n.value&&(n.value.removeEventListener("keydown",i),n.value.removeEventListener("focusin",d),n.value.removeEventListener("focusout",f),n.value=void 0),o=null,a=null}),{onKeydown:i}}});function y8(e,t,n,o,a,l){return le(e.$slots,"default",{handleKeydown:e.onKeydown})}var Ps=Oe(b8,[["render",y8],["__file","focus-trap.vue"]]),fo="top",Mo="bottom",Ao="right",po="left",am="auto",wu=[fo,Mo,Ao,po],ds="start",Fi="end",w8="clippingParents",d2="viewport",Us="popper",C8="reference",Lb=wu.reduce(function(e,t){return e.concat([t+"-"+ds,t+"-"+Fi])},[]),cl=[].concat(wu,[am]).reduce(function(e,t){return e.concat([t,t+"-"+ds,t+"-"+Fi])},[]),S8="beforeRead",k8="read",E8="afterRead",_8="beforeMain",T8="main",O8="afterMain",$8="beforeWrite",R8="write",N8="afterWrite",x8=[S8,k8,E8,_8,T8,O8,$8,R8,N8];function ka(e){return e?(e.nodeName||"").toLowerCase():null}function oa(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function fs(e){var t=oa(e).Element;return e instanceof t||e instanceof Element}function xo(e){var t=oa(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function lm(e){if(typeof ShadowRoot>"u")return!1;var t=oa(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function I8(e){var t=e.state;Object.keys(t.elements).forEach(function(n){var o=t.styles[n]||{},a=t.attributes[n]||{},l=t.elements[n];!xo(l)||!ka(l)||(Object.assign(l.style,o),Object.keys(a).forEach(function(r){var i=a[r];i===!1?l.removeAttribute(r):l.setAttribute(r,i===!0?"":i)}))})}function P8(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach(function(o){var a=t.elements[o],l=t.attributes[o]||{},r=Object.keys(t.styles.hasOwnProperty(o)?t.styles[o]:n[o]),i=r.reduce(function(u,c){return u[c]="",u},{});!xo(a)||!ka(a)||(Object.assign(a.style,i),Object.keys(l).forEach(function(u){a.removeAttribute(u)}))})}}var f2={name:"applyStyles",enabled:!0,phase:"write",fn:I8,effect:P8,requires:["computeStyles"]};function ha(e){return e.split("-")[0]}var sr=Math.max,ld=Math.min,ps=Math.round;function vs(e,t){t===void 0&&(t=!1);var n=e.getBoundingClientRect(),o=1,a=1;if(xo(e)&&t){var l=e.offsetHeight,r=e.offsetWidth;r>0&&(o=ps(n.width)/r||1),l>0&&(a=ps(n.height)/l||1)}return{width:n.width/o,height:n.height/a,top:n.top/a,right:n.right/o,bottom:n.bottom/a,left:n.left/o,x:n.left/o,y:n.top/a}}function rm(e){var t=vs(e),n=e.offsetWidth,o=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-o)<=1&&(o=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:o}}function p2(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&lm(n)){var o=t;do{if(o&&e.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function el(e){return oa(e).getComputedStyle(e)}function M8(e){return["table","td","th"].indexOf(ka(e))>=0}function Vl(e){return((fs(e)?e.ownerDocument:e.document)||window.document).documentElement}function uf(e){return ka(e)==="html"?e:e.assignedSlot||e.parentNode||(lm(e)?e.host:null)||Vl(e)}function Db(e){return!xo(e)||el(e).position==="fixed"?null:e.offsetParent}function A8(e){var t=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,n=navigator.userAgent.indexOf("Trident")!==-1;if(n&&xo(e)){var o=el(e);if(o.position==="fixed")return null}var a=uf(e);for(lm(a)&&(a=a.host);xo(a)&&["html","body"].indexOf(ka(a))<0;){var l=el(a);if(l.transform!=="none"||l.perspective!=="none"||l.contain==="paint"||["transform","perspective"].indexOf(l.willChange)!==-1||t&&l.willChange==="filter"||t&&l.filter&&l.filter!=="none")return a;a=a.parentNode}return null}function Cu(e){for(var t=oa(e),n=Db(e);n&&M8(n)&&el(n).position==="static";)n=Db(n);return n&&(ka(n)==="html"||ka(n)==="body"&&el(n).position==="static")?t:n||A8(e)||t}function sm(e){return["top","bottom"].indexOf(e)>=0?"x":"y"}function bi(e,t,n){return sr(e,ld(t,n))}function L8(e,t,n){var o=bi(e,t,n);return o>n?n:o}function v2(){return{top:0,right:0,bottom:0,left:0}}function h2(e){return Object.assign({},v2(),e)}function m2(e,t){return t.reduce(function(n,o){return n[o]=e,n},{})}var D8=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,h2(typeof e!="number"?e:m2(e,wu))};function B8(e){var t,n=e.state,o=e.name,a=e.options,l=n.elements.arrow,r=n.modifiersData.popperOffsets,i=ha(n.placement),u=sm(i),c=[po,Ao].indexOf(i)>=0,d=c?"height":"width";if(!(!l||!r)){var f=D8(a.padding,n),v=rm(l),p=u==="y"?fo:po,m=u==="y"?Mo:Ao,h=n.rects.reference[d]+n.rects.reference[u]-r[u]-n.rects.popper[d],g=r[u]-n.rects.reference[u],b=Cu(l),C=b?u==="y"?b.clientHeight||0:b.clientWidth||0:0,w=h/2-g/2,y=f[p],k=C-v[d]-f[m],E=C/2-v[d]/2+w,_=bi(y,E,k),x=u;n.modifiersData[o]=(t={},t[x]=_,t.centerOffset=_-E,t)}}function F8(e){var t=e.state,n=e.options,o=n.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=t.elements.popper.querySelector(a),!a)||!p2(t.elements.popper,a)||(t.elements.arrow=a))}var V8={name:"arrow",enabled:!0,phase:"main",fn:B8,effect:F8,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function hs(e){return e.split("-")[1]}var z8={top:"auto",right:"auto",bottom:"auto",left:"auto"};function H8(e){var t=e.x,n=e.y,o=window,a=o.devicePixelRatio||1;return{x:ps(t*a)/a||0,y:ps(n*a)/a||0}}function Bb(e){var t,n=e.popper,o=e.popperRect,a=e.placement,l=e.variation,r=e.offsets,i=e.position,u=e.gpuAcceleration,c=e.adaptive,d=e.roundOffsets,f=e.isFixed,v=r.x,p=v===void 0?0:v,m=r.y,h=m===void 0?0:m,g=typeof d=="function"?d({x:p,y:h}):{x:p,y:h};p=g.x,h=g.y;var b=r.hasOwnProperty("x"),C=r.hasOwnProperty("y"),w=po,y=fo,k=window;if(c){var E=Cu(n),_="clientHeight",x="clientWidth";if(E===oa(n)&&(E=Vl(n),el(E).position!=="static"&&i==="absolute"&&(_="scrollHeight",x="scrollWidth")),E=E,a===fo||(a===po||a===Ao)&&l===Fi){y=Mo;var R=f&&E===k&&k.visualViewport?k.visualViewport.height:E[_];h-=R-o.height,h*=u?1:-1}if(a===po||(a===fo||a===Mo)&&l===Fi){w=Ao;var M=f&&E===k&&k.visualViewport?k.visualViewport.width:E[x];p-=M-o.width,p*=u?1:-1}}var O=Object.assign({position:i},c&&z8),N=d===!0?H8({x:p,y:h}):{x:p,y:h};if(p=N.x,h=N.y,u){var F;return Object.assign({},O,(F={},F[y]=C?"0":"",F[w]=b?"0":"",F.transform=(k.devicePixelRatio||1)<=1?"translate("+p+"px, "+h+"px)":"translate3d("+p+"px, "+h+"px, 0)",F))}return Object.assign({},O,(t={},t[y]=C?h+"px":"",t[w]=b?p+"px":"",t.transform="",t))}function K8(e){var t=e.state,n=e.options,o=n.gpuAcceleration,a=o===void 0?!0:o,l=n.adaptive,r=l===void 0?!0:l,i=n.roundOffsets,u=i===void 0?!0:i,c={placement:ha(t.placement),variation:hs(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:a,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,Bb(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:r,roundOffsets:u})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,Bb(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:u})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})}var g2={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:K8,data:{}},Ju={passive:!0};function W8(e){var t=e.state,n=e.instance,o=e.options,a=o.scroll,l=a===void 0?!0:a,r=o.resize,i=r===void 0?!0:r,u=oa(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return l&&c.forEach(function(d){d.addEventListener("scroll",n.update,Ju)}),i&&u.addEventListener("resize",n.update,Ju),function(){l&&c.forEach(function(d){d.removeEventListener("scroll",n.update,Ju)}),i&&u.removeEventListener("resize",n.update,Ju)}}var b2={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:W8,data:{}},j8={left:"right",right:"left",bottom:"top",top:"bottom"};function gc(e){return e.replace(/left|right|bottom|top/g,function(t){return j8[t]})}var U8={start:"end",end:"start"};function Fb(e){return e.replace(/start|end/g,function(t){return U8[t]})}function im(e){var t=oa(e),n=t.pageXOffset,o=t.pageYOffset;return{scrollLeft:n,scrollTop:o}}function um(e){return vs(Vl(e)).left+im(e).scrollLeft}function q8(e){var t=oa(e),n=Vl(e),o=t.visualViewport,a=n.clientWidth,l=n.clientHeight,r=0,i=0;return o&&(a=o.width,l=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=o.offsetLeft,i=o.offsetTop)),{width:a,height:l,x:r+um(e),y:i}}function Y8(e){var t,n=Vl(e),o=im(e),a=(t=e.ownerDocument)==null?void 0:t.body,l=sr(n.scrollWidth,n.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),r=sr(n.scrollHeight,n.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),i=-o.scrollLeft+um(e),u=-o.scrollTop;return el(a||n).direction==="rtl"&&(i+=sr(n.clientWidth,a?a.clientWidth:0)-l),{width:l,height:r,x:i,y:u}}function cm(e){var t=el(e),n=t.overflow,o=t.overflowX,a=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+a+o)}function y2(e){return["html","body","#document"].indexOf(ka(e))>=0?e.ownerDocument.body:xo(e)&&cm(e)?e:y2(uf(e))}function yi(e,t){var n;t===void 0&&(t=[]);var o=y2(e),a=o===((n=e.ownerDocument)==null?void 0:n.body),l=oa(o),r=a?[l].concat(l.visualViewport||[],cm(o)?o:[]):o,i=t.concat(r);return a?i:i.concat(yi(uf(r)))}function ev(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function G8(e){var t=vs(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}function Vb(e,t){return t===d2?ev(q8(e)):fs(t)?G8(t):ev(Y8(Vl(e)))}function X8(e){var t=yi(uf(e)),n=["absolute","fixed"].indexOf(el(e).position)>=0,o=n&&xo(e)?Cu(e):e;return fs(o)?t.filter(function(a){return fs(a)&&p2(a,o)&&ka(a)!=="body"}):[]}function J8(e,t,n){var o=t==="clippingParents"?X8(e):[].concat(t),a=[].concat(o,[n]),l=a[0],r=a.reduce(function(i,u){var c=Vb(e,u);return i.top=sr(c.top,i.top),i.right=ld(c.right,i.right),i.bottom=ld(c.bottom,i.bottom),i.left=sr(c.left,i.left),i},Vb(e,l));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function w2(e){var t=e.reference,n=e.element,o=e.placement,a=o?ha(o):null,l=o?hs(o):null,r=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2,u;switch(a){case fo:u={x:r,y:t.y-n.height};break;case Mo:u={x:r,y:t.y+t.height};break;case Ao:u={x:t.x+t.width,y:i};break;case po:u={x:t.x-n.width,y:i};break;default:u={x:t.x,y:t.y}}var c=a?sm(a):null;if(c!=null){var d=c==="y"?"height":"width";switch(l){case ds:u[c]=u[c]-(t[d]/2-n[d]/2);break;case Fi:u[c]=u[c]+(t[d]/2-n[d]/2);break}}return u}function Vi(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=o===void 0?e.placement:o,l=n.boundary,r=l===void 0?w8:l,i=n.rootBoundary,u=i===void 0?d2:i,c=n.elementContext,d=c===void 0?Us:c,f=n.altBoundary,v=f===void 0?!1:f,p=n.padding,m=p===void 0?0:p,h=h2(typeof m!="number"?m:m2(m,wu)),g=d===Us?C8:Us,b=e.rects.popper,C=e.elements[v?g:d],w=J8(fs(C)?C:C.contextElement||Vl(e.elements.popper),r,u),y=vs(e.elements.reference),k=w2({reference:y,element:b,placement:a}),E=ev(Object.assign({},b,k)),_=d===Us?E:y,x={top:w.top-_.top+h.top,bottom:_.bottom-w.bottom+h.bottom,left:w.left-_.left+h.left,right:_.right-w.right+h.right},R=e.modifiersData.offset;if(d===Us&&R){var M=R[a];Object.keys(x).forEach(function(O){var N=[Ao,Mo].indexOf(O)>=0?1:-1,F=[fo,Mo].indexOf(O)>=0?"y":"x";x[O]+=M[F]*N})}return x}function Z8(e,t){t===void 0&&(t={});var n=t,o=n.placement,a=n.boundary,l=n.rootBoundary,r=n.padding,i=n.flipVariations,u=n.allowedAutoPlacements,c=u===void 0?cl:u,d=hs(o),f=d?i?Lb:Lb.filter(function(m){return hs(m)===d}):wu,v=f.filter(function(m){return c.indexOf(m)>=0});v.length===0&&(v=f);var p=v.reduce(function(m,h){return m[h]=Vi(e,{placement:h,boundary:a,rootBoundary:l,padding:r})[ha(h)],m},{});return Object.keys(p).sort(function(m,h){return p[m]-p[h]})}function Q8(e){if(ha(e)===am)return[];var t=gc(e);return[Fb(e),t,Fb(t)]}function eL(e){var t=e.state,n=e.options,o=e.name;if(!t.modifiersData[o]._skip){for(var a=n.mainAxis,l=a===void 0?!0:a,r=n.altAxis,i=r===void 0?!0:r,u=n.fallbackPlacements,c=n.padding,d=n.boundary,f=n.rootBoundary,v=n.altBoundary,p=n.flipVariations,m=p===void 0?!0:p,h=n.allowedAutoPlacements,g=t.options.placement,b=ha(g),C=b===g,w=u||(C||!m?[gc(g)]:Q8(g)),y=[g].concat(w).reduce(function(ne,oe){return ne.concat(ha(oe)===am?Z8(t,{placement:oe,boundary:d,rootBoundary:f,padding:c,flipVariations:m,allowedAutoPlacements:h}):oe)},[]),k=t.rects.reference,E=t.rects.popper,_=new Map,x=!0,R=y[0],M=0;M=0,Y=U?"width":"height",P=Vi(t,{placement:O,boundary:d,rootBoundary:f,altBoundary:v,padding:c}),$=U?F?Ao:po:F?Mo:fo;k[Y]>E[Y]&&($=gc($));var A=gc($),z=[];if(l&&z.push(P[N]<=0),i&&z.push(P[$]<=0,P[A]<=0),z.every(function(ne){return ne})){R=O,x=!1;break}_.set(O,z)}if(x)for(var D=m?3:1,W=function(ne){var oe=y.find(function(ce){var ee=_.get(ce);if(ee)return ee.slice(0,ne).every(function(se){return se})});if(oe)return R=oe,"break"},V=D;V>0;V--){var j=W(V);if(j==="break")break}t.placement!==R&&(t.modifiersData[o]._skip=!0,t.placement=R,t.reset=!0)}}var tL={name:"flip",enabled:!0,phase:"main",fn:eL,requiresIfExists:["offset"],data:{_skip:!1}};function zb(e,t,n){return n===void 0&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Hb(e){return[fo,Ao,Mo,po].some(function(t){return e[t]>=0})}function nL(e){var t=e.state,n=e.name,o=t.rects.reference,a=t.rects.popper,l=t.modifiersData.preventOverflow,r=Vi(t,{elementContext:"reference"}),i=Vi(t,{altBoundary:!0}),u=zb(r,o),c=zb(i,a,l),d=Hb(u),f=Hb(c);t.modifiersData[n]={referenceClippingOffsets:u,popperEscapeOffsets:c,isReferenceHidden:d,hasPopperEscaped:f},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":d,"data-popper-escaped":f})}var oL={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:nL};function aL(e,t,n){var o=ha(e),a=[po,fo].indexOf(o)>=0?-1:1,l=typeof n=="function"?n(Object.assign({},t,{placement:e})):n,r=l[0],i=l[1];return r=r||0,i=(i||0)*a,[po,Ao].indexOf(o)>=0?{x:i,y:r}:{x:r,y:i}}function lL(e){var t=e.state,n=e.options,o=e.name,a=n.offset,l=a===void 0?[0,0]:a,r=cl.reduce(function(d,f){return d[f]=aL(f,t.rects,l),d},{}),i=r[t.placement],u=i.x,c=i.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=u,t.modifiersData.popperOffsets.y+=c),t.modifiersData[o]=r}var rL={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:lL};function sL(e){var t=e.state,n=e.name;t.modifiersData[n]=w2({reference:t.rects.reference,element:t.rects.popper,placement:t.placement})}var C2={name:"popperOffsets",enabled:!0,phase:"read",fn:sL,data:{}};function iL(e){return e==="x"?"y":"x"}function uL(e){var t=e.state,n=e.options,o=e.name,a=n.mainAxis,l=a===void 0?!0:a,r=n.altAxis,i=r===void 0?!1:r,u=n.boundary,c=n.rootBoundary,d=n.altBoundary,f=n.padding,v=n.tether,p=v===void 0?!0:v,m=n.tetherOffset,h=m===void 0?0:m,g=Vi(t,{boundary:u,rootBoundary:c,padding:f,altBoundary:d}),b=ha(t.placement),C=hs(t.placement),w=!C,y=sm(b),k=iL(y),E=t.modifiersData.popperOffsets,_=t.rects.reference,x=t.rects.popper,R=typeof h=="function"?h(Object.assign({},t.rects,{placement:t.placement})):h,M=typeof R=="number"?{mainAxis:R,altAxis:R}:Object.assign({mainAxis:0,altAxis:0},R),O=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,N={x:0,y:0};if(E){if(l){var F,U=y==="y"?fo:po,Y=y==="y"?Mo:Ao,P=y==="y"?"height":"width",$=E[y],A=$+g[U],z=$-g[Y],D=p?-x[P]/2:0,W=C===ds?_[P]:x[P],V=C===ds?-x[P]:-_[P],j=t.elements.arrow,ne=p&&j?rm(j):{width:0,height:0},oe=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:v2(),ce=oe[U],ee=oe[Y],se=bi(0,_[P],ne[P]),X=w?_[P]/2-D-se-ce-M.mainAxis:W-se-ce-M.mainAxis,Q=w?-_[P]/2+D+se+ee+M.mainAxis:V+se+ee+M.mainAxis,ae=t.elements.arrow&&Cu(t.elements.arrow),K=ae?y==="y"?ae.clientTop||0:ae.clientLeft||0:0,Z=(F=O?.[y])!=null?F:0,ue=$+X-Z-K,pe=$+Q-Z,ve=bi(p?ld(A,ue):A,$,p?sr(z,pe):z);E[y]=ve,N[y]=ve-$}if(i){var he,Ie=y==="x"?fo:po,_e=y==="x"?Mo:Ao,De=E[k],ye=k==="y"?"height":"width",xe=De+g[Ie],Re=De-g[_e],Le=[fo,po].indexOf(b)!==-1,He=(he=O?.[k])!=null?he:0,me=Le?xe:De-_[ye]-x[ye]-He+M.altAxis,We=Le?De+_[ye]+x[ye]-He-M.altAxis:Re,Be=p&&Le?L8(me,De,We):bi(p?me:xe,De,p?We:Re);E[k]=Be,N[k]=Be-De}t.modifiersData[o]=N}}var cL={name:"preventOverflow",enabled:!0,phase:"main",fn:uL,requiresIfExists:["offset"]};function dL(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function fL(e){return e===oa(e)||!xo(e)?im(e):dL(e)}function pL(e){var t=e.getBoundingClientRect(),n=ps(t.width)/e.offsetWidth||1,o=ps(t.height)/e.offsetHeight||1;return n!==1||o!==1}function vL(e,t,n){n===void 0&&(n=!1);var o=xo(t),a=xo(t)&&pL(t),l=Vl(t),r=vs(e,a),i={scrollLeft:0,scrollTop:0},u={x:0,y:0};return(o||!o&&!n)&&((ka(t)!=="body"||cm(l))&&(i=fL(t)),xo(t)?(u=vs(t,!0),u.x+=t.clientLeft,u.y+=t.clientTop):l&&(u.x=um(l))),{x:r.left+i.scrollLeft-u.x,y:r.top+i.scrollTop-u.y,width:r.width,height:r.height}}function hL(e){var t=new Map,n=new Set,o=[];e.forEach(function(l){t.set(l.name,l)});function a(l){n.add(l.name);var r=[].concat(l.requires||[],l.requiresIfExists||[]);r.forEach(function(i){if(!n.has(i)){var u=t.get(i);u&&a(u)}}),o.push(l)}return e.forEach(function(l){n.has(l.name)||a(l)}),o}function mL(e){var t=hL(e);return x8.reduce(function(n,o){return n.concat(t.filter(function(a){return a.phase===o}))},[])}function gL(e){var t;return function(){return t||(t=new Promise(function(n){Promise.resolve().then(function(){t=void 0,n(e())})})),t}}function bL(e){var t=e.reduce(function(n,o){var a=n[o.name];return n[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,n},{});return Object.keys(t).map(function(n){return t[n]})}var Kb={placement:"bottom",modifiers:[],strategy:"absolute"};function Wb(){for(var e=arguments.length,t=new Array(e),n=0;n({})},strategy:{type:String,values:SL,default:"absolute"}}),k2=Ee({...kL,...S2,id:String,style:{type:J([String,Array,Object])},className:{type:J([String,Array,Object])},effect:{type:J(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:Boolean,trapping:Boolean,popperClass:{type:J([String,Array,Object])},popperStyle:{type:J([String,Array,Object])},referenceEl:{type:J(Object)},triggerTargetEl:{type:J(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...Xn(["ariaLabel"]),loop:Boolean}),EL={mouseenter:e=>e instanceof MouseEvent,mouseleave:e=>e instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},_L=(e,t)=>{const n=L(!1),o=L(),a=()=>{t("focus")},l=c=>{var d;((d=c.detail)==null?void 0:d.focusReason)!=="pointer"&&(o.value="first",t("blur"))},r=c=>{e.visible&&!n.value&&(c.target&&(o.value=c.target),n.value=!0)},i=c=>{e.trapping||(c.detail.focusReason==="pointer"&&c.preventDefault(),n.value=!1)},u=()=>{n.value=!1,t("close")};return Pt(()=>{o.value=void 0}),{focusStartRef:o,trapped:n,onFocusAfterReleased:l,onFocusAfterTrapped:a,onFocusInTrap:r,onFocusoutPrevented:i,onReleaseRequested:u}},TL=(e,t=[])=>{const{placement:n,strategy:o,popperOptions:a}=e,l={placement:n,strategy:o,...a,modifiers:[...$L(e),...t]};return RL(l,a?.modifiers),l},OL=e=>{if(Nt)return En(e)};function $L(e){const{offset:t,gpuAcceleration:n,fallbackPlacements:o}=e;return[{name:"offset",options:{offset:[0,t??12]}},{name:"preventOverflow",options:{padding:{top:0,bottom:0,left:0,right:0}}},{name:"flip",options:{padding:5,fallbackPlacements:o}},{name:"computeStyles",options:{gpuAcceleration:n}}]}function RL(e,t){t&&(e.modifiers=[...e.modifiers,...t??[]])}const NL=(e,t,n={})=>{const o={name:"updateState",enabled:!0,phase:"write",fn:({state:u})=>{const c=xL(u);Object.assign(r.value,c)},requires:["computeStyles"]},a=S(()=>{const{onFirstUpdate:u,placement:c,strategy:d,modifiers:f}=s(n);return{onFirstUpdate:u,placement:c||"bottom",strategy:d||"absolute",modifiers:[...f||[],o,{name:"applyStyles",enabled:!1}]}}),l=Wt(),r=L({styles:{popper:{position:s(a).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),i=()=>{l.value&&(l.value.destroy(),l.value=void 0)};return fe(a,u=>{const c=s(l);c&&c.setOptions(u)},{deep:!0}),fe([e,t],([u,c])=>{i(),!(!u||!c)&&(l.value=CL(u,c,s(a)))}),Pt(()=>{i()}),{state:S(()=>{var u;return{...((u=s(l))==null?void 0:u.state)||{}}}),styles:S(()=>s(r).styles),attributes:S(()=>s(r).attributes),update:()=>{var u;return(u=s(l))==null?void 0:u.update()},forceUpdate:()=>{var u;return(u=s(l))==null?void 0:u.forceUpdate()},instanceRef:S(()=>s(l))}};function xL(e){const t=Object.keys(e.elements),n=Ai(t.map(a=>[a,e.styles[a]||{}])),o=Ai(t.map(a=>[a,e.attributes[a]]));return{styles:n,attributes:o}}const IL=0,PL=e=>{const{popperInstanceRef:t,contentRef:n,triggerRef:o,role:a}=Pe(tm,void 0),l=L(),r=S(()=>e.arrowOffset),i=S(()=>({name:"eventListeners",enabled:!!e.visible})),u=S(()=>{var b;const C=s(l),w=(b=s(r))!=null?b:IL;return{name:"arrow",enabled:!CP(C),options:{element:C,padding:w}}}),c=S(()=>({onFirstUpdate:()=>{m()},...TL(e,[s(u),s(i)])})),d=S(()=>OL(e.referenceEl)||s(o)),{attributes:f,state:v,styles:p,update:m,forceUpdate:h,instanceRef:g}=NL(d,n,c);return fe(g,b=>t.value=b,{flush:"sync"}),pt(()=>{fe(()=>{var b,C;return(C=(b=s(d))==null?void 0:b.getBoundingClientRect)==null?void 0:C.call(b)},()=>{m()})}),Pt(()=>{t.value=void 0}),{attributes:f,arrowRef:l,contentRef:n,instanceRef:g,state:v,styles:p,role:a,forceUpdate:h,update:m}},ML=(e,{attributes:t,styles:n,role:o})=>{const{nextZIndex:a}=vu(),l=ge("popper"),r=S(()=>s(t).popper),i=L(Ye(e.zIndex)?e.zIndex:a()),u=S(()=>[l.b(),l.is("pure",e.pure),l.is(e.effect),e.popperClass]),c=S(()=>[{zIndex:s(i)},s(n).popper,e.popperStyle||{}]),d=S(()=>o.value==="dialog"?"false":void 0),f=S(()=>s(n).arrow||{});return{ariaModal:d,arrowStyle:f,contentAttrs:r,contentClass:u,contentStyle:c,contentZIndex:i,updateZIndex:()=>{i.value=Ye(e.zIndex)?e.zIndex:a()}}},AL=q({name:"ElPopperContent"}),LL=q({...AL,props:k2,emits:EL,setup(e,{expose:t,emit:n}){const o=e,{focusStartRef:a,trapped:l,onFocusAfterReleased:r,onFocusAfterTrapped:i,onFocusInTrap:u,onFocusoutPrevented:c,onReleaseRequested:d}=_L(o,n),{attributes:f,arrowRef:v,contentRef:p,styles:m,instanceRef:h,role:g,update:b}=PL(o),{ariaModal:C,arrowStyle:w,contentAttrs:y,contentClass:k,contentStyle:E,updateZIndex:_}=ML(o,{styles:m,attributes:f,role:g}),x=Pe(Sa,void 0);vt(t2,{arrowStyle:w,arrowRef:v}),x&&vt(Sa,{...x,addInputId:Mt,removeInputId:Mt});let R;const M=(N=!0)=>{b(),N&&_()},O=()=>{M(!1),o.visible&&o.focusOnShow?l.value=!0:o.visible===!1&&(l.value=!1)};return pt(()=>{fe(()=>o.triggerTargetEl,(N,F)=>{R?.(),R=void 0;const U=s(N||p.value),Y=s(F||p.value);uo(U)&&(R=fe([g,()=>o.ariaLabel,C,()=>o.id],P=>{["role","aria-label","aria-modal","id"].forEach(($,A)=>{cn(P[A])?U.removeAttribute($):U.setAttribute($,P[A])})},{immediate:!0})),Y!==U&&uo(Y)&&["role","aria-label","aria-modal","id"].forEach(P=>{Y.removeAttribute(P)})},{immediate:!0}),fe(()=>o.visible,O,{immediate:!0})}),Pt(()=>{R?.(),R=void 0,p.value=void 0}),t({popperContentRef:p,popperInstanceRef:h,updatePopper:M,contentStyle:E}),(N,F)=>(T(),B("div",ft({ref_key:"contentRef",ref:p},s(y),{style:s(E),class:s(k),tabindex:"-1",onMouseenter:U=>N.$emit("mouseenter",U),onMouseleave:U=>N.$emit("mouseleave",U)}),[G(s(Ps),{loop:N.loop,trapped:s(l),"trap-on-focus-in":!0,"focus-trap-el":s(p),"focus-start-el":s(a),onFocusAfterTrapped:s(i),onFocusAfterReleased:s(r),onFocusin:s(u),onFocusoutPrevented:s(c),onReleaseRequested:s(d)},{default:te(()=>[le(N.$slots,"default")]),_:3},8,["loop","trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var DL=Oe(LL,[["__file","content.vue"]]);const E2=at(Z6),fm=Symbol("elTooltip");function jb(){let e;const t=(o,a)=>{n(),e=window.setTimeout(o,a)},n=()=>window.clearTimeout(e);return xs(()=>n()),{registerTimeout:t,cancelTimeout:n}}const BL=Ee({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),FL=({showAfter:e,hideAfter:t,autoClose:n,open:o,close:a})=>{const{registerTimeout:l}=jb(),{registerTimeout:r,cancelTimeout:i}=jb();return{onOpen:(d,f=s(e))=>{l(()=>{o(d);const v=s(n);Ye(v)&&v>0&&r(()=>{a(d)},v)},f)},onClose:(d,f=s(t))=>{i(),l(()=>{a(d)},f)}}},cf=Ee({to:{type:J([String,Object]),required:!0},disabled:Boolean}),zt=Ee({...BL,...k2,appendTo:{type:cf.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:J(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...Xn(["ariaLabel"])}),ma=Ee({...a2,disabled:Boolean,trigger:{type:J([String,Array]),default:"hover"},triggerKeys:{type:J(Array),default:()=>[Se.enter,Se.numpadEnter,Se.space]},focusOnTarget:Boolean}),VL=na({type:J(Boolean),default:null}),zL=na({type:J(Function)}),HL=e=>{const t=`update:${e}`,n=`onUpdate:${e}`,o=[t],a={[e]:VL,[n]:zL};return{useModelToggle:({indicator:r,toggleReason:i,shouldHideWhenRouteChanges:u,shouldProceed:c,onShow:d,onHide:f})=>{const v=dt(),{emit:p}=v,m=v.props,h=S(()=>Ke(m[n])),g=S(()=>m[e]===null),b=_=>{r.value!==!0&&(r.value=!0,i&&(i.value=_),Ke(d)&&d(_))},C=_=>{r.value!==!1&&(r.value=!1,i&&(i.value=_),Ke(f)&&f(_))},w=_=>{if(m.disabled===!0||Ke(c)&&!c())return;const x=h.value&&Nt;x&&p(t,!0),(g.value||!x)&&b(_)},y=_=>{if(m.disabled===!0||!Nt)return;const x=h.value&&Nt;x&&p(t,!1),(g.value||!x)&&C(_)},k=_=>{Lt(_)&&(m.disabled&&_?h.value&&p(t,!1):r.value!==_&&(_?b():C()))},E=()=>{r.value?y():w()};return fe(()=>m[e],k),u&&v.appContext.config.globalProperties.$route!==void 0&&fe(()=>({...v.proxy.$route}),()=>{u.value&&r.value&&y()}),pt(()=>{k(m[e])}),{hide:y,show:w,toggle:E,hasUpdateHandler:h}},useModelToggleProps:a,useModelToggleEmits:o}},{useModelToggleProps:KL,useModelToggleEmits:WL,useModelToggle:jL}=HL("visible"),UL=Ee({...o2,...KL,...zt,...ma,...S2,showArrow:{type:Boolean,default:!0}}),qL=[...WL,"before-show","before-hide","show","hide","open","close"],tv=(e,t)=>Ce(e)?e.includes(t):e===t,Nr=(e,t,n)=>o=>{tv(s(e),t)&&n(o)},YL=q({name:"ElTooltipTrigger"}),GL=q({...YL,props:ma,setup(e,{expose:t}){const n=e,o=ge("tooltip"),{controlled:a,id:l,open:r,onOpen:i,onClose:u,onToggle:c}=Pe(fm,void 0),d=L(null),f=()=>{if(s(a)||n.disabled)return!0},v=Dt(n,"trigger"),p=yn(f,Nr(v,"hover",y=>{i(y),n.focusOnTarget&&y.target&&Me(()=>{bu(y.target,{preventScroll:!0})})})),m=yn(f,Nr(v,"hover",u)),h=yn(f,Nr(v,"click",y=>{y.button===0&&c(y)})),g=yn(f,Nr(v,"focus",i)),b=yn(f,Nr(v,"focus",u)),C=yn(f,Nr(v,"contextmenu",y=>{y.preventDefault(),c(y)})),w=yn(f,y=>{const k=Vt(y);n.triggerKeys.includes(k)&&(y.preventDefault(),c(y))});return t({triggerRef:d}),(y,k)=>(T(),ie(s(s8),{id:s(l),"virtual-ref":y.virtualRef,open:s(r),"virtual-triggering":y.virtualTriggering,class:I(s(o).e("trigger")),onBlur:s(b),onClick:s(h),onContextmenu:s(C),onFocus:s(g),onMouseenter:s(p),onMouseleave:s(m),onKeydown:s(w)},{default:te(()=>[le(y.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var XL=Oe(GL,[["__file","trigger.vue"]]);const JL=q({__name:"teleport",props:cf,setup(e){return(t,n)=>t.disabled?le(t.$slots,"default",{key:0}):(T(),ie(vO,{key:1,to:t.to},[le(t.$slots,"default")],8,["to"]))}});var ZL=Oe(JL,[["__file","teleport.vue"]]);const Su=at(ZL),_2=()=>{const e=Th(),t=Qh(),n=S(()=>`${e.value}-popper-container-${t.prefix}`),o=S(()=>`#${n.value}`);return{id:n,selector:o}},QL=e=>{const t=document.createElement("div");return t.id=e,document.body.appendChild(t),t},eD=()=>{const{id:e,selector:t}=_2();return zd(()=>{Nt&&(document.body.querySelector(t.value)||QL(e.value))}),{id:e,selector:t}},Ub=e=>[...new Set(e)],qs=e=>Ce(e)?e[0]:e,jn=e=>!e&&e!==0?[]:Ce(e)?e:[e],tD=q({name:"ElTooltipContent",inheritAttrs:!1}),nD=q({...tD,props:zt,setup(e,{expose:t}){const n=e,{selector:o}=_2(),a=ge("tooltip"),l=L(),r=nd(()=>{var A;return(A=l.value)==null?void 0:A.popperContentRef});let i;const{controlled:u,id:c,open:d,trigger:f,onClose:v,onOpen:p,onShow:m,onHide:h,onBeforeShow:g,onBeforeHide:b}=Pe(fm,void 0),C=S(()=>n.transition||`${a.namespace.value}-fade-in-linear`),w=S(()=>n.persistent);Pt(()=>{i?.()});const y=S(()=>s(w)?!0:s(d)),k=S(()=>n.disabled?!1:s(d)),E=S(()=>n.appendTo||o.value),_=S(()=>{var A;return(A=n.style)!=null?A:{}}),x=L(!0),R=()=>{h(),$()&&bu(document.body,{preventScroll:!0}),x.value=!0},M=()=>{if(s(u))return!0},O=yn(M,()=>{n.enterable&&tv(s(f),"hover")&&p()}),N=yn(M,()=>{tv(s(f),"hover")&&v()}),F=()=>{var A,z;(z=(A=l.value)==null?void 0:A.updatePopper)==null||z.call(A),g?.()},U=()=>{b?.()},Y=()=>{m()},P=()=>{n.virtualTriggering||v()},$=A=>{var z;const D=(z=l.value)==null?void 0:z.popperContentRef,W=A?.relatedTarget||document.activeElement;return D?.contains(W)};return fe(()=>s(d),A=>{A?(x.value=!1,i=Kh(r,()=>{if(s(u))return;jn(s(f)).every(D=>D!=="hover"&&D!=="focus")&&v()},{detectIframe:!0})):i?.()},{flush:"post"}),fe(()=>n.content,()=>{var A,z;(z=(A=l.value)==null?void 0:A.updatePopper)==null||z.call(A)}),t({contentRef:l,isFocusInsideContent:$}),(A,z)=>(T(),ie(s(Su),{disabled:!A.teleported,to:s(E)},{default:te(()=>[s(y)||!x.value?(T(),ie(Nn,{key:0,name:s(C),appear:!s(w),onAfterLeave:R,onBeforeEnter:F,onAfterEnter:Y,onBeforeLeave:U,persisted:""},{default:te(()=>[it(G(s(DL),ft({id:s(c),ref_key:"contentRef",ref:l},A.$attrs,{"aria-label":A.ariaLabel,"aria-hidden":x.value,"boundaries-padding":A.boundariesPadding,"fallback-placements":A.fallbackPlacements,"gpu-acceleration":A.gpuAcceleration,offset:A.offset,placement:A.placement,"popper-options":A.popperOptions,"arrow-offset":A.arrowOffset,strategy:A.strategy,effect:A.effect,enterable:A.enterable,pure:A.pure,"popper-class":A.popperClass,"popper-style":[A.popperStyle,s(_)],"reference-el":A.referenceEl,"trigger-target-el":A.triggerTargetEl,visible:s(k),"z-index":A.zIndex,loop:A.loop,onMouseenter:s(O),onMouseleave:s(N),onBlur:P,onClose:s(v)}),{default:te(()=>[le(A.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","loop","onMouseenter","onMouseleave","onClose"]),[[$t,s(k)]])]),_:3},8,["name","appear"])):re("v-if",!0)]),_:3},8,["disabled","to"]))}});var oD=Oe(nD,[["__file","content.vue"]]);const aD=q({name:"ElTooltip"}),lD=q({...aD,props:UL,emits:qL,setup(e,{expose:t,emit:n}){const o=e;eD();const a=ge("tooltip"),l=xn(),r=L(),i=L(),u=()=>{var w;const y=s(r);y&&((w=y.popperInstanceRef)==null||w.update())},c=L(!1),d=L(),{show:f,hide:v,hasUpdateHandler:p}=jL({indicator:c,toggleReason:d}),{onOpen:m,onClose:h}=FL({showAfter:Dt(o,"showAfter"),hideAfter:Dt(o,"hideAfter"),autoClose:Dt(o,"autoClose"),open:f,close:v}),g=S(()=>Lt(o.visible)&&!p.value),b=S(()=>[a.b(),o.popperClass]);vt(fm,{controlled:g,id:l,open:fr(c),trigger:Dt(o,"trigger"),onOpen:m,onClose:h,onToggle:w=>{s(c)?h(w):m(w)},onShow:()=>{n("show",d.value)},onHide:()=>{n("hide",d.value)},onBeforeShow:()=>{n("before-show",d.value)},onBeforeHide:()=>{n("before-hide",d.value)},updatePopper:u}),fe(()=>o.disabled,w=>{w&&c.value&&(c.value=!1)});const C=w=>{var y;return(y=i.value)==null?void 0:y.isFocusInsideContent(w)};return M1(()=>c.value&&v()),Pt(()=>{d.value=void 0}),t({popperRef:r,contentRef:i,isFocusInsideContent:C,updatePopper:u,onOpen:m,onClose:h,hide:v}),(w,y)=>(T(),ie(s(E2),{ref_key:"popperRef",ref:r,role:w.role},{default:te(()=>[G(XL,{disabled:w.disabled,trigger:w.trigger,"trigger-keys":w.triggerKeys,"virtual-ref":w.virtualRef,"virtual-triggering":w.virtualTriggering,"focus-on-target":w.focusOnTarget},{default:te(()=>[w.$slots.default?le(w.$slots,"default",{key:0}):re("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering","focus-on-target"]),G(oD,{ref_key:"contentRef",ref:i,"aria-label":w.ariaLabel,"boundaries-padding":w.boundariesPadding,content:w.content,disabled:w.disabled,effect:w.effect,enterable:w.enterable,"fallback-placements":w.fallbackPlacements,"hide-after":w.hideAfter,"gpu-acceleration":w.gpuAcceleration,offset:w.offset,persistent:w.persistent,"popper-class":s(b),"popper-style":w.popperStyle,placement:w.placement,"popper-options":w.popperOptions,"arrow-offset":w.arrowOffset,pure:w.pure,"raw-content":w.rawContent,"reference-el":w.referenceEl,"trigger-target-el":w.triggerTargetEl,"show-after":w.showAfter,strategy:w.strategy,teleported:w.teleported,transition:w.transition,"virtual-triggering":w.virtualTriggering,"z-index":w.zIndex,"append-to":w.appendTo,loop:w.loop},{default:te(()=>[le(w.$slots,"content",{},()=>[w.rawContent?(T(),B("span",{key:0,innerHTML:w.content},null,8,["innerHTML"])):(T(),B("span",{key:1},ke(w.content),1))]),w.showArrow?(T(),ie(s(t8),{key:0})):re("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to","loop"])]),_:3},8,["role"]))}});var rD=Oe(lD,[["__file","tooltip.vue"]]);const In=at(rD),sD=Ee({...gu,valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:J(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:J([Function,Array]),default:Mt},popperClass:zt.popperClass,popperStyle:zt.popperStyle,triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:Boolean,hideLoading:Boolean,teleported:zt.teleported,appendTo:zt.appendTo,highlightFirstItem:Boolean,fitInputWidth:Boolean,loopNavigation:{type:Boolean,default:!0}}),iD={[Qe]:e=>Ve(e)||Ye(e),[pn]:e=>Ve(e)||Ye(e),[gt]:e=>Ve(e)||Ye(e),focus:e=>e instanceof FocusEvent,blur:e=>e instanceof FocusEvent,clear:()=>!0,select:e=>rt(e)},T2="ElAutocomplete",uD=q({name:T2,inheritAttrs:!1}),cD=q({...uD,props:sD,emits:iD,setup(e,{expose:t,emit:n}){const o=e,a=S(()=>Xa(o,Object.keys(gu))),l=al(),r=en(),i=ge("autocomplete"),u=L(),c=L(),d=L(),f=L();let v=!1,p=!1;const m=L([]),h=L(-1),g=L(""),b=L(!1),C=L(!1),w=L(!1),y=xn(),k=S(()=>l.style),E=S(()=>(m.value.length>0||w.value)&&b.value),_=S(()=>!o.hideLoading&&w.value),x=S(()=>u.value?Array.from(u.value.$el.querySelectorAll("input")):[]),R=()=>{E.value&&(g.value=`${u.value.$el.offsetWidth}px`)},M=()=>{h.value=-1},O=async Q=>{if(C.value)return;const ae=K=>{w.value=!1,!C.value&&(Ce(K)?(m.value=K,h.value=o.highlightFirstItem?0:-1):fn(T2,"autocomplete suggestions must be an array"))};if(w.value=!0,Ce(o.fetchSuggestions))ae(o.fetchSuggestions);else{const K=await o.fetchSuggestions(Q,ae);Ce(K)&&ae(K)}},N=S(()=>o.debounce),F=pu(O,N),U=Q=>{const ae=!!Q;if(n(pn,Q),n(Qe,Q),C.value=!1,b.value||(b.value=ae),!o.triggerOnFocus&&!Q){C.value=!0,m.value=[];return}F(Q)},Y=Q=>{var ae;r.value||(((ae=Q.target)==null?void 0:ae.tagName)!=="INPUT"||x.value.includes(document.activeElement))&&(b.value=!0)},P=Q=>{n(gt,Q)},$=Q=>{var ae;if(p)p=!1;else{b.value=!0,n("focus",Q);const K=(ae=o.modelValue)!=null?ae:"";o.triggerOnFocus&&!v&&F(String(K))}},A=Q=>{setTimeout(()=>{var ae;if((ae=d.value)!=null&&ae.isFocusInsideContent()){p=!0;return}b.value&&V(),n("blur",Q)})},z=()=>{b.value=!1,n(Qe,""),n("clear")},D=async()=>{var Q;(Q=u.value)!=null&&Q.isComposing||(E.value&&h.value>=0&&h.value{E.value&&(Q.preventDefault(),Q.stopPropagation(),V())},V=()=>{b.value=!1},j=()=>{var Q;(Q=u.value)==null||Q.focus()},ne=()=>{var Q;(Q=u.value)==null||Q.blur()},oe=async Q=>{n(pn,Q[o.valueKey]),n(Qe,Q[o.valueKey]),n("select",Q),m.value=[],h.value=-1},ce=Q=>{var ae,K;if(!E.value||w.value)return;if(Q<0){if(!o.loopNavigation){h.value=-1;return}Q=m.value.length-1}Q>=m.value.length&&(Q=o.loopNavigation?0:m.value.length-1);const[Z,ue]=ee(),pe=ue[Q],ve=Z.scrollTop,{offsetTop:he,scrollHeight:Ie}=pe;he+Ie>ve+Z.clientHeight&&(Z.scrollTop=he+Ie-Z.clientHeight),he{const Q=c.value.querySelector(`.${i.be("suggestion","wrap")}`),ae=Q.querySelectorAll(`.${i.be("suggestion","list")} li`);return[Q,ae]},se=Kh(f,()=>{var Q;(Q=d.value)!=null&&Q.isFocusInsideContent()||E.value&&V()}),X=Q=>{switch(Vt(Q)){case Se.up:Q.preventDefault(),ce(h.value-1);break;case Se.down:Q.preventDefault(),ce(h.value+1);break;case Se.enter:case Se.numpadEnter:Q.preventDefault(),D();break;case Se.tab:V();break;case Se.esc:W(Q);break;case Se.home:Q.preventDefault(),ce(0);break;case Se.end:Q.preventDefault(),ce(m.value.length-1);break;case Se.pageUp:Q.preventDefault(),ce(Math.max(0,h.value-10));break;case Se.pageDown:Q.preventDefault(),ce(Math.min(m.value.length-1,h.value+10));break}};return Pt(()=>{se?.()}),pt(()=>{var Q;const ae=(Q=u.value)==null?void 0:Q.ref;ae&&([{key:"role",value:"textbox"},{key:"aria-autocomplete",value:"list"},{key:"aria-controls",value:"id"},{key:"aria-activedescendant",value:`${y.value}-item-${h.value}`}].forEach(({key:K,value:Z})=>ae.setAttribute(K,Z)),v=ae.hasAttribute("readonly"))}),t({highlightedIndex:h,activated:b,loading:w,inputRef:u,popperRef:d,suggestions:m,handleSelect:oe,handleKeyEnter:D,focus:j,blur:ne,close:V,highlight:ce,getData:O}),(Q,ae)=>(T(),ie(s(In),{ref_key:"popperRef",ref:d,visible:s(E),placement:Q.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[s(i).e("popper"),Q.popperClass],"popper-style":Q.popperStyle,teleported:Q.teleported,"append-to":Q.appendTo,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:`${s(i).namespace.value}-zoom-in-top`,persistent:"",role:"listbox",onBeforeShow:R,onHide:M},{content:te(()=>[H("div",{ref_key:"regionRef",ref:c,class:I([s(i).b("suggestion"),s(i).is("loading",s(_))]),style:je({[Q.fitInputWidth?"width":"minWidth"]:g.value,outline:"none"}),role:"region"},[Q.$slots.header?(T(),B("div",{key:0,class:I(s(i).be("suggestion","header")),onClick:Ze(()=>{},["stop"])},[le(Q.$slots,"header")],10,["onClick"])):re("v-if",!0),G(s(Yo),{id:s(y),tag:"ul","wrap-class":s(i).be("suggestion","wrap"),"view-class":s(i).be("suggestion","list"),role:"listbox"},{default:te(()=>[s(_)?(T(),B("li",{key:0},[le(Q.$slots,"loading",{},()=>[G(s(Fe),{class:I(s(i).is("loading"))},{default:te(()=>[G(s(Ca))]),_:1},8,["class"])])])):(T(!0),B(ze,{key:1},bt(m.value,(K,Z)=>(T(),B("li",{id:`${s(y)}-item-${Z}`,key:Z,class:I({highlighted:h.value===Z}),role:"option","aria-selected":h.value===Z,onClick:ue=>oe(K)},[le(Q.$slots,"default",{item:K},()=>[wt(ke(K[Q.valueKey]),1)])],10,["id","aria-selected","onClick"]))),128))]),_:3},8,["id","wrap-class","view-class"]),Q.$slots.footer?(T(),B("div",{key:1,class:I(s(i).be("suggestion","footer")),onClick:Ze(()=>{},["stop"])},[le(Q.$slots,"footer")],10,["onClick"])):re("v-if",!0)],6)]),default:te(()=>[H("div",{ref_key:"listboxRef",ref:f,class:I([s(i).b(),Q.$attrs.class]),style:je(s(k)),role:"combobox","aria-haspopup":"listbox","aria-expanded":s(E),"aria-owns":s(y)},[G(s(qn),ft({ref_key:"inputRef",ref:u},ft(s(a),Q.$attrs),{"model-value":Q.modelValue,disabled:s(r),onInput:U,onChange:P,onFocus:$,onBlur:A,onClear:z,onKeydown:X,onMousedown:Y}),mo({_:2},[Q.$slots.prepend?{name:"prepend",fn:te(()=>[le(Q.$slots,"prepend")])}:void 0,Q.$slots.append?{name:"append",fn:te(()=>[le(Q.$slots,"append")])}:void 0,Q.$slots.prefix?{name:"prefix",fn:te(()=>[le(Q.$slots,"prefix")])}:void 0,Q.$slots.suffix?{name:"suffix",fn:te(()=>[le(Q.$slots,"suffix")])}:void 0]),1040,["model-value","disabled"])],14,["aria-expanded","aria-owns"])]),_:3},8,["visible","placement","popper-class","popper-style","teleported","append-to","transition"]))}});var dD=Oe(cD,[["__file","autocomplete.vue"]]);const fD=at(dD),pD=Ee({size:{type:[Number,String],values:Ta,default:"",validator:e=>Ye(e)},shape:{type:String,values:["circle","square"],default:"circle"},icon:{type:Bt},src:{type:String,default:""},alt:String,srcSet:String,fit:{type:J(String),default:"cover"}}),vD={error:e=>e instanceof Event},hD=q({name:"ElAvatar"}),mD=q({...hD,props:pD,emits:vD,setup(e,{emit:t}){const n=e,o=ge("avatar"),a=L(!1),l=S(()=>{const{size:c,icon:d,shape:f}=n,v=[o.b()];return Ve(c)&&v.push(o.m(c)),d&&v.push(o.m("icon")),f&&v.push(o.m(f)),v}),r=S(()=>{const{size:c}=n;return Ye(c)?o.cssVarBlock({size:Zt(c)}):void 0}),i=S(()=>({objectFit:n.fit}));fe(()=>n.src,()=>a.value=!1);function u(c){a.value=!0,t("error",c)}return(c,d)=>(T(),B("span",{class:I(s(l)),style:je(s(r))},[(c.src||c.srcSet)&&!a.value?(T(),B("img",{key:0,src:c.src,alt:c.alt,srcset:c.srcSet,style:je(s(i)),onError:u},null,44,["src","alt","srcset"])):c.icon?(T(),ie(s(Fe),{key:1},{default:te(()=>[(T(),ie(ut(c.icon)))]),_:1})):le(c.$slots,"default",{key:2})],6))}});var gD=Oe(mD,[["__file","avatar.vue"]]);const bD=at(gD),yD={visibilityHeight:{type:Number,default:200},target:{type:String,default:""},right:{type:Number,default:40},bottom:{type:Number,default:40}},wD={click:e=>e instanceof MouseEvent},CD=(e,t,n)=>{const o=Wt(),a=Wt(),l=L(!1),r=()=>{o.value&&(l.value=o.value.scrollTop>=e.visibilityHeight)},i=c=>{var d;(d=o.value)==null||d.scrollTo({top:0,behavior:"smooth"}),t("click",c)},u=TS(r,300,!0);return It(a,"scroll",u),pt(()=>{var c;a.value=document,o.value=document.documentElement,e.target&&(o.value=(c=document.querySelector(e.target))!=null?c:void 0,o.value||fn(n,`target does not exist: ${e.target}`),a.value=o.value),r()}),{visible:l,handleClick:i}},O2="ElBacktop",SD=q({name:O2}),kD=q({...SD,props:yD,emits:wD,setup(e,{emit:t}){const n=e,o=ge("backtop"),{handleClick:a,visible:l}=CD(n,t,O2),r=S(()=>({right:`${n.right}px`,bottom:`${n.bottom}px`}));return(i,u)=>(T(),ie(Nn,{name:`${s(o).namespace.value}-fade-in`},{default:te(()=>[s(l)?(T(),B("div",{key:0,style:je(s(r)),class:I(s(o).b()),onClick:Ze(s(a),["stop"])},[le(i.$slots,"default",{},()=>[G(s(Fe),{class:I(s(o).e("icon"))},{default:te(()=>[G(s(ZM))]),_:1},8,["class"])])],14,["onClick"])):re("v-if",!0)]),_:3},8,["name"]))}});var ED=Oe(kD,[["__file","backtop.vue"]]);const _D=at(ED),TD=Ee({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:J([String,Object,Array])},offset:{type:J(Array),default:[0,0]},badgeClass:{type:String}}),OD=q({name:"ElBadge"}),$D=q({...OD,props:TD,setup(e,{expose:t}){const n=e,o=ge("badge"),a=S(()=>n.isDot?"":Ye(n.value)&&Ye(n.max)?n.max{var r;return[{backgroundColor:n.color,marginRight:Zt(-n.offset[0]),marginTop:Zt(n.offset[1])},(r=n.badgeStyle)!=null?r:{}]});return t({content:a}),(r,i)=>(T(),B("div",{class:I(s(o).b())},[le(r.$slots,"default"),G(Nn,{name:`${s(o).namespace.value}-zoom-in-center`,persisted:""},{default:te(()=>[it(H("sup",{class:I([s(o).e("content"),s(o).em("content",r.type),s(o).is("fixed",!!r.$slots.default),s(o).is("dot",r.isDot),s(o).is("hide-zero",!r.showZero&&r.value===0),r.badgeClass]),style:je(s(l))},[le(r.$slots,"content",{value:s(a)},()=>[wt(ke(s(a)),1)])],6),[[$t,!r.hidden&&(s(a)||r.isDot||r.$slots.content)]])]),_:3},8,["name"])],2))}});var RD=Oe($D,[["__file","badge.vue"]]);const $2=at(RD),R2=Symbol("breadcrumbKey"),ND=Ee({separator:{type:String,default:"/"},separatorIcon:{type:Bt}}),xD=q({name:"ElBreadcrumb"}),ID=q({...xD,props:ND,setup(e){const t=e,{t:n}=kt(),o=ge("breadcrumb"),a=L();return vt(R2,t),pt(()=>{const l=a.value.querySelectorAll(`.${o.e("item")}`);l.length&&l[l.length-1].setAttribute("aria-current","page")}),(l,r)=>(T(),B("div",{ref_key:"breadcrumb",ref:a,class:I(s(o).b()),"aria-label":s(n)("el.breadcrumb.label"),role:"navigation"},[le(l.$slots,"default")],10,["aria-label"]))}});var PD=Oe(ID,[["__file","breadcrumb.vue"]]);const MD=Ee({to:{type:J([String,Object]),default:""},replace:Boolean}),AD=q({name:"ElBreadcrumbItem"}),LD=q({...AD,props:MD,setup(e){const t=e,n=dt(),o=Pe(R2,void 0),a=ge("breadcrumb"),l=n.appContext.config.globalProperties.$router,r=L(),i=()=>{!t.to||!l||(t.replace?l.replace(t.to):l.push(t.to))};return(u,c)=>{var d,f;return T(),B("span",{class:I(s(a).e("item"))},[H("span",{ref_key:"link",ref:r,class:I([s(a).e("inner"),s(a).is("link",!!u.to)]),role:"link",onClick:i},[le(u.$slots,"default")],2),(d=s(o))!=null&&d.separatorIcon?(T(),ie(s(Fe),{key:0,class:I(s(a).e("separator"))},{default:te(()=>[(T(),ie(ut(s(o).separatorIcon)))]),_:1},8,["class"])):(T(),B("span",{key:1,class:I(s(a).e("separator")),role:"presentation"},ke((f=s(o))==null?void 0:f.separator),3))],2)}}});var N2=Oe(LD,[["__file","breadcrumb-item.vue"]]);const DD=at(PD,{BreadcrumbItem:N2}),BD=Qt(N2),x2=Symbol("buttonGroupContextKey"),ga=({from:e,replacement:t,scope:n,version:o,ref:a,type:l="API"},r)=>{fe(()=>s(r),i=>{},{immediate:!0})},FD=(e,t)=>{ga({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},S(()=>e.type==="text"));const n=Pe(x2,void 0),o=Is("button"),{form:a}=$n(),l=vn(S(()=>n?.size)),r=en(),i=L(),u=hn(),c=S(()=>{var b;return e.type||n?.type||((b=o.value)==null?void 0:b.type)||""}),d=S(()=>{var b,C,w;return(w=(C=e.autoInsertSpace)!=null?C:(b=o.value)==null?void 0:b.autoInsertSpace)!=null?w:!1}),f=S(()=>{var b,C,w;return(w=(C=e.plain)!=null?C:(b=o.value)==null?void 0:b.plain)!=null?w:!1}),v=S(()=>{var b,C,w;return(w=(C=e.round)!=null?C:(b=o.value)==null?void 0:b.round)!=null?w:!1}),p=S(()=>{var b,C,w;return(w=(C=e.text)!=null?C:(b=o.value)==null?void 0:b.text)!=null?w:!1}),m=S(()=>e.tag==="button"?{ariaDisabled:r.value||e.loading,disabled:r.value||e.loading,autofocus:e.autofocus,type:e.nativeType}:{}),h=S(()=>{var b;const C=(b=u.default)==null?void 0:b.call(u);if(d.value&&C?.length===1){const w=C[0];if(w?.type===Ts){const y=w.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(y.trim())}}return!1});return{_disabled:r,_size:l,_type:c,_ref:i,_props:m,_plain:f,_round:v,_text:p,shouldAddSpace:h,handleClick:b=>{if(r.value||e.loading){b.stopPropagation();return}e.nativeType==="reset"&&a?.resetFields(),t("click",b)}}},nv=["default","primary","success","warning","info","danger","text",""],VD=["button","submit","reset"],ov=Ee({size:gn,disabled:{type:Boolean,default:void 0},type:{type:String,values:nv,default:""},icon:{type:Bt},nativeType:{type:String,values:VD,default:"button"},loading:Boolean,loadingIcon:{type:Bt,default:()=>Ca},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:Boolean,bg:Boolean,autofocus:Boolean,round:{type:Boolean,default:void 0},circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:J([String,Object]),default:"button"}}),zD={click:e=>e instanceof MouseEvent};function Ln(e,t){HD(e)&&(e="100%");var n=KD(e);return e=t===360?e:Math.min(t,Math.max(0,parseFloat(e))),n&&(e=parseInt(String(e*t),10)/100),Math.abs(e-t)<1e-6?1:(t===360?e=(e<0?e%t+t:e%t)/parseFloat(String(t)):e=e%t/parseFloat(String(t)),e)}function Zu(e){return Math.min(1,Math.max(0,e))}function HD(e){return typeof e=="string"&&e.indexOf(".")!==-1&&parseFloat(e)===1}function KD(e){return typeof e=="string"&&e.indexOf("%")!==-1}function I2(e){return e=parseFloat(e),(isNaN(e)||e<0||e>1)&&(e=1),e}function Qu(e){return e<=1?"".concat(Number(e)*100,"%"):e}function Ql(e){return e.length===1?"0"+e:String(e)}function WD(e,t,n){return{r:Ln(e,255)*255,g:Ln(t,255)*255,b:Ln(n,255)*255}}function qb(e,t,n){e=Ln(e,255),t=Ln(t,255),n=Ln(n,255);var o=Math.max(e,t,n),a=Math.min(e,t,n),l=0,r=0,i=(o+a)/2;if(o===a)r=0,l=0;else{var u=o-a;switch(r=i>.5?u/(2-o-a):u/(o+a),o){case e:l=(t-n)/u+(t1&&(n-=1),n<1/6?e+(t-e)*(6*n):n<1/2?t:n<2/3?e+(t-e)*(2/3-n)*6:e}function jD(e,t,n){var o,a,l;if(e=Ln(e,360),t=Ln(t,100),n=Ln(n,100),t===0)a=n,l=n,o=n;else{var r=n<.5?n*(1+t):n+t-n*t,i=2*n-r;o=op(i,r,e+1/3),a=op(i,r,e),l=op(i,r,e-1/3)}return{r:o*255,g:a*255,b:l*255}}function Yb(e,t,n){e=Ln(e,255),t=Ln(t,255),n=Ln(n,255);var o=Math.max(e,t,n),a=Math.min(e,t,n),l=0,r=o,i=o-a,u=o===0?0:i/o;if(o===a)l=0;else{switch(o){case e:l=(t-n)/i+(t>16,g:(e&65280)>>8,b:e&255}}var av={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function XD(e){var t={r:0,g:0,b:0},n=1,o=null,a=null,l=null,r=!1,i=!1;return typeof e=="string"&&(e=QD(e)),typeof e=="object"&&(Ma(e.r)&&Ma(e.g)&&Ma(e.b)?(t=WD(e.r,e.g,e.b),r=!0,i=String(e.r).substr(-1)==="%"?"prgb":"rgb"):Ma(e.h)&&Ma(e.s)&&Ma(e.v)?(o=Qu(e.s),a=Qu(e.v),t=UD(e.h,o,a),r=!0,i="hsv"):Ma(e.h)&&Ma(e.s)&&Ma(e.l)&&(o=Qu(e.s),l=Qu(e.l),t=jD(e.h,o,l),r=!0,i="hsl"),Object.prototype.hasOwnProperty.call(e,"a")&&(n=e.a)),n=I2(n),{ok:r,format:e.format||i,r:Math.min(255,Math.max(t.r,0)),g:Math.min(255,Math.max(t.g,0)),b:Math.min(255,Math.max(t.b,0)),a:n}}var JD="[-\\+]?\\d+%?",ZD="[-\\+]?\\d*\\.\\d+%?",Ol="(?:".concat(ZD,")|(?:").concat(JD,")"),ap="[\\s|\\(]+(".concat(Ol,")[,|\\s]+(").concat(Ol,")[,|\\s]+(").concat(Ol,")\\s*\\)?"),lp="[\\s|\\(]+(".concat(Ol,")[,|\\s]+(").concat(Ol,")[,|\\s]+(").concat(Ol,")[,|\\s]+(").concat(Ol,")\\s*\\)?"),Lo={CSS_UNIT:new RegExp(Ol),rgb:new RegExp("rgb"+ap),rgba:new RegExp("rgba"+lp),hsl:new RegExp("hsl"+ap),hsla:new RegExp("hsla"+lp),hsv:new RegExp("hsv"+ap),hsva:new RegExp("hsva"+lp),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function QD(e){if(e=e.trim().toLowerCase(),e.length===0)return!1;var t=!1;if(av[e])e=av[e],t=!0;else if(e==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var n=Lo.rgb.exec(e);return n?{r:n[1],g:n[2],b:n[3]}:(n=Lo.rgba.exec(e),n?{r:n[1],g:n[2],b:n[3],a:n[4]}:(n=Lo.hsl.exec(e),n?{h:n[1],s:n[2],l:n[3]}:(n=Lo.hsla.exec(e),n?{h:n[1],s:n[2],l:n[3],a:n[4]}:(n=Lo.hsv.exec(e),n?{h:n[1],s:n[2],v:n[3]}:(n=Lo.hsva.exec(e),n?{h:n[1],s:n[2],v:n[3],a:n[4]}:(n=Lo.hex8.exec(e),n?{r:yo(n[1]),g:yo(n[2]),b:yo(n[3]),a:Xb(n[4]),format:t?"name":"hex8"}:(n=Lo.hex6.exec(e),n?{r:yo(n[1]),g:yo(n[2]),b:yo(n[3]),format:t?"name":"hex"}:(n=Lo.hex4.exec(e),n?{r:yo(n[1]+n[1]),g:yo(n[2]+n[2]),b:yo(n[3]+n[3]),a:Xb(n[4]+n[4]),format:t?"name":"hex8"}:(n=Lo.hex3.exec(e),n?{r:yo(n[1]+n[1]),g:yo(n[2]+n[2]),b:yo(n[3]+n[3]),format:t?"name":"hex"}:!1)))))))))}function Ma(e){return!!Lo.CSS_UNIT.exec(String(e))}var Vr=(function(){function e(t,n){t===void 0&&(t=""),n===void 0&&(n={});var o;if(t instanceof e)return t;typeof t=="number"&&(t=GD(t)),this.originalInput=t;var a=XD(t);this.originalInput=t,this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,this.roundA=Math.round(100*this.a)/100,this.format=(o=n.format)!==null&&o!==void 0?o:a.format,this.gradientType=n.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=a.ok}return e.prototype.isDark=function(){return this.getBrightness()<128},e.prototype.isLight=function(){return!this.isDark()},e.prototype.getBrightness=function(){var t=this.toRgb();return(t.r*299+t.g*587+t.b*114)/1e3},e.prototype.getLuminance=function(){var t=this.toRgb(),n,o,a,l=t.r/255,r=t.g/255,i=t.b/255;return l<=.03928?n=l/12.92:n=Math.pow((l+.055)/1.055,2.4),r<=.03928?o=r/12.92:o=Math.pow((r+.055)/1.055,2.4),i<=.03928?a=i/12.92:a=Math.pow((i+.055)/1.055,2.4),.2126*n+.7152*o+.0722*a},e.prototype.getAlpha=function(){return this.a},e.prototype.setAlpha=function(t){return this.a=I2(t),this.roundA=Math.round(100*this.a)/100,this},e.prototype.isMonochrome=function(){var t=this.toHsl().s;return t===0},e.prototype.toHsv=function(){var t=Yb(this.r,this.g,this.b);return{h:t.h*360,s:t.s,v:t.v,a:this.a}},e.prototype.toHsvString=function(){var t=Yb(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.v*100);return this.a===1?"hsv(".concat(n,", ").concat(o,"%, ").concat(a,"%)"):"hsva(".concat(n,", ").concat(o,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHsl=function(){var t=qb(this.r,this.g,this.b);return{h:t.h*360,s:t.s,l:t.l,a:this.a}},e.prototype.toHslString=function(){var t=qb(this.r,this.g,this.b),n=Math.round(t.h*360),o=Math.round(t.s*100),a=Math.round(t.l*100);return this.a===1?"hsl(".concat(n,", ").concat(o,"%, ").concat(a,"%)"):"hsla(".concat(n,", ").concat(o,"%, ").concat(a,"%, ").concat(this.roundA,")")},e.prototype.toHex=function(t){return t===void 0&&(t=!1),Gb(this.r,this.g,this.b,t)},e.prototype.toHexString=function(t){return t===void 0&&(t=!1),"#"+this.toHex(t)},e.prototype.toHex8=function(t){return t===void 0&&(t=!1),qD(this.r,this.g,this.b,this.a,t)},e.prototype.toHex8String=function(t){return t===void 0&&(t=!1),"#"+this.toHex8(t)},e.prototype.toHexShortString=function(t){return t===void 0&&(t=!1),this.a===1?this.toHexString(t):this.toHex8String(t)},e.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},e.prototype.toRgbString=function(){var t=Math.round(this.r),n=Math.round(this.g),o=Math.round(this.b);return this.a===1?"rgb(".concat(t,", ").concat(n,", ").concat(o,")"):"rgba(".concat(t,", ").concat(n,", ").concat(o,", ").concat(this.roundA,")")},e.prototype.toPercentageRgb=function(){var t=function(n){return"".concat(Math.round(Ln(n,255)*100),"%")};return{r:t(this.r),g:t(this.g),b:t(this.b),a:this.a}},e.prototype.toPercentageRgbString=function(){var t=function(n){return Math.round(Ln(n,255)*100)};return this.a===1?"rgb(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%)"):"rgba(".concat(t(this.r),"%, ").concat(t(this.g),"%, ").concat(t(this.b),"%, ").concat(this.roundA,")")},e.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var t="#"+Gb(this.r,this.g,this.b,!1),n=0,o=Object.entries(av);n=0,l=!n&&a&&(t.startsWith("hex")||t==="name");return l?t==="name"&&this.a===0?this.toName():this.toRgbString():(t==="rgb"&&(o=this.toRgbString()),t==="prgb"&&(o=this.toPercentageRgbString()),(t==="hex"||t==="hex6")&&(o=this.toHexString()),t==="hex3"&&(o=this.toHexString(!0)),t==="hex4"&&(o=this.toHex8String(!0)),t==="hex8"&&(o=this.toHex8String()),t==="name"&&(o=this.toName()),t==="hsl"&&(o=this.toHslString()),t==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},e.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},e.prototype.clone=function(){return new e(this.toString())},e.prototype.lighten=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l+=t/100,n.l=Zu(n.l),new e(n)},e.prototype.brighten=function(t){t===void 0&&(t=10);var n=this.toRgb();return n.r=Math.max(0,Math.min(255,n.r-Math.round(255*-(t/100)))),n.g=Math.max(0,Math.min(255,n.g-Math.round(255*-(t/100)))),n.b=Math.max(0,Math.min(255,n.b-Math.round(255*-(t/100)))),new e(n)},e.prototype.darken=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.l-=t/100,n.l=Zu(n.l),new e(n)},e.prototype.tint=function(t){return t===void 0&&(t=10),this.mix("white",t)},e.prototype.shade=function(t){return t===void 0&&(t=10),this.mix("black",t)},e.prototype.desaturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s-=t/100,n.s=Zu(n.s),new e(n)},e.prototype.saturate=function(t){t===void 0&&(t=10);var n=this.toHsl();return n.s+=t/100,n.s=Zu(n.s),new e(n)},e.prototype.greyscale=function(){return this.desaturate(100)},e.prototype.spin=function(t){var n=this.toHsl(),o=(n.h+t)%360;return n.h=o<0?360+o:o,new e(n)},e.prototype.mix=function(t,n){n===void 0&&(n=50);var o=this.toRgb(),a=new e(t).toRgb(),l=n/100,r={r:(a.r-o.r)*l+o.r,g:(a.g-o.g)*l+o.g,b:(a.b-o.b)*l+o.b,a:(a.a-o.a)*l+o.a};return new e(r)},e.prototype.analogous=function(t,n){t===void 0&&(t=6),n===void 0&&(n=30);var o=this.toHsl(),a=360/n,l=[this];for(o.h=(o.h-(a*t>>1)+720)%360;--t;)o.h=(o.h+a)%360,l.push(new e(o));return l},e.prototype.complement=function(){var t=this.toHsl();return t.h=(t.h+180)%360,new e(t)},e.prototype.monochromatic=function(t){t===void 0&&(t=6);for(var n=this.toHsv(),o=n.h,a=n.s,l=n.v,r=[],i=1/t;t--;)r.push(new e({h:o,s:a,v:l})),l=(l+i)%1;return r},e.prototype.splitcomplement=function(){var t=this.toHsl(),n=t.h;return[this,new e({h:(n+72)%360,s:t.s,l:t.l}),new e({h:(n+216)%360,s:t.s,l:t.l})]},e.prototype.onBackground=function(t){var n=this.toRgb(),o=new e(t).toRgb(),a=n.a+o.a*(1-n.a);return new e({r:(n.r*n.a+o.r*o.a*(1-n.a))/a,g:(n.g*n.a+o.g*o.a*(1-n.a))/a,b:(n.b*n.a+o.b*o.a*(1-n.a))/a,a})},e.prototype.triad=function(){return this.polyad(3)},e.prototype.tetrad=function(){return this.polyad(4)},e.prototype.polyad=function(t){for(var n=this.toHsl(),o=n.h,a=[this],l=360/t,r=1;r{let o={},a=e.color;if(a){const l=a.match(/var\((.*?)\)/);l&&(a=window.getComputedStyle(window.document.documentElement).getPropertyValue(l[1]));const r=new Vr(a),i=e.dark?r.tint(20).toString():vl(r,20);if(e.plain)o=n.cssVarBlock({"bg-color":e.dark?vl(r,90):r.tint(90).toString(),"text-color":a,"border-color":e.dark?vl(r,50):r.tint(50).toString(),"hover-text-color":`var(${n.cssVarName("color-white")})`,"hover-bg-color":a,"hover-border-color":a,"active-bg-color":i,"active-text-color":`var(${n.cssVarName("color-white")})`,"active-border-color":i}),t.value&&(o[n.cssVarBlockName("disabled-bg-color")]=e.dark?vl(r,90):r.tint(90).toString(),o[n.cssVarBlockName("disabled-text-color")]=e.dark?vl(r,50):r.tint(50).toString(),o[n.cssVarBlockName("disabled-border-color")]=e.dark?vl(r,80):r.tint(80).toString());else{const u=e.dark?vl(r,30):r.tint(30).toString(),c=r.isDark()?`var(${n.cssVarName("color-white")})`:`var(${n.cssVarName("color-black")})`;if(o=n.cssVarBlock({"bg-color":a,"text-color":c,"border-color":a,"hover-bg-color":u,"hover-text-color":c,"hover-border-color":u,"active-bg-color":i,"active-border-color":i}),t.value){const d=e.dark?vl(r,50):r.tint(50).toString();o[n.cssVarBlockName("disabled-bg-color")]=d,o[n.cssVarBlockName("disabled-text-color")]=e.dark?"rgba(255, 255, 255, 0.5)":`var(${n.cssVarName("color-white")})`,o[n.cssVarBlockName("disabled-border-color")]=d}}}return o})}const tB=q({name:"ElButton"}),nB=q({...tB,props:ov,emits:zD,setup(e,{expose:t,emit:n}){const o=e,a=eB(o),l=ge("button"),{_ref:r,_size:i,_type:u,_disabled:c,_props:d,_plain:f,_round:v,_text:p,shouldAddSpace:m,handleClick:h}=FD(o,n),g=S(()=>[l.b(),l.m(u.value),l.m(i.value),l.is("disabled",c.value),l.is("loading",o.loading),l.is("plain",f.value),l.is("round",v.value),l.is("circle",o.circle),l.is("text",p.value),l.is("link",o.link),l.is("has-bg",o.bg)]);return t({ref:r,size:i,type:u,disabled:c,shouldAddSpace:m}),(b,C)=>(T(),ie(ut(b.tag),ft({ref_key:"_ref",ref:r},s(d),{class:s(g),style:s(a),onClick:s(h)}),{default:te(()=>[b.loading?(T(),B(ze,{key:0},[b.$slots.loading?le(b.$slots,"loading",{key:0}):(T(),ie(s(Fe),{key:1,class:I(s(l).is("loading"))},{default:te(()=>[(T(),ie(ut(b.loadingIcon)))]),_:1},8,["class"]))],64)):b.icon||b.$slots.icon?(T(),ie(s(Fe),{key:1},{default:te(()=>[b.icon?(T(),ie(ut(b.icon),{key:0})):le(b.$slots,"icon",{key:1})]),_:3})):re("v-if",!0),b.$slots.default?(T(),B("span",{key:2,class:I({[s(l).em("text","expand")]:s(m)})},[le(b.$slots,"default")],2)):re("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var oB=Oe(nB,[["__file","button.vue"]]);const aB={size:ov.size,type:ov.type,direction:{type:J(String),values:["horizontal","vertical"],default:"horizontal"}},lB=q({name:"ElButtonGroup"}),rB=q({...lB,props:aB,setup(e){const t=e;vt(x2,xt({size:Dt(t,"size"),type:Dt(t,"type")}));const n=ge("button");return(o,a)=>(T(),B("div",{class:I([s(n).b("group"),s(n).bm("group",t.direction)])},[le(o.$slots,"default")],2))}});var P2=Oe(rB,[["__file","button-group.vue"]]);const _n=at(oB,{ButtonGroup:P2}),M2=Qt(P2);function dl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var bc={exports:{}},sB=bc.exports,Jb;function iB(){return Jb||(Jb=1,(function(e,t){(function(n,o){e.exports=o()})(sB,(function(){var n=1e3,o=6e4,a=36e5,l="millisecond",r="second",i="minute",u="hour",c="day",d="week",f="month",v="quarter",p="year",m="date",h="Invalid Date",g=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,b=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,C={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(U){var Y=["th","st","nd","rd"],P=U%100;return"["+U+(Y[(P-20)%10]||Y[P]||Y[0])+"]"}},w=function(U,Y,P){var $=String(U);return!$||$.length>=Y?U:""+Array(Y+1-$.length).join(P)+U},y={s:w,z:function(U){var Y=-U.utcOffset(),P=Math.abs(Y),$=Math.floor(P/60),A=P%60;return(Y<=0?"+":"-")+w($,2,"0")+":"+w(A,2,"0")},m:function U(Y,P){if(Y.date()1)return U(D[0])}else{var W=Y.name;E[W]=Y,A=W}return!$&&A&&(k=A),A||!$&&k},M=function(U,Y){if(x(U))return U.clone();var P=typeof Y=="object"?Y:{};return P.date=U,P.args=arguments,new N(P)},O=y;O.l=R,O.i=x,O.w=function(U,Y){return M(U,{locale:Y.$L,utc:Y.$u,x:Y.$x,$offset:Y.$offset})};var N=(function(){function U(P){this.$L=R(P.locale,null,!0),this.parse(P),this.$x=this.$x||P.x||{},this[_]=!0}var Y=U.prototype;return Y.parse=function(P){this.$d=(function($){var A=$.date,z=$.utc;if(A===null)return new Date(NaN);if(O.u(A))return new Date;if(A instanceof Date)return new Date(A);if(typeof A=="string"&&!/Z$/i.test(A)){var D=A.match(g);if(D){var W=D[2]-1||0,V=(D[7]||"0").substring(0,3);return z?new Date(Date.UTC(D[1],W,D[3]||1,D[4]||0,D[5]||0,D[6]||0,V)):new Date(D[1],W,D[3]||1,D[4]||0,D[5]||0,D[6]||0,V)}}return new Date(A)})(P),this.init()},Y.init=function(){var P=this.$d;this.$y=P.getFullYear(),this.$M=P.getMonth(),this.$D=P.getDate(),this.$W=P.getDay(),this.$H=P.getHours(),this.$m=P.getMinutes(),this.$s=P.getSeconds(),this.$ms=P.getMilliseconds()},Y.$utils=function(){return O},Y.isValid=function(){return this.$d.toString()!==h},Y.isSame=function(P,$){var A=M(P);return this.startOf($)<=A&&A<=this.endOf($)},Y.isAfter=function(P,$){return M(P)[e>0?e-1:void 0,e,eArray.from(Array.from({length:e}).keys()),A2=e=>e.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),L2=e=>e.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),Zb=function(e,t){const n=Il(e),o=Il(t);return n&&o?e.getTime()===t.getTime():!n&&!o?e===t:!1},D2=function(e,t){const n=Ce(e),o=Ce(t);return n&&o?e.length!==t.length?!1:e.every((a,l)=>Zb(a,t[l])):!n&&!o?Zb(e,t):!1},Qb=function(e,t,n){const o=to(t)||t==="x"?lt(e).locale(n):lt(e,t).locale(n);return o.isValid()?o:void 0},ey=function(e,t,n){return to(t)?e:t==="x"?+e:lt(e).locale(n).format(t)},sp=(e,t)=>{var n;const o=[],a=t?.();for(let l=0;lCe(e)?e.map(t=>t.toDate()):e.toDate(),cB=(e,t)=>{const n=e.subtract(1,"month").endOf("month").date();return xl(t).map((o,a)=>n-(t-a-1))},dB=e=>{const t=e.daysInMonth();return xl(t).map((n,o)=>o+1)},fB=e=>xl(e.length/7).map(t=>{const n=t*7;return e.slice(n,n+7)}),pB=Ee({selectedDay:{type:J(Object)},range:{type:J(Array)},date:{type:J(Object),required:!0},hideHeader:{type:Boolean}}),vB={pick:e=>rt(e)};var wc={exports:{}},hB=wc.exports,ty;function mB(){return ty||(ty=1,(function(e,t){(function(n,o){e.exports=o()})(hB,(function(){return function(n,o,a){var l=o.prototype,r=function(f){return f&&(f.indexOf?f:f.s)},i=function(f,v,p,m,h){var g=f.name?f:f.$locale(),b=r(g[v]),C=r(g[p]),w=b||C.map((function(k){return k.slice(0,m)}));if(!h)return w;var y=g.weekStart;return w.map((function(k,E){return w[(E+(y||0))%7]}))},u=function(){return a.Ls[a.locale()]},c=function(f,v){return f.formats[v]||(function(p){return p.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(m,h,g){return h||g.slice(1)}))})(f.formats[v.toUpperCase()])},d=function(){var f=this;return{months:function(v){return v?v.format("MMMM"):i(f,"months")},monthsShort:function(v){return v?v.format("MMM"):i(f,"monthsShort","months",3)},firstDayOfWeek:function(){return f.$locale().weekStart||0},weekdays:function(v){return v?v.format("dddd"):i(f,"weekdays")},weekdaysMin:function(v){return v?v.format("dd"):i(f,"weekdaysMin","weekdays",2)},weekdaysShort:function(v){return v?v.format("ddd"):i(f,"weekdaysShort","weekdays",3)},longDateFormat:function(v){return c(f.$locale(),v)},meridiem:this.$locale().meridiem,ordinal:this.$locale().ordinal}};l.localeData=function(){return d.bind(this)()},a.localeData=function(){var f=u();return{firstDayOfWeek:function(){return f.weekStart||0},weekdays:function(){return a.weekdays()},weekdaysShort:function(){return a.weekdaysShort()},weekdaysMin:function(){return a.weekdaysMin()},months:function(){return a.months()},monthsShort:function(){return a.monthsShort()},longDateFormat:function(v){return c(f,v)},meridiem:f.meridiem,ordinal:f.ordinal}},a.months=function(){return i(u(),"months")},a.monthsShort=function(){return i(u(),"monthsShort","months",3)},a.weekdays=function(f){return i(u(),"weekdays",null,null,f)},a.weekdaysShort=function(f){return i(u(),"weekdaysShort","weekdays",3,f)},a.weekdaysMin=function(f){return i(u(),"weekdaysMin","weekdays",2,f)}}}))})(wc)),wc.exports}var gB=mB();const B2=dl(gB),bB=["year","years","month","months","date","dates","week","datetime","datetimerange","daterange","monthrange","yearrange"],ip=["sun","mon","tue","wed","thu","fri","sat"],yB=(e,t)=>{lt.extend(B2);const n=lt.localeData().firstDayOfWeek(),{t:o,lang:a}=kt(),l=lt().locale(a.value),r=S(()=>!!e.range&&!!e.range.length),i=S(()=>{let v=[];if(r.value){const[p,m]=e.range,h=xl(m.date()-p.date()+1).map(C=>({text:p.date()+C,type:"current"}));let g=h.length%7;g=g===0?0:7-g;const b=xl(g).map((C,w)=>({text:w+1,type:"next"}));v=h.concat(b)}else{const p=e.date.startOf("month").day(),m=cB(e.date,(p-n+7)%7).map(C=>({text:C,type:"prev"})),h=dB(e.date).map(C=>({text:C,type:"current"}));v=[...m,...h];const g=7-(v.length%7||7),b=xl(g).map((C,w)=>({text:w+1,type:"next"}));v=v.concat(b)}return fB(v)}),u=S(()=>{const v=n;return v===0?ip.map(p=>o(`el.datepicker.weeks.${p}`)):ip.slice(v).concat(ip.slice(0,v)).map(p=>o(`el.datepicker.weeks.${p}`))}),c=(v,p)=>{switch(p){case"prev":return e.date.startOf("month").subtract(1,"month").date(v);case"next":return e.date.startOf("month").add(1,"month").date(v);case"current":return e.date.date(v)}};return{now:l,isInRange:r,rows:i,weekDays:u,getFormattedDate:c,handlePickDay:({text:v,type:p})=>{const m=c(v,p);t("pick",m)},getSlotData:({text:v,type:p})=>{const m=c(v,p);return{isSelected:m.isSame(e.selectedDay),type:`${p}-month`,day:m.format("YYYY-MM-DD"),date:m.toDate()}}}},wB=q({name:"DateTable"}),CB=q({...wB,props:pB,emits:vB,setup(e,{expose:t,emit:n}){const o=e,{isInRange:a,now:l,rows:r,weekDays:i,getFormattedDate:u,handlePickDay:c,getSlotData:d}=yB(o,n),f=ge("calendar-table"),v=ge("calendar-day"),p=({text:m,type:h})=>{const g=[h];if(h==="current"){const b=u(m,h);b.isSame(o.selectedDay,"day")&&g.push(v.is("selected")),b.isSame(l,"day")&&g.push(v.is("today"))}return g};return t({getFormattedDate:u}),(m,h)=>(T(),B("table",{class:I([s(f).b(),s(f).is("range",s(a))]),cellspacing:"0",cellpadding:"0"},[m.hideHeader?re("v-if",!0):(T(),B("thead",{key:0},[H("tr",null,[(T(!0),B(ze,null,bt(s(i),g=>(T(),B("th",{key:g,scope:"col"},ke(g),1))),128))])])),H("tbody",null,[(T(!0),B(ze,null,bt(s(r),(g,b)=>(T(),B("tr",{key:b,class:I({[s(f).e("row")]:!0,[s(f).em("row","hide-border")]:b===0&&m.hideHeader})},[(T(!0),B(ze,null,bt(g,(C,w)=>(T(),B("td",{key:w,class:I(p(C)),onClick:y=>s(c)(C)},[H("div",{class:I(s(v).b())},[le(m.$slots,"date-cell",{data:s(d)(C)},()=>[H("span",null,ke(C.text),1)])],2)],10,["onClick"]))),128))],2))),128))])],2))}});var ny=Oe(CB,[["__file","date-table.vue"]]);const SB=(e,t)=>{const n=e.endOf("month"),o=t.startOf("month"),l=n.isSame(o,"week")?o.add(1,"week"):o;return[[e,n],[l.startOf("week"),t]]},kB=(e,t)=>{const n=e.endOf("month"),o=e.add(1,"month").startOf("month"),a=n.isSame(o,"week")?o.add(1,"week"):o,l=a.endOf("month"),r=t.startOf("month"),i=l.isSame(r,"week")?r.add(1,"week"):r;return[[e,n],[a.startOf("week"),l],[i.startOf("week"),t]]},EB=(e,t,n)=>{const{lang:o}=kt(),a=L(),l=lt().locale(o.value),r=S({get(){return e.modelValue?u.value:a.value},set(g){if(!g)return;a.value=g;const b=g.toDate();t(pn,b),t(Qe,b)}}),i=S(()=>{if(!e.range||!Ce(e.range)||e.range.length!==2||e.range.some(w=>!Il(w)))return[];const g=e.range.map(w=>lt(w).locale(o.value)),[b,C]=g;return b.isAfter(C)?[]:b.isSame(C,"month")?p(b,C):b.add(1,"month").month()!==C.month()?[]:p(b,C)}),u=S(()=>e.modelValue?lt(e.modelValue).locale(o.value):r.value||(i.value.length?i.value[0][0]:l)),c=S(()=>u.value.subtract(1,"month").date(1)),d=S(()=>u.value.add(1,"month").date(1)),f=S(()=>u.value.subtract(1,"year").date(1)),v=S(()=>u.value.add(1,"year").date(1)),p=(g,b)=>{const C=g.startOf("week"),w=b.endOf("week"),y=C.get("month"),k=w.get("month");return y===k?[[C,w]]:(y+1)%12===k?SB(C,w):y+2===k||(y+1)%11===k?kB(C,w):[]},m=g=>{r.value=g};return{calculateValidatedDateRange:p,date:u,realSelectedDay:r,pickDay:m,selectDate:g=>{const C={"prev-month":c.value,"next-month":d.value,"prev-year":f.value,"next-year":v.value,today:l}[g];C.isSame(u.value,"day")||m(C)},validatedRange:i}},_B=e=>Ce(e)&&e.length===2&&e.every(t=>Il(t)),TB=Ee({modelValue:{type:Date},range:{type:J(Array),validator:_B}}),OB={[Qe]:e=>Il(e),[pn]:e=>Il(e)},$B="ElCalendar",RB=q({name:$B}),NB=q({...RB,props:TB,emits:OB,setup(e,{expose:t,emit:n}){const o=e,a=ge("calendar"),{calculateValidatedDateRange:l,date:r,pickDay:i,realSelectedDay:u,selectDate:c,validatedRange:d}=EB(o,n),{t:f}=kt(),v=S(()=>{const p=`el.datepicker.month${r.value.format("M")}`;return`${r.value.year()} ${f("el.datepicker.year")} ${f(p)}`});return t({selectedDay:u,pickDay:i,selectDate:c,calculateValidatedDateRange:l}),(p,m)=>(T(),B("div",{class:I(s(a).b())},[H("div",{class:I(s(a).e("header"))},[le(p.$slots,"header",{date:s(v)},()=>[H("div",{class:I(s(a).e("title"))},ke(s(v)),3),s(d).length===0?(T(),B("div",{key:0,class:I(s(a).e("button-group"))},[G(s(M2),null,{default:te(()=>[G(s(_n),{size:"small",onClick:h=>s(c)("prev-month")},{default:te(()=>[wt(ke(s(f)("el.datepicker.prevMonth")),1)]),_:1},8,["onClick"]),G(s(_n),{size:"small",onClick:h=>s(c)("today")},{default:te(()=>[wt(ke(s(f)("el.datepicker.today")),1)]),_:1},8,["onClick"]),G(s(_n),{size:"small",onClick:h=>s(c)("next-month")},{default:te(()=>[wt(ke(s(f)("el.datepicker.nextMonth")),1)]),_:1},8,["onClick"])]),_:1})],2)):re("v-if",!0)])],2),s(d).length===0?(T(),B("div",{key:0,class:I(s(a).e("body"))},[G(ny,{date:s(r),"selected-day":s(u),onPick:s(i)},mo({_:2},[p.$slots["date-cell"]?{name:"date-cell",fn:te(h=>[le(p.$slots,"date-cell",Vo(pa(h)))])}:void 0]),1032,["date","selected-day","onPick"])],2)):(T(),B("div",{key:1,class:I(s(a).e("body"))},[(T(!0),B(ze,null,bt(s(d),(h,g)=>(T(),ie(ny,{key:g,date:h[0],"selected-day":s(u),range:h,"hide-header":g!==0,onPick:s(i)},mo({_:2},[p.$slots["date-cell"]?{name:"date-cell",fn:te(b=>[le(p.$slots,"date-cell",Vo(pa(b)))])}:void 0]),1032,["date","selected-day","range","hide-header","onPick"]))),128))],2))],2))}});var xB=Oe(NB,[["__file","calendar.vue"]]);const IB=at(xB),PB=Ee({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:J([String,Object,Array]),default:""},headerClass:String,bodyClass:String,footerClass:String,shadow:{type:String,values:["always","hover","never"],default:void 0}}),MB=q({name:"ElCard"}),AB=q({...MB,props:PB,setup(e){const t=Is("card"),n=ge("card");return(o,a)=>{var l;return T(),B("div",{class:I([s(n).b(),s(n).is(`${o.shadow||((l=s(t))==null?void 0:l.shadow)||"always"}-shadow`)])},[o.$slots.header||o.header?(T(),B("div",{key:0,class:I([s(n).e("header"),o.headerClass])},[le(o.$slots,"header",{},()=>[wt(ke(o.header),1)])],2)):re("v-if",!0),H("div",{class:I([s(n).e("body"),o.bodyClass]),style:je(o.bodyStyle)},[le(o.$slots,"default")],6),o.$slots.footer||o.footer?(T(),B("div",{key:1,class:I([s(n).e("footer"),o.footerClass])},[le(o.$slots,"footer",{},()=>[wt(ke(o.footer),1)])],2)):re("v-if",!0)],2)}}});var LB=Oe(AB,[["__file","card.vue"]]);const DB=at(LB),BB=Ee({initialIndex:{type:Number,default:0},height:{type:String,default:""},trigger:{type:String,values:["hover","click"],default:"hover"},autoplay:{type:Boolean,default:!0},interval:{type:Number,default:3e3},indicatorPosition:{type:String,values:["","none","outside"],default:""},arrow:{type:String,values:["always","hover","never"],default:"hover"},type:{type:String,values:["","card"],default:""},cardScale:{type:Number,default:.83},loop:{type:Boolean,default:!0},direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},pauseOnHover:{type:Boolean,default:!0},motionBlur:Boolean}),FB={change:(e,t)=>[e,t].every(Ye)},F2=Symbol("carouselContextKey"),lv="ElCarouselItem";var $o=(e=>(e[e.TEXT=1]="TEXT",e[e.CLASS=2]="CLASS",e[e.STYLE=4]="STYLE",e[e.PROPS=8]="PROPS",e[e.FULL_PROPS=16]="FULL_PROPS",e[e.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",e[e.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",e[e.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",e[e.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",e[e.NEED_PATCH=512]="NEED_PATCH",e[e.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",e[e.HOISTED=-1]="HOISTED",e[e.BAIL=-2]="BAIL",e))($o||{});function rv(e){return Ht(e)&&e.type===ze}function VB(e){return Ht(e)&&e.type===an}function zB(e){return Ht(e)&&!rv(e)&&!VB(e)}const HB=e=>{if(!Ht(e))return{};const t=e.props||{},n=(Ht(e.type)?e.type.props:void 0)||{},o={};return Object.keys(n).forEach(a=>{Rt(n[a],"default")&&(o[a]=n[a].default)}),Object.keys(t).forEach(a=>{o[no(a)]=t[a]}),o},Fo=e=>{const t=Ce(e)?e:[e],n=[];return t.forEach(o=>{var a;Ce(o)?n.push(...Fo(o)):Ht(o)&&((a=o.component)!=null&&a.subTree)?n.push(o,...Fo(o.component.subTree)):Ht(o)&&Ce(o.children)?n.push(...Fo(o.children)):Ht(o)&&o.shapeFlag===2?n.push(...Fo(o.type())):n.push(o)}),n},KB=(e,t,n)=>Fo(e.subTree).filter(l=>{var r;return Ht(l)&&((r=l.type)==null?void 0:r.name)===t&&!!l.component}).map(l=>l.component.uid).map(l=>n[l]).filter(l=>!!l),df=(e,t)=>{const n=Wt({}),o=Wt([]),a=new WeakMap,l=d=>{n.value[d.uid]=d,dc(n),pt(()=>{const f=d.getVnode().el,v=f.parentNode;if(!a.has(v)){a.set(v,[]);const p=v.insertBefore.bind(v);v.insertBefore=(m,h)=>(a.get(v).some(b=>m===b||h===b)&&dc(n),p(m,h))}a.get(v).push(f)})},r=d=>{delete n.value[d.uid],dc(n);const f=d.getVnode().el,v=f.parentNode,p=a.get(v),m=p.indexOf(f);p.splice(m,1)},i=()=>{o.value=KB(e,t,n.value)},u=d=>d.render();return{children:o,addChild:l,removeChild:r,ChildrenSorter:q({setup(d,{slots:f}){return()=>(i(),f.default?Ge(u,{render:f.default}):null)}})}},oy=300,WB=(e,t,n)=>{const{children:o,addChild:a,removeChild:l,ChildrenSorter:r}=df(dt(),lv),i=hn(),u=L(-1),c=L(null),d=L(!1),f=L(),v=L(0),p=L(!0),m=S(()=>e.arrow!=="never"&&!s(b)),h=S(()=>o.value.some(oe=>oe.props.label.toString().length>0)),g=S(()=>e.type==="card"),b=S(()=>e.direction==="vertical"),C=S(()=>e.height!=="auto"?{height:e.height}:{height:`${v.value}px`,overflow:"hidden"}),w=Tl(oe=>{R(oe)},oy,{trailing:!0}),y=Tl(oe=>{$(oe)},oy),k=oe=>p.value?u.value<=1?oe<=1:oe>1:!0;function E(){c.value&&(clearInterval(c.value),c.value=null)}function _(){e.interval<=0||!e.autoplay||c.value||(c.value=setInterval(()=>x(),e.interval))}const x=()=>{u.valueX.props.name===oe);se.length>0&&(oe=o.value.indexOf(se[0]))}if(oe=Number(oe),Number.isNaN(oe)||oe!==Math.floor(oe))return;const ce=o.value.length,ee=u.value;oe<0?u.value=e.loop?ce-1:0:oe>=ce?u.value=e.loop?0:ce-1:u.value=oe,ee===u.value&&M(ee),D()}function M(oe){o.value.forEach((ce,ee)=>{ce.translateItem(ee,u.value,oe)})}function O(oe,ce){var ee,se,X,Q;const ae=s(o),K=ae.length;if(K===0||!oe.states.inStage)return!1;const Z=ce+1,ue=ce-1,pe=K-1,ve=ae[pe].states.active,he=ae[0].states.active,Ie=(se=(ee=ae[Z])==null?void 0:ee.states)==null?void 0:se.active,_e=(Q=(X=ae[ue])==null?void 0:X.states)==null?void 0:Q.active;return ce===pe&&he||Ie?"left":ce===0&&ve||_e?"right":!1}function N(){d.value=!0,e.pauseOnHover&&E()}function F(){d.value=!1,_()}function U(oe){s(b)||o.value.forEach((ce,ee)=>{oe===O(ce,ee)&&(ce.states.hover=!0)})}function Y(){s(b)||o.value.forEach(oe=>{oe.states.hover=!1})}function P(oe){u.value=oe}function $(oe){e.trigger==="hover"&&oe!==u.value&&(u.value=oe)}function A(){R(u.value-1)}function z(){R(u.value+1)}function D(){E(),e.pauseOnHover||_()}function W(oe){e.height==="auto"&&(v.value=oe)}function V(){var oe;const ce=(oe=i.default)==null?void 0:oe.call(i);if(!ce)return null;const se=Fo(ce).filter(X=>Ht(X)&&X.type.name===lv);return se?.length===2&&e.loop&&!g.value?(p.value=!0,se):(p.value=!1,null)}fe(()=>u.value,(oe,ce)=>{M(ce),p.value&&(oe=oe%2,ce=ce%2),ce>-1&&t(gt,oe,ce)});const j=S({get:()=>p.value?u.value%2:u.value,set:oe=>u.value=oe});fe(()=>e.autoplay,oe=>{oe?_():E()}),fe(()=>e.loop,()=>{R(u.value)}),fe(()=>e.interval,()=>{D()});const ne=Wt();return pt(()=>{fe(()=>o.value,()=>{o.value.length>0&&R(e.initialIndex)},{immediate:!0}),ne.value=Yt(f.value,()=>{M()}),_()}),Pt(()=>{E(),f.value&&ne.value&&ne.value.stop()}),vt(F2,{root:f,isCardType:g,isVertical:b,items:o,loop:e.loop,cardScale:e.cardScale,addItem:a,removeItem:l,setActiveItem:R,setContainerHeight:W}),{root:f,activeIndex:u,exposeActiveIndex:j,arrowDisplay:m,hasLabel:h,hover:d,isCardType:g,items:o,isVertical:b,containerStyle:C,isItemsTwoLength:p,handleButtonEnter:U,handleButtonLeave:Y,handleIndicatorClick:P,handleMouseEnter:N,handleMouseLeave:F,setActiveItem:R,prev:A,next:z,PlaceholderItem:V,isTwoLengthShow:k,ItemsSorter:r,throttledArrowClick:w,throttledIndicatorHover:y}},jB="ElCarousel",UB=q({name:jB}),qB=q({...UB,props:BB,emits:FB,setup(e,{expose:t,emit:n}){const o=e,{root:a,activeIndex:l,exposeActiveIndex:r,arrowDisplay:i,hasLabel:u,hover:c,isCardType:d,items:f,isVertical:v,containerStyle:p,handleButtonEnter:m,handleButtonLeave:h,handleIndicatorClick:g,handleMouseEnter:b,handleMouseLeave:C,setActiveItem:w,prev:y,next:k,PlaceholderItem:E,isTwoLengthShow:_,ItemsSorter:x,throttledArrowClick:R,throttledIndicatorHover:M}=WB(o,n),O=ge("carousel"),{t:N}=kt(),F=S(()=>{const $=[O.b(),O.m(o.direction)];return s(d)&&$.push(O.m("card")),$}),U=S(()=>{const $=[O.e("indicators"),O.em("indicators",o.direction)];return s(u)&&$.push(O.em("indicators","labels")),o.indicatorPosition==="outside"&&$.push(O.em("indicators","outside")),s(v)&&$.push(O.em("indicators","right")),$});function Y($){if(!o.motionBlur)return;const A=s(v)?`${O.namespace.value}-transitioning-vertical`:`${O.namespace.value}-transitioning`;$.currentTarget.classList.add(A)}function P($){if(!o.motionBlur)return;const A=s(v)?`${O.namespace.value}-transitioning-vertical`:`${O.namespace.value}-transitioning`;$.currentTarget.classList.remove(A)}return t({activeIndex:r,setActiveItem:w,prev:y,next:k}),($,A)=>(T(),B("div",{ref_key:"root",ref:a,class:I(s(F)),onMouseenter:Ze(s(b),["stop"]),onMouseleave:Ze(s(C),["stop"])},[s(i)?(T(),ie(Nn,{key:0,name:"carousel-arrow-left",persisted:""},{default:te(()=>[it(H("button",{type:"button",class:I([s(O).e("arrow"),s(O).em("arrow","left")]),"aria-label":s(N)("el.carousel.leftArrow"),onMouseenter:z=>s(m)("left"),onMouseleave:s(h),onClick:Ze(z=>s(R)(s(l)-1),["stop"])},[G(s(Fe),null,{default:te(()=>[G(s(Qa))]),_:1})],42,["aria-label","onMouseenter","onMouseleave","onClick"]),[[$t,($.arrow==="always"||s(c))&&($.loop||s(l)>0)]])]),_:1})):re("v-if",!0),s(i)?(T(),ie(Nn,{key:1,name:"carousel-arrow-right",persisted:""},{default:te(()=>[it(H("button",{type:"button",class:I([s(O).e("arrow"),s(O).em("arrow","right")]),"aria-label":s(N)("el.carousel.rightArrow"),onMouseenter:z=>s(m)("right"),onMouseleave:s(h),onClick:Ze(z=>s(R)(s(l)+1),["stop"])},[G(s(Fe),null,{default:te(()=>[G(s(Gn))]),_:1})],42,["aria-label","onMouseenter","onMouseleave","onClick"]),[[$t,($.arrow==="always"||s(c))&&($.loop||s(l)[$.indicatorPosition!=="none"?(T(),B("ul",{key:0,class:I(s(U))},[(T(!0),B(ze,null,bt(s(f),(z,D)=>it((T(),B("li",{key:D,class:I([s(O).e("indicator"),s(O).em("indicator",$.direction),s(O).is("active",D===s(l))]),onMouseenter:W=>s(M)(D),onClick:Ze(W=>s(g)(D),["stop"])},[H("button",{class:I(s(O).e("button")),"aria-label":s(N)("el.carousel.indicator",{index:D+1})},[s(u)?(T(),B("span",{key:0},ke(z.props.label),1)):re("v-if",!0)],10,["aria-label"])],42,["onMouseenter","onClick"])),[[$t,s(_)(D)]])),128))],2)):re("v-if",!0)]),_:1}),$.motionBlur?(T(),B("svg",{key:2,xmlns:"http://www.w3.org/2000/svg",version:"1.1",style:{display:"none"}},[H("defs",null,[H("filter",{id:"elCarouselHorizontal"},[H("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"12,0"})]),H("filter",{id:"elCarouselVertical"},[H("feGaussianBlur",{in:"SourceGraphic",stdDeviation:"0,10"})])])])):re("v-if",!0)],42,["onMouseenter","onMouseleave"]))}});var YB=Oe(qB,[["__file","carousel.vue"]]);const GB=Ee({name:{type:String,default:""},label:{type:[String,Number],default:""}}),XB=e=>{const t=Pe(F2),n=dt(),o=L(),a=L(!1),l=L(0),r=L(1),i=L(!1),u=L(!1),c=L(!1),d=L(!1),{isCardType:f,isVertical:v,cardScale:p}=t;function m(y,k,E){const _=E-1,x=k-1,R=k+1,M=E/2;return k===0&&y===_?-1:k===_&&y===0?E:y=M?E+1:y>R&&y-k>=M?-2:y}function h(y,k){var E,_;const x=s(v)?((E=t.root.value)==null?void 0:E.offsetHeight)||0:((_=t.root.value)==null?void 0:_.offsetWidth)||0;return c.value?x*((2-p)*(y-k)+1)/4:y{var _;const x=s(f),R=(_=t.items.value.length)!=null?_:Number.NaN,M=y===k;!x&&!Tt(E)&&(d.value=M||y===E),!M&&R>2&&t.loop&&(y=m(y,k,R));const O=s(v);i.value=M,x?(c.value=Math.round(Math.abs(y-k))<=1,l.value=h(y,k),r.value=s(i)?1:p):l.value=g(y,k,O),u.value=!0,M&&o.value&&t.setContainerHeight(o.value.offsetHeight)};function C(){if(t&&s(f)){const y=t.items.value.findIndex(({uid:k})=>k===n.uid);t.setActiveItem(y)}}const w={props:e,states:xt({hover:a,translate:l,scale:r,active:i,ready:u,inStage:c,animating:d}),uid:n.uid,getVnode:()=>n.vnode,translateItem:b};return t.addItem(w),Pt(()=>{t.removeItem(w)}),{carouselItemRef:o,active:i,animating:d,hover:a,inStage:c,isVertical:v,translate:l,isCardType:f,scale:r,ready:u,handleItemClick:C}},JB=q({name:lv}),ZB=q({...JB,props:GB,setup(e){const t=e,n=ge("carousel"),{carouselItemRef:o,active:a,animating:l,hover:r,inStage:i,isVertical:u,translate:c,isCardType:d,scale:f,ready:v,handleItemClick:p}=XB(t),m=S(()=>[n.e("item"),n.is("active",a.value),n.is("in-stage",i.value),n.is("hover",r.value),n.is("animating",l.value),{[n.em("item","card")]:d.value,[n.em("item","card-vertical")]:d.value&&u.value}]),h=S(()=>{const b=`${`translate${s(u)?"Y":"X"}`}(${s(c)}px)`,C=`scale(${s(f)})`;return{transform:[b,C].join(" ")}});return(g,b)=>it((T(),B("div",{ref_key:"carouselItemRef",ref:o,class:I(s(m)),style:je(s(h)),onClick:s(p)},[s(d)?it((T(),B("div",{key:0,class:I(s(n).e("mask"))},null,2)),[[$t,!s(a)]]):re("v-if",!0),le(g.$slots,"default")],14,["onClick"])),[[$t,s(v)]])}});var V2=Oe(ZB,[["__file","carousel-item.vue"]]);const QB=at(YB,{CarouselItem:V2}),eF=Qt(V2),z2={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:{type:Boolean,default:void 0},checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:gn,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},ariaLabel:String,...Xn(["ariaControls"])},H2={[Qe]:e=>Ve(e)||Ye(e)||Lt(e),change:e=>Ve(e)||Ye(e)||Lt(e)},Ms=Symbol("checkboxGroupContextKey"),tF=({model:e,isChecked:t})=>{const n=Pe(Ms,void 0),o=Pe(Tr,void 0),a=S(()=>{var r,i;const u=(r=n?.max)==null?void 0:r.value,c=(i=n?.min)==null?void 0:i.value;return!Tt(u)&&e.value.length>=u&&!t.value||!Tt(c)&&e.value.length<=c&&t.value});return{isDisabled:en(S(()=>{var r,i;return n===void 0?(r=o?.disabled)!=null?r:a.value:((i=n.disabled)==null?void 0:i.value)||a.value})),isLimitDisabled:a}},nF=(e,{model:t,isLimitExceeded:n,hasOwnLabel:o,isDisabled:a,isLabeledByFormItem:l})=>{const r=Pe(Ms,void 0),{formItem:i}=$n(),{emit:u}=dt();function c(m){var h,g,b,C;return[!0,e.trueValue,e.trueLabel].includes(m)?(g=(h=e.trueValue)!=null?h:e.trueLabel)!=null?g:!0:(C=(b=e.falseValue)!=null?b:e.falseLabel)!=null?C:!1}function d(m,h){u(gt,c(m),h)}function f(m){if(n.value)return;const h=m.target;u(gt,c(h.checked),m)}async function v(m){n.value||!o.value&&!a.value&&l.value&&(m.composedPath().some(b=>b.tagName==="LABEL")||(t.value=c([!1,e.falseValue,e.falseLabel].includes(t.value)),await Me(),d(t.value,m)))}const p=S(()=>r?.validateEvent||e.validateEvent);return fe(()=>e.modelValue,()=>{p.value&&i?.validate("change").catch(m=>void 0)}),{handleChange:f,onClickRoot:v}},oF=e=>{const t=L(!1),{emit:n}=dt(),o=Pe(Ms,void 0),a=S(()=>Tt(o)===!1),l=L(!1),r=S({get(){var i,u;return a.value?(i=o?.modelValue)==null?void 0:i.value:(u=e.modelValue)!=null?u:t.value},set(i){var u,c;a.value&&Ce(i)?(l.value=((u=o?.max)==null?void 0:u.value)!==void 0&&i.length>o?.max.value&&i.length>r.value.length,l.value===!1&&((c=o?.changeEvent)==null||c.call(o,i))):(n(Qe,i),t.value=i)}});return{model:r,isGroup:a,isLimitExceeded:l}},aF=(e,t,{model:n})=>{const o=Pe(Ms,void 0),a=L(!1),l=S(()=>co(e.value)?e.label:e.value),r=S(()=>{const d=n.value;return Lt(d)?d:Ce(d)?rt(l.value)?d.map(Kt).some(f=>nn(f,l.value)):d.map(Kt).includes(l.value):d!=null?d===e.trueValue||d===e.trueLabel:!!d}),i=vn(S(()=>{var d;return(d=o?.size)==null?void 0:d.value}),{prop:!0}),u=vn(S(()=>{var d;return(d=o?.size)==null?void 0:d.value})),c=S(()=>!!t.default||!co(l.value));return{checkboxButtonSize:i,isChecked:r,isFocused:a,checkboxSize:u,hasOwnLabel:c,actualValue:l}},K2=(e,t)=>{const{formItem:n}=$n(),{model:o,isGroup:a,isLimitExceeded:l}=oF(e),{isFocused:r,isChecked:i,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,actualValue:f}=aF(e,t,{model:o}),{isDisabled:v}=tF({model:o,isChecked:i}),{inputId:p,isLabeledByFormItem:m}=_o(e,{formItemContext:n,disableIdGeneration:d,disableIdManagement:a}),{handleChange:h,onClickRoot:g}=nF(e,{model:o,isLimitExceeded:l,hasOwnLabel:d,isDisabled:v,isLabeledByFormItem:m});return(()=>{function C(){var w,y;Ce(o.value)&&!o.value.includes(f.value)?o.value.push(f.value):o.value=(y=(w=e.trueValue)!=null?w:e.trueLabel)!=null?y:!0}e.checked&&C()})(),ga({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},S(()=>a.value&&co(e.value))),ga({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},S(()=>!!e.trueLabel)),ga({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},S(()=>!!e.falseLabel)),{inputId:p,isLabeledByFormItem:m,isChecked:i,isDisabled:v,isFocused:r,checkboxButtonSize:u,checkboxSize:c,hasOwnLabel:d,model:o,actualValue:f,handleChange:h,onClickRoot:g}},lF=q({name:"ElCheckbox"}),rF=q({...lF,props:z2,emits:H2,setup(e){const t=e,n=hn(),{inputId:o,isLabeledByFormItem:a,isChecked:l,isDisabled:r,isFocused:i,checkboxSize:u,hasOwnLabel:c,model:d,actualValue:f,handleChange:v,onClickRoot:p}=K2(t,n),m=S(()=>{var C,w,y,k;return t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":(w=(C=t.trueValue)!=null?C:t.trueLabel)!=null?w:!0,"false-value":(k=(y=t.falseValue)!=null?y:t.falseLabel)!=null?k:!1}:{value:f.value}}),h=ge("checkbox"),g=S(()=>[h.b(),h.m(u.value),h.is("disabled",r.value),h.is("bordered",t.border),h.is("checked",l.value)]),b=S(()=>[h.e("input"),h.is("disabled",r.value),h.is("checked",l.value),h.is("indeterminate",t.indeterminate),h.is("focus",i.value)]);return(C,w)=>(T(),ie(ut(!s(c)&&s(a)?"span":"label"),{for:!s(c)&&s(a)?null:s(o),class:I(s(g)),"aria-controls":C.indeterminate?C.ariaControls:null,"aria-checked":C.indeterminate?"mixed":void 0,"aria-label":C.ariaLabel,onClick:s(p)},{default:te(()=>[H("span",{class:I(s(b))},[it(H("input",ft({id:s(o),"onUpdate:modelValue":y=>qt(d)?d.value=y:null,class:s(h).e("original"),type:"checkbox",indeterminate:C.indeterminate,name:C.name,tabindex:C.tabindex,disabled:s(r)},s(m),{onChange:s(v),onFocus:y=>i.value=!0,onBlur:y=>i.value=!1,onClick:Ze(()=>{},["stop"])}),null,16,["id","onUpdate:modelValue","indeterminate","name","tabindex","disabled","onChange","onFocus","onBlur","onClick"]),[[mC,s(d)]]),H("span",{class:I(s(h).e("inner"))},null,2)],2),s(c)?(T(),B("span",{key:0,class:I(s(h).e("label"))},[le(C.$slots,"default"),C.$slots.default?re("v-if",!0):(T(),B(ze,{key:0},[wt(ke(C.label),1)],64))],2)):re("v-if",!0)]),_:3},8,["for","class","aria-controls","aria-checked","aria-label","onClick"]))}});var W2=Oe(rF,[["__file","checkbox.vue"]]);const sF=q({name:"ElCheckboxButton"}),iF=q({...sF,props:z2,emits:H2,setup(e){const t=e,n=hn(),{isFocused:o,isChecked:a,isDisabled:l,checkboxButtonSize:r,model:i,actualValue:u,handleChange:c}=K2(t,n),d=S(()=>{var h,g,b,C;return t.trueValue||t.falseValue||t.trueLabel||t.falseLabel?{"true-value":(g=(h=t.trueValue)!=null?h:t.trueLabel)!=null?g:!0,"false-value":(C=(b=t.falseValue)!=null?b:t.falseLabel)!=null?C:!1}:{value:u.value}}),f=Pe(Ms,void 0),v=ge("checkbox"),p=S(()=>{var h,g,b,C;const w=(g=(h=f?.fill)==null?void 0:h.value)!=null?g:"";return{backgroundColor:w,borderColor:w,color:(C=(b=f?.textColor)==null?void 0:b.value)!=null?C:"",boxShadow:w?`-1px 0 0 0 ${w}`:void 0}}),m=S(()=>[v.b("button"),v.bm("button",r.value),v.is("disabled",l.value),v.is("checked",a.value),v.is("focus",o.value)]);return(h,g)=>(T(),B("label",{class:I(s(m))},[it(H("input",ft({"onUpdate:modelValue":b=>qt(i)?i.value=b:null,class:s(v).be("button","original"),type:"checkbox",name:h.name,tabindex:h.tabindex,disabled:s(l)},s(d),{onChange:s(c),onFocus:b=>o.value=!0,onBlur:b=>o.value=!1,onClick:Ze(()=>{},["stop"])}),null,16,["onUpdate:modelValue","name","tabindex","disabled","onChange","onFocus","onBlur","onClick"]),[[mC,s(i)]]),h.$slots.default||h.label?(T(),B("span",{key:0,class:I(s(v).be("button","inner")),style:je(s(a)?s(p):void 0)},[le(h.$slots,"default",{},()=>[wt(ke(h.label),1)])],6)):re("v-if",!0)],2))}});var pm=Oe(iF,[["__file","checkbox-button.vue"]]);const uF=Ee({modelValue:{type:J(Array),default:()=>[]},disabled:{type:Boolean,default:void 0},min:Number,max:Number,size:gn,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},options:{type:J(Array)},props:{type:J(Object),default:()=>j2},type:{type:String,values:["checkbox","button"],default:"checkbox"},...Xn(["ariaLabel"])}),cF={[Qe]:e=>Ce(e),change:e=>Ce(e)},j2={label:"label",value:"value",disabled:"disabled"},dF=q({name:"ElCheckboxGroup"}),fF=q({...dF,props:uF,emits:cF,setup(e,{emit:t}){const n=e,o=ge("checkbox"),a=en(),{formItem:l}=$n(),{inputId:r,isLabeledByFormItem:i}=_o(n,{formItemContext:l}),u=async p=>{t(Qe,p),await Me(),t(gt,p)},c=S({get(){return n.modelValue},set(p){u(p)}}),d=S(()=>({...j2,...n.props})),f=p=>{const{label:m,value:h,disabled:g}=d.value,b={label:p[m],value:p[h],disabled:p[g]};return{...tf(p,[m,h,g]),...b}},v=S(()=>n.type==="button"?pm:W2);return vt(Ms,{...Xa(wn(n),["size","min","max","validateEvent","fill","textColor"]),disabled:a,modelValue:c,changeEvent:u}),fe(()=>n.modelValue,(p,m)=>{n.validateEvent&&!nn(p,m)&&l?.validate("change").catch(h=>void 0)}),(p,m)=>{var h;return T(),ie(ut(p.tag),{id:s(r),class:I(s(o).b("group")),role:"group","aria-label":s(i)?void 0:p.ariaLabel||"checkbox-group","aria-labelledby":s(i)?(h=s(l))==null?void 0:h.labelId:void 0},{default:te(()=>[le(p.$slots,"default",{},()=>[(T(!0),B(ze,null,bt(p.options,(g,b)=>(T(),ie(ut(s(v)),ft({key:b},f(g)),null,16))),128))])]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var U2=Oe(fF,[["__file","checkbox-group.vue"]]);const Go=at(W2,{CheckboxButton:pm,CheckboxGroup:U2}),pF=Qt(pm),vm=Qt(U2),q2=Ee({modelValue:{type:[String,Number,Boolean],default:void 0},size:gn,disabled:{type:Boolean,default:void 0},label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),vF=Ee({...q2,border:Boolean}),Y2={[Qe]:e=>Ve(e)||Ye(e)||Lt(e),[gt]:e=>Ve(e)||Ye(e)||Lt(e)},G2=Symbol("radioGroupKey"),X2=(e,t)=>{const n=L(),o=Pe(G2,void 0),a=S(()=>!!o),l=S(()=>co(e.value)?e.label:e.value),r=S({get(){return a.value?o.modelValue:e.modelValue},set(f){a.value?o.changeEvent(f):t&&t(Qe,f),n.value.checked=e.modelValue===l.value}}),i=vn(S(()=>o?.size)),u=en(S(()=>o?.disabled)),c=L(!1),d=S(()=>u.value||a.value&&r.value!==l.value?-1:0);return ga({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},S(()=>a.value&&co(e.value))),{radioRef:n,isGroup:a,radioGroup:o,focus:c,size:i,disabled:u,tabIndex:d,modelValue:r,actualValue:l}},hF=q({name:"ElRadio"}),mF=q({...hF,props:vF,emits:Y2,setup(e,{emit:t}){const n=e,o=ge("radio"),{radioRef:a,radioGroup:l,focus:r,size:i,disabled:u,modelValue:c,actualValue:d}=X2(n,t);function f(){Me(()=>t(gt,c.value))}return(v,p)=>{var m;return T(),B("label",{class:I([s(o).b(),s(o).is("disabled",s(u)),s(o).is("focus",s(r)),s(o).is("bordered",v.border),s(o).is("checked",s(c)===s(d)),s(o).m(s(i))])},[H("span",{class:I([s(o).e("input"),s(o).is("disabled",s(u)),s(o).is("checked",s(c)===s(d))])},[it(H("input",{ref_key:"radioRef",ref:a,"onUpdate:modelValue":h=>qt(c)?c.value=h:null,class:I(s(o).e("original")),value:s(d),name:v.name||((m=s(l))==null?void 0:m.name),disabled:s(u),checked:s(c)===s(d),type:"radio",onFocus:h=>r.value=!0,onBlur:h=>r.value=!1,onChange:f,onClick:Ze(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","checked","onFocus","onBlur","onClick"]),[[gC,s(c)]]),H("span",{class:I(s(o).e("inner"))},null,2)],2),H("span",{class:I(s(o).e("label")),onKeydown:Ze(()=>{},["stop"])},[le(v.$slots,"default",{},()=>[wt(ke(v.label),1)])],42,["onKeydown"])],2)}}});var J2=Oe(mF,[["__file","radio.vue"]]);const gF=Ee({...q2}),bF=q({name:"ElRadioButton"}),yF=q({...bF,props:gF,setup(e){const t=e,n=ge("radio"),{radioRef:o,focus:a,size:l,disabled:r,modelValue:i,radioGroup:u,actualValue:c}=X2(t),d=S(()=>({backgroundColor:u?.fill||"",borderColor:u?.fill||"",boxShadow:u?.fill?`-1px 0 0 0 ${u.fill}`:"",color:u?.textColor||""}));return(f,v)=>{var p;return T(),B("label",{class:I([s(n).b("button"),s(n).is("active",s(i)===s(c)),s(n).is("disabled",s(r)),s(n).is("focus",s(a)),s(n).bm("button",s(l))])},[it(H("input",{ref_key:"radioRef",ref:o,"onUpdate:modelValue":m=>qt(i)?i.value=m:null,class:I(s(n).be("button","original-radio")),value:s(c),type:"radio",name:f.name||((p=s(u))==null?void 0:p.name),disabled:s(r),onFocus:m=>a.value=!0,onBlur:m=>a.value=!1,onClick:Ze(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","onFocus","onBlur","onClick"]),[[gC,s(i)]]),H("span",{class:I(s(n).be("button","inner")),style:je(s(i)===s(c)?s(d):{}),onKeydown:Ze(()=>{},["stop"])},[le(f.$slots,"default",{},()=>[wt(ke(f.label),1)])],46,["onKeydown"])],2)}}});var hm=Oe(yF,[["__file","radio-button.vue"]]);const wF=Ee({id:{type:String,default:void 0},size:gn,disabled:{type:Boolean,default:void 0},modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},options:{type:J(Array)},props:{type:J(Object),default:()=>Z2},type:{type:String,values:["radio","button"],default:"radio"},...Xn(["ariaLabel"])}),CF=Y2,Z2={label:"label",value:"value",disabled:"disabled"},SF=q({name:"ElRadioGroup"}),kF=q({...SF,props:wF,emits:CF,setup(e,{emit:t}){const n=e,o=ge("radio"),a=xn(),l=L(),{formItem:r}=$n(),{inputId:i,isLabeledByFormItem:u}=_o(n,{formItemContext:r}),c=m=>{t(Qe,m),Me(()=>t(gt,m))};pt(()=>{const m=l.value.querySelectorAll("[type=radio]"),h=m[0];!Array.from(m).some(g=>g.checked)&&h&&(h.tabIndex=0)});const d=S(()=>n.name||a.value),f=S(()=>({...Z2,...n.props})),v=m=>{const{label:h,value:g,disabled:b}=f.value,C={label:m[h],value:m[g],disabled:m[b]};return{...tf(m,[h,g,b]),...C}},p=S(()=>n.type==="button"?hm:J2);return vt(G2,xt({...wn(n),changeEvent:c,name:d})),fe(()=>n.modelValue,(m,h)=>{n.validateEvent&&!nn(m,h)&&r?.validate("change").catch(g=>void 0)}),(m,h)=>(T(),B("div",{id:s(i),ref_key:"radioGroupRef",ref:l,class:I(s(o).b("group")),role:"radiogroup","aria-label":s(u)?void 0:m.ariaLabel||"radio-group","aria-labelledby":s(u)?s(r).labelId:void 0},[le(m.$slots,"default",{},()=>[(T(!0),B(ze,null,bt(m.options,(g,b)=>(T(),ie(ut(s(p)),ft({key:b},v(g)),null,16))),128))])],10,["id","aria-label","aria-labelledby"]))}});var Q2=Oe(kF,[["__file","radio-group.vue"]]);const ek=at(J2,{RadioButton:hm,RadioGroup:Q2}),EF=Qt(Q2),_F=Qt(hm),ff=Symbol();function TF(e){return!!(Ce(e)?e.every(({type:t})=>t===an):e?.type===an)}var OF=q({name:"NodeContent",props:{node:{type:Object,required:!0}},setup(e){const t=ge("cascader-node"),{renderLabelFn:n}=Pe(ff),{node:o}=e,{data:a,label:l}=o,r=()=>{const i=n?.({node:o,data:a});return TF(i)?l:i??l};return()=>G("span",{class:t.e("label")},[r()])}});const $F=q({name:"ElCascaderNode"}),RF=q({...$F,props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(e,{emit:t}){const n=e,o=Pe(ff),a=ge("cascader-node"),l=S(()=>o.isHoverMenu),r=S(()=>o.config.multiple),i=S(()=>o.config.checkStrictly),u=S(()=>o.config.showPrefix),c=S(()=>{var x;return(x=o.checkedNodes[0])==null?void 0:x.uid}),d=S(()=>n.node.isDisabled),f=S(()=>n.node.isLeaf),v=S(()=>i.value&&!f.value||!d.value),p=S(()=>h(o.expandingNode)),m=S(()=>i.value&&o.checkedNodes.some(h)),h=x=>{var R;const{level:M,uid:O}=n.node;return((R=x?.pathNodes[M-1])==null?void 0:R.uid)===O},g=()=>{p.value||o.expandNode(n.node)},b=x=>{const{node:R}=n;x!==R.checked&&o.handleCheckChange(R,x)},C=()=>{o.lazyLoad(n.node,()=>{f.value||g()})},w=x=>{l.value&&(y(),!f.value&&t("expand",x))},y=()=>{const{node:x}=n;!v.value||x.loading||(x.loaded?g():C())},k=()=>{f.value&&!d.value&&!i.value&&!r.value?_(!0):(o.config.checkOnClickNode&&(r.value||i.value)||f.value&&o.config.checkOnClickLeaf)&&!d.value?E(!n.node.checked):l.value||y()},E=x=>{i.value?(b(x),n.node.loaded&&g()):_(x)},_=x=>{n.node.loaded?(b(x),!i.value&&g()):C()};return(x,R)=>(T(),B("li",{id:`${e.menuId}-${e.node.uid}`,role:"menuitem","aria-haspopup":!s(f),"aria-owns":s(f)?void 0:e.menuId,"aria-expanded":s(p),tabindex:s(v)?-1:void 0,class:I([s(a).b(),s(a).is("selectable",s(i)),s(a).is("active",e.node.checked),s(a).is("disabled",!s(v)),s(p)&&"in-active-path",s(m)&&"in-checked-path"]),onMouseenter:w,onFocus:w,onClick:k},[re(" prefix "),s(r)&&s(u)?(T(),ie(s(Go),{key:0,"model-value":e.node.checked,indeterminate:e.node.indeterminate,disabled:s(d),onClick:Ze(()=>{},["stop"]),"onUpdate:modelValue":E},null,8,["model-value","indeterminate","disabled","onClick"])):s(i)&&s(u)?(T(),ie(s(ek),{key:1,"model-value":s(c),label:e.node.uid,disabled:s(d),"onUpdate:modelValue":E,onClick:Ze(()=>{},["stop"])},{default:te(()=>[re(` Add an empty element to avoid render label, do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485 @@ -27,4 +27,4 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ReportPage-9KIB3iif. `)}getSetCookie(){return this.get("set-cookie")||[]}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const o=new this(t);return n.forEach(a=>o.set(a)),o}static accessor(t){const o=(this[xw]=this[xw]={accessors:{}}).accessors,a=this.prototype;function l(r){const i=Js(r);o[i]||(Ate(a,r),o[i]=!0)}return Ne.isArray(t)?t.forEach(l):l(t),this}};ho.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);Ne.reduceDescriptors(ho.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(o){this[n]=o}}});Ne.freezeMethods(ho);function Tp(e,t){const n=this||Au,o=t||n,a=ho.from(o.headers);let l=o.data;return Ne.forEach(e,function(i){l=i.call(n,l,a.normalize(),t?t.status:void 0)}),a.normalize(),l}function dT(e){return!!(e&&e.__CANCEL__)}function Bs(e,t,n){Ft.call(this,e??"canceled",Ft.ERR_CANCELED,t,n),this.name="CanceledError"}Ne.inherits(Bs,Ft,{__CANCEL__:!0});function fT(e,t,n){const o=n.config.validateStatus;!n.status||!o||o(n.status)?e(n):t(new Ft("Request failed with status code "+n.status,[Ft.ERR_BAD_REQUEST,Ft.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function Lte(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Dte(e,t){e=e||10;const n=new Array(e),o=new Array(e);let a=0,l=0,r;return t=t!==void 0?t:1e3,function(u){const c=Date.now(),d=o[l];r||(r=c),n[a]=u,o[a]=c;let f=l,v=0;for(;f!==a;)v+=n[f++],f=f%e;if(a=(a+1)%e,a===l&&(l=(l+1)%e),c-r{n=d,a=null,l&&(clearTimeout(l),l=null),e(...c)};return[(...c)=>{const d=Date.now(),f=d-n;f>=o?r(c,d):(a=c,l||(l=setTimeout(()=>{l=null,r(a)},o-f)))},()=>a&&r(a)]}const $d=(e,t,n=3)=>{let o=0;const a=Dte(50,250);return Bte(l=>{const r=l.loaded,i=l.lengthComputable?l.total:void 0,u=r-o,c=a(u),d=r<=i;o=r;const f={loaded:r,total:i,progress:i?r/i:void 0,bytes:u,rate:c||void 0,estimated:c&&i&&d?(i-r)/c:void 0,event:l,lengthComputable:i!=null,[t?"download":"upload"]:!0};e(f)},n)},Iw=(e,t)=>{const n=e!=null;return[o=>t[0]({lengthComputable:n,total:e,loaded:o}),t[1]]},Pw=e=>(...t)=>Ne.asap(()=>e(...t)),Fte=Un.hasStandardBrowserEnv?((e,t)=>n=>(n=new URL(n,Un.origin),e.protocol===n.protocol&&e.host===n.host&&(t||e.port===n.port)))(new URL(Un.origin),Un.navigator&&/(msie|trident)/i.test(Un.navigator.userAgent)):()=>!0,Vte=Un.hasStandardBrowserEnv?{write(e,t,n,o,a,l,r){if(typeof document>"u")return;const i=[`${e}=${encodeURIComponent(t)}`];Ne.isNumber(n)&&i.push(`expires=${new Date(n).toUTCString()}`),Ne.isString(o)&&i.push(`path=${o}`),Ne.isString(a)&&i.push(`domain=${a}`),l===!0&&i.push("secure"),Ne.isString(r)&&i.push(`SameSite=${r}`),document.cookie=i.join("; ")},read(e){if(typeof document>"u")return null;const t=document.cookie.match(new RegExp("(?:^|; )"+e+"=([^;]*)"));return t?decodeURIComponent(t[1]):null},remove(e){this.write(e,"",Date.now()-864e5,"/")}}:{write(){},read(){return null},remove(){}};function zte(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Hte(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function pT(e,t,n){let o=!zte(t);return e&&(o||n==!1)?Hte(e,t):t}const Mw=e=>e instanceof ho?{...e}:e;function Cr(e,t){t=t||{};const n={};function o(c,d,f,v){return Ne.isPlainObject(c)&&Ne.isPlainObject(d)?Ne.merge.call({caseless:v},c,d):Ne.isPlainObject(d)?Ne.merge({},d):Ne.isArray(d)?d.slice():d}function a(c,d,f,v){if(Ne.isUndefined(d)){if(!Ne.isUndefined(c))return o(void 0,c,f,v)}else return o(c,d,f,v)}function l(c,d){if(!Ne.isUndefined(d))return o(void 0,d)}function r(c,d){if(Ne.isUndefined(d)){if(!Ne.isUndefined(c))return o(void 0,c)}else return o(void 0,d)}function i(c,d,f){if(f in t)return o(c,d);if(f in e)return o(void 0,c)}const u={url:l,method:l,data:l,baseURL:r,transformRequest:r,transformResponse:r,paramsSerializer:r,timeout:r,timeoutMessage:r,withCredentials:r,withXSRFToken:r,adapter:r,responseType:r,xsrfCookieName:r,xsrfHeaderName:r,onUploadProgress:r,onDownloadProgress:r,decompress:r,maxContentLength:r,maxBodyLength:r,beforeRedirect:r,transport:r,httpAgent:r,httpsAgent:r,cancelToken:r,socketPath:r,responseEncoding:r,validateStatus:i,headers:(c,d,f)=>a(Mw(c),Mw(d),f,!0)};return Ne.forEach(Object.keys({...e,...t}),function(d){const f=u[d]||a,v=f(e[d],t[d],d);Ne.isUndefined(v)&&f!==i||(n[d]=v)}),n}const vT=e=>{const t=Cr({},e);let{data:n,withXSRFToken:o,xsrfHeaderName:a,xsrfCookieName:l,headers:r,auth:i}=t;if(t.headers=r=ho.from(r),t.url=iT(pT(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),i&&r.set("Authorization","Basic "+btoa((i.username||"")+":"+(i.password?unescape(encodeURIComponent(i.password)):""))),Ne.isFormData(n)){if(Un.hasStandardBrowserEnv||Un.hasStandardBrowserWebWorkerEnv)r.setContentType(void 0);else if(Ne.isFunction(n.getHeaders)){const u=n.getHeaders(),c=["content-type","content-length"];Object.entries(u).forEach(([d,f])=>{c.includes(d.toLowerCase())&&r.set(d,f)})}}if(Un.hasStandardBrowserEnv&&(o&&Ne.isFunction(o)&&(o=o(t)),o||o!==!1&&Fte(t.url))){const u=a&&l&&Vte.read(l);u&&r.set(a,u)}return t},Kte=typeof XMLHttpRequest<"u",Wte=Kte&&function(e){return new Promise(function(n,o){const a=vT(e);let l=a.data;const r=ho.from(a.headers).normalize();let{responseType:i,onUploadProgress:u,onDownloadProgress:c}=a,d,f,v,p,m;function h(){p&&p(),m&&m(),a.cancelToken&&a.cancelToken.unsubscribe(d),a.signal&&a.signal.removeEventListener("abort",d)}let g=new XMLHttpRequest;g.open(a.method.toUpperCase(),a.url,!0),g.timeout=a.timeout;function b(){if(!g)return;const w=ho.from("getAllResponseHeaders"in g&&g.getAllResponseHeaders()),k={data:!i||i==="text"||i==="json"?g.responseText:g.response,status:g.status,statusText:g.statusText,headers:w,config:e,request:g};fT(function(_){n(_),h()},function(_){o(_),h()},k),g=null}"onloadend"in g?g.onloadend=b:g.onreadystatechange=function(){!g||g.readyState!==4||g.status===0&&!(g.responseURL&&g.responseURL.indexOf("file:")===0)||setTimeout(b)},g.onabort=function(){g&&(o(new Ft("Request aborted",Ft.ECONNABORTED,e,g)),g=null)},g.onerror=function(y){const k=y&&y.message?y.message:"Network Error",E=new Ft(k,Ft.ERR_NETWORK,e,g);E.event=y||null,o(E),g=null},g.ontimeout=function(){let y=a.timeout?"timeout of "+a.timeout+"ms exceeded":"timeout exceeded";const k=a.transitional||uT;a.timeoutErrorMessage&&(y=a.timeoutErrorMessage),o(new Ft(y,k.clarifyTimeoutError?Ft.ETIMEDOUT:Ft.ECONNABORTED,e,g)),g=null},l===void 0&&r.setContentType(null),"setRequestHeader"in g&&Ne.forEach(r.toJSON(),function(y,k){g.setRequestHeader(k,y)}),Ne.isUndefined(a.withCredentials)||(g.withCredentials=!!a.withCredentials),i&&i!=="json"&&(g.responseType=a.responseType),c&&([v,m]=$d(c,!0),g.addEventListener("progress",v)),u&&g.upload&&([f,p]=$d(u),g.upload.addEventListener("progress",f),g.upload.addEventListener("loadend",p)),(a.cancelToken||a.signal)&&(d=w=>{g&&(o(!w||w.type?new Bs(null,e,g):w),g.abort(),g=null)},a.cancelToken&&a.cancelToken.subscribe(d),a.signal&&(a.signal.aborted?d():a.signal.addEventListener("abort",d)));const C=Lte(a.url);if(C&&Un.protocols.indexOf(C)===-1){o(new Ft("Unsupported protocol "+C+":",Ft.ERR_BAD_REQUEST,e));return}g.send(l||null)})},jte=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let o=new AbortController,a;const l=function(c){if(!a){a=!0,i();const d=c instanceof Error?c:this.reason;o.abort(d instanceof Ft?d:new Bs(d instanceof Error?d.message:d))}};let r=t&&setTimeout(()=>{r=null,l(new Ft(`timeout ${t} of ms exceeded`,Ft.ETIMEDOUT))},t);const i=()=>{e&&(r&&clearTimeout(r),r=null,e.forEach(c=>{c.unsubscribe?c.unsubscribe(l):c.removeEventListener("abort",l)}),e=null)};e.forEach(c=>c.addEventListener("abort",l));const{signal:u}=o;return u.unsubscribe=()=>Ne.asap(i),u}},Ute=function*(e,t){let n=e.byteLength;if(n{const a=qte(e,t);let l=0,r,i=u=>{r||(r=!0,o&&o(u))};return new ReadableStream({async pull(u){try{const{done:c,value:d}=await a.next();if(c){i(),u.close();return}let f=d.byteLength;if(n){let v=l+=f;n(v)}u.enqueue(new Uint8Array(d))}catch(c){throw i(c),c}},cancel(u){return i(u),a.return()}},{highWaterMark:2})},Lw=64*1024,{isFunction:uc}=Ne,Gte=(({Request:e,Response:t})=>({Request:e,Response:t}))(Ne.global),{ReadableStream:Dw,TextEncoder:Bw}=Ne.global,Fw=(e,...t)=>{try{return!!e(...t)}catch{return!1}},Xte=e=>{e=Ne.merge.call({skipUndefined:!0},Gte,e);const{fetch:t,Request:n,Response:o}=e,a=t?uc(t):typeof fetch=="function",l=uc(n),r=uc(o);if(!a)return!1;const i=a&&uc(Dw),u=a&&(typeof Bw=="function"?(m=>h=>m.encode(h))(new Bw):async m=>new Uint8Array(await new n(m).arrayBuffer())),c=l&&i&&Fw(()=>{let m=!1;const h=new n(Un.origin,{body:new Dw,method:"POST",get duplex(){return m=!0,"half"}}).headers.has("Content-Type");return m&&!h}),d=r&&i&&Fw(()=>Ne.isReadableStream(new o("").body)),f={stream:d&&(m=>m.body)};a&&["text","arrayBuffer","blob","formData","stream"].forEach(m=>{!f[m]&&(f[m]=(h,g)=>{let b=h&&h[m];if(b)return b.call(h);throw new Ft(`Response type '${m}' is not supported`,Ft.ERR_NOT_SUPPORT,g)})});const v=async m=>{if(m==null)return 0;if(Ne.isBlob(m))return m.size;if(Ne.isSpecCompliantForm(m))return(await new n(Un.origin,{method:"POST",body:m}).arrayBuffer()).byteLength;if(Ne.isArrayBufferView(m)||Ne.isArrayBuffer(m))return m.byteLength;if(Ne.isURLSearchParams(m)&&(m=m+""),Ne.isString(m))return(await u(m)).byteLength},p=async(m,h)=>{const g=Ne.toFiniteNumber(m.getContentLength());return g??v(h)};return async m=>{let{url:h,method:g,data:b,signal:C,cancelToken:w,timeout:y,onDownloadProgress:k,onUploadProgress:E,responseType:_,headers:x,withCredentials:R="same-origin",fetchOptions:M}=vT(m),O=t||fetch;_=_?(_+"").toLowerCase():"text";let N=jte([C,w&&w.toAbortSignal()],y),F=null;const U=N&&N.unsubscribe&&(()=>{N.unsubscribe()});let Y;try{if(E&&c&&g!=="get"&&g!=="head"&&(Y=await p(x,b))!==0){let W=new n(h,{method:"POST",body:b,duplex:"half"}),V;if(Ne.isFormData(b)&&(V=W.headers.get("content-type"))&&x.setContentType(V),W.body){const[j,ne]=Iw(Y,$d(Pw(E)));b=Aw(W.body,Lw,j,ne)}}Ne.isString(R)||(R=R?"include":"omit");const P=l&&"credentials"in n.prototype,$={...M,signal:N,method:g.toUpperCase(),headers:x.normalize().toJSON(),body:b,duplex:"half",credentials:P?R:void 0};F=l&&new n(h,$);let A=await(l?O(F,M):O(h,$));const z=d&&(_==="stream"||_==="response");if(d&&(k||z&&U)){const W={};["status","statusText","headers"].forEach(oe=>{W[oe]=A[oe]});const V=Ne.toFiniteNumber(A.headers.get("content-length")),[j,ne]=k&&Iw(V,$d(Pw(k),!0))||[];A=new o(Aw(A.body,Lw,j,()=>{ne&&ne(),U&&U()}),W)}_=_||"text";let D=await f[Ne.findKey(f,_)||"text"](A,m);return!z&&U&&U(),await new Promise((W,V)=>{fT(W,V,{data:D,headers:ho.from(A.headers),status:A.status,statusText:A.statusText,config:m,request:F})})}catch(P){throw U&&U(),P&&P.name==="TypeError"&&/Load failed|fetch/i.test(P.message)?Object.assign(new Ft("Network Error",Ft.ERR_NETWORK,m,F),{cause:P.cause||P}):Ft.from(P,P&&P.code,m,F)}}},Jte=new Map,hT=e=>{let t=e&&e.env||{};const{fetch:n,Request:o,Response:a}=t,l=[o,a,n];let r=l.length,i=r,u,c,d=Jte;for(;i--;)u=l[i],c=d.get(u),c===void 0&&d.set(u,c=i?new Map:Xte(t)),d=c;return c};hT();const Cg={http:vte,xhr:Wte,fetch:{get:hT}};Ne.forEach(Cg,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Vw=e=>`- ${e}`,Zte=e=>Ne.isFunction(e)||e===null||e===!1;function Qte(e,t){e=Ne.isArray(e)?e:[e];const{length:n}=e;let o,a;const l={};for(let r=0;r`adapter ${u} `+(c===!1?"is not supported by the environment":"is not available in the build"));let i=n?r.length>1?`since : `+r.map(Vw).join(` `):" "+Vw(r[0]):"as no adapter specified";throw new Ft("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return a}const mT={getAdapter:Qte,adapters:Cg};function Op(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Bs(null,e)}function zw(e){return Op(e),e.headers=ho.from(e.headers),e.data=Tp.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),mT.getAdapter(e.adapter||Au.adapter,e)(e).then(function(o){return Op(e),o.data=Tp.call(e,e.transformResponse,o),o.headers=ho.from(o.headers),o},function(o){return dT(o)||(Op(e),o&&o.response&&(o.response.data=Tp.call(e,e.transformResponse,o.response),o.response.headers=ho.from(o.response.headers))),Promise.reject(o)})}const gT="1.13.2",Rf={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{Rf[e]=function(o){return typeof o===e||"a"+(t<1?"n ":" ")+e}});const Hw={};Rf.transitional=function(t,n,o){function a(l,r){return"[Axios v"+gT+"] Transitional option '"+l+"'"+r+(o?". "+o:"")}return(l,r,i)=>{if(t===!1)throw new Ft(a(r," has been removed"+(n?" in "+n:"")),Ft.ERR_DEPRECATED);return n&&!Hw[r]&&(Hw[r]=!0,console.warn(a(r," has been deprecated since v"+n+" and will be removed in the near future"))),t?t(l,r,i):!0}};Rf.spelling=function(t){return(n,o)=>(console.warn(`${o} is likely a misspelling of ${t}`),!0)};function ene(e,t,n){if(typeof e!="object")throw new Ft("options must be an object",Ft.ERR_BAD_OPTION_VALUE);const o=Object.keys(e);let a=o.length;for(;a-- >0;){const l=o[a],r=t[l];if(r){const i=e[l],u=i===void 0||r(i,l,e);if(u!==!0)throw new Ft("option "+l+" must be "+u,Ft.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Ft("Unknown option "+l,Ft.ERR_BAD_OPTION)}}const Hc={assertOptions:ene,validators:Rf},ia=Hc.validators;let cr=class{constructor(t){this.defaults=t||{},this.interceptors={request:new Nw,response:new Nw}}async request(t,n){try{return await this._request(t,n)}catch(o){if(o instanceof Error){let a={};Error.captureStackTrace?Error.captureStackTrace(a):a=new Error;const l=a.stack?a.stack.replace(/^.+\n/,""):"";try{o.stack?l&&!String(o.stack).endsWith(l.replace(/^.+\n.+\n/,""))&&(o.stack+=` -`+l):o.stack=l}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Cr(this.defaults,n);const{transitional:o,paramsSerializer:a,headers:l}=n;o!==void 0&&Hc.assertOptions(o,{silentJSONParsing:ia.transitional(ia.boolean),forcedJSONParsing:ia.transitional(ia.boolean),clarifyTimeoutError:ia.transitional(ia.boolean)},!1),a!=null&&(Ne.isFunction(a)?n.paramsSerializer={serialize:a}:Hc.assertOptions(a,{encode:ia.function,serialize:ia.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Hc.assertOptions(n,{baseUrl:ia.spelling("baseURL"),withXsrfToken:ia.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r=l&&Ne.merge(l.common,l[n.method]);l&&Ne.forEach(["delete","get","head","post","put","patch","common"],m=>{delete l[m]}),n.headers=ho.concat(r,l);const i=[];let u=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(u=u&&h.synchronous,i.unshift(h.fulfilled,h.rejected))});const c=[];this.interceptors.response.forEach(function(h){c.push(h.fulfilled,h.rejected)});let d,f=0,v;if(!u){const m=[zw.bind(this),void 0];for(m.unshift(...i),m.push(...c),v=m.length,d=Promise.resolve(n);f{if(!o._listeners)return;let l=o._listeners.length;for(;l-- >0;)o._listeners[l](a);o._listeners=null}),this.promise.then=a=>{let l;const r=new Promise(i=>{o.subscribe(i),l=i}).then(a);return r.cancel=function(){o.unsubscribe(l)},r},t(function(l,r,i){o.reason||(o.reason=new Bs(l,r,i),n(o.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=o=>{t.abort(o)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new bT(function(a){t=a}),cancel:t}}};function nne(e){return function(n){return e.apply(null,n)}}function one(e){return Ne.isObject(e)&&e.isAxiosError===!0}const nh={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(nh).forEach(([e,t])=>{nh[t]=e});function yT(e){const t=new cr(e),n=X_(cr.prototype.request,t);return Ne.extend(n,cr.prototype,t,{allOwnKeys:!0}),Ne.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return yT(Cr(e,a))},n}const bn=yT(Au);bn.Axios=cr;bn.CanceledError=Bs;bn.CancelToken=tne;bn.isCancel=dT;bn.VERSION=gT;bn.toFormData=$f;bn.AxiosError=Ft;bn.Cancel=bn.CanceledError;bn.all=function(t){return Promise.all(t)};bn.spread=nne;bn.isAxiosError=one;bn.mergeConfig=Cr;bn.AxiosHeaders=ho;bn.formToJSON=e=>cT(Ne.isHTMLForm(e)?new FormData(e):e);bn.getAdapter=mT.getAdapter;bn.HttpStatusCode=nh;bn.default=bn;const{Axios:zne,AxiosError:Hne,CanceledError:Kne,isCancel:Wne,CancelToken:jne,VERSION:Une,all:qne,Cancel:Yne,isAxiosError:Gne,spread:Xne,toFormData:Jne,AxiosHeaders:Zne,HttpStatusCode:Qne,formToJSON:eoe,getAdapter:toe,mergeConfig:noe}=bn;let Kw="",Ww=0;function Zs(e,t,n=1500){const o=Date.now();e===Kw&&o-Ww!!String(e||"").trim(),inputErrorMessage:"密码不能为空"}).then(async e=>{const t=String(e.value||"").trim();await Qo.post("/admin/reauth",{password:t}),mg.success("已通过安全确认")}).finally(()=>{Qs=null}),Qs)}Qo.interceptors.request.use(e=>{const t=String(e?.method||"GET").toUpperCase();if(!["GET","HEAD","OPTIONS"].includes(t)){const n=ane("csrf_token");n&&(e.headers=e.headers||{},e.headers["X-CSRF-Token"]=n)}return e});Qo.interceptors.response.use(e=>e,async e=>{const t=e?.response?.status,n=e?.response?.data,o=n?.error||n?.message||e?.message||"请求失败";if(n?.code==="reauth_required"&&e?.config&&!e.config.__reauth_retry)try{return e.config.__reauth_retry=!0,await lne(),Qo.request(e.config)}catch{return Promise.reject(e)}return t===401?(Zs("401",o,3e3),(window.location?.pathname||"").startsWith("/yuyx")||(window.location.href="/yuyx")):t===403?Zs("403",o,5e3):t?Zs(`http:${t}:${o}`,o):e?.code==="ECONNABORTED"?Zs("timeout","请求超时",3e3):Zs(`net:${o}`,o,3e3),Promise.reject(e)});async function ooe(e=""){const{data:t}=await Qo.get("/feedbacks",{params:e?{status:e}:{}});return t}async function rne(){const{data:e}=await Qo.get("/feedbacks",{params:{limit:1,offset:0}});return e?.stats}async function aoe(e,t){const{data:n}=await Qo.post(`/feedbacks/${e}/reply`,{reply:t});return n}async function loe(e){const{data:t}=await Qo.post(`/feedbacks/${e}/close`);return t}async function roe(e){const{data:t}=await Qo.delete(`/feedbacks/${e}`);return t}async function sne(){const{data:e}=await Qo.get("/stats");return e}const ine={class:"menu-label"},une={key:1,class:"menu-label"},cne={class:"header-left"},dne={class:"header-right"},fne={class:"admin-name"},pne={class:"menu-label"},vne={key:1,class:"menu-label"},hne={__name:"AdminLayout",setup(e){const t=uN(),n=iN(),o=L({}),a=S(()=>o.value?.admin_username||"");async function l(){try{o.value=await sne()}finally{}}const r=L(!1),i=L(0);let u;async function c(w=null){if(w&&typeof w=="object"){Object.prototype.hasOwnProperty.call(w,"pendingFeedbacks")&&(i.value=Number(w.pendingFeedbacks||0));return}if(!r.value){r.value=!0;try{const y=await rne();i.value=Number(y?.pending||0)}finally{r.value=!1}}}vt("refreshStats",l),vt("adminStats",o),vt("refreshNavBadges",c);const d=L(!1),f=L(!1);let v;function p(){d.value=!!v?.matches,d.value||(f.value=!1)}pt(async()=>{v=window.matchMedia("(max-width: 768px)"),v.addEventListener?.("change",p),p(),await l(),await c(),u=window.setInterval(c,6e4)}),Pt(()=>{v?.removeEventListener?.("change",p),window.clearInterval(u)});const m=[{path:"/reports",label:"报表",icon:WS},{path:"/users",label:"用户",icon:i6},{path:"/feedbacks",label:"反馈",icon:eA,badgeKey:"feedbacks"},{path:"/logs",label:"任务日志",icon:SA},{path:"/announcements",label:"公告",icon:qM},{path:"/email",label:"邮件",icon:OA},{path:"/security",label:"安全防护",icon:_A},{path:"/system",label:"系统配置",icon:a6},{path:"/settings",label:"设置",icon:qA}],h=S(()=>t.path);function g(w){return w?.badgeKey&&w.badgeKey==="feedbacks"?Number(i.value||0):0}async function b(){try{await gg.confirm("确定退出管理员登录吗?","退出登录",{confirmButtonText:"退出",cancelButtonText:"取消",type:"warning"})}catch{return}try{await Qo.post("/logout")}finally{window.location.href="/yuyx"}}async function C(w){await n.push(w),f.value=!1}return(w,y)=>{const k=mt("el-icon"),E=mt("el-badge"),_=mt("el-menu-item"),x=mt("el-menu"),R=mt("el-aside"),M=mt("el-button"),O=mt("el-header"),N=mt("RouterView"),F=mt("el-skeleton"),U=mt("el-card"),Y=mt("el-main"),P=mt("el-container"),$=mt("el-drawer");return T(),ie(P,{class:"layout-root"},{default:te(()=>[d.value?re("",!0):(T(),ie(R,{key:0,width:"220px",class:"layout-aside"},{default:te(()=>[y[2]||(y[2]=H("div",{class:"brand"},[H("div",{class:"brand-title"},"后台管理"),H("div",{class:"brand-sub app-muted"},"知识管理平台")],-1)),G(x,{"default-active":h.value,class:"aside-menu",router:"",onSelect:C},{default:te(()=>[(T(),B(ze,null,bt(m,A=>G(_,{key:A.path,index:A.path},{default:te(()=>[G(k,null,{default:te(()=>[(T(),ie(ut(A.icon)))]),_:2},1024),g(A)>0?(T(),ie(E,{key:0,value:g(A),max:99,class:"menu-badge"},{default:te(()=>[H("span",ine,ke(A.label),1)]),_:2},1032,["value"])):(T(),B("span",une,ke(A.label),1))]),_:2},1032,["index"])),64))]),_:1},8,["default-active"])]),_:1})),G(P,null,{default:te(()=>[G(O,{class:"layout-header"},{default:te(()=>[H("div",cne,[d.value?(T(),ie(M,{key:0,text:"",class:"header-menu-btn",onClick:y[0]||(y[0]=A=>f.value=!0)},{default:te(()=>[...y[3]||(y[3]=[wt(" 菜单 ",-1)])]),_:1})):re("",!0),y[4]||(y[4]=H("div",{class:"header-title"},"后台管理系统",-1))]),H("div",dne,[H("div",fne,[y[5]||(y[5]=H("span",{class:"app-muted"},"管理员",-1)),H("strong",null,ke(a.value||"-"),1)]),G(M,{type:"primary",plain:"",onClick:b},{default:te(()=>[...y[6]||(y[6]=[wt("退出",-1)])]),_:1})])]),_:1}),G(Y,{class:"layout-main"},{default:te(()=>[(T(),ie(QO,null,{default:te(()=>[G(N)]),fallback:te(()=>[G(U,{shadow:"never","body-style":{padding:"16px"},class:"fallback-card"},{default:te(()=>[G(F,{rows:5,animated:""})]),_:1})]),_:1}))]),_:1})]),_:1}),G($,{modelValue:f.value,"onUpdate:modelValue":y[1]||(y[1]=A=>f.value=A),size:"240px","with-header":!1},{default:te(()=>[y[7]||(y[7]=H("div",{class:"drawer-brand"},[H("div",{class:"brand-title"},"后台管理"),H("div",{class:"brand-sub app-muted"},"知识管理平台")],-1)),G(x,{"default-active":h.value,class:"aside-menu",router:"",onSelect:C},{default:te(()=>[(T(),B(ze,null,bt(m,A=>G(_,{key:A.path,index:A.path},{default:te(()=>[G(k,null,{default:te(()=>[(T(),ie(ut(A.icon)))]),_:2},1024),g(A)>0?(T(),ie(E,{key:0,value:g(A),max:99,class:"menu-badge"},{default:te(()=>[H("span",pne,ke(A.label),1)]),_:2},1032,["value"])):(T(),B("span",vne,ke(A.label),1))]),_:2},1032,["index"])),64))]),_:1},8,["default-active"])]),_:1},8,["modelValue"])]),_:1})}}},mne=SC(hne,[["__scopeId","data-v-529c4583"]]),gne=()=>ll(()=>import("./ReportPage-9KIB3iif.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),bne=()=>ll(()=>import("./UsersPage-D513gXjG.js"),__vite__mapDeps([5,6,7]),import.meta.url),yne=()=>ll(()=>import("./FeedbacksPage-Ccz7usmm.js"),__vite__mapDeps([8,9]),import.meta.url),wne=()=>ll(()=>import("./LogsPage-DKgDsqeF.js"),__vite__mapDeps([10,6,2,11]),import.meta.url),Cne=()=>ll(()=>import("./AnnouncementsPage-Qex0pAMP.js"),__vite__mapDeps([12,13]),import.meta.url),Sne=()=>ll(()=>import("./EmailPage-DjFQXXaw.js"),__vite__mapDeps([14,1,15]),import.meta.url),kne=()=>ll(()=>import("./SecurityPage-QH4U-Y6k.js"),__vite__mapDeps([16,17]),import.meta.url),Ene=()=>ll(()=>import("./SystemPage-agjTEZ2h.js"),__vite__mapDeps([18,3,19]),import.meta.url),_ne=()=>ll(()=>import("./SettingsPage-OTetedw0.js"),__vite__mapDeps([20,21]),import.meta.url),Tne=[{path:"/",component:mne,children:[{path:"",redirect:"/reports"},{path:"/pending",redirect:"/reports"},{path:"/stats",redirect:"/reports"},{path:"/reports",name:"reports",component:gne},{path:"/users",name:"users",component:bne},{path:"/feedbacks",name:"feedbacks",component:yne},{path:"/logs",name:"logs",component:wne},{path:"/announcements",name:"announcements",component:Cne},{path:"/email",name:"email",component:Sne},{path:"/security",name:"security",component:kne},{path:"/system",name:"system",component:Ene},{path:"/settings",name:"settings",component:_ne}]}],One=sN({history:FR(),routes:Tne});var $ne={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值",alphaDescription:"透明度 {alpha}, 当前颜色 {color}",hueLabel:"选择色相值",hueDescription:"色相 {hue}, 当前颜色 {color}",svLabel:"选择饱和度与明度的值",svDescription:"饱和度 {saturation}, 明度 {brightness}, 当前颜色 {color}",predefineDescription:"选择 {value} 作为颜色"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},mention:{loading:"加载中"},dropdown:{toggleDropdown:"切换下拉选项"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计",selectAllLabel:"选择所有行",selectRowLabel:"选择当前行",expandRowLabel:"展开当前行",collapseRowLabel:"收起当前行",sortLabel:"按 {column} 排序",filterLabel:"按 {column} 过滤"},tag:{close:"关闭此标签"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}};CC(Z$).use(One).use($ee,{locale:$ne}).mount("#app");export{eA as A,ie as B,xne as C,I as D,a6 as E,ze as F,rne as G,ut as H,mh as I,it as J,gg as K,mg as L,ooe as M,aoe as N,loe as O,roe as P,jS as Q,Ge as R,xt as S,Pt as T,fe as U,SC as _,Qo as a,GM as b,S as c,KS as d,_s as e,mt as f,B as g,T as h,Pe as i,H as j,Ine as k,Ca as l,G as m,re as n,pt as o,ke as p,wt as q,L as r,e6 as s,Mne as t,Ane as u,bt as v,te as w,s as x,Pne as y,OA as z}; +`+l):o.stack=l}catch{}}throw o}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=Cr(this.defaults,n);const{transitional:o,paramsSerializer:a,headers:l}=n;o!==void 0&&Hc.assertOptions(o,{silentJSONParsing:ia.transitional(ia.boolean),forcedJSONParsing:ia.transitional(ia.boolean),clarifyTimeoutError:ia.transitional(ia.boolean)},!1),a!=null&&(Ne.isFunction(a)?n.paramsSerializer={serialize:a}:Hc.assertOptions(a,{encode:ia.function,serialize:ia.function},!0)),n.allowAbsoluteUrls!==void 0||(this.defaults.allowAbsoluteUrls!==void 0?n.allowAbsoluteUrls=this.defaults.allowAbsoluteUrls:n.allowAbsoluteUrls=!0),Hc.assertOptions(n,{baseUrl:ia.spelling("baseURL"),withXsrfToken:ia.spelling("withXSRFToken")},!0),n.method=(n.method||this.defaults.method||"get").toLowerCase();let r=l&&Ne.merge(l.common,l[n.method]);l&&Ne.forEach(["delete","get","head","post","put","patch","common"],m=>{delete l[m]}),n.headers=ho.concat(r,l);const i=[];let u=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(u=u&&h.synchronous,i.unshift(h.fulfilled,h.rejected))});const c=[];this.interceptors.response.forEach(function(h){c.push(h.fulfilled,h.rejected)});let d,f=0,v;if(!u){const m=[zw.bind(this),void 0];for(m.unshift(...i),m.push(...c),v=m.length,d=Promise.resolve(n);f{if(!o._listeners)return;let l=o._listeners.length;for(;l-- >0;)o._listeners[l](a);o._listeners=null}),this.promise.then=a=>{let l;const r=new Promise(i=>{o.subscribe(i),l=i}).then(a);return r.cancel=function(){o.unsubscribe(l)},r},t(function(l,r,i){o.reason||(o.reason=new Bs(l,r,i),n(o.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=o=>{t.abort(o)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new bT(function(a){t=a}),cancel:t}}};function nne(e){return function(n){return e.apply(null,n)}}function one(e){return Ne.isObject(e)&&e.isAxiosError===!0}const nh={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511,WebServerIsDown:521,ConnectionTimedOut:522,OriginIsUnreachable:523,TimeoutOccurred:524,SslHandshakeFailed:525,InvalidSslCertificate:526};Object.entries(nh).forEach(([e,t])=>{nh[t]=e});function yT(e){const t=new cr(e),n=X_(cr.prototype.request,t);return Ne.extend(n,cr.prototype,t,{allOwnKeys:!0}),Ne.extend(n,t,null,{allOwnKeys:!0}),n.create=function(a){return yT(Cr(e,a))},n}const bn=yT(Au);bn.Axios=cr;bn.CanceledError=Bs;bn.CancelToken=tne;bn.isCancel=dT;bn.VERSION=gT;bn.toFormData=$f;bn.AxiosError=Ft;bn.Cancel=bn.CanceledError;bn.all=function(t){return Promise.all(t)};bn.spread=nne;bn.isAxiosError=one;bn.mergeConfig=Cr;bn.AxiosHeaders=ho;bn.formToJSON=e=>cT(Ne.isHTMLForm(e)?new FormData(e):e);bn.getAdapter=mT.getAdapter;bn.HttpStatusCode=nh;bn.default=bn;const{Axios:zne,AxiosError:Hne,CanceledError:Kne,isCancel:Wne,CancelToken:jne,VERSION:Une,all:qne,Cancel:Yne,isAxiosError:Gne,spread:Xne,toFormData:Jne,AxiosHeaders:Zne,HttpStatusCode:Qne,formToJSON:eoe,getAdapter:toe,mergeConfig:noe}=bn;let Kw="",Ww=0;function Zs(e,t,n=1500){const o=Date.now();e===Kw&&o-Ww!!String(e||"").trim(),inputErrorMessage:"密码不能为空"}).then(async e=>{const t=String(e.value||"").trim();await Qo.post("/admin/reauth",{password:t}),mg.success("已通过安全确认")}).finally(()=>{Qs=null}),Qs)}Qo.interceptors.request.use(e=>{const t=String(e?.method||"GET").toUpperCase();if(!["GET","HEAD","OPTIONS"].includes(t)){const n=ane("csrf_token");n&&(e.headers=e.headers||{},e.headers["X-CSRF-Token"]=n)}return e});Qo.interceptors.response.use(e=>e,async e=>{const t=e?.response?.status,n=e?.response?.data,o=n?.error||n?.message||e?.message||"请求失败";if(n?.code==="reauth_required"&&e?.config&&!e.config.__reauth_retry)try{return e.config.__reauth_retry=!0,await lne(),Qo.request(e.config)}catch{return Promise.reject(e)}return t===401?(Zs("401",o,3e3),(window.location?.pathname||"").startsWith("/yuyx")||(window.location.href="/yuyx")):t===403?Zs("403",o,5e3):t?Zs(`http:${t}:${o}`,o):e?.code==="ECONNABORTED"?Zs("timeout","请求超时",3e3):Zs(`net:${o}`,o,3e3),Promise.reject(e)});async function ooe(e=""){const{data:t}=await Qo.get("/feedbacks",{params:e?{status:e}:{}});return t}async function rne(){const{data:e}=await Qo.get("/feedbacks",{params:{limit:1,offset:0}});return e?.stats}async function aoe(e,t){const{data:n}=await Qo.post(`/feedbacks/${e}/reply`,{reply:t});return n}async function loe(e){const{data:t}=await Qo.post(`/feedbacks/${e}/close`);return t}async function roe(e){const{data:t}=await Qo.delete(`/feedbacks/${e}`);return t}async function sne(){const{data:e}=await Qo.get("/stats");return e}const ine={class:"menu-label"},une={key:1,class:"menu-label"},cne={class:"header-left"},dne={class:"header-right"},fne={class:"admin-name"},pne={class:"menu-label"},vne={key:1,class:"menu-label"},hne={__name:"AdminLayout",setup(e){const t=uN(),n=iN(),o=L({}),a=S(()=>o.value?.admin_username||"");async function l(){try{o.value=await sne()}finally{}}const r=L(!1),i=L(0);let u;async function c(w=null){if(w&&typeof w=="object"){Object.prototype.hasOwnProperty.call(w,"pendingFeedbacks")&&(i.value=Number(w.pendingFeedbacks||0));return}if(!r.value){r.value=!0;try{const y=await rne();i.value=Number(y?.pending||0)}finally{r.value=!1}}}vt("refreshStats",l),vt("adminStats",o),vt("refreshNavBadges",c);const d=L(!1),f=L(!1);let v;function p(){d.value=!!v?.matches,d.value||(f.value=!1)}pt(async()=>{v=window.matchMedia("(max-width: 768px)"),v.addEventListener?.("change",p),p(),await l(),await c(),u=window.setInterval(c,6e4)}),Pt(()=>{v?.removeEventListener?.("change",p),window.clearInterval(u)});const m=[{path:"/reports",label:"报表",icon:WS},{path:"/users",label:"用户",icon:i6},{path:"/feedbacks",label:"反馈",icon:eA,badgeKey:"feedbacks"},{path:"/logs",label:"任务日志",icon:SA},{path:"/announcements",label:"公告",icon:qM},{path:"/email",label:"邮件",icon:OA},{path:"/security",label:"安全防护",icon:_A},{path:"/system",label:"系统配置",icon:a6},{path:"/settings",label:"设置",icon:qA}],h=S(()=>t.path);function g(w){return w?.badgeKey&&w.badgeKey==="feedbacks"?Number(i.value||0):0}async function b(){try{await gg.confirm("确定退出管理员登录吗?","退出登录",{confirmButtonText:"退出",cancelButtonText:"取消",type:"warning"})}catch{return}try{await Qo.post("/logout")}finally{window.location.href="/yuyx"}}async function C(w){await n.push(w),f.value=!1}return(w,y)=>{const k=mt("el-icon"),E=mt("el-badge"),_=mt("el-menu-item"),x=mt("el-menu"),R=mt("el-aside"),M=mt("el-button"),O=mt("el-header"),N=mt("RouterView"),F=mt("el-skeleton"),U=mt("el-card"),Y=mt("el-main"),P=mt("el-container"),$=mt("el-drawer");return T(),ie(P,{class:"layout-root"},{default:te(()=>[d.value?re("",!0):(T(),ie(R,{key:0,width:"220px",class:"layout-aside"},{default:te(()=>[y[2]||(y[2]=H("div",{class:"brand"},[H("div",{class:"brand-title"},"后台管理"),H("div",{class:"brand-sub app-muted"},"知识管理平台")],-1)),G(x,{"default-active":h.value,class:"aside-menu",router:"",onSelect:C},{default:te(()=>[(T(),B(ze,null,bt(m,A=>G(_,{key:A.path,index:A.path},{default:te(()=>[G(k,null,{default:te(()=>[(T(),ie(ut(A.icon)))]),_:2},1024),g(A)>0?(T(),ie(E,{key:0,value:g(A),max:99,class:"menu-badge"},{default:te(()=>[H("span",ine,ke(A.label),1)]),_:2},1032,["value"])):(T(),B("span",une,ke(A.label),1))]),_:2},1032,["index"])),64))]),_:1},8,["default-active"])]),_:1})),G(P,null,{default:te(()=>[G(O,{class:"layout-header"},{default:te(()=>[H("div",cne,[d.value?(T(),ie(M,{key:0,text:"",class:"header-menu-btn",onClick:y[0]||(y[0]=A=>f.value=!0)},{default:te(()=>[...y[3]||(y[3]=[wt(" 菜单 ",-1)])]),_:1})):re("",!0),y[4]||(y[4]=H("div",{class:"header-title"},"后台管理系统",-1))]),H("div",dne,[H("div",fne,[y[5]||(y[5]=H("span",{class:"app-muted"},"管理员",-1)),H("strong",null,ke(a.value||"-"),1)]),G(M,{type:"primary",plain:"",onClick:b},{default:te(()=>[...y[6]||(y[6]=[wt("退出",-1)])]),_:1})])]),_:1}),G(Y,{class:"layout-main"},{default:te(()=>[(T(),ie(QO,null,{default:te(()=>[G(N)]),fallback:te(()=>[G(U,{shadow:"never","body-style":{padding:"16px"},class:"fallback-card"},{default:te(()=>[G(F,{rows:5,animated:""})]),_:1})]),_:1}))]),_:1})]),_:1}),G($,{modelValue:f.value,"onUpdate:modelValue":y[1]||(y[1]=A=>f.value=A),size:"240px","with-header":!1},{default:te(()=>[y[7]||(y[7]=H("div",{class:"drawer-brand"},[H("div",{class:"brand-title"},"后台管理"),H("div",{class:"brand-sub app-muted"},"知识管理平台")],-1)),G(x,{"default-active":h.value,class:"aside-menu",router:"",onSelect:C},{default:te(()=>[(T(),B(ze,null,bt(m,A=>G(_,{key:A.path,index:A.path},{default:te(()=>[G(k,null,{default:te(()=>[(T(),ie(ut(A.icon)))]),_:2},1024),g(A)>0?(T(),ie(E,{key:0,value:g(A),max:99,class:"menu-badge"},{default:te(()=>[H("span",pne,ke(A.label),1)]),_:2},1032,["value"])):(T(),B("span",vne,ke(A.label),1))]),_:2},1032,["index"])),64))]),_:1},8,["default-active"])]),_:1},8,["modelValue"])]),_:1})}}},mne=SC(hne,[["__scopeId","data-v-529c4583"]]),gne=()=>ll(()=>import("./ReportPage-DAW30JOI.js"),__vite__mapDeps([0,1,2,3,4]),import.meta.url),bne=()=>ll(()=>import("./UsersPage-DxOwX5c9.js"),__vite__mapDeps([5,6,7]),import.meta.url),yne=()=>ll(()=>import("./FeedbacksPage-DZUE-vHi.js"),__vite__mapDeps([8,9]),import.meta.url),wne=()=>ll(()=>import("./LogsPage-CdMEmjzm.js"),__vite__mapDeps([10,6,2,11]),import.meta.url),Cne=()=>ll(()=>import("./AnnouncementsPage-DJV9obay.js"),__vite__mapDeps([12,13]),import.meta.url),Sne=()=>ll(()=>import("./EmailPage-D-tsUWFT.js"),__vite__mapDeps([14,1,15]),import.meta.url),kne=()=>ll(()=>import("./SecurityPage-C21EbRZb.js"),__vite__mapDeps([16,17]),import.meta.url),Ene=()=>ll(()=>import("./SystemPage-D5R5QCv7.js"),__vite__mapDeps([18,3,19]),import.meta.url),_ne=()=>ll(()=>import("./SettingsPage-BM2ulFCL.js"),__vite__mapDeps([20,21]),import.meta.url),Tne=[{path:"/",component:mne,children:[{path:"",redirect:"/reports"},{path:"/pending",redirect:"/reports"},{path:"/stats",redirect:"/reports"},{path:"/reports",name:"reports",component:gne},{path:"/users",name:"users",component:bne},{path:"/feedbacks",name:"feedbacks",component:yne},{path:"/logs",name:"logs",component:wne},{path:"/announcements",name:"announcements",component:Cne},{path:"/email",name:"email",component:Sne},{path:"/security",name:"security",component:kne},{path:"/system",name:"system",component:Ene},{path:"/settings",name:"settings",component:_ne}]}],One=sN({history:FR(),routes:Tne});var $ne={name:"zh-cn",el:{breadcrumb:{label:"面包屑"},colorpicker:{confirm:"确定",clear:"清空",defaultLabel:"颜色选择器",description:"当前颜色 {color},按 Enter 键选择新颜色",alphaLabel:"选择透明度的值",alphaDescription:"透明度 {alpha}, 当前颜色 {color}",hueLabel:"选择色相值",hueDescription:"色相 {hue}, 当前颜色 {color}",svLabel:"选择饱和度与明度的值",svDescription:"饱和度 {saturation}, 明度 {brightness}, 当前颜色 {color}",predefineDescription:"选择 {value} 作为颜色"},datepicker:{now:"此刻",today:"今天",cancel:"取消",clear:"清空",confirm:"确定",dateTablePrompt:"使用方向键与 Enter 键可选择日期",monthTablePrompt:"使用方向键与 Enter 键可选择月份",yearTablePrompt:"使用方向键与 Enter 键可选择年份",selectedDate:"已选日期",selectDate:"选择日期",selectTime:"选择时间",startDate:"开始日期",startTime:"开始时间",endDate:"结束日期",endTime:"结束时间",prevYear:"前一年",nextYear:"后一年",prevMonth:"上个月",nextMonth:"下个月",year:"年",month1:"1 月",month2:"2 月",month3:"3 月",month4:"4 月",month5:"5 月",month6:"6 月",month7:"7 月",month8:"8 月",month9:"9 月",month10:"10 月",month11:"11 月",month12:"12 月",weeks:{sun:"日",mon:"一",tue:"二",wed:"三",thu:"四",fri:"五",sat:"六"},weeksFull:{sun:"星期日",mon:"星期一",tue:"星期二",wed:"星期三",thu:"星期四",fri:"星期五",sat:"星期六"},months:{jan:"一月",feb:"二月",mar:"三月",apr:"四月",may:"五月",jun:"六月",jul:"七月",aug:"八月",sep:"九月",oct:"十月",nov:"十一月",dec:"十二月"}},inputNumber:{decrease:"减少数值",increase:"增加数值"},select:{loading:"加载中",noMatch:"无匹配数据",noData:"无数据",placeholder:"请选择"},mention:{loading:"加载中"},dropdown:{toggleDropdown:"切换下拉选项"},cascader:{noMatch:"无匹配数据",loading:"加载中",placeholder:"请选择",noData:"暂无数据"},pagination:{goto:"前往",pagesize:"条/页",total:"共 {total} 条",pageClassifier:"页",page:"页",prev:"上一页",next:"下一页",currentPage:"第 {pager} 页",prevPages:"向前 {pager} 页",nextPages:"向后 {pager} 页",deprecationWarning:"你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档"},dialog:{close:"关闭此对话框"},drawer:{close:"关闭此对话框"},messagebox:{title:"提示",confirm:"确定",cancel:"取消",error:"输入的数据不合法!",close:"关闭此对话框"},upload:{deleteTip:"按 Delete 键可删除",delete:"删除",preview:"查看图片",continue:"继续上传"},slider:{defaultLabel:"滑块介于 {min} 至 {max}",defaultRangeStartLabel:"选择起始值",defaultRangeEndLabel:"选择结束值"},table:{emptyText:"暂无数据",confirmFilter:"筛选",resetFilter:"重置",clearFilter:"全部",sumText:"合计",selectAllLabel:"选择所有行",selectRowLabel:"选择当前行",expandRowLabel:"展开当前行",collapseRowLabel:"收起当前行",sortLabel:"按 {column} 排序",filterLabel:"按 {column} 过滤"},tag:{close:"关闭此标签"},tour:{next:"下一步",previous:"上一步",finish:"结束导览",close:"关闭此对话框"},tree:{emptyText:"暂无数据"},transfer:{noMatch:"无匹配数据",noData:"无数据",titles:["列表 1","列表 2"],filterPlaceholder:"请输入搜索内容",noCheckedFormat:"共 {total} 项",hasCheckedFormat:"已选 {checked}/{total} 项"},image:{error:"加载失败"},pageHeader:{title:"返回"},popconfirm:{confirmButtonText:"确定",cancelButtonText:"取消"},carousel:{leftArrow:"上一张幻灯片",rightArrow:"下一张幻灯片",indicator:"幻灯片切换至索引 {index}"}}};CC(Z$).use(One).use($ee,{locale:$ne}).mount("#app");export{eA as A,ie as B,xne as C,I as D,a6 as E,ze as F,rne as G,ut as H,mh as I,it as J,gg as K,mg as L,ooe as M,aoe as N,loe as O,roe as P,jS as Q,Ge as R,xt as S,Pt as T,fe as U,SC as _,Qo as a,GM as b,S as c,KS as d,_s as e,mt as f,B as g,T as h,Pe as i,H as j,Ine as k,Ca as l,G as m,re as n,pt as o,ke as p,wt as q,L as r,e6 as s,Mne as t,Ane as u,bt as v,te as w,s as x,Pne as y,OA as z}; diff --git a/static/admin/assets/system-CMyTza1B.js b/static/admin/assets/system-CM-zje4U.js similarity index 78% rename from static/admin/assets/system-CMyTza1B.js rename to static/admin/assets/system-CM-zje4U.js index f0ce714..d8f9f7d 100644 --- a/static/admin/assets/system-CMyTza1B.js +++ b/static/admin/assets/system-CM-zje4U.js @@ -1 +1 @@ -import{a}from"./index-DYOBdo6M.js";async function s(){const{data:t}=await a.get("/system/config");return t}async function c(t){const{data:e}=await a.post("/system/config",t);return e}async function o(){const{data:t}=await a.post("/schedule/execute",{});return t}export{o as e,s as f,c as u}; +import{a}from"./index-DD_NUvZR.js";async function s(){const{data:t}=await a.get("/system/config");return t}async function c(t){const{data:e}=await a.post("/system/config",t);return e}async function o(){const{data:t}=await a.post("/schedule/execute",{});return t}export{o as e,s as f,c as u}; diff --git a/static/admin/assets/tasks-CQlm8unE.js b/static/admin/assets/tasks-MT8n16Cr.js similarity index 87% rename from static/admin/assets/tasks-CQlm8unE.js rename to static/admin/assets/tasks-MT8n16Cr.js index 69be729..ea4afe6 100644 --- a/static/admin/assets/tasks-CQlm8unE.js +++ b/static/admin/assets/tasks-MT8n16Cr.js @@ -1 +1 @@ -import{a}from"./index-DYOBdo6M.js";async function c(){const{data:t}=await a.get("/server/info");return t}async function e(){const{data:t}=await a.get("/docker_stats");return t}async function o(){const{data:t}=await a.get("/task/stats");return t}async function r(){const{data:t}=await a.get("/task/running");return t}async function i(t){const{data:s}=await a.get("/task/logs",{params:t});return s}async function f(t){const{data:s}=await a.post("/task/logs/clear",{days:t});return s}export{r as a,c as b,e as c,i as d,f as e,o as f}; +import{a}from"./index-DD_NUvZR.js";async function c(){const{data:t}=await a.get("/server/info");return t}async function e(){const{data:t}=await a.get("/docker_stats");return t}async function o(){const{data:t}=await a.get("/task/stats");return t}async function r(){const{data:t}=await a.get("/task/running");return t}async function i(t){const{data:s}=await a.get("/task/logs",{params:t});return s}async function f(t){const{data:s}=await a.post("/task/logs/clear",{days:t});return s}export{r as a,c as b,e as c,i as d,f as e,o as f}; diff --git a/static/admin/assets/users-CwvLJNE7.js b/static/admin/assets/users-BfTiBX13.js similarity index 90% rename from static/admin/assets/users-CwvLJNE7.js rename to static/admin/assets/users-BfTiBX13.js index ce43218..2752af4 100644 --- a/static/admin/assets/users-CwvLJNE7.js +++ b/static/admin/assets/users-BfTiBX13.js @@ -1 +1 @@ -import{a as t}from"./index-DYOBdo6M.js";async function n(){const{data:s}=await t.get("/users");return s}async function o(s){const{data:a}=await t.post(`/users/${s}/approve`);return a}async function c(s){const{data:a}=await t.post(`/users/${s}/reject`);return a}async function i(s){const{data:a}=await t.delete(`/users/${s}`);return a}async function u(s,a){const{data:e}=await t.post(`/users/${s}/vip`,{days:a});return e}async function p(s){const{data:a}=await t.delete(`/users/${s}/vip`);return a}async function d(s,a){const{data:e}=await t.post(`/users/${s}/reset_password`,{new_password:a});return e}export{o as a,p as b,d as c,i as d,n as f,c as r,u as s}; +import{a as t}from"./index-DD_NUvZR.js";async function n(){const{data:s}=await t.get("/users");return s}async function o(s){const{data:a}=await t.post(`/users/${s}/approve`);return a}async function c(s){const{data:a}=await t.post(`/users/${s}/reject`);return a}async function i(s){const{data:a}=await t.delete(`/users/${s}`);return a}async function u(s,a){const{data:e}=await t.post(`/users/${s}/vip`,{days:a});return e}async function p(s){const{data:a}=await t.delete(`/users/${s}/vip`);return a}async function d(s,a){const{data:e}=await t.post(`/users/${s}/reset_password`,{new_password:a});return e}export{o as a,p as b,d as c,i as d,n as f,c as r,u as s}; diff --git a/static/admin/index.html b/static/admin/index.html index 6b9ee25..818aefb 100644 --- a/static/admin/index.html +++ b/static/admin/index.html @@ -5,7 +5,7 @@ 后台管理 - 知识管理平台 - +