diff --git a/assets/404-BDPO8oQV.js b/assets/404-BUV7S865.js similarity index 94% rename from assets/404-BDPO8oQV.js rename to assets/404-BUV7S865.js index def4d02..b323fc0 100644 --- a/assets/404-BDPO8oQV.js +++ b/assets/404-BUV7S865.js @@ -1 +1 @@ -import{j as c,o as n,w as e,c as t,al as C,i as a,am as o,l as i,an as s}from"./index-Ck0Pnd4f.js";import{V as L,a as r}from"./VRow-D_zZfsym.js";import{V as h}from"./VContainer-_5I3ogXr.js";const f="data:image/svg+xml,%3csvg%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns='http://www.w3.org/2000/svg'%20width='256'%20height='256'%20viewBox='0%200%20256%20256'%20fill='none'%3e%3cg%20clip-path='url(%23clip-path-74_1)'%3e%3cpath%20fill='%23FFFFFF'%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%3e%3c/path%3e%3crect%20x='0'%20y='0'%20width='256'%20height='128'%20fill='%23D8C4A0'%3e%3c/rect%3e%3crect%20x='0'%20y='128'%20width='256'%20height='128'%20fill='%23F5E0BB'%3e%3c/rect%3e%3cpath%20d='M28%20228L128%20128L228%20128L128%20228L28%20228Z'%20fill-rule='evenodd'%20fill='%23241A04'%3e%3c/path%3e%3cpath%20d='M28%20128L128%2028L228%2028L128%20128L28%20128Z'%20fill-rule='evenodd'%20fill='%2352452A'%3e%3c/path%3e%3cg%3e%3cpath%20fill='%23000000'%20d='M-3049.01%202467.94L-3043.48%202467.94L-3043.48%202466.99L-3045.92%202466.99C-3046.36%202466.99%20-3046.9%202467.04%20-3047.36%202467.08C-3045.29%202465.12%20-3043.9%202463.33%20-3043.9%202461.57C-3043.9%202460.01%20-3044.9%202458.99%20-3046.47%202458.99C-3047.58%202458.99%20-3048.35%202459.49%20-3049.06%202460.27L-3048.43%202460.9C-3047.93%202460.31%20-3047.32%202459.88%20-3046.6%202459.88C-3045.51%202459.88%20-3044.98%202460.61%20-3044.98%202461.62C-3044.98%202463.13%20-3046.25%202464.88%20-3049.01%202467.29L-3049.01%202467.94ZM-3039.27%202468.1C-3037.9%202468.1%20-3036.74%202466.95%20-3036.74%202465.24C-3036.74%202463.39%20-3037.7%202462.48%20-3039.19%202462.48C-3039.87%202462.48%20-3040.64%202462.88%20-3041.18%202463.54C-3041.13%202460.81%20-3040.13%202459.89%20-3038.91%202459.89C-3038.38%202459.89%20-3037.85%202460.15%20-3037.52%202460.56L-3036.89%202459.89C-3037.39%202459.36%20-3038.04%202458.99%20-3038.96%202458.99C-3040.66%202458.99%20-3042.21%202460.3%20-3042.21%202463.74C-3042.21%202466.65%20-3040.95%202468.1%20-3039.27%202468.1ZM-3041.15%202464.41C-3040.58%202463.6%20-3039.91%202463.3%20-3039.36%202463.3C-3038.3%202463.3%20-3037.78%202464.05%20-3037.78%202465.24C-3037.78%202466.44%20-3038.43%202467.23%20-3039.27%202467.23C-3040.37%202467.23%20-3041.03%202466.24%20-3041.15%202464.41ZM-3035.17%202467.94L-3030.34%202467.94L-3030.34%202467.03L-3032.1%202467.03L-3032.1%202459.15L-3032.95%202459.15C-3033.43%202459.42%20-3033.99%202459.62%20-3034.77%202459.77L-3034.77%202460.47L-3033.2%202460.47L-3033.2%202467.03L-3035.17%202467.03L-3035.17%202467.94ZM-3029.51%202467.94L-3028.4%202467.94L-3027.54%202465.25L-3024.33%202465.25L-3023.49%202467.94L-3022.31%202467.94L-3025.3%202459.15L-3026.54%202459.15L-3029.51%202467.94ZM-3027.27%202464.38L-3026.84%202463.02C-3026.52%202462.02%20-3026.24%202461.08%20-3025.96%202460.04L-3025.91%202460.04C-3025.62%202461.06%20-3025.35%202462.02%20-3025.02%202463.02L-3024.6%202464.38L-3027.27%202464.38ZM-3018.93%202468.1C-3017.26%202468.1%20-3016.19%202466.58%20-3016.19%202463.51C-3016.19%202460.47%20-3017.26%202458.99%20-3018.93%202458.99C-3020.61%202458.99%20-3021.67%202460.47%20-3021.67%202463.51C-3021.67%202466.58%20-3020.61%202468.1%20-3018.93%202468.1ZM-3018.93%202467.21C-3019.93%202467.21%20-3020.61%202466.09%20-3020.61%202463.51C-3020.61%202460.95%20-3019.93%202459.85%20-3018.93%202459.85C-3017.93%202459.85%20-3017.25%202460.95%20-3017.25%202463.51C-3017.25%202466.09%20-3017.93%202467.21%20-3018.93%202467.21ZM-3012.27%202468.1C-3010.6%202468.1%20-3009.53%202466.58%20-3009.53%202463.51C-3009.53%202460.47%20-3010.6%202458.99%20-3012.27%202458.99C-3013.95%202458.99%20-3015.01%202460.47%20-3015.01%202463.51C-3015.01%202466.58%20-3013.95%202468.1%20-3012.27%202468.1ZM-3012.27%202467.21C-3013.27%202467.21%20-3013.95%202466.09%20-3013.95%202463.51C-3013.95%202460.95%20-3013.27%202459.85%20-3012.27%202459.85C-3011.27%202459.85%20-3010.59%202460.95%20-3010.59%202463.51C-3010.59%202466.09%20-3011.27%202467.21%20-3012.27%202467.21Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip-path-74_1'%3e%3cpath%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",m={__name:"404",setup(d){return(p,l)=>(n(),c(h,{class:"fill-height"},{default:e(()=>[t(C,{class:"align-centerfill-height mx-auto","max-width":"900"},{default:e(()=>[t(o,{class:"mb-4",height:"150",src:f}),l[3]||(l[3]=a("div",{class:"text-center"},[a("div",{class:"text-body-2 font-weight-light mb-n1"},"出现了错误"),a("h1",{class:"text-h2 font-weight-bold"},"404")],-1)),l[4]||(l[4]=a("div",{class:"py-4"},null,-1)),t(L,null,{default:e(()=>[t(r,{cols:"12"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-help",rounded:"lg",variant:"outlined"},{image:e(()=>[t(o,{position:"top right"})]),title:e(()=>[...l[1]||(l[1]=[a("h2",{class:"text-h5 font-weight-bold"},"为什么会出现此错误?",-1)])]),subtitle:e(()=>[...l[2]||(l[2]=[a("div",{class:"text-subtitle-1"},"大概是页面未找到",-1)])]),default:e(()=>[t(s,{contained:"","model-value":"",opacity:".12",persistent:"",scrim:"primary"})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-home",rounded:"lg",title:"返回首页",to:"/",variant:"text"},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-arrow-left-drop-circle",rounded:"lg",title:"返回上一页",variant:"text",onClick:l[0]||(l[0]=u=>this.$router.back())},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},x={__name:"404",setup(d){return(p,l)=>(n(),c(m))}};export{x as default}; +import{o as c,j as n,w as e,c as t,al as C,am as o,i as a,l as i,an as s}from"./index-BUM0TY0E.js";import{V as L,a as r}from"./VRow-CPw1R1BU.js";import{V as h}from"./VContainer-DakLDC1m.js";const f="data:image/svg+xml,%3csvg%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns='http://www.w3.org/2000/svg'%20width='256'%20height='256'%20viewBox='0%200%20256%20256'%20fill='none'%3e%3cg%20clip-path='url(%23clip-path-74_1)'%3e%3cpath%20fill='%23FFFFFF'%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%3e%3c/path%3e%3crect%20x='0'%20y='0'%20width='256'%20height='128'%20fill='%23D8C4A0'%3e%3c/rect%3e%3crect%20x='0'%20y='128'%20width='256'%20height='128'%20fill='%23F5E0BB'%3e%3c/rect%3e%3cpath%20d='M28%20228L128%20128L228%20128L128%20228L28%20228Z'%20fill-rule='evenodd'%20fill='%23241A04'%3e%3c/path%3e%3cpath%20d='M28%20128L128%2028L228%2028L128%20128L28%20128Z'%20fill-rule='evenodd'%20fill='%2352452A'%3e%3c/path%3e%3cg%3e%3cpath%20fill='%23000000'%20d='M-3049.01%202467.94L-3043.48%202467.94L-3043.48%202466.99L-3045.92%202466.99C-3046.36%202466.99%20-3046.9%202467.04%20-3047.36%202467.08C-3045.29%202465.12%20-3043.9%202463.33%20-3043.9%202461.57C-3043.9%202460.01%20-3044.9%202458.99%20-3046.47%202458.99C-3047.58%202458.99%20-3048.35%202459.49%20-3049.06%202460.27L-3048.43%202460.9C-3047.93%202460.31%20-3047.32%202459.88%20-3046.6%202459.88C-3045.51%202459.88%20-3044.98%202460.61%20-3044.98%202461.62C-3044.98%202463.13%20-3046.25%202464.88%20-3049.01%202467.29L-3049.01%202467.94ZM-3039.27%202468.1C-3037.9%202468.1%20-3036.74%202466.95%20-3036.74%202465.24C-3036.74%202463.39%20-3037.7%202462.48%20-3039.19%202462.48C-3039.87%202462.48%20-3040.64%202462.88%20-3041.18%202463.54C-3041.13%202460.81%20-3040.13%202459.89%20-3038.91%202459.89C-3038.38%202459.89%20-3037.85%202460.15%20-3037.52%202460.56L-3036.89%202459.89C-3037.39%202459.36%20-3038.04%202458.99%20-3038.96%202458.99C-3040.66%202458.99%20-3042.21%202460.3%20-3042.21%202463.74C-3042.21%202466.65%20-3040.95%202468.1%20-3039.27%202468.1ZM-3041.15%202464.41C-3040.58%202463.6%20-3039.91%202463.3%20-3039.36%202463.3C-3038.3%202463.3%20-3037.78%202464.05%20-3037.78%202465.24C-3037.78%202466.44%20-3038.43%202467.23%20-3039.27%202467.23C-3040.37%202467.23%20-3041.03%202466.24%20-3041.15%202464.41ZM-3035.17%202467.94L-3030.34%202467.94L-3030.34%202467.03L-3032.1%202467.03L-3032.1%202459.15L-3032.95%202459.15C-3033.43%202459.42%20-3033.99%202459.62%20-3034.77%202459.77L-3034.77%202460.47L-3033.2%202460.47L-3033.2%202467.03L-3035.17%202467.03L-3035.17%202467.94ZM-3029.51%202467.94L-3028.4%202467.94L-3027.54%202465.25L-3024.33%202465.25L-3023.49%202467.94L-3022.31%202467.94L-3025.3%202459.15L-3026.54%202459.15L-3029.51%202467.94ZM-3027.27%202464.38L-3026.84%202463.02C-3026.52%202462.02%20-3026.24%202461.08%20-3025.96%202460.04L-3025.91%202460.04C-3025.62%202461.06%20-3025.35%202462.02%20-3025.02%202463.02L-3024.6%202464.38L-3027.27%202464.38ZM-3018.93%202468.1C-3017.26%202468.1%20-3016.19%202466.58%20-3016.19%202463.51C-3016.19%202460.47%20-3017.26%202458.99%20-3018.93%202458.99C-3020.61%202458.99%20-3021.67%202460.47%20-3021.67%202463.51C-3021.67%202466.58%20-3020.61%202468.1%20-3018.93%202468.1ZM-3018.93%202467.21C-3019.93%202467.21%20-3020.61%202466.09%20-3020.61%202463.51C-3020.61%202460.95%20-3019.93%202459.85%20-3018.93%202459.85C-3017.93%202459.85%20-3017.25%202460.95%20-3017.25%202463.51C-3017.25%202466.09%20-3017.93%202467.21%20-3018.93%202467.21ZM-3012.27%202468.1C-3010.6%202468.1%20-3009.53%202466.58%20-3009.53%202463.51C-3009.53%202460.47%20-3010.6%202458.99%20-3012.27%202458.99C-3013.95%202458.99%20-3015.01%202460.47%20-3015.01%202463.51C-3015.01%202466.58%20-3013.95%202468.1%20-3012.27%202468.1ZM-3012.27%202467.21C-3013.27%202467.21%20-3013.95%202466.09%20-3013.95%202463.51C-3013.95%202460.95%20-3013.27%202459.85%20-3012.27%202459.85C-3011.27%202459.85%20-3010.59%202460.95%20-3010.59%202463.51C-3010.59%202466.09%20-3011.27%202467.21%20-3012.27%202467.21Z'%3e%3c/path%3e%3c/g%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip-path-74_1'%3e%3cpath%20d='M0%20256L256%20256L256%200L0%200L0%20256Z'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e",m={__name:"404",setup(d){return(p,l)=>(c(),n(h,{class:"fill-height"},{default:e(()=>[t(C,{class:"align-centerfill-height mx-auto","max-width":"900"},{default:e(()=>[t(o,{class:"mb-4",height:"150",src:f}),l[3]||(l[3]=a("div",{class:"text-center"},[a("div",{class:"text-body-2 font-weight-light mb-n1"},"出现了错误"),a("h1",{class:"text-h2 font-weight-bold"},"404")],-1)),l[4]||(l[4]=a("div",{class:"py-4"},null,-1)),t(L,null,{default:e(()=>[t(r,{cols:"12"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-help",rounded:"lg",variant:"outlined"},{image:e(()=>[t(o,{position:"top right"})]),title:e(()=>[...l[1]||(l[1]=[a("h2",{class:"text-h5 font-weight-bold"},"为什么会出现此错误?",-1)])]),subtitle:e(()=>[...l[2]||(l[2]=[a("div",{class:"text-subtitle-1"},"大概是页面未找到",-1)])]),default:e(()=>[t(s,{contained:"","model-value":"",opacity:".12",persistent:"",scrim:"primary"})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-home",rounded:"lg",title:"返回首页",to:"/",variant:"text"},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1}),t(r,{cols:"6"},{default:e(()=>[t(i,{class:"py-4",color:"surface-variant","prepend-icon":"mdi-arrow-left-drop-circle",rounded:"lg",title:"返回上一页",variant:"text",onClick:l[0]||(l[0]=u=>this.$router.back())},{default:e(()=>[t(s,{contained:"","model-value":"",opacity:".06",persistent:"",scrim:"primary"})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},x={__name:"404",setup(d){return(p,l)=>(c(),n(m))}};export{x as default}; diff --git a/assets/CacheManagement-LQxE9shI.js b/assets/CacheManagement-DoF_G4xZ.js similarity index 91% rename from assets/CacheManagement-LQxE9shI.js rename to assets/CacheManagement-DoF_G4xZ.js index 6930a55..58fea54 100644 --- a/assets/CacheManagement-LQxE9shI.js +++ b/assets/CacheManagement-DoF_G4xZ.js @@ -1 +1 @@ -import{_ as W,j as c,o,w as s,c as a,q as A,i as r,x as b,y as p,t as l,v as m,z as C,B as k,C as f,A as w,F as x,G as V,P as E,Q as N,a2 as L,a3 as P,l as y}from"./index-Ck0Pnd4f.js";import{V as _}from"./VAlert-WqxdeiRc.js";import{V as B,a as R,b as z,c as F}from"./VExpansionPanels-B6fkQj5C.js";import{V as H}from"./VChip-C4TXrZae.js";import{V as I}from"./VSkeletonLoader-LZ55LBTh.js";import{V as M,a as v}from"./VRow-D_zZfsym.js";import{V as U}from"./VContainer-_5I3ogXr.js";const j={name:"CacheManager",data(){return{caches:[],loading:!1,serviceWorkerActive:!1,message:"",messageType:"info"}},mounted(){this.checkServiceWorker()},methods:{checkServiceWorker(){"serviceWorker"in navigator?navigator.serviceWorker.ready.then(()=>{this.serviceWorkerActive=!0,this.refreshCaches()}).catch(()=>{this.serviceWorkerActive=!1}):this.serviceWorkerActive=!1},async refreshCaches(){if(this.serviceWorkerActive){this.loading=!0,this.message="",this.caches=[];try{const t=await this.sendMessageToSW({type:"CACHE_KEYS"});for(const e of t.cacheNames){const n=await this.sendMessageToSW({type:"CACHE_CONTENT",cacheName:e});this.caches.push({name:e,urls:n.urls||[]})}}catch(t){this.showMessage("获取缓存信息失败: "+t.message,"error")}finally{this.loading=!1}}},async clearCache(t){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_CACHE",cacheName:t})).success?(this.showMessage(`已清除缓存: ${this.formatCacheName(t)}`,"success"),await this.refreshCaches()):this.showMessage("清除缓存失败","error")}catch(e){this.showMessage("清除缓存失败: "+e.message,"error")}finally{this.loading=!1}},async clearUrl(t,e){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_URL",cacheName:t,url:e})).success?(this.showMessage(`已从缓存中删除: ${this.getFileName(e)}`,"success"),await this.refreshCaches()):this.showMessage("删除缓存项失败","error")}catch(n){this.showMessage("删除缓存项失败: "+n.message,"error")}finally{this.loading=!1}},async clearAllCaches(){if(confirm("确定要清除所有缓存吗?这可能会导致应用需要重新下载资源。")){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_ALL_CACHES"})).success?(this.showMessage("已清除所有缓存","success"),await this.refreshCaches()):this.showMessage("清除所有缓存失败","error")}catch(t){this.showMessage("清除所有缓存失败: "+t.message,"error")}finally{this.loading=!1}}},sendMessageToSW(t){return new Promise((e,n)=>{if(!navigator.serviceWorker.controller){n(new Error("Service Worker 未控制页面"));return}const g=new MessageChannel;g.port1.onmessage=i=>{e(i.data)},navigator.serviceWorker.controller.postMessage(t,[g.port2]),setTimeout(()=>{n(new Error("Service Worker 响应超时"))},5e3)})},formatCacheName(t){return t.replace("workbox-precache-","预缓存-").replace("-cache","").replace("js","JS").replace("css","CSS").replace("html","HTML").replace("images","图片").replace("external-resources","外部资源").replace("cdn-cgi","CDN")},getFileName(t){try{const e=new URL(t),n=e.pathname.split("/");return n[n.length-1]||e.hostname}catch(e){return console.error("获取文件名失败:",e),t}},showMessage(t,e="info"){this.message=t,this.messageType=e,setTimeout(()=>{this.message===t&&(this.message="")},5e3)}}},D={class:"d-flex align-center"},O={class:"d-flex justify-end mb-2"};function q(t,e,n,g,i,d){return o(),c(y,null,{default:s(()=>[a(A,{class:"d-flex align-center"},{default:s(()=>[e[2]||(e[2]=r("span",null,"缓存管理",-1)),a(b),a(p,{loading:i.loading,color:"error",onClick:d.clearAllCaches},{default:s(()=>[...e[0]||(e[0]=[l(" 清除所有缓存 ",-1)])]),_:1},8,["loading","onClick"]),a(p,{class:"ml-2",icon:"",onClick:d.refreshCaches},{default:s(()=>[a(m,null,{default:s(()=>[...e[1]||(e[1]=[l("mdi-refresh",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),a(C,null,{default:s(()=>[i.serviceWorkerActive?k("",!0):(o(),c(_,{key:0,class:"mb-4",type:"warning"},{default:s(()=>[...e[3]||(e[3]=[l(" Service Worker 未激活,缓存管理功能不可用。 ",-1)])]),_:1})),i.message?(o(),c(_,{key:1,type:i.messageType,class:"mb-4"},{default:s(()=>[l(f(i.message),1)]),_:1},8,["type"])):k("",!0),i.caches.length>0?(o(),c(B,{key:2},{default:s(()=>[(o(!0),w(x,null,V(i.caches,u=>(o(),c(R,{key:u.name},{default:s(()=>[a(z,null,{default:s(()=>[r("div",D,[r("span",null,f(d.formatCacheName(u.name)),1),a(H,{class:"ml-2",size:"small"},{default:s(()=>[l(f(u.urls.length)+" 个文件",1)]),_:2},1024)])]),_:2},1024),a(F,null,{default:s(()=>[r("div",O,[a(p,{loading:i.loading,color:"error",size:"small",onClick:h=>d.clearCache(u.name)},{default:s(()=>[...e[4]||(e[4]=[l(" 清除此缓存 ",-1)])]),_:1},8,["loading","onClick"])]),a(E,{lines:"two"},{default:s(()=>[(o(!0),w(x,null,V(u.urls,(h,T)=>(o(),c(N,{key:T},{append:s(()=>[a(p,{color:"error",icon:"",size:"small",onClick:$=>d.clearUrl(u.name,h)},{default:s(()=>[a(m,null,{default:s(()=>[...e[5]||(e[5]=[l("mdi-delete",-1)])]),_:1})]),_:1},8,["onClick"])]),default:s(()=>[a(L,{class:"text-truncate"},{default:s(()=>[l(f(d.getFileName(h)),1)]),_:2},1024),a(P,{class:"text-truncate"},{default:s(()=>[l(f(h),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):i.loading?(o(),c(I,{key:3,type:"article"})):(o(),c(_,{key:4,type:"info"},{default:s(()=>[...e[6]||(e[6]=[l(" 没有找到缓存数据。 ",-1)])]),_:1}))]),_:1})]),_:1})}const S=W(j,[["render",q]]),G={name:"CacheManagementPage",components:{CacheManager:S},metaInfo:{title:"缓存管理"}},J={class:"d-flex align-center mb-6"},K={class:"d-flex align-center mb-2"},Q={class:"d-flex align-center mb-2"};function Y(t,e,n,g,i,d){const u=S;return o(),c(U,null,{default:s(()=>[a(M,null,{default:s(()=>[a(v,{cols:"12"},{default:s(()=>[r("div",J,[a(m,{class:"mr-3",color:"primary",size:"x-large"},{default:s(()=>[...e[0]||(e[0]=[l("mdi-database-cog-outline",-1)])]),_:1}),e[1]||(e[1]=r("div",null,[r("h1",{class:"text-h4"},"缓存管理"),r("div",{class:"text-subtitle-1 text-grey"},"管理应用的本地缓存资源")],-1))]),a(y,{class:"mb-6",color:"info",density:"compact",variant:"tonal"},{default:s(()=>[a(C,{class:"d-flex align-center"},{default:s(()=>[a(m,{class:"mr-2",color:"info"},{default:s(()=>[...e[2]||(e[2]=[l("mdi-information-outline",-1)])]),_:1}),e[3]||(e[3]=r("span",null,"在这里您可以查看和管理应用的缓存文件。清除缓存可能会导致应用需要重新下载资源,但有助于解决某些显示问题。",-1))]),_:1})]),_:1}),a(M,null,{default:s(()=>[a(v,{cols:"12",md:"8"},{default:s(()=>[a(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[a(C,null,{default:s(()=>[r("div",K,[a(m,{class:"mr-2",color:"primary"},{default:s(()=>[...e[4]||(e[4]=[l("mdi-information",-1)])]),_:1}),e[5]||(e[5]=r("span",{class:"text-h6"},"什么是缓存?",-1))]),e[6]||(e[6]=r("p",null," 缓存是浏览器在本地存储的网站资源副本,如图片、脚本和样式表等。这些缓存可以加快页面加载速度,减少数据使用,并在离线时提供基本功能。",-1))]),_:1})]),_:1})]),_:1}),a(v,{cols:"12",md:"4"},{default:s(()=>[a(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[a(C,null,{default:s(()=>[r("div",Q,[a(m,{class:"mr-2",color:"warning"},{default:s(()=>[...e[7]||(e[7]=[l("mdi-lightbulb-outline",-1)])]),_:1}),e[8]||(e[8]=r("span",{class:"text-h6"},"何时清除缓存?",-1))]),e[9]||(e[9]=r("ul",{class:"pl-4"},[r("li",null,"应用显示过时的内容"),r("li",null,"界面出现异常"),r("li",null,"应用功能不正常")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),a(u)]),_:1})]),_:1})]),_:1})}const le=W(G,[["render",Y]]);export{le as default}; +import{_ as W,o,j as c,w as s,c as a,q as A,i as r,x as b,y as p,v as l,t as m,z as C,D as k,A as f,C as w,F as x,G as V,P as E,Q as N,a0 as L,a1 as P,l as y}from"./index-BUM0TY0E.js";import{V as _}from"./VAlert-DFIvt6kt.js";import{V as R,a as z,b as B,c as F}from"./VExpansionPanels-DzF6AfvT.js";import{V as H}from"./VChip-vdRDApTi.js";import{V as I}from"./VSkeletonLoader-DX2FpkIS.js";import{V as M,a as v}from"./VRow-CPw1R1BU.js";import{V as U}from"./VContainer-DakLDC1m.js";const j={name:"CacheManager",data(){return{caches:[],loading:!1,serviceWorkerActive:!1,message:"",messageType:"info"}},mounted(){this.checkServiceWorker()},methods:{checkServiceWorker(){"serviceWorker"in navigator?navigator.serviceWorker.ready.then(()=>{this.serviceWorkerActive=!0,this.refreshCaches()}).catch(()=>{this.serviceWorkerActive=!1}):this.serviceWorkerActive=!1},async refreshCaches(){if(this.serviceWorkerActive){this.loading=!0,this.message="",this.caches=[];try{const t=await this.sendMessageToSW({type:"CACHE_KEYS"});for(const e of t.cacheNames){const n=await this.sendMessageToSW({type:"CACHE_CONTENT",cacheName:e});this.caches.push({name:e,urls:n.urls||[]})}}catch(t){this.showMessage("获取缓存信息失败: "+t.message,"error")}finally{this.loading=!1}}},async clearCache(t){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_CACHE",cacheName:t})).success?(this.showMessage(`已清除缓存: ${this.formatCacheName(t)}`,"success"),await this.refreshCaches()):this.showMessage("清除缓存失败","error")}catch(e){this.showMessage("清除缓存失败: "+e.message,"error")}finally{this.loading=!1}},async clearUrl(t,e){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_URL",cacheName:t,url:e})).success?(this.showMessage(`已从缓存中删除: ${this.getFileName(e)}`,"success"),await this.refreshCaches()):this.showMessage("删除缓存项失败","error")}catch(n){this.showMessage("删除缓存项失败: "+n.message,"error")}finally{this.loading=!1}},async clearAllCaches(){if(confirm("确定要清除所有缓存吗?这可能会导致应用需要重新下载资源。")){this.loading=!0;try{(await this.sendMessageToSW({type:"CLEAR_ALL_CACHES"})).success?(this.showMessage("已清除所有缓存","success"),await this.refreshCaches()):this.showMessage("清除所有缓存失败","error")}catch(t){this.showMessage("清除所有缓存失败: "+t.message,"error")}finally{this.loading=!1}}},sendMessageToSW(t){return new Promise((e,n)=>{if(!navigator.serviceWorker.controller){n(new Error("Service Worker 未控制页面"));return}const g=new MessageChannel;g.port1.onmessage=i=>{e(i.data)},navigator.serviceWorker.controller.postMessage(t,[g.port2]),setTimeout(()=>{n(new Error("Service Worker 响应超时"))},5e3)})},formatCacheName(t){return t.replace("workbox-precache-","预缓存-").replace("-cache","").replace("js","JS").replace("css","CSS").replace("html","HTML").replace("images","图片").replace("external-resources","外部资源").replace("cdn-cgi","CDN")},getFileName(t){try{const e=new URL(t),n=e.pathname.split("/");return n[n.length-1]||e.hostname}catch(e){return console.error("获取文件名失败:",e),t}},showMessage(t,e="info"){this.message=t,this.messageType=e,setTimeout(()=>{this.message===t&&(this.message="")},5e3)}}},D={class:"d-flex align-center"},O={class:"d-flex justify-end mb-2"};function q(t,e,n,g,i,d){return o(),c(y,null,{default:s(()=>[a(A,{class:"d-flex align-center"},{default:s(()=>[e[2]||(e[2]=r("span",null,"缓存管理",-1)),a(b),a(p,{loading:i.loading,color:"error",onClick:d.clearAllCaches},{default:s(()=>[...e[0]||(e[0]=[l(" 清除所有缓存 ",-1)])]),_:1},8,["loading","onClick"]),a(p,{class:"ml-2",icon:"",onClick:d.refreshCaches},{default:s(()=>[a(m,null,{default:s(()=>[...e[1]||(e[1]=[l("mdi-refresh",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),a(C,null,{default:s(()=>[i.serviceWorkerActive?k("",!0):(o(),c(_,{key:0,class:"mb-4",type:"warning"},{default:s(()=>[...e[3]||(e[3]=[l(" Service Worker 未激活,缓存管理功能不可用。 ",-1)])]),_:1})),i.message?(o(),c(_,{key:1,type:i.messageType,class:"mb-4"},{default:s(()=>[l(f(i.message),1)]),_:1},8,["type"])):k("",!0),i.caches.length>0?(o(),c(R,{key:2},{default:s(()=>[(o(!0),w(x,null,V(i.caches,u=>(o(),c(z,{key:u.name},{default:s(()=>[a(B,null,{default:s(()=>[r("div",D,[r("span",null,f(d.formatCacheName(u.name)),1),a(H,{class:"ml-2",size:"small"},{default:s(()=>[l(f(u.urls.length)+" 个文件",1)]),_:2},1024)])]),_:2},1024),a(F,null,{default:s(()=>[r("div",O,[a(p,{loading:i.loading,color:"error",size:"small",onClick:h=>d.clearCache(u.name)},{default:s(()=>[...e[4]||(e[4]=[l(" 清除此缓存 ",-1)])]),_:1},8,["loading","onClick"])]),a(E,{lines:"two"},{default:s(()=>[(o(!0),w(x,null,V(u.urls,(h,T)=>(o(),c(N,{key:T},{append:s(()=>[a(p,{color:"error",icon:"",size:"small",onClick:$=>d.clearUrl(u.name,h)},{default:s(()=>[a(m,null,{default:s(()=>[...e[5]||(e[5]=[l("mdi-delete",-1)])]),_:1})]),_:1},8,["onClick"])]),default:s(()=>[a(L,{class:"text-truncate"},{default:s(()=>[l(f(d.getFileName(h)),1)]),_:2},1024),a(P,{class:"text-truncate"},{default:s(()=>[l(f(h),1)]),_:2},1024)]),_:2},1024))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})):i.loading?(o(),c(I,{key:3,type:"article"})):(o(),c(_,{key:4,type:"info"},{default:s(()=>[...e[6]||(e[6]=[l(" 没有找到缓存数据。 ",-1)])]),_:1}))]),_:1})]),_:1})}const S=W(j,[["render",q]]),G={name:"CacheManagementPage",components:{CacheManager:S},metaInfo:{title:"缓存管理"}},J={class:"d-flex align-center mb-6"},K={class:"d-flex align-center mb-2"},Q={class:"d-flex align-center mb-2"};function Y(t,e,n,g,i,d){const u=S;return o(),c(U,null,{default:s(()=>[a(M,null,{default:s(()=>[a(v,{cols:"12"},{default:s(()=>[r("div",J,[a(m,{class:"mr-3",color:"primary",size:"x-large"},{default:s(()=>[...e[0]||(e[0]=[l("mdi-database-cog-outline",-1)])]),_:1}),e[1]||(e[1]=r("div",null,[r("h1",{class:"text-h4"},"缓存管理"),r("div",{class:"text-subtitle-1 text-grey"},"管理应用的本地缓存资源")],-1))]),a(y,{class:"mb-6",color:"info",density:"compact",variant:"tonal"},{default:s(()=>[a(C,{class:"d-flex align-center"},{default:s(()=>[a(m,{class:"mr-2",color:"info"},{default:s(()=>[...e[2]||(e[2]=[l("mdi-information-outline",-1)])]),_:1}),e[3]||(e[3]=r("span",null,"在这里您可以查看和管理应用的缓存文件。清除缓存可能会导致应用需要重新下载资源,但有助于解决某些显示问题。",-1))]),_:1})]),_:1}),a(M,null,{default:s(()=>[a(v,{cols:"12",md:"8"},{default:s(()=>[a(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[a(C,null,{default:s(()=>[r("div",K,[a(m,{class:"mr-2",color:"primary"},{default:s(()=>[...e[4]||(e[4]=[l("mdi-information",-1)])]),_:1}),e[5]||(e[5]=r("span",{class:"text-h6"},"什么是缓存?",-1))]),e[6]||(e[6]=r("p",null," 缓存是浏览器在本地存储的网站资源副本,如图片、脚本和样式表等。这些缓存可以加快页面加载速度,减少数据使用,并在离线时提供基本功能。",-1))]),_:1})]),_:1})]),_:1}),a(v,{cols:"12",md:"4"},{default:s(()=>[a(y,{class:"mb-4",variant:"tonal"},{default:s(()=>[a(C,null,{default:s(()=>[r("div",Q,[a(m,{class:"mr-2",color:"warning"},{default:s(()=>[...e[7]||(e[7]=[l("mdi-lightbulb-outline",-1)])]),_:1}),e[8]||(e[8]=r("span",{class:"text-h6"},"何时清除缓存?",-1))]),e[9]||(e[9]=r("ul",{class:"pl-4"},[r("li",null,"应用显示过时的内容"),r("li",null,"界面出现异常"),r("li",null,"应用功能不正常")],-1))]),_:1})]),_:1})]),_:1})]),_:1}),a(u)]),_:1})]),_:1})]),_:1})}const le=W(G,[["render",Y]]);export{le as default}; diff --git a/assets/ExamConfigEditor-DSJ1EgID.js b/assets/ExamConfigEditor-BzFaHh6i.js similarity index 66% rename from assets/ExamConfigEditor-DSJ1EgID.js rename to assets/ExamConfigEditor-BzFaHh6i.js index c7ea72a..a80ac56 100644 --- a/assets/ExamConfigEditor-DSJ1EgID.js +++ b/assets/ExamConfigEditor-BzFaHh6i.js @@ -1,3 +1,3 @@ -import{d as Be}from"./dataProvider-BZ0EQWiW.js";import{g as Ce,p as ye,aq as je,aR as Jt,aA as dt,ar as le,as as Ue,ae as ce,av as we,a1 as N,ax as yt,aS as Kt,a0 as Z,b as Ve,c as r,i as c,v as K,aT as qt,F as De,E as q,P as ot,Q as We,K as At,aU as Gt,L as Xt,aV as Zt,n as Ke,d as ge,au as Ne,aW as qe,t as D,aw as Ft,aC as Me,aX as kt,aY as Qt,aZ as bt,y as Y,x as Ye,aJ as lt,a_ as tt,aB as ct,a$ as Et,b0 as ea,b1 as $e,b2 as ta,b3 as Ot,b4 as Ge,b5 as pt,b6 as aa,I as Yt,aO as la,b7 as na,b8 as ia,b9 as ra,ba as oa,bb as sa,bc as wt,aG as ua,Z as da,aK as ca,_ as ma,A as pe,o as j,j as re,B as se,w as d,C as ue,G as Qe,a2 as fa,z as Oe,l as Pe,D as va,q as Le,O as ha,bd as ga,J as ya,M as nt,H as ka}from"./index-Ck0Pnd4f.js";import{V as it}from"./VAlert-WqxdeiRc.js";import{V as ba}from"./VSkeletonLoader-LZ55LBTh.js";import{a as pa,V as et}from"./VTooltip-BqVq3svk.js";import{V as Je,b as wa}from"./VChip-C4TXrZae.js";import{a as he,V as He}from"./VRow-D_zZfsym.js";import{e as Da,f as Ca,V as Ae,g as Va}from"./VTextField-C6VOv1Py.js";import{V as xa}from"./VTextarea-Akjtg06o.js";import{V as Ta}from"./VSwitch-B-2xPqHI.js";import{u as Sa,a as Ma,V as st,b as _a,c as Ia,h as Pa,m as Na,d as Aa}from"./filter-BOxM3LRL.js";import{V as Fa}from"./VCheckboxBtn-DWqkYNT7.js";import{V as Dt,m as Ea}from"./VSheet-DJg5eIit.js";const Oa=ye({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:Boolean,search:String,...Aa({filterKeys:["title"]}),...Na(),...Me(Va({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VAutocomplete"),Ya=Ce()({name:"VAutocomplete",props:Oa(),emits:{"update:focused":e=>!0,"update:search":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,t){let{slots:n}=t;const{t:i}=je(),a=Z(),s=we(!1),l=we(!0),u=we(!1),o=Z(),m=Z(),g=we(-1),p=we(null),{items:_,transformIn:T,transformOut:B}=Jt(e),{textColorClasses:y,textColorStyles:V}=dt(()=>{var h;return(h=a.value)==null?void 0:h.color}),{InputIcon:w}=Da(e),I=le(e,"search",""),S=le(e,"modelValue",[],h=>T(h===null?[null]:Ue(h)),h=>{const U=B(h);return e.multiple?U:U[0]??null}),f=N(()=>typeof e.counterValue=="function"?e.counterValue(S.value):typeof e.counterValue=="number"?e.counterValue:S.value.length),E=Ca(e),{filteredItems:x,getMatches:v}=Sa(e,_,()=>p.value??(l.value?"":I.value)),M=N(()=>e.hideSelected&&p.value===null?x.value.filter(h=>!S.value.some(U=>U.value===h.value)):x.value),L=Ne(()=>e.closableChips&&!E.isReadonly.value&&!E.isDisabled.value),$=N(()=>!!(e.chips||n.chip)),G=N(()=>$.value||!!n.selection),b=N(()=>S.value.map(h=>h.props.value)),O=N(()=>M.value.find(h=>h.type==="item"&&!h.props.disabled)),W=N(()=>{var U;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&I.value===((U=O.value)==null?void 0:U.title))&&M.value.length>0&&!l.value&&!u.value}),P=N(()=>e.hideNoData&&!M.value.length||E.isReadonly.value||E.isDisabled.value),te=le(e,"menu"),H=N({get:()=>te.value,set:h=>{var U;te.value&&!h&&((U=o.value)!=null&&U.ΨopenChildren.size)||h&&P.value||(te.value=h)}}),{menuId:ke,ariaExpanded:_e,ariaControls:k}=Ma(e,H),A=Z(),R=_a(A,a);function ae(h){e.openOnClear&&(H.value=!0),I.value=""}function C(){P.value||(H.value=!0)}function F(h){P.value||(s.value&&(h.preventDefault(),h.stopPropagation()),H.value=!H.value)}function ee(h){var U;(kt(h)||h.key==="Backspace")&&((U=a.value)==null||U.focus())}function ne(h){var ie,fe,J,de,Se;if(E.isReadonly.value)return;const U=(ie=a.value)==null?void 0:ie.selectionStart,X=S.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(h.key)&&h.preventDefault(),["Enter","ArrowDown"].includes(h.key)&&(H.value=!0),["Escape"].includes(h.key)&&(H.value=!1),W.value&&["Enter","Tab"].includes(h.key)&&O.value&&!S.value.some(oe=>{let{value:z}=oe;return z===O.value.value})&&be(O.value),h.key==="ArrowDown"&&W.value&&((fe=A.value)==null||fe.focus("next")),["Backspace","Delete"].includes(h.key)){if(!e.multiple&&G.value&&S.value.length>0&&!I.value)return be(S.value[0],!1);if(~g.value){h.preventDefault();const oe=g.value;be(S.value[g.value],!1),g.value=oe>=X-1?X-2:oe}else h.key==="Backspace"&&!I.value&&(g.value=X-1);return}if(e.multiple)if(h.key==="ArrowLeft"){if(g.value<0&&U&&U>0)return;const oe=g.value>-1?g.value-1:X-1;if(S.value[oe])g.value=oe;else{const z=((J=I.value)==null?void 0:J.length)??null;g.value=-1,(de=a.value)==null||de.setSelectionRange(z,z)}}else if(h.key==="ArrowRight"){if(g.value<0)return;const oe=g.value+1;S.value[oe]?g.value=oe:(g.value=-1,(Se=a.value)==null||Se.setSelectionRange(0,0))}else~g.value&&kt(h)&&(g.value=-1)}function me(h){if(bt(a.value,":autofill")||bt(a.value,":-webkit-autofill")){const U=_.value.find(X=>X.title===h.target.value);U&&be(U)}}function xe(){var h;e.eager&&((h=m.value)==null||h.calculateVisibleItems())}function Te(){var h;s.value&&(l.value=!0,(h=a.value)==null||h.focus()),p.value=null}function Q(h){s.value=!0,setTimeout(()=>{u.value=!0})}function Ee(h){u.value=!1}function Xe(h){(h==null||h===""&&!e.multiple&&!G.value)&&(S.value=[])}const Re=we(!1);function be(h){let U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!h||h.props.disabled))if(e.multiple){const X=S.value.findIndex(fe=>(e.valueComparator||Qt)(fe.value,h.value)),ie=U??!~X;if(~X){const fe=ie?[...S.value,h]:[...S.value];fe.splice(X,1),S.value=fe}else ie&&(S.value=[...S.value,h]);e.clearOnSelect&&(I.value="")}else{const X=U!==!1;S.value=X?[h]:[],p.value=l.value?"":I.value??"",I.value=X&&!G.value?h.title:"",yt(()=>{H.value=!1,l.value=!0})}}return ce(s,(h,U)=>{var X;h!==U&&(h?(Re.value=!0,I.value=e.multiple||G.value?"":String(((X=S.value.at(-1))==null?void 0:X.props.title)??""),l.value=!0,yt(()=>Re.value=!1)):(!e.multiple&&I.value==null&&(S.value=[]),H.value=!1,!l.value&&I.value&&(p.value=I.value),I.value="",g.value=-1))}),ce(I,h=>{!s.value||Re.value||(h&&(H.value=!0),l.value=!h)}),ce(H,h=>{if(!e.hideSelected&&h&&S.value.length&&l.value){const U=M.value.findIndex(X=>S.value.some(ie=>X.value===ie.value));Kt&&window.requestAnimationFrame(()=>{var X;U>=0&&((X=m.value)==null||X.scrollToIndex(U))})}h&&(p.value=null)}),ce(_,(h,U)=>{H.value||s.value&&!U.length&&h.length&&(H.value=!0)}),Ve(()=>{const h=!!(!e.hideNoData||M.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),U=S.value.length>0,X=Ae.filterProps(e);return r(Ae,q({ref:a},X,{modelValue:I.value,"onUpdate:modelValue":[ie=>I.value=ie,Xe],focused:s.value,"onUpdate:focused":ie=>s.value=ie,validationValue:S.externalValue,counterValue:f.value,dirty:U,onChange:me,class:["v-autocomplete",`v-autocomplete--${e.multiple?"multiple":"single"}`,{"v-autocomplete--active-menu":H.value,"v-autocomplete--chips":!!e.chips,"v-autocomplete--selection-slot":!!G.value,"v-autocomplete--selecting-index":g.value>-1},e.class],style:e.style,readonly:E.isReadonly.value,placeholder:U?void 0:e.placeholder,"onClick:clear":ae,"onMousedown:control":C,onKeydown:ne,"aria-expanded":_e.value,"aria-controls":k.value}),{...n,default:ie=>{let{id:fe}=ie;return c(De,null,[r(st,q({id:ke.value,ref:o,modelValue:H.value,"onUpdate:modelValue":J=>H.value=J,activator:"parent",contentClass:"v-autocomplete__content",disabled:P.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:xe,onAfterLeave:Te},e.menuProps),{default:()=>[h&&r(ot,q({ref:A,filterable:!0,selected:b.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:J=>J.preventDefault(),onKeydown:ee,onFocusin:Q,onFocusout:Ee,tabindex:"-1",selectable:!0,"aria-live":"polite","aria-labelledby":`${fe.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},R,e.listProps),{default:()=>{var J,de,Se;return[(J=n["prepend-item"])==null?void 0:J.call(n),!M.value.length&&!e.hideNoData&&(((de=n["no-data"])==null?void 0:de.call(n))??r(We,{key:"no-data",title:i(e.noDataText)},null)),r(Ia,{ref:m,renderless:!0,items:M.value,itemKey:"value"},{default:oe=>{var vt,ht,gt;let{item:z,index:Ie,itemRef:ve}=oe;const ft=q(z.props,{ref:ve,key:z.value,active:W.value&&z===O.value?!0:void 0,onClick:()=>be(z,null),"aria-posinset":Ie+1,"aria-setsize":M.value.length});return z.type==="divider"?((vt=n.divider)==null?void 0:vt.call(n,{props:z.raw,index:Ie}))??r(At,q(z.props,{key:`divider-${Ie}`}),null):z.type==="subheader"?((ht=n.subheader)==null?void 0:ht.call(n,{props:z.raw,index:Ie}))??r(Gt,q(z.props,{key:`subheader-${Ie}`}),null):((gt=n.item)==null?void 0:gt.call(n,{item:z,index:Ie,props:ft}))??r(We,q(ft,{role:"option"}),{prepend:Ze=>{let{isSelected:zt}=Ze;return c(De,null,[e.multiple&&!e.hideSelected?r(Fa,{key:z.value,modelValue:zt,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Wt=>Wt.preventDefault()},null):void 0,z.props.prependAvatar&&r(Xt,{image:z.props.prependAvatar},null),z.props.prependIcon&&r(K,{icon:z.props.prependIcon},null)])},title:()=>{var Ze;return l.value?z.title:Pa("v-autocomplete",z.title,(Ze=v(z))==null?void 0:Ze.title)}})}}),(Se=n["append-item"])==null?void 0:Se.call(n)]}})]}),S.value.map((J,de)=>{function Se(ve){ve.stopPropagation(),ve.preventDefault(),be(J,!1)}const oe=q(Je.filterProps(J.props),{"onClick:close":Se,onKeydown(ve){ve.key!=="Enter"&&ve.key!==" "||(ve.preventDefault(),ve.stopPropagation(),Se(ve))},onMousedown(ve){ve.preventDefault(),ve.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),z=$.value?!!n.chip:!!n.selection,Ie=z?Zt($.value?n.chip({item:J,index:de,props:oe}):n.selection({item:J,index:de})):void 0;if(!(z&&!Ie))return c("div",{key:J.value,class:ge(["v-autocomplete__selection",de===g.value&&["v-autocomplete__selection--selected",y.value]]),style:Ke(de===g.value?V.value:{})},[$.value?n.chip?r(qe,{key:"chip-defaults",defaults:{VChip:{closable:L.value,size:"small",text:J.title}}},{default:()=>[Ie]}):r(Je,q({key:"chip",closable:L.value,size:"small",text:J.title,disabled:J.props.disabled},oe),null):Ie??c("span",{class:"v-autocomplete__selection-text"},[J.title,e.multiple&&de!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:prev-year":()=>!0,"click:next-year":()=>!0},setup(e,t){let{emit:n,slots:i}=t;const{t:a}=je(),s=N(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),l=N(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),u=N(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-month"):!!e.disabled),o=N(()=>Array.isArray(e.disabled)?e.disabled.includes("next-month"):!!e.disabled),m=N(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-year"):!!e.disabled),g=N(()=>Array.isArray(e.disabled)?e.disabled.includes("next-year"):!!e.disabled);function p(){n("click:prev")}function _(){n("click:next")}function T(){n("click:prev-year")}function B(){n("click:next-year")}function y(){n("click:year")}function V(){n("click:month")}return Ve(()=>{const w={VBtn:{density:"comfortable",variant:"text"}},I=r(Y,{"data-testid":"prev-month",disabled:u.value,icon:e.prevIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:p},null),S=r(Y,{"data-testid":"next-month",disabled:o.value,icon:e.nextIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:_},null),f=r(Y,{"data-testid":"prev-year",disabled:m.value,icon:e.prevIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.previousYear"),onClick:T},null),E=r(Y,{"data-testid":"next-year",disabled:g.value,icon:e.nextIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.nextYear"),onClick:B},null),x=r(Y,{class:"v-date-picker-controls__only-month-btn","data-testid":"month-btn",density:"default",disabled:s.value,text:e.monthText,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:V},null),v=r(Y,{class:"v-date-picker-controls__only-year-btn","data-testid":"year-btn",density:"default",disabled:l.value,text:e.yearText,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:y},null),M=r(Y,{class:"v-date-picker-controls__year-btn","data-testid":"year-btn",density:"default",disabled:l.value,text:e.text,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:y},null),L=c(De,null,[r(Y,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",height:"36",disabled:s.value,text:e.text,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:V},null),r(Y,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:l.value,icon:e.modeIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:y},null)]),$={viewMode:e.viewMode,disabled:Array.isArray(e.disabled)?e.disabled:[],monthYearText:e.text??"",monthText:e.monthText??"",yearText:e.yearText??"",openMonths:V,openYears:y,prevMonth:p,nextMonth:_,prevYear:T,nextYear:B},G=c(De,null,[e.noMonthPicker?M:L,r(Ye,null,null),c("div",{class:"v-date-picker-controls__month"},[I,S])]),b=c(De,null,[c("div",{class:"v-date-picker-controls__month"},[I,x,S]),r(Ye,null,null),c("div",{class:"v-date-picker-controls__year"},[f,v,E])]);return r(qe,{defaults:w},{default:()=>{var O;return[c("div",{class:ge(["v-date-picker-controls",`v-date-picker-controls--variant-${e.controlVariant}`]),style:{"--v-date-picker-controls-height":lt(e.controlHeight)}},[((O=i.default)==null?void 0:O.call(i,$))??c(De,null,[e.controlVariant==="modal"&&G,e.controlVariant==="docked"&&b])])]}})}),{}}}),Ua=ye({appendIcon:tt,color:String,header:String,transition:String,onClick:ea()},"VDatePickerHeader"),Vt=Ce()({name:"VDatePickerHeader",props:Ua(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,t){let{emit:n,slots:i}=t;const{backgroundColorClasses:a,backgroundColorStyles:s}=ct(()=>e.color);function l(){n("click")}function u(){n("click:append")}return Ve(()=>{const o=!!(i.default||e.header),m=!!(i.append||e.appendIcon);return c("div",{class:ge(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},a.value]),style:Ke(s.value),onClick:l},[i.prepend&&c("div",{key:"prepend",class:"v-date-picker-header__prepend"},[i.prepend()]),o&&r(Et,{key:"content",name:e.transition},{default:()=>{var g;return[c("div",{key:e.header,class:"v-date-picker-header__content"},[((g=i.default)==null?void 0:g.call(i))??e.header])]}}),m&&c("div",{class:"v-date-picker-header__append"},[i.append?r(qe,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var g;return[(g=i.append)==null?void 0:g.call(i)]}}):r(Y,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:u},null)])])}),{}}}),Ba=ye({allowedDates:[Array,Function],disabled:{type:Boolean,default:null},displayValue:null,modelValue:Array,month:[Number,String],max:null,min:null,showAdjacentMonths:Boolean,year:[Number,String],weekdays:{type:Array,default:()=>[0,1,2,3,4,5,6]},weeksInMonth:{type:String,default:"dynamic"},firstDayOfWeek:{type:[Number,String],default:void 0},firstDayOfYear:{type:[Number,String],default:void 0},weekdayFormat:String},"calendar");function La(e){const t=$e(),n=le(e,"modelValue",[],y=>Ue(y).map(V=>t.date(V))),i=N(()=>e.displayValue?t.date(e.displayValue):n.value.length>0?t.date(n.value[0]):e.min?t.date(e.min):Array.isArray(e.allowedDates)?t.date(e.allowedDates[0]):t.date()),a=le(e,"year",void 0,y=>{const V=y!=null?Number(y):t.getYear(i.value);return t.startOfYear(t.setYear(t.date(),V))},y=>t.getYear(y)),s=le(e,"month",void 0,y=>{const V=y!=null?Number(y):t.getMonth(i.value),w=t.setYear(t.startOfMonth(t.date()),t.getYear(a.value));return t.setMonth(w,V)},y=>t.getMonth(y)),l=N(()=>{const y=t.toJsDate(t.startOfWeek(t.date(),e.firstDayOfWeek)).getDay();return t.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((V,w)=>e.weekdays.includes((w+y)%7))}),u=N(()=>{const y=t.getWeekArray(s.value,e.firstDayOfWeek),V=y.flat(),w=6*7;if(e.weeksInMonth==="static"&&V.lengthe.weekdays.includes(t.toJsDate(w).getDay())).map((w,I)=>{const S=t.toISO(w),f=!t.isSameMonth(w,s.value),E=t.isSameDay(w,t.startOfMonth(s.value)),x=t.isSameDay(w,t.endOfMonth(s.value)),v=t.isSameDay(w,s.value),M=e.weekdays.length;return{date:w,formatted:t.format(w,"keyboardDate"),isAdjacent:f,isDisabled:B(w),isEnd:x,isHidden:f&&!e.showAdjacentMonths,isSame:v,isSelected:n.value.some(L=>t.isSameDay(w,L)),isStart:E,isToday:t.isSameDay(w,V),isWeekEnd:I%M===M-1,isWeekStart:I%M===0,isoDate:S,localized:t.format(w,"dayOfMonth"),month:t.getMonth(w),year:t.getYear(w)}})}const m=N(()=>{const y=t.startOfWeek(i.value,e.firstDayOfWeek),V=[];for(let I=0;I<=6;I++)V.push(t.addDays(y,I));const w=t.date();return o(V,w)}),g=N(()=>{const y=u.value.flat(),V=t.date();return o(y,V)}),p=N(()=>u.value.map(y=>y.length?t.getWeek(y[0],e.firstDayOfWeek,e.firstDayOfYear):null)),{minDate:_,maxDate:T}=Bt(e);function B(y){if(e.disabled)return!0;const V=t.date(y);return _.value&&t.isBefore(t.endOfDay(V),_.value)||T.value&&t.isAfter(V,T.value)?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(w=>t.isSameDay(t.date(w),V)):typeof e.allowedDates=="function"?!e.allowedDates(V):!1}return{displayValue:i,daysInMonth:g,daysInWeek:m,genDays:o,model:n,weeksInMonth:u,weekdayLabels:l,weekNumbers:p}}function Bt(e){const t=$e(),n=N(()=>{if(!e.min)return null;const l=t.date(e.min);return t.isValid(l)?l:null}),i=N(()=>{if(!e.max)return null;const l=t.date(e.max);return t.isValid(l)?l:null});function a(l){return n.value&&t.isBefore(l,n.value)?n.value:i.value&&t.isAfter(l,i.value)?i.value:l}function s(l){return(!n.value||t.isAfter(l,n.value))&&(!i.value||t.isBefore(l,i.value))}return{minDate:n,maxDate:i,clampDate:a,isInAllowedRange:s}}const Lt=ye({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},events:{type:[Array,Function,Object],default:()=>null},eventColor:{type:[Array,Function,Object,String],default:()=>null},...Me(Ba(),["displayValue"])},"VDatePickerMonth"),xt=Ce()({name:"VDatePickerMonth",props:Lt(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=Z(),{t:s}=je(),{daysInMonth:l,model:u,weekNumbers:o,weekdayLabels:m}=La(e),g=$e(),p=we(),_=we(),T=we(!1),B=Ne(()=>T.value?e.reverseTransition:e.transition);e.multiple==="range"&&u.value.length>0&&(p.value=u.value[0],u.value.length>1&&(_.value=u.value[u.value.length-1]));const y=N(()=>{const x=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return u.value.length>=x});ce(l,(x,v)=>{v&&(T.value=g.isBefore(x[0].date,v[0].date))});function V(x){const v=g.startOfDay(x);if(u.value.length===0?p.value=void 0:u.value.length===1&&(p.value=u.value[0],_.value=void 0),!p.value)p.value=v,u.value=[p.value];else if(_.value)p.value=x,_.value=void 0,u.value=[p.value];else{if(g.isSameDay(v,p.value)){p.value=void 0,u.value=[];return}else g.isBefore(v,p.value)?(_.value=g.endOfDay(p.value),p.value=v):_.value=g.endOfDay(v);u.value=ta(g,p.value,_.value)}}function w(x){const v=g.format(x.date,"fullDateWithWeekday"),M=x.isToday?"currentDate":"selectDate";return s(`$vuetify.datePicker.ariaLabel.${M}`,v)}function I(x){const v=u.value.findIndex(M=>g.isSameDay(M,x));if(v===-1)u.value=[...u.value,x];else{const M=[...u.value];M.splice(v,1),u.value=M}}function S(x){e.multiple==="range"?V(x):e.multiple?I(x):u.value=[x]}function f(x){const{events:v,eventColor:M}=e;let L,$=[];if(Array.isArray(v)?L=v.includes(x):v instanceof Function?L=v(x)||!1:v?L=v[x]||!1:L=!1,L)L!==!0?$=Ue(L):typeof M=="string"?$=[M]:typeof M=="function"?$=Ue(M(x)):Array.isArray(M)?$=M:typeof M=="object"&&M!==null&&($=Ue(M[x]));else return[];return $.length?$.filter(Boolean).map(G=>typeof G=="string"?G:"surface-variant"):["surface-variant"]}function E(x){const v=f(x);return v.length?c("div",{class:"v-date-picker-month__events"},[v.map(M=>r(pa,{dot:!0,color:M},null))]):null}Ve(()=>c("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&c("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&c("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[D(" ")]),o.value.map(x=>c("div",{class:ge(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[x]))]),r(Et,{name:B.value},{default:()=>{var x;return[c("div",{ref:a,key:(x=l.value[0].date)==null?void 0:x.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&m.value.map(v=>c("div",{class:ge(["v-date-picker-month__day","v-date-picker-month__weekday"])},[v])),l.value.map((v,M)=>{var $;const L={props:{class:"v-date-picker-month__day-btn",color:v.isSelected||v.isToday?e.color:void 0,disabled:v.isDisabled,icon:!0,ripple:!1,variant:v.isSelected?"flat":v.isToday?"outlined":"text","aria-label":w(v),"aria-current":v.isToday?"date":void 0,onClick:()=>S(v.date)},item:v,i:M};return y.value&&!v.isSelected&&(v.isDisabled=!0),c("div",{class:ge(["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":v.isAdjacent,"v-date-picker-month__day--hide-adjacent":v.isHidden,"v-date-picker-month__day--selected":v.isSelected,"v-date-picker-month__day--week-end":v.isWeekEnd,"v-date-picker-month__day--week-start":v.isWeekStart}]),"data-v-date":v.isDisabled?void 0:v.isoDate},[(e.showAdjacentMonths||!v.isAdjacent)&&((($=i.day)==null?void 0:$.call(i,L))??r(Y,L.props,{default:()=>[v.localized,E(v.isoDate)]}))])})])]}})]))}}),Rt=ye({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),Tt=Ce()({name:"VDatePickerMonths",props:Rt(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=$e(),s=le(e,"modelValue"),l=N(()=>{let o=a.startOfYear(a.date());return e.year&&(o=a.setYear(o,e.year)),Ge(12).map(m=>{const g=a.format(o,"monthShort"),p=a.format(o,"month"),_=!!(!u(m)||e.min&&a.isAfter(a.startOfMonth(a.date(e.min)),o)||e.max&&a.isAfter(o,a.startOfMonth(a.date(e.max))));return o=a.getNextMonth(o),{isDisabled:_,text:g,label:p,value:m}})});Ot(()=>{s.value=s.value??a.getMonth(a.date())});function u(o){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(o):typeof e.allowedMonths=="function"?e.allowedMonths(o):!0}return Ve(()=>c("div",{class:"v-date-picker-months",style:{height:lt(e.height)}},[c("div",{class:"v-date-picker-months__content"},[l.value.map((o,m)=>{var _;const g={active:s.value===m,ariaLabel:o.label,color:s.value===m?e.color:void 0,disabled:o.isDisabled,rounded:!0,text:o.text,variant:s.value===o.value?"flat":"text",onClick:()=>p(m)};function p(T){if(s.value===T){n("update:modelValue",s.value);return}s.value=T}return((_=i.month)==null?void 0:_.call(i,{month:o,i:m,props:g}))??r(Y,q({key:"month"},g),null)})])])),{}}}),Ht=ye({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),St=Ce()({name:"VDatePickerYears",props:Ht(),directives:{vIntersect:pt},emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=$e(),s=le(e,"modelValue"),l=we(!1),u=N(()=>{const p=a.getYear(a.date());let _=p-100,T=p+52;e.min&&(_=a.getYear(a.date(e.min))),e.max&&(T=a.getYear(a.date(e.max)));let B=a.startOfYear(a.date());return B=a.setYear(B,_),Ge(T-_+1,_).map(y=>{const V=a.format(B,"year");return B=a.setYear(B,a.getYear(B)+1),{text:V,value:y,isDisabled:!g(y)}})});Ot(()=>{s.value=s.value??a.getYear(a.date())});const o=aa();function m(){var p;(p=o.el)==null||p.scrollIntoView({block:"center"})}function g(p){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(p):typeof e.allowedYears=="function"?e.allowedYears(p):!0}return Ve(()=>Yt(c("div",{class:"v-date-picker-years",style:{height:lt(e.height)}},[c("div",{class:"v-date-picker-years__content",onFocus:()=>{var p;return(p=o.el)==null?void 0:p.focus()},onFocusin:()=>l.value=!0,onFocusout:()=>l.value=!1,tabindex:l.value?-1:0},[u.value.map((p,_)=>{var B;const T={ref:s.value===p.value?o:void 0,active:s.value===p.value,color:s.value===p.value?e.color:void 0,rounded:!0,text:p.text,disabled:p.isDisabled,variant:s.value===p.value?"flat":"text",onClick:()=>{if(s.value===p.value){n("update:modelValue",s.value);return}s.value=p.value}};return((B=i.year)==null?void 0:B.call(i,{year:p,i:_,props:T}))??r(Y,q({key:"month"},T),null)})])]),[[pt,{handler:m},null,{once:!0}]])),{}}}),Ra=la("v-picker-title"),mt=ye({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,hideTitle:Boolean,...Ea()},"VPicker"),at=Ce()({name:"VPicker",props:mt(),setup(e,t){let{slots:n}=t;const{backgroundColorClasses:i,backgroundColorStyles:a}=ct(()=>e.color);return Ve(()=>{const s=Dt.filterProps(e),l=!e.hideTitle&&!!(e.title||n.title);return r(Dt,q(s,{color:e.bgColor,class:["v-picker",{"v-picker--divided":e.divided,"v-picker--landscape":e.landscape,"v-picker--with-actions":!!n.actions},e.class],style:e.style}),{default:()=>{var u;return[!e.hideHeader&&c("div",{key:"header",class:ge(["v-picker__header-wrapper",i.value]),style:Ke([a.value])},[l&&r(Ra,{key:"picker-title"},{default:()=>{var o;return[((o=n.title)==null?void 0:o.call(n))??e.title]}}),n.header&&c("div",{class:"v-picker__header"},[n.header()])]),c("div",{class:"v-picker__body"},[(u=n.default)==null?void 0:u.call(n)]),n.actions&&r(qe,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[c("div",{class:"v-picker__actions"},[n.actions()])]})]}})}),{}}}),Ha=ye({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,headerDateFormat:{type:String,default:"normalDateWithWeekday"},landscapeHeaderWidth:[Number,String],...Me(Ut(),["active","monthText","yearText"]),...Lt({weeksInMonth:"static"}),...Me(Rt(),["modelValue"]),...Me(Ht(),["modelValue"]),...mt({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),Mt=Ce()({name:"VDatePicker",props:Ha(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=$e(),{t:s}=je(),{rtlClasses:l}=na(),u=le(e,"modelValue",void 0,C=>Ue(C).map(F=>a.date(F)),C=>e.multiple?C:C[0]),o=le(e,"viewMode"),{minDate:m,maxDate:g,clampDate:p}=Bt(e),_=N(()=>{var ee;const C=a.date(),F=(ee=u.value)!=null&&ee[0]?a.date(u.value[0]):p(C);return F&&a.isValid(F)?F:C}),T=Ne(()=>e.headerColor??e.color),B=le(e,"month"),y=N({get:()=>Number(B.value??a.getMonth(a.startOfMonth(_.value))),set:C=>B.value=C}),V=le(e,"year"),w=N({get:()=>Number(V.value??a.getYear(a.startOfYear(a.setMonth(_.value,y.value)))),set:C=>V.value=C}),I=we(!1),S=N(()=>{if(e.multiple&&u.value.length>1)return s("$vuetify.datePicker.itemsSelected",u.value.length);const C=u.value[0]&&a.isValid(u.value[0])?a.format(a.date(u.value[0]),e.headerDateFormat):s(e.header);return e.landscape&&C.split(" ").length===3?C.replace(" ",` -`):C}),f=Ne(()=>{let C=a.date();return C=a.setDate(C,1),C=a.setMonth(C,y.value),C=a.setYear(C,w.value),C}),E=Ne(()=>a.format(f.value,"monthAndYear")),x=Ne(()=>a.format(f.value,"monthShort")),v=Ne(()=>a.format(f.value,"year")),M=Ne(()=>`date-picker-header${I.value?"-reverse":""}-transition`),L=N(()=>{if(e.disabled)return!0;const C=[];if(o.value!=="month")C.push("prev-month","next-month","prev-year","next-year");else{let F=a.date();if(F=a.startOfMonth(F),F=a.setMonth(F,y.value),F=a.setYear(F,w.value),m.value){const ee=a.addDays(a.startOfMonth(F),-1),ne=a.addDays(a.startOfYear(F),-1);a.isAfter(m.value,ee)&&C.push("prev-month"),a.isAfter(m.value,ne)&&C.push("prev-year")}if(g.value){const ee=a.addDays(a.endOfMonth(F),1),ne=a.addDays(a.endOfYear(F),1);a.isAfter(ee,g.value)&&C.push("next-month"),a.isAfter(ne,g.value)&&C.push("next-year")}}return C}),$=N(()=>e.allowedYears||O),G=N(()=>e.allowedMonths||W);function b(C,F){const ee=e.allowedDates;if(typeof ee!="function")return!0;const ne=1+ra(a,C,F);for(let me=0;me0?y.value--:(w.value--,y.value=11,ae()),R()}function H(){if(w.value++,g.value){const C=String(y.value+1).padStart(2,"0"),F=a.parseISO(`${w.value}-${C}-01`);a.isAfter(F,g.value)&&(y.value=a.getMonth(g.value))}ae()}function ke(){if(w.value--,m.value){const C=String(y.value+1).padStart(2,"0"),F=a.endOfMonth(a.parseISO(`${w.value}-${C}-01`));a.isAfter(m.value,F)&&(y.value=a.getMonth(m.value))}ae()}function _e(){o.value="month"}function k(){o.value=o.value==="months"?"month":"months"}function A(){o.value=o.value==="year"?"month":"year"}function R(){o.value==="months"&&k()}function ae(){o.value==="year"&&A()}return ce(u,(C,F)=>{const ee=Ue(F),ne=Ue(C);if(!ne.length)return;const me=a.date(ee[ee.length-1]),xe=a.date(ne[ne.length-1]);if(a.isSameDay(me,xe))return;const Te=a.getMonth(xe),Q=a.getYear(xe);Te!==y.value&&(y.value=Te,R()),Q!==w.value&&(w.value=Q,ae()),I.value=a.isBefore(me,xe)}),Ve(()=>{const C=at.filterProps(e),F=Me(Ct.filterProps(e),["viewMode"]),ee=Vt.filterProps(e),ne=xt.filterProps(e),me=Me(Tt.filterProps(e),["modelValue"]),xe=Me(St.filterProps(e),["modelValue"]),Te={color:T.value,header:S.value,transition:M.value};return r(at,q(C,{color:T.value,class:["v-date-picker",`v-date-picker--${o.value}`,{"v-date-picker--show-week":e.showWeek},l.value,e.class],style:[{"--v-date-picker-landscape-header-width":lt(e.landscapeHeaderWidth)},e.style]}),{title:()=>{var Q;return((Q=i.title)==null?void 0:Q.call(i))??c("div",{class:"v-date-picker__title"},[s(e.title)])},header:()=>i.header?r(qe,{defaults:{VDatePickerHeader:{...Te}}},{default:()=>{var Q;return[(Q=i.header)==null?void 0:Q.call(i,Te)]}}):r(Vt,q({key:"header"},ee,Te,{onClick:o.value!=="month"?_e:void 0}),{prepend:i.prepend,append:i.append}),default:()=>c(De,null,[r(Ct,q(F,{disabled:L.value,viewMode:o.value,text:E.value,monthText:x.value,yearText:v.value,"onClick:next":P,"onClick:prev":te,"onClick:nextYear":H,"onClick:prevYear":ke,"onClick:month":k,"onClick:year":A}),{default:i.controls}),r(ia,{hideOnLeave:!0},{default:()=>[o.value==="months"?r(Tt,q({key:"date-picker-months"},me,{modelValue:y.value,"onUpdate:modelValue":[Q=>y.value=Q,R],min:m.value,max:g.value,year:w.value,allowedMonths:G.value}),{month:i.month}):o.value==="year"?r(St,q({key:"date-picker-years"},xe,{modelValue:w.value,"onUpdate:modelValue":[Q=>w.value=Q,ae],min:m.value,max:g.value,allowedYears:$.value}),{year:i.year}):r(xt,q({key:"date-picker-month"},ne,{modelValue:u.value,"onUpdate:modelValue":Q=>u.value=Q,month:y.value,"onUpdate:month":[Q=>y.value=Q,R],year:w.value,"onUpdate:year":[Q=>w.value=Q,ae],min:m.value,max:g.value}),{day:i.day})]})]),actions:i.actions})}),{}}}),ja=ye({allowedValues:Function,ampm:Boolean,color:String,disabled:Boolean,displayedValue:null,double:Boolean,format:{type:Function,default:e=>e},max:{type:Number,required:!0},min:{type:Number,required:!0},scrollable:Boolean,readonly:Boolean,rotate:{type:Number,default:0},step:{type:Number,default:1},modelValue:{type:Number}},"VTimePickerClock"),_t=Ce()({name:"VTimePickerClock",props:ja(),emits:{change:e=>!0,input:e=>!0},setup(e,t){let{emit:n}=t;const i=Z(null),a=Z(null),s=Z(void 0),l=Z(!1),u=Z(null),o=Z(null),m=sa(k=>n("change",k),750),{textColorClasses:g,textColorStyles:p}=dt(()=>e.color),{backgroundColorClasses:_,backgroundColorStyles:T}=ct(()=>e.color),B=N(()=>e.max-e.min+1),y=N(()=>e.double?B.value/2:B.value),V=N(()=>360/y.value),w=N(()=>V.value*Math.PI/180),I=N(()=>e.modelValue==null?e.min:e.modelValue),S=N(()=>.62),f=N(()=>{const k=[];for(let A=e.min;A<=e.max;A=A+e.step)k.push(A);return k});ce(()=>e.modelValue,k=>{s.value=k});function E(k){s.value!==k&&(s.value=k),n("input",k)}function x(k){return!e.allowedValues||e.allowedValues(k)}function v(k){if(!e.scrollable||e.disabled)return;k.preventDefault();const A=Math.sign(-k.deltaY||1);let R=I.value;do R=R+A,R=(R-e.min+B.value)%B.value+e.min;while(!x(R)&&R!==I.value);R!==e.displayedValue&&E(R),m(R)}function M(k){return e.double&&k-e.min>=y.value}function L(k){return M(k)?S.value:1}function $(k){const A=e.rotate*Math.PI/180;return{x:Math.sin((k-e.min)*w.value+A)*L(k),y:-Math.cos((k-e.min)*w.value+A)*L(k)}}function G(k,A){const R=(Math.round(k/V.value)+(A?y.value:0))%B.value+e.min;return k<360-V.value/2?R:A?e.max-y.value+1:e.min}function b(k){const{x:A,y:R}=$(k);return{left:`${Math.round(50+A*50)}%`,top:`${Math.round(50+R*50)}%`}}function O(k,A){const R=A.x-k.x,ae=A.y-k.y;return Math.sqrt(R*R+ae*ae)}function W(k,A){const R=2*Math.atan2(A.y-k.y-O(k,A),A.x-k.x);return Math.abs(R*180/Math.PI)}function P(k){u.value===null&&(u.value=k),o.value=k,E(k)}function te(k){var Xe,Re;if(k.preventDefault(),!l.value&&k.type!=="click"||!i.value)return;const{width:A,top:R,left:ae}=(Xe=i.value)==null?void 0:Xe.getBoundingClientRect(),{width:C}=((Re=a.value)==null?void 0:Re.getBoundingClientRect())??{width:0},{clientX:F,clientY:ee}="touches"in k?k.touches[0]:k,ne={x:A/2,y:-A/2},me={x:F-ae,y:R-ee},xe=Math.round(W(ne,me)-e.rotate+360)%360,Te=e.double&&O(ne,me)<(C+C*S.value)/4,Q=Math.ceil(15/V.value);let Ee;for(let be=0;bec("div",{class:ge([{"v-time-picker-clock":!0,"v-time-picker-clock--indeterminate":e.modelValue==null,"v-time-picker-clock--readonly":e.readonly}]),onMousedown:H,onTouchstart:H,onWheel:v,ref:i},[c("div",{class:"v-time-picker-clock__inner",ref:a},[c("div",{class:ge([{"v-time-picker-clock__hand":!0,"v-time-picker-clock__hand--inner":M(e.modelValue)},g.value]),style:Ke([{transform:`rotate(${e.rotate+V.value*(I.value-e.min)}deg) scaleY(${L(I.value)})`},p.value])},null),f.value.map(k=>{const A=k===I.value;return c("div",{class:ge([{"v-time-picker-clock__item":!0,"v-time-picker-clock__item--active":A,"v-time-picker-clock__item--disabled":e.disabled||!x(k)},A&&_.value]),style:Ke([b(k),A&&T.value])},[c("span",null,[e.format(k)])])})])]))}}),$a=ye({active:Boolean,color:String,disabled:Boolean,label:String,modelValue:String,readonly:Boolean},"VTimePickerField"),rt=Ce()({name:"VTimePickerField",inheritAttrs:!1,props:$a(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,attrs:i}=t;const{textColorClasses:a,textColorStyles:s}=dt(()=>e.color),l=Z(),u=we(!1);function o(m){if(["Backspace","Delete"].includes(m.key)){m.preventDefault();const g=m.target;g.value="",n("update:modelValue",null)}}return Ve(()=>c("div",null,[r(Ae,q({ref:l,_as:"VTimePickerField",autocomplete:"off",class:["v-time-picker-controls__time__field",{"v-time-picker-controls__time__field--active":e.active},e.active?a.value:[]],style:e.active?s.value:[],disabled:e.disabled,variant:"solo-filled",inputmode:"numeric",hideDetails:!0,flat:!0,modelValue:e.modelValue??(u.value?"":"--"),"onUpdate:modelValue":m=>n("update:modelValue",m),onKeydown:o,onFocus:()=>u.value=!0,onBlur:()=>u.value=!1},i),null),c("div",{class:"v-time-picker-controls__field-label"},[e.label])])),Ft({},l)}});function Fe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(e).padStart(t,"0")}function jt(e){return e?(e-1)%12+1:12}function ut(e,t){return e%12+(t==="pm"?12:0)}function ze(e){const t=e.replaceAll(/\D/g,"");return t.length>0?Number(t):null}function za(e,t,n){if(n){if(e===12&&t)return{value:1};if(e===11&&t)return{value:12,togglePeriod:!0};if(e===12&&!t)return{value:11,togglePeriod:!0};if(e===1&&!t)return{value:12}}else{if(e===23&&t)return{value:0};if(e===0&&!t)return{value:23}}return{value:e+(t?1:-1)}}function It(e,t){return e===59&&t?0:e===0&&!t?59:e+(t?1:-1)}const Wa=ye({ampm:Boolean,color:String,disabled:Boolean,hour:[Number,String],minute:[Number,String],second:[Number,String],period:String,readonly:Boolean,useSeconds:Boolean,value:Number,viewMode:String},"VTimePickerControls"),Pt=Ce()({name:"VTimePickerControls",props:Wa(),emits:{"update:period":e=>!0,"update:viewMode":e=>!0,"update:hour":e=>!0,"update:minute":e=>!0,"update:second":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const{t:a}=je(),s={in:f=>{if(f==null||isNaN(Number(f)))return null;const E=Number(f);return e.ampm?Fe(jt(E)):Fe(E)},out:f=>{if(isNaN(Number(f))||f==null||f==="")return null;const E=typeof f=="string"?ze(f):Number(f);return E===null?null:e.ampm?ut(E,e.period??"am"):wt(E,0,23)}},l=le(e,"hour",void 0,s.in,s.out),u={in:f=>f!=null&&!isNaN(Number(f))?Fe(`${f}`):null,out:f=>{if(isNaN(Number(f))||f==null||f==="")return null;const E=typeof f=="string"?ze(f):Number(f);return E!==null?wt(E,0,59):null}},o=le(e,"minute",void 0,u.in,u.out),m=le(e,"second",void 0,u.in,u.out);function g(f){if(!["ArrowUp","ArrowDown"].includes(f.key))return;f.preventDefault(),f.stopPropagation();const E=Number(l.value??0),x=e.ampm?e.period??"am":null,{value:v,togglePeriod:M}=za(E,f.key==="ArrowUp",x);l.value=Fe(v),M&&n("update:period",e.period==="am"?"pm":"am")}function p(f){["ArrowUp","ArrowDown"].includes(f.key)&&(f.preventDefault(),f.stopPropagation(),o.value=It(Number(o.value),f.key==="ArrowUp"))}function _(f){["ArrowUp","ArrowDown"].includes(f.key)&&(f.preventDefault(),f.stopPropagation(),m.value=It(Number(m.value),f.key==="ArrowUp"))}function T(f,E,x){return v=>{if(!v.data)return;const M=v.target,{value:L,selectionStart:$,selectionEnd:G}=M??{};if(ze(v.data)===null){v.preventDefault();return}const b=L?L.slice(0,$)+v.data+L.slice(G):v.data;if(b.length>2){if($===G&&G===0&&v.data.trim().startsWith("0")){v.preventDefault(),M.value=b.trim().substring(0,2),x(M.value),v.data.trim().length===1&&M.setSelectionRange(1,1);return}if($===G&&G===1&&L.startsWith("0")){v.preventDefault(),M.value=b.trim().substring(0,2),x(M.value);return}const W=e.viewMode==="hour"?e.ampm?12:23:59;if(ze(b)>W){v.preventDefault(),M.value=Fe(String(ze(v.data)).substring(0,2)),x(M.value);return}}const O=f(b);E(O)&&v.preventDefault()}}const B=Z(),y=Z(),V=Z();ce(()=>e.viewMode,(f,E)=>{switch(E){case"hour":B.value.blur();break;case"minute":y.value.blur();break;case"second":V.value.blur();break}});const w=T(s.out,f=>s.in(f)===l.value,f=>l.value=f),I=T(u.out,f=>u.in(f)===o.value,f=>o.value=f),S=T(u.out,f=>u.in(f)===m.value,f=>m.value=f);return Ve(()=>c("div",{class:"v-time-picker-controls"},[c("div",{class:ge({"v-time-picker-controls__time":!0,"v-time-picker-controls__time--with-ampm":e.ampm,"v-time-picker-controls__time--with-seconds":e.useSeconds})},[r(rt,{ref:B,active:e.viewMode==="hour",color:e.color,disabled:e.disabled,label:a("$vuetify.timePicker.hour"),modelValue:l.value,"onUpdate:modelValue":f=>l.value=f,onKeydown:g,onBeforeinput:w,onFocus:()=>n("update:viewMode","hour")},null),c("span",{class:"v-time-picker-controls__time__separator"},[D(":")]),r(rt,{ref:y,active:e.viewMode==="minute",color:e.color,disabled:e.disabled,label:a("$vuetify.timePicker.minute"),modelValue:o.value,"onUpdate:modelValue":f=>o.value=f,onKeydown:p,onBeforeinput:I,onFocus:()=>n("update:viewMode","minute")},null),e.useSeconds&&c("span",{key:"secondsDivider",class:"v-time-picker-controls__time__separator"},[D(":")]),e.useSeconds&&r(rt,{key:"secondsVal",ref:V,active:e.viewMode==="second",color:e.color,disabled:e.disabled,label:a("$vuetify.timePicker.second"),modelValue:m.value,"onUpdate:modelValue":f=>m.value=f,onKeydown:_,onBeforeinput:S,onFocus:()=>n("update:viewMode","second")},null),e.ampm&&c("div",{class:"v-time-picker-controls__ampm"},[r(Y,{active:e.period==="am",color:e.period==="am"?e.color:void 0,class:ge({"v-time-picker-controls__ampm__am":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="am"}),disabled:e.disabled,text:a("$vuetify.timePicker.am"),variant:e.disabled&&e.period==="am"?"elevated":"tonal",onClick:()=>e.period!=="am"?n("update:period","am"):null},null),r(Y,{active:e.period==="pm",color:e.period==="pm"?e.color:void 0,class:ge({"v-time-picker-controls__ampm__pm":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="pm"}),disabled:e.disabled,text:a("$vuetify.timePicker.pm"),variant:e.disabled&&e.period==="pm"?"elevated":"tonal",onClick:()=>e.period!=="pm"?n("update:period","pm"):null},null)])])])),{}}}),Ja=Ge(24),$t=Ge(12),Ka=$t.map(e=>e+12);Ge(60);const qa=ye({allowedHours:[Function,Array],allowedMinutes:[Function,Array],allowedSeconds:[Function,Array],disabled:Boolean,format:{type:String,default:"ampm"},max:String,min:String,viewMode:{type:String,default:"hour"},period:{type:String,default:"am",validator:e=>["am","pm"].includes(e)},modelValue:null,readonly:Boolean,scrollable:Boolean,useSeconds:Boolean,variant:{type:String,default:"dial"},...Me(mt({title:"$vuetify.timePicker.title"}),["landscape"]),...ca()},"VTimePicker"),Nt=Ce()({name:"VTimePicker",props:qa(),emits:{"update:hour":e=>!0,"update:minute":e=>!0,"update:period":e=>!0,"update:second":e=>!0,"update:modelValue":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const{t:a}=je(),{densityClasses:s}=ua(e),l=Z(null),u=Z(null),o=Z(null),m=Z(null),g=Z(null),p=Z(null),_=le(e,"period","am"),T=le(e,"viewMode","hour"),B=Z(null),y=Z(null),V=N(()=>{let b;if(e.allowedHours instanceof Array?b=P=>e.allowedHours.includes(P):b=e.allowedHours,!e.min&&!e.max)return b;const O=e.min?Number(e.min.split(":")[0]):0,W=e.max?Number(e.max.split(":")[0]):23;return P=>P>=Number(O)&&P<=Number(W)&&(!b||b(P))}),w=N(()=>{let b;const O=!V.value||l.value===null||V.value(l.value);if(e.allowedMinutes instanceof Array?b=k=>e.allowedMinutes.includes(k):b=e.allowedMinutes,!e.min&&!e.max)return O?b:()=>!1;const[W,P]=e.min?e.min.split(":").map(Number):[0,0],[te,H]=e.max?e.max.split(":").map(Number):[23,59],ke=W*60+Number(P),_e=te*60+Number(H);return k=>{const A=60*l.value+k;return A>=ke&&A<=_e&&O&&(!b||b(k))}}),I=N(()=>{let b;const W=(!V.value||l.value===null||V.value(l.value))&&(!w.value||u.value===null||w.value(u.value));if(e.allowedSeconds instanceof Array?b=ae=>e.allowedSeconds.includes(ae):b=e.allowedSeconds,!e.min&&!e.max)return W?b:()=>!1;const[P,te,H]=e.min?e.min.split(":").map(Number):[0,0,0],[ke,_e,k]=e.max?e.max.split(":").map(Number):[23,59,59],A=P*3600+te*60+Number(H||0),R=ke*3600+_e*60+Number(k||0);return ae=>{const C=3600*l.value+60*u.value+ae;return C>=A&&C<=R&&W&&(!b||b(ae))}}),S=N(()=>e.format==="ampm"),f=Ne(()=>e.modelValue!==null&&l.value===null&&u.value===null&&(!e.useSeconds||o.value===null));function E(){const b=x();b!==null&&b!==e.modelValue&&n("update:modelValue",b),f.value&&n("update:modelValue",null)}ce(l,E),ce(u,E),ce(o,E),ce(()=>e.period,b=>L(b)),ce(()=>e.modelValue,b=>v(b)),ce(()=>e.useSeconds,(b,O)=>{O&&!b&&T.value==="second"&&(T.value="minute"),!b&&o.value!==null&&(o.value=null)}),da(()=>{v(e.modelValue)});function x(){return l.value!=null&&u.value!=null&&(!e.useSeconds||o.value!=null)?`${Fe(l.value)}:${Fe(u.value)}`+(e.useSeconds?`:${Fe(o.value)}`:""):null}function v(b){if(b==null||b==="")l.value=null,u.value=null,o.value=null;else if(b instanceof Date)l.value=b.getHours(),u.value=b.getMinutes(),o.value=b.getSeconds();else{const[O,,W,,P,te]=b.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/)||new Array(6);l.value=te?ut(parseInt(O,10),te):parseInt(O,10),u.value=parseInt(W,10),o.value=parseInt(P||0,10)}_.value=l.value==null||l.value<12?"am":"pm"}function M(b,O){const W=V.value;if(!W)return O;const P=S.value?O<12?$t:Ka:Ja;return((P.find(H=>W((H+O)%P.length+P[0]))||0)+O)%P.length+P[0]}function L(b){if(_.value=b,l.value!=null){const O=l.value+(_.value==="am"?-12:12);l.value=M("hour",O)}return n("update:period",b),E(),!0}function $(b){T.value==="hour"?l.value=S.value?ut(b,_.value):b:T.value==="minute"?u.value=b:o.value=b}function G(b){switch(T.value||"hour"){case"hour":n("update:hour",b);break;case"minute":n("update:minute",b);break;case"second":n("update:second",b);break}const O=l.value!==null&&u.value!==null&&(e.useSeconds?o.value!==null:!0);T.value==="hour"?T.value="minute":e.useSeconds&&T.value==="minute"&&(T.value="second"),!(l.value===m.value&&u.value===g.value&&(!e.useSeconds||o.value===p.value)||x()===null)&&(m.value=l.value,g.value=u.value,e.useSeconds&&(p.value=o.value),O&&E())}Ve(()=>{const b=Me(at.filterProps(e),["hideHeader"]),O=Pt.filterProps(e),W=_t.filterProps(Me(e,["format","modelValue","min","max"]));return r(at,q(b,{color:void 0,class:["v-time-picker",`v-time-picker--variant-${e.variant}`,e.class,s.value],hideHeader:e.hideHeader&&e.variant!=="input",style:e.style}),{title:()=>{var P;return((P=i.title)==null?void 0:P.call(i))??c("div",{class:"v-time-picker__title"},[a(e.title)])},header:()=>r(Pt,q(O,{ampm:S.value,hour:l.value,minute:u.value,period:_.value,second:o.value,viewMode:T.value,"onUpdate:hour":P=>l.value=P,"onUpdate:minute":P=>u.value=P,"onUpdate:period":P=>L(P),"onUpdate:second":P=>o.value=P,"onUpdate:viewMode":P=>T.value=P,ref:B}),null),default:()=>r(_t,q(W,{allowedValues:T.value==="hour"?V.value:T.value==="minute"?w.value:I.value,double:T.value==="hour"&&!S.value,format:T.value==="hour"?S.value?jt:P=>P:P=>Fe(P,2),max:T.value==="hour"?S.value&&_.value==="am"?11:23:59,min:T.value==="hour"&&S.value&&_.value==="pm"?12:0,size:20,step:T.value==="hour"?1:5,modelValue:T.value==="hour"?l.value:T.value==="minute"?u.value:o.value,onChange:G,onInput:$,ref:y}),null),actions:i.actions})})}}),Ga={name:"ExamConfigEditor",props:{configId:{type:String,required:!0},dialogMode:{type:Boolean,default:!1}},emits:["saved","error","opened","deleted"],data(){return{localConfig:{examName:"",message:"",room:"",examInfos:[]},loading:!1,saving:!1,deleting:!1,deleteDialog:!1,error:"",success:"",isEditMode:!1,showJsonPreview:!1,availableSubjects:[],customSubjectInput:"",enableCustomAlertTime:!1,defaultExamTips:["请保持卷面整洁,字迹清晰,诚信应考。在听到终考铃时立刻起立,停止作答。","沉着 冷静 细心 守记","答题不守记,自己两行泪。"]}},computed:{formattedJson(){try{return JSON.stringify(this.localConfig,null,2)}catch(e){return console.error("格式化JSON时出错:",e),"无效的JSON格式"}},formattedStorageJson(){try{const e={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(t=>({name:t.name,start:this.formatDisplayDateTime(t.start),end:this.formatDisplayDateTime(t.end),alertTime:parseInt(t.alertTime)||15}))};return JSON.stringify(e,null,2)}catch(e){return console.error("格式化存储JSON时出错:",e),"无效的JSON格式"}},isValidConfig(){return this.localConfig.examName&&this.localConfig.message&&this.localConfig.examInfos&&this.localConfig.examInfos.length>0&&this.localConfig.examInfos.every(e=>e.name&&e.start&&e.end)},validationErrors(){const e=[];if((!this.localConfig.examName||this.localConfig.examName.trim()==="")&&e.push("考试名称不能为空"),(!this.localConfig.message||this.localConfig.message.trim()==="")&&e.push("考试提示不能为空"),!this.localConfig.examInfos||this.localConfig.examInfos.length===0)e.push("至少需要添加一个考试科目");else{this.localConfig.examInfos.forEach((t,n)=>{const i=`第${n+1}个科目`;if((!t.name||t.name.trim()==="")&&e.push(`${i}的名称不能为空`),t.start||e.push(`${i}的开始时间不能为空`),t.end||e.push(`${i}的结束时间不能为空`),t.start&&t.end){const a=new Date(t.start),s=new Date(t.end);isNaN(a.getTime())&&e.push(`${i}的开始时间格式不正确`),isNaN(s.getTime())&&e.push(`${i}的结束时间格式不正确`),!isNaN(a.getTime())&&!isNaN(s.getTime())&&(s<=a&&e.push(`${i}的结束时间必须晚于开始时间`),(s-a)/(1e3*60*60)>24&&e.push(`${i}的考试时长不能超过24小时`))}});for(let t=0;tu&&e.push(`第${t+1}个科目与第${n+1}个科目的时间有重叠`)}}}return e},hasValidationErrors(){return this.validationErrors.length>0}},watch:{configId:{immediate:!0,handler(e){e&&this.loadConfig()}}},created(){this.loadSubjects()},methods:{async loadSubjects(){try{const e=await Be.loadData("classworks-config-subject");e&&Array.isArray(e)?this.availableSubjects=e.sort((t,n)=>(t.order??0)-(n.order??0)).map(t=>({name:t.name,order:t.order??0})):this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}catch(e){console.warn("加载科目列表失败,使用默认列表:",e),this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}},autoFillRemaining(){if(this.localConfig.examInfos.length===0)return;let e=null;for(let t=this.localConfig.examInfos.length-1;t>=0;t--)if(this.localConfig.examInfos[t].end){e=new Date(this.localConfig.examInfos[t].end);break}e||(e=new Date);for(let t=0;t12)return`${t}月份不合法(1-12)`;if(g<1||g>31)return`${t}日期不合法(1-31)`;if(p<0||p>23)return`${t}小时不合法(0-23)`;if(_<0||_>59)return`${t}分钟不合法(0-59)`;const T=new Date(o,m-1,g,p,_);return isNaN(T.getTime())?`${t}日期不存在`:T.getMonth()!==m-1||T.getDate()!==g?`${t}日期不存在`:!0},validateEndAfterStart(e){if(!e.startFormatted||!e.endFormatted)return!0;try{const t=new Date(e.start||e.startFormatted.replace(/\//g,"-")),n=new Date(e.end||e.endFormatted.replace(/\//g,"-"));return isNaN(t.getTime())||isNaN(n.getTime())?!0:n<=t?"结束时间必须晚于开始时间":(n.getTime()-t.getTime())/(1e3*60*60)>24?"考试时长不能超过24小时":!0}catch{return!0}},validateNoTimeOverlap(e,t){if(!e.startFormatted||!e.endFormatted)return!0;try{const n=new Date(e.start||e.startFormatted.replace(/\//g,"-")),i=new Date(e.end||e.endFormatted.replace(/\//g,"-"));if(isNaN(n.getTime())||isNaN(i.getTime()))return!0;for(let a=0;a=l&&nl&&i<=u||n<=l&&i>=u)return`时间与"${s.name||`第${a+1}个科目`}"重叠`}return!0}catch{return!0}},toggleAlertTimeMode(){this.enableCustomAlertTime||this.localConfig.examInfos.forEach(e=>{e.alertTime=15})},getExamDuration(e){if(!e.start||!e.end)return"";try{const t=new Date(e.start),n=new Date(e.end);if(isNaN(t.getTime())||isNaN(n.getTime()))return"";const i=n.getTime()-t.getTime(),a=Math.round(i/(1e3*60));if(a<60)return`${a}分钟`;const s=Math.floor(a/60),l=a%60;return l===0?`${s}小时`:`${s}小时${l}分钟`}catch{return""}},updateStartDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],n=t.startFormatted;if(!n)return;const i=n.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!i)return;const[,a,s,l,u,o]=i,m=new Date(parseInt(a),parseInt(s)-1,parseInt(l),parseInt(u),parseInt(o));isNaN(m.getTime())||(t.startDate=m,t.startTime=this.formatTimeOnly(m),t.start=this.formatDateTimeLocal(m),this.updateStartDateTime(e))},updateEndDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],n=t.endFormatted;if(!n)return;const i=n.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!i)return;const[,a,s,l,u,o]=i,m=new Date(parseInt(a),parseInt(s)-1,parseInt(l),parseInt(u),parseInt(o));isNaN(m.getTime())||(t.endDate=m,t.endTime=this.formatTimeOnly(m),t.end=this.formatDateTimeLocal(m),this.updateEndDateTime(e))},async loadConfig(){var e;this.loading=!0,this.error="";try{const t=await Be.loadData(`es_${this.configId}`);if(t){this.localConfig={examName:"",message:"",room:"",examInfos:[],...t},Array.isArray(this.localConfig.examInfos)||(this.localConfig.examInfos=[]),this.localConfig.examInfos.forEach(i=>{if(i.start){const a=this.parseDateTime(i.start);i.start=this.formatDateTimeLocal(a),i.startDate=a,i.startTime=this.formatTimeOnly(a),i.startFormatted=this.formatDisplayDateTime(a),i.startDateMenu=!1}if(i.end){const a=this.parseDateTime(i.end);i.end=this.formatDateTimeLocal(a),i.endDate=a,i.endTime=this.formatTimeOnly(a),i.endFormatted=this.formatDisplayDateTime(a),i.endDateMenu=!1}try{if(i.start&&i.end){const a=new Date(i.start),s=new Date(i.end),l=Math.round((s.getTime()-a.getTime())/(1e3*60));l>0&&l<=24*60?i.durationMinutes=l:i.durationMinutes=120}else i.durationMinutes=120}catch{i.durationMinutes=120}i.alertTime===void 0||i.alertTime===null?i.alertTime=15:i.alertTime=parseInt(i.alertTime)||15});const n=this.localConfig.examInfos.some(i=>i.alertTime!==15);this.enableCustomAlertTime=n}else console.error("加载配置失败:",t),this.error="加载配置失败: "+(((e=t.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error)}catch(t){console.error(t),this.error="加载配置失败: "+t.message,this.$emit("error",this.error)}finally{this.loading=!1}},async saveConfig(){var e;if(!this.isValidConfig){const t=this.validationErrors;return t.length>0?this.error=`配置验证失败:${t.join(";")}`:this.error="请填写完整的配置信息",!1}this.saving=!0,this.error="";try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(i=>({name:i.name,start:this.formatDisplayDateTime(i.start),end:this.formatDisplayDateTime(i.end),alertTime:parseInt(i.alertTime)||15}))},n=await Be.saveData(`es_${this.configId}`,t);return n?(this.success="配置保存成功",this.$emit("saved",t),!0):(this.error="保存配置失败: "+(((e=n.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error),!1)}catch(t){return this.error="保存配置失败: "+t,this.$emit("error",this.error),!1}finally{this.saving=!1}},addExamInfo(){let e=new Date;if(this.localConfig.examInfos.length>0){const a=this.localConfig.examInfos[this.localConfig.examInfos.length-1];a.end&&(e=new Date(a.end))}const t=new Date(e.getTime()+10*60*1e3),n=new Date(t.getTime()+2*60*60*1e3),i={name:"",start:this.formatDateTimeLocal(t),end:this.formatDateTimeLocal(n),durationMinutes:120,alertTime:15,startDate:t,startTime:this.formatTimeOnly(t),startFormatted:this.formatDisplayDateTime(t),startDateMenu:!1,endDate:n,endTime:this.formatTimeOnly(n),endFormatted:this.formatDisplayDateTime(n),endDateMenu:!1};this.localConfig.examInfos.push(i)},removeExamInfo(e){this.localConfig.examInfos.splice(e,1)},moveExamInfo(e,t){const n=e+t;if(n>=0&&n24*60&&(n=24*60),t.durationMinutes=n,(!t.startDate||!t.startTime)&&t.start){const i=new Date(t.start);isNaN(i.getTime())||(t.startDate=i,t.startTime=this.formatTimeOnly(i))}if(t.startDate&&t.startTime){const i=new Date(t.startDate),[a,s]=String(t.startTime).split(":");i.setHours(parseInt(a),parseInt(s),0,0);const l=new Date(i.getTime()+n*60*1e3);t.endDate=l,t.endTime=this.formatTimeOnly(l),t.end=this.formatDateTimeLocal(l),t.endFormatted=this.formatDisplayDateTime(l)}},formatDateTimeLocal(e){if(!e)return"";let t;if(typeof e=="string"?e.includes("/")?t=new Date(e.replace(/\//g,"-")):t=new Date(e):t=new Date(e),isNaN(t.getTime()))return"";const n=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return`${n}-${i}-${a}T${s}:${l}`},formatDisplayDateTime(e){if(!e)return"";const t=new Date(e);if(isNaN(t.getTime()))return e;const n=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return`${n}/${i}/${a} ${s}:${l}`},parseDateTime(e){return e?typeof e=="string"?e.includes("/")?new Date(e.replace(/\//g,"-")):new Date(e):new Date(e):new Date},formatTimeOnly(e){if(!e)return"00:00";const t=new Date(e);if(isNaN(t.getTime()))return"00:00";const n=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0");return`${n}:${i}`},updateStartDateTime(e){const t=this.localConfig.examInfos[e];if(!t.startDate||!t.startTime)return;const n=new Date(t.startDate),[i,a]=t.startTime.split(":");n.setHours(parseInt(i),parseInt(a),0,0),t.start=this.formatDateTimeLocal(n),t.startFormatted=this.formatDisplayDateTime(n);let s=parseInt(t.durationMinutes);if(isNaN(s)||s<=0||s>24*60)try{let u=null;if(t.endDate&&t.endTime){u=new Date(t.endDate);const[o,m]=String(t.endTime).split(":");u.setHours(parseInt(o),parseInt(m),0,0)}else t.end&&(u=new Date(t.end));if(u&&!isNaN(u.getTime())){const o=Math.round((u.getTime()-n.getTime())/6e4);o>0&&o<=24*60&&(s=o)}}catch{}(isNaN(s)||s<=0||s>24*60)&&(s=120);const l=new Date(n.getTime()+s*60*1e3);t.endDate=l,t.endTime=this.formatTimeOnly(l),t.end=this.formatDateTimeLocal(l),t.endFormatted=this.formatDisplayDateTime(l),t.durationMinutes=s},updateEndDateTime(e){const t=this.localConfig.examInfos[e];if(!t.endDate||!t.endTime)return;const n=new Date(t.endDate),[i,a]=t.endTime.split(":");n.setHours(parseInt(i),parseInt(a),0,0),t.end=this.formatDateTimeLocal(n),t.endFormatted=this.formatDisplayDateTime(n);try{if(t.startDate&&t.startTime){const s=new Date(t.startDate),[l,u]=String(t.startTime).split(":");s.setHours(parseInt(l),parseInt(u),0,0);const o=Math.round((n.getTime()-s.getTime())/(1e3*60));o>0&&o<=24*60&&(t.durationMinutes=o)}}catch{}},async openConfig(){try{const e=await Be.getKeyCloudUrl(`es_${this.configId}`,{autoMigrate:!0,autoConfig:!0});if(e.success&&e.url){const t=`https://es.examaware.tech/exam/?configUrl=${encodeURIComponent(e.url)}`;window.open(t,"_blank"),this.success="配置已在新窗口中打开",this.$emit("opened",{configId:this.configId,url:e.url})}else throw new Error(e.error||"获取云端地址失败")}catch(e){this.error="打开配置失败: "+e.message,this.$emit("error","打开配置失败: "+e.message)}},confirmDelete(){this.deleteDialog=!0},async deleteConfig(){this.deleting=!0;try{const n=(await Be.loadData("es_list")||[]).filter(a=>a.id!==this.configId);if(!await Be.saveData("es_list",n))throw new Error("更新云端列表失败");this.deleteDialog=!1,this.$emit("deleted",{success:!0,message:"配置删除成功",configId:this.configId})}catch(e){console.error("删除配置失败:",e),this.$emit("deleted",{success:!1,message:"删除失败: "+e.message})}finally{this.deleting=!1}},openInEa2Player(){var e;try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(s=>({name:s.name,start:this.formatDisplayDateTime(s.start),end:this.formatDisplayDateTime(s.end),alertTime:parseInt(s.alertTime)||15}))},n=JSON.stringify(t),a=`examaware://player?data=${btoa(unescape(encodeURIComponent(n)))}`;window.location.href=a,(e=this.$message)==null||e.success("正在拉起 ExamAware2 播放器...")}catch(t){this.error="拉起播放器失败: "+t.message}}}},Xa={class:"d-flex align-center"},Za={class:"d-flex align-center"},Qa={key:4,class:"d-flex justify-space-between align-center mb-4"},el={class:"d-flex align-center gap-2"},tl={key:5},al={class:"mb-8"},ll={class:"text-h3 font-weight-bold",style:{"line-height":"1.2"}},nl={class:"text-subtitle-1 text-grey",style:{"white-space":"pre-wrap","line-height":"1.8"}},il={key:0,class:"mb-8"},rl={class:"d-flex align-center"},ol={class:""},sl={class:"mb-3"},ul={class:"d-flex align-center mb-1"},dl={class:"text-h6 font-weight-medium text-success"},cl={class:"d-flex align-center mb-1"},ml={class:"text-h6 font-weight-medium text-error"},fl={key:1,class:"text-center py-12"},vl={class:"json-preview"},hl={key:6},gl={class:"text-subtitle-2 font-weight-bold d-block mb-2"},yl={key:0,class:"mt-3"},kl={class:"text-caption text-medium-emphasis mt-2 ml-2"},bl={class:"d-flex align-center mr-4"},pl={class:"w-100"},wl={class:"d-flex align-center mb-3"},Dl={class:"d-flex gap-1"},Cl={class:"text-primary font-weight-bold"},Vl={key:1,class:"text-center py-12"};function xl(e,t,n,i,a,s){return j(),pe("div",null,[a.error?(j(),re(it,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":t[0]||(t[0]=l=>a.error="")},{default:d(()=>[c("div",Xa,[r(K,{class:"mr-2"},{default:d(()=>[...t[10]||(t[10]=[D("mdi-alert-circle",-1)])]),_:1}),D(" "+ue(a.error),1)])]),_:1})):se("",!0),a.success?(j(),re(it,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":t[1]||(t[1]=l=>a.success="")},{default:d(()=>[c("div",Za,[r(K,{class:"mr-2"},{default:d(()=>[...t[11]||(t[11]=[D("mdi-check-circle",-1)])]),_:1}),D(" "+ue(a.success),1)])]),_:1})):se("",!0),s.hasValidationErrors&&!a.loading?(j(),re(it,{key:2,border:"start",class:"mb-4 mt-3 mx-2",type:"warning",variant:"tonal"},{default:d(()=>[t[13]||(t[13]=c("div",{class:"d-flex align-center"},[c("span",{class:"font-weight-bold"},"配置验证失败,请检查以下问题:")],-1)),r(ot,{class:"bg-transparent",density:"compact"},{default:d(()=>[(j(!0),pe(De,null,Qe(s.validationErrors,(l,u)=>(j(),re(We,{key:u,class:"px-0 py-0"},{prepend:d(()=>[r(K,{color:"warning",size:"small"},{default:d(()=>[...t[12]||(t[12]=[D("mdi-circle-small",-1)])]),_:1})]),default:d(()=>[r(fa,{class:"text-body-2"},{default:d(()=>[D(ue(l),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):se("",!0),a.loading?(j(),re(Pe,{key:3,class:"my-4",outlined:""},{default:d(()=>[r(Oe,null,{default:d(()=>[r(ba,{class:"mx-auto",type:"article"})]),_:1})]),_:1})):se("",!0),a.loading?se("",!0):(j(),pe("div",Qa,[c("div",el,[r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"success","prepend-icon":"mdi-open-in-new",variant:"elevated",onClick:s.openConfig},{default:d(()=>[...t[14]||(t[14]=[D(" 打开 ExamSchedule ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-link-variant",variant:"elevated",onClick:s.copyConfigUrl},{default:d(()=>[...t[15]||(t[15]=[D(" 复制远程链接 ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:s.downloadAsJson},{default:d(()=>[...t[16]||(t[16]=[D(" JSON 文件 ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:s.downloadAsEa2},{default:d(()=>[...t[17]||(t[17]=[D(" .ea2 文件 ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"secondary","prepend-icon":"mdi-play-circle",variant:"elevated",onClick:s.openInEa2Player},{default:d(()=>[...t[18]||(t[18]=[D(" 拉起EA2播放器 ",-1)])]),_:1},8,["disabled","onClick"]),s.isValidConfig?se("",!0):(j(),re(et,{key:0,activator:"parent",location:"bottom"},{default:d(()=>[...t[19]||(t[19]=[c("span",null,"请先完善配置信息后再操作",-1)])]),_:1}))]),r(va,{modelValue:a.isEditMode,"onUpdate:modelValue":t[2]||(t[2]=l=>a.isEditMode=l),color:"primary",divided:"",variant:"outlined"},{default:d(()=>[r(Y,{class:"text-error","prepend-icon":"mdi-delete",onClick:s.confirmDelete},{default:d(()=>[...t[20]||(t[20]=[D(" 删除配置 ",-1)])]),_:1},8,["onClick"]),r(Y,{value:!1,"prepend-icon":"mdi-eye"},{default:d(()=>[...t[21]||(t[21]=[D(" 预览",-1)])]),_:1}),r(Y,{value:!0,"prepend-icon":"mdi-pencil"},{default:d(()=>[...t[22]||(t[22]=[D(" 编辑",-1)])]),_:1})]),_:1},8,["modelValue"])])),!a.loading&&!a.isEditMode?(j(),pe("div",tl,[c("div",al,[c("div",ll,ue(a.localConfig.examName||"未设置考试名称"),1),c("div",nl,ue(a.localConfig.message||"未设置考试提示"),1),a.localConfig.room?(j(),re(Je,{key:0,class:"px-4 py-2",size:"large"},{default:d(()=>[r(K,{start:""},{default:d(()=>[...t[23]||(t[23]=[D("mdi-home",-1)])]),_:1}),D(" 考场:"+ue(a.localConfig.room),1)]),_:1})):se("",!0)]),a.localConfig.examInfos&&a.localConfig.examInfos.length>0?(j(),pe("div",il,[r(He,null,{default:d(()=>[(j(!0),pe(De,null,Qe(a.localConfig.examInfos,(l,u)=>(j(),re(he,{key:u,cols:"12",lg:"4",md:"6"},{default:d(()=>[r(Pe,{class:"h-100",hover:"",variant:"tonal"},{default:d(()=>[r(Le,{class:"bg-primary-lighten-5 pa-4"},{default:d(()=>[c("div",rl,[r(K,{class:"mr-2"},{default:d(()=>[...t[24]||(t[24]=[D("mdi-book-open-page-variant",-1)])]),_:1}),c("span",ol,ue(l.name||"未设置科目"),1)])]),_:2},1024),r(Oe,{class:"pa-4"},{default:d(()=>[c("div",sl,[c("div",ul,[r(K,{class:"mr-2",color:"success",size:"small"},{default:d(()=>[...t[25]||(t[25]=[D("mdi-clock-start ",-1)])]),_:1}),t[26]||(t[26]=c("span",{class:"text-body-2 text-grey-darken-1"},"开始时间",-1))]),c("div",dl,ue(l.startFormatted||l.start||"未设置"),1)]),c("div",null,[c("div",cl,[r(K,{class:"mr-2",color:"error",size:"small"},{default:d(()=>[...t[27]||(t[27]=[D("mdi-clock-end ",-1)])]),_:1}),t[28]||(t[28]=c("span",{class:"text-body-2 text-grey-darken-1"},"结束时间",-1))]),c("div",ml,ue(l.endFormatted||l.end||"未设置"),1)])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):(j(),pe("div",fl,[r(K,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:d(()=>[...t[29]||(t[29]=[D(" mdi-calendar-blank ",-1)])]),_:1}),t[32]||(t[32]=c("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[33]||(t[33]=c("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置考试时间表 ',-1)),r(Y,{color:"primary",variant:"outlined",onClick:s.quickEdit},{default:d(()=>[r(K,{start:""},{default:d(()=>[...t[30]||(t[30]=[D("mdi-plus",-1)])]),_:1}),t[31]||(t[31]=D(" 立即添加 ",-1))]),_:1},8,["onClick"])])),r(Pe,{border:"",class:"mb-4",elevation:"2"},{default:d(()=>[r(Le,{class:"d-flex align-center text-white cursor-pointer",onClick:t[3]||(t[3]=l=>a.showJsonPreview=!a.showJsonPreview)},{default:d(()=>[r(K,{class:"mr-2"},{default:d(()=>[...t[34]||(t[34]=[D("mdi-code-json",-1)])]),_:1}),t[36]||(t[36]=D(" 配置预览 ",-1)),r(Ye),r(Y,{color:"white","prepend-icon":"mdi-content-copy",size:"small",variant:"outlined",onClick:ha(s.copyToClipboard,["stop"])},{default:d(()=>[...t[35]||(t[35]=[D(" 复制 ",-1)])]),_:1},8,["onClick"]),r(Y,{icon:a.showJsonPreview?"mdi-chevron-up":"mdi-chevron-down",class:"ml-2",color:"white",size:"small",variant:"text"},null,8,["icon"])]),_:1}),r(ga,null,{default:d(()=>[Yt(r(Oe,{class:"pa-4"},{default:d(()=>[r(Pe,{class:"pa-4",variant:"tonal"},{default:d(()=>[c("pre",vl,[c("code",null,ue(s.formattedStorageJson),1)])]),_:1})]),_:1},512),[[ya,a.showJsonPreview]])]),_:1})]),_:1})])):se("",!0),!a.loading&&a.isEditMode?(j(),pe("div",hl,[r(Pe,{border:"",class:"mb-4",elevation:"1"},{default:d(()=>[r(Le,{class:"d-flex align-center bg-primary-lighten-5 pa-4"},{default:d(()=>[r(K,{class:"mr-2"},{default:d(()=>[...t[37]||(t[37]=[D("mdi-information",-1)])]),_:1}),t[38]||(t[38]=c("span",{class:"font-weight-bold"},"基本信息",-1))]),_:1}),r(Oe,{class:"pa-6"},{default:d(()=>[r(He,null,{default:d(()=>[r(he,{cols:"12",md:"6"},{default:d(()=>[r(Ae,{modelValue:a.localConfig.examName,"onUpdate:modelValue":t[4]||(t[4]=l=>a.localConfig.examName=l),rules:[l=>!!l||"考试名称不能为空",l=>l&&l.trim().length>0||"考试名称不能为空白字符",l=>!l||l.length<=100||"考试名称不能超过100个字符"],clearable:"",density:"comfortable",label:"考试名称",placeholder:"如:2025年高考模拟考试","prepend-inner-icon":"mdi-calendar-text",required:"",variant:"outlined"},null,8,["modelValue","rules"])]),_:1}),r(he,{cols:"12",md:"6"},{default:d(()=>[r(Ae,{modelValue:a.localConfig.room,"onUpdate:modelValue":t[5]||(t[5]=l=>a.localConfig.room=l),clearable:"",density:"comfortable",label:"考场号(仅 ExamSchedule-Management 支持此配置)",placeholder:"如:一号考场","prepend-inner-icon":"mdi-home",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),r(He,null,{default:d(()=>[r(he,{cols:"12"},{default:d(()=>[c("span",gl,[r(K,{size:"small",class:"mr-1"},{default:d(()=>[...t[39]||(t[39]=[D("mdi-message-text",-1)])]),_:1}),t[40]||(t[40]=D(" 考试提示 ",-1))]),r(xa,{modelValue:a.localConfig.message,"onUpdate:modelValue":t[6]||(t[6]=l=>a.localConfig.message=l),rules:[l=>!!l||"考试提示不能为空",l=>l&&l.trim().length>0||"考试提示不能为空白字符"],clearable:"",density:"comfortable",label:"输入考试相关的提示信息...","no-resize":"",placeholder:"例如:请保持卷面整洁,诚信应考。在听到终考铃时立刻停止作答。",rows:"3",variant:"outlined"},null,8,["modelValue","rules"]),!a.localConfig.message||a.localConfig.message.trim()===""?(j(),pe("div",yl,[r(wa,{class:"d-flex gap-2",column:""},{default:d(()=>[(j(!0),pe(De,null,Qe(a.defaultExamTips,(l,u)=>(j(),re(Je,{key:u,class:"cursor-pointer",color:"primary",size:"small",variant:"outlined",onClick:o=>s.selectDefaultTip(l)},{default:d(()=>[r(K,{size:"small",start:""},{default:d(()=>[...t[41]||(t[41]=[D("mdi-plus",-1)])]),_:1}),D(" "+ue(l.substring(0,20))+"... ",1)]),_:2},1032,["onClick"]))),128))]),_:1}),c("div",kl,[r(K,{class:"mr-1",size:"x-small"},{default:d(()=>[...t[42]||(t[42]=[D("mdi-lightbulb-outline",-1)])]),_:1}),t[43]||(t[43]=D(" 点击上方选项快速添加常用考试提示 ",-1))])])):se("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),r(Pe,{border:"",class:"mb-4",elevation:"1"},{default:d(()=>[r(Le,{class:"d-flex align-center bg-success-lighten-5 pa-4"},{default:d(()=>[r(K,{class:"mr-2"},{default:d(()=>[...t[44]||(t[44]=[D("mdi-format-list-bulleted",-1)])]),_:1}),t[47]||(t[47]=c("span",{class:"font-weight-bold"},"考试科目安排",-1)),r(Ye),c("div",bl,[r(Ta,{modelValue:a.enableCustomAlertTime,"onUpdate:modelValue":t[7]||(t[7]=l=>a.enableCustomAlertTime=l),color:"primary",density:"compact","hide-details":"",onChange:s.toggleAlertTimeMode},{label:d(()=>[...t[45]||(t[45]=[c("span",{class:"text-body-2"},"自定义提醒时间",-1)])]),_:1},8,["modelValue","onChange"])]),r(Y,{color:"success","prepend-icon":"mdi-plus",size:"small",variant:"elevated",onClick:s.addExamInfo},{default:d(()=>[...t[46]||(t[46]=[D(" 添加科目 ",-1)])]),_:1},8,["onClick"])]),_:1}),r(Oe,{class:"pa-0"},{default:d(()=>[a.localConfig.examInfos&&a.localConfig.examInfos.length>0?(j(),re(ot,{key:0,class:"py-0"},{default:d(()=>[(j(!0),pe(De,null,Qe(a.localConfig.examInfos,(l,u)=>(j(),re(We,{key:u,class:"border-b pa-4 hover-highlight"},{default:d(()=>[c("div",pl,[c("div",wl,[r(Je,{color:u%2===0?"primary":"secondary",size:"small",variant:"tonal",class:"mr-3"},{default:d(()=>[r(K,{start:"",size:"small"},{default:d(()=>[D("mdi-numeric-"+ue(u+1)+"-circle",1)]),_:2},1024),D(" 第 "+ue(u+1)+" 科目 ",1)]),_:2},1032,["color"]),r(Ye),c("div",Dl,[u>0?(j(),re(Y,{key:0,color:"primary",icon:"mdi-arrow-up",size:"x-small",variant:"text",onClick:o=>s.moveExamInfo(u,-1)},{default:d(()=>[r(et,{activator:"parent",location:"bottom"},{default:d(()=>[...t[48]||(t[48]=[D("上移",-1)])]),_:1})]),_:1},8,["onClick"])):se("",!0),us.moveExamInfo(u,1)},{default:d(()=>[r(et,{activator:"parent",location:"bottom"},{default:d(()=>[...t[49]||(t[49]=[D("下移",-1)])]),_:1})]),_:1},8,["onClick"])):se("",!0),r(Y,{color:"error",icon:"mdi-delete",size:"x-small",variant:"text",onClick:o=>s.removeExamInfo(u)},{default:d(()=>[r(et,{activator:"parent",location:"bottom"},{default:d(()=>[...t[50]||(t[50]=[D("删除",-1)])]),_:1})]),_:1},8,["onClick"])])]),r(He,{class:"align-start"},{default:d(()=>[r(he,{cols:"12",md:"4"},{default:d(()=>[r(Ya,{modelValue:l.name,"onUpdate:modelValue":o=>l.name=o,items:a.availableSubjects,rules:[o=>!!o||"科目名称不能为空",o=>o&&o.trim().length>0||"科目名称不能为空白字符"],clearable:"",density:"comfortable","item-title":"name",label:"科目名称","no-data-text":"没有可用科目,请输入自定义名称","prepend-inner-icon":"mdi-book",variant:"outlined"},{"prepend-item":d(()=>[a.customSubjectInput?(j(),re(We,{key:0,title:"自定义:"},{append:d(()=>[c("span",Cl,ue(a.customSubjectInput),1)]),_:1})):se("",!0),a.customSubjectInput?(j(),re(At,{key:1})):se("",!0)]),_:1},8,["modelValue","onUpdate:modelValue","items","rules"])]),_:2},1024),r(he,{cols:"12",md:"3"},{default:d(()=>[r(st,{modelValue:l.startDateMenu,"onUpdate:modelValue":o=>l.startDateMenu=o,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:d(({props:o})=>[r(Ae,q({modelValue:l.startFormatted,"onUpdate:modelValue":m=>l.startFormatted=m,rules:[m=>!!m||"开始时间不能为空",m=>s.validateTimeFormat(m,"开始时间"),()=>s.validateNoTimeOverlap(l,u)],density:"comfortable",label:"开始时间",placeholder:"2025/01/01 09:00","prepend-inner-icon":"mdi-clock-start"},{ref_for:!0},o,{variant:"outlined",onBlur:m=>s.updateStartDateTimeFromInput(u)}),{append:d(()=>[r(K,null,{default:d(()=>[...t[51]||(t[51]=[D("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:d(()=>[r(Pe,{"min-width":"500"},{default:d(()=>[r(Le,{class:"text-center py-3 bg-primary-lighten-5"},{default:d(()=>[r(K,{class:"mr-2",color:"primary"},{default:d(()=>[...t[52]||(t[52]=[D("mdi-clock-start",-1)])]),_:1}),t[53]||(t[53]=D(" 选择开始时间 ",-1))]),_:1}),r(Oe,{class:"pa-0"},{default:d(()=>[r(He,{"no-gutters":""},{default:d(()=>[r(he,{class:"border-e",cols:"6"},{default:d(()=>[r(Mt,{modelValue:l.startDate,"onUpdate:modelValue":[o=>l.startDate=o,o=>s.updateStartDateTime(u)],color:"primary",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"6"},{default:d(()=>[r(Nt,{modelValue:l.startTime,"onUpdate:modelValue":[o=>l.startTime=o,o=>s.updateStartDateTime(u)],color:"primary",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),r(nt,null,{default:d(()=>[r(Ye),r(Y,{color:"grey",variant:"text",onClick:o=>l.startDateMenu=!1},{default:d(()=>[...t[54]||(t[54]=[D(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"12",md:"3"},{default:d(()=>[r(st,{modelValue:l.endDateMenu,"onUpdate:modelValue":o=>l.endDateMenu=o,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:d(({props:o})=>[r(Ae,q({modelValue:l.endFormatted,"onUpdate:modelValue":m=>l.endFormatted=m,rules:[m=>!!m||"结束时间不能为空",m=>s.validateTimeFormat(m,"结束时间"),()=>s.validateEndAfterStart(l),()=>s.validateNoTimeOverlap(l,u)],density:"comfortable",label:"结束时间",placeholder:"2025/01/01 11:00","prepend-inner-icon":"mdi-clock-end"},{ref_for:!0},o,{variant:"outlined",onBlur:m=>s.updateEndDateTimeFromInput(u)}),{append:d(()=>[r(K,null,{default:d(()=>[...t[55]||(t[55]=[D("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:d(()=>[r(Pe,{"min-width":"500"},{default:d(()=>[r(Le,{class:"text-center py-3 bg-error-lighten-5"},{default:d(()=>[r(K,{class:"mr-2",color:"error"},{default:d(()=>[...t[56]||(t[56]=[D("mdi-clock-end",-1)])]),_:1}),t[57]||(t[57]=D(" 选择结束时间 ",-1))]),_:1}),r(Oe,{class:"pa-0"},{default:d(()=>[r(He,{"no-gutters":""},{default:d(()=>[r(he,{class:"border-e",cols:"6"},{default:d(()=>[r(Mt,{modelValue:l.endDate,"onUpdate:modelValue":[o=>l.endDate=o,o=>s.updateEndDateTime(u)],color:"error",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"6"},{default:d(()=>[r(Nt,{modelValue:l.endTime,"onUpdate:modelValue":[o=>l.endTime=o,o=>s.updateEndDateTime(u)],color:"error",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),r(nt,null,{default:d(()=>[r(Ye),r(Y,{color:"grey",variant:"text",onClick:o=>l.endDateMenu=!1},{default:d(()=>[...t[58]||(t[58]=[D(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"12",md:"2"},{default:d(()=>[r(Ae,{modelValue:l.durationMinutes,"onUpdate:modelValue":o=>l.durationMinutes=o,rules:[o=>!!o||"时长不能为空",o=>!isNaN(o)||"时长必须是数字",o=>parseInt(o)>0||"时长必须大于0",o=>parseInt(o)<=1440||"时长不能超过1440分钟(24小时)"],type:"number",min:"1",max:"1440",density:"comfortable",label:"时长(分钟)",placeholder:"例如:120","prepend-inner-icon":"mdi-timer",variant:"outlined",hint:s.durationHint(l),"persistent-hint":"",onBlur:o=>s.updateDurationFromInput(u)},null,8,["modelValue","onUpdate:modelValue","rules","hint","onBlur"])]),_:2},1024),a.enableCustomAlertTime?(j(),re(he,{key:0,cols:"12",md:"2"},{default:d(()=>[r(Ae,{modelValue:l.alertTime,"onUpdate:modelValue":o=>l.alertTime=o,rules:[o=>!!o||"提醒时间不能为空",o=>!isNaN(o)||"提醒时间必须是数字",o=>parseInt(o)>=0||"提醒时间不能为负数",o=>parseInt(o)<=120||"提醒时间不能超过120分钟"],type:"number",min:"0",max:"120",density:"comfortable",label:"提醒时间(分钟)",placeholder:"例如:15","prepend-inner-icon":"mdi-bell-ring",variant:"outlined",hint:"考试结束前提醒","persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","rules"])]),_:2},1024)):se("",!0)]),_:2},1024)])]),_:2},1024))),128))]),_:1})):(j(),pe("div",Vl,[r(K,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:d(()=>[...t[59]||(t[59]=[D(" mdi-calendar-blank ",-1)])]),_:1}),t[61]||(t[61]=c("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[62]||(t[62]=c("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置 ',-1)),r(Y,{color:"success","prepend-icon":"mdi-plus",size:"large",variant:"elevated",onClick:s.addExamInfo},{default:d(()=>[...t[60]||(t[60]=[D(" 立即添加科目 ",-1)])]),_:1},8,["onClick"])]))]),_:1})]),_:1})])):se("",!0),r(ka,{modelValue:a.deleteDialog,"onUpdate:modelValue":t[9]||(t[9]=l=>a.deleteDialog=l),"max-width":"400"},{default:d(()=>[r(Pe,null,{default:d(()=>[r(Le,{class:"d-flex align-center"},{default:d(()=>[r(K,{class:"mr-2",color:"error"},{default:d(()=>[...t[63]||(t[63]=[D("mdi-delete-alert",-1)])]),_:1}),t[64]||(t[64]=D(" 确认删除配置 ",-1))]),_:1}),r(Oe,null,{default:d(()=>[t[65]||(t[65]=D(" 确定要删除配置 ",-1)),c("strong",null,ue(a.localConfig.examName||`配置 ${n.configId}`),1),t[66]||(t[66]=D(" 吗? ",-1)),t[67]||(t[67]=c("br",null,null,-1)),t[68]||(t[68]=c("small",{class:"text-grey"},"此操作不可撤销,将会删除所有相关数据",-1))]),_:1}),r(nt,null,{default:d(()=>[r(Ye),r(Y,{color:"grey",variant:"text",onClick:t[8]||(t[8]=l=>a.deleteDialog=!1)},{default:d(()=>[...t[69]||(t[69]=[D(" 取消 ",-1)])]),_:1}),r(Y,{loading:a.deleting,color:"error",variant:"outlined",onClick:s.deleteConfig},{default:d(()=>[...t[70]||(t[70]=[D(" 删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const Bl=ma(Ga,[["render",xl],["__scopeId","data-v-99d81754"]]);export{Mt as V,Bl as _,Ya as a}; +import{d as Be}from"./dataProvider-MQ8YacC2.js";import{g as Ce,aq as je,aR as Jt,aB as dt,ar as le,as as Ue,ae as ce,aw as yt,aS as Kt,b as Ve,c as r,i as c,t as K,aT as qt,F as De,E as q,P as ot,Q as We,K as At,aU as Gt,L as Xt,aV as Zt,n as Ke,d as ge,aW as qe,v as D,au as Ft,az as we,a3 as N,a2 as Z,aX as kt,aY as Qt,av as Ne,aZ as bt,p as ye,aA as Me,y as Y,x as Ye,aJ as lt,a_ as tt,aC as ct,a$ as Et,b0 as ea,b1 as $e,b2 as ta,b3 as Ot,b4 as Ge,b5 as pt,b6 as aa,I as Yt,aO as la,b7 as na,b8 as ia,b9 as ra,ba as oa,bb as sa,bc as wt,aG as ua,Z as da,aK as ca,_ as ma,o as j,C as pe,j as re,w as d,A as se,D as ue,G as Qe,a0 as fa,z as Oe,l as Pe,B as va,q as Le,O as ha,bd as ga,J as ya,M as nt,H as ka}from"./index-BUM0TY0E.js";import{V as it}from"./VAlert-DFIvt6kt.js";import{V as ba}from"./VSkeletonLoader-DX2FpkIS.js";import{a as pa,V as et}from"./VTooltip-COe_nB02.js";import{V as Je,b as wa}from"./VChip-vdRDApTi.js";import{a as he,V as He}from"./VRow-CPw1R1BU.js";import{e as Da,f as Ca,V as Ae,g as Va}from"./VTextField-C579e7l1.js";import{V as xa}from"./VTextarea-jqnFSwaH.js";import{V as Ta}from"./VSwitch-CjVC2rsZ.js";import{u as Sa,a as Ma,V as st,b as _a,h as Ia,c as Pa,m as Na,d as Aa}from"./filter-ByuXXWRY.js";import{V as Fa}from"./VCheckboxBtn-CylQNaxd.js";import{V as Dt,m as Ea}from"./VSheet-CuIjBtz7.js";const Oa=ye({autoSelectFirst:{type:[Boolean,String]},clearOnSelect:Boolean,search:String,...Aa({filterKeys:["title"]}),...Na(),...Me(Va({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VAutocomplete"),Ya=Ce()({name:"VAutocomplete",props:Oa(),emits:{"update:focused":e=>!0,"update:search":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,t){let{slots:n}=t;const{t:i}=je(),a=Z(),s=we(!1),l=we(!0),u=we(!1),o=Z(),m=Z(),g=we(-1),p=we(null),{items:_,transformIn:S,transformOut:B}=Jt(e),{textColorClasses:y,textColorStyles:V}=dt(()=>{var h;return(h=a.value)==null?void 0:h.color}),{InputIcon:w}=Da(e),I=le(e,"search",""),M=le(e,"modelValue",[],h=>S(h===null?[null]:Ue(h)),h=>{const U=B(h);return e.multiple?U:U[0]??null}),f=N(()=>typeof e.counterValue=="function"?e.counterValue(M.value):typeof e.counterValue=="number"?e.counterValue:M.value.length),E=Ca(e),{filteredItems:x,getMatches:v}=Sa(e,_,()=>p.value??(l.value?"":I.value)),T=N(()=>e.hideSelected&&p.value===null?x.value.filter(h=>!M.value.some(U=>U.value===h.value)):x.value),L=Ne(()=>e.closableChips&&!E.isReadonly.value&&!E.isDisabled.value),$=N(()=>!!(e.chips||n.chip)),G=N(()=>$.value||!!n.selection),b=N(()=>M.value.map(h=>h.props.value)),O=N(()=>T.value.find(h=>h.type==="item"&&!h.props.disabled)),W=N(()=>{var U;return(e.autoSelectFirst===!0||e.autoSelectFirst==="exact"&&I.value===((U=O.value)==null?void 0:U.title))&&T.value.length>0&&!l.value&&!u.value}),P=N(()=>e.hideNoData&&!T.value.length||E.isReadonly.value||E.isDisabled.value),te=le(e,"menu"),H=N({get:()=>te.value,set:h=>{var U;te.value&&!h&&((U=o.value)!=null&&U.ΨopenChildren.size)||h&&P.value||(te.value=h)}}),{menuId:ke,ariaExpanded:_e,ariaControls:k}=Ma(e,H),A=Z(),R=Pa(A,a);function ae(h){e.openOnClear&&(H.value=!0),I.value=""}function C(){P.value||(H.value=!0)}function F(h){P.value||(s.value&&(h.preventDefault(),h.stopPropagation()),H.value=!H.value)}function ee(h){var U;(kt(h)||h.key==="Backspace")&&((U=a.value)==null||U.focus())}function ne(h){var ie,fe,J,de,Se;if(E.isReadonly.value)return;const U=(ie=a.value)==null?void 0:ie.selectionStart,X=M.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(h.key)&&h.preventDefault(),["Enter","ArrowDown"].includes(h.key)&&(H.value=!0),["Escape"].includes(h.key)&&(H.value=!1),W.value&&["Enter","Tab"].includes(h.key)&&O.value&&!M.value.some(oe=>{let{value:z}=oe;return z===O.value.value})&&be(O.value),h.key==="ArrowDown"&&W.value&&((fe=A.value)==null||fe.focus("next")),["Backspace","Delete"].includes(h.key)){if(!e.multiple&&G.value&&M.value.length>0&&!I.value)return be(M.value[0],!1);if(~g.value){h.preventDefault();const oe=g.value;be(M.value[g.value],!1),g.value=oe>=X-1?X-2:oe}else h.key==="Backspace"&&!I.value&&(g.value=X-1);return}if(e.multiple)if(h.key==="ArrowLeft"){if(g.value<0&&U&&U>0)return;const oe=g.value>-1?g.value-1:X-1;if(M.value[oe])g.value=oe;else{const z=((J=I.value)==null?void 0:J.length)??null;g.value=-1,(de=a.value)==null||de.setSelectionRange(z,z)}}else if(h.key==="ArrowRight"){if(g.value<0)return;const oe=g.value+1;M.value[oe]?g.value=oe:(g.value=-1,(Se=a.value)==null||Se.setSelectionRange(0,0))}else~g.value&&kt(h)&&(g.value=-1)}function me(h){if(bt(a.value,":autofill")||bt(a.value,":-webkit-autofill")){const U=_.value.find(X=>X.title===h.target.value);U&&be(U)}}function xe(){var h;e.eager&&((h=m.value)==null||h.calculateVisibleItems())}function Te(){var h;s.value&&(l.value=!0,(h=a.value)==null||h.focus()),p.value=null}function Q(h){s.value=!0,setTimeout(()=>{u.value=!0})}function Ee(h){u.value=!1}function Xe(h){(h==null||h===""&&!e.multiple&&!G.value)&&(M.value=[])}const Re=we(!1);function be(h){let U=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;if(!(!h||h.props.disabled))if(e.multiple){const X=M.value.findIndex(fe=>(e.valueComparator||Qt)(fe.value,h.value)),ie=U??!~X;if(~X){const fe=ie?[...M.value,h]:[...M.value];fe.splice(X,1),M.value=fe}else ie&&(M.value=[...M.value,h]);e.clearOnSelect&&(I.value="")}else{const X=U!==!1;M.value=X?[h]:[],p.value=l.value?"":I.value??"",I.value=X&&!G.value?h.title:"",yt(()=>{H.value=!1,l.value=!0})}}return ce(s,(h,U)=>{var X;h!==U&&(h?(Re.value=!0,I.value=e.multiple||G.value?"":String(((X=M.value.at(-1))==null?void 0:X.props.title)??""),l.value=!0,yt(()=>Re.value=!1)):(!e.multiple&&I.value==null&&(M.value=[]),H.value=!1,!l.value&&I.value&&(p.value=I.value),I.value="",g.value=-1))}),ce(I,h=>{!s.value||Re.value||(h&&(H.value=!0),l.value=!h)}),ce(H,h=>{if(!e.hideSelected&&h&&M.value.length&&l.value){const U=T.value.findIndex(X=>M.value.some(ie=>X.value===ie.value));Kt&&window.requestAnimationFrame(()=>{var X;U>=0&&((X=m.value)==null||X.scrollToIndex(U))})}h&&(p.value=null)}),ce(_,(h,U)=>{H.value||s.value&&!U.length&&h.length&&(H.value=!0)}),Ve(()=>{const h=!!(!e.hideNoData||T.value.length||n["prepend-item"]||n["append-item"]||n["no-data"]),U=M.value.length>0,X=Ae.filterProps(e);return r(Ae,q({ref:a},X,{modelValue:I.value,"onUpdate:modelValue":[ie=>I.value=ie,Xe],focused:s.value,"onUpdate:focused":ie=>s.value=ie,validationValue:M.externalValue,counterValue:f.value,dirty:U,onChange:me,class:["v-autocomplete",`v-autocomplete--${e.multiple?"multiple":"single"}`,{"v-autocomplete--active-menu":H.value,"v-autocomplete--chips":!!e.chips,"v-autocomplete--selection-slot":!!G.value,"v-autocomplete--selecting-index":g.value>-1},e.class],style:e.style,readonly:E.isReadonly.value,placeholder:U?void 0:e.placeholder,"onClick:clear":ae,"onMousedown:control":C,onKeydown:ne,"aria-expanded":_e.value,"aria-controls":k.value}),{...n,default:ie=>{let{id:fe}=ie;return c(De,null,[r(st,q({id:ke.value,ref:o,modelValue:H.value,"onUpdate:modelValue":J=>H.value=J,activator:"parent",contentClass:"v-autocomplete__content",disabled:P.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:xe,onAfterLeave:Te},e.menuProps),{default:()=>[h&&r(ot,q({ref:A,filterable:!0,selected:b.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:J=>J.preventDefault(),onKeydown:ee,onFocusin:Q,onFocusout:Ee,tabindex:"-1",selectable:!!T.value.length,"aria-live":"polite","aria-labelledby":`${fe.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},R,e.listProps),{default:()=>{var J,de,Se;return[(J=n["prepend-item"])==null?void 0:J.call(n),!T.value.length&&!e.hideNoData&&(((de=n["no-data"])==null?void 0:de.call(n))??r(We,{key:"no-data",title:i(e.noDataText)},null)),r(_a,{ref:m,renderless:!0,items:T.value,itemKey:"value"},{default:oe=>{var vt,ht,gt;let{item:z,index:Ie,itemRef:ve}=oe;const ft=q(z.props,{ref:ve,key:z.value,active:W.value&&z===O.value?!0:void 0,onClick:()=>be(z,null),"aria-posinset":Ie+1,"aria-setsize":T.value.length});return z.type==="divider"?((vt=n.divider)==null?void 0:vt.call(n,{props:z.raw,index:Ie}))??r(At,q(z.props,{key:`divider-${Ie}`}),null):z.type==="subheader"?((ht=n.subheader)==null?void 0:ht.call(n,{props:z.raw,index:Ie}))??r(Gt,q(z.props,{key:`subheader-${Ie}`}),null):((gt=n.item)==null?void 0:gt.call(n,{item:z,index:Ie,props:ft}))??r(We,q(ft,{role:"option"}),{prepend:Ze=>{let{isSelected:zt}=Ze;return c(De,null,[e.multiple&&!e.hideSelected?r(Fa,{key:z.value,modelValue:zt,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Wt=>Wt.preventDefault()},null):void 0,z.props.prependAvatar&&r(Xt,{image:z.props.prependAvatar},null),z.props.prependIcon&&r(K,{icon:z.props.prependIcon},null)])},title:()=>{var Ze;return l.value?z.title:Ia("v-autocomplete",z.title,(Ze=v(z))==null?void 0:Ze.title)}})}}),(Se=n["append-item"])==null?void 0:Se.call(n)]}})]}),M.value.map((J,de)=>{function Se(ve){ve.stopPropagation(),ve.preventDefault(),be(J,!1)}const oe=q(Je.filterProps(J.props),{"onClick:close":Se,onKeydown(ve){ve.key!=="Enter"&&ve.key!==" "||(ve.preventDefault(),ve.stopPropagation(),Se(ve))},onMousedown(ve){ve.preventDefault(),ve.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),z=$.value?!!n.chip:!!n.selection,Ie=z?Zt($.value?n.chip({item:J,index:de,props:oe}):n.selection({item:J,index:de})):void 0;if(!(z&&!Ie))return c("div",{key:J.value,class:ge(["v-autocomplete__selection",de===g.value&&["v-autocomplete__selection--selected",y.value]]),style:Ke(de===g.value?V.value:{})},[$.value?n.chip?r(qe,{key:"chip-defaults",defaults:{VChip:{closable:L.value,size:"small",text:J.title}}},{default:()=>[Ie]}):r(Je,q({key:"chip",closable:L.value,size:"small",text:J.title,disabled:J.props.disabled},oe),null):Ie??c("span",{class:"v-autocomplete__selection-text"},[J.title,e.multiple&&de!0,"click:month":()=>!0,"click:prev":()=>!0,"click:next":()=>!0,"click:prev-year":()=>!0,"click:next-year":()=>!0},setup(e,t){let{emit:n,slots:i}=t;const{t:a}=je(),s=N(()=>Array.isArray(e.disabled)?e.disabled.includes("text"):!!e.disabled),l=N(()=>Array.isArray(e.disabled)?e.disabled.includes("mode"):!!e.disabled),u=N(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-month"):!!e.disabled),o=N(()=>Array.isArray(e.disabled)?e.disabled.includes("next-month"):!!e.disabled),m=N(()=>Array.isArray(e.disabled)?e.disabled.includes("prev-year"):!!e.disabled),g=N(()=>Array.isArray(e.disabled)?e.disabled.includes("next-year"):!!e.disabled);function p(){n("click:prev")}function _(){n("click:next")}function S(){n("click:prev-year")}function B(){n("click:next-year")}function y(){n("click:year")}function V(){n("click:month")}return Ve(()=>{const w={VBtn:{density:"comfortable",variant:"text"}},I=r(Y,{"data-testid":"prev-month",disabled:u.value,icon:e.prevIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.previousMonth"),onClick:p},null),M=r(Y,{"data-testid":"next-month",disabled:o.value,icon:e.nextIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.nextMonth"),onClick:_},null),f=r(Y,{"data-testid":"prev-year",disabled:m.value,icon:e.prevIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.previousYear"),onClick:S},null),E=r(Y,{"data-testid":"next-year",disabled:g.value,icon:e.nextIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.nextYear"),onClick:B},null),x=r(Y,{class:"v-date-picker-controls__only-month-btn","data-testid":"month-btn",density:"default",disabled:s.value,text:e.monthText,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:V},null),v=r(Y,{class:"v-date-picker-controls__only-year-btn","data-testid":"year-btn",density:"default",disabled:l.value,text:e.yearText,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:y},null),T=r(Y,{class:"v-date-picker-controls__year-btn","data-testid":"year-btn",density:"default",disabled:l.value,text:e.text,appendIcon:e.modeIcon,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:y},null),L=c(De,null,[r(Y,{class:"v-date-picker-controls__month-btn","data-testid":"month-btn",height:"36",disabled:s.value,text:e.text,rounded:!0,"aria-label":a("$vuetify.datePicker.ariaLabel.selectMonth"),onClick:V},null),r(Y,{class:"v-date-picker-controls__mode-btn","data-testid":"year-btn",disabled:l.value,icon:e.modeIcon,"aria-label":a("$vuetify.datePicker.ariaLabel.selectYear"),onClick:y},null)]),$={viewMode:e.viewMode,disabled:Array.isArray(e.disabled)?e.disabled:[],monthYearText:e.text??"",monthText:e.monthText??"",yearText:e.yearText??"",openMonths:V,openYears:y,prevMonth:p,nextMonth:_,prevYear:S,nextYear:B},G=c(De,null,[e.noMonthPicker?T:L,r(Ye,null,null),c("div",{class:"v-date-picker-controls__month"},[I,M])]),b=c(De,null,[c("div",{class:"v-date-picker-controls__month"},[I,x,M]),r(Ye,null,null),c("div",{class:"v-date-picker-controls__year"},[f,v,E])]);return r(qe,{defaults:w},{default:()=>{var O;return[c("div",{class:ge(["v-date-picker-controls",`v-date-picker-controls--variant-${e.controlVariant}`]),style:{"--v-date-picker-controls-height":lt(e.controlHeight)}},[((O=i.default)==null?void 0:O.call(i,$))??c(De,null,[e.controlVariant==="modal"&&G,e.controlVariant==="docked"&&b])])]}})}),{}}}),Ua=ye({appendIcon:tt,color:String,header:String,transition:String,onClick:ea()},"VDatePickerHeader"),Vt=Ce()({name:"VDatePickerHeader",props:Ua(),emits:{click:()=>!0,"click:append":()=>!0},setup(e,t){let{emit:n,slots:i}=t;const{backgroundColorClasses:a,backgroundColorStyles:s}=ct(()=>e.color);function l(){n("click")}function u(){n("click:append")}return Ve(()=>{const o=!!(i.default||e.header),m=!!(i.append||e.appendIcon);return c("div",{class:ge(["v-date-picker-header",{"v-date-picker-header--clickable":!!e.onClick},a.value]),style:Ke(s.value),onClick:l},[i.prepend&&c("div",{key:"prepend",class:"v-date-picker-header__prepend"},[i.prepend()]),o&&r(Et,{key:"content",name:e.transition},{default:()=>{var g;return[c("div",{key:e.header,class:"v-date-picker-header__content"},[((g=i.default)==null?void 0:g.call(i))??e.header])]}}),m&&c("div",{class:"v-date-picker-header__append"},[i.append?r(qe,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VBtn:{icon:e.appendIcon,variant:"text"}}},{default:()=>{var g;return[(g=i.append)==null?void 0:g.call(i)]}}):r(Y,{key:"append-btn",icon:e.appendIcon,variant:"text",onClick:u},null)])])}),{}}}),Ba=ye({allowedDates:[Array,Function],disabled:{type:Boolean,default:null},displayValue:null,modelValue:Array,month:[Number,String],max:null,min:null,showAdjacentMonths:Boolean,year:[Number,String],weekdays:{type:Array,default:()=>[0,1,2,3,4,5,6]},weeksInMonth:{type:String,default:"dynamic"},firstDayOfWeek:{type:[Number,String],default:void 0},firstDayOfYear:{type:[Number,String],default:void 0},weekdayFormat:String},"calendar");function La(e){const t=$e(),n=le(e,"modelValue",[],y=>Ue(y).map(V=>t.date(V))),i=N(()=>e.displayValue?t.date(e.displayValue):n.value.length>0?t.date(n.value[0]):e.min?t.date(e.min):Array.isArray(e.allowedDates)?t.date(e.allowedDates[0]):t.date()),a=le(e,"year",void 0,y=>{const V=y!=null?Number(y):t.getYear(i.value);return t.startOfYear(t.setYear(t.date(),V))},y=>t.getYear(y)),s=le(e,"month",void 0,y=>{const V=y!=null?Number(y):t.getMonth(i.value),w=t.setYear(t.startOfMonth(t.date()),t.getYear(a.value));return t.setMonth(w,V)},y=>t.getMonth(y)),l=N(()=>{const y=t.toJsDate(t.startOfWeek(t.date(),e.firstDayOfWeek)).getDay();return t.getWeekdays(e.firstDayOfWeek,e.weekdayFormat).filter((V,w)=>e.weekdays.includes((w+y)%7))}),u=N(()=>{const y=t.getWeekArray(s.value,e.firstDayOfWeek),V=y.flat(),w=6*7;if(e.weeksInMonth==="static"&&V.lengthe.weekdays.includes(t.toJsDate(w).getDay())).map((w,I)=>{const M=t.toISO(w),f=!t.isSameMonth(w,s.value),E=t.isSameDay(w,t.startOfMonth(s.value)),x=t.isSameDay(w,t.endOfMonth(s.value)),v=t.isSameDay(w,s.value),T=e.weekdays.length;return{date:w,formatted:t.format(w,"keyboardDate"),isAdjacent:f,isDisabled:B(w),isEnd:x,isHidden:f&&!e.showAdjacentMonths,isSame:v,isSelected:n.value.some(L=>t.isSameDay(w,L)),isStart:E,isToday:t.isSameDay(w,V),isWeekEnd:I%T===T-1,isWeekStart:I%T===0,isoDate:M,localized:t.format(w,"dayOfMonth"),month:t.getMonth(w),year:t.getYear(w)}})}const m=N(()=>{const y=t.startOfWeek(i.value,e.firstDayOfWeek),V=[];for(let I=0;I<=6;I++)V.push(t.addDays(y,I));const w=t.date();return o(V,w)}),g=N(()=>{const y=u.value.flat(),V=t.date();return o(y,V)}),p=N(()=>u.value.map(y=>y.length?t.getWeek(y[0],e.firstDayOfWeek,e.firstDayOfYear):null)),{minDate:_,maxDate:S}=Bt(e);function B(y){if(e.disabled)return!0;const V=t.date(y);return _.value&&t.isBefore(t.endOfDay(V),_.value)||S.value&&t.isAfter(V,S.value)?!0:Array.isArray(e.allowedDates)&&e.allowedDates.length>0?!e.allowedDates.some(w=>t.isSameDay(t.date(w),V)):typeof e.allowedDates=="function"?!e.allowedDates(V):!1}return{displayValue:i,daysInMonth:g,daysInWeek:m,genDays:o,model:n,weeksInMonth:u,weekdayLabels:l,weekNumbers:p}}function Bt(e){const t=$e(),n=N(()=>{if(!e.min)return null;const l=t.date(e.min);return t.isValid(l)?l:null}),i=N(()=>{if(!e.max)return null;const l=t.date(e.max);return t.isValid(l)?l:null});function a(l){return n.value&&t.isBefore(l,n.value)?n.value:i.value&&t.isAfter(l,i.value)?i.value:l}function s(l){return(!n.value||t.isAfter(l,n.value))&&(!i.value||t.isBefore(l,i.value))}return{minDate:n,maxDate:i,clampDate:a,isInAllowedRange:s}}const Lt=ye({color:String,hideWeekdays:Boolean,multiple:[Boolean,Number,String],showWeek:Boolean,transition:{type:String,default:"picker-transition"},reverseTransition:{type:String,default:"picker-reverse-transition"},events:{type:[Array,Function,Object],default:()=>null},eventColor:{type:[Array,Function,Object,String],default:()=>null},...Me(Ba(),["displayValue"])},"VDatePickerMonth"),xt=Ce()({name:"VDatePickerMonth",props:Lt(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=Z(),{t:s}=je(),{daysInMonth:l,model:u,weekNumbers:o,weekdayLabels:m}=La(e),g=$e(),p=we(),_=we(),S=we(!1),B=Ne(()=>S.value?e.reverseTransition:e.transition);e.multiple==="range"&&u.value.length>0&&(p.value=u.value[0],u.value.length>1&&(_.value=u.value[u.value.length-1]));const y=N(()=>{const x=["number","string"].includes(typeof e.multiple)?Number(e.multiple):1/0;return u.value.length>=x});ce(l,(x,v)=>{v&&(S.value=g.isBefore(x[0].date,v[0].date))});function V(x){const v=g.startOfDay(x);if(u.value.length===0?p.value=void 0:u.value.length===1&&(p.value=u.value[0],_.value=void 0),!p.value)p.value=v,u.value=[p.value];else if(_.value)p.value=x,_.value=void 0,u.value=[p.value];else{if(g.isSameDay(v,p.value)){p.value=void 0,u.value=[];return}else g.isBefore(v,p.value)?(_.value=g.endOfDay(p.value),p.value=v):_.value=g.endOfDay(v);u.value=ta(g,p.value,_.value)}}function w(x){const v=g.format(x.date,"fullDateWithWeekday"),T=x.isToday?"currentDate":"selectDate";return s(`$vuetify.datePicker.ariaLabel.${T}`,v)}function I(x){const v=u.value.findIndex(T=>g.isSameDay(T,x));if(v===-1)u.value=[...u.value,x];else{const T=[...u.value];T.splice(v,1),u.value=T}}function M(x){e.multiple==="range"?V(x):e.multiple?I(x):u.value=[x]}function f(x){const{events:v,eventColor:T}=e;let L,$=[];if(Array.isArray(v)?L=v.includes(x):v instanceof Function?L=v(x)||!1:v?L=v[x]||!1:L=!1,L)L!==!0?$=Ue(L):typeof T=="string"?$=[T]:typeof T=="function"?$=Ue(T(x)):Array.isArray(T)?$=T:typeof T=="object"&&T!==null&&($=Ue(T[x]));else return[];return $.length?$.filter(Boolean).map(G=>typeof G=="string"?G:"surface-variant"):["surface-variant"]}function E(x){const v=f(x);return v.length?c("div",{class:"v-date-picker-month__events"},[v.map(T=>r(pa,{dot:!0,color:T},null))]):null}Ve(()=>c("div",{class:"v-date-picker-month",style:{"--v-date-picker-days-in-week":e.weekdays.length}},[e.showWeek&&c("div",{key:"weeks",class:"v-date-picker-month__weeks"},[!e.hideWeekdays&&c("div",{key:"hide-week-days",class:"v-date-picker-month__day"},[D(" ")]),o.value.map(x=>c("div",{class:ge(["v-date-picker-month__day","v-date-picker-month__day--adjacent"])},[x]))]),r(Et,{name:B.value},{default:()=>{var x;return[c("div",{ref:a,key:(x=l.value[0].date)==null?void 0:x.toString(),class:"v-date-picker-month__days"},[!e.hideWeekdays&&m.value.map(v=>c("div",{class:ge(["v-date-picker-month__day","v-date-picker-month__weekday"])},[v])),l.value.map((v,T)=>{var $;const L={props:{class:"v-date-picker-month__day-btn",color:v.isSelected||v.isToday?e.color:void 0,disabled:v.isDisabled,icon:!0,ripple:!1,variant:v.isSelected?"flat":v.isToday?"outlined":"text","aria-label":w(v),"aria-current":v.isToday?"date":void 0,onClick:()=>M(v.date)},item:v,i:T};return y.value&&!v.isSelected&&(v.isDisabled=!0),c("div",{class:ge(["v-date-picker-month__day",{"v-date-picker-month__day--adjacent":v.isAdjacent,"v-date-picker-month__day--hide-adjacent":v.isHidden,"v-date-picker-month__day--selected":v.isSelected,"v-date-picker-month__day--week-end":v.isWeekEnd,"v-date-picker-month__day--week-start":v.isWeekStart}]),"data-v-date":v.isDisabled?void 0:v.isoDate},[(e.showAdjacentMonths||!v.isAdjacent)&&((($=i.day)==null?void 0:$.call(i,L))??r(Y,L.props,{default:()=>[v.localized,E(v.isoDate)]}))])})])]}})]))}}),Rt=ye({color:String,height:[String,Number],min:null,max:null,modelValue:Number,year:Number,allowedMonths:[Array,Function]},"VDatePickerMonths"),Tt=Ce()({name:"VDatePickerMonths",props:Rt(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=$e(),s=le(e,"modelValue"),l=N(()=>{let o=a.startOfYear(a.date());return e.year&&(o=a.setYear(o,e.year)),Ge(12).map(m=>{const g=a.format(o,"monthShort"),p=a.format(o,"month"),_=!!(!u(m)||e.min&&a.isAfter(a.startOfMonth(a.date(e.min)),o)||e.max&&a.isAfter(o,a.startOfMonth(a.date(e.max))));return o=a.getNextMonth(o),{isDisabled:_,text:g,label:p,value:m}})});Ot(()=>{s.value=s.value??a.getMonth(a.date())});function u(o){return Array.isArray(e.allowedMonths)&&e.allowedMonths.length?e.allowedMonths.includes(o):typeof e.allowedMonths=="function"?e.allowedMonths(o):!0}return Ve(()=>c("div",{class:"v-date-picker-months",style:{height:lt(e.height)}},[c("div",{class:"v-date-picker-months__content"},[l.value.map((o,m)=>{var _;const g={active:s.value===m,ariaLabel:o.label,color:s.value===m?e.color:void 0,disabled:o.isDisabled,rounded:!0,text:o.text,variant:s.value===o.value?"flat":"text",onClick:()=>p(m)};function p(S){if(s.value===S){n("update:modelValue",s.value);return}s.value=S}return((_=i.month)==null?void 0:_.call(i,{month:o,i:m,props:g}))??r(Y,q({key:"month"},g),null)})])])),{}}}),Ht=ye({color:String,height:[String,Number],min:null,max:null,modelValue:Number,allowedYears:[Array,Function]},"VDatePickerYears"),St=Ce()({name:"VDatePickerYears",props:Ht(),directives:{vIntersect:pt},emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=$e(),s=le(e,"modelValue"),l=we(!1),u=N(()=>{const p=a.getYear(a.date());let _=p-100,S=p+52;e.min&&(_=a.getYear(a.date(e.min))),e.max&&(S=a.getYear(a.date(e.max)));let B=a.startOfYear(a.date());return B=a.setYear(B,_),Ge(S-_+1,_).map(y=>{const V=a.format(B,"year");return B=a.setYear(B,a.getYear(B)+1),{text:V,value:y,isDisabled:!g(y)}})});Ot(()=>{s.value=s.value??a.getYear(a.date())});const o=aa();function m(){var p;(p=o.el)==null||p.scrollIntoView({block:"center"})}function g(p){return Array.isArray(e.allowedYears)&&e.allowedYears.length?e.allowedYears.includes(p):typeof e.allowedYears=="function"?e.allowedYears(p):!0}return Ve(()=>Yt(c("div",{class:"v-date-picker-years",style:{height:lt(e.height)}},[c("div",{class:"v-date-picker-years__content",onFocus:()=>{var p;return(p=o.el)==null?void 0:p.focus()},onFocusin:()=>l.value=!0,onFocusout:()=>l.value=!1,tabindex:l.value?-1:0},[u.value.map((p,_)=>{var B;const S={ref:s.value===p.value?o:void 0,active:s.value===p.value,color:s.value===p.value?e.color:void 0,rounded:!0,text:p.text,disabled:p.isDisabled,variant:s.value===p.value?"flat":"text",onClick:()=>{if(s.value===p.value){n("update:modelValue",s.value);return}s.value=p.value}};return((B=i.year)==null?void 0:B.call(i,{year:p,i:_,props:S}))??r(Y,q({key:"month"},S),null)})])]),[[pt,{handler:m},null,{once:!0}]])),{}}}),Ra=la("v-picker-title"),mt=ye({bgColor:String,divided:Boolean,landscape:Boolean,title:String,hideHeader:Boolean,hideTitle:Boolean,...Ea()},"VPicker"),at=Ce()({name:"VPicker",props:mt(),setup(e,t){let{slots:n}=t;const{backgroundColorClasses:i,backgroundColorStyles:a}=ct(()=>e.color);return Ve(()=>{const s=Dt.filterProps(e),l=!e.hideTitle&&!!(e.title||n.title);return r(Dt,q(s,{color:e.bgColor,class:["v-picker",{"v-picker--divided":e.divided,"v-picker--landscape":e.landscape,"v-picker--with-actions":!!n.actions},e.class],style:e.style}),{default:()=>{var u;return[!e.hideHeader&&c("div",{key:"header",class:ge(["v-picker__header-wrapper",i.value]),style:Ke([a.value])},[l&&r(Ra,{key:"picker-title"},{default:()=>{var o;return[((o=n.title)==null?void 0:o.call(n))??e.title]}}),n.header&&c("div",{class:"v-picker__header"},[n.header()])]),c("div",{class:"v-picker__body"},[(u=n.default)==null?void 0:u.call(n)]),n.actions&&r(qe,{defaults:{VBtn:{slim:!0,variant:"text"}}},{default:()=>[c("div",{class:"v-picker__actions"},[n.actions()])]})]}})}),{}}}),Ha=ye({header:{type:String,default:"$vuetify.datePicker.header"},headerColor:String,headerDateFormat:{type:String,default:"normalDateWithWeekday"},landscapeHeaderWidth:[Number,String],...Me(Ut(),["active","monthText","yearText"]),...Lt({weeksInMonth:"static"}),...Me(Rt(),["modelValue"]),...Me(Ht(),["modelValue"]),...mt({title:"$vuetify.datePicker.title"}),modelValue:null},"VDatePicker"),Mt=Ce()({name:"VDatePicker",props:Ha(),emits:{"update:modelValue":e=>!0,"update:month":e=>!0,"update:year":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const a=$e(),{t:s}=je(),{rtlClasses:l}=na(),u=le(e,"modelValue",void 0,C=>Ue(C).map(F=>a.date(F)),C=>e.multiple?C:C[0]),o=le(e,"viewMode"),{minDate:m,maxDate:g,clampDate:p}=Bt(e),_=N(()=>{var ee;const C=a.date(),F=(ee=u.value)!=null&&ee[0]?a.date(u.value[0]):p(C);return F&&a.isValid(F)?F:C}),S=Ne(()=>e.headerColor??e.color),B=le(e,"month"),y=N({get:()=>Number(B.value??a.getMonth(a.startOfMonth(_.value))),set:C=>B.value=C}),V=le(e,"year"),w=N({get:()=>Number(V.value??a.getYear(a.startOfYear(a.setMonth(_.value,y.value)))),set:C=>V.value=C}),I=we(!1),M=N(()=>{if(e.multiple&&u.value.length>1)return s("$vuetify.datePicker.itemsSelected",u.value.length);const C=u.value[0]&&a.isValid(u.value[0])?a.format(a.date(u.value[0]),e.headerDateFormat):s(e.header);return e.landscape&&C.split(" ").length===3?C.replace(" ",` +`):C}),f=Ne(()=>{let C=a.date();return C=a.setDate(C,1),C=a.setMonth(C,y.value),C=a.setYear(C,w.value),C}),E=Ne(()=>a.format(f.value,"monthAndYear")),x=Ne(()=>a.format(f.value,"monthShort")),v=Ne(()=>a.format(f.value,"year")),T=Ne(()=>`date-picker-header${I.value?"-reverse":""}-transition`),L=N(()=>{if(e.disabled)return!0;const C=[];if(o.value!=="month")C.push("prev-month","next-month","prev-year","next-year");else{let F=a.date();if(F=a.startOfMonth(F),F=a.setMonth(F,y.value),F=a.setYear(F,w.value),m.value){const ee=a.addDays(a.startOfMonth(F),-1),ne=a.addDays(a.startOfYear(F),-1);a.isAfter(m.value,ee)&&C.push("prev-month"),a.isAfter(m.value,ne)&&C.push("prev-year")}if(g.value){const ee=a.addDays(a.endOfMonth(F),1),ne=a.addDays(a.endOfYear(F),1);a.isAfter(ee,g.value)&&C.push("next-month"),a.isAfter(ne,g.value)&&C.push("next-year")}}return C}),$=N(()=>e.allowedYears||O),G=N(()=>e.allowedMonths||W);function b(C,F){const ee=e.allowedDates;if(typeof ee!="function")return!0;const ne=1+ra(a,C,F);for(let me=0;me0?y.value--:(w.value--,y.value=11,ae()),R()}function H(){if(w.value++,g.value){const C=String(y.value+1).padStart(2,"0"),F=a.parseISO(`${w.value}-${C}-01`);a.isAfter(F,g.value)&&(y.value=a.getMonth(g.value))}ae()}function ke(){if(w.value--,m.value){const C=String(y.value+1).padStart(2,"0"),F=a.endOfMonth(a.parseISO(`${w.value}-${C}-01`));a.isAfter(m.value,F)&&(y.value=a.getMonth(m.value))}ae()}function _e(){o.value="month"}function k(){o.value=o.value==="months"?"month":"months"}function A(){o.value=o.value==="year"?"month":"year"}function R(){o.value==="months"&&k()}function ae(){o.value==="year"&&A()}return ce(u,(C,F)=>{const ee=Ue(F),ne=Ue(C);if(!ne.length)return;const me=a.date(ee[ee.length-1]),xe=a.date(ne[ne.length-1]);if(a.isSameDay(me,xe))return;const Te=a.getMonth(xe),Q=a.getYear(xe);Te!==y.value&&(y.value=Te,R()),Q!==w.value&&(w.value=Q,ae()),I.value=a.isBefore(me,xe)}),Ve(()=>{const C=at.filterProps(e),F=Me(Ct.filterProps(e),["viewMode"]),ee=Vt.filterProps(e),ne=xt.filterProps(e),me=Me(Tt.filterProps(e),["modelValue"]),xe=Me(St.filterProps(e),["modelValue"]),Te={color:S.value,header:M.value,transition:T.value};return r(at,q(C,{color:S.value,class:["v-date-picker",`v-date-picker--${o.value}`,{"v-date-picker--show-week":e.showWeek},l.value,e.class],style:[{"--v-date-picker-landscape-header-width":lt(e.landscapeHeaderWidth)},e.style]}),{title:()=>{var Q;return((Q=i.title)==null?void 0:Q.call(i))??c("div",{class:"v-date-picker__title"},[s(e.title)])},header:()=>i.header?r(qe,{defaults:{VDatePickerHeader:{...Te}}},{default:()=>{var Q;return[(Q=i.header)==null?void 0:Q.call(i,Te)]}}):r(Vt,q({key:"header"},ee,Te,{onClick:o.value!=="month"?_e:void 0}),{prepend:i.prepend,append:i.append}),default:()=>c(De,null,[r(Ct,q(F,{disabled:L.value,viewMode:o.value,text:E.value,monthText:x.value,yearText:v.value,"onClick:next":P,"onClick:prev":te,"onClick:nextYear":H,"onClick:prevYear":ke,"onClick:month":k,"onClick:year":A}),{default:i.controls}),r(ia,{hideOnLeave:!0},{default:()=>[o.value==="months"?r(Tt,q({key:"date-picker-months"},me,{modelValue:y.value,"onUpdate:modelValue":[Q=>y.value=Q,R],min:m.value,max:g.value,year:w.value,allowedMonths:G.value}),{month:i.month}):o.value==="year"?r(St,q({key:"date-picker-years"},xe,{modelValue:w.value,"onUpdate:modelValue":[Q=>w.value=Q,ae],min:m.value,max:g.value,allowedYears:$.value}),{year:i.year}):r(xt,q({key:"date-picker-month"},ne,{modelValue:u.value,"onUpdate:modelValue":Q=>u.value=Q,month:y.value,"onUpdate:month":[Q=>y.value=Q,R],year:w.value,"onUpdate:year":[Q=>w.value=Q,ae],min:m.value,max:g.value}),{day:i.day})]})]),actions:i.actions})}),{}}}),ja=ye({allowedValues:Function,ampm:Boolean,color:String,disabled:Boolean,displayedValue:null,double:Boolean,format:{type:Function,default:e=>e},max:{type:Number,required:!0},min:{type:Number,required:!0},scrollable:Boolean,readonly:Boolean,rotate:{type:Number,default:0},step:{type:Number,default:1},modelValue:{type:Number}},"VTimePickerClock"),_t=Ce()({name:"VTimePickerClock",props:ja(),emits:{change:e=>!0,input:e=>!0},setup(e,t){let{emit:n}=t;const i=Z(null),a=Z(null),s=Z(void 0),l=Z(!1),u=Z(null),o=Z(null),m=sa(k=>n("change",k),750),{textColorClasses:g,textColorStyles:p}=dt(()=>e.color),{backgroundColorClasses:_,backgroundColorStyles:S}=ct(()=>e.color),B=N(()=>e.max-e.min+1),y=N(()=>e.double?B.value/2:B.value),V=N(()=>360/y.value),w=N(()=>V.value*Math.PI/180),I=N(()=>e.modelValue==null?e.min:e.modelValue),M=N(()=>.62),f=N(()=>{const k=[];for(let A=e.min;A<=e.max;A=A+e.step)k.push(A);return k});ce(()=>e.modelValue,k=>{s.value=k});function E(k){s.value!==k&&(s.value=k),n("input",k)}function x(k){return!e.allowedValues||e.allowedValues(k)}function v(k){if(!e.scrollable||e.disabled)return;k.preventDefault();const A=Math.sign(-k.deltaY||1);let R=I.value;do R=R+A,R=(R-e.min+B.value)%B.value+e.min;while(!x(R)&&R!==I.value);R!==e.displayedValue&&E(R),m(R)}function T(k){return e.double&&k-e.min>=y.value}function L(k){return T(k)?M.value:1}function $(k){const A=e.rotate*Math.PI/180;return{x:Math.sin((k-e.min)*w.value+A)*L(k),y:-Math.cos((k-e.min)*w.value+A)*L(k)}}function G(k,A){const R=(Math.round(k/V.value)+(A?y.value:0))%B.value+e.min;return k<360-V.value/2?R:A?e.max-y.value+1:e.min}function b(k){const{x:A,y:R}=$(k);return{left:`${Math.round(50+A*50)}%`,top:`${Math.round(50+R*50)}%`}}function O(k,A){const R=A.x-k.x,ae=A.y-k.y;return Math.sqrt(R*R+ae*ae)}function W(k,A){const R=2*Math.atan2(A.y-k.y-O(k,A),A.x-k.x);return Math.abs(R*180/Math.PI)}function P(k){u.value===null&&(u.value=k),o.value=k,E(k)}function te(k){var Xe,Re;if(k.preventDefault(),!l.value&&k.type!=="click"||!i.value)return;const{width:A,top:R,left:ae}=(Xe=i.value)==null?void 0:Xe.getBoundingClientRect(),{width:C}=((Re=a.value)==null?void 0:Re.getBoundingClientRect())??{width:0},{clientX:F,clientY:ee}="touches"in k?k.touches[0]:k,ne={x:A/2,y:-A/2},me={x:F-ae,y:R-ee},xe=Math.round(W(ne,me)-e.rotate+360)%360,Te=e.double&&O(ne,me)<(C+C*M.value)/4,Q=Math.ceil(15/V.value);let Ee;for(let be=0;bec("div",{class:ge([{"v-time-picker-clock":!0,"v-time-picker-clock--indeterminate":e.modelValue==null,"v-time-picker-clock--readonly":e.readonly}]),onMousedown:H,onTouchstart:H,onWheel:v,ref:i},[c("div",{class:"v-time-picker-clock__inner",ref:a},[c("div",{class:ge([{"v-time-picker-clock__hand":!0,"v-time-picker-clock__hand--inner":T(e.modelValue)},g.value]),style:Ke([{transform:`rotate(${e.rotate+V.value*(I.value-e.min)}deg) scaleY(${L(I.value)})`},p.value])},null),f.value.map(k=>{const A=k===I.value;return c("div",{class:ge([{"v-time-picker-clock__item":!0,"v-time-picker-clock__item--active":A,"v-time-picker-clock__item--disabled":e.disabled||!x(k)},A&&_.value]),style:Ke([b(k),A&&S.value])},[c("span",null,[e.format(k)])])})])]))}}),$a=ye({active:Boolean,color:String,disabled:Boolean,label:String,modelValue:String,readonly:Boolean},"VTimePickerField"),rt=Ce()({name:"VTimePickerField",inheritAttrs:!1,props:$a(),emits:{"update:modelValue":e=>!0},setup(e,t){let{emit:n,attrs:i}=t;const{textColorClasses:a,textColorStyles:s}=dt(()=>e.color),l=Z(),u=we(!1);function o(m){if(["Backspace","Delete"].includes(m.key)){m.preventDefault();const g=m.target;g.value="",n("update:modelValue",null)}}return Ve(()=>c("div",null,[r(Ae,q({ref:l,_as:"VTimePickerField",autocomplete:"off",class:["v-time-picker-controls__time__field",{"v-time-picker-controls__time__field--active":e.active},e.active?a.value:[]],style:e.active?s.value:[],disabled:e.disabled,variant:"solo-filled",inputmode:"numeric",hideDetails:!0,flat:!0,modelValue:e.modelValue??(u.value?"":"--"),"onUpdate:modelValue":m=>n("update:modelValue",m),onKeydown:o,onFocus:()=>u.value=!0,onBlur:()=>u.value=!1},i),null),c("div",{class:"v-time-picker-controls__field-label"},[e.label])])),Ft({},l)}});function Fe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:2;return String(e).padStart(t,"0")}function jt(e){return e?(e-1)%12+1:12}function ut(e,t){return e%12+(t==="pm"?12:0)}function ze(e){const t=e.replaceAll(/\D/g,"");return t.length>0?Number(t):null}function za(e,t,n){if(n){if(e===12&&t)return{value:1};if(e===11&&t)return{value:12,togglePeriod:!0};if(e===12&&!t)return{value:11,togglePeriod:!0};if(e===1&&!t)return{value:12}}else{if(e===23&&t)return{value:0};if(e===0&&!t)return{value:23}}return{value:e+(t?1:-1)}}function It(e,t){return e===59&&t?0:e===0&&!t?59:e+(t?1:-1)}const Wa=ye({ampm:Boolean,color:String,disabled:Boolean,hour:[Number,String],minute:[Number,String],second:[Number,String],period:String,readonly:Boolean,useSeconds:Boolean,value:Number,viewMode:String},"VTimePickerControls"),Pt=Ce()({name:"VTimePickerControls",props:Wa(),emits:{"update:period":e=>!0,"update:viewMode":e=>!0,"update:hour":e=>!0,"update:minute":e=>!0,"update:second":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const{t:a}=je(),s={in:f=>{if(f==null||isNaN(Number(f)))return null;const E=Number(f);return e.ampm?Fe(jt(E)):Fe(E)},out:f=>{if(isNaN(Number(f))||f==null||f==="")return null;const E=typeof f=="string"?ze(f):Number(f);return E===null?null:e.ampm?ut(E,e.period??"am"):wt(E,0,23)}},l=le(e,"hour",void 0,s.in,s.out),u={in:f=>f!=null&&!isNaN(Number(f))?Fe(`${f}`):null,out:f=>{if(isNaN(Number(f))||f==null||f==="")return null;const E=typeof f=="string"?ze(f):Number(f);return E!==null?wt(E,0,59):null}},o=le(e,"minute",void 0,u.in,u.out),m=le(e,"second",void 0,u.in,u.out);function g(f){if(!["ArrowUp","ArrowDown"].includes(f.key))return;f.preventDefault(),f.stopPropagation();const E=Number(l.value??0),x=e.ampm?e.period??"am":null,{value:v,togglePeriod:T}=za(E,f.key==="ArrowUp",x);l.value=Fe(v),T&&n("update:period",e.period==="am"?"pm":"am")}function p(f){["ArrowUp","ArrowDown"].includes(f.key)&&(f.preventDefault(),f.stopPropagation(),o.value=It(Number(o.value),f.key==="ArrowUp"))}function _(f){["ArrowUp","ArrowDown"].includes(f.key)&&(f.preventDefault(),f.stopPropagation(),m.value=It(Number(m.value),f.key==="ArrowUp"))}function S(f,E,x){return v=>{if(!v.data)return;const T=v.target,{value:L,selectionStart:$,selectionEnd:G}=T??{};if(ze(v.data)===null){v.preventDefault();return}const b=L?L.slice(0,$)+v.data+L.slice(G):v.data;if(b.length>2){if($===G&&G===0&&v.data.trim().startsWith("0")){v.preventDefault(),T.value=b.trim().substring(0,2),x(T.value),v.data.trim().length===1&&T.setSelectionRange(1,1);return}if($===G&&G===1&&L.startsWith("0")){v.preventDefault(),T.value=b.trim().substring(0,2),x(T.value);return}const W=e.viewMode==="hour"?e.ampm?12:23:59;if(ze(b)>W){v.preventDefault(),T.value=Fe(String(ze(v.data)).substring(0,2)),x(T.value);return}}const O=f(b);E(O)&&v.preventDefault()}}const B=Z(),y=Z(),V=Z();ce(()=>e.viewMode,(f,E)=>{switch(E){case"hour":B.value.blur();break;case"minute":y.value.blur();break;case"second":V.value.blur();break}});const w=S(s.out,f=>s.in(f)===l.value,f=>l.value=f),I=S(u.out,f=>u.in(f)===o.value,f=>o.value=f),M=S(u.out,f=>u.in(f)===m.value,f=>m.value=f);return Ve(()=>c("div",{class:"v-time-picker-controls"},[c("div",{class:ge({"v-time-picker-controls__time":!0,"v-time-picker-controls__time--with-ampm":e.ampm,"v-time-picker-controls__time--with-seconds":e.useSeconds})},[r(rt,{ref:B,active:e.viewMode==="hour",color:e.color,disabled:e.disabled,label:a("$vuetify.timePicker.hour"),modelValue:l.value,"onUpdate:modelValue":f=>l.value=f,onKeydown:g,onBeforeinput:w,onFocus:()=>n("update:viewMode","hour")},null),c("span",{class:"v-time-picker-controls__time__separator"},[D(":")]),r(rt,{ref:y,active:e.viewMode==="minute",color:e.color,disabled:e.disabled,label:a("$vuetify.timePicker.minute"),modelValue:o.value,"onUpdate:modelValue":f=>o.value=f,onKeydown:p,onBeforeinput:I,onFocus:()=>n("update:viewMode","minute")},null),e.useSeconds&&c("span",{key:"secondsDivider",class:"v-time-picker-controls__time__separator"},[D(":")]),e.useSeconds&&r(rt,{key:"secondsVal",ref:V,active:e.viewMode==="second",color:e.color,disabled:e.disabled,label:a("$vuetify.timePicker.second"),modelValue:m.value,"onUpdate:modelValue":f=>m.value=f,onKeydown:_,onBeforeinput:M,onFocus:()=>n("update:viewMode","second")},null),e.ampm&&c("div",{class:"v-time-picker-controls__ampm"},[r(Y,{active:e.period==="am",color:e.period==="am"?e.color:void 0,class:ge({"v-time-picker-controls__ampm__am":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="am"}),disabled:e.disabled,text:a("$vuetify.timePicker.am"),variant:e.disabled&&e.period==="am"?"elevated":"tonal",onClick:()=>e.period!=="am"?n("update:period","am"):null},null),r(Y,{active:e.period==="pm",color:e.period==="pm"?e.color:void 0,class:ge({"v-time-picker-controls__ampm__pm":!0,"v-time-picker-controls__ampm__btn":!0,"v-time-picker-controls__ampm__btn__active":e.period==="pm"}),disabled:e.disabled,text:a("$vuetify.timePicker.pm"),variant:e.disabled&&e.period==="pm"?"elevated":"tonal",onClick:()=>e.period!=="pm"?n("update:period","pm"):null},null)])])])),{}}}),Ja=Ge(24),$t=Ge(12),Ka=$t.map(e=>e+12);Ge(60);const qa=ye({allowedHours:[Function,Array],allowedMinutes:[Function,Array],allowedSeconds:[Function,Array],disabled:Boolean,format:{type:String,default:"ampm"},max:String,min:String,viewMode:{type:String,default:"hour"},period:{type:String,default:"am",validator:e=>["am","pm"].includes(e)},modelValue:null,readonly:Boolean,scrollable:Boolean,useSeconds:Boolean,variant:{type:String,default:"dial"},...Me(mt({title:"$vuetify.timePicker.title"}),["landscape"]),...ca()},"VTimePicker"),Nt=Ce()({name:"VTimePicker",props:qa(),emits:{"update:hour":e=>!0,"update:minute":e=>!0,"update:period":e=>!0,"update:second":e=>!0,"update:modelValue":e=>!0,"update:viewMode":e=>!0},setup(e,t){let{emit:n,slots:i}=t;const{t:a}=je(),{densityClasses:s}=ua(e),l=Z(null),u=Z(null),o=Z(null),m=Z(null),g=Z(null),p=Z(null),_=le(e,"period","am"),S=le(e,"viewMode","hour"),B=Z(null),y=Z(null),V=N(()=>{let b;if(e.allowedHours instanceof Array?b=P=>e.allowedHours.includes(P):b=e.allowedHours,!e.min&&!e.max)return b;const O=e.min?Number(e.min.split(":")[0]):0,W=e.max?Number(e.max.split(":")[0]):23;return P=>P>=Number(O)&&P<=Number(W)&&(!b||b(P))}),w=N(()=>{let b;const O=!V.value||l.value===null||V.value(l.value);if(e.allowedMinutes instanceof Array?b=k=>e.allowedMinutes.includes(k):b=e.allowedMinutes,!e.min&&!e.max)return O?b:()=>!1;const[W,P]=e.min?e.min.split(":").map(Number):[0,0],[te,H]=e.max?e.max.split(":").map(Number):[23,59],ke=W*60+Number(P),_e=te*60+Number(H);return k=>{const A=60*l.value+k;return A>=ke&&A<=_e&&O&&(!b||b(k))}}),I=N(()=>{let b;const W=(!V.value||l.value===null||V.value(l.value))&&(!w.value||u.value===null||w.value(u.value));if(e.allowedSeconds instanceof Array?b=ae=>e.allowedSeconds.includes(ae):b=e.allowedSeconds,!e.min&&!e.max)return W?b:()=>!1;const[P,te,H]=e.min?e.min.split(":").map(Number):[0,0,0],[ke,_e,k]=e.max?e.max.split(":").map(Number):[23,59,59],A=P*3600+te*60+Number(H||0),R=ke*3600+_e*60+Number(k||0);return ae=>{const C=3600*l.value+60*u.value+ae;return C>=A&&C<=R&&W&&(!b||b(ae))}}),M=N(()=>e.format==="ampm"),f=Ne(()=>e.modelValue!==null&&l.value===null&&u.value===null&&(!e.useSeconds||o.value===null));function E(){const b=x();b!==null&&b!==e.modelValue&&n("update:modelValue",b),f.value&&n("update:modelValue",null)}ce(l,E),ce(u,E),ce(o,E),ce(()=>e.period,b=>L(b)),ce(()=>e.modelValue,b=>v(b)),ce(()=>e.useSeconds,(b,O)=>{O&&!b&&S.value==="second"&&(S.value="minute"),!b&&o.value!==null&&(o.value=null)}),da(()=>{v(e.modelValue)});function x(){return l.value!=null&&u.value!=null&&(!e.useSeconds||o.value!=null)?`${Fe(l.value)}:${Fe(u.value)}`+(e.useSeconds?`:${Fe(o.value)}`:""):null}function v(b){if(b==null||b==="")l.value=null,u.value=null,o.value=null;else if(b instanceof Date)l.value=b.getHours(),u.value=b.getMinutes(),o.value=b.getSeconds();else{const[O,,W,,P,te]=b.trim().toLowerCase().match(/^(\d+):(\d+)(:(\d+))?([ap]m)?$/)||new Array(6);l.value=te?ut(parseInt(O,10),te):parseInt(O,10),u.value=parseInt(W,10),o.value=parseInt(P||0,10)}_.value=l.value==null||l.value<12?"am":"pm"}function T(b,O){const W=V.value;if(!W)return O;const P=M.value?O<12?$t:Ka:Ja;return((P.find(H=>W((H+O)%P.length+P[0]))||0)+O)%P.length+P[0]}function L(b){if(_.value=b,l.value!=null){const O=l.value+(_.value==="am"?-12:12);l.value=T("hour",O)}return n("update:period",b),E(),!0}function $(b){S.value==="hour"?l.value=M.value?ut(b,_.value):b:S.value==="minute"?u.value=b:o.value=b}function G(b){switch(S.value||"hour"){case"hour":n("update:hour",b);break;case"minute":n("update:minute",b);break;case"second":n("update:second",b);break}const O=l.value!==null&&u.value!==null&&(e.useSeconds?o.value!==null:!0);S.value==="hour"?S.value="minute":e.useSeconds&&S.value==="minute"&&(S.value="second"),!(l.value===m.value&&u.value===g.value&&(!e.useSeconds||o.value===p.value)||x()===null)&&(m.value=l.value,g.value=u.value,e.useSeconds&&(p.value=o.value),O&&E())}Ve(()=>{const b=Me(at.filterProps(e),["hideHeader"]),O=Pt.filterProps(e),W=_t.filterProps(Me(e,["format","modelValue","min","max"]));return r(at,q(b,{color:void 0,class:["v-time-picker",`v-time-picker--variant-${e.variant}`,e.class,s.value],hideHeader:e.hideHeader&&e.variant!=="input",style:e.style}),{title:()=>{var P;return((P=i.title)==null?void 0:P.call(i))??c("div",{class:"v-time-picker__title"},[a(e.title)])},header:()=>r(Pt,q(O,{ampm:M.value,hour:l.value,minute:u.value,period:_.value,second:o.value,viewMode:S.value,"onUpdate:hour":P=>l.value=P,"onUpdate:minute":P=>u.value=P,"onUpdate:period":P=>L(P),"onUpdate:second":P=>o.value=P,"onUpdate:viewMode":P=>S.value=P,ref:B}),null),default:()=>r(_t,q(W,{allowedValues:S.value==="hour"?V.value:S.value==="minute"?w.value:I.value,double:S.value==="hour"&&!M.value,format:S.value==="hour"?M.value?jt:P=>P:P=>Fe(P,2),max:S.value==="hour"?M.value&&_.value==="am"?11:23:59,min:S.value==="hour"&&M.value&&_.value==="pm"?12:0,size:20,step:S.value==="hour"?1:5,modelValue:S.value==="hour"?l.value:S.value==="minute"?u.value:o.value,onChange:G,onInput:$,ref:y}),null),actions:i.actions})})}}),Ga={name:"ExamConfigEditor",props:{configId:{type:String,required:!0},dialogMode:{type:Boolean,default:!1}},emits:["saved","error","opened","deleted"],data(){return{localConfig:{examName:"",message:"",room:"",examInfos:[]},loading:!1,saving:!1,deleting:!1,deleteDialog:!1,error:"",success:"",isEditMode:!1,showJsonPreview:!1,availableSubjects:[],customSubjectInput:"",enableCustomAlertTime:!1,defaultExamTips:["请保持卷面整洁,字迹清晰,诚信应考。在听到终考铃时立刻起立,停止作答。","沉着 冷静 细心 守记","答题不守记,自己两行泪。"]}},computed:{formattedJson(){try{return JSON.stringify(this.localConfig,null,2)}catch(e){return console.error("格式化JSON时出错:",e),"无效的JSON格式"}},formattedStorageJson(){try{const e={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(t=>({name:t.name,start:this.formatDisplayDateTime(t.start),end:this.formatDisplayDateTime(t.end),alertTime:parseInt(t.alertTime)||15}))};return JSON.stringify(e,null,2)}catch(e){return console.error("格式化存储JSON时出错:",e),"无效的JSON格式"}},isValidConfig(){return this.localConfig.examName&&this.localConfig.message&&this.localConfig.examInfos&&this.localConfig.examInfos.length>0&&this.localConfig.examInfos.every(e=>e.name&&e.start&&e.end)},validationErrors(){const e=[];if((!this.localConfig.examName||this.localConfig.examName.trim()==="")&&e.push("考试名称不能为空"),(!this.localConfig.message||this.localConfig.message.trim()==="")&&e.push("考试提示不能为空"),!this.localConfig.examInfos||this.localConfig.examInfos.length===0)e.push("至少需要添加一个考试科目");else{this.localConfig.examInfos.forEach((t,n)=>{const i=`第${n+1}个科目`;if((!t.name||t.name.trim()==="")&&e.push(`${i}的名称不能为空`),t.start||e.push(`${i}的开始时间不能为空`),t.end||e.push(`${i}的结束时间不能为空`),t.start&&t.end){const a=new Date(t.start),s=new Date(t.end);isNaN(a.getTime())&&e.push(`${i}的开始时间格式不正确`),isNaN(s.getTime())&&e.push(`${i}的结束时间格式不正确`),!isNaN(a.getTime())&&!isNaN(s.getTime())&&(s<=a&&e.push(`${i}的结束时间必须晚于开始时间`),(s-a)/(1e3*60*60)>24&&e.push(`${i}的考试时长不能超过24小时`))}});for(let t=0;tu&&e.push(`第${t+1}个科目与第${n+1}个科目的时间有重叠`)}}}return e},hasValidationErrors(){return this.validationErrors.length>0}},watch:{configId:{immediate:!0,handler(e){e&&this.loadConfig()}}},created(){this.loadSubjects()},methods:{async loadSubjects(){try{const e=await Be.loadData("classworks-config-subject");e&&Array.isArray(e)?this.availableSubjects=e.sort((t,n)=>(t.order??0)-(n.order??0)).map(t=>({name:t.name,order:t.order??0})):this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}catch(e){console.warn("加载科目列表失败,使用默认列表:",e),this.availableSubjects=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8}]}},autoFillRemaining(){if(this.localConfig.examInfos.length===0)return;let e=null;for(let t=this.localConfig.examInfos.length-1;t>=0;t--)if(this.localConfig.examInfos[t].end){e=new Date(this.localConfig.examInfos[t].end);break}e||(e=new Date);for(let t=0;t12)return`${t}月份不合法(1-12)`;if(g<1||g>31)return`${t}日期不合法(1-31)`;if(p<0||p>23)return`${t}小时不合法(0-23)`;if(_<0||_>59)return`${t}分钟不合法(0-59)`;const S=new Date(o,m-1,g,p,_);return isNaN(S.getTime())?`${t}日期不存在`:S.getMonth()!==m-1||S.getDate()!==g?`${t}日期不存在`:!0},validateEndAfterStart(e){if(!e.startFormatted||!e.endFormatted)return!0;try{const t=new Date(e.start||e.startFormatted.replace(/\//g,"-")),n=new Date(e.end||e.endFormatted.replace(/\//g,"-"));return isNaN(t.getTime())||isNaN(n.getTime())?!0:n<=t?"结束时间必须晚于开始时间":(n.getTime()-t.getTime())/(1e3*60*60)>24?"考试时长不能超过24小时":!0}catch{return!0}},validateNoTimeOverlap(e,t){if(!e.startFormatted||!e.endFormatted)return!0;try{const n=new Date(e.start||e.startFormatted.replace(/\//g,"-")),i=new Date(e.end||e.endFormatted.replace(/\//g,"-"));if(isNaN(n.getTime())||isNaN(i.getTime()))return!0;for(let a=0;a=l&&nl&&i<=u||n<=l&&i>=u)return`时间与"${s.name||`第${a+1}个科目`}"重叠`}return!0}catch{return!0}},toggleAlertTimeMode(){this.enableCustomAlertTime||this.localConfig.examInfos.forEach(e=>{e.alertTime=15})},getExamDuration(e){if(!e.start||!e.end)return"";try{const t=new Date(e.start),n=new Date(e.end);if(isNaN(t.getTime())||isNaN(n.getTime()))return"";const i=n.getTime()-t.getTime(),a=Math.round(i/(1e3*60));if(a<60)return`${a}分钟`;const s=Math.floor(a/60),l=a%60;return l===0?`${s}小时`:`${s}小时${l}分钟`}catch{return""}},updateStartDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],n=t.startFormatted;if(!n)return;const i=n.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!i)return;const[,a,s,l,u,o]=i,m=new Date(parseInt(a),parseInt(s)-1,parseInt(l),parseInt(u),parseInt(o));isNaN(m.getTime())||(t.startDate=m,t.startTime=this.formatTimeOnly(m),t.start=this.formatDateTimeLocal(m),this.updateStartDateTime(e))},updateEndDateTimeFromInput(e){if(e===void 0||!this.localConfig.examInfos[e])return;const t=this.localConfig.examInfos[e],n=t.endFormatted;if(!n)return;const i=n.match(/(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})\s+(\d{1,2}):(\d{1,2})/);if(!i)return;const[,a,s,l,u,o]=i,m=new Date(parseInt(a),parseInt(s)-1,parseInt(l),parseInt(u),parseInt(o));isNaN(m.getTime())||(t.endDate=m,t.endTime=this.formatTimeOnly(m),t.end=this.formatDateTimeLocal(m),this.updateEndDateTime(e))},async loadConfig(){var e;this.loading=!0,this.error="";try{const t=await Be.loadData(`es_${this.configId}`);if(t){this.localConfig={examName:"",message:"",room:"",examInfos:[],...t},Array.isArray(this.localConfig.examInfos)||(this.localConfig.examInfos=[]),this.localConfig.examInfos.forEach(i=>{if(i.start){const a=this.parseDateTime(i.start);i.start=this.formatDateTimeLocal(a),i.startDate=a,i.startTime=this.formatTimeOnly(a),i.startFormatted=this.formatDisplayDateTime(a),i.startDateMenu=!1}if(i.end){const a=this.parseDateTime(i.end);i.end=this.formatDateTimeLocal(a),i.endDate=a,i.endTime=this.formatTimeOnly(a),i.endFormatted=this.formatDisplayDateTime(a),i.endDateMenu=!1}try{if(i.start&&i.end){const a=new Date(i.start),s=new Date(i.end),l=Math.round((s.getTime()-a.getTime())/(1e3*60));l>0&&l<=24*60?i.durationMinutes=l:i.durationMinutes=120}else i.durationMinutes=120}catch{i.durationMinutes=120}i.alertTime===void 0||i.alertTime===null?i.alertTime=15:i.alertTime=parseInt(i.alertTime)||15});const n=this.localConfig.examInfos.some(i=>i.alertTime!==15);this.enableCustomAlertTime=n}else console.error("加载配置失败:",t),this.error="加载配置失败: "+(((e=t.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error)}catch(t){console.error(t),this.error="加载配置失败: "+t.message,this.$emit("error",this.error)}finally{this.loading=!1}},async saveConfig(){var e;if(!this.isValidConfig){const t=this.validationErrors;return t.length>0?this.error=`配置验证失败:${t.join(";")}`:this.error="请填写完整的配置信息",!1}this.saving=!0,this.error="";try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(i=>({name:i.name,start:this.formatDisplayDateTime(i.start),end:this.formatDisplayDateTime(i.end),alertTime:parseInt(i.alertTime)||15}))},n=await Be.saveData(`es_${this.configId}`,t);return n?(this.success="配置保存成功",this.$emit("saved",t),!0):(this.error="保存配置失败: "+(((e=n.error)==null?void 0:e.message)||"未知错误"),this.$emit("error",this.error),!1)}catch(t){return this.error="保存配置失败: "+t,this.$emit("error",this.error),!1}finally{this.saving=!1}},addExamInfo(){let e=new Date;if(this.localConfig.examInfos.length>0){const a=this.localConfig.examInfos[this.localConfig.examInfos.length-1];a.end&&(e=new Date(a.end))}const t=new Date(e.getTime()+10*60*1e3),n=new Date(t.getTime()+2*60*60*1e3),i={name:"",start:this.formatDateTimeLocal(t),end:this.formatDateTimeLocal(n),durationMinutes:120,alertTime:15,startDate:t,startTime:this.formatTimeOnly(t),startFormatted:this.formatDisplayDateTime(t),startDateMenu:!1,endDate:n,endTime:this.formatTimeOnly(n),endFormatted:this.formatDisplayDateTime(n),endDateMenu:!1};this.localConfig.examInfos.push(i)},removeExamInfo(e){this.localConfig.examInfos.splice(e,1)},moveExamInfo(e,t){const n=e+t;if(n>=0&&n24*60&&(n=24*60),t.durationMinutes=n,(!t.startDate||!t.startTime)&&t.start){const i=new Date(t.start);isNaN(i.getTime())||(t.startDate=i,t.startTime=this.formatTimeOnly(i))}if(t.startDate&&t.startTime){const i=new Date(t.startDate),[a,s]=String(t.startTime).split(":");i.setHours(parseInt(a),parseInt(s),0,0);const l=new Date(i.getTime()+n*60*1e3);t.endDate=l,t.endTime=this.formatTimeOnly(l),t.end=this.formatDateTimeLocal(l),t.endFormatted=this.formatDisplayDateTime(l)}},formatDateTimeLocal(e){if(!e)return"";let t;if(typeof e=="string"?e.includes("/")?t=new Date(e.replace(/\//g,"-")):t=new Date(e):t=new Date(e),isNaN(t.getTime()))return"";const n=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return`${n}-${i}-${a}T${s}:${l}`},formatDisplayDateTime(e){if(!e)return"";const t=new Date(e);if(isNaN(t.getTime()))return e;const n=t.getFullYear(),i=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),l=String(t.getMinutes()).padStart(2,"0");return`${n}/${i}/${a} ${s}:${l}`},parseDateTime(e){return e?typeof e=="string"?e.includes("/")?new Date(e.replace(/\//g,"-")):new Date(e):new Date(e):new Date},formatTimeOnly(e){if(!e)return"00:00";const t=new Date(e);if(isNaN(t.getTime()))return"00:00";const n=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0");return`${n}:${i}`},updateStartDateTime(e){const t=this.localConfig.examInfos[e];if(!t.startDate||!t.startTime)return;const n=new Date(t.startDate),[i,a]=t.startTime.split(":");n.setHours(parseInt(i),parseInt(a),0,0),t.start=this.formatDateTimeLocal(n),t.startFormatted=this.formatDisplayDateTime(n);let s=parseInt(t.durationMinutes);if(isNaN(s)||s<=0||s>24*60)try{let u=null;if(t.endDate&&t.endTime){u=new Date(t.endDate);const[o,m]=String(t.endTime).split(":");u.setHours(parseInt(o),parseInt(m),0,0)}else t.end&&(u=new Date(t.end));if(u&&!isNaN(u.getTime())){const o=Math.round((u.getTime()-n.getTime())/6e4);o>0&&o<=24*60&&(s=o)}}catch{}(isNaN(s)||s<=0||s>24*60)&&(s=120);const l=new Date(n.getTime()+s*60*1e3);t.endDate=l,t.endTime=this.formatTimeOnly(l),t.end=this.formatDateTimeLocal(l),t.endFormatted=this.formatDisplayDateTime(l),t.durationMinutes=s},updateEndDateTime(e){const t=this.localConfig.examInfos[e];if(!t.endDate||!t.endTime)return;const n=new Date(t.endDate),[i,a]=t.endTime.split(":");n.setHours(parseInt(i),parseInt(a),0,0),t.end=this.formatDateTimeLocal(n),t.endFormatted=this.formatDisplayDateTime(n);try{if(t.startDate&&t.startTime){const s=new Date(t.startDate),[l,u]=String(t.startTime).split(":");s.setHours(parseInt(l),parseInt(u),0,0);const o=Math.round((n.getTime()-s.getTime())/(1e3*60));o>0&&o<=24*60&&(t.durationMinutes=o)}}catch{}},async openConfig(){try{const e=await Be.getKeyCloudUrl(`es_${this.configId}`,{autoMigrate:!0,autoConfig:!0});if(e.success&&e.url){const t=`https://es.examaware.tech/exam/?configUrl=${encodeURIComponent(e.url)}`;window.open(t,"_blank"),this.success="配置已在新窗口中打开",this.$emit("opened",{configId:this.configId,url:e.url})}else throw new Error(e.error||"获取云端地址失败")}catch(e){this.error="打开配置失败: "+e.message,this.$emit("error","打开配置失败: "+e.message)}},confirmDelete(){this.deleteDialog=!0},async deleteConfig(){this.deleting=!0;try{const n=(await Be.loadData("es_list")||[]).filter(a=>a.id!==this.configId);if(!await Be.saveData("es_list",n))throw new Error("更新云端列表失败");this.deleteDialog=!1,this.$emit("deleted",{success:!0,message:"配置删除成功",configId:this.configId})}catch(e){console.error("删除配置失败:",e),this.$emit("deleted",{success:!1,message:"删除失败: "+e.message})}finally{this.deleting=!1}},openInEa2Player(){var e;try{const t={examName:this.localConfig.examName,message:this.localConfig.message,room:this.localConfig.room,examInfos:this.localConfig.examInfos.map(s=>({name:s.name,start:this.formatDisplayDateTime(s.start),end:this.formatDisplayDateTime(s.end),alertTime:parseInt(s.alertTime)||15}))},n=JSON.stringify(t),a=`examaware://player?data=${btoa(unescape(encodeURIComponent(n)))}`;window.location.href=a,(e=this.$message)==null||e.success("正在拉起 ExamAware2 播放器...")}catch(t){this.error="拉起播放器失败: "+t.message}}}},Xa={class:"d-flex align-center"},Za={class:"d-flex align-center"},Qa={key:4,class:"d-flex justify-space-between align-center mb-4"},el={class:"d-flex align-center gap-2"},tl={key:5},al={class:"mb-8"},ll={class:"text-h3 font-weight-bold",style:{"line-height":"1.2"}},nl={class:"text-subtitle-1 text-grey",style:{"white-space":"pre-wrap","line-height":"1.8"}},il={key:0,class:"mb-8"},rl={class:"d-flex align-center"},ol={class:""},sl={class:"mb-3"},ul={class:"d-flex align-center mb-1"},dl={class:"text-h6 font-weight-medium text-success"},cl={class:"d-flex align-center mb-1"},ml={class:"text-h6 font-weight-medium text-error"},fl={key:1,class:"text-center py-12"},vl={class:"json-preview"},hl={key:6},gl={class:"text-subtitle-2 font-weight-bold d-block mb-2"},yl={key:0,class:"mt-3"},kl={class:"text-caption text-medium-emphasis mt-2 ml-2"},bl={class:"d-flex align-center mr-4"},pl={class:"w-100"},wl={class:"d-flex align-center mb-3"},Dl={class:"d-flex gap-1"},Cl={class:"text-primary font-weight-bold"},Vl={key:1,class:"text-center py-12"};function xl(e,t,n,i,a,s){return j(),pe("div",null,[a.error?(j(),re(it,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":t[0]||(t[0]=l=>a.error="")},{default:d(()=>[c("div",Xa,[r(K,{class:"mr-2"},{default:d(()=>[...t[10]||(t[10]=[D("mdi-alert-circle",-1)])]),_:1}),D(" "+se(a.error),1)])]),_:1})):ue("",!0),a.success?(j(),re(it,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":t[1]||(t[1]=l=>a.success="")},{default:d(()=>[c("div",Za,[r(K,{class:"mr-2"},{default:d(()=>[...t[11]||(t[11]=[D("mdi-check-circle",-1)])]),_:1}),D(" "+se(a.success),1)])]),_:1})):ue("",!0),s.hasValidationErrors&&!a.loading?(j(),re(it,{key:2,border:"start",class:"mb-4 mt-3 mx-2",type:"warning",variant:"tonal"},{default:d(()=>[t[13]||(t[13]=c("div",{class:"d-flex align-center"},[c("span",{class:"font-weight-bold"},"配置验证失败,请检查以下问题:")],-1)),r(ot,{class:"bg-transparent",density:"compact"},{default:d(()=>[(j(!0),pe(De,null,Qe(s.validationErrors,(l,u)=>(j(),re(We,{key:u,class:"px-0 py-0"},{prepend:d(()=>[r(K,{color:"warning",size:"small"},{default:d(()=>[...t[12]||(t[12]=[D("mdi-circle-small",-1)])]),_:1})]),default:d(()=>[r(fa,{class:"text-body-2"},{default:d(()=>[D(se(l),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})):ue("",!0),a.loading?(j(),re(Pe,{key:3,class:"my-4",outlined:""},{default:d(()=>[r(Oe,null,{default:d(()=>[r(ba,{class:"mx-auto",type:"article"})]),_:1})]),_:1})):ue("",!0),a.loading?ue("",!0):(j(),pe("div",Qa,[c("div",el,[r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"success","prepend-icon":"mdi-open-in-new",variant:"elevated",onClick:s.openConfig},{default:d(()=>[...t[14]||(t[14]=[D(" 打开 ExamSchedule ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-link-variant",variant:"elevated",onClick:s.copyConfigUrl},{default:d(()=>[...t[15]||(t[15]=[D(" 复制远程链接 ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:s.downloadAsJson},{default:d(()=>[...t[16]||(t[16]=[D(" JSON 文件 ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"primary","prepend-icon":"mdi-download",variant:"elevated",onClick:s.downloadAsEa2},{default:d(()=>[...t[17]||(t[17]=[D(" .ea2 文件 ",-1)])]),_:1},8,["disabled","onClick"]),r(Y,{disabled:!s.isValidConfig,class:"text-none",color:"secondary","prepend-icon":"mdi-play-circle",variant:"elevated",onClick:s.openInEa2Player},{default:d(()=>[...t[18]||(t[18]=[D(" 拉起EA2播放器 ",-1)])]),_:1},8,["disabled","onClick"]),s.isValidConfig?ue("",!0):(j(),re(et,{key:0,activator:"parent",location:"bottom"},{default:d(()=>[...t[19]||(t[19]=[c("span",null,"请先完善配置信息后再操作",-1)])]),_:1}))]),r(va,{modelValue:a.isEditMode,"onUpdate:modelValue":t[2]||(t[2]=l=>a.isEditMode=l),color:"primary",divided:"",variant:"outlined"},{default:d(()=>[r(Y,{class:"text-error","prepend-icon":"mdi-delete",onClick:s.confirmDelete},{default:d(()=>[...t[20]||(t[20]=[D(" 删除配置 ",-1)])]),_:1},8,["onClick"]),r(Y,{value:!1,"prepend-icon":"mdi-eye"},{default:d(()=>[...t[21]||(t[21]=[D(" 预览",-1)])]),_:1}),r(Y,{value:!0,"prepend-icon":"mdi-pencil"},{default:d(()=>[...t[22]||(t[22]=[D(" 编辑",-1)])]),_:1})]),_:1},8,["modelValue"])])),!a.loading&&!a.isEditMode?(j(),pe("div",tl,[c("div",al,[c("div",ll,se(a.localConfig.examName||"未设置考试名称"),1),c("div",nl,se(a.localConfig.message||"未设置考试提示"),1),a.localConfig.room?(j(),re(Je,{key:0,class:"px-4 py-2",size:"large"},{default:d(()=>[r(K,{start:""},{default:d(()=>[...t[23]||(t[23]=[D("mdi-home",-1)])]),_:1}),D(" 考场:"+se(a.localConfig.room),1)]),_:1})):ue("",!0)]),a.localConfig.examInfos&&a.localConfig.examInfos.length>0?(j(),pe("div",il,[r(He,null,{default:d(()=>[(j(!0),pe(De,null,Qe(a.localConfig.examInfos,(l,u)=>(j(),re(he,{key:u,cols:"12",lg:"4",md:"6"},{default:d(()=>[r(Pe,{class:"h-100",hover:"",variant:"tonal"},{default:d(()=>[r(Le,{class:"bg-primary-lighten-5 pa-4"},{default:d(()=>[c("div",rl,[r(K,{class:"mr-2"},{default:d(()=>[...t[24]||(t[24]=[D("mdi-book-open-page-variant",-1)])]),_:1}),c("span",ol,se(l.name||"未设置科目"),1)])]),_:2},1024),r(Oe,{class:"pa-4"},{default:d(()=>[c("div",sl,[c("div",ul,[r(K,{class:"mr-2",color:"success",size:"small"},{default:d(()=>[...t[25]||(t[25]=[D("mdi-clock-start ",-1)])]),_:1}),t[26]||(t[26]=c("span",{class:"text-body-2 text-grey-darken-1"},"开始时间",-1))]),c("div",dl,se(l.startFormatted||l.start||"未设置"),1)]),c("div",null,[c("div",cl,[r(K,{class:"mr-2",color:"error",size:"small"},{default:d(()=>[...t[27]||(t[27]=[D("mdi-clock-end ",-1)])]),_:1}),t[28]||(t[28]=c("span",{class:"text-body-2 text-grey-darken-1"},"结束时间",-1))]),c("div",ml,se(l.endFormatted||l.end||"未设置"),1)])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})])):(j(),pe("div",fl,[r(K,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:d(()=>[...t[29]||(t[29]=[D(" mdi-calendar-blank ",-1)])]),_:1}),t[32]||(t[32]=c("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[33]||(t[33]=c("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置考试时间表 ',-1)),r(Y,{color:"primary",variant:"outlined",onClick:s.quickEdit},{default:d(()=>[r(K,{start:""},{default:d(()=>[...t[30]||(t[30]=[D("mdi-plus",-1)])]),_:1}),t[31]||(t[31]=D(" 立即添加 ",-1))]),_:1},8,["onClick"])])),r(Pe,{border:"",class:"mb-4",elevation:"2"},{default:d(()=>[r(Le,{class:"d-flex align-center text-white cursor-pointer",onClick:t[3]||(t[3]=l=>a.showJsonPreview=!a.showJsonPreview)},{default:d(()=>[r(K,{class:"mr-2"},{default:d(()=>[...t[34]||(t[34]=[D("mdi-code-json",-1)])]),_:1}),t[36]||(t[36]=D(" 配置预览 ",-1)),r(Ye),r(Y,{color:"white","prepend-icon":"mdi-content-copy",size:"small",variant:"outlined",onClick:ha(s.copyToClipboard,["stop"])},{default:d(()=>[...t[35]||(t[35]=[D(" 复制 ",-1)])]),_:1},8,["onClick"]),r(Y,{icon:a.showJsonPreview?"mdi-chevron-up":"mdi-chevron-down",class:"ml-2",color:"white",size:"small",variant:"text"},null,8,["icon"])]),_:1}),r(ga,null,{default:d(()=>[Yt(r(Oe,{class:"pa-4"},{default:d(()=>[r(Pe,{class:"pa-4",variant:"tonal"},{default:d(()=>[c("pre",vl,[c("code",null,se(s.formattedStorageJson),1)])]),_:1})]),_:1},512),[[ya,a.showJsonPreview]])]),_:1})]),_:1})])):ue("",!0),!a.loading&&a.isEditMode?(j(),pe("div",hl,[r(Pe,{border:"",class:"mb-4",elevation:"1"},{default:d(()=>[r(Le,{class:"d-flex align-center bg-primary-lighten-5 pa-4"},{default:d(()=>[r(K,{class:"mr-2"},{default:d(()=>[...t[37]||(t[37]=[D("mdi-information",-1)])]),_:1}),t[38]||(t[38]=c("span",{class:"font-weight-bold"},"基本信息",-1))]),_:1}),r(Oe,{class:"pa-6"},{default:d(()=>[r(He,null,{default:d(()=>[r(he,{cols:"12",md:"6"},{default:d(()=>[r(Ae,{modelValue:a.localConfig.examName,"onUpdate:modelValue":t[4]||(t[4]=l=>a.localConfig.examName=l),rules:[l=>!!l||"考试名称不能为空",l=>l&&l.trim().length>0||"考试名称不能为空白字符",l=>!l||l.length<=100||"考试名称不能超过100个字符"],clearable:"",density:"comfortable",label:"考试名称",placeholder:"如:2025年高考模拟考试","prepend-inner-icon":"mdi-calendar-text",required:"",variant:"outlined"},null,8,["modelValue","rules"])]),_:1}),r(he,{cols:"12",md:"6"},{default:d(()=>[r(Ae,{modelValue:a.localConfig.room,"onUpdate:modelValue":t[5]||(t[5]=l=>a.localConfig.room=l),clearable:"",density:"comfortable",label:"考场号(仅 ExamSchedule-Management 支持此配置)",placeholder:"如:一号考场","prepend-inner-icon":"mdi-home",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),r(He,null,{default:d(()=>[r(he,{cols:"12"},{default:d(()=>[c("span",gl,[r(K,{size:"small",class:"mr-1"},{default:d(()=>[...t[39]||(t[39]=[D("mdi-message-text",-1)])]),_:1}),t[40]||(t[40]=D(" 考试提示 ",-1))]),r(xa,{modelValue:a.localConfig.message,"onUpdate:modelValue":t[6]||(t[6]=l=>a.localConfig.message=l),rules:[l=>!!l||"考试提示不能为空",l=>l&&l.trim().length>0||"考试提示不能为空白字符"],clearable:"",density:"comfortable",label:"输入考试相关的提示信息...","no-resize":"",placeholder:"例如:请保持卷面整洁,诚信应考。在听到终考铃时立刻停止作答。",rows:"3",variant:"outlined"},null,8,["modelValue","rules"]),!a.localConfig.message||a.localConfig.message.trim()===""?(j(),pe("div",yl,[r(wa,{class:"d-flex gap-2",column:""},{default:d(()=>[(j(!0),pe(De,null,Qe(a.defaultExamTips,(l,u)=>(j(),re(Je,{key:u,class:"cursor-pointer",color:"primary",size:"small",variant:"outlined",onClick:o=>s.selectDefaultTip(l)},{default:d(()=>[r(K,{size:"small",start:""},{default:d(()=>[...t[41]||(t[41]=[D("mdi-plus",-1)])]),_:1}),D(" "+se(l.substring(0,20))+"... ",1)]),_:2},1032,["onClick"]))),128))]),_:1}),c("div",kl,[r(K,{class:"mr-1",size:"x-small"},{default:d(()=>[...t[42]||(t[42]=[D("mdi-lightbulb-outline",-1)])]),_:1}),t[43]||(t[43]=D(" 点击上方选项快速添加常用考试提示 ",-1))])])):ue("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),r(Pe,{border:"",class:"mb-4",elevation:"1"},{default:d(()=>[r(Le,{class:"d-flex align-center bg-success-lighten-5 pa-4"},{default:d(()=>[r(K,{class:"mr-2"},{default:d(()=>[...t[44]||(t[44]=[D("mdi-format-list-bulleted",-1)])]),_:1}),t[47]||(t[47]=c("span",{class:"font-weight-bold"},"考试科目安排",-1)),r(Ye),c("div",bl,[r(Ta,{modelValue:a.enableCustomAlertTime,"onUpdate:modelValue":t[7]||(t[7]=l=>a.enableCustomAlertTime=l),color:"primary",density:"compact","hide-details":"",onChange:s.toggleAlertTimeMode},{label:d(()=>[...t[45]||(t[45]=[c("span",{class:"text-body-2"},"自定义提醒时间",-1)])]),_:1},8,["modelValue","onChange"])]),r(Y,{color:"success","prepend-icon":"mdi-plus",size:"small",variant:"elevated",onClick:s.addExamInfo},{default:d(()=>[...t[46]||(t[46]=[D(" 添加科目 ",-1)])]),_:1},8,["onClick"])]),_:1}),r(Oe,{class:"pa-0"},{default:d(()=>[a.localConfig.examInfos&&a.localConfig.examInfos.length>0?(j(),re(ot,{key:0,class:"py-0"},{default:d(()=>[(j(!0),pe(De,null,Qe(a.localConfig.examInfos,(l,u)=>(j(),re(We,{key:u,class:"border-b pa-4 hover-highlight"},{default:d(()=>[c("div",pl,[c("div",wl,[r(Je,{color:u%2===0?"primary":"secondary",size:"small",variant:"tonal",class:"mr-3"},{default:d(()=>[r(K,{start:"",size:"small"},{default:d(()=>[D("mdi-numeric-"+se(u+1)+"-circle",1)]),_:2},1024),D(" 第 "+se(u+1)+" 科目 ",1)]),_:2},1032,["color"]),r(Ye),c("div",Dl,[u>0?(j(),re(Y,{key:0,color:"primary",icon:"mdi-arrow-up",size:"x-small",variant:"text",onClick:o=>s.moveExamInfo(u,-1)},{default:d(()=>[r(et,{activator:"parent",location:"bottom"},{default:d(()=>[...t[48]||(t[48]=[D("上移",-1)])]),_:1})]),_:1},8,["onClick"])):ue("",!0),us.moveExamInfo(u,1)},{default:d(()=>[r(et,{activator:"parent",location:"bottom"},{default:d(()=>[...t[49]||(t[49]=[D("下移",-1)])]),_:1})]),_:1},8,["onClick"])):ue("",!0),r(Y,{color:"error",icon:"mdi-delete",size:"x-small",variant:"text",onClick:o=>s.removeExamInfo(u)},{default:d(()=>[r(et,{activator:"parent",location:"bottom"},{default:d(()=>[...t[50]||(t[50]=[D("删除",-1)])]),_:1})]),_:1},8,["onClick"])])]),r(He,{class:"align-start"},{default:d(()=>[r(he,{cols:"12",md:"4"},{default:d(()=>[r(Ya,{modelValue:l.name,"onUpdate:modelValue":o=>l.name=o,items:a.availableSubjects,rules:[o=>!!o||"科目名称不能为空",o=>o&&o.trim().length>0||"科目名称不能为空白字符"],clearable:"",density:"comfortable","item-title":"name",label:"科目名称","no-data-text":"没有可用科目,请输入自定义名称","prepend-inner-icon":"mdi-book",variant:"outlined"},{"prepend-item":d(()=>[a.customSubjectInput?(j(),re(We,{key:0,title:"自定义:"},{append:d(()=>[c("span",Cl,se(a.customSubjectInput),1)]),_:1})):ue("",!0),a.customSubjectInput?(j(),re(At,{key:1})):ue("",!0)]),_:1},8,["modelValue","onUpdate:modelValue","items","rules"])]),_:2},1024),r(he,{cols:"12",md:"3"},{default:d(()=>[r(st,{modelValue:l.startDateMenu,"onUpdate:modelValue":o=>l.startDateMenu=o,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:d(({props:o})=>[r(Ae,q({modelValue:l.startFormatted,"onUpdate:modelValue":m=>l.startFormatted=m,rules:[m=>!!m||"开始时间不能为空",m=>s.validateTimeFormat(m,"开始时间"),()=>s.validateNoTimeOverlap(l,u)],density:"comfortable",label:"开始时间",placeholder:"2025/01/01 09:00","prepend-inner-icon":"mdi-clock-start"},{ref_for:!0},o,{variant:"outlined",onBlur:m=>s.updateStartDateTimeFromInput(u)}),{append:d(()=>[r(K,null,{default:d(()=>[...t[51]||(t[51]=[D("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:d(()=>[r(Pe,{"min-width":"500"},{default:d(()=>[r(Le,{class:"text-center py-3 bg-primary-lighten-5"},{default:d(()=>[r(K,{class:"mr-2",color:"primary"},{default:d(()=>[...t[52]||(t[52]=[D("mdi-clock-start",-1)])]),_:1}),t[53]||(t[53]=D(" 选择开始时间 ",-1))]),_:1}),r(Oe,{class:"pa-0"},{default:d(()=>[r(He,{"no-gutters":""},{default:d(()=>[r(he,{class:"border-e",cols:"6"},{default:d(()=>[r(Mt,{modelValue:l.startDate,"onUpdate:modelValue":[o=>l.startDate=o,o=>s.updateStartDateTime(u)],color:"primary",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"6"},{default:d(()=>[r(Nt,{modelValue:l.startTime,"onUpdate:modelValue":[o=>l.startTime=o,o=>s.updateStartDateTime(u)],color:"primary",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),r(nt,null,{default:d(()=>[r(Ye),r(Y,{color:"grey",variant:"text",onClick:o=>l.startDateMenu=!1},{default:d(()=>[...t[54]||(t[54]=[D(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"12",md:"3"},{default:d(()=>[r(st,{modelValue:l.endDateMenu,"onUpdate:modelValue":o=>l.endDateMenu=o,"close-on-content-click":!1,"min-width":"auto","offset-y":"",transition:"scale-transition"},{activator:d(({props:o})=>[r(Ae,q({modelValue:l.endFormatted,"onUpdate:modelValue":m=>l.endFormatted=m,rules:[m=>!!m||"结束时间不能为空",m=>s.validateTimeFormat(m,"结束时间"),()=>s.validateEndAfterStart(l),()=>s.validateNoTimeOverlap(l,u)],density:"comfortable",label:"结束时间",placeholder:"2025/01/01 11:00","prepend-inner-icon":"mdi-clock-end"},{ref_for:!0},o,{variant:"outlined",onBlur:m=>s.updateEndDateTimeFromInput(u)}),{append:d(()=>[r(K,null,{default:d(()=>[...t[55]||(t[55]=[D("mdi-calendar-clock",-1)])]),_:1})]),_:1},16,["modelValue","onUpdate:modelValue","rules","onBlur"])]),default:d(()=>[r(Pe,{"min-width":"500"},{default:d(()=>[r(Le,{class:"text-center py-3 bg-error-lighten-5"},{default:d(()=>[r(K,{class:"mr-2",color:"error"},{default:d(()=>[...t[56]||(t[56]=[D("mdi-clock-end",-1)])]),_:1}),t[57]||(t[57]=D(" 选择结束时间 ",-1))]),_:1}),r(Oe,{class:"pa-0"},{default:d(()=>[r(He,{"no-gutters":""},{default:d(()=>[r(he,{class:"border-e",cols:"6"},{default:d(()=>[r(Mt,{modelValue:l.endDate,"onUpdate:modelValue":[o=>l.endDate=o,o=>s.updateEndDateTime(u)],color:"error",elevation:"0",locale:"zh-cn","show-adjacent-months":""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"6"},{default:d(()=>[r(Nt,{modelValue:l.endTime,"onUpdate:modelValue":[o=>l.endTime=o,o=>s.updateEndDateTime(u)],color:"error",elevation:"0",format:"24hr",scrollable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024)]),_:2},1024)]),_:2},1024),r(nt,null,{default:d(()=>[r(Ye),r(Y,{color:"grey",variant:"text",onClick:o=>l.endDateMenu=!1},{default:d(()=>[...t[58]||(t[58]=[D(" 关闭 ",-1)])]),_:1},8,["onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(he,{cols:"12",md:"2"},{default:d(()=>[r(Ae,{modelValue:l.durationMinutes,"onUpdate:modelValue":o=>l.durationMinutes=o,rules:[o=>!!o||"时长不能为空",o=>!isNaN(o)||"时长必须是数字",o=>parseInt(o)>0||"时长必须大于0",o=>parseInt(o)<=1440||"时长不能超过1440分钟(24小时)"],type:"number",min:"1",max:"1440",density:"comfortable",label:"时长(分钟)",placeholder:"例如:120","prepend-inner-icon":"mdi-timer",variant:"outlined",hint:s.durationHint(l),"persistent-hint":"",onBlur:o=>s.updateDurationFromInput(u)},null,8,["modelValue","onUpdate:modelValue","rules","hint","onBlur"])]),_:2},1024),a.enableCustomAlertTime?(j(),re(he,{key:0,cols:"12",md:"2"},{default:d(()=>[r(Ae,{modelValue:l.alertTime,"onUpdate:modelValue":o=>l.alertTime=o,rules:[o=>!!o||"提醒时间不能为空",o=>!isNaN(o)||"提醒时间必须是数字",o=>parseInt(o)>=0||"提醒时间不能为负数",o=>parseInt(o)<=120||"提醒时间不能超过120分钟"],type:"number",min:"0",max:"120",density:"comfortable",label:"提醒时间(分钟)",placeholder:"例如:15","prepend-inner-icon":"mdi-bell-ring",variant:"outlined",hint:"考试结束前提醒","persistent-hint":""},null,8,["modelValue","onUpdate:modelValue","rules"])]),_:2},1024)):ue("",!0)]),_:2},1024)])]),_:2},1024))),128))]),_:1})):(j(),pe("div",Vl,[r(K,{class:"mb-4",color:"grey-lighten-2",size:"80"},{default:d(()=>[...t[59]||(t[59]=[D(" mdi-calendar-blank ",-1)])]),_:1}),t[61]||(t[61]=c("div",{class:"text-h5 text-grey-darken-1 mb-2"},"暂无考试科目安排",-1)),t[62]||(t[62]=c("div",{class:"text-body-1 text-grey mb-4"},' 点击上方"添加科目"按钮开始配置 ',-1)),r(Y,{color:"success","prepend-icon":"mdi-plus",size:"large",variant:"elevated",onClick:s.addExamInfo},{default:d(()=>[...t[60]||(t[60]=[D(" 立即添加科目 ",-1)])]),_:1},8,["onClick"])]))]),_:1})]),_:1})])):ue("",!0),r(ka,{modelValue:a.deleteDialog,"onUpdate:modelValue":t[9]||(t[9]=l=>a.deleteDialog=l),"max-width":"400"},{default:d(()=>[r(Pe,null,{default:d(()=>[r(Le,{class:"d-flex align-center"},{default:d(()=>[r(K,{class:"mr-2",color:"error"},{default:d(()=>[...t[63]||(t[63]=[D("mdi-delete-alert",-1)])]),_:1}),t[64]||(t[64]=D(" 确认删除配置 ",-1))]),_:1}),r(Oe,null,{default:d(()=>[t[65]||(t[65]=D(" 确定要删除配置 ",-1)),c("strong",null,se(a.localConfig.examName||`配置 ${n.configId}`),1),t[66]||(t[66]=D(" 吗? ",-1)),t[67]||(t[67]=c("br",null,null,-1)),t[68]||(t[68]=c("small",{class:"text-grey"},"此操作不可撤销,将会删除所有相关数据",-1))]),_:1}),r(nt,null,{default:d(()=>[r(Ye),r(Y,{color:"grey",variant:"text",onClick:t[8]||(t[8]=l=>a.deleteDialog=!1)},{default:d(()=>[...t[69]||(t[69]=[D(" 取消 ",-1)])]),_:1}),r(Y,{loading:a.deleting,color:"error",variant:"outlined",onClick:s.deleteConfig},{default:d(()=>[...t[70]||(t[70]=[D(" 删除 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])])}const Bl=ma(Ga,[["render",xl],["__scopeId","data-v-99d81754"]]);export{Mt as V,Bl as _,Ya as a}; diff --git a/assets/VAlert-WqxdeiRc.js b/assets/VAlert-DFIvt6kt.js similarity index 55% rename from assets/VAlert-WqxdeiRc.js rename to assets/VAlert-DFIvt6kt.js index 1fb440b..434b54e 100644 --- a/assets/VAlert-WqxdeiRc.js +++ b/assets/VAlert-DFIvt6kt.js @@ -1 +1 @@ -import{aO as F,p as P,a1 as M,g as N,ar as O,bo as R,cu as j,aG as q,bg as p,ch as G,be as K,aA as W,aq as H,au as y,c as l,cv as J,i as s,n as f,d as b,v as Q,E as S,aW as k,y as U,e as X,bp as Y,ce as Z,bj as ee,m as ae,bk as te,ci as le,bl as ne,bq as se,f as oe,aK as ie,h as ce,a_ as re}from"./index-Ck0Pnd4f.js";const ue=F("v-alert-title"),de=P({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ve(e,o){return{iconSize:M(()=>{const a=new Map(e.iconSizes),t=e.iconSize??o()??"default";return a.has(t)?a.get(t):t})}}const me=["success","info","warning","error"],ye=P({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:re,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>me.includes(e)},...ce(),...ie(),...oe(),...se(),...de(),...ne(),...le(),...te(),...ae(),...ee(),...Z({variant:"flat"})},"VAlert"),be=N()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{emit:r,slots:a}=o;const t=O(e,"modelValue"),i=y(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:g}=ve(e,()=>e.prominent?44:void 0),{themeClasses:V}=R(e),{colorClasses:z,colorStyles:C,variantClasses:x}=j(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=q(e),{dimensionStyles:h}=X(e),{elevationClasses:A}=Y(e),{locationStyles:B}=p(e),{positionClasses:I}=G(e),{roundedClasses:T}=K(e),{textColorClasses:D,textColorStyles:L}=W(()=>e.borderColor),{t:$}=H(),u=y(()=>({"aria-label":$(e.closeLabel),onClick(c){t.value=!1,r("click:close",c)}}));return()=>{const c=!!(a.prepend||i.value),w=!!(a.title||e.title),E=!!(a.close||e.closable),d={density:e.density,icon:i.value,size:e.iconSize||e.prominent?g.value:void 0};return t.value&&l(e.tag,{class:b(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},V.value,z.value,_.value,A.value,I.value,T.value,x.value,e.class]),style:f([C.value,h.value,B.value,e.style]),role:"alert"},{default:()=>{var v,m;return[J(!1,"v-alert"),e.border&&s("div",{key:"border",class:b(["v-alert__border",D.value]),style:f(L.value)},null),c&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(k,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(Q,S({key:"prepend-icon"},d),null)]),s("div",{class:"v-alert__content"},[w&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((v=a.text)==null?void 0:v.call(a))??e.text,(m=a.default)==null?void 0:m.call(a)]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),E&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(k,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>{var n;return[(n=a.close)==null?void 0:n.call(a,{props:u.value})]}}):l(U,S({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},u.value),null)])]}})}}});export{be as V,ue as a}; +import{aO as F,p as P,a3 as M,g as N,ar as O,bo as R,cu as j,aG as q,bg as p,ch as G,be as K,aB as W,aq as H,c as l,cv as J,i as s,n as y,d as f,t as Q,E as b,aW as S,y as U,av as k,e as X,bp as Y,a_ as Z,cf as ee,bj as ae,m as te,bk as le,ci as ne,bl as se,bq as oe,f as ie,aK as ce,h as re}from"./index-BUM0TY0E.js";const ue=F("v-alert-title"),de=P({iconSize:[Number,String],iconSizes:{type:Array,default:()=>[["x-small",10],["small",16],["default",24],["large",28],["x-large",32]]}},"iconSize");function ve(e,o){return{iconSize:M(()=>{const a=new Map(e.iconSizes),t=e.iconSize??o()??"default";return a.has(t)?a.get(t):t})}}const me=["success","info","warning","error"],ye=P({border:{type:[Boolean,String],validator:e=>typeof e=="boolean"||["top","end","bottom","start"].includes(e)},borderColor:String,closable:Boolean,closeIcon:{type:Z,default:"$close"},closeLabel:{type:String,default:"$vuetify.close"},icon:{type:[Boolean,String,Function,Object],default:null},modelValue:{type:Boolean,default:!0},prominent:Boolean,title:String,text:String,type:{type:String,validator:e=>me.includes(e)},...re(),...ce(),...ie(),...oe(),...de(),...se(),...ne(),...le(),...te(),...ae(),...ee({variant:"flat"})},"VAlert"),be=N()({name:"VAlert",props:ye(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0},setup(e,o){let{emit:r,slots:a}=o;const t=O(e,"modelValue"),i=k(()=>{if(e.icon!==!1)return e.type?e.icon??`$${e.type}`:e.icon}),{iconSize:g}=ve(e,()=>e.prominent?44:void 0),{themeClasses:V}=R(e),{colorClasses:z,colorStyles:C,variantClasses:x}=j(()=>({color:e.color??e.type,variant:e.variant})),{densityClasses:_}=q(e),{dimensionStyles:h}=X(e),{elevationClasses:B}=Y(e),{locationStyles:I}=p(e),{positionClasses:A}=G(e),{roundedClasses:T}=K(e),{textColorClasses:D,textColorStyles:L}=W(()=>e.borderColor),{t:$}=H(),u=k(()=>({"aria-label":$(e.closeLabel),onClick(c){t.value=!1,r("click:close",c)}}));return()=>{const c=!!(a.prepend||i.value),w=!!(a.title||e.title),E=!!(a.close||e.closable),d={density:e.density,icon:i.value,size:e.iconSize||e.prominent?g.value:void 0};return t.value&&l(e.tag,{class:f(["v-alert",e.border&&{"v-alert--border":!!e.border,[`v-alert--border-${e.border===!0?"start":e.border}`]:!0},{"v-alert--prominent":e.prominent},V.value,z.value,_.value,B.value,A.value,T.value,x.value,e.class]),style:y([C.value,h.value,I.value,e.style]),role:"alert"},{default:()=>{var v,m;return[J(!1,"v-alert"),e.border&&s("div",{key:"border",class:f(["v-alert__border",D.value]),style:y(L.value)},null),c&&s("div",{key:"prepend",class:"v-alert__prepend"},[a.prepend?l(S,{key:"prepend-defaults",disabled:!i.value,defaults:{VIcon:{...d}}},a.prepend):l(Q,b({key:"prepend-icon"},d),null)]),s("div",{class:"v-alert__content"},[w&&l(ue,{key:"title"},{default:()=>{var n;return[((n=a.title)==null?void 0:n.call(a))??e.title]}}),((v=a.text)==null?void 0:v.call(a))??e.text,(m=a.default)==null?void 0:m.call(a)]),a.append&&s("div",{key:"append",class:"v-alert__append"},[a.append()]),E&&s("div",{key:"close",class:"v-alert__close"},[a.close?l(S,{key:"close-defaults",defaults:{VBtn:{icon:e.closeIcon,size:"x-small",variant:"text"}}},{default:()=>{var n;return[(n=a.close)==null?void 0:n.call(a,{props:u.value})]}}):l(U,b({key:"close-btn",icon:e.closeIcon,size:"x-small",variant:"text"},u.value),null)])]}})}}});export{be as V,ue as a}; diff --git a/assets/VAppBarTitle-N2z58aj8.js b/assets/VAppBarTitle-DZ_l7t3b.js similarity index 82% rename from assets/VAppBarTitle-N2z58aj8.js rename to assets/VAppBarTitle-DZ_l7t3b.js index d4cd99a..c3ab4ea 100644 --- a/assets/VAppBarTitle-N2z58aj8.js +++ b/assets/VAppBarTitle-DZ_l7t3b.js @@ -1 +1 @@ -import{g as _,p as N,b as R,c as f,i as C,n as U,d as M,m as W,h as q,aB as Z,bz as G,be as K,bo as Q,b7 as X,av as h,aI as ee,am as te,aW as z,aJ as E,a1 as d,bd as ae,bp as le,bj as oe,bk as ne,bq as se,bF as ie,ae as I,Z as re,a0 as F,$ as ue,bc as ce,ar as ve,by as de,b3 as me,au as D,a as ge,bC as he,E as $,bD as fe}from"./index-Ck0Pnd4f.js";const J=N({text:String,...q(),...W()},"VToolbarTitle"),j=_()({name:"VToolbarTitle",props:J(),setup(e,b){let{slots:t}=b;return R(()=>{const u=!!(t.default||t.text||e.text);return f(e.tag,{class:M(["v-toolbar-title",e.class]),style:U(e.style)},{default:()=>{var n;return[u&&C("div",{class:"v-toolbar-title__placeholder"},[t.text?t.text():e.text,(n=t.default)==null?void 0:n.call(t)])]}})}),{}}}),be=[null,"prominent","default","comfortable","compact"],O=N({absolute:Boolean,collapse:Boolean,collapsePosition:{type:String,default:"start"},color:String,density:{type:String,default:"default",validator:e=>be.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...ie(),...q(),...se(),...ne(),...W({tag:"header"}),...oe()},"VToolbar"),L=_()({name:"VToolbar",props:O(),setup(e,b){var B;let{slots:t}=b;const{backgroundColorClasses:u,backgroundColorStyles:n}=Z(()=>e.color),{borderClasses:o}=G(e),{elevationClasses:m}=le(e),{roundedClasses:s}=K(e),{themeClasses:c}=Q(e),{rtlClasses:T}=X(),H=h(e.extended===null?!!((B=t.extension)!=null&&B.call(t)):e.extended),r=d(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),x=d(()=>H.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return ee({VBtn:{variant:"text"}}),R(()=>{var w;const p=!!(e.title||t.title),v=!!(t.image||e.image),P=(w=t.extension)==null?void 0:w.call(t);return H.value=e.extended===null?!!P:e.extended,f(e.tag,{class:M(["v-toolbar",`v-toolbar--collapse-${e.collapsePosition}`,{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},u.value,o.value,m.value,s.value,c.value,T.value,e.class]),style:U([n.value,e.style])},{default:()=>[v&&C("div",{key:"image",class:"v-toolbar__image"},[t.image?f(z,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):f(te,{key:"image-img",cover:!0,src:e.image},null)]),f(z,{defaults:{VTabs:{height:E(r.value)}}},{default:()=>{var V,k,y;return[C("div",{class:"v-toolbar__content",style:{height:E(r.value)}},[t.prepend&&C("div",{class:"v-toolbar__prepend"},[(V=t.prepend)==null?void 0:V.call(t)]),p&&f(j,{key:"title",text:e.title},{text:t.title}),(k=t.default)==null?void 0:k.call(t),t.append&&C("div",{class:"v-toolbar__append"},[(y=t.append)==null?void 0:y.call(t)])])]}}),f(z,{defaults:{VTabs:{height:E(x.value)}}},{default:()=>[f(ae,null,{default:()=>[H.value&&C("div",{class:"v-toolbar__extension",style:{height:E(x.value)}},[P])]})]})]})}),{contentHeight:r,extensionHeight:x}}}),ye=N({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll");function Se(e){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{canScroll:t,layoutSize:u}=b;let n=0,o=0;const m=F(null),s=h(0),c=h(0),T=h(0),H=h(!1),r=h(!1),x=h(!1),B=h(!1),p=h(!0),v=d(()=>Number(e.scrollThreshold)),P=d(()=>ce((v.value-s.value)/v.value||0));function w(l){const a="window"in l?window.innerHeight:l.clientHeight,i="window"in l?document.documentElement.scrollHeight:l.scrollHeight;return{clientHeight:a,scrollHeight:i}}function V(){const l=m.value;if(!l)return;const{clientHeight:a,scrollHeight:i}=w(l),S=i-a,g=(u==null?void 0:u.value)||0,A=v.value+g;p.value=S>A}function k(){V()}function y(){const l=m.value;if(!l||t&&!t.value)return;n=s.value,s.value="window"in l?l.pageYOffset:l.scrollTop;const a=l instanceof Window?document.documentElement.scrollHeight:l.scrollHeight;o!==a&&(a>o&&V(),o=a),r.value=s.value=S-5;!r.value&&g&&s.value>=v.value&&p.value&&(B.value=!0);const A=Math.abs(s.value-n)>100,Y=s.value<=5;(r.value&&n-s.value>1&&!g||A&&s.value{c.value=c.value||s.value}),I(H,()=>{c.value=0}),re(()=>{I(()=>e.scrollTarget,l=>{var i;const a=l?document.querySelector(l):window;a&&a!==m.value&&((i=m.value)==null||i.removeEventListener("scroll",y),m.value=a,m.value.addEventListener("scroll",y,{passive:!0}),Promise.resolve().then(()=>{V()}))},{immediate:!0}),window.addEventListener("resize",k,{passive:!0})}),ue(()=>{var l;(l=m.value)==null||l.removeEventListener("scroll",y),window.removeEventListener("resize",k)}),t&&I(t,y,{immediate:!0}),{scrollThreshold:v,currentScroll:s,currentThreshold:T,isScrollActive:H,scrollRatio:P,isScrollingUp:r,savedScroll:c,isAtBottom:x,reachedBottomWhileScrollingDown:B,hasEnoughScrollableSpace:p}}const Te=N({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...O(),...fe(),...ye(),height:{type:[Number,String],default:64}},"VAppBar"),Be=_()({name:"VAppBar",props:Te(),emits:{"update:modelValue":e=>!0},setup(e,b){let{slots:t}=b;const u=F(),n=ve(e,"modelValue"),o=d(()=>{var i;const a=new Set(((i=e.scrollBehavior)==null?void 0:i.split(" "))??[]);return{hide:a.has("hide"),fullyHide:a.has("fully-hide"),inverted:a.has("inverted"),collapse:a.has("collapse"),elevate:a.has("elevate"),fadeImage:a.has("fade-image")}}),m=d(()=>{const a=o.value;return a.hide||a.fullyHide||a.inverted||a.collapse||a.elevate||a.fadeImage||!n.value}),s=d(()=>{var S,g;const a=((S=u.value)==null?void 0:S.contentHeight)??0,i=((g=u.value)==null?void 0:g.extensionHeight)??0;return a+i}),{currentScroll:c,scrollThreshold:T,isScrollingUp:H,scrollRatio:r,isAtBottom:x,reachedBottomWhileScrollingDown:B,hasEnoughScrollableSpace:p}=Se(e,{canScroll:m,layoutSize:s}),v=D(()=>o.value.hide||o.value.fullyHide),P=d(()=>e.collapse||o.value.collapse&&(o.value.inverted?r.value>0:r.value===0)),w=d(()=>e.flat||o.value.fullyHide&&!n.value||o.value.elevate&&(o.value.inverted?c.value>0:c.value===0)),V=d(()=>o.value.fadeImage?o.value.inverted?1-r.value:r.value:void 0),k=d(()=>{var S,g;if(o.value.hide&&o.value.inverted)return 0;const a=((S=u.value)==null?void 0:S.contentHeight)??0,i=((g=u.value)==null?void 0:g.extensionHeight)??0;return v.value?c.value!!e.scrollBehavior,()=>{me(()=>{if(!v.value){n.value=!0;return}if(o.value.inverted){n.value=c.value>T.value;return}if(!p.value){n.value=!0;return}if(B.value){n.value=!1;return}n.value=H.value&&!x.value||c.valueparseInt(e.order,10)),position:D(()=>e.location),layoutSize:k,elementSize:h(void 0),active:n,absolute:D(()=>e.absolute)});return R(()=>{const a=L.filterProps(e);return f(L,$({ref:u,class:["v-app-bar",{"v-app-bar--bottom":e.location==="bottom"},e.class],style:[{...l.value,"--v-toolbar-image-opacity":V.value,height:void 0,...y.value},e.style]},a,{collapse:P.value,flat:w.value}),t)}),{}}}),Ve=_()({name:"VAppBarTitle",props:J(),setup(e,b){let{slots:t}=b;return R(()=>f(j,$(e,{class:"v-app-bar-title"}),t)),{}}});export{L as V,j as a,Ve as b,Be as c}; +import{g as _,b as N,c as f,i as C,n as U,d as M,p as R,m as W,h as q,aC as Y,bz as Z,be as K,bo as Q,b7 as X,az as h,aI as ee,am as te,aW as z,aJ as E,bd as ae,a3 as d,bp as le,bj as oe,bk as ne,bq as se,bI as ie,ae as I,Z as re,$ as ue,a2 as $,bc as ce,ar as ve,by as de,b3 as me,a as ge,bC as he,E as F,av as D,bG as fe}from"./index-BUM0TY0E.js";const J=R({text:String,...q(),...W()},"VToolbarTitle"),j=_()({name:"VToolbarTitle",props:J(),setup(e,b){let{slots:t}=b;return N(()=>{const u=!!(t.default||t.text||e.text);return f(e.tag,{class:M(["v-toolbar-title",e.class]),style:U(e.style)},{default:()=>{var n;return[u&&C("div",{class:"v-toolbar-title__placeholder"},[t.text?t.text():e.text,(n=t.default)==null?void 0:n.call(t)])]}})}),{}}}),be=[null,"prominent","default","comfortable","compact"],G=R({absolute:Boolean,collapse:Boolean,collapsePosition:{type:String,default:"start"},color:String,density:{type:String,default:"default",validator:e=>be.includes(e)},extended:{type:Boolean,default:null},extensionHeight:{type:[Number,String],default:48},flat:Boolean,floating:Boolean,height:{type:[Number,String],default:64},image:String,title:String,...ie(),...q(),...se(),...ne(),...W({tag:"header"}),...oe()},"VToolbar"),L=_()({name:"VToolbar",props:G(),setup(e,b){var B;let{slots:t}=b;const{backgroundColorClasses:u,backgroundColorStyles:n}=Y(()=>e.color),{borderClasses:o}=Z(e),{elevationClasses:m}=le(e),{roundedClasses:s}=K(e),{themeClasses:c}=Q(e),{rtlClasses:T}=X(),H=h(e.extended===null?!!((B=t.extension)!=null&&B.call(t)):e.extended),r=d(()=>parseInt(Number(e.height)+(e.density==="prominent"?Number(e.height):0)-(e.density==="comfortable"?8:0)-(e.density==="compact"?16:0),10)),x=d(()=>H.value?parseInt(Number(e.extensionHeight)+(e.density==="prominent"?Number(e.extensionHeight):0)-(e.density==="comfortable"?4:0)-(e.density==="compact"?8:0),10):0);return ee({VBtn:{variant:"text"}}),N(()=>{var w;const p=!!(e.title||t.title),v=!!(t.image||e.image),P=(w=t.extension)==null?void 0:w.call(t);return H.value=e.extended===null?!!P:e.extended,f(e.tag,{class:M(["v-toolbar",`v-toolbar--collapse-${e.collapsePosition}`,{"v-toolbar--absolute":e.absolute,"v-toolbar--collapse":e.collapse,"v-toolbar--flat":e.flat,"v-toolbar--floating":e.floating,[`v-toolbar--density-${e.density}`]:!0},u.value,o.value,m.value,s.value,c.value,T.value,e.class]),style:U([n.value,e.style])},{default:()=>[v&&C("div",{key:"image",class:"v-toolbar__image"},[t.image?f(z,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},t.image):f(te,{key:"image-img",cover:!0,src:e.image},null)]),f(z,{defaults:{VTabs:{height:E(r.value)}}},{default:()=>{var V,k,y;return[C("div",{class:"v-toolbar__content",style:{height:E(r.value)}},[t.prepend&&C("div",{class:"v-toolbar__prepend"},[(V=t.prepend)==null?void 0:V.call(t)]),p&&f(j,{key:"title",text:e.title},{text:t.title}),(k=t.default)==null?void 0:k.call(t),t.append&&C("div",{class:"v-toolbar__append"},[(y=t.append)==null?void 0:y.call(t)])])]}}),f(z,{defaults:{VTabs:{height:E(x.value)}}},{default:()=>[f(ae,null,{default:()=>[H.value&&C("div",{class:"v-toolbar__extension",style:{height:E(x.value)}},[P])]})]})]})}),{contentHeight:r,extensionHeight:x}}}),ye=R({scrollTarget:{type:String},scrollThreshold:{type:[String,Number],default:300}},"scroll");function Se(e){let b=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{canScroll:t,layoutSize:u}=b;let n=0,o=0;const m=$(null),s=h(0),c=h(0),T=h(0),H=h(!1),r=h(!1),x=h(!1),B=h(!1),p=h(!0),v=d(()=>Number(e.scrollThreshold)),P=d(()=>ce((v.value-s.value)/v.value||0));function w(l){const a="window"in l?window.innerHeight:l.clientHeight,i="window"in l?document.documentElement.scrollHeight:l.scrollHeight;return{clientHeight:a,scrollHeight:i}}function V(){const l=m.value;if(!l)return;const{clientHeight:a,scrollHeight:i}=w(l),S=i-a,g=(u==null?void 0:u.value)||0,A=v.value+g;p.value=S>A}function k(){V()}function y(){const l=m.value;if(!l||t&&!t.value)return;n=s.value,s.value="window"in l?l.pageYOffset:l.scrollTop;const a=l instanceof Window?document.documentElement.scrollHeight:l.scrollHeight;o!==a&&(a>o&&V(),o=a),r.value=s.value=S-5;!r.value&&g&&s.value>=v.value&&p.value&&(B.value=!0);const A=Math.abs(s.value-n)>100,O=s.value<=5;(r.value&&n-s.value>1&&!g||A&&s.value{c.value=c.value||s.value}),I(H,()=>{c.value=0}),re(()=>{I(()=>e.scrollTarget,l=>{var i;const a=l?document.querySelector(l):window;a&&a!==m.value&&((i=m.value)==null||i.removeEventListener("scroll",y),m.value=a,m.value.addEventListener("scroll",y,{passive:!0}),Promise.resolve().then(()=>{V()}))},{immediate:!0}),window.addEventListener("resize",k,{passive:!0})}),ue(()=>{var l;(l=m.value)==null||l.removeEventListener("scroll",y),window.removeEventListener("resize",k)}),t&&I(t,y,{immediate:!0}),{scrollThreshold:v,currentScroll:s,currentThreshold:T,isScrollActive:H,scrollRatio:P,isScrollingUp:r,savedScroll:c,isAtBottom:x,reachedBottomWhileScrollingDown:B,hasEnoughScrollableSpace:p}}const Te=R({scrollBehavior:String,modelValue:{type:Boolean,default:!0},location:{type:String,default:"top",validator:e=>["top","bottom"].includes(e)},...G(),...fe(),...ye(),height:{type:[Number,String],default:64}},"VAppBar"),Be=_()({name:"VAppBar",props:Te(),emits:{"update:modelValue":e=>!0},setup(e,b){let{slots:t}=b;const u=$(),n=ve(e,"modelValue"),o=d(()=>{var i;const a=new Set(((i=e.scrollBehavior)==null?void 0:i.split(" "))??[]);return{hide:a.has("hide"),fullyHide:a.has("fully-hide"),inverted:a.has("inverted"),collapse:a.has("collapse"),elevate:a.has("elevate"),fadeImage:a.has("fade-image")}}),m=d(()=>{const a=o.value;return a.hide||a.fullyHide||a.inverted||a.collapse||a.elevate||a.fadeImage||!n.value}),s=d(()=>{var S,g;const a=((S=u.value)==null?void 0:S.contentHeight)??0,i=((g=u.value)==null?void 0:g.extensionHeight)??0;return a+i}),{currentScroll:c,scrollThreshold:T,isScrollingUp:H,scrollRatio:r,isAtBottom:x,reachedBottomWhileScrollingDown:B,hasEnoughScrollableSpace:p}=Se(e,{canScroll:m,layoutSize:s}),v=D(()=>o.value.hide||o.value.fullyHide),P=d(()=>e.collapse||o.value.collapse&&(o.value.inverted?r.value>0:r.value===0)),w=d(()=>e.flat||o.value.fullyHide&&!n.value||o.value.elevate&&(o.value.inverted?c.value>0:c.value===0)),V=d(()=>o.value.fadeImage?o.value.inverted?1-r.value:r.value:void 0),k=d(()=>{var S,g;if(o.value.hide&&o.value.inverted)return 0;const a=((S=u.value)==null?void 0:S.contentHeight)??0,i=((g=u.value)==null?void 0:g.extensionHeight)??0;return v.value?c.value!!e.scrollBehavior,()=>{me(()=>{if(!v.value){n.value=!0;return}if(o.value.inverted){n.value=c.value>T.value;return}if(!p.value){n.value=!0;return}if(B.value){n.value=!1;return}n.value=H.value&&!x.value||c.valueparseInt(e.order,10)),position:D(()=>e.location),layoutSize:k,elementSize:h(void 0),active:n,absolute:D(()=>e.absolute)});return N(()=>{const a=L.filterProps(e);return f(L,F({ref:u,class:["v-app-bar",{"v-app-bar--bottom":e.location==="bottom"},e.class],style:[{...l.value,"--v-toolbar-image-opacity":V.value,height:void 0,...y.value},e.style]},a,{collapse:P.value,flat:w.value}),t)}),{}}}),Ve=_()({name:"VAppBarTitle",props:J(),setup(e,b){let{slots:t}=b;return N(()=>f(j,F(e,{class:"v-app-bar-title"}),t)),{}}});export{L as V,j as a,Ve as b,Be as c}; diff --git a/assets/VCheckboxBtn-DWqkYNT7.js b/assets/VCheckboxBtn-CylQNaxd.js similarity index 58% rename from assets/VCheckboxBtn-DWqkYNT7.js rename to assets/VCheckboxBtn-CylQNaxd.js index 157f882..be975a9 100644 --- a/assets/VCheckboxBtn-DWqkYNT7.js +++ b/assets/VCheckboxBtn-CylQNaxd.js @@ -1 +1 @@ -import{a as o,m as f}from"./VSwitch-B-2xPqHI.js";import{g as V,p as v,ar as c,b as I,aC as k,c as x,E as b,au as l,a_ as h}from"./index-Ck0Pnd4f.js";const C=v({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=V()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),a=c(e,"modelValue");function u(n){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return I(()=>{const n=k(o.filterProps(e),["modelValue"]);return x(o,b(n,{modelValue:a.value,"onUpdate:modelValue":[d=>a.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m}; +import{a as o,m as f}from"./VSwitch-CjVC2rsZ.js";import{g as v,ar as c,b as V,aA as I,c as k,E as x,av as l,p as b,a_ as h}from"./index-BUM0TY0E.js";const C=b({indeterminate:Boolean,indeterminateIcon:{type:h,default:"$checkboxIndeterminate"},...f({falseIcon:"$checkboxOff",trueIcon:"$checkboxOn"})},"VCheckboxBtn"),B=v()({name:"VCheckboxBtn",props:C(),emits:{"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,r){let{slots:s}=r;const t=c(e,"indeterminate"),a=c(e,"modelValue");function u(n){t.value&&(t.value=!1)}const i=l(()=>t.value?e.indeterminateIcon:e.falseIcon),m=l(()=>t.value?e.indeterminateIcon:e.trueIcon);return V(()=>{const n=I(o.filterProps(e),["modelValue"]);return k(o,x(n,{modelValue:a.value,"onUpdate:modelValue":[d=>a.value=d,u],class:["v-checkbox-btn",e.class],style:e.style,type:"checkbox",falseIcon:i.value,trueIcon:m.value,"aria-checked":t.value?"mixed":void 0}),s)}),{}}});export{B as V,C as m}; diff --git a/assets/VChip-C4TXrZae.js b/assets/VChip-vdRDApTi.js similarity index 68% rename from assets/VChip-C4TXrZae.js rename to assets/VChip-vdRDApTi.js index 997dd62..532d437 100644 --- a/assets/VChip-C4TXrZae.js +++ b/assets/VChip-vdRDApTi.js @@ -1 +1 @@ -import{g as le,p as te,b7 as Pe,X as we,bU as ye,cd as se,cB as Ee,aS as ie,ae as pe,a1 as S,av as B,b as me,c as h,i as k,b8 as oe,v as E,d as M,n as Re,bV as ke,m as ae,bE as _e,h as ne,a_ as R,cn as Te,bo as ge,aI as Fe,E as ee,ce as Se,bj as Ce,aY as Be,au as z,S as ce,aq as Oe,bz as De,aG as Ge,be as We,cC as Le,ar as Me,bR as re,cD as He,cu as qe,I as ue,cv as $e,cE as Ke,aW as H,J as Ne,F as de,L as ve,C as Ue,bp as je,cf as Xe,cF as Je,bk as Qe,bS as Ye,bq as Ze,aK as el,bF as ll,b0 as fe}from"./index-Ck0Pnd4f.js";function tl(e){let{selectedElement:s,containerElement:n,isRtl:r,isHorizontal:i}=e;const y=O(i,n),c=xe(i,r,n),p=O(i,s),b=Ie(i,s),g=p*.4;return c>b?b-g:c+ytypeof e=="boolean"||["always","desktop","mobile","never"].includes(e)},...ne(),..._e({mobile:null}),...ae(),...ke({selectedClass:"v-slide-group-item--active"})},"VSlideGroup"),be=le()({name:"VSlideGroup",props:ze(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:n}=s;const{isRtl:r}=Pe(),{displayClasses:i,mobile:y}=we(e),c=ye(e,e.symbol),p=B(!1),b=B(0),g=B(0),I=B(0),v=S(()=>e.direction==="horizontal"),{resizeRef:d,contentRect:a}=se(),{resizeRef:u,contentRect:m}=se(),D=Ee(),C=S(()=>({container:d.el,duration:200,easing:"easeOutQuart"})),q=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[0]):-1),$=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[c.selected.value.length-1]):-1);if(ie){let t=-1;pe(()=>[c.selected.value,a.value,m.value,v.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(a.value&&m.value){const l=v.value?"width":"height";g.value=a.value[l],I.value=m.value[l],p.value=g.value+1=0&&u.el){const l=u.el.children[$.value];G(l,e.centerActive)}})})}const A=B(!1);function G(t,l){let o=0;l?o=al({containerElement:d.el,isHorizontal:v.value,selectedElement:t}):o=tl({containerElement:d.el,isHorizontal:v.value,isRtl:r.value,selectedElement:t}),_(o)}function _(t){if(!ie||!d.el)return;const l=O(v.value,d.el),o=xe(v.value,r.value,d.el);if(!(he(v.value,d.el)<=l||Math.abs(t-o)<16)){if(v.value&&r.value&&d.el){const{scrollWidth:Y,offsetWidth:Z}=d.el;t=Y-Z-t}v.value?D.horizontal(t,C.value):D(t,C.value)}}function K(t){const{scrollTop:l,scrollLeft:o}=t.target;b.value=v.value?o:l}function f(t){if(A.value=!0,!(!p.value||!u.el)){for(const l of t.composedPath())for(const o of u.el.children)if(o===l){G(o);return}}}function V(t){A.value=!1}let T=!1;function N(t){var l;!T&&!A.value&&!(t.relatedTarget&&((l=u.el)!=null&&l.contains(t.relatedTarget)))&&x(),T=!1}function F(){T=!0}function W(t){if(!u.el)return;function l(o){t.preventDefault(),x(o)}v.value?t.key==="ArrowRight"?l(r.value?"prev":"next"):t.key==="ArrowLeft"&&l(r.value?"next":"prev"):t.key==="ArrowDown"?l("next"):t.key==="ArrowUp"&&l("prev"),t.key==="Home"?l("first"):t.key==="End"&&l("last")}function P(t,l){if(!t)return;let o=t;do o=o==null?void 0:o[l==="next"?"nextElementSibling":"previousElementSibling"];while(o!=null&&o.hasAttribute("disabled"));return o}function x(t){if(!u.el)return;let l;if(!t)l=Te(u.el)[0];else if(t==="next"){if(l=P(u.el.querySelector(":focus"),t),!l)return x("first")}else if(t==="prev"){if(l=P(u.el.querySelector(":focus"),t),!l)return x("last")}else t==="first"?(l=u.el.firstElementChild,l!=null&&l.hasAttribute("disabled")&&(l=P(l,"next"))):t==="last"&&(l=u.el.lastElementChild,l!=null&&l.hasAttribute("disabled")&&(l=P(l,"prev")));l&&l.focus({preventScroll:!0})}function w(t){const l=v.value&&r.value?-1:1,o=(t==="prev"?-l:l)*g.value;let Q=b.value+o;if(v.value&&r.value&&d.el){const{scrollWidth:Y,offsetWidth:Z}=d.el;Q+=Y-Z}_(Q)}const U=S(()=>({next:c.next,prev:c.prev,select:c.select,isSelected:c.isSelected})),L=S(()=>p.value||Math.abs(b.value)>0),j=S(()=>{switch(e.showArrows){case"never":return!1;case"always":return!0;case"desktop":return!y.value;case!0:return L.value;case"mobile":return y.value||L.value;default:return!y.value&&L.value}}),X=S(()=>Math.abs(b.value)>1),J=S(()=>{if(!d.value||!L.value)return!1;const t=he(v.value,d.el),l=nl(v.value,d.el);return t-l-Math.abs(b.value)>1});return me(()=>h(e.tag,{class:M(["v-slide-group",{"v-slide-group--vertical":!v.value,"v-slide-group--has-affixes":j.value,"v-slide-group--is-overflowing":p.value},i.value,e.class]),style:Re(e.style),tabindex:A.value||c.selected.value.length?-1:0,onFocus:N},{default:()=>{var t,l,o;return[j.value&&k("div",{key:"prev",class:M(["v-slide-group__prev",{"v-slide-group__prev--disabled":!X.value}]),onMousedown:F,onClick:()=>X.value&&w("prev")},[((t=n.prev)==null?void 0:t.call(n,U.value))??h(oe,null,{default:()=>[h(E,{icon:r.value?e.nextIcon:e.prevIcon},null)]})]),k("div",{key:"container",ref:d,class:M(["v-slide-group__container",e.contentClass]),onScroll:K},[k("div",{ref:u,class:"v-slide-group__content",onFocusin:f,onFocusout:V,onKeydown:W},[(l=n.default)==null?void 0:l.call(n,U.value)])]),j.value&&k("div",{key:"next",class:M(["v-slide-group__next",{"v-slide-group__next--disabled":!J.value}]),onMousedown:F,onClick:()=>J.value&&w("next")},[((o=n.next)==null?void 0:o.call(n,U.value))??h(oe,null,{default:()=>[h(E,{icon:r.value?e.prevIcon:e.nextIcon},null)]})])]}})),{selected:c.selected,scrollTo:w,scrollOffset:b,focus:x,hasPrev:X,hasNext:J}}}),Ae=Symbol.for("vuetify:v-chip-group"),sl=te({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:Be},...ze({scrollToActive:!1}),...ne(),...ke({selectedClass:"v-chip--selected"}),...ae(),...Ce(),...Se({variant:"tonal"})},"VChipGroup"),cl=le()({name:"VChipGroup",props:sl(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:n}=s;const{themeClasses:r}=ge(e),{isSelected:i,select:y,next:c,prev:p,selected:b}=ye(e,Ae);return Fe({VChip:{baseColor:z(()=>e.baseColor),color:z(()=>e.color),disabled:z(()=>e.disabled),filter:z(()=>e.filter),variant:z(()=>e.variant)}}),me(()=>{const g=be.filterProps(e);return h(be,ee(g,{class:["v-chip-group",{"v-chip-group--column":e.column},r.value,e.class],style:e.style}),{default:()=>{var I;return[(I=n.default)==null?void 0:I.call(n,{isSelected:i,select:y,next:c,prev:p,selected:b.value})]}})}),{}}}),il=te({activeClass:String,appendAvatar:String,appendIcon:R,baseColor:String,closable:Boolean,closeIcon:{type:R,default:"$delete"},closeLabel:{type:String,default:"$vuetify.close"},draggable:Boolean,filter:Boolean,filterIcon:{type:R,default:"$complete"},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:R,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:fe(),onClickOnce:fe(),...ll(),...ne(),...el(),...Ze(),...Ye(),...Qe(),...Je(),...Xe(),...ae({tag:"span"}),...Ce(),...Se({variant:"tonal"})},"VChip"),rl=le()({name:"VChip",directives:{vRipple:ce},props:il(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,s){let{attrs:n,emit:r,slots:i}=s;const{t:y}=Oe(),{borderClasses:c}=De(e),{densityClasses:p}=Ge(e),{elevationClasses:b}=je(e),{roundedClasses:g}=We(e),{sizeClasses:I}=Le(e),{themeClasses:v}=ge(e),d=Me(e,"modelValue"),a=re(e,Ae,!1),u=re(e,Ve,!1),m=He(e,n),D=z(()=>e.link!==!1&&m.isLink.value),C=S(()=>!e.disabled&&e.link!==!1&&(!!a||e.link||m.isClickable.value)),q=z(()=>({"aria-label":y(e.closeLabel),disabled:e.disabled,onClick(f){f.preventDefault(),f.stopPropagation(),d.value=!1,r("click:close",f)}}));pe(d,f=>{f?(a==null||a.register(),u==null||u.register()):(a==null||a.unregister(),u==null||u.unregister())});const{colorClasses:$,colorStyles:A,variantClasses:G}=qe(()=>({color:!a||a.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function _(f){var V;r("click",f),C.value&&((V=m.navigate)==null||V.call(m,f),a==null||a.toggle())}function K(f){(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),_(f))}return()=>{var x;const f=m.isLink.value?"a":e.tag,V=!!(e.appendIcon||e.appendAvatar),T=!!(V||i.append),N=!!(i.close||e.closable),F=!!(i.filter||e.filter)&&a,W=!!(e.prependIcon||e.prependAvatar),P=!!(W||i.prepend);return d.value&&ue(h(f,ee(m.linkProps,{class:["v-chip",{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":C.value,"v-chip--filter":F,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&((x=m.isActive)==null?void 0:x.value)},v.value,c.value,$.value,p.value,b.value,g.value,I.value,G.value,a==null?void 0:a.selectedClass.value,e.class],style:[A.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:C.value?0:void 0,onClick:_,onKeydown:C.value&&!D.value&&K}),{default:()=>{var w;return[$e(C.value,"v-chip"),F&&h(Ke,{key:"filter"},{default:()=>[ue(k("div",{class:"v-chip__filter"},[i.filter?h(H,{key:"filter-defaults",disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},i.filter):h(E,{key:"filter-icon",icon:e.filterIcon},null)]),[[Ne,a.isSelected.value]])]}),P&&k("div",{key:"prepend",class:"v-chip__prepend"},[i.prepend?h(H,{key:"prepend-defaults",disabled:!W,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},i.prepend):k(de,null,[e.prependIcon&&h(E,{key:"prepend-icon",icon:e.prependIcon,start:!0},null),e.prependAvatar&&h(ve,{key:"prepend-avatar",image:e.prependAvatar,start:!0},null)])]),k("div",{class:"v-chip__content","data-no-activator":""},[((w=i.default)==null?void 0:w.call(i,{isSelected:a==null?void 0:a.isSelected.value,selectedClass:a==null?void 0:a.selectedClass.value,select:a==null?void 0:a.select,toggle:a==null?void 0:a.toggle,value:a==null?void 0:a.value.value,disabled:e.disabled}))??Ue(e.text)]),T&&k("div",{key:"append",class:"v-chip__append"},[i.append?h(H,{key:"append-defaults",disabled:!V,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},i.append):k(de,null,[e.appendIcon&&h(E,{key:"append-icon",end:!0,icon:e.appendIcon},null),e.appendAvatar&&h(ve,{key:"append-avatar",end:!0,image:e.appendAvatar},null)])]),N&&k("button",ee({key:"close",class:"v-chip__close",type:"button","data-testid":"close-chip"},q.value),[i.close?h(H,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},i.close):h(E,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[ce,C.value&&e.ripple,null]])}}});export{rl as V,be as a,cl as b,ze as m}; +import{g as le,b7 as Pe,X as we,bU as ye,cd as se,cB as Ee,aS as ie,ae as pe,b as me,c as h,i as g,b8 as oe,t as E,d as M,n as Re,a3 as S,az as F,cm as _e,p as te,a_ as R,bV as ge,m as ae,bH as Te,h as ne,bo as ke,aI as Be,E as ee,aY as Fe,cf as Se,bj as Ce,av as z,S as ce,aq as Oe,bz as De,aG as Ge,be as We,cC as Le,ar as Me,bR as re,cD as He,cu as qe,I as ue,cv as $e,cE as Ke,aW as H,J as Ne,F as de,L as ve,A as Ue,bp as je,cg as Xe,cF as Je,bk as Qe,bS as Ye,bq as Ze,aK as el,bI as ll,b0 as fe}from"./index-BUM0TY0E.js";function tl(e){let{selectedElement:s,containerElement:n,isRtl:r,isHorizontal:i}=e;const y=O(i,n),c=Ie(i,r,n),p=O(i,s),b=xe(i,s),k=p*.4;return c>b?b-k:c+ytypeof e=="boolean"||["always","desktop","mobile","never"].includes(e)},...ne(),...Te({mobile:null}),...ae(),...ge({selectedClass:"v-slide-group-item--active"})},"VSlideGroup"),be=le()({name:"VSlideGroup",props:ze(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:n}=s;const{isRtl:r}=Pe(),{displayClasses:i,mobile:y}=we(e),c=ye(e,e.symbol),p=F(!1),b=F(0),k=F(0),x=F(0),v=S(()=>e.direction==="horizontal"),{resizeRef:d,contentRect:a}=se(),{resizeRef:u,contentRect:m}=se(),D=Ee(),C=S(()=>({container:d.el,duration:200,easing:"easeOutQuart"})),q=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[0]):-1),$=S(()=>c.selected.value.length?c.items.value.findIndex(t=>t.id===c.selected.value[c.selected.value.length-1]):-1);if(ie){let t=-1;pe(()=>[c.selected.value,a.value,m.value,v.value],()=>{cancelAnimationFrame(t),t=requestAnimationFrame(()=>{if(a.value&&m.value){const l=v.value?"width":"height";k.value=a.value[l],x.value=m.value[l],p.value=k.value+1=0&&u.el){const l=u.el.children[$.value];G(l,e.centerActive)}})})}const A=F(!1);function G(t,l){let o=0;l?o=al({containerElement:d.el,isHorizontal:v.value,selectedElement:t}):o=tl({containerElement:d.el,isHorizontal:v.value,isRtl:r.value,selectedElement:t}),_(o)}function _(t){if(!ie||!d.el)return;const l=O(v.value,d.el),o=Ie(v.value,r.value,d.el);if(!(he(v.value,d.el)<=l||Math.abs(t-o)<16)){if(v.value&&r.value&&d.el){const{scrollWidth:Y,offsetWidth:Z}=d.el;t=Y-Z-t}v.value?D.horizontal(t,C.value):D(t,C.value)}}function K(t){const{scrollTop:l,scrollLeft:o}=t.target;b.value=v.value?o:l}function f(t){if(A.value=!0,!(!p.value||!u.el)){for(const l of t.composedPath())for(const o of u.el.children)if(o===l){G(o);return}}}function V(t){A.value=!1}let T=!1;function N(t){var l;!T&&!A.value&&!(t.relatedTarget&&((l=u.el)!=null&&l.contains(t.relatedTarget)))&&I(),T=!1}function B(){T=!0}function W(t){if(!u.el)return;function l(o){t.preventDefault(),I(o)}v.value?t.key==="ArrowRight"?l(r.value?"prev":"next"):t.key==="ArrowLeft"&&l(r.value?"next":"prev"):t.key==="ArrowDown"?l("next"):t.key==="ArrowUp"&&l("prev"),t.key==="Home"?l("first"):t.key==="End"&&l("last")}function P(t,l){if(!t)return;let o=t;do o=o==null?void 0:o[l==="next"?"nextElementSibling":"previousElementSibling"];while(o!=null&&o.hasAttribute("disabled"));return o}function I(t){if(!u.el)return;let l;if(!t)l=_e(u.el)[0];else if(t==="next"){if(l=P(u.el.querySelector(":focus"),t),!l)return I("first")}else if(t==="prev"){if(l=P(u.el.querySelector(":focus"),t),!l)return I("last")}else t==="first"?(l=u.el.firstElementChild,l!=null&&l.hasAttribute("disabled")&&(l=P(l,"next"))):t==="last"&&(l=u.el.lastElementChild,l!=null&&l.hasAttribute("disabled")&&(l=P(l,"prev")));l&&l.focus({preventScroll:!0})}function w(t){const l=v.value&&r.value?-1:1,o=(t==="prev"?-l:l)*k.value;let Q=b.value+o;if(v.value&&r.value&&d.el){const{scrollWidth:Y,offsetWidth:Z}=d.el;Q+=Y-Z}_(Q)}const U=S(()=>({next:c.next,prev:c.prev,select:c.select,isSelected:c.isSelected})),L=S(()=>p.value||Math.abs(b.value)>0),j=S(()=>{switch(e.showArrows){case"never":return!1;case"always":return!0;case"desktop":return!y.value;case!0:return L.value;case"mobile":return y.value||L.value;default:return!y.value&&L.value}}),X=S(()=>Math.abs(b.value)>1),J=S(()=>{if(!d.value||!L.value)return!1;const t=he(v.value,d.el),l=nl(v.value,d.el);return t-l-Math.abs(b.value)>1});return me(()=>h(e.tag,{class:M(["v-slide-group",{"v-slide-group--vertical":!v.value,"v-slide-group--has-affixes":j.value,"v-slide-group--is-overflowing":p.value},i.value,e.class]),style:Re(e.style),tabindex:A.value||c.selected.value.length?-1:0,onFocus:N},{default:()=>{var t,l,o;return[j.value&&g("div",{key:"prev",class:M(["v-slide-group__prev",{"v-slide-group__prev--disabled":!X.value}]),onMousedown:B,onClick:()=>X.value&&w("prev")},[((t=n.prev)==null?void 0:t.call(n,U.value))??h(oe,null,{default:()=>[h(E,{icon:r.value?e.nextIcon:e.prevIcon},null)]})]),g("div",{key:"container",ref:d,class:M(["v-slide-group__container",e.contentClass]),onScroll:K},[g("div",{ref:u,class:"v-slide-group__content",onFocusin:f,onFocusout:V,onKeydown:W},[(l=n.default)==null?void 0:l.call(n,U.value)])]),j.value&&g("div",{key:"next",class:M(["v-slide-group__next",{"v-slide-group__next--disabled":!J.value}]),onMousedown:B,onClick:()=>J.value&&w("next")},[((o=n.next)==null?void 0:o.call(n,U.value))??h(oe,null,{default:()=>[h(E,{icon:r.value?e.prevIcon:e.nextIcon},null)]})])]}})),{selected:c.selected,scrollTo:w,scrollOffset:b,focus:I,hasPrev:X,hasNext:J}}}),Ae=Symbol.for("vuetify:v-chip-group"),sl=te({baseColor:String,column:Boolean,filter:Boolean,valueComparator:{type:Function,default:Fe},...ze({scrollToActive:!1}),...ne(),...ge({selectedClass:"v-chip--selected"}),...ae(),...Ce(),...Se({variant:"tonal"})},"VChipGroup"),cl=le()({name:"VChipGroup",props:sl(),emits:{"update:modelValue":e=>!0},setup(e,s){let{slots:n}=s;const{themeClasses:r}=ke(e),{isSelected:i,select:y,next:c,prev:p,selected:b}=ye(e,Ae);return Be({VChip:{baseColor:z(()=>e.baseColor),color:z(()=>e.color),disabled:z(()=>e.disabled),filter:z(()=>e.filter),variant:z(()=>e.variant)}}),me(()=>{const k=be.filterProps(e);return h(be,ee(k,{class:["v-chip-group",{"v-chip-group--column":e.column},r.value,e.class],style:e.style}),{default:()=>{var x;return[(x=n.default)==null?void 0:x.call(n,{isSelected:i,select:y,next:c,prev:p,selected:b.value})]}})}),{}}}),il=te({activeClass:String,appendAvatar:String,appendIcon:R,baseColor:String,closable:Boolean,closeIcon:{type:R,default:"$delete"},closeLabel:{type:String,default:"$vuetify.close"},draggable:Boolean,filter:Boolean,filterIcon:{type:R,default:"$complete"},label:Boolean,link:{type:Boolean,default:void 0},pill:Boolean,prependAvatar:String,prependIcon:R,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},modelValue:{type:Boolean,default:!0},onClick:fe(),onClickOnce:fe(),...ll(),...ne(),...el(),...Ze(),...Ye(),...Qe(),...Je(),...Xe(),...ae({tag:"span"}),...Ce(),...Se({variant:"tonal"})},"VChip"),rl=le()({name:"VChip",directives:{vRipple:ce},props:il(),emits:{"click:close":e=>!0,"update:modelValue":e=>!0,"group:selected":e=>!0,click:e=>!0},setup(e,s){let{attrs:n,emit:r,slots:i}=s;const{t:y}=Oe(),{borderClasses:c}=De(e),{densityClasses:p}=Ge(e),{elevationClasses:b}=je(e),{roundedClasses:k}=We(e),{sizeClasses:x}=Le(e),{themeClasses:v}=ke(e),d=Me(e,"modelValue"),a=re(e,Ae,!1),u=re(e,Ve,!1),m=He(e,n),D=z(()=>e.link!==!1&&m.isLink.value),C=S(()=>!e.disabled&&e.link!==!1&&(!!a||e.link||m.isClickable.value)),q=z(()=>({"aria-label":y(e.closeLabel),disabled:e.disabled,onClick(f){f.preventDefault(),f.stopPropagation(),d.value=!1,r("click:close",f)}}));pe(d,f=>{f?(a==null||a.register(),u==null||u.register()):(a==null||a.unregister(),u==null||u.unregister())});const{colorClasses:$,colorStyles:A,variantClasses:G}=qe(()=>({color:!a||a.isSelected.value?e.color??e.baseColor:e.baseColor,variant:e.variant}));function _(f){var V;r("click",f),C.value&&((V=m.navigate)==null||V.call(m,f),a==null||a.toggle())}function K(f){(f.key==="Enter"||f.key===" ")&&(f.preventDefault(),_(f))}return()=>{var I;const f=m.isLink.value?"a":e.tag,V=!!(e.appendIcon||e.appendAvatar),T=!!(V||i.append),N=!!(i.close||e.closable),B=!!(i.filter||e.filter)&&a,W=!!(e.prependIcon||e.prependAvatar),P=!!(W||i.prepend);return d.value&&ue(h(f,ee(m.linkProps,{class:["v-chip",{"v-chip--disabled":e.disabled,"v-chip--label":e.label,"v-chip--link":C.value,"v-chip--filter":B,"v-chip--pill":e.pill,[`${e.activeClass}`]:e.activeClass&&((I=m.isActive)==null?void 0:I.value)},v.value,c.value,$.value,p.value,b.value,k.value,x.value,G.value,a==null?void 0:a.selectedClass.value,e.class],style:[A.value,e.style],disabled:e.disabled||void 0,draggable:e.draggable,tabindex:C.value?0:void 0,onClick:_,onKeydown:C.value&&!D.value&&K}),{default:()=>{var w;return[$e(C.value,"v-chip"),B&&h(Ke,{key:"filter"},{default:()=>[ue(g("div",{class:"v-chip__filter"},[i.filter?h(H,{key:"filter-defaults",disabled:!e.filterIcon,defaults:{VIcon:{icon:e.filterIcon}}},i.filter):h(E,{key:"filter-icon",icon:e.filterIcon},null)]),[[Ne,a.isSelected.value]])]}),P&&g("div",{key:"prepend",class:"v-chip__prepend"},[i.prepend?h(H,{key:"prepend-defaults",disabled:!W,defaults:{VAvatar:{image:e.prependAvatar,start:!0},VIcon:{icon:e.prependIcon,start:!0}}},i.prepend):g(de,null,[e.prependIcon&&h(E,{key:"prepend-icon",icon:e.prependIcon,start:!0},null),e.prependAvatar&&h(ve,{key:"prepend-avatar",image:e.prependAvatar,start:!0},null)])]),g("div",{class:"v-chip__content","data-no-activator":""},[((w=i.default)==null?void 0:w.call(i,{isSelected:a==null?void 0:a.isSelected.value,selectedClass:a==null?void 0:a.selectedClass.value,select:a==null?void 0:a.select,toggle:a==null?void 0:a.toggle,value:a==null?void 0:a.value.value,disabled:e.disabled}))??Ue(e.text)]),T&&g("div",{key:"append",class:"v-chip__append"},[i.append?h(H,{key:"append-defaults",disabled:!V,defaults:{VAvatar:{end:!0,image:e.appendAvatar},VIcon:{end:!0,icon:e.appendIcon}}},i.append):g(de,null,[e.appendIcon&&h(E,{key:"append-icon",end:!0,icon:e.appendIcon},null),e.appendAvatar&&h(ve,{key:"append-avatar",end:!0,image:e.appendAvatar},null)])]),N&&g("button",ee({key:"close",class:"v-chip__close",type:"button","data-testid":"close-chip"},q.value),[i.close?h(H,{key:"close-defaults",defaults:{VIcon:{icon:e.closeIcon,size:"x-small"}}},i.close):h(E,{key:"close-icon",icon:e.closeIcon,size:"x-small"},null)])]}}),[[ce,C.value&&e.ripple,null]])}}});export{rl as V,be as a,cl as b,ze as m}; diff --git a/assets/VCombobox-BctCYhAJ.js b/assets/VCombobox-B-HflrVw.js similarity index 97% rename from assets/VCombobox-BctCYhAJ.js rename to assets/VCombobox-B-HflrVw.js index a0c3eb3..08b3a17 100644 --- a/assets/VCombobox-BctCYhAJ.js +++ b/assets/VCombobox-B-HflrVw.js @@ -1,2 +1,2 @@ -import{Z as ai,ae as Y,$ as ri,av as A,a1 as P,aJ as Bi,bx as Fi,by as xn,b3 as Li,ba as $i,bc as Oi,g as ji,p as bi,b7 as Wi,bo as Hi,bz as Ui,aB as On,X as Yi,be as Ki,bA as Xi,ar as Mn,a as Qi,aH as Gi,bB as Ji,a0 as gn,ax as tn,bC as ng,aI as ig,b as mi,i as N,c as v,am as gg,aW as xi,E as $,au as fn,bp as hg,bv as ug,br as eg,F as an,bj as sg,m as lg,aC as fi,bk as og,bD as tg,bq as cg,bE as zg,bw as yg,h as dg,bF as ag,bG as rg,bH as jg,bI as bg,_ as mg,bJ as xg,bK as Cn,j as mn,B as Dn,o as cn,w as L,t as yn,P as wi,A as fg,G as wg,Q as qn,a2 as Wn,C as In,a3 as qg,v as pn,aq as pg,aR as vg,aA as kg,as as Tg,bL as zn,aY as Hn,aS as Sg,aT as Pg,K as Cg,aU as Dg,L as Ig,aV as Vg,n as Mg,d as Eg,aw as _g,aX as Un,bM as Ng,bN as Rg}from"./index-Ck0Pnd4f.js";import{V as Ag,a as Zg}from"./VAppBarTitle-N2z58aj8.js";import{e as Bg,f as Fg,V as Yn,g as Lg}from"./VTextField-C6VOv1Py.js";import{u as $g,a as Og,V as Wg,b as Hg,c as Ug,h as Yg,m as Kg,d as Xg}from"./filter-BOxM3LRL.js";import{V as Qg}from"./VCheckboxBtn-DWqkYNT7.js";import{V as Kn}from"./VChip-C4TXrZae.js";const ou=["Teams Ping.mp3","Teams Remix.mp3","Teams bounce.mp3","Teams incoming-ringtone-level30.mp3","Teams incoming-ringtone-level40.mp3","Teams meetup_ring.mp3","Teams screenshare_ring.mp3","Teams teams_meet_up_reminder.mp3","Teams teams_notification.mp3","Teams 优先处理.mp3","Teams 共鸣.mp3","Teams 召唤.mp3","Teams 叮铃.mp3","Teams 增强.mp3","Teams 尤里卡.mp3","Teams 弹拨.mp3","Teams 提醒.mp3","Teams 摇摆.mp3","Teams 时空.mp3","Teams 气泡(大声).mp3","Teams 气泡.mp3","Teams 波普.mp3","Teams 波纹.mp3","Teams 滴水.mp3","Teams 点击.mp3","Teams 蜂鸣声.mp3","Teams 警报.mp3","Teams 赋予希望.mp3","Teams 轻弹.mp3","Teams 进阶.mp3","Teams 重复振铃.mp3","Teams 颤振.mp3","Teams 高分.mp3","Teams 默认.mp3","Teams 默认通话铃.mp3"];function Gg(n){return n?`/sounds/${n}`:null}function tu(n,i=!1){const g=Gg(n);if(!g)return console.warn("音频文件不存在:",n),null;try{const u=new Audio(g);u.loop=i;const h=u.play();return h!==void 0&&h.catch(e=>{console.warn("播放音频失败:",e.name,e.message)}),u}catch(u){return console.error("创建音频对象失败:",u),null}}function cu(n){n&&(n.pause(),n.currentTime=0)}function Jg(n){let{rootEl:i,isSticky:g,layoutItemStyles:u}=n;const h=A(!1),e=A(0),s=P(()=>{const c=typeof h.value=="boolean"?"top":h.value;return[g.value?{top:"auto",bottom:"auto",height:void 0}:void 0,h.value?{[c]:Bi(e.value)}:{top:u.value.top}]});ai(()=>{Y(g,c=>{c?window.addEventListener("scroll",d,{passive:!0}):window.removeEventListener("scroll",d)},{immediate:!0})}),ri(()=>{window.removeEventListener("scroll",d)});let o=0;function d(){const c=o>window.scrollY?"up":"down",z=i.value.getBoundingClientRect(),t=parseFloat(u.value.top??0),x=window.scrollY-Math.max(0,e.value-t),w=z.height+Math.max(e.value,t)-window.scrollY-window.innerHeight,T=parseFloat(getComputedStyle(i.value).getPropertyValue("--v-body-scroll-y"))||0;z.height0;g--){if(n[g].t===n[g-1].t)continue;const u=Xn(i),h=(n[g].d-n[g-1].d)/(n[g].t-n[g-1].t);i+=(h-u)*Math.abs(h),g===n.length-1&&(i*=.5)}return Xn(i)*1e3}function gh(){const n={};function i(h){Array.from(h.changedTouches).forEach(e=>{(n[e.identifier]??(n[e.identifier]=new Fi(ih))).push([h.timeStamp,e])})}function g(h){Array.from(h.changedTouches).forEach(e=>{delete n[e.identifier]})}function u(h){var c;const e=(c=n[h])==null?void 0:c.values().reverse();if(!e)throw new Error(`No samples for touch id ${h}`);const s=e[0],o=[],d=[];for(const z of e){if(s[0]-z[0]>nh)break;o.push({t:z[0],d:z[1].clientX}),d.push({t:z[0],d:z[1].clientY})}return{x:Qn(o),y:Qn(d),get direction(){const{x:z,y:t}=this,[x,w]=[Math.abs(z),Math.abs(t)];return x>w&&z>=0?"right":x>w&&z<=0?"left":w>x&&t>=0?"down":w>x&&t<=0?"up":hh()}}}return{addMovement:i,endTouch:g,getVelocity:u}}function hh(){throw new Error}function uh(n){let{el:i,isActive:g,isTemporary:u,width:h,touchless:e,position:s}=n;ai(()=>{window.addEventListener("touchstart",K,{passive:!0}),window.addEventListener("touchmove",a,{passive:!1}),window.addEventListener("touchend",Z,{passive:!0})}),ri(()=>{window.removeEventListener("touchstart",K),window.removeEventListener("touchmove",a),window.removeEventListener("touchend",Z)});const o=P(()=>["left","right"].includes(s.value)),{addMovement:d,endTouch:c,getVelocity:z}=gh();let t=!1;const x=A(!1),w=A(0),T=A(0);let V;function J(m,r){return(s.value==="left"?m:s.value==="right"?document.documentElement.clientWidth-m:s.value==="top"?m:s.value==="bottom"?document.documentElement.clientHeight-m:on())-(r?h.value:0)}function nn(m){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const j=s.value==="left"?(m-T.value)/h.value:s.value==="right"?(document.documentElement.clientWidth-m-T.value)/h.value:s.value==="top"?(m-T.value)/h.value:s.value==="bottom"?(document.documentElement.clientHeight-m-T.value)/h.value:on();return r?Oi(j):j}function K(m){if(e.value)return;const r=m.changedTouches[0].clientX,j=m.changedTouches[0].clientY,f=25,b=s.value==="left"?rdocument.documentElement.clientWidth-f:s.value==="top"?jdocument.documentElement.clientHeight-f:on(),D=g.value&&(s.value==="left"?rdocument.documentElement.clientWidth-h.value:s.value==="top"?jdocument.documentElement.clientHeight-h.value:on());(b||D||g.value&&u.value)&&(V=[r,j],T.value=J(o.value?r:j,g.value),w.value=nn(o.value?r:j),t=T.value>-20&&T.value<80,c(m),d(m))}function a(m){const r=m.changedTouches[0].clientX,j=m.changedTouches[0].clientY;if(t){if(!m.cancelable){t=!1;return}const b=Math.abs(r-V[0]),D=Math.abs(j-V[1]);(o.value?b>D&&b>3:D>b&&D>3)?(x.value=!0,t=!1):(o.value?D:b)>3&&(t=!1)}if(!x.value)return;m.preventDefault(),d(m);const f=nn(o.value?r:j,!1);w.value=Math.max(0,Math.min(1,f)),f>1?T.value=J(o.value?r:j,!0):f<0&&(T.value=J(o.value?r:j,!1))}function Z(m){if(t=!1,!x.value)return;d(m),x.value=!1;const r=z(m.changedTouches[0].identifier),j=Math.abs(r.x),f=Math.abs(r.y);(o.value?j>f&&j>400:f>j&&f>3)?g.value=r.direction===({left:"right",right:"left",top:"down",bottom:"up"}[s.value]||on()):g.value=w.value>.5}const X=P(()=>x.value?{transform:s.value==="left"?`translateX(calc(-100% + ${w.value*h.value}px))`:s.value==="right"?`translateX(calc(100% - ${w.value*h.value}px))`:s.value==="top"?`translateY(calc(-100% + ${w.value*h.value}px))`:s.value==="bottom"?`translateY(calc(100% - ${w.value*h.value}px))`:on(),transition:"none"}:void 0);return xn(x,()=>{var j,f;const m=((j=i.value)==null?void 0:j.style.transform)??null,r=((f=i.value)==null?void 0:f.style.transition)??null;Li(()=>{var b,D,W,hn;(D=i.value)==null||D.style.setProperty("transform",((b=X.value)==null?void 0:b.transform)||"none"),(hn=i.value)==null||hn.style.setProperty("transition",((W=X.value)==null?void 0:W.transition)||null)}),$i(()=>{var b,D;(b=i.value)==null||b.style.setProperty("transform",m),(D=i.value)==null||D.style.setProperty("transition",r)})}),{isDragging:x,dragProgress:w,dragStyles:X}}function on(){throw new Error}const eh=["start","end","left","right","top","bottom"],sh=bi({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:n=>eh.includes(n)},sticky:Boolean,...ag(),...dg(),...yg(),...zg({mobile:null}),...cg(),...tg(),...og(),...fi(rg(),["disableInitialFocus"]),...lg({tag:"nav"}),...sg()},"VNavigationDrawer"),lh=ji()({name:"VNavigationDrawer",props:sh(),emits:{"update:modelValue":n=>!0,"update:rail":n=>!0},setup(n,i){let{attrs:g,emit:u,slots:h}=i;const{isRtl:e}=Wi(),{themeClasses:s}=Hi(n),{borderClasses:o}=Ui(n),{backgroundColorClasses:d,backgroundColorStyles:c}=On(()=>n.color),{elevationClasses:z}=hg(n),{displayClasses:t,mobile:x}=Yi(n),{roundedClasses:w}=Ki(n),T=Xi(),V=Mn(n,"modelValue",null,M=>!!M),{ssrBootStyles:J}=Qi(),{scopeId:nn}=Gi(),K=gn(),a=A(!1),{runOpenDelay:Z,runCloseDelay:X}=ug(n,M=>{a.value=M}),m=P(()=>n.rail&&n.expandOnHover&&a.value?Number(n.width):Number(n.rail?n.railWidth:n.width)),r=P(()=>bg(n.location,e.value)),j=fn(()=>n.persistent),f=P(()=>!n.permanent&&(x.value||n.temporary)),b=P(()=>n.sticky&&!f.value&&r.value!=="bottom");Ji(n,{isActive:V,localTop:f,contentEl:K}),xn(()=>n.expandOnHover&&n.rail!=null,()=>{Y(a,M=>u("update:rail",!M))}),xn(()=>!n.disableResizeWatcher,()=>{Y(f,M=>!n.permanent&&tn(()=>V.value=!M))}),xn(()=>!n.disableRouteWatcher&&!!T,()=>{Y(T.currentRoute,()=>f.value&&(V.value=!1))}),Y(()=>n.permanent,M=>{M&&(V.value=!0)}),n.modelValue==null&&!f.value&&(V.value=n.permanent||!x.value);const{isDragging:D,dragProgress:W}=uh({el:K,isActive:V,isTemporary:f,width:m,touchless:fn(()=>n.touchless),position:r}),hn=P(()=>{const M=f.value?0:n.rail&&n.expandOnHover?Number(n.railWidth):m.value;return D.value?M*W.value:M}),{layoutItemStyles:B,layoutItemScrimStyles:un}=ng({id:n.name,order:P(()=>parseInt(n.order,10)),position:r,layoutSize:hn,elementSize:m,active:jg(V),disableTransitions:fn(()=>D.value),absolute:P(()=>n.absolute||b.value&&typeof en.value!="string")}),{isStuck:en,stickyStyles:C}=Jg({rootEl:K,isSticky:b,layoutItemStyles:B}),rn=On(()=>typeof n.scrim=="string"?n.scrim:null),Sn=P(()=>({...D.value?{opacity:W.value*.2,transition:"none"}:void 0,...un.value}));return ig({VList:{bgColor:"transparent"}}),mi(()=>{const M=h.image||n.image;return N(an,null,[v(n.tag,$({ref:K,onMouseenter:Z,onMouseleave:X,class:["v-navigation-drawer",`v-navigation-drawer--${r.value}`,{"v-navigation-drawer--expand-on-hover":n.expandOnHover,"v-navigation-drawer--floating":n.floating,"v-navigation-drawer--is-hovering":a.value,"v-navigation-drawer--rail":n.rail,"v-navigation-drawer--temporary":f.value,"v-navigation-drawer--persistent":j.value,"v-navigation-drawer--active":V.value,"v-navigation-drawer--sticky":b.value},s.value,d.value,o.value,t.value,z.value,w.value,n.class],style:[c.value,B.value,J.value,C.value,n.style],inert:!V.value},nn,g),{default:()=>{var jn,Q,sn;return[M&&N("div",{key:"image",class:"v-navigation-drawer__img"},[h.image?v(xi,{key:"image-defaults",disabled:!n.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:n.image}}},h.image):v(gg,{key:"image-img",alt:"",cover:!0,height:"inherit",src:n.image},null)]),h.prepend&&N("div",{class:"v-navigation-drawer__prepend"},[(jn=h.prepend)==null?void 0:jn.call(h)]),N("div",{class:"v-navigation-drawer__content"},[(Q=h.default)==null?void 0:Q.call(h)]),h.append&&N("div",{class:"v-navigation-drawer__append"},[(sn=h.append)==null?void 0:sn.call(h)])]}}),v(eg,{name:"fade-transition"},{default:()=>[f.value&&(D.value||V.value)&&!!n.scrim&&N("div",$({class:["v-navigation-drawer__scrim",rn.backgroundColorClasses.value],style:[Sn.value,rn.backgroundColorStyles.value],onClick:()=>{j.value||(V.value=!1)}},nn),null)]})])}),{isStuck:en}}}),oh=xg({name:"MessageLog",setup(){const n=gn(!1),i=gn([]),g={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},u={success:"success",error:"error",warning:"warning",info:"primary"};return Cn.onLog(h=>{h&&(i.value=h)}),{drawer:n,messages:i,icons:g,colors:u,deleteMessage:h=>Cn.deleteMessage(h),clearMessages:()=>Cn.clearMessages()}}}),th={class:"text-caption text-grey"};function ch(n,i,g,u,h,e){return n.drawer?(cn(),mn(lh,{key:0,modelValue:n.drawer,"onUpdate:modelValue":i[0]||(i[0]=s=>n.drawer=s),location:"right",temporary:"",width:"400"},{default:L(()=>[v(Ag,{color:"primary"},{default:L(()=>[v(Zg,null,{default:L(()=>[...i[1]||(i[1]=[yn("消息记录",-1)])]),_:1})]),_:1}),v(wi,null,{default:L(()=>[(cn(!0),fg(an,null,wg(n.messages,s=>(cn(),mn(qn,{key:s.id,rounded:""},{prepend:L(()=>[v(pn,{color:n.colors[s.type],icon:n.icons[s.type],size:"20"},null,8,["color","icon"])]),default:L(()=>[v(Wn,null,{default:L(()=>[yn(In(s.title),1)]),_:2},1024),s.content?(cn(),mn(qg,{key:0},{default:L(()=>[yn(In(s.content),1)]),_:2},1024)):Dn("",!0),N("span",th,In(new Date(s.timestamp).toLocaleTimeString()),1)]),_:2},1024))),128)),n.messages.length?Dn("",!0):(cn(),mn(qn,{key:0},{prepend:L(()=>[v(pn,{color:"grey",icon:"mdi-inbox"})]),default:L(()=>[v(Wn,{class:"text-grey"},{default:L(()=>[...i[2]||(i[2]=[yn("暂无消息",-1)])]),_:1})]),_:1}))]),_:1})]),_:1},8,["modelValue"])):Dn("",!0)}const zu=mg(oh,[["render",ch]]),zh=/^[\uD800-\uDBFF]$/,yh=/^[\uDC00-\uDFFF]$/,dh=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var Gn;(function(n){n[n.Unknown=1e-13]="Unknown",n[n.Rule=1e-12]="Rule",n[n.DICT=2e-8]="DICT",n[n.Surname=1]="Surname",n[n.Custom=1]="Custom"})(Gn||(Gn={}));const R={Normal:1,Surname:10,Custom:100};function O(n){var i;return n.length-(((i=n.match(dh))===null||i===void 0?void 0:i.length)||0)}function En(n){const i=[];let g=0;for(;g1)return this.StringDICT.get(i);{const g=i.charCodeAt(0);return this.NumberDICT[g]}}set(i,g){if(i.length>1)this.StringDICT.set(i,g);else{const u=i.charCodeAt(0);this.NumberDICT[u]=g}}clear(){this.NumberDICT=[],this.StringDICT.clear()}}const Jn={"bǎng páng pāng":["膀"],líng:["〇","伶","凌","刢","囹","坽","夌","姈","婈","孁","岺","彾","掕","昤","朎","柃","棂","櫺","欞","泠","淩","澪","灵","燯","爧","狑","玲","琌","瓴","皊","砱","祾","秢","竛","笭","紷","綾","绫","羐","羚","翎","聆","舲","苓","菱","蓤","蔆","蕶","蛉","衑","裬","詅","跉","軨","輘","酃","醽","鈴","錂","铃","閝","陵","零","霊","霗","霛","霝","靈","駖","魿","鯪","鲮","鴒","鸰","鹷","麢","齡","齢","龄","龗","㥄"],yī:["一","乊","伊","依","医","吚","咿","噫","壱","壹","夁","嫛","嬄","弌","揖","撎","檹","毉","洢","渏","漪","瑿","畩","祎","禕","稦","繄","蛜","衤","譩","辷","郼","醫","銥","铱","鷖","鹥","黟","黳"],"dīng zhēng":["丁"],"kǎo qiǎo yú":["丂"],qī:["七","倛","僛","凄","嘁","墄","娸","悽","慼","慽","戚","捿","柒","桤","桼","棲","榿","欺","沏","淒","漆","紪","緀","萋","褄","諆","迉","郪","鏚","霋","魌","鶈"],shàng:["丄","尙","尚","恦","緔","绱"],xià:["丅","下","乤","圷","夏","夓","懗","梺","疜","睱","罅","鎼","鏬"],hǎn:["丆","喊","浫","罕","豃","㘎"],"wàn mò":["万"],zhàng:["丈","仗","墇","嶂","帐","帳","幛","扙","杖","涱","痮","瘬","瘴","瞕","粀","胀","脹","賬","账","障"],sān:["三","厁","叁","弎","毵","毶","毿","犙","鬖"],"shàng shǎng shang":["上"],"qí jī":["丌","其","奇"],"bù fǒu":["不"],"yǔ yù yú":["与"],miǎn:["丏","偭","免","冕","勉","勔","喕","娩","愐","汅","沔","湎","睌","緬","缅","腼","葂","靦","鮸","𩾃"],gài:["丐","乢","匃","匄","戤","概","槩","槪","溉","漑","瓂","葢","鈣","钙","𬮿"],chǒu:["丑","丒","侴","吜","杽","瞅","矁","醜","魗"],zhuān:["专","叀","嫥","専","專","瑼","甎","砖","磗","磚","蟤","諯","鄟","顓","颛","鱄","䏝"],"qiě jū":["且"],pī:["丕","伓","伾","噼","坯","岯","憵","批","披","炋","狉","狓","砒","磇","礔","礕","秛","秠","耚","豾","邳","鈚","鉟","銔","錃","錍","霹","駓","髬","魾","𬳵"],shì:["世","丗","亊","事","仕","侍","冟","势","勢","卋","呩","嗜","噬","士","奭","嬕","室","市","式","弑","弒","恀","恃","戺","拭","揓","是","昰","枾","柿","栻","澨","烒","煶","眂","眎","眡","睗","示","礻","筮","簭","舐","舓","襫","視","视","觢","試","誓","諡","謚","试","谥","貰","贳","軾","轼","逝","遾","釈","释","釋","鈰","鉃","鉽","铈","飾","餙","餝","饰","鰘","䏡","𬤊"],qiū:["丘","丠","坵","媝","恘","恷","楸","秋","秌","穐","篍","緧","萩","蘒","蚯","蝵","蟗","蠤","趥","邱","鞦","鞧","鰌","鰍","鳅","鶖","鹙","龝"],bǐng:["丙","屛","怲","抦","昞","昺","柄","棅","炳","禀","秉","稟","苪","蛃","邴","鈵","陃","鞆","餅","餠","饼"],yè:["业","亱","僷","墷","夜","嶪","嶫","抴","捙","擛","擪","擫","晔","曄","曅","曗","曳","曵","枼","枽","業","洂","液","澲","烨","燁","爗","璍","皣","瞱","瞸","礏","腋","葉","謁","谒","邺","鄴","鍱","鐷","靥","靨","頁","页","餣","饁","馌","驜","鵺","鸈"],cóng:["丛","从","叢","婃","孮","従","徔","徖","悰","樷","欉","淙","灇","爜","琮","藂","誴","賨","賩","錝"],dōng:["东","倲","冬","咚","埬","岽","崬","徚","昸","東","氡","氭","涷","笗","苳","菄","蝀","鮗","鯟","鶇","鶫","鸫","鼕","𬟽"],sī:["丝","俬","凘","厮","司","咝","嘶","噝","媤","廝","恖","撕","斯","楒","泀","澌","燍","禗","禠","私","糹","絲","緦","纟","缌","罳","蕬","虒","蛳","蜤","螄","蟖","蟴","鉰","銯","鍶","鐁","锶","颸","飔","騦","鷥","鸶","鼶","㟃"],chéng:["丞","呈","城","埕","堘","塍","塖","宬","峸","惩","懲","成","承","挰","掁","揨","枨","棖","橙","檙","洆","溗","澂","珵","珹","畻","程","窚","筬","絾","脭","荿","誠","诚","郕","酲","鋮","铖","騬","鯎"],diū:["丟","丢","銩","铥"],liǎng:["両","两","兩","唡","啢","掚","緉","脼","蜽","裲","魉","魎","𬜯"],yǒu:["丣","卣","友","梄","湵","牖","禉","羑","聈","苃","莠","蜏","酉","銪","铕","黝"],yán:["严","厳","啱","喦","嚴","塩","壛","壧","妍","姸","娫","娮","岩","嵒","嵓","巌","巖","巗","延","揅","昖","楌","檐","櫩","欕","沿","炎","炏","狿","琂","盐","碞","筵","簷","莚","蔅","虤","蜒","言","訁","訮","詽","讠","郔","閆","閻","闫","阎","顏","顔","颜","鹽","麣","𫄧"],bìng:["並","併","倂","傡","垪","摒","栤","病","窉","竝","誁","靐","鮩"],"sàng sāng":["丧"],gǔn:["丨","惃","滚","滾","磙","緄","绲","蓘","蔉","衮","袞","輥","辊","鮌","鯀","鲧"],jiū:["丩","勼","啾","揪","揫","朻","究","糾","纠","萛","赳","阄","鬏","鬮","鳩","鸠"],"gè gě":["个","個","各"],yā:["丫","圧","孲","庘","押","枒","桠","椏","錏","鐚","鴉","鴨","鵶","鸦","鸭"],pán:["丬","媻","幋","槃","洀","瀊","爿","盘","盤","磐","縏","蒰","蟠","蹒","蹣","鎜","鞶"],"zhōng zhòng":["中"],jǐ:["丮","妀","己","戟","挤","掎","撠","擠","橶","泲","犱","脊","虮","蟣","魢","鱾","麂"],jiè:["丯","介","借","唶","堺","屆","届","岕","庎","徣","戒","楐","犗","玠","琾","界","畍","疥","砎","蚧","蛶","衸","褯","誡","诫","鎅","骱","魪"],fēng:["丰","仹","偑","僼","凨","凬","凮","妦","寷","封","峯","峰","崶","枫","楓","檒","沣","沨","渢","灃","烽","犎","猦","琒","疯","瘋","盽","砜","碸","篈","蘴","蜂","蠭","豐","鄷","酆","鋒","鎽","鏠","锋","霻","靊","飌","麷"],"guàn kuàng":["丱"],chuàn:["串","汌","玔","賗","釧","钏"],chǎn:["丳","产","冁","剷","囅","嵼","旵","浐","滻","灛","產","産","簅","蒇","蕆","諂","譂","讇","谄","鏟","铲","閳","闡","阐","骣","𬊤"],lín:["临","冧","壣","崊","嶙","斴","晽","暽","林","潾","瀶","燐","琳","璘","瞵","碄","磷","粦","粼","繗","翷","臨","轔","辚","遴","邻","鄰","鏻","阾","隣","霖","驎","鱗","鳞","麐","麟","𬴊","𬭸"],zhuó:["丵","劅","卓","啄","圴","妰","娺","撯","擆","擢","斫","斮","斱","斲","斵","晫","椓","浊","浞","濁","灼","烵","琸","硺","禚","窡","籗","籱","罬","茁","蠗","蠿","諁","諑","謶","诼","酌","鐲","镯","鵫","鷟","䓬","𬸦"],zhǔ:["丶","主","劯","嘱","囑","宔","帾","拄","渚","濐","煑","煮","燝","瞩","矚","罜","詝","陼","鸀","麈","𬣞"],bā:["丷","仈","八","叭","哵","夿","岜","巴","捌","朳","玐","疤","笆","粑","羓","芭","蚆","豝","釟"],wán:["丸","刓","完","岏","抏","捖","汍","烷","玩","琓","笂","紈","纨","翫","芄","貦","頑","顽"],dān:["丹","勯","匰","単","妉","媅","殚","殫","甔","眈","砃","箪","簞","耼","耽","聃","聸","褝","襌","躭","郸","鄲","酖","頕"],"wèi wéi":["为"],"jǐng dǎn":["丼"],"lì lí":["丽"],jǔ:["举","弆","挙","擧","椇","榉","榘","櫸","欅","矩","筥","聥","舉","莒","蒟","襷","踽","齟","龃"],piě:["丿","苤","鐅","𬭯"],fú:["乀","伏","俘","凫","刜","匐","咈","哹","垘","孚","岪","巿","帗","幅","幞","弗","彿","怫","扶","柫","栿","桴","氟","泭","浮","涪","澓","炥","玸","甶","畉","癁","祓","福","稪","符","箙","紱","紼","絥","綍","绂","绋","罘","罦","翇","艀","芙","芣","苻","茀","茯","菔","葍","虙","蚨","蜉","蝠","袚","袱","襆","襥","諨","豧","踾","輻","辐","郛","鉘","鉜","韍","韨","颫","髴","鮄","鮲","鳧","鳬","鴔","鵩","黻"],"yí jí":["乁"],yì:["乂","义","亄","亦","亿","伇","伿","佾","俋","億","兿","刈","劓","劮","勚","勩","匇","呓","呭","呹","唈","囈","圛","坄","垼","埸","奕","嫕","嬑","寱","屹","峄","嶧","帟","帠","幆","廙","异","弈","弋","役","忆","怈","怿","悒","意","憶","懌","懿","抑","挹","敡","易","晹","曀","曎","杙","枍","棭","榏","槸","檍","歝","殔","殪","殹","毅","浂","浥","浳","湙","溢","潩","澺","瀷","炈","焲","熠","熤","熼","燚","燡","燱","獈","玴","異","疫","痬","瘗","瘞","瘱","癔","益","瞖","穓","竩","篒","縊","繶","繹","绎","缢","義","羿","翊","翌","翳","翼","耴","肄","肊","膉","臆","艗","艺","芅","苅","萟","蓺","薏","藙","藝","蘙","虉","蜴","螠","衪","袣","裔","裛","褹","襼","訲","訳","詍","詣","誼","譯","議","讛","议","译","诣","谊","豙","豛","豷","貖","贀","跇","轶","逸","邑","鄓","醷","釴","鈠","鎰","鐿","镒","镱","阣","隿","霬","饐","駅","驛","驿","骮","鮨","鶂","鶃","鶍","鷁","鷊","鷧","鷾","鸃","鹝","鹢","黓","齸","𬬩","㑊","𫄷","𬟁"],nǎi:["乃","倷","奶","嬭","廼","氖","疓","艿","迺","釢"],wǔ:["乄","五","仵","伍","侮","倵","儛","午","啎","妩","娬","嫵","庑","廡","忤","怃","憮","摀","武","潕","熓","牾","玝","珷","瑦","甒","碔","舞","躌","迕","逜","陚","鵡","鹉","𣲘"],jiǔ:["久","乆","九","乣","奺","杦","汣","灸","玖","紤","舏","酒","镹","韭","韮"],"tuō zhé":["乇","杔","馲"],"me mó ma yāo":["么"],zhī:["之","倁","卮","巵","搘","支","栀","梔","椥","榰","汁","泜","疷","祗","祬","秓","稙","綕","肢","胑","胝","脂","芝","蘵","蜘","衼","隻","鳷","鴲","鼅","𦭜"],"wū wù":["乌"],zhà:["乍","咤","宱","搾","榨","溠","痄","蚱","詐","诈","醡","霅","䃎"],hū:["乎","乯","匢","匫","呼","唿","嘑","垀","寣","幠","忽","惚","昒","歑","泘","淴","滹","烀","苸","虍","虖","謼","軤","轷","雐"],fá:["乏","伐","傠","坺","垡","墢","姂","栰","浌","瞂","笩","筏","罚","罰","罸","藅","閥","阀"],"lè yuè yào lào":["乐","樂"],yín:["乑","吟","噖","嚚","圁","垠","夤","婬","寅","峾","崟","崯","檭","殥","泿","淫","滛","烎","犾","狺","璌","硍","碒","荶","蔩","訔","訚","訡","誾","鄞","鈝","銀","银","霪","鷣","齦"],pīng:["乒","俜","娉","涄","甹","砯","聠","艵","頩"],pāng:["乓","滂","胮","膖","雱","霶"],qiáo:["乔","侨","僑","嫶","憔","桥","槗","樵","橋","櫵","犞","瞧","硚","礄","荍","荞","蕎","藮","譙","趫","鐈","鞒","鞽","顦"],hǔ:["乕","琥","萀","虎","虝","錿","鯱"],guāi:["乖"],"chéng shèng":["乗","乘","娍"],yǐ:["乙","乛","以","倚","偯","嬟","崺","已","庡","扆","攺","敼","旑","旖","檥","矣","礒","笖","舣","艤","苡","苢","蚁","螘","蟻","裿","踦","輢","轙","逘","酏","釔","鈘","鉯","钇","顗","鳦","齮","𫖮","𬺈"],"háo yǐ":["乚"],"niè miē":["乜"],qǐ:["乞","企","启","唘","啓","啔","啟","婍","屺","杞","棨","玘","盀","綺","绮","芑","諬","起","邔","闙"],yě:["也","冶","嘢","埜","壄","漜","野"],xí:["习","喺","媳","嶍","席","椺","檄","漝","習","蓆","袭","襲","覡","觋","謵","趘","郋","鎴","隰","霫","飁","騱","騽","驨","鰼","鳛","𠅤","𫘬"],xiāng:["乡","厢","廂","忀","楿","欀","湘","瓖","稥","箱","緗","缃","膷","芗","萫","葙","薌","襄","郷","鄉","鄊","鄕","鑲","镶","香","驤","骧","鱜","麘","𬙋"],shū:["书","倏","倐","儵","叔","姝","尗","抒","掓","摅","攄","書","枢","梳","樞","殊","殳","毹","毺","淑","瀭","焂","疎","疏","紓","綀","纾","舒","菽","蔬","踈","軗","輸","输","鄃","陎","鮛","鵨"],dǒu:["乧","抖","枓","蚪","鈄","阧","陡"],shǐ:["乨","使","兘","史","始","宩","屎","榁","矢","笶","豕","鉂","駛","驶"],jī:["乩","僟","击","刉","刏","剞","叽","唧","喞","嗘","嘰","圾","基","墼","姬","屐","嵆","嵇","撃","擊","朞","机","枅","樭","機","毄","激","犄","玑","璣","畸","畿","癪","矶","磯","积","積","笄","筓","箕","簊","緁","羁","羇","羈","耭","肌","芨","虀","覉","覊","譏","譤","讥","賫","賷","赍","跻","踑","躋","躸","銈","錤","鐖","鑇","鑙","隮","雞","鞿","韲","飢","饑","饥","魕","鳮","鶏","鶺","鷄","鸄","鸡","齎","齏","齑","𬯀","𫓯","𫓹","𫌀"],náng:["乪","嚢","欜","蠰","饢"],jiā:["乫","佳","傢","加","嘉","抸","枷","梜","毠","泇","浃","浹","犌","猳","珈","痂","笳","糘","耞","腵","葭","袈","豭","貑","跏","迦","鉫","鎵","镓","鴐","麚","𬂩"],jù:["乬","倨","倶","具","剧","劇","勮","埧","埾","壉","姖","屦","屨","岠","巨","巪","怇","惧","愳","懅","懼","拒","拠","昛","歫","洰","澽","炬","烥","犋","秬","窭","窶","簴","粔","耟","聚","虡","蚷","詎","讵","豦","距","踞","躆","遽","邭","醵","鉅","鐻","钜","颶","飓","駏","鮔"],shí:["乭","十","埘","塒","姼","实","実","寔","實","峕","嵵","时","旹","時","榯","湜","溡","炻","祏","竍","蚀","蝕","辻","遈","鉐","飠","饣","鮖","鰣","鲥","鼫","鼭"],mǎo:["乮","冇","卯","峁","戼","昴","泖","笷","蓩","鉚","铆"],mǎi:["买","嘪","荬","蕒","買","鷶"],luàn:["乱","亂","釠"],rǔ:["乳","擩","汝","肗","辱","鄏"],xué:["乴","学","學","峃","嶨","斈","泶","澩","燢","穴","茓","袕","踅","鷽","鸴"],yǎn:["䶮","乵","俨","偃","儼","兖","兗","厣","厴","噞","孍","嵃","巘","巚","弇","愝","戭","扊","抁","掩","揜","曮","椼","檿","沇","渷","演","琰","甗","眼","罨","萒","蝘","衍","褗","躽","遃","郾","隒","顩","魇","魘","鰋","鶠","黡","黤","黬","黭","黶","鼴","鼹","齴","龑","𬸘","𬙂","𪩘"],fǔ:["乶","俌","俛","俯","府","弣","抚","拊","撫","斧","椨","滏","焤","甫","盙","簠","腐","腑","蜅","輔","辅","郙","釜","釡","阝","頫","鬴","黼","㕮","𫖯"],shā:["乷","唦","杀","桬","殺","毮","猀","痧","砂","硰","紗","繺","纱","蔱","裟","鎩","铩","閷","髿","魦","鯊","鯋","鲨"],nǎ:["乸","雫"],qián:["乹","亁","仱","偂","前","墘","媊","岒","拑","掮","榩","橬","歬","潛","潜","濳","灊","箝","葥","虔","軡","鈐","鉗","銭","錢","鎆","钤","钱","钳","靬","騚","騝","鰬","黔","黚"],suǒ:["乺","唢","嗩","所","暛","溑","溹","琐","琑","瑣","索","褨","鎖","鎻","鏁","锁"],yú:["乻","于","亐","伃","余","堣","堬","妤","娛","娯","娱","嬩","崳","嵎","嵛","愚","扵","揄","旟","楡","楰","榆","欤","歈","歟","歶","渔","渝","湡","漁","澞","牏","狳","玗","玙","瑜","璵","盂","睮","窬","竽","籅","羭","腴","臾","舁","舆","艅","茰","萮","萸","蕍","蘛","虞","虶","蝓","螸","衧","褕","覦","觎","諛","謣","谀","踰","輿","轝","逾","邘","酑","鍝","隅","雓","雩","餘","馀","騟","骬","髃","魚","魣","鮽","鯲","鰅","鱼","鷠","鸆","齵"],zhù:["乼","伫","佇","住","坾","墸","壴","嵀","拀","杼","柱","樦","殶","注","炷","疰","眝","祝","祩","竚","筯","箸","篫","簗","紵","紸","纻","羜","翥","苎","莇","蛀","註","貯","贮","跓","軴","鉒","鋳","鑄","铸","馵","駐","驻"],zhě:["乽","者","褶","襵","赭","踷","鍺","锗"],"qián gān":["乾"],"zhì luàn":["乿"],guī:["亀","圭","妫","媯","嫢","嬀","帰","归","摫","椝","槻","槼","櫷","歸","珪","瑰","璝","瓌","皈","瞡","硅","茥","蘬","規","规","邽","郌","閨","闺","騩","鬶","鬹"],"lǐn lìn":["亃"],jué:["亅","决","刔","劂","匷","厥","噊","孒","孓","崛","崫","嶥","彏","憠","憰","戄","抉","挗","掘","攫","桷","橛","橜","欮","氒","決","灍","焳","熦","爑","爴","爵","獗","玃","玦","玨","珏","瑴","瘚","矍","矡","砄","絕","絶","绝","臄","芵","蕝","蕨","虳","蟨","蟩","觖","觮","觼","訣","譎","诀","谲","貜","赽","趉","蹷","躩","鈌","鐍","鐝","钁","镢","鴂","鴃","鷢","𫘝","㵐","𫔎"],"le liǎo":["了"],"gè mā":["亇"],"yǔ yú":["予","懙"],zhēng:["争","佂","凧","姃","媜","峥","崝","崢","征","徰","炡","烝","爭","狰","猙","癥","眐","睁","睜","筝","箏","篜","聇","脀","蒸","踭","鉦","錚","鏳","鬇"],èr:["二","刵","咡","弍","弐","樲","誀","貮","貳","贰","髶"],chù:["亍","傗","儊","怵","憷","搐","斶","歜","珿","琡","矗","竌","絀","绌","臅","触","觸","豖","鄐","閦","黜"],kuī:["亏","刲","岿","巋","盔","窥","窺","聧","虧","闚","顝"],yún:["云","伝","勻","匀","囩","妘","愪","抣","昀","橒","沄","涢","溳","澐","熉","畇","秐","筼","篔","紜","縜","纭","耘","芸","蒷","蕓","郧","鄖","鋆","雲"],hù:["互","冱","嗀","嚛","婟","嫭","嫮","岵","帍","弖","怙","戶","户","戸","戽","扈","护","昈","槴","沍","沪","滬","熩","瓠","祜","笏","簄","粐","綔","蔰","護","豰","鄠","鍙","頀","鱯","鳠","鳸","鸌","鹱"],qí:["亓","剘","埼","岐","岓","崎","嵜","愭","掑","斉","斊","旂","旗","棊","棋","檱","櫀","歧","淇","濝","猉","玂","琦","琪","璂","畦","疧","碁","碕","祁","祈","祺","禥","竒","簯","簱","籏","粸","綥","綦","肵","脐","臍","艩","芪","萁","萕","蕲","藄","蘄","蚑","蚚","蛴","蜝","蜞","螧","蠐","褀","軝","鄿","釮","錡","锜","陭","頎","颀","騎","騏","騹","骐","骑","鬐","鬿","鯕","鰭","鲯","鳍","鵸","鶀","麒","麡","𨙸","𬨂","䓫"],jǐng:["井","儆","刭","剄","坓","宑","幜","憬","暻","殌","汫","汬","澋","璄","璟","璥","穽","肼","蟼","警","阱","頚","頸"],sì:["亖","佀","価","儩","兕","嗣","四","姒","娰","孠","寺","巳","柶","榹","汜","泗","泤","洍","洠","涘","瀃","牭","祀","禩","竢","笥","耜","肂","肆","蕼","覗","貄","釲","鈶","鈻","飤","飼","饲","駟","騃","驷"],suì:["亗","嬘","岁","嵗","旞","檖","歲","歳","澻","煫","燧","璲","砕","碎","祟","禭","穂","穗","穟","繀","繐","繸","襚","誶","譢","谇","賥","邃","鐆","鐩","隧","韢","𫟦","𬭼"],gèn:["亘","亙","揯","搄","茛"],yà:["亚","亜","俹","冴","劜","圔","圠","埡","娅","婭","揠","氩","氬","犽","砑","稏","聐","襾","覀","訝","讶","迓","齾"],"xiē suò":["些"],"qí zhāi":["亝","齊"],"yā yà":["亞","压","垭","壓","铔"],"jí qì":["亟","焏"],tóu:["亠","投","頭","骰"],"wáng wú":["亡"],"kàng háng gāng":["亢"],dà:["亣","眔"],jiāo:["交","僬","娇","嬌","峧","嶕","嶣","憍","椒","浇","澆","焦","礁","穚","簥","胶","膠","膲","茭","茮","蕉","虠","蛟","蟭","跤","轇","郊","鐎","驕","骄","鮫","鲛","鵁","鷦","鷮","鹪","䴔"],hài:["亥","嗐","害","氦","餀","饚","駭","駴","骇"],"hēng pēng":["亨"],mǔ:["亩","姆","峔","拇","母","牡","牳","畂","畆","畒","畝","畞","畮","砪","胟","踇","鉧","𬭁","𧿹"],ye:["亪"],xiǎng:["享","亯","响","想","晑","蚃","蠁","響","飨","餉","饗","饷","鮝","鯗","鱶","鲞"],jīng:["京","亰","兢","坕","坙","婛","惊","旌","旍","晶","橸","泾","涇","猄","睛","秔","稉","粳","精","経","經","綡","聙","腈","茎","荆","荊","菁","葏","驚","鯨","鲸","鶁","鶄","麖","麠","鼱","䴖"],tíng:["亭","停","婷","嵉","庭","廷","楟","榳","筳","聤","莛","葶","蜓","蝏","諪","邒","霆","鼮","䗴"],liàng:["亮","喨","悢","晾","湸","諒","谅","輌","輛","辆","鍄"],"qīn qìng":["亲","親"],bó:["亳","仢","侼","僰","博","帛","愽","懪","挬","搏","欂","浡","淿","渤","煿","牔","狛","瓝","礴","秡","箔","簙","糪","胉","脖","膊","舶","艊","萡","葧","袯","襏","襮","謈","踣","郣","鈸","鉑","鋍","鎛","鑮","钹","铂","镈","餺","馎","馛","馞","駁","駮","驳","髆","鵓","鹁"],yòu:["亴","佑","佦","侑","又","右","哊","唀","囿","姷","宥","峟","幼","狖","祐","蚴","誘","诱","貁","迶","酭","釉","鼬"],xiè:["亵","伳","偞","偰","僁","卨","卸","噧","塮","夑","媟","屑","屧","廨","徢","懈","暬","械","榍","榭","泻","洩","渫","澥","瀉","瀣","灺","炧","炨","燮","爕","獬","祄","禼","糏","紲","絏","絬","繲","纈","绁","缷","薢","薤","蟹","蠏","褉","褻","謝","谢","躞","邂","靾","韰","齂","齘","齛","齥","𬹼","𤫉"],"dǎn dàn":["亶","馾"],lián:["亷","劆","匲","匳","嗹","噒","奁","奩","嫾","帘","廉","怜","憐","涟","漣","濂","濓","瀮","熑","燫","簾","籢","籨","縺","翴","联","聨","聫","聮","聯","臁","莲","蓮","薕","螊","蠊","裢","褳","覝","謰","蹥","连","連","鎌","鐮","镰","鬑","鰱","鲢"],duǒ:["亸","哚","嚲","埵","崜","朵","朶","綞","缍","趓","躱","躲","軃"],"wěi mén":["亹","斖"],rén:["人","亻","仁","壬","忈","忎","朲","秂","芢","魜","鵀"],jí:["亼","亽","伋","佶","偮","卙","即","卽","及","叝","吉","堲","塉","姞","嫉","岌","嵴","嶯","彶","忣","急","愱","戢","揤","极","棘","楫","極","槉","檝","殛","汲","湒","潗","疾","瘠","皍","笈","箿","籍","級","级","膌","艥","蒺","蕀","蕺","蝍","螏","襋","觙","谻","踖","蹐","躤","輯","轚","辑","郆","銡","鍓","鏶","集","雧","霵","鹡","㴔"],wáng:["亾","仼","兦","莣","蚟"],"shén shí":["什"],lè:["仂","叻","忇","氻","泐","玏","砳","簕","艻","阞","韷","餎","鰳","鱳","鳓"],dīng:["仃","叮","帄","玎","疔","盯","耵","虰","靪"],zè:["仄","崱","庂","捑","昃","昗","汄"],"jǐn jìn":["仅","僅","嫤"],"pú pū":["仆"],"chóu qiú":["仇"],zhǎng:["仉","幥","掌","礃"],jīn:["今","堻","巾","惍","斤","津","珒","琻","璡","砛","筋","荕","衿","襟","觔","金","釒","釿","钅","鹶","黅","𬬱"],bīng:["仌","仒","兵","冫","冰","掤","氷","鋲"],réng:["仍","礽","芿","辸","陾"],fó:["仏","坲","梻"],"jīn sǎn":["仐"],lún:["仑","伦","侖","倫","囵","圇","婨","崘","崙","棆","沦","淪","磮","腀","菕","蜦","踚","輪","轮","錀","陯","鯩","𬬭"],cāng:["仓","仺","倉","凔","嵢","沧","滄","濸","獊","舱","艙","苍","蒼","螥","鸧"],"zǎi zǐ zī":["仔"],tā:["他","塌","它","榙","溻","牠","祂","褟","趿","遢","闧"],fù:["付","偩","傅","冨","副","咐","坿","复","妇","婦","媍","嬔","富","復","椱","祔","禣","竎","緮","縛","缚","腹","萯","蕧","蚹","蛗","蝜","蝮","袝","複","覄","覆","訃","詂","讣","負","賦","賻","负","赋","赙","赴","輹","鍑","鍢","阜","附","馥","駙","驸","鮒","鰒","鲋","鳆","㳇"],xiān:["仙","仚","佡","僊","僲","先","嘕","奾","屳","廯","忺","憸","掀","暹","杴","氙","珗","祆","秈","籼","繊","纎","纖","苮","褼","襳","跹","蹮","躚","酰","鍁","锨","韯","韱","馦","鱻","鶱","𬸣"],"tuō chà duó":["仛"],hóng:["仜","吰","垬","妅","娂","宏","宖","弘","彋","汯","泓","洪","浤","渱","潂","玒","玜","竑","竤","篊","粠","紘","紭","綋","纮","翃","翝","耾","苰","荭","葒","葓","谹","谼","鈜","鉷","鋐","閎","闳","霐","霟","鞃","魟","鴻","鸿","黉","黌","𫟹","𬭎"],tóng:["仝","佟","哃","峂","峝","庝","彤","晍","曈","桐","氃","浵","潼","犝","獞","眮","瞳","砼","秱","童","粡","膧","茼","蚒","詷","赨","酮","鉖","鉵","銅","铜","餇","鮦","鲖","𫍣","𦒍"],rèn:["仞","仭","刃","刄","妊","姙","屻","岃","扨","牣","祍","紉","紝","絍","纫","纴","肕","腍","衽","袵","訒","認","认","讱","軔","轫","鈓","靭","靱","韌","韧","飪","餁","饪"],qiān:["仟","佥","僉","千","圲","奷","孯","岍","悭","愆","慳","扦","拪","搴","撁","攐","攑","攓","杄","櫏","汘","汧","牵","牽","竏","签","簽","籖","籤","粁","芊","茾","蚈","褰","諐","謙","谦","谸","迁","遷","釺","鈆","鉛","鏲","钎","阡","韆","顅","騫","骞","鬜","鬝","鵮","鹐"],"gǎn hàn":["仠"],"yì gē":["仡"],dài:["代","侢","叇","垈","埭","岱","帒","带","帯","帶","廗","怠","戴","曃","柋","殆","瀻","玳","瑇","甙","簤","紿","緿","绐","艜","蝳","袋","襶","貣","贷","蹛","軑","軚","軩","轪","迨","霴","靆","鴏","黛","黱"],"lìng líng lǐng":["令"],chào:["仦","耖","觘"],"cháng zhǎng":["仧","兏","長","长"],sā:["仨"],cháng:["仩","偿","償","嘗","嚐","嫦","尝","常","徜","瑺","瓺","甞","肠","腸","膓","苌","萇","镸","鱨","鲿"],yí:["仪","侇","儀","冝","匜","咦","圯","夷","姨","宐","宜","宧","寲","峓","嶬","嶷","巸","彛","彜","彝","彞","怡","恞","扅","暆","栘","椬","椸","沂","洟","熪","瓵","痍","移","簃","籎","羠","胰","萓","蛦","螔","觺","謻","貽","贻","跠","迻","遺","鏔","頉","頤","頥","顊","颐","饴","鮧","鴺"],mù:["仫","凩","募","墓","幕","幙","慔","慕","暮","暯","木","楘","毣","沐","炑","牧","狇","目","睦","穆","艒","苜","莯","蚞","鉬","钼","雮","霂"],"men mén":["们"],fǎn:["仮","反","橎","返"],"chào miǎo":["仯"],"yǎng áng":["仰"],zhòng:["仲","众","堹","妕","媑","狆","眾","祌","筗","茽","蚛","衆","衶","諥"],"pǐ pí":["仳"],wò:["仴","偓","卧","媉","幄","握","楃","沃","渥","濣","瓁","瞃","硪","肟","腛","臥","齷","龌"],jiàn:["件","俴","健","僭","剑","剣","剱","劍","劎","劒","劔","墹","寋","建","徤","擶","旔","楗","毽","洊","涧","澗","牮","珔","瞷","磵","礀","箭","糋","繝","腱","臶","舰","艦","荐","薦","覸","諓","諫","譛","谏","賎","賤","贱","趝","践","踐","踺","轞","鉴","鍳","鍵","鐱","鑑","鑒","鑬","鑳","键","間","餞","饯","𬣡"],"jià jiè jie":["价"],"yǎo fó":["仸"],"rèn rén":["任"],"fèn bīn":["份"],dī:["仾","低","啲","埞","堤","岻","彽","樀","滴","磾","秪","羝","袛","趆","隄","鞮","䃅"],fǎng:["仿","倣","旊","昉","昘","瓬","眆","紡","纺","舫","訪","访","髣","鶭"],zhōng:["伀","刣","妐","幒","彸","忠","柊","汷","泈","炂","盅","籦","終","终","舯","蔠","蜙","螤","螽","衳","衷","蹱","鈡","鍾","鐘","钟","锺","鴤","鼨"],pèi:["伂","佩","姵","帔","斾","旆","沛","浿","珮","蓜","轡","辔","配","霈","馷"],diào:["伄","吊","弔","掉","瘹","盄","窎","窵","竨","訋","釣","鈟","銱","鋽","鑃","钓","铞","雿","魡"],dùn:["伅","潡","炖","燉","盾","砘","碷","踲","逇","遁","遯","鈍","钝"],wěn:["伆","刎","吻","呅","抆","桽","稳","穏","穩","紊","肳","脗"],xǐn:["伈"],kàng:["伉","匟","囥","抗","炕","鈧","钪"],ài:["伌","僾","塧","壒","嫒","嬡","愛","懓","暧","曖","爱","瑷","璦","皧","瞹","砹","硋","碍","礙","薆","譺","賹","鑀","隘","靉","餲","馤","鱫","鴱"],"jì qí":["伎","薺"],"xiū xǔ":["休"],"jìn yín":["伒"],dǎn:["伔","刐","撢","玬","瓭","紞","胆","膽","衴","賧","赕","黕","𬘘"],fū:["伕","呋","娐","孵","尃","怤","懯","敷","旉","玞","砆","稃","筟","糐","綒","肤","膚","荂","荴","衭","趺","跗","邞","鄜","酜","鈇","麩","麬","麱","麸","𫓧"],tǎng:["伖","傥","儻","埫","戃","曭","爣","矘","躺","鎲","钂","镋"],yōu:["优","優","呦","嚘","峳","幽","忧","悠","憂","攸","櫌","滺","瀀","纋","羪","耰","逌","鄾","麀"],huǒ:["伙","夥","火","煷","邩","鈥","钬"],"huì kuài":["会","會","浍","璯"],yǔ:["伛","俁","俣","偊","傴","匬","噳","圄","圉","宇","寙","屿","嶼","庾","挧","敔","斞","楀","瑀","瘐","祤","禹","穥","窳","羽","與","萭","貐","鄅","頨","麌","齬","龉","㺄"],cuì:["伜","啛","忰","悴","毳","淬","焠","疩","瘁","竁","粋","粹","紣","綷","翆","翠","脃","脆","脺","膬","膵","臎","萃","襊","顇"],sǎn:["伞","傘","糤","繖","饊","馓"],wěi:["伟","伪","偉","偽","僞","儰","娓","寪","屗","崣","嶉","徫","愇","捤","暐","梶","洧","浘","渨","炜","煒","猥","玮","瑋","痿","緯","纬","腲","艉","芛","苇","荱","萎","葦","蒍","蔿","蜼","諉","诿","踓","鍡","韑","韙","韡","韪","頠","颹","骩","骪","骫","鮪","鲔","𫇭","𬀩","𬱟"],"chuán zhuàn":["传","傳"],"chē jū":["伡","俥","车"],"jū chē":["車"],yá:["伢","厑","厓","堐","岈","崕","崖","涯","漄","牙","玡","琊","睚","笌","芽","蚜","衙","齖"],qiàn:["伣","俔","倩","儙","刋","壍","嬱","悓","棈","椠","槧","欠","歉","皘","篏","篟","縴","芡","蒨","蔳","輤","𬘬"],shāng:["伤","傷","商","墒","慯","殇","殤","滳","漡","熵","蔏","螪","觞","觴","謪","鬺"],chāng:["伥","倀","娼","昌","椙","淐","猖","琩","菖","裮","錩","锠","閶","阊","鯧","鲳","鼚"],"chen cāng":["伧"],xùn:["伨","侚","卂","噀","巺","巽","徇","愻","殉","殾","汛","潠","狥","蕈","訊","訓","訙","训","讯","迅","迿","逊","遜","鑂","顨","馴","驯"],xìn:["伩","囟","孞","脪","舋","衅","訫","釁","阠","顖"],chǐ:["伬","侈","卶","叺","呎","垑","恥","歯","耻","肔","胣","蚇","裭","褫","豉","鉹","齒","齿"],"xián xuán":["伭"],"nú nǔ":["伮"],"bó bǎi":["伯"],"gū gù":["估"],nǐ:["伱","你","儞","孴","拟","擬","旎","晲","狔","苨","薿","隬"],"nì ní":["伲"],bàn:["伴","办","半","姅","怑","扮","瓣","秚","絆","绊","辦","鉡","靽"],xù:["伵","侐","勖","勗","卹","叙","垿","壻","婿","序","恤","敍","敘","旭","昫","朂","槒","欰","殈","汿","沀","洫","溆","漵","潊","烅","烼","煦","獝","珬","盢","瞁","稸","絮","続","緒","緖","續","绪","续","聓","聟","蓄","藚","訹","賉","酗","頊","鱮","㳚"],zhòu:["伷","僽","冑","呪","咒","咮","宙","昼","晝","甃","皱","皺","籀","籒","籕","粙","紂","縐","纣","绉","胄","荮","葤","詋","酎","駎","驟","骤","㤘","㑇"],shēn:["伸","侁","兟","呻","堔","妽","娠","屾","峷","扟","敒","曑","柛","氠","深","燊","珅","甡","甧","申","眒","砷","穼","籶","籸","糂","紳","绅","罙","罧","葠","蓡","蔘","薓","裑","訷","詵","诜","身","駪","鯓","鯵","鰺","鲹","鵢","𬳽"],qū:["伹","佉","匤","呿","坥","屈","岖","岴","嶇","憈","抾","敺","浀","煀","祛","筁","粬","胠","蛆","蛐","袪","覻","詘","诎","趍","躯","軀","阹","駆","駈","驅","驱","髷","魼","鰸","鱋","鶌","麯","麴","麹","黢","㭕","𪨰","䓛"],"sì cì":["伺"],bēng:["伻","嘣","奟","崩","嵭","閍"],"sì shì":["似"],"jiā qié gā":["伽"],"yǐ chì":["佁"],"diàn tián":["佃","钿"],"hān gàn":["佄"],mài:["佅","劢","勱","卖","唛","売","脈","衇","賣","迈","邁","霡","霢","麥","麦","鿏"],dàn:["但","僤","啖","啗","啿","噉","嚪","帎","憺","旦","柦","氮","沊","泹","淡","狚","疍","癚","禫","窞","腅","萏","蓞","蛋","蜑","觛","訑","誕","诞","贉","霮","餤","饏","駳","髧","鴠","𫢸"],bù:["佈","勏","吥","咘","埗","埠","布","廍","怖","悑","步","歨","歩","瓿","篰","荹","蔀","踄","部","郶","鈈","钚","餢"],bǐ:["佊","俾","匕","夶","妣","彼","朼","柀","比","毞","沘","疕","秕","笔","筆","粃","聛","舭","貏","鄙"],"zhāo shào":["佋"],cǐ:["佌","此","泚","皉","𫚖"],wèi:["位","卫","味","喂","墛","媦","慰","懀","未","渭","煟","熭","犚","猬","畏","緭","罻","胃","苿","菋","藯","蘶","蝟","螱","衛","衞","褽","謂","讆","讏","谓","躗","躛","軎","轊","鏏","霨","餧","餵","饖","魏","鮇","鳚"],zuǒ:["佐","左","繓"],yǎng:["佒","傟","养","坱","岟","慃","懩","攁","氧","氱","炴","痒","癢","礢","紻","蝆","軮","養","駚"],"tǐ tī":["体","體"],zhàn:["佔","偡","嶘","战","戦","戰","栈","桟","棧","湛","站","綻","绽","菚","蘸","虥","虦","譧","轏","驏"],"hé hē hè":["何"],bì:["佖","咇","哔","嗶","坒","堛","壁","奰","妼","婢","嬖","币","幣","幤","庇","庳","廦","弊","弻","弼","彃","必","怭","愊","愎","敝","斃","梐","毕","毖","毙","湢","滗","滭","潷","煏","熚","狴","獘","獙","珌","璧","畀","畢","疪","痹","痺","皕","睤","碧","筚","箅","箆","篦","篳","粊","綼","縪","繴","罼","腷","苾","荜","萆","萞","蓖","蓽","蔽","薜","蜌","袐","襅","襞","襣","觱","詖","诐","貱","贔","赑","跸","蹕","躃","躄","避","邲","鄨","鄪","鉍","鏎","鐴","铋","閇","閉","閟","闭","陛","韠","飶","饆","馝","駜","驆","髀","魓","鮅","鷝","鷩","鼊"],tuó:["佗","坨","堶","岮","槖","橐","沱","砣","砤","碢","紽","詑","跎","酡","阤","陀","陁","駝","駞","騨","驒","驝","驼","鮀","鴕","鸵","鼉","鼍","鼧","𬶍"],shé:["佘","舌","虵","蛥"],"yì dié":["佚","昳","泆","軼"],"fó fú bì bó":["佛"],"zuò zuō":["作"],gōu:["佝","沟","溝","痀","篝","簼","緱","缑","袧","褠","鈎","鉤","钩","鞲","韝"],nìng:["佞","侫","倿","寕","泞","澝","濘"],qú:["佢","劬","戵","斪","欋","欔","氍","淭","灈","爠","璖","璩","癯","磲","籧","絇","胊","臞","菃","葋","蕖","蘧","蟝","蠷","蠼","衐","衢","躣","軥","鑺","鴝","鸜","鸲","鼩"],"yōng yòng":["佣"],wǎ:["佤","咓","砙","邷"],kǎ:["佧","垰","胩","裃","鉲"],bāo:["佨","勹","包","孢","煲","笣","胞","苞","蕔","裦","褒","襃","闁","齙","龅"],"huái huí":["佪"],"gé hè":["佫"],lǎo:["佬","咾","恅","栳","狫","珯","硓","老","耂","荖","蛯","轑","銠","铑","鮱"],xiáng:["佭","庠","栙","祥","絴","翔","詳","跭"],gé:["佮","匌","呄","嗝","塥","愅","挌","搿","槅","櫊","滆","膈","臵","茖","觡","諽","輵","轕","閣","阁","隔","鞷","韐","韚","騔","骼","鮯"],yáng:["佯","劷","垟","崸","徉","扬","揚","敭","旸","昜","暘","杨","楊","洋","炀","珜","疡","瘍","眻","蛘","諹","輰","鍚","钖","阦","阳","陽","霷","颺","飏","鰑","鴹","鸉"],bǎi:["佰","捭","摆","擺","栢","百","竡","粨","襬"],fǎ:["佱","峜","法","灋","砝","鍅"],mǐng:["佲","凕","姳","慏","酩"],"èr nài":["佴"],hěn:["佷","很","狠","詪","𬣳"],huó:["佸","活"],guǐ:["佹","匦","匭","厬","垝","姽","宄","庋","庪","恑","晷","湀","癸","祪","簋","蛫","蟡","觤","詭","诡","軌","轨","陒","鬼"],quán:["佺","全","啳","埢","姾","峑","巏","拳","搼","权","楾","権","權","泉","洤","湶","牷","犈","瑔","痊","硂","筌","縓","荃","葲","蜷","蠸","觠","詮","诠","跧","踡","輇","辁","醛","銓","铨","闎","顴","颧","駩","騡","鬈","鰁","鳈","齤"],tiāo:["佻","庣","旫","祧","聎"],jiǎo:["佼","儌","孂","挢","搅","撟","撹","攪","敫","敽","敿","晈","暞","曒","灚","燞","狡","璬","皎","皦","絞","纐","绞","腳","臫","蟜","譑","賋","踋","鉸","铰","餃","饺","鱎","龣"],cì:["佽","刾","庛","朿","栨","次","絘","茦","莿","蛓","螆","賜","赐"],xíng:["侀","刑","哘","型","娙","形","洐","硎","蛵","邢","郉","鈃","鉶","銒","钘","铏","陉","陘","餳","𫰛"],tuō:["侂","咃","咜","圫","托","拕","拖","汑","脫","脱","莌","袥","託","讬","飥","饦","魠","鮵"],kǎn:["侃","偘","冚","坎","惂","砍","莰","輡","轗","顑"],zhí:["侄","値","值","埴","執","姪","嬂","戠","执","摭","植","樴","淔","漐","直","禃","絷","縶","聀","职","職","膱","蟙","跖","踯","蹠","躑","軄","釞","馽"],gāi:["侅","垓","姟","峐","晐","畡","祴","荄","該","该","豥","賅","賌","赅","陔"],lái:["來","俫","倈","崃","崍","庲","来","梾","棶","涞","淶","猍","琜","筙","箂","莱","萊","逨","郲","錸","铼","騋","鯠","鶆","麳"],kuǎ:["侉","咵","垮","銙"],gōng:["侊","公","功","匑","匔","塨","宫","宮","工","幊","弓","恭","攻","杛","碽","糼","糿","肱","觥","觵","躬","躳","髸","龔","龚","䢼"],lì:["例","俐","俪","傈","儮","儷","凓","利","力","励","勵","历","厉","厤","厯","厲","叓","吏","呖","唎","唳","嚦","囇","坜","塛","壢","娳","婯","屴","岦","悧","悷","慄","戾","搮","暦","曆","曞","朸","枥","栃","栗","栛","檪","櫔","櫪","欐","歴","歷","沥","沴","涖","溧","濿","瀝","爏","犡","猁","珕","瑮","瓅","瓑","瓥","疬","痢","癧","盭","睙","砅","砺","砾","磿","礪","礫","礰","禲","秝","立","笠","篥","粒","粝","糲","脷","苈","茘","荔","莅","莉","蒚","蒞","藶","蚸","蛎","蛠","蜧","蝷","蠇","蠣","詈","讈","赲","轢","轣","轹","酈","鉝","隶","隷","雳","靂","靋","鬁","鳨","鴗","鷅","麜","𫵷","𬍛"],yīn:["侌","凐","喑","噾","囙","因","垔","堙","姻","婣","愔","慇","栶","氤","洇","溵","濦","瘖","禋","秵","筃","絪","緸","茵","蒑","蔭","裀","諲","銦","铟","闉","阥","阴","陰","陻","隂","霒","霠","鞇","音","韾","駰","骃","齗","𬘡","𬤇","𬮱"],mǐ:["侎","孊","弭","敉","洣","渳","灖","米","粎","羋","脒","芈","葞","蔝","銤"],zhū:["侏","株","槠","橥","櫧","櫫","洙","潴","瀦","猪","珠","硃","秼","絑","茱","蕏","蛛","蝫","蠩","袾","誅","諸","诛","诸","豬","跦","邾","銖","铢","駯","鮢","鯺","鴸","鼄"],ān:["侒","偣","媕","安","峖","庵","桉","氨","盦","盫","腤","菴","萻","葊","蓭","誝","諳","谙","鞌","鞍","韽","馣","鮟","鵪","鶕","鹌","𩽾"],lù:["侓","僇","勎","勠","圥","坴","塶","娽","峍","廘","彔","录","戮","摝","椂","樚","淕","淥","渌","漉","潞","琭","璐","甪","盝","睩","硉","祿","禄","稑","穋","箓","簏","簬","簵","簶","籙","粶","蔍","蕗","虂","螰","賂","赂","趢","路","踛","蹗","輅","轆","辂","辘","逯","醁","錄","録","錴","鏴","陸","騄","騼","鯥","鴼","鵦","鵱","鷺","鹭","鹿","麓","𫘧"],móu:["侔","劺","恈","眸","蛑","謀","谋","踎","鍪","鴾","麰"],ér:["侕","儿","児","兒","峏","栭","洏","粫","而","胹","荋","袻","輀","轜","陑","隭","髵","鮞","鲕","鴯","鸸"],"dòng tǒng tóng":["侗"],chà:["侘","奼","姹","岔","汊","詫","诧"],chì:["侙","傺","勅","勑","叱","啻","彳","恜","慗","憏","懘","抶","敕","斥","杘","湁","灻","炽","烾","熾","痓","痸","瘛","翄","翅","翤","翨","腟","赤","趩","遫","鉓","雴","飭","饬","鶒","鷘"],"gòng gōng":["供","共"],zhōu:["侜","周","喌","州","徟","洲","淍","炿","烐","珘","矪","舟","謅","譸","诌","賙","赒","輈","輖","辀","週","郮","銂","霌","駲","騆","鵃","鸼"],rú:["侞","儒","嚅","如","嬬","孺","帤","曘","桇","渪","濡","筎","茹","蕠","薷","蝡","蠕","袽","襦","邚","醹","銣","铷","顬","颥","鱬","鴑","鴽"],"jiàn cún":["侟"],xiá:["侠","俠","匣","峡","峽","敮","暇","柙","炠","烚","狎","狭","狹","珨","瑕","硖","硤","碬","祫","筪","縖","翈","舝","舺","蕸","赮","轄","辖","遐","鍜","鎋","陜","陿","霞","騢","魻","鶷","黠"],lǚ:["侣","侶","儢","吕","呂","屡","屢","履","挔","捛","旅","梠","焒","祣","稆","穭","絽","縷","缕","膂","膐","褛","褸","郘","鋁","铝"],ta:["侤"],"jiǎo yáo":["侥","僥","徺"],zhēn:["侦","偵","寊","帧","帪","幀","搸","斟","桢","楨","榛","樼","殝","浈","湞","潧","澵","獉","珍","珎","瑧","甄","眞","真","砧","碪","祯","禎","禛","箴","胗","臻","葴","蒖","蓁","薽","貞","贞","轃","遉","酙","針","鉁","錱","鍼","针","鱵"],"cè zè zhāi":["侧","側"],kuài:["侩","儈","凷","哙","噲","圦","块","塊","巜","廥","快","旝","欳","狯","獪","筷","糩","脍","膾","郐","鄶","鱠","鲙"],chái:["侪","儕","喍","柴","犲","祡","豺"],nóng:["侬","儂","农","哝","噥","檂","欁","浓","濃","燶","禯","秾","穠","脓","膿","蕽","襛","譨","農","辳","醲","鬞","𬪩"],jǐn:["侭","儘","卺","厪","巹","槿","漌","瑾","紧","緊","菫","蓳","謹","谨","錦","锦","饉","馑"],"hóu hòu":["侯","矦"],jiǒng:["侰","僒","冏","囧","泂","澃","炯","烱","煚","煛","熲","燛","窘","綗","褧","迥","逈","顈","颎","䌹"],"chěng tǐng":["侱"],"zhèn zhēn":["侲","揕"],zuò:["侳","做","唑","坐","岝","岞","座","祚","糳","胙","葃","葄","蓙","袏","阼"],qīn:["侵","兓","媇","嵚","嶔","欽","衾","誛","钦","顉","駸","骎","鮼"],jú:["侷","啹","婅","局","巈","椈","橘","泦","淗","湨","焗","犑","狊","粷","菊","蘜","趜","跼","蹫","輂","郹","閰","駶","驧","鵙","鵴","鶪","鼰","鼳","䴗"],"shù dōu":["侸"],tǐng:["侹","圢","娗","挺","涏","烶","珽","脡","艇","誔","頲","颋"],shèn:["侺","愼","慎","昚","涁","渗","滲","瘆","瘮","眘","祳","肾","胂","脤","腎","蜃","蜄","鋠"],"tuì tuó":["侻"],nán:["侽","喃","娚","抩","暔","枏","柟","楠","男","畘","莮","萳","遖"],xiāo:["侾","哓","嘵","嚻","囂","婋","宯","宵","庨","彇","揱","枭","枵","梟","櫹","歊","毊","消","潇","瀟","灱","灲","烋","焇","猇","獢","痚","痟","硝","硣","窙","箫","簘","簫","綃","绡","翛","膮","萧","蕭","虈","虓","蟂","蟏","蟰","蠨","踃","逍","銷","销","霄","颵","驍","骁","髇","髐","魈","鴞","鴵","鷍","鸮"],"biàn pián":["便","緶","缏"],tuǐ:["俀","腿","蹆","骽"],xì:["係","匸","卌","呬","墍","屃","屓","屭","忥","怬","恄","椞","潝","潟","澙","熂","犔","磶","禊","細","綌","縘","细","绤","舃","舄","蕮","虩","衋","覤","赩","趇","郤","釳","阋","隙","隟","霼","餼","饩","鬩","黖"],cù:["促","媨","憱","猝","瘄","瘯","簇","縬","脨","蔟","誎","趗","踧","踿","蹙","蹴","蹵","醋","顣","鼀"],é:["俄","囮","娥","峉","峨","峩","涐","珴","皒","睋","磀","莪","訛","誐","譌","讹","迗","鈋","鋨","锇","頟","額","额","魤","鵝","鵞","鹅"],qiú:["俅","叴","唒","囚","崷","巯","巰","扏","梂","殏","毬","求","汓","泅","浗","湭","煪","犰","玌","球","璆","皳","盚","紌","絿","肍","芁","莍","虬","虯","蛷","裘","觓","觩","訄","訅","賕","赇","逎","逑","遒","酋","釚","釻","銶","頄","鮂","鯄","鰽","鼽","𨱇"],xú:["俆","徐","禑"],"guàng kuāng":["俇"],kù:["俈","喾","嚳","库","庫","廤","瘔","絝","绔","袴","裤","褲","酷"],wù:["俉","务","務","勿","卼","坞","塢","奦","婺","寤","屼","岉","嵨","忢","悞","悟","悮","戊","扤","晤","杌","溩","焐","熃","物","痦","矹","窹","粅","蘁","誤","误","鋈","阢","隖","雾","霚","霧","靰","騖","骛","鶩","鹜","鼿","齀"],jùn:["俊","儁","呁","埈","寯","峻","懏","捃","攟","晙","棞","燇","珺","畯","竣","箟","蜠","賐","郡","陖","餕","馂","駿","骏","鵔","鵕","鵘","䐃"],liáng:["俍","墚","梁","椋","樑","粮","粱","糧","良","輬","辌","𫟅"],zǔ:["俎","唨","爼","祖","組","组","詛","诅","鎺","阻","靻"],"qiào xiào":["俏"],yǒng:["俑","勇","勈","咏","埇","塎","嵱","彮","怺","恿","悀","惥","愑","愹","慂","柡","栐","永","泳","湧","甬","蛹","詠","踊","踴","鯒","鲬"],hùn:["俒","倱","圂","尡","慁","掍","溷","焝","睴","觨","諢","诨"],jìng:["俓","傹","境","妌","婙","婧","弪","弳","径","徑","敬","曔","桱","梷","浄","瀞","獍","痉","痙","竞","竟","竫","競","竸","胫","脛","莖","誩","踁","迳","逕","鏡","镜","靖","静","靜","鵛"],sàn:["俕","閐"],pěi:["俖"],sú:["俗"],xī:["俙","僖","兮","凞","卥","厀","吸","唏","唽","嘻","噏","嚱","夕","奚","嬆","嬉","屖","嵠","巇","希","徆","徯","息","悉","悕","惁","惜","昔","晞","晰","晳","曦","析","桸","榽","樨","橀","欷","氥","汐","浠","淅","渓","溪","烯","焁","焈","焟","熄","熈","熙","熹","熺","熻","燨","爔","牺","犀","犠","犧","琋","瘜","皙","睎","瞦","矽","硒","磎","礂","稀","穸","窸","粞","糦","緆","繥","羲","翕","翖","肸","肹","膝","舾","莃","菥","蒠","蜥","螅","蟋","蠵","西","觹","觽","觿","譆","谿","豀","豨","豯","貕","赥","邜","鄎","酅","醯","釸","錫","鏭","鐊","鑴","锡","隵","餏","饎","饻","鯑","鵗","鸂","鼷"],lǐ:["俚","娌","峢","峲","李","欚","浬","澧","理","礼","禮","粴","裏","裡","豊","逦","邐","醴","鋰","锂","鯉","鱧","鱱","鲤","鳢"],bǎo:["保","堢","媬","宝","寚","寳","寶","珤","緥","葆","藵","褓","賲","靌","飹","飽","饱","駂","鳵","鴇","鸨"],"yú shù yù":["俞"],"sì qí":["俟"],"xìn shēn":["信"],xiū:["俢","修","咻","庥","樇","烌","羞","脙","脩","臹","貅","銝","鎀","飍","饈","馐","髤","髹","鮴","鱃","鵂","鸺","䗛"],dì:["俤","偙","僀","埊","墑","墬","娣","帝","怟","旳","梊","焍","玓","甋","眱","睇","碲","祶","禘","第","締","缔","腣","菂","蒂","蔕","蝃","蝭","螮","諦","谛","踶","递","逓","遞","遰","鉪","𤧛","䗖"],chóu:["俦","儔","嬦","惆","愁","懤","栦","燽","畴","疇","皗","稠","筹","籌","絒","綢","绸","菗","詶","讎","讐","踌","躊","酧","酬","醻","雔","雠","雦"],zhì:["俧","偫","儨","制","劕","垁","娡","寘","帙","帜","幟","庢","庤","廌","彘","徏","徝","志","忮","懥","懫","挃","挚","掷","摯","擲","旘","晊","智","栉","桎","梽","櫍","櫛","治","洷","滍","滞","滯","潌","瀄","炙","熫","狾","猘","璏","瓆","痔","痣","礩","祑","秩","秷","稚","稺","穉","窒","紩","緻","置","翐","膣","至","致","芖","蛭","袟","袠","製","覟","觗","觯","觶","誌","豑","豒","貭","質","贄","质","贽","跱","踬","躓","輊","轾","郅","銍","鋕","鑕","铚","锧","陟","隲","雉","駤","騭","騺","驇","骘","鯯","鴙","鷙","鸷","𬃊"],"liǎ liǎng":["俩"],jiǎn:["俭","倹","儉","减","剪","堿","弿","彅","戩","戬","拣","挸","捡","揀","撿","枧","柬","梘","检","検","檢","減","湕","瀽","瑐","睑","瞼","硷","碱","礆","笕","筧","简","簡","絸","繭","翦","茧","藆","蠒","裥","襇","襉","襺","詃","謇","謭","譾","谫","趼","蹇","鐗","鬋","鰎","鹸","鹻","鹼"],huò:["俰","咟","嚯","嚿","奯","彠","惑","或","擭","旤","曤","檴","沎","湱","瀖","獲","癨","眓","矐","祸","禍","穫","窢","耯","臛","艧","获","蒦","藿","蠖","謋","貨","货","鍃","鑊","镬","雘","霍","靃","韄","㸌"],"jù jū":["俱","据","鋸","锯"],xiào:["俲","傚","効","咲","哮","啸","嘋","嘨","嘯","孝","效","斅","斆","歗","涍","熽","笑","詨","誟"],pái:["俳","徘","牌","犤","猅","簰","簲","輫"],biào:["俵","鰾","鳔"],"chù tì":["俶"],fèi:["俷","剕","厞","吠","屝","废","廃","廢","昲","曊","櫠","沸","濷","狒","癈","肺","萉","費","费","鐨","镄","陫","靅","鼣"],fèng:["俸","凤","奉","湗","焨","煈","賵","赗","鳯","鳳","鴌"],ǎn:["俺","唵","埯","揞","罯","銨","铵"],bèi:["俻","倍","偝","偹","備","僃","备","悖","惫","愂","憊","昁","梖","焙","牬","犕","狈","狽","珼","琲","碚","禙","糒","苝","蓓","蛽","褙","貝","贝","軰","輩","辈","邶","郥","鄁","鋇","鐾","钡","鞁","鞴","𬇙"],yù:["俼","儥","喅","喩","喻","域","堉","妪","嫗","寓","峪","嶎","庽","彧","御","愈","慾","戫","昱","棛","棜","棫","櫲","欎","欝","欲","毓","浴","淯","滪","潏","澦","灪","焴","煜","燏","燠","爩","狱","獄","玉","琙","瘉","癒","砡","硢","硲","礇","礖","礜","禦","秗","稢","稶","篽","籞","籲","粖","緎","罭","聿","肀","艈","芋","芌","茟","蒮","蓣","蓹","蕷","蘌","蜟","蜮","袬","裕","誉","諭","譽","谕","豫","軉","輍","逳","遇","遹","郁","醧","鈺","鋊","錥","鐭","钰","閾","阈","雤","霱","預","预","飫","饇","饫","馭","驈","驭","鬰","鬱","鬻","魊","鱊","鳿","鴥","鴧","鴪","鵒","鷸","鸒","鹆","鹬"],xīn:["俽","噺","妡","嬜","廞","心","忄","忻","惞","新","昕","杺","欣","歆","炘","盺","薪","訢","辛","邤","鈊","鋅","鑫","锌","馨","馫","䜣","𫷷"],"hǔ chí":["俿"],jiù:["倃","僦","匓","匛","匶","厩","咎","就","廄","廏","廐","慦","捄","救","旧","柩","柾","桕","欍","殧","疚","臼","舅","舊","鯦","鷲","鹫","麔","齨","㠇"],yáo:["倄","傜","嗂","垚","堯","姚","媱","尧","尭","峣","嶢","嶤","徭","揺","搖","摇","摿","暚","榣","烑","爻","猺","珧","瑤","瑶","磘","窑","窯","窰","肴","蘨","謠","謡","谣","軺","轺","遙","遥","邎","顤","颻","飖","餆","餚","鰩","鱙","鳐"],"cuì zú":["倅"],"liǎng liǎ":["倆"],wǎn:["倇","唍","婉","惋","挽","晚","晥","晩","晼","梚","椀","琬","畹","皖","盌","碗","綩","綰","绾","脘","萖","踠","輓","鋔"],zǒng:["倊","偬","傯","嵸","总","惣","捴","搃","摠","燪","総","緫","縂","總","蓗"],guān:["倌","关","官","棺","瘝","癏","窤","蒄","関","闗","關","鰥","鱞","鳏"],tiǎn:["倎","唺","忝","悿","晪","殄","淟","睓","腆","舔","覥","觍","賟","錪","餂"],mén:["們","扪","捫","璊","菛","虋","鍆","钔","門","閅","门","𫞩"],"dǎo dào":["倒"],"tán tàn":["倓","埮"],"juè jué":["倔"],chuí:["倕","垂","埀","捶","搥","桘","棰","槌","箠","腄","菙","錘","鎚","锤","陲","顀"],xìng:["倖","姓","婞","嬹","幸","性","悻","杏","涬","緈","臖","荇","莕","葕"],péng:["倗","傰","塜","塳","弸","憉","捀","朋","棚","椖","樥","硼","稝","竼","篷","纄","膨","芃","蓬","蘕","蟚","蟛","袶","輣","錋","鑝","韸","韼","騯","髼","鬅","鬔","鵬","鹏"],"tǎng cháng":["倘"],hòu:["候","厚","后","垕","堠","後","洉","茩","豞","逅","郈","鮜","鱟","鲎","鲘"],tì:["倜","剃","嚏","嚔","屉","屜","悌","悐","惕","惖","戻","掦","替","朑","歒","殢","涕","瓋","笹","籊","薙","褅","逖","逷","髰","鬀","鬄"],gàn:["倝","凎","幹","榦","檊","淦","灨","盰","紺","绀","詌","贑","赣","骭","㽏"],"liàng jìng":["倞","靓"],suī:["倠","哸","夊","滖","濉","眭","睢","芕","荽","荾","虽","雖","鞖"],"chàng chāng":["倡"],jié:["倢","偼","傑","刦","刧","刼","劫","劼","卩","卪","婕","媫","孑","岊","崨","嵥","嶻","巀","幯","截","捷","掶","擮","昅","杢","杰","桀","桝","楬","楶","榤","洁","滐","潔","狤","睫","礍","竭","節","羯","莭","蓵","蛣","蜐","蠘","蠞","蠽","衱","袺","訐","詰","誱","讦","踕","迼","鉣","鍻","镼","頡","鮚","鲒","㛃"],"kǒng kōng":["倥"],juàn:["倦","劵","奆","慻","桊","淃","狷","獧","眷","睊","睠","絭","絹","绢","罥","羂","腃","蔨","鄄","餋"],zōng:["倧","堫","宗","嵏","嵕","惾","朡","棕","椶","熧","猣","磫","緃","翪","腙","葼","蝬","豵","踨","踪","蹤","鍐","鑁","騌","騣","骔","鬃","鬉","鬷","鯮","鯼"],ní:["倪","坭","埿","尼","屔","怩","淣","猊","籾","聣","蚭","蜺","觬","貎","跜","輗","郳","鈮","铌","霓","馜","鯢","鲵","麑","齯","𫐐","𫠜"],zhuō:["倬","拙","捉","桌","梲","棁","棳","槕","涿","窧","鐯","䦃"],"wō wēi":["倭"],luǒ:["倮","剆","曪","瘰","癳","臝","蓏","蠃","裸","躶"],sōng:["倯","凇","娀","崧","嵩","庺","憽","松","枀","枩","柗","梥","檧","淞","濍","硹","菘","鬆"],lèng:["倰","堎","愣","睖","踜"],zì:["倳","剚","字","恣","渍","漬","牸","眥","眦","胔","胾","自","茡","荢"],bèn:["倴","坌","捹","撪","渀","笨","逩"],cǎi:["倸","啋","婇","彩","採","棌","毝","睬","綵","跴","踩"],zhài:["债","債","寨","瘵","砦"],yē:["倻","吔","噎","擨","暍","椰","歋","潱","蠮"],shà:["倽","唼","喢","歃","箑","翜","翣","萐","閯","霎"],qīng:["倾","傾","卿","圊","寈","氢","氫","淸","清","蜻","軽","輕","轻","郬","錆","鑋","靑","青","鯖"],yīng:["偀","嘤","噟","嚶","婴","媖","嫈","嬰","孆","孾","愥","撄","攖","朠","桜","樱","櫻","渶","煐","珱","瑛","璎","瓔","甇","甖","碤","礯","緓","纓","绬","缨","罂","罃","罌","膺","英","莺","蘡","蝧","蠳","褮","譻","賏","軈","鑍","锳","霙","韺","鴬","鶑","鶧","鶯","鷪","鷹","鸎","鸚","鹦","鹰","䓨"],"chēng chèn":["偁","爯"],ruǎn:["偄","朊","瑌","瓀","碝","礝","腝","軟","輭","软","阮"],"zhòng tóng":["偅"],chǔn:["偆","惷","睶","萶","蠢","賰"],"jiǎ jià":["假"],"jì jié":["偈"],"bǐng bìng":["偋"],ruò:["偌","叒","嵶","弱","楉","焫","爇","箬","篛","蒻","鄀","鰙","鰯","鶸"],tí:["偍","厗","啼","嗁","崹","漽","瑅","睼","禵","稊","緹","缇","罤","蕛","褆","謕","趧","蹄","蹏","醍","鍗","題","题","騠","鮷","鯷","鳀","鵜","鷤","鹈","𫘨"],wēi:["偎","危","喴","威","媙","嶶","巍","微","愄","揋","揻","椳","楲","溦","烓","煨","燰","癓","縅","葨","葳","薇","蜲","蝛","覣","詴","逶","隇","隈","霺","鰃","鰄","鳂"],piān:["偏","囨","媥","楄","犏","篇","翩","鍂"],yàn:["偐","厌","厭","唁","喭","嚈","嚥","堰","妟","姲","嬊","嬿","宴","彥","彦","敥","晏","暥","曕","曣","滟","灎","灔","灧","灩","焔","焰","焱","熖","燄","牪","猒","砚","硯","艳","艶","艷","覎","觃","觾","諺","讌","讞","谚","谳","豓","豔","贋","贗","赝","軅","酀","酽","醼","釅","雁","餍","饜","騐","験","騴","驗","驠","验","鬳","鳫","鴈","鴳","鷃","鷰","齞"],"tǎng dàng":["偒"],è:["偔","匎","卾","厄","呝","咢","噩","垩","堊","堮","岋","崿","廅","悪","愕","戹","扼","搤","搹","擜","櫮","歞","歺","湂","琧","砈","砐","硆","腭","苊","萼","蕚","蚅","蝁","覨","諤","讍","谔","豟","軛","軶","轭","遌","遏","遻","鄂","鈪","鍔","鑩","锷","阨","阸","頞","顎","颚","餓","餩","饿","鰐","鰪","鱷","鳄","鶚","鹗","齃","齶","𫫇","𥔲"],xié:["偕","勰","协","協","嗋","垥","奊","恊","愶","拹","携","撷","擕","擷","攜","斜","旪","熁","燲","綊","緳","縀","缬","翓","胁","脅","脇","脋","膎","蝢","衺","襭","諧","讗","谐","鞋","鞵","龤","㙦"],chě:["偖","扯","撦"],shěng:["偗","渻","眚"],chā:["偛","嗏","扠","挿","插","揷","疀","臿","艖","銟","鍤","锸","餷"],huáng:["偟","凰","喤","堭","墴","媓","崲","徨","惶","楻","湟","煌","獚","瑝","璜","癀","皇","磺","穔","篁","簧","艎","葟","蝗","蟥","諻","趪","遑","鍠","鐄","锽","隍","韹","餭","騜","鰉","鱑","鳇","鷬","黃","黄","𨱑"],yǎo:["偠","咬","婹","宎","岆","杳","柼","榚","溔","狕","窅","窈","舀","苭","闄","騕","鷕","齩"],"chǒu qiào":["偢"],yóu:["偤","尤","庮","怣","沋","油","浟","游","犹","猶","猷","由","疣","秞","肬","莜","莸","蕕","蚰","蝣","訧","輏","輶","逰","遊","邮","郵","鈾","铀","駀","魷","鮋","鱿","鲉","𬨎"],xū:["偦","墟","媭","嬃","楈","欨","歔","燸","疞","盱","綇","縃","繻","胥","蕦","虗","虚","虛","蝑","裇","訏","許","諝","譃","谞","鑐","需","須","须","顼","驉","鬚","魆","魖","𬣙","𦈡"],zhā:["偧","哳","抯","挓","揸","摣","樝","渣","皶","觰","譇","齄","齇"],cī:["偨","疵","蠀","趀","骴","髊","齹"],bī:["偪","屄","楅","毴","豍","逼","鰏","鲾","鵖"],xún:["偱","噚","寻","尋","峋","巡","廵","循","恂","揗","攳","旬","杊","栒","桪","樳","洵","浔","潯","燅","燖","珣","璕","畃","紃","荀","蟳","詢","询","鄩","鱏","鱘","鲟","𬘓","𬩽","𬍤","𬊈"],"cāi sī":["偲"],duān:["偳","媏","端","褍","鍴"],ǒu:["偶","吘","嘔","耦","腢","蕅","藕","𬉼","𠙶"],tōu:["偷","偸","鍮"],"zán zá zǎ":["偺"],"lǚ lóu":["偻","僂"],fèn:["偾","僨","奋","奮","弅","忿","愤","憤","瀵","瞓","秎","粪","糞","膹","鱝","鲼"],"kuǐ guī":["傀"],sǒu:["傁","叜","叟","嗾","櫢","瞍","薮","藪"],"zhì sī tí":["傂"],sù:["傃","僳","嗉","塐","塑","夙","嫊","愫","憟","榡","樎","樕","殐","泝","涑","溯","溸","潚","潥","玊","珟","璛","簌","粛","粟","素","縤","肃","肅","膆","蔌","藗","觫","訴","謖","诉","谡","趚","蹜","速","遡","遬","鋉","餗","驌","骕","鱐","鷫","鹔","𫗧"],xiā:["傄","煆","瞎","虲","谺","颬","鰕"],"yuàn yuán":["傆","媛"],rǒng:["傇","冗","宂","氄","軵"],nù:["傉","怒"],yùn:["傊","孕","恽","惲","愠","慍","枟","腪","蕴","薀","藴","蘊","褞","貟","运","運","郓","鄆","酝","醖","醞","韗","韞","韵","韻","餫"],"gòu jiǎng":["傋"],mà:["傌","嘜","榪","睰","祃","禡","罵","閁","駡","骂","鬕"],bàng:["傍","塝","棒","玤","稖","艕","蒡","蜯","謗","谤","鎊","镑"],diān:["傎","厧","嵮","巅","巓","巔","掂","攧","敁","槇","滇","癫","癲","蹎","顚","顛","颠","齻"],táng:["傏","唐","啺","坣","堂","塘","搪","棠","榶","溏","漟","煻","瑭","磄","禟","篖","糃","糖","糛","膅","膛","蓎","螗","螳","赯","踼","鄌","醣","鎕","隚","餹","饄","鶶","䣘"],hào:["傐","哠","恏","昊","昦","晧","暠","暤","暭","曍","浩","淏","澔","灏","灝","皓","皜","皞","皡","皥","耗","聕","薃","號","鄗","顥","颢","鰝"],"xī xì":["傒"],shān:["傓","删","刪","剼","圸","山","挻","搧","柵","檆","潸","澘","煽","狦","珊","笘","縿","羴","羶","脠","舢","芟","衫","跚","軕","邖","閊","鯅"],"qiàn jiān":["傔"],"què jué":["傕","埆"],"cāng chen":["傖"],róng:["傛","媶","嫆","嬫","容","峵","嵘","嶸","戎","搈","曧","栄","榕","榮","榵","毧","溶","瀜","烿","熔","狨","瑢","穁","絨","绒","羢","肜","茙","茸","荣","蓉","蝾","融","螎","蠑","褣","鎔","镕","駥"],"tà tàn":["傝"],suō:["傞","唆","嗍","嗦","娑","摍","桫","梭","睃","簑","簔","羧","莏","蓑","趖","鮻"],dǎi:["傣","歹"],zài:["傤","儎","再","在","扗","洅","載","酨"],gǔ:["傦","古","啒","尳","愲","榖","榾","汩","淈","濲","瀔","牯","皷","皼","盬","瞽","穀","罟","羖","股","脵","臌","薣","蛊","蠱","詁","诂","轂","逧","鈷","钴","餶","馉","鼓","鼔","𦙶"],bīn:["傧","宾","彬","斌","椕","滨","濒","濱","濵","瀕","繽","缤","虨","豩","豳","賓","賔","邠","鑌","镔","霦","顮"],chǔ:["储","儲","杵","椘","楚","楮","檚","濋","璴","础","礎","禇","處","齭","齼","𬺓"],nuó:["傩","儺","挪","梛","橠"],"cān càn":["傪"],lěi:["傫","儡","厽","垒","塁","壘","壨","櫐","灅","癗","矋","磊","礨","耒","蕌","蕾","藟","蘽","蠝","誄","讄","诔","鑸","鸓"],cuī:["催","凗","墔","崔","嵟","慛","摧","榱","獕","磪","鏙"],yōng:["傭","嗈","墉","壅","嫞","庸","廱","慵","拥","擁","滽","灉","牅","痈","癕","癰","臃","邕","郺","鄘","鏞","镛","雍","雝","饔","鱅","鳙","鷛"],"zāo cáo":["傮"],sǒng:["傱","嵷","怂","悚","愯","慫","竦","耸","聳","駷","㧐"],ào:["傲","坳","垇","墺","奡","嫯","岙","岰","嶴","懊","擙","澳","鏊","驁","骜"],"qī còu":["傶"],chuǎng:["傸","磢","闖","闯"],shǎ:["傻","儍"],hàn:["傼","垾","悍","憾","扞","捍","撖","撼","旱","晘","暵","汉","涆","漢","瀚","焊","猂","皔","睅","翰","莟","菡","蛿","蜭","螒","譀","輚","釬","銲","鋎","雗","頷","顄","颔","駻","鶾"],zhāng:["傽","嫜","张","張","彰","慞","暲","樟","漳","獐","璋","章","粻","蔁","蟑","遧","鄣","鏱","餦","騿","鱆","麞"],"yān yàn":["傿","墕","嬮"],"piào biāo":["僄","骠"],liàn:["僆","堜","媡","恋","戀","楝","殓","殮","湅","潋","澰","瀲","炼","煉","瑓","練","纞","练","萰","錬","鍊","鏈","链","鰊","𬶠"],màn:["㵘","僈","墁","幔","慢","曼","漫","澷","熳","獌","縵","缦","蔄","蘰","鄤","鏝","镘","𬜬"],"tàn tǎn":["僋"],yíng:["僌","営","塋","嬴","攍","楹","櫿","溁","溋","滢","潆","濙","濚","濴","瀅","瀛","瀠","瀯","灐","灜","熒","營","瑩","盁","盈","禜","籝","籯","縈","茔","荧","莹","萤","营","萦","萾","蓥","藀","蛍","蝇","蝿","螢","蠅","謍","贏","赢","迎","鎣"],dòng:["働","冻","凍","动","動","姛","戙","挏","栋","棟","湩","硐","胨","胴","腖","迵","霘","駧"],zhuàn:["僎","啭","囀","堟","撰","灷","瑑","篆","腞","蒃","襈","譔","饌","馔"],xiàng:["像","勨","向","嚮","姠","嶑","曏","橡","珦","缿","蟓","衖","襐","象","鐌","項","项","鱌"],shàn:["僐","善","墠","墡","嬗","擅","敾","椫","樿","歚","汕","灗","疝","磰","繕","缮","膳","蟮","蟺","訕","謆","譱","讪","贍","赡","赸","鄯","鐥","饍","騸","骟","鱓","鱔","鳝","𫮃"],"tuí tuǐ":["僓"],zǔn:["僔","噂","撙","譐"],pú:["僕","匍","圤","墣","濮","獛","璞","瞨","穙","莆","菐","菩","葡","蒱","蒲","贌","酺","鏷","镤"],láo:["僗","劳","労","勞","哰","崂","嶗","憥","朥","浶","牢","痨","癆","窂","簩","醪","鐒","铹","顟","髝","𫭼"],chǎng:["僘","厰","廠","敞","昶","氅","鋹","𬬮"],guāng:["僙","光","咣","垙","姯","洸","灮","炗","炚","炛","烡","珖","胱","茪","輄","銧","黆","𨐈"],liáo:["僚","嘹","嫽","寥","寮","尞","屪","嵺","嶚","嶛","廫","憀","敹","暸","橑","獠","璙","疗","療","竂","簝","繚","缭","聊","膋","膫","藔","蟟","豂","賿","蹘","辽","遼","飉","髎","鷯","鹩"],dèng:["僜","凳","墱","嶝","櫈","瞪","磴","覴","邓","鄧","隥"],"chán zhàn zhuàn":["僝"],bō:["僠","嶓","拨","撥","播","波","溊","玻","癶","盋","砵","碆","礡","缽","菠","袰","蹳","鉢","钵","餑","饽","驋","鱍","𬭛"],huì:["僡","匯","卉","喙","嘒","嚖","圚","嬒","寭","屶","屷","彗","彙","彚","徻","恚","恵","惠","慧","憓","懳","晦","暳","槥","橞","檅","櫘","汇","泋","滙","潓","烩","燴","獩","璤","瞺","硊","秽","穢","篲","絵","繪","绘","翙","翽","荟","蔧","蕙","薈","薉","蟪","詯","誨","諱","譓","譿","讳","诲","賄","贿","鐬","闠","阓","靧","頮","顪","颒","餯","𬤝","𬭬"],chuǎn:["僢","喘","舛","荈","踳"],"tiě jiàn":["僣"],sēng:["僧","鬙"],xiàn:["僩","僴","哯","垷","塪","姭","娊","宪","岘","峴","憲","撊","晛","橌","橺","涀","瀗","献","獻","现","現","県","睍","粯","糮","絤","綫","線","线","缐","羡","羨","腺","臔","臽","苋","莧","誢","豏","鋧","錎","限","陥","陷","霰","餡","馅","麲","鼸","𬀪","𪾢"],"yù jú":["僪"],"è wū":["僫"],"tóng zhuàng":["僮"],lǐn:["僯","凛","凜","廩","廪","懍","懔","撛","檁","檩","澟","癛","癝"],gù:["僱","凅","固","堌","崓","崮","故","梏","棝","牿","痼","祻","錮","锢","雇","顧","顾","鯝","鲴"],jiāng:["僵","壃","姜","橿","殭","江","畕","疅","礓","繮","缰","翞","茳","葁","薑","螀","螿","豇","韁","鱂","鳉"],mǐn:["僶","冺","刡","勄","悯","惽","愍","慜","憫","抿","敃","敏","敯","泯","潣","皿","笢","笽","簢","蠠","閔","閩","闵","闽","鰵","鳘","黽"],jìn:["僸","凚","噤","嚍","墐","壗","妗","嬧","搢","晉","晋","枃","殣","浕","浸","溍","濅","濜","烬","煡","燼","琎","瑨","璶","盡","祲","縉","缙","荩","藎","覲","觐","賮","贐","赆","近","进","進","靳","齽"],"jià jie":["價"],qiào:["僺","峭","帩","撬","殻","窍","竅","誚","诮","躈","陗","鞩","韒","髚"],pì:["僻","媲","嫓","屁","澼","甓","疈","譬","闢","鷿","鸊","䴙"],sài:["僿","簺","賽","赛"],"chán tǎn shàn":["儃"],"dāng dàng":["儅","当","闣"],xuān:["儇","喧","塇","媗","宣","愃","愋","揎","昍","暄","煊","煖","瑄","睻","矎","禤","箮","翧","翾","萱","萲","蓒","蕿","藼","蘐","蝖","蠉","諠","諼","譞","谖","軒","轩","鍹","駽","鰚","𫓶","𫍽"],"dān dàn":["儋","擔","瘅"],càn:["儏","澯","灿","燦","璨","粲","薒","謲"],"bīn bìn":["儐"],"án àn":["儑"],tái:["儓","坮","嬯","抬","擡","檯","炱","炲","籉","臺","薹","跆","邰","颱","鮐","鲐"],lán:["儖","兰","囒","婪","岚","嵐","幱","拦","攔","斓","斕","栏","欄","欗","澜","瀾","灆","灡","燣","燷","璼","篮","籃","籣","繿","葻","蓝","藍","蘫","蘭","褴","襕","襤","襴","襽","譋","讕","谰","躝","鑭","镧","闌","阑","韊","𬒗"],"nǐ yì ài yí":["儗"],méng:["儚","幪","曚","朦","橗","檬","氋","溕","濛","甍","甿","盟","礞","艨","莔","萌","蕄","虻","蝱","鄳","鄸","霿","靀","顭","饛","鯍","鸏","鹲","𫑡","㠓"],níng:["儜","凝","咛","嚀","嬣","柠","橣","檸","狞","獰","聍","聹","薴","鑏","鬡","鸋"],qióng:["儝","卭","宆","惸","憌","桏","橩","焪","焭","煢","熍","琼","瓊","睘","穷","穹","窮","竆","笻","筇","舼","茕","藑","藭","蛩","蛬","赹","跫","邛","銎","䓖"],liè:["儠","冽","列","劣","劽","埒","埓","姴","峛","巤","挒","捩","栵","洌","浖","烈","烮","煭","犣","猎","猟","獵","聗","脟","茢","蛚","趔","躐","迾","颲","鬛","鬣","鮤","鱲","鴷","䴕","𫚭"],kuǎng:["儣","夼","懭"],bào:["儤","勽","報","忁","报","抱","曓","爆","犦","菢","虣","蚫","豹","鉋","鑤","铇","骲","髱","鮑","鲍"],biāo:["儦","墂","幖","彪","标","標","滮","瀌","熛","爂","猋","瘭","磦","膘","臕","謤","贆","鏢","鑣","镖","镳","颮","颷","飆","飇","飈","飊","飑","飙","飚","驫","骉","髟"],zǎn:["儧","儹","噆","攅","昝","趱","趲"],háo:["儫","嗥","嘷","噑","嚎","壕","椃","毜","毫","濠","獆","獔","竓","籇","蚝","蠔","譹","豪"],qìng:["儬","凊","庆","慶","櫦","濪","碃","磬","罄","靘"],chèn:["儭","嚫","榇","櫬","疢","衬","襯","讖","谶","趁","趂","齓","齔","龀"],téng:["儯","幐","滕","漛","疼","籐","籘","縢","腾","藤","虅","螣","誊","謄","邆","駦","騰","驣","鰧","䲢"],"lǒng lóng lòng":["儱"],"chán chàn":["儳"],"ráng xiāng":["儴","勷"],"huì xié":["儶"],luó:["儸","攞","椤","欏","猡","玀","箩","籮","罗","羅","脶","腡","萝","蘿","螺","覼","逻","邏","鏍","鑼","锣","镙","饠","騾","驘","骡","鸁"],léi:["儽","嫘","檑","欙","瓃","畾","縲","纍","纝","缧","罍","羸","蔂","蘲","虆","轠","鐳","鑘","镭","雷","靁","鱩","鼺"],"nàng nāng":["儾"],"wù wū":["兀"],yǔn:["允","喗","夽","抎","殒","殞","狁","磒","荺","賱","鈗","阭","陨","隕","霣","馻","齫","齳"],zān:["兂","橵","簪","簮","糌","鐕","鐟","鵤"],yuán:["元","円","原","厡","厵","园","圆","圎","園","圓","垣","塬","媴","嫄","援","榞","榬","橼","櫞","沅","湲","源","溒","爰","猨","猿","笎","緣","縁","缘","羱","茒","薗","蝝","蝯","螈","袁","褤","謜","轅","辕","邍","邧","酛","鈨","鎱","騵","魭","鶢","鶰","黿","鼋","𫘪"],xiōng:["兄","兇","凶","匂","匈","哅","忷","恟","汹","洶","胷","胸","芎","訩","詾","讻"],chōng:["充","嘃","忡","憃","憧","摏","沖","浺","珫","罿","翀","舂","艟","茺","衝","蹖","㳘"],zhào:["兆","垗","旐","曌","枛","櫂","照","燳","狣","瞾","笊","罀","罩","羄","肁","肇","肈","詔","诏","赵","趙","鮡","𬶐"],"duì ruì yuè":["兊","兌","兑"],kè:["克","刻","勀","勊","堁","娔","客","恪","愙","氪","溘","碦","緙","缂","艐","衉","課","课","錁","锞","騍","骒"],tù:["兎","兔","堍","迌","鵵"],dǎng:["党","攩","欓","譡","讜","谠","黨","𣗋"],dōu:["兜","兠","唗","橷","篼","蔸"],huǎng:["兤","奛","幌","怳","恍","晄","炾","熀","縨","詤","謊","谎"],rù:["入","嗕","媷","扖","杁","洳","溽","縟","缛","蓐","褥","鳰"],nèi:["內","氝","氞","錗"],"yú shù":["兪"],"liù lù":["六"],han:["兯","爳"],tiān:["兲","天","婖","添","酟","靔","靝","黇"],"xīng xìng":["兴"],diǎn:["典","嚸","奌","婰","敟","椣","点","碘","蒧","蕇","踮","點"],"zī cí":["兹"],jiān:["兼","冿","囏","坚","堅","奸","姦","姧","尖","幵","惤","戋","戔","搛","椾","樫","櫼","歼","殱","殲","湔","瀐","瀸","煎","熞","熸","牋","瑊","睷","礛","礷","笺","箋","緘","縑","缄","缣","肩","艰","艱","菅","菺","葌","蒹","蔪","蕑","蕳","虃","譼","豜","鑯","雃","鞯","韀","韉","餰","馢","鰔","鰜","鰹","鲣","鳒","鵑","鵳","鶼","鹣","麉"],shòu:["兽","受","售","壽","夀","寿","授","狩","獣","獸","痩","瘦","綬","绶","膄"],jì:["兾","冀","剂","剤","劑","勣","坖","垍","塈","妓","季","寂","寄","廭","彑","徛","忌","悸","惎","懻","技","旡","既","旣","暨","暩","曁","梞","檕","檵","洎","漃","漈","瀱","痵","癠","禝","稩","稷","穄","穊","穧","紀","継","績","繋","繼","继","绩","罽","臮","芰","茍","茤","葪","蓟","蔇","薊","蘎","蘮","蘻","裚","襀","覬","觊","計","記","誋","计","记","跡","跽","蹟","迹","际","際","霁","霽","驥","骥","髻","鬾","魝","魥","鯚","鯽","鰶","鰿","鱀","鱭","鲚","鲫","鵋","鷑","齌","𪟝","𬶨","𬶭"],jiōng:["冂","冋","坰","埛","扃","蘏","蘔","駉","駫","𬳶"],mào:["冃","冐","媢","帽","愗","懋","暓","柕","楙","毷","瑁","皃","眊","瞀","耄","茂","萺","蝐","袤","覒","貌","貿","贸","鄚","鄮"],rǎn:["冄","冉","姌","媣","染","珃","苒","蒅","䎃"],"nèi nà":["内"],gāng:["冈","冮","刚","剛","堈","堽","岡","掆","摃","棡","牨","犅","疘","綱","纲","缸","罁","罡","肛","釭","鎠","㭎"],cè:["冊","册","厕","厠","夨","廁","恻","惻","憡","敇","测","測","笧","策","筞","筴","箣","荝","萗","萴","蓛"],guǎ:["冎","剐","剮","叧","寡"],"mào mò":["冒"],gòu:["冓","啂","坸","垢","够","夠","媾","彀","搆","撀","构","構","煹","覯","觏","訽","詬","诟","購","购","遘","雊"],xǔ:["冔","喣","暊","栩","珝","盨","糈","詡","諿","诩","鄦","醑"],mì:["冖","冪","嘧","塓","宻","密","峚","幂","幎","幦","怽","榓","樒","櫁","汨","淧","滵","漞","濗","熐","羃","蔤","蜜","覓","覔","覛","觅","謐","谧","鼏"],"yóu yín":["冘"],xiě:["写","冩","藛"],jūn:["军","君","均","桾","汮","皲","皸","皹","碅","莙","蚐","袀","覠","軍","鈞","銁","銞","鍕","钧","頵","鮶","鲪","麏"],mí:["冞","擟","瀰","爢","猕","獼","祢","禰","縻","蒾","藌","蘪","蘼","袮","詸","謎","迷","醚","醾","醿","釄","镾","鸍","麊","麋","麛"],"guān guàn":["冠","覌","観","觀","观"],měng:["冡","勐","懵","掹","猛","獴","艋","蜢","蠓","錳","锰","鯭","鼆"],zhǒng:["冢","塚","尰","歱","煄","瘇","肿","腫","踵"],zuì:["冣","嶵","晬","最","栬","槜","檇","檌","祽","絊","罪","蕞","辠","酔","酻","醉","錊"],yuān:["冤","剈","囦","嬽","寃","棩","淵","渁","渆","渊","渕","灁","眢","肙","葾","蒬","蜎","蜵","駌","鳶","鴛","鵷","鸢","鸳","鹓","鼘","鼝"],míng:["冥","名","明","暝","朙","榠","洺","溟","猽","眀","眳","瞑","茗","螟","覭","詺","鄍","銘","铭","鳴","鸣"],kòu:["冦","叩","宼","寇","扣","敂","滱","窛","筘","簆","蔲","蔻","釦","鷇"],tài:["冭","太","夳","忲","态","態","汰","汱","泰","溙","肽","舦","酞","鈦","钛"],"féng píng":["冯","馮"],"chōng chòng":["冲"],kuàng:["况","圹","壙","岲","懬","旷","昿","曠","框","況","爌","眖","眶","矿","砿","礦","穬","絋","絖","纊","纩","貺","贶","軦","邝","鄺","鉱","鋛","鑛","黋"],lěng:["冷"],pàn:["冸","判","叛","沜","泮","溿","炍","牉","畔","盼","聁","袢","襻","詊","鋬","鑻","頖","鵥"],fā:["冹","彂","沷","発","發"],xiǎn:["冼","尟","尠","崄","嶮","幰","攇","显","櫶","毨","灦","烍","燹","狝","猃","獫","獮","玁","禒","筅","箲","藓","蘚","蚬","蜆","譣","赻","跣","鍌","险","険","險","韅","顕","顯","㬎"],qià:["冾","圶","帢","恰","殎","洽","硈","胢","髂"],"jìng chēng":["净","凈","淨"],sōu:["凁","嗖","廀","廋","捜","搜","摉","溲","獀","艘","蒐","螋","鄋","醙","鎪","锼","颼","飕","餿","馊","騪"],měi:["凂","媄","媺","嬍","嵄","挴","毎","每","浼","渼","燘","美","躾","鎂","镁","黣"],tú:["凃","図","图","圖","圗","塗","屠","峹","嵞","庩","廜","徒","悇","揬","涂","瘏","筡","腯","荼","蒤","跿","途","酴","鈯","鍎","馟","駼","鵌","鶟","鷋","鷵","𬳿"],zhǔn:["准","凖","埻","準","𬘯"],"liáng liàng":["凉","涼","量"],diāo:["凋","刁","刟","叼","奝","弴","彫","汈","琱","碉","簓","虭","蛁","貂","錭","雕","鮉","鯛","鲷","鵰","鼦"],còu:["凑","湊","腠","輳","辏"],ái:["凒","啀","嘊","捱","溰","癌","皑","皚"],duó:["凙","剫","夺","奪","痥","踱","鈬","鐸","铎"],dú:["凟","匵","嬻","椟","櫝","殰","涜","牍","牘","犊","犢","独","獨","瓄","皾","裻","読","讀","讟","豄","贕","錖","鑟","韇","韣","韥","騳","髑","黩","黷"],"jǐ jī":["几"],fán:["凡","凢","凣","匥","墦","杋","柉","棥","樊","瀿","烦","煩","燔","璠","矾","礬","笲","籵","緐","羳","舤","舧","薠","蘩","蠜","襎","蹯","釩","鐇","鐢","钒","鷭","𫔍","𬸪"],jū:["凥","匊","娵","婮","居","崌","抅","挶","掬","梮","椐","檋","毩","毱","泃","涺","狙","琚","疽","砠","罝","腒","艍","蜛","裾","諊","跔","踘","躹","陱","雎","鞠","鞫","駒","驹","鮈","鴡","鶋","𬶋"],"chù chǔ":["処","处"],zhǐ:["凪","劧","咫","址","坧","帋","恉","扺","指","旨","枳","止","汦","沚","洔","淽","疻","砋","祉","秖","紙","纸","芷","藢","衹","襧","訨","趾","軹","轵","酯","阯","黹"],píng:["凭","凴","呯","坪","塀","岼","帡","帲","幈","平","慿","憑","枰","洴","焩","玶","瓶","甁","竮","箳","簈","缾","荓","萍","蓱","蚲","蛢","評","评","軿","輧","郱","鮃","鲆"],kǎi:["凯","凱","剀","剴","垲","塏","恺","愷","慨","暟","蒈","輆","鍇","鎧","铠","锴","闓","闿","颽"],gān:["凲","坩","尲","尴","尶","尷","柑","泔","漧","玕","甘","疳","矸","竿","筸","粓","肝","苷","迀","酐","魐"],"kǎn qiǎn":["凵"],tū:["凸","堗","嶀","捸","涋","湥","痜","禿","秃","突","葖","鋵","鵚","鼵","㻬"],"āo wā":["凹"],chū:["出","初","岀","摴","榋","樗","貙","齣","䢺","䝙"],dàng:["凼","圵","垱","壋","档","檔","氹","璗","瓽","盪","瞊","砀","碭","礑","簜","荡","菪","蕩","蘯","趤","逿","雼","𬍡"],hán:["函","凾","含","圅","娢","寒","崡","晗","梒","浛","涵","澏","焓","琀","甝","筨","蜬","邗","邯","鋡","韓","韩"],záo:["凿","鑿"],dāo:["刀","刂","忉","氘","舠","螩","釖","魛","鱽"],chuāng:["刅","摐","牎","牕","疮","瘡","窓","窗","窻"],"fēn fèn":["分"],"qiè qiē":["切"],kān:["刊","勘","堪","戡","栞","龕","龛"],cǔn:["刌","忖"],chú:["刍","厨","幮","廚","橱","櫉","櫥","滁","犓","篨","耡","芻","蒢","蒭","蜍","蟵","豠","趎","蹰","躇","躕","鉏","鋤","锄","除","雏","雛","鶵"],"huà huá":["划"],lí:["刕","剓","剺","劙","厘","喱","嚟","囄","嫠","孷","廲","悡","梨","梸","棃","漓","灕","犁","犂","狸","琍","璃","瓈","盠","睝","离","穲","竰","筣","篱","籬","糎","縭","缡","罹","艃","荲","菞","蓠","蔾","藜","蘺","蜊","蟍","蟸","蠫","褵","謧","貍","醨","鋫","錅","鏫","鑗","離","驪","骊","鯏","鯬","鱺","鲡","鵹","鸝","鹂","黎","黧","㰀"],yuè:["刖","嬳","岄","岳","嶽","恱","悅","悦","戉","抈","捳","月","樾","瀹","爚","玥","礿","禴","篗","籆","籥","籰","粤","粵","蘥","蚎","蚏","説","越","跀","跃","躍","軏","鈅","鉞","鑰","钺","閱","閲","阅","鸑","鸙","黦","龠","𫐄","𬸚"],liú:["刘","劉","嚠","媹","嵧","旈","旒","榴","橊","流","浏","瀏","琉","瑠","瑬","璢","畄","留","畱","疁","瘤","癅","硫","蒥","蓅","蟉","裗","鎏","鏐","鐂","镠","飀","飅","飗","駠","駵","騮","驑","骝","鰡","鶹","鹠","麍"],zé:["则","則","啧","嘖","嫧","帻","幘","択","樍","歵","沢","泎","溭","皟","瞔","矠","礋","箦","簀","舴","蔶","蠌","襗","謮","賾","赜","迮","鸅","齚","齰"],"chuàng chuāng":["创","創"],qù:["刞","厺","去","閴","闃","阒","麮","鼁"],"bié biè":["別","别"],"páo bào":["刨"],"chǎn chàn":["刬","剗","幝"],guā:["刮","劀","桰","歄","煱","瓜","胍","踻","颪","颳","騧","鴰","鸹"],gēng:["刯","庚","椩","浭","焿","畊","絚","羮","羹","耕","菮","賡","赓","鶊","鹒"],dào:["到","噵","悼","椡","檤","燾","瓙","盗","盜","稲","稻","纛","翿","艔","菿","衜","衟","軇","道"],chuàng:["刱","剏","剙","怆","愴"],kū:["刳","哭","圐","堀","枯","桍","矻","窟","跍","郀","骷","鮬"],duò:["刴","剁","墯","尮","惰","憜","挅","桗","舵","跥","跺","陊","陏","飿","饳","鵽"],"shuā shuà":["刷"],"quàn xuàn":["券"],"chà shā":["刹","剎"],"cì cī":["刺"],guì:["刽","刿","劊","劌","撌","攰","昋","桂","椢","槶","樻","櫃","猤","禬","筀","蓕","襘","貴","贵","跪","鐀","鑎","鞼","鱖","鱥"],lóu:["剅","娄","婁","廔","楼","樓","溇","漊","熡","耧","耬","艛","蒌","蔞","蝼","螻","謱","軁","遱","鞻","髅","髏","𪣻"],cuò:["剉","剒","厝","夎","挫","措","棤","莝","莡","蓌","逪","銼","錯","锉","错"],"xiāo xuē":["削"],"kēi kè":["剋","尅"],"là lá":["剌"],tī:["剔","梯","踢","銻","锑","鷈","鷉","䏲","䴘"],pōu:["剖"],wān:["剜","塆","壪","帵","弯","彎","湾","潫","灣","睕","蜿","豌"],"bāo bō":["剝","剥"],duō:["剟","咄","哆","嚉","多","夛","掇","毲","畓","裰","㙍"],qíng:["剠","勍","夝","情","擎","晴","暒","棾","樈","檠","氰","甠","硘","葝","黥"],"yǎn shàn":["剡"],"dū zhuó":["剢"],yān:["剦","嫣","崦","嶖","恹","懕","懨","樮","淊","淹","漹","烟","焉","焑","煙","珚","篶","胭","臙","菸","鄢","醃","閹","阉","黫"],huō:["剨","劐","吙","攉","秴","耠","锪","騞","𬴃"],shèng:["剩","剰","勝","圣","墭","嵊","晠","榺","橳","琞","聖","蕂","貹","賸"],"duān zhì":["剬"],wū:["剭","呜","嗚","圬","屋","巫","弙","杇","歍","汙","汚","污","洿","烏","窏","箼","螐","誈","誣","诬","邬","鄔","鎢","钨","鰞","鴮"],gē:["割","哥","圪","彁","戈","戓","戨","歌","滒","犵","肐","袼","謌","鎶","鴚","鴿","鸽"],"dá zhá":["剳"],chuán:["剶","暷","椽","篅","舡","舩","船","輲","遄"],"tuán zhuān":["剸","漙","篿"],"lù jiū":["剹"],pēng:["剻","匉","嘭","怦","恲","抨","梈","烹","砰","軯","駍"],piāo:["剽","勡","慓","旚","犥","翲","螵","飃","飄","飘","魒"],kōu:["剾","彄","抠","摳","眍","瞘","芤","𫸩"],"jiǎo chāo":["剿","劋","勦","摷"],qiāo:["劁","勪","墝","幧","敲","橇","毃","燆","硗","磽","繑","趬","跷","踍","蹺","蹻","郻","鄡","鄥","鍫","鍬","鐰","锹","頝"],"huá huà":["劃"],"zhā zhá":["劄"],"pī pǐ":["劈","悂"],tāng:["劏","嘡","羰","薚","蝪","蹚","鞺","鼞"],chán:["劖","嚵","壥","婵","嬋","巉","廛","棎","毚","湹","潹","潺","澶","瀍","瀺","煘","獑","磛","緾","纏","纒","缠","艬","蝉","蟐","蟬","蟾","誗","讒","谗","躔","鄽","酁","鋋","鑱","镵","饞","馋"],zuān:["劗","躜","躦","鉆","鑚"],mó:["劘","嫫","嬤","嬷","尛","摹","擵","橅","糢","膜","藦","蘑","謨","謩","谟","饃","饝","馍","髍","魔","魹"],zhú:["劚","斸","曯","欘","灟","炢","烛","燭","爥","瘃","竹","笁","笜","舳","茿","蓫","蠋","蠾","躅","逐","逫","钃","鱁"],quàn:["劝","勧","勸","牶","韏"],"jìn jìng":["劤","劲","勁"],kēng:["劥","坑","牼","硁","硜","誙","銵","鍞","鏗","铿","阬"],"xié liè":["劦"],"zhù chú":["助"],nǔ:["努","弩","砮","胬"],shào:["劭","卲","哨","潲","紹","綤","绍","袑","邵"],miǎo:["劰","杪","淼","渺","眇","秒","篎","緲","缈","藐","邈"],kǒu:["劶","口"],wā:["劸","娲","媧","屲","挖","攨","洼","溛","漥","瓾","畖","穵","窊","窪","蛙","韈","鼃"],kuāng:["劻","匡","匩","哐","恇","洭","筐","筺","誆","诓","軭","邼"],hé:["劾","咊","啝","姀","峆","敆","曷","柇","楁","毼","河","涸","渮","澕","熆","皬","盇","盉","盍","盒","禾","篕","籺","粭","翮","菏","萂","覈","訸","詥","郃","釛","鉌","鑉","閡","闔","阂","阖","鞨","頜","餄","饸","魺","鹖","麧","齕","龁","龢","𬌗"],gào:["勂","吿","告","峼","祮","祰","禞","筶","誥","诰","郜","鋯","锆"],"bó bèi":["勃"],láng:["勆","嫏","廊","斏","桹","榔","樃","欴","狼","琅","瑯","硠","稂","艆","蓈","蜋","螂","躴","郒","郞","鋃","鎯","锒"],xūn:["勋","勛","勲","勳","嚑","坃","埙","塤","壎","壦","曛","燻","獯","矄","纁","臐","薫","薰","蘍","醺","𫄸"],"juàn juān":["勌","瓹"],"lè lēi":["勒"],kài:["勓","炌","烗","鎎"],"wěng yǎng":["勜"],qín:["勤","嗪","噙","嶜","庈","懃","懄","捦","擒","斳","檎","澿","珡","琴","琹","瘽","禽","秦","耹","芩","芹","菦","螓","蠄","鈙","鈫","雂","靲","鳹","鵭"],jiàng:["勥","匞","匠","嵹","弜","弶","摾","櫤","洚","滰","犟","糡","糨","絳","绛","謽","酱","醤","醬"],fān:["勫","嬏","帆","幡","忛","憣","旙","旛","繙","翻","藩","轓","颿","飜","鱕"],juān:["勬","姢","娟","捐","涓","蠲","裐","鎸","鐫","镌","鹃"],"tóng dòng":["勭","烔","燑","狪"],lǜ:["勴","垏","嵂","律","慮","氯","滤","濾","爈","箻","綠","繂","膟","葎","虑","鑢"],chè:["勶","坼","彻","徹","掣","撤","澈","烢","爡","瞮","硩","聅","迠","頙","㬚"],sháo:["勺","玿","韶"],"gōu gòu":["勾"],cōng:["匆","囪","囱","忩","怱","悤","暰","樬","漗","瑽","璁","瞛","篵","繱","聡","聦","聪","聰","苁","茐","葱","蓯","蔥","蟌","鍯","鏓","鏦","騘","驄","骢"],"táo yáo":["匋","陶"],páo:["匏","咆","垉","庖","爮","狍","袍","褜","軳","鞄","麅"],dá:["匒","妲","怛","炟","燵","畣","笪","羍","荙","薘","蟽","詚","达","迏","迖","迚","逹","達","鐽","靼","鞑","韃","龖","龘","𫟼"],"huà huā":["化"],"běi bèi":["北"],nǎo:["匘","垴","堖","嫐","恼","悩","惱","瑙","碯","脑","脳","腦"],"chí shi":["匙"],fāng:["匚","堏","方","淓","牥","芳","邡","鈁","錺","钫","鴋"],zā:["匝","咂","帀","沞","臜","臢","迊","鉔","魳"],qiè:["匧","厒","妾","怯","悏","惬","愜","挈","穕","窃","竊","笡","箧","篋","籡","踥","鍥","锲","鯜"],"zāng cáng":["匨"],fěi:["匪","奜","悱","棐","榧","篚","翡","蕜","誹","诽"],"kuì guì":["匮","匱"],suǎn:["匴"],pǐ:["匹","噽","嚭","圮","庀","痞","癖","脴","苉","銢","鴄"],"qū ōu":["区","區"],"kē qià":["匼"],"yǎn yàn":["匽","棪"],biǎn:["匾","惼","揙","碥","稨","窆","藊","褊","貶","贬","鴘"],nì:["匿","堄","嫟","嬺","惄","愵","昵","暱","氼","眤","睨","縌","胒","腻","膩","逆","𨺙"],niàn:["卄","唸","埝","廿","念","惗","艌"],sà:["卅","櫒","脎","萨","蕯","薩","鈒","隡","颯","飒","馺"],zú:["卆","哫","崪","族","箤","足","踤","镞"],shēng:["升","呏","声","斘","昇","曻","枡","殅","泩","湦","焺","牲","珄","生","甥","竔","笙","聲","鉎","鍟","阩","陞","陹","鵿","鼪"],wàn:["卍","卐","忨","杤","瞣","脕","腕","萬","蟃","贎","輐","錽","𬇕"],"huá huà huā":["华","華"],bēi:["卑","悲","揹","杯","桮","盃","碑","藣","鵯","鹎"],"zú cù":["卒"],"dān shàn chán":["单","單"],"nán nā":["南"],"shuài lǜ":["卛"],"bǔ bo pú":["卜"],"kuàng guàn":["卝"],biàn:["卞","变","変","峅","弁","徧","忭","抃","昪","汳","汴","玣","艑","苄","覍","諚","變","辡","辧","辨","辩","辫","辮","辯","遍","釆","𨚕"],bǔ:["卟","哺","捕","补","補","鸔","𬷕"],"zhàn zhān":["占","覱"],"kǎ qiǎ":["卡"],lú:["卢","嚧","垆","壚","庐","廬","曥","枦","栌","櫨","泸","瀘","炉","爐","獹","玈","瓐","盧","矑","籚","纑","罏","胪","臚","舮","舻","艫","芦","蘆","蠦","轤","轳","鈩","鑪","顱","颅","馿","髗","魲","鱸","鲈","鸕","鸬","黸","𬬻"],lǔ:["卤","塷","掳","擄","樐","橹","櫓","氌","滷","澛","瀂","硵","磠","穞","艣","艪","蓾","虏","虜","鏀","鐪","鑥","镥","魯","鲁","鹵"],guà:["卦","啩","挂","掛","罣","褂","詿","诖"],"áng yǎng":["卬"],yìn:["印","垽","堷","廕","慭","憖","憗","懚","洕","湚","猌","癊","胤","茚","酳","鮣","䲟"],què:["却","卻","塙","崅","悫","愨","慤","搉","榷","燩","琷","皵","确","確","礭","闋","阕","鵲","鹊","𬒈"],luǎn:["卵"],"juàn juǎn":["卷","巻"],"chǎng ān hàn":["厂"],"wěi yán":["厃"],tīng:["厅","厛","听","庁","廰","廳","汀","烃","烴","綎","耓","聴","聼","聽","鞓","𬘩"],"zhé zhái":["厇"],"hàn àn":["厈","屽"],yǎ:["厊","唖","庌","痖","瘂","蕥"],shè:["厍","厙","弽","慑","慴","懾","摂","欇","涉","涻","渉","滠","灄","社","舎","蔎","蠂","設","设","赦","騇","麝"],dǐ:["厎","呧","坘","弤","抵","拞","掋","牴","砥","菧","觝","詆","诋","軧","邸","阺","骶","鯳"],"zhǎ zhǎi":["厏"],páng:["厐","嫎","庞","徬","舽","螃","逄","鰟","鳑","龎","龐"],"zhì shī":["厔"],máng:["厖","吂","哤","娏","忙","恾","杗","杧","汒","浝","牻","痝","盲","硭","笀","芒","茫","蘉","邙","釯","鋩","铓","駹"],zuī:["厜","樶","纗","蟕"],"shà xià":["厦","廈"],áo:["厫","嗷","嗸","廒","敖","滶","獒","獓","璈","翱","翶","翺","聱","蔜","螯","謷","謸","遨","鏖","隞","鰲","鳌","鷔","鼇"],"lán qiān":["厱"],"sī mǒu":["厶"],"gōng hóng":["厷"],"lín miǎo":["厸"],"qiú róu":["厹"],dū:["厾","嘟","督","醏"],"xiàn xuán":["县","縣"],"cān shēn cēn sān":["参","參","叄","叅"],"ài yǐ":["叆"],"chā chà chǎ chá":["叉"],shuāng:["双","孀","孇","欆","礵","艭","雙","霜","騻","驦","骦","鷞","鸘","鹴"],shōu:["収","收"],guái:["叏"],bá:["叐","妭","抜","拔","炦","癹","胈","茇","菝","詙","跋","軷","魃","鼥"],"fā fà":["发"],"zhuó yǐ lì jué":["叕"],qǔ:["取","娶","竬","蝺","詓","齲","龋"],"jiǎ xiá":["叚","徦"],"wèi yù":["叞","尉","蔚"],dié:["叠","垤","堞","峌","幉","恎","惵","戜","曡","殜","氎","牃","牒","瓞","畳","疂","疉","疊","碟","絰","绖","耊","耋","胅","艓","苵","蜨","蝶","褋","詄","諜","谍","跮","蹀","迭","镻","鰈","鲽","鴩","𫶇"],ruì:["叡","枘","汭","瑞","睿","芮","蚋","蜹","銳","鋭","锐"],"jù gōu":["句"],lìng:["另","呤","炩","蘦"],"dāo dáo tāo":["叨"],"zhī zhǐ":["只"],jiào:["叫","呌","嘂","嘦","噍","嬓","斍","斠","滘","漖","獥","珓","皭","窖","藠","訆","譥","趭","較","轎","轿","较","酵","醮","釂"],"zhào shào":["召"],"kě kè":["可"],"tái tāi":["台","苔"],pǒ:["叵","尀","笸","箥","鉕","钷","駊"],"yè xié":["叶"],"hào háo":["号"],tàn:["叹","嘆","探","歎","湠","炭","碳","舕"],"hōng hóng":["叿"],miē:["吀","咩","哶","孭"],"xū yū yù":["吁"],chī:["吃","哧","喫","嗤","噄","妛","媸","彨","彲","摛","攡","殦","瓻","痴","癡","眵","瞝","笞","粚","胵","蚩","螭","訵","魑","鴟","鵄","鸱","黐","齝","𫄨"],"xuān sòng":["吅"],yāo:["吆","喓","夭","妖","幺","楆","殀","祅","腰","葽","訞","邀","鴁","鴢","㙘"],zǐ:["吇","姉","姊","子","杍","梓","榟","橴","滓","矷","秭","笫","籽","紫","耔","虸","訿","釨"],"hé gě":["合","鲄"],"cùn dòu":["吋"],"tóng tòng":["同"],"tǔ tù":["吐","唋"],"zhà zhā":["吒","奓"],"xià hè":["吓"],"ā yā":["吖"],"ma má mǎ":["吗"],lìn:["吝","恡","悋","橉","焛","甐","膦","蔺","藺","賃","赁","蹸","躏","躙","躪","轥","閵"],tūn:["吞","暾","朜","焞"],"bǐ pǐ":["吡"],qìn:["吢","吣","唚","抋","揿","搇","撳","沁","瀙","菣","藽"],"jiè gè":["吤"],"fǒu pǐ":["否"],"ba bā":["吧"],dūn:["吨","噸","墩","墪","惇","撉","撴","犜","獤","礅","蜳","蹾","驐"],fēn:["吩","帉","昐","朆","梤","棻","氛","竕","紛","纷","翂","芬","衯","訜","躮","酚","鈖","雰","餴","饙","馚"],"é huā":["吪"],"kēng háng":["吭","妔"],shǔn:["吮"],"zhī zī":["吱"],"yǐn shěn":["吲"],wú:["吳","吴","呉","墲","峿","梧","橆","毋","洖","浯","無","珸","璑","祦","芜","茣","莁","蕪","蜈","蟱","譕","郚","鋙","铻","鯃","鵐","鷡","鹀","鼯"],"chǎo chāo":["吵"],"nà nè":["吶"],"xuè chuò jué":["吷"],chuī:["吹","炊","龡"],"dōu rú":["吺"],hǒu:["吼","犼"],"hōng hǒu ōu":["吽"],"wú yù":["吾"],"ya yā":["呀"],"è e":["呃"],dāi:["呆","懛","獃"],"mèn qǐ":["呇"],hōng:["呍","嚝","揈","灴","烘","焢","硡","薨","訇","谾","軣","輷","轟","轰","鍧"],nà:["呐","捺","笝","納","纳","肭","蒳","衲","豽","貀","軜","郍","鈉","钠","靹","魶"],"tūn tiān":["呑"],"fǔ ḿ":["呒","嘸"],"dāi tǎi":["呔"],"ǒu ōu òu":["呕"],"bài bei":["呗"],"yuán yún yùn":["员","員"],guō:["呙","啯","嘓","埚","堝","墎","崞","彉","彍","懖","猓","瘑","聒","蝈","蟈","郭","鈛","鍋","锅"],"huá qì":["呚"],"qiàng qiāng":["呛","跄"],shī:["呞","失","尸","屍","师","師","施","浉","湤","湿","溮","溼","濕","狮","獅","瑡","絁","葹","蒒","蓍","虱","蝨","褷","襹","詩","诗","邿","釃","鉇","鍦","鯴","鰤","鲺","鳲","鳾","鶳","鸤","䴓","𫚕"],juǎn:["呟","埍","臇","菤","錈","锩"],pěn:["呠","翸"],"wěn mǐn":["呡"],"ne ní":["呢"],"ḿ m̀ móu":["呣"],rán:["呥","嘫","然","燃","繎","肰","蚦","蚺","衻","袇","袡","髥","髯"],"tiè chè":["呫"],"qì zhī":["呮"],"zǐ cī":["呰"],"guā gū guǎ":["呱"],"cī zī":["呲"],"hǒu xǔ gòu":["呴"],"hē ā á ǎ à a":["呵"],náo:["呶","夒","峱","嶩","巎","挠","撓","猱","硇","蛲","蟯","詉","譊","鐃","铙"],"xiā gā":["呷"],pēi:["呸","怌","肧","胚","衃","醅"],"háo xiāo":["呺"],mìng:["命","掵"],"dá dàn":["呾"],"zuǐ jǔ":["咀"],"xián gān":["咁"],pǒu:["咅","哣","犃"],"yǎng yāng":["咉"],"zǎ zé zhā":["咋"],"hé hè huó huò hú":["和"],hāi:["咍"],dā:["咑","哒","噠","墶","搭","撘","耷","褡","鎝","𨱏"],"kǎ kā":["咔"],gū:["咕","唂","唃","姑","嫴","孤","巬","巭","柧","橭","沽","泒","稒","笟","箍","箛","篐","罛","苽","菇","菰","蓇","觚","軱","軲","轱","辜","酤","鈲","鮕","鴣","鸪"],"kā gā":["咖"],zuo:["咗"],lóng:["咙","嚨","嶐","巃","巄","昽","曨","朧","栊","槞","櫳","湰","滝","漋","爖","珑","瓏","癃","眬","矓","砻","礱","礲","窿","竜","聋","聾","胧","茏","蘢","蠪","蠬","襱","豅","鏧","鑨","霳","靇","驡","鸗","龍","龒","龙"],"xiàn xián":["咞"],qì:["咠","唭","噐","器","夡","弃","憇","憩","暣","棄","欫","气","気","氣","汔","汽","泣","湆","湇","炁","甈","盵","矵","碛","碶","磜","磧","罊","芞","葺","藒","蟿","訖","讫","迄","鐑"],"xì dié":["咥"],"liē liě lié lie":["咧"],zī:["咨","嗞","姕","姿","孜","孳","孶","崰","嵫","栥","椔","淄","湽","滋","澬","玆","禌","秶","粢","紎","緇","緕","纃","缁","茊","茲","葘","諮","谘","貲","資","赀","资","赼","趑","趦","輜","輺","辎","鄑","鈭","錙","鍿","鎡","锱","镃","頾","頿","髭","鯔","鰦","鲻","鶅","鼒","齍","齜","龇"],mī:["咪"],"jī xī qià":["咭"],"gē luò kǎ lo":["咯"],"shù xún":["咰"],"zán zá zǎ zan":["咱"],"hāi ké":["咳"],huī:["咴","噅","噕","婎","媈","幑","徽","恢","拻","挥","揮","晖","暉","楎","洃","瀈","灰","灳","烣","睳","禈","翚","翬","蘳","袆","褘","詼","诙","豗","輝","辉","鰴","麾","㧑"],"huài shì":["咶"],táo:["咷","啕","桃","檮","洮","淘","祹","綯","绹","萄","蜪","裪","迯","逃","醄","鋾","鞀","鞉","饀","駣","騊","鼗","𫘦"],xián:["咸","啣","娴","娹","婱","嫌","嫺","嫻","弦","挦","撏","涎","湺","澖","甉","痫","癇","癎","絃","胘","舷","藖","蚿","蛝","衔","衘","誸","諴","賢","贒","贤","輱","醎","銜","鑦","閑","闲","鷳","鷴","鷼","鹇","鹹","麙","𫍯"],"è àn":["咹"],"xuān xuǎn":["咺","烜"],"wāi hé wǒ guǎ guō":["咼"],"yàn yè yān":["咽"],āi:["哀","哎","埃","溾","銰","鎄","锿"],pǐn:["品","榀"],shěn:["哂","婶","嬸","审","宷","審","弞","曋","渖","瀋","瞫","矤","矧","覾","訠","諗","讅","谂","谉","邥","頣","魫"],"hǒng hōng hòng":["哄"],"wā wa":["哇"],"hā hǎ hà":["哈"],zāi:["哉","栽","渽","溨","災","灾","烖","睵","賳"],"dì diè":["哋"],pài:["哌","沠","派","渒","湃","蒎","鎃"],"gén hěn":["哏"],"yǎ yā":["哑","雅"],"yuě huì":["哕","噦"],nián:["哖","年","秊","秥","鮎","鯰","鲇","鲶","鵇","黏"],"huá huā":["哗","嘩"],"jì jiē zhāi":["哜","嚌"],mōu:["哞"],"yō yo":["哟","喲"],lòng:["哢","梇","贚"],"ò ó é":["哦"],"lī lǐ li":["哩"],"nǎ na nǎi né něi":["哪"],hè:["哬","垎","壑","寉","惒","焃","煂","燺","爀","癋","碋","翯","褐","謞","賀","贺","赫","靍","靎","靏","鶴","鸖","鹤"],"bō pò bā":["哱"],zhé:["哲","啠","喆","嚞","埑","悊","摺","晢","晣","歽","矺","砓","磔","籷","粍","虴","蛰","蟄","袩","詟","謫","謺","讁","讋","谪","輒","輙","轍","辄","辙","鮿"],"liàng láng":["哴"],"liè lǜ":["哷"],hān:["哻","憨","蚶","谽","酣","頇","顸","馠","魽","鼾"],"hēng hng":["哼"],gěng:["哽","埂","峺","挭","梗","綆","绠","耿","莄","郠","骾","鯁","鲠","𬒔"],"chuò yuè":["哾"],"gě jiā":["哿"],"bei bài":["唄"],"hán hàn":["唅"],chún:["唇","浱","湻","滣","漘","犉","純","纯","脣","莼","蒓","蓴","醇","醕","錞","陙","鯙","鶉","鹑","𬭚"],"ài āi":["唉"],"jiá qiǎn":["唊"],"yán dàn xián":["唌"],chē:["唓","砗","硨","莗","蛼"],"wú ńg ń":["唔"],zào:["唕","唣","噪","慥","梍","灶","煰","燥","皁","皂","竃","竈","簉","艁","譟","趮","躁","造","𥖨"],dí:["唙","啇","嘀","嚁","嫡","廸","敌","敵","梑","涤","滌","狄","笛","籴","糴","苖","荻","蔋","蔐","藡","覿","觌","豴","迪","靮","頔","馰","髢","鸐","𬱖"],"gòng hǒng gǒng":["唝","嗊"],dóu:["唞"],"lào láo":["唠","嘮","憦"],huàn:["唤","喚","奂","奐","宦","嵈","幻","患","愌","换","換","擐","攌","梙","槵","浣","涣","渙","漶","澣","烉","焕","煥","瑍","痪","瘓","睆","肒","藧","豢","轘","逭","鯇","鯶","鰀","鲩"],léng:["唥","塄","楞","碐","薐"],"wō wěi":["唩"],fěng:["唪","覂","諷","讽"],"yín jìn":["唫"],"hǔ xià":["唬"],wéi:["唯","围","圍","壝","峗","峞","嵬","帏","帷","幃","惟","桅","沩","洈","涠","湋","溈","潍","潙","潿","濰","犩","矀","維","维","蓶","覹","违","違","鄬","醀","鍏","闈","闱","韋","韦","鮠","𣲗","𬶏"],shuā:["唰"],chàng:["唱","怅","悵","暢","焻","畅","畼","誯","韔","鬯"],"ér wā":["唲"],qiàng:["唴","炝","熗","羻"],yō:["唷"],yū:["唹","淤","瘀","盓","箊","紆","纡","込","迂","迃","陓"],lài:["唻","濑","瀨","瀬","癞","癩","睐","睞","籁","籟","藾","賚","賴","赉","赖","頼","顂","鵣"],tuò:["唾","嶞","柝","毤","毻","箨","籜","萚","蘀","跅"],"zhōu zhāo tiào":["啁"],kěn:["啃","垦","墾","恳","懇","肎","肯","肻","豤","錹"],"zhuó zhào":["啅","濯"],"hēng hèng":["啈","悙"],"lín lán":["啉"],"a ā á ǎ à":["啊"],qiāng:["啌","嗴","嶈","戕","摤","斨","枪","槍","溬","牄","猐","獇","羌","羗","腔","蜣","謒","鏘","锖","锵"],"tūn zhūn xiāng duǐ":["啍"],wèn:["問","妏","揾","搵","璺","问","顐"],"cuì qi":["啐"],"dié shà jié tì":["啑"],"yuē wā":["啘"],"zǐ cǐ":["啙"],"bǐ tú":["啚"],"chuò chuài":["啜"],"yǎ yā è":["啞"],fēi:["啡","婓","婔","扉","暃","渄","猆","緋","绯","裶","霏","非","靟","飛","飝","飞","餥","馡","騑","騛","鯡","鲱","𬴂"],pí:["啤","壀","枇","毗","毘","焷","琵","疲","皮","篺","罴","羆","脾","腗","膍","蚍","蚽","蜱","螷","蠯","豼","貔","郫","鈹","阰","陴","隦","魮","鮍","鲏","鵧","鼙"],shá:["啥"],"lā la":["啦"],"yīng qíng":["啨"],pā:["啪","妑","舥","葩","趴"],"zhě shì":["啫"],sè:["啬","嗇","懎","擌","栜","歮","涩","渋","澀","澁","濇","濏","瀒","瑟","璱","瘷","穑","穡","穯","繬","譅","轖","銫","鏼","铯","飋"],niè:["啮","嗫","噛","嚙","囁","囓","圼","孼","孽","嵲","嶭","巕","帇","敜","枿","槷","櫱","涅","湼","痆","篞","籋","糱","糵","聂","聶","臬","臲","蘖","蠥","讘","踂","踗","踙","蹑","躡","錜","鎳","鑈","鑷","钀","镊","镍","闑","陧","隉","顳","颞","齧","𫔶"],"luō luó luo":["啰","囉"],"tān chǎn tuō":["啴"],bo:["啵","蔔"],dìng:["啶","定","椗","矴","碇","碠","磸","聢","腚","萣","蝊","訂","订","錠","锭","顁","飣","饤"],lāng:["啷"],"án ān":["啽"],kā:["喀","擖"],"yóng yú":["喁"],"lā lá lǎ":["喇"],jiē:["喈","喼","嗟","堦","媘","接","掲","擑","湝","煯","疖","痎","癤","皆","秸","稭","脻","蝔","街","謯","阶","階","鞂","鶛"],hóu:["喉","帿","猴","瘊","睺","篌","糇","翭","葔","鄇","鍭","餱","骺","鯸","𬭤"],"dié zhá":["喋"],wāi:["喎","歪","竵"],"nuò rě":["喏"],"xù huò guó":["喐"],zán:["喒"],"wō ō":["喔"],hú:["喖","嘝","囫","壶","壷","壺","媩","弧","搰","斛","楜","槲","湖","瀫","焀","煳","狐","猢","瑚","瓳","箶","絗","縠","胡","葫","蔛","蝴","螜","衚","觳","醐","鍸","頶","餬","鬍","魱","鰗","鵠","鶘","鶦","鹕"],"huàn yuán xuǎn hé":["喛"],xǐ:["喜","囍","壐","屣","徙","憙","枲","橲","歖","漇","玺","璽","矖","禧","縰","葈","葸","蓰","蟢","謑","蹝","躧","鈢","鉨","鉩","鱚","𬭳","𬶮"],"hē hè yè":["喝"],kuì:["喟","嘳","媿","嬇","愦","愧","憒","篑","簣","籄","聩","聭","聵","膭","蕢","謉","餽","饋","馈"],"zhǒng chuáng":["喠"],"wéi wèi":["喡","為","爲"],"duó zhà":["喥"],"sāng sàng":["喪"],"qiáo jiāo":["喬"],"pèn bēn":["喯"],"cān sūn qī":["喰"],"zhā chā":["喳"],miāo:["喵"],"pēn pèn":["喷"],kuí:["喹","夔","奎","巙","戣","揆","晆","暌","楏","楑","櫆","犪","睽","葵","藈","蘷","虁","蝰","躨","逵","鄈","鍨","鍷","頯","馗","騤","骙","魁"],"lou lóu":["喽"],"zào qiāo":["喿"],"hè xiāo xiào hù":["嗃"],"á shà":["嗄"],xiù:["嗅","岫","峀","溴","珛","琇","璓","秀","綉","繍","繡","绣","螑","袖","褎","褏","銹","鏥","鏽","锈","齅"],"qiāng qiàng":["嗆","戗","戧","蹌","蹡"],"ài yì":["嗌","艾"],"má mǎ ma":["嗎"],"kè kē":["嗑"],"dā tà":["嗒","鎉"],sǎng:["嗓","搡","磉","褬","鎟","顙","颡"],chēn:["嗔","抻","琛","瞋","諃","謓","賝","郴","𬘭"],"wā gǔ":["嗗"],"pǎng bēng":["嗙"],"xián qiǎn qiān":["嗛"],lào:["嗠","嫪","橯","涝","澇","耢","耮","躼","軂","酪"],wēng:["嗡","翁","聬","螉","鎓","鶲","鹟","𬭩"],wà:["嗢","腽","膃","袜","襪","韤"],"hēi hāi":["嗨"],hē:["嗬","欱","蠚","訶","诃"],zi:["嗭"],sǎi:["嗮"],"ǹg ńg ňg":["嗯"],gě:["嗰","舸"],ná:["嗱","拏","拿","鎿","镎"],diǎ:["嗲"],"ài ǎi āi":["嗳"],tōng:["嗵","樋","炵","蓪"],"zuī suī":["嗺"],"zhē zhè zhù zhe":["嗻"],mò:["嗼","圽","塻","墨","妺","嫼","寞","帞","昩","末","枺","歿","殁","沫","漠","爅","獏","瘼","皌","眽","眿","瞐","瞙","砞","礳","秣","絈","纆","耱","茉","莈","蓦","蛨","蟔","貃","貊","貘","銆","鏌","镆","陌","靺","驀","魩","默","黙","𬙊"],sòu:["嗽","瘶"],tǎn:["嗿","坦","忐","憳","憻","暺","毯","璮","菼","袒","襢","醓","鉭","钽"],"jiào dǎo":["嘄"],"kǎi gě":["嘅"],"shān càn":["嘇"],cáo:["嘈","嶆","曹","曺","槽","漕","艚","蓸","螬","褿","鏪","𥕢"],piào:["嘌","徱","蔈","驃"],"lóu lou":["嘍"],gǎ:["尕","玍"],"gǔ jiǎ":["嘏"],"jiāo xiāo":["嘐"],"xū shī":["嘘","噓"],pó:["嘙","嚩","婆","櫇","皤","鄱"],"dē dēi":["嘚"],"ma má":["嘛"],"lē lei":["嘞"],"gā gá gǎ":["嘠"],sāi:["嘥","噻","毢","腮","顋","鰓"],"zuō chuài":["嘬"],"cháo zhāo":["嘲","朝","鼂"],zuǐ:["嘴","噿","嶊","璻"],"qiáo qiào":["嘺","翹","谯"],"chù xù shòu":["嘼"],"tān chǎn":["嘽"],"dàn tán":["嘾","弾","彈","惔","澹"],"hēi mò":["嘿"],ě:["噁","砨","頋","騀","鵈"],"fān bo":["噃"],chuáng:["噇","床","牀"],"cù zā hé":["噈"],"tūn kuò":["噋"],"cēng chēng":["噌"],dēng:["噔","嬁","灯","燈","璒","登","竳","簦","艠","豋"],pū:["噗","扑","撲","攴","攵","潽","炇","陠"],juē:["噘","屩","屫","撧"],lū:["噜","嚕","撸","擼","謢"],zhān:["噡","岾","惉","旃","旜","枬","栴","毡","氈","氊","沾","瞻","薝","蛅","詀","詹","譫","谵","趈","邅","閚","霑","飦","饘","驙","魙","鱣","鸇","鹯","𫗴"],ō:["噢"],"zhòu zhuó":["噣"],"jiào qiào chī":["噭"],yuàn:["噮","妴","怨","愿","掾","瑗","禐","苑","衏","裫","褑","院","願"],"ǎi ài āi":["噯"],"yōng yǒng":["噰","澭"],"jué xué":["噱"],"pēn pèn fèn":["噴"],gá:["噶","尜","釓","錷","钆"],"xīn hěn hèn":["噷"],dāng:["噹","澢","珰","璫","筜","簹","艡","蟷","裆","襠"],làn:["嚂","滥","濫","烂","燗","爁","爛","爤","瓓","糷","钄"],tà:["嚃","嚺","崉","挞","搨","撻","榻","橽","毾","涾","澾","濌","禢","粏","誻","譶","蹋","蹹","躂","躢","遝","錔","闒","闥","闼","阘","鞜","鞳"],"huō huò ǒ":["嚄"],hāo:["嚆","茠","蒿","薅"],"hè xià":["嚇"],"xiù pì":["嚊"],"zhōu chóu":["嚋","盩","诪"],mē:["嚒"],"chā cā":["嚓"],"bó pào bào":["嚗"],"me mèi mò":["嚜"],"xié hái":["嚡"],"áo xiāo":["嚣"],mō:["嚤","摸"],pín:["嚬","娦","嫔","嬪","玭","矉","薲","蠙","貧","贫","顰","颦","𬞟"],mè:["嚰","濹"],"rǎng rāng":["嚷"],lá:["嚹","旯"],"jiáo jué jiào":["嚼"],chuò:["嚽","娖","擉","歠","涰","磭","踀","輟","辍","辵","辶","酫","鑡","餟","齪","龊"],"huān huàn":["嚾"],"zá cà":["囃"],chài:["囆","虿","蠆","袃","訍"],"náng nāng":["囊"],"zá zàn cān":["囋"],sū:["囌","櫯","甦","稣","穌","窣","蘇","蘓","酥","鯂"],zèng:["囎","熷","甑","贈","赠","鋥","锃"],"zá niè yàn":["囐"],nāng:["囔"],"luó luō luo":["囖"],"wéi guó":["囗"],huí:["囘","回","囬","廻","廽","恛","洄","痐","茴","蚘","蛔","蛕","蜖","迴","逥","鮰"],nín:["囜","您","脌"],"jiǎn nān":["囝"],nān:["囡"],tuán:["团","団","團","慱","抟","摶","檲","糰","鏄","鷒","鷻"],"tún dùn":["囤","坉"],guó:["囯","囶","囻","国","圀","國","帼","幗","慖","摑","漍","聝","腘","膕","蔮","虢","馘","𬇹"],kùn:["困","涃","睏"],"wéi tōng":["囲"],qūn:["囷","夋","逡"],rì:["囸","日","衵","鈤","馹","驲"],tāi:["囼","孡","胎"],pǔ:["圃","圑","擈","普","暜","樸","檏","氆","浦","溥","烳","諩","譜","谱","蹼","鐠","镨"],"quān juàn juān":["圈","圏"],"chuí chuán":["圌"],tuǎn:["圕","畽","疃"],lüè:["圙","掠","略","畧","稤","鋝","鋢","锊","䂮"],"huán yuán":["圜"],luán:["圝","圞","奱","娈","孌","孪","孿","峦","巒","挛","攣","曫","栾","欒","滦","灤","癴","癵","羉","脔","臠","虊","銮","鑾","鵉","鸞","鸾"],tǔ:["土","圡","釷","钍"],"xū wéi":["圩"],"dì de":["地","嶳"],"qiān sú":["圱"],zhèn:["圳","塦","挋","振","朕","栚","甽","眹","紖","絼","纼","誫","賑","赈","鋴","鎭","鎮","镇","阵","陣","震","鴆","鸩"],"chǎng cháng":["场","場","塲"],"qí yín":["圻"],jiá:["圿","忦","恝","戞","扴","脥","荚","莢","蛱","蛺","裌","跲","郏","郟","鋏","铗","頬","頰","颊","鴶","鵊"],"zhǐ zhì":["坁"],bǎn:["坂","岅","昄","板","版","瓪","粄","舨","蝂","鈑","钣","阪","魬"],qǐn:["坅","寑","寝","寢","昑","梫","笉","螼","赾","鋟","锓"],"méi fén":["坆"],"rǒng kēng":["坈"],"fāng fáng":["坊"],"fèn bèn":["坋"],tān:["坍","怹","摊","擹","攤","滩","灘","瘫","癱","舑","貪","贪"],"huài pēi pī péi":["坏"],"dì làn":["坔"],tán:["坛","墰","墵","壇","壜","婒","憛","昙","曇","榃","檀","潭","燂","痰","磹","罈","罎","藫","談","譚","譠","谈","谭","貚","郯","醰","錟","顃"],bà:["坝","垻","壩","弝","欛","灞","爸","矲","覇","霸","鮁","鲅"],fén:["坟","墳","妢","岎","幩","枌","棼","汾","焚","燌","燓","羒","羵","蒶","蕡","蚠","蚡","豮","豶","轒","鐼","隫","馩","魵","黂","鼖","鼢","𣸣"],zhuì:["坠","墜","惴","甀","畷","礈","綴","縋","缀","缒","腏","膇","諈","贅","赘","醊","錣","鑆"],pō:["坡","岥","泼","溌","潑","釙","鏺","钋","頗","颇","䥽"],"pǎn bàn":["坢"],kūn:["坤","堃","堒","崐","崑","昆","晜","潉","焜","熴","猑","琨","瑻","菎","蜫","裈","裩","褌","醌","錕","锟","騉","髠","髡","髨","鯤","鲲","鵾","鶤","鹍"],diàn:["坫","垫","墊","壂","奠","婝","店","惦","扂","橂","殿","淀","澱","玷","琔","电","癜","簟","蜔","鈿","電","靛","驔"],"mù mǔ":["坶"],"kē kě":["坷","軻"],xuè:["坹","岤","桖","瀥","狘","瞲","謔","谑","趐"],"dǐ chí":["坻","柢"],lā:["垃","柆","菈","邋"],lǒng:["垄","垅","壟","壠","拢","攏","竉","陇","隴","𬕂"],mín:["垊","姄","岷","崏","捪","旻","旼","民","珉","琘","琝","瑉","痻","盿","砇","緍","緡","缗","罠","苠","鈱","錉","鍲","鴖"],"dòng tóng":["垌","峒","洞"],cí:["垐","嬨","慈","柌","濨","珁","瓷","甆","磁","礠","祠","糍","茨","詞","词","辝","辞","辤","辭","雌","飺","餈","鴜","鶿","鷀","鹚"],duī:["垖","堆","塠","痽","磓","鐓","鐜","鴭"],"duò duǒ":["垛"],"duǒ duò":["垜","挆"],chá:["垞","察","嵖","搽","槎","檫","猹","茬","茶","詧","靫","𥻗"],shǎng:["垧","晌","樉","賞","贘","赏","鋿","鏛","鑜"],shǒu:["垨","守","手","扌","艏","首"],da:["垯","繨","跶"],háng:["垳","斻","杭","筕","絎","绗","航","苀","蚢","裄","貥","迒","頏","颃","魧"],"ān ǎn":["垵"],xīng:["垶","惺","星","曐","煋","猩","瑆","皨","篂","腥","興","觪","觲","謃","騂","骍","鮏","鯹"],"yuàn huán":["垸"],bāng:["垹","帮","幇","幚","幫","捠","梆","浜","邦","邫","鞤","𠳐"],"póu fú":["垺"],cén:["埁","岑","涔"],"běng fēng":["埄"],"dì fáng":["埅"],"xiá jiā":["埉"],"mái mán":["埋"],làng:["埌","崀","浪","蒗","閬","㫰"],"shān yán":["埏"],"qín jīn":["埐"],"pǔ bù":["埔"],huā:["埖","婲","椛","硴","糀","花","蒊","蘤","誮","錵"],"suì sù":["埣"],"pí pì":["埤"],"qīng zhēng":["埥","鲭"],"wǎn wān":["埦"],lǔn:["埨","稐","𫭢"],"zhēng chéng":["埩"],kōng:["埪","崆","箜","躻","錓","鵼"],"cǎi cài":["埰","寀","采"],"chù tòu":["埱"],běng:["埲","琫","菶","鞛"],"kǎn xiàn":["埳"],"yì shì":["埶","醳"],péi:["培","毰","裴","裵","賠","赔","錇","锫","阫","陪"],"sào sǎo":["埽"],"jǐn qīn jìn":["堇"],"péng bèng":["堋"],"qiàn zàn jiàn":["堑"],àn:["堓","屵","岸","按","暗","案","胺","荌","豻","貋","錌","闇","隌","黯"],"duò huī":["堕","墮"],huán:["堚","寏","寰","峘","桓","洹","澴","獂","环","環","糫","繯","缳","羦","荁","萈","萑","豲","鍰","鐶","锾","镮","闤","阛","雈","鬟","鹮","𬘫","𤩽"],"bǎo bǔ pù":["堡"],"máo móu wǔ":["堥"],ruán:["堧","壖","撋"],"ài è yè":["堨"],gèng:["堩","暅"],méi:["堳","塺","媒","嵋","徾","攗","枚","栂","梅","楣","楳","槑","湄","湈","煤","猸","玫","珻","瑂","眉","睂","禖","脄","脢","腜","苺","莓","葿","郿","酶","鎇","镅","霉","鶥","鹛","黴"],dǔ:["堵","琽","睹","笃","篤","覩","賭","赌"],féng:["堸","綘","艂","逢"],hèng:["堼"],chūn:["堾","媋","旾","春","暙","杶","椿","槆","橁","櫄","瑃","箺","萅","蝽","輴","鰆","鶞","䲠"],jiǎng:["塂","奖","奨","奬","桨","槳","獎","耩","膙","蒋","蔣","講","讲","顜"],huāng:["塃","巟","慌","肓","荒","衁"],duàn:["塅","断","斷","椴","段","毈","煅","瑖","碫","簖","籪","緞","缎","腶","葮","躖","鍛","锻"],tǎ:["塔","墖","獭","獺","鮙","鰨","鳎"],wěng:["塕","奣","嵡","攚","暡","瞈","蓊"],"sāi sài sè":["塞"],zàng:["塟","弉","臓","臟","葬","蔵","銺"],tián:["塡","屇","恬","沺","湉","璳","甛","甜","田","畋","畑","碵","磌","胋","闐","阗","鴫","鷆","鷏"],zhèng:["塣","幁","政","証","諍","證","证","诤","郑","鄭","靕","鴊"],"tián zhèn":["填"],wēn:["塭","昷","榲","殟","温","溫","瑥","瘟","蕰","豱","輼","轀","辒","鎾","饂","鰛","鰮","鳁"],liù:["塯","廇","磟","翏","雡","霤","餾","鬸","鷚","鹨"],hǎi:["塰","海","烸","酼","醢"],lǎng:["塱","朖","朗","朤","烺","蓢","㮾"],bèng:["塴","揼","泵","甏","綳","蹦","迸","逬","鏰","镚"],chén:["塵","宸","尘","忱","敐","敶","晨","曟","栕","樄","沉","煁","瘎","臣","茞","莀","莐","蔯","薼","螴","訦","諶","軙","辰","迧","鈂","陈","陳","霃","鷐","麎"],"ōu qiū":["塸"],"qiàn jiàn":["塹"],"zhuān tuán":["塼"],shuǎng:["塽","慡","漺","爽","縔","鏯"],shú:["塾","婌","孰","璹","秫","贖","赎"],lǒu:["塿","嵝","嶁","甊","篓","簍"],chí:["墀","弛","持","池","漦","竾","筂","箎","篪","茌","荎","蚳","謘","貾","赿","踟","迟","迡","遅","遟","遲","鍉","馳","驰"],shù:["墅","庶","庻","怷","恕","戍","束","树","樹","沭","漱","潄","濖","竖","竪","絉","腧","荗","蒁","虪","術","裋","豎","述","鉥","錰","鏣","霔","鶐","𬬸"],"dì zhì":["墆","疐"],kàn:["墈","崁","瞰","矙","磡","衎","鬫"],chěn:["墋","夦","硶","碜","磣","贂","趻","踸","鍖"],"zhǐ zhuó":["墌"],qiǎng:["墏","繈","繦","羥","襁"],zēng:["増","增","憎","璔","矰","磳","罾","譄","鄫","鱛","䎖"],qiáng:["墙","墻","嫱","嬙","樯","檣","漒","牆","艢","蔃","蔷","蘠"],"kuài tuí":["墤"],"tuǎn dǒng":["墥"],"qiáo què":["墧"],"zūn dūn":["墫"],"qiāo áo":["墽"],"yì tú":["墿"],"xué bó jué":["壆"],lǎn:["壈","嬾","孄","孏","懒","懶","揽","擥","攬","榄","欖","浨","漤","灠","纜","缆","罱","覧","覽","览","醂","顲"],huài:["壊","壞","蘾"],rǎng:["壌","壤","攘","爙"],"làn xiàn":["壏"],dǎo:["壔","导","導","岛","島","嶋","嶌","嶹","捣","搗","擣","槝","祷","禂","禱","蹈","陦","隝","隯"],ruǐ:["壡","桵","橤","繠","蕊","蕋","蘂","蘃"],san:["壭"],zhuàng:["壮","壯","壵","撞","焋","状","狀"],"ké qiào":["壳","殼"],kǔn:["壸","壼","悃","捆","梱","硱","祵","稇","稛","綑","裍","閫","閸","阃"],mǎng:["壾","漭","茻","莽","莾","蠎"],cún:["壿","存"],"zhǐ zhōng":["夂"],"gǔ yíng":["夃"],"jiàng xiáng":["夅","降"],"páng féng fēng":["夆"],zhāi:["夈","捚","摘","斋","斎","榸","粂","齋"],"xuàn xiòng":["夐"],wài:["外","顡"],"wǎn yuàn wān yuān":["夗"],"mǎo wǎn":["夘"],mèng:["夢","夣","孟","梦","癦","霥"],"dà dài":["大"],"fū fú":["夫","姇","枎","粰"],guài:["夬","怪","恠"],yāng:["央","姎","抰","殃","泱","秧","胦","鉠","鍈","雵","鴦","鸯"],"hāng bèn":["夯"],gǎo:["夰","搞","杲","槀","槁","檺","稁","稾","稿","縞","缟","菒","藁","藳"],"tāo běn":["夲"],"tóu tou":["头"],"yǎn tāo":["夵"],"kuā kuà":["夸","誇"],"jiá jiā gā xiá":["夹"],huà:["夻","婳","嫿","嬅","崋","摦","杹","枠","桦","槬","樺","澅","画","畫","畵","繣","舙","話","諙","譮","话","黊"],"jiā jiá gā xiá":["夾"],ēn:["奀","恩","蒽"],"dī tì":["奃"],"yǎn yān":["奄","渰"],pào:["奅","疱","皰","砲","礟","礮","靤","麭"],nài:["奈","柰","渿","耐","萘","褦","錼","鼐"],"quān juàn":["奍","弮","棬"],zòu:["奏","揍"],"qì qiè xiè":["契"],kāi:["奒","开","揩","鐦","锎","開"],"bēn bèn":["奔","泍"],tào:["套"],"zàng zhuǎng":["奘"],běn:["奙","本","楍","畚","翉","苯"],"xùn zhuì":["奞"],shē:["奢","檨","猞","畭","畲","賒","賖","赊","輋","𪨶"],"hǎ pò tǎi":["奤"],"ào yù":["奥","奧","澚"],yūn:["奫","氲","氳","蒀","蒕","蝹","贇","赟","𫖳"],"duǒ chě":["奲"],"nǚ rǔ":["女"],nú:["奴","孥","笯","駑","驽"],"dīng dǐng tiǎn":["奵"],"tā jiě":["她"],nuán:["奻"],"hǎo hào":["好"],fàn:["奿","嬎","梵","汎","泛","滼","瀪","犯","畈","盕","笵","範","范","訉","販","贩","軬","輽","飯","飰","饭"],shuò:["妁","搠","朔","槊","烁","爍","矟","蒴","鎙","鑠","铄"],"fēi pèi":["妃"],wàng:["妄","忘","旺","望","朢"],zhuāng:["妆","妝","娤","庄","庒","桩","梉","樁","粧","糚","荘","莊","装","裝"],mā:["妈","媽"],"fū yōu":["妋"],"hài jiè":["妎"],dù:["妒","妬","杜","殬","渡","秺","芏","荰","螙","蠧","蠹","鍍","镀","靯","𬭊"],miào:["妙","庙","庿","廟","玅","竗"],"fǒu pēi pī":["妚"],"yuè jué":["妜"],niū:["妞"],"nà nàn":["妠"],tuǒ:["妥","嫷","庹","椭","楕","橢","鬌","鰖","鵎"],"wàn yuán":["妧"],fáng:["妨","房","肪","防","魴","鲂"],nī:["妮"],zhóu:["妯","碡"],zhāo:["妱","巶","招","昭","釗","鉊","鍣","钊","駋","𬬿"],"nǎi nǐ":["妳"],tǒu:["妵","敨","紏","蘣","黈"],"xián xuán xù":["妶"],"zhí yì":["妷","秇"],ē:["妸","妿","婀","屙"],mèi:["妹","媚","寐","抺","旀","昧","沬","煝","痗","眛","睸","祙","篃","蝞","袂","跊","鬽","魅"],"qī qì":["妻"],"xū xǔ":["姁","稰"],"shān shàn":["姍","姗","苫","釤","钐"],mán:["姏","慲","樠","蛮","蠻","謾","饅","馒","鬗","鬘","鰻","鳗"],jiě:["姐","媎","檞","毑","飷"],"wěi wēi":["委"],pīn:["姘","拼","礗","穦","馪","驞"],"huá huó":["姡"],"jiāo xiáo":["姣"],"gòu dù":["姤"],"lǎo mǔ":["姥"],"nián niàn":["姩"],zhěn:["姫","屒","弫","抮","昣","枕","畛","疹","眕","稹","縝","縥","缜","聄","萙","袗","裖","覙","診","诊","軫","轸","辴","駗","鬒"],héng:["姮","恆","恒","烆","珩","胻","蘅","衡","鑅","鴴","鵆","鸻"],"jūn xún":["姰"],"kuā hù":["姱"],"è yà":["姶"],"xiān shēn":["姺"],wá:["娃"],"ráo rǎo":["娆","嬈"],"shào shāo":["娋"],xiē:["娎","揳","楔","歇","蝎","蠍"],"wǔ méi mǔ":["娒"],"chuò lài":["娕"],niáng:["娘","嬢","孃"],"nà nuó":["娜","𦰡"],"pōu bǐ":["娝"],"něi suī":["娞"],tuì:["娧","煺","蛻","蜕","退","駾"],mǎn:["娨","屘","満","满","滿","螨","蟎","襔","鏋"],"wú wù yú":["娪"],"xī āi":["娭"],"zhuì shuì":["娷"],"dōng dòng":["娻"],"ǎi ái è":["娾"],"ē ě":["娿"],mián:["婂","嬵","宀","杣","棉","檰","櫋","眠","矈","矊","矏","綿","緜","绵","芇","蝒"],"pǒu péi bù":["婄"],biǎo:["婊","脿","表","裱","褾","諘","錶"],"fù fàn":["婏"],wǒ:["婐","婑","我"],"ní nǐ":["婗","棿"],"quán juàn":["婘","惓"],hūn:["婚","昏","昬","棔","涽","睧","睯","碈","荤","葷","蔒","轋","閽","阍"],"qiān jǐn":["婜"],"wān wà":["婠"],"lái lài":["婡","徕","徠"],"zhōu chōu":["婤"],"chuò nào":["婥"],"nüè àn":["婩"],"hùn kūn":["婫"],"dàng yáng":["婸"],nàn:["婻"],"ruò chuò":["婼"],jiǎ:["婽","岬","斚","斝","榎","槚","檟","玾","甲","胛","鉀","钾"],"tōu yú":["婾","媮"],"yù yú":["媀"],"wéi wěi":["媁"],"dì tí":["媂","珶","苐"],róu:["媃","揉","柔","渘","煣","瑈","瓇","禸","粈","糅","脜","腬","葇","蝚","蹂","輮","鍒","鞣","騥","鰇","鶔","𫐓"],"ruǎn nèn":["媆"],miáo:["媌","嫹","描","瞄","苗","鶓","鹋"],"yí pèi":["媐"],"mián miǎn":["媔"],"tí shì":["媞","惿"],"duò tuó":["媠","沲"],ǎo:["媪","媼","艹","芺","袄","襖","镺"],"chú zòu":["媰"],yìng:["媵","映","暎","硬","膡","鱦"],"qín shēn":["嫀"],jià:["嫁","幏","架","榢","稼","駕","驾"],sǎo:["嫂"],"zhēn zhěn":["嫃"],"jiē suǒ":["嫅"],"míng mǐng":["嫇"],niǎo:["嫋","嬝","嬲","茑","蔦","袅","裊","褭","鸟"],tāo:["嫍","幍","弢","慆","掏","搯","槄","涛","滔","濤","瑫","絛","縚","縧","绦","詜","謟","轁","鞱","韜","韬","飸","饕"],biáo:["嫑"],"piáo piāo":["嫖","薸"],xuán:["嫙","悬","懸","暶","檈","漩","玄","璇","璿","痃","蜁","𫠊"],"màn mān":["嫚"],kāng:["嫝","嵻","康","慷","槺","漮","砊","穅","糠","躿","鏮","鱇","𡐓","𩾌"],"hān nǎn":["嫨"],nèn:["嫩","嫰"],zhē:["嫬","遮"],"mā má":["嫲"],piè:["嫳"],zhǎn:["嫸","展","搌","斩","斬","琖","盏","盞","輾","醆","颭","飐"],"xiān yǎn jìn":["嬐"],liǎn:["嬚","敛","斂","琏","璉","羷","脸","臉","蔹","蘝","蘞","裣","襝","鄻"],"qióng huán xuān":["嬛"],dǒng:["嬞","懂","箽","董","蕫","諌"],cān:["嬠","湌","爘","飡","餐","驂","骖"],tiǎo:["嬥","宨","晀","朓","窱","脁"],bí:["嬶","荸","鼻"],liǔ:["嬼","柳","栁","桞","桺","橮","熮","珋","綹","绺","罶","羀","鋶","锍"],"qiān xiān":["孅","欦"],"xié huī":["孈"],"huān quán":["孉"],"lí lì":["孋","麗"],"zhú chuò":["孎"],kǒng:["孔","恐"],"mā zī":["孖"],"sūn xùn":["孙","孫"],"bèi bó":["孛","誖"],"yòu niū":["孧"],zhuǎn:["孨","竱","轉"],hái:["孩","骸"],nāo:["孬"],"chán càn":["孱"],bò:["孹","檗","蘗","譒"],nái:["孻","腉"],"níng nìng":["宁","寍","寗","寜","寧","甯"],zhái:["宅"],"tū jiā":["宊"],sòng:["宋","訟","誦","讼","诵","送","鎹","頌","颂","餸"],ròu:["宍","肉","譳"],zhūn:["宒","窀","衠","諄","谆","迍"],"mì fú":["宓"],"dàng tàn":["宕"],"wǎn yuān":["宛"],chǒng:["宠","寵"],qún:["宭","峮","帬","羣","群","裙","裠"],zǎi:["宰","崽"],"bǎo shí":["宲"],"jiā jia jie":["家"],"huāng huǎng":["宺"],kuān:["宽","寛","寬","臗","鑧","髋","髖"],"sù xiǔ xiù":["宿"],"jié zǎn":["寁"],"bìng bǐng":["寎"],"jìn qǐn":["寖"],"lóu jù":["寠"],"xiě xiè":["寫"],"qīn qìn":["寴"],cùn:["寸","籿"],duì:["对","対","對","怼","憝","懟","濧","瀩","碓","祋","綐","薱","譈","譵","轛","队","陮"],"lüè luó":["寽"],"shè yè yì":["射"],"jiāng jiàng qiāng":["将"],"jiāng jiàng":["將","浆","漿","畺"],zūn:["尊","嶟","樽","罇","遵","鐏","鱒","鳟","鶎","鷷","𨱔"],"shù zhù":["尌","澍"],xiǎo:["小","晓","暁","曉","皛","皢","筱","筿","篠","謏","𫍲"],"jié jí":["尐","诘","鞊"],"shǎo shào":["少"],ěr:["尒","尓","尔","栮","毦","洱","爾","珥","耳","薾","衈","趰","迩","邇","鉺","铒","餌","饵","駬"],"wāng yóu":["尢"],wāng:["尣","尩","尪","尫","汪"],liào:["尥","尦","廖","撂","料","炓","窷","鐐","镣","𪤗"],"méng máng lóng páng":["尨"],gà:["尬","魀"],"kuì kuǐ":["尯"],tuí:["尵","弚","穨","蘈","蹪","隤","頹","頺","頽","颓","魋","𬯎"],yǐn:["尹","嶾","引","朄","檃","檼","櫽","淾","濥","瘾","癮","粌","蘟","蚓","螾","讔","赺","趛","輑","鈏","靷"],"chǐ chě":["尺"],kāo:["尻","髛"],"jìn jǐn":["尽"],"wěi yǐ":["尾"],"niào suī":["尿"],céng:["层","層","嶒","驓"],diǎo:["屌"],"píng bǐng bīng":["屏"],lòu:["屚","漏","瘘","瘺","瘻","鏤","镂","陋"],"shǔ zhǔ":["属","屬"],"xiè tì":["屟"],"chè cǎo":["屮"],"tún zhūn":["屯"],"nì jǐ":["屰"],"hóng lóng":["屸"],"qǐ kǎi":["岂","豈"],áng:["岇","昂","昻"],"gǎng gāng":["岗","崗"],kě:["岢","敤","渇","渴","炣"],gǒu:["岣","狗","玽","笱","耇","耈","耉","苟","豿"],tiáo:["岧","岹","樤","祒","笤","芀","萔","蓚","蓨","蜩","迢","鋚","鎥","鞗","髫","鯈","鰷","鲦","齠","龆"],"qū jū":["岨"],lǐng:["岭","嶺","領","领"],pò:["岶","敀","洦","湐","烞","珀","破","砶","粕","蒪","魄"],"bā kè":["峇"],luò:["峈","摞","洛","洜","犖","珞","笿","纙","荦","詻","雒","駱","骆","鵅"],"fù niè":["峊"],ěn:["峎"],"zhì shì":["峙","崻"],qiǎ:["峠","跒","酠","鞐"],"qiáo jiào":["峤","癄"],"xié yé":["峫"],bū:["峬","庯","晡","誧","逋","鈽","錻","钸","餔","鵏"],chóng:["崇","崈","爞","虫","蝩","蟲","褈","隀"],"zú cuì":["崒","椊"],"líng léng":["崚"],"dòng dōng":["崠"],xiáo:["崤","洨","淆","訤","誵"],"pí bǐ":["崥","芘"],"zhǎn chán":["崭","嶃","嶄"],"wǎi wēi":["崴"],"yáng dàng":["崵"],"shì dié":["崼"],yào:["崾","曜","熎","燿","矅","穾","窔","筄","耀","艞","药","葯","薬","藥","袎","覞","詏","讑","靿","鷂","鹞","鼼"],"kān zhàn":["嵁"],"hán dǎng":["嵅"],"qiàn kàn":["嵌"],"wù máo":["嵍"],"kě jié":["嵑","嶱"],"wēi wěi":["嵔"],kē:["嵙","柯","棵","榼","樖","牁","牱","犐","珂","疴","瞌","磕","礚","科","稞","窠","萪","薖","蚵","蝌","趷","轲","醘","鈳","钶","頦","顆","颗","髁"],"dàng táng":["嵣"],"róng yíng":["嵤","爃"],"ái kǎi":["嵦"],"kāo qiāo":["嵪"],cuó:["嵯","嵳","痤","矬","蒫","蔖","虘","鹺","鹾"],"qiǎn qīn":["嵰"],"dì dié":["嵽"],cēn:["嵾"],dǐng:["嵿","艼","薡","鐤","頂","顶","鼎","鼑"],"áo ào":["嶅"],"pǐ pèi":["嶏"],"jiào qiáo":["嶠","潐"],"jué guì":["嶡","鳜"],"zhān shàn":["嶦","鳣"],"xiè jiè":["嶰"],"guī xī juàn":["嶲"],rū:["嶿"],"lì liè":["巁","棙","爄","綟"],"xī guī juàn":["巂"],"yíng hōng":["巆"],yǐng:["巊","廮","影","摬","梬","潁","瘿","癭","矨","穎","郢","鐛","頴","颍","颕","颖"],chǎo:["巐","炒","煼","眧","麨"],cuán:["巑","櫕","欑"],chuān:["巛","川","氚","瑏","穿"],"jīng xíng":["巠"],cháo:["巢","巣","晁","漅","潮","牊","窲","罺","謿","轈","鄛","鼌"],qiǎo:["巧","愀","髜"],gǒng:["巩","廾","拱","拲","栱","汞","珙","輁","鞏"],"chà chā chāi cī":["差"],"xiàng hàng":["巷"],shuài:["帅","帥","蟀"],pà:["帊","帕","怕","袙"],"tǎng nú":["帑"],"mò wà":["帓"],"tiē tiě tiè":["帖"],zhǒu:["帚","晭","疛","睭","箒","肘","菷","鯞"],"juǎn juàn":["帣"],shuì:["帨","涗","涚","睡","稅","税","裞"],"chóu dào":["帱","幬"],"jiǎn jiān sàn":["帴"],"shà qiè":["帹"],"qí jì":["帺","荠"],"shān qiāo shēn":["幓"],"zhuàng chuáng":["幢"],"chān chàn":["幨"],miè:["幭","懱","搣","滅","灭","烕","礣","篾","蔑","薎","蠛","衊","鑖","鱴","鴓"],"gān gàn":["干"],"bìng bīng":["并","幷"],"jī jǐ":["幾"],"guǎng ān":["广"],guǎng:["広","廣","犷","獷"],me:["庅"],"dùn tún":["庉"],"bài tīng":["庍"],"yìng yīng":["应"],"dǐ de":["底"],"dù duó":["度"],"máng méng páng":["庬"],"bìng píng":["庰"],chěng:["庱","悜","睈","逞","騁","骋"],"jī cuò":["庴"],qǐng:["庼","廎","檾","漀","苘","請","謦","请","頃","顷"],"guī wěi huì":["廆"],"jǐn qín":["廑"],kuò:["廓","扩","拡","擴","濶","筈","萿","葀","蛞","闊","阔","霩","鞟","鞹","韕","頢","鬠"],"qiáng sè":["廧","薔"],"yǐn yìn":["廴","隐","隠","隱","飮","飲","饮"],"pò pǎi":["廹","迫"],"nòng lòng":["弄"],"dì tì tuí":["弟"],"jué zhāng":["弡"],"mí mǐ":["弥","彌","靡"],chāo:["弨","怊","抄","欩","訬","超","鈔","钞"],yi:["弬"],shāo:["弰","旓","烧","焼","燒","筲","艄","萷","蕱","輎","髾","鮹"],"xuān yuān":["弲"],"qiáng qiǎng jiàng":["強","强"],"tán dàn":["弹","醈"],biè:["彆"],"qiáng jiàng qiǎng":["彊"],"jì xuě":["彐"],tuàn:["彖","褖"],yuē:["彟","曰","曱","矱"],"shān xiǎn":["彡"],wén:["彣","文","炆","珳","瘒","繧","聞","芠","蚉","蚊","螡","蟁","閺","閿","闅","闦","闻","阌","雯","馼","駇","魰","鳼","鴍","鼤","𫘜"],"péng bāng":["彭"],"piāo piào":["彯"],"zhuó bó":["彴"],"tuǒ yí":["彵"],"páng fǎng":["彷"],wǎng:["彺","往","徃","惘","枉","棢","網","网","罒","罓","罔","罖","菵","蛧","蝄","誷","輞","辋","魍"],cú:["徂","殂"],"dài dāi":["待"],huái:["徊","怀","懐","懷","槐","淮","耲","蘹","褢","褱","踝"],"wā wàng jiā":["徍"],"chěng zhèng":["徎"],"dé děi de":["得"],"cóng zòng":["從"],"shì tǐ":["徥"],"tí chí":["徲","鶗","鶙"],dé:["徳","德","恴","悳","惪","淂","鍀","锝"],"zhǐ zhēng":["徴","徵"],bié:["徶","癿","莂","蛂","襒","蹩"],"chōng zhǒng":["徸"],"jiǎo jiào":["徼","笅","筊"],"lòng lǒng":["徿"],"qú jù":["忂","渠","瞿","螶"],"dìng tìng":["忊"],gǎi:["忋","改"],rěn:["忍","栠","栣","秹","稔","綛","荏","荵","躵"],chàn:["忏","懴","懺","硟","羼","韂","顫"],tè:["忑","慝","特","蟘","鋱","铽"],"tè tēi tuī":["忒"],"gān hàn":["忓","攼"],"yì qì":["忔"],"tài shì":["忕"],"xī liě":["忚"],"yīng yìng":["応","應","譍"],"mǐn wěn mín":["忞","忟"],"sōng zhōng":["忪"],"yù shū":["忬","悆"],"qí shì":["忯","耆"],"tún zhūn dùn":["忳"],"qián qín":["忴","扲"],hún:["忶","浑","渾","餛","馄","魂","鼲"],niǔ:["忸","扭","炄","狃","紐","纽","莥","鈕","钮","靵"],"kuáng wǎng":["忹"],"kāng hàng":["忼"],"kài xì":["忾","愾"],òu:["怄","慪"],"bǎo bào":["怉"],"mín mén":["怋"],"zuò zhà":["怍"],zěn:["怎"],yàng:["怏","恙","样","様","樣","漾","羕","詇"],"kòu jù":["怐"],"náo niú":["怓"],"zhēng zhèng":["怔","掙","钲","铮"],"tiē zhān":["怗"],"hù gù":["怘"],"cū jù zū":["怚"],"sī sāi":["思"],"yóu chóu":["怞"],"tū dié":["怢"],"yōu yào":["怮"],xuàn:["怰","昡","楦","泫","渲","炫","琄","眩","碹","絢","縼","繏","绚","蔙","衒","袨","贙","鉉","鏇","铉","镟","颴"],"xù xuè":["怴"],"bì pī":["怶"],"xī shù":["怸"],"nèn nín":["恁"],"tiāo yáo":["恌"],"xī qī xù":["恓"],"xiào jiǎo":["恔"],"hū kuā":["恗"],nǜ:["恧","朒","衂","衄"],hèn:["恨"],"dòng tōng":["恫"],"quán zhuān":["恮"],"è wù ě wū":["恶","惡"],tòng:["恸","慟","憅","痛","衕"],"yuān juàn":["悁"],"qiāo qiǎo":["悄"],"jiè kè":["悈"],"hào jiào":["悎"],huǐ:["悔","檓","毀","毁","毇","燬","譭"],"mán mèn":["悗","鞔"],"yī yì":["悘","衣"],quān:["悛","箞","鐉","𨟠"],"kuī lǐ":["悝"],"yì niàn":["悥"],"mèn mēn":["悶"],guàn:["悹","悺","惯","慣","掼","摜","樌","欟","泴","涫","潅","灌","爟","瓘","盥","礶","祼","罆","罐","貫","贯","躀","遦","鏆","鑵","鱹","鸛","鹳"],"kōng kǒng":["悾"],"lǔn lùn":["惀"],guǒ:["惈","果","椁","槨","粿","綶","菓","蜾","裹","褁","輠","餜","馃"],"yuān wǎn":["惌","箢"],"lán lín":["惏"],"yù xù":["惐","淢"],"chuò chuì":["惙"],"hūn mèn":["惛"],"chǎng tǎng":["惝"],"suǒ ruǐ":["惢"],cǎn:["惨","慘","憯","黪","黲","䅟"],cán:["惭","慙","慚","残","殘","蚕","蝅","蠶","蠺"],"dàn dá":["惮","憚"],rě:["惹"],"yú tōu":["愉"],"kài qì":["愒"],"dàng táng shāng yáng":["愓"],"chén xìn dān":["愖"],"kè qià":["愘"],nuò:["愞","懦","懧","掿","搦","榒","稬","穤","糑","糥","糯","諾","诺","蹃","逽","鍩","锘"],gǎn:["感","擀","敢","桿","橄","澉","澸","皯","秆","稈","笴","芉","衦","赶","趕","鱤","鳡"],"còng sōng":["愡"],"sāi sī sǐ":["愢"],"gōng gòng hǒng":["愩","慐"],"shuò sù":["愬","洬"],"yáo yào":["愮"],huàng:["愰","曂","榥","滉","皝","皩","鎤","㿠"],zhěng:["愸","抍","拯","整","晸"],cǎo:["愺","艸","草","騲"],"xì xié":["慀"],"cǎo sāo":["慅"],"xù chù":["慉"],"qiè qiàn":["慊"],"cáo cóng":["慒"],"ào áo":["慠"],"lián liǎn":["慩","梿","槤","櫣"],"jìn qín jǐn":["慬"],"dì chì":["慸"],"zhí zhé":["慹"],"lóu lǚ":["慺","鷜"],còng:["憁","謥"],"zhī zhì":["憄","知","織","织"],chēng:["憆","摚","撐","撑","晿","柽","棦","橕","檉","泟","浾","琤","瞠","碀","緽","罉","蛏","蟶","赪","赬","鏿","鐣","阷","靗","頳","饓"],biē:["憋","虌","鱉","鳖","鼈","龞"],"chéng dèng zhèng":["憕"],"xǐ xī":["憘"],"duì dùn tūn":["憞"],"xiāo jiāo":["憢"],"xián xiàn":["憪"],"liáo liǎo":["憭","燎","爎","爒"],shéng:["憴","縄","繉","繩","绳","譝"],"náo nǎo náng":["憹"],"jǐng jìng":["憼"],"jǐ jiǎo":["憿"],"xuān huān":["懁"],"cǎo sāo sào":["懆"],mèn:["懑","懣","暪","焖","燜"],"mèng méng měng":["懜"],"ài yì nǐ":["懝"],"méng měng":["懞","瞢","矒"],"qí jī jì":["懠"],mǒ:["懡"],"lán xiàn":["懢"],"yōu yǒu":["懮"],"liú liǔ":["懰","藰"],ràng:["懹","譲","讓","让"],huān:["懽","欢","歓","歡","獾","讙","貛","酄","驩","鴅","鵍"],nǎn:["戁","揇","湳","煵","腩","蝻","赧"],"mí mó":["戂"],"gàng zhuàng":["戅","戆"],"zhuàng gàng":["戇"],"xū qu":["戌"],"xì hū":["戏","戯","戲"],"jiá gā":["戛"],zéi:["戝","蠈","賊","贼","鰂","鱡","鲗"],děng:["戥","等"],"hū xì":["戱"],chuō:["戳","踔","逴"],"biǎn piān":["扁"],"shǎng jiōng":["扄"],"shàn shān":["扇"],cái:["才","材","纔","裁","財","财"],"zhā zā zhá":["扎"],"lè lì cái":["扐"],"bā pá":["扒"],"dǎ dá":["打"],rēng:["扔"],"fǎn fú":["払"],"diǎo dí yuē lì":["扚"],"káng gāng":["扛"],"yū wū":["扜"],"yū wū kū":["扝"],"tuō chǐ yǐ":["扡"],"gǔ jié xì gē":["扢"],dèn:["扥","扽"],"sǎo sào":["扫","掃"],rǎo:["扰","擾","隢"],"xī chā qì":["扱"],"bān pān":["扳"],"bā ào":["扷"],"xī zhé":["扸"],"zhì sǔn kǎn":["扻"],zhǎo:["找","沼","瑵"],"kuáng wǎng zài":["抂"],"hú gǔ":["抇","鹄","鹘"],"bǎ bà":["把"],"dǎn shěn":["抌"],"nè nì ruì nà":["抐"],zhuā:["抓","檛","簻","膼","髽"],póu:["抔","裒"],"zhé shé zhē":["折"],"póu pōu fū":["抙","捊"],pāo:["抛","拋","脬","萢"],"ǎo ào niù":["抝"],"lūn lún":["抡","掄"],"qiǎng qiāng chēng":["抢"],"zhǐ zhǎi":["抧"],"bù pū":["抪","柨"],"yǎo tāo":["抭"],"hē hè qiā":["抲"],"nǐ ní":["抳"],"pī pēi":["抷"],"mǒ mò mā":["抹"],chōu:["抽","犨","犫","瘳","篘"],"jiā yá":["拁"],"fú bì":["拂","畐","鶝"],zhǎ:["拃","眨","砟","鮺","鲝"],"dān dàn dǎn":["担"],"chāi cā":["拆"],niān:["拈","蔫"],"lā lá lǎ là":["拉"],"bàn pàn":["拌"],pāi:["拍"],līn:["拎"],guǎi:["拐","枴","柺"],"tuò tà zhí":["拓"],"ào ǎo niù":["拗"],"jū gōu":["拘"],"pīn pàn fān":["拚"],"bài bái":["拜"],bài:["拝","敗","稗","粺","薭","贁","败","韛"],qiá:["拤"],"nǐng níng nìng":["拧"],"zé zhái":["择","擇"],hén:["拫","痕","鞎"],"kuò guā":["括"],"jié jiá":["拮"],nǐn:["拰"],shuān:["拴","栓","閂","闩"],"cún zùn":["拵"],"zā zǎn":["拶","桚"],kǎo:["拷","攷","栲","烤","考"],"yí chǐ hài":["拸"],"cè sè chuò":["拺"],"zhuài zhuāi yè":["拽"],"shí shè":["拾"],bāi:["挀","掰"],"kuò guāng":["挄"],nòng:["挊","挵","齈"],"jiào jiāo":["挍","敎","教"],"kuà kū":["挎"],"ná rú":["挐"],"tiāo tiǎo":["挑"],"dié shè":["挕"],liě:["挘","毟"],"yà yǎ":["挜","掗"],"wō zhuā":["挝"],"xié jiā":["挟","挾"],"dǎng dàng":["挡","擋"],"zhèng zhēng":["挣","正","症"],"āi ái":["挨"],"tuō shuì":["挩","捝"],"tǐ tì":["挮"],"suō shā":["挱"],"sā shā suō":["挲"],"kēng qiān":["挳","摼"],"bàng péng":["挷"],"ruó ruá":["挼"],"jiǎo kù":["捁"],"wǔ wú":["捂"],tǒng:["捅","桶","筒","筩","統","綂","统","㛚"],"huò chì":["捇"],"tú shū chá":["捈"],"lǚ luō":["捋"],"shāo shào":["捎","稍"],niē:["捏","揑"],"shù sǒng sōu":["捒"],"yé yú":["捓"],"jué zhuó":["捔"],"bù pú zhì":["捗"],zùn:["捘","銌"],lāo:["捞","撈","粩"],sǔn:["损","損","榫","笋","筍","箰","鎨","隼"],"wàn wǎn wān yù":["捥"],pěng:["捧","淎","皏"],shě:["捨"],"fǔ fù bǔ":["捬"],dáo:["捯"],"luò luǒ wǒ":["捰"],"juǎn quán":["捲"],"chēn tiǎn":["捵"],"niǎn niē":["捻"],"ruó wěi ré":["捼"],zuó:["捽","昨","秨","稓","筰","莋","鈼"],"wò xiá":["捾"],"qìng qiàn":["掅"],"póu pǒu":["掊"],qiā:["掐","葜"],"pái pǎi":["排"],"qiān wàn":["掔"],"yè yē":["掖"],"niè nǐ yì":["掜"],"huò xù":["掝"],"yàn shàn yǎn":["掞"],"zhěng dìng":["掟"],kòng:["控","鞚"],tuī:["推","蓷","藬"],"zōu zhōu chōu":["掫"],tiàn:["掭","舚"],kèn:["掯","裉","褃"],pá:["掱","杷","潖","爬","琶","筢"],"guó guāi":["掴"],"dǎn shàn":["掸","撣"],"chān xiān càn shǎn":["掺"],sāo:["掻","搔","溞","繅","缫","螦","騒","騷","鰠","鱢","鳋"],pèng:["掽","椪","槰","碰","踫"],"zhēng kēng":["揁"],"jiū yóu":["揂"],"jiān jiǎn":["揃","籛"],"pì chè":["揊"],"sāi zǒng cāi":["揌"],"tí dī dǐ":["提"],"zǒng sōng":["揔"],"huáng yóng":["揘"],"zǎn zuàn":["揝"],"xū jū":["揟"],"ké qiā":["揢"],"chuāi chuǎi chuài tuán zhuī":["揣"],"dì tì":["揥"],"lá là":["揦"],là:["揧","楋","溂","瓎","瘌","翋","臘","蝋","蝲","蠟","辢","辣","鑞","镴","鬎","鯻","𬶟"],"jiē qì":["揭"],"chòng dǒng":["揰"],"dié shé yè":["揲"],"jiàn qián jiǎn":["揵"],yé:["揶","爷","爺","瑘","鋣","鎁","铘"],chān:["搀","摻","攙","裧","襜","覘","觇","辿","鋓"],"gē gé":["搁","擱"],"lǒu lōu":["搂","摟"],"chōu zǒu":["搊"],chuāi:["搋"],sūn:["搎","槂","狲","猻","荪","蓀","蕵","薞","飧","飱"],"róng náng nǎng":["搑"],"péng bàng":["搒"],cuō:["搓","瑳","磋","蹉","遳","醝"],"kē è":["搕"],"nù nuò nòu":["搙"],"lā xié xiàn":["搚"],qiǔ:["搝","糗"],"xiǎn xiān":["搟"],"jié zhé":["搩"],"pán bān pó":["搫"],bān:["搬","攽","斑","斒","班","瘢","癍","肦","螁","螌","褩","辬","頒","颁","𨭉"],"zhì nái":["搱"],"wā wǎ wà":["搲"],huá:["搳","撶","滑","猾","蕐","螖","譁","鏵","铧","驊","骅","鷨"],"qiāng qiǎng chēng":["搶"],"tián shēn":["搷"],"ná nuò":["搻"],èn:["摁"],"shè niè":["摄","攝"],bìn:["摈","擯","殡","殯","膑","臏","髌","髕","髩","鬂","鬓","鬢"],"shā sà shǎi":["摋"],"chǎn sùn":["摌"],"jiū liú liáo jiǎo náo":["摎"],"féng pěng":["摓"],shuāi:["摔"],"dì tú zhí":["摕"],"qì jì chá":["摖"],"sōu sǒng":["摗"],"liǎn liàn":["摙"],"gài xì":["摡"],"hù chū":["摢"],tàng:["摥","烫","燙","鐋"],"nái zhì":["摨"],"mó mā":["摩"],"jiāng qiàng":["摪"],"áo qiáo":["摮"],"niè chè":["摰"],"mán màn":["摱"],"chàn cán":["摲"],"sè mí sù":["摵"],"biāo biào":["摽"],"juē jué":["撅"],piē:["撆","暼","氕","瞥"],"piě piē":["撇"],"zǎn zān zēn qián":["撍"],"sā sǎ":["撒"],hòng:["撔","訌","讧","闀","鬨"],"héng guàng":["撗"],niǎn:["撚","撵","攆","涊","焾","碾","簐","蹍","蹨","躎","輦","辇"],"chéng zhěng":["撜"],"huī wéi":["撝"],cāo:["撡","操","糙"],"xiāo sōu":["撨"],"liáo liāo":["撩"],"cuō zuǒ":["撮"],"wěi tuǒ":["撱"],cuān:["撺","攛","汆","蹿","躥","鑹","镩"],"qiào yāo jī":["撽"],"zhuā wō":["撾"],"lèi léi":["擂"],nǎng:["擃","攮","曩","灢"],"qíng jǐng":["擏"],kuǎi:["擓","蒯","㧟"],"pǐ bò":["擗"],"bò bāi":["擘"],"jù jǐ":["據"],mēng:["擝"],"sǒu sòu":["擞"],xǐng:["擤","箵","醒"],cā:["擦"],"níng nǐng nìng":["擰"],"zhì jié":["擳"],"là liè":["擸","爉"],"sòu sǒu":["擻"],"lì luò yuè":["擽"],"tī zhāi zhì":["擿"],pān:["攀","潘","眅","萠"],lèi:["攂","泪","涙","淚","禷","类","纇","蘱","酹","銇","錑","頛","頪","類","颣"],"cā sǎ":["攃"],"jùn pèi":["攈"],"lì luò":["攊","躒"],"là lài":["攋","櫴"],"lú luó":["攎"],"zǎn cuán":["攒"],"xiān jiān":["攕"],"mí mǐ mó":["攠"],"zǎn cuán zàn zuān":["攢"],zuàn:["攥"],"lì shài":["攦"],"lì luǒ":["攭"],"guǐ guì":["攱"],"jī qī yǐ":["攲"],fàng:["放"],"wù móu":["敄"],"chù shōu":["敊"],"gé guó è":["敋"],"duó duì":["敓","敚"],"duō què":["敠","敪"],"sàn sǎn":["散"],"dūn duì":["敦","镦"],"qī yǐ jī":["敧"],"xiào xué":["敩"],"shù shǔ shuò":["数","數"],"ái zhú":["敱","敳"],"xiòng xuàn":["敻"],"zhuó zhú":["斀"],"yì dù":["斁"],"lí tái":["斄"],"fěi fēi":["斐"],"yǔ zhōng":["斔"],"dòu dǒu":["斗"],"wò guǎn":["斡"],"tǒu tiǎo":["斢"],dòu:["斣","梪","浢","痘","窦","竇","脰","荳","豆","逗","郖","酘","閗","闘","餖","饾","鬥","鬦","鬪","鬬","鬭"],"yín zhì":["斦"],"chǎn jiè":["斺"],"wū yū yú":["於"],"yóu liú":["斿"],"páng bàng":["旁"],"máo mào":["旄"],"pī bì":["旇"],"xuán xuàn":["旋"],"wú mó":["无"],zǎo:["早","枣","栆","棗","澡","璪","薻","藻","蚤"],gā:["旮"],"gàn hàn":["旰"],"tái yīng":["旲"],"xū xù":["旴"],"tūn zhùn":["旽"],"wù wǔ":["旿"],"pò pèi":["昢"],zòng:["昮","猔","疭","瘲","粽","糉","糭","縦"],ǎi:["昹","毐","矮","蔼","藹","譪","躷","霭","靄"],"huàng huǎng":["晃"],xuǎn:["晅","癣","癬","选","選"],"xù kuā":["晇"],hǒng:["晎"],shài:["晒","曬"],"yūn yùn":["晕","煴"],"shèng chéng":["晟","椉","盛"],"jǐng yǐng":["景"],shǎn:["晱","熌","睒","覢","閃","闪","陕","陝"],"qǐ dù":["晵"],"ǎn àn yǎn":["晻"],"wǎng wàng":["暀"],zàn:["暂","暫","瓉","瓒","瓚","禶","襸","讃","讚","賛","贊","赞","蹔","鄼","錾","鏨","饡"],"yùn yūn":["暈"],"mín mǐn":["暋"],"dǔ shǔ":["暏"],shǔ:["暑","曙","潻","癙","糬","署","薥","薯","藷","蜀","蠴","襡","襩","鱪","鱰","黍","鼠","鼡"],"jiǎn lán":["暕"],nuǎn:["暖","煗","餪"],"bào pù":["暴"],"xī xǐ":["暿"],"pù bào":["曝","瀑"],"qū qǔ":["紶"],"qǔ qū":["曲"],"gèng gēng":["更"],"hū hù":["曶","雽"],"zēng céng":["曽","橧"],"céng zēng":["曾","竲"],"cǎn qián jiàn":["朁"],"qiè hé":["朅"],"bì pí":["朇","禆","笓","裨"],"yǒu yòu":["有"],"bān fén":["朌","鳻"],"fú fù":["服","洑"],"fěi kū":["朏","胐"],"qú xù chǔn":["朐"],"juān zuī":["朘"],"huāng máng wáng":["朚"],"qī jī":["期"],"tóng chuáng":["朣","橦"],zhá:["札","牐","箚","蚻","譗","鍘","铡","閘","闸"],"zhú shù shú":["朮"],"shù shú zhú":["术"],"zhū shú":["朱"],"pǔ pò pō piáo":["朴"],"dāo tiáo mù":["朷"],"guǐ qiú":["朹"],xiǔ:["朽","滫","潃","糔"],"chéng chēng":["朾"],zá:["杂","沯","砸","襍","雑","雜","雥","韴"],"yú wū":["杅"],"gān gǎn":["杆"],"chā chà":["杈"],"shān shā":["杉"],cūn:["村","皴","竴","膥","踆","邨"],"rèn ér":["杒","梕"],"sháo biāo":["杓"],"dì duò":["杕","枤"],"gū gài":["杚"],"yí zhì lí duò":["杝"],"gàng gāng":["杠"],"tiáo tiāo":["条","條"],"mà mǎ":["杩"],"sì zhǐ xǐ":["杫"],"yuán wán":["杬","蚖"],"bèi fèi":["杮"],"shū duì":["杸"],"niǔ chǒu":["杻"],"wò yuè":["枂","臒"],máo:["枆","毛","氂","渵","牦","矛","罞","茅","茆","蝥","蟊","軞","酕","鉾","錨","锚","髦","鶜"],"pī mì":["枈"],àng:["枊","盎","醠"],"fāng bìng":["枋"],"hù dǐ":["枑"],xín:["枔","襑","鐔","鬵"],"yāo yǎo":["枖"],"ě è":["枙"],"zhī qí":["枝"],"cōng zōng":["枞","樅"],"xiān zhēn":["枮"],"tái sì":["枱"],"gǒu jǔ gōu":["枸"],"bāo fú":["枹"],"yì xiè":["枻","栧"],"tuó duò":["柁","馱","駄","驮"],"yí duò lí":["柂"],"nǐ chì":["柅"],"pán bàn":["柈","跘"],"yǎng yàng yāng yīng":["柍"],"fù fū fǔ":["柎"],"bǎi bó bò":["柏"],mǒu:["某"],"sháo shào":["柖"],zhè:["柘","樜","浙","淛","蔗","蟅","這","鷓","鹧","䗪"],"yòu yóu":["柚","櫾"],"guì jǔ":["柜"],"zhà zuò":["柞"],"dié zhì":["柣","眰"],"zhā zǔ zū":["柤"],"chá zhā":["查","査"],"āo ào":["柪","軪"],"bā fú pèi bó biē":["柭"],"duò zuó wù":["柮"],"bì bié":["柲"],"zhù chù":["柷"],"bēi pēi":["柸"],"shì fèi":["柹"],"shān zhà shi cè":["栅"],"lì yuè":["栎","櫟"],"qì qiè":["栔","砌"],"qī xī":["栖","蹊"],"guā kuò":["栝"],"bīng bēn":["栟"],"xiào jiào":["校"],"jiàn zùn":["栫","袸"],"yǒu yù":["栯"],"hé hú":["核"],gēn:["根","跟"],"zhī yì":["栺"],"gé gē":["格"],"héng háng":["桁"],"guàng guāng":["桄"],"yí tí":["桋","荑"],sāng:["桑","桒","槡"],"jú jié":["桔"],"yú móu":["桙"],"ráo náo":["桡","橈"],"guì huì":["桧","檜"],"chén zhèn":["桭"],"tīng yíng":["桯"],"bó po":["桲"],"bèn fàn":["桳"],"fēng fèng":["桻","葑"],"sù yìn":["梀"],"tǐng tìng":["梃"],"xuān juān xié":["梋"],"tú chá":["梌"],"āo yòu":["梎"],kuǎn:["梡","欵","款","歀"],"shāo sào":["梢"],"qín chén cén":["梣"],"lí sì qǐ":["梩"],"chān yán":["梴"],"bīn bīng":["梹","槟","檳"],"táo chóu dào":["梼"],"cōng sōng":["棇"],"gùn hùn":["棍"],"dé zhé":["棏"],"pái bèi pèi":["棑"],"bàng pǒu bèi bēi":["棓"],"dì dài tì":["棣"],sēn:["森","椮","槮","襂"],"rěn shěn":["棯"],"léng lēng líng":["棱"],"fú sù":["棴"],"zōu sǒu":["棷"],zōu:["棸","箃","緅","諏","诹","邹","郰","鄒","鄹","陬","騶","驺","鯫","鲰","黀","齱","齺"],"zhào zhuō":["棹"],"chēn shēn":["棽"],"jiē qiè":["椄"],"yǐ yī":["椅"],"chóu zhòu diāo":["椆"],"qiāng kōng":["椌"],"zhuī chuí":["椎"],"bēi pí":["椑"],mēn:["椚"],"quān juàn quán":["椦"],"duǒ chuán":["椯"],"wěi huī":["椲"],"jiǎ jiā":["椵"],"hán jiān":["椷"],"shèn zhēn":["椹"],"yàn yà":["椻"],"zhā chá":["楂"],"guō kuǎ":["楇"],"jí zhì":["楖"],"kǔ hù":["楛"],"yóu yǒu":["楢"],"sǒng cōng":["楤"],"yuán xuàn":["楥"],"yǎng yàng yīng":["楧"],pián:["楩","胼","腁","賆","蹁","駢","騈","骈","骿","㛹"],"dié yè":["楪"],"dùn shǔn":["楯"],"còu zòu":["楱"],"dì dǐ shì":["楴"],"kǎi jiē":["楷"],"róu ròu":["楺"],"lè yuè":["楽"],"wēn yùn":["榅","鞰"],lǘ:["榈","櫚","氀","膢","藘","閭","闾","驢","驴"],shén:["榊","神","鉮","鰰","𬬹"],"bī pi":["榌"],"zhǎn niǎn zhèn":["榐"],"fú fù bó":["榑"],"jiàn jìn":["榗"],"bǎng bàng":["榜"],"shā xiè":["榝","樧"],nòu:["槈","耨","鎒","鐞"],"qiǎn lián xiàn":["槏"],gàng:["槓","焵","焹","筻","鿍"],gāo:["槔","槹","橰","櫜","睾","篙","糕","羔","臯","韟","餻","高","髙","鷎","鷱","鼛"],"diān zhěn zhēn":["槙"],"kǎn jiàn":["槛"],"xí dié":["槢"],"jī guī":["槣"],"róng yōng":["槦"],"tuán shuàn quán":["槫"],"qì sè":["槭"],"cuī zhǐ":["槯"],"yǒu chǎo":["槱"],"màn wàn":["槾"],"lí chī":["樆"],"léi lěi":["樏","櫑","礌"],"cháo jiǎo chāo":["樔"],"chēng táng":["樘"],"jiū liáo":["樛"],"mó mú":["模"],"niǎo mù":["樢"],"héng hèng":["横","橫"],xuě:["樰","膤","艝","轌","雪","鱈","鳕"],"fá fèi":["橃"],rùn:["橍","润","潤","膶","閏","閠","闰"],"zhǎn jiǎn":["橏"],shùn:["橓","瞚","瞬","舜","蕣","順","顺","鬊"],"tuí dūn":["橔"],"táng chēng":["橖"],"sù qiū":["橚"],"tán diàn":["橝"],"fén fèn fèi":["橨"],"rǎn yān":["橪"],"cū chu":["橻"],"shū qiāo":["橾"],"píng bò":["檘"],"zhái shì tú":["檡"],"biǎo biāo":["檦"],"qiān lián":["檶"],"nǐ mí":["檷"],"jiàn kǎn":["檻"],"nòu ruǎn rú":["檽"],"jī jì":["櫅","禨"],"huǎng guǒ gǔ":["櫎"],"lǜ chū":["櫖"],"miè mèi":["櫗"],ōu:["櫙","欧","歐","殴","毆","瓯","甌","膒","藲","謳","讴","鏂","鴎","鷗","鸥"],"zhù zhuó":["櫡"],"jué jì":["櫭"],"huái guī":["櫰"],"chán zhàn":["欃"],"wéi zuì":["欈"],cáng:["欌","鑶"],"yù yì":["欥"],"chù qù xì":["欪"],"kài ài":["欬"],"yì yīn":["欭"],"xì kài":["欯"],"shuò sòu":["欶"],"ǎi ēi éi ěi èi ê̄ ế ê̌ ề":["欸"],"qī yī":["欹"],"chuā xū":["欻"],"chǐ chuài":["欼"],"kǎn qiàn":["欿"],"kǎn kè":["歁"],"chuǎn chuán":["歂"],"yīn yān":["歅"],"jìn qūn":["歏"],pēn:["歕"],"xū chuā":["歘"],"xī shè":["歙"],"liǎn hān":["歛"],"zhì chí":["歭"],"sè shà":["歰"],sǐ:["死"],"wěn mò":["歾"],piǎo:["殍","皫","瞟","醥","顠"],"qíng jìng":["殑"],"fǒu bó":["殕"],"zhí shi":["殖"],"yè yān yàn":["殗"],"hūn mèi":["殙"],chòu:["殠","臰","遚"],"kuì huì":["殨","溃","潰"],cuàn:["殩","熶","爨","窜","竄","篡","簒"],"yīn yān yǐn":["殷"],"qìng kēng shēng":["殸"],"yáo xiáo xiào":["殽"],"gū gǔ":["毂","蛄"],"guàn wān":["毌"],"dú dài":["毒"],"xún xùn":["毥"],mú:["毪","氁"],"dòu nuò":["毭"],"sāi suī":["毸"],lu:["氇"],sào:["氉","瘙","矂","髞"],"shì zhī":["氏"],"dī dǐ":["氐"],"máng méng":["氓"],"yáng rì":["氜"],shuǐ:["水","氵","氺","閖"],"zhěng chéng zhèng":["氶"],tǔn:["氽"],"fán fàn":["氾"],"guǐ jiǔ":["氿"],"bīn pà pā":["汃"],"zhuó què":["汋"],"dà tài":["汏"],pìn:["汖","牝","聘"],"hàn hán":["汗","馯"],tu:["汢"],"tāng shāng":["汤","湯"],"zhī jì":["汥"],"gàn hán cén":["汵"],"wèn mén":["汶"],"fāng pāng":["汸"],"hǔ huǎng":["汻"],"niú yóu":["汼"],hàng:["沆"],"shěn chén":["沈"],"dùn zhuàn":["沌"],"nǜ niǔ":["沑"],"méi mò":["沒","没"],"tà dá":["沓"],"mì wù":["沕"],"hóng pāng":["沗"],"shā shà":["沙"],"zhuǐ zǐ":["沝"],"ōu òu":["沤","漚"],"jǔ jù":["沮"],"tuō duó":["沰"],"mǐ lì":["沵"],"yí chí":["沶"],"xiè yì":["泄"],"bó pō":["泊"],"mì bì":["泌","秘"],"chù shè":["泏"],"yōu yòu āo":["泑"],"pēng píng":["泙","硑"],"pào pāo":["泡"],"ní nì":["泥","秜"],"yuè sà":["泧"],"jué xuè":["泬","疦"],"lóng shuāng":["泷","瀧"],"luò pō":["泺","濼"],"zé shì":["泽","澤"],"sǎ xǐ":["洒"],"sè qì zì":["洓"],"xǐ xiǎn":["洗"],"kǎo kào":["洘"],"àn yàn è":["洝"],"lěi lèi":["洡"],"qiè jié":["洯"],"qiǎn jiān":["浅"],"jì jǐ":["济","済","濟","纪"],"hǔ xǔ":["浒","滸"],"jùn xùn":["浚","濬"],"yǐng chéng yíng":["浧"],"liàn lì":["浰"],"féng hóng":["浲","溄"],"jiǒng jiōng":["浻"],"suī něi":["浽"],"yǒng chōng":["涌"],"tūn yūn":["涒"],"wō guō":["涡","渦"],hēng:["涥","脝"],"zhǎng zhàng":["涨","漲"],"shòu tāo":["涭"],shuàn:["涮","腨"],"kōng náng":["涳"],"wò wǎn yuān":["涴"],"tuō tuò":["涶"],wō:["涹","猧","窝","窩","莴","萵","蜗","蝸","踒"],"qiè jí":["淁"],"guǒ guàn":["淉"],"lín lìn":["淋","獜","疄"],"tǎng chǎng":["淌"],"nào chuò zhuō":["淖"],"péng píng":["淜"],féi:["淝","肥","腓","蜰"],"pì pèi":["淠"],"niǎn shěn":["淰"],"biāo hǔ":["淲"],"chún zhūn":["淳"],"hùn hún":["混"],qiǎn:["淺","繾","缱","肷","膁","蜸","譴","谴","遣","鑓"],"wèn mín":["渂"],"rè ruò luò":["渃"],"dú dòu":["渎","瀆","读"],"jiàn jiān":["渐","溅","漸","濺"],"miǎn shéng":["渑","澠"],"nuǎn nuán":["渜"],"qiú wù":["渞"],"tíng tīng":["渟"],"dì tí dī":["渧"],"gǎng jiǎng":["港"],"hōng qìng":["渹"],tuān:["湍","煓"],"huì mǐn xū":["湏"],"xǔ xù":["湑"],pén:["湓","瓫","盆","葐"],"mǐn hūn":["湣"],"tuàn nuǎn":["湪"],"qiū jiǎo":["湫","湬"],"yān yīn":["湮"],"bàn pán":["湴"],"zhuāng hún":["湷"],"yàn guì":["溎"],"lián liǎn nián xián xiàn":["溓"],"dá tǎ":["溚","鿎"],"liū liù":["溜","澑","蹓"],lùn:["溣"],mǎ:["溤","犸","獁","玛","瑪","码","碼","遤","鎷","馬","马","鰢","鷌"],"zhēn qín":["溱"],"nì niào":["溺"],"chù xù":["滀","畜"],"wěng wēng":["滃"],"hào xuè":["滈"],"qì xì xiē":["滊"],"xíng yíng":["滎"],"zé hào":["滜"],"piāo piào piǎo":["漂"],"cóng sǒng":["漎"],"féng péng":["漨"],"luò tà":["漯"],"pēng bēn":["漰"],"chóng shuāng":["漴"],"huǒ kuò huò":["漷"],"liáo liú":["漻"],"cuǐ cuī":["漼"],"cóng zǒng":["潀"],"cóng zōng":["潈"],"pì piē":["潎"],"dàng xiàng":["潒"],"huáng guāng":["潢"],"liáo lào lǎo":["潦"],"cōng zòng":["潨"],"zhí zhì":["潪"],"tān shàn":["潬"],"tú zhā":["潳"],"sàn sǎ":["潵"],hēi:["潶","黑","黒","𬭶"],"chéng dèng":["澄","瀓"],"cūn cún":["澊"],"péng pēng":["澎"],"hòng gǒng":["澒","銾"],"wàn màn":["澫"],"kuài huì":["澮"],"guō wō":["濄"],"pēn fén":["濆"],"jí shà":["濈"],"huì huò":["濊"],"dǐng tìng":["濎"],"mǐ nǐ":["濔"],"bì pì":["濞"],"cuì zuǐ":["濢"],"hù huò":["濩"],"ǎi kài kè":["濭"],"wěi duì":["濻","瀢"],"zàn cuán":["濽","灒"],"yǎng yàng":["瀁"],"wǎng wāng":["瀇"],"mò miè":["瀎","眜"],suǐ:["瀡","膸","髓"],"huái wāi":["瀤"],"zùn jiàn":["瀳"],"yīng yǐng yìng":["瀴"],"ráng ràng":["瀼"],shuàng:["灀"],"zhuó jiào zé":["灂"],sǎ:["灑","訯","靸"],"luán luàn":["灓"],"dǎng tǎng":["灙"],"xún quán quàn":["灥"],"huǒ biāo":["灬"],"zhà yù":["灹"],"fén bèn":["炃"],"jiǒng guì":["炅"],"pàng fēng":["炐"],quē:["炔","缺","缼","蒛"],biān:["炞","煸","甂","砭","笾","箯","籩","編","编","蝙","邉","邊","鍽","鞭","鯾","鯿","鳊"],"zhāo zhào":["炤"],"zhuō chù":["炪"],"pào páo bāo":["炮"],"páo fǒu":["炰"],"shǎn qián shān":["炶"],"zhà zhá":["炸"],"jiǎo yào":["烄"],quǎn:["烇","犬","犭","畎","綣","绻","虇"],"yàng yáng":["烊"],"lào luò":["烙"],"huí huǐ":["烠"],rè:["热","熱"],"fú páo":["烰"],"xiè chè":["烲","焎"],"yàn shān":["烻"],"hūn xūn":["焄"],kào:["焅","犒","銬","铐","靠","鮳","鯌","鲓","㸆"],"juān yè":["焆"],"jùn qū":["焌"],"tāo dào":["焘"],"chǎo jù":["焣"],"wò ài":["焥"],"zǒng cōng":["焧"],"xī yì":["焬"],"xìn xīn":["焮"],"chāo zhuō":["焯"],"xiǒng yīng":["焸","焽"],kuǐ:["煃","跬","蹞","頍","𫠆"],"huī yùn xūn":["煇"],"jiǎo qiāo":["煍"],"qián shǎn shān":["煔"],"xī yí":["煕"],"shà shā":["煞"],"yè zhá":["煠"],"yáng yàng":["煬"],"ēn yūn":["煾"],"yūn yǔn":["熅"],"hè xiāo":["熇"],xióng:["熊","熋","雄"],"xūn xùn":["熏","爋"],gòng:["熕","貢","贡"],liū:["熘"],"cōng zǒng":["熜"],"lù āo":["熝"],"shú shóu":["熟"],"fēng péng":["熢"],"cuǐ suī":["熣"],tēng:["熥","膯","鼟"],"yùn yù":["熨"],"áo āo":["熬"],"hàn rǎn":["熯"],"ōu ǒu":["熰"],"huáng huǎng":["熿"],"chǎn dǎn chàn":["燀"],"jiāo zhuó qiáo jué":["燋"],"yàn yān":["燕"],"tài liè":["燤"],āo:["爊"],"yàn xún":["爓"],"jué jiào":["爝","覐","覚","覺","觉"],"lǎn làn":["爦"],"zhuǎ zhǎo":["爪"],"zhǎo zhuǎ":["爫"],"fù fǔ":["父"],diē:["爹","褺","跌"],zāng:["牂","羘","臧","賍","賘","贓","贜","赃","髒"],"piàn piān":["片"],"biān miàn":["牑"],bǎng:["牓","綁","绑"],"yǒu yōng":["牗"],"chēng chèng":["牚","竀"],niú:["牛","牜"],"jiū lè":["牞"],"mù móu":["牟"],māng:["牤"],"gē qiú":["牫"],"yòu chōu":["牰"],"tè zhí":["犆"],bēn:["犇","錛","锛"],"jiān qián":["犍","玪"],má:["犘","痲","蔴","蟇","麻"],"máo lí":["犛"],"bá quǎn":["犮"],"zhuó bào":["犳"],"àn hān":["犴"],"kàng gǎng":["犺"],"pèi fèi":["犻"],"fān huān":["犿"],kuáng:["狂","狅","誑","诳","軖","軠","鵟","𫛭"],"yí quán chí":["狋"],"xīng shēng":["狌"],"tuó yí":["狏"],kǔ:["狜","苦"],"huán huān":["狟"],"hé mò":["狢"],"tà shì":["狧"],"máng dòu":["狵"],"xī shǐ":["狶"],suān:["狻","痠","酸"],"bài pí":["猈"],"jiān yàn":["猏","豣"],"yī yǐ":["猗"],"yá wèi":["猚"],cāi:["猜"],"māo máo":["猫","貓"],"chuàn chuān":["猭"],"tuān tuàn":["猯","貒"],"yà jiá qiè":["猰"],"hè xiē gé hài":["猲"],"biān piàn":["猵","獱"],"bó pò":["猼"],"háo gāo":["獋"],"fén fèn":["獖"],"yào xiāo":["獟"],"shuò xī":["獡"],"gé liè xiē":["獦"],"nòu rú":["獳"],"náo nǎo yōu":["獶"],ráng:["獽","瓤","禳","穣","穰","蘘","躟","鬤"],"náo yōu":["獿"],"lǜ shuài":["率"],"wáng wàng":["王"],"yáng chàng":["玚"],"mín wén":["玟"],"bīn fēn":["玢"],"mén yǔn":["玧"],"qiāng cāng":["玱","瑲","篬"],"án gān":["玵"],"xuán xián":["玹"],"cī cǐ":["玼","跐"],"yí tāi":["珆"],"zǔ jù":["珇"],fà:["珐","琺","蕟","髪","髮"],"yín kèn":["珢"],"huī hún":["珲"],"xuán qióng":["琁"],"fú fū":["琈"],"bǐng pín":["琕"],"cuì sè":["琗"],"yù wéi":["琟"],"tiǎn tiàn":["琠"],"zhuó zuó":["琢"],"běng pěi":["琣"],guǎn:["琯","璭","痯","筦","管","舘","輨","錧","館","馆","鳤"],"hún huī":["琿"],"xié jiē":["瑎"],"chàng dàng yáng":["瑒"],"tiàn zhèn":["瑱"],"bīn pián":["瑸","璸"],"tú shū":["瑹"],cuǐ:["璀","皠","趡"],"zǎo suǒ":["璅"],"jué qióng":["璚"],"lú fū":["璷"],"jì zī":["璾"],suí:["瓍","綏","绥","遀","随","隨","髄"],"mí xǐ":["瓕"],"qióng wěi wèi":["瓗"],"huán yè yà":["瓛"],"bó páo":["瓟"],"zhí hú":["瓡"],piáo:["瓢","闝"],"wǎ wà":["瓦"],"xiáng hóng":["瓨"],wèng:["瓮","甕","罋","蕹","齆"],"shèn shén":["甚"],ruí:["甤","緌","蕤"],yòng:["用","砽","苚","蒏","醟","㶲"],shuǎi:["甩"],béng:["甭","甮"],"yóu zhá":["甴"],"diàn tián shèng":["甸"],"tǐng dīng":["町","甼"],"zāi zī":["甾"],"bì qí":["畁"],"dá fú":["畗"],"cè jì":["畟"],"zāi zī tián":["畠"],"zhì chóu shì":["畤"],"fān pān":["畨","番"],"shē yú":["畬"],"dāng dàng dǎng":["當"],"jiāng qiáng":["疆"],"pǐ yǎ shū":["疋"],"jié qiè":["疌"],"yí nǐ":["疑"],nè:["疒","眲","訥","讷"],"gē yì":["疙"],"nüè yào":["疟","瘧"],"lì lài":["疠","癘"],"yǎ xiā":["疨"],xuē:["疶","蒆","薛","辥","辪","靴","鞾"],"dǎn da":["疸"],"fá biǎn":["疺"],"fèi féi":["疿","痱"],"shān diàn":["痁"],"téng chóng":["痋"],"tōng tóng":["痌"],"wěi yòu yù":["痏"],"tān shǐ":["痑"],"pū pù":["痡","鋪"],"bēng péng":["痭"],"má lìn":["痳"],"tiǎn diàn":["痶"],"ān yè è":["痷"],"kē ē":["痾"],"zhì chì":["瘈"],"jiǎ xiá xiā":["瘕"],"lěi huì":["瘣"],"chài cuó":["瘥"],"diān chēn":["瘨"],"da dá":["瘩"],"biě biē":["瘪"],qué:["瘸"],"dàn dān":["癉"],"guì wēi":["癐"],"nòng nóng":["癑"],"biē biě":["癟"],"bō bǒ":["癷"],bái:["白"],"jí bī":["皀"],"de dì dí dī":["的"],"pā bà":["皅"],"gāo háo":["皋"],"gāo yáo":["皐"],"lì luò bō":["皪"],"zhā cǔ":["皻"],"zhāo zhǎn dǎn":["皽"],"jiān jiàn":["监","監","鋻","间","鞬"],"gài gě hé":["盖"],"máng wàng":["盳"],yuǎn:["盶","逺","遠"],"tián xián":["盷"],"xiāng xiàng":["相"],dǔn:["盹","趸","躉"],"xì pǎn":["盻"],"shěng xǐng":["省"],"yún hùn":["眃"],"miǎn miàn":["眄"],"kàn kān":["看"],"yìng yāng yǎng":["眏"],"yǎo āo ǎo":["眑"],"jū xū kōu":["眗"],"yí chì":["眙"],"dié tì":["眣"],"bǐng fǎng":["眪"],"pàng pán":["眫"],"mī mí":["眯","瞇"],"xuàn shùn xún":["眴"],tiào:["眺","粜","糶","覜","趒"],"zhe zhuó zháo zhāo":["着"],"qiáo shào xiāo":["睄"],"cuó zhuài":["睉"],gùn:["睔","謴"],"suì zuì":["睟"],"pì bì":["睥","稫","辟"],"yì zé gāo":["睪"],"xǐng xìng":["睲"],"guì wèi kuì":["瞆"],"kòu jì":["瞉"],"qióng huán":["瞏"],"mán mén":["瞒","瞞"],"diāo dōu":["瞗"],"lou lóu lǘ":["瞜"],"shùn rún":["瞤"],"liào liǎo":["瞭","钌"],"jiàn xián":["瞯"],"wǔ mí":["瞴"],"guì kuì":["瞶"],"nǐng chēng":["矃"],"huò yuè":["矆"],"mēng méng":["矇"],"kuàng guō":["矌"],"guàn quán":["矔"],"mǎn mán":["矕"],"jīn guān qín":["矜"],"jīn qín guān":["矝"],"yù xù jué":["矞"],"jiǎo jiáo":["矫","矯"],duǎn:["短"],"shí dàn":["石"],"gāng qiāng kòng":["矼"],"huā xū":["砉"],"pīn bīn fēn":["砏"],"yán yàn":["研","硏"],"luǒ kē":["砢"],"fú fèi":["砩","笰"],"zhǔ zhù":["砫"],"lá lì lā":["砬"],"kuāng guāng":["硄"],"gè luò":["硌"],"shuò shí":["硕","碩"],"wèi wéi ái":["硙"],"què kè kù":["硞"],"mǎng bàng":["硥"],"luò lòng":["硦"],"yǒng tóng":["硧"],nüè:["硸","虐"],"kēng kěng":["硻"],"yān yǎn":["硽"],"zhuì chuí duǒ":["硾"],"kōng kòng":["硿"],"zòng cóng":["碂"],"jiān zhàn":["碊"],"lù liù":["碌","陆"],"què xī":["碏"],"lún lǔn lùn":["碖"],"náo gāng":["碙"],"jié yà":["碣"],"wèi wěi":["碨"],"tí dī":["碮"],"chá chā":["碴"],"qiāo què":["碻"],"sù xiè":["碿"],"liú liù":["磂","遛","鎦","馏"],"sī tí":["磃"],"bàng páng":["磅"],"huá kě gū":["磆"],"wěi kuǐ":["磈"],"xiá qià yà":["磍"],"lián qiān":["磏"],"wèi ái gài":["磑"],"lá lā":["磖"],"áo qiāo":["磝"],"pēng pèng":["磞","閛"],"yīn yǐn":["磤"],"lěi léi":["磥"],"mó mò":["磨"],"qì zhú":["磩"],"láo luò":["磱"],"pán bō":["磻"],"jí shé":["磼"],"hé qiāo qiào":["礉"],"kè huò":["礊"],"què hú":["礐"],"è qì":["礘"],cǎ:["礤","礸"],"xián xín":["礥"],"léi lěi lèi":["礧"],"yán yǎn":["礹"],"qí zhǐ":["祇","蚔"],"bēng fāng":["祊"],"bì mì":["祕"],suàn:["祘","笇","筭","算","蒜"],"piào piāo":["票"],"jì zhài":["祭"],"shuì lèi":["祱"],"jìn jīn":["禁"],"chán shàn":["禅"],"yáng shāng":["禓"],"zhī zhǐ tí":["禔"],"shàn chán":["禪"],"yú yù ǒu":["禺"],"zǐ zì":["秄"],"chá ná":["秅"],"zhǒng zhòng chóng":["种"],"hào mào":["秏"],"kù kū":["秙"],zū:["租","葅"],chèng:["秤","穪"],"huó kuò":["秮","秳"],"chēng chèn chèng":["称","稱"],"shì zhì":["秲","銴"],"fù pū":["秿"],"xùn zè":["稄"],"tú shǔ":["稌"],"zhùn zhǔn":["稕"],"jī qí":["稘","綨","觭"],"léng líng":["稜"],"zuì zú sū":["稡"],"xì qiè":["稧","郄"],"zhǒng zhòng":["種"],"zōng zǒng":["稯"],"xián jiān liàn":["稴"],"zī jiū":["稵"],"jī qǐ":["稽"],ròng:["穃"],"shān cǎn cēn":["穇"],"mén méi":["穈"],"jǐ jì":["穖"],"xiāo rào":["穘"],"zhuō bó":["穛"],"tóng zhǒng zhòng":["穜"],zuō:["穝"],"biāo pāo":["穮","藨"],"zhuō jué":["穱"],"cuán zàn":["穳"],"kōng kòng kǒng":["空"],"yū yǔ":["穻"],zhǎi:["窄","鉙"],báo:["窇","雹"],"kū zhú":["窋"],"jiào liáo liù":["窌"],"wā guī":["窐"],"tiǎo yáo":["窕"],"xūn yìn":["窨"],"yà yē":["窫"],"tián diān yǎn":["窴"],"chāo kē":["窼"],"kuǎn cuàn":["窽","窾"],"chù qì":["竐"],"qǔ kǒu":["竘"],"jìng zhěn":["竧"],"kǎn kàn":["竷"],"zhú dǔ":["竺"],"lè jīn":["竻"],"zhuì ruì":["笍"],"háng hàng":["笐"],"cén jìn hán":["笒"],"dā xiá nà":["笚"],"zé zuó":["笮"],"lóng lǒng":["笼","篭","籠","躘","龓"],"zhù zhú":["筑","築"],"dá dā":["答","荅"],shāi:["筛","篩","簁","籭"],"yún jūn":["筠"],"láng làng":["筤","郎","阆"],"zhì zhǐ":["筫"],o:["筽"],"póu bù fú pú":["箁"],"pái bēi":["箄"],gè:["箇","虼","鉻","铬"],"tái chí":["箈"],"guǎi dài":["箉"],"zhào dào":["箌"],"jīng qìng":["箐"],"lín lǐn":["箖"],"jùn qūn":["箘"],"shī yí":["箷","釶"],"yuē yào chuò":["箹"],"xiāo shuò qiào":["箾"],"gōng gǎn lǒng":["篢"],"páng péng":["篣"],"zhuó huò":["篧"],"jiǎn jiān":["篯"],"dí zhú":["篴"],"zān cēn cǎn":["篸"],"zhuàn suǎn zuàn":["篹"],"piǎo biāo":["篻"],"guó guì":["簂"],"cè jí":["簎"],"mì miè":["簚"],"shāi sī":["簛"],"sǔn zhuàn":["簨"],"gàn gǎn":["簳"],"bò bǒ":["簸"],"bó bù":["簿"],shi:["籂"],"zhēn jiān":["籈"],"zhuàn zuǎn":["籑"],"fān pān biān":["籓"],"sǒu shǔ":["籔"],zuǎn:["籫","繤","纂","纉","纘","缵"],nǚ:["籹","釹","钕"],"shā chǎo":["粆"],"kāng jīng":["粇"],fěn:["粉","黺"],cū:["粗","觕","麁","麄","麤"],"nián zhān":["粘"],"cè sè":["粣"],"zhōu yù":["粥"],"shēn sǎn":["糁"],"biān biǎn":["糄","萹"],miàn:["糆","面","靣","麪","麫","麵","麺"],"hú hū hù":["糊"],"gǔ gòu":["糓"],"mí méi":["糜"],"sǎn shēn":["糝","糣"],zāo:["糟","蹧","遭","醩"],"mì sī":["糸"],"jiū jiǔ":["糺"],"xì jì":["系","繫"],"zhēng zhěng":["糽"],"chà chǎ":["紁","衩"],"yuē yāo":["約","约"],"hóng gōng":["紅","红"],"hé gē":["紇","纥"],"wén wèn":["紋","纹"],fóu:["紑"],"jì jié jiè":["紒"],"pī pí bǐ":["紕","纰"],"jīn jìn":["紟"],"zhā zā":["紥","紮"],hā:["紦"],"fū fù":["紨"],"chōu chóu":["紬"],"lèi léi lěi":["累"],"bō bì":["紴"],"tiǎn zhěn":["紾"],"jiōng jiǒng":["絅"],"jié jiē":["結","结","节"],"guà kuā":["絓"],"bǎi mò":["絔"],"gēng huán":["絙"],"jié xié":["絜"],"quán shuān":["絟"],"gǎi ǎi":["絠"],"luò lào":["絡","络"],"bīng bēng pēng":["絣"],"gěi jǐ":["給","给"],"tóng tōng dòng":["絧"],"tiào diào dào":["絩"],"lěi lèi léi":["絫"],"gāi hài":["絯"],"chī zhǐ":["絺"],"wèn miǎn mán wàn":["絻"],"huán huàn wàn":["綄"],"qīn xiān":["綅"],"tì tí":["綈"],"yán xiàn":["綖"],"zōng zèng zòng":["綜"],"chēn lín":["綝"],"zhǔn zhùn":["綧"],"qiàn qīng zhēng":["綪"],"qìng qǐ":["綮"],"lún guān":["綸","纶"],"chuò chāo":["綽","绰"],"tián tǎn chān":["緂"],"lǜ lù":["緑","绿"],"ruǎn ruàn":["緛"],"jí qī":["緝"],"zhòng chóng":["緟","重"],"miáo máo":["緢"],"xiè yè":["緤"],huǎn:["緩","缓","㬊"],"gēng gèng":["緪","縆"],"tōu xū shū":["緰"],"zōng zòng":["緵","繌"],"yùn gǔn":["緷"],"guā wō":["緺"],"yùn yūn wēn":["緼","縕"],"bāng bàng":["縍"],"gǔ hú":["縎","鶻"],"cī cuò suǒ":["縒"],"cuī shuāi":["縗"],"róng rǒng ròng":["縙"],"zài zēng":["縡"],cài:["縩","菜","蔡"],"féng fèng":["縫"],"suō sù":["縮","缩"],"yǎn yǐn":["縯","酓"],"zòng zǒng":["縱","纵"],"zhuàn juàn":["縳"],"mò mù":["縸","莫"],"piǎo piāo":["縹","缥"],"fán pó":["繁"],"bēng bèng":["繃"],"móu miù miào liǎo":["繆"],"yáo yóu zhòu":["繇"],"zēng zèng":["繒","缯"],"jú jué":["繘"],"chuō chuò":["繛"],"zūn zǔn":["繜"],rào:["繞","绕","遶"],"chǎn chán":["繟"],"huì huí":["繢","缋","藱"],"qiāo sāo zǎo":["繰"],"jiǎo zhuó":["繳","缴"],"dàn tán chán":["繵"],nǒng:["繷"],"pú fú":["纀"],"yào lì":["纅"],"rǎng xiāng":["纕"],"lí sǎ xǐ lǐ":["纚"],"xiān qiàn":["纤"],"jīng jìng":["经"],"tí tì":["绨"],"bēng běng bèng":["绷"],"zōng zèng":["综"],"jī qī":["缉"],"wēn yùn yūn":["缊"],"fèng féng":["缝"],"shuāi cuī suī":["缞"],"miù móu liáo miào mù":["缪"],"qiāo sāo":["缲"],fǒu:["缶","缹","缻","雬","鴀"],"bà ba pí":["罢","罷"],"guà guǎi":["罫"],"yáng xiáng":["羊","羏"],"měi gāo":["羙"],"yì xī":["羛"],"qiǎng qiān":["羟"],"qiāng kòng":["羫"],"qián xián yán":["羬"],nóu:["羺"],"hóng gòng":["羾"],"pī bì pō":["翍"],"qú yù":["翑"],ké:["翗"],"qiào qiáo":["翘"],"zhái dí":["翟"],"dào zhōu":["翢"],"hóu qú":["翵"],shuǎ:["耍"],"ruǎn nuò":["耎"],"ér nài":["耏"],"zhuān duān":["耑"],"pá bà":["耙"],"chí sì":["耛"],"qù chú":["耝"],"lún lǔn":["耣"],"jí jiè":["耤"],"tāng tǎng":["耥"],pǎng:["耪","覫"],"zhá zé":["耫"],"yē yé":["耶"],"yún yíng":["耺"],"wà tuǐ zhuó":["聉"],"ér nǜ":["聏"],"tiē zhé":["聑"],"dǐ zhì":["聜"],qié:["聺"],"nǐ jiàn":["聻"],"lèi lē":["肋"],cào:["肏","襙","鄵","鼜"],"bó dí":["肑"],"xiào xiāo":["肖"],"dù dǔ":["肚"],chāi:["肞","釵","钗"],"hán qín hàn":["肣"],"pàng pán pàn":["肨","胖"],"zhūn chún":["肫"],āng:["肮","骯"],"yù yō":["育"],"pí bǐ bì":["肶"],"fèi bì":["胇"],"bèi bēi":["背"],"fèi zǐ":["胏"],"píng pēng":["胓","苹"],"fū fú zhǒu":["胕"],"shèng shēng":["胜"],kuà:["胯","跨","骻"],"gǎi hǎi":["胲"],"gē gé gā":["胳"],"néng nài":["能"],"guī kuì":["胿"],"mài mò":["脉"],"zāng zàng":["脏"],"jiǎo jué":["脚","角"],cuǒ:["脞"],"de te":["脦"],"zuī juān":["脧"],něi:["脮","腇","餒","馁","鮾","鯘"],"pú fǔ":["脯"],niào:["脲"],shuí:["脽"],guò:["腂","過","鐹"],"là xī":["腊"],"yān ā":["腌"],"gāo gào":["膏"],"lù biāo":["膔"],chuái:["膗"],"zhuān chuán chún zhuǎn":["膞"],chuài:["膪","踹"],"fán pán":["膰"],"wǔ hū":["膴"],"shān dàn":["膻"],tún:["臀","臋","蛌","豘","豚","軘","霕","飩","饨","魨","鲀","黗"],"bì bei":["臂"],"là gé":["臈"],"sào sāo":["臊"],nào:["臑","閙","闹","鬧"],"ní luán":["臡"],"qiān xián":["臤"],"guàng jiǒng":["臦"],"guǎng jiǒng":["臩"],"chòu xiù":["臭"],"mián biān":["臱"],"dié zhí":["臷"],"zhī jìn":["臸"],"shè shě":["舍"],pù:["舖","舗"],"bān bō pán":["般"],kuā:["舿"],"gèn gěn":["艮"],"sè shǎi":["色"],"fú bó":["艴"],"jiāo qiú":["艽"],"chāi chā":["芆"],"sháo què":["芍"],"hù xià":["芐"],"zì zǐ":["芓"],"huì hū":["芔"],"tún chūn":["芚"],"jiè gài":["芥"],"xù zhù":["芧"],"yuán yán":["芫"],"xīn xìn":["芯"],"lún huā":["芲"],"wù hū":["芴"],"gōu gǒu":["芶"],"mào máo":["芼"],"fèi fú":["芾"],"chán yín":["苂"],qiē:["苆"],"sū sù":["苏"],"tiáo sháo":["苕"],"lì jī":["苙"],"kē hē":["苛"],"jù qǔ":["苣"],"ruò rě":["若"],"zhù níng":["苧"],"pā bó":["苩"],xiú:["苬"],"zhǎ zuó":["苲"],"jū chá":["苴"],nié:["苶"],"shēng ruí":["苼"],"qié jiā":["茄"],"zǐ cí":["茈"],"qiàn xī":["茜"],chǎi:["茝"],"fá pèi":["茷"],ráo:["荛","蕘","襓","饒","饶"],"yíng xíng":["荥"],"qián xún":["荨","蕁"],"yìn yīn":["荫"],"hé hè":["荷"],"shā suō":["莎"],"péng fēng":["莑"],"shēn xīn":["莘"],"wǎn guān guǎn":["莞"],"yóu sù":["莤"],"shāo xiāo":["莦","蛸"],"làng liáng":["莨"],"piǎo fú":["莩"],"wèn wǎn miǎn":["莬"],"shì shí":["莳","蒔"],"tù tú":["莵"],"xiān liǎn":["莶","薟"],"wǎn yù":["菀"],"zōu chù":["菆"],"lù lǜ":["菉"],"jūn jùn":["菌"],"niè rěn":["菍"],"zī zì zāi":["菑"],"tú tù":["菟"],"jiē shà":["菨"],"qiáo zhǎo":["菬"],"tái zhī chí":["菭"],"fēi fěi":["菲","蜚"],"qín qīn jīn":["菳"],"zū jù":["菹","蒩"],"lǐn má":["菻"],"tián tiàn":["菾"],tiē:["萜","貼","贴"],"luò là lào luō":["落"],"zhù zhuó zhe":["著"],"shèn rèn":["葚"],"gě gé":["葛"],"jùn suǒ":["葰"],"kuì kuài":["蒉"],"rú ná":["蒘"],"méng mēng měng":["蒙"],"yuán huán":["蒝"],"xú shú":["蒣"],"xí xì":["蒵"],"mì míng":["蓂"],"sōu sǒu":["蓃"],"gài gě hé hài":["蓋"],"yǎo zhuó":["蓔"],"diào tiáo dí":["蓧"],"xū qiū fū":["蓲"],"zí jú":["蓻"],"liǎo lù":["蓼"],xu:["蓿"],"hàn hǎn":["蔊"],"màn wàn mán":["蔓"],"pó bò":["蔢"],"fān fán bō":["蕃"],"hóng hòng":["蕻"],"yù ào":["薁","隩"],"xí xiào":["薂"],"báo bó bò":["薄"],"cí zī":["薋"],"wàn luàn":["薍"],"kǎo hāo":["薧"],"yuǎn wěi":["薳"],"zhòu chóu":["薵"],"wō mái":["薶"],"xiāo hào":["藃"],"yù xù xū":["藇"],"jiè jí":["藉"],"diào zhuó":["藋"],"cáng zàng":["藏"],lǎ:["藞"],"chú zhū":["藸"],"pín píng":["蘋"],"gān hán":["虷"],"hóng jiàng":["虹"],"huī huǐ":["虺"],"xiā há":["虾"],"mǎ mà mā":["蚂"],"fāng bàng":["蚄"],"bàng bèng":["蚌"],"jué quē":["蚗"],"qín qián":["蚙"],"gōng zhōng":["蚣"],"fǔ fù":["蚥"],"dài dé":["蚮"],"gǒu qú xù":["蚼"],"bǒ pí":["蚾"],"shé yí":["蛇"],tiě:["蛈","鉄","銕","鐡","鐵","铁","驖"],"gé luò":["蛒"],"máng bàng":["蛖"],"yì xǔ":["蛡"],"há gé":["蛤"],"qiè ní":["蛪"],"é yǐ":["蛾"],"zhē zhé":["蜇"],"là zhà":["蜡"],suò:["蜶","逤"],"yóu qiú":["蝤"],"xiā hā":["蝦"],"xī qī":["螇"],"bī pí":["螕"],"nài něng":["螚"],"hé xiá":["螛"],"guì huǐ":["螝"],"mǎ mā mà":["螞"],"shì zhē":["螫"],"zhì dié":["螲"],"jiàn chán":["螹"],"ma má mò":["蟆"],"mǎng měng":["蟒"],"biē bié":["蟞"],"bēn fèi":["蟦"],"láo liáo":["蟧"],"yín xún":["蟫"],"lí lǐ":["蠡"],"xuè xiě":["血"],"xíng háng hàng héng":["行"],"shuāi cuī":["衰"],"tuó tuō":["袉"],"lǐng líng":["袊"],"bào páo pào":["袌"],"jù jiē":["袓"],"hè kè":["袔"],"yí yì":["袘","貤"],"nà jué":["袦"],"bèi pī":["被"],"chǐ nuǒ":["袲"],"chǐ qǐ duǒ nuǒ":["袳"],"jiá qiā jié":["袷"],"bó mò":["袹"],"guī guà":["袿"],"liè liě":["裂"],"chéng chěng":["裎"],"jiē gé":["裓"],"dāo chóu":["裯"],"shang cháng":["裳"],"yuān gǔn":["裷"],"yǎn ān":["裺"],"tì xī":["裼"],"fù fú":["褔"],"chǔ zhǔ":["褚"],"tuì tùn":["褪"],lǎi:["襰"],"yào yāo":["要"],"qín tán":["覃"],"jiàn xiàn":["見","见"],piǎn:["覑","諞","谝","貵","𡎚"],"piē miè":["覕"],"yíng yǐng":["覮"],"qù qū":["覰","覷","觑"],"jiàn biǎn":["覵"],"luó luǎn":["覶"],"zī zuǐ":["觜"],"huà xiè":["觟"],"jiě jiè xiè":["解","觧"],"xué hù":["觷"],"lì lù":["觻"],tǎo:["討","讨"],zhùn:["訰"],"zī zǐ":["訾"],"yí dài":["詒","诒"],xiòng:["詗","诇"],"diào tiǎo":["誂"],"yí chǐ chì":["誃"],"lǎng làng":["誏"],"ēi éi ěi èi xī":["誒","诶"],shuà:["誜"],"yǔ yù":["語","语","雨"],"shuō shuì yuè":["說","说"],"shuí shéi":["誰","谁"],"qū juè":["誳"],"chī lài":["誺"],"nì ná":["誽"],"diào tiáo":["調"],"pǐ bēi":["諀"],"jì jī":["諅"],"zé zuò zhǎ cuò":["諎"],"chù jí":["諔"],"háo xià":["諕"],"lùn lún":["論","论"],"shì dì":["諟"],"huà guā":["諣"],"xǐ shāi āi":["諰"],"nán nàn":["諵","難"],miù:["謬","谬"],zèn:["譖","谮"],"shí zhì":["識","识"],"juàn xuān":["讂"],"yí tuī":["讉"],zhán:["讝"],"xǔ hǔ":["许"],"xiáng yáng":["详"],"tiáo diào zhōu":["调"],"chén shèn":["谌"],"mí mèi":["谜"],"màn mán":["谩"],"gǔ yù":["谷"],"huō huò huá":["豁"],"zhì zhài":["豸"],"huān huán":["貆"],"kěn kūn":["貇"],"mò hé":["貈"],"mò hé háo":["貉"],"jù lóu":["貗"],"zé zhài":["責","责"],"dài tè":["貸"],"bì bēn":["賁"],"jiǎ gǔ jià":["賈"],"xiōng mín":["賯"],càng:["賶"],"zhuàn zuàn":["賺","赚"],"wàn zhuàn":["贃"],"gàn gòng zhuàng":["贛"],"yuán yùn":["贠"],"bēn bì":["贲"],"jiǎ gǔ":["贾"],zǒu:["走","赱","鯐"],"dié tú":["趃"],"jū qiè":["趄"],"qū cù":["趋","趨"],"jí jié":["趌"],"guā huó":["趏"],"què qì jí":["趞"],"tàng tāng":["趟"],"chuō zhuó":["趠"],"qù cù":["趣"],"yuè tì":["趯"],"bō bào":["趵"],"kuà wù":["趶"],"guì jué":["趹"],"fāng fàng páng":["趽"],"páo bà":["跁"],"qí qǐ":["跂"],"jiàn chén":["跈"],"pǎo páo":["跑"],"diǎn diē tiē":["跕"],"jū jù qiè":["跙"],bǒ:["跛"],"luò lì":["跞"],"dài duò duō chí":["跢"],zhuǎi:["跩"],"bèng pián":["跰"],"tiào táo":["跳"],"shū chōu":["跾"],"liàng liáng":["踉"],"tà tā":["踏"],chǎ:["蹅","鑔","镲"],"dí zhí":["蹢"],"dēng dèng":["蹬","鐙","镫"],cèng:["蹭"],"dūn cún":["蹲"],"juě jué":["蹶"],liāo:["蹽"],"xiè sǎ":["躠"],tǐ:["躰","軆","骵"],"yà zhá gá":["轧","軋"],"xìn xiàn":["軐"],"fàn guǐ":["軓"],"zhuàn zhuǎn":["転"],"zhóu zhòu":["軸","轴"],bú:["轐","醭","鳪"],"zhuǎn zhuàn zhuǎi":["转"],"zǎi zài":["载"],"niǎn zhǎn":["辗"],"biān bian":["边"],"dào biān":["辺"],"yǐ yí":["迆","迤","迱"],"guò guo guō":["过"],"wàng kuāng":["迋"],"hái huán":["还"],"zhè zhèi":["这"],"yuǎn yuàn":["远"],"zhì lì":["迣"],"zhù wǎng":["迬"],"zhuī duī":["追"],"shì kuò":["适"],tòu:["透"],"tōng tòng":["通"],guàng:["逛"],"dǎi dài":["逮"],"suì suí":["遂"],"tí dì":["遆"],"yí wèi":["遗"],"shì dí zhé":["適"],cà:["遪"],"huán hái":["還"],"lí chí":["邌"],"kàng háng":["邟"],"nà nèi nā":["那"],"xié yá yé yú xú":["邪"],"gāi hái":["郂"],"huán xún":["郇"],"chī xī":["郗"],hǎo:["郝"],"lì zhí":["郦"],"xiáo ǎo":["郩"],"dōu dū":["都"],liǎo:["曢","鄝","镽"],"zàn cuán cuó":["酂","酇"],"dīng dǐng":["酊"],"cù zuò":["酢"],"fā pō":["酦"],"shāi shī":["酾"],niàng:["酿","醸"],"qiú chōu":["醔"],"pō fā":["醗","醱"],"chǎn chěn":["醦"],"yàn liǎn xiān":["醶"],"niàng niáng":["釀"],"lǐ li":["里"],"lí xǐ xī":["釐"],"liǎo liào":["釕"],"dīng dìng":["釘","钉"],"qiǎo jiǎo":["釥"],"yú huá":["釪"],"huá wū":["釫"],"rì rèn jiàn":["釰","釼"],"dì dài":["釱"],"pī zhāo":["釽"],"yá yé":["釾"],"bǎ pá":["鈀","钯"],"tā tuó":["鉈","铊"],běi:["鉳"],"bǐng píng":["鉼"],"hā kē":["鉿","铪"],chòng:["銃","铳"],"xiǎng jiōng":["銄"],"yù sì":["銉"],"xù huì":["銊"],"rén rěn":["銋"],"shàn shuò":["銏"],"chì lì":["銐"],"xiǎn xǐ":["銑","铣"],"hóu xiàng":["銗"],"diào tiáo yáo":["銚"],"xiān kuò tiǎn guā":["銛","銽","铦"],"zhé niè":["銸"],"zhōng yōng":["銿"],"tōu tù dòu":["鋀"],"méi méng":["鋂"],"wàn jiǎn":["鋄","鎫"],"tǐng dìng":["鋌","铤"],"juān jiān cuān":["鋑"],"sī tuó":["鋖"],"juān xuān juàn":["鋗"],"wú huá wū":["鋘"],"zhuó chuò":["鋜"],"xíng xìng jīng":["鋞"],"jū jú":["鋦","锔"],"zuì niè":["鋷"],"yuān yuǎn wǎn wān":["鋺"],"gāng gàng":["鋼","钢"],zhuī:["錐","锥","騅","骓","鵻"],ā:["錒","锕"],"cuō chā":["鎈"],"suǒ sè":["鎍"],"yáo zú":["鎐"],"yè tà gé":["鎑"],"qiāng chēng":["鎗"],"gé lì":["鎘","镉","鬲"],"bī pī bì":["鎞"],"gǎo hào":["鎬"],"zú chuò":["鏃"],"xiū xiù":["鏅"],"shòu sōu":["鏉"],"dí dī":["鏑","镝"],"qiāo sǎn càn":["鏒"],"lù áo":["鏕"],"tāng táng":["鏜"],"jiàn zàn":["鏩"],"huì suì ruì":["鏸"],"qiǎng qiāng":["鏹","镪"],"sǎn xiàn sà":["鏾"],"jiǎn jiàn":["鐧","锏"],"dāng chēng":["鐺","铛"],"zuān zuàn":["鑽"],"sà xì":["钑"],"yào yuè":["钥"],"tǒu dǒu":["钭"],"zuàn zuān":["钻"],"qiān yán":["铅"],"pí pī":["铍"],"yáo diào tiáo":["铫"],"tāng tàng":["铴"],"pù pū":["铺"],"tán xiān":["锬"],"liù liú":["镏"],"hào gǎo":["镐"],"táng tāng":["镗"],"tán chán xín":["镡"],"huò shǎn":["閄"],"hàn bì":["閈","闬"],"kāng kàng":["閌","闶"],"xián jiàn jiān jiǎn":["閒"],"xiā xiǎ":["閕"],"xiǎ kě":["閜"],"biàn guān":["閞"],"hé gé":["閤","颌"],"hòng xiàng":["閧"],"sē xī":["閪"],"tíng tǐng":["閮"],"è yān":["閼","阏"],"hòng juǎn xiàng":["闂"],"bǎn pàn":["闆"],"dū shé":["闍","阇"],"què quē":["闕"],"tāng táng chāng":["闛"],"kàn hǎn":["闞","阚"],"xì sè tà":["闟"],"mēn mèn":["闷"],"quē què":["阙"],"yán diàn":["阽"],"ā ē":["阿"],"bēi pō pí":["陂"],"yàn yǎn":["隁"],"yú yáo shù":["隃"],"lóng lōng":["隆"],"duì zhuì":["隊"],"suí duò":["隋"],"gāi qí ái":["隑"],"huī duò":["隓","隳"],"wěi kuí":["隗"],"lì dài":["隸"],"zhuī cuī wéi":["隹"],"hè hú":["隺","鶮"],"jùn juàn":["隽","雋"],"nán nàn nuó":["难"],"què qiāo qiǎo":["雀"],"guàn huán":["雚"],"guī xī":["雟"],"sè xí":["雭"],án:["雸"],"wù méng":["雺"],tèng:["霯"],"lù lòu":["露"],mái:["霾"],"jìng liàng":["靚"],"gé jí":["革"],bǎ:["靶"],"yāng yàng":["鞅"],"gé tà sǎ":["鞈"],"biān yìng":["鞕"],"qiào shāo":["鞘"],"juān xuān":["鞙"],"shàng zhǎng":["鞝"],"pí bǐng bì bēi":["鞞"],la:["鞡"],"xiè dié":["鞢"],ēng:["鞥"],"móu mù":["鞪"],"bì bǐng":["鞸"],"mèi wà":["韎"],rǒu:["韖"],"shè xiè":["韘"],"yùn wēn":["韫"],"dùn dú":["頓","顿"],duǐ:["頧"],luō:["頱"],"bīn pín":["頻"],yóng:["顒","颙","鰫"],mān:["顢","颟"],"jǐng gěng":["颈"],"jié xié jiá":["颉"],"kē ké":["颏"],"pín bīn":["频"],"chàn zhàn":["颤"],"fēng fěng":["風","风"],"biāo diū":["颩"],"bá fú":["颰"],"sāo sōu":["颾"],"liù liáo":["飂"],"shí sì yì":["食"],"yǎng juàn":["飬"],"zhù tǒu":["飳"],"yí sì":["飴"],"zuò zé zhā":["飵"],tiè:["飻","餮"],"xiǎng náng":["饟"],"táng xíng":["饧"],"gē le":["饹"],"chā zha":["馇"],"náng nǎng":["馕"],"yūn wò":["馧"],"zhī shì":["馶"],"xìn jìn":["馸"],"kuài jué":["駃"],zǎng:["駔","驵"],"tái dài":["駘"],"xún xuān":["駨"],"liáng láng":["駺"],piàn:["騗","騙","骗","魸"],"dài tái":["骀"],"sāo sǎo":["骚"],"gǔ gū":["骨"],"bèi mó":["骳"],"xiāo qiāo":["骹"],"bǎng pǎng":["髈"],"bó jué":["髉"],"bì pǒ":["髲"],"máo méng":["髳"],"kuò yuè":["髺"],"bā bà":["魞","鲃"],"jì cǐ":["鮆"],"bó bà":["鮊"],"zhǎ zhà":["鮓","鲊"],"chóu dài":["鮘"],"luò gé":["鮥"],"guī xié wā kuí":["鮭"],"xiān xiǎn":["鮮","鲜"],"pū bū":["鯆"],"yì sī":["鯣"],"bà bó":["鲌"],"guī xié":["鲑"],"sāi xǐ":["鳃"],"niǎo diǎo":["鳥"],"diāo zhāo":["鳭"],"gān hàn yàn":["鳱"],"fū guī":["鳺"],"jiān qiān zhān":["鳽"],"hé jiè":["鶡"],"piān biǎn":["鶣"],"chuàn zhì":["鶨"],"cāng qiāng":["鶬"],"sǔn xùn":["鶽"],"biāo páo":["麃"],"zhù cū":["麆"],"jūn qún":["麇","麕"],chi:["麶"],"mó me":["麼"],"mó me ma":["麽"],"mí mǒ":["麿"],"dàn shèn":["黮"],"zhěn yān":["黰"],"dǎn zhǎn":["黵"],"miǎn mǐn měng":["黾"],hōu:["齁"],nàng:["齉"],"qí jì zī zhāi":["齐"],"yín kěn yǎn":["龂"],"yín kěn":["龈"],"gōng wò":["龏"],"guī jūn qiū":["龜","龟"],"kuí wā":["䖯"],lōu:["䁖"],"ōu qū":["𫭟"],"lóu lǘ":["𦝼"],"gǎ gā gá":["嘎"],"wā guà":["坬"],"zhǐ dǐ":["茋"],"gǒng hóng":["硔"],"yáo xiào":["滧"]},G=new qi;Object.keys(Jn).forEach(n=>{const i=Jn[n];for(let g of i)G.set(g,n)});const ah=["zh","ch","sh","z","c","s","b","p","m","f","d","t","n","l","g","k","h","j","q","x","r","y","w",""],rh=["j","q","x"],jh=["uān","uán","uǎn","uàn","uan","uē","ué","uě","uè","ue","ūn","ún","ǔn","ùn","un","ū","ú","ǔ","ù","u"],bh={uān:"üān",uán:"üán",uǎn:"üǎn",uàn:"üàn",uan:"üan",uē:"üē",ué:"üé",uě:"üě",uè:"üè",ue:"üe",ūn:"ǖn",ún:"ǘn",ǔn:"ǚn",ùn:"ǜn",un:"ün",ū:"ǖ",ú:"ǘ",ǔ:"ǚ",ù:"ǜ",u:"ü"},mh=["ia","ian","iang","iao","ie","iu","iong","ua","uai","uan","uang","ue","ui","uo","üan","üe","van","ve"],ni={一:"yì",二:"èr",三:"sān",四:"sì",五:"wǔ",六:"liù",七:"qī",八:"bā",九:"jiǔ",十:"shí",百:"bǎi",千:"qiān",万:"wàn",亿:"yì",单:"dān",两:"liǎng",双:"shuāng",多:"duō",几:"jǐ",十一:"shí yī",零一:"líng yī",第一:"dì yī",一十:"yī shí",一十一:"yī shí yī"},ii={重:"chóng",行:"háng",斗:"dǒu",更:"gēng"};function xh(){const n={零一:"líng yī","〇一":"líng yī",十一:"shí yī",一十:"yī shí",第一:"dì yī",一十一:"yī shí yī"};for(let i in ni)for(let g in ii){const u=`${i}${g}`,h=`${ni[i]} ${ii[g]}`;n[u]=h}return n}const gi=xh(),fh=Object.keys(gi).map(n=>({zh:n,pinyin:gi[n],probability:1e-12,length:O(n),priority:R.Normal,dict:Symbol("rule")})),pi={不:{bú:[4]},一:{yí:[4],yì:[1,2,3]}},wh={不:["的","而","之","后","也","还","地"],一:["的","而","之","后","也","还","是"]},qh=Object.keys(pi);function ph(n,i,g){if(qh.indexOf(n)===-1)return dn(n);if(i===g&&i&&dn(i)!==i)return kn(dn(n));if(g&&!wh[n].includes(g)){const u=dn(g);if(u!==g){const h=Tn(u),e=pi[n];for(let s in e)if(e[s].indexOf(Number(h))!==-1)return s}}}function vh(n,i){if(n==="了"&&(!i||!G.get(i)))return"liǎo"}function kh(n,i){if(n==="々")return!i||!G.get(i)?"tóng":G.get(i).split(" ")[0]}function hi(n,i,g){return kh(n,i)||vh(n,i)||ph(n,i,g)||dn(n)}const _n={南宫:"nán gōng",第五:"dì wǔ",万俟:"mò qí",司马:"sī mǎ",上官:"shàng guān",欧阳:"ōu yáng",夏侯:"xià hóu",诸葛:"zhū gě",闻人:"wén rén",东方:"dōng fāng",赫连:"hè lián",皇甫:"huáng fǔ",尉迟:"yù chí",公羊:"gōng yáng",澹台:"tán tái",公冶:"gōng yě",宗政:"zōng zhèng",濮阳:"pú yáng",淳于:"chún yú",太叔:"tài shū",申屠:"shēn tú",公孙:"gōng sūn",仲孙:"zhòng sūn",轩辕:"xuān yuán",令狐:"líng hú",钟离:"zhōng lí",宇文:"yǔ wén",长孙:"zhǎng sūn",慕容:"mù róng",鲜于:"xiān yú",闾丘:"lǘ qiū",司徒:"sī tú",司空:"sī kōng",亓官:"qí guān",司寇:"sī kòu",仉督:"zhǎng dū",子车:"zǐ jū",颛孙:"zhuān sūn",端木:"duān mù",巫马:"wū mǎ",公西:"gōng xī",漆雕:"qī diāo",乐正:"yuè zhèng",壤驷:"rǎng sì",公良:"gōng liáng",拓跋:"tuò bá",夹谷:"jiá gǔ",宰父:"zǎi fǔ",榖梁:"gǔ liáng",段干:"duàn gān",百里:"bǎi lǐ",东郭:"dōng guō",南门:"nán mén",呼延:"hū yán",羊舌:"yáng shé",梁丘:"liáng qiū",左丘:"zuǒ qiū",东门:"dōng mén",西门:"xī mén",句龙:"gōu lóng",毌丘:"guàn qiū",赵:"zhào",钱:"qián",孙:"sūn",李:"lǐ",周:"zhōu",吴:"wú",郑:"zhèng",王:"wáng",冯:"féng",陈:"chén",褚:"chǔ",卫:"wèi",蒋:"jiǎng",沈:"shěn",韩:"hán",杨:"yáng",朱:"zhū",秦:"qín",尤:"yóu",许:"xǔ",何:"hé",吕:"lǚ",施:"shī",张:"zhāng",孔:"kǒng",曹:"cáo",严:"yán",华:"huà",金:"jīn",魏:"wèi",陶:"táo",姜:"jiāng",戚:"qī",谢:"xiè",邹:"zōu",喻:"yù",柏:"bǎi",水:"shuǐ",窦:"dòu",章:"zhāng",云:"yún",苏:"sū",潘:"pān",葛:"gě",奚:"xī",范:"fàn",彭:"péng",郎:"láng",鲁:"lǔ",韦:"wéi",昌:"chāng",马:"mǎ",苗:"miáo",凤:"fèng",花:"huā",方:"fāng",俞:"yú",任:"rén",袁:"yuán",柳:"liǔ",酆:"fēng",鲍:"bào",史:"shǐ",唐:"táng",费:"fèi",廉:"lián",岑:"cén",薛:"xuē",雷:"léi",贺:"hè",倪:"ní",汤:"tāng",滕:"téng",殷:"yīn",罗:"luó",毕:"bì",郝:"hǎo",邬:"wū",安:"ān",常:"cháng",乐:"yuè",于:"yú",时:"shí",傅:"fù",皮:"pí",卞:"biàn",齐:"qí",康:"kāng",伍:"wǔ",余:"yú",元:"yuán",卜:"bǔ",顾:"gù",孟:"mèng",平:"píng",黄:"huáng",和:"hé",穆:"mù",萧:"xiāo",尹:"yǐn",姚:"yáo",邵:"shào",湛:"zhàn",汪:"wāng",祁:"qí",毛:"máo",禹:"yǔ",狄:"dí",米:"mǐ",贝:"bèi",明:"míng",臧:"zāng",计:"jì",伏:"fú",成:"chéng",戴:"dài",谈:"tán",宋:"sòng",茅:"máo",庞:"páng",熊:"xióng",纪:"jǐ",舒:"shū",屈:"qū",项:"xiàng",祝:"zhù",董:"dǒng",梁:"liáng",杜:"dù",阮:"ruǎn",蓝:"lán",闵:"mǐn",席:"xí",季:"jì",麻:"má",强:"qiáng",贾:"jiǎ",路:"lù",娄:"lóu",危:"wēi",江:"jiāng",童:"tóng",颜:"yán",郭:"guō",梅:"méi",盛:"shèng",林:"lín",刁:"diāo",钟:"zhōng",徐:"xú",邱:"qiū",骆:"luò",高:"gāo",夏:"xià",蔡:"cài",田:"tián",樊:"fán",胡:"hú",凌:"líng",霍:"huò",虞:"yú",万:"wàn",支:"zhī",柯:"kē",昝:"zǎn",管:"guǎn",卢:"lú",莫:"mò",经:"jīng",房:"fáng",裘:"qiú",缪:"miào",干:"gān",解:"xiè",应:"yīng",宗:"zōng",丁:"dīng",宣:"xuān",贲:"bēn",邓:"dèng",郁:"yù",单:"shàn",杭:"háng",洪:"hóng",包:"bāo",诸:"zhū",左:"zuǒ",石:"shí",崔:"cuī",吉:"jí",钮:"niǔ",龚:"gōng",程:"chéng",嵇:"jī",邢:"xíng",滑:"huá",裴:"péi",陆:"lù",荣:"róng",翁:"wēng",荀:"xún",羊:"yáng",於:"yū",惠:"huì",甄:"zhēn",曲:"qū",家:"jiā",封:"fēng",芮:"ruì",羿:"yì",储:"chǔ",靳:"jìn",汲:"jí",邴:"bǐng",糜:"mí",松:"sōng",井:"jǐng",段:"duàn",富:"fù",巫:"wū",乌:"wū",焦:"jiāo",巴:"bā",弓:"gōng",牧:"mù",隗:"wěi",山:"shān",谷:"gǔ",车:"chē",侯:"hóu",宓:"mì",蓬:"péng",全:"quán",郗:"xī",班:"bān",仰:"yǎng",秋:"qiū",仲:"zhòng",伊:"yī",宫:"gōng",宁:"nìng",仇:"qiú",栾:"luán",暴:"bào",甘:"gān",钭:"tǒu",厉:"lì",戎:"róng",祖:"zǔ",武:"wǔ",符:"fú",刘:"liú",景:"jǐng",詹:"zhān",束:"shù",龙:"lóng",叶:"yè",幸:"xìng",司:"sī",韶:"sháo",郜:"gào",黎:"lí",蓟:"jì",薄:"bó",印:"yìn",宿:"sù",白:"bái",怀:"huái",蒲:"pú",邰:"tái",从:"cóng",鄂:"è",索:"suǒ",咸:"xián",籍:"jí",赖:"lài",卓:"zhuó",蔺:"lìn",屠:"tú",蒙:"méng",池:"chí",乔:"qiáo",阴:"yīn",鬱:"yù",胥:"xū",能:"nài",苍:"cāng",双:"shuāng",闻:"wén",莘:"shēn",党:"dǎng",翟:"zhái",谭:"tán",贡:"gòng",劳:"láo",逄:"páng",姬:"jī",申:"shēn",扶:"fú",堵:"dǔ",冉:"rǎn",宰:"zǎi",郦:"lì",雍:"yōng",郤:"xì",璩:"qú",桑:"sāng",桂:"guì",濮:"pú",牛:"niú",寿:"shòu",通:"tōng",边:"biān",扈:"hù",燕:"yān",冀:"jì",郏:"jiá",浦:"pǔ",尚:"shàng",农:"nóng",温:"wēn",别:"bié",庄:"zhuāng",晏:"yàn",柴:"chái",瞿:"qú",阎:"yán",充:"chōng",慕:"mù",连:"lián",茹:"rú",习:"xí",宦:"huàn",艾:"ài",鱼:"yú",容:"róng",向:"xiàng",古:"gǔ",易:"yì",慎:"shèn",戈:"gē",廖:"liào",庾:"yǔ",终:"zhōng",暨:"jì",居:"jū",衡:"héng",步:"bù",都:"dū",耿:"gěng",满:"mǎn",弘:"hóng",匡:"kuāng",国:"guó",文:"wén",寇:"kòu",广:"guǎng",禄:"lù",阙:"quē",东:"dōng",欧:"ōu",殳:"shū",沃:"wò",利:"lì",蔚:"wèi",越:"yuè",夔:"kuí",隆:"lóng",师:"shī",巩:"gǒng",厍:"shè",聂:"niè",晁:"cháo",勾:"gōu",敖:"áo",融:"róng",冷:"lěng",訾:"zī",辛:"xīn",阚:"kàn",那:"nā",简:"jiǎn",饶:"ráo",空:"kōng",曾:"zēng",母:"mǔ",沙:"shā",乜:"niè",养:"yǎng",鞠:"jū",须:"xū",丰:"fēng",巢:"cháo",关:"guān",蒯:"kuǎi",相:"xiàng",查:"zhā",后:"hòu",荆:"jīng",红:"hóng",游:"yóu",竺:"zhú",权:"quán",逯:"lù",盖:"gě",益:"yì",桓:"huán",公:"gōng",牟:"móu",哈:"hǎ",言:"yán",福:"fú",肖:"xiāo",区:"ōu",覃:"qín",朴:"piáo",繁:"pó",员:"yùn",句:"gōu",要:"yāo",过:"guō",钻:"zuān",谌:"chén",折:"shé",召:"shào",郄:"qiè",撒:"sǎ",甯:"nìng",六:"lù",啜:"chuài",行:"xíng"},Th=Object.keys(_n).map(n=>({zh:n,pinyin:_n[n],probability:1+O(n),length:O(n),priority:R.Surname,dict:Symbol("surname")})),ui={这个:"zhè ge",成为:"chéng wéi",认为:"rèn wéi",作为:"zuò wéi",部分:"bù fen",要求:"yāo qiú",应该:"yīng gāi",增长:"zēng zhǎng",提供:"tí gōng",觉得:"jué de",任务:"rèn wu",那个:"nà ge",称为:"chēng wéi",为主:"wéi zhǔ",了解:"liǎo jiě",处理:"chǔ lǐ",皇上:"huáng shang",只要:"zhǐ yào",大量:"dà liàng",力量:"lì liàng",几乎:"jī hū",干部:"gàn bù",目的:"mù dì",行为:"xíng wéi",只见:"zhǐ jiàn",认识:"rèn shi",市长:"shì zhǎng",师父:"shī fu",调查:"diào chá",重新:"chóng xīn",分为:"fēn wéi",知识:"zhī shi",导弹:"dǎo dàn",质量:"zhì liàng",行款:"háng kuǎn",行列:"háng liè",行话:"háng huà",行业:"háng yè",隔行:"gé háng",在行:"zài háng",行家:"háng jia",内行:"nèi háng",外行:"wài háng",同行:"tóng háng",本行:"běn háng",行伍:"háng wǔ",洋行:"yáng háng",银行:"yín háng",商行:"shāng háng",支行:"zhī háng",总行:"zǒng háng",行情:"háng qíng",懂行:"dǒng háng",行规:"háng guī",行当:"háng dang",行货:"háng huò",太行:"tài háng",入行:"rù háng",中行:"zhōng háng",农行:"nóng háng",工行:"gōng háng",建行:"jiàn háng",各行:"gè háng",行号:"háng hào",行高:"háng gāo",行首:"háng shǒu",行尾:"háng wěi",行末:"háng mò",行长:"háng cháng",行距:"háng jù",换行:"huàn háng",行会:"háng huì",行辈:"háng bèi",行道:"háng dào",道行:"dào heng",参与:"cān yù",充分:"chōng fèn",尽管:"jǐn guǎn",生长:"shēng zhǎng",数量:"shù liàng",应当:"yīng dāng",院长:"yuàn zhǎng",强调:"qiáng diào",只能:"zhǐ néng",音乐:"yīn yuè",以为:"yǐ wéi",处于:"chǔ yú",部长:"bù zhǎng",蒙古:"měng gǔ",只有:"zhǐ yǒu",适当:"shì dàng",只好:"zhǐ hǎo",成长:"chéng zhǎng",高兴:"gāo xìng",不了:"bù liǎo",产量:"chǎn liàng",胖子:"pàng zi",显得:"xiǎn de",只是:"zhǐ shì",似的:"shì de",率领:"shuài lǐng",改为:"gǎi wéi",不禁:"bù jīn",成分:"chéng fèn",答应:"dā ying",少年:"shào nián",兴趣:"xìng qù",太监:"tài jian",休息:"xiū xi",校长:"xiào zhǎng",更新:"gēng xīn",合同:"hé tong",喝道:"hè dào",重庆:"chóng qìng",重建:"chóng jiàn",使得:"shǐ de",审查:"shěn chá",累计:"lěi jì",给予:"jǐ yǔ",极为:"jí wéi",冠军:"guàn jūn",仿佛:"fǎng fú",头发:"tóu fa",投降:"tóu xiáng",家长:"jiā zhǎng",仔细:"zǐ xì",要是:"yào shi",将领:"jiàng lǐng",含量:"hán liàng",更为:"gèng wéi",积累:"jī lěi",地处:"dì chǔ",县长:"xiàn zhǎng",少女:"shào nǚ",路上:"lù shang",只怕:"zhǐ pà",能量:"néng liàng",储量:"chǔ liàng",供应:"gōng yìng",挑战:"tiǎo zhàn",西藏:"xī zàng",记得:"jì de",总量:"zǒng liàng",当真:"dàng zhēn",将士:"jiàng shì",差别:"chā bié",较为:"jiào wéi",长老:"zhǎng lǎo",大夫:"dài fu",差异:"chā yì",懂得:"dǒng de",尽量:"jǐn liàng",模样:"mú yàng",的确:"dí què",为首:"wéi shǒu",便宜:"pián yi",更名:"gēng míng",石头:"shí tou",州长:"zhōu zhǎng",为止:"wéi zhǐ",漂亮:"piào liang",炮弹:"pào dàn",藏族:"zàng zú",角色:"jué sè",当作:"dàng zuò",尽快:"jǐn kuài",人为:"rén wéi",重复:"chóng fù",胡同:"hú tòng",差距:"chā jù",弟兄:"dì xiong",大将:"dà jiàng",睡觉:"shuì jiào",一觉:"yí jiào",团长:"tuán zhǎng",队长:"duì zhǎng",区长:"qū zhǎng",难得:"nán dé",丫头:"yā tou",会长:"huì zhǎng",弟弟:"dì di",王爷:"wáng ye",重量:"zhòng liàng",誉为:"yù wéi",家伙:"jiā huo",华山:"huà shān",椅子:"yǐ zi",流量:"liú liàng",长大:"zhǎng dà",勉强:"miǎn qiǎng",会计:"kuài jì",过分:"guò fèn",济南:"jǐ nán",调动:"diào dòng",燕京:"yān jīng",少将:"shào jiàng",中毒:"zhòng dú",晓得:"xiǎo de",变更:"biàn gēng",打更:"dǎ gēng",认得:"rèn de",苹果:"píng guǒ",念头:"niàn tou",挣扎:"zhēng zhá",三藏:"sān zàng",剥削:"bō xuē",丞相:"chéng xiàng",少量:"shǎo liàng",寻思:"xún si",夺得:"duó dé",干线:"gàn xiàn",呼吁:"hū yù",处罚:"chǔ fá",长官:"zhǎng guān",柏林:"bó lín",亲戚:"qīn qi",身分:"shēn fèn",胳膊:"gē bo",着手:"zhuó shǒu",炸弹:"zhà dàn",咳嗽:"ké sou",叶子:"yè zi",外长:"wài zhǎng",供给:"gōng jǐ",师长:"shī zhǎng",变量:"biàn liàng",应有:"yīng yǒu",下载:"xià zài",乐器:"yuè qì",间接:"jiàn jiē",底下:"dǐ xià",打扮:"dǎ bàn",子弹:"zǐ dàn",弹药:"dàn yào",热量:"rè liàng",削弱:"xuē ruò",骨干:"gǔ gàn",容量:"róng liàng",模糊:"mó hu",转动:"zhuàn dòng",称呼:"chēng hu",科长:"kē zhǎng",处置:"chǔ zhì",着重:"zhuó zhòng",着急:"zháo jí",强迫:"qiǎng pò",庭长:"tíng zhǎng",首相:"shǒu xiàng",喇嘛:"lǎ ma",镇长:"zhèn zhǎng",只管:"zhǐ guǎn",重重:"chóng chóng",免得:"miǎn de",着实:"zhuó shí",度假:"dù jià",真相:"zhēn xiàng",相貌:"xiàng mào",处分:"chǔ fèn",委屈:"wěi qu",为期:"wéi qī",伯伯:"bó bo",伯子:"bǎi zi",圈子:"quān zi",见识:"jiàn shi",笼罩:"lǒng zhào",与会:"yù huì",都督:"dū du",都市:"dū shì",成都:"chéng dū",首都:"shǒu dū",帝都:"dì dū",王都:"wáng dū",东都:"dōng dū",都护:"dū hù",都城:"dū chéng",建都:"jiàn dū",迁都:"qiān dū",故都:"gù dū",定都:"dìng dū",中都:"zhōng dū",六安:"lù ān",宰相:"zǎi xiàng",较量:"jiào liàng",对称:"duì chèn",总长:"zǒng zhǎng",相公:"xiàng gong",空白:"kòng bái",打量:"dǎ liang",水分:"shuǐ fèn",舌头:"shé tou",没收:"mò shōu",行李:"xíng li",判处:"pàn chǔ",散文:"sǎn wén",处境:"chǔ jìng",孙子:"sūn zi",拳头:"quán tou",打发:"dǎ fā",组长:"zǔ zhǎng",骨头:"gǔ tou",宁可:"nìng kě",更换:"gēng huàn",薄弱:"bó ruò",还原:"huán yuán",重修:"chóng xiū",重来:"chóng lái",只顾:"zhǐ gù",爱好:"ài hào",馒头:"mán tou",军长:"jūn zhǎng",首长:"shǒu zhǎng",厂长:"chǎng zhǎng",司长:"sī zhǎng",长子:"zhǎng zǐ",强劲:"qiáng jìng",恰当:"qià dàng",头儿:"tóu er",站长:"zhàn zhǎng",折腾:"zhē teng",相处:"xiāng chǔ",统率:"tǒng shuài",中将:"zhōng jiàng",命中:"mìng zhòng",名将:"míng jiàng",木头:"mù tou",动弹:"dòng tan",地壳:"dì qiào",干活:"gàn huó",少爷:"shào ye",水量:"shuǐ liàng",补给:"bǔ jǐ",尾巴:"wěi ba",来得:"lái de",好奇:"hào qí",钥匙:"yào shi",当做:"dàng zuò",沉着:"chén zhuó",哑巴:"yǎ ba",车子:"chē zi",上将:"shàng jiàng",恶心:"ě xīn",担子:"dàn zi",应届:"yīng jiè",主角:"zhǔ jué",运转:"yùn zhuǎn",兄长:"xiōng zhǎng",格式:"gé shì",正月:"zhēng yuè",营长:"yíng zhǎng",当成:"dàng chéng",女婿:"nǚ xu",咽喉:"yān hóu",重阳:"chóng yáng",化为:"huà wéi",吐蕃:"tǔ bō",钻进:"zuān jìn",乐队:"yuè duì",亮相:"liàng xiàng",被子:"bèi zi",舍得:"shě de",杉木:"shā mù",击中:"jī zhòng",排长:"pái zhǎng",假期:"jià qī",分量:"fèn liàng",数次:"shù cì",提防:"dī fáng",吆喝:"yāo he",查处:"chá chǔ",量子:"liàng zǐ",里头:"lǐ tou",调研:"diào yán",伺候:"cì hou",重申:"chóng shēn",枕头:"zhěn tou",拚命:"pīn mìng",社长:"shè zhǎng",归还:"guī huán",批量:"pī liàng",畜牧:"xù mù",点着:"diǎn zháo",甚为:"shèn wéi",小将:"xiǎo jiàng",着眼:"zhuó yǎn",处死:"chǔ sǐ",厌恶:"yàn wù",鼓乐:"gǔ yuè",树干:"shù gàn",秘鲁:"bì lǔ",大方:"dà fāng",外头:"wài tou",班长:"bān zhǎng",星宿:"xīng xiù",宁愿:"nìng yuàn",钦差:"qīn chāi",为数:"wéi shù",勾当:"gòu dàng",削减:"xuē jiǎn",间谍:"jiàn dié",埋怨:"mán yuàn",结实:"jiē shi",计量:"jì liáng",淹没:"yān mò",村长:"cūn zhǎng",连长:"lián zhǎng",自给:"zì jǐ",武将:"wǔ jiàng",温差:"wēn chā",直奔:"zhí bèn",供求:"gōng qiú",剂量:"jì liàng",道长:"dào zhǎng",泄露:"xiè lòu",王八:"wáng ba",切割:"qiē gē",间隔:"jiàn gé",一晃:"yì huǎng",长假:"cháng jià",令狐:"líng hú",为害:"wéi hài",句子:"jù zi",偿还:"cháng huán",疙瘩:"gē da",燕山:"yān shān",堵塞:"dǔ sè",夺冠:"duó guàn",扎实:"zhā shi",电荷:"diàn hè",看守:"kān shǒu",复辟:"fù bì",郁闷:"yù mèn",尽早:"jǐn zǎo",切断:"qiē duàn",指头:"zhǐ tou",为生:"wéi shēng",畜生:"chù sheng",切除:"qiē chú",着力:"zhuó lì",着想:"zhuó xiǎng",级差:"jí chā",投奔:"tóu bèn",棍子:"gùn zi",含糊:"hán hu",少妇:"shào fù",兴致:"xìng zhì",纳闷:"nà mèn",干流:"gàn liú",卷起:"juǎn qǐ",扇子:"shàn zi",更改:"gēng gǎi",笼络:"lǒng luò",喇叭:"lǎ ba",载荷:"zài hè",妥当:"tuǒ dàng",为难:"wéi nán",着陆:"zhuó lù",燕子:"yàn zi",干吗:"gàn má",白发:"bái fà",总得:"zǒng děi",夹击:"jiā jī",曝光:"bào guāng",曲调:"qǔ diào",相机:"xiàng jī",叫化:"jiào huà",角逐:"jué zhú",啊哟:"ā yō",载重:"zài zhòng",长辈:"zhǎng bèi",出差:"chū chāi",垛口:"duǒ kǒu",撇开:"piē kāi",厅长:"tīng zhǎng",组分:"zǔ fèn",误差:"wù chā",家当:"jiā dàng",传记:"zhuàn jì",个子:"gè zi",铺设:"pū shè",干事:"gàn shì",杆菌:"gǎn jūn",定量:"dìng liàng",运载:"yùn zài",会儿:"huì er",酋长:"qiú zhǎng",重返:"chóng fǎn",差额:"chā é",露面:"lòu miàn",钻研:"zuān yán",大城:"dài chéng",上当:"shàng dàng",销量:"xiāo liàng",作坊:"zuō fang",照相:"zhào xiàng",哎呀:"āi yā",调集:"diào jí",看中:"kàn zhòng",议长:"yì zhǎng",风筝:"fēng zheng",辟邪:"bì xié",空隙:"kòng xì",更迭:"gēng dié",偏差:"piān chā",声调:"shēng diào",适量:"shì liàng",屯子:"tún zi",无量:"wú liàng",空地:"kòng dì",调度:"diào dù",散射:"sǎn shè",创伤:"chuāng shāng",海参:"hǎi shēn",满载:"mǎn zài",重叠:"chóng dié",落差:"luò chā",单调:"dān diào",老将:"lǎo jiàng",人参:"rén shēn",间断:"jiàn duàn",重现:"chóng xiàn",夹杂:"jiā zá",调用:"diào yòng",萝卜:"luó bo",附着:"fù zhuó",应声:"yìng shēng",主将:"zhǔ jiàng",罪过:"zuì guo",咀嚼:"jǔ jué",为政:"wéi zhèng",过量:"guò liàng",乐曲:"yuè qǔ",负荷:"fù hè",枪弹:"qiāng dàn",悄然:"qiǎo rán",处方:"chǔ fāng",悄声:"qiǎo shēng",曲子:"qǔ zi",情调:"qíng diào",挑衅:"tiǎo xìn",代为:"dài wéi",了结:"liǎo jié",打中:"dǎ zhòng",酒吧:"jiǔ bā",懒得:"lǎn de",增量:"zēng liàng",衣着:"yī zhuó",部将:"bù jiàng",要塞:"yào sài",茶几:"chá jī",杠杆:"gàng gǎn",出没:"chū mò",鲜有:"xiǎn yǒu",间隙:"jiàn xì",重担:"zhòng dàn",重演:"chóng yǎn",重试:"chóng shì",应酬:"yìng chou",只当:"zhǐ dāng",毋宁:"wú nìng",包扎:"bāo zā",前头:"qián tou",卷烟:"juǎn yān",非得:"fēi děi",弹道:"dàn dào",杆子:"gān zi",门将:"mén jiàng",后头:"hòu tou",喝彩:"hè cǎi",暖和:"nuǎn huo",累积:"lěi jī",调遣:"diào qiǎn",倔强:"jué jiàng",宝藏:"bǎo zàng",丧事:"sāng shì",约莫:"yuē mo",纤夫:"qiàn fū",更替:"gēng tì",装载:"zhuāng zài",背包:"bēi bāo",帖子:"tiě zi",松散:"sōng sǎn",呼喝:"hū hè",可恶:"kě wù",自转:"zì zhuàn",供电:"gōng diàn",反省:"fǎn xǐng",坦率:"tǎn shuài",苏打:"sū dá",本分:"běn fèn",落得:"luò de",鄙薄:"bǐ bó",相间:"xiāng jiàn",单薄:"dān bó",混蛋:"hún dàn",贞观:"zhēn guān",附和:"fù hè",能耐:"néng nài",吓唬:"xià hu",未了:"wèi liǎo",引着:"yǐn zháo",抽调:"chōu diào",沙子:"shā zi",席卷:"xí juǎn",标的:"biāo dì",别扭:"biè niu",思量:"sī liang",喝采:"hè cǎi",论语:"lún yǔ",盖子:"gài zi",分外:"fèn wài",弄堂:"lòng táng",乐舞:"yuè wǔ",雨量:"yǔ liàng",毛发:"máo fà",差遣:"chāi qiǎn",背负:"bēi fù",转速:"zhuàn sù",声乐:"shēng yuè",夹攻:"jiā gōng",供水:"gōng shuǐ",主干:"zhǔ gàn",惩处:"chéng chǔ",长相:"zhǎng xiàng",公差:"gōng chāi",榴弹:"liú dàn",省得:"shěng de",条子:"tiáo zi",重围:"chóng wéi",阻塞:"zǔ sè",劲风:"jìng fēng",纠葛:"jiū gé",颠簸:"diān bǒ",点中:"diǎn zhòng",重创:"zhòng chuāng",姥姥:"lǎo lao",迷糊:"mí hu",公家:"gōng jia",几率:"jī lǜ",苦闷:"kǔ mèn",度量:"dù liàng",差错:"chā cuò",暑假:"shǔ jià",参差:"cēn cī",搭载:"dā zài",助长:"zhù zhǎng",相称:"xiāng chèn",红晕:"hóng yùn",舍命:"shě mìng",喜好:"xǐ hào",列传:"liè zhuàn",劲敌:"jìng dí",蛤蟆:"há ma",请假:"qǐng jià",钉子:"dīng zi",沉没:"chén mò",高丽:"gāo lí",休假:"xiū jià",无为:"wú wéi",巴结:"bā jie",了得:"liǎo dé",变相:"biàn xiàng",核弹:"hé dàn",亲家:"qìng jia",承载:"chéng zài",喝问:"hè wèn",还击:"huán jī",交还:"jiāo huán",将令:"jiàng lìng",单于:"chán yú",空缺:"kòng quē",绿林:"lù lín",胆量:"dǎn liàng",执着:"zhí zhuó",低调:"dī diào",闭塞:"bì sè",轻薄:"qīng bó",得当:"dé dàng",占卜:"zhān bǔ",扫帚:"sào zhou",龟兹:"qiū cí",年长:"nián zhǎng",外传:"wài zhuàn",头子:"tóu zi",裁缝:"cái feng",礼乐:"lǐ yuè",血泊:"xuè pō",散乱:"sǎn luàn",动量:"dòng liàng",倒腾:"dǎo teng",取舍:"qǔ shě",咱家:"zán jiā",长发:"cháng fà",爪哇:"zhǎo wā",弹壳:"dàn ké",省悟:"xǐng wù",嚷嚷:"rāng rang",连累:"lián lèi",应得:"yīng dé",族长:"zú zhǎng",柜子:"guì zi",擂鼓:"léi gǔ",眩晕:"xuàn yùn",调配:"tiáo pèi",躯干:"qū gàn",差役:"chāi yì",坎坷:"kǎn kě",少儿:"shào ér",乐团:"yuè tuán",养分:"yǎng fèn",退还:"tuì huán",格调:"gé diào",语调:"yǔ diào",音调:"yīn diào",乐府:"yuè fǔ",古朴:"gǔ pǔ",打点:"dǎ diǎn",差使:"chāi shǐ",匀称:"yún chèn",瘦削:"shòu xuē",膏药:"gāo yao",吞没:"tūn mò",调任:"diào rèn",散居:"sǎn jū",上头:"shàng tóu",风靡:"fēng mǐ",放假:"fàng jià",估量:"gū liang",失当:"shī dàng",中弹:"zhòng dàn",妄为:"wàng wéi",长者:"zhǎng zhě",起哄:"qǐ hòng",末了:"mò liǎo",相声:"xiàng sheng",校正:"jiào zhèng",劝降:"quàn xiáng",矢量:"shǐ liàng",沉闷:"chén mèn",给与:"jǐ yǔ",解法:"jiě fǎ",塞外:"sài wài",将校:"jiàng xiào",嗜好:"shì hào",没落:"mò luò",朴刀:"pō dāo",片子:"piān zi",切削:"qiē xiāo",弹丸:"dàn wán",稀薄:"xī bó",亏得:"kuī dé",间歇:"jiàn xiē",翘首:"qiáo shǒu",色调:"sè diào",处决:"chǔ jué",表率:"biǎo shuài",尺子:"chǐ zi",招降:"zhāo xiáng",称职:"chèn zhí",斗篷:"dǒu peng",铺子:"pù zi",底子:"dǐ zi",负载:"fù zài",干警:"gàn jǐng",倒数:"dào shǔ",将官:"jiàng guān",锄头:"chú tou",归降:"guī xiáng",疟疾:"nüè ji",唠叨:"láo dao",限量:"xiàn liàng",屏息:"bǐng xī",重逢:"chóng féng",器乐:"qì yuè",氢弹:"qīng dàn",脖颈:"bó gěng",妃子:"fēi zi",处事:"chǔ shì",参量:"cān liàng",轻率:"qīng shuài",缥缈:"piāo miǎo",中奖:"zhòng jiǎng",才干:"cái gàn",施舍:"shī shě",卷子:"juàn zi",游说:"yóu shuì",巷子:"xiàng zi",膀胱:"páng guāng",切勿:"qiè wù",看管:"kān guǎn",风头:"fēng tou",精干:"jīng gàn",高差:"gāo chā",恐吓:"kǒng hè",扁担:"biǎn dàn",给养:"jǐ yǎng",格子:"gé zi",供需:"gōng xū",反差:"fǎn chā",飞弹:"fēi dàn",微薄:"wēi bó",发型:"fà xíng",即兴:"jí xìng",攒动:"cuán dòng",间或:"jiàn huò",浅薄:"qiǎn bó",乐章:"yuè zhāng",顺差:"shùn chā",调子:"diào zi",相位:"xiàng wèi",转子:"zhuàn zǐ",劲旅:"jìng lǚ",咔嚓:"kā chā",了事:"liǎo shì",转悠:"zhuàn you",当铺:"dàng pù",爪子:"zhuǎ zi",单子:"dān zi",好战:"hào zhàn",燕麦:"yàn mài",只许:"zhǐ xǔ",干练:"gàn liàn",女将:"nǚ jiàng",酒量:"jiǔ liàng",划船:"huá chuán",伎俩:"jì liǎng",挑拨:"tiǎo bō",少校:"shào xiào",着落:"zhuó luò",憎恶:"zēng wù",刻薄:"kè bó",要挟:"yāo xié",用处:"yòng chu",还手:"huán shǒu",模具:"mú jù",执著:"zhí zhuó",喝令:"hè lìng",保长:"bǎo zhǎng",吸着:"xī zhe",症结:"zhēng jié",公转:"gōng zhuàn",校勘:"jiào kān",重提:"chóng tí",扫兴:"sǎo xìng",铺盖:"pū gài",长史:"zhǎng shǐ",差价:"chā jià",压根:"yà gēn",怔住:"zhèng zhù",应允:"yīng yǔn",切入:"qiē rù",战将:"zhàn jiàng",年少:"nián shào",舍身:"shě shēn",执拗:"zhí niù",处世:"chǔ shì",中风:"zhòng fēng",等量:"děng liàng",放量:"fàng liàng",腔调:"qiāng diào",老少:"lǎo shào",没入:"mò rù",瓜葛:"guā gé",将帅:"jiàng shuài",车载:"chē zài",窝囊:"wō nang",长进:"zhǎng jìn",可汗:"kè hán",并州:"bīng zhōu",供销:"gōng xiāo",切片:"qiē piàn",差事:"chāi shì",知会:"zhī hui",鹰爪:"yīng zhǎo",处女:"chǔ nǚ",切磋:"qiē cuō",日头:"rì tou",押解:"yā jiè",滋长:"zī zhǎng",道观:"dào guàn",脚色:"jué sè",当量:"dāng liàng",婆家:"pó jia",缘分:"yuán fèn",空闲:"kòng xián",好色:"hào sè",怒喝:"nù hè",笼统:"lǒng tǒng",边塞:"biān sài",何曾:"hé céng",重合:"chóng hé",零散:"líng sǎn",轰隆:"hōng lōng",化子:"huà zi",内蒙:"nèi měng",数落:"shǔ luò",逆差:"nì chā",牟利:"móu lì",栅栏:"zhà lan",中标:"zhòng biāo",调档:"diào dàng",佝偻:"gōu lóu",场子:"chǎng zi",甲壳:"jiǎ qiào",重温:"chóng wēn",炮制:"páo zhì",返还:"fǎn huán",自传:"zì zhuàn",高调:"gāo diào",殷红:"yān hóng",固着:"gù zhuó",强求:"qiǎng qiú",本相:"běn xiàng",骄横:"jiāo hèng",草率:"cǎo shuài",气闷:"qì mèn",着色:"zhuó sè",宁肯:"nìng kěn",兴头:"xìng tou",拘泥:"jū nì",夹角:"jiā jiǎo",发髻:"fà jì",猛将:"měng jiàng",约摸:"yuē mo",拖累:"tuō lěi",呢绒:"ní róng",钻探:"zuān tàn",夹层:"jiā céng",落魄:"luò pò",巷道:"hàng dào",运量:"yùn liàng",解闷:"jiě mèn",空儿:"kòng er",估摸:"gū mo",好客:"hào kè",钻孔:"zuān kǒng",糊弄:"hù nòng",荥阳:"xíng yáng",烦闷:"fán mèn",仓卒:"cāng cù",分叉:"fēn chà",厂子:"chǎng zi",小调:"xiǎo diào",少阳:"shào yáng",受降:"shòu xiáng",染坊:"rǎn fáng",胳臂:"gē bei",将门:"jiàng mén",模板:"mú bǎn",配给:"pèi jǐ",为伍:"wéi wǔ",跟头:"gēn tou",划算:"huá suàn",累赘:"léi zhui",哄笑:"hōng xiào",晕眩:"yūn xuàn",干掉:"gàn diào",缝制:"féng zhì",难处:"nán chù",着意:"zhuó yì",蛮横:"mán hèng",奇数:"jī shù",短发:"duǎn fà",生还:"shēng huán",还清:"huán qīng",看护:"kān hù",直率:"zhí shuài",奏乐:"zòu yuè",载客:"zài kè",专横:"zhuān hèng",湮没:"yān mò",空格:"kòng gé",铺垫:"pū diàn",良将:"liáng jiàng",哗啦:"huā lā",散漫:"sǎn màn",脱发:"tuō fà",送还:"sòng huán",埋没:"mái mò",累及:"lěi jí",薄雾:"bó wù",调离:"diào lí",舌苔:"shé tāi",机长:"jī zhǎng",栓塞:"shuān sè",配角:"pèi jué",切口:"qiē kǒu",创口:"chuāng kǒu",哈欠:"hā qian",实弹:"shí dàn",铺平:"pū píng",哈达:"hǎ dá",懒散:"lǎn sǎn",实干:"shí gàn",填空:"tián kòng",刁钻:"diāo zuān",乐师:"yuè shī",量变:"liàng biàn",诱降:"yòu xiáng",搪塞:"táng sè",征调:"zhēng diào",夹道:"jiā dào",干咳:"gān ké",止咳:"zhǐ ké",乐工:"yuè gōng",划过:"huá guò",着火:"zháo huǒ",更正:"gēng zhèng",给付:"jǐ fù",空子:"kòng zi",哪吒:"né zhā",正着:"zhèng zháo",刷子:"shuā zi",丧葬:"sāng zàng",夹带:"jiā dài",安分:"ān fèn",中意:"zhòng yì",长孙:"zhǎng sūn",校订:"jiào dìng",卷曲:"juǎn qū",载运:"zài yùn",投弹:"tóu dàn",柞蚕:"zuò cán",份量:"fèn liàng",调换:"diào huàn",了然:"liǎo rán",咧嘴:"liě zuǐ",典当:"diǎn dàng",寒假:"hán jià",长兄:"zhǎng xiōng",给水:"jǐ shuǐ",须发:"xū fà",枝干:"zhī gàn",属相:"shǔ xiàng",哄抢:"hōng qiǎng",刻划:"kè huà",塞子:"sāi zi",单干:"dān gàn",还乡:"huán xiāng",兆头:"zhào tou",寺观:"sì guàn",督率:"dū shuài",啊哈:"ā ha",割舍:"gē shě",抹布:"mā bù",好恶:"hào wù",下处:"xià chǔ",消长:"xiāo zhǎng",离间:"lí jiàn",准头:"zhǔn tou",校对:"jiào duì",什物:"shí wù",番禺:"pān yú",佛爷:"fó ye",吗啡:"mǎ fēi",盐分:"yán fèn",虎将:"hǔ jiàng",薄荷:"bò he",独处:"dú chǔ",空位:"kòng wèi",铺路:"pū lù",乌拉:"wū lā",调回:"diào huí",来头:"lái tou",闲散:"xián sǎn",胶卷:"jiāo juǎn",冒失:"mào shi",干劲:"gàn jìn",弦乐:"xián yuè",相国:"xiàng guó",丹参:"dān shēn",助兴:"zhù xìng",铺开:"pū kāi",次长:"cì zhǎng",发卡:"fà qiǎ",拮据:"jié jū",刹车:"shā chē",生发:"shēng fà",重播:"chóng bō",缝合:"féng hé",音量:"yīn liàng",少尉:"shào wèi",冲压:"chòng yā",苍劲:"cāng jìng",厚薄:"hòu báo",威吓:"wēi hè",外相:"wài xiàng",呼号:"hū háo",着迷:"zháo mí",挑担:"tiāo dàn",纹路:"wén lù",还俗:"huán sú",强横:"qiáng hèng",着数:"zhāo shù",降顺:"xiáng shùn",挑明:"tiǎo míng",眯缝:"mī feng",分内:"fèn nèi",更衣:"gēng yī",软和:"ruǎn huo",尽兴:"jìn xìng",号子:"hào zi",爪牙:"zhǎo yá",败将:"bài jiàng",猜中:"cāi zhòng",结扎:"jié zā",没空:"méi kòng",夹缝:"jiā fèng",拾掇:"shí duo",掺和:"chān huo",簸箕:"bò ji",电量:"diàn liàng",荷载:"hè zǎi",调式:"diào shì",处身:"chǔ shēn",打手:"dǎ shǒu",弹弓:"dàn gōng",横蛮:"hèng mán",能干:"néng gàn",校点:"jiào diǎn",加载:"jiā zài",干校:"gàn xiào",哄传:"hōng chuán",校注:"jiào zhù",淤塞:"yū sè",马扎:"mǎ zhá",月氏:"yuè zhī",高干:"gāo gàn",经传:"jīng zhuàn",曾孙:"zēng sūn",好斗:"hào dòu",关卡:"guān qiǎ",逃奔:"táo bèn",磨蹭:"mó ceng",牟取:"móu qǔ",颤栗:"zhàn lì",蚂蚱:"mà zha",撮合:"cuō he",趔趄:"liè qie",摔打:"shuāi dǎ",台子:"tái zi",分得:"fēn de",粘着:"nián zhuó",采邑:"cài yì",散装:"sǎn zhuāng",婀娜:"ē nuó",兴味:"xìng wèi",行头:"xíng tou",气量:"qì liàng",调运:"diào yùn",处治:"chǔ zhì",乐音:"yuè yīn",充塞:"chōng sè",恫吓:"dòng hè",论调:"lùn diào",相中:"xiāng zhòng",民乐:"mín yuè",炮仗:"pào zhang",丧服:"sāng fú",骁将:"xiāo jiàng",量刑:"liàng xíng",缝补:"féng bǔ",财会:"cái kuài",大干:"dà gàn",历数:"lì shǔ",校场:"jiào chǎng",塞北:"sài běi",识相:"shí xiàng",辱没:"rǔ mò",鲜亮:"xiān liàng",语塞:"yǔ sè",露脸:"lòu liǎn",凉快:"liáng kuai",腰杆:"yāo gǎn",溜达:"liū da",嘎嘎:"gā gā",公干:"gōng gàn",桔梗:"jié gěng",挑逗:"tiǎo dòu",看门:"kān mén",乐歌:"yuè gē",拓片:"tà piàn",挑动:"tiǎo dòng",准将:"zhǔn jiàng",遒劲:"qiú jìng",磨坊:"mò fáng",逶迤:"wēi yí",搅和:"jiǎo huo",摩挲:"mó suō",作弄:"zuò nòng",苗头:"miáo tou",打颤:"dǎ zhàn",大藏:"dà zàng",畜牲:"chù shēng",勾搭:"gōu da",树荫:"shù yīn",树杈:"shù chà",铁杆:"tiě gǎn",将相:"jiàng xiàng",份子:"fèn zi",视差:"shì chā",绿荫:"lǜ yīn",枪杆:"qiāng gǎn",缝纫:"féng rèn",愁闷:"chóu mèn",点将:"diǎn jiàng",华佗:"huà tuó",劲射:"jìng shè",箱笼:"xiāng lǒng",终了:"zhōng liǎo",鬓发:"bìn fà",结巴:"jiē ba",苦干:"kǔ gàn",看家:"kān jiā",正旦:"zhēng dàn",中肯:"zhòng kěn",厦门:"xià mén",东莞:"dōng guǎn",食量:"shí liàng",宫调:"gōng diào",间作:"jiàn zuò",弹片:"dàn piàn",差池:"chā chí",漂白:"piǎo bái",杠子:"gàng zi",调处:"tiáo chǔ",好动:"hào dòng",转炉:"zhuàn lú",屏气:"bǐng qì",夹板:"jiā bǎn",哀乐:"āi yuè",干道:"gàn dào",苦处:"kǔ chù",劈柴:"pǐ chái",长势:"zhǎng shì",天华:"tiān huá",共处:"gòng chǔ",校验:"jiào yàn",出塞:"chū sài",磨盘:"mò pán",萎靡:"wěi mǐ",奔丧:"bēn sāng",唱和:"chàng hè",大调:"dà diào",非分:"fēi fèn",钻营:"zuān yíng",夹子:"jiā zi",超载:"chāo zài",更始:"gēng shǐ",铃铛:"líng dang",披散:"pī sàn",发还:"fā huán",转轮:"zhuàn lún",横财:"hèng cái",泡桐:"pāo tóng",抛撒:"pāo sǎ",天呀:"tiān yā",糊糊:"hū hu",躯壳:"qū qiào",通量:"tōng liàng",奉还:"fèng huán",午觉:"wǔ jiào",闷棍:"mèn gùn",浪头:"làng tou",砚台:"yàn tái",油坊:"yóu fáng",学长:"xué zhǎng",过载:"guò zài",笔调:"bǐ diào",衣被:"yī bèi",畜产:"xù chǎn",调阅:"diào yuè",蛮干:"mán gàn",曾祖:"zēng zǔ",提干:"tí gàn",变调:"biàn diào",覆没:"fù mò",模子:"mú zi",乐律:"yuè lǜ",称心:"chèn xīn",木杆:"mù gān",重印:"chóng yìn",自省:"zì xǐng",提调:"tí diào",看相:"kàn xiàng",芋头:"yù tou",下切:"xià qiē",塞上:"sài shàng",铺张:"pū zhāng",藤蔓:"téng wàn",薄幸:"bó xìng",解数:"xiè shù",褪去:"tuì qù",霰弹:"xiàn dàn",柚木:"yóu mù",痕量:"hén liàng",雅乐:"yǎ yuè",号哭:"háo kū",诈降:"zhà xiáng",猪圈:"zhū juàn",咋舌:"zé shé",铣床:"xǐ chuáng",防弹:"fáng dàn",健将:"jiàn jiàng",丽水:"lí shuǐ",削发:"xuē fà",空当:"kòng dāng",多相:"duō xiàng",鲜见:"xiǎn jiàn",划桨:"huá jiǎng",载波:"zài bō",跳蚤:"tiào zao",俏皮:"qiào pí",吧嗒:"bā dā",结发:"jié fà",了断:"liǎo duàn",同调:"tóng diào",石磨:"shí mò",时差:"shí chā",鼻塞:"bí sè",挑子:"tiāo zi",推磨:"tuī mò",武侯:"wǔ hóu",抹煞:"mǒ shā",调转:"diào zhuǎn",籍没:"jí mò",还债:"huán zhài",调演:"diào yǎn",分划:"fēn huá",奇偶:"jī ǒu",断喝:"duàn hè",闷雷:"mèn léi",狼藉:"láng jí",饭量:"fàn liàng",还礼:"huán lǐ",转调:"zhuǎn diào",星相:"xīng xiàng",手相:"shǒu xiàng",配乐:"pèi yuè",盖头:"gài tou",连杆:"lián gǎn",簿记:"bù jì",刀把:"dāo bà",量词:"liàng cí",名角:"míng jué",步调:"bù diào",校本:"jiào běn",账簿:"zhàng bù",隽永:"juàn yǒng",稍为:"shāo wéi",易传:"yì zhuàn",乐谱:"yuè pǔ",牵累:"qiān lěi",答理:"dā li",喝斥:"hè chì",吟哦:"yín é",干渠:"gàn qú",海量:"hǎi liàng",精当:"jīng dàng",着床:"zhuó chuáng",月相:"yuè xiàng",庶几:"shù jī",宫观:"gōng guàn",论处:"lùn chǔ",征辟:"zhēng bì",厚朴:"hòu pò",介壳:"jiè qiào",吭哧:"kēng chī",咯血:"kǎ xiě",铺陈:"pū chén",重生:"chóng shēng",乐理:"yuè lǐ",哀号:"āi háo",藏历:"zàng lì",刚劲:"gāng jìng",削平:"xuē píng",浓荫:"nóng yīn",城垛:"chéng duǒ",当差:"dāng chāi",正传:"zhèng zhuàn",并处:"bìng chǔ",创面:"chuāng miàn",旦角:"dàn jué",薄礼:"bó lǐ",晃荡:"huàng dang",臊子:"sào zi",家什:"jiā shí",闷头:"mēn tóu",美发:"měi fà",度数:"dù shu",着凉:"zháo liáng",闯将:"chuǎng jiàng",几案:"jī àn",姘头:"pīn tou",差数:"chā shù",散碎:"sǎn suì",壅塞:"yōng sè",寒颤:"hán zhàn",牵强:"qiān qiǎng",无间:"wú jiàn",轮转:"lún zhuàn",号叫:"háo jiào",铺排:"pū pái",降伏:"xiáng fú",轧钢:"zhá gāng",东阿:"dōng ē",病假:"bìng jià",累加:"lěi jiā",梗塞:"gěng sè",弹夹:"dàn jiā",钻心:"zuān xīn",晃眼:"huǎng yǎn",魔爪:"mó zhǎo",标量:"biāo liàng",憋闷:"biē mèn",猜度:"cāi duó",处士:"chǔ shì",官差:"guān chāi",讨还:"tǎo huán",长门:"cháng mén",馏分:"liú fēn",里弄:"lǐ lòng",色相:"sè xiàng",雅兴:"yǎ xìng",角力:"jué lì",弹坑:"dàn kēng",枝杈:"zhī chà",夹具:"jiā jù",处刑:"chǔ xíng",悍将:"hàn jiàng",好学:"hào xué",好好:"hǎo hǎo",银发:"yín fà",扫把:"sào bǎ",法相:"fǎ xiàng",贵干:"guì gàn",供气:"gōng qì",空余:"kòng yú",捆扎:"kǔn zā",瘠薄:"jí bó",浆糊:"jiàng hu",嘎吱:"gā zhī",调令:"diào lìng",法帖:"fǎ tiè",淋病:"lìn bìng",调派:"diào pài",转盘:"zhuàn pán",供稿:"gōng gǎo",差官:"chāi guān",忧闷:"yōu mèn",教长:"jiào zhǎng",重唱:"chóng chàng",酒兴:"jiǔ xìng",乐坛:"yuè tán",花呢:"huā ní",叱喝:"chì hè",膀臂:"bǎng bì",得空:"dé kòng",转圈:"zhuàn quān",横暴:"hèng bào",哄抬:"hōng tái",引吭:"yǐn háng",载货:"zài huò",中计:"zhòng jì",官长:"guān zhǎng",相面:"xiàng miàn",看头:"kàn tou",盼头:"pàn tou",意兴:"yì xìng",军乐:"jūn yuè",累次:"lěi cì",骨嘟:"gǔ dū",燕赵:"yān zhào",报丧:"bào sāng",弥撒:"mí sa",挨斗:"ái dòu",扁舟:"piān zhōu",丑角:"chǒu jué",吊丧:"diào sāng",强将:"qiáng jiàng",重奏:"chóng zòu",发辫:"fà biàn",着魔:"zháo mó",着法:"zhāo fǎ",盛放:"shèng fàng",填塞:"tián sè",凶横:"xiōng hèng",稽首:"qǐ shǒu",碑帖:"bēi tiè",冲量:"chōng liàng",发菜:"fà cài",假发:"jiǎ fà",翻卷:"fān juǎn",小量:"xiǎo liàng",胶着:"jiāo zhuó",里子:"lǐ zi",调调:"diào diao",散兵:"sǎn bīng",高挑:"gāo tiǎo",播撒:"bō sǎ",夹心:"jiā xīn",扇动:"shān dòng",叨扰:"tāo rǎo",霓裳:"ní cháng",捻子:"niǎn zi",弥缝:"mí féng",撒布:"sǎ bù",场院:"cháng yuàn",省亲:"xǐng qīn",提拉:"tí lā",惯量:"guàn liàng",强逼:"qiáng bī",强征:"qiáng zhēng",晕车:"yùn chē",数道:"shù dào",带累:"dài lèi",拓本:"tà běn",嫌恶:"xián wù",宿将:"sù jiàng",龟裂:"jūn liè",缠夹:"chán jiā",发式:"fà shì",隔扇:"gé shàn",天分:"tiān fèn",癖好:"pǐ hào",四通:"sì tōng",白术:"bái zhú",划伤:"huá shāng",角斗:"jué dòu",听差:"tīng chāi",岁差:"suì chā",丧礼:"sāng lǐ",脉脉:"mò mò",削瘦:"xuē shòu",撒播:"sǎ bō",莎草:"suō cǎo",犍为:"qián wéi",调头:"diào tóu",龙卷:"lóng juǎn",外调:"wài diào",字帖:"zì tiè",卷发:"juǎn fà",揣度:"chuǎi duó",洋相:"yáng xiàng",散光:"sǎn guāng",骨碌:"gū lu",薄命:"bó mìng",笼头:"lóng tóu",咽炎:"yān yán",碌碡:"liù zhou",片儿:"piàn er",纤手:"qiàn shǒu",散体:"sǎn tǐ",内省:"nèi xǐng",强留:"qiáng liú",解送:"jiè sòng",反间:"fǎn jiàn",少壮:"shào zhuàng",留空:"liú kōng",告假:"gào jià",咳血:"ké xuè",薄暮:"bó mù",铺轨:"pū guǐ",磨削:"mó xuē",治丧:"zhì sāng",叉子:"chā zi",哄动:"hōng dòng",蛾子:"é zi",出落:"chū luò",股长:"gǔ zhǎng",贵处:"guì chù",还魂:"huán hún",例假:"lì jià",刹住:"shā zhù",身量:"shēn liàng",同好:"tóng hào",模量:"mó liàng",更生:"gēng shēng",服丧:"fú sāng",率直:"shuài zhí",字模:"zì mú",散架:"sǎn jià",答腔:"dā qiāng",交恶:"jiāo wù",薄情:"bó qíng",眼泡:"yǎn pāo",袅娜:"niǎo nuó",草垛:"cǎo duò",冲劲:"chòng jìn",呢喃:"ní nán",切中:"qiè zhòng",挑灯:"tiǎo dēng",还愿:"huán yuàn",激将:"jī jiàng",更鼓:"gēng gǔ",没药:"mò yào",败兴:"bài xìng",切面:"qiē miàn",散户:"sǎn hù",累进:"lěi jìn",背带:"bēi dài",秤杆:"chèng gǎn",碾坊:"niǎn fáng",簿子:"bù zi",扳手:"bān shǒu",铅山:"yán shān",儒将:"rú jiàng",重光:"chóng guāng",剪发:"jiǎn fà",长上:"zhǎng shàng",小传:"xiǎo zhuàn",压轴:"yā zhòu",弱冠:"ruò guàn",花卷:"huā juǎn",横祸:"hèng huò",夹克:"jiā kè",光晕:"guāng yùn",披靡:"pī mǐ",对调:"duì diào",夹持:"jiā chí",空额:"kòng é",平调:"píng diào",铺床:"pū chuáng",丧钟:"sāng zhōng",作乐:"zuò lè",少府:"shào fǔ",数数:"shuò shuò",奔头:"bèn tou",进给:"jìn jǐ",率性:"shuài xìng",乐子:"lè zi",绑扎:"bǎng zā",挑唆:"tiǎo suō",漂洗:"piǎo xǐ",夹墙:"jiā qiáng",咳喘:"ké chuǎn",乜斜:"miē xie",错处:"cuò chù",闷酒:"mèn jiǔ",时调:"shí diào",重孙:"chóng sūn",经幢:"jīng chuáng",圩场:"xū chǎng",调门:"diào mén",花头:"huā tóu",划拉:"huá la",套色:"tào shǎi",粗率:"cū shuài",相率:"xiāng shuài",款识:"kuǎn zhì",吁请:"yù qǐng",荫蔽:"yīn bì",文蛤:"wén gé",嘀嗒:"dī dā",调取:"diào qǔ",交差:"jiāo chāi",落子:"luò zǐ",相册:"xiàng cè",絮叨:"xù dao",落发:"luò fà",异相:"yì xiàng",浸没:"jìn mò",角抵:"jué dǐ",卸载:"xiè zài",春卷:"chūn juǎn",扎挣:"zhá zheng",畜养:"xù yǎng",吡咯:"bǐ luò",垛子:"duò zi",恶少:"è shào",发际:"fà jì",红苕:"hóng sháo",糨糊:"jiàng hu",哭丧:"kū sāng",稍息:"shào xī",晕船:"yùn chuán",校样:"jiào yàng",外差:"wài chā",脚爪:"jiǎo zhǎo",铺展:"pū zhǎn",芫荽:"yán sui",夹紧:"jiā jǐn",尿泡:"suī pào",丧乱:"sāng luàn",凶相:"xiōng xiàng",华发:"huá fà",打场:"dǎ cháng",云量:"yún liàng",正切:"zhèng qiē",划拳:"huá quán",划艇:"huá tǐng",评传:"píng zhuàn",拉纤:"lā qiàn",句读:"jù dòu",散剂:"sǎn jì",骨殖:"gǔ shi",塞音:"sè yīn",铺叙:"pū xù",阏氏:"yān zhī",冷颤:"lěng zhàn",煞住:"shā zhù",少男:"shào nán",管乐:"guǎn yuè",号啕:"háo táo",纳降:"nà xiáng",拥塞:"yōng sè",万乘:"wàn shèng",杆儿:"gǎn ér",葛藤:"gé téng",簿籍:"bù jí",皮夹:"pí jiā",校准:"jiào zhǔn",允当:"yǔn dàng",器量:"qì liàng",选调:"xuǎn diào",扮相:"bàn xiàng",干才:"gàn cái",基干:"jī gàn",割切:"gē qiē",国乐:"guó yuè",卡壳:"qiǎ ké",辟谷:"bì gǔ",磨房:"mò fáng",咿呀:"yī yā",芥末:"jiè mo",薄技:"bó jì",产假:"chǎn jià",诗兴:"shī xìng",重出:"chóng chū",转椅:"zhuàn yǐ",酌量:"zhuó liang",簿册:"bù cè",藏青:"zàng qīng",的士:"dī shì",调人:"diào rén",解元:"jiè yuán",茎干:"jīng gàn",巨量:"jù liàng",榔头:"láng tou",率真:"shuài zhēn",喷香:"pèn xiāng",锁钥:"suǒ yuè",虾蟆:"há má",相图:"xiàng tú",兴会:"xìng huì",灶头:"zào tóu",重婚:"chóng hūn",钻洞:"zuān dòng",忖度:"cǔn duó",党参:"dǎng shēn",调温:"diào wēn",杆塔:"gān tǎ",葛布:"gé bù",拱券:"gǒng xuàn",夹生:"jiā shēng",露馅:"lòu xiàn",恰切:"qià qiè",散见:"sǎn jiàn",哨卡:"shào qiǎ",烫发:"tàng fà",体量:"tǐ liàng",挺括:"tǐng kuò",系带:"jì dài",相士:"xiàng shì",羊圈:"yáng juàn",转矩:"zhuàn jǔ",吧台:"bā tái",苍术:"cāng zhú",菲薄:"fěi bó",蛤蚧:"gé jiè",蛤蜊:"gé lí",瓜蔓:"guā wàn",怪相:"guài xiàng",临帖:"lín tiè",女红:"nǚ gōng",刨床:"bào chuáng",翘楚:"qiáo chǔ",数九:"shǔ jiǔ",谈兴:"tán xìng",雄劲:"xióng jìng",扎染:"zā rǎn",遮荫:"zhē yīn",周正:"zhōu zhèng",赚头:"zhuàn tou",扒手:"pá shǒu",搀和:"chān huo",诚朴:"chéng pǔ",肚量:"dù liàng",干结:"gān jié",工尺:"gōng chě",家累:"jiā lěi",曲水:"qū shuǐ",沙参:"shā shēn",挑花:"tiǎo huā",阿门:"ā mén",背篓:"bēi lǒu",瘪三:"biē sān",裁处:"cái chǔ",创痛:"chuāng tòng",福相:"fú xiàng",更动:"gēng dòng",豪兴:"háo xìng",还阳:"huán yáng",还嘴:"huán zuǐ",借调:"jiè diào",卷云:"juǎn yún",流弹:"liú dàn",想头:"xiǎng tou",削价:"xuē jià",校阅:"jiào yuè",雅量:"yǎ liàng",别传:"bié zhuàn",薄酒:"bó jiǔ",春假:"chūn jià",发妻:"fà qī",哗哗:"huā huā",宽绰:"kuān chuo",了悟:"liǎo wù",切花:"qiē huā",审度:"shěn duó",应许:"yīng xǔ",转台:"zhuàn tái",仔猪:"zǐ zhū",裁量:"cái liáng",藏戏:"zàng xì",乘兴:"chéng xìng",绸缪:"chóu móu",摧折:"cuī zhé",调经:"tiáo jīng",调职:"diào zhí",缝缀:"féng zhuì",骨朵:"gū duǒ",核儿:"hú er",恒量:"héng liàng",还价:"huán jià",浑朴:"hún pǔ",苦差:"kǔ chāi",面糊:"miàn hù",煞车:"shā chē",省视:"xǐng shì",什锦:"shí jǐn",信差:"xìn chāi",余切:"yú qiē",攒眉:"cuán méi",炸糕:"zhá gāo",钻杆:"zuàn gǎn",扒灰:"pá huī",拌和:"bàn huò",长调:"cháng diào",大溜:"dà liù",抖搂:"dǒu lōu",飞转:"fēi zhuàn",干仗:"gàn zhàng",好胜:"hào shèng",画片:"huà piàn",搅混:"jiǎo hún",螺杆:"luó gǎn",木模:"mù mú",怒号:"nù háo",频数:"pín shù",无宁:"wú níng",遗少:"yí shào",邮差:"yóu chāi",占卦:"zhān guà",占星:"zhān xīng",重审:"chóng shěn",自量:"zì liàng",调防:"diào fáng",发廊:"fà láng",反调:"fǎn diào",缝子:"fèng zi",更夫:"gēng fū",骨子:"gǔ zi",光杆:"guāng gǎn",夹棍:"jiā gùn",居丧:"jū sāng",巨贾:"jù gǔ",看押:"kān yā",空转:"kōng zhuàn",量力:"liàng lì",炮烙:"páo luò",赔还:"péi huán",扑扇:"pū shān",散记:"sǎn jì",散件:"sǎn jiàn",删削:"shān xuē",射干:"shè gàn",条几:"tiáo jī",偷空:"tōu kòng",削壁:"xuē bì",校核:"jiào hé",阴干:"yīn gān",择菜:"zhái cài",重九:"chóng jiǔ",主调:"zhǔ diào",自禁:"zì jīn",吧唧:"bā jī",便溺:"biàn niào",词调:"cí diào",叨咕:"dáo gu",落枕:"lào zhěn",铺砌:"pū qì",刷白:"shuà bái",委靡:"wěi mǐ",系泊:"xì bó",相马:"xiàng mǎ",熨帖:"yù tiē",转筋:"zhuàn jīn",棒喝:"bàng hè",傧相:"bīn xiàng",镐头:"gǎo tóu",间苗:"jiàn miáo",乐池:"yuè chí",卖相:"mài xiàng",屏弃:"bǐng qì",铅弹:"qiān dàn",切变:"qiē biàn",请调:"qǐng diào",群氓:"qún méng",散板:"sǎn bǎn",省察:"xǐng chá",事假:"shì jià",纤绳:"qiàn shéng",重影:"chóng yǐng",耕种:"gēng zhòng",种地:"zhòng dì",种菜:"zhòng cài",栽种:"zāi zhòng",接种:"jiē zhòng",垦种:"kěn zhòng",种殖:"zhòng zhí",种瓜:"zhòng guā",种豆:"zhòng dòu",种树:"zhòng shù",睡着:"shuì zháo",笼子:"lóng zi",重启:"chóng qǐ",重整:"chóng zhěng",重弹:"chóng tán",重足:"chóng zú",重山:"chóng shān",重游:"chóng yóu",重峦:"chóng luán",爷爷:"yé ye",奶奶:"nǎi nai",姥爷:"lǎo ye",爸爸:"bà ba",妈妈:"mā ma",婶婶:"shěn shen",舅舅:"jiù jiu",姑姑:"gū gu",叔叔:"shū shu",姨夫:"yí fu",舅母:"jiù mu",姑父:"gū fu",姐夫:"jiě fu",婆婆:"pó po",公公:"gōng gong",舅子:"jiù zi",姐姐:"jiě jie",哥哥:"gē ge",妹妹:"mèi mei",妹夫:"mèi fu",姨子:"yí zi",宝宝:"bǎo bao",娃娃:"wá wa",孩子:"hái zi",日子:"rì zi",样子:"yàng zi",狮子:"shī zi",身子:"shēn zi",架子:"jià zi",嫂子:"sǎo zi",鼻子:"bí zi",亭子:"tíng zi",折子:"zhé zi",面子:"miàn zi",脖子:"bó zi",辈子:"bèi zi",帽子:"mào zi",拍子:"pāi zi",柱子:"zhù zi",辫子:"biàn zi",鸽子:"gē zi",房子:"fáng zi",丸子:"wán zi",摊子:"tān zi",牌子:"pái zi",胡子:"hú zi",鬼子:"guǐ zi",矮子:"ǎi zi",鸭子:"yā zi",小子:"xiǎo zi",影子:"yǐng zi",屋子:"wū zi",对子:"duì zi",点子:"diǎn zi",本子:"běn zi",种子:"zhǒng zi",儿子:"ér zi",兔子:"tù zi",骗子:"piàn zi",院子:"yuàn zi",猴子:"hóu zi",嗓子:"sǎng zi",侄子:"zhí zi",柿子:"shì zi",钳子:"qián zi",虱子:"shī zi",瓶子:"píng zi",豹子:"bào zi",筷子:"kuài zi",篮子:"lán zi",绳子:"shéng zi",嘴巴:"zuǐ ba",耳朵:"ěr duo",茄子:"qié zi",蚌埠:"bèng bù",崆峒:"kōng tóng",琵琶:"pí pa",蘑菇:"mó gu",葫芦:"hú lu",狐狸:"hú li",桔子:"jú zi",盒子:"hé zi",桌子:"zhuō zi",竹子:"zhú zi",师傅:"shī fu",衣服:"yī fu",袜子:"wà zi",杯子:"bēi zi",刺猬:"cì wei",麦子:"mài zi",队伍:"duì wu",知了:"zhī liǎo",鱼儿:"yú er",馄饨:"hún tun",灯笼:"dēng long",庄稼:"zhuāng jia",聪明:"cōng ming",镜子:"jìng zi",银子:"yín zi",盘子:"pán zi",了却:"liǎo què",力气:"lì qi",席子:"xí zi",林子:"lín zi",朝霞:"zhāo xiá",朝夕:"zhāo xī",朝气:"zhāo qì",翅膀:"chì bǎng",省长:"shěng zhǎng",臧否:"zāng pǐ",否泰:"pǐ tài",变得:"biàn de",丈夫:"zhàng fu",豆腐:"dòu fu",笔杆:"bǐ gǎn",枞阳:"zōng yáng",行人:"xíng rén",打着:"dǎ zhe",第一:"dì yī",万一:"wàn yī",之一:"zhī yī",得之:"dé zhī",统一:"tǒng yī",唯一:"wéi yī",专一:"zhuān yī",单一:"dān yī",如一:"rú yī",其一:"qí yī",合一:"hé yī",逐一:"zhú yī",周一:"zhōu yī",初一:"chū yī",研一:"yán yī",归一:"guī yī",假一:"jiǎ yī",闻一:"wén yī",了了:"liǎo liǎo",公了:"gōng liǎo",私了:"sī liǎo",一月:"yī yuè",一号:"yī hào",一级:"yī jí",一等:"yī děng",一哥:"yī gē",月一:"yuè yī",一一:"yī yī",二一:"èr yī",三一:"sān yī",四一:"sì yī",五一:"wǔ yī",六一:"liù yī",七一:"qī yī",八一:"bā yī",九一:"jiǔ yī","一〇":"yī líng",一零:"yī líng",一二:"yī èr",一三:"yī sān",一四:"yī sì",一五:"yī wǔ",一六:"yī liù",一七:"yī qī",一八:"yī bā",一九:"yī jiǔ",一又:"yī yòu",一饼:"yī bǐng",一楼:"yī lóu",为例:"wéi lì",为准:"wéi zhǔn",沧海:"cāng hǎi",难为:"nán wéi",责难:"zé nàn",患难:"huàn nàn",磨难:"mó nàn",大难:"dà nàn",刁难:"diāo nàn",殉难:"xùn nàn",落难:"luò nàn",罹难:"lí nàn",灾难:"zāi nàn",难民:"nàn mín",苦难:"kǔ nàn",危难:"wēi nàn",发难:"fā nàn",逃难:"táo nàn",避难:"bì nàn",遇难:"yù nàn",阻难:"zǔ nàn",厄难:"è nàn",徇难:"xùn nàn",空难:"kōng nàn",喜欢:"xǐ huan",朝朝:"zhāo zhāo",不行:"bù xíng",轧轧:"yà yà",弯曲:"wān qū",扭曲:"niǔ qū",曲直:"qū zhí",委曲:"wěi qū",酒曲:"jiǔ qū",曲径:"qū jìng",曲解:"qū jiě",歪曲:"wāi qū",曲线:"qū xiàn",曲阜:"qū fù",九曲:"jiǔ qū",曲折:"qū zhé",曲肱:"qū gōng",曲意:"qū yì",仡佬:"gē lǎo"},Sh=Object.keys(ui).map(n=>({zh:n,pinyin:ui[n],probability:2e-8,length:2,priority:R.Normal,dict:Symbol("dict2")})),ei={为什么:"wèi shén me",实际上:"shí jì shang",检察长:"jiǎn chá zhǎng",干什么:"gàn shén me",这会儿:"zhè huì er",尽可能:"jǐn kě néng",董事长:"dǒng shì zhǎng",了不起:"liǎo bù qǐ",参谋长:"cān móu zhǎng",朝鲜族:"cháo xiǎn zú",海内外:"hǎi nèi wài",禁不住:"jīn bú zhù",柏拉图:"bó lā tú",不在乎:"bú zài hu",洛杉矶:"luò shān jī",有点儿:"yǒu diǎn er",迫击炮:"pǎi jī pào",不得了:"bù dé liǎo",马尾松:"mǎ wěi sōng",运输量:"yùn shū liàng",发脾气:"fā pí qi",士大夫:"shì dà fū",鸭绿江:"yā lù jiāng",压根儿:"yà gēn er",对得起:"duì de qǐ",那会儿:"nà huì er",自个儿:"zì gě er",物理量:"wù lǐ liàng",怎么着:"zěn me zhāo",明晃晃:"míng huǎng huǎng",节假日:"jié jià rì",心里话:"xīn lǐ huà",发行量:"fā xíng liàng",兴冲冲:"xìng chōng chōng",分子量:"fēn zǐ liàng",国子监:"guó zǐ jiàn",老大难:"lǎo dà nán",党内外:"dǎng nèi wài",这么着:"zhè me zhāo",少奶奶:"shào nǎi nai",暗地里:"àn dì lǐ",更年期:"gēng nián qī",工作量:"gōng zuò liàng",背地里:"bèi dì lǐ",山里红:"shān li hóng",好好儿:"hǎo hāo er",交响乐:"jiāo xiǎng yuè",好意思:"hǎo yì si",吐谷浑:"tǔ yù hún",没意思:"méi yì si",理发师:"lǐ fà shī",塔什干:"tǎ shí gān",充其量:"chōng qí liàng",靠得住:"kào de zhù",车行道:"chē xíng dào",人行道:"rén xíng dào",中郎将:"zhōng láng jiàng",照明弹:"zhào míng dàn",烟幕弹:"yān mù dàn",没奈何:"mò nài hé",乱哄哄:"luàn hōng hōng",惠更斯:"huì gēng sī",载重量:"zài zhòng liàng",瞧得起:"qiáo de qǐ",纪传体:"jì zhuàn tǐ",阿房宫:"ē páng gōng",卷心菜:"juǎn xīn cài",戏班子:"xì bān zi",过得去:"guò de qù",花岗石:"huā gāng shí",外甥女:"wài sheng nǚ",团团转:"tuán tuán zhuàn",大堡礁:"dà bǎo jiāo",燃烧弹:"rán shāo dàn",劳什子:"láo shí zi",摇滚乐:"yáo gǔn yuè",夹竹桃:"jiā zhú táo",闹哄哄:"nào hōng hōng",三连冠:"sān lián guàn",重头戏:"zhòng tóu xì",二人转:"èr rén zhuàn",节骨眼:"jiē gǔ yǎn",知识面:"zhī shi miàn",护士长:"hù shi zhǎng",信号弹:"xìn hào dàn",干电池:"gān diàn chí",枪杆子:"qiāng gǎn zi",哭丧棒:"kū sāng bàng",鼻咽癌:"bí yān ái",瓦岗军:"wǎ gāng jūn",买得起:"mǎi de qǐ",癞蛤蟆:"lài há ma",脊梁骨:"jǐ liang gǔ",子母弹:"zǐ mǔ dàn",开小差:"kāi xiǎo chāi",女强人:"nǚ qiáng rén",英雄传:"yīng xióng zhuàn",爵士乐:"jué shì yuè",说笑话:"shuō xiào hua",碰头会:"pèng tóu huì",玻璃钢:"bō li gāng",曳光弹:"yè guāng dàn",少林拳:"shào lín quán",咏叹调:"yǒng tàn diào",少先队:"shào xiān duì",灵长目:"líng zhǎng mù",对着干:"duì zhe gàn",蒙蒙亮:"méng méng liàng",软骨头:"ruǎn gǔ tou",铺盖卷:"pū gài juǎn",和稀泥:"huò xī ní",背黑锅:"bēi hēi guō",红彤彤:"hóng tōng tōng",武侯祠:"wǔ hóu cí",打哆嗦:"dǎ duō suo",户口簿:"hù kǒu bù",马尾藻:"mǎ wěi zǎo",夜猫子:"yè māo zi",打手势:"dǎ shǒu shì",龙王爷:"lóng wáng yé",气头上:"qì tóu shang",糊涂虫:"hú tu chóng",笔杆子:"bǐ gǎn zi",占便宜:"zhàn pián yi",打主意:"dǎ zhǔ yì",多弹头:"duō dàn tóu",露一手:"lòu yì shǒu",堰塞湖:"yàn sè hú",保得住:"bǎo de zhù",趵突泉:"bào tū quán",奥得河:"ào de hé",司务长:"sī wù zhǎng",禁不起:"jīn bù qǐ",什刹海:"shí chà hǎi",莲花落:"lián huā lào",见世面:"jiàn shì miàn",豁出去:"huō chū qù",电位差:"diàn wèi chā",挨个儿:"āi gè er",那阵儿:"nà zhèn er",肺活量:"fèi huó liàng",大师傅:"dà shī fu",掷弹筒:"zhì dàn tǒng",打呼噜:"dǎ hū lu",广渠门:"ān qú mén",未见得:"wèi jiàn dé",大婶儿:"dà shěn er",谈得来:"tán de lái",脚丫子:"jiǎo yā zi",空包弹:"kōng bāo dàn",窝里斗:"wō li dòu",弹着点:"dàn zhuó diǎn",个头儿:"gè tóu er",看得起:"kàn de qǐ",糊涂账:"hú tu zhàng",大猩猩:"dà xīng xing",禁得起:"jīn de qǐ",法相宗:"fǎ xiàng zōng",可怜相:"kě lián xiàng",吃得下:"chī de xià",汉堡包:"hàn bǎo bāo",闹嚷嚷:"nào rāng rāng",数来宝:"shǔ lái bǎo",合得来:"hé de lái",干性油:"gān xìng yóu",闷葫芦:"mèn hú lu",呱呱叫:"guā guā jiào",西洋参:"xī yáng shēn",林荫道:"lín yīn dào",拉家常:"lā jiā cháng",卷铺盖:"juǎn pū gài",过得硬:"guò de yìng",飞将军:"fēi jiāng jūn",挑大梁:"tiǎo dà liáng",哈巴狗:"hǎ ba gǒu",过家家:"guò jiā jiā",催泪弹:"cuī lèi dàn",雨夹雪:"yǔ jiā xuě",敲竹杠:"qiāo zhú gàng",列车长:"liè chē zhǎng",华达呢:"huá dá ní",犯得着:"fàn de zháo",土疙瘩:"tǔ gē da",煞风景:"shā fēng jǐng",轻量级:"qīng liàng jí",羞答答:"xiū dā dā",石子儿:"shí zǐ er",达姆弹:"dá mǔ dàn",科教片:"kē jiào piān",侃大山:"kǎn dà shān",丁点儿:"dīng diǎn er",吃得消:"chī de xiāo",捋虎须:"luō hǔ xū",高丽参:"gāo lí shēn",众生相:"zhòng shēng xiàng",咽峡炎:"yān xiá yán",禁得住:"jīn de zhù",吃得开:"chī de kāi",柞丝绸:"zuò sī chóu",应声虫:"yìng shēng chóng",数得着:"shǔ de zháo",傻劲儿:"shǎ jìn er",铅玻璃:"qiān bō li",可的松:"kě dì sōng",划得来:"huá de lái",晕乎乎:"yūn hū hū",屎壳郎:"shǐ ke làng",尥蹶子:"liào juě zi",藏红花:"zàng hóng huā",闷罐车:"mèn guàn chē",卡脖子:"qiǎ bó zi",红澄澄:"hóng deng deng",赶得及:"gǎn de jí",当间儿:"dāng jiàn er",露马脚:"lòu mǎ jiǎo",鸡内金:"jī nèi jīn",犯得上:"fàn de shàng",钉齿耙:"dīng chǐ bà",饱和点:"bǎo hé diǎn",龙爪槐:"lóng zhǎo huái",喝倒彩:"hè dào cǎi",定冠词:"dìng guàn cí",担担面:"dàn dan miàn",吃得住:"chī de zhù",爪尖儿:"zhuǎ jiān er",支着儿:"zhī zhāo er",折跟头:"zhē gēn tou",阴着儿:"yīn zhāo er",烟卷儿:"yān juǎn er",宣传弹:"xuān chuán dàn",信皮儿:"xìn pí er",弦切角:"xián qiē jiǎo",缩砂密:"sù shā mì",说得来:"shuō de lái",水漂儿:"shuǐ piāo er",耍笔杆:"shuǎ bǐ gǎn",数得上:"shǔ de shàng",数不着:"shǔ bù zháo",数不清:"shǔ bù qīng",什件儿:"shí jiàn er",生死簿:"shēng sǐ bù",扇风机:"shān fēng jī",撒呓挣:"sā yì zheng",日记簿:"rì jì bù",热得快:"rè de kuài",亲家公:"qìng jia gōng",奇函数:"jī hán shù",拍纸簿:"pāi zhǐ bù",努劲儿:"nǔ jìn er",泥娃娃:"ní wá wa",内切圆:"nèi qiē yuán",哪会儿:"nǎ huì er",闷头儿:"mēn tóu er",没谱儿:"méi pǔ er",铆劲儿:"mǎo jìn er",溜肩膀:"liū jiān bǎng",了望台:"liào wàng tái",老来少:"lǎo lái shào",坤角儿:"kūn jué er",考勤簿:"kǎo qín bù",卷笔刀:"juǎn bǐ dāo",进给量:"jìn jǐ liàng",划不来:"huá bù lái",汗褂儿:"hàn guà er",鼓囊囊:"gǔ nāng nāng",够劲儿:"gòu jìn er",公切线:"gōng qiē xiàn",搁得住:"gé de zhù",赶浪头:"gǎn làng tóu",赶得上:"gǎn de shàng",干酵母:"gān jiào mǔ",嘎渣儿:"gā zhā er",嘎嘣脆:"gā bēng cuì",对得住:"duì de zhù",逗闷子:"dòu mèn zi",顶呱呱:"dǐng guā guā",滴溜儿:"dī liù er",大轴子:"dà zhòu zi",打板子:"dǎ bǎn zi",寸劲儿:"cùn jìn er",醋劲儿:"cù jìn er",揣手儿:"chuāi shǒu er",冲劲儿:"chòng jìn er",吃得来:"chī de lái",不更事:"bù gēng shì",奔头儿:"bèn tou er",百夫长:"bǎi fū zhǎng",娃娃亲:"wá wa qīn",死劲儿:"sǐ jìn er",骨朵儿:"gū duǒ er",功劳簿:"gōng láo bù",都江堰:"dū jiāng yàn",一担水:"yí dàn shuǐ",否极泰:"pǐ jí tài",泰来否:"tài lái pǐ",咳特灵:"ké tè líng",开户行:"kāi hù háng",郦食其:"lì yì jī",花事了:"huā shì liǎo",一更更:"yì gēng gēng",一重山:"yì chóng shān",风一更:"fēng yì gēng",雪一更:"xuě yì gēng",归一码:"guī yì mǎ",星期一:"xīng qī yī",礼拜一:"lǐ bài yī",一季度:"yī jì dù",一月一:"yī yuè yī",一字马:"yī zì mǎ",一是一:"yī shì yī",一次方:"yī cì fāng",一阳指:"yī yáng zhǐ",一字决:"yī zì jué",一年级:"yī nián jí",一不做:"yī bú zuò",屈戌儿:"qū qu ér",难为水:"nán wéi shuǐ",难为情:"nán wéi qíng",行一行:"xíng yì háng",别别的:"biè bié de",干哪行:"gàn nǎ háng",干一行:"gàn yì háng",曲别针:"qū bié zhēn"},Ph=Object.keys(ei).map(n=>({zh:n,pinyin:ei[n],probability:2e-8,length:3,priority:R.Normal,dict:Symbol("dict3")})),si={成吉思汗:"chéng jí sī hán",四通八达:"sì tōng bā dá",一模一样:"yì mú yí yàng",青藏高原:"qīng zàng gāo yuán",阿弥陀佛:"ē mí tuó fó",解放思想:"jiè fàng sī xiǎng",所作所为:"suǒ zuò suǒ wéi",迷迷糊糊:"mí mí hu hū",荷枪实弹:"hè qiāng shí dàn",兴高采烈:"xìng gāo cǎi liè",无能为力:"wú néng wéi lì",布鲁塞尔:"bù lǔ sài ěr",为所欲为:"wéi suǒ yù wéi",克什米尔:"kè shí mǐ ěr",没完没了:"méi wán méi liǎo",不为人知:"bù wéi rén zhī",结结巴巴:"jiē jiē bā bā",前仆后继:"qián pū hòu jì",铺天盖地:"pū tiān gài dì",直截了当:"zhí jié liǎo dàng",供不应求:"gōng bú yìng qiú",御史大夫:"yù shǐ dà fū",不为瓦全:"bù wéi wǎ quán",不可收拾:"bù kě shōu shi",胡作非为:"hú zuò fēi wéi",分毫不差:"fēn háo bú chà",模模糊糊:"mó mó hu hū",不足为奇:"bù zú wéi qí",悄无声息:"qiǎo wú shēng xī",了如指掌:"liǎo rú zhǐ zhǎng",深恶痛绝:"shēn wù tòng jué",高高兴兴:"gāo gāo xìng xìng",唉声叹气:"āi shēng tàn qì",汉藏语系:"hàn zàng yǔ xì",处心积虑:"chǔ xīn jī lǜ",泣不成声:"qì bù chéng shēng",半夜三更:"bàn yè sān gēng",失魂落魄:"shī hún luò pò",二十八宿:"èr shí bā xiù",转来转去:"zhuàn lái zhuàn qù",数以万计:"shǔ yǐ wàn jì",相依为命:"xiāng yī wéi mìng",恋恋不舍:"liàn liàn bù shě",屈指可数:"qū zhǐ kě shǔ",神出鬼没:"shén chū guǐ mò",结结实实:"jiē jiē shí shí",有的放矢:"yǒu dì fàng shǐ",叽哩咕噜:"jī lǐ gū lū",调兵遣将:"diào bīng qiǎn jiàng",载歌载舞:"zài gē zài wǔ",转危为安:"zhuǎn wēi wéi ān",踏踏实实:"tā tā shi shí",桑给巴尔:"sāng jǐ bā ěr",装模作样:"zhuāng mú zuò yàng",见义勇为:"jiàn yì yǒng wéi",相差无几:"xiāng chā wú jǐ",叹为观止:"tàn wéi guān zhǐ",闷闷不乐:"mèn mèn bú lè",喜怒哀乐:"xǐ nù āi lè",鲜为人知:"xiǎn wéi rén zhī",张牙舞爪:"zhāng yá wǔ zhǎo",为非作歹:"wéi fēi zuò dǎi",含糊其辞:"hán hú qí cí",疲于奔命:"pí yú bēn mìng",勉为其难:"miǎn wéi qí nán",依依不舍:"yī yī bù shě",顶头上司:"dǐng tóu shàng si",不着边际:"bù zhuó biān jì",大模大样:"dà mú dà yàng",寻欢作乐:"xún huān zuò lè",一走了之:"yì zǒu liǎo zhī",字里行间:"zì lǐ háng jiān",含含糊糊:"hán hán hu hū",恰如其分:"qià rú qí fèn",破涕为笑:"pò tì wéi xiào",深更半夜:"shēn gēng bàn yè",千差万别:"qiān chā wàn bié",数不胜数:"shǔ bú shèng shǔ",据为己有:"jù wéi jǐ yǒu",天旋地转:"tiān xuán dì zhuàn",养尊处优:"yǎng zūn chǔ yōu",玻璃纤维:"bō li xiān wéi",吵吵闹闹:"chāo chao nào nào",晕头转向:"yūn tóu zhuàn xiàng",土生土长:"tǔ shēng tǔ zhǎng",宁死不屈:"nìng sǐ bù qū",不省人事:"bù xǐng rén shì",尽力而为:"jìn lì ér wéi",精明强干:"jīng míng qiáng gàn",唠唠叨叨:"láo lao dāo dāo",叽叽喳喳:"jī ji zhā zhā",功不可没:"gōng bù kě mò",锲而不舍:"qiè ér bù shě",排忧解难:"pái yōu jiě nàn",稀里糊涂:"xī li hú tú",各有所长:"gè yǒu suǒ cháng",的的确确:"dí dí què què",哄堂大笑:"hōng táng dà xiào",听而不闻:"tīng ér bù wén",刀耕火种:"dāo gēng huǒ zhòng",内分泌腺:"nèi fèn mì xiàn",化险为夷:"huà xiǎn wéi yí",百发百中:"bǎi fā bǎi zhòng",重见天日:"chóng jiàn tiān rì",反败为胜:"fǎn bài wéi shèng",一了百了:"yì liǎo bǎi liǎo",大大咧咧:"dà da liē liē",心急火燎:"xīn jí huǒ liǎo",粗心大意:"cū xīn dà yi",鸡皮疙瘩:"jī pí gē da",夷为平地:"yí wéi píng dì",日积月累:"rì jī yuè lěi",设身处地:"shè shēn chǔ dì",投其所好:"tóu qí suǒ hào",间不容发:"jiān bù róng fà",人满为患:"rén mǎn wéi huàn",穷追不舍:"qióng zhuī bù shě",为时已晚:"wéi shí yǐ wǎn",如数家珍:"rú shǔ jiā zhēn",心里有数:"xīn lǐ yǒu shù",以牙还牙:"yǐ yá huán yá",神不守舍:"shén bù shǒu shě",孟什维克:"mèng shí wéi kè",各自为战:"gè zì wéi zhàn",怨声载道:"yuàn shēng zài dào",救苦救难:"jiù kǔ jiù nàn",好好先生:"hǎo hǎo xiān sheng",怪模怪样:"guài mú guài yàng",抛头露面:"pāo tóu lù miàn",游手好闲:"yóu shǒu hào xián",无所不为:"wú suǒ bù wéi",调虎离山:"diào hǔ lí shān",步步为营:"bù bù wéi yíng",好大喜功:"hào dà xǐ gōng",众矢之的:"zhòng shǐ zhī dì",长生不死:"cháng shēng bù sǐ",蔚为壮观:"wèi wéi zhuàng guān",不可胜数:"bù kě shèng shǔ",鬼使神差:"guǐ shǐ shén chāi",洁身自好:"jié shēn zì hào",敢作敢为:"gǎn zuò gǎn wéi",茅塞顿开:"máo sè dùn kāi",走马换将:"zǒu mǎ huàn jiàng",为时过早:"wéi shí guò zǎo",为人师表:"wéi rén shī biǎo",阴差阳错:"yīn chā yáng cuò",油腔滑调:"yóu qiāng huá diào",重蹈覆辙:"chóng dǎo fù zhé",骂骂咧咧:"mà ma liē liē",絮絮叨叨:"xù xù dāo dāo",如履薄冰:"rú lǚ bó bīng",损兵折将:"sǔn bīng zhé jiàng",拐弯抹角:"guǎi wān mò jiǎo",像模像样:"xiàng mú xiàng yàng",供过于求:"gōng guò yú qiú",开花结果:"kāi huā jiē guǒ",仔仔细细:"zǐ zǐ xì xì",川藏公路:"chuān zàng gōng lù",河北梆子:"hé běi bāng zi",长年累月:"cháng nián lěi yuè",正儿八经:"zhèng er bā jīng",不识抬举:"bù shí tái ju",重振旗鼓:"chóng zhèn qí gǔ",气息奄奄:"qì xī yān yān",紧追不舍:"jǐn zhuī bù shě",服服帖帖:"fú fu tiē tiē",强词夺理:"qiǎng cí duó lǐ",噼里啪啦:"pī li pā lā",人才济济:"rén cái jǐ jǐ",发人深省:"fā rén shēn xǐng",不足为凭:"bù zú wéi píng",为富不仁:"wéi fù bù rén",连篇累牍:"lián piān lěi dú",呼天抢地:"hū tiān qiāng dì",落落大方:"luò luò dà fāng",自吹自擂:"zì chuī zì léi",乐善好施:"lè shàn hào shī",以攻为守:"yǐ gōng wéi shǒu",磨磨蹭蹭:"mó mó cèng cèng",削铁如泥:"xuē tiě rú ní",助纣为虐:"zhù zhòu wéi nüè",以退为进:"yǐ tuì wéi jìn",嘁嘁喳喳:"qī qī chā chā",枪林弹雨:"qiāng lín dàn yǔ",令人发指:"lìng rén fà zhǐ",转败为胜:"zhuǎn bài wéi shèng",转弯抹角:"zhuǎn wān mò jiǎo",在劫难逃:"zài jié nán táo",正当防卫:"zhèng dàng fáng wèi",不足为怪:"bù zú wéi guài",难兄难弟:"nàn xiōng nàn dì",咿咿呀呀:"yī yī yā yā",弹尽粮绝:"dàn jìn liáng jué",阿谀奉承:"ē yú fèng chéng",稀里哗啦:"xī li huā lā",返老还童:"fǎn lǎo huán tóng",好高骛远:"hào gāo wù yuǎn",鹿死谁手:"lù sǐ shéi shǒu",差强人意:"chā qiáng rén yì",大吹大擂:"dà chuī dà léi",成家立业:"chéng jiā lì yè",自怨自艾:"zì yuàn zì yì",负债累累:"fù zhài lěi lěi",古为今用:"gǔ wéi jīn yòng",入土为安:"rù tǔ wéi ān",下不为例:"xià bù wéi lì",一哄而上:"yì hōng ér shàng",没头苍蝇:"méi tóu cāng ying",天差地远:"tiān chā dì yuǎn",风卷残云:"fēng juǎn cán yún",多灾多难:"duō zāi duō nàn",乳臭未干:"rǔ xiù wèi gān",行家里手:"háng jiā lǐ shǒu",狼狈为奸:"láng bèi wéi jiān",处变不惊:"chǔ biàn bù jīng",一唱一和:"yí chàng yí hè",一念之差:"yí niàn zhī chā",金蝉脱壳:"jīn chán tuō qiào",滴滴答答:"dī dī dā dā",硕果累累:"shuò guǒ léi léi",好整以暇:"hào zhěng yǐ xiá",红得发紫:"hóng de fā zǐ",传为美谈:"chuán wéi měi tán",富商大贾:"fù shāng dà gǔ",四海为家:"sì hǎi wéi jiā",了若指掌:"liǎo ruò zhǐ zhǎng",大有可为:"dà yǒu kě wéi",出头露面:"chū tóu lù miàn",鼓鼓囊囊:"gǔ gu nāng nāng",窗明几净:"chuāng míng jī jìng",泰然处之:"tài rán chǔ zhī",怒发冲冠:"nù fà chōng guān",有机玻璃:"yǒu jī bō li",骨头架子:"gǔ tou jià zi",义薄云天:"yì bó yún tiān",一丁点儿:"yī dīng diǎn er",时来运转:"shí lái yùn zhuǎn",陈词滥调:"chén cí làn diào",化整为零:"huà zhěng wéi líng",火烧火燎:"huǒ shāo huǒ liǎo",干脆利索:"gàn cuì lì suǒ",吊儿郎当:"diào er láng dāng",广种薄收:"guǎng zhòng bó shōu",种瓜得瓜:"zhòng guā dé guā",种豆得豆:"zhòng dòu dé dòu",难舍难分:"nán shě nán fēn",歃血为盟:"shà xuè wéi méng",奋发有为:"fèn fā yǒu wéi",阴错阳差:"yīn cuò yáng chā",东躲西藏:"dōng duǒ xī cáng",烟熏火燎:"yān xūn huǒ liǎo",钻牛角尖:"zuān niú jiǎo jiān",乔装打扮:"qiáo zhuāng dǎ bàn",改弦更张:"gǎi xián gēng zhāng",河南梆子:"hé nán bāng zi",好吃懒做:"hào chī lǎn zuò",何乐不为:"hé lè bù wéi",大出风头:"dà chū fēng tóu",攻城掠地:"gōng chéng lüè dì",漂漂亮亮:"piào piào liang liang",折衷主义:"zhé zhōng zhǔ yì",大马哈鱼:"dà mǎ hǎ yú",绿树成荫:"lǜ shù chéng yīn",率先垂范:"shuài xiān chuí fàn",家长里短:"jiā cháng lǐ duǎn",宽大为怀:"kuān dà wéi huái",左膀右臂:"zuǒ bǎng yòu bì",一笑了之:"yí xiào liǎo zhī",天下为公:"tiān xià wéi gōng",还我河山:"huán wǒ hé shān",何足为奇:"hé zú wéi qí",好自为之:"hǎo zì wéi zhī",风姿绰约:"fēng zī chuò yuē",大雨滂沱:"dà yǔ pāng tuó",传为佳话:"chuán wéi jiā huà",吃里扒外:"chī lǐ pá wài",重操旧业:"chóng cāo jiù yè",小家子气:"xiǎo jiā zi qì",少不更事:"shào bù gēng shì",难分难舍:"nán fēn nán shě",添砖加瓦:"tiān zhuān jiā wǎ",是非分明:"shì fēi fēn míng",舍我其谁:"shě wǒ qí shuí",偏听偏信:"piān tīng piān xìn",量入为出:"liàng rù wéi chū",降龙伏虎:"xiáng lóng fú hǔ",钢化玻璃:"gāng huà bō li",正中下怀:"zhèng zhòng xià huái",以身许国:"yǐ shēn xǔ guó",一语中的:"yì yǔ zhòng dì",丧魂落魄:"sàng hún luò pò",三座大山:"sān zuò dà shān",济济一堂:"jǐ jǐ yì táng",好事之徒:"hào shì zhī tú",干净利索:"gàn jìng lì suǒ",出将入相:"chū jiàng rù xiàng",袅袅娜娜:"niǎo niǎo nuó nuó",狐狸尾巴:"hú li wěi ba",好逸恶劳:"hào yì wù láo",大而无当:"dà ér wú dàng",打马虎眼:"dǎ mǎ hu yǎn",板上钉钉:"bǎn shàng dìng dīng",吆五喝六:"yāo wǔ hè liù",虾兵蟹将:"xiā bīng xiè jiàng",水调歌头:"shuǐ diào gē tóu",数典忘祖:"shǔ diǎn wàng zǔ",人事不省:"rén shì bù xǐng",曲高和寡:"qǔ gāo hè guǎ",屡教不改:"lǚ jiào bù gǎi",互为因果:"hù wéi yīn guǒ",互为表里:"hù wéi biǎo lǐ",厚此薄彼:"hòu cǐ bó bǐ",过关斩将:"guò guān zhǎn jiàng",疙疙瘩瘩:"gē ge dā dā",大腹便便:"dà fù pián pián",走为上策:"zǒu wéi shàng cè",冤家对头:"yuān jia duì tóu",有隙可乘:"yǒu xì kě chèng",一鳞半爪:"yì lín bàn zhǎo",片言只语:"piàn yán zhǐ yǔ",开花结实:"kāi huā jié shí",经年累月:"jīng nián lěi yuè",含糊其词:"hán hú qí cí",寡廉鲜耻:"guǎ lián xiǎn chǐ",成年累月:"chéng nián lěi yuè",不徇私情:"bú xùn sī qíng",不当人子:"bù dāng rén zǐ",膀大腰圆:"bǎng dà yāo yuán",指腹为婚:"zhǐ fù wéi hūn",这么点儿:"zhè me diǎn er",意兴索然:"yì xīng suǒ rán",绣花枕头:"xiù huā zhěn tou",无的放矢:"wú dì fàng shǐ",望闻问切:"wàng wén wèn qiè",舍己为人:"shě jǐ wèi rén",穷年累月:"qióng nián lěi yuè",排难解纷:"pái nàn jiě fēn",处之泰然:"chǔ zhī tài rán",指鹿为马:"zhǐ lù wéi mǎ",危如累卵:"wēi rú lěi luǎn",天兵天将:"tiān bīng tiān jiàng",舍近求远:"shě jìn qiú yuǎn",南腔北调:"nán qiāng běi diào",苦中作乐:"kǔ zhōng zuò lè",厚积薄发:"hòu jī bó fā",臭味相投:"xiù wèi xiāng tóu",长幼有序:"zhǎng yòu yǒu xù",逼良为娼:"bī liáng wéi chāng",悲悲切切:"bēi bēi qiè qiē",败军之将:"bài jūn zhī jiàng",欺行霸市:"qī háng bà shì",削足适履:"xuē zú shì lǚ",先睹为快:"xiān dǔ wéi kuài",啼饥号寒:"tí jī háo hán",疏不间亲:"shū bú jiàn qīn",神差鬼使:"shén chāi guǐ shǐ",敲敲打打:"qiāo qiāo dǎ dǎ",平铺直叙:"píng pū zhí xù",没头没尾:"méi tóu mò wěi",寥寥可数:"liáo liáo kě shǔ",哼哈二将:"hēng hā èr jiàng",鹤发童颜:"hè fà tóng yán",各奔前程:"gè bèn qián chéng",弹无虚发:"dàn wú xū fā",大人先生:"dà rén xiān sheng",与民更始:"yǔ mín gēng shǐ",树碑立传:"shù bēi lì zhuàn",是非得失:"shì fēi dé shī",实逼处此:"shí bī chǔ cǐ",塞翁失马:"sài wēng shī mǎ",日薄西山:"rì bó xī shān",切身体会:"qiè shēn tǐ huì",片言只字:"piàn yán zhǐ zì",跑马卖解:"pǎo mǎ mài xiè",宁折不弯:"nìng zhé bù wān",零零散散:"líng líng sǎn sǎn",量体裁衣:"liàng tǐ cái yī",连中三元:"lián zhòng sān yuán",礼崩乐坏:"lǐ bēng yuè huài",不为已甚:"bù wéi yǐ shèn",转悲为喜:"zhuǎn bēi wéi xǐ",以眼还眼:"yǐ yǎn huán yǎn",蔚为大观:"wèi wéi dà guān",未为不可:"wèi wéi bù kě",童颜鹤发:"tóng yán hè fà",朋比为奸:"péng bǐ wéi jiān",莫此为甚:"mò cǐ wéi shèn",夹枪带棒:"jiā qiāng dài bàng",富商巨贾:"fù shāng jù jiǎ",淡然处之:"dàn rán chǔ zhī",箪食壶浆:"dān shí hú jiāng",创巨痛深:"chuāng jù tòng shēn",草长莺飞:"cǎo zhǎng yīng fēi",坐视不救:"zuò shī bú jiù",以己度人:"yǐ jǐ duó rén",随行就市:"suí háng jiù shì",文以载道:"wén yǐ zài dào",文不对题:"wén bú duì tí",铁板钉钉:"tiě bǎn dìng dīng",身体发肤:"shēn tǐ fà fū",缺吃少穿:"quē chī shǎo chuān",目无尊长:"mù wú zūn zhǎng",吉人天相:"jí rén tiān xiàng",毁家纾难:"huǐ jiā shū nàn",钢筋铁骨:"gāng jīn tiě gǔ",丢卒保车:"diū zú bǎo jū",丢三落四:"diū sān là sì",闭目塞听:"bì mù sè tīng",削尖脑袋:"xuē jiān nǎo dài",为非作恶:"wéi fēi zuò è",人才难得:"rén cái nán dé",情非得已:"qíng fēi dé yǐ",切中要害:"qiè zhòng yào hài",火急火燎:"huǒ jí huǒ liǎo",画地为牢:"huà dì wéi láo",好酒贪杯:"hào jiǔ tān bēi",长歌当哭:"cháng gē dàng kū",载沉载浮:"zài chén zài fú",遇难呈祥:"yù nàn chéng xiáng",榆木疙瘩:"yú mù gē da",以邻为壑:"yǐ lín wéi hè",洋为中用:"yáng wéi zhōng yòng",言为心声:"yán wéi xīn shēng",言必有中:"yán bì yǒu zhòng",图穷匕见:"tú qióng bǐ xiàn",滂沱大雨:"páng tuó dà yǔ",目不暇给:"mù bù xiá jǐ",量才录用:"liàng cái lù yòng",教学相长:"jiào xué xiāng zhǎng",悔不当初:"huǐ bù dāng chū",呼幺喝六:"hū yāo hè liù",不足为训:"bù zú wéi xùn",不拘形迹:"bù jū xíng jī",傍若无人:"páng ruò wú rén",罪责难逃:"zuì zé nán táo",自我吹嘘:"zì wǒ chuī xū",转祸为福:"zhuǎn huò wéi fú",勇冠三军:"yǒng guàn sān jūn",易地而处:"yì dì ér chǔ",卸磨杀驴:"xiè mò shā lǘ",玩儿不转:"wán ér bú zhuàn",天道好还:"tiān dào hǎo huán",身单力薄:"shēn dān lì bó",撒豆成兵:"sǎ dòu chéng bīng",片纸只字:"piàn zhǐ zhī zì",宁缺毋滥:"nìng quē wú làn",没没无闻:"mò mò wú wén",量力而为:"liàng lì ér wéi",历历可数:"lì lì kě shǔ",口碑载道:"kǒu bēi zài dào",君子好逑:"jūn zǐ hǎo qiú",好为人师:"hào wéi rén shī",豪商巨贾:"háo shāng jù jiǎ",各有所好:"gè yǒu suǒ hào",度德量力:"duó dé liàng lì",指天为誓:"zhǐ tiān wéi shì",逸兴遄飞:"yì xìng chuán fēi",心宽体胖:"xīn kuān tǐ pán",为德不卒:"wéi dé bù zú",天下为家:"tiān xià wéi jiā",视为畏途:"shì wéi wèi tú",三灾八难:"sān zāi bā nàn",沐猴而冠:"mù hóu ér guàn",哩哩啦啦:"lī li lā lā",见缝就钻:"jiàn fèng jiù zuān",夹层玻璃:"jiā céng bō li",急公好义:"jí gōng hào yì",积年累月:"jī nián lěi yuè",划地为牢:"huá dì wéi láo",更名改姓:"gēng míng gǎi xìng",奉为圭臬:"fèng wéi guī niè",多难兴邦:"duō nàn xīng bāng",不破不立:"bú pò bú lì",坐地自划:"zuò dì zì huá",坐不重席:"zuò bù chóng xí",坐不窥堂:"zuò bù kuī táng",作嫁衣裳:"zuò jià yī shang",左枝右梧:"zuǒ zhī yòu wú",左宜右有:"zuǒ yí yòu yǒu",钻头觅缝:"zuān tóu mì fèng",钻天打洞:"zuān tiān dǎ dòng",钻皮出羽:"zuān pí chū yǔ",钻火得冰:"zuān huǒ dé bīng",钻洞觅缝:"zuàn dòng mì féng",钻冰求火:"zuān bīng qiú huǒ",子为父隐:"zǐ wéi fù yǐn",擢发难数:"zhuó fà nán shǔ",着人先鞭:"zhuó rén xiān biān",斫雕为朴:"zhuó diāo wéi pǔ",锥处囊中:"zhuī chǔ náng zhōng",椎心饮泣:"chuí xīn yǐn qì",椎心泣血:"chuí xīn qì xuè",椎牛飨士:"chuí niú xiǎng shì",椎牛歃血:"chuí niú shà xuè",椎牛发冢:"chuí niú fà zhǒng",椎埋屠狗:"chuí mái tú gǒu",椎埋狗窃:"chuí mái gǒu qiè",壮发冲冠:"zhuàng fā chōng guàn",庄严宝相:"zhuāng yán bǎo xiàng",转愁为喜:"zhuǎn chóu wéi xǐ",转嗔为喜:"zhuǎn chēn wéi xǐ",拽巷啰街:"zhuài xiàng luó jiē",拽耙扶犁:"zhuāi pá fú lí",拽布拖麻:"zhuài bù tuō má",箸长碗短:"zhù cháng wǎn duǎn",铸剑为犁:"zhù jiàn wéi lí",杼柚其空:"zhù yòu qí kōng",杼柚空虚:"zhù yòu kōng xū",助天为虐:"zhù tiān wéi nüè",属垣有耳:"zhǔ yuán yǒu ěr",属毛离里:"zhǔ máo lí lǐ",属辞比事:"zhǔ cí bǐ shì",逐物不还:"zhú wù bù huán",铢量寸度:"zhū liáng cùn duó",铢两悉称:"zhū liǎng xī chèn",侏儒观戏:"zhū rú guān xì",朱轓皁盖:"zhū fān zào gài",昼度夜思:"zhòu duó yè sī",诪张为幻:"zhōu zhāng wéi huàn",重明继焰:"chóng míng jì yàn",众啄同音:"zhòng zhuó tóng yīn",众毛攒裘:"zhòng máo cuán qiú",众好众恶:"zhòng hào zhòng wù",擿埴索涂:"zhāi zhí suǒ tú",稚齿婑媠:"zhì chǐ wǒ tuó",至当不易:"zhì dàng bú yì",指皂为白:"zhǐ zào wéi bái",指雁为羹:"zhǐ yàn wéi gēng",指树为姓:"zhǐ shù wéi xìng",指山说磨:"zhǐ shān shuō mò",止戈为武:"zhǐ gē wéi wǔ",枝干相持:"zhī gàn xiāng chí",枝大于本:"zh dà yú běn",支吾其词:"zhī wú qí cí",正身率下:"zhèng shēn shuài xià",正冠李下:"zhèng guàn lǐ xià",整冠纳履:"zhěng guān nà lǚ",整躬率物:"zhěng gōng shuài wù",整顿干坤:"zhěng dùn gàn kūn",针头削铁:"zhēn tóu xuē tiě",贞松劲柏:"zhēn sōng jìng bǎi",赭衣塞路:"zhě yī sè lù",折箭为誓:"shé jiàn wéi shì",折而族之:"zhé ér zú zhī",昭德塞违:"zhāo dé sè wéi",章句小儒:"zhāng jù xiǎo rú",湛恩汪濊:"zhàn ēn wāng huì",占风望气:"zhān fēng wàng qì",斩将搴旗:"zhǎn jiàng qiān qí",曾母投杼:"zēng mǔ tóu zhù",曾参杀人:"zēng shēn shā rén",造谣中伤:"zào yáo zhòng shāng",早占勿药:"zǎo zhān wù yào",凿龟数策:"záo guī shǔ cè",攒三聚五:"cuán sān jù wǔ",攒眉蹙额:"cuán mei cù é",攒零合整:"cuán líng hé zhěng",攒锋聚镝:"cuán fēng jù dí",载笑载言:"zài xiào zài yán",载酒问字:"zài jiǔ wèn zì",殒身不恤:"yǔn shēn bú xù",云舒霞卷:"yún shū xiá juǎn",月中折桂:"yuè zhōng shé guì",月落参横:"yuè luò shēn héng",鬻驽窃价:"yù nú qiè jià",鬻鸡为凤:"yù jī wéi fèng",遇难成祥:"yù nàn chéng xiáng",郁郁累累:"yù yù lěi lěi",玉卮无当:"yù zhī wú dàng",语笑喧阗:"yǔ xiào xuān tián",与世沉浮:"yǔ shì chén fú",与时消息:"yǔ shí xiāo xi",逾墙钻隙:"yú qiáng zuān xì",渔夺侵牟:"yú duó qīn móu",杅穿皮蠹:"yú chuān pí dù",余勇可贾:"yú yǒng kě gǔ",予智予雄:"yú zhì yú xióng",予取予求:"yú qǔ yú qiú",于家为国:"yú jiā wéi guó",有借无还:"yǒu jiè wú huán",有加无已:"yǒu jiā wú yǐ",有国难投:"yǒu guó nán tóu",游必有方:"yóu bì yǒu fāng",油干灯尽:"yóu gàn dēng jìn",尤云殢雨:"yóu yún tì yǔ",庸中皦皦:"yōng zhōng jiǎo jiǎo",郢书燕说:"yǐng shū yān shuō",营蝇斐锦:"yíng yíng fēi jǐn",鹰心雁爪:"yīng xīn yàn zhǎo",莺吟燕儛:"yīng yín yàn wǔ",应天顺时:"yīng tiān shùn shí",印累绶若:"yìn léi shòu ruò",隐占身体:"yǐn zhàn shēn tǐ",饮犊上流:"yìn dú shàng liú",引绳切墨:"yǐn shéng qiē mò",龈齿弹舌:"yín chǐ dàn shé",因缘为市:"yīn yuán wéi shì",因树为屋:"yīn shù wéi wū",溢美溢恶:"yì měi yì wù",抑塞磊落:"yì sè lěi luò",倚闾望切:"yǐ lǘ wàng qiē",以意为之:"yǐ yì wéi zhī",以言为讳:"yǐ yán wéi huì",以疏间亲:"yǐ shū jiàn qīn",以水济水:"yǐ shuǐ jǐ shuǐ",以书为御:"yǐ shū wéi yù",以守为攻:"yǐ shǒu wéi gōng",以升量石:"yǐ shēng liáng dàn",以慎为键:"yǐ shèn wéi jiàn",以筌为鱼:"yǐ quán wéi yú",以利累形:"yǐ lì lěi xíng",以毁为罚:"yǐ huǐ wéi fá",以黑为白:"yǐ hēi wéi bái",以规为瑱:"yǐ guī wéi tiàn",以古为鉴:"yǐ gǔ wéi jiàn",以宫笑角:"yǐ gōng xiào jué",以法为教:"yǐ fǎ wéi jiào",以大恶细:"yǐ dà wù xì",遗世忘累:"yí shì wàng lěi",遗寝载怀:"yí qǐn zài huái",移的就箭:"yí dì jiù jiàn",依头缕当:"yī tóu lǚ dàng",衣租食税:"yì zū shí shuì",衣轻乘肥:"yì qīng chéng féi",衣裳之会:"yī shang zhī huì",衣单食薄:"yī dān shí bó",一还一报:"yì huán yí bào",叶公好龙:"yè gōng hào lóng",野调无腔:"yě diào wú qiāng",瑶池女使:"yáo chí nǚ shǐ",幺麽小丑:"yāo mó xiǎo chǒu",养精畜锐:"yǎng jīng xù ruì",卬首信眉:"áng shǒu shēn méi",洋洋纚纚:"yáng yáng sǎ sǎ",羊羔美酒:"yáng gāo měi jiǔ",扬风扢雅:"yáng fēng jié yǎ",燕昭市骏:"yān zhāo shì jùn",燕昭好马:"yān zhāo hǎo mǎ",燕石妄珍:"yān shí wàng zhēn",燕骏千金:"yān jùn qiān jīn",燕金募秀:"yān jīn mù xiù",燕驾越毂:"yān jià yuè gǔ",燕歌赵舞:"yān gē zhào wǔ",燕岱之石:"yān dài zhī shí",燕处危巢:"yàn chǔ wēi cháo",掞藻飞声:"shàn zǎo fēi shēng",偃革为轩:"yǎn gé wéi xuān",妍蚩好恶:"yán chī hǎo è",压良为贱:"yā liáng wéi jiàn",搀行夺市:"chān háng duó shì",泣数行下:"qì shù háng xià",当行出色:"dāng háng chū sè",秀出班行:"xiù chū bān háng",儿女成行:"ér nǚ chéng háng",大行大市:"dà háng dà shì",寻行数墨:"xún háng shǔ mò",埙篪相和:"xūn chí xiāng hè",血债累累:"xuè zhài lěi lěi",炫玉贾石:"xuàn yù gǔ shí",炫石为玉:"xuàn shí wéi yù",悬石程书:"xuán dàn chéng shū",悬狟素飡:"xuán huán sù cān",悬龟系鱼:"xuán guī xì yú",揎拳捋袖:"xuān quán luō xiù",轩鹤冠猴:"xuān hè guàn hóu",畜妻养子:"xù qī yǎng zǐ",羞人答答:"xiū rén dā dā",修鳞养爪:"xiū lín yǎng zhǎo",熊据虎跱:"xióng jù hǔ zhì",兄死弟及:"xiōng sǐ dì jí",腥闻在上:"xīng wén zài shàng",兴文匽武:"xīng wén yǎn wǔ",兴观群怨:"xìng guān qún yuàn",兴高彩烈:"xìng gāo cǎi liè",心手相应:"xīn shǒu xiāng yìng",心口相应:"xīn kǒu xiāng yīng",挟势弄权:"xié shì nòng quán",胁肩累足:"xié jiān lěi zú",校短量长:"jiào duǎn liáng cháng",小眼薄皮:"xiǎo yǎn bó pí",硝云弹雨:"xiāo yún dàn yǔ",鸮鸣鼠暴:"xiāo míng shǔ bào",削株掘根:"xuē zhū jué gēn",削铁无声:"xuē tiě wú shēng",削职为民:"xuē zhí wéi mín",削木为吏:"xuē mù wéi lì",想望风褱:"xiǎng wàng fēng huái",香培玉琢:"xiang pei yu zhuó",相鼠有皮:"xiàng shǔ yǒu pí",相时而动:"xiàng shí ér dòng",相切相磋:"xiāng qiē xiāng cuō",相女配夫:"xiàng nǚ pèi fū",相门有相:"xiàng mén yǒu xiàng",挦章撦句:"xián zhāng chě jù",先我着鞭:"xiān wǒ zhuó biān",习焉不察:"xí yān bù chá",歙漆阿胶:"shè qī ē jiāo",晰毛辨发:"xī máo biàn fà",悉索薄赋:"xī suǒ bó fù",雾鳞云爪:"wù lín yún zhǎo",物稀为贵:"wù xī wéi guì",碔砆混玉:"wǔ fū hùn yù",武断专横:"wǔ duàn zhuān héng",五石六鹢:"wǔ shí liù yì",五色相宣:"wǔ sè xiāng xuān",五侯七贵:"wǔ hóu qī guì",五侯蜡烛:"wǔ hòu là zhú",五羖大夫:"wǔ gǔ dà fū",吾自有处:"wú zì yǒu chǔ",无下箸处:"wú xià zhù chǔ",无伤无臭:"wú shāng wú xiù",无能为役:"wú néng wéi yì",无寇暴死:"wú kòu bào sǐ",无孔不钻:"wú kǒng bú zuàn",无间可乘:"wú jiān kě chéng",无间冬夏:"wú jiān dōng xià",无恶不为:"wú è bù wéi",无动为大:"wú dòng wéi dà",诬良为盗:"wū liáng wéi dào",握拳透爪:"wò quán tòu zhǎo",文武差事:"wén wǔ chāi shì",委委佗佗:"wēi wēi tuó tuó",惟日为岁:"wéi rì wéi suì",帷薄不修:"wéi bó bù xiū",为善最乐:"wéi shàn zuì lè",为山止篑:"wéi shān zhǐ kuì",为仁不富:"wéi rén bú fù",为裘为箕:"wéi qiú wéi jī",为民父母:"wéi mín fù mǔ",为虺弗摧:"wéi huǐ fú cuī",为好成歉:"wéi hǎo chéng qiàn",为鬼为蜮:"wéi guǐ wéi yù",望风响应:"wàng fēng xiǎng yīng",望尘僄声:"wàng chén piào shēng",往渚还汀:"wǎng zhǔ huán tīng",王贡弹冠:"wáng gòng dàn guàn",亡国大夫:"wáng guó dà fū",万贯家私:"wàn guàn jiā sī",晚食当肉:"wǎn shí dàng ròu",晚节不保:"wǎn jié bù bǎo",玩岁愒时:"wán suì kài shí",蛙蟆胜负:"wā má shèng fù",吞言咽理:"tūn yán yàn lǐ",颓垣断堑:"tuí yuán duàn qiàn",推干就湿:"tuī gàn jiù shī",剸繁决剧:"tuán fán jué jù",团头聚面:"tuán tóu jù miàn",兔丝燕麦:"tù sī yàn mài",兔头麞脑:"tù tóu zhāng nǎo",兔葵燕麦:"tù kuí yàn mài",吐哺握发:"tǔ bǔ wò fà",投传而去:"tóu zhuàn ér qù",头没杯案:"tóu mò bēi àn",头昏脑闷:"tóu hūn nǎo mèn",头会箕敛:"tóu kuài jī liǎn",头出头没:"tóu chū tóu mò",痛自创艾:"tòng zì chuāng yì",同恶相助:"tóng wù xiāng zhù",同恶相恤:"tóng wù xiāng xù",痌瘝在抱:"tōng guān zài bào",通文调武:"tōng wén diào wǔ",停留长智:"tíng liú zhǎng zhì",铁树开华:"tiě shù kāi huā",条贯部分:"tiáo guàn bù fēn",挑牙料唇:"tiǎo yá liào chún",挑么挑六:"tiāo yāo tiāo liù",挑唇料嘴:"tiǎo chún liào zuǐ",恬不为意:"tián bù wéi yì",恬不为怪:"tián bù wéi guài",天下为笼:"tiān xià wéi lóng",天台路迷:"tiān tái lù mí",天年不遂:"tiān nián bú suì",探囊胠箧:"tàn náng qū qiè",谭言微中:"tán yán wēi zhòng",谈言微中:"tán yán wēi zhòng",狧穅及米:"shì kāng jí mǐ",随物应机:"suí wù yīng jī",搜岩采干:"sōu yán cǎi gàn",宋斤鲁削:"sòng jīn lǔ xuē",松筠之节:"sōng yún zhī jié",四亭八当:"sì tíng bā dàng",四马攒蹄:"sì mǎ cuán tí",四不拗六:"sì bú niù liù",思所逐之:"sī suǒ zhú zhī",丝恩发怨:"sī ēn fà yuàn",硕望宿德:"shuò wàng xiǔ dé",铄古切今:"shuò gǔ qiē jīn",顺风而呼:"shùn fēng ér hū",顺风吹火:"shùn fēng chuī huǒ",水中著盐:"shuǐ zhōng zhuó yán",双柑斗酒:"shuāng gān dǒu jiǔ",数米而炊:"shǔ mǐ ér chuī",数米量柴:"shǔ mǐ liáng chái",数理逻辑:"shù lǐ luó ji",数黑论黄:"shǔ hēi lùn huáng",数白论黄:"shǔ bái lùn huáng",束缊还妇:"shù yūn huán fù",束蒲为脯:"shù pú wéi pú",束椽为柱:"shù chuán wéi zhù",书缺有间:"shū quē yǒu jiàn",手足重茧:"shǒu zú chóng jiǎn",手足异处:"shǒu zú yì chǔ",手脚干净:"shǒu jiǎo gàn jìng",手不应心:"shǒu bù yīng xīn",螫手解腕:"shì shǒu jiě wàn",释知遗形:"shì zhī yí xíng",适时应务:"shì shí yīng wù",适情率意:"shì qíng shuài yì",适当其冲:"shì dāng qí chōng",视为知己:"shì wéi zhī jǐ",使羊将狼:"shǐ yáng jiàng láng",食为民天:"shí wéi mín tiān",拾掇无遗:"shí duō wú yí",实与有力:"shí yù yǒu lì",石英玻璃:"shí yīng bō li",石室金匮:"shí shì jīn guì",什袭珍藏:"shí xí zhēn cáng",什伍东西:"shí wǔ dōng xī",什围伍攻:"shí wéi wǔ gōng",十魔九难:"shí mó jiǔ nàn",诗书发冢:"shī shū fà zhǒng",虱处裈中:"shī chǔ kūn zhōng",师直为壮:"shī zhí wéi zhuàng",尸居龙见:"shī jū lóng xiàn",圣经贤传:"shèng jīng xián zhuàn",圣君贤相:"shèng jūn xián xiàng",生拖死拽:"shēng tuō sǐ zhuài",审己度人:"shěn jǐ duó rén",神武挂冠:"shén wǔ guà guàn",神龙失埶:"shén lóng shī shì",深文曲折:"shēn wén qǔ shé",深厉浅揭:"shēn lì qiǎn qì",深谷为陵:"shēn gǔ wéi líng",深恶痛疾:"shēn wù tòng jí",深仇宿怨:"shēn chóu xiǔ yuàn",舍己为公:"shě jǐ wèi gōng",舍短取长:"shě duǎn qǔ cháng",舍策追羊:"shě cè zhuī yáng",蛇蝎为心:"shé xiē wéi xīn",少成若性:"shào chéng ruò xìng",上当学乖:"shàng dàng xué guāi",赏不当功:"shǎng bù dāng gōng",善自为谋:"shàn zì wéi móu",善为说辞:"shàn wéi shuō cí",善善恶恶:"shàn shàn wù è",善财难舍:"shàn cái nán shě",苫眼铺眉:"shān yǎn pū méi",讪牙闲嗑:"shàn yá xián kē",山阴乘兴:"shān yīn chéng xīng",山殽野湋:"shān yáo yě wéi",山溜穿石:"shān liù chuān shí",山节藻棁:"shān jié zǎo zhuō",杀鸡为黍:"shā jī wéi shǔ",色厉胆薄:"sè lì dǎn bó",桑荫未移:"sāng yīn wèi yí",桑荫不徙:"sāng yīn bù xǐ",桑土绸缪:"sāng tǔ chóu miù",桑户棬枢:"sāng hù juàn shū",三战三北:"sān zhàn sān běi",三瓦两舍:"sān wǎ liǎng shě",三人为众:"sān rén wèi zhòng",三差两错:"sān chā liǎng cuò",塞井焚舍:"sāi jǐng fén shě",洒心更始:"sǎ xīn gèng shǐ",洒扫应对:"sǎ sǎo yìng duì",软红香土:"ruǎn hóng xiāng tǔ",入吾彀中:"rù wú gòu zhōng",入铁主簿:"rù tiě zhǔ bù",入理切情:"rù lǐ qiē qíng",汝成人耶:"rǔ chéng rén yé",如水投石:"rú shuǐ tóu shí",如切如磋:"rú qiē rú cuō",如登春台:"rú dēng chūn tái",肉薄骨并:"ròu bó gǔ bìng",柔情绰态:"róu qíng chuò tài",戎马劻勷:"róng mǎ kuāng ráng",日中为市:"rì zhōng wéi shì",日月参辰:"rì yuè shēn chén",日省月修:"rì xǐng yuè xiū",日削月割:"rì xuē yuè gē",日省月试:"rì xǐng yuè shì",任达不拘:"rèn dá bù jū",人言藉藉:"rén yán jí jí",人模狗样:"rén mú gǒu yàng",人莫予毒:"rén mò yú dú",热熬翻饼:"rè áo fān bǐng",圈牢养物:"juàn láo yǎng wù",取予有节:"qǔ yǔ yǒu jié",诎要桡腘:"qū yāo ráo guó",穷形尽相:"qióng xíng jìn xiàng",情凄意切:"qíng qī yì qiè",情见势屈:"qíng xiàn shì qū",情见乎辞:"qíng xiàn hū cí",清都绛阙:"qīng dōu jiàng què",倾肠倒肚:"qīng cháng dào dǔ",青紫被体:"qīng zǐ pī tǐ",青林黑塞:"qīng lín hēi sài",螓首蛾眉:"qín shǒu é méi",琴瑟之好:"qín sè zhī hào",且住为佳:"qiě zhù wéi jiā",切树倒根:"qiē shù dǎo gēn",切理餍心:"qiē lǐ yàn xīn",切近的当:"qiē jìn de dāng",翘足引领:"qiáo zú yǐn lǐng",巧发奇中:"qiǎo fā qí zhòng",强嘴拗舌:"jiàng zuǐ niù shé",强直自遂:"qiáng zhí zì suí",强死强活:"qiǎng sǐ qiǎng huó",强食自爱:"qiǎng shí zì ài",强食靡角:"qiǎng shí mí jiǎo",强弓劲弩:"qiáng gōng jìng nǔ",强聒不舍:"qiǎng guō bù shě",强凫变鹤:"qiáng fú biàn hè",强而后可:"qiǎng ér hòu kě",强得易贫:"qiǎng dé yì pín",遣兴陶情:"qiǎn xìng táo qíng",牵羊担酒:"qiān yáng dān jiǔ",千了百当:"qiān liǎo bǎi dàng",泣下如雨:"qì xià rú yǔ",起偃为竖:"qǐ yǎn wéi shù",岂弟君子:"kǎi tì jūn zǐ",綦溪利跂:"qí xī lì qí",棋输先著:"qí shū xiān zhuó",齐王舍牛:"qí wáng shě niú",欺天诳地:"qī tiān kuáng dì",普天率土:"pǔ tiān shuài tǔ",铺胸纳地:"pū xiōng nà dì",铺锦列绣:"pū jǐn liè xiù",破家为国:"pò jiā wèi guó",破觚为圜:"pò gū wéi yuán",萍飘蓬转:"píng piāo péng zhuàn",帡天极地:"píng tiān jí dì",屏声息气:"bǐng shēng xī qì",凭几据杖:"píng jī jù zhàng",贫嘴薄舌:"pín zuǐ bó shé",片语只辞:"piàn yǔ zhī cí",披发文身:"pī fà wén shēn",烹龙炮凤:"pēng lóng páo fèng",炰鳖脍鲤:"fǒu biē kuài lǐ",庞眉皓发:"páng méi hào fà",攀花折柳:"pān huā zhé liǔ",攀蟾折桂:"pān chán shé guì",女大难留:"nǚ dà nán liú",弄玉吹箫:"nòng yù chuī xiāo",弄管调弦:"nòng guǎn tiáo xián",弄粉调朱:"nòng fěn diào zhū",浓抹淡妆:"nóng mò dàn zhuāng",捻土为香:"niǎn tǔ wéi xiāng",年谊世好:"nián yì shì hǎo",年华垂暮:"nián huá chuí mù",儗不于伦:"nǐ bù yú lún",泥而不滓:"ní ér bù zǐ",能者为师:"néng zhě wéi shī",能不称官:"néng bú chèn guān",挠直为曲:"náo zhí wéi qū",难进易退:"nán jìn yì tuì",难得糊涂:"nán dé hú tú",南蛮鴂舌:"nán mán jué shé",南贩北贾:"nán fàn běi gǔ",牧猪奴戏:"mù zhū nú xì",目眢心忳:"mù yuān xīn tún",目挑心招:"mù tiǎo xīn zhāo",目量意营:"mù liàng yì yíng",木头木脑:"mù tóu mù nǎo",木干鸟栖:"mù gàn niǎo qī",侔色揣称:"móu sè chuǎi chèn",莫予毒也:"mò yú dú yě",抹粉施脂:"mò fěn shī zhī",磨砻镌切:"mó lóng juān qiē",磨棱刓角:"mó léng wán jiǎo",摸门不着:"mō mén bù zháo",摸不着边:"mō bù zhuó biān",命中注定:"mìng zhōng zhù dìng",鸣鹤之应:"míng hè zhī yìng",明效大验:"míng xiào dà yàn",名我固当:"míng wǒ gù dāng",邈处欿视:"miǎo chǔ kǎn shì",黾穴鸲巢:"měng xué qú cháo",绵里薄材:"mián lǐ bó cái",靡有孑遗:"mǐ yǒu jié yí",靡衣偷食:"mǐ yī tōu shí",迷恋骸骨:"mí liàn hái gǔ",扪参历井:"mén shēn lì jǐng",门单户薄:"mén dān hù bó",昧旦晨兴:"mèi dàn chén xīng",冒名接脚:"mào míng jiē jiǎo",毛遂堕井:"máo suí duò jǐng",毛发倒竖:"máo fā dǎo shù",卖文为生:"mài wén wéi shēng",卖李钻核:"mài lǐ zuān hé",买椟还珠:"mǎi dú huán zhū",埋三怨四:"mán sān yuàn sì",马入华山:"mǎ rù huá shān",落魄江湖:"luò pò jiāng hú",落落难合:"luò luò nán hé",落草为寇:"luò cǎo wéi kòu",罗织构陷:"luó zhī gòu xiàn",鸾凤和鸣:"luán fèng hè míng",率由旧章:"shuài yóu jiù zhāng",率土同庆:"shuài tǔ tóng qìng",率兽食人:"shuài shòu shí rén",率土归心:"shuài tǔ guī xīn",率马以骥:"shuài mǎ yǐ jì",率尔成章:"shuài ěr chéng zhāng",鲁斤燕削:"lǔ jīn yàn xuē",漏尽更阑:"lòu jìn gēng lán",笼鸟槛猿:"lóng niǎo jiàn yuán",笼鸟池鱼:"lóng niǎo chí yú",龙游曲沼:"lóng yóu qū zhǎo",龙血玄黄:"lóng xuè xuán huáng",龙雕凤咀:"lóng diāo fèng jǔ",六尺之讬:"liù chǐ zhī tuō",令原之戚:"líng yuán zhī qī",令人捧腹:"lìng rén pěng fù",陵劲淬砺:"líng jìng cuì lì",临敌易将:"lín dí yì jiàng",裂裳衣疮:"liè shang yī chuāng",裂冠毁冕:"liè guàn huǐ miǎn",了无惧色:"liǎo wú jù sè",了身达命:"liǎo shēn dá mìng",了然无闻:"liǎo rán wú wén",了不可见:"liǎo bù kě jiàn",了不长进:"liǎo bù zhǎng jìn",燎发摧枯:"liǎo fà cuī kū",审时度势:"shěn shí duó shì",量小力微:"liàng xiǎo lì wēi",相时度力:"xiāng shí duó lì",量枘制凿:"liàng ruì zhì záo",量如江海:"liàng rú jiāng hǎi",量金买赋:"liàng jīn mǎi fù",量己审分:"liàng jǐ shěn fēn",敛骨吹魂:"liǎn gǔ chuī hún",詈夷为跖:"lì yí wéi zhí",利令志惛:"lì lìng zhì hūn",李广不侯:"lǐ guǎng bú hòu",礼为情貌:"lǐ wéi qíng mào",礼让为国:"lǐ ràng wéi guó",犁生骍角:"lí shēng xīng jiǎo",离本徼末:"lí běn jiǎo mò",楞眉横眼:"léng méi hèng yǎn",擂天倒地:"léi tiān dǎo dì",累足成步:"lěi zú chéng bù",累瓦结绳:"lěi wǎ jié shéng",累土至山:"lěi tǔ zhì shān",累土聚沙:"lěi tǔ jù shā",累卵之危:"lěi luǎn zhī wēi",累累如珠:"lěi lěi rú zhū",累块积苏:"lěi kuài jī sū",乐山乐水:"lè shān lè shuǐ",潦原浸天:"lǎo yuán jìn tiān",老师宿儒:"lǎo shī xiǔ rú",牢什古子:"láo shí gǔ zi",琅嬛福地:"láng huán fú dì",揆情度理:"kuí qíng duó lǐ",旷日累时:"kuàng rì lěi shí",匡救弥缝:"kuāng jiù mí fèng",枯树生华:"kū shù shēng huā",口轻舌薄:"kǒu qīng shé bó",口角生风:"kǒu jiǎo shēng fēng",口角春风:"kǒu jiǎo chūn fēng",口角风情:"kǒu jiǎo fēng qíng",口干舌焦:"kǒu gān shé jiāo",口腹之累:"kǒu fù zhī lěi",空腹便便:"kōng fù pián pián",嗑牙料嘴:"kē yá liào zuǐ",刻木为鹄:"kè mù wéi hú",咳珠唾玉:"ké zhū tuò yù",咳唾成珠:"ké tuò chéng zhū",抗颜为师:"kàng yán wéi shī",开华结果:"kāi huā jié guǒ",峻阪盐车:"jùn bǎn yán chē",嚼铁咀金:"jiáo tiě jǔ jīn",嚼墨喷纸:"jué mò pēn zhǐ",倔头强脑:"juè tóu jiàng nǎo",倔头倔脑:"juè tóu juè nǎo",倦鸟知还:"juàn niǎo zhī huán",卷席而葬:"juǎn xí ér zàng",卷甲倍道:"juǎn jiǎ bèi dào",聚米为山:"jù mǐ wéi shān",举手相庆:"jǔ shǒu xiāng qìng",举世混浊:"jǔ shì hún zhuó",鞠为茂草:"jū wéi mào cǎo",拘神遣将:"jū shén qiǎn jiàng",居下讪上:"jū xià shàn shàng",久要不忘:"jiǔ yāo bú wàng",九转功成:"jiǔ zhuǎn gōng chéng",九蒸三熯:"jiǔ zhēng sān hàn",敬业乐群:"jìng yè lè qún",井底虾蟆:"jǐng dǐ xiā má",旌旗卷舒:"jīng qí juǎn shū",荆棘载途:"jīng jí zài tú",禁舍开塞:"jìn shě kāi sāi",祲威盛容:"jìn wēi shèng róng",进退消长:"jìn tuì xiāo cháng",进退应矩:"jìn tuì yīng jǔ",进退触籓:"jìn tuì chù fān",进退跋疐:"jìn tuì bá zhì",尽多尽少:"jǐn duō jǐn shǎo",锦囊还矢:"jǐn náng huán shǐ",矜己自饰:"jīn jǐ zì shì",矜功负气:"jīn gōng fù qì",津关险塞:"jīn guān xiǎn sài",金吾不禁:"jīn wú bú jìn",金翅擘海:"jīn chì bāi hǎi",解衣衣人:"jiě yī yī rén",解人难得:"jiě rén nán dé",解铃系铃:"jiě líng xì líng",解发佯狂:"jiě fà yáng kuáng",诘屈磝碻:"jié qū áo qiāo",教猱升木:"jiāo náo shēng mù",较瘦量肥:"jiào shòu liàng féi",角立杰出:"jiǎo lì jié chū",焦沙烂石:"jiāo shā làn shí",骄儿騃女:"jiāo ér sì nǚ",浇风薄俗:"jiāo fēng bó sú",降妖捉怪:"xiáng yāo zhuō guài",将取固予:"jiāng qǔ gù yǔ",将门有将:"jiàng mén yǒu jiàng",将夺固与:"jiāng duó gù yǔ",槛花笼鹤:"jiàn huā lóng hè",鉴影度形:"jiàn yǐng duó xíng",渐不可长:"jiàn bù kě zhǎng",见素抱朴:"xiàn sù bào pǔ",见弃于人:"jiàn qì yú rén",简丝数米:"jiǎn sī shǔ mǐ",俭不中礼:"jiǎn bú zhòng lǐ",间见层出:"jiàn xiàn céng chū",尖嘴薄舌:"jiān zuǐ bó shé",甲冠天下:"jiǎ guàn tiān xià",葭莩之亲:"jiā fú zhī qīn",家累千金:"jiā lèi qiān jīn",家给人足:"jiā jǐ rén zú",家道从容:"jiā dào cóng róng",夹袋人物:"jiā dài rén wù",霁风朗月:"jì fēng lǎng yuè",寄兴寓情:"jì xìng yù qíng",计深虑远:"jì shēn lǜ yuǎn",计功量罪:"jì gōng liàng zuì",掎裳连襼:"jǐ shang lián yì",虮虱相吊:"jǐ shī xiāng diào",疾不可为:"jí bù kě wéi",极深研几:"jí shēn yán jī",及宾有鱼:"jí bīn yǒu yú",激薄停浇:"jī bó tíng jiāo",积素累旧:"jī sù lěi jiù",积时累日:"jī shí lěi rì",积露为波:"jī lù wéi bō",积德累功:"jī dé lěi gōng",积谗糜骨:"jī chán méi gǔ",击排冒没:"jī pái mào mò",祸为福先:"huò wéi fú xiān",祸福相依:"huò fú xiāng yī",获隽公车:"huò jùn gōng chē",混应滥应:"hùn yīng làn yīng",毁舟为杕:"huǐ zhōu wéi duò",毁钟为铎:"huǐ zhōng wéi duó",毁冠裂裳:"huǐ guān liè cháng",晦盲否塞:"huì máng pǐ sè",回船转舵:"huí chuán zhuàn duò",潢池盗弄:"huáng chí dào nòng",黄冠草履:"huáng guàn cǎo lǚ",黄发儿齿:"huáng fà ér chǐ",黄发垂髫:"huáng fà chuí tiáo",还珠返璧:"huán zhū fǎn bì",还年驻色:"huán nián zhù sè",还年却老:"huán nián què lǎo",坏裳为裤:"huài shang wéi kù",画荻和丸:"huà dí huò wán",化枭为鸠:"huà xiāo wéi jiū",化腐为奇:"huà fǔ wéi qí",化鸱为凤:"huà chī wéi fèng",花不棱登:"huā bu lēng dēng",户限为穿:"hù xiàn wéi chuān",呼卢喝雉:"hū lú hè zhì",呼来喝去:"hū lái hè qù",呼不给吸:"hū bù jǐ xī",厚味腊毒:"hòu wèi xī dú",厚德载物:"hòu dé zài wù",鸿渐于干:"hóng jiàn yú gàn",洪炉燎发:"hóng lú liáo fà",红绳系足:"hóng shéng jì zú",红不棱登:"hóng bu lēng dēng",横抢硬夺:"hèng qiǎng yìng duó",横恩滥赏:"hèng ēn làn shǎng",恨海难填:"hèn hǎi nán tián",鹤发鸡皮:"hè fà jī pí",涸思干虑:"hé sī gān lǜ",河涸海干:"hé hé hǎi gān",和颜说色:"hé yán yuè sè",合从连衡:"hé zòng lián héng",浩浩汤汤:"hào hào shāng shāng",好勇斗狠:"hào yǒng dòu hěn",好问则裕:"hào wèn zé yù",好为事端:"hào wéi shì duān",好问决疑:"hào wèn jué yí",好生之德:"hào shēng zhī dé",好奇尚异:"hǎo qí shàng yì",好恶不同:"hǎo è bù tóng",好丹非素:"hào dān fēi sù",豪干暴取:"háo gàn bào qǔ",毫发不爽:"háo fà bù shuǎng",寒酸落魄:"hán suān luò pò",含英咀华:"hán yīng jǔ huá",含糊不明:"hán hú bù míng",过为已甚:"guò wéi yǐ shèn",桂折兰摧:"guì shé lán cuī",规旋矩折:"guī xuán jǔ shé",广文先生:"guǎng wén xiān sheng",广陵散绝:"guǎng líng sǎn jué",冠山戴粒:"guàn shān dài lì",冠屦倒施:"guàn jù dǎo shī",挂席为门:"guà xí wéi mén",寡见鲜闻:"guǎ jiàn xiǎn wén",瓜葛相连:"guā gé xiāng lián",鼓吻奋爪:"gǔ wěn fèn zhǎo",古调单弹:"gǔ diào dān tán",古调不弹:"gǔ diào bù tán",姑射神人:"gū yè shén rén",苟合取容:"gǒu hé qǔ róng",狗续侯冠:"gǒu xù hòu guàn",钩爪锯牙:"gōu zhǎo jù yá",共枝别干:"gòng zhī bié gàn",共为唇齿:"gòng wéi chún chǐ",拱手而降:"gǒng shǒu ér xiáng",拱肩缩背:"gǒng jiān suō bèi",功薄蝉翼:"gōng bó chán yì",弓调马服:"gōng diào mǎ fú",更姓改物:"gēng xìng gǎi wù",更仆难数:"gēng pú nán shǔ",更令明号:"gēng lìng míng hào",更待干罢:"gèng dài gàn bà",更唱迭和:"gēng chàng dié hé",更长梦短:"gēng cháng mèng duǎn",各色名样:"gè sè míng yàng",格格不纳:"gé gé bú nà",格格不吐:"gé gé bù tǔ",告朔饩羊:"gù shuò xì yáng",膏车秣马:"gào chē mò mǎ",高义薄云:"gāo yì bó yún",岗头泽底:"gāng tóu zé dǐ",敢为敢做:"gǎn wéi gǎn zuò",甘分随时:"gān fèn suí shí",甘处下流:"gān chǔ xià liú",干啼湿哭:"gàn tí shī kū",干名犯义:"gàn míng fàn yì",干将莫邪:"gān jiāng mò yé",干城之将:"gān chéng zhī jiàng",腹载五车:"fù zài wǔ chē",父债子还:"fù zhài zǐ huán",父为子隐:"fù wéi zǐ yǐn",辅世长民:"fǔ shì zhǎng mín",福为祸始:"fú wéi huò shǐ",符号逻辑:"fú hào luó jí",浮收勒折:"fú shōu lè shé",肤受之愬:"fū shòu zhī sù",否终则泰:"pǐ zhōng zé tài",佛头著粪:"fó tóu zhuó fèn",奉为楷模:"fèng wéi kǎi mó",凤靡鸾吪:"fèng mǐ luán é",封豨修蛇:"fēng xī xiū shé",风影敷衍:"fēng yǐng fū yǎn",丰屋蔀家:"fēng wū bù jiā",粪土不如:"fèn tǔ bù rú",分风劈流:"fēn fēng pǐ liú",沸沸汤汤:"fèi fèi shāng shāng",菲食薄衣:"fěi shí bó yī",飞将数奇:"fēi jiàng shù qí",放辟邪侈:"fàng pì xié chǐ",方领圆冠:"fāng lǐng yuán guàn",犯而不校:"fàn ér bú jiào",返本还源:"fǎn běn huán yuán",反劳为逸:"fǎn láo wéi yì",法轮常转:"fǎ lún cháng zhuàn",罚不当罪:"fá bù dāng zuì",发引千钧:"fà yǐn qiān jūn",发奸擿伏:"fā jiān tī fú",发短心长:"fà duǎn xīn cháng",二竖为虐:"èr shù wéi nüè",儿女心肠:"ér nǚ xīn cháng",儿女亲家:"ér nǚ qìng jiā",遏恶扬善:"è wù yáng shàn",饿殍枕藉:"è piǎo zhěn jí",饿殍载道:"è piǎo zài dào",恶醉强酒:"wù zuì qiǎng jiǔ",恶意中伤:"è yì zhòng shāng",恶湿居下:"wù shī jū xià",恶居下流:"wù jū xià liú",恶不去善:"wù bú qù shàn",扼吭夺食:"è háng duó shí",扼襟控咽:"è jīn kòng yān",峨峨汤汤:"é é shāng shāng",屙金溺银:"ē jīn niào yín",朵颐大嚼:"duǒ yí dà jiáo",夺人所好:"duó rén suǒ hào",多言数穷:"duō yán shuò qióng",多文为富:"duō wén wéi fù",多端寡要:"duō duān guǎ yào",多财善贾:"duō cái shàn gǔ",遁世无闷:"dùn shì wú mèn",遁迹黄冠:"dùn jì huáng guàn",堆案盈几:"duī àn yíng jī",断还归宗:"duàn huán guī zōng",短见薄识:"duǎn jiàn bó shí",蠹居棊处:"dù jū qí chǔ",度己以绳:"duó jǐ yǐ shéng",杜默为诗:"dù mò wéi shī",杜鹃啼血:"dù juān tí xuè",笃近举远:"dǔ jìn jǔ yuǎn",独有千秋:"dú yǒu qiān qiū",读书得间:"dú shū dé jiàn",斗转参横:"dǒu zhuǎn shēn héng",兜肚连肠:"dōu dǔ lián cháng",洞见症结:"dòng jiàn zhèng jié",恫疑虚喝:"dòng yí xū hè",动中窾要:"dòng zhōng kuǎn yào",东鸣西应:"dōng míng xī yīng",东鳞西爪:"dōng lín xī zhǎo",东量西折:"dōng liàng xī shé",东家西舍:"dōng jiā xī shè",东扯西拽:"dōng chě xī zhuāi",鼎铛有耳:"dǐng chēng yǒu ěr",鼎铛玉石:"dǐng chēng yù shí",钉头磷磷:"dīng tóu lín lín",跌宕不羁:"diē dàng bù jī",跌弹斑鸠:"diē dàn bān jiū",雕心雁爪:"diāo xīn yàn zhǎo",颠倒衣裳:"diān dǎo yī cháng",德薄能鲜:"dé bó néng xiǎn",得马折足:"dé mǎ shé zú",蹈其覆辙:"dǎo qí fù zhé",捣虚撇抗:"dǎo xū piē kàng",倒载干戈:"dào zài gān gē",倒裳索领:"dào cháng suǒ lǐng",倒果为因:"dào guǒ wéi yīn",叨在知己:"tāo zài zhī jǐ",叨陪末座:"tāo péi mò zuò",党豺为虐:"dǎng chái wéi nüè",当轴处中:"dāng zhóu chǔ zhōng",当着不着:"dāng zhuó bù zhuó",当务始终:"dāng wù shǐ zhōng",淡汝浓抹:"dàn rǔ nóng mǒ",弹丸脱手:"tán wán tuō shǒu",弹铗无鱼:"dàn jiá wú yú",箪食瓢饮:"dān sì piáo yǐn",大璞不完:"dà pú bù wán",大明法度:"dà míng fǎ dù",大车以载:"dà chē yǐ zài",打闷葫芦:"dǎ mèn hú lu",沓来踵至:"tà lái zhǒng zhì",厝火燎原:"cuò huǒ liǎo yuán",撮科打哄:"cuō kē dǎ hòng",寸积铢累:"cùn jī zhū lěi",啛啛喳喳:"cuì cuì chā chā",摧折豪强:"cuī zhé háo qiáng",摧刚为柔:"cuī gāng wéi róu",从俗就简:"cóng sú jiù jiǎn",此发彼应:"cǐ fā bǐ yīng",此唱彼和:"cǐ chàng bǐ hè",慈悲为本:"cí bēi wéi běn",纯属骗局:"chún shǔ piàn jú",春笋怒发:"chūn sǔn nù fā",垂头搨翼:"chuí tóu tà yì",传为笑谈:"chuán wéi xiào tán",传风扇火:"chuán fēng shān huǒ",穿红着绿:"chuān hóng zhuó lǜ",触处机来:"chù chǔ jī lái",处尊居显:"chǔ zūn jū xiǎn",处堂燕雀:"chǔ táng yàn què",处实效功:"chǔ shí xiào gōng",处高临深:"chǔ gāo lín shēn",出入无间:"chū rù wú jiān",出门应辙:"chū mén yīng zhé",出处语默:"chū chǔ yǔ mò",出处殊途:"chū chǔ shū tú",出处进退:"chū chǔ jìn tuì",愁山闷海:"chóu shān mèn hǎi",冲冠眦裂:"chōng guàn zì liè",齿牙为祸:"chǐ yá wéi huò",尺二冤家:"chǐ èr yuān jia",尺短寸长:"chǐ duǎn cùn cháng",尺寸之功:"chǐ cùn zhī gōng",城北徐公:"chéng běi xú gōng",成败兴废:"chéng bài xīng fèi",趁水和泥:"chèn shuǐ huò ní",称雨道晴:"chēng yǔ dào qíng",称体载衣:"chēng tǐ zài yī",称体裁衣:"chèn tǐ cái yī",称家有无:"chèn jiā yǒu wú",称德度功:"chēng dé duó gōng",沉吟章句:"chén yín zhāng jù",沉吟不决:"chén yín bù jué",沉疴宿疾:"chén kē sù jí",扯纤拉烟:"chě qiàn lā yān",扯顺风旗:"chě shùn fēng qí",车载船装:"chē zǎi chuán zhuāng",朝升暮合:"zhāo shēng mù gě",朝攀暮折:"zhāo pān mù shé",超今冠古:"chāo jīn guàn gǔ",倡而不和:"chàng ér bú hè",畅所欲为:"chàng suǒ yù wéi",苌弘碧血:"cháng hóng bì xiě",长幼尊卑:"zhǎng yòu zūn bēi",长绳系日:"cháng shéng jì rì",长年三老:"zhǎng nián sān lǎo",长春不老:"cháng chūn bù lǎo",长傲饰非:"zhǎng ào shì fēi",昌亭旅食:"chāng tíng lǚ shí",禅絮沾泥:"chán xù zhān ní",差三错四:"chā sān cuò sì",层台累榭:"céng tái lěi xiè",层见迭出:"céng xiàn dié chū",藏踪蹑迹:"cáng zōng niè jì",苍蝇见血:"cāng yíng jiàn xiě",餐松啖柏:"cān sōng dàn bó",骖风驷霞:"cān fēng sì xiá",参伍错综:"cēn wǔ cuò zōng",参辰卯酉:"shēn chén mǎo yǒu",材优干济:"cái yōu gān jǐ",材薄质衰:"cái bó zhì shuāi",才大难用:"cái dà nán yòng",才薄智浅:"cái bó zhì qiǎn",不足为意:"bù zú wéi yì",不足为据:"bù zú wéi jù",不足为法:"bù zú wéi fǎ",不足齿数:"bù zú chǐ shǔ",不着疼热:"bù zhuó téng rè",不知薡蕫:"bù zhī dǐng dǒng",不越雷池:"bú yuè léi chí",不相为谋:"bù xiāng wéi móu",不贪为宝:"bù tān wéi bǎo",不了而了:"bù liǎo ér liǎo",不可揆度:"bù kě kuí duó",不遑启处:"bù huáng qǐ chǔ",不当不正:"bù dāng bú zhèng",不差什么:"bú chà shén me",不差累黍:"bù chā lěi shǔ",擘两分星:"bò liǎng fēn xīng",簸土扬沙:"bǒ tǔ yáng shā",薄物细故:"bó wù xì gù",薄寒中人:"bó hán zhòng rén",博文约礼:"bó wén yuē lǐ",播糠眯目:"bō kāng mí mù",剥皮抽筋:"bō pí chōu jīn",剥肤椎髓:"bō fū chuí suǐ",波属云委:"bō zhǔ yún wěi",波骇云属:"bō hài yún zhǔ",兵微将寡:"bīng wēi jiàng guǎ",兵强将勇:"bīng qiáng jiàng yǒng",兵多将广:"bīng duō jiàng guǎng",兵不由将:"bīng bù yóu jiàng",冰解的破:"bīng jiě dì pò",彬彬济济:"bīn bīn jǐ jǐ",摽梅之年:"biào méi zhī nián",表里为奸:"biǎo lǐ wéi jiān",飙发电举:"biāo fā diàn jǔ",变贪厉薄:"biàn tān lì bó",敝盖不弃:"bì gài bú qì",秕言谬说:"bǐ yán miù shuō",比物属事:"bǐ wù zhǔ shì",被山带河:"pī shān dài hé",被甲枕戈:"pī jiǎ zhěn gē",被甲据鞍:"pī jiǎ jù ān",被褐怀玉:"pī hè huái yù",被发缨冠:"pī fà yīng guàn",背曲腰躬:"bèi qǔ yāo gōng",北窗高卧:"běi chuāng gāo wò",北辰星拱:"běi chén xīng gǒng",北鄙之音:"běi bǐ zhī yīn",卑宫菲食:"bēi gōng fěi shí",暴衣露冠:"pù yī lù guàn",暴腮龙门:"pù sāi lóng mén",暴露文学:"bào lù wén xué",暴虎冯河:"bào hǔ píng hé",抱蔓摘瓜:"bào wàn zhāi guā",抱法处势:"bào fǎ chǔ shì",褒贬与夺:"bāo biǎn yǔ duó",帮闲钻懒:"bāng xián zuān lǎn",拜将封侯:"bài jiàng fēng hóu",百兽率舞:"bǎi shòu shuài wǔ",百孔千创:"bǎi kǒng qiān chuāng",白衣卿相:"bái yī qīng xiàng",白首为郎:"bái shǒu wéi láng",白首相知:"bái shǒu xiāng zhī",把玩无厌:"bǎ wán wú yàn",拔锅卷席:"bá guō juǎn xí",拔本塞源:"bá běn sè yuán",傲不可长:"ào bù kě zhǎng",熬更守夜:"áo gēng shǒu yè",安时处顺:"ān shí chǔ shùn",安身为乐:"ān shēn wéi lè",安老怀少:"ān lǎo huái shào",安步当车:"ān bù dàng chē",爱人好士:"ài rén hào shì",矮人观场:"ǎi rén guān chǎng",捱风缉缝:"ái fēng jī fèng",挨山塞海:"āi shān sè hǎi",阿家阿翁:"ā jiā ā wēng",阿党相为:"ē dǎng xiāng wéi",追亡逐北:"zhuī wáng zhú běi",竹篮打水:"zhú lán dá shuǐ",知疼着热:"zhī téng zháo rè",语不惊人:"yǔ bù jīng rén",于今为烈:"yú jīn wéi liè",一日三省:"yí rì sān xǐng",穴居野处:"xué jū yě chǔ",五脊六兽:"wǔ jǐ liù shòu",无声无臭:"wú shēng wú xiù",谓予不信:"wèi yú bú xìn",舍身为国:"shě shēn wéi guó",杀妻求将:"shā qī qiú jiàng",强作解人:"qiǎng zuò jiě rén",气冲斗牛:"qì chōng dǒu niú",临深履薄:"lín shēn lǚ bó",钧天广乐:"jūn tiān guǎng yuè",艰难竭蹶:"jiān nán jié jué",夹七夹八:"jiā qī jiā bā",混混噩噩:"hún hún è è",厚古薄今:"hòu gǔ bó jīn",鬼怕恶人:"guǐ pà è rén",伽马射线:"gā mǎ shè xiàn",佛头着粪:"fó tóu zhuó fèn",奉为至宝:"fèng wéi zhì bǎo",登坛拜将:"dēng tán bài jiàng",晨昏定省:"chén hūn dìng xǐng",察察为明:"chá chá wéi míng",博闻强识:"bó wén qiáng zhì",避难就易:"bì nán jiù yì",了无生机:"liǎo wú shēng jī",有一说一:"yǒu yī shuō yī",独一无二:"dú yī wú èr",说一不二:"shuō yī bù èr",举一反三:"jǔ yī fǎn sān",数一数二:"shǔ yī shǔ èr",杀一儆百:"shā yī jǐng bǎi",丁一卯二:"dīng yī mǎo èr",丁一确二:"dīng yī què èr",不一而止:"bù yī ér zhǐ",无一幸免:"wú yī xìng miǎn",表里不一:"biǎo lǐ bù yī",良莠不一:"liáng yǒu bù yī",心口不一:"xīn kǒu bù yī",言行不一:"yán xíng bù yī",政令不一:"zhèng lìng bù yī",参差不一:"cēn cī bù yī",纷纷不一:"fēn fēn bù yī",毁誉不一:"huǐ yù bù yī",不一而三:"bù yī ér sān",百不一遇:"bǎi bù yī yù",言行抱一:"yán xíng bào yī",瑜百瑕一:"yú bǎi xiá yī",背城借一:"bèi chéng jiè yī",凭城借一:"píng chéng jiè yī",劝百讽一:"quàn bǎi fěng yī",群居和一:"qún jū hé yī",百不获一:"bǎi bù huò yī",百不失一:"bǎi bù shī yī",百无失一:"bǎi wú shī yī",万不失一:"wàn bù shī yī",万无失一:"wàn wú shī yī",合而为一:"hé ér wéi yī",合两为一:"hé liǎng wéi yī",合二为一:"hé èr wéi yī",天下为一:"tiān xià wéi yī",相与为一:"xiāng yǔ wéi yī",较若画一:"jiào ruò huà yī",较如画一:"jiào rú huà yī",斠若画一:"jiào ruò huà yī",言行若一:"yán xíng ruò yī",始终若一:"shǐ zhōng ruò yī",终始若一:"zhōng shǐ ruò yī",惟精惟一:"wéi jīng wéi yī",众多非一:"zhòng duō fēi yī",不能赞一:"bù néng zàn yī",问一答十:"wèn yī dá shí",一不扭众:"yī bù niǔ zhòng",一以贯之:"yī yǐ guàn zhī",一以当百:"yī yǐ dāng bǎi",百不当一:"bǎi bù dāng yī",十不当一:"shí bù dāng yī",以一警百:"yǐ yī jǐng bǎi",以一奉百:"yǐ yī fèng bǎi",以一持万:"yǐ yī chí wàn",以一知万:"yǐ yī zhī wàn",百里挑一:"bǎi lǐ tiāo yī",整齐划一:"zhěng qí huà yī",一来二去:"yī lái èr qù",一路公交:"yī lù gōng jiāo",一路汽车:"yī lù qì chē",一路巴士:"yī lù bā shì",朝朝朝落:"zhāo cháo zhāo luò",曲意逢迎:"qū yì féng yíng",一行不行:"yì háng bù xíng",行行不行:"háng háng bù xíng"},Ch=Object.keys(si).map(n=>({zh:n,pinyin:si[n],probability:2e-8,length:4,priority:R.Normal,dict:Symbol("dict4")})),li={巴尔干半岛:"bā ěr gàn bàn dǎo",巴尔喀什湖:"bā ěr kā shí hú",不幸而言中:"bú xìng ér yán zhòng",布尔什维克:"bù ěr shí wéi kè",何乐而不为:"hé lè ér bù wéi",苛政猛于虎:"kē zhèng měng yú hǔ",蒙得维的亚:"méng dé wéi dì yà",民以食为天:"mín yǐ shí wéi tiān",事后诸葛亮:"shì hòu zhū gě liàng",物以稀为贵:"wù yǐ xī wéi guì",先下手为强:"xiān xià shǒu wéi qiáng",行行出状元:"háng háng chū zhuàng yuan",亚得里亚海:"yà dé lǐ yà hǎi",眼不见为净:"yǎn bú jiàn wéi jìng",竹筒倒豆子:"zhú tǒng dào dòu zi"},Dh=Object.keys(li).map(n=>({zh:n,pinyin:li[n],probability:2e-8,length:5,priority:R.Normal,dict:Symbol("dict5")}));function oi(n,i){return n&&(n.decimali.probability)?n:i}function ti(n){n.probability<1e-300&&(n.probability*=1e300,n.decimal+=1)}function Ih(n){return n.priority===R.Custom?-(n.length*n.length*100):n.priority===R.Surname?-(n.length*n.length*10):0}function Vh(n,i){const g=[];let u=n.length-1,h=n[u];for(let e=i-1;e>=0;e--){const s=e+1>=i?{probability:1,decimal:0,patterns:[]}:g[e+1];for(;h&&h.index+h.length-1===e;){const d=h.index,c={probability:h.probability*s.probability,decimal:s.decimal+Ih(h),patterns:s.patterns,concatPattern:h};ti(c),g[d]=oi(g[d],c),h=n[--u]}const o={probability:1e-13*s.probability,decimal:0,patterns:s.patterns};ti(o),g[e]=oi(g[e],o),g[e].concatPattern&&(g[e].patterns=g[e].patterns.concat(g[e].concatPattern),g[e].concatPattern=void 0,delete g[e+1])}return g[0].patterns.reverse()}function ci(n,i){return n&&n.count<=i.count?n:i}function Mh(n){return n.priority===R.Custom?-(n.length*n.length*1e5):n.priority===R.Surname?-(n.length*n.length*100):1}function Eh(n,i){const g=[];let u=n.length-1,h=n[u];for(let e=i-1;e>=0;e--){const s=e+1>=i?{count:0,patterns:[]}:g[e+1];for(;h&&h.index+h.length-1===e;){const d=h.index,c={count:Mh(h)+s.count,patterns:s.patterns,concatPattern:h};g[d]=ci(g[d],c),h=n[--u]}const o={count:1+s.count,patterns:s.patterns};g[e]=ci(g[e],o),g[e].concatPattern&&(g[e].patterns=g[e].patterns.concat(g[e].concatPattern),g[e].concatPattern=void 0,delete g[e+1])}return g[0].patterns.reverse()}function _h(n,i){return!(i.index+i.length<=n.index||i.priority>n.priority||i.priority===n.priority&&i.length>n.length)}function Nh(n){const i=[];for(let g=n.length-1;g>=0;){const{index:u}=n[g];let h=g-1;for(;h>=0&&_h(n[g],n[h]);)h--;(h<0||n[h].index+n[h].length<=u)&&i.push(n[g]),g=h}return i.reverse()}var zi;(function(n){n[n.ReverseMaxMatch=1]="ReverseMaxMatch",n[n.MaxProbability=2]="MaxProbability",n[n.MinTokenization=3]="MinTokenization"})(zi||(zi={}));class yi{constructor(i,g="",u=""){this.children=new Map,this.fail=null,this.patterns=[],this.parent=i,this.prefix=g,this.key=u}}class Rh{constructor(){this.dictMap=new Map,this.queues=[],this.root=new yi(null)}build(i){this.buildTrie(i),this.buildFailPointer()}buildTrie(i){for(let g of i){const u=En(g.zh);let h=this.root;for(let e=0;e{i=i.concat(u)}),this.queues=[];i.length>g;){let u=i[g++],h=u.parent&&u.parent.fail,e=u.key;for(;h&&!h.children.has(e);)h=h.fail;h?u.fail=h.children.get(e):u.fail=this.root}}addPatternToDictMap(i){this.dictMap.has(i.dict)||this.dictMap.set(i.dict,new Set),this.dictMap.get(i.dict).add(i)}addNodeToQueues(i){this.queues[O(i.prefix)]||(this.queues[O(i.prefix)]=[]),this.queues[O(i.prefix)].push(i)}insertPattern(i,g){for(let u=i.length-1;u>=0;u--){const h=i[u];if(g.priority===h.priority&&g.probability>=h.probability)i[u+1]=h;else if(g.priority>h.priority)i[u+1]=h;else{i[u+1]=g;return}}i[0]=g}removeDict(i){this.dictMap.has(i)&&(this.dictMap.get(i).forEach(u=>{u.node.patterns=u.node.patterns.filter(h=>h!==u)}),this.dictMap.delete(i))}match(i,g){let u=this.root,h=[];const e=En(i);for(let s=0;sg==="off"?z.priority!==R.Surname:g==="head"?z.length-1-s===0:!0);d&&h.push(Object.assign(Object.assign({},d),{index:s-d.length+1}));let c=u.fail;for(;c!==null;){const z=c.patterns.find(t=>g==="off"?t.priority!==R.Surname:g==="head"?t.length-1-s===0:!0);z&&h.push(Object.assign(Object.assign({},z),{index:s-z.length+1})),c=c.fail}}}return h}search(i,g,u=2){const h=this.match(i,g);return u===1?Nh(h):u===3?Eh(h,O(i)):Vh(h,O(i))}}const Ah=[...Dh,...Ch,...Ph,...Sh,...fh,...Th],vi=new Rh;vi.build(Ah);const Zh=new qi,Bh=()=>Zh,Fh=[];function Lh(){return Fh}const dn=n=>{const i=G.get(n);return i?i.split(" ")[0]:n},$h=n=>{const i=[],g=Lh();for(let u=0;u{const e=h?$h(n):n,s=vi.search(e,g,u);let o=0;const d=En(n);for(let c=0;cn.replace(/(ā|á|ǎ|à)/g,"a").replace(/(ō|ó|ǒ|ò)/g,"o").replace(/(ē|é|ě|è)/g,"e").replace(/(ī|í|ǐ|ì)/g,"i").replace(/(ū|ú|ǔ|ù)/g,"u").replace(/(ǖ|ǘ|ǚ|ǜ)/g,"ü").replace(/(n̄|ń|ň|ǹ)/g,"n").replace(/(m̄|ḿ|m̌|m̀)/g,"m").replace(/(ê̄|ế|ê̌|ề)/g,"ê"),ki=(n,i="off")=>{const g=Bh();let u=G.get(n)?G.get(n).split(" "):[];if(g.get(n))u=g.get(n).split(" ");else if(i!=="off"){const h=_n[n];h&&(u=[h].concat(u.filter(e=>e!==h)))}return u},Wh=(n,i="off")=>{let g=ki(n,i);return g.length>0?g.map(u=>({origin:n,result:u,isZh:!0,originPinyin:u})):[{origin:n,result:n,isZh:!1,originPinyin:n}]},vn=(n,i)=>{const g=n.split(" "),u=[],h=[];for(let e of g)for(let s of ah)if(e.startsWith(s)){let o=e.slice(s.length);rh.indexOf(s)!==-1&&jh.indexOf(o)!==-1&&(o=bh[o]),u.push(s),h.push(o);break}return i==="standard"&&u.forEach((e,s)=>{(e==="y"||e==="w")&&(u[s]="")}),{final:h.join(" "),initial:u.join(" ")}},wn=n=>{const{final:i}=vn(n);let g="",u="",h="";return mh.indexOf(kn(i))!==-1?(g=i[0],u=i[1],h=i.slice(2)):(u=i[0]||"",h=i.slice(1)||""),{head:g,body:u,tail:h}},Tn=n=>{const i=/(ā|ō|ē|ī|ū|ǖ|n̄|m̄|ê̄)/,g=/(á|ó|é|í|ú|ǘ|ń|ḿ|ế)/,u=/(ǎ|ǒ|ě|ǐ|ǔ|ǚ|ň|m̌|ê̌)/,h=/(à|ò|è|ì|ù|ǜ|ǹ|m̀|ề)/,e=/(a|o|e|i|u|ü|ê)/,s=/(n|m)$/,o=[];return n.split(" ").forEach(c=>{i.test(c)?o.push("1"):g.test(c)?o.push("2"):u.test(c)?o.push("3"):h.test(c)?o.push("4"):e.test(c)||s.test(c)?o.push("0"):o.push("")}),o.join(" ")},Hh=(n,i)=>{const g=kn(n).split(" "),u=Tn(i).split(" "),h=[];return g.forEach((e,s)=>{h.push(`${e}${u[s]}`)}),h.join(" ")},Ti=(n,i)=>{const g=[];return n.split(" ").forEach(h=>{g.push(i?h[0]:h)}),g.join(" ")},Uh=n=>typeof n!="string"?(console.error("The first param of pinyin is error: "+n+' is not assignable to type "string".'),!1):!0;function Vn(n,i){return i instanceof RegExp?i.test(n):!0}const Yh=(n,i)=>{let g=i.nonZh;if(g==="removed")return n.filter(u=>u.isZh||!Vn(u.origin,i.nonZhScope));if(g==="consecutive"){for(let u=n.length-2;u>=0;u--){const h=n[u],e=n[u+1];!h.isZh&&!e.isZh&&Vn(h.origin,i.nonZhScope)&&Vn(e.origin,i.nonZhScope)&&(h.origin+=e.origin,h.result+=e.result,e.delete=!0)}return n.filter(u=>!u.delete)}else return n},di=(n,i)=>O(n)===1&&i.multiple?Wh(n,i.surname):!1,Kh=(n,i)=>{switch(i.pattern){case"pinyin":break;case"num":n.forEach(g=>{g.result=g.isZh?Tn(g.result):""});break;case"initial":n.forEach(g=>{g.result=g.isZh?vn(g.result,i.initialPattern).initial:""});break;case"final":n.forEach(g=>{g.result=g.isZh?vn(g.result,i.initialPattern).final:""});break;case"first":n.forEach(g=>{g.result=Ti(g.result,g.isZh)});break;case"finalHead":n.forEach(g=>{g.result=g.isZh?wn(g.result).head:""});break;case"finalBody":n.forEach(g=>{g.result=g.isZh?wn(g.result).body:""});break;case"finalTail":n.forEach(g=>{g.result=g.isZh?wn(g.result).tail:""});break}},Xh=(n,i)=>{switch(i.toneType){case"symbol":break;case"none":n.forEach(g=>{g.isZh&&(g.result=kn(g.result))});break;case"num":{n.forEach(g=>{g.isZh&&(g.result=Hh(g.result,g.originPinyin))});break}}},Qh=(n,i)=>{i.v&&n.forEach(g=>{g.isZh&&(g.result=g.result.replace(/ü/g,typeof i.v=="string"?i.v:"v"))})},Gh=(n,i,g)=>{if(i.multiple&&O(g)===1){let u="";n=n.filter(h=>{const e=h.result!==u;return u=h.result,e})}return i.type==="array"?n.map(u=>u.result):i.type==="all"?n.map(u=>{const h=u.isZh?u.result:"",{initial:e,final:s}=vn(h,i.initialPattern),{head:o,body:d,tail:c}=wn(h);let z=[];return h!==""&&(z=[h].concat(ki(u.origin,i.surname).filter(t=>t!==h))),{origin:u.origin,pinyin:h,initial:e,final:s,first:Ti(u.result,u.isZh),finalHead:o,finalBody:d,finalTail:c,num:Number(Tn(u.originPinyin)),isZh:u.isZh,polyphonic:z,inZhRange:!!G.get(u.origin),result:u.result}}):n.map(u=>u.result).join(i.separator)},Jh=(n,i)=>(i===!1&&n.forEach(g=>{g.origin==="一"?g.result=g.originPinyin="yī":g.origin==="不"&&(g.result=g.originPinyin="bù")}),n),nu={pattern:"pinyin",toneType:"symbol",type:"string",multiple:!1,mode:"normal",removeNonZh:!1,nonZh:"spaced",v:!1,separator:" ",toneSandhi:!0,segmentit:2};function yu(n,i){if(i=Object.assign(Object.assign({},nu),i||{}),!Uh(n))return n;if(n==="")return i.type==="array"||i.type==="all"?[]:"";i.surname===void 0&&(i.mode==="surname"?i.surname="all":i.surname="off"),i.type==="all"&&(i.pattern="pinyin"),i.pattern==="num"&&(i.toneType="none"),i.removeNonZh&&(i.nonZh="removed");let u=Array(O(n)),{list:h}=Oh(n,u,i.surname,i.segmentit,i.traditional);return h=Jh(h,i.toneSandhi),h=Yh(h,i),di(n,i)&&(h=di(n,i)),Kh(h,i),Xh(h,i),Qh(h,i),Gh(h,i,n)}var Nn;(function(n){n[n.AllSegment=1]="AllSegment",n[n.AllArray=2]="AllArray",n[n.AllString=3]="AllString",n[n.PinyinSegment=4]="PinyinSegment",n[n.PinyinArray=5]="PinyinArray",n[n.PinyinString=6]="PinyinString",n[n.ZhSegment=7]="ZhSegment",n[n.ZhArray=8]="ZhArray",n[n.ZhString=9]="ZhString"})(Nn||(Nn={}));Nn.AllSegment;const iu=bi({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Xg({filterKeys:["title"]}),...Kg({hideNoData:!0,returnObject:!0}),...fi(Lg({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VCombobox"),du=ji()({name:"VCombobox",props:iu(),emits:{"update:focused":n=>!0,"update:modelValue":n=>!0,"update:search":n=>!0,"update:menu":n=>!0},setup(n,i){var Zn;let{emit:g,slots:u}=i;const{t:h}=pg(),e=gn(),s=A(!1),o=A(!0),d=A(!1),c=gn(),z=gn(),t=A(-1);let x=!1;const{items:w,transformIn:T,transformOut:V}=vg(n),{textColorClasses:J,textColorStyles:nn}=kg(()=>{var l;return(l=e.value)==null?void 0:l.color}),{InputIcon:K}=Bg(n),a=Mn(n,"modelValue",[],l=>T(Tg(l)),l=>{const y=V(l);return n.multiple?y:y[0]??null}),Z=Fg(n),X=fn(()=>n.closableChips&&!Z.isReadonly.value&&!Z.isDisabled.value),m=P(()=>!!(n.chips||u.chip)),r=P(()=>m.value||!!u.selection),j=A(!n.multiple&&!r.value?((Zn=a.value[0])==null?void 0:Zn.title)??"":""),f=A(null),b=P({get:()=>j.value,set:async l=>{var y;if(j.value=l??"",l===null||l===""&&!n.multiple&&!r.value?a.value=[]:!n.multiple&&!r.value&&(a.value=[zn(n,l)],tn(()=>{var p;return(p=z.value)==null?void 0:p.scrollToIndex(0)})),l&&n.multiple&&((y=n.delimiters)!=null&&y.length)){const p=Rn(l);p.length>1&&(An(p),j.value="")}l||(t.value=-1),o.value=!l}}),D=P(()=>typeof n.counterValue=="function"?n.counterValue(a.value):typeof n.counterValue=="number"?n.counterValue:n.multiple?a.value.length:b.value.length),{filteredItems:W,getMatches:hn}=$g(n,w,()=>f.value??(n.alwaysFilter||!o.value?b.value:"")),B=P(()=>n.hideSelected&&f.value===null?W.value.filter(l=>!a.value.some(y=>y.value===l.value)):W.value),un=P(()=>n.hideNoData&&!B.value.length||Z.isReadonly.value||Z.isDisabled.value),en=Mn(n,"menu"),C=P({get:()=>en.value,set:l=>{var y;en.value&&!l&&((y=c.value)!=null&&y.ΨopenChildren.size)||l&&un.value||(en.value=l)}}),{menuId:rn,ariaExpanded:Sn,ariaControls:M}=Og(n,C);Y(j,l=>{x?tn(()=>x=!1):s.value&&!C.value&&(C.value=!0),g("update:search",l)}),Y(a,l=>{var y;!n.multiple&&!r.value&&(j.value=((y=l[0])==null?void 0:y.title)??"")});const jn=P(()=>a.value.map(l=>l.value)),Q=P(()=>B.value.find(l=>l.type==="item"&&!l.props.disabled)),sn=P(()=>{var y;return(n.autoSelectFirst===!0||n.autoSelectFirst==="exact"&&b.value===((y=Q.value)==null?void 0:y.title))&&B.value.length>0&&!o.value&&!d.value}),Pn=gn(),Si=Hg(Pn,e);function Pi(l){x=!0,tn(()=>x=!1),n.openOnClear&&(C.value=!0)}function Ci(){un.value||(C.value=!0)}function Di(l){un.value||(s.value&&(l.preventDefault(),l.stopPropagation()),C.value=!C.value)}function Ii(l){var y;(Un(l)||l.key==="Backspace")&&((y=e.value)==null||y.focus())}function Vi(l){var k,F,q,E;if(Ng(l)||Z.isReadonly.value)return;const y=(k=e.value)==null?void 0:k.selectionStart,p=a.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(C.value=!0),["Escape"].includes(l.key)&&(C.value=!1),sn.value&&["Enter","Tab"].includes(l.key)&&Q.value&&!a.value.some(I=>{let{value:ln}=I;return ln===Q.value.value})&&H(Q.value),l.key==="ArrowDown"&&sn.value&&((F=Pn.value)==null||F.focus("next")),l.key==="Enter"&&b.value&&(H(zn(n,b.value),!0,!0),r.value&&(j.value="")),["Backspace","Delete"].includes(l.key)){if(!n.multiple&&r.value&&a.value.length>0&&!b.value)return H(a.value[0],!1);if(~t.value){l.preventDefault();const I=t.value;H(a.value[t.value],!1),t.value=I>=p-1?p-2:I}else l.key==="Backspace"&&!b.value&&(t.value=p-1);return}if(n.multiple)if(l.key==="ArrowLeft"){if(t.value<0&&y&&y>0)return;const I=t.value>-1?t.value-1:p-1;a.value[I]?t.value=I:(t.value=-1,(q=e.value)==null||q.setSelectionRange(b.value.length,b.value.length))}else if(l.key==="ArrowRight"){if(t.value<0)return;const I=t.value+1;a.value[I]?t.value=I:(t.value=-1,(E=e.value)==null||E.setSelectionRange(0,0))}else~t.value&&Un(l)&&(t.value=-1)}function Mi(l){var k;const y=((k=l==null?void 0:l.clipboardData)==null?void 0:k.getData("Text"))??"",p=Rn(y);p.length>1&&n.multiple&&(l.preventDefault(),An(p))}function Ei(){var l;n.eager&&((l=z.value)==null||l.calculateVisibleItems())}function _i(){var l;s.value&&((l=e.value)==null||l.focus()),o.value=!0,f.value=null}function H(l){let y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(!(!l||l.props.disabled))if(n.multiple){const k=a.value.findIndex(q=>(n.valueComparator||Hn)(q.value,l.value)),F=y??!~k;if(~k){const q=F?[...a.value,l]:[...a.value];q.splice(k,1),a.value=q}else F&&(a.value=[...a.value,l]);n.clearOnSelect&&(b.value="")}else{const k=y!==!1;a.value=k?[l]:[],(!o.value||n.alwaysFilter)&&j.value&&(f.value=j.value),j.value=k&&!r.value?l.title:"",tn(()=>{C.value=p,o.value=!0})}}function Rn(l){const p=[` -`,...n.delimiters??[]].map(Rg).join("|");return l.split(new RegExp(`(?:${p})+`))}async function An(l){for(let y of l)y=y.trim(),y&&(H(zn(n,y)),await tn())}function Ni(l){s.value=!0,setTimeout(()=>{d.value=!0})}function Ri(l){d.value=!1}return Y(s,(l,y)=>{if(!(l||l===y)&&(t.value=-1,C.value=!1,b.value)){if(n.multiple){H(zn(n,b.value));return}if(!r.value)return;a.value.some(p=>{let{title:k}=p;return k===b.value})?j.value="":H(zn(n,b.value))}}),Y(C,l=>{if(!n.hideSelected&&l&&a.value.length&&o.value){const y=B.value.findIndex(p=>a.value.some(k=>(n.valueComparator||Hn)(k.value,p.value)));Sg&&window.requestAnimationFrame(()=>{var p;y>=0&&((p=z.value)==null||p.scrollToIndex(y))})}l&&(f.value=null)}),Y(w,(l,y)=>{C.value||s.value&&!y.length&&l.length&&(C.value=!0)}),mi(()=>{const l=!!(!n.hideNoData||B.value.length||u["prepend-item"]||u["append-item"]||u["no-data"]),y=a.value.length>0,p=Yn.filterProps(n);return v(Yn,$({ref:e},p,{modelValue:b.value,"onUpdate:modelValue":k=>b.value=k,focused:s.value,"onUpdate:focused":k=>s.value=k,validationValue:a.externalValue,counterValue:D.value,dirty:y,class:["v-combobox",{"v-combobox--active-menu":C.value,"v-combobox--chips":!!n.chips,"v-combobox--selection-slot":!!r.value,"v-combobox--selecting-index":t.value>-1,[`v-combobox--${n.multiple?"multiple":"single"}`]:!0},n.class],style:n.style,readonly:Z.isReadonly.value,placeholder:y?void 0:n.placeholder,"onClick:clear":Pi,"onMousedown:control":Ci,onKeydown:Vi,onPaste:Mi,"aria-expanded":Sn.value,"aria-controls":M.value}),{...u,default:k=>{let{id:F}=k;return N(an,null,[v(Wg,$({id:rn.value,ref:c,modelValue:C.value,"onUpdate:modelValue":q=>C.value=q,activator:"parent",contentClass:"v-combobox__content",disabled:un.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ei,onAfterLeave:_i},n.menuProps),{default:()=>[l&&v(wi,$({ref:Pn,filterable:!0,selected:jn.value,selectStrategy:n.multiple?"independent":"single-independent",onMousedown:q=>q.preventDefault(),selectable:!0,onKeydown:Ii,onFocusin:Ni,onFocusout:Ri,tabindex:"-1","aria-live":"polite","aria-labelledby":`${F.value}-label`,"aria-multiselectable":n.multiple,color:n.itemColor??n.color},Si,n.listProps),{default:()=>{var q,E,I;return[(q=u["prepend-item"])==null?void 0:q.call(u),!B.value.length&&!n.hideNoData&&(((E=u["no-data"])==null?void 0:E.call(u))??v(qn,{key:"no-data",title:h(n.noDataText)},null)),v(Ug,{ref:z,renderless:!0,items:B.value,itemKey:"value"},{default:ln=>{var Fn,Ln,$n;let{item:S,index:U,itemRef:_}=ln;const Bn=$(S.props,{ref:_,key:S.value,active:sn.value&&S===Q.value?!0:void 0,onClick:()=>H(S,null),"aria-posinset":U+1,"aria-setsize":B.value.length});return S.type==="divider"?((Fn=u.divider)==null?void 0:Fn.call(u,{props:S.raw,index:U}))??v(Cg,$(S.props,{key:`divider-${U}`}),null):S.type==="subheader"?((Ln=u.subheader)==null?void 0:Ln.call(u,{props:S.raw,index:U}))??v(Dg,$(S.props,{key:`subheader-${U}`}),null):(($n=u.item)==null?void 0:$n.call(u,{item:S,index:U,props:Bn}))??v(qn,$(Bn,{role:"option"}),{prepend:bn=>{let{isSelected:Ai}=bn;return N(an,null,[n.multiple&&!n.hideSelected?v(Qg,{key:S.value,modelValue:Ai,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Zi=>Zi.preventDefault()},null):void 0,S.props.prependAvatar&&v(Ig,{image:S.props.prependAvatar},null),S.props.prependIcon&&v(pn,{icon:S.props.prependIcon},null)])},title:()=>{var bn;return o.value?S.title:Yg("v-combobox",S.title,(bn=hn(S))==null?void 0:bn.title)}})}}),(I=u["append-item"])==null?void 0:I.call(u)]}})]}),a.value.map((q,E)=>{function I(_){_.stopPropagation(),_.preventDefault(),H(q,!1)}const ln=$(Kn.filterProps(q.props),{"onClick:close":I,onKeydown(_){_.key!=="Enter"&&_.key!==" "||(_.preventDefault(),_.stopPropagation(),I(_))},onMousedown(_){_.preventDefault(),_.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),S=m.value?!!u.chip:!!u.selection,U=S?Vg(m.value?u.chip({item:q,index:E,props:ln}):u.selection({item:q,index:E})):void 0;if(!(S&&!U))return N("div",{key:q.value,class:Eg(["v-combobox__selection",E===t.value&&["v-combobox__selection--selected",J.value]]),style:Mg(E===t.value?nn.value:{})},[m.value?u.chip?v(xi,{key:"chip-defaults",defaults:{VChip:{closable:X.value,size:"small",text:q.title}}},{default:()=>[U]}):v(Kn,$({key:"chip",closable:X.value,size:"small",text:q.title,disabled:q.props.disabled},ln),null):U??N("span",{class:"v-combobox__selection-text"},[q.title,n.multiple&&E{console.warn("播放音频失败:",e.name,e.message)}),u}catch(u){return console.error("创建音频对象失败:",u),null}}function cu(n){n&&(n.pause(),n.currentTime=0)}function Jg(n){let{rootEl:i,isSticky:g,layoutItemStyles:u}=n;const h=Z(!1),e=Z(0),s=P(()=>{const c=typeof h.value=="boolean"?"top":h.value;return[g.value?{top:"auto",bottom:"auto",height:void 0}:void 0,h.value?{[c]:Bi(e.value)}:{top:u.value.top}]});ai(()=>{Y(g,c=>{c?window.addEventListener("scroll",d,{passive:!0}):window.removeEventListener("scroll",d)},{immediate:!0})}),ri(()=>{window.removeEventListener("scroll",d)});let o=0;function d(){const c=o>window.scrollY?"up":"down",z=i.value.getBoundingClientRect(),t=parseFloat(u.value.top??0),x=window.scrollY-Math.max(0,e.value-t),w=z.height+Math.max(e.value,t)-window.scrollY-window.innerHeight,T=parseFloat(getComputedStyle(i.value).getPropertyValue("--v-body-scroll-y"))||0;z.height0;g--){if(n[g].t===n[g-1].t)continue;const u=Xn(i),h=(n[g].d-n[g-1].d)/(n[g].t-n[g-1].t);i+=(h-u)*Math.abs(h),g===n.length-1&&(i*=.5)}return Xn(i)*1e3}function gh(){const n={};function i(h){Array.from(h.changedTouches).forEach(e=>{(n[e.identifier]??(n[e.identifier]=new Fi(ih))).push([h.timeStamp,e])})}function g(h){Array.from(h.changedTouches).forEach(e=>{delete n[e.identifier]})}function u(h){var c;const e=(c=n[h])==null?void 0:c.values().reverse();if(!e)throw new Error(`No samples for touch id ${h}`);const s=e[0],o=[],d=[];for(const z of e){if(s[0]-z[0]>nh)break;o.push({t:z[0],d:z[1].clientX}),d.push({t:z[0],d:z[1].clientY})}return{x:Qn(o),y:Qn(d),get direction(){const{x:z,y:t}=this,[x,w]=[Math.abs(z),Math.abs(t)];return x>w&&z>=0?"right":x>w&&z<=0?"left":w>x&&t>=0?"down":w>x&&t<=0?"up":hh()}}}return{addMovement:i,endTouch:g,getVelocity:u}}function hh(){throw new Error}function uh(n){let{el:i,isActive:g,isTemporary:u,width:h,touchless:e,position:s}=n;ai(()=>{window.addEventListener("touchstart",K,{passive:!0}),window.addEventListener("touchmove",a,{passive:!1}),window.addEventListener("touchend",B,{passive:!0})}),ri(()=>{window.removeEventListener("touchstart",K),window.removeEventListener("touchmove",a),window.removeEventListener("touchend",B)});const o=P(()=>["left","right"].includes(s.value)),{addMovement:d,endTouch:c,getVelocity:z}=gh();let t=!1;const x=Z(!1),w=Z(0),T=Z(0);let V;function J(m,r){return(s.value==="left"?m:s.value==="right"?document.documentElement.clientWidth-m:s.value==="top"?m:s.value==="bottom"?document.documentElement.clientHeight-m:on())-(r?h.value:0)}function nn(m){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0;const j=s.value==="left"?(m-T.value)/h.value:s.value==="right"?(document.documentElement.clientWidth-m-T.value)/h.value:s.value==="top"?(m-T.value)/h.value:s.value==="bottom"?(document.documentElement.clientHeight-m-T.value)/h.value:on();return r?Oi(j):j}function K(m){if(e.value)return;const r=m.changedTouches[0].clientX,j=m.changedTouches[0].clientY,f=25,b=s.value==="left"?rdocument.documentElement.clientWidth-f:s.value==="top"?jdocument.documentElement.clientHeight-f:on(),D=g.value&&(s.value==="left"?rdocument.documentElement.clientWidth-h.value:s.value==="top"?jdocument.documentElement.clientHeight-h.value:on());(b||D||g.value&&u.value)&&(V=[r,j],T.value=J(o.value?r:j,g.value),w.value=nn(o.value?r:j),t=T.value>-20&&T.value<80,c(m),d(m))}function a(m){const r=m.changedTouches[0].clientX,j=m.changedTouches[0].clientY;if(t){if(!m.cancelable){t=!1;return}const b=Math.abs(r-V[0]),D=Math.abs(j-V[1]);(o.value?b>D&&b>3:D>b&&D>3)?(x.value=!0,t=!1):(o.value?D:b)>3&&(t=!1)}if(!x.value)return;m.preventDefault(),d(m);const f=nn(o.value?r:j,!1);w.value=Math.max(0,Math.min(1,f)),f>1?T.value=J(o.value?r:j,!0):f<0&&(T.value=J(o.value?r:j,!1))}function B(m){if(t=!1,!x.value)return;d(m),x.value=!1;const r=z(m.changedTouches[0].identifier),j=Math.abs(r.x),f=Math.abs(r.y);(o.value?j>f&&j>400:f>j&&f>3)?g.value=r.direction===({left:"right",right:"left",top:"down",bottom:"up"}[s.value]||on()):g.value=w.value>.5}const X=P(()=>x.value?{transform:s.value==="left"?`translateX(calc(-100% + ${w.value*h.value}px))`:s.value==="right"?`translateX(calc(100% - ${w.value*h.value}px))`:s.value==="top"?`translateY(calc(-100% + ${w.value*h.value}px))`:s.value==="bottom"?`translateY(calc(100% - ${w.value*h.value}px))`:on(),transition:"none"}:void 0);return xn(x,()=>{var j,f;const m=((j=i.value)==null?void 0:j.style.transform)??null,r=((f=i.value)==null?void 0:f.style.transition)??null;Li(()=>{var b,D,W,hn;(D=i.value)==null||D.style.setProperty("transform",((b=X.value)==null?void 0:b.transform)||"none"),(hn=i.value)==null||hn.style.setProperty("transition",((W=X.value)==null?void 0:W.transition)||null)}),$i(()=>{var b,D;(b=i.value)==null||b.style.setProperty("transform",m),(D=i.value)==null||D.style.setProperty("transition",r)})}),{isDragging:x,dragProgress:w,dragStyles:X}}function on(){throw new Error}const eh=["start","end","left","right","top","bottom"],sh=xi({color:String,disableResizeWatcher:Boolean,disableRouteWatcher:Boolean,expandOnHover:Boolean,floating:Boolean,modelValue:{type:Boolean,default:null},permanent:Boolean,rail:{type:Boolean,default:null},railWidth:{type:[Number,String],default:56},scrim:{type:[Boolean,String],default:!0},image:String,temporary:Boolean,persistent:Boolean,touchless:Boolean,width:{type:[Number,String],default:256},location:{type:String,default:"start",validator:n=>eh.includes(n)},sticky:Boolean,...bg(),...jg(),...rg(),...ag({mobile:null}),...dg(),...yg(),...zg(),...fi(cg(),["disableInitialFocus"]),...tg({tag:"nav"}),...og()},"VNavigationDrawer"),lh=ji()({name:"VNavigationDrawer",props:sh(),emits:{"update:modelValue":n=>!0,"update:rail":n=>!0},setup(n,i){let{attrs:g,emit:u,slots:h}=i;const{isRtl:e}=Wi(),{themeClasses:s}=Hi(n),{borderClasses:o}=Ui(n),{backgroundColorClasses:d,backgroundColorStyles:c}=On(()=>n.color),{elevationClasses:z}=sg(n),{displayClasses:t,mobile:x}=Yi(n),{roundedClasses:w}=Ki(n),T=Xi(),V=Mn(n,"modelValue",null,M=>!!M),{ssrBootStyles:J}=Qi(),{scopeId:nn}=Gi(),K=gn(),a=Z(!1),{runOpenDelay:B,runCloseDelay:X}=lg(n,M=>{a.value=M}),m=P(()=>n.rail&&n.expandOnHover&&a.value?Number(n.width):Number(n.rail?n.railWidth:n.width)),r=P(()=>eg(n.location,e.value)),j=fn(()=>n.persistent),f=P(()=>!n.permanent&&(x.value||n.temporary)),b=P(()=>n.sticky&&!f.value&&r.value!=="bottom");Ji(n,{isActive:V,localTop:f,contentEl:K}),xn(()=>n.expandOnHover&&n.rail!=null,()=>{Y(a,M=>u("update:rail",!M))}),xn(()=>!n.disableResizeWatcher,()=>{Y(f,M=>!n.permanent&&tn(()=>V.value=!M))}),xn(()=>!n.disableRouteWatcher&&!!T,()=>{Y(T.currentRoute,()=>f.value&&(V.value=!1))}),Y(()=>n.permanent,M=>{M&&(V.value=!0)}),n.modelValue==null&&!f.value&&(V.value=n.permanent||!x.value);const{isDragging:D,dragProgress:W}=uh({el:K,isActive:V,isTemporary:f,width:m,touchless:fn(()=>n.touchless),position:r}),hn=P(()=>{const M=f.value?0:n.rail&&n.expandOnHover?Number(n.railWidth):m.value;return D.value?M*W.value:M}),{layoutItemStyles:A,layoutItemScrimStyles:un}=ng({id:n.name,order:P(()=>parseInt(n.order,10)),position:r,layoutSize:hn,elementSize:m,active:ug(V),disableTransitions:fn(()=>D.value),absolute:P(()=>n.absolute||b.value&&typeof en.value!="string")}),{isStuck:en,stickyStyles:C}=Jg({rootEl:K,isSticky:b,layoutItemStyles:A}),rn=On(()=>typeof n.scrim=="string"?n.scrim:null),Sn=P(()=>({...D.value?{opacity:W.value*.2,transition:"none"}:void 0,...un.value}));return ig({VList:{bgColor:"transparent"}}),bi(()=>{const M=h.image||n.image;return N(an,null,[v(n.tag,$({ref:K,onMouseenter:B,onMouseleave:X,class:["v-navigation-drawer",`v-navigation-drawer--${r.value}`,{"v-navigation-drawer--expand-on-hover":n.expandOnHover,"v-navigation-drawer--floating":n.floating,"v-navigation-drawer--is-hovering":a.value,"v-navigation-drawer--rail":n.rail,"v-navigation-drawer--temporary":f.value,"v-navigation-drawer--persistent":j.value,"v-navigation-drawer--active":V.value,"v-navigation-drawer--sticky":b.value},s.value,d.value,o.value,t.value,z.value,w.value,n.class],style:[c.value,A.value,J.value,C.value,n.style],inert:!V.value},nn,g),{default:()=>{var jn,Q,sn;return[M&&N("div",{key:"image",class:"v-navigation-drawer__img"},[h.image?v(mi,{key:"image-defaults",disabled:!n.image,defaults:{VImg:{alt:"",cover:!0,height:"inherit",src:n.image}}},h.image):v(gg,{key:"image-img",alt:"",cover:!0,height:"inherit",src:n.image},null)]),h.prepend&&N("div",{class:"v-navigation-drawer__prepend"},[(jn=h.prepend)==null?void 0:jn.call(h)]),N("div",{class:"v-navigation-drawer__content"},[(Q=h.default)==null?void 0:Q.call(h)]),h.append&&N("div",{class:"v-navigation-drawer__append"},[(sn=h.append)==null?void 0:sn.call(h)])]}}),v(hg,{name:"fade-transition"},{default:()=>[f.value&&(D.value||V.value)&&!!n.scrim&&N("div",$({class:["v-navigation-drawer__scrim",rn.backgroundColorClasses.value],style:[Sn.value,rn.backgroundColorStyles.value],onClick:()=>{j.value||(V.value=!1)}},nn),null)]})])}),{isStuck:en}}}),oh=xg({name:"MessageLog",setup(){const n=gn(!1),i=gn([]),g={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},u={success:"success",error:"error",warning:"warning",info:"primary"};return Cn.onLog(h=>{h&&(i.value=h)}),{drawer:n,messages:i,icons:g,colors:u,deleteMessage:h=>Cn.deleteMessage(h),clearMessages:()=>Cn.clearMessages()}}}),th={class:"text-caption text-grey"};function ch(n,i,g,u,h,e){return n.drawer?(cn(),mn(lh,{key:0,modelValue:n.drawer,"onUpdate:modelValue":i[0]||(i[0]=s=>n.drawer=s),location:"right",temporary:"",width:"400"},{default:L(()=>[v(Ag,{color:"primary"},{default:L(()=>[v(Zg,null,{default:L(()=>[...i[1]||(i[1]=[yn("消息记录",-1)])]),_:1})]),_:1}),v(wi,null,{default:L(()=>[(cn(!0),fg(an,null,wg(n.messages,s=>(cn(),mn(qn,{key:s.id,rounded:""},{prepend:L(()=>[v(pn,{color:n.colors[s.type],icon:n.icons[s.type],size:"20"},null,8,["color","icon"])]),default:L(()=>[v(Wn,null,{default:L(()=>[yn(Dn(s.title),1)]),_:2},1024),s.content?(cn(),mn(qg,{key:0},{default:L(()=>[yn(Dn(s.content),1)]),_:2},1024)):In("",!0),N("span",th,Dn(new Date(s.timestamp).toLocaleTimeString()),1)]),_:2},1024))),128)),n.messages.length?In("",!0):(cn(),mn(qn,{key:0},{prepend:L(()=>[v(pn,{color:"grey",icon:"mdi-inbox"})]),default:L(()=>[v(Wn,{class:"text-grey"},{default:L(()=>[...i[2]||(i[2]=[yn("暂无消息",-1)])]),_:1})]),_:1}))]),_:1})]),_:1},8,["modelValue"])):In("",!0)}const zu=mg(oh,[["render",ch]]),zh=/^[\uD800-\uDBFF]$/,yh=/^[\uDC00-\uDFFF]$/,dh=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var Gn;(function(n){n[n.Unknown=1e-13]="Unknown",n[n.Rule=1e-12]="Rule",n[n.DICT=2e-8]="DICT",n[n.Surname=1]="Surname",n[n.Custom=1]="Custom"})(Gn||(Gn={}));const R={Normal:1,Surname:10,Custom:100};function O(n){var i;return n.length-(((i=n.match(dh))===null||i===void 0?void 0:i.length)||0)}function En(n){const i=[];let g=0;for(;g1)return this.StringDICT.get(i);{const g=i.charCodeAt(0);return this.NumberDICT[g]}}set(i,g){if(i.length>1)this.StringDICT.set(i,g);else{const u=i.charCodeAt(0);this.NumberDICT[u]=g}}clear(){this.NumberDICT=[],this.StringDICT.clear()}}const Jn={"bǎng páng pāng":["膀"],líng:["〇","伶","凌","刢","囹","坽","夌","姈","婈","孁","岺","彾","掕","昤","朎","柃","棂","櫺","欞","泠","淩","澪","灵","燯","爧","狑","玲","琌","瓴","皊","砱","祾","秢","竛","笭","紷","綾","绫","羐","羚","翎","聆","舲","苓","菱","蓤","蔆","蕶","蛉","衑","裬","詅","跉","軨","輘","酃","醽","鈴","錂","铃","閝","陵","零","霊","霗","霛","霝","靈","駖","魿","鯪","鲮","鴒","鸰","鹷","麢","齡","齢","龄","龗","㥄"],yī:["一","乊","伊","依","医","吚","咿","噫","壱","壹","夁","嫛","嬄","弌","揖","撎","檹","毉","洢","渏","漪","瑿","畩","祎","禕","稦","繄","蛜","衤","譩","辷","郼","醫","銥","铱","鷖","鹥","黟","黳"],"dīng zhēng":["丁"],"kǎo qiǎo yú":["丂"],qī:["七","倛","僛","凄","嘁","墄","娸","悽","慼","慽","戚","捿","柒","桤","桼","棲","榿","欺","沏","淒","漆","紪","緀","萋","褄","諆","迉","郪","鏚","霋","魌","鶈"],shàng:["丄","尙","尚","恦","緔","绱"],xià:["丅","下","乤","圷","夏","夓","懗","梺","疜","睱","罅","鎼","鏬"],hǎn:["丆","喊","浫","罕","豃","㘎"],"wàn mò":["万"],zhàng:["丈","仗","墇","嶂","帐","帳","幛","扙","杖","涱","痮","瘬","瘴","瞕","粀","胀","脹","賬","账","障"],sān:["三","厁","叁","弎","毵","毶","毿","犙","鬖"],"shàng shǎng shang":["上"],"qí jī":["丌","其","奇"],"bù fǒu":["不"],"yǔ yù yú":["与"],miǎn:["丏","偭","免","冕","勉","勔","喕","娩","愐","汅","沔","湎","睌","緬","缅","腼","葂","靦","鮸","𩾃"],gài:["丐","乢","匃","匄","戤","概","槩","槪","溉","漑","瓂","葢","鈣","钙","𬮿"],chǒu:["丑","丒","侴","吜","杽","瞅","矁","醜","魗"],zhuān:["专","叀","嫥","専","專","瑼","甎","砖","磗","磚","蟤","諯","鄟","顓","颛","鱄","䏝"],"qiě jū":["且"],pī:["丕","伓","伾","噼","坯","岯","憵","批","披","炋","狉","狓","砒","磇","礔","礕","秛","秠","耚","豾","邳","鈚","鉟","銔","錃","錍","霹","駓","髬","魾","𬳵"],shì:["世","丗","亊","事","仕","侍","冟","势","勢","卋","呩","嗜","噬","士","奭","嬕","室","市","式","弑","弒","恀","恃","戺","拭","揓","是","昰","枾","柿","栻","澨","烒","煶","眂","眎","眡","睗","示","礻","筮","簭","舐","舓","襫","視","视","觢","試","誓","諡","謚","试","谥","貰","贳","軾","轼","逝","遾","釈","释","釋","鈰","鉃","鉽","铈","飾","餙","餝","饰","鰘","䏡","𬤊"],qiū:["丘","丠","坵","媝","恘","恷","楸","秋","秌","穐","篍","緧","萩","蘒","蚯","蝵","蟗","蠤","趥","邱","鞦","鞧","鰌","鰍","鳅","鶖","鹙","龝"],bǐng:["丙","屛","怲","抦","昞","昺","柄","棅","炳","禀","秉","稟","苪","蛃","邴","鈵","陃","鞆","餅","餠","饼"],yè:["业","亱","僷","墷","夜","嶪","嶫","抴","捙","擛","擪","擫","晔","曄","曅","曗","曳","曵","枼","枽","業","洂","液","澲","烨","燁","爗","璍","皣","瞱","瞸","礏","腋","葉","謁","谒","邺","鄴","鍱","鐷","靥","靨","頁","页","餣","饁","馌","驜","鵺","鸈"],cóng:["丛","从","叢","婃","孮","従","徔","徖","悰","樷","欉","淙","灇","爜","琮","藂","誴","賨","賩","錝"],dōng:["东","倲","冬","咚","埬","岽","崬","徚","昸","東","氡","氭","涷","笗","苳","菄","蝀","鮗","鯟","鶇","鶫","鸫","鼕","𬟽"],sī:["丝","俬","凘","厮","司","咝","嘶","噝","媤","廝","恖","撕","斯","楒","泀","澌","燍","禗","禠","私","糹","絲","緦","纟","缌","罳","蕬","虒","蛳","蜤","螄","蟖","蟴","鉰","銯","鍶","鐁","锶","颸","飔","騦","鷥","鸶","鼶","㟃"],chéng:["丞","呈","城","埕","堘","塍","塖","宬","峸","惩","懲","成","承","挰","掁","揨","枨","棖","橙","檙","洆","溗","澂","珵","珹","畻","程","窚","筬","絾","脭","荿","誠","诚","郕","酲","鋮","铖","騬","鯎"],diū:["丟","丢","銩","铥"],liǎng:["両","两","兩","唡","啢","掚","緉","脼","蜽","裲","魉","魎","𬜯"],yǒu:["丣","卣","友","梄","湵","牖","禉","羑","聈","苃","莠","蜏","酉","銪","铕","黝"],yán:["严","厳","啱","喦","嚴","塩","壛","壧","妍","姸","娫","娮","岩","嵒","嵓","巌","巖","巗","延","揅","昖","楌","檐","櫩","欕","沿","炎","炏","狿","琂","盐","碞","筵","簷","莚","蔅","虤","蜒","言","訁","訮","詽","讠","郔","閆","閻","闫","阎","顏","顔","颜","鹽","麣","𫄧"],bìng:["並","併","倂","傡","垪","摒","栤","病","窉","竝","誁","靐","鮩"],"sàng sāng":["丧"],gǔn:["丨","惃","滚","滾","磙","緄","绲","蓘","蔉","衮","袞","輥","辊","鮌","鯀","鲧"],jiū:["丩","勼","啾","揪","揫","朻","究","糾","纠","萛","赳","阄","鬏","鬮","鳩","鸠"],"gè gě":["个","個","各"],yā:["丫","圧","孲","庘","押","枒","桠","椏","錏","鐚","鴉","鴨","鵶","鸦","鸭"],pán:["丬","媻","幋","槃","洀","瀊","爿","盘","盤","磐","縏","蒰","蟠","蹒","蹣","鎜","鞶"],"zhōng zhòng":["中"],jǐ:["丮","妀","己","戟","挤","掎","撠","擠","橶","泲","犱","脊","虮","蟣","魢","鱾","麂"],jiè:["丯","介","借","唶","堺","屆","届","岕","庎","徣","戒","楐","犗","玠","琾","界","畍","疥","砎","蚧","蛶","衸","褯","誡","诫","鎅","骱","魪"],fēng:["丰","仹","偑","僼","凨","凬","凮","妦","寷","封","峯","峰","崶","枫","楓","檒","沣","沨","渢","灃","烽","犎","猦","琒","疯","瘋","盽","砜","碸","篈","蘴","蜂","蠭","豐","鄷","酆","鋒","鎽","鏠","锋","霻","靊","飌","麷"],"guàn kuàng":["丱"],chuàn:["串","汌","玔","賗","釧","钏"],chǎn:["丳","产","冁","剷","囅","嵼","旵","浐","滻","灛","產","産","簅","蒇","蕆","諂","譂","讇","谄","鏟","铲","閳","闡","阐","骣","𬊤"],lín:["临","冧","壣","崊","嶙","斴","晽","暽","林","潾","瀶","燐","琳","璘","瞵","碄","磷","粦","粼","繗","翷","臨","轔","辚","遴","邻","鄰","鏻","阾","隣","霖","驎","鱗","鳞","麐","麟","𬴊","𬭸"],zhuó:["丵","劅","卓","啄","圴","妰","娺","撯","擆","擢","斫","斮","斱","斲","斵","晫","椓","浊","浞","濁","灼","烵","琸","硺","禚","窡","籗","籱","罬","茁","蠗","蠿","諁","諑","謶","诼","酌","鐲","镯","鵫","鷟","䓬","𬸦"],zhǔ:["丶","主","劯","嘱","囑","宔","帾","拄","渚","濐","煑","煮","燝","瞩","矚","罜","詝","陼","鸀","麈","𬣞"],bā:["丷","仈","八","叭","哵","夿","岜","巴","捌","朳","玐","疤","笆","粑","羓","芭","蚆","豝","釟"],wán:["丸","刓","完","岏","抏","捖","汍","烷","玩","琓","笂","紈","纨","翫","芄","貦","頑","顽"],dān:["丹","勯","匰","単","妉","媅","殚","殫","甔","眈","砃","箪","簞","耼","耽","聃","聸","褝","襌","躭","郸","鄲","酖","頕"],"wèi wéi":["为"],"jǐng dǎn":["丼"],"lì lí":["丽"],jǔ:["举","弆","挙","擧","椇","榉","榘","櫸","欅","矩","筥","聥","舉","莒","蒟","襷","踽","齟","龃"],piě:["丿","苤","鐅","𬭯"],fú:["乀","伏","俘","凫","刜","匐","咈","哹","垘","孚","岪","巿","帗","幅","幞","弗","彿","怫","扶","柫","栿","桴","氟","泭","浮","涪","澓","炥","玸","甶","畉","癁","祓","福","稪","符","箙","紱","紼","絥","綍","绂","绋","罘","罦","翇","艀","芙","芣","苻","茀","茯","菔","葍","虙","蚨","蜉","蝠","袚","袱","襆","襥","諨","豧","踾","輻","辐","郛","鉘","鉜","韍","韨","颫","髴","鮄","鮲","鳧","鳬","鴔","鵩","黻"],"yí jí":["乁"],yì:["乂","义","亄","亦","亿","伇","伿","佾","俋","億","兿","刈","劓","劮","勚","勩","匇","呓","呭","呹","唈","囈","圛","坄","垼","埸","奕","嫕","嬑","寱","屹","峄","嶧","帟","帠","幆","廙","异","弈","弋","役","忆","怈","怿","悒","意","憶","懌","懿","抑","挹","敡","易","晹","曀","曎","杙","枍","棭","榏","槸","檍","歝","殔","殪","殹","毅","浂","浥","浳","湙","溢","潩","澺","瀷","炈","焲","熠","熤","熼","燚","燡","燱","獈","玴","異","疫","痬","瘗","瘞","瘱","癔","益","瞖","穓","竩","篒","縊","繶","繹","绎","缢","義","羿","翊","翌","翳","翼","耴","肄","肊","膉","臆","艗","艺","芅","苅","萟","蓺","薏","藙","藝","蘙","虉","蜴","螠","衪","袣","裔","裛","褹","襼","訲","訳","詍","詣","誼","譯","議","讛","议","译","诣","谊","豙","豛","豷","貖","贀","跇","轶","逸","邑","鄓","醷","釴","鈠","鎰","鐿","镒","镱","阣","隿","霬","饐","駅","驛","驿","骮","鮨","鶂","鶃","鶍","鷁","鷊","鷧","鷾","鸃","鹝","鹢","黓","齸","𬬩","㑊","𫄷","𬟁"],nǎi:["乃","倷","奶","嬭","廼","氖","疓","艿","迺","釢"],wǔ:["乄","五","仵","伍","侮","倵","儛","午","啎","妩","娬","嫵","庑","廡","忤","怃","憮","摀","武","潕","熓","牾","玝","珷","瑦","甒","碔","舞","躌","迕","逜","陚","鵡","鹉","𣲘"],jiǔ:["久","乆","九","乣","奺","杦","汣","灸","玖","紤","舏","酒","镹","韭","韮"],"tuō zhé":["乇","杔","馲"],"me mó ma yāo":["么"],zhī:["之","倁","卮","巵","搘","支","栀","梔","椥","榰","汁","泜","疷","祗","祬","秓","稙","綕","肢","胑","胝","脂","芝","蘵","蜘","衼","隻","鳷","鴲","鼅","𦭜"],"wū wù":["乌"],zhà:["乍","咤","宱","搾","榨","溠","痄","蚱","詐","诈","醡","霅","䃎"],hū:["乎","乯","匢","匫","呼","唿","嘑","垀","寣","幠","忽","惚","昒","歑","泘","淴","滹","烀","苸","虍","虖","謼","軤","轷","雐"],fá:["乏","伐","傠","坺","垡","墢","姂","栰","浌","瞂","笩","筏","罚","罰","罸","藅","閥","阀"],"lè yuè yào lào":["乐","樂"],yín:["乑","吟","噖","嚚","圁","垠","夤","婬","寅","峾","崟","崯","檭","殥","泿","淫","滛","烎","犾","狺","璌","硍","碒","荶","蔩","訔","訚","訡","誾","鄞","鈝","銀","银","霪","鷣","齦"],pīng:["乒","俜","娉","涄","甹","砯","聠","艵","頩"],pāng:["乓","滂","胮","膖","雱","霶"],qiáo:["乔","侨","僑","嫶","憔","桥","槗","樵","橋","櫵","犞","瞧","硚","礄","荍","荞","蕎","藮","譙","趫","鐈","鞒","鞽","顦"],hǔ:["乕","琥","萀","虎","虝","錿","鯱"],guāi:["乖"],"chéng shèng":["乗","乘","娍"],yǐ:["乙","乛","以","倚","偯","嬟","崺","已","庡","扆","攺","敼","旑","旖","檥","矣","礒","笖","舣","艤","苡","苢","蚁","螘","蟻","裿","踦","輢","轙","逘","酏","釔","鈘","鉯","钇","顗","鳦","齮","𫖮","𬺈"],"háo yǐ":["乚"],"niè miē":["乜"],qǐ:["乞","企","启","唘","啓","啔","啟","婍","屺","杞","棨","玘","盀","綺","绮","芑","諬","起","邔","闙"],yě:["也","冶","嘢","埜","壄","漜","野"],xí:["习","喺","媳","嶍","席","椺","檄","漝","習","蓆","袭","襲","覡","觋","謵","趘","郋","鎴","隰","霫","飁","騱","騽","驨","鰼","鳛","𠅤","𫘬"],xiāng:["乡","厢","廂","忀","楿","欀","湘","瓖","稥","箱","緗","缃","膷","芗","萫","葙","薌","襄","郷","鄉","鄊","鄕","鑲","镶","香","驤","骧","鱜","麘","𬙋"],shū:["书","倏","倐","儵","叔","姝","尗","抒","掓","摅","攄","書","枢","梳","樞","殊","殳","毹","毺","淑","瀭","焂","疎","疏","紓","綀","纾","舒","菽","蔬","踈","軗","輸","输","鄃","陎","鮛","鵨"],dǒu:["乧","抖","枓","蚪","鈄","阧","陡"],shǐ:["乨","使","兘","史","始","宩","屎","榁","矢","笶","豕","鉂","駛","驶"],jī:["乩","僟","击","刉","刏","剞","叽","唧","喞","嗘","嘰","圾","基","墼","姬","屐","嵆","嵇","撃","擊","朞","机","枅","樭","機","毄","激","犄","玑","璣","畸","畿","癪","矶","磯","积","積","笄","筓","箕","簊","緁","羁","羇","羈","耭","肌","芨","虀","覉","覊","譏","譤","讥","賫","賷","赍","跻","踑","躋","躸","銈","錤","鐖","鑇","鑙","隮","雞","鞿","韲","飢","饑","饥","魕","鳮","鶏","鶺","鷄","鸄","鸡","齎","齏","齑","𬯀","𫓯","𫓹","𫌀"],náng:["乪","嚢","欜","蠰","饢"],jiā:["乫","佳","傢","加","嘉","抸","枷","梜","毠","泇","浃","浹","犌","猳","珈","痂","笳","糘","耞","腵","葭","袈","豭","貑","跏","迦","鉫","鎵","镓","鴐","麚","𬂩"],jù:["乬","倨","倶","具","剧","劇","勮","埧","埾","壉","姖","屦","屨","岠","巨","巪","怇","惧","愳","懅","懼","拒","拠","昛","歫","洰","澽","炬","烥","犋","秬","窭","窶","簴","粔","耟","聚","虡","蚷","詎","讵","豦","距","踞","躆","遽","邭","醵","鉅","鐻","钜","颶","飓","駏","鮔"],shí:["乭","十","埘","塒","姼","实","実","寔","實","峕","嵵","时","旹","時","榯","湜","溡","炻","祏","竍","蚀","蝕","辻","遈","鉐","飠","饣","鮖","鰣","鲥","鼫","鼭"],mǎo:["乮","冇","卯","峁","戼","昴","泖","笷","蓩","鉚","铆"],mǎi:["买","嘪","荬","蕒","買","鷶"],luàn:["乱","亂","釠"],rǔ:["乳","擩","汝","肗","辱","鄏"],xué:["乴","学","學","峃","嶨","斈","泶","澩","燢","穴","茓","袕","踅","鷽","鸴"],yǎn:["䶮","乵","俨","偃","儼","兖","兗","厣","厴","噞","孍","嵃","巘","巚","弇","愝","戭","扊","抁","掩","揜","曮","椼","檿","沇","渷","演","琰","甗","眼","罨","萒","蝘","衍","褗","躽","遃","郾","隒","顩","魇","魘","鰋","鶠","黡","黤","黬","黭","黶","鼴","鼹","齴","龑","𬸘","𬙂","𪩘"],fǔ:["乶","俌","俛","俯","府","弣","抚","拊","撫","斧","椨","滏","焤","甫","盙","簠","腐","腑","蜅","輔","辅","郙","釜","釡","阝","頫","鬴","黼","㕮","𫖯"],shā:["乷","唦","杀","桬","殺","毮","猀","痧","砂","硰","紗","繺","纱","蔱","裟","鎩","铩","閷","髿","魦","鯊","鯋","鲨"],nǎ:["乸","雫"],qián:["乹","亁","仱","偂","前","墘","媊","岒","拑","掮","榩","橬","歬","潛","潜","濳","灊","箝","葥","虔","軡","鈐","鉗","銭","錢","鎆","钤","钱","钳","靬","騚","騝","鰬","黔","黚"],suǒ:["乺","唢","嗩","所","暛","溑","溹","琐","琑","瑣","索","褨","鎖","鎻","鏁","锁"],yú:["乻","于","亐","伃","余","堣","堬","妤","娛","娯","娱","嬩","崳","嵎","嵛","愚","扵","揄","旟","楡","楰","榆","欤","歈","歟","歶","渔","渝","湡","漁","澞","牏","狳","玗","玙","瑜","璵","盂","睮","窬","竽","籅","羭","腴","臾","舁","舆","艅","茰","萮","萸","蕍","蘛","虞","虶","蝓","螸","衧","褕","覦","觎","諛","謣","谀","踰","輿","轝","逾","邘","酑","鍝","隅","雓","雩","餘","馀","騟","骬","髃","魚","魣","鮽","鯲","鰅","鱼","鷠","鸆","齵"],zhù:["乼","伫","佇","住","坾","墸","壴","嵀","拀","杼","柱","樦","殶","注","炷","疰","眝","祝","祩","竚","筯","箸","篫","簗","紵","紸","纻","羜","翥","苎","莇","蛀","註","貯","贮","跓","軴","鉒","鋳","鑄","铸","馵","駐","驻"],zhě:["乽","者","褶","襵","赭","踷","鍺","锗"],"qián gān":["乾"],"zhì luàn":["乿"],guī:["亀","圭","妫","媯","嫢","嬀","帰","归","摫","椝","槻","槼","櫷","歸","珪","瑰","璝","瓌","皈","瞡","硅","茥","蘬","規","规","邽","郌","閨","闺","騩","鬶","鬹"],"lǐn lìn":["亃"],jué:["亅","决","刔","劂","匷","厥","噊","孒","孓","崛","崫","嶥","彏","憠","憰","戄","抉","挗","掘","攫","桷","橛","橜","欮","氒","決","灍","焳","熦","爑","爴","爵","獗","玃","玦","玨","珏","瑴","瘚","矍","矡","砄","絕","絶","绝","臄","芵","蕝","蕨","虳","蟨","蟩","觖","觮","觼","訣","譎","诀","谲","貜","赽","趉","蹷","躩","鈌","鐍","鐝","钁","镢","鴂","鴃","鷢","𫘝","㵐","𫔎"],"le liǎo":["了"],"gè mā":["亇"],"yǔ yú":["予","懙"],zhēng:["争","佂","凧","姃","媜","峥","崝","崢","征","徰","炡","烝","爭","狰","猙","癥","眐","睁","睜","筝","箏","篜","聇","脀","蒸","踭","鉦","錚","鏳","鬇"],èr:["二","刵","咡","弍","弐","樲","誀","貮","貳","贰","髶"],chù:["亍","傗","儊","怵","憷","搐","斶","歜","珿","琡","矗","竌","絀","绌","臅","触","觸","豖","鄐","閦","黜"],kuī:["亏","刲","岿","巋","盔","窥","窺","聧","虧","闚","顝"],yún:["云","伝","勻","匀","囩","妘","愪","抣","昀","橒","沄","涢","溳","澐","熉","畇","秐","筼","篔","紜","縜","纭","耘","芸","蒷","蕓","郧","鄖","鋆","雲"],hù:["互","冱","嗀","嚛","婟","嫭","嫮","岵","帍","弖","怙","戶","户","戸","戽","扈","护","昈","槴","沍","沪","滬","熩","瓠","祜","笏","簄","粐","綔","蔰","護","豰","鄠","鍙","頀","鱯","鳠","鳸","鸌","鹱"],qí:["亓","剘","埼","岐","岓","崎","嵜","愭","掑","斉","斊","旂","旗","棊","棋","檱","櫀","歧","淇","濝","猉","玂","琦","琪","璂","畦","疧","碁","碕","祁","祈","祺","禥","竒","簯","簱","籏","粸","綥","綦","肵","脐","臍","艩","芪","萁","萕","蕲","藄","蘄","蚑","蚚","蛴","蜝","蜞","螧","蠐","褀","軝","鄿","釮","錡","锜","陭","頎","颀","騎","騏","騹","骐","骑","鬐","鬿","鯕","鰭","鲯","鳍","鵸","鶀","麒","麡","𨙸","𬨂","䓫"],jǐng:["井","儆","刭","剄","坓","宑","幜","憬","暻","殌","汫","汬","澋","璄","璟","璥","穽","肼","蟼","警","阱","頚","頸"],sì:["亖","佀","価","儩","兕","嗣","四","姒","娰","孠","寺","巳","柶","榹","汜","泗","泤","洍","洠","涘","瀃","牭","祀","禩","竢","笥","耜","肂","肆","蕼","覗","貄","釲","鈶","鈻","飤","飼","饲","駟","騃","驷"],suì:["亗","嬘","岁","嵗","旞","檖","歲","歳","澻","煫","燧","璲","砕","碎","祟","禭","穂","穗","穟","繀","繐","繸","襚","誶","譢","谇","賥","邃","鐆","鐩","隧","韢","𫟦","𬭼"],gèn:["亘","亙","揯","搄","茛"],yà:["亚","亜","俹","冴","劜","圔","圠","埡","娅","婭","揠","氩","氬","犽","砑","稏","聐","襾","覀","訝","讶","迓","齾"],"xiē suò":["些"],"qí zhāi":["亝","齊"],"yā yà":["亞","压","垭","壓","铔"],"jí qì":["亟","焏"],tóu:["亠","投","頭","骰"],"wáng wú":["亡"],"kàng háng gāng":["亢"],dà:["亣","眔"],jiāo:["交","僬","娇","嬌","峧","嶕","嶣","憍","椒","浇","澆","焦","礁","穚","簥","胶","膠","膲","茭","茮","蕉","虠","蛟","蟭","跤","轇","郊","鐎","驕","骄","鮫","鲛","鵁","鷦","鷮","鹪","䴔"],hài:["亥","嗐","害","氦","餀","饚","駭","駴","骇"],"hēng pēng":["亨"],mǔ:["亩","姆","峔","拇","母","牡","牳","畂","畆","畒","畝","畞","畮","砪","胟","踇","鉧","𬭁","𧿹"],ye:["亪"],xiǎng:["享","亯","响","想","晑","蚃","蠁","響","飨","餉","饗","饷","鮝","鯗","鱶","鲞"],jīng:["京","亰","兢","坕","坙","婛","惊","旌","旍","晶","橸","泾","涇","猄","睛","秔","稉","粳","精","経","經","綡","聙","腈","茎","荆","荊","菁","葏","驚","鯨","鲸","鶁","鶄","麖","麠","鼱","䴖"],tíng:["亭","停","婷","嵉","庭","廷","楟","榳","筳","聤","莛","葶","蜓","蝏","諪","邒","霆","鼮","䗴"],liàng:["亮","喨","悢","晾","湸","諒","谅","輌","輛","辆","鍄"],"qīn qìng":["亲","親"],bó:["亳","仢","侼","僰","博","帛","愽","懪","挬","搏","欂","浡","淿","渤","煿","牔","狛","瓝","礴","秡","箔","簙","糪","胉","脖","膊","舶","艊","萡","葧","袯","襏","襮","謈","踣","郣","鈸","鉑","鋍","鎛","鑮","钹","铂","镈","餺","馎","馛","馞","駁","駮","驳","髆","鵓","鹁"],yòu:["亴","佑","佦","侑","又","右","哊","唀","囿","姷","宥","峟","幼","狖","祐","蚴","誘","诱","貁","迶","酭","釉","鼬"],xiè:["亵","伳","偞","偰","僁","卨","卸","噧","塮","夑","媟","屑","屧","廨","徢","懈","暬","械","榍","榭","泻","洩","渫","澥","瀉","瀣","灺","炧","炨","燮","爕","獬","祄","禼","糏","紲","絏","絬","繲","纈","绁","缷","薢","薤","蟹","蠏","褉","褻","謝","谢","躞","邂","靾","韰","齂","齘","齛","齥","𬹼","𤫉"],"dǎn dàn":["亶","馾"],lián:["亷","劆","匲","匳","嗹","噒","奁","奩","嫾","帘","廉","怜","憐","涟","漣","濂","濓","瀮","熑","燫","簾","籢","籨","縺","翴","联","聨","聫","聮","聯","臁","莲","蓮","薕","螊","蠊","裢","褳","覝","謰","蹥","连","連","鎌","鐮","镰","鬑","鰱","鲢"],duǒ:["亸","哚","嚲","埵","崜","朵","朶","綞","缍","趓","躱","躲","軃"],"wěi mén":["亹","斖"],rén:["人","亻","仁","壬","忈","忎","朲","秂","芢","魜","鵀"],jí:["亼","亽","伋","佶","偮","卙","即","卽","及","叝","吉","堲","塉","姞","嫉","岌","嵴","嶯","彶","忣","急","愱","戢","揤","极","棘","楫","極","槉","檝","殛","汲","湒","潗","疾","瘠","皍","笈","箿","籍","級","级","膌","艥","蒺","蕀","蕺","蝍","螏","襋","觙","谻","踖","蹐","躤","輯","轚","辑","郆","銡","鍓","鏶","集","雧","霵","鹡","㴔"],wáng:["亾","仼","兦","莣","蚟"],"shén shí":["什"],lè:["仂","叻","忇","氻","泐","玏","砳","簕","艻","阞","韷","餎","鰳","鱳","鳓"],dīng:["仃","叮","帄","玎","疔","盯","耵","虰","靪"],zè:["仄","崱","庂","捑","昃","昗","汄"],"jǐn jìn":["仅","僅","嫤"],"pú pū":["仆"],"chóu qiú":["仇"],zhǎng:["仉","幥","掌","礃"],jīn:["今","堻","巾","惍","斤","津","珒","琻","璡","砛","筋","荕","衿","襟","觔","金","釒","釿","钅","鹶","黅","𬬱"],bīng:["仌","仒","兵","冫","冰","掤","氷","鋲"],réng:["仍","礽","芿","辸","陾"],fó:["仏","坲","梻"],"jīn sǎn":["仐"],lún:["仑","伦","侖","倫","囵","圇","婨","崘","崙","棆","沦","淪","磮","腀","菕","蜦","踚","輪","轮","錀","陯","鯩","𬬭"],cāng:["仓","仺","倉","凔","嵢","沧","滄","濸","獊","舱","艙","苍","蒼","螥","鸧"],"zǎi zǐ zī":["仔"],tā:["他","塌","它","榙","溻","牠","祂","褟","趿","遢","闧"],fù:["付","偩","傅","冨","副","咐","坿","复","妇","婦","媍","嬔","富","復","椱","祔","禣","竎","緮","縛","缚","腹","萯","蕧","蚹","蛗","蝜","蝮","袝","複","覄","覆","訃","詂","讣","負","賦","賻","负","赋","赙","赴","輹","鍑","鍢","阜","附","馥","駙","驸","鮒","鰒","鲋","鳆","㳇"],xiān:["仙","仚","佡","僊","僲","先","嘕","奾","屳","廯","忺","憸","掀","暹","杴","氙","珗","祆","秈","籼","繊","纎","纖","苮","褼","襳","跹","蹮","躚","酰","鍁","锨","韯","韱","馦","鱻","鶱","𬸣"],"tuō chà duó":["仛"],hóng:["仜","吰","垬","妅","娂","宏","宖","弘","彋","汯","泓","洪","浤","渱","潂","玒","玜","竑","竤","篊","粠","紘","紭","綋","纮","翃","翝","耾","苰","荭","葒","葓","谹","谼","鈜","鉷","鋐","閎","闳","霐","霟","鞃","魟","鴻","鸿","黉","黌","𫟹","𬭎"],tóng:["仝","佟","哃","峂","峝","庝","彤","晍","曈","桐","氃","浵","潼","犝","獞","眮","瞳","砼","秱","童","粡","膧","茼","蚒","詷","赨","酮","鉖","鉵","銅","铜","餇","鮦","鲖","𫍣","𦒍"],rèn:["仞","仭","刃","刄","妊","姙","屻","岃","扨","牣","祍","紉","紝","絍","纫","纴","肕","腍","衽","袵","訒","認","认","讱","軔","轫","鈓","靭","靱","韌","韧","飪","餁","饪"],qiān:["仟","佥","僉","千","圲","奷","孯","岍","悭","愆","慳","扦","拪","搴","撁","攐","攑","攓","杄","櫏","汘","汧","牵","牽","竏","签","簽","籖","籤","粁","芊","茾","蚈","褰","諐","謙","谦","谸","迁","遷","釺","鈆","鉛","鏲","钎","阡","韆","顅","騫","骞","鬜","鬝","鵮","鹐"],"gǎn hàn":["仠"],"yì gē":["仡"],dài:["代","侢","叇","垈","埭","岱","帒","带","帯","帶","廗","怠","戴","曃","柋","殆","瀻","玳","瑇","甙","簤","紿","緿","绐","艜","蝳","袋","襶","貣","贷","蹛","軑","軚","軩","轪","迨","霴","靆","鴏","黛","黱"],"lìng líng lǐng":["令"],chào:["仦","耖","觘"],"cháng zhǎng":["仧","兏","長","长"],sā:["仨"],cháng:["仩","偿","償","嘗","嚐","嫦","尝","常","徜","瑺","瓺","甞","肠","腸","膓","苌","萇","镸","鱨","鲿"],yí:["仪","侇","儀","冝","匜","咦","圯","夷","姨","宐","宜","宧","寲","峓","嶬","嶷","巸","彛","彜","彝","彞","怡","恞","扅","暆","栘","椬","椸","沂","洟","熪","瓵","痍","移","簃","籎","羠","胰","萓","蛦","螔","觺","謻","貽","贻","跠","迻","遺","鏔","頉","頤","頥","顊","颐","饴","鮧","鴺"],mù:["仫","凩","募","墓","幕","幙","慔","慕","暮","暯","木","楘","毣","沐","炑","牧","狇","目","睦","穆","艒","苜","莯","蚞","鉬","钼","雮","霂"],"men mén":["们"],fǎn:["仮","反","橎","返"],"chào miǎo":["仯"],"yǎng áng":["仰"],zhòng:["仲","众","堹","妕","媑","狆","眾","祌","筗","茽","蚛","衆","衶","諥"],"pǐ pí":["仳"],wò:["仴","偓","卧","媉","幄","握","楃","沃","渥","濣","瓁","瞃","硪","肟","腛","臥","齷","龌"],jiàn:["件","俴","健","僭","剑","剣","剱","劍","劎","劒","劔","墹","寋","建","徤","擶","旔","楗","毽","洊","涧","澗","牮","珔","瞷","磵","礀","箭","糋","繝","腱","臶","舰","艦","荐","薦","覸","諓","諫","譛","谏","賎","賤","贱","趝","践","踐","踺","轞","鉴","鍳","鍵","鐱","鑑","鑒","鑬","鑳","键","間","餞","饯","𬣡"],"jià jiè jie":["价"],"yǎo fó":["仸"],"rèn rén":["任"],"fèn bīn":["份"],dī:["仾","低","啲","埞","堤","岻","彽","樀","滴","磾","秪","羝","袛","趆","隄","鞮","䃅"],fǎng:["仿","倣","旊","昉","昘","瓬","眆","紡","纺","舫","訪","访","髣","鶭"],zhōng:["伀","刣","妐","幒","彸","忠","柊","汷","泈","炂","盅","籦","終","终","舯","蔠","蜙","螤","螽","衳","衷","蹱","鈡","鍾","鐘","钟","锺","鴤","鼨"],pèi:["伂","佩","姵","帔","斾","旆","沛","浿","珮","蓜","轡","辔","配","霈","馷"],diào:["伄","吊","弔","掉","瘹","盄","窎","窵","竨","訋","釣","鈟","銱","鋽","鑃","钓","铞","雿","魡"],dùn:["伅","潡","炖","燉","盾","砘","碷","踲","逇","遁","遯","鈍","钝"],wěn:["伆","刎","吻","呅","抆","桽","稳","穏","穩","紊","肳","脗"],xǐn:["伈"],kàng:["伉","匟","囥","抗","炕","鈧","钪"],ài:["伌","僾","塧","壒","嫒","嬡","愛","懓","暧","曖","爱","瑷","璦","皧","瞹","砹","硋","碍","礙","薆","譺","賹","鑀","隘","靉","餲","馤","鱫","鴱"],"jì qí":["伎","薺"],"xiū xǔ":["休"],"jìn yín":["伒"],dǎn:["伔","刐","撢","玬","瓭","紞","胆","膽","衴","賧","赕","黕","𬘘"],fū:["伕","呋","娐","孵","尃","怤","懯","敷","旉","玞","砆","稃","筟","糐","綒","肤","膚","荂","荴","衭","趺","跗","邞","鄜","酜","鈇","麩","麬","麱","麸","𫓧"],tǎng:["伖","傥","儻","埫","戃","曭","爣","矘","躺","鎲","钂","镋"],yōu:["优","優","呦","嚘","峳","幽","忧","悠","憂","攸","櫌","滺","瀀","纋","羪","耰","逌","鄾","麀"],huǒ:["伙","夥","火","煷","邩","鈥","钬"],"huì kuài":["会","會","浍","璯"],yǔ:["伛","俁","俣","偊","傴","匬","噳","圄","圉","宇","寙","屿","嶼","庾","挧","敔","斞","楀","瑀","瘐","祤","禹","穥","窳","羽","與","萭","貐","鄅","頨","麌","齬","龉","㺄"],cuì:["伜","啛","忰","悴","毳","淬","焠","疩","瘁","竁","粋","粹","紣","綷","翆","翠","脃","脆","脺","膬","膵","臎","萃","襊","顇"],sǎn:["伞","傘","糤","繖","饊","馓"],wěi:["伟","伪","偉","偽","僞","儰","娓","寪","屗","崣","嶉","徫","愇","捤","暐","梶","洧","浘","渨","炜","煒","猥","玮","瑋","痿","緯","纬","腲","艉","芛","苇","荱","萎","葦","蒍","蔿","蜼","諉","诿","踓","鍡","韑","韙","韡","韪","頠","颹","骩","骪","骫","鮪","鲔","𫇭","𬀩","𬱟"],"chuán zhuàn":["传","傳"],"chē jū":["伡","俥","车"],"jū chē":["車"],yá:["伢","厑","厓","堐","岈","崕","崖","涯","漄","牙","玡","琊","睚","笌","芽","蚜","衙","齖"],qiàn:["伣","俔","倩","儙","刋","壍","嬱","悓","棈","椠","槧","欠","歉","皘","篏","篟","縴","芡","蒨","蔳","輤","𬘬"],shāng:["伤","傷","商","墒","慯","殇","殤","滳","漡","熵","蔏","螪","觞","觴","謪","鬺"],chāng:["伥","倀","娼","昌","椙","淐","猖","琩","菖","裮","錩","锠","閶","阊","鯧","鲳","鼚"],"chen cāng":["伧"],xùn:["伨","侚","卂","噀","巺","巽","徇","愻","殉","殾","汛","潠","狥","蕈","訊","訓","訙","训","讯","迅","迿","逊","遜","鑂","顨","馴","驯"],xìn:["伩","囟","孞","脪","舋","衅","訫","釁","阠","顖"],chǐ:["伬","侈","卶","叺","呎","垑","恥","歯","耻","肔","胣","蚇","裭","褫","豉","鉹","齒","齿"],"xián xuán":["伭"],"nú nǔ":["伮"],"bó bǎi":["伯"],"gū gù":["估"],nǐ:["伱","你","儞","孴","拟","擬","旎","晲","狔","苨","薿","隬"],"nì ní":["伲"],bàn:["伴","办","半","姅","怑","扮","瓣","秚","絆","绊","辦","鉡","靽"],xù:["伵","侐","勖","勗","卹","叙","垿","壻","婿","序","恤","敍","敘","旭","昫","朂","槒","欰","殈","汿","沀","洫","溆","漵","潊","烅","烼","煦","獝","珬","盢","瞁","稸","絮","続","緒","緖","續","绪","续","聓","聟","蓄","藚","訹","賉","酗","頊","鱮","㳚"],zhòu:["伷","僽","冑","呪","咒","咮","宙","昼","晝","甃","皱","皺","籀","籒","籕","粙","紂","縐","纣","绉","胄","荮","葤","詋","酎","駎","驟","骤","㤘","㑇"],shēn:["伸","侁","兟","呻","堔","妽","娠","屾","峷","扟","敒","曑","柛","氠","深","燊","珅","甡","甧","申","眒","砷","穼","籶","籸","糂","紳","绅","罙","罧","葠","蓡","蔘","薓","裑","訷","詵","诜","身","駪","鯓","鯵","鰺","鲹","鵢","𬳽"],qū:["伹","佉","匤","呿","坥","屈","岖","岴","嶇","憈","抾","敺","浀","煀","祛","筁","粬","胠","蛆","蛐","袪","覻","詘","诎","趍","躯","軀","阹","駆","駈","驅","驱","髷","魼","鰸","鱋","鶌","麯","麴","麹","黢","㭕","𪨰","䓛"],"sì cì":["伺"],bēng:["伻","嘣","奟","崩","嵭","閍"],"sì shì":["似"],"jiā qié gā":["伽"],"yǐ chì":["佁"],"diàn tián":["佃","钿"],"hān gàn":["佄"],mài:["佅","劢","勱","卖","唛","売","脈","衇","賣","迈","邁","霡","霢","麥","麦","鿏"],dàn:["但","僤","啖","啗","啿","噉","嚪","帎","憺","旦","柦","氮","沊","泹","淡","狚","疍","癚","禫","窞","腅","萏","蓞","蛋","蜑","觛","訑","誕","诞","贉","霮","餤","饏","駳","髧","鴠","𫢸"],bù:["佈","勏","吥","咘","埗","埠","布","廍","怖","悑","步","歨","歩","瓿","篰","荹","蔀","踄","部","郶","鈈","钚","餢"],bǐ:["佊","俾","匕","夶","妣","彼","朼","柀","比","毞","沘","疕","秕","笔","筆","粃","聛","舭","貏","鄙"],"zhāo shào":["佋"],cǐ:["佌","此","泚","皉","𫚖"],wèi:["位","卫","味","喂","墛","媦","慰","懀","未","渭","煟","熭","犚","猬","畏","緭","罻","胃","苿","菋","藯","蘶","蝟","螱","衛","衞","褽","謂","讆","讏","谓","躗","躛","軎","轊","鏏","霨","餧","餵","饖","魏","鮇","鳚"],zuǒ:["佐","左","繓"],yǎng:["佒","傟","养","坱","岟","慃","懩","攁","氧","氱","炴","痒","癢","礢","紻","蝆","軮","養","駚"],"tǐ tī":["体","體"],zhàn:["佔","偡","嶘","战","戦","戰","栈","桟","棧","湛","站","綻","绽","菚","蘸","虥","虦","譧","轏","驏"],"hé hē hè":["何"],bì:["佖","咇","哔","嗶","坒","堛","壁","奰","妼","婢","嬖","币","幣","幤","庇","庳","廦","弊","弻","弼","彃","必","怭","愊","愎","敝","斃","梐","毕","毖","毙","湢","滗","滭","潷","煏","熚","狴","獘","獙","珌","璧","畀","畢","疪","痹","痺","皕","睤","碧","筚","箅","箆","篦","篳","粊","綼","縪","繴","罼","腷","苾","荜","萆","萞","蓖","蓽","蔽","薜","蜌","袐","襅","襞","襣","觱","詖","诐","貱","贔","赑","跸","蹕","躃","躄","避","邲","鄨","鄪","鉍","鏎","鐴","铋","閇","閉","閟","闭","陛","韠","飶","饆","馝","駜","驆","髀","魓","鮅","鷝","鷩","鼊"],tuó:["佗","坨","堶","岮","槖","橐","沱","砣","砤","碢","紽","詑","跎","酡","阤","陀","陁","駝","駞","騨","驒","驝","驼","鮀","鴕","鸵","鼉","鼍","鼧","𬶍"],shé:["佘","舌","虵","蛥"],"yì dié":["佚","昳","泆","軼"],"fó fú bì bó":["佛"],"zuò zuō":["作"],gōu:["佝","沟","溝","痀","篝","簼","緱","缑","袧","褠","鈎","鉤","钩","鞲","韝"],nìng:["佞","侫","倿","寕","泞","澝","濘"],qú:["佢","劬","戵","斪","欋","欔","氍","淭","灈","爠","璖","璩","癯","磲","籧","絇","胊","臞","菃","葋","蕖","蘧","蟝","蠷","蠼","衐","衢","躣","軥","鑺","鴝","鸜","鸲","鼩"],"yōng yòng":["佣"],wǎ:["佤","咓","砙","邷"],kǎ:["佧","垰","胩","裃","鉲"],bāo:["佨","勹","包","孢","煲","笣","胞","苞","蕔","裦","褒","襃","闁","齙","龅"],"huái huí":["佪"],"gé hè":["佫"],lǎo:["佬","咾","恅","栳","狫","珯","硓","老","耂","荖","蛯","轑","銠","铑","鮱"],xiáng:["佭","庠","栙","祥","絴","翔","詳","跭"],gé:["佮","匌","呄","嗝","塥","愅","挌","搿","槅","櫊","滆","膈","臵","茖","觡","諽","輵","轕","閣","阁","隔","鞷","韐","韚","騔","骼","鮯"],yáng:["佯","劷","垟","崸","徉","扬","揚","敭","旸","昜","暘","杨","楊","洋","炀","珜","疡","瘍","眻","蛘","諹","輰","鍚","钖","阦","阳","陽","霷","颺","飏","鰑","鴹","鸉"],bǎi:["佰","捭","摆","擺","栢","百","竡","粨","襬"],fǎ:["佱","峜","法","灋","砝","鍅"],mǐng:["佲","凕","姳","慏","酩"],"èr nài":["佴"],hěn:["佷","很","狠","詪","𬣳"],huó:["佸","活"],guǐ:["佹","匦","匭","厬","垝","姽","宄","庋","庪","恑","晷","湀","癸","祪","簋","蛫","蟡","觤","詭","诡","軌","轨","陒","鬼"],quán:["佺","全","啳","埢","姾","峑","巏","拳","搼","权","楾","権","權","泉","洤","湶","牷","犈","瑔","痊","硂","筌","縓","荃","葲","蜷","蠸","觠","詮","诠","跧","踡","輇","辁","醛","銓","铨","闎","顴","颧","駩","騡","鬈","鰁","鳈","齤"],tiāo:["佻","庣","旫","祧","聎"],jiǎo:["佼","儌","孂","挢","搅","撟","撹","攪","敫","敽","敿","晈","暞","曒","灚","燞","狡","璬","皎","皦","絞","纐","绞","腳","臫","蟜","譑","賋","踋","鉸","铰","餃","饺","鱎","龣"],cì:["佽","刾","庛","朿","栨","次","絘","茦","莿","蛓","螆","賜","赐"],xíng:["侀","刑","哘","型","娙","形","洐","硎","蛵","邢","郉","鈃","鉶","銒","钘","铏","陉","陘","餳","𫰛"],tuō:["侂","咃","咜","圫","托","拕","拖","汑","脫","脱","莌","袥","託","讬","飥","饦","魠","鮵"],kǎn:["侃","偘","冚","坎","惂","砍","莰","輡","轗","顑"],zhí:["侄","値","值","埴","執","姪","嬂","戠","执","摭","植","樴","淔","漐","直","禃","絷","縶","聀","职","職","膱","蟙","跖","踯","蹠","躑","軄","釞","馽"],gāi:["侅","垓","姟","峐","晐","畡","祴","荄","該","该","豥","賅","賌","赅","陔"],lái:["來","俫","倈","崃","崍","庲","来","梾","棶","涞","淶","猍","琜","筙","箂","莱","萊","逨","郲","錸","铼","騋","鯠","鶆","麳"],kuǎ:["侉","咵","垮","銙"],gōng:["侊","公","功","匑","匔","塨","宫","宮","工","幊","弓","恭","攻","杛","碽","糼","糿","肱","觥","觵","躬","躳","髸","龔","龚","䢼"],lì:["例","俐","俪","傈","儮","儷","凓","利","力","励","勵","历","厉","厤","厯","厲","叓","吏","呖","唎","唳","嚦","囇","坜","塛","壢","娳","婯","屴","岦","悧","悷","慄","戾","搮","暦","曆","曞","朸","枥","栃","栗","栛","檪","櫔","櫪","欐","歴","歷","沥","沴","涖","溧","濿","瀝","爏","犡","猁","珕","瑮","瓅","瓑","瓥","疬","痢","癧","盭","睙","砅","砺","砾","磿","礪","礫","礰","禲","秝","立","笠","篥","粒","粝","糲","脷","苈","茘","荔","莅","莉","蒚","蒞","藶","蚸","蛎","蛠","蜧","蝷","蠇","蠣","詈","讈","赲","轢","轣","轹","酈","鉝","隶","隷","雳","靂","靋","鬁","鳨","鴗","鷅","麜","𫵷","𬍛"],yīn:["侌","凐","喑","噾","囙","因","垔","堙","姻","婣","愔","慇","栶","氤","洇","溵","濦","瘖","禋","秵","筃","絪","緸","茵","蒑","蔭","裀","諲","銦","铟","闉","阥","阴","陰","陻","隂","霒","霠","鞇","音","韾","駰","骃","齗","𬘡","𬤇","𬮱"],mǐ:["侎","孊","弭","敉","洣","渳","灖","米","粎","羋","脒","芈","葞","蔝","銤"],zhū:["侏","株","槠","橥","櫧","櫫","洙","潴","瀦","猪","珠","硃","秼","絑","茱","蕏","蛛","蝫","蠩","袾","誅","諸","诛","诸","豬","跦","邾","銖","铢","駯","鮢","鯺","鴸","鼄"],ān:["侒","偣","媕","安","峖","庵","桉","氨","盦","盫","腤","菴","萻","葊","蓭","誝","諳","谙","鞌","鞍","韽","馣","鮟","鵪","鶕","鹌","𩽾"],lù:["侓","僇","勎","勠","圥","坴","塶","娽","峍","廘","彔","录","戮","摝","椂","樚","淕","淥","渌","漉","潞","琭","璐","甪","盝","睩","硉","祿","禄","稑","穋","箓","簏","簬","簵","簶","籙","粶","蔍","蕗","虂","螰","賂","赂","趢","路","踛","蹗","輅","轆","辂","辘","逯","醁","錄","録","錴","鏴","陸","騄","騼","鯥","鴼","鵦","鵱","鷺","鹭","鹿","麓","𫘧"],móu:["侔","劺","恈","眸","蛑","謀","谋","踎","鍪","鴾","麰"],ér:["侕","儿","児","兒","峏","栭","洏","粫","而","胹","荋","袻","輀","轜","陑","隭","髵","鮞","鲕","鴯","鸸"],"dòng tǒng tóng":["侗"],chà:["侘","奼","姹","岔","汊","詫","诧"],chì:["侙","傺","勅","勑","叱","啻","彳","恜","慗","憏","懘","抶","敕","斥","杘","湁","灻","炽","烾","熾","痓","痸","瘛","翄","翅","翤","翨","腟","赤","趩","遫","鉓","雴","飭","饬","鶒","鷘"],"gòng gōng":["供","共"],zhōu:["侜","周","喌","州","徟","洲","淍","炿","烐","珘","矪","舟","謅","譸","诌","賙","赒","輈","輖","辀","週","郮","銂","霌","駲","騆","鵃","鸼"],rú:["侞","儒","嚅","如","嬬","孺","帤","曘","桇","渪","濡","筎","茹","蕠","薷","蝡","蠕","袽","襦","邚","醹","銣","铷","顬","颥","鱬","鴑","鴽"],"jiàn cún":["侟"],xiá:["侠","俠","匣","峡","峽","敮","暇","柙","炠","烚","狎","狭","狹","珨","瑕","硖","硤","碬","祫","筪","縖","翈","舝","舺","蕸","赮","轄","辖","遐","鍜","鎋","陜","陿","霞","騢","魻","鶷","黠"],lǚ:["侣","侶","儢","吕","呂","屡","屢","履","挔","捛","旅","梠","焒","祣","稆","穭","絽","縷","缕","膂","膐","褛","褸","郘","鋁","铝"],ta:["侤"],"jiǎo yáo":["侥","僥","徺"],zhēn:["侦","偵","寊","帧","帪","幀","搸","斟","桢","楨","榛","樼","殝","浈","湞","潧","澵","獉","珍","珎","瑧","甄","眞","真","砧","碪","祯","禎","禛","箴","胗","臻","葴","蒖","蓁","薽","貞","贞","轃","遉","酙","針","鉁","錱","鍼","针","鱵"],"cè zè zhāi":["侧","側"],kuài:["侩","儈","凷","哙","噲","圦","块","塊","巜","廥","快","旝","欳","狯","獪","筷","糩","脍","膾","郐","鄶","鱠","鲙"],chái:["侪","儕","喍","柴","犲","祡","豺"],nóng:["侬","儂","农","哝","噥","檂","欁","浓","濃","燶","禯","秾","穠","脓","膿","蕽","襛","譨","農","辳","醲","鬞","𬪩"],jǐn:["侭","儘","卺","厪","巹","槿","漌","瑾","紧","緊","菫","蓳","謹","谨","錦","锦","饉","馑"],"hóu hòu":["侯","矦"],jiǒng:["侰","僒","冏","囧","泂","澃","炯","烱","煚","煛","熲","燛","窘","綗","褧","迥","逈","顈","颎","䌹"],"chěng tǐng":["侱"],"zhèn zhēn":["侲","揕"],zuò:["侳","做","唑","坐","岝","岞","座","祚","糳","胙","葃","葄","蓙","袏","阼"],qīn:["侵","兓","媇","嵚","嶔","欽","衾","誛","钦","顉","駸","骎","鮼"],jú:["侷","啹","婅","局","巈","椈","橘","泦","淗","湨","焗","犑","狊","粷","菊","蘜","趜","跼","蹫","輂","郹","閰","駶","驧","鵙","鵴","鶪","鼰","鼳","䴗"],"shù dōu":["侸"],tǐng:["侹","圢","娗","挺","涏","烶","珽","脡","艇","誔","頲","颋"],shèn:["侺","愼","慎","昚","涁","渗","滲","瘆","瘮","眘","祳","肾","胂","脤","腎","蜃","蜄","鋠"],"tuì tuó":["侻"],nán:["侽","喃","娚","抩","暔","枏","柟","楠","男","畘","莮","萳","遖"],xiāo:["侾","哓","嘵","嚻","囂","婋","宯","宵","庨","彇","揱","枭","枵","梟","櫹","歊","毊","消","潇","瀟","灱","灲","烋","焇","猇","獢","痚","痟","硝","硣","窙","箫","簘","簫","綃","绡","翛","膮","萧","蕭","虈","虓","蟂","蟏","蟰","蠨","踃","逍","銷","销","霄","颵","驍","骁","髇","髐","魈","鴞","鴵","鷍","鸮"],"biàn pián":["便","緶","缏"],tuǐ:["俀","腿","蹆","骽"],xì:["係","匸","卌","呬","墍","屃","屓","屭","忥","怬","恄","椞","潝","潟","澙","熂","犔","磶","禊","細","綌","縘","细","绤","舃","舄","蕮","虩","衋","覤","赩","趇","郤","釳","阋","隙","隟","霼","餼","饩","鬩","黖"],cù:["促","媨","憱","猝","瘄","瘯","簇","縬","脨","蔟","誎","趗","踧","踿","蹙","蹴","蹵","醋","顣","鼀"],é:["俄","囮","娥","峉","峨","峩","涐","珴","皒","睋","磀","莪","訛","誐","譌","讹","迗","鈋","鋨","锇","頟","額","额","魤","鵝","鵞","鹅"],qiú:["俅","叴","唒","囚","崷","巯","巰","扏","梂","殏","毬","求","汓","泅","浗","湭","煪","犰","玌","球","璆","皳","盚","紌","絿","肍","芁","莍","虬","虯","蛷","裘","觓","觩","訄","訅","賕","赇","逎","逑","遒","酋","釚","釻","銶","頄","鮂","鯄","鰽","鼽","𨱇"],xú:["俆","徐","禑"],"guàng kuāng":["俇"],kù:["俈","喾","嚳","库","庫","廤","瘔","絝","绔","袴","裤","褲","酷"],wù:["俉","务","務","勿","卼","坞","塢","奦","婺","寤","屼","岉","嵨","忢","悞","悟","悮","戊","扤","晤","杌","溩","焐","熃","物","痦","矹","窹","粅","蘁","誤","误","鋈","阢","隖","雾","霚","霧","靰","騖","骛","鶩","鹜","鼿","齀"],jùn:["俊","儁","呁","埈","寯","峻","懏","捃","攟","晙","棞","燇","珺","畯","竣","箟","蜠","賐","郡","陖","餕","馂","駿","骏","鵔","鵕","鵘","䐃"],liáng:["俍","墚","梁","椋","樑","粮","粱","糧","良","輬","辌","𫟅"],zǔ:["俎","唨","爼","祖","組","组","詛","诅","鎺","阻","靻"],"qiào xiào":["俏"],yǒng:["俑","勇","勈","咏","埇","塎","嵱","彮","怺","恿","悀","惥","愑","愹","慂","柡","栐","永","泳","湧","甬","蛹","詠","踊","踴","鯒","鲬"],hùn:["俒","倱","圂","尡","慁","掍","溷","焝","睴","觨","諢","诨"],jìng:["俓","傹","境","妌","婙","婧","弪","弳","径","徑","敬","曔","桱","梷","浄","瀞","獍","痉","痙","竞","竟","竫","競","竸","胫","脛","莖","誩","踁","迳","逕","鏡","镜","靖","静","靜","鵛"],sàn:["俕","閐"],pěi:["俖"],sú:["俗"],xī:["俙","僖","兮","凞","卥","厀","吸","唏","唽","嘻","噏","嚱","夕","奚","嬆","嬉","屖","嵠","巇","希","徆","徯","息","悉","悕","惁","惜","昔","晞","晰","晳","曦","析","桸","榽","樨","橀","欷","氥","汐","浠","淅","渓","溪","烯","焁","焈","焟","熄","熈","熙","熹","熺","熻","燨","爔","牺","犀","犠","犧","琋","瘜","皙","睎","瞦","矽","硒","磎","礂","稀","穸","窸","粞","糦","緆","繥","羲","翕","翖","肸","肹","膝","舾","莃","菥","蒠","蜥","螅","蟋","蠵","西","觹","觽","觿","譆","谿","豀","豨","豯","貕","赥","邜","鄎","酅","醯","釸","錫","鏭","鐊","鑴","锡","隵","餏","饎","饻","鯑","鵗","鸂","鼷"],lǐ:["俚","娌","峢","峲","李","欚","浬","澧","理","礼","禮","粴","裏","裡","豊","逦","邐","醴","鋰","锂","鯉","鱧","鱱","鲤","鳢"],bǎo:["保","堢","媬","宝","寚","寳","寶","珤","緥","葆","藵","褓","賲","靌","飹","飽","饱","駂","鳵","鴇","鸨"],"yú shù yù":["俞"],"sì qí":["俟"],"xìn shēn":["信"],xiū:["俢","修","咻","庥","樇","烌","羞","脙","脩","臹","貅","銝","鎀","飍","饈","馐","髤","髹","鮴","鱃","鵂","鸺","䗛"],dì:["俤","偙","僀","埊","墑","墬","娣","帝","怟","旳","梊","焍","玓","甋","眱","睇","碲","祶","禘","第","締","缔","腣","菂","蒂","蔕","蝃","蝭","螮","諦","谛","踶","递","逓","遞","遰","鉪","𤧛","䗖"],chóu:["俦","儔","嬦","惆","愁","懤","栦","燽","畴","疇","皗","稠","筹","籌","絒","綢","绸","菗","詶","讎","讐","踌","躊","酧","酬","醻","雔","雠","雦"],zhì:["俧","偫","儨","制","劕","垁","娡","寘","帙","帜","幟","庢","庤","廌","彘","徏","徝","志","忮","懥","懫","挃","挚","掷","摯","擲","旘","晊","智","栉","桎","梽","櫍","櫛","治","洷","滍","滞","滯","潌","瀄","炙","熫","狾","猘","璏","瓆","痔","痣","礩","祑","秩","秷","稚","稺","穉","窒","紩","緻","置","翐","膣","至","致","芖","蛭","袟","袠","製","覟","觗","觯","觶","誌","豑","豒","貭","質","贄","质","贽","跱","踬","躓","輊","轾","郅","銍","鋕","鑕","铚","锧","陟","隲","雉","駤","騭","騺","驇","骘","鯯","鴙","鷙","鸷","𬃊"],"liǎ liǎng":["俩"],jiǎn:["俭","倹","儉","减","剪","堿","弿","彅","戩","戬","拣","挸","捡","揀","撿","枧","柬","梘","检","検","檢","減","湕","瀽","瑐","睑","瞼","硷","碱","礆","笕","筧","简","簡","絸","繭","翦","茧","藆","蠒","裥","襇","襉","襺","詃","謇","謭","譾","谫","趼","蹇","鐗","鬋","鰎","鹸","鹻","鹼"],huò:["俰","咟","嚯","嚿","奯","彠","惑","或","擭","旤","曤","檴","沎","湱","瀖","獲","癨","眓","矐","祸","禍","穫","窢","耯","臛","艧","获","蒦","藿","蠖","謋","貨","货","鍃","鑊","镬","雘","霍","靃","韄","㸌"],"jù jū":["俱","据","鋸","锯"],xiào:["俲","傚","効","咲","哮","啸","嘋","嘨","嘯","孝","效","斅","斆","歗","涍","熽","笑","詨","誟"],pái:["俳","徘","牌","犤","猅","簰","簲","輫"],biào:["俵","鰾","鳔"],"chù tì":["俶"],fèi:["俷","剕","厞","吠","屝","废","廃","廢","昲","曊","櫠","沸","濷","狒","癈","肺","萉","費","费","鐨","镄","陫","靅","鼣"],fèng:["俸","凤","奉","湗","焨","煈","賵","赗","鳯","鳳","鴌"],ǎn:["俺","唵","埯","揞","罯","銨","铵"],bèi:["俻","倍","偝","偹","備","僃","备","悖","惫","愂","憊","昁","梖","焙","牬","犕","狈","狽","珼","琲","碚","禙","糒","苝","蓓","蛽","褙","貝","贝","軰","輩","辈","邶","郥","鄁","鋇","鐾","钡","鞁","鞴","𬇙"],yù:["俼","儥","喅","喩","喻","域","堉","妪","嫗","寓","峪","嶎","庽","彧","御","愈","慾","戫","昱","棛","棜","棫","櫲","欎","欝","欲","毓","浴","淯","滪","潏","澦","灪","焴","煜","燏","燠","爩","狱","獄","玉","琙","瘉","癒","砡","硢","硲","礇","礖","礜","禦","秗","稢","稶","篽","籞","籲","粖","緎","罭","聿","肀","艈","芋","芌","茟","蒮","蓣","蓹","蕷","蘌","蜟","蜮","袬","裕","誉","諭","譽","谕","豫","軉","輍","逳","遇","遹","郁","醧","鈺","鋊","錥","鐭","钰","閾","阈","雤","霱","預","预","飫","饇","饫","馭","驈","驭","鬰","鬱","鬻","魊","鱊","鳿","鴥","鴧","鴪","鵒","鷸","鸒","鹆","鹬"],xīn:["俽","噺","妡","嬜","廞","心","忄","忻","惞","新","昕","杺","欣","歆","炘","盺","薪","訢","辛","邤","鈊","鋅","鑫","锌","馨","馫","䜣","𫷷"],"hǔ chí":["俿"],jiù:["倃","僦","匓","匛","匶","厩","咎","就","廄","廏","廐","慦","捄","救","旧","柩","柾","桕","欍","殧","疚","臼","舅","舊","鯦","鷲","鹫","麔","齨","㠇"],yáo:["倄","傜","嗂","垚","堯","姚","媱","尧","尭","峣","嶢","嶤","徭","揺","搖","摇","摿","暚","榣","烑","爻","猺","珧","瑤","瑶","磘","窑","窯","窰","肴","蘨","謠","謡","谣","軺","轺","遙","遥","邎","顤","颻","飖","餆","餚","鰩","鱙","鳐"],"cuì zú":["倅"],"liǎng liǎ":["倆"],wǎn:["倇","唍","婉","惋","挽","晚","晥","晩","晼","梚","椀","琬","畹","皖","盌","碗","綩","綰","绾","脘","萖","踠","輓","鋔"],zǒng:["倊","偬","傯","嵸","总","惣","捴","搃","摠","燪","総","緫","縂","總","蓗"],guān:["倌","关","官","棺","瘝","癏","窤","蒄","関","闗","關","鰥","鱞","鳏"],tiǎn:["倎","唺","忝","悿","晪","殄","淟","睓","腆","舔","覥","觍","賟","錪","餂"],mén:["們","扪","捫","璊","菛","虋","鍆","钔","門","閅","门","𫞩"],"dǎo dào":["倒"],"tán tàn":["倓","埮"],"juè jué":["倔"],chuí:["倕","垂","埀","捶","搥","桘","棰","槌","箠","腄","菙","錘","鎚","锤","陲","顀"],xìng:["倖","姓","婞","嬹","幸","性","悻","杏","涬","緈","臖","荇","莕","葕"],péng:["倗","傰","塜","塳","弸","憉","捀","朋","棚","椖","樥","硼","稝","竼","篷","纄","膨","芃","蓬","蘕","蟚","蟛","袶","輣","錋","鑝","韸","韼","騯","髼","鬅","鬔","鵬","鹏"],"tǎng cháng":["倘"],hòu:["候","厚","后","垕","堠","後","洉","茩","豞","逅","郈","鮜","鱟","鲎","鲘"],tì:["倜","剃","嚏","嚔","屉","屜","悌","悐","惕","惖","戻","掦","替","朑","歒","殢","涕","瓋","笹","籊","薙","褅","逖","逷","髰","鬀","鬄"],gàn:["倝","凎","幹","榦","檊","淦","灨","盰","紺","绀","詌","贑","赣","骭","㽏"],"liàng jìng":["倞","靓"],suī:["倠","哸","夊","滖","濉","眭","睢","芕","荽","荾","虽","雖","鞖"],"chàng chāng":["倡"],jié:["倢","偼","傑","刦","刧","刼","劫","劼","卩","卪","婕","媫","孑","岊","崨","嵥","嶻","巀","幯","截","捷","掶","擮","昅","杢","杰","桀","桝","楬","楶","榤","洁","滐","潔","狤","睫","礍","竭","節","羯","莭","蓵","蛣","蜐","蠘","蠞","蠽","衱","袺","訐","詰","誱","讦","踕","迼","鉣","鍻","镼","頡","鮚","鲒","㛃"],"kǒng kōng":["倥"],juàn:["倦","劵","奆","慻","桊","淃","狷","獧","眷","睊","睠","絭","絹","绢","罥","羂","腃","蔨","鄄","餋"],zōng:["倧","堫","宗","嵏","嵕","惾","朡","棕","椶","熧","猣","磫","緃","翪","腙","葼","蝬","豵","踨","踪","蹤","鍐","鑁","騌","騣","骔","鬃","鬉","鬷","鯮","鯼"],ní:["倪","坭","埿","尼","屔","怩","淣","猊","籾","聣","蚭","蜺","觬","貎","跜","輗","郳","鈮","铌","霓","馜","鯢","鲵","麑","齯","𫐐","𫠜"],zhuō:["倬","拙","捉","桌","梲","棁","棳","槕","涿","窧","鐯","䦃"],"wō wēi":["倭"],luǒ:["倮","剆","曪","瘰","癳","臝","蓏","蠃","裸","躶"],sōng:["倯","凇","娀","崧","嵩","庺","憽","松","枀","枩","柗","梥","檧","淞","濍","硹","菘","鬆"],lèng:["倰","堎","愣","睖","踜"],zì:["倳","剚","字","恣","渍","漬","牸","眥","眦","胔","胾","自","茡","荢"],bèn:["倴","坌","捹","撪","渀","笨","逩"],cǎi:["倸","啋","婇","彩","採","棌","毝","睬","綵","跴","踩"],zhài:["债","債","寨","瘵","砦"],yē:["倻","吔","噎","擨","暍","椰","歋","潱","蠮"],shà:["倽","唼","喢","歃","箑","翜","翣","萐","閯","霎"],qīng:["倾","傾","卿","圊","寈","氢","氫","淸","清","蜻","軽","輕","轻","郬","錆","鑋","靑","青","鯖"],yīng:["偀","嘤","噟","嚶","婴","媖","嫈","嬰","孆","孾","愥","撄","攖","朠","桜","樱","櫻","渶","煐","珱","瑛","璎","瓔","甇","甖","碤","礯","緓","纓","绬","缨","罂","罃","罌","膺","英","莺","蘡","蝧","蠳","褮","譻","賏","軈","鑍","锳","霙","韺","鴬","鶑","鶧","鶯","鷪","鷹","鸎","鸚","鹦","鹰","䓨"],"chēng chèn":["偁","爯"],ruǎn:["偄","朊","瑌","瓀","碝","礝","腝","軟","輭","软","阮"],"zhòng tóng":["偅"],chǔn:["偆","惷","睶","萶","蠢","賰"],"jiǎ jià":["假"],"jì jié":["偈"],"bǐng bìng":["偋"],ruò:["偌","叒","嵶","弱","楉","焫","爇","箬","篛","蒻","鄀","鰙","鰯","鶸"],tí:["偍","厗","啼","嗁","崹","漽","瑅","睼","禵","稊","緹","缇","罤","蕛","褆","謕","趧","蹄","蹏","醍","鍗","題","题","騠","鮷","鯷","鳀","鵜","鷤","鹈","𫘨"],wēi:["偎","危","喴","威","媙","嶶","巍","微","愄","揋","揻","椳","楲","溦","烓","煨","燰","癓","縅","葨","葳","薇","蜲","蝛","覣","詴","逶","隇","隈","霺","鰃","鰄","鳂"],piān:["偏","囨","媥","楄","犏","篇","翩","鍂"],yàn:["偐","厌","厭","唁","喭","嚈","嚥","堰","妟","姲","嬊","嬿","宴","彥","彦","敥","晏","暥","曕","曣","滟","灎","灔","灧","灩","焔","焰","焱","熖","燄","牪","猒","砚","硯","艳","艶","艷","覎","觃","觾","諺","讌","讞","谚","谳","豓","豔","贋","贗","赝","軅","酀","酽","醼","釅","雁","餍","饜","騐","験","騴","驗","驠","验","鬳","鳫","鴈","鴳","鷃","鷰","齞"],"tǎng dàng":["偒"],è:["偔","匎","卾","厄","呝","咢","噩","垩","堊","堮","岋","崿","廅","悪","愕","戹","扼","搤","搹","擜","櫮","歞","歺","湂","琧","砈","砐","硆","腭","苊","萼","蕚","蚅","蝁","覨","諤","讍","谔","豟","軛","軶","轭","遌","遏","遻","鄂","鈪","鍔","鑩","锷","阨","阸","頞","顎","颚","餓","餩","饿","鰐","鰪","鱷","鳄","鶚","鹗","齃","齶","𫫇","𥔲"],xié:["偕","勰","协","協","嗋","垥","奊","恊","愶","拹","携","撷","擕","擷","攜","斜","旪","熁","燲","綊","緳","縀","缬","翓","胁","脅","脇","脋","膎","蝢","衺","襭","諧","讗","谐","鞋","鞵","龤","㙦"],chě:["偖","扯","撦"],shěng:["偗","渻","眚"],chā:["偛","嗏","扠","挿","插","揷","疀","臿","艖","銟","鍤","锸","餷"],huáng:["偟","凰","喤","堭","墴","媓","崲","徨","惶","楻","湟","煌","獚","瑝","璜","癀","皇","磺","穔","篁","簧","艎","葟","蝗","蟥","諻","趪","遑","鍠","鐄","锽","隍","韹","餭","騜","鰉","鱑","鳇","鷬","黃","黄","𨱑"],yǎo:["偠","咬","婹","宎","岆","杳","柼","榚","溔","狕","窅","窈","舀","苭","闄","騕","鷕","齩"],"chǒu qiào":["偢"],yóu:["偤","尤","庮","怣","沋","油","浟","游","犹","猶","猷","由","疣","秞","肬","莜","莸","蕕","蚰","蝣","訧","輏","輶","逰","遊","邮","郵","鈾","铀","駀","魷","鮋","鱿","鲉","𬨎"],xū:["偦","墟","媭","嬃","楈","欨","歔","燸","疞","盱","綇","縃","繻","胥","蕦","虗","虚","虛","蝑","裇","訏","許","諝","譃","谞","鑐","需","須","须","顼","驉","鬚","魆","魖","𬣙","𦈡"],zhā:["偧","哳","抯","挓","揸","摣","樝","渣","皶","觰","譇","齄","齇"],cī:["偨","疵","蠀","趀","骴","髊","齹"],bī:["偪","屄","楅","毴","豍","逼","鰏","鲾","鵖"],xún:["偱","噚","寻","尋","峋","巡","廵","循","恂","揗","攳","旬","杊","栒","桪","樳","洵","浔","潯","燅","燖","珣","璕","畃","紃","荀","蟳","詢","询","鄩","鱏","鱘","鲟","𬘓","𬩽","𬍤","𬊈"],"cāi sī":["偲"],duān:["偳","媏","端","褍","鍴"],ǒu:["偶","吘","嘔","耦","腢","蕅","藕","𬉼","𠙶"],tōu:["偷","偸","鍮"],"zán zá zǎ":["偺"],"lǚ lóu":["偻","僂"],fèn:["偾","僨","奋","奮","弅","忿","愤","憤","瀵","瞓","秎","粪","糞","膹","鱝","鲼"],"kuǐ guī":["傀"],sǒu:["傁","叜","叟","嗾","櫢","瞍","薮","藪"],"zhì sī tí":["傂"],sù:["傃","僳","嗉","塐","塑","夙","嫊","愫","憟","榡","樎","樕","殐","泝","涑","溯","溸","潚","潥","玊","珟","璛","簌","粛","粟","素","縤","肃","肅","膆","蔌","藗","觫","訴","謖","诉","谡","趚","蹜","速","遡","遬","鋉","餗","驌","骕","鱐","鷫","鹔","𫗧"],xiā:["傄","煆","瞎","虲","谺","颬","鰕"],"yuàn yuán":["傆","媛"],rǒng:["傇","冗","宂","氄","軵"],nù:["傉","怒"],yùn:["傊","孕","恽","惲","愠","慍","枟","腪","蕴","薀","藴","蘊","褞","貟","运","運","郓","鄆","酝","醖","醞","韗","韞","韵","韻","餫"],"gòu jiǎng":["傋"],mà:["傌","嘜","榪","睰","祃","禡","罵","閁","駡","骂","鬕"],bàng:["傍","塝","棒","玤","稖","艕","蒡","蜯","謗","谤","鎊","镑"],diān:["傎","厧","嵮","巅","巓","巔","掂","攧","敁","槇","滇","癫","癲","蹎","顚","顛","颠","齻"],táng:["傏","唐","啺","坣","堂","塘","搪","棠","榶","溏","漟","煻","瑭","磄","禟","篖","糃","糖","糛","膅","膛","蓎","螗","螳","赯","踼","鄌","醣","鎕","隚","餹","饄","鶶","䣘"],hào:["傐","哠","恏","昊","昦","晧","暠","暤","暭","曍","浩","淏","澔","灏","灝","皓","皜","皞","皡","皥","耗","聕","薃","號","鄗","顥","颢","鰝"],"xī xì":["傒"],shān:["傓","删","刪","剼","圸","山","挻","搧","柵","檆","潸","澘","煽","狦","珊","笘","縿","羴","羶","脠","舢","芟","衫","跚","軕","邖","閊","鯅"],"qiàn jiān":["傔"],"què jué":["傕","埆"],"cāng chen":["傖"],róng:["傛","媶","嫆","嬫","容","峵","嵘","嶸","戎","搈","曧","栄","榕","榮","榵","毧","溶","瀜","烿","熔","狨","瑢","穁","絨","绒","羢","肜","茙","茸","荣","蓉","蝾","融","螎","蠑","褣","鎔","镕","駥"],"tà tàn":["傝"],suō:["傞","唆","嗍","嗦","娑","摍","桫","梭","睃","簑","簔","羧","莏","蓑","趖","鮻"],dǎi:["傣","歹"],zài:["傤","儎","再","在","扗","洅","載","酨"],gǔ:["傦","古","啒","尳","愲","榖","榾","汩","淈","濲","瀔","牯","皷","皼","盬","瞽","穀","罟","羖","股","脵","臌","薣","蛊","蠱","詁","诂","轂","逧","鈷","钴","餶","馉","鼓","鼔","𦙶"],bīn:["傧","宾","彬","斌","椕","滨","濒","濱","濵","瀕","繽","缤","虨","豩","豳","賓","賔","邠","鑌","镔","霦","顮"],chǔ:["储","儲","杵","椘","楚","楮","檚","濋","璴","础","礎","禇","處","齭","齼","𬺓"],nuó:["傩","儺","挪","梛","橠"],"cān càn":["傪"],lěi:["傫","儡","厽","垒","塁","壘","壨","櫐","灅","癗","矋","磊","礨","耒","蕌","蕾","藟","蘽","蠝","誄","讄","诔","鑸","鸓"],cuī:["催","凗","墔","崔","嵟","慛","摧","榱","獕","磪","鏙"],yōng:["傭","嗈","墉","壅","嫞","庸","廱","慵","拥","擁","滽","灉","牅","痈","癕","癰","臃","邕","郺","鄘","鏞","镛","雍","雝","饔","鱅","鳙","鷛"],"zāo cáo":["傮"],sǒng:["傱","嵷","怂","悚","愯","慫","竦","耸","聳","駷","㧐"],ào:["傲","坳","垇","墺","奡","嫯","岙","岰","嶴","懊","擙","澳","鏊","驁","骜"],"qī còu":["傶"],chuǎng:["傸","磢","闖","闯"],shǎ:["傻","儍"],hàn:["傼","垾","悍","憾","扞","捍","撖","撼","旱","晘","暵","汉","涆","漢","瀚","焊","猂","皔","睅","翰","莟","菡","蛿","蜭","螒","譀","輚","釬","銲","鋎","雗","頷","顄","颔","駻","鶾"],zhāng:["傽","嫜","张","張","彰","慞","暲","樟","漳","獐","璋","章","粻","蔁","蟑","遧","鄣","鏱","餦","騿","鱆","麞"],"yān yàn":["傿","墕","嬮"],"piào biāo":["僄","骠"],liàn:["僆","堜","媡","恋","戀","楝","殓","殮","湅","潋","澰","瀲","炼","煉","瑓","練","纞","练","萰","錬","鍊","鏈","链","鰊","𬶠"],màn:["㵘","僈","墁","幔","慢","曼","漫","澷","熳","獌","縵","缦","蔄","蘰","鄤","鏝","镘","𬜬"],"tàn tǎn":["僋"],yíng:["僌","営","塋","嬴","攍","楹","櫿","溁","溋","滢","潆","濙","濚","濴","瀅","瀛","瀠","瀯","灐","灜","熒","營","瑩","盁","盈","禜","籝","籯","縈","茔","荧","莹","萤","营","萦","萾","蓥","藀","蛍","蝇","蝿","螢","蠅","謍","贏","赢","迎","鎣"],dòng:["働","冻","凍","动","動","姛","戙","挏","栋","棟","湩","硐","胨","胴","腖","迵","霘","駧"],zhuàn:["僎","啭","囀","堟","撰","灷","瑑","篆","腞","蒃","襈","譔","饌","馔"],xiàng:["像","勨","向","嚮","姠","嶑","曏","橡","珦","缿","蟓","衖","襐","象","鐌","項","项","鱌"],shàn:["僐","善","墠","墡","嬗","擅","敾","椫","樿","歚","汕","灗","疝","磰","繕","缮","膳","蟮","蟺","訕","謆","譱","讪","贍","赡","赸","鄯","鐥","饍","騸","骟","鱓","鱔","鳝","𫮃"],"tuí tuǐ":["僓"],zǔn:["僔","噂","撙","譐"],pú:["僕","匍","圤","墣","濮","獛","璞","瞨","穙","莆","菐","菩","葡","蒱","蒲","贌","酺","鏷","镤"],láo:["僗","劳","労","勞","哰","崂","嶗","憥","朥","浶","牢","痨","癆","窂","簩","醪","鐒","铹","顟","髝","𫭼"],chǎng:["僘","厰","廠","敞","昶","氅","鋹","𬬮"],guāng:["僙","光","咣","垙","姯","洸","灮","炗","炚","炛","烡","珖","胱","茪","輄","銧","黆","𨐈"],liáo:["僚","嘹","嫽","寥","寮","尞","屪","嵺","嶚","嶛","廫","憀","敹","暸","橑","獠","璙","疗","療","竂","簝","繚","缭","聊","膋","膫","藔","蟟","豂","賿","蹘","辽","遼","飉","髎","鷯","鹩"],dèng:["僜","凳","墱","嶝","櫈","瞪","磴","覴","邓","鄧","隥"],"chán zhàn zhuàn":["僝"],bō:["僠","嶓","拨","撥","播","波","溊","玻","癶","盋","砵","碆","礡","缽","菠","袰","蹳","鉢","钵","餑","饽","驋","鱍","𬭛"],huì:["僡","匯","卉","喙","嘒","嚖","圚","嬒","寭","屶","屷","彗","彙","彚","徻","恚","恵","惠","慧","憓","懳","晦","暳","槥","橞","檅","櫘","汇","泋","滙","潓","烩","燴","獩","璤","瞺","硊","秽","穢","篲","絵","繪","绘","翙","翽","荟","蔧","蕙","薈","薉","蟪","詯","誨","諱","譓","譿","讳","诲","賄","贿","鐬","闠","阓","靧","頮","顪","颒","餯","𬤝","𬭬"],chuǎn:["僢","喘","舛","荈","踳"],"tiě jiàn":["僣"],sēng:["僧","鬙"],xiàn:["僩","僴","哯","垷","塪","姭","娊","宪","岘","峴","憲","撊","晛","橌","橺","涀","瀗","献","獻","现","現","県","睍","粯","糮","絤","綫","線","线","缐","羡","羨","腺","臔","臽","苋","莧","誢","豏","鋧","錎","限","陥","陷","霰","餡","馅","麲","鼸","𬀪","𪾢"],"yù jú":["僪"],"è wū":["僫"],"tóng zhuàng":["僮"],lǐn:["僯","凛","凜","廩","廪","懍","懔","撛","檁","檩","澟","癛","癝"],gù:["僱","凅","固","堌","崓","崮","故","梏","棝","牿","痼","祻","錮","锢","雇","顧","顾","鯝","鲴"],jiāng:["僵","壃","姜","橿","殭","江","畕","疅","礓","繮","缰","翞","茳","葁","薑","螀","螿","豇","韁","鱂","鳉"],mǐn:["僶","冺","刡","勄","悯","惽","愍","慜","憫","抿","敃","敏","敯","泯","潣","皿","笢","笽","簢","蠠","閔","閩","闵","闽","鰵","鳘","黽"],jìn:["僸","凚","噤","嚍","墐","壗","妗","嬧","搢","晉","晋","枃","殣","浕","浸","溍","濅","濜","烬","煡","燼","琎","瑨","璶","盡","祲","縉","缙","荩","藎","覲","觐","賮","贐","赆","近","进","進","靳","齽"],"jià jie":["價"],qiào:["僺","峭","帩","撬","殻","窍","竅","誚","诮","躈","陗","鞩","韒","髚"],pì:["僻","媲","嫓","屁","澼","甓","疈","譬","闢","鷿","鸊","䴙"],sài:["僿","簺","賽","赛"],"chán tǎn shàn":["儃"],"dāng dàng":["儅","当","闣"],xuān:["儇","喧","塇","媗","宣","愃","愋","揎","昍","暄","煊","煖","瑄","睻","矎","禤","箮","翧","翾","萱","萲","蓒","蕿","藼","蘐","蝖","蠉","諠","諼","譞","谖","軒","轩","鍹","駽","鰚","𫓶","𫍽"],"dān dàn":["儋","擔","瘅"],càn:["儏","澯","灿","燦","璨","粲","薒","謲"],"bīn bìn":["儐"],"án àn":["儑"],tái:["儓","坮","嬯","抬","擡","檯","炱","炲","籉","臺","薹","跆","邰","颱","鮐","鲐"],lán:["儖","兰","囒","婪","岚","嵐","幱","拦","攔","斓","斕","栏","欄","欗","澜","瀾","灆","灡","燣","燷","璼","篮","籃","籣","繿","葻","蓝","藍","蘫","蘭","褴","襕","襤","襴","襽","譋","讕","谰","躝","鑭","镧","闌","阑","韊","𬒗"],"nǐ yì ài yí":["儗"],méng:["儚","幪","曚","朦","橗","檬","氋","溕","濛","甍","甿","盟","礞","艨","莔","萌","蕄","虻","蝱","鄳","鄸","霿","靀","顭","饛","鯍","鸏","鹲","𫑡","㠓"],níng:["儜","凝","咛","嚀","嬣","柠","橣","檸","狞","獰","聍","聹","薴","鑏","鬡","鸋"],qióng:["儝","卭","宆","惸","憌","桏","橩","焪","焭","煢","熍","琼","瓊","睘","穷","穹","窮","竆","笻","筇","舼","茕","藑","藭","蛩","蛬","赹","跫","邛","銎","䓖"],liè:["儠","冽","列","劣","劽","埒","埓","姴","峛","巤","挒","捩","栵","洌","浖","烈","烮","煭","犣","猎","猟","獵","聗","脟","茢","蛚","趔","躐","迾","颲","鬛","鬣","鮤","鱲","鴷","䴕","𫚭"],kuǎng:["儣","夼","懭"],bào:["儤","勽","報","忁","报","抱","曓","爆","犦","菢","虣","蚫","豹","鉋","鑤","铇","骲","髱","鮑","鲍"],biāo:["儦","墂","幖","彪","标","標","滮","瀌","熛","爂","猋","瘭","磦","膘","臕","謤","贆","鏢","鑣","镖","镳","颮","颷","飆","飇","飈","飊","飑","飙","飚","驫","骉","髟"],zǎn:["儧","儹","噆","攅","昝","趱","趲"],háo:["儫","嗥","嘷","噑","嚎","壕","椃","毜","毫","濠","獆","獔","竓","籇","蚝","蠔","譹","豪"],qìng:["儬","凊","庆","慶","櫦","濪","碃","磬","罄","靘"],chèn:["儭","嚫","榇","櫬","疢","衬","襯","讖","谶","趁","趂","齓","齔","龀"],téng:["儯","幐","滕","漛","疼","籐","籘","縢","腾","藤","虅","螣","誊","謄","邆","駦","騰","驣","鰧","䲢"],"lǒng lóng lòng":["儱"],"chán chàn":["儳"],"ráng xiāng":["儴","勷"],"huì xié":["儶"],luó:["儸","攞","椤","欏","猡","玀","箩","籮","罗","羅","脶","腡","萝","蘿","螺","覼","逻","邏","鏍","鑼","锣","镙","饠","騾","驘","骡","鸁"],léi:["儽","嫘","檑","欙","瓃","畾","縲","纍","纝","缧","罍","羸","蔂","蘲","虆","轠","鐳","鑘","镭","雷","靁","鱩","鼺"],"nàng nāng":["儾"],"wù wū":["兀"],yǔn:["允","喗","夽","抎","殒","殞","狁","磒","荺","賱","鈗","阭","陨","隕","霣","馻","齫","齳"],zān:["兂","橵","簪","簮","糌","鐕","鐟","鵤"],yuán:["元","円","原","厡","厵","园","圆","圎","園","圓","垣","塬","媴","嫄","援","榞","榬","橼","櫞","沅","湲","源","溒","爰","猨","猿","笎","緣","縁","缘","羱","茒","薗","蝝","蝯","螈","袁","褤","謜","轅","辕","邍","邧","酛","鈨","鎱","騵","魭","鶢","鶰","黿","鼋","𫘪"],xiōng:["兄","兇","凶","匂","匈","哅","忷","恟","汹","洶","胷","胸","芎","訩","詾","讻"],chōng:["充","嘃","忡","憃","憧","摏","沖","浺","珫","罿","翀","舂","艟","茺","衝","蹖","㳘"],zhào:["兆","垗","旐","曌","枛","櫂","照","燳","狣","瞾","笊","罀","罩","羄","肁","肇","肈","詔","诏","赵","趙","鮡","𬶐"],"duì ruì yuè":["兊","兌","兑"],kè:["克","刻","勀","勊","堁","娔","客","恪","愙","氪","溘","碦","緙","缂","艐","衉","課","课","錁","锞","騍","骒"],tù:["兎","兔","堍","迌","鵵"],dǎng:["党","攩","欓","譡","讜","谠","黨","𣗋"],dōu:["兜","兠","唗","橷","篼","蔸"],huǎng:["兤","奛","幌","怳","恍","晄","炾","熀","縨","詤","謊","谎"],rù:["入","嗕","媷","扖","杁","洳","溽","縟","缛","蓐","褥","鳰"],nèi:["內","氝","氞","錗"],"yú shù":["兪"],"liù lù":["六"],han:["兯","爳"],tiān:["兲","天","婖","添","酟","靔","靝","黇"],"xīng xìng":["兴"],diǎn:["典","嚸","奌","婰","敟","椣","点","碘","蒧","蕇","踮","點"],"zī cí":["兹"],jiān:["兼","冿","囏","坚","堅","奸","姦","姧","尖","幵","惤","戋","戔","搛","椾","樫","櫼","歼","殱","殲","湔","瀐","瀸","煎","熞","熸","牋","瑊","睷","礛","礷","笺","箋","緘","縑","缄","缣","肩","艰","艱","菅","菺","葌","蒹","蔪","蕑","蕳","虃","譼","豜","鑯","雃","鞯","韀","韉","餰","馢","鰔","鰜","鰹","鲣","鳒","鵑","鵳","鶼","鹣","麉"],shòu:["兽","受","售","壽","夀","寿","授","狩","獣","獸","痩","瘦","綬","绶","膄"],jì:["兾","冀","剂","剤","劑","勣","坖","垍","塈","妓","季","寂","寄","廭","彑","徛","忌","悸","惎","懻","技","旡","既","旣","暨","暩","曁","梞","檕","檵","洎","漃","漈","瀱","痵","癠","禝","稩","稷","穄","穊","穧","紀","継","績","繋","繼","继","绩","罽","臮","芰","茍","茤","葪","蓟","蔇","薊","蘎","蘮","蘻","裚","襀","覬","觊","計","記","誋","计","记","跡","跽","蹟","迹","际","際","霁","霽","驥","骥","髻","鬾","魝","魥","鯚","鯽","鰶","鰿","鱀","鱭","鲚","鲫","鵋","鷑","齌","𪟝","𬶨","𬶭"],jiōng:["冂","冋","坰","埛","扃","蘏","蘔","駉","駫","𬳶"],mào:["冃","冐","媢","帽","愗","懋","暓","柕","楙","毷","瑁","皃","眊","瞀","耄","茂","萺","蝐","袤","覒","貌","貿","贸","鄚","鄮"],rǎn:["冄","冉","姌","媣","染","珃","苒","蒅","䎃"],"nèi nà":["内"],gāng:["冈","冮","刚","剛","堈","堽","岡","掆","摃","棡","牨","犅","疘","綱","纲","缸","罁","罡","肛","釭","鎠","㭎"],cè:["冊","册","厕","厠","夨","廁","恻","惻","憡","敇","测","測","笧","策","筞","筴","箣","荝","萗","萴","蓛"],guǎ:["冎","剐","剮","叧","寡"],"mào mò":["冒"],gòu:["冓","啂","坸","垢","够","夠","媾","彀","搆","撀","构","構","煹","覯","觏","訽","詬","诟","購","购","遘","雊"],xǔ:["冔","喣","暊","栩","珝","盨","糈","詡","諿","诩","鄦","醑"],mì:["冖","冪","嘧","塓","宻","密","峚","幂","幎","幦","怽","榓","樒","櫁","汨","淧","滵","漞","濗","熐","羃","蔤","蜜","覓","覔","覛","觅","謐","谧","鼏"],"yóu yín":["冘"],xiě:["写","冩","藛"],jūn:["军","君","均","桾","汮","皲","皸","皹","碅","莙","蚐","袀","覠","軍","鈞","銁","銞","鍕","钧","頵","鮶","鲪","麏"],mí:["冞","擟","瀰","爢","猕","獼","祢","禰","縻","蒾","藌","蘪","蘼","袮","詸","謎","迷","醚","醾","醿","釄","镾","鸍","麊","麋","麛"],"guān guàn":["冠","覌","観","觀","观"],měng:["冡","勐","懵","掹","猛","獴","艋","蜢","蠓","錳","锰","鯭","鼆"],zhǒng:["冢","塚","尰","歱","煄","瘇","肿","腫","踵"],zuì:["冣","嶵","晬","最","栬","槜","檇","檌","祽","絊","罪","蕞","辠","酔","酻","醉","錊"],yuān:["冤","剈","囦","嬽","寃","棩","淵","渁","渆","渊","渕","灁","眢","肙","葾","蒬","蜎","蜵","駌","鳶","鴛","鵷","鸢","鸳","鹓","鼘","鼝"],míng:["冥","名","明","暝","朙","榠","洺","溟","猽","眀","眳","瞑","茗","螟","覭","詺","鄍","銘","铭","鳴","鸣"],kòu:["冦","叩","宼","寇","扣","敂","滱","窛","筘","簆","蔲","蔻","釦","鷇"],tài:["冭","太","夳","忲","态","態","汰","汱","泰","溙","肽","舦","酞","鈦","钛"],"féng píng":["冯","馮"],"chōng chòng":["冲"],kuàng:["况","圹","壙","岲","懬","旷","昿","曠","框","況","爌","眖","眶","矿","砿","礦","穬","絋","絖","纊","纩","貺","贶","軦","邝","鄺","鉱","鋛","鑛","黋"],lěng:["冷"],pàn:["冸","判","叛","沜","泮","溿","炍","牉","畔","盼","聁","袢","襻","詊","鋬","鑻","頖","鵥"],fā:["冹","彂","沷","発","發"],xiǎn:["冼","尟","尠","崄","嶮","幰","攇","显","櫶","毨","灦","烍","燹","狝","猃","獫","獮","玁","禒","筅","箲","藓","蘚","蚬","蜆","譣","赻","跣","鍌","险","険","險","韅","顕","顯","㬎"],qià:["冾","圶","帢","恰","殎","洽","硈","胢","髂"],"jìng chēng":["净","凈","淨"],sōu:["凁","嗖","廀","廋","捜","搜","摉","溲","獀","艘","蒐","螋","鄋","醙","鎪","锼","颼","飕","餿","馊","騪"],měi:["凂","媄","媺","嬍","嵄","挴","毎","每","浼","渼","燘","美","躾","鎂","镁","黣"],tú:["凃","図","图","圖","圗","塗","屠","峹","嵞","庩","廜","徒","悇","揬","涂","瘏","筡","腯","荼","蒤","跿","途","酴","鈯","鍎","馟","駼","鵌","鶟","鷋","鷵","𬳿"],zhǔn:["准","凖","埻","準","𬘯"],"liáng liàng":["凉","涼","量"],diāo:["凋","刁","刟","叼","奝","弴","彫","汈","琱","碉","簓","虭","蛁","貂","錭","雕","鮉","鯛","鲷","鵰","鼦"],còu:["凑","湊","腠","輳","辏"],ái:["凒","啀","嘊","捱","溰","癌","皑","皚"],duó:["凙","剫","夺","奪","痥","踱","鈬","鐸","铎"],dú:["凟","匵","嬻","椟","櫝","殰","涜","牍","牘","犊","犢","独","獨","瓄","皾","裻","読","讀","讟","豄","贕","錖","鑟","韇","韣","韥","騳","髑","黩","黷"],"jǐ jī":["几"],fán:["凡","凢","凣","匥","墦","杋","柉","棥","樊","瀿","烦","煩","燔","璠","矾","礬","笲","籵","緐","羳","舤","舧","薠","蘩","蠜","襎","蹯","釩","鐇","鐢","钒","鷭","𫔍","𬸪"],jū:["凥","匊","娵","婮","居","崌","抅","挶","掬","梮","椐","檋","毩","毱","泃","涺","狙","琚","疽","砠","罝","腒","艍","蜛","裾","諊","跔","踘","躹","陱","雎","鞠","鞫","駒","驹","鮈","鴡","鶋","𬶋"],"chù chǔ":["処","处"],zhǐ:["凪","劧","咫","址","坧","帋","恉","扺","指","旨","枳","止","汦","沚","洔","淽","疻","砋","祉","秖","紙","纸","芷","藢","衹","襧","訨","趾","軹","轵","酯","阯","黹"],píng:["凭","凴","呯","坪","塀","岼","帡","帲","幈","平","慿","憑","枰","洴","焩","玶","瓶","甁","竮","箳","簈","缾","荓","萍","蓱","蚲","蛢","評","评","軿","輧","郱","鮃","鲆"],kǎi:["凯","凱","剀","剴","垲","塏","恺","愷","慨","暟","蒈","輆","鍇","鎧","铠","锴","闓","闿","颽"],gān:["凲","坩","尲","尴","尶","尷","柑","泔","漧","玕","甘","疳","矸","竿","筸","粓","肝","苷","迀","酐","魐"],"kǎn qiǎn":["凵"],tū:["凸","堗","嶀","捸","涋","湥","痜","禿","秃","突","葖","鋵","鵚","鼵","㻬"],"āo wā":["凹"],chū:["出","初","岀","摴","榋","樗","貙","齣","䢺","䝙"],dàng:["凼","圵","垱","壋","档","檔","氹","璗","瓽","盪","瞊","砀","碭","礑","簜","荡","菪","蕩","蘯","趤","逿","雼","𬍡"],hán:["函","凾","含","圅","娢","寒","崡","晗","梒","浛","涵","澏","焓","琀","甝","筨","蜬","邗","邯","鋡","韓","韩"],záo:["凿","鑿"],dāo:["刀","刂","忉","氘","舠","螩","釖","魛","鱽"],chuāng:["刅","摐","牎","牕","疮","瘡","窓","窗","窻"],"fēn fèn":["分"],"qiè qiē":["切"],kān:["刊","勘","堪","戡","栞","龕","龛"],cǔn:["刌","忖"],chú:["刍","厨","幮","廚","橱","櫉","櫥","滁","犓","篨","耡","芻","蒢","蒭","蜍","蟵","豠","趎","蹰","躇","躕","鉏","鋤","锄","除","雏","雛","鶵"],"huà huá":["划"],lí:["刕","剓","剺","劙","厘","喱","嚟","囄","嫠","孷","廲","悡","梨","梸","棃","漓","灕","犁","犂","狸","琍","璃","瓈","盠","睝","离","穲","竰","筣","篱","籬","糎","縭","缡","罹","艃","荲","菞","蓠","蔾","藜","蘺","蜊","蟍","蟸","蠫","褵","謧","貍","醨","鋫","錅","鏫","鑗","離","驪","骊","鯏","鯬","鱺","鲡","鵹","鸝","鹂","黎","黧","㰀"],yuè:["刖","嬳","岄","岳","嶽","恱","悅","悦","戉","抈","捳","月","樾","瀹","爚","玥","礿","禴","篗","籆","籥","籰","粤","粵","蘥","蚎","蚏","説","越","跀","跃","躍","軏","鈅","鉞","鑰","钺","閱","閲","阅","鸑","鸙","黦","龠","𫐄","𬸚"],liú:["刘","劉","嚠","媹","嵧","旈","旒","榴","橊","流","浏","瀏","琉","瑠","瑬","璢","畄","留","畱","疁","瘤","癅","硫","蒥","蓅","蟉","裗","鎏","鏐","鐂","镠","飀","飅","飗","駠","駵","騮","驑","骝","鰡","鶹","鹠","麍"],zé:["则","則","啧","嘖","嫧","帻","幘","択","樍","歵","沢","泎","溭","皟","瞔","矠","礋","箦","簀","舴","蔶","蠌","襗","謮","賾","赜","迮","鸅","齚","齰"],"chuàng chuāng":["创","創"],qù:["刞","厺","去","閴","闃","阒","麮","鼁"],"bié biè":["別","别"],"páo bào":["刨"],"chǎn chàn":["刬","剗","幝"],guā:["刮","劀","桰","歄","煱","瓜","胍","踻","颪","颳","騧","鴰","鸹"],gēng:["刯","庚","椩","浭","焿","畊","絚","羮","羹","耕","菮","賡","赓","鶊","鹒"],dào:["到","噵","悼","椡","檤","燾","瓙","盗","盜","稲","稻","纛","翿","艔","菿","衜","衟","軇","道"],chuàng:["刱","剏","剙","怆","愴"],kū:["刳","哭","圐","堀","枯","桍","矻","窟","跍","郀","骷","鮬"],duò:["刴","剁","墯","尮","惰","憜","挅","桗","舵","跥","跺","陊","陏","飿","饳","鵽"],"shuā shuà":["刷"],"quàn xuàn":["券"],"chà shā":["刹","剎"],"cì cī":["刺"],guì:["刽","刿","劊","劌","撌","攰","昋","桂","椢","槶","樻","櫃","猤","禬","筀","蓕","襘","貴","贵","跪","鐀","鑎","鞼","鱖","鱥"],lóu:["剅","娄","婁","廔","楼","樓","溇","漊","熡","耧","耬","艛","蒌","蔞","蝼","螻","謱","軁","遱","鞻","髅","髏","𪣻"],cuò:["剉","剒","厝","夎","挫","措","棤","莝","莡","蓌","逪","銼","錯","锉","错"],"xiāo xuē":["削"],"kēi kè":["剋","尅"],"là lá":["剌"],tī:["剔","梯","踢","銻","锑","鷈","鷉","䏲","䴘"],pōu:["剖"],wān:["剜","塆","壪","帵","弯","彎","湾","潫","灣","睕","蜿","豌"],"bāo bō":["剝","剥"],duō:["剟","咄","哆","嚉","多","夛","掇","毲","畓","裰","㙍"],qíng:["剠","勍","夝","情","擎","晴","暒","棾","樈","檠","氰","甠","硘","葝","黥"],"yǎn shàn":["剡"],"dū zhuó":["剢"],yān:["剦","嫣","崦","嶖","恹","懕","懨","樮","淊","淹","漹","烟","焉","焑","煙","珚","篶","胭","臙","菸","鄢","醃","閹","阉","黫"],huō:["剨","劐","吙","攉","秴","耠","锪","騞","𬴃"],shèng:["剩","剰","勝","圣","墭","嵊","晠","榺","橳","琞","聖","蕂","貹","賸"],"duān zhì":["剬"],wū:["剭","呜","嗚","圬","屋","巫","弙","杇","歍","汙","汚","污","洿","烏","窏","箼","螐","誈","誣","诬","邬","鄔","鎢","钨","鰞","鴮"],gē:["割","哥","圪","彁","戈","戓","戨","歌","滒","犵","肐","袼","謌","鎶","鴚","鴿","鸽"],"dá zhá":["剳"],chuán:["剶","暷","椽","篅","舡","舩","船","輲","遄"],"tuán zhuān":["剸","漙","篿"],"lù jiū":["剹"],pēng:["剻","匉","嘭","怦","恲","抨","梈","烹","砰","軯","駍"],piāo:["剽","勡","慓","旚","犥","翲","螵","飃","飄","飘","魒"],kōu:["剾","彄","抠","摳","眍","瞘","芤","𫸩"],"jiǎo chāo":["剿","劋","勦","摷"],qiāo:["劁","勪","墝","幧","敲","橇","毃","燆","硗","磽","繑","趬","跷","踍","蹺","蹻","郻","鄡","鄥","鍫","鍬","鐰","锹","頝"],"huá huà":["劃"],"zhā zhá":["劄"],"pī pǐ":["劈","悂"],tāng:["劏","嘡","羰","薚","蝪","蹚","鞺","鼞"],chán:["劖","嚵","壥","婵","嬋","巉","廛","棎","毚","湹","潹","潺","澶","瀍","瀺","煘","獑","磛","緾","纏","纒","缠","艬","蝉","蟐","蟬","蟾","誗","讒","谗","躔","鄽","酁","鋋","鑱","镵","饞","馋"],zuān:["劗","躜","躦","鉆","鑚"],mó:["劘","嫫","嬤","嬷","尛","摹","擵","橅","糢","膜","藦","蘑","謨","謩","谟","饃","饝","馍","髍","魔","魹"],zhú:["劚","斸","曯","欘","灟","炢","烛","燭","爥","瘃","竹","笁","笜","舳","茿","蓫","蠋","蠾","躅","逐","逫","钃","鱁"],quàn:["劝","勧","勸","牶","韏"],"jìn jìng":["劤","劲","勁"],kēng:["劥","坑","牼","硁","硜","誙","銵","鍞","鏗","铿","阬"],"xié liè":["劦"],"zhù chú":["助"],nǔ:["努","弩","砮","胬"],shào:["劭","卲","哨","潲","紹","綤","绍","袑","邵"],miǎo:["劰","杪","淼","渺","眇","秒","篎","緲","缈","藐","邈"],kǒu:["劶","口"],wā:["劸","娲","媧","屲","挖","攨","洼","溛","漥","瓾","畖","穵","窊","窪","蛙","韈","鼃"],kuāng:["劻","匡","匩","哐","恇","洭","筐","筺","誆","诓","軭","邼"],hé:["劾","咊","啝","姀","峆","敆","曷","柇","楁","毼","河","涸","渮","澕","熆","皬","盇","盉","盍","盒","禾","篕","籺","粭","翮","菏","萂","覈","訸","詥","郃","釛","鉌","鑉","閡","闔","阂","阖","鞨","頜","餄","饸","魺","鹖","麧","齕","龁","龢","𬌗"],gào:["勂","吿","告","峼","祮","祰","禞","筶","誥","诰","郜","鋯","锆"],"bó bèi":["勃"],láng:["勆","嫏","廊","斏","桹","榔","樃","欴","狼","琅","瑯","硠","稂","艆","蓈","蜋","螂","躴","郒","郞","鋃","鎯","锒"],xūn:["勋","勛","勲","勳","嚑","坃","埙","塤","壎","壦","曛","燻","獯","矄","纁","臐","薫","薰","蘍","醺","𫄸"],"juàn juān":["勌","瓹"],"lè lēi":["勒"],kài:["勓","炌","烗","鎎"],"wěng yǎng":["勜"],qín:["勤","嗪","噙","嶜","庈","懃","懄","捦","擒","斳","檎","澿","珡","琴","琹","瘽","禽","秦","耹","芩","芹","菦","螓","蠄","鈙","鈫","雂","靲","鳹","鵭"],jiàng:["勥","匞","匠","嵹","弜","弶","摾","櫤","洚","滰","犟","糡","糨","絳","绛","謽","酱","醤","醬"],fān:["勫","嬏","帆","幡","忛","憣","旙","旛","繙","翻","藩","轓","颿","飜","鱕"],juān:["勬","姢","娟","捐","涓","蠲","裐","鎸","鐫","镌","鹃"],"tóng dòng":["勭","烔","燑","狪"],lǜ:["勴","垏","嵂","律","慮","氯","滤","濾","爈","箻","綠","繂","膟","葎","虑","鑢"],chè:["勶","坼","彻","徹","掣","撤","澈","烢","爡","瞮","硩","聅","迠","頙","㬚"],sháo:["勺","玿","韶"],"gōu gòu":["勾"],cōng:["匆","囪","囱","忩","怱","悤","暰","樬","漗","瑽","璁","瞛","篵","繱","聡","聦","聪","聰","苁","茐","葱","蓯","蔥","蟌","鍯","鏓","鏦","騘","驄","骢"],"táo yáo":["匋","陶"],páo:["匏","咆","垉","庖","爮","狍","袍","褜","軳","鞄","麅"],dá:["匒","妲","怛","炟","燵","畣","笪","羍","荙","薘","蟽","詚","达","迏","迖","迚","逹","達","鐽","靼","鞑","韃","龖","龘","𫟼"],"huà huā":["化"],"běi bèi":["北"],nǎo:["匘","垴","堖","嫐","恼","悩","惱","瑙","碯","脑","脳","腦"],"chí shi":["匙"],fāng:["匚","堏","方","淓","牥","芳","邡","鈁","錺","钫","鴋"],zā:["匝","咂","帀","沞","臜","臢","迊","鉔","魳"],qiè:["匧","厒","妾","怯","悏","惬","愜","挈","穕","窃","竊","笡","箧","篋","籡","踥","鍥","锲","鯜"],"zāng cáng":["匨"],fěi:["匪","奜","悱","棐","榧","篚","翡","蕜","誹","诽"],"kuì guì":["匮","匱"],suǎn:["匴"],pǐ:["匹","噽","嚭","圮","庀","痞","癖","脴","苉","銢","鴄"],"qū ōu":["区","區"],"kē qià":["匼"],"yǎn yàn":["匽","棪"],biǎn:["匾","惼","揙","碥","稨","窆","藊","褊","貶","贬","鴘"],nì:["匿","堄","嫟","嬺","惄","愵","昵","暱","氼","眤","睨","縌","胒","腻","膩","逆","𨺙"],niàn:["卄","唸","埝","廿","念","惗","艌"],sà:["卅","櫒","脎","萨","蕯","薩","鈒","隡","颯","飒","馺"],zú:["卆","哫","崪","族","箤","足","踤","镞"],shēng:["升","呏","声","斘","昇","曻","枡","殅","泩","湦","焺","牲","珄","生","甥","竔","笙","聲","鉎","鍟","阩","陞","陹","鵿","鼪"],wàn:["卍","卐","忨","杤","瞣","脕","腕","萬","蟃","贎","輐","錽","𬇕"],"huá huà huā":["华","華"],bēi:["卑","悲","揹","杯","桮","盃","碑","藣","鵯","鹎"],"zú cù":["卒"],"dān shàn chán":["单","單"],"nán nā":["南"],"shuài lǜ":["卛"],"bǔ bo pú":["卜"],"kuàng guàn":["卝"],biàn:["卞","变","変","峅","弁","徧","忭","抃","昪","汳","汴","玣","艑","苄","覍","諚","變","辡","辧","辨","辩","辫","辮","辯","遍","釆","𨚕"],bǔ:["卟","哺","捕","补","補","鸔","𬷕"],"zhàn zhān":["占","覱"],"kǎ qiǎ":["卡"],lú:["卢","嚧","垆","壚","庐","廬","曥","枦","栌","櫨","泸","瀘","炉","爐","獹","玈","瓐","盧","矑","籚","纑","罏","胪","臚","舮","舻","艫","芦","蘆","蠦","轤","轳","鈩","鑪","顱","颅","馿","髗","魲","鱸","鲈","鸕","鸬","黸","𬬻"],lǔ:["卤","塷","掳","擄","樐","橹","櫓","氌","滷","澛","瀂","硵","磠","穞","艣","艪","蓾","虏","虜","鏀","鐪","鑥","镥","魯","鲁","鹵"],guà:["卦","啩","挂","掛","罣","褂","詿","诖"],"áng yǎng":["卬"],yìn:["印","垽","堷","廕","慭","憖","憗","懚","洕","湚","猌","癊","胤","茚","酳","鮣","䲟"],què:["却","卻","塙","崅","悫","愨","慤","搉","榷","燩","琷","皵","确","確","礭","闋","阕","鵲","鹊","𬒈"],luǎn:["卵"],"juàn juǎn":["卷","巻"],"chǎng ān hàn":["厂"],"wěi yán":["厃"],tīng:["厅","厛","听","庁","廰","廳","汀","烃","烴","綎","耓","聴","聼","聽","鞓","𬘩"],"zhé zhái":["厇"],"hàn àn":["厈","屽"],yǎ:["厊","唖","庌","痖","瘂","蕥"],shè:["厍","厙","弽","慑","慴","懾","摂","欇","涉","涻","渉","滠","灄","社","舎","蔎","蠂","設","设","赦","騇","麝"],dǐ:["厎","呧","坘","弤","抵","拞","掋","牴","砥","菧","觝","詆","诋","軧","邸","阺","骶","鯳"],"zhǎ zhǎi":["厏"],páng:["厐","嫎","庞","徬","舽","螃","逄","鰟","鳑","龎","龐"],"zhì shī":["厔"],máng:["厖","吂","哤","娏","忙","恾","杗","杧","汒","浝","牻","痝","盲","硭","笀","芒","茫","蘉","邙","釯","鋩","铓","駹"],zuī:["厜","樶","纗","蟕"],"shà xià":["厦","廈"],áo:["厫","嗷","嗸","廒","敖","滶","獒","獓","璈","翱","翶","翺","聱","蔜","螯","謷","謸","遨","鏖","隞","鰲","鳌","鷔","鼇"],"lán qiān":["厱"],"sī mǒu":["厶"],"gōng hóng":["厷"],"lín miǎo":["厸"],"qiú róu":["厹"],dū:["厾","嘟","督","醏"],"xiàn xuán":["县","縣"],"cān shēn cēn sān":["参","參","叄","叅"],"ài yǐ":["叆"],"chā chà chǎ chá":["叉"],shuāng:["双","孀","孇","欆","礵","艭","雙","霜","騻","驦","骦","鷞","鸘","鹴"],shōu:["収","收"],guái:["叏"],bá:["叐","妭","抜","拔","炦","癹","胈","茇","菝","詙","跋","軷","魃","鼥"],"fā fà":["发"],"zhuó yǐ lì jué":["叕"],qǔ:["取","娶","竬","蝺","詓","齲","龋"],"jiǎ xiá":["叚","徦"],"wèi yù":["叞","尉","蔚"],dié:["叠","垤","堞","峌","幉","恎","惵","戜","曡","殜","氎","牃","牒","瓞","畳","疂","疉","疊","碟","絰","绖","耊","耋","胅","艓","苵","蜨","蝶","褋","詄","諜","谍","跮","蹀","迭","镻","鰈","鲽","鴩","𫶇"],ruì:["叡","枘","汭","瑞","睿","芮","蚋","蜹","銳","鋭","锐"],"jù gōu":["句"],lìng:["另","呤","炩","蘦"],"dāo dáo tāo":["叨"],"zhī zhǐ":["只"],jiào:["叫","呌","嘂","嘦","噍","嬓","斍","斠","滘","漖","獥","珓","皭","窖","藠","訆","譥","趭","較","轎","轿","较","酵","醮","釂"],"zhào shào":["召"],"kě kè":["可"],"tái tāi":["台","苔"],pǒ:["叵","尀","笸","箥","鉕","钷","駊"],"yè xié":["叶"],"hào háo":["号"],tàn:["叹","嘆","探","歎","湠","炭","碳","舕"],"hōng hóng":["叿"],miē:["吀","咩","哶","孭"],"xū yū yù":["吁"],chī:["吃","哧","喫","嗤","噄","妛","媸","彨","彲","摛","攡","殦","瓻","痴","癡","眵","瞝","笞","粚","胵","蚩","螭","訵","魑","鴟","鵄","鸱","黐","齝","𫄨"],"xuān sòng":["吅"],yāo:["吆","喓","夭","妖","幺","楆","殀","祅","腰","葽","訞","邀","鴁","鴢","㙘"],zǐ:["吇","姉","姊","子","杍","梓","榟","橴","滓","矷","秭","笫","籽","紫","耔","虸","訿","釨"],"hé gě":["合","鲄"],"cùn dòu":["吋"],"tóng tòng":["同"],"tǔ tù":["吐","唋"],"zhà zhā":["吒","奓"],"xià hè":["吓"],"ā yā":["吖"],"ma má mǎ":["吗"],lìn:["吝","恡","悋","橉","焛","甐","膦","蔺","藺","賃","赁","蹸","躏","躙","躪","轥","閵"],tūn:["吞","暾","朜","焞"],"bǐ pǐ":["吡"],qìn:["吢","吣","唚","抋","揿","搇","撳","沁","瀙","菣","藽"],"jiè gè":["吤"],"fǒu pǐ":["否"],"ba bā":["吧"],dūn:["吨","噸","墩","墪","惇","撉","撴","犜","獤","礅","蜳","蹾","驐"],fēn:["吩","帉","昐","朆","梤","棻","氛","竕","紛","纷","翂","芬","衯","訜","躮","酚","鈖","雰","餴","饙","馚"],"é huā":["吪"],"kēng háng":["吭","妔"],shǔn:["吮"],"zhī zī":["吱"],"yǐn shěn":["吲"],wú:["吳","吴","呉","墲","峿","梧","橆","毋","洖","浯","無","珸","璑","祦","芜","茣","莁","蕪","蜈","蟱","譕","郚","鋙","铻","鯃","鵐","鷡","鹀","鼯"],"chǎo chāo":["吵"],"nà nè":["吶"],"xuè chuò jué":["吷"],chuī:["吹","炊","龡"],"dōu rú":["吺"],hǒu:["吼","犼"],"hōng hǒu ōu":["吽"],"wú yù":["吾"],"ya yā":["呀"],"è e":["呃"],dāi:["呆","懛","獃"],"mèn qǐ":["呇"],hōng:["呍","嚝","揈","灴","烘","焢","硡","薨","訇","谾","軣","輷","轟","轰","鍧"],nà:["呐","捺","笝","納","纳","肭","蒳","衲","豽","貀","軜","郍","鈉","钠","靹","魶"],"tūn tiān":["呑"],"fǔ ḿ":["呒","嘸"],"dāi tǎi":["呔"],"ǒu ōu òu":["呕"],"bài bei":["呗"],"yuán yún yùn":["员","員"],guō:["呙","啯","嘓","埚","堝","墎","崞","彉","彍","懖","猓","瘑","聒","蝈","蟈","郭","鈛","鍋","锅"],"huá qì":["呚"],"qiàng qiāng":["呛","跄"],shī:["呞","失","尸","屍","师","師","施","浉","湤","湿","溮","溼","濕","狮","獅","瑡","絁","葹","蒒","蓍","虱","蝨","褷","襹","詩","诗","邿","釃","鉇","鍦","鯴","鰤","鲺","鳲","鳾","鶳","鸤","䴓","𫚕"],juǎn:["呟","埍","臇","菤","錈","锩"],pěn:["呠","翸"],"wěn mǐn":["呡"],"ne ní":["呢"],"ḿ m̀ móu":["呣"],rán:["呥","嘫","然","燃","繎","肰","蚦","蚺","衻","袇","袡","髥","髯"],"tiè chè":["呫"],"qì zhī":["呮"],"zǐ cī":["呰"],"guā gū guǎ":["呱"],"cī zī":["呲"],"hǒu xǔ gòu":["呴"],"hē ā á ǎ à a":["呵"],náo:["呶","夒","峱","嶩","巎","挠","撓","猱","硇","蛲","蟯","詉","譊","鐃","铙"],"xiā gā":["呷"],pēi:["呸","怌","肧","胚","衃","醅"],"háo xiāo":["呺"],mìng:["命","掵"],"dá dàn":["呾"],"zuǐ jǔ":["咀"],"xián gān":["咁"],pǒu:["咅","哣","犃"],"yǎng yāng":["咉"],"zǎ zé zhā":["咋"],"hé hè huó huò hú":["和"],hāi:["咍"],dā:["咑","哒","噠","墶","搭","撘","耷","褡","鎝","𨱏"],"kǎ kā":["咔"],gū:["咕","唂","唃","姑","嫴","孤","巬","巭","柧","橭","沽","泒","稒","笟","箍","箛","篐","罛","苽","菇","菰","蓇","觚","軱","軲","轱","辜","酤","鈲","鮕","鴣","鸪"],"kā gā":["咖"],zuo:["咗"],lóng:["咙","嚨","嶐","巃","巄","昽","曨","朧","栊","槞","櫳","湰","滝","漋","爖","珑","瓏","癃","眬","矓","砻","礱","礲","窿","竜","聋","聾","胧","茏","蘢","蠪","蠬","襱","豅","鏧","鑨","霳","靇","驡","鸗","龍","龒","龙"],"xiàn xián":["咞"],qì:["咠","唭","噐","器","夡","弃","憇","憩","暣","棄","欫","气","気","氣","汔","汽","泣","湆","湇","炁","甈","盵","矵","碛","碶","磜","磧","罊","芞","葺","藒","蟿","訖","讫","迄","鐑"],"xì dié":["咥"],"liē liě lié lie":["咧"],zī:["咨","嗞","姕","姿","孜","孳","孶","崰","嵫","栥","椔","淄","湽","滋","澬","玆","禌","秶","粢","紎","緇","緕","纃","缁","茊","茲","葘","諮","谘","貲","資","赀","资","赼","趑","趦","輜","輺","辎","鄑","鈭","錙","鍿","鎡","锱","镃","頾","頿","髭","鯔","鰦","鲻","鶅","鼒","齍","齜","龇"],mī:["咪"],"jī xī qià":["咭"],"gē luò kǎ lo":["咯"],"shù xún":["咰"],"zán zá zǎ zan":["咱"],"hāi ké":["咳"],huī:["咴","噅","噕","婎","媈","幑","徽","恢","拻","挥","揮","晖","暉","楎","洃","瀈","灰","灳","烣","睳","禈","翚","翬","蘳","袆","褘","詼","诙","豗","輝","辉","鰴","麾","㧑"],"huài shì":["咶"],táo:["咷","啕","桃","檮","洮","淘","祹","綯","绹","萄","蜪","裪","迯","逃","醄","鋾","鞀","鞉","饀","駣","騊","鼗","𫘦"],xián:["咸","啣","娴","娹","婱","嫌","嫺","嫻","弦","挦","撏","涎","湺","澖","甉","痫","癇","癎","絃","胘","舷","藖","蚿","蛝","衔","衘","誸","諴","賢","贒","贤","輱","醎","銜","鑦","閑","闲","鷳","鷴","鷼","鹇","鹹","麙","𫍯"],"è àn":["咹"],"xuān xuǎn":["咺","烜"],"wāi hé wǒ guǎ guō":["咼"],"yàn yè yān":["咽"],āi:["哀","哎","埃","溾","銰","鎄","锿"],pǐn:["品","榀"],shěn:["哂","婶","嬸","审","宷","審","弞","曋","渖","瀋","瞫","矤","矧","覾","訠","諗","讅","谂","谉","邥","頣","魫"],"hǒng hōng hòng":["哄"],"wā wa":["哇"],"hā hǎ hà":["哈"],zāi:["哉","栽","渽","溨","災","灾","烖","睵","賳"],"dì diè":["哋"],pài:["哌","沠","派","渒","湃","蒎","鎃"],"gén hěn":["哏"],"yǎ yā":["哑","雅"],"yuě huì":["哕","噦"],nián:["哖","年","秊","秥","鮎","鯰","鲇","鲶","鵇","黏"],"huá huā":["哗","嘩"],"jì jiē zhāi":["哜","嚌"],mōu:["哞"],"yō yo":["哟","喲"],lòng:["哢","梇","贚"],"ò ó é":["哦"],"lī lǐ li":["哩"],"nǎ na nǎi né něi":["哪"],hè:["哬","垎","壑","寉","惒","焃","煂","燺","爀","癋","碋","翯","褐","謞","賀","贺","赫","靍","靎","靏","鶴","鸖","鹤"],"bō pò bā":["哱"],zhé:["哲","啠","喆","嚞","埑","悊","摺","晢","晣","歽","矺","砓","磔","籷","粍","虴","蛰","蟄","袩","詟","謫","謺","讁","讋","谪","輒","輙","轍","辄","辙","鮿"],"liàng láng":["哴"],"liè lǜ":["哷"],hān:["哻","憨","蚶","谽","酣","頇","顸","馠","魽","鼾"],"hēng hng":["哼"],gěng:["哽","埂","峺","挭","梗","綆","绠","耿","莄","郠","骾","鯁","鲠","𬒔"],"chuò yuè":["哾"],"gě jiā":["哿"],"bei bài":["唄"],"hán hàn":["唅"],chún:["唇","浱","湻","滣","漘","犉","純","纯","脣","莼","蒓","蓴","醇","醕","錞","陙","鯙","鶉","鹑","𬭚"],"ài āi":["唉"],"jiá qiǎn":["唊"],"yán dàn xián":["唌"],chē:["唓","砗","硨","莗","蛼"],"wú ńg ń":["唔"],zào:["唕","唣","噪","慥","梍","灶","煰","燥","皁","皂","竃","竈","簉","艁","譟","趮","躁","造","𥖨"],dí:["唙","啇","嘀","嚁","嫡","廸","敌","敵","梑","涤","滌","狄","笛","籴","糴","苖","荻","蔋","蔐","藡","覿","觌","豴","迪","靮","頔","馰","髢","鸐","𬱖"],"gòng hǒng gǒng":["唝","嗊"],dóu:["唞"],"lào láo":["唠","嘮","憦"],huàn:["唤","喚","奂","奐","宦","嵈","幻","患","愌","换","換","擐","攌","梙","槵","浣","涣","渙","漶","澣","烉","焕","煥","瑍","痪","瘓","睆","肒","藧","豢","轘","逭","鯇","鯶","鰀","鲩"],léng:["唥","塄","楞","碐","薐"],"wō wěi":["唩"],fěng:["唪","覂","諷","讽"],"yín jìn":["唫"],"hǔ xià":["唬"],wéi:["唯","围","圍","壝","峗","峞","嵬","帏","帷","幃","惟","桅","沩","洈","涠","湋","溈","潍","潙","潿","濰","犩","矀","維","维","蓶","覹","违","違","鄬","醀","鍏","闈","闱","韋","韦","鮠","𣲗","𬶏"],shuā:["唰"],chàng:["唱","怅","悵","暢","焻","畅","畼","誯","韔","鬯"],"ér wā":["唲"],qiàng:["唴","炝","熗","羻"],yō:["唷"],yū:["唹","淤","瘀","盓","箊","紆","纡","込","迂","迃","陓"],lài:["唻","濑","瀨","瀬","癞","癩","睐","睞","籁","籟","藾","賚","賴","赉","赖","頼","顂","鵣"],tuò:["唾","嶞","柝","毤","毻","箨","籜","萚","蘀","跅"],"zhōu zhāo tiào":["啁"],kěn:["啃","垦","墾","恳","懇","肎","肯","肻","豤","錹"],"zhuó zhào":["啅","濯"],"hēng hèng":["啈","悙"],"lín lán":["啉"],"a ā á ǎ à":["啊"],qiāng:["啌","嗴","嶈","戕","摤","斨","枪","槍","溬","牄","猐","獇","羌","羗","腔","蜣","謒","鏘","锖","锵"],"tūn zhūn xiāng duǐ":["啍"],wèn:["問","妏","揾","搵","璺","问","顐"],"cuì qi":["啐"],"dié shà jié tì":["啑"],"yuē wā":["啘"],"zǐ cǐ":["啙"],"bǐ tú":["啚"],"chuò chuài":["啜"],"yǎ yā è":["啞"],fēi:["啡","婓","婔","扉","暃","渄","猆","緋","绯","裶","霏","非","靟","飛","飝","飞","餥","馡","騑","騛","鯡","鲱","𬴂"],pí:["啤","壀","枇","毗","毘","焷","琵","疲","皮","篺","罴","羆","脾","腗","膍","蚍","蚽","蜱","螷","蠯","豼","貔","郫","鈹","阰","陴","隦","魮","鮍","鲏","鵧","鼙"],shá:["啥"],"lā la":["啦"],"yīng qíng":["啨"],pā:["啪","妑","舥","葩","趴"],"zhě shì":["啫"],sè:["啬","嗇","懎","擌","栜","歮","涩","渋","澀","澁","濇","濏","瀒","瑟","璱","瘷","穑","穡","穯","繬","譅","轖","銫","鏼","铯","飋"],niè:["啮","嗫","噛","嚙","囁","囓","圼","孼","孽","嵲","嶭","巕","帇","敜","枿","槷","櫱","涅","湼","痆","篞","籋","糱","糵","聂","聶","臬","臲","蘖","蠥","讘","踂","踗","踙","蹑","躡","錜","鎳","鑈","鑷","钀","镊","镍","闑","陧","隉","顳","颞","齧","𫔶"],"luō luó luo":["啰","囉"],"tān chǎn tuō":["啴"],bo:["啵","蔔"],dìng:["啶","定","椗","矴","碇","碠","磸","聢","腚","萣","蝊","訂","订","錠","锭","顁","飣","饤"],lāng:["啷"],"án ān":["啽"],kā:["喀","擖"],"yóng yú":["喁"],"lā lá lǎ":["喇"],jiē:["喈","喼","嗟","堦","媘","接","掲","擑","湝","煯","疖","痎","癤","皆","秸","稭","脻","蝔","街","謯","阶","階","鞂","鶛"],hóu:["喉","帿","猴","瘊","睺","篌","糇","翭","葔","鄇","鍭","餱","骺","鯸","𬭤"],"dié zhá":["喋"],wāi:["喎","歪","竵"],"nuò rě":["喏"],"xù huò guó":["喐"],zán:["喒"],"wō ō":["喔"],hú:["喖","嘝","囫","壶","壷","壺","媩","弧","搰","斛","楜","槲","湖","瀫","焀","煳","狐","猢","瑚","瓳","箶","絗","縠","胡","葫","蔛","蝴","螜","衚","觳","醐","鍸","頶","餬","鬍","魱","鰗","鵠","鶘","鶦","鹕"],"huàn yuán xuǎn hé":["喛"],xǐ:["喜","囍","壐","屣","徙","憙","枲","橲","歖","漇","玺","璽","矖","禧","縰","葈","葸","蓰","蟢","謑","蹝","躧","鈢","鉨","鉩","鱚","𬭳","𬶮"],"hē hè yè":["喝"],kuì:["喟","嘳","媿","嬇","愦","愧","憒","篑","簣","籄","聩","聭","聵","膭","蕢","謉","餽","饋","馈"],"zhǒng chuáng":["喠"],"wéi wèi":["喡","為","爲"],"duó zhà":["喥"],"sāng sàng":["喪"],"qiáo jiāo":["喬"],"pèn bēn":["喯"],"cān sūn qī":["喰"],"zhā chā":["喳"],miāo:["喵"],"pēn pèn":["喷"],kuí:["喹","夔","奎","巙","戣","揆","晆","暌","楏","楑","櫆","犪","睽","葵","藈","蘷","虁","蝰","躨","逵","鄈","鍨","鍷","頯","馗","騤","骙","魁"],"lou lóu":["喽"],"zào qiāo":["喿"],"hè xiāo xiào hù":["嗃"],"á shà":["嗄"],xiù:["嗅","岫","峀","溴","珛","琇","璓","秀","綉","繍","繡","绣","螑","袖","褎","褏","銹","鏥","鏽","锈","齅"],"qiāng qiàng":["嗆","戗","戧","蹌","蹡"],"ài yì":["嗌","艾"],"má mǎ ma":["嗎"],"kè kē":["嗑"],"dā tà":["嗒","鎉"],sǎng:["嗓","搡","磉","褬","鎟","顙","颡"],chēn:["嗔","抻","琛","瞋","諃","謓","賝","郴","𬘭"],"wā gǔ":["嗗"],"pǎng bēng":["嗙"],"xián qiǎn qiān":["嗛"],lào:["嗠","嫪","橯","涝","澇","耢","耮","躼","軂","酪"],wēng:["嗡","翁","聬","螉","鎓","鶲","鹟","𬭩"],wà:["嗢","腽","膃","袜","襪","韤"],"hēi hāi":["嗨"],hē:["嗬","欱","蠚","訶","诃"],zi:["嗭"],sǎi:["嗮"],"ǹg ńg ňg":["嗯"],gě:["嗰","舸"],ná:["嗱","拏","拿","鎿","镎"],diǎ:["嗲"],"ài ǎi āi":["嗳"],tōng:["嗵","樋","炵","蓪"],"zuī suī":["嗺"],"zhē zhè zhù zhe":["嗻"],mò:["嗼","圽","塻","墨","妺","嫼","寞","帞","昩","末","枺","歿","殁","沫","漠","爅","獏","瘼","皌","眽","眿","瞐","瞙","砞","礳","秣","絈","纆","耱","茉","莈","蓦","蛨","蟔","貃","貊","貘","銆","鏌","镆","陌","靺","驀","魩","默","黙","𬙊"],sòu:["嗽","瘶"],tǎn:["嗿","坦","忐","憳","憻","暺","毯","璮","菼","袒","襢","醓","鉭","钽"],"jiào dǎo":["嘄"],"kǎi gě":["嘅"],"shān càn":["嘇"],cáo:["嘈","嶆","曹","曺","槽","漕","艚","蓸","螬","褿","鏪","𥕢"],piào:["嘌","徱","蔈","驃"],"lóu lou":["嘍"],gǎ:["尕","玍"],"gǔ jiǎ":["嘏"],"jiāo xiāo":["嘐"],"xū shī":["嘘","噓"],pó:["嘙","嚩","婆","櫇","皤","鄱"],"dē dēi":["嘚"],"ma má":["嘛"],"lē lei":["嘞"],"gā gá gǎ":["嘠"],sāi:["嘥","噻","毢","腮","顋","鰓"],"zuō chuài":["嘬"],"cháo zhāo":["嘲","朝","鼂"],zuǐ:["嘴","噿","嶊","璻"],"qiáo qiào":["嘺","翹","谯"],"chù xù shòu":["嘼"],"tān chǎn":["嘽"],"dàn tán":["嘾","弾","彈","惔","澹"],"hēi mò":["嘿"],ě:["噁","砨","頋","騀","鵈"],"fān bo":["噃"],chuáng:["噇","床","牀"],"cù zā hé":["噈"],"tūn kuò":["噋"],"cēng chēng":["噌"],dēng:["噔","嬁","灯","燈","璒","登","竳","簦","艠","豋"],pū:["噗","扑","撲","攴","攵","潽","炇","陠"],juē:["噘","屩","屫","撧"],lū:["噜","嚕","撸","擼","謢"],zhān:["噡","岾","惉","旃","旜","枬","栴","毡","氈","氊","沾","瞻","薝","蛅","詀","詹","譫","谵","趈","邅","閚","霑","飦","饘","驙","魙","鱣","鸇","鹯","𫗴"],ō:["噢"],"zhòu zhuó":["噣"],"jiào qiào chī":["噭"],yuàn:["噮","妴","怨","愿","掾","瑗","禐","苑","衏","裫","褑","院","願"],"ǎi ài āi":["噯"],"yōng yǒng":["噰","澭"],"jué xué":["噱"],"pēn pèn fèn":["噴"],gá:["噶","尜","釓","錷","钆"],"xīn hěn hèn":["噷"],dāng:["噹","澢","珰","璫","筜","簹","艡","蟷","裆","襠"],làn:["嚂","滥","濫","烂","燗","爁","爛","爤","瓓","糷","钄"],tà:["嚃","嚺","崉","挞","搨","撻","榻","橽","毾","涾","澾","濌","禢","粏","誻","譶","蹋","蹹","躂","躢","遝","錔","闒","闥","闼","阘","鞜","鞳"],"huō huò ǒ":["嚄"],hāo:["嚆","茠","蒿","薅"],"hè xià":["嚇"],"xiù pì":["嚊"],"zhōu chóu":["嚋","盩","诪"],mē:["嚒"],"chā cā":["嚓"],"bó pào bào":["嚗"],"me mèi mò":["嚜"],"xié hái":["嚡"],"áo xiāo":["嚣"],mō:["嚤","摸"],pín:["嚬","娦","嫔","嬪","玭","矉","薲","蠙","貧","贫","顰","颦","𬞟"],mè:["嚰","濹"],"rǎng rāng":["嚷"],lá:["嚹","旯"],"jiáo jué jiào":["嚼"],chuò:["嚽","娖","擉","歠","涰","磭","踀","輟","辍","辵","辶","酫","鑡","餟","齪","龊"],"huān huàn":["嚾"],"zá cà":["囃"],chài:["囆","虿","蠆","袃","訍"],"náng nāng":["囊"],"zá zàn cān":["囋"],sū:["囌","櫯","甦","稣","穌","窣","蘇","蘓","酥","鯂"],zèng:["囎","熷","甑","贈","赠","鋥","锃"],"zá niè yàn":["囐"],nāng:["囔"],"luó luō luo":["囖"],"wéi guó":["囗"],huí:["囘","回","囬","廻","廽","恛","洄","痐","茴","蚘","蛔","蛕","蜖","迴","逥","鮰"],nín:["囜","您","脌"],"jiǎn nān":["囝"],nān:["囡"],tuán:["团","団","團","慱","抟","摶","檲","糰","鏄","鷒","鷻"],"tún dùn":["囤","坉"],guó:["囯","囶","囻","国","圀","國","帼","幗","慖","摑","漍","聝","腘","膕","蔮","虢","馘","𬇹"],kùn:["困","涃","睏"],"wéi tōng":["囲"],qūn:["囷","夋","逡"],rì:["囸","日","衵","鈤","馹","驲"],tāi:["囼","孡","胎"],pǔ:["圃","圑","擈","普","暜","樸","檏","氆","浦","溥","烳","諩","譜","谱","蹼","鐠","镨"],"quān juàn juān":["圈","圏"],"chuí chuán":["圌"],tuǎn:["圕","畽","疃"],lüè:["圙","掠","略","畧","稤","鋝","鋢","锊","䂮"],"huán yuán":["圜"],luán:["圝","圞","奱","娈","孌","孪","孿","峦","巒","挛","攣","曫","栾","欒","滦","灤","癴","癵","羉","脔","臠","虊","銮","鑾","鵉","鸞","鸾"],tǔ:["土","圡","釷","钍"],"xū wéi":["圩"],"dì de":["地","嶳"],"qiān sú":["圱"],zhèn:["圳","塦","挋","振","朕","栚","甽","眹","紖","絼","纼","誫","賑","赈","鋴","鎭","鎮","镇","阵","陣","震","鴆","鸩"],"chǎng cháng":["场","場","塲"],"qí yín":["圻"],jiá:["圿","忦","恝","戞","扴","脥","荚","莢","蛱","蛺","裌","跲","郏","郟","鋏","铗","頬","頰","颊","鴶","鵊"],"zhǐ zhì":["坁"],bǎn:["坂","岅","昄","板","版","瓪","粄","舨","蝂","鈑","钣","阪","魬"],qǐn:["坅","寑","寝","寢","昑","梫","笉","螼","赾","鋟","锓"],"méi fén":["坆"],"rǒng kēng":["坈"],"fāng fáng":["坊"],"fèn bèn":["坋"],tān:["坍","怹","摊","擹","攤","滩","灘","瘫","癱","舑","貪","贪"],"huài pēi pī péi":["坏"],"dì làn":["坔"],tán:["坛","墰","墵","壇","壜","婒","憛","昙","曇","榃","檀","潭","燂","痰","磹","罈","罎","藫","談","譚","譠","谈","谭","貚","郯","醰","錟","顃"],bà:["坝","垻","壩","弝","欛","灞","爸","矲","覇","霸","鮁","鲅"],fén:["坟","墳","妢","岎","幩","枌","棼","汾","焚","燌","燓","羒","羵","蒶","蕡","蚠","蚡","豮","豶","轒","鐼","隫","馩","魵","黂","鼖","鼢","𣸣"],zhuì:["坠","墜","惴","甀","畷","礈","綴","縋","缀","缒","腏","膇","諈","贅","赘","醊","錣","鑆"],pō:["坡","岥","泼","溌","潑","釙","鏺","钋","頗","颇","䥽"],"pǎn bàn":["坢"],kūn:["坤","堃","堒","崐","崑","昆","晜","潉","焜","熴","猑","琨","瑻","菎","蜫","裈","裩","褌","醌","錕","锟","騉","髠","髡","髨","鯤","鲲","鵾","鶤","鹍"],diàn:["坫","垫","墊","壂","奠","婝","店","惦","扂","橂","殿","淀","澱","玷","琔","电","癜","簟","蜔","鈿","電","靛","驔"],"mù mǔ":["坶"],"kē kě":["坷","軻"],xuè:["坹","岤","桖","瀥","狘","瞲","謔","谑","趐"],"dǐ chí":["坻","柢"],lā:["垃","柆","菈","邋"],lǒng:["垄","垅","壟","壠","拢","攏","竉","陇","隴","𬕂"],mín:["垊","姄","岷","崏","捪","旻","旼","民","珉","琘","琝","瑉","痻","盿","砇","緍","緡","缗","罠","苠","鈱","錉","鍲","鴖"],"dòng tóng":["垌","峒","洞"],cí:["垐","嬨","慈","柌","濨","珁","瓷","甆","磁","礠","祠","糍","茨","詞","词","辝","辞","辤","辭","雌","飺","餈","鴜","鶿","鷀","鹚"],duī:["垖","堆","塠","痽","磓","鐓","鐜","鴭"],"duò duǒ":["垛"],"duǒ duò":["垜","挆"],chá:["垞","察","嵖","搽","槎","檫","猹","茬","茶","詧","靫","𥻗"],shǎng:["垧","晌","樉","賞","贘","赏","鋿","鏛","鑜"],shǒu:["垨","守","手","扌","艏","首"],da:["垯","繨","跶"],háng:["垳","斻","杭","筕","絎","绗","航","苀","蚢","裄","貥","迒","頏","颃","魧"],"ān ǎn":["垵"],xīng:["垶","惺","星","曐","煋","猩","瑆","皨","篂","腥","興","觪","觲","謃","騂","骍","鮏","鯹"],"yuàn huán":["垸"],bāng:["垹","帮","幇","幚","幫","捠","梆","浜","邦","邫","鞤","𠳐"],"póu fú":["垺"],cén:["埁","岑","涔"],"běng fēng":["埄"],"dì fáng":["埅"],"xiá jiā":["埉"],"mái mán":["埋"],làng:["埌","崀","浪","蒗","閬","㫰"],"shān yán":["埏"],"qín jīn":["埐"],"pǔ bù":["埔"],huā:["埖","婲","椛","硴","糀","花","蒊","蘤","誮","錵"],"suì sù":["埣"],"pí pì":["埤"],"qīng zhēng":["埥","鲭"],"wǎn wān":["埦"],lǔn:["埨","稐","𫭢"],"zhēng chéng":["埩"],kōng:["埪","崆","箜","躻","錓","鵼"],"cǎi cài":["埰","寀","采"],"chù tòu":["埱"],běng:["埲","琫","菶","鞛"],"kǎn xiàn":["埳"],"yì shì":["埶","醳"],péi:["培","毰","裴","裵","賠","赔","錇","锫","阫","陪"],"sào sǎo":["埽"],"jǐn qīn jìn":["堇"],"péng bèng":["堋"],"qiàn zàn jiàn":["堑"],àn:["堓","屵","岸","按","暗","案","胺","荌","豻","貋","錌","闇","隌","黯"],"duò huī":["堕","墮"],huán:["堚","寏","寰","峘","桓","洹","澴","獂","环","環","糫","繯","缳","羦","荁","萈","萑","豲","鍰","鐶","锾","镮","闤","阛","雈","鬟","鹮","𬘫","𤩽"],"bǎo bǔ pù":["堡"],"máo móu wǔ":["堥"],ruán:["堧","壖","撋"],"ài è yè":["堨"],gèng:["堩","暅"],méi:["堳","塺","媒","嵋","徾","攗","枚","栂","梅","楣","楳","槑","湄","湈","煤","猸","玫","珻","瑂","眉","睂","禖","脄","脢","腜","苺","莓","葿","郿","酶","鎇","镅","霉","鶥","鹛","黴"],dǔ:["堵","琽","睹","笃","篤","覩","賭","赌"],féng:["堸","綘","艂","逢"],hèng:["堼"],chūn:["堾","媋","旾","春","暙","杶","椿","槆","橁","櫄","瑃","箺","萅","蝽","輴","鰆","鶞","䲠"],jiǎng:["塂","奖","奨","奬","桨","槳","獎","耩","膙","蒋","蔣","講","讲","顜"],huāng:["塃","巟","慌","肓","荒","衁"],duàn:["塅","断","斷","椴","段","毈","煅","瑖","碫","簖","籪","緞","缎","腶","葮","躖","鍛","锻"],tǎ:["塔","墖","獭","獺","鮙","鰨","鳎"],wěng:["塕","奣","嵡","攚","暡","瞈","蓊"],"sāi sài sè":["塞"],zàng:["塟","弉","臓","臟","葬","蔵","銺"],tián:["塡","屇","恬","沺","湉","璳","甛","甜","田","畋","畑","碵","磌","胋","闐","阗","鴫","鷆","鷏"],zhèng:["塣","幁","政","証","諍","證","证","诤","郑","鄭","靕","鴊"],"tián zhèn":["填"],wēn:["塭","昷","榲","殟","温","溫","瑥","瘟","蕰","豱","輼","轀","辒","鎾","饂","鰛","鰮","鳁"],liù:["塯","廇","磟","翏","雡","霤","餾","鬸","鷚","鹨"],hǎi:["塰","海","烸","酼","醢"],lǎng:["塱","朖","朗","朤","烺","蓢","㮾"],bèng:["塴","揼","泵","甏","綳","蹦","迸","逬","鏰","镚"],chén:["塵","宸","尘","忱","敐","敶","晨","曟","栕","樄","沉","煁","瘎","臣","茞","莀","莐","蔯","薼","螴","訦","諶","軙","辰","迧","鈂","陈","陳","霃","鷐","麎"],"ōu qiū":["塸"],"qiàn jiàn":["塹"],"zhuān tuán":["塼"],shuǎng:["塽","慡","漺","爽","縔","鏯"],shú:["塾","婌","孰","璹","秫","贖","赎"],lǒu:["塿","嵝","嶁","甊","篓","簍"],chí:["墀","弛","持","池","漦","竾","筂","箎","篪","茌","荎","蚳","謘","貾","赿","踟","迟","迡","遅","遟","遲","鍉","馳","驰"],shù:["墅","庶","庻","怷","恕","戍","束","树","樹","沭","漱","潄","濖","竖","竪","絉","腧","荗","蒁","虪","術","裋","豎","述","鉥","錰","鏣","霔","鶐","𬬸"],"dì zhì":["墆","疐"],kàn:["墈","崁","瞰","矙","磡","衎","鬫"],chěn:["墋","夦","硶","碜","磣","贂","趻","踸","鍖"],"zhǐ zhuó":["墌"],qiǎng:["墏","繈","繦","羥","襁"],zēng:["増","增","憎","璔","矰","磳","罾","譄","鄫","鱛","䎖"],qiáng:["墙","墻","嫱","嬙","樯","檣","漒","牆","艢","蔃","蔷","蘠"],"kuài tuí":["墤"],"tuǎn dǒng":["墥"],"qiáo què":["墧"],"zūn dūn":["墫"],"qiāo áo":["墽"],"yì tú":["墿"],"xué bó jué":["壆"],lǎn:["壈","嬾","孄","孏","懒","懶","揽","擥","攬","榄","欖","浨","漤","灠","纜","缆","罱","覧","覽","览","醂","顲"],huài:["壊","壞","蘾"],rǎng:["壌","壤","攘","爙"],"làn xiàn":["壏"],dǎo:["壔","导","導","岛","島","嶋","嶌","嶹","捣","搗","擣","槝","祷","禂","禱","蹈","陦","隝","隯"],ruǐ:["壡","桵","橤","繠","蕊","蕋","蘂","蘃"],san:["壭"],zhuàng:["壮","壯","壵","撞","焋","状","狀"],"ké qiào":["壳","殼"],kǔn:["壸","壼","悃","捆","梱","硱","祵","稇","稛","綑","裍","閫","閸","阃"],mǎng:["壾","漭","茻","莽","莾","蠎"],cún:["壿","存"],"zhǐ zhōng":["夂"],"gǔ yíng":["夃"],"jiàng xiáng":["夅","降"],"páng féng fēng":["夆"],zhāi:["夈","捚","摘","斋","斎","榸","粂","齋"],"xuàn xiòng":["夐"],wài:["外","顡"],"wǎn yuàn wān yuān":["夗"],"mǎo wǎn":["夘"],mèng:["夢","夣","孟","梦","癦","霥"],"dà dài":["大"],"fū fú":["夫","姇","枎","粰"],guài:["夬","怪","恠"],yāng:["央","姎","抰","殃","泱","秧","胦","鉠","鍈","雵","鴦","鸯"],"hāng bèn":["夯"],gǎo:["夰","搞","杲","槀","槁","檺","稁","稾","稿","縞","缟","菒","藁","藳"],"tāo běn":["夲"],"tóu tou":["头"],"yǎn tāo":["夵"],"kuā kuà":["夸","誇"],"jiá jiā gā xiá":["夹"],huà:["夻","婳","嫿","嬅","崋","摦","杹","枠","桦","槬","樺","澅","画","畫","畵","繣","舙","話","諙","譮","话","黊"],"jiā jiá gā xiá":["夾"],ēn:["奀","恩","蒽"],"dī tì":["奃"],"yǎn yān":["奄","渰"],pào:["奅","疱","皰","砲","礟","礮","靤","麭"],nài:["奈","柰","渿","耐","萘","褦","錼","鼐"],"quān juàn":["奍","弮","棬"],zòu:["奏","揍"],"qì qiè xiè":["契"],kāi:["奒","开","揩","鐦","锎","開"],"bēn bèn":["奔","泍"],tào:["套"],"zàng zhuǎng":["奘"],běn:["奙","本","楍","畚","翉","苯"],"xùn zhuì":["奞"],shē:["奢","檨","猞","畭","畲","賒","賖","赊","輋","𪨶"],"hǎ pò tǎi":["奤"],"ào yù":["奥","奧","澚"],yūn:["奫","氲","氳","蒀","蒕","蝹","贇","赟","𫖳"],"duǒ chě":["奲"],"nǚ rǔ":["女"],nú:["奴","孥","笯","駑","驽"],"dīng dǐng tiǎn":["奵"],"tā jiě":["她"],nuán:["奻"],"hǎo hào":["好"],fàn:["奿","嬎","梵","汎","泛","滼","瀪","犯","畈","盕","笵","範","范","訉","販","贩","軬","輽","飯","飰","饭"],shuò:["妁","搠","朔","槊","烁","爍","矟","蒴","鎙","鑠","铄"],"fēi pèi":["妃"],wàng:["妄","忘","旺","望","朢"],zhuāng:["妆","妝","娤","庄","庒","桩","梉","樁","粧","糚","荘","莊","装","裝"],mā:["妈","媽"],"fū yōu":["妋"],"hài jiè":["妎"],dù:["妒","妬","杜","殬","渡","秺","芏","荰","螙","蠧","蠹","鍍","镀","靯","𬭊"],miào:["妙","庙","庿","廟","玅","竗"],"fǒu pēi pī":["妚"],"yuè jué":["妜"],niū:["妞"],"nà nàn":["妠"],tuǒ:["妥","嫷","庹","椭","楕","橢","鬌","鰖","鵎"],"wàn yuán":["妧"],fáng:["妨","房","肪","防","魴","鲂"],nī:["妮"],zhóu:["妯","碡"],zhāo:["妱","巶","招","昭","釗","鉊","鍣","钊","駋","𬬿"],"nǎi nǐ":["妳"],tǒu:["妵","敨","紏","蘣","黈"],"xián xuán xù":["妶"],"zhí yì":["妷","秇"],ē:["妸","妿","婀","屙"],mèi:["妹","媚","寐","抺","旀","昧","沬","煝","痗","眛","睸","祙","篃","蝞","袂","跊","鬽","魅"],"qī qì":["妻"],"xū xǔ":["姁","稰"],"shān shàn":["姍","姗","苫","釤","钐"],mán:["姏","慲","樠","蛮","蠻","謾","饅","馒","鬗","鬘","鰻","鳗"],jiě:["姐","媎","檞","毑","飷"],"wěi wēi":["委"],pīn:["姘","拼","礗","穦","馪","驞"],"huá huó":["姡"],"jiāo xiáo":["姣"],"gòu dù":["姤"],"lǎo mǔ":["姥"],"nián niàn":["姩"],zhěn:["姫","屒","弫","抮","昣","枕","畛","疹","眕","稹","縝","縥","缜","聄","萙","袗","裖","覙","診","诊","軫","轸","辴","駗","鬒"],héng:["姮","恆","恒","烆","珩","胻","蘅","衡","鑅","鴴","鵆","鸻"],"jūn xún":["姰"],"kuā hù":["姱"],"è yà":["姶"],"xiān shēn":["姺"],wá:["娃"],"ráo rǎo":["娆","嬈"],"shào shāo":["娋"],xiē:["娎","揳","楔","歇","蝎","蠍"],"wǔ méi mǔ":["娒"],"chuò lài":["娕"],niáng:["娘","嬢","孃"],"nà nuó":["娜","𦰡"],"pōu bǐ":["娝"],"něi suī":["娞"],tuì:["娧","煺","蛻","蜕","退","駾"],mǎn:["娨","屘","満","满","滿","螨","蟎","襔","鏋"],"wú wù yú":["娪"],"xī āi":["娭"],"zhuì shuì":["娷"],"dōng dòng":["娻"],"ǎi ái è":["娾"],"ē ě":["娿"],mián:["婂","嬵","宀","杣","棉","檰","櫋","眠","矈","矊","矏","綿","緜","绵","芇","蝒"],"pǒu péi bù":["婄"],biǎo:["婊","脿","表","裱","褾","諘","錶"],"fù fàn":["婏"],wǒ:["婐","婑","我"],"ní nǐ":["婗","棿"],"quán juàn":["婘","惓"],hūn:["婚","昏","昬","棔","涽","睧","睯","碈","荤","葷","蔒","轋","閽","阍"],"qiān jǐn":["婜"],"wān wà":["婠"],"lái lài":["婡","徕","徠"],"zhōu chōu":["婤"],"chuò nào":["婥"],"nüè àn":["婩"],"hùn kūn":["婫"],"dàng yáng":["婸"],nàn:["婻"],"ruò chuò":["婼"],jiǎ:["婽","岬","斚","斝","榎","槚","檟","玾","甲","胛","鉀","钾"],"tōu yú":["婾","媮"],"yù yú":["媀"],"wéi wěi":["媁"],"dì tí":["媂","珶","苐"],róu:["媃","揉","柔","渘","煣","瑈","瓇","禸","粈","糅","脜","腬","葇","蝚","蹂","輮","鍒","鞣","騥","鰇","鶔","𫐓"],"ruǎn nèn":["媆"],miáo:["媌","嫹","描","瞄","苗","鶓","鹋"],"yí pèi":["媐"],"mián miǎn":["媔"],"tí shì":["媞","惿"],"duò tuó":["媠","沲"],ǎo:["媪","媼","艹","芺","袄","襖","镺"],"chú zòu":["媰"],yìng:["媵","映","暎","硬","膡","鱦"],"qín shēn":["嫀"],jià:["嫁","幏","架","榢","稼","駕","驾"],sǎo:["嫂"],"zhēn zhěn":["嫃"],"jiē suǒ":["嫅"],"míng mǐng":["嫇"],niǎo:["嫋","嬝","嬲","茑","蔦","袅","裊","褭","鸟"],tāo:["嫍","幍","弢","慆","掏","搯","槄","涛","滔","濤","瑫","絛","縚","縧","绦","詜","謟","轁","鞱","韜","韬","飸","饕"],biáo:["嫑"],"piáo piāo":["嫖","薸"],xuán:["嫙","悬","懸","暶","檈","漩","玄","璇","璿","痃","蜁","𫠊"],"màn mān":["嫚"],kāng:["嫝","嵻","康","慷","槺","漮","砊","穅","糠","躿","鏮","鱇","𡐓","𩾌"],"hān nǎn":["嫨"],nèn:["嫩","嫰"],zhē:["嫬","遮"],"mā má":["嫲"],piè:["嫳"],zhǎn:["嫸","展","搌","斩","斬","琖","盏","盞","輾","醆","颭","飐"],"xiān yǎn jìn":["嬐"],liǎn:["嬚","敛","斂","琏","璉","羷","脸","臉","蔹","蘝","蘞","裣","襝","鄻"],"qióng huán xuān":["嬛"],dǒng:["嬞","懂","箽","董","蕫","諌"],cān:["嬠","湌","爘","飡","餐","驂","骖"],tiǎo:["嬥","宨","晀","朓","窱","脁"],bí:["嬶","荸","鼻"],liǔ:["嬼","柳","栁","桞","桺","橮","熮","珋","綹","绺","罶","羀","鋶","锍"],"qiān xiān":["孅","欦"],"xié huī":["孈"],"huān quán":["孉"],"lí lì":["孋","麗"],"zhú chuò":["孎"],kǒng:["孔","恐"],"mā zī":["孖"],"sūn xùn":["孙","孫"],"bèi bó":["孛","誖"],"yòu niū":["孧"],zhuǎn:["孨","竱","轉"],hái:["孩","骸"],nāo:["孬"],"chán càn":["孱"],bò:["孹","檗","蘗","譒"],nái:["孻","腉"],"níng nìng":["宁","寍","寗","寜","寧","甯"],zhái:["宅"],"tū jiā":["宊"],sòng:["宋","訟","誦","讼","诵","送","鎹","頌","颂","餸"],ròu:["宍","肉","譳"],zhūn:["宒","窀","衠","諄","谆","迍"],"mì fú":["宓"],"dàng tàn":["宕"],"wǎn yuān":["宛"],chǒng:["宠","寵"],qún:["宭","峮","帬","羣","群","裙","裠"],zǎi:["宰","崽"],"bǎo shí":["宲"],"jiā jia jie":["家"],"huāng huǎng":["宺"],kuān:["宽","寛","寬","臗","鑧","髋","髖"],"sù xiǔ xiù":["宿"],"jié zǎn":["寁"],"bìng bǐng":["寎"],"jìn qǐn":["寖"],"lóu jù":["寠"],"xiě xiè":["寫"],"qīn qìn":["寴"],cùn:["寸","籿"],duì:["对","対","對","怼","憝","懟","濧","瀩","碓","祋","綐","薱","譈","譵","轛","队","陮"],"lüè luó":["寽"],"shè yè yì":["射"],"jiāng jiàng qiāng":["将"],"jiāng jiàng":["將","浆","漿","畺"],zūn:["尊","嶟","樽","罇","遵","鐏","鱒","鳟","鶎","鷷","𨱔"],"shù zhù":["尌","澍"],xiǎo:["小","晓","暁","曉","皛","皢","筱","筿","篠","謏","𫍲"],"jié jí":["尐","诘","鞊"],"shǎo shào":["少"],ěr:["尒","尓","尔","栮","毦","洱","爾","珥","耳","薾","衈","趰","迩","邇","鉺","铒","餌","饵","駬"],"wāng yóu":["尢"],wāng:["尣","尩","尪","尫","汪"],liào:["尥","尦","廖","撂","料","炓","窷","鐐","镣","𪤗"],"méng máng lóng páng":["尨"],gà:["尬","魀"],"kuì kuǐ":["尯"],tuí:["尵","弚","穨","蘈","蹪","隤","頹","頺","頽","颓","魋","𬯎"],yǐn:["尹","嶾","引","朄","檃","檼","櫽","淾","濥","瘾","癮","粌","蘟","蚓","螾","讔","赺","趛","輑","鈏","靷"],"chǐ chě":["尺"],kāo:["尻","髛"],"jìn jǐn":["尽"],"wěi yǐ":["尾"],"niào suī":["尿"],céng:["层","層","嶒","驓"],diǎo:["屌"],"píng bǐng bīng":["屏"],lòu:["屚","漏","瘘","瘺","瘻","鏤","镂","陋"],"shǔ zhǔ":["属","屬"],"xiè tì":["屟"],"chè cǎo":["屮"],"tún zhūn":["屯"],"nì jǐ":["屰"],"hóng lóng":["屸"],"qǐ kǎi":["岂","豈"],áng:["岇","昂","昻"],"gǎng gāng":["岗","崗"],kě:["岢","敤","渇","渴","炣"],gǒu:["岣","狗","玽","笱","耇","耈","耉","苟","豿"],tiáo:["岧","岹","樤","祒","笤","芀","萔","蓚","蓨","蜩","迢","鋚","鎥","鞗","髫","鯈","鰷","鲦","齠","龆"],"qū jū":["岨"],lǐng:["岭","嶺","領","领"],pò:["岶","敀","洦","湐","烞","珀","破","砶","粕","蒪","魄"],"bā kè":["峇"],luò:["峈","摞","洛","洜","犖","珞","笿","纙","荦","詻","雒","駱","骆","鵅"],"fù niè":["峊"],ěn:["峎"],"zhì shì":["峙","崻"],qiǎ:["峠","跒","酠","鞐"],"qiáo jiào":["峤","癄"],"xié yé":["峫"],bū:["峬","庯","晡","誧","逋","鈽","錻","钸","餔","鵏"],chóng:["崇","崈","爞","虫","蝩","蟲","褈","隀"],"zú cuì":["崒","椊"],"líng léng":["崚"],"dòng dōng":["崠"],xiáo:["崤","洨","淆","訤","誵"],"pí bǐ":["崥","芘"],"zhǎn chán":["崭","嶃","嶄"],"wǎi wēi":["崴"],"yáng dàng":["崵"],"shì dié":["崼"],yào:["崾","曜","熎","燿","矅","穾","窔","筄","耀","艞","药","葯","薬","藥","袎","覞","詏","讑","靿","鷂","鹞","鼼"],"kān zhàn":["嵁"],"hán dǎng":["嵅"],"qiàn kàn":["嵌"],"wù máo":["嵍"],"kě jié":["嵑","嶱"],"wēi wěi":["嵔"],kē:["嵙","柯","棵","榼","樖","牁","牱","犐","珂","疴","瞌","磕","礚","科","稞","窠","萪","薖","蚵","蝌","趷","轲","醘","鈳","钶","頦","顆","颗","髁"],"dàng táng":["嵣"],"róng yíng":["嵤","爃"],"ái kǎi":["嵦"],"kāo qiāo":["嵪"],cuó:["嵯","嵳","痤","矬","蒫","蔖","虘","鹺","鹾"],"qiǎn qīn":["嵰"],"dì dié":["嵽"],cēn:["嵾"],dǐng:["嵿","艼","薡","鐤","頂","顶","鼎","鼑"],"áo ào":["嶅"],"pǐ pèi":["嶏"],"jiào qiáo":["嶠","潐"],"jué guì":["嶡","鳜"],"zhān shàn":["嶦","鳣"],"xiè jiè":["嶰"],"guī xī juàn":["嶲"],rū:["嶿"],"lì liè":["巁","棙","爄","綟"],"xī guī juàn":["巂"],"yíng hōng":["巆"],yǐng:["巊","廮","影","摬","梬","潁","瘿","癭","矨","穎","郢","鐛","頴","颍","颕","颖"],chǎo:["巐","炒","煼","眧","麨"],cuán:["巑","櫕","欑"],chuān:["巛","川","氚","瑏","穿"],"jīng xíng":["巠"],cháo:["巢","巣","晁","漅","潮","牊","窲","罺","謿","轈","鄛","鼌"],qiǎo:["巧","愀","髜"],gǒng:["巩","廾","拱","拲","栱","汞","珙","輁","鞏"],"chà chā chāi cī":["差"],"xiàng hàng":["巷"],shuài:["帅","帥","蟀"],pà:["帊","帕","怕","袙"],"tǎng nú":["帑"],"mò wà":["帓"],"tiē tiě tiè":["帖"],zhǒu:["帚","晭","疛","睭","箒","肘","菷","鯞"],"juǎn juàn":["帣"],shuì:["帨","涗","涚","睡","稅","税","裞"],"chóu dào":["帱","幬"],"jiǎn jiān sàn":["帴"],"shà qiè":["帹"],"qí jì":["帺","荠"],"shān qiāo shēn":["幓"],"zhuàng chuáng":["幢"],"chān chàn":["幨"],miè:["幭","懱","搣","滅","灭","烕","礣","篾","蔑","薎","蠛","衊","鑖","鱴","鴓"],"gān gàn":["干"],"bìng bīng":["并","幷"],"jī jǐ":["幾"],"guǎng ān":["广"],guǎng:["広","廣","犷","獷"],me:["庅"],"dùn tún":["庉"],"bài tīng":["庍"],"yìng yīng":["应"],"dǐ de":["底"],"dù duó":["度"],"máng méng páng":["庬"],"bìng píng":["庰"],chěng:["庱","悜","睈","逞","騁","骋"],"jī cuò":["庴"],qǐng:["庼","廎","檾","漀","苘","請","謦","请","頃","顷"],"guī wěi huì":["廆"],"jǐn qín":["廑"],kuò:["廓","扩","拡","擴","濶","筈","萿","葀","蛞","闊","阔","霩","鞟","鞹","韕","頢","鬠"],"qiáng sè":["廧","薔"],"yǐn yìn":["廴","隐","隠","隱","飮","飲","饮"],"pò pǎi":["廹","迫"],"nòng lòng":["弄"],"dì tì tuí":["弟"],"jué zhāng":["弡"],"mí mǐ":["弥","彌","靡"],chāo:["弨","怊","抄","欩","訬","超","鈔","钞"],yi:["弬"],shāo:["弰","旓","烧","焼","燒","筲","艄","萷","蕱","輎","髾","鮹"],"xuān yuān":["弲"],"qiáng qiǎng jiàng":["強","强"],"tán dàn":["弹","醈"],biè:["彆"],"qiáng jiàng qiǎng":["彊"],"jì xuě":["彐"],tuàn:["彖","褖"],yuē:["彟","曰","曱","矱"],"shān xiǎn":["彡"],wén:["彣","文","炆","珳","瘒","繧","聞","芠","蚉","蚊","螡","蟁","閺","閿","闅","闦","闻","阌","雯","馼","駇","魰","鳼","鴍","鼤","𫘜"],"péng bāng":["彭"],"piāo piào":["彯"],"zhuó bó":["彴"],"tuǒ yí":["彵"],"páng fǎng":["彷"],wǎng:["彺","往","徃","惘","枉","棢","網","网","罒","罓","罔","罖","菵","蛧","蝄","誷","輞","辋","魍"],cú:["徂","殂"],"dài dāi":["待"],huái:["徊","怀","懐","懷","槐","淮","耲","蘹","褢","褱","踝"],"wā wàng jiā":["徍"],"chěng zhèng":["徎"],"dé děi de":["得"],"cóng zòng":["從"],"shì tǐ":["徥"],"tí chí":["徲","鶗","鶙"],dé:["徳","德","恴","悳","惪","淂","鍀","锝"],"zhǐ zhēng":["徴","徵"],bié:["徶","癿","莂","蛂","襒","蹩"],"chōng zhǒng":["徸"],"jiǎo jiào":["徼","笅","筊"],"lòng lǒng":["徿"],"qú jù":["忂","渠","瞿","螶"],"dìng tìng":["忊"],gǎi:["忋","改"],rěn:["忍","栠","栣","秹","稔","綛","荏","荵","躵"],chàn:["忏","懴","懺","硟","羼","韂","顫"],tè:["忑","慝","特","蟘","鋱","铽"],"tè tēi tuī":["忒"],"gān hàn":["忓","攼"],"yì qì":["忔"],"tài shì":["忕"],"xī liě":["忚"],"yīng yìng":["応","應","譍"],"mǐn wěn mín":["忞","忟"],"sōng zhōng":["忪"],"yù shū":["忬","悆"],"qí shì":["忯","耆"],"tún zhūn dùn":["忳"],"qián qín":["忴","扲"],hún:["忶","浑","渾","餛","馄","魂","鼲"],niǔ:["忸","扭","炄","狃","紐","纽","莥","鈕","钮","靵"],"kuáng wǎng":["忹"],"kāng hàng":["忼"],"kài xì":["忾","愾"],òu:["怄","慪"],"bǎo bào":["怉"],"mín mén":["怋"],"zuò zhà":["怍"],zěn:["怎"],yàng:["怏","恙","样","様","樣","漾","羕","詇"],"kòu jù":["怐"],"náo niú":["怓"],"zhēng zhèng":["怔","掙","钲","铮"],"tiē zhān":["怗"],"hù gù":["怘"],"cū jù zū":["怚"],"sī sāi":["思"],"yóu chóu":["怞"],"tū dié":["怢"],"yōu yào":["怮"],xuàn:["怰","昡","楦","泫","渲","炫","琄","眩","碹","絢","縼","繏","绚","蔙","衒","袨","贙","鉉","鏇","铉","镟","颴"],"xù xuè":["怴"],"bì pī":["怶"],"xī shù":["怸"],"nèn nín":["恁"],"tiāo yáo":["恌"],"xī qī xù":["恓"],"xiào jiǎo":["恔"],"hū kuā":["恗"],nǜ:["恧","朒","衂","衄"],hèn:["恨"],"dòng tōng":["恫"],"quán zhuān":["恮"],"è wù ě wū":["恶","惡"],tòng:["恸","慟","憅","痛","衕"],"yuān juàn":["悁"],"qiāo qiǎo":["悄"],"jiè kè":["悈"],"hào jiào":["悎"],huǐ:["悔","檓","毀","毁","毇","燬","譭"],"mán mèn":["悗","鞔"],"yī yì":["悘","衣"],quān:["悛","箞","鐉","𨟠"],"kuī lǐ":["悝"],"yì niàn":["悥"],"mèn mēn":["悶"],guàn:["悹","悺","惯","慣","掼","摜","樌","欟","泴","涫","潅","灌","爟","瓘","盥","礶","祼","罆","罐","貫","贯","躀","遦","鏆","鑵","鱹","鸛","鹳"],"kōng kǒng":["悾"],"lǔn lùn":["惀"],guǒ:["惈","果","椁","槨","粿","綶","菓","蜾","裹","褁","輠","餜","馃"],"yuān wǎn":["惌","箢"],"lán lín":["惏"],"yù xù":["惐","淢"],"chuò chuì":["惙"],"hūn mèn":["惛"],"chǎng tǎng":["惝"],"suǒ ruǐ":["惢"],cǎn:["惨","慘","憯","黪","黲","䅟"],cán:["惭","慙","慚","残","殘","蚕","蝅","蠶","蠺"],"dàn dá":["惮","憚"],rě:["惹"],"yú tōu":["愉"],"kài qì":["愒"],"dàng táng shāng yáng":["愓"],"chén xìn dān":["愖"],"kè qià":["愘"],nuò:["愞","懦","懧","掿","搦","榒","稬","穤","糑","糥","糯","諾","诺","蹃","逽","鍩","锘"],gǎn:["感","擀","敢","桿","橄","澉","澸","皯","秆","稈","笴","芉","衦","赶","趕","鱤","鳡"],"còng sōng":["愡"],"sāi sī sǐ":["愢"],"gōng gòng hǒng":["愩","慐"],"shuò sù":["愬","洬"],"yáo yào":["愮"],huàng:["愰","曂","榥","滉","皝","皩","鎤","㿠"],zhěng:["愸","抍","拯","整","晸"],cǎo:["愺","艸","草","騲"],"xì xié":["慀"],"cǎo sāo":["慅"],"xù chù":["慉"],"qiè qiàn":["慊"],"cáo cóng":["慒"],"ào áo":["慠"],"lián liǎn":["慩","梿","槤","櫣"],"jìn qín jǐn":["慬"],"dì chì":["慸"],"zhí zhé":["慹"],"lóu lǚ":["慺","鷜"],còng:["憁","謥"],"zhī zhì":["憄","知","織","织"],chēng:["憆","摚","撐","撑","晿","柽","棦","橕","檉","泟","浾","琤","瞠","碀","緽","罉","蛏","蟶","赪","赬","鏿","鐣","阷","靗","頳","饓"],biē:["憋","虌","鱉","鳖","鼈","龞"],"chéng dèng zhèng":["憕"],"xǐ xī":["憘"],"duì dùn tūn":["憞"],"xiāo jiāo":["憢"],"xián xiàn":["憪"],"liáo liǎo":["憭","燎","爎","爒"],shéng:["憴","縄","繉","繩","绳","譝"],"náo nǎo náng":["憹"],"jǐng jìng":["憼"],"jǐ jiǎo":["憿"],"xuān huān":["懁"],"cǎo sāo sào":["懆"],mèn:["懑","懣","暪","焖","燜"],"mèng méng měng":["懜"],"ài yì nǐ":["懝"],"méng měng":["懞","瞢","矒"],"qí jī jì":["懠"],mǒ:["懡"],"lán xiàn":["懢"],"yōu yǒu":["懮"],"liú liǔ":["懰","藰"],ràng:["懹","譲","讓","让"],huān:["懽","欢","歓","歡","獾","讙","貛","酄","驩","鴅","鵍"],nǎn:["戁","揇","湳","煵","腩","蝻","赧"],"mí mó":["戂"],"gàng zhuàng":["戅","戆"],"zhuàng gàng":["戇"],"xū qu":["戌"],"xì hū":["戏","戯","戲"],"jiá gā":["戛"],zéi:["戝","蠈","賊","贼","鰂","鱡","鲗"],děng:["戥","等"],"hū xì":["戱"],chuō:["戳","踔","逴"],"biǎn piān":["扁"],"shǎng jiōng":["扄"],"shàn shān":["扇"],cái:["才","材","纔","裁","財","财"],"zhā zā zhá":["扎"],"lè lì cái":["扐"],"bā pá":["扒"],"dǎ dá":["打"],rēng:["扔"],"fǎn fú":["払"],"diǎo dí yuē lì":["扚"],"káng gāng":["扛"],"yū wū":["扜"],"yū wū kū":["扝"],"tuō chǐ yǐ":["扡"],"gǔ jié xì gē":["扢"],dèn:["扥","扽"],"sǎo sào":["扫","掃"],rǎo:["扰","擾","隢"],"xī chā qì":["扱"],"bān pān":["扳"],"bā ào":["扷"],"xī zhé":["扸"],"zhì sǔn kǎn":["扻"],zhǎo:["找","沼","瑵"],"kuáng wǎng zài":["抂"],"hú gǔ":["抇","鹄","鹘"],"bǎ bà":["把"],"dǎn shěn":["抌"],"nè nì ruì nà":["抐"],zhuā:["抓","檛","簻","膼","髽"],póu:["抔","裒"],"zhé shé zhē":["折"],"póu pōu fū":["抙","捊"],pāo:["抛","拋","脬","萢"],"ǎo ào niù":["抝"],"lūn lún":["抡","掄"],"qiǎng qiāng chēng":["抢"],"zhǐ zhǎi":["抧"],"bù pū":["抪","柨"],"yǎo tāo":["抭"],"hē hè qiā":["抲"],"nǐ ní":["抳"],"pī pēi":["抷"],"mǒ mò mā":["抹"],chōu:["抽","犨","犫","瘳","篘"],"jiā yá":["拁"],"fú bì":["拂","畐","鶝"],zhǎ:["拃","眨","砟","鮺","鲝"],"dān dàn dǎn":["担"],"chāi cā":["拆"],niān:["拈","蔫"],"lā lá lǎ là":["拉"],"bàn pàn":["拌"],pāi:["拍"],līn:["拎"],guǎi:["拐","枴","柺"],"tuò tà zhí":["拓"],"ào ǎo niù":["拗"],"jū gōu":["拘"],"pīn pàn fān":["拚"],"bài bái":["拜"],bài:["拝","敗","稗","粺","薭","贁","败","韛"],qiá:["拤"],"nǐng níng nìng":["拧"],"zé zhái":["择","擇"],hén:["拫","痕","鞎"],"kuò guā":["括"],"jié jiá":["拮"],nǐn:["拰"],shuān:["拴","栓","閂","闩"],"cún zùn":["拵"],"zā zǎn":["拶","桚"],kǎo:["拷","攷","栲","烤","考"],"yí chǐ hài":["拸"],"cè sè chuò":["拺"],"zhuài zhuāi yè":["拽"],"shí shè":["拾"],bāi:["挀","掰"],"kuò guāng":["挄"],nòng:["挊","挵","齈"],"jiào jiāo":["挍","敎","教"],"kuà kū":["挎"],"ná rú":["挐"],"tiāo tiǎo":["挑"],"dié shè":["挕"],liě:["挘","毟"],"yà yǎ":["挜","掗"],"wō zhuā":["挝"],"xié jiā":["挟","挾"],"dǎng dàng":["挡","擋"],"zhèng zhēng":["挣","正","症"],"āi ái":["挨"],"tuō shuì":["挩","捝"],"tǐ tì":["挮"],"suō shā":["挱"],"sā shā suō":["挲"],"kēng qiān":["挳","摼"],"bàng péng":["挷"],"ruó ruá":["挼"],"jiǎo kù":["捁"],"wǔ wú":["捂"],tǒng:["捅","桶","筒","筩","統","綂","统","㛚"],"huò chì":["捇"],"tú shū chá":["捈"],"lǚ luō":["捋"],"shāo shào":["捎","稍"],niē:["捏","揑"],"shù sǒng sōu":["捒"],"yé yú":["捓"],"jué zhuó":["捔"],"bù pú zhì":["捗"],zùn:["捘","銌"],lāo:["捞","撈","粩"],sǔn:["损","損","榫","笋","筍","箰","鎨","隼"],"wàn wǎn wān yù":["捥"],pěng:["捧","淎","皏"],shě:["捨"],"fǔ fù bǔ":["捬"],dáo:["捯"],"luò luǒ wǒ":["捰"],"juǎn quán":["捲"],"chēn tiǎn":["捵"],"niǎn niē":["捻"],"ruó wěi ré":["捼"],zuó:["捽","昨","秨","稓","筰","莋","鈼"],"wò xiá":["捾"],"qìng qiàn":["掅"],"póu pǒu":["掊"],qiā:["掐","葜"],"pái pǎi":["排"],"qiān wàn":["掔"],"yè yē":["掖"],"niè nǐ yì":["掜"],"huò xù":["掝"],"yàn shàn yǎn":["掞"],"zhěng dìng":["掟"],kòng:["控","鞚"],tuī:["推","蓷","藬"],"zōu zhōu chōu":["掫"],tiàn:["掭","舚"],kèn:["掯","裉","褃"],pá:["掱","杷","潖","爬","琶","筢"],"guó guāi":["掴"],"dǎn shàn":["掸","撣"],"chān xiān càn shǎn":["掺"],sāo:["掻","搔","溞","繅","缫","螦","騒","騷","鰠","鱢","鳋"],pèng:["掽","椪","槰","碰","踫"],"zhēng kēng":["揁"],"jiū yóu":["揂"],"jiān jiǎn":["揃","籛"],"pì chè":["揊"],"sāi zǒng cāi":["揌"],"tí dī dǐ":["提"],"zǒng sōng":["揔"],"huáng yóng":["揘"],"zǎn zuàn":["揝"],"xū jū":["揟"],"ké qiā":["揢"],"chuāi chuǎi chuài tuán zhuī":["揣"],"dì tì":["揥"],"lá là":["揦"],là:["揧","楋","溂","瓎","瘌","翋","臘","蝋","蝲","蠟","辢","辣","鑞","镴","鬎","鯻","𬶟"],"jiē qì":["揭"],"chòng dǒng":["揰"],"dié shé yè":["揲"],"jiàn qián jiǎn":["揵"],yé:["揶","爷","爺","瑘","鋣","鎁","铘"],chān:["搀","摻","攙","裧","襜","覘","觇","辿","鋓"],"gē gé":["搁","擱"],"lǒu lōu":["搂","摟"],"chōu zǒu":["搊"],chuāi:["搋"],sūn:["搎","槂","狲","猻","荪","蓀","蕵","薞","飧","飱"],"róng náng nǎng":["搑"],"péng bàng":["搒"],cuō:["搓","瑳","磋","蹉","遳","醝"],"kē è":["搕"],"nù nuò nòu":["搙"],"lā xié xiàn":["搚"],qiǔ:["搝","糗"],"xiǎn xiān":["搟"],"jié zhé":["搩"],"pán bān pó":["搫"],bān:["搬","攽","斑","斒","班","瘢","癍","肦","螁","螌","褩","辬","頒","颁","𨭉"],"zhì nái":["搱"],"wā wǎ wà":["搲"],huá:["搳","撶","滑","猾","蕐","螖","譁","鏵","铧","驊","骅","鷨"],"qiāng qiǎng chēng":["搶"],"tián shēn":["搷"],"ná nuò":["搻"],èn:["摁"],"shè niè":["摄","攝"],bìn:["摈","擯","殡","殯","膑","臏","髌","髕","髩","鬂","鬓","鬢"],"shā sà shǎi":["摋"],"chǎn sùn":["摌"],"jiū liú liáo jiǎo náo":["摎"],"féng pěng":["摓"],shuāi:["摔"],"dì tú zhí":["摕"],"qì jì chá":["摖"],"sōu sǒng":["摗"],"liǎn liàn":["摙"],"gài xì":["摡"],"hù chū":["摢"],tàng:["摥","烫","燙","鐋"],"nái zhì":["摨"],"mó mā":["摩"],"jiāng qiàng":["摪"],"áo qiáo":["摮"],"niè chè":["摰"],"mán màn":["摱"],"chàn cán":["摲"],"sè mí sù":["摵"],"biāo biào":["摽"],"juē jué":["撅"],piē:["撆","暼","氕","瞥"],"piě piē":["撇"],"zǎn zān zēn qián":["撍"],"sā sǎ":["撒"],hòng:["撔","訌","讧","闀","鬨"],"héng guàng":["撗"],niǎn:["撚","撵","攆","涊","焾","碾","簐","蹍","蹨","躎","輦","辇"],"chéng zhěng":["撜"],"huī wéi":["撝"],cāo:["撡","操","糙"],"xiāo sōu":["撨"],"liáo liāo":["撩"],"cuō zuǒ":["撮"],"wěi tuǒ":["撱"],cuān:["撺","攛","汆","蹿","躥","鑹","镩"],"qiào yāo jī":["撽"],"zhuā wō":["撾"],"lèi léi":["擂"],nǎng:["擃","攮","曩","灢"],"qíng jǐng":["擏"],kuǎi:["擓","蒯","㧟"],"pǐ bò":["擗"],"bò bāi":["擘"],"jù jǐ":["據"],mēng:["擝"],"sǒu sòu":["擞"],xǐng:["擤","箵","醒"],cā:["擦"],"níng nǐng nìng":["擰"],"zhì jié":["擳"],"là liè":["擸","爉"],"sòu sǒu":["擻"],"lì luò yuè":["擽"],"tī zhāi zhì":["擿"],pān:["攀","潘","眅","萠"],lèi:["攂","泪","涙","淚","禷","类","纇","蘱","酹","銇","錑","頛","頪","類","颣"],"cā sǎ":["攃"],"jùn pèi":["攈"],"lì luò":["攊","躒"],"là lài":["攋","櫴"],"lú luó":["攎"],"zǎn cuán":["攒"],"xiān jiān":["攕"],"mí mǐ mó":["攠"],"zǎn cuán zàn zuān":["攢"],zuàn:["攥"],"lì shài":["攦"],"lì luǒ":["攭"],"guǐ guì":["攱"],"jī qī yǐ":["攲"],fàng:["放"],"wù móu":["敄"],"chù shōu":["敊"],"gé guó è":["敋"],"duó duì":["敓","敚"],"duō què":["敠","敪"],"sàn sǎn":["散"],"dūn duì":["敦","镦"],"qī yǐ jī":["敧"],"xiào xué":["敩"],"shù shǔ shuò":["数","數"],"ái zhú":["敱","敳"],"xiòng xuàn":["敻"],"zhuó zhú":["斀"],"yì dù":["斁"],"lí tái":["斄"],"fěi fēi":["斐"],"yǔ zhōng":["斔"],"dòu dǒu":["斗"],"wò guǎn":["斡"],"tǒu tiǎo":["斢"],dòu:["斣","梪","浢","痘","窦","竇","脰","荳","豆","逗","郖","酘","閗","闘","餖","饾","鬥","鬦","鬪","鬬","鬭"],"yín zhì":["斦"],"chǎn jiè":["斺"],"wū yū yú":["於"],"yóu liú":["斿"],"páng bàng":["旁"],"máo mào":["旄"],"pī bì":["旇"],"xuán xuàn":["旋"],"wú mó":["无"],zǎo:["早","枣","栆","棗","澡","璪","薻","藻","蚤"],gā:["旮"],"gàn hàn":["旰"],"tái yīng":["旲"],"xū xù":["旴"],"tūn zhùn":["旽"],"wù wǔ":["旿"],"pò pèi":["昢"],zòng:["昮","猔","疭","瘲","粽","糉","糭","縦"],ǎi:["昹","毐","矮","蔼","藹","譪","躷","霭","靄"],"huàng huǎng":["晃"],xuǎn:["晅","癣","癬","选","選"],"xù kuā":["晇"],hǒng:["晎"],shài:["晒","曬"],"yūn yùn":["晕","煴"],"shèng chéng":["晟","椉","盛"],"jǐng yǐng":["景"],shǎn:["晱","熌","睒","覢","閃","闪","陕","陝"],"qǐ dù":["晵"],"ǎn àn yǎn":["晻"],"wǎng wàng":["暀"],zàn:["暂","暫","瓉","瓒","瓚","禶","襸","讃","讚","賛","贊","赞","蹔","鄼","錾","鏨","饡"],"yùn yūn":["暈"],"mín mǐn":["暋"],"dǔ shǔ":["暏"],shǔ:["暑","曙","潻","癙","糬","署","薥","薯","藷","蜀","蠴","襡","襩","鱪","鱰","黍","鼠","鼡"],"jiǎn lán":["暕"],nuǎn:["暖","煗","餪"],"bào pù":["暴"],"xī xǐ":["暿"],"pù bào":["曝","瀑"],"qū qǔ":["紶"],"qǔ qū":["曲"],"gèng gēng":["更"],"hū hù":["曶","雽"],"zēng céng":["曽","橧"],"céng zēng":["曾","竲"],"cǎn qián jiàn":["朁"],"qiè hé":["朅"],"bì pí":["朇","禆","笓","裨"],"yǒu yòu":["有"],"bān fén":["朌","鳻"],"fú fù":["服","洑"],"fěi kū":["朏","胐"],"qú xù chǔn":["朐"],"juān zuī":["朘"],"huāng máng wáng":["朚"],"qī jī":["期"],"tóng chuáng":["朣","橦"],zhá:["札","牐","箚","蚻","譗","鍘","铡","閘","闸"],"zhú shù shú":["朮"],"shù shú zhú":["术"],"zhū shú":["朱"],"pǔ pò pō piáo":["朴"],"dāo tiáo mù":["朷"],"guǐ qiú":["朹"],xiǔ:["朽","滫","潃","糔"],"chéng chēng":["朾"],zá:["杂","沯","砸","襍","雑","雜","雥","韴"],"yú wū":["杅"],"gān gǎn":["杆"],"chā chà":["杈"],"shān shā":["杉"],cūn:["村","皴","竴","膥","踆","邨"],"rèn ér":["杒","梕"],"sháo biāo":["杓"],"dì duò":["杕","枤"],"gū gài":["杚"],"yí zhì lí duò":["杝"],"gàng gāng":["杠"],"tiáo tiāo":["条","條"],"mà mǎ":["杩"],"sì zhǐ xǐ":["杫"],"yuán wán":["杬","蚖"],"bèi fèi":["杮"],"shū duì":["杸"],"niǔ chǒu":["杻"],"wò yuè":["枂","臒"],máo:["枆","毛","氂","渵","牦","矛","罞","茅","茆","蝥","蟊","軞","酕","鉾","錨","锚","髦","鶜"],"pī mì":["枈"],àng:["枊","盎","醠"],"fāng bìng":["枋"],"hù dǐ":["枑"],xín:["枔","襑","鐔","鬵"],"yāo yǎo":["枖"],"ě è":["枙"],"zhī qí":["枝"],"cōng zōng":["枞","樅"],"xiān zhēn":["枮"],"tái sì":["枱"],"gǒu jǔ gōu":["枸"],"bāo fú":["枹"],"yì xiè":["枻","栧"],"tuó duò":["柁","馱","駄","驮"],"yí duò lí":["柂"],"nǐ chì":["柅"],"pán bàn":["柈","跘"],"yǎng yàng yāng yīng":["柍"],"fù fū fǔ":["柎"],"bǎi bó bò":["柏"],mǒu:["某"],"sháo shào":["柖"],zhè:["柘","樜","浙","淛","蔗","蟅","這","鷓","鹧","䗪"],"yòu yóu":["柚","櫾"],"guì jǔ":["柜"],"zhà zuò":["柞"],"dié zhì":["柣","眰"],"zhā zǔ zū":["柤"],"chá zhā":["查","査"],"āo ào":["柪","軪"],"bā fú pèi bó biē":["柭"],"duò zuó wù":["柮"],"bì bié":["柲"],"zhù chù":["柷"],"bēi pēi":["柸"],"shì fèi":["柹"],"shān zhà shi cè":["栅"],"lì yuè":["栎","櫟"],"qì qiè":["栔","砌"],"qī xī":["栖","蹊"],"guā kuò":["栝"],"bīng bēn":["栟"],"xiào jiào":["校"],"jiàn zùn":["栫","袸"],"yǒu yù":["栯"],"hé hú":["核"],gēn:["根","跟"],"zhī yì":["栺"],"gé gē":["格"],"héng háng":["桁"],"guàng guāng":["桄"],"yí tí":["桋","荑"],sāng:["桑","桒","槡"],"jú jié":["桔"],"yú móu":["桙"],"ráo náo":["桡","橈"],"guì huì":["桧","檜"],"chén zhèn":["桭"],"tīng yíng":["桯"],"bó po":["桲"],"bèn fàn":["桳"],"fēng fèng":["桻","葑"],"sù yìn":["梀"],"tǐng tìng":["梃"],"xuān juān xié":["梋"],"tú chá":["梌"],"āo yòu":["梎"],kuǎn:["梡","欵","款","歀"],"shāo sào":["梢"],"qín chén cén":["梣"],"lí sì qǐ":["梩"],"chān yán":["梴"],"bīn bīng":["梹","槟","檳"],"táo chóu dào":["梼"],"cōng sōng":["棇"],"gùn hùn":["棍"],"dé zhé":["棏"],"pái bèi pèi":["棑"],"bàng pǒu bèi bēi":["棓"],"dì dài tì":["棣"],sēn:["森","椮","槮","襂"],"rěn shěn":["棯"],"léng lēng líng":["棱"],"fú sù":["棴"],"zōu sǒu":["棷"],zōu:["棸","箃","緅","諏","诹","邹","郰","鄒","鄹","陬","騶","驺","鯫","鲰","黀","齱","齺"],"zhào zhuō":["棹"],"chēn shēn":["棽"],"jiē qiè":["椄"],"yǐ yī":["椅"],"chóu zhòu diāo":["椆"],"qiāng kōng":["椌"],"zhuī chuí":["椎"],"bēi pí":["椑"],mēn:["椚"],"quān juàn quán":["椦"],"duǒ chuán":["椯"],"wěi huī":["椲"],"jiǎ jiā":["椵"],"hán jiān":["椷"],"shèn zhēn":["椹"],"yàn yà":["椻"],"zhā chá":["楂"],"guō kuǎ":["楇"],"jí zhì":["楖"],"kǔ hù":["楛"],"yóu yǒu":["楢"],"sǒng cōng":["楤"],"yuán xuàn":["楥"],"yǎng yàng yīng":["楧"],pián:["楩","胼","腁","賆","蹁","駢","騈","骈","骿","㛹"],"dié yè":["楪"],"dùn shǔn":["楯"],"còu zòu":["楱"],"dì dǐ shì":["楴"],"kǎi jiē":["楷"],"róu ròu":["楺"],"lè yuè":["楽"],"wēn yùn":["榅","鞰"],lǘ:["榈","櫚","氀","膢","藘","閭","闾","驢","驴"],shén:["榊","神","鉮","鰰","𬬹"],"bī pi":["榌"],"zhǎn niǎn zhèn":["榐"],"fú fù bó":["榑"],"jiàn jìn":["榗"],"bǎng bàng":["榜"],"shā xiè":["榝","樧"],nòu:["槈","耨","鎒","鐞"],"qiǎn lián xiàn":["槏"],gàng:["槓","焵","焹","筻","鿍"],gāo:["槔","槹","橰","櫜","睾","篙","糕","羔","臯","韟","餻","高","髙","鷎","鷱","鼛"],"diān zhěn zhēn":["槙"],"kǎn jiàn":["槛"],"xí dié":["槢"],"jī guī":["槣"],"róng yōng":["槦"],"tuán shuàn quán":["槫"],"qì sè":["槭"],"cuī zhǐ":["槯"],"yǒu chǎo":["槱"],"màn wàn":["槾"],"lí chī":["樆"],"léi lěi":["樏","櫑","礌"],"cháo jiǎo chāo":["樔"],"chēng táng":["樘"],"jiū liáo":["樛"],"mó mú":["模"],"niǎo mù":["樢"],"héng hèng":["横","橫"],xuě:["樰","膤","艝","轌","雪","鱈","鳕"],"fá fèi":["橃"],rùn:["橍","润","潤","膶","閏","閠","闰"],"zhǎn jiǎn":["橏"],shùn:["橓","瞚","瞬","舜","蕣","順","顺","鬊"],"tuí dūn":["橔"],"táng chēng":["橖"],"sù qiū":["橚"],"tán diàn":["橝"],"fén fèn fèi":["橨"],"rǎn yān":["橪"],"cū chu":["橻"],"shū qiāo":["橾"],"píng bò":["檘"],"zhái shì tú":["檡"],"biǎo biāo":["檦"],"qiān lián":["檶"],"nǐ mí":["檷"],"jiàn kǎn":["檻"],"nòu ruǎn rú":["檽"],"jī jì":["櫅","禨"],"huǎng guǒ gǔ":["櫎"],"lǜ chū":["櫖"],"miè mèi":["櫗"],ōu:["櫙","欧","歐","殴","毆","瓯","甌","膒","藲","謳","讴","鏂","鴎","鷗","鸥"],"zhù zhuó":["櫡"],"jué jì":["櫭"],"huái guī":["櫰"],"chán zhàn":["欃"],"wéi zuì":["欈"],cáng:["欌","鑶"],"yù yì":["欥"],"chù qù xì":["欪"],"kài ài":["欬"],"yì yīn":["欭"],"xì kài":["欯"],"shuò sòu":["欶"],"ǎi ēi éi ěi èi ê̄ ế ê̌ ề":["欸"],"qī yī":["欹"],"chuā xū":["欻"],"chǐ chuài":["欼"],"kǎn qiàn":["欿"],"kǎn kè":["歁"],"chuǎn chuán":["歂"],"yīn yān":["歅"],"jìn qūn":["歏"],pēn:["歕"],"xū chuā":["歘"],"xī shè":["歙"],"liǎn hān":["歛"],"zhì chí":["歭"],"sè shà":["歰"],sǐ:["死"],"wěn mò":["歾"],piǎo:["殍","皫","瞟","醥","顠"],"qíng jìng":["殑"],"fǒu bó":["殕"],"zhí shi":["殖"],"yè yān yàn":["殗"],"hūn mèi":["殙"],chòu:["殠","臰","遚"],"kuì huì":["殨","溃","潰"],cuàn:["殩","熶","爨","窜","竄","篡","簒"],"yīn yān yǐn":["殷"],"qìng kēng shēng":["殸"],"yáo xiáo xiào":["殽"],"gū gǔ":["毂","蛄"],"guàn wān":["毌"],"dú dài":["毒"],"xún xùn":["毥"],mú:["毪","氁"],"dòu nuò":["毭"],"sāi suī":["毸"],lu:["氇"],sào:["氉","瘙","矂","髞"],"shì zhī":["氏"],"dī dǐ":["氐"],"máng méng":["氓"],"yáng rì":["氜"],shuǐ:["水","氵","氺","閖"],"zhěng chéng zhèng":["氶"],tǔn:["氽"],"fán fàn":["氾"],"guǐ jiǔ":["氿"],"bīn pà pā":["汃"],"zhuó què":["汋"],"dà tài":["汏"],pìn:["汖","牝","聘"],"hàn hán":["汗","馯"],tu:["汢"],"tāng shāng":["汤","湯"],"zhī jì":["汥"],"gàn hán cén":["汵"],"wèn mén":["汶"],"fāng pāng":["汸"],"hǔ huǎng":["汻"],"niú yóu":["汼"],hàng:["沆"],"shěn chén":["沈"],"dùn zhuàn":["沌"],"nǜ niǔ":["沑"],"méi mò":["沒","没"],"tà dá":["沓"],"mì wù":["沕"],"hóng pāng":["沗"],"shā shà":["沙"],"zhuǐ zǐ":["沝"],"ōu òu":["沤","漚"],"jǔ jù":["沮"],"tuō duó":["沰"],"mǐ lì":["沵"],"yí chí":["沶"],"xiè yì":["泄"],"bó pō":["泊"],"mì bì":["泌","秘"],"chù shè":["泏"],"yōu yòu āo":["泑"],"pēng píng":["泙","硑"],"pào pāo":["泡"],"ní nì":["泥","秜"],"yuè sà":["泧"],"jué xuè":["泬","疦"],"lóng shuāng":["泷","瀧"],"luò pō":["泺","濼"],"zé shì":["泽","澤"],"sǎ xǐ":["洒"],"sè qì zì":["洓"],"xǐ xiǎn":["洗"],"kǎo kào":["洘"],"àn yàn è":["洝"],"lěi lèi":["洡"],"qiè jié":["洯"],"qiǎn jiān":["浅"],"jì jǐ":["济","済","濟","纪"],"hǔ xǔ":["浒","滸"],"jùn xùn":["浚","濬"],"yǐng chéng yíng":["浧"],"liàn lì":["浰"],"féng hóng":["浲","溄"],"jiǒng jiōng":["浻"],"suī něi":["浽"],"yǒng chōng":["涌"],"tūn yūn":["涒"],"wō guō":["涡","渦"],hēng:["涥","脝"],"zhǎng zhàng":["涨","漲"],"shòu tāo":["涭"],shuàn:["涮","腨"],"kōng náng":["涳"],"wò wǎn yuān":["涴"],"tuō tuò":["涶"],wō:["涹","猧","窝","窩","莴","萵","蜗","蝸","踒"],"qiè jí":["淁"],"guǒ guàn":["淉"],"lín lìn":["淋","獜","疄"],"tǎng chǎng":["淌"],"nào chuò zhuō":["淖"],"péng píng":["淜"],féi:["淝","肥","腓","蜰"],"pì pèi":["淠"],"niǎn shěn":["淰"],"biāo hǔ":["淲"],"chún zhūn":["淳"],"hùn hún":["混"],qiǎn:["淺","繾","缱","肷","膁","蜸","譴","谴","遣","鑓"],"wèn mín":["渂"],"rè ruò luò":["渃"],"dú dòu":["渎","瀆","读"],"jiàn jiān":["渐","溅","漸","濺"],"miǎn shéng":["渑","澠"],"nuǎn nuán":["渜"],"qiú wù":["渞"],"tíng tīng":["渟"],"dì tí dī":["渧"],"gǎng jiǎng":["港"],"hōng qìng":["渹"],tuān:["湍","煓"],"huì mǐn xū":["湏"],"xǔ xù":["湑"],pén:["湓","瓫","盆","葐"],"mǐn hūn":["湣"],"tuàn nuǎn":["湪"],"qiū jiǎo":["湫","湬"],"yān yīn":["湮"],"bàn pán":["湴"],"zhuāng hún":["湷"],"yàn guì":["溎"],"lián liǎn nián xián xiàn":["溓"],"dá tǎ":["溚","鿎"],"liū liù":["溜","澑","蹓"],lùn:["溣"],mǎ:["溤","犸","獁","玛","瑪","码","碼","遤","鎷","馬","马","鰢","鷌"],"zhēn qín":["溱"],"nì niào":["溺"],"chù xù":["滀","畜"],"wěng wēng":["滃"],"hào xuè":["滈"],"qì xì xiē":["滊"],"xíng yíng":["滎"],"zé hào":["滜"],"piāo piào piǎo":["漂"],"cóng sǒng":["漎"],"féng péng":["漨"],"luò tà":["漯"],"pēng bēn":["漰"],"chóng shuāng":["漴"],"huǒ kuò huò":["漷"],"liáo liú":["漻"],"cuǐ cuī":["漼"],"cóng zǒng":["潀"],"cóng zōng":["潈"],"pì piē":["潎"],"dàng xiàng":["潒"],"huáng guāng":["潢"],"liáo lào lǎo":["潦"],"cōng zòng":["潨"],"zhí zhì":["潪"],"tān shàn":["潬"],"tú zhā":["潳"],"sàn sǎ":["潵"],hēi:["潶","黑","黒","𬭶"],"chéng dèng":["澄","瀓"],"cūn cún":["澊"],"péng pēng":["澎"],"hòng gǒng":["澒","銾"],"wàn màn":["澫"],"kuài huì":["澮"],"guō wō":["濄"],"pēn fén":["濆"],"jí shà":["濈"],"huì huò":["濊"],"dǐng tìng":["濎"],"mǐ nǐ":["濔"],"bì pì":["濞"],"cuì zuǐ":["濢"],"hù huò":["濩"],"ǎi kài kè":["濭"],"wěi duì":["濻","瀢"],"zàn cuán":["濽","灒"],"yǎng yàng":["瀁"],"wǎng wāng":["瀇"],"mò miè":["瀎","眜"],suǐ:["瀡","膸","髓"],"huái wāi":["瀤"],"zùn jiàn":["瀳"],"yīng yǐng yìng":["瀴"],"ráng ràng":["瀼"],shuàng:["灀"],"zhuó jiào zé":["灂"],sǎ:["灑","訯","靸"],"luán luàn":["灓"],"dǎng tǎng":["灙"],"xún quán quàn":["灥"],"huǒ biāo":["灬"],"zhà yù":["灹"],"fén bèn":["炃"],"jiǒng guì":["炅"],"pàng fēng":["炐"],quē:["炔","缺","缼","蒛"],biān:["炞","煸","甂","砭","笾","箯","籩","編","编","蝙","邉","邊","鍽","鞭","鯾","鯿","鳊"],"zhāo zhào":["炤"],"zhuō chù":["炪"],"pào páo bāo":["炮"],"páo fǒu":["炰"],"shǎn qián shān":["炶"],"zhà zhá":["炸"],"jiǎo yào":["烄"],quǎn:["烇","犬","犭","畎","綣","绻","虇"],"yàng yáng":["烊"],"lào luò":["烙"],"huí huǐ":["烠"],rè:["热","熱"],"fú páo":["烰"],"xiè chè":["烲","焎"],"yàn shān":["烻"],"hūn xūn":["焄"],kào:["焅","犒","銬","铐","靠","鮳","鯌","鲓","㸆"],"juān yè":["焆"],"jùn qū":["焌"],"tāo dào":["焘"],"chǎo jù":["焣"],"wò ài":["焥"],"zǒng cōng":["焧"],"xī yì":["焬"],"xìn xīn":["焮"],"chāo zhuō":["焯"],"xiǒng yīng":["焸","焽"],kuǐ:["煃","跬","蹞","頍","𫠆"],"huī yùn xūn":["煇"],"jiǎo qiāo":["煍"],"qián shǎn shān":["煔"],"xī yí":["煕"],"shà shā":["煞"],"yè zhá":["煠"],"yáng yàng":["煬"],"ēn yūn":["煾"],"yūn yǔn":["熅"],"hè xiāo":["熇"],xióng:["熊","熋","雄"],"xūn xùn":["熏","爋"],gòng:["熕","貢","贡"],liū:["熘"],"cōng zǒng":["熜"],"lù āo":["熝"],"shú shóu":["熟"],"fēng péng":["熢"],"cuǐ suī":["熣"],tēng:["熥","膯","鼟"],"yùn yù":["熨"],"áo āo":["熬"],"hàn rǎn":["熯"],"ōu ǒu":["熰"],"huáng huǎng":["熿"],"chǎn dǎn chàn":["燀"],"jiāo zhuó qiáo jué":["燋"],"yàn yān":["燕"],"tài liè":["燤"],āo:["爊"],"yàn xún":["爓"],"jué jiào":["爝","覐","覚","覺","觉"],"lǎn làn":["爦"],"zhuǎ zhǎo":["爪"],"zhǎo zhuǎ":["爫"],"fù fǔ":["父"],diē:["爹","褺","跌"],zāng:["牂","羘","臧","賍","賘","贓","贜","赃","髒"],"piàn piān":["片"],"biān miàn":["牑"],bǎng:["牓","綁","绑"],"yǒu yōng":["牗"],"chēng chèng":["牚","竀"],niú:["牛","牜"],"jiū lè":["牞"],"mù móu":["牟"],māng:["牤"],"gē qiú":["牫"],"yòu chōu":["牰"],"tè zhí":["犆"],bēn:["犇","錛","锛"],"jiān qián":["犍","玪"],má:["犘","痲","蔴","蟇","麻"],"máo lí":["犛"],"bá quǎn":["犮"],"zhuó bào":["犳"],"àn hān":["犴"],"kàng gǎng":["犺"],"pèi fèi":["犻"],"fān huān":["犿"],kuáng:["狂","狅","誑","诳","軖","軠","鵟","𫛭"],"yí quán chí":["狋"],"xīng shēng":["狌"],"tuó yí":["狏"],kǔ:["狜","苦"],"huán huān":["狟"],"hé mò":["狢"],"tà shì":["狧"],"máng dòu":["狵"],"xī shǐ":["狶"],suān:["狻","痠","酸"],"bài pí":["猈"],"jiān yàn":["猏","豣"],"yī yǐ":["猗"],"yá wèi":["猚"],cāi:["猜"],"māo máo":["猫","貓"],"chuàn chuān":["猭"],"tuān tuàn":["猯","貒"],"yà jiá qiè":["猰"],"hè xiē gé hài":["猲"],"biān piàn":["猵","獱"],"bó pò":["猼"],"háo gāo":["獋"],"fén fèn":["獖"],"yào xiāo":["獟"],"shuò xī":["獡"],"gé liè xiē":["獦"],"nòu rú":["獳"],"náo nǎo yōu":["獶"],ráng:["獽","瓤","禳","穣","穰","蘘","躟","鬤"],"náo yōu":["獿"],"lǜ shuài":["率"],"wáng wàng":["王"],"yáng chàng":["玚"],"mín wén":["玟"],"bīn fēn":["玢"],"mén yǔn":["玧"],"qiāng cāng":["玱","瑲","篬"],"án gān":["玵"],"xuán xián":["玹"],"cī cǐ":["玼","跐"],"yí tāi":["珆"],"zǔ jù":["珇"],fà:["珐","琺","蕟","髪","髮"],"yín kèn":["珢"],"huī hún":["珲"],"xuán qióng":["琁"],"fú fū":["琈"],"bǐng pín":["琕"],"cuì sè":["琗"],"yù wéi":["琟"],"tiǎn tiàn":["琠"],"zhuó zuó":["琢"],"běng pěi":["琣"],guǎn:["琯","璭","痯","筦","管","舘","輨","錧","館","馆","鳤"],"hún huī":["琿"],"xié jiē":["瑎"],"chàng dàng yáng":["瑒"],"tiàn zhèn":["瑱"],"bīn pián":["瑸","璸"],"tú shū":["瑹"],cuǐ:["璀","皠","趡"],"zǎo suǒ":["璅"],"jué qióng":["璚"],"lú fū":["璷"],"jì zī":["璾"],suí:["瓍","綏","绥","遀","随","隨","髄"],"mí xǐ":["瓕"],"qióng wěi wèi":["瓗"],"huán yè yà":["瓛"],"bó páo":["瓟"],"zhí hú":["瓡"],piáo:["瓢","闝"],"wǎ wà":["瓦"],"xiáng hóng":["瓨"],wèng:["瓮","甕","罋","蕹","齆"],"shèn shén":["甚"],ruí:["甤","緌","蕤"],yòng:["用","砽","苚","蒏","醟","㶲"],shuǎi:["甩"],béng:["甭","甮"],"yóu zhá":["甴"],"diàn tián shèng":["甸"],"tǐng dīng":["町","甼"],"zāi zī":["甾"],"bì qí":["畁"],"dá fú":["畗"],"cè jì":["畟"],"zāi zī tián":["畠"],"zhì chóu shì":["畤"],"fān pān":["畨","番"],"shē yú":["畬"],"dāng dàng dǎng":["當"],"jiāng qiáng":["疆"],"pǐ yǎ shū":["疋"],"jié qiè":["疌"],"yí nǐ":["疑"],nè:["疒","眲","訥","讷"],"gē yì":["疙"],"nüè yào":["疟","瘧"],"lì lài":["疠","癘"],"yǎ xiā":["疨"],xuē:["疶","蒆","薛","辥","辪","靴","鞾"],"dǎn da":["疸"],"fá biǎn":["疺"],"fèi féi":["疿","痱"],"shān diàn":["痁"],"téng chóng":["痋"],"tōng tóng":["痌"],"wěi yòu yù":["痏"],"tān shǐ":["痑"],"pū pù":["痡","鋪"],"bēng péng":["痭"],"má lìn":["痳"],"tiǎn diàn":["痶"],"ān yè è":["痷"],"kē ē":["痾"],"zhì chì":["瘈"],"jiǎ xiá xiā":["瘕"],"lěi huì":["瘣"],"chài cuó":["瘥"],"diān chēn":["瘨"],"da dá":["瘩"],"biě biē":["瘪"],qué:["瘸"],"dàn dān":["癉"],"guì wēi":["癐"],"nòng nóng":["癑"],"biē biě":["癟"],"bō bǒ":["癷"],bái:["白"],"jí bī":["皀"],"de dì dí dī":["的"],"pā bà":["皅"],"gāo háo":["皋"],"gāo yáo":["皐"],"lì luò bō":["皪"],"zhā cǔ":["皻"],"zhāo zhǎn dǎn":["皽"],"jiān jiàn":["监","監","鋻","间","鞬"],"gài gě hé":["盖"],"máng wàng":["盳"],yuǎn:["盶","逺","遠"],"tián xián":["盷"],"xiāng xiàng":["相"],dǔn:["盹","趸","躉"],"xì pǎn":["盻"],"shěng xǐng":["省"],"yún hùn":["眃"],"miǎn miàn":["眄"],"kàn kān":["看"],"yìng yāng yǎng":["眏"],"yǎo āo ǎo":["眑"],"jū xū kōu":["眗"],"yí chì":["眙"],"dié tì":["眣"],"bǐng fǎng":["眪"],"pàng pán":["眫"],"mī mí":["眯","瞇"],"xuàn shùn xún":["眴"],tiào:["眺","粜","糶","覜","趒"],"zhe zhuó zháo zhāo":["着"],"qiáo shào xiāo":["睄"],"cuó zhuài":["睉"],gùn:["睔","謴"],"suì zuì":["睟"],"pì bì":["睥","稫","辟"],"yì zé gāo":["睪"],"xǐng xìng":["睲"],"guì wèi kuì":["瞆"],"kòu jì":["瞉"],"qióng huán":["瞏"],"mán mén":["瞒","瞞"],"diāo dōu":["瞗"],"lou lóu lǘ":["瞜"],"shùn rún":["瞤"],"liào liǎo":["瞭","钌"],"jiàn xián":["瞯"],"wǔ mí":["瞴"],"guì kuì":["瞶"],"nǐng chēng":["矃"],"huò yuè":["矆"],"mēng méng":["矇"],"kuàng guō":["矌"],"guàn quán":["矔"],"mǎn mán":["矕"],"jīn guān qín":["矜"],"jīn qín guān":["矝"],"yù xù jué":["矞"],"jiǎo jiáo":["矫","矯"],duǎn:["短"],"shí dàn":["石"],"gāng qiāng kòng":["矼"],"huā xū":["砉"],"pīn bīn fēn":["砏"],"yán yàn":["研","硏"],"luǒ kē":["砢"],"fú fèi":["砩","笰"],"zhǔ zhù":["砫"],"lá lì lā":["砬"],"kuāng guāng":["硄"],"gè luò":["硌"],"shuò shí":["硕","碩"],"wèi wéi ái":["硙"],"què kè kù":["硞"],"mǎng bàng":["硥"],"luò lòng":["硦"],"yǒng tóng":["硧"],nüè:["硸","虐"],"kēng kěng":["硻"],"yān yǎn":["硽"],"zhuì chuí duǒ":["硾"],"kōng kòng":["硿"],"zòng cóng":["碂"],"jiān zhàn":["碊"],"lù liù":["碌","陆"],"què xī":["碏"],"lún lǔn lùn":["碖"],"náo gāng":["碙"],"jié yà":["碣"],"wèi wěi":["碨"],"tí dī":["碮"],"chá chā":["碴"],"qiāo què":["碻"],"sù xiè":["碿"],"liú liù":["磂","遛","鎦","馏"],"sī tí":["磃"],"bàng páng":["磅"],"huá kě gū":["磆"],"wěi kuǐ":["磈"],"xiá qià yà":["磍"],"lián qiān":["磏"],"wèi ái gài":["磑"],"lá lā":["磖"],"áo qiāo":["磝"],"pēng pèng":["磞","閛"],"yīn yǐn":["磤"],"lěi léi":["磥"],"mó mò":["磨"],"qì zhú":["磩"],"láo luò":["磱"],"pán bō":["磻"],"jí shé":["磼"],"hé qiāo qiào":["礉"],"kè huò":["礊"],"què hú":["礐"],"è qì":["礘"],cǎ:["礤","礸"],"xián xín":["礥"],"léi lěi lèi":["礧"],"yán yǎn":["礹"],"qí zhǐ":["祇","蚔"],"bēng fāng":["祊"],"bì mì":["祕"],suàn:["祘","笇","筭","算","蒜"],"piào piāo":["票"],"jì zhài":["祭"],"shuì lèi":["祱"],"jìn jīn":["禁"],"chán shàn":["禅"],"yáng shāng":["禓"],"zhī zhǐ tí":["禔"],"shàn chán":["禪"],"yú yù ǒu":["禺"],"zǐ zì":["秄"],"chá ná":["秅"],"zhǒng zhòng chóng":["种"],"hào mào":["秏"],"kù kū":["秙"],zū:["租","葅"],chèng:["秤","穪"],"huó kuò":["秮","秳"],"chēng chèn chèng":["称","稱"],"shì zhì":["秲","銴"],"fù pū":["秿"],"xùn zè":["稄"],"tú shǔ":["稌"],"zhùn zhǔn":["稕"],"jī qí":["稘","綨","觭"],"léng líng":["稜"],"zuì zú sū":["稡"],"xì qiè":["稧","郄"],"zhǒng zhòng":["種"],"zōng zǒng":["稯"],"xián jiān liàn":["稴"],"zī jiū":["稵"],"jī qǐ":["稽"],ròng:["穃"],"shān cǎn cēn":["穇"],"mén méi":["穈"],"jǐ jì":["穖"],"xiāo rào":["穘"],"zhuō bó":["穛"],"tóng zhǒng zhòng":["穜"],zuō:["穝"],"biāo pāo":["穮","藨"],"zhuō jué":["穱"],"cuán zàn":["穳"],"kōng kòng kǒng":["空"],"yū yǔ":["穻"],zhǎi:["窄","鉙"],báo:["窇","雹"],"kū zhú":["窋"],"jiào liáo liù":["窌"],"wā guī":["窐"],"tiǎo yáo":["窕"],"xūn yìn":["窨"],"yà yē":["窫"],"tián diān yǎn":["窴"],"chāo kē":["窼"],"kuǎn cuàn":["窽","窾"],"chù qì":["竐"],"qǔ kǒu":["竘"],"jìng zhěn":["竧"],"kǎn kàn":["竷"],"zhú dǔ":["竺"],"lè jīn":["竻"],"zhuì ruì":["笍"],"háng hàng":["笐"],"cén jìn hán":["笒"],"dā xiá nà":["笚"],"zé zuó":["笮"],"lóng lǒng":["笼","篭","籠","躘","龓"],"zhù zhú":["筑","築"],"dá dā":["答","荅"],shāi:["筛","篩","簁","籭"],"yún jūn":["筠"],"láng làng":["筤","郎","阆"],"zhì zhǐ":["筫"],o:["筽"],"póu bù fú pú":["箁"],"pái bēi":["箄"],gè:["箇","虼","鉻","铬"],"tái chí":["箈"],"guǎi dài":["箉"],"zhào dào":["箌"],"jīng qìng":["箐"],"lín lǐn":["箖"],"jùn qūn":["箘"],"shī yí":["箷","釶"],"yuē yào chuò":["箹"],"xiāo shuò qiào":["箾"],"gōng gǎn lǒng":["篢"],"páng péng":["篣"],"zhuó huò":["篧"],"jiǎn jiān":["篯"],"dí zhú":["篴"],"zān cēn cǎn":["篸"],"zhuàn suǎn zuàn":["篹"],"piǎo biāo":["篻"],"guó guì":["簂"],"cè jí":["簎"],"mì miè":["簚"],"shāi sī":["簛"],"sǔn zhuàn":["簨"],"gàn gǎn":["簳"],"bò bǒ":["簸"],"bó bù":["簿"],shi:["籂"],"zhēn jiān":["籈"],"zhuàn zuǎn":["籑"],"fān pān biān":["籓"],"sǒu shǔ":["籔"],zuǎn:["籫","繤","纂","纉","纘","缵"],nǚ:["籹","釹","钕"],"shā chǎo":["粆"],"kāng jīng":["粇"],fěn:["粉","黺"],cū:["粗","觕","麁","麄","麤"],"nián zhān":["粘"],"cè sè":["粣"],"zhōu yù":["粥"],"shēn sǎn":["糁"],"biān biǎn":["糄","萹"],miàn:["糆","面","靣","麪","麫","麵","麺"],"hú hū hù":["糊"],"gǔ gòu":["糓"],"mí méi":["糜"],"sǎn shēn":["糝","糣"],zāo:["糟","蹧","遭","醩"],"mì sī":["糸"],"jiū jiǔ":["糺"],"xì jì":["系","繫"],"zhēng zhěng":["糽"],"chà chǎ":["紁","衩"],"yuē yāo":["約","约"],"hóng gōng":["紅","红"],"hé gē":["紇","纥"],"wén wèn":["紋","纹"],fóu:["紑"],"jì jié jiè":["紒"],"pī pí bǐ":["紕","纰"],"jīn jìn":["紟"],"zhā zā":["紥","紮"],hā:["紦"],"fū fù":["紨"],"chōu chóu":["紬"],"lèi léi lěi":["累"],"bō bì":["紴"],"tiǎn zhěn":["紾"],"jiōng jiǒng":["絅"],"jié jiē":["結","结","节"],"guà kuā":["絓"],"bǎi mò":["絔"],"gēng huán":["絙"],"jié xié":["絜"],"quán shuān":["絟"],"gǎi ǎi":["絠"],"luò lào":["絡","络"],"bīng bēng pēng":["絣"],"gěi jǐ":["給","给"],"tóng tōng dòng":["絧"],"tiào diào dào":["絩"],"lěi lèi léi":["絫"],"gāi hài":["絯"],"chī zhǐ":["絺"],"wèn miǎn mán wàn":["絻"],"huán huàn wàn":["綄"],"qīn xiān":["綅"],"tì tí":["綈"],"yán xiàn":["綖"],"zōng zèng zòng":["綜"],"chēn lín":["綝"],"zhǔn zhùn":["綧"],"qiàn qīng zhēng":["綪"],"qìng qǐ":["綮"],"lún guān":["綸","纶"],"chuò chāo":["綽","绰"],"tián tǎn chān":["緂"],"lǜ lù":["緑","绿"],"ruǎn ruàn":["緛"],"jí qī":["緝"],"zhòng chóng":["緟","重"],"miáo máo":["緢"],"xiè yè":["緤"],huǎn:["緩","缓","㬊"],"gēng gèng":["緪","縆"],"tōu xū shū":["緰"],"zōng zòng":["緵","繌"],"yùn gǔn":["緷"],"guā wō":["緺"],"yùn yūn wēn":["緼","縕"],"bāng bàng":["縍"],"gǔ hú":["縎","鶻"],"cī cuò suǒ":["縒"],"cuī shuāi":["縗"],"róng rǒng ròng":["縙"],"zài zēng":["縡"],cài:["縩","菜","蔡"],"féng fèng":["縫"],"suō sù":["縮","缩"],"yǎn yǐn":["縯","酓"],"zòng zǒng":["縱","纵"],"zhuàn juàn":["縳"],"mò mù":["縸","莫"],"piǎo piāo":["縹","缥"],"fán pó":["繁"],"bēng bèng":["繃"],"móu miù miào liǎo":["繆"],"yáo yóu zhòu":["繇"],"zēng zèng":["繒","缯"],"jú jué":["繘"],"chuō chuò":["繛"],"zūn zǔn":["繜"],rào:["繞","绕","遶"],"chǎn chán":["繟"],"huì huí":["繢","缋","藱"],"qiāo sāo zǎo":["繰"],"jiǎo zhuó":["繳","缴"],"dàn tán chán":["繵"],nǒng:["繷"],"pú fú":["纀"],"yào lì":["纅"],"rǎng xiāng":["纕"],"lí sǎ xǐ lǐ":["纚"],"xiān qiàn":["纤"],"jīng jìng":["经"],"tí tì":["绨"],"bēng běng bèng":["绷"],"zōng zèng":["综"],"jī qī":["缉"],"wēn yùn yūn":["缊"],"fèng féng":["缝"],"shuāi cuī suī":["缞"],"miù móu liáo miào mù":["缪"],"qiāo sāo":["缲"],fǒu:["缶","缹","缻","雬","鴀"],"bà ba pí":["罢","罷"],"guà guǎi":["罫"],"yáng xiáng":["羊","羏"],"měi gāo":["羙"],"yì xī":["羛"],"qiǎng qiān":["羟"],"qiāng kòng":["羫"],"qián xián yán":["羬"],nóu:["羺"],"hóng gòng":["羾"],"pī bì pō":["翍"],"qú yù":["翑"],ké:["翗"],"qiào qiáo":["翘"],"zhái dí":["翟"],"dào zhōu":["翢"],"hóu qú":["翵"],shuǎ:["耍"],"ruǎn nuò":["耎"],"ér nài":["耏"],"zhuān duān":["耑"],"pá bà":["耙"],"chí sì":["耛"],"qù chú":["耝"],"lún lǔn":["耣"],"jí jiè":["耤"],"tāng tǎng":["耥"],pǎng:["耪","覫"],"zhá zé":["耫"],"yē yé":["耶"],"yún yíng":["耺"],"wà tuǐ zhuó":["聉"],"ér nǜ":["聏"],"tiē zhé":["聑"],"dǐ zhì":["聜"],qié:["聺"],"nǐ jiàn":["聻"],"lèi lē":["肋"],cào:["肏","襙","鄵","鼜"],"bó dí":["肑"],"xiào xiāo":["肖"],"dù dǔ":["肚"],chāi:["肞","釵","钗"],"hán qín hàn":["肣"],"pàng pán pàn":["肨","胖"],"zhūn chún":["肫"],āng:["肮","骯"],"yù yō":["育"],"pí bǐ bì":["肶"],"fèi bì":["胇"],"bèi bēi":["背"],"fèi zǐ":["胏"],"píng pēng":["胓","苹"],"fū fú zhǒu":["胕"],"shèng shēng":["胜"],kuà:["胯","跨","骻"],"gǎi hǎi":["胲"],"gē gé gā":["胳"],"néng nài":["能"],"guī kuì":["胿"],"mài mò":["脉"],"zāng zàng":["脏"],"jiǎo jué":["脚","角"],cuǒ:["脞"],"de te":["脦"],"zuī juān":["脧"],něi:["脮","腇","餒","馁","鮾","鯘"],"pú fǔ":["脯"],niào:["脲"],shuí:["脽"],guò:["腂","過","鐹"],"là xī":["腊"],"yān ā":["腌"],"gāo gào":["膏"],"lù biāo":["膔"],chuái:["膗"],"zhuān chuán chún zhuǎn":["膞"],chuài:["膪","踹"],"fán pán":["膰"],"wǔ hū":["膴"],"shān dàn":["膻"],tún:["臀","臋","蛌","豘","豚","軘","霕","飩","饨","魨","鲀","黗"],"bì bei":["臂"],"là gé":["臈"],"sào sāo":["臊"],nào:["臑","閙","闹","鬧"],"ní luán":["臡"],"qiān xián":["臤"],"guàng jiǒng":["臦"],"guǎng jiǒng":["臩"],"chòu xiù":["臭"],"mián biān":["臱"],"dié zhí":["臷"],"zhī jìn":["臸"],"shè shě":["舍"],pù:["舖","舗"],"bān bō pán":["般"],kuā:["舿"],"gèn gěn":["艮"],"sè shǎi":["色"],"fú bó":["艴"],"jiāo qiú":["艽"],"chāi chā":["芆"],"sháo què":["芍"],"hù xià":["芐"],"zì zǐ":["芓"],"huì hū":["芔"],"tún chūn":["芚"],"jiè gài":["芥"],"xù zhù":["芧"],"yuán yán":["芫"],"xīn xìn":["芯"],"lún huā":["芲"],"wù hū":["芴"],"gōu gǒu":["芶"],"mào máo":["芼"],"fèi fú":["芾"],"chán yín":["苂"],qiē:["苆"],"sū sù":["苏"],"tiáo sháo":["苕"],"lì jī":["苙"],"kē hē":["苛"],"jù qǔ":["苣"],"ruò rě":["若"],"zhù níng":["苧"],"pā bó":["苩"],xiú:["苬"],"zhǎ zuó":["苲"],"jū chá":["苴"],nié:["苶"],"shēng ruí":["苼"],"qié jiā":["茄"],"zǐ cí":["茈"],"qiàn xī":["茜"],chǎi:["茝"],"fá pèi":["茷"],ráo:["荛","蕘","襓","饒","饶"],"yíng xíng":["荥"],"qián xún":["荨","蕁"],"yìn yīn":["荫"],"hé hè":["荷"],"shā suō":["莎"],"péng fēng":["莑"],"shēn xīn":["莘"],"wǎn guān guǎn":["莞"],"yóu sù":["莤"],"shāo xiāo":["莦","蛸"],"làng liáng":["莨"],"piǎo fú":["莩"],"wèn wǎn miǎn":["莬"],"shì shí":["莳","蒔"],"tù tú":["莵"],"xiān liǎn":["莶","薟"],"wǎn yù":["菀"],"zōu chù":["菆"],"lù lǜ":["菉"],"jūn jùn":["菌"],"niè rěn":["菍"],"zī zì zāi":["菑"],"tú tù":["菟"],"jiē shà":["菨"],"qiáo zhǎo":["菬"],"tái zhī chí":["菭"],"fēi fěi":["菲","蜚"],"qín qīn jīn":["菳"],"zū jù":["菹","蒩"],"lǐn má":["菻"],"tián tiàn":["菾"],tiē:["萜","貼","贴"],"luò là lào luō":["落"],"zhù zhuó zhe":["著"],"shèn rèn":["葚"],"gě gé":["葛"],"jùn suǒ":["葰"],"kuì kuài":["蒉"],"rú ná":["蒘"],"méng mēng měng":["蒙"],"yuán huán":["蒝"],"xú shú":["蒣"],"xí xì":["蒵"],"mì míng":["蓂"],"sōu sǒu":["蓃"],"gài gě hé hài":["蓋"],"yǎo zhuó":["蓔"],"diào tiáo dí":["蓧"],"xū qiū fū":["蓲"],"zí jú":["蓻"],"liǎo lù":["蓼"],xu:["蓿"],"hàn hǎn":["蔊"],"màn wàn mán":["蔓"],"pó bò":["蔢"],"fān fán bō":["蕃"],"hóng hòng":["蕻"],"yù ào":["薁","隩"],"xí xiào":["薂"],"báo bó bò":["薄"],"cí zī":["薋"],"wàn luàn":["薍"],"kǎo hāo":["薧"],"yuǎn wěi":["薳"],"zhòu chóu":["薵"],"wō mái":["薶"],"xiāo hào":["藃"],"yù xù xū":["藇"],"jiè jí":["藉"],"diào zhuó":["藋"],"cáng zàng":["藏"],lǎ:["藞"],"chú zhū":["藸"],"pín píng":["蘋"],"gān hán":["虷"],"hóng jiàng":["虹"],"huī huǐ":["虺"],"xiā há":["虾"],"mǎ mà mā":["蚂"],"fāng bàng":["蚄"],"bàng bèng":["蚌"],"jué quē":["蚗"],"qín qián":["蚙"],"gōng zhōng":["蚣"],"fǔ fù":["蚥"],"dài dé":["蚮"],"gǒu qú xù":["蚼"],"bǒ pí":["蚾"],"shé yí":["蛇"],tiě:["蛈","鉄","銕","鐡","鐵","铁","驖"],"gé luò":["蛒"],"máng bàng":["蛖"],"yì xǔ":["蛡"],"há gé":["蛤"],"qiè ní":["蛪"],"é yǐ":["蛾"],"zhē zhé":["蜇"],"là zhà":["蜡"],suò:["蜶","逤"],"yóu qiú":["蝤"],"xiā hā":["蝦"],"xī qī":["螇"],"bī pí":["螕"],"nài něng":["螚"],"hé xiá":["螛"],"guì huǐ":["螝"],"mǎ mā mà":["螞"],"shì zhē":["螫"],"zhì dié":["螲"],"jiàn chán":["螹"],"ma má mò":["蟆"],"mǎng měng":["蟒"],"biē bié":["蟞"],"bēn fèi":["蟦"],"láo liáo":["蟧"],"yín xún":["蟫"],"lí lǐ":["蠡"],"xuè xiě":["血"],"xíng háng hàng héng":["行"],"shuāi cuī":["衰"],"tuó tuō":["袉"],"lǐng líng":["袊"],"bào páo pào":["袌"],"jù jiē":["袓"],"hè kè":["袔"],"yí yì":["袘","貤"],"nà jué":["袦"],"bèi pī":["被"],"chǐ nuǒ":["袲"],"chǐ qǐ duǒ nuǒ":["袳"],"jiá qiā jié":["袷"],"bó mò":["袹"],"guī guà":["袿"],"liè liě":["裂"],"chéng chěng":["裎"],"jiē gé":["裓"],"dāo chóu":["裯"],"shang cháng":["裳"],"yuān gǔn":["裷"],"yǎn ān":["裺"],"tì xī":["裼"],"fù fú":["褔"],"chǔ zhǔ":["褚"],"tuì tùn":["褪"],lǎi:["襰"],"yào yāo":["要"],"qín tán":["覃"],"jiàn xiàn":["見","见"],piǎn:["覑","諞","谝","貵","𡎚"],"piē miè":["覕"],"yíng yǐng":["覮"],"qù qū":["覰","覷","觑"],"jiàn biǎn":["覵"],"luó luǎn":["覶"],"zī zuǐ":["觜"],"huà xiè":["觟"],"jiě jiè xiè":["解","觧"],"xué hù":["觷"],"lì lù":["觻"],tǎo:["討","讨"],zhùn:["訰"],"zī zǐ":["訾"],"yí dài":["詒","诒"],xiòng:["詗","诇"],"diào tiǎo":["誂"],"yí chǐ chì":["誃"],"lǎng làng":["誏"],"ēi éi ěi èi xī":["誒","诶"],shuà:["誜"],"yǔ yù":["語","语","雨"],"shuō shuì yuè":["說","说"],"shuí shéi":["誰","谁"],"qū juè":["誳"],"chī lài":["誺"],"nì ná":["誽"],"diào tiáo":["調"],"pǐ bēi":["諀"],"jì jī":["諅"],"zé zuò zhǎ cuò":["諎"],"chù jí":["諔"],"háo xià":["諕"],"lùn lún":["論","论"],"shì dì":["諟"],"huà guā":["諣"],"xǐ shāi āi":["諰"],"nán nàn":["諵","難"],miù:["謬","谬"],zèn:["譖","谮"],"shí zhì":["識","识"],"juàn xuān":["讂"],"yí tuī":["讉"],zhán:["讝"],"xǔ hǔ":["许"],"xiáng yáng":["详"],"tiáo diào zhōu":["调"],"chén shèn":["谌"],"mí mèi":["谜"],"màn mán":["谩"],"gǔ yù":["谷"],"huō huò huá":["豁"],"zhì zhài":["豸"],"huān huán":["貆"],"kěn kūn":["貇"],"mò hé":["貈"],"mò hé háo":["貉"],"jù lóu":["貗"],"zé zhài":["責","责"],"dài tè":["貸"],"bì bēn":["賁"],"jiǎ gǔ jià":["賈"],"xiōng mín":["賯"],càng:["賶"],"zhuàn zuàn":["賺","赚"],"wàn zhuàn":["贃"],"gàn gòng zhuàng":["贛"],"yuán yùn":["贠"],"bēn bì":["贲"],"jiǎ gǔ":["贾"],zǒu:["走","赱","鯐"],"dié tú":["趃"],"jū qiè":["趄"],"qū cù":["趋","趨"],"jí jié":["趌"],"guā huó":["趏"],"què qì jí":["趞"],"tàng tāng":["趟"],"chuō zhuó":["趠"],"qù cù":["趣"],"yuè tì":["趯"],"bō bào":["趵"],"kuà wù":["趶"],"guì jué":["趹"],"fāng fàng páng":["趽"],"páo bà":["跁"],"qí qǐ":["跂"],"jiàn chén":["跈"],"pǎo páo":["跑"],"diǎn diē tiē":["跕"],"jū jù qiè":["跙"],bǒ:["跛"],"luò lì":["跞"],"dài duò duō chí":["跢"],zhuǎi:["跩"],"bèng pián":["跰"],"tiào táo":["跳"],"shū chōu":["跾"],"liàng liáng":["踉"],"tà tā":["踏"],chǎ:["蹅","鑔","镲"],"dí zhí":["蹢"],"dēng dèng":["蹬","鐙","镫"],cèng:["蹭"],"dūn cún":["蹲"],"juě jué":["蹶"],liāo:["蹽"],"xiè sǎ":["躠"],tǐ:["躰","軆","骵"],"yà zhá gá":["轧","軋"],"xìn xiàn":["軐"],"fàn guǐ":["軓"],"zhuàn zhuǎn":["転"],"zhóu zhòu":["軸","轴"],bú:["轐","醭","鳪"],"zhuǎn zhuàn zhuǎi":["转"],"zǎi zài":["载"],"niǎn zhǎn":["辗"],"biān bian":["边"],"dào biān":["辺"],"yǐ yí":["迆","迤","迱"],"guò guo guō":["过"],"wàng kuāng":["迋"],"hái huán":["还"],"zhè zhèi":["这"],"yuǎn yuàn":["远"],"zhì lì":["迣"],"zhù wǎng":["迬"],"zhuī duī":["追"],"shì kuò":["适"],tòu:["透"],"tōng tòng":["通"],guàng:["逛"],"dǎi dài":["逮"],"suì suí":["遂"],"tí dì":["遆"],"yí wèi":["遗"],"shì dí zhé":["適"],cà:["遪"],"huán hái":["還"],"lí chí":["邌"],"kàng háng":["邟"],"nà nèi nā":["那"],"xié yá yé yú xú":["邪"],"gāi hái":["郂"],"huán xún":["郇"],"chī xī":["郗"],hǎo:["郝"],"lì zhí":["郦"],"xiáo ǎo":["郩"],"dōu dū":["都"],liǎo:["曢","鄝","镽"],"zàn cuán cuó":["酂","酇"],"dīng dǐng":["酊"],"cù zuò":["酢"],"fā pō":["酦"],"shāi shī":["酾"],niàng:["酿","醸"],"qiú chōu":["醔"],"pō fā":["醗","醱"],"chǎn chěn":["醦"],"yàn liǎn xiān":["醶"],"niàng niáng":["釀"],"lǐ li":["里"],"lí xǐ xī":["釐"],"liǎo liào":["釕"],"dīng dìng":["釘","钉"],"qiǎo jiǎo":["釥"],"yú huá":["釪"],"huá wū":["釫"],"rì rèn jiàn":["釰","釼"],"dì dài":["釱"],"pī zhāo":["釽"],"yá yé":["釾"],"bǎ pá":["鈀","钯"],"tā tuó":["鉈","铊"],běi:["鉳"],"bǐng píng":["鉼"],"hā kē":["鉿","铪"],chòng:["銃","铳"],"xiǎng jiōng":["銄"],"yù sì":["銉"],"xù huì":["銊"],"rén rěn":["銋"],"shàn shuò":["銏"],"chì lì":["銐"],"xiǎn xǐ":["銑","铣"],"hóu xiàng":["銗"],"diào tiáo yáo":["銚"],"xiān kuò tiǎn guā":["銛","銽","铦"],"zhé niè":["銸"],"zhōng yōng":["銿"],"tōu tù dòu":["鋀"],"méi méng":["鋂"],"wàn jiǎn":["鋄","鎫"],"tǐng dìng":["鋌","铤"],"juān jiān cuān":["鋑"],"sī tuó":["鋖"],"juān xuān juàn":["鋗"],"wú huá wū":["鋘"],"zhuó chuò":["鋜"],"xíng xìng jīng":["鋞"],"jū jú":["鋦","锔"],"zuì niè":["鋷"],"yuān yuǎn wǎn wān":["鋺"],"gāng gàng":["鋼","钢"],zhuī:["錐","锥","騅","骓","鵻"],ā:["錒","锕"],"cuō chā":["鎈"],"suǒ sè":["鎍"],"yáo zú":["鎐"],"yè tà gé":["鎑"],"qiāng chēng":["鎗"],"gé lì":["鎘","镉","鬲"],"bī pī bì":["鎞"],"gǎo hào":["鎬"],"zú chuò":["鏃"],"xiū xiù":["鏅"],"shòu sōu":["鏉"],"dí dī":["鏑","镝"],"qiāo sǎn càn":["鏒"],"lù áo":["鏕"],"tāng táng":["鏜"],"jiàn zàn":["鏩"],"huì suì ruì":["鏸"],"qiǎng qiāng":["鏹","镪"],"sǎn xiàn sà":["鏾"],"jiǎn jiàn":["鐧","锏"],"dāng chēng":["鐺","铛"],"zuān zuàn":["鑽"],"sà xì":["钑"],"yào yuè":["钥"],"tǒu dǒu":["钭"],"zuàn zuān":["钻"],"qiān yán":["铅"],"pí pī":["铍"],"yáo diào tiáo":["铫"],"tāng tàng":["铴"],"pù pū":["铺"],"tán xiān":["锬"],"liù liú":["镏"],"hào gǎo":["镐"],"táng tāng":["镗"],"tán chán xín":["镡"],"huò shǎn":["閄"],"hàn bì":["閈","闬"],"kāng kàng":["閌","闶"],"xián jiàn jiān jiǎn":["閒"],"xiā xiǎ":["閕"],"xiǎ kě":["閜"],"biàn guān":["閞"],"hé gé":["閤","颌"],"hòng xiàng":["閧"],"sē xī":["閪"],"tíng tǐng":["閮"],"è yān":["閼","阏"],"hòng juǎn xiàng":["闂"],"bǎn pàn":["闆"],"dū shé":["闍","阇"],"què quē":["闕"],"tāng táng chāng":["闛"],"kàn hǎn":["闞","阚"],"xì sè tà":["闟"],"mēn mèn":["闷"],"quē què":["阙"],"yán diàn":["阽"],"ā ē":["阿"],"bēi pō pí":["陂"],"yàn yǎn":["隁"],"yú yáo shù":["隃"],"lóng lōng":["隆"],"duì zhuì":["隊"],"suí duò":["隋"],"gāi qí ái":["隑"],"huī duò":["隓","隳"],"wěi kuí":["隗"],"lì dài":["隸"],"zhuī cuī wéi":["隹"],"hè hú":["隺","鶮"],"jùn juàn":["隽","雋"],"nán nàn nuó":["难"],"què qiāo qiǎo":["雀"],"guàn huán":["雚"],"guī xī":["雟"],"sè xí":["雭"],án:["雸"],"wù méng":["雺"],tèng:["霯"],"lù lòu":["露"],mái:["霾"],"jìng liàng":["靚"],"gé jí":["革"],bǎ:["靶"],"yāng yàng":["鞅"],"gé tà sǎ":["鞈"],"biān yìng":["鞕"],"qiào shāo":["鞘"],"juān xuān":["鞙"],"shàng zhǎng":["鞝"],"pí bǐng bì bēi":["鞞"],la:["鞡"],"xiè dié":["鞢"],ēng:["鞥"],"móu mù":["鞪"],"bì bǐng":["鞸"],"mèi wà":["韎"],rǒu:["韖"],"shè xiè":["韘"],"yùn wēn":["韫"],"dùn dú":["頓","顿"],duǐ:["頧"],luō:["頱"],"bīn pín":["頻"],yóng:["顒","颙","鰫"],mān:["顢","颟"],"jǐng gěng":["颈"],"jié xié jiá":["颉"],"kē ké":["颏"],"pín bīn":["频"],"chàn zhàn":["颤"],"fēng fěng":["風","风"],"biāo diū":["颩"],"bá fú":["颰"],"sāo sōu":["颾"],"liù liáo":["飂"],"shí sì yì":["食"],"yǎng juàn":["飬"],"zhù tǒu":["飳"],"yí sì":["飴"],"zuò zé zhā":["飵"],tiè:["飻","餮"],"xiǎng náng":["饟"],"táng xíng":["饧"],"gē le":["饹"],"chā zha":["馇"],"náng nǎng":["馕"],"yūn wò":["馧"],"zhī shì":["馶"],"xìn jìn":["馸"],"kuài jué":["駃"],zǎng:["駔","驵"],"tái dài":["駘"],"xún xuān":["駨"],"liáng láng":["駺"],piàn:["騗","騙","骗","魸"],"dài tái":["骀"],"sāo sǎo":["骚"],"gǔ gū":["骨"],"bèi mó":["骳"],"xiāo qiāo":["骹"],"bǎng pǎng":["髈"],"bó jué":["髉"],"bì pǒ":["髲"],"máo méng":["髳"],"kuò yuè":["髺"],"bā bà":["魞","鲃"],"jì cǐ":["鮆"],"bó bà":["鮊"],"zhǎ zhà":["鮓","鲊"],"chóu dài":["鮘"],"luò gé":["鮥"],"guī xié wā kuí":["鮭"],"xiān xiǎn":["鮮","鲜"],"pū bū":["鯆"],"yì sī":["鯣"],"bà bó":["鲌"],"guī xié":["鲑"],"sāi xǐ":["鳃"],"niǎo diǎo":["鳥"],"diāo zhāo":["鳭"],"gān hàn yàn":["鳱"],"fū guī":["鳺"],"jiān qiān zhān":["鳽"],"hé jiè":["鶡"],"piān biǎn":["鶣"],"chuàn zhì":["鶨"],"cāng qiāng":["鶬"],"sǔn xùn":["鶽"],"biāo páo":["麃"],"zhù cū":["麆"],"jūn qún":["麇","麕"],chi:["麶"],"mó me":["麼"],"mó me ma":["麽"],"mí mǒ":["麿"],"dàn shèn":["黮"],"zhěn yān":["黰"],"dǎn zhǎn":["黵"],"miǎn mǐn měng":["黾"],hōu:["齁"],nàng:["齉"],"qí jì zī zhāi":["齐"],"yín kěn yǎn":["龂"],"yín kěn":["龈"],"gōng wò":["龏"],"guī jūn qiū":["龜","龟"],"kuí wā":["䖯"],lōu:["䁖"],"ōu qū":["𫭟"],"lóu lǘ":["𦝼"],"gǎ gā gá":["嘎"],"wā guà":["坬"],"zhǐ dǐ":["茋"],"gǒng hóng":["硔"],"yáo xiào":["滧"]},G=new qi;Object.keys(Jn).forEach(n=>{const i=Jn[n];for(let g of i)G.set(g,n)});const ah=["zh","ch","sh","z","c","s","b","p","m","f","d","t","n","l","g","k","h","j","q","x","r","y","w",""],rh=["j","q","x"],jh=["uān","uán","uǎn","uàn","uan","uē","ué","uě","uè","ue","ūn","ún","ǔn","ùn","un","ū","ú","ǔ","ù","u"],bh={uān:"üān",uán:"üán",uǎn:"üǎn",uàn:"üàn",uan:"üan",uē:"üē",ué:"üé",uě:"üě",uè:"üè",ue:"üe",ūn:"ǖn",ún:"ǘn",ǔn:"ǚn",ùn:"ǜn",un:"ün",ū:"ǖ",ú:"ǘ",ǔ:"ǚ",ù:"ǜ",u:"ü"},mh=["ia","ian","iang","iao","ie","iu","iong","ua","uai","uan","uang","ue","ui","uo","üan","üe","van","ve"],ni={一:"yì",二:"èr",三:"sān",四:"sì",五:"wǔ",六:"liù",七:"qī",八:"bā",九:"jiǔ",十:"shí",百:"bǎi",千:"qiān",万:"wàn",亿:"yì",单:"dān",两:"liǎng",双:"shuāng",多:"duō",几:"jǐ",十一:"shí yī",零一:"líng yī",第一:"dì yī",一十:"yī shí",一十一:"yī shí yī"},ii={重:"chóng",行:"háng",斗:"dǒu",更:"gēng"};function xh(){const n={零一:"líng yī","〇一":"líng yī",十一:"shí yī",一十:"yī shí",第一:"dì yī",一十一:"yī shí yī"};for(let i in ni)for(let g in ii){const u=`${i}${g}`,h=`${ni[i]} ${ii[g]}`;n[u]=h}return n}const gi=xh(),fh=Object.keys(gi).map(n=>({zh:n,pinyin:gi[n],probability:1e-12,length:O(n),priority:R.Normal,dict:Symbol("rule")})),pi={不:{bú:[4]},一:{yí:[4],yì:[1,2,3]}},wh={不:["的","而","之","后","也","还","地"],一:["的","而","之","后","也","还","是"]},qh=Object.keys(pi);function ph(n,i,g){if(qh.indexOf(n)===-1)return dn(n);if(i===g&&i&&dn(i)!==i)return kn(dn(n));if(g&&!wh[n].includes(g)){const u=dn(g);if(u!==g){const h=Tn(u),e=pi[n];for(let s in e)if(e[s].indexOf(Number(h))!==-1)return s}}}function vh(n,i){if(n==="了"&&(!i||!G.get(i)))return"liǎo"}function kh(n,i){if(n==="々")return!i||!G.get(i)?"tóng":G.get(i).split(" ")[0]}function hi(n,i,g){return kh(n,i)||vh(n,i)||ph(n,i,g)||dn(n)}const _n={南宫:"nán gōng",第五:"dì wǔ",万俟:"mò qí",司马:"sī mǎ",上官:"shàng guān",欧阳:"ōu yáng",夏侯:"xià hóu",诸葛:"zhū gě",闻人:"wén rén",东方:"dōng fāng",赫连:"hè lián",皇甫:"huáng fǔ",尉迟:"yù chí",公羊:"gōng yáng",澹台:"tán tái",公冶:"gōng yě",宗政:"zōng zhèng",濮阳:"pú yáng",淳于:"chún yú",太叔:"tài shū",申屠:"shēn tú",公孙:"gōng sūn",仲孙:"zhòng sūn",轩辕:"xuān yuán",令狐:"líng hú",钟离:"zhōng lí",宇文:"yǔ wén",长孙:"zhǎng sūn",慕容:"mù róng",鲜于:"xiān yú",闾丘:"lǘ qiū",司徒:"sī tú",司空:"sī kōng",亓官:"qí guān",司寇:"sī kòu",仉督:"zhǎng dū",子车:"zǐ jū",颛孙:"zhuān sūn",端木:"duān mù",巫马:"wū mǎ",公西:"gōng xī",漆雕:"qī diāo",乐正:"yuè zhèng",壤驷:"rǎng sì",公良:"gōng liáng",拓跋:"tuò bá",夹谷:"jiá gǔ",宰父:"zǎi fǔ",榖梁:"gǔ liáng",段干:"duàn gān",百里:"bǎi lǐ",东郭:"dōng guō",南门:"nán mén",呼延:"hū yán",羊舌:"yáng shé",梁丘:"liáng qiū",左丘:"zuǒ qiū",东门:"dōng mén",西门:"xī mén",句龙:"gōu lóng",毌丘:"guàn qiū",赵:"zhào",钱:"qián",孙:"sūn",李:"lǐ",周:"zhōu",吴:"wú",郑:"zhèng",王:"wáng",冯:"féng",陈:"chén",褚:"chǔ",卫:"wèi",蒋:"jiǎng",沈:"shěn",韩:"hán",杨:"yáng",朱:"zhū",秦:"qín",尤:"yóu",许:"xǔ",何:"hé",吕:"lǚ",施:"shī",张:"zhāng",孔:"kǒng",曹:"cáo",严:"yán",华:"huà",金:"jīn",魏:"wèi",陶:"táo",姜:"jiāng",戚:"qī",谢:"xiè",邹:"zōu",喻:"yù",柏:"bǎi",水:"shuǐ",窦:"dòu",章:"zhāng",云:"yún",苏:"sū",潘:"pān",葛:"gě",奚:"xī",范:"fàn",彭:"péng",郎:"láng",鲁:"lǔ",韦:"wéi",昌:"chāng",马:"mǎ",苗:"miáo",凤:"fèng",花:"huā",方:"fāng",俞:"yú",任:"rén",袁:"yuán",柳:"liǔ",酆:"fēng",鲍:"bào",史:"shǐ",唐:"táng",费:"fèi",廉:"lián",岑:"cén",薛:"xuē",雷:"léi",贺:"hè",倪:"ní",汤:"tāng",滕:"téng",殷:"yīn",罗:"luó",毕:"bì",郝:"hǎo",邬:"wū",安:"ān",常:"cháng",乐:"yuè",于:"yú",时:"shí",傅:"fù",皮:"pí",卞:"biàn",齐:"qí",康:"kāng",伍:"wǔ",余:"yú",元:"yuán",卜:"bǔ",顾:"gù",孟:"mèng",平:"píng",黄:"huáng",和:"hé",穆:"mù",萧:"xiāo",尹:"yǐn",姚:"yáo",邵:"shào",湛:"zhàn",汪:"wāng",祁:"qí",毛:"máo",禹:"yǔ",狄:"dí",米:"mǐ",贝:"bèi",明:"míng",臧:"zāng",计:"jì",伏:"fú",成:"chéng",戴:"dài",谈:"tán",宋:"sòng",茅:"máo",庞:"páng",熊:"xióng",纪:"jǐ",舒:"shū",屈:"qū",项:"xiàng",祝:"zhù",董:"dǒng",梁:"liáng",杜:"dù",阮:"ruǎn",蓝:"lán",闵:"mǐn",席:"xí",季:"jì",麻:"má",强:"qiáng",贾:"jiǎ",路:"lù",娄:"lóu",危:"wēi",江:"jiāng",童:"tóng",颜:"yán",郭:"guō",梅:"méi",盛:"shèng",林:"lín",刁:"diāo",钟:"zhōng",徐:"xú",邱:"qiū",骆:"luò",高:"gāo",夏:"xià",蔡:"cài",田:"tián",樊:"fán",胡:"hú",凌:"líng",霍:"huò",虞:"yú",万:"wàn",支:"zhī",柯:"kē",昝:"zǎn",管:"guǎn",卢:"lú",莫:"mò",经:"jīng",房:"fáng",裘:"qiú",缪:"miào",干:"gān",解:"xiè",应:"yīng",宗:"zōng",丁:"dīng",宣:"xuān",贲:"bēn",邓:"dèng",郁:"yù",单:"shàn",杭:"háng",洪:"hóng",包:"bāo",诸:"zhū",左:"zuǒ",石:"shí",崔:"cuī",吉:"jí",钮:"niǔ",龚:"gōng",程:"chéng",嵇:"jī",邢:"xíng",滑:"huá",裴:"péi",陆:"lù",荣:"róng",翁:"wēng",荀:"xún",羊:"yáng",於:"yū",惠:"huì",甄:"zhēn",曲:"qū",家:"jiā",封:"fēng",芮:"ruì",羿:"yì",储:"chǔ",靳:"jìn",汲:"jí",邴:"bǐng",糜:"mí",松:"sōng",井:"jǐng",段:"duàn",富:"fù",巫:"wū",乌:"wū",焦:"jiāo",巴:"bā",弓:"gōng",牧:"mù",隗:"wěi",山:"shān",谷:"gǔ",车:"chē",侯:"hóu",宓:"mì",蓬:"péng",全:"quán",郗:"xī",班:"bān",仰:"yǎng",秋:"qiū",仲:"zhòng",伊:"yī",宫:"gōng",宁:"nìng",仇:"qiú",栾:"luán",暴:"bào",甘:"gān",钭:"tǒu",厉:"lì",戎:"róng",祖:"zǔ",武:"wǔ",符:"fú",刘:"liú",景:"jǐng",詹:"zhān",束:"shù",龙:"lóng",叶:"yè",幸:"xìng",司:"sī",韶:"sháo",郜:"gào",黎:"lí",蓟:"jì",薄:"bó",印:"yìn",宿:"sù",白:"bái",怀:"huái",蒲:"pú",邰:"tái",从:"cóng",鄂:"è",索:"suǒ",咸:"xián",籍:"jí",赖:"lài",卓:"zhuó",蔺:"lìn",屠:"tú",蒙:"méng",池:"chí",乔:"qiáo",阴:"yīn",鬱:"yù",胥:"xū",能:"nài",苍:"cāng",双:"shuāng",闻:"wén",莘:"shēn",党:"dǎng",翟:"zhái",谭:"tán",贡:"gòng",劳:"láo",逄:"páng",姬:"jī",申:"shēn",扶:"fú",堵:"dǔ",冉:"rǎn",宰:"zǎi",郦:"lì",雍:"yōng",郤:"xì",璩:"qú",桑:"sāng",桂:"guì",濮:"pú",牛:"niú",寿:"shòu",通:"tōng",边:"biān",扈:"hù",燕:"yān",冀:"jì",郏:"jiá",浦:"pǔ",尚:"shàng",农:"nóng",温:"wēn",别:"bié",庄:"zhuāng",晏:"yàn",柴:"chái",瞿:"qú",阎:"yán",充:"chōng",慕:"mù",连:"lián",茹:"rú",习:"xí",宦:"huàn",艾:"ài",鱼:"yú",容:"róng",向:"xiàng",古:"gǔ",易:"yì",慎:"shèn",戈:"gē",廖:"liào",庾:"yǔ",终:"zhōng",暨:"jì",居:"jū",衡:"héng",步:"bù",都:"dū",耿:"gěng",满:"mǎn",弘:"hóng",匡:"kuāng",国:"guó",文:"wén",寇:"kòu",广:"guǎng",禄:"lù",阙:"quē",东:"dōng",欧:"ōu",殳:"shū",沃:"wò",利:"lì",蔚:"wèi",越:"yuè",夔:"kuí",隆:"lóng",师:"shī",巩:"gǒng",厍:"shè",聂:"niè",晁:"cháo",勾:"gōu",敖:"áo",融:"róng",冷:"lěng",訾:"zī",辛:"xīn",阚:"kàn",那:"nā",简:"jiǎn",饶:"ráo",空:"kōng",曾:"zēng",母:"mǔ",沙:"shā",乜:"niè",养:"yǎng",鞠:"jū",须:"xū",丰:"fēng",巢:"cháo",关:"guān",蒯:"kuǎi",相:"xiàng",查:"zhā",后:"hòu",荆:"jīng",红:"hóng",游:"yóu",竺:"zhú",权:"quán",逯:"lù",盖:"gě",益:"yì",桓:"huán",公:"gōng",牟:"móu",哈:"hǎ",言:"yán",福:"fú",肖:"xiāo",区:"ōu",覃:"qín",朴:"piáo",繁:"pó",员:"yùn",句:"gōu",要:"yāo",过:"guō",钻:"zuān",谌:"chén",折:"shé",召:"shào",郄:"qiè",撒:"sǎ",甯:"nìng",六:"lù",啜:"chuài",行:"xíng"},Th=Object.keys(_n).map(n=>({zh:n,pinyin:_n[n],probability:1+O(n),length:O(n),priority:R.Surname,dict:Symbol("surname")})),ui={这个:"zhè ge",成为:"chéng wéi",认为:"rèn wéi",作为:"zuò wéi",部分:"bù fen",要求:"yāo qiú",应该:"yīng gāi",增长:"zēng zhǎng",提供:"tí gōng",觉得:"jué de",任务:"rèn wu",那个:"nà ge",称为:"chēng wéi",为主:"wéi zhǔ",了解:"liǎo jiě",处理:"chǔ lǐ",皇上:"huáng shang",只要:"zhǐ yào",大量:"dà liàng",力量:"lì liàng",几乎:"jī hū",干部:"gàn bù",目的:"mù dì",行为:"xíng wéi",只见:"zhǐ jiàn",认识:"rèn shi",市长:"shì zhǎng",师父:"shī fu",调查:"diào chá",重新:"chóng xīn",分为:"fēn wéi",知识:"zhī shi",导弹:"dǎo dàn",质量:"zhì liàng",行款:"háng kuǎn",行列:"háng liè",行话:"háng huà",行业:"háng yè",隔行:"gé háng",在行:"zài háng",行家:"háng jia",内行:"nèi háng",外行:"wài háng",同行:"tóng háng",本行:"běn háng",行伍:"háng wǔ",洋行:"yáng háng",银行:"yín háng",商行:"shāng háng",支行:"zhī háng",总行:"zǒng háng",行情:"háng qíng",懂行:"dǒng háng",行规:"háng guī",行当:"háng dang",行货:"háng huò",太行:"tài háng",入行:"rù háng",中行:"zhōng háng",农行:"nóng háng",工行:"gōng háng",建行:"jiàn háng",各行:"gè háng",行号:"háng hào",行高:"háng gāo",行首:"háng shǒu",行尾:"háng wěi",行末:"háng mò",行长:"háng cháng",行距:"háng jù",换行:"huàn háng",行会:"háng huì",行辈:"háng bèi",行道:"háng dào",道行:"dào heng",参与:"cān yù",充分:"chōng fèn",尽管:"jǐn guǎn",生长:"shēng zhǎng",数量:"shù liàng",应当:"yīng dāng",院长:"yuàn zhǎng",强调:"qiáng diào",只能:"zhǐ néng",音乐:"yīn yuè",以为:"yǐ wéi",处于:"chǔ yú",部长:"bù zhǎng",蒙古:"měng gǔ",只有:"zhǐ yǒu",适当:"shì dàng",只好:"zhǐ hǎo",成长:"chéng zhǎng",高兴:"gāo xìng",不了:"bù liǎo",产量:"chǎn liàng",胖子:"pàng zi",显得:"xiǎn de",只是:"zhǐ shì",似的:"shì de",率领:"shuài lǐng",改为:"gǎi wéi",不禁:"bù jīn",成分:"chéng fèn",答应:"dā ying",少年:"shào nián",兴趣:"xìng qù",太监:"tài jian",休息:"xiū xi",校长:"xiào zhǎng",更新:"gēng xīn",合同:"hé tong",喝道:"hè dào",重庆:"chóng qìng",重建:"chóng jiàn",使得:"shǐ de",审查:"shěn chá",累计:"lěi jì",给予:"jǐ yǔ",极为:"jí wéi",冠军:"guàn jūn",仿佛:"fǎng fú",头发:"tóu fa",投降:"tóu xiáng",家长:"jiā zhǎng",仔细:"zǐ xì",要是:"yào shi",将领:"jiàng lǐng",含量:"hán liàng",更为:"gèng wéi",积累:"jī lěi",地处:"dì chǔ",县长:"xiàn zhǎng",少女:"shào nǚ",路上:"lù shang",只怕:"zhǐ pà",能量:"néng liàng",储量:"chǔ liàng",供应:"gōng yìng",挑战:"tiǎo zhàn",西藏:"xī zàng",记得:"jì de",总量:"zǒng liàng",当真:"dàng zhēn",将士:"jiàng shì",差别:"chā bié",较为:"jiào wéi",长老:"zhǎng lǎo",大夫:"dài fu",差异:"chā yì",懂得:"dǒng de",尽量:"jǐn liàng",模样:"mú yàng",的确:"dí què",为首:"wéi shǒu",便宜:"pián yi",更名:"gēng míng",石头:"shí tou",州长:"zhōu zhǎng",为止:"wéi zhǐ",漂亮:"piào liang",炮弹:"pào dàn",藏族:"zàng zú",角色:"jué sè",当作:"dàng zuò",尽快:"jǐn kuài",人为:"rén wéi",重复:"chóng fù",胡同:"hú tòng",差距:"chā jù",弟兄:"dì xiong",大将:"dà jiàng",睡觉:"shuì jiào",一觉:"yí jiào",团长:"tuán zhǎng",队长:"duì zhǎng",区长:"qū zhǎng",难得:"nán dé",丫头:"yā tou",会长:"huì zhǎng",弟弟:"dì di",王爷:"wáng ye",重量:"zhòng liàng",誉为:"yù wéi",家伙:"jiā huo",华山:"huà shān",椅子:"yǐ zi",流量:"liú liàng",长大:"zhǎng dà",勉强:"miǎn qiǎng",会计:"kuài jì",过分:"guò fèn",济南:"jǐ nán",调动:"diào dòng",燕京:"yān jīng",少将:"shào jiàng",中毒:"zhòng dú",晓得:"xiǎo de",变更:"biàn gēng",打更:"dǎ gēng",认得:"rèn de",苹果:"píng guǒ",念头:"niàn tou",挣扎:"zhēng zhá",三藏:"sān zàng",剥削:"bō xuē",丞相:"chéng xiàng",少量:"shǎo liàng",寻思:"xún si",夺得:"duó dé",干线:"gàn xiàn",呼吁:"hū yù",处罚:"chǔ fá",长官:"zhǎng guān",柏林:"bó lín",亲戚:"qīn qi",身分:"shēn fèn",胳膊:"gē bo",着手:"zhuó shǒu",炸弹:"zhà dàn",咳嗽:"ké sou",叶子:"yè zi",外长:"wài zhǎng",供给:"gōng jǐ",师长:"shī zhǎng",变量:"biàn liàng",应有:"yīng yǒu",下载:"xià zài",乐器:"yuè qì",间接:"jiàn jiē",底下:"dǐ xià",打扮:"dǎ bàn",子弹:"zǐ dàn",弹药:"dàn yào",热量:"rè liàng",削弱:"xuē ruò",骨干:"gǔ gàn",容量:"róng liàng",模糊:"mó hu",转动:"zhuàn dòng",称呼:"chēng hu",科长:"kē zhǎng",处置:"chǔ zhì",着重:"zhuó zhòng",着急:"zháo jí",强迫:"qiǎng pò",庭长:"tíng zhǎng",首相:"shǒu xiàng",喇嘛:"lǎ ma",镇长:"zhèn zhǎng",只管:"zhǐ guǎn",重重:"chóng chóng",免得:"miǎn de",着实:"zhuó shí",度假:"dù jià",真相:"zhēn xiàng",相貌:"xiàng mào",处分:"chǔ fèn",委屈:"wěi qu",为期:"wéi qī",伯伯:"bó bo",伯子:"bǎi zi",圈子:"quān zi",见识:"jiàn shi",笼罩:"lǒng zhào",与会:"yù huì",都督:"dū du",都市:"dū shì",成都:"chéng dū",首都:"shǒu dū",帝都:"dì dū",王都:"wáng dū",东都:"dōng dū",都护:"dū hù",都城:"dū chéng",建都:"jiàn dū",迁都:"qiān dū",故都:"gù dū",定都:"dìng dū",中都:"zhōng dū",六安:"lù ān",宰相:"zǎi xiàng",较量:"jiào liàng",对称:"duì chèn",总长:"zǒng zhǎng",相公:"xiàng gong",空白:"kòng bái",打量:"dǎ liang",水分:"shuǐ fèn",舌头:"shé tou",没收:"mò shōu",行李:"xíng li",判处:"pàn chǔ",散文:"sǎn wén",处境:"chǔ jìng",孙子:"sūn zi",拳头:"quán tou",打发:"dǎ fā",组长:"zǔ zhǎng",骨头:"gǔ tou",宁可:"nìng kě",更换:"gēng huàn",薄弱:"bó ruò",还原:"huán yuán",重修:"chóng xiū",重来:"chóng lái",只顾:"zhǐ gù",爱好:"ài hào",馒头:"mán tou",军长:"jūn zhǎng",首长:"shǒu zhǎng",厂长:"chǎng zhǎng",司长:"sī zhǎng",长子:"zhǎng zǐ",强劲:"qiáng jìng",恰当:"qià dàng",头儿:"tóu er",站长:"zhàn zhǎng",折腾:"zhē teng",相处:"xiāng chǔ",统率:"tǒng shuài",中将:"zhōng jiàng",命中:"mìng zhòng",名将:"míng jiàng",木头:"mù tou",动弹:"dòng tan",地壳:"dì qiào",干活:"gàn huó",少爷:"shào ye",水量:"shuǐ liàng",补给:"bǔ jǐ",尾巴:"wěi ba",来得:"lái de",好奇:"hào qí",钥匙:"yào shi",当做:"dàng zuò",沉着:"chén zhuó",哑巴:"yǎ ba",车子:"chē zi",上将:"shàng jiàng",恶心:"ě xīn",担子:"dàn zi",应届:"yīng jiè",主角:"zhǔ jué",运转:"yùn zhuǎn",兄长:"xiōng zhǎng",格式:"gé shì",正月:"zhēng yuè",营长:"yíng zhǎng",当成:"dàng chéng",女婿:"nǚ xu",咽喉:"yān hóu",重阳:"chóng yáng",化为:"huà wéi",吐蕃:"tǔ bō",钻进:"zuān jìn",乐队:"yuè duì",亮相:"liàng xiàng",被子:"bèi zi",舍得:"shě de",杉木:"shā mù",击中:"jī zhòng",排长:"pái zhǎng",假期:"jià qī",分量:"fèn liàng",数次:"shù cì",提防:"dī fáng",吆喝:"yāo he",查处:"chá chǔ",量子:"liàng zǐ",里头:"lǐ tou",调研:"diào yán",伺候:"cì hou",重申:"chóng shēn",枕头:"zhěn tou",拚命:"pīn mìng",社长:"shè zhǎng",归还:"guī huán",批量:"pī liàng",畜牧:"xù mù",点着:"diǎn zháo",甚为:"shèn wéi",小将:"xiǎo jiàng",着眼:"zhuó yǎn",处死:"chǔ sǐ",厌恶:"yàn wù",鼓乐:"gǔ yuè",树干:"shù gàn",秘鲁:"bì lǔ",大方:"dà fāng",外头:"wài tou",班长:"bān zhǎng",星宿:"xīng xiù",宁愿:"nìng yuàn",钦差:"qīn chāi",为数:"wéi shù",勾当:"gòu dàng",削减:"xuē jiǎn",间谍:"jiàn dié",埋怨:"mán yuàn",结实:"jiē shi",计量:"jì liáng",淹没:"yān mò",村长:"cūn zhǎng",连长:"lián zhǎng",自给:"zì jǐ",武将:"wǔ jiàng",温差:"wēn chā",直奔:"zhí bèn",供求:"gōng qiú",剂量:"jì liàng",道长:"dào zhǎng",泄露:"xiè lòu",王八:"wáng ba",切割:"qiē gē",间隔:"jiàn gé",一晃:"yì huǎng",长假:"cháng jià",令狐:"líng hú",为害:"wéi hài",句子:"jù zi",偿还:"cháng huán",疙瘩:"gē da",燕山:"yān shān",堵塞:"dǔ sè",夺冠:"duó guàn",扎实:"zhā shi",电荷:"diàn hè",看守:"kān shǒu",复辟:"fù bì",郁闷:"yù mèn",尽早:"jǐn zǎo",切断:"qiē duàn",指头:"zhǐ tou",为生:"wéi shēng",畜生:"chù sheng",切除:"qiē chú",着力:"zhuó lì",着想:"zhuó xiǎng",级差:"jí chā",投奔:"tóu bèn",棍子:"gùn zi",含糊:"hán hu",少妇:"shào fù",兴致:"xìng zhì",纳闷:"nà mèn",干流:"gàn liú",卷起:"juǎn qǐ",扇子:"shàn zi",更改:"gēng gǎi",笼络:"lǒng luò",喇叭:"lǎ ba",载荷:"zài hè",妥当:"tuǒ dàng",为难:"wéi nán",着陆:"zhuó lù",燕子:"yàn zi",干吗:"gàn má",白发:"bái fà",总得:"zǒng děi",夹击:"jiā jī",曝光:"bào guāng",曲调:"qǔ diào",相机:"xiàng jī",叫化:"jiào huà",角逐:"jué zhú",啊哟:"ā yō",载重:"zài zhòng",长辈:"zhǎng bèi",出差:"chū chāi",垛口:"duǒ kǒu",撇开:"piē kāi",厅长:"tīng zhǎng",组分:"zǔ fèn",误差:"wù chā",家当:"jiā dàng",传记:"zhuàn jì",个子:"gè zi",铺设:"pū shè",干事:"gàn shì",杆菌:"gǎn jūn",定量:"dìng liàng",运载:"yùn zài",会儿:"huì er",酋长:"qiú zhǎng",重返:"chóng fǎn",差额:"chā é",露面:"lòu miàn",钻研:"zuān yán",大城:"dài chéng",上当:"shàng dàng",销量:"xiāo liàng",作坊:"zuō fang",照相:"zhào xiàng",哎呀:"āi yā",调集:"diào jí",看中:"kàn zhòng",议长:"yì zhǎng",风筝:"fēng zheng",辟邪:"bì xié",空隙:"kòng xì",更迭:"gēng dié",偏差:"piān chā",声调:"shēng diào",适量:"shì liàng",屯子:"tún zi",无量:"wú liàng",空地:"kòng dì",调度:"diào dù",散射:"sǎn shè",创伤:"chuāng shāng",海参:"hǎi shēn",满载:"mǎn zài",重叠:"chóng dié",落差:"luò chā",单调:"dān diào",老将:"lǎo jiàng",人参:"rén shēn",间断:"jiàn duàn",重现:"chóng xiàn",夹杂:"jiā zá",调用:"diào yòng",萝卜:"luó bo",附着:"fù zhuó",应声:"yìng shēng",主将:"zhǔ jiàng",罪过:"zuì guo",咀嚼:"jǔ jué",为政:"wéi zhèng",过量:"guò liàng",乐曲:"yuè qǔ",负荷:"fù hè",枪弹:"qiāng dàn",悄然:"qiǎo rán",处方:"chǔ fāng",悄声:"qiǎo shēng",曲子:"qǔ zi",情调:"qíng diào",挑衅:"tiǎo xìn",代为:"dài wéi",了结:"liǎo jié",打中:"dǎ zhòng",酒吧:"jiǔ bā",懒得:"lǎn de",增量:"zēng liàng",衣着:"yī zhuó",部将:"bù jiàng",要塞:"yào sài",茶几:"chá jī",杠杆:"gàng gǎn",出没:"chū mò",鲜有:"xiǎn yǒu",间隙:"jiàn xì",重担:"zhòng dàn",重演:"chóng yǎn",重试:"chóng shì",应酬:"yìng chou",只当:"zhǐ dāng",毋宁:"wú nìng",包扎:"bāo zā",前头:"qián tou",卷烟:"juǎn yān",非得:"fēi děi",弹道:"dàn dào",杆子:"gān zi",门将:"mén jiàng",后头:"hòu tou",喝彩:"hè cǎi",暖和:"nuǎn huo",累积:"lěi jī",调遣:"diào qiǎn",倔强:"jué jiàng",宝藏:"bǎo zàng",丧事:"sāng shì",约莫:"yuē mo",纤夫:"qiàn fū",更替:"gēng tì",装载:"zhuāng zài",背包:"bēi bāo",帖子:"tiě zi",松散:"sōng sǎn",呼喝:"hū hè",可恶:"kě wù",自转:"zì zhuàn",供电:"gōng diàn",反省:"fǎn xǐng",坦率:"tǎn shuài",苏打:"sū dá",本分:"běn fèn",落得:"luò de",鄙薄:"bǐ bó",相间:"xiāng jiàn",单薄:"dān bó",混蛋:"hún dàn",贞观:"zhēn guān",附和:"fù hè",能耐:"néng nài",吓唬:"xià hu",未了:"wèi liǎo",引着:"yǐn zháo",抽调:"chōu diào",沙子:"shā zi",席卷:"xí juǎn",标的:"biāo dì",别扭:"biè niu",思量:"sī liang",喝采:"hè cǎi",论语:"lún yǔ",盖子:"gài zi",分外:"fèn wài",弄堂:"lòng táng",乐舞:"yuè wǔ",雨量:"yǔ liàng",毛发:"máo fà",差遣:"chāi qiǎn",背负:"bēi fù",转速:"zhuàn sù",声乐:"shēng yuè",夹攻:"jiā gōng",供水:"gōng shuǐ",主干:"zhǔ gàn",惩处:"chéng chǔ",长相:"zhǎng xiàng",公差:"gōng chāi",榴弹:"liú dàn",省得:"shěng de",条子:"tiáo zi",重围:"chóng wéi",阻塞:"zǔ sè",劲风:"jìng fēng",纠葛:"jiū gé",颠簸:"diān bǒ",点中:"diǎn zhòng",重创:"zhòng chuāng",姥姥:"lǎo lao",迷糊:"mí hu",公家:"gōng jia",几率:"jī lǜ",苦闷:"kǔ mèn",度量:"dù liàng",差错:"chā cuò",暑假:"shǔ jià",参差:"cēn cī",搭载:"dā zài",助长:"zhù zhǎng",相称:"xiāng chèn",红晕:"hóng yùn",舍命:"shě mìng",喜好:"xǐ hào",列传:"liè zhuàn",劲敌:"jìng dí",蛤蟆:"há ma",请假:"qǐng jià",钉子:"dīng zi",沉没:"chén mò",高丽:"gāo lí",休假:"xiū jià",无为:"wú wéi",巴结:"bā jie",了得:"liǎo dé",变相:"biàn xiàng",核弹:"hé dàn",亲家:"qìng jia",承载:"chéng zài",喝问:"hè wèn",还击:"huán jī",交还:"jiāo huán",将令:"jiàng lìng",单于:"chán yú",空缺:"kòng quē",绿林:"lù lín",胆量:"dǎn liàng",执着:"zhí zhuó",低调:"dī diào",闭塞:"bì sè",轻薄:"qīng bó",得当:"dé dàng",占卜:"zhān bǔ",扫帚:"sào zhou",龟兹:"qiū cí",年长:"nián zhǎng",外传:"wài zhuàn",头子:"tóu zi",裁缝:"cái feng",礼乐:"lǐ yuè",血泊:"xuè pō",散乱:"sǎn luàn",动量:"dòng liàng",倒腾:"dǎo teng",取舍:"qǔ shě",咱家:"zán jiā",长发:"cháng fà",爪哇:"zhǎo wā",弹壳:"dàn ké",省悟:"xǐng wù",嚷嚷:"rāng rang",连累:"lián lèi",应得:"yīng dé",族长:"zú zhǎng",柜子:"guì zi",擂鼓:"léi gǔ",眩晕:"xuàn yùn",调配:"tiáo pèi",躯干:"qū gàn",差役:"chāi yì",坎坷:"kǎn kě",少儿:"shào ér",乐团:"yuè tuán",养分:"yǎng fèn",退还:"tuì huán",格调:"gé diào",语调:"yǔ diào",音调:"yīn diào",乐府:"yuè fǔ",古朴:"gǔ pǔ",打点:"dǎ diǎn",差使:"chāi shǐ",匀称:"yún chèn",瘦削:"shòu xuē",膏药:"gāo yao",吞没:"tūn mò",调任:"diào rèn",散居:"sǎn jū",上头:"shàng tóu",风靡:"fēng mǐ",放假:"fàng jià",估量:"gū liang",失当:"shī dàng",中弹:"zhòng dàn",妄为:"wàng wéi",长者:"zhǎng zhě",起哄:"qǐ hòng",末了:"mò liǎo",相声:"xiàng sheng",校正:"jiào zhèng",劝降:"quàn xiáng",矢量:"shǐ liàng",沉闷:"chén mèn",给与:"jǐ yǔ",解法:"jiě fǎ",塞外:"sài wài",将校:"jiàng xiào",嗜好:"shì hào",没落:"mò luò",朴刀:"pō dāo",片子:"piān zi",切削:"qiē xiāo",弹丸:"dàn wán",稀薄:"xī bó",亏得:"kuī dé",间歇:"jiàn xiē",翘首:"qiáo shǒu",色调:"sè diào",处决:"chǔ jué",表率:"biǎo shuài",尺子:"chǐ zi",招降:"zhāo xiáng",称职:"chèn zhí",斗篷:"dǒu peng",铺子:"pù zi",底子:"dǐ zi",负载:"fù zài",干警:"gàn jǐng",倒数:"dào shǔ",将官:"jiàng guān",锄头:"chú tou",归降:"guī xiáng",疟疾:"nüè ji",唠叨:"láo dao",限量:"xiàn liàng",屏息:"bǐng xī",重逢:"chóng féng",器乐:"qì yuè",氢弹:"qīng dàn",脖颈:"bó gěng",妃子:"fēi zi",处事:"chǔ shì",参量:"cān liàng",轻率:"qīng shuài",缥缈:"piāo miǎo",中奖:"zhòng jiǎng",才干:"cái gàn",施舍:"shī shě",卷子:"juàn zi",游说:"yóu shuì",巷子:"xiàng zi",膀胱:"páng guāng",切勿:"qiè wù",看管:"kān guǎn",风头:"fēng tou",精干:"jīng gàn",高差:"gāo chā",恐吓:"kǒng hè",扁担:"biǎn dàn",给养:"jǐ yǎng",格子:"gé zi",供需:"gōng xū",反差:"fǎn chā",飞弹:"fēi dàn",微薄:"wēi bó",发型:"fà xíng",即兴:"jí xìng",攒动:"cuán dòng",间或:"jiàn huò",浅薄:"qiǎn bó",乐章:"yuè zhāng",顺差:"shùn chā",调子:"diào zi",相位:"xiàng wèi",转子:"zhuàn zǐ",劲旅:"jìng lǚ",咔嚓:"kā chā",了事:"liǎo shì",转悠:"zhuàn you",当铺:"dàng pù",爪子:"zhuǎ zi",单子:"dān zi",好战:"hào zhàn",燕麦:"yàn mài",只许:"zhǐ xǔ",干练:"gàn liàn",女将:"nǚ jiàng",酒量:"jiǔ liàng",划船:"huá chuán",伎俩:"jì liǎng",挑拨:"tiǎo bō",少校:"shào xiào",着落:"zhuó luò",憎恶:"zēng wù",刻薄:"kè bó",要挟:"yāo xié",用处:"yòng chu",还手:"huán shǒu",模具:"mú jù",执著:"zhí zhuó",喝令:"hè lìng",保长:"bǎo zhǎng",吸着:"xī zhe",症结:"zhēng jié",公转:"gōng zhuàn",校勘:"jiào kān",重提:"chóng tí",扫兴:"sǎo xìng",铺盖:"pū gài",长史:"zhǎng shǐ",差价:"chā jià",压根:"yà gēn",怔住:"zhèng zhù",应允:"yīng yǔn",切入:"qiē rù",战将:"zhàn jiàng",年少:"nián shào",舍身:"shě shēn",执拗:"zhí niù",处世:"chǔ shì",中风:"zhòng fēng",等量:"děng liàng",放量:"fàng liàng",腔调:"qiāng diào",老少:"lǎo shào",没入:"mò rù",瓜葛:"guā gé",将帅:"jiàng shuài",车载:"chē zài",窝囊:"wō nang",长进:"zhǎng jìn",可汗:"kè hán",并州:"bīng zhōu",供销:"gōng xiāo",切片:"qiē piàn",差事:"chāi shì",知会:"zhī hui",鹰爪:"yīng zhǎo",处女:"chǔ nǚ",切磋:"qiē cuō",日头:"rì tou",押解:"yā jiè",滋长:"zī zhǎng",道观:"dào guàn",脚色:"jué sè",当量:"dāng liàng",婆家:"pó jia",缘分:"yuán fèn",空闲:"kòng xián",好色:"hào sè",怒喝:"nù hè",笼统:"lǒng tǒng",边塞:"biān sài",何曾:"hé céng",重合:"chóng hé",零散:"líng sǎn",轰隆:"hōng lōng",化子:"huà zi",内蒙:"nèi měng",数落:"shǔ luò",逆差:"nì chā",牟利:"móu lì",栅栏:"zhà lan",中标:"zhòng biāo",调档:"diào dàng",佝偻:"gōu lóu",场子:"chǎng zi",甲壳:"jiǎ qiào",重温:"chóng wēn",炮制:"páo zhì",返还:"fǎn huán",自传:"zì zhuàn",高调:"gāo diào",殷红:"yān hóng",固着:"gù zhuó",强求:"qiǎng qiú",本相:"běn xiàng",骄横:"jiāo hèng",草率:"cǎo shuài",气闷:"qì mèn",着色:"zhuó sè",宁肯:"nìng kěn",兴头:"xìng tou",拘泥:"jū nì",夹角:"jiā jiǎo",发髻:"fà jì",猛将:"měng jiàng",约摸:"yuē mo",拖累:"tuō lěi",呢绒:"ní róng",钻探:"zuān tàn",夹层:"jiā céng",落魄:"luò pò",巷道:"hàng dào",运量:"yùn liàng",解闷:"jiě mèn",空儿:"kòng er",估摸:"gū mo",好客:"hào kè",钻孔:"zuān kǒng",糊弄:"hù nòng",荥阳:"xíng yáng",烦闷:"fán mèn",仓卒:"cāng cù",分叉:"fēn chà",厂子:"chǎng zi",小调:"xiǎo diào",少阳:"shào yáng",受降:"shòu xiáng",染坊:"rǎn fáng",胳臂:"gē bei",将门:"jiàng mén",模板:"mú bǎn",配给:"pèi jǐ",为伍:"wéi wǔ",跟头:"gēn tou",划算:"huá suàn",累赘:"léi zhui",哄笑:"hōng xiào",晕眩:"yūn xuàn",干掉:"gàn diào",缝制:"féng zhì",难处:"nán chù",着意:"zhuó yì",蛮横:"mán hèng",奇数:"jī shù",短发:"duǎn fà",生还:"shēng huán",还清:"huán qīng",看护:"kān hù",直率:"zhí shuài",奏乐:"zòu yuè",载客:"zài kè",专横:"zhuān hèng",湮没:"yān mò",空格:"kòng gé",铺垫:"pū diàn",良将:"liáng jiàng",哗啦:"huā lā",散漫:"sǎn màn",脱发:"tuō fà",送还:"sòng huán",埋没:"mái mò",累及:"lěi jí",薄雾:"bó wù",调离:"diào lí",舌苔:"shé tāi",机长:"jī zhǎng",栓塞:"shuān sè",配角:"pèi jué",切口:"qiē kǒu",创口:"chuāng kǒu",哈欠:"hā qian",实弹:"shí dàn",铺平:"pū píng",哈达:"hǎ dá",懒散:"lǎn sǎn",实干:"shí gàn",填空:"tián kòng",刁钻:"diāo zuān",乐师:"yuè shī",量变:"liàng biàn",诱降:"yòu xiáng",搪塞:"táng sè",征调:"zhēng diào",夹道:"jiā dào",干咳:"gān ké",止咳:"zhǐ ké",乐工:"yuè gōng",划过:"huá guò",着火:"zháo huǒ",更正:"gēng zhèng",给付:"jǐ fù",空子:"kòng zi",哪吒:"né zhā",正着:"zhèng zháo",刷子:"shuā zi",丧葬:"sāng zàng",夹带:"jiā dài",安分:"ān fèn",中意:"zhòng yì",长孙:"zhǎng sūn",校订:"jiào dìng",卷曲:"juǎn qū",载运:"zài yùn",投弹:"tóu dàn",柞蚕:"zuò cán",份量:"fèn liàng",调换:"diào huàn",了然:"liǎo rán",咧嘴:"liě zuǐ",典当:"diǎn dàng",寒假:"hán jià",长兄:"zhǎng xiōng",给水:"jǐ shuǐ",须发:"xū fà",枝干:"zhī gàn",属相:"shǔ xiàng",哄抢:"hōng qiǎng",刻划:"kè huà",塞子:"sāi zi",单干:"dān gàn",还乡:"huán xiāng",兆头:"zhào tou",寺观:"sì guàn",督率:"dū shuài",啊哈:"ā ha",割舍:"gē shě",抹布:"mā bù",好恶:"hào wù",下处:"xià chǔ",消长:"xiāo zhǎng",离间:"lí jiàn",准头:"zhǔn tou",校对:"jiào duì",什物:"shí wù",番禺:"pān yú",佛爷:"fó ye",吗啡:"mǎ fēi",盐分:"yán fèn",虎将:"hǔ jiàng",薄荷:"bò he",独处:"dú chǔ",空位:"kòng wèi",铺路:"pū lù",乌拉:"wū lā",调回:"diào huí",来头:"lái tou",闲散:"xián sǎn",胶卷:"jiāo juǎn",冒失:"mào shi",干劲:"gàn jìn",弦乐:"xián yuè",相国:"xiàng guó",丹参:"dān shēn",助兴:"zhù xìng",铺开:"pū kāi",次长:"cì zhǎng",发卡:"fà qiǎ",拮据:"jié jū",刹车:"shā chē",生发:"shēng fà",重播:"chóng bō",缝合:"féng hé",音量:"yīn liàng",少尉:"shào wèi",冲压:"chòng yā",苍劲:"cāng jìng",厚薄:"hòu báo",威吓:"wēi hè",外相:"wài xiàng",呼号:"hū háo",着迷:"zháo mí",挑担:"tiāo dàn",纹路:"wén lù",还俗:"huán sú",强横:"qiáng hèng",着数:"zhāo shù",降顺:"xiáng shùn",挑明:"tiǎo míng",眯缝:"mī feng",分内:"fèn nèi",更衣:"gēng yī",软和:"ruǎn huo",尽兴:"jìn xìng",号子:"hào zi",爪牙:"zhǎo yá",败将:"bài jiàng",猜中:"cāi zhòng",结扎:"jié zā",没空:"méi kòng",夹缝:"jiā fèng",拾掇:"shí duo",掺和:"chān huo",簸箕:"bò ji",电量:"diàn liàng",荷载:"hè zǎi",调式:"diào shì",处身:"chǔ shēn",打手:"dǎ shǒu",弹弓:"dàn gōng",横蛮:"hèng mán",能干:"néng gàn",校点:"jiào diǎn",加载:"jiā zài",干校:"gàn xiào",哄传:"hōng chuán",校注:"jiào zhù",淤塞:"yū sè",马扎:"mǎ zhá",月氏:"yuè zhī",高干:"gāo gàn",经传:"jīng zhuàn",曾孙:"zēng sūn",好斗:"hào dòu",关卡:"guān qiǎ",逃奔:"táo bèn",磨蹭:"mó ceng",牟取:"móu qǔ",颤栗:"zhàn lì",蚂蚱:"mà zha",撮合:"cuō he",趔趄:"liè qie",摔打:"shuāi dǎ",台子:"tái zi",分得:"fēn de",粘着:"nián zhuó",采邑:"cài yì",散装:"sǎn zhuāng",婀娜:"ē nuó",兴味:"xìng wèi",行头:"xíng tou",气量:"qì liàng",调运:"diào yùn",处治:"chǔ zhì",乐音:"yuè yīn",充塞:"chōng sè",恫吓:"dòng hè",论调:"lùn diào",相中:"xiāng zhòng",民乐:"mín yuè",炮仗:"pào zhang",丧服:"sāng fú",骁将:"xiāo jiàng",量刑:"liàng xíng",缝补:"féng bǔ",财会:"cái kuài",大干:"dà gàn",历数:"lì shǔ",校场:"jiào chǎng",塞北:"sài běi",识相:"shí xiàng",辱没:"rǔ mò",鲜亮:"xiān liàng",语塞:"yǔ sè",露脸:"lòu liǎn",凉快:"liáng kuai",腰杆:"yāo gǎn",溜达:"liū da",嘎嘎:"gā gā",公干:"gōng gàn",桔梗:"jié gěng",挑逗:"tiǎo dòu",看门:"kān mén",乐歌:"yuè gē",拓片:"tà piàn",挑动:"tiǎo dòng",准将:"zhǔn jiàng",遒劲:"qiú jìng",磨坊:"mò fáng",逶迤:"wēi yí",搅和:"jiǎo huo",摩挲:"mó suō",作弄:"zuò nòng",苗头:"miáo tou",打颤:"dǎ zhàn",大藏:"dà zàng",畜牲:"chù shēng",勾搭:"gōu da",树荫:"shù yīn",树杈:"shù chà",铁杆:"tiě gǎn",将相:"jiàng xiàng",份子:"fèn zi",视差:"shì chā",绿荫:"lǜ yīn",枪杆:"qiāng gǎn",缝纫:"féng rèn",愁闷:"chóu mèn",点将:"diǎn jiàng",华佗:"huà tuó",劲射:"jìng shè",箱笼:"xiāng lǒng",终了:"zhōng liǎo",鬓发:"bìn fà",结巴:"jiē ba",苦干:"kǔ gàn",看家:"kān jiā",正旦:"zhēng dàn",中肯:"zhòng kěn",厦门:"xià mén",东莞:"dōng guǎn",食量:"shí liàng",宫调:"gōng diào",间作:"jiàn zuò",弹片:"dàn piàn",差池:"chā chí",漂白:"piǎo bái",杠子:"gàng zi",调处:"tiáo chǔ",好动:"hào dòng",转炉:"zhuàn lú",屏气:"bǐng qì",夹板:"jiā bǎn",哀乐:"āi yuè",干道:"gàn dào",苦处:"kǔ chù",劈柴:"pǐ chái",长势:"zhǎng shì",天华:"tiān huá",共处:"gòng chǔ",校验:"jiào yàn",出塞:"chū sài",磨盘:"mò pán",萎靡:"wěi mǐ",奔丧:"bēn sāng",唱和:"chàng hè",大调:"dà diào",非分:"fēi fèn",钻营:"zuān yíng",夹子:"jiā zi",超载:"chāo zài",更始:"gēng shǐ",铃铛:"líng dang",披散:"pī sàn",发还:"fā huán",转轮:"zhuàn lún",横财:"hèng cái",泡桐:"pāo tóng",抛撒:"pāo sǎ",天呀:"tiān yā",糊糊:"hū hu",躯壳:"qū qiào",通量:"tōng liàng",奉还:"fèng huán",午觉:"wǔ jiào",闷棍:"mèn gùn",浪头:"làng tou",砚台:"yàn tái",油坊:"yóu fáng",学长:"xué zhǎng",过载:"guò zài",笔调:"bǐ diào",衣被:"yī bèi",畜产:"xù chǎn",调阅:"diào yuè",蛮干:"mán gàn",曾祖:"zēng zǔ",提干:"tí gàn",变调:"biàn diào",覆没:"fù mò",模子:"mú zi",乐律:"yuè lǜ",称心:"chèn xīn",木杆:"mù gān",重印:"chóng yìn",自省:"zì xǐng",提调:"tí diào",看相:"kàn xiàng",芋头:"yù tou",下切:"xià qiē",塞上:"sài shàng",铺张:"pū zhāng",藤蔓:"téng wàn",薄幸:"bó xìng",解数:"xiè shù",褪去:"tuì qù",霰弹:"xiàn dàn",柚木:"yóu mù",痕量:"hén liàng",雅乐:"yǎ yuè",号哭:"háo kū",诈降:"zhà xiáng",猪圈:"zhū juàn",咋舌:"zé shé",铣床:"xǐ chuáng",防弹:"fáng dàn",健将:"jiàn jiàng",丽水:"lí shuǐ",削发:"xuē fà",空当:"kòng dāng",多相:"duō xiàng",鲜见:"xiǎn jiàn",划桨:"huá jiǎng",载波:"zài bō",跳蚤:"tiào zao",俏皮:"qiào pí",吧嗒:"bā dā",结发:"jié fà",了断:"liǎo duàn",同调:"tóng diào",石磨:"shí mò",时差:"shí chā",鼻塞:"bí sè",挑子:"tiāo zi",推磨:"tuī mò",武侯:"wǔ hóu",抹煞:"mǒ shā",调转:"diào zhuǎn",籍没:"jí mò",还债:"huán zhài",调演:"diào yǎn",分划:"fēn huá",奇偶:"jī ǒu",断喝:"duàn hè",闷雷:"mèn léi",狼藉:"láng jí",饭量:"fàn liàng",还礼:"huán lǐ",转调:"zhuǎn diào",星相:"xīng xiàng",手相:"shǒu xiàng",配乐:"pèi yuè",盖头:"gài tou",连杆:"lián gǎn",簿记:"bù jì",刀把:"dāo bà",量词:"liàng cí",名角:"míng jué",步调:"bù diào",校本:"jiào běn",账簿:"zhàng bù",隽永:"juàn yǒng",稍为:"shāo wéi",易传:"yì zhuàn",乐谱:"yuè pǔ",牵累:"qiān lěi",答理:"dā li",喝斥:"hè chì",吟哦:"yín é",干渠:"gàn qú",海量:"hǎi liàng",精当:"jīng dàng",着床:"zhuó chuáng",月相:"yuè xiàng",庶几:"shù jī",宫观:"gōng guàn",论处:"lùn chǔ",征辟:"zhēng bì",厚朴:"hòu pò",介壳:"jiè qiào",吭哧:"kēng chī",咯血:"kǎ xiě",铺陈:"pū chén",重生:"chóng shēng",乐理:"yuè lǐ",哀号:"āi háo",藏历:"zàng lì",刚劲:"gāng jìng",削平:"xuē píng",浓荫:"nóng yīn",城垛:"chéng duǒ",当差:"dāng chāi",正传:"zhèng zhuàn",并处:"bìng chǔ",创面:"chuāng miàn",旦角:"dàn jué",薄礼:"bó lǐ",晃荡:"huàng dang",臊子:"sào zi",家什:"jiā shí",闷头:"mēn tóu",美发:"měi fà",度数:"dù shu",着凉:"zháo liáng",闯将:"chuǎng jiàng",几案:"jī àn",姘头:"pīn tou",差数:"chā shù",散碎:"sǎn suì",壅塞:"yōng sè",寒颤:"hán zhàn",牵强:"qiān qiǎng",无间:"wú jiàn",轮转:"lún zhuàn",号叫:"háo jiào",铺排:"pū pái",降伏:"xiáng fú",轧钢:"zhá gāng",东阿:"dōng ē",病假:"bìng jià",累加:"lěi jiā",梗塞:"gěng sè",弹夹:"dàn jiā",钻心:"zuān xīn",晃眼:"huǎng yǎn",魔爪:"mó zhǎo",标量:"biāo liàng",憋闷:"biē mèn",猜度:"cāi duó",处士:"chǔ shì",官差:"guān chāi",讨还:"tǎo huán",长门:"cháng mén",馏分:"liú fēn",里弄:"lǐ lòng",色相:"sè xiàng",雅兴:"yǎ xìng",角力:"jué lì",弹坑:"dàn kēng",枝杈:"zhī chà",夹具:"jiā jù",处刑:"chǔ xíng",悍将:"hàn jiàng",好学:"hào xué",好好:"hǎo hǎo",银发:"yín fà",扫把:"sào bǎ",法相:"fǎ xiàng",贵干:"guì gàn",供气:"gōng qì",空余:"kòng yú",捆扎:"kǔn zā",瘠薄:"jí bó",浆糊:"jiàng hu",嘎吱:"gā zhī",调令:"diào lìng",法帖:"fǎ tiè",淋病:"lìn bìng",调派:"diào pài",转盘:"zhuàn pán",供稿:"gōng gǎo",差官:"chāi guān",忧闷:"yōu mèn",教长:"jiào zhǎng",重唱:"chóng chàng",酒兴:"jiǔ xìng",乐坛:"yuè tán",花呢:"huā ní",叱喝:"chì hè",膀臂:"bǎng bì",得空:"dé kòng",转圈:"zhuàn quān",横暴:"hèng bào",哄抬:"hōng tái",引吭:"yǐn háng",载货:"zài huò",中计:"zhòng jì",官长:"guān zhǎng",相面:"xiàng miàn",看头:"kàn tou",盼头:"pàn tou",意兴:"yì xìng",军乐:"jūn yuè",累次:"lěi cì",骨嘟:"gǔ dū",燕赵:"yān zhào",报丧:"bào sāng",弥撒:"mí sa",挨斗:"ái dòu",扁舟:"piān zhōu",丑角:"chǒu jué",吊丧:"diào sāng",强将:"qiáng jiàng",重奏:"chóng zòu",发辫:"fà biàn",着魔:"zháo mó",着法:"zhāo fǎ",盛放:"shèng fàng",填塞:"tián sè",凶横:"xiōng hèng",稽首:"qǐ shǒu",碑帖:"bēi tiè",冲量:"chōng liàng",发菜:"fà cài",假发:"jiǎ fà",翻卷:"fān juǎn",小量:"xiǎo liàng",胶着:"jiāo zhuó",里子:"lǐ zi",调调:"diào diao",散兵:"sǎn bīng",高挑:"gāo tiǎo",播撒:"bō sǎ",夹心:"jiā xīn",扇动:"shān dòng",叨扰:"tāo rǎo",霓裳:"ní cháng",捻子:"niǎn zi",弥缝:"mí féng",撒布:"sǎ bù",场院:"cháng yuàn",省亲:"xǐng qīn",提拉:"tí lā",惯量:"guàn liàng",强逼:"qiáng bī",强征:"qiáng zhēng",晕车:"yùn chē",数道:"shù dào",带累:"dài lèi",拓本:"tà běn",嫌恶:"xián wù",宿将:"sù jiàng",龟裂:"jūn liè",缠夹:"chán jiā",发式:"fà shì",隔扇:"gé shàn",天分:"tiān fèn",癖好:"pǐ hào",四通:"sì tōng",白术:"bái zhú",划伤:"huá shāng",角斗:"jué dòu",听差:"tīng chāi",岁差:"suì chā",丧礼:"sāng lǐ",脉脉:"mò mò",削瘦:"xuē shòu",撒播:"sǎ bō",莎草:"suō cǎo",犍为:"qián wéi",调头:"diào tóu",龙卷:"lóng juǎn",外调:"wài diào",字帖:"zì tiè",卷发:"juǎn fà",揣度:"chuǎi duó",洋相:"yáng xiàng",散光:"sǎn guāng",骨碌:"gū lu",薄命:"bó mìng",笼头:"lóng tóu",咽炎:"yān yán",碌碡:"liù zhou",片儿:"piàn er",纤手:"qiàn shǒu",散体:"sǎn tǐ",内省:"nèi xǐng",强留:"qiáng liú",解送:"jiè sòng",反间:"fǎn jiàn",少壮:"shào zhuàng",留空:"liú kōng",告假:"gào jià",咳血:"ké xuè",薄暮:"bó mù",铺轨:"pū guǐ",磨削:"mó xuē",治丧:"zhì sāng",叉子:"chā zi",哄动:"hōng dòng",蛾子:"é zi",出落:"chū luò",股长:"gǔ zhǎng",贵处:"guì chù",还魂:"huán hún",例假:"lì jià",刹住:"shā zhù",身量:"shēn liàng",同好:"tóng hào",模量:"mó liàng",更生:"gēng shēng",服丧:"fú sāng",率直:"shuài zhí",字模:"zì mú",散架:"sǎn jià",答腔:"dā qiāng",交恶:"jiāo wù",薄情:"bó qíng",眼泡:"yǎn pāo",袅娜:"niǎo nuó",草垛:"cǎo duò",冲劲:"chòng jìn",呢喃:"ní nán",切中:"qiè zhòng",挑灯:"tiǎo dēng",还愿:"huán yuàn",激将:"jī jiàng",更鼓:"gēng gǔ",没药:"mò yào",败兴:"bài xìng",切面:"qiē miàn",散户:"sǎn hù",累进:"lěi jìn",背带:"bēi dài",秤杆:"chèng gǎn",碾坊:"niǎn fáng",簿子:"bù zi",扳手:"bān shǒu",铅山:"yán shān",儒将:"rú jiàng",重光:"chóng guāng",剪发:"jiǎn fà",长上:"zhǎng shàng",小传:"xiǎo zhuàn",压轴:"yā zhòu",弱冠:"ruò guàn",花卷:"huā juǎn",横祸:"hèng huò",夹克:"jiā kè",光晕:"guāng yùn",披靡:"pī mǐ",对调:"duì diào",夹持:"jiā chí",空额:"kòng é",平调:"píng diào",铺床:"pū chuáng",丧钟:"sāng zhōng",作乐:"zuò lè",少府:"shào fǔ",数数:"shuò shuò",奔头:"bèn tou",进给:"jìn jǐ",率性:"shuài xìng",乐子:"lè zi",绑扎:"bǎng zā",挑唆:"tiǎo suō",漂洗:"piǎo xǐ",夹墙:"jiā qiáng",咳喘:"ké chuǎn",乜斜:"miē xie",错处:"cuò chù",闷酒:"mèn jiǔ",时调:"shí diào",重孙:"chóng sūn",经幢:"jīng chuáng",圩场:"xū chǎng",调门:"diào mén",花头:"huā tóu",划拉:"huá la",套色:"tào shǎi",粗率:"cū shuài",相率:"xiāng shuài",款识:"kuǎn zhì",吁请:"yù qǐng",荫蔽:"yīn bì",文蛤:"wén gé",嘀嗒:"dī dā",调取:"diào qǔ",交差:"jiāo chāi",落子:"luò zǐ",相册:"xiàng cè",絮叨:"xù dao",落发:"luò fà",异相:"yì xiàng",浸没:"jìn mò",角抵:"jué dǐ",卸载:"xiè zài",春卷:"chūn juǎn",扎挣:"zhá zheng",畜养:"xù yǎng",吡咯:"bǐ luò",垛子:"duò zi",恶少:"è shào",发际:"fà jì",红苕:"hóng sháo",糨糊:"jiàng hu",哭丧:"kū sāng",稍息:"shào xī",晕船:"yùn chuán",校样:"jiào yàng",外差:"wài chā",脚爪:"jiǎo zhǎo",铺展:"pū zhǎn",芫荽:"yán sui",夹紧:"jiā jǐn",尿泡:"suī pào",丧乱:"sāng luàn",凶相:"xiōng xiàng",华发:"huá fà",打场:"dǎ cháng",云量:"yún liàng",正切:"zhèng qiē",划拳:"huá quán",划艇:"huá tǐng",评传:"píng zhuàn",拉纤:"lā qiàn",句读:"jù dòu",散剂:"sǎn jì",骨殖:"gǔ shi",塞音:"sè yīn",铺叙:"pū xù",阏氏:"yān zhī",冷颤:"lěng zhàn",煞住:"shā zhù",少男:"shào nán",管乐:"guǎn yuè",号啕:"háo táo",纳降:"nà xiáng",拥塞:"yōng sè",万乘:"wàn shèng",杆儿:"gǎn ér",葛藤:"gé téng",簿籍:"bù jí",皮夹:"pí jiā",校准:"jiào zhǔn",允当:"yǔn dàng",器量:"qì liàng",选调:"xuǎn diào",扮相:"bàn xiàng",干才:"gàn cái",基干:"jī gàn",割切:"gē qiē",国乐:"guó yuè",卡壳:"qiǎ ké",辟谷:"bì gǔ",磨房:"mò fáng",咿呀:"yī yā",芥末:"jiè mo",薄技:"bó jì",产假:"chǎn jià",诗兴:"shī xìng",重出:"chóng chū",转椅:"zhuàn yǐ",酌量:"zhuó liang",簿册:"bù cè",藏青:"zàng qīng",的士:"dī shì",调人:"diào rén",解元:"jiè yuán",茎干:"jīng gàn",巨量:"jù liàng",榔头:"láng tou",率真:"shuài zhēn",喷香:"pèn xiāng",锁钥:"suǒ yuè",虾蟆:"há má",相图:"xiàng tú",兴会:"xìng huì",灶头:"zào tóu",重婚:"chóng hūn",钻洞:"zuān dòng",忖度:"cǔn duó",党参:"dǎng shēn",调温:"diào wēn",杆塔:"gān tǎ",葛布:"gé bù",拱券:"gǒng xuàn",夹生:"jiā shēng",露馅:"lòu xiàn",恰切:"qià qiè",散见:"sǎn jiàn",哨卡:"shào qiǎ",烫发:"tàng fà",体量:"tǐ liàng",挺括:"tǐng kuò",系带:"jì dài",相士:"xiàng shì",羊圈:"yáng juàn",转矩:"zhuàn jǔ",吧台:"bā tái",苍术:"cāng zhú",菲薄:"fěi bó",蛤蚧:"gé jiè",蛤蜊:"gé lí",瓜蔓:"guā wàn",怪相:"guài xiàng",临帖:"lín tiè",女红:"nǚ gōng",刨床:"bào chuáng",翘楚:"qiáo chǔ",数九:"shǔ jiǔ",谈兴:"tán xìng",雄劲:"xióng jìng",扎染:"zā rǎn",遮荫:"zhē yīn",周正:"zhōu zhèng",赚头:"zhuàn tou",扒手:"pá shǒu",搀和:"chān huo",诚朴:"chéng pǔ",肚量:"dù liàng",干结:"gān jié",工尺:"gōng chě",家累:"jiā lěi",曲水:"qū shuǐ",沙参:"shā shēn",挑花:"tiǎo huā",阿门:"ā mén",背篓:"bēi lǒu",瘪三:"biē sān",裁处:"cái chǔ",创痛:"chuāng tòng",福相:"fú xiàng",更动:"gēng dòng",豪兴:"háo xìng",还阳:"huán yáng",还嘴:"huán zuǐ",借调:"jiè diào",卷云:"juǎn yún",流弹:"liú dàn",想头:"xiǎng tou",削价:"xuē jià",校阅:"jiào yuè",雅量:"yǎ liàng",别传:"bié zhuàn",薄酒:"bó jiǔ",春假:"chūn jià",发妻:"fà qī",哗哗:"huā huā",宽绰:"kuān chuo",了悟:"liǎo wù",切花:"qiē huā",审度:"shěn duó",应许:"yīng xǔ",转台:"zhuàn tái",仔猪:"zǐ zhū",裁量:"cái liáng",藏戏:"zàng xì",乘兴:"chéng xìng",绸缪:"chóu móu",摧折:"cuī zhé",调经:"tiáo jīng",调职:"diào zhí",缝缀:"féng zhuì",骨朵:"gū duǒ",核儿:"hú er",恒量:"héng liàng",还价:"huán jià",浑朴:"hún pǔ",苦差:"kǔ chāi",面糊:"miàn hù",煞车:"shā chē",省视:"xǐng shì",什锦:"shí jǐn",信差:"xìn chāi",余切:"yú qiē",攒眉:"cuán méi",炸糕:"zhá gāo",钻杆:"zuàn gǎn",扒灰:"pá huī",拌和:"bàn huò",长调:"cháng diào",大溜:"dà liù",抖搂:"dǒu lōu",飞转:"fēi zhuàn",干仗:"gàn zhàng",好胜:"hào shèng",画片:"huà piàn",搅混:"jiǎo hún",螺杆:"luó gǎn",木模:"mù mú",怒号:"nù háo",频数:"pín shù",无宁:"wú níng",遗少:"yí shào",邮差:"yóu chāi",占卦:"zhān guà",占星:"zhān xīng",重审:"chóng shěn",自量:"zì liàng",调防:"diào fáng",发廊:"fà láng",反调:"fǎn diào",缝子:"fèng zi",更夫:"gēng fū",骨子:"gǔ zi",光杆:"guāng gǎn",夹棍:"jiā gùn",居丧:"jū sāng",巨贾:"jù gǔ",看押:"kān yā",空转:"kōng zhuàn",量力:"liàng lì",炮烙:"páo luò",赔还:"péi huán",扑扇:"pū shān",散记:"sǎn jì",散件:"sǎn jiàn",删削:"shān xuē",射干:"shè gàn",条几:"tiáo jī",偷空:"tōu kòng",削壁:"xuē bì",校核:"jiào hé",阴干:"yīn gān",择菜:"zhái cài",重九:"chóng jiǔ",主调:"zhǔ diào",自禁:"zì jīn",吧唧:"bā jī",便溺:"biàn niào",词调:"cí diào",叨咕:"dáo gu",落枕:"lào zhěn",铺砌:"pū qì",刷白:"shuà bái",委靡:"wěi mǐ",系泊:"xì bó",相马:"xiàng mǎ",熨帖:"yù tiē",转筋:"zhuàn jīn",棒喝:"bàng hè",傧相:"bīn xiàng",镐头:"gǎo tóu",间苗:"jiàn miáo",乐池:"yuè chí",卖相:"mài xiàng",屏弃:"bǐng qì",铅弹:"qiān dàn",切变:"qiē biàn",请调:"qǐng diào",群氓:"qún méng",散板:"sǎn bǎn",省察:"xǐng chá",事假:"shì jià",纤绳:"qiàn shéng",重影:"chóng yǐng",耕种:"gēng zhòng",种地:"zhòng dì",种菜:"zhòng cài",栽种:"zāi zhòng",接种:"jiē zhòng",垦种:"kěn zhòng",种殖:"zhòng zhí",种瓜:"zhòng guā",种豆:"zhòng dòu",种树:"zhòng shù",睡着:"shuì zháo",笼子:"lóng zi",重启:"chóng qǐ",重整:"chóng zhěng",重弹:"chóng tán",重足:"chóng zú",重山:"chóng shān",重游:"chóng yóu",重峦:"chóng luán",爷爷:"yé ye",奶奶:"nǎi nai",姥爷:"lǎo ye",爸爸:"bà ba",妈妈:"mā ma",婶婶:"shěn shen",舅舅:"jiù jiu",姑姑:"gū gu",叔叔:"shū shu",姨夫:"yí fu",舅母:"jiù mu",姑父:"gū fu",姐夫:"jiě fu",婆婆:"pó po",公公:"gōng gong",舅子:"jiù zi",姐姐:"jiě jie",哥哥:"gē ge",妹妹:"mèi mei",妹夫:"mèi fu",姨子:"yí zi",宝宝:"bǎo bao",娃娃:"wá wa",孩子:"hái zi",日子:"rì zi",样子:"yàng zi",狮子:"shī zi",身子:"shēn zi",架子:"jià zi",嫂子:"sǎo zi",鼻子:"bí zi",亭子:"tíng zi",折子:"zhé zi",面子:"miàn zi",脖子:"bó zi",辈子:"bèi zi",帽子:"mào zi",拍子:"pāi zi",柱子:"zhù zi",辫子:"biàn zi",鸽子:"gē zi",房子:"fáng zi",丸子:"wán zi",摊子:"tān zi",牌子:"pái zi",胡子:"hú zi",鬼子:"guǐ zi",矮子:"ǎi zi",鸭子:"yā zi",小子:"xiǎo zi",影子:"yǐng zi",屋子:"wū zi",对子:"duì zi",点子:"diǎn zi",本子:"běn zi",种子:"zhǒng zi",儿子:"ér zi",兔子:"tù zi",骗子:"piàn zi",院子:"yuàn zi",猴子:"hóu zi",嗓子:"sǎng zi",侄子:"zhí zi",柿子:"shì zi",钳子:"qián zi",虱子:"shī zi",瓶子:"píng zi",豹子:"bào zi",筷子:"kuài zi",篮子:"lán zi",绳子:"shéng zi",嘴巴:"zuǐ ba",耳朵:"ěr duo",茄子:"qié zi",蚌埠:"bèng bù",崆峒:"kōng tóng",琵琶:"pí pa",蘑菇:"mó gu",葫芦:"hú lu",狐狸:"hú li",桔子:"jú zi",盒子:"hé zi",桌子:"zhuō zi",竹子:"zhú zi",师傅:"shī fu",衣服:"yī fu",袜子:"wà zi",杯子:"bēi zi",刺猬:"cì wei",麦子:"mài zi",队伍:"duì wu",知了:"zhī liǎo",鱼儿:"yú er",馄饨:"hún tun",灯笼:"dēng long",庄稼:"zhuāng jia",聪明:"cōng ming",镜子:"jìng zi",银子:"yín zi",盘子:"pán zi",了却:"liǎo què",力气:"lì qi",席子:"xí zi",林子:"lín zi",朝霞:"zhāo xiá",朝夕:"zhāo xī",朝气:"zhāo qì",翅膀:"chì bǎng",省长:"shěng zhǎng",臧否:"zāng pǐ",否泰:"pǐ tài",变得:"biàn de",丈夫:"zhàng fu",豆腐:"dòu fu",笔杆:"bǐ gǎn",枞阳:"zōng yáng",行人:"xíng rén",打着:"dǎ zhe",第一:"dì yī",万一:"wàn yī",之一:"zhī yī",得之:"dé zhī",统一:"tǒng yī",唯一:"wéi yī",专一:"zhuān yī",单一:"dān yī",如一:"rú yī",其一:"qí yī",合一:"hé yī",逐一:"zhú yī",周一:"zhōu yī",初一:"chū yī",研一:"yán yī",归一:"guī yī",假一:"jiǎ yī",闻一:"wén yī",了了:"liǎo liǎo",公了:"gōng liǎo",私了:"sī liǎo",一月:"yī yuè",一号:"yī hào",一级:"yī jí",一等:"yī děng",一哥:"yī gē",月一:"yuè yī",一一:"yī yī",二一:"èr yī",三一:"sān yī",四一:"sì yī",五一:"wǔ yī",六一:"liù yī",七一:"qī yī",八一:"bā yī",九一:"jiǔ yī","一〇":"yī líng",一零:"yī líng",一二:"yī èr",一三:"yī sān",一四:"yī sì",一五:"yī wǔ",一六:"yī liù",一七:"yī qī",一八:"yī bā",一九:"yī jiǔ",一又:"yī yòu",一饼:"yī bǐng",一楼:"yī lóu",为例:"wéi lì",为准:"wéi zhǔn",沧海:"cāng hǎi",难为:"nán wéi",责难:"zé nàn",患难:"huàn nàn",磨难:"mó nàn",大难:"dà nàn",刁难:"diāo nàn",殉难:"xùn nàn",落难:"luò nàn",罹难:"lí nàn",灾难:"zāi nàn",难民:"nàn mín",苦难:"kǔ nàn",危难:"wēi nàn",发难:"fā nàn",逃难:"táo nàn",避难:"bì nàn",遇难:"yù nàn",阻难:"zǔ nàn",厄难:"è nàn",徇难:"xùn nàn",空难:"kōng nàn",喜欢:"xǐ huan",朝朝:"zhāo zhāo",不行:"bù xíng",轧轧:"yà yà",弯曲:"wān qū",扭曲:"niǔ qū",曲直:"qū zhí",委曲:"wěi qū",酒曲:"jiǔ qū",曲径:"qū jìng",曲解:"qū jiě",歪曲:"wāi qū",曲线:"qū xiàn",曲阜:"qū fù",九曲:"jiǔ qū",曲折:"qū zhé",曲肱:"qū gōng",曲意:"qū yì",仡佬:"gē lǎo"},Sh=Object.keys(ui).map(n=>({zh:n,pinyin:ui[n],probability:2e-8,length:2,priority:R.Normal,dict:Symbol("dict2")})),ei={为什么:"wèi shén me",实际上:"shí jì shang",检察长:"jiǎn chá zhǎng",干什么:"gàn shén me",这会儿:"zhè huì er",尽可能:"jǐn kě néng",董事长:"dǒng shì zhǎng",了不起:"liǎo bù qǐ",参谋长:"cān móu zhǎng",朝鲜族:"cháo xiǎn zú",海内外:"hǎi nèi wài",禁不住:"jīn bú zhù",柏拉图:"bó lā tú",不在乎:"bú zài hu",洛杉矶:"luò shān jī",有点儿:"yǒu diǎn er",迫击炮:"pǎi jī pào",不得了:"bù dé liǎo",马尾松:"mǎ wěi sōng",运输量:"yùn shū liàng",发脾气:"fā pí qi",士大夫:"shì dà fū",鸭绿江:"yā lù jiāng",压根儿:"yà gēn er",对得起:"duì de qǐ",那会儿:"nà huì er",自个儿:"zì gě er",物理量:"wù lǐ liàng",怎么着:"zěn me zhāo",明晃晃:"míng huǎng huǎng",节假日:"jié jià rì",心里话:"xīn lǐ huà",发行量:"fā xíng liàng",兴冲冲:"xìng chōng chōng",分子量:"fēn zǐ liàng",国子监:"guó zǐ jiàn",老大难:"lǎo dà nán",党内外:"dǎng nèi wài",这么着:"zhè me zhāo",少奶奶:"shào nǎi nai",暗地里:"àn dì lǐ",更年期:"gēng nián qī",工作量:"gōng zuò liàng",背地里:"bèi dì lǐ",山里红:"shān li hóng",好好儿:"hǎo hāo er",交响乐:"jiāo xiǎng yuè",好意思:"hǎo yì si",吐谷浑:"tǔ yù hún",没意思:"méi yì si",理发师:"lǐ fà shī",塔什干:"tǎ shí gān",充其量:"chōng qí liàng",靠得住:"kào de zhù",车行道:"chē xíng dào",人行道:"rén xíng dào",中郎将:"zhōng láng jiàng",照明弹:"zhào míng dàn",烟幕弹:"yān mù dàn",没奈何:"mò nài hé",乱哄哄:"luàn hōng hōng",惠更斯:"huì gēng sī",载重量:"zài zhòng liàng",瞧得起:"qiáo de qǐ",纪传体:"jì zhuàn tǐ",阿房宫:"ē páng gōng",卷心菜:"juǎn xīn cài",戏班子:"xì bān zi",过得去:"guò de qù",花岗石:"huā gāng shí",外甥女:"wài sheng nǚ",团团转:"tuán tuán zhuàn",大堡礁:"dà bǎo jiāo",燃烧弹:"rán shāo dàn",劳什子:"láo shí zi",摇滚乐:"yáo gǔn yuè",夹竹桃:"jiā zhú táo",闹哄哄:"nào hōng hōng",三连冠:"sān lián guàn",重头戏:"zhòng tóu xì",二人转:"èr rén zhuàn",节骨眼:"jiē gǔ yǎn",知识面:"zhī shi miàn",护士长:"hù shi zhǎng",信号弹:"xìn hào dàn",干电池:"gān diàn chí",枪杆子:"qiāng gǎn zi",哭丧棒:"kū sāng bàng",鼻咽癌:"bí yān ái",瓦岗军:"wǎ gāng jūn",买得起:"mǎi de qǐ",癞蛤蟆:"lài há ma",脊梁骨:"jǐ liang gǔ",子母弹:"zǐ mǔ dàn",开小差:"kāi xiǎo chāi",女强人:"nǚ qiáng rén",英雄传:"yīng xióng zhuàn",爵士乐:"jué shì yuè",说笑话:"shuō xiào hua",碰头会:"pèng tóu huì",玻璃钢:"bō li gāng",曳光弹:"yè guāng dàn",少林拳:"shào lín quán",咏叹调:"yǒng tàn diào",少先队:"shào xiān duì",灵长目:"líng zhǎng mù",对着干:"duì zhe gàn",蒙蒙亮:"méng méng liàng",软骨头:"ruǎn gǔ tou",铺盖卷:"pū gài juǎn",和稀泥:"huò xī ní",背黑锅:"bēi hēi guō",红彤彤:"hóng tōng tōng",武侯祠:"wǔ hóu cí",打哆嗦:"dǎ duō suo",户口簿:"hù kǒu bù",马尾藻:"mǎ wěi zǎo",夜猫子:"yè māo zi",打手势:"dǎ shǒu shì",龙王爷:"lóng wáng yé",气头上:"qì tóu shang",糊涂虫:"hú tu chóng",笔杆子:"bǐ gǎn zi",占便宜:"zhàn pián yi",打主意:"dǎ zhǔ yì",多弹头:"duō dàn tóu",露一手:"lòu yì shǒu",堰塞湖:"yàn sè hú",保得住:"bǎo de zhù",趵突泉:"bào tū quán",奥得河:"ào de hé",司务长:"sī wù zhǎng",禁不起:"jīn bù qǐ",什刹海:"shí chà hǎi",莲花落:"lián huā lào",见世面:"jiàn shì miàn",豁出去:"huō chū qù",电位差:"diàn wèi chā",挨个儿:"āi gè er",那阵儿:"nà zhèn er",肺活量:"fèi huó liàng",大师傅:"dà shī fu",掷弹筒:"zhì dàn tǒng",打呼噜:"dǎ hū lu",广渠门:"ān qú mén",未见得:"wèi jiàn dé",大婶儿:"dà shěn er",谈得来:"tán de lái",脚丫子:"jiǎo yā zi",空包弹:"kōng bāo dàn",窝里斗:"wō li dòu",弹着点:"dàn zhuó diǎn",个头儿:"gè tóu er",看得起:"kàn de qǐ",糊涂账:"hú tu zhàng",大猩猩:"dà xīng xing",禁得起:"jīn de qǐ",法相宗:"fǎ xiàng zōng",可怜相:"kě lián xiàng",吃得下:"chī de xià",汉堡包:"hàn bǎo bāo",闹嚷嚷:"nào rāng rāng",数来宝:"shǔ lái bǎo",合得来:"hé de lái",干性油:"gān xìng yóu",闷葫芦:"mèn hú lu",呱呱叫:"guā guā jiào",西洋参:"xī yáng shēn",林荫道:"lín yīn dào",拉家常:"lā jiā cháng",卷铺盖:"juǎn pū gài",过得硬:"guò de yìng",飞将军:"fēi jiāng jūn",挑大梁:"tiǎo dà liáng",哈巴狗:"hǎ ba gǒu",过家家:"guò jiā jiā",催泪弹:"cuī lèi dàn",雨夹雪:"yǔ jiā xuě",敲竹杠:"qiāo zhú gàng",列车长:"liè chē zhǎng",华达呢:"huá dá ní",犯得着:"fàn de zháo",土疙瘩:"tǔ gē da",煞风景:"shā fēng jǐng",轻量级:"qīng liàng jí",羞答答:"xiū dā dā",石子儿:"shí zǐ er",达姆弹:"dá mǔ dàn",科教片:"kē jiào piān",侃大山:"kǎn dà shān",丁点儿:"dīng diǎn er",吃得消:"chī de xiāo",捋虎须:"luō hǔ xū",高丽参:"gāo lí shēn",众生相:"zhòng shēng xiàng",咽峡炎:"yān xiá yán",禁得住:"jīn de zhù",吃得开:"chī de kāi",柞丝绸:"zuò sī chóu",应声虫:"yìng shēng chóng",数得着:"shǔ de zháo",傻劲儿:"shǎ jìn er",铅玻璃:"qiān bō li",可的松:"kě dì sōng",划得来:"huá de lái",晕乎乎:"yūn hū hū",屎壳郎:"shǐ ke làng",尥蹶子:"liào juě zi",藏红花:"zàng hóng huā",闷罐车:"mèn guàn chē",卡脖子:"qiǎ bó zi",红澄澄:"hóng deng deng",赶得及:"gǎn de jí",当间儿:"dāng jiàn er",露马脚:"lòu mǎ jiǎo",鸡内金:"jī nèi jīn",犯得上:"fàn de shàng",钉齿耙:"dīng chǐ bà",饱和点:"bǎo hé diǎn",龙爪槐:"lóng zhǎo huái",喝倒彩:"hè dào cǎi",定冠词:"dìng guàn cí",担担面:"dàn dan miàn",吃得住:"chī de zhù",爪尖儿:"zhuǎ jiān er",支着儿:"zhī zhāo er",折跟头:"zhē gēn tou",阴着儿:"yīn zhāo er",烟卷儿:"yān juǎn er",宣传弹:"xuān chuán dàn",信皮儿:"xìn pí er",弦切角:"xián qiē jiǎo",缩砂密:"sù shā mì",说得来:"shuō de lái",水漂儿:"shuǐ piāo er",耍笔杆:"shuǎ bǐ gǎn",数得上:"shǔ de shàng",数不着:"shǔ bù zháo",数不清:"shǔ bù qīng",什件儿:"shí jiàn er",生死簿:"shēng sǐ bù",扇风机:"shān fēng jī",撒呓挣:"sā yì zheng",日记簿:"rì jì bù",热得快:"rè de kuài",亲家公:"qìng jia gōng",奇函数:"jī hán shù",拍纸簿:"pāi zhǐ bù",努劲儿:"nǔ jìn er",泥娃娃:"ní wá wa",内切圆:"nèi qiē yuán",哪会儿:"nǎ huì er",闷头儿:"mēn tóu er",没谱儿:"méi pǔ er",铆劲儿:"mǎo jìn er",溜肩膀:"liū jiān bǎng",了望台:"liào wàng tái",老来少:"lǎo lái shào",坤角儿:"kūn jué er",考勤簿:"kǎo qín bù",卷笔刀:"juǎn bǐ dāo",进给量:"jìn jǐ liàng",划不来:"huá bù lái",汗褂儿:"hàn guà er",鼓囊囊:"gǔ nāng nāng",够劲儿:"gòu jìn er",公切线:"gōng qiē xiàn",搁得住:"gé de zhù",赶浪头:"gǎn làng tóu",赶得上:"gǎn de shàng",干酵母:"gān jiào mǔ",嘎渣儿:"gā zhā er",嘎嘣脆:"gā bēng cuì",对得住:"duì de zhù",逗闷子:"dòu mèn zi",顶呱呱:"dǐng guā guā",滴溜儿:"dī liù er",大轴子:"dà zhòu zi",打板子:"dǎ bǎn zi",寸劲儿:"cùn jìn er",醋劲儿:"cù jìn er",揣手儿:"chuāi shǒu er",冲劲儿:"chòng jìn er",吃得来:"chī de lái",不更事:"bù gēng shì",奔头儿:"bèn tou er",百夫长:"bǎi fū zhǎng",娃娃亲:"wá wa qīn",死劲儿:"sǐ jìn er",骨朵儿:"gū duǒ er",功劳簿:"gōng láo bù",都江堰:"dū jiāng yàn",一担水:"yí dàn shuǐ",否极泰:"pǐ jí tài",泰来否:"tài lái pǐ",咳特灵:"ké tè líng",开户行:"kāi hù háng",郦食其:"lì yì jī",花事了:"huā shì liǎo",一更更:"yì gēng gēng",一重山:"yì chóng shān",风一更:"fēng yì gēng",雪一更:"xuě yì gēng",归一码:"guī yì mǎ",星期一:"xīng qī yī",礼拜一:"lǐ bài yī",一季度:"yī jì dù",一月一:"yī yuè yī",一字马:"yī zì mǎ",一是一:"yī shì yī",一次方:"yī cì fāng",一阳指:"yī yáng zhǐ",一字决:"yī zì jué",一年级:"yī nián jí",一不做:"yī bú zuò",屈戌儿:"qū qu ér",难为水:"nán wéi shuǐ",难为情:"nán wéi qíng",行一行:"xíng yì háng",别别的:"biè bié de",干哪行:"gàn nǎ háng",干一行:"gàn yì háng",曲别针:"qū bié zhēn"},Ph=Object.keys(ei).map(n=>({zh:n,pinyin:ei[n],probability:2e-8,length:3,priority:R.Normal,dict:Symbol("dict3")})),si={成吉思汗:"chéng jí sī hán",四通八达:"sì tōng bā dá",一模一样:"yì mú yí yàng",青藏高原:"qīng zàng gāo yuán",阿弥陀佛:"ē mí tuó fó",解放思想:"jiè fàng sī xiǎng",所作所为:"suǒ zuò suǒ wéi",迷迷糊糊:"mí mí hu hū",荷枪实弹:"hè qiāng shí dàn",兴高采烈:"xìng gāo cǎi liè",无能为力:"wú néng wéi lì",布鲁塞尔:"bù lǔ sài ěr",为所欲为:"wéi suǒ yù wéi",克什米尔:"kè shí mǐ ěr",没完没了:"méi wán méi liǎo",不为人知:"bù wéi rén zhī",结结巴巴:"jiē jiē bā bā",前仆后继:"qián pū hòu jì",铺天盖地:"pū tiān gài dì",直截了当:"zhí jié liǎo dàng",供不应求:"gōng bú yìng qiú",御史大夫:"yù shǐ dà fū",不为瓦全:"bù wéi wǎ quán",不可收拾:"bù kě shōu shi",胡作非为:"hú zuò fēi wéi",分毫不差:"fēn háo bú chà",模模糊糊:"mó mó hu hū",不足为奇:"bù zú wéi qí",悄无声息:"qiǎo wú shēng xī",了如指掌:"liǎo rú zhǐ zhǎng",深恶痛绝:"shēn wù tòng jué",高高兴兴:"gāo gāo xìng xìng",唉声叹气:"āi shēng tàn qì",汉藏语系:"hàn zàng yǔ xì",处心积虑:"chǔ xīn jī lǜ",泣不成声:"qì bù chéng shēng",半夜三更:"bàn yè sān gēng",失魂落魄:"shī hún luò pò",二十八宿:"èr shí bā xiù",转来转去:"zhuàn lái zhuàn qù",数以万计:"shǔ yǐ wàn jì",相依为命:"xiāng yī wéi mìng",恋恋不舍:"liàn liàn bù shě",屈指可数:"qū zhǐ kě shǔ",神出鬼没:"shén chū guǐ mò",结结实实:"jiē jiē shí shí",有的放矢:"yǒu dì fàng shǐ",叽哩咕噜:"jī lǐ gū lū",调兵遣将:"diào bīng qiǎn jiàng",载歌载舞:"zài gē zài wǔ",转危为安:"zhuǎn wēi wéi ān",踏踏实实:"tā tā shi shí",桑给巴尔:"sāng jǐ bā ěr",装模作样:"zhuāng mú zuò yàng",见义勇为:"jiàn yì yǒng wéi",相差无几:"xiāng chā wú jǐ",叹为观止:"tàn wéi guān zhǐ",闷闷不乐:"mèn mèn bú lè",喜怒哀乐:"xǐ nù āi lè",鲜为人知:"xiǎn wéi rén zhī",张牙舞爪:"zhāng yá wǔ zhǎo",为非作歹:"wéi fēi zuò dǎi",含糊其辞:"hán hú qí cí",疲于奔命:"pí yú bēn mìng",勉为其难:"miǎn wéi qí nán",依依不舍:"yī yī bù shě",顶头上司:"dǐng tóu shàng si",不着边际:"bù zhuó biān jì",大模大样:"dà mú dà yàng",寻欢作乐:"xún huān zuò lè",一走了之:"yì zǒu liǎo zhī",字里行间:"zì lǐ háng jiān",含含糊糊:"hán hán hu hū",恰如其分:"qià rú qí fèn",破涕为笑:"pò tì wéi xiào",深更半夜:"shēn gēng bàn yè",千差万别:"qiān chā wàn bié",数不胜数:"shǔ bú shèng shǔ",据为己有:"jù wéi jǐ yǒu",天旋地转:"tiān xuán dì zhuàn",养尊处优:"yǎng zūn chǔ yōu",玻璃纤维:"bō li xiān wéi",吵吵闹闹:"chāo chao nào nào",晕头转向:"yūn tóu zhuàn xiàng",土生土长:"tǔ shēng tǔ zhǎng",宁死不屈:"nìng sǐ bù qū",不省人事:"bù xǐng rén shì",尽力而为:"jìn lì ér wéi",精明强干:"jīng míng qiáng gàn",唠唠叨叨:"láo lao dāo dāo",叽叽喳喳:"jī ji zhā zhā",功不可没:"gōng bù kě mò",锲而不舍:"qiè ér bù shě",排忧解难:"pái yōu jiě nàn",稀里糊涂:"xī li hú tú",各有所长:"gè yǒu suǒ cháng",的的确确:"dí dí què què",哄堂大笑:"hōng táng dà xiào",听而不闻:"tīng ér bù wén",刀耕火种:"dāo gēng huǒ zhòng",内分泌腺:"nèi fèn mì xiàn",化险为夷:"huà xiǎn wéi yí",百发百中:"bǎi fā bǎi zhòng",重见天日:"chóng jiàn tiān rì",反败为胜:"fǎn bài wéi shèng",一了百了:"yì liǎo bǎi liǎo",大大咧咧:"dà da liē liē",心急火燎:"xīn jí huǒ liǎo",粗心大意:"cū xīn dà yi",鸡皮疙瘩:"jī pí gē da",夷为平地:"yí wéi píng dì",日积月累:"rì jī yuè lěi",设身处地:"shè shēn chǔ dì",投其所好:"tóu qí suǒ hào",间不容发:"jiān bù róng fà",人满为患:"rén mǎn wéi huàn",穷追不舍:"qióng zhuī bù shě",为时已晚:"wéi shí yǐ wǎn",如数家珍:"rú shǔ jiā zhēn",心里有数:"xīn lǐ yǒu shù",以牙还牙:"yǐ yá huán yá",神不守舍:"shén bù shǒu shě",孟什维克:"mèng shí wéi kè",各自为战:"gè zì wéi zhàn",怨声载道:"yuàn shēng zài dào",救苦救难:"jiù kǔ jiù nàn",好好先生:"hǎo hǎo xiān sheng",怪模怪样:"guài mú guài yàng",抛头露面:"pāo tóu lù miàn",游手好闲:"yóu shǒu hào xián",无所不为:"wú suǒ bù wéi",调虎离山:"diào hǔ lí shān",步步为营:"bù bù wéi yíng",好大喜功:"hào dà xǐ gōng",众矢之的:"zhòng shǐ zhī dì",长生不死:"cháng shēng bù sǐ",蔚为壮观:"wèi wéi zhuàng guān",不可胜数:"bù kě shèng shǔ",鬼使神差:"guǐ shǐ shén chāi",洁身自好:"jié shēn zì hào",敢作敢为:"gǎn zuò gǎn wéi",茅塞顿开:"máo sè dùn kāi",走马换将:"zǒu mǎ huàn jiàng",为时过早:"wéi shí guò zǎo",为人师表:"wéi rén shī biǎo",阴差阳错:"yīn chā yáng cuò",油腔滑调:"yóu qiāng huá diào",重蹈覆辙:"chóng dǎo fù zhé",骂骂咧咧:"mà ma liē liē",絮絮叨叨:"xù xù dāo dāo",如履薄冰:"rú lǚ bó bīng",损兵折将:"sǔn bīng zhé jiàng",拐弯抹角:"guǎi wān mò jiǎo",像模像样:"xiàng mú xiàng yàng",供过于求:"gōng guò yú qiú",开花结果:"kāi huā jiē guǒ",仔仔细细:"zǐ zǐ xì xì",川藏公路:"chuān zàng gōng lù",河北梆子:"hé běi bāng zi",长年累月:"cháng nián lěi yuè",正儿八经:"zhèng er bā jīng",不识抬举:"bù shí tái ju",重振旗鼓:"chóng zhèn qí gǔ",气息奄奄:"qì xī yān yān",紧追不舍:"jǐn zhuī bù shě",服服帖帖:"fú fu tiē tiē",强词夺理:"qiǎng cí duó lǐ",噼里啪啦:"pī li pā lā",人才济济:"rén cái jǐ jǐ",发人深省:"fā rén shēn xǐng",不足为凭:"bù zú wéi píng",为富不仁:"wéi fù bù rén",连篇累牍:"lián piān lěi dú",呼天抢地:"hū tiān qiāng dì",落落大方:"luò luò dà fāng",自吹自擂:"zì chuī zì léi",乐善好施:"lè shàn hào shī",以攻为守:"yǐ gōng wéi shǒu",磨磨蹭蹭:"mó mó cèng cèng",削铁如泥:"xuē tiě rú ní",助纣为虐:"zhù zhòu wéi nüè",以退为进:"yǐ tuì wéi jìn",嘁嘁喳喳:"qī qī chā chā",枪林弹雨:"qiāng lín dàn yǔ",令人发指:"lìng rén fà zhǐ",转败为胜:"zhuǎn bài wéi shèng",转弯抹角:"zhuǎn wān mò jiǎo",在劫难逃:"zài jié nán táo",正当防卫:"zhèng dàng fáng wèi",不足为怪:"bù zú wéi guài",难兄难弟:"nàn xiōng nàn dì",咿咿呀呀:"yī yī yā yā",弹尽粮绝:"dàn jìn liáng jué",阿谀奉承:"ē yú fèng chéng",稀里哗啦:"xī li huā lā",返老还童:"fǎn lǎo huán tóng",好高骛远:"hào gāo wù yuǎn",鹿死谁手:"lù sǐ shéi shǒu",差强人意:"chā qiáng rén yì",大吹大擂:"dà chuī dà léi",成家立业:"chéng jiā lì yè",自怨自艾:"zì yuàn zì yì",负债累累:"fù zhài lěi lěi",古为今用:"gǔ wéi jīn yòng",入土为安:"rù tǔ wéi ān",下不为例:"xià bù wéi lì",一哄而上:"yì hōng ér shàng",没头苍蝇:"méi tóu cāng ying",天差地远:"tiān chā dì yuǎn",风卷残云:"fēng juǎn cán yún",多灾多难:"duō zāi duō nàn",乳臭未干:"rǔ xiù wèi gān",行家里手:"háng jiā lǐ shǒu",狼狈为奸:"láng bèi wéi jiān",处变不惊:"chǔ biàn bù jīng",一唱一和:"yí chàng yí hè",一念之差:"yí niàn zhī chā",金蝉脱壳:"jīn chán tuō qiào",滴滴答答:"dī dī dā dā",硕果累累:"shuò guǒ léi léi",好整以暇:"hào zhěng yǐ xiá",红得发紫:"hóng de fā zǐ",传为美谈:"chuán wéi měi tán",富商大贾:"fù shāng dà gǔ",四海为家:"sì hǎi wéi jiā",了若指掌:"liǎo ruò zhǐ zhǎng",大有可为:"dà yǒu kě wéi",出头露面:"chū tóu lù miàn",鼓鼓囊囊:"gǔ gu nāng nāng",窗明几净:"chuāng míng jī jìng",泰然处之:"tài rán chǔ zhī",怒发冲冠:"nù fà chōng guān",有机玻璃:"yǒu jī bō li",骨头架子:"gǔ tou jià zi",义薄云天:"yì bó yún tiān",一丁点儿:"yī dīng diǎn er",时来运转:"shí lái yùn zhuǎn",陈词滥调:"chén cí làn diào",化整为零:"huà zhěng wéi líng",火烧火燎:"huǒ shāo huǒ liǎo",干脆利索:"gàn cuì lì suǒ",吊儿郎当:"diào er láng dāng",广种薄收:"guǎng zhòng bó shōu",种瓜得瓜:"zhòng guā dé guā",种豆得豆:"zhòng dòu dé dòu",难舍难分:"nán shě nán fēn",歃血为盟:"shà xuè wéi méng",奋发有为:"fèn fā yǒu wéi",阴错阳差:"yīn cuò yáng chā",东躲西藏:"dōng duǒ xī cáng",烟熏火燎:"yān xūn huǒ liǎo",钻牛角尖:"zuān niú jiǎo jiān",乔装打扮:"qiáo zhuāng dǎ bàn",改弦更张:"gǎi xián gēng zhāng",河南梆子:"hé nán bāng zi",好吃懒做:"hào chī lǎn zuò",何乐不为:"hé lè bù wéi",大出风头:"dà chū fēng tóu",攻城掠地:"gōng chéng lüè dì",漂漂亮亮:"piào piào liang liang",折衷主义:"zhé zhōng zhǔ yì",大马哈鱼:"dà mǎ hǎ yú",绿树成荫:"lǜ shù chéng yīn",率先垂范:"shuài xiān chuí fàn",家长里短:"jiā cháng lǐ duǎn",宽大为怀:"kuān dà wéi huái",左膀右臂:"zuǒ bǎng yòu bì",一笑了之:"yí xiào liǎo zhī",天下为公:"tiān xià wéi gōng",还我河山:"huán wǒ hé shān",何足为奇:"hé zú wéi qí",好自为之:"hǎo zì wéi zhī",风姿绰约:"fēng zī chuò yuē",大雨滂沱:"dà yǔ pāng tuó",传为佳话:"chuán wéi jiā huà",吃里扒外:"chī lǐ pá wài",重操旧业:"chóng cāo jiù yè",小家子气:"xiǎo jiā zi qì",少不更事:"shào bù gēng shì",难分难舍:"nán fēn nán shě",添砖加瓦:"tiān zhuān jiā wǎ",是非分明:"shì fēi fēn míng",舍我其谁:"shě wǒ qí shuí",偏听偏信:"piān tīng piān xìn",量入为出:"liàng rù wéi chū",降龙伏虎:"xiáng lóng fú hǔ",钢化玻璃:"gāng huà bō li",正中下怀:"zhèng zhòng xià huái",以身许国:"yǐ shēn xǔ guó",一语中的:"yì yǔ zhòng dì",丧魂落魄:"sàng hún luò pò",三座大山:"sān zuò dà shān",济济一堂:"jǐ jǐ yì táng",好事之徒:"hào shì zhī tú",干净利索:"gàn jìng lì suǒ",出将入相:"chū jiàng rù xiàng",袅袅娜娜:"niǎo niǎo nuó nuó",狐狸尾巴:"hú li wěi ba",好逸恶劳:"hào yì wù láo",大而无当:"dà ér wú dàng",打马虎眼:"dǎ mǎ hu yǎn",板上钉钉:"bǎn shàng dìng dīng",吆五喝六:"yāo wǔ hè liù",虾兵蟹将:"xiā bīng xiè jiàng",水调歌头:"shuǐ diào gē tóu",数典忘祖:"shǔ diǎn wàng zǔ",人事不省:"rén shì bù xǐng",曲高和寡:"qǔ gāo hè guǎ",屡教不改:"lǚ jiào bù gǎi",互为因果:"hù wéi yīn guǒ",互为表里:"hù wéi biǎo lǐ",厚此薄彼:"hòu cǐ bó bǐ",过关斩将:"guò guān zhǎn jiàng",疙疙瘩瘩:"gē ge dā dā",大腹便便:"dà fù pián pián",走为上策:"zǒu wéi shàng cè",冤家对头:"yuān jia duì tóu",有隙可乘:"yǒu xì kě chèng",一鳞半爪:"yì lín bàn zhǎo",片言只语:"piàn yán zhǐ yǔ",开花结实:"kāi huā jié shí",经年累月:"jīng nián lěi yuè",含糊其词:"hán hú qí cí",寡廉鲜耻:"guǎ lián xiǎn chǐ",成年累月:"chéng nián lěi yuè",不徇私情:"bú xùn sī qíng",不当人子:"bù dāng rén zǐ",膀大腰圆:"bǎng dà yāo yuán",指腹为婚:"zhǐ fù wéi hūn",这么点儿:"zhè me diǎn er",意兴索然:"yì xīng suǒ rán",绣花枕头:"xiù huā zhěn tou",无的放矢:"wú dì fàng shǐ",望闻问切:"wàng wén wèn qiè",舍己为人:"shě jǐ wèi rén",穷年累月:"qióng nián lěi yuè",排难解纷:"pái nàn jiě fēn",处之泰然:"chǔ zhī tài rán",指鹿为马:"zhǐ lù wéi mǎ",危如累卵:"wēi rú lěi luǎn",天兵天将:"tiān bīng tiān jiàng",舍近求远:"shě jìn qiú yuǎn",南腔北调:"nán qiāng běi diào",苦中作乐:"kǔ zhōng zuò lè",厚积薄发:"hòu jī bó fā",臭味相投:"xiù wèi xiāng tóu",长幼有序:"zhǎng yòu yǒu xù",逼良为娼:"bī liáng wéi chāng",悲悲切切:"bēi bēi qiè qiē",败军之将:"bài jūn zhī jiàng",欺行霸市:"qī háng bà shì",削足适履:"xuē zú shì lǚ",先睹为快:"xiān dǔ wéi kuài",啼饥号寒:"tí jī háo hán",疏不间亲:"shū bú jiàn qīn",神差鬼使:"shén chāi guǐ shǐ",敲敲打打:"qiāo qiāo dǎ dǎ",平铺直叙:"píng pū zhí xù",没头没尾:"méi tóu mò wěi",寥寥可数:"liáo liáo kě shǔ",哼哈二将:"hēng hā èr jiàng",鹤发童颜:"hè fà tóng yán",各奔前程:"gè bèn qián chéng",弹无虚发:"dàn wú xū fā",大人先生:"dà rén xiān sheng",与民更始:"yǔ mín gēng shǐ",树碑立传:"shù bēi lì zhuàn",是非得失:"shì fēi dé shī",实逼处此:"shí bī chǔ cǐ",塞翁失马:"sài wēng shī mǎ",日薄西山:"rì bó xī shān",切身体会:"qiè shēn tǐ huì",片言只字:"piàn yán zhǐ zì",跑马卖解:"pǎo mǎ mài xiè",宁折不弯:"nìng zhé bù wān",零零散散:"líng líng sǎn sǎn",量体裁衣:"liàng tǐ cái yī",连中三元:"lián zhòng sān yuán",礼崩乐坏:"lǐ bēng yuè huài",不为已甚:"bù wéi yǐ shèn",转悲为喜:"zhuǎn bēi wéi xǐ",以眼还眼:"yǐ yǎn huán yǎn",蔚为大观:"wèi wéi dà guān",未为不可:"wèi wéi bù kě",童颜鹤发:"tóng yán hè fà",朋比为奸:"péng bǐ wéi jiān",莫此为甚:"mò cǐ wéi shèn",夹枪带棒:"jiā qiāng dài bàng",富商巨贾:"fù shāng jù jiǎ",淡然处之:"dàn rán chǔ zhī",箪食壶浆:"dān shí hú jiāng",创巨痛深:"chuāng jù tòng shēn",草长莺飞:"cǎo zhǎng yīng fēi",坐视不救:"zuò shī bú jiù",以己度人:"yǐ jǐ duó rén",随行就市:"suí háng jiù shì",文以载道:"wén yǐ zài dào",文不对题:"wén bú duì tí",铁板钉钉:"tiě bǎn dìng dīng",身体发肤:"shēn tǐ fà fū",缺吃少穿:"quē chī shǎo chuān",目无尊长:"mù wú zūn zhǎng",吉人天相:"jí rén tiān xiàng",毁家纾难:"huǐ jiā shū nàn",钢筋铁骨:"gāng jīn tiě gǔ",丢卒保车:"diū zú bǎo jū",丢三落四:"diū sān là sì",闭目塞听:"bì mù sè tīng",削尖脑袋:"xuē jiān nǎo dài",为非作恶:"wéi fēi zuò è",人才难得:"rén cái nán dé",情非得已:"qíng fēi dé yǐ",切中要害:"qiè zhòng yào hài",火急火燎:"huǒ jí huǒ liǎo",画地为牢:"huà dì wéi láo",好酒贪杯:"hào jiǔ tān bēi",长歌当哭:"cháng gē dàng kū",载沉载浮:"zài chén zài fú",遇难呈祥:"yù nàn chéng xiáng",榆木疙瘩:"yú mù gē da",以邻为壑:"yǐ lín wéi hè",洋为中用:"yáng wéi zhōng yòng",言为心声:"yán wéi xīn shēng",言必有中:"yán bì yǒu zhòng",图穷匕见:"tú qióng bǐ xiàn",滂沱大雨:"páng tuó dà yǔ",目不暇给:"mù bù xiá jǐ",量才录用:"liàng cái lù yòng",教学相长:"jiào xué xiāng zhǎng",悔不当初:"huǐ bù dāng chū",呼幺喝六:"hū yāo hè liù",不足为训:"bù zú wéi xùn",不拘形迹:"bù jū xíng jī",傍若无人:"páng ruò wú rén",罪责难逃:"zuì zé nán táo",自我吹嘘:"zì wǒ chuī xū",转祸为福:"zhuǎn huò wéi fú",勇冠三军:"yǒng guàn sān jūn",易地而处:"yì dì ér chǔ",卸磨杀驴:"xiè mò shā lǘ",玩儿不转:"wán ér bú zhuàn",天道好还:"tiān dào hǎo huán",身单力薄:"shēn dān lì bó",撒豆成兵:"sǎ dòu chéng bīng",片纸只字:"piàn zhǐ zhī zì",宁缺毋滥:"nìng quē wú làn",没没无闻:"mò mò wú wén",量力而为:"liàng lì ér wéi",历历可数:"lì lì kě shǔ",口碑载道:"kǒu bēi zài dào",君子好逑:"jūn zǐ hǎo qiú",好为人师:"hào wéi rén shī",豪商巨贾:"háo shāng jù jiǎ",各有所好:"gè yǒu suǒ hào",度德量力:"duó dé liàng lì",指天为誓:"zhǐ tiān wéi shì",逸兴遄飞:"yì xìng chuán fēi",心宽体胖:"xīn kuān tǐ pán",为德不卒:"wéi dé bù zú",天下为家:"tiān xià wéi jiā",视为畏途:"shì wéi wèi tú",三灾八难:"sān zāi bā nàn",沐猴而冠:"mù hóu ér guàn",哩哩啦啦:"lī li lā lā",见缝就钻:"jiàn fèng jiù zuān",夹层玻璃:"jiā céng bō li",急公好义:"jí gōng hào yì",积年累月:"jī nián lěi yuè",划地为牢:"huá dì wéi láo",更名改姓:"gēng míng gǎi xìng",奉为圭臬:"fèng wéi guī niè",多难兴邦:"duō nàn xīng bāng",不破不立:"bú pò bú lì",坐地自划:"zuò dì zì huá",坐不重席:"zuò bù chóng xí",坐不窥堂:"zuò bù kuī táng",作嫁衣裳:"zuò jià yī shang",左枝右梧:"zuǒ zhī yòu wú",左宜右有:"zuǒ yí yòu yǒu",钻头觅缝:"zuān tóu mì fèng",钻天打洞:"zuān tiān dǎ dòng",钻皮出羽:"zuān pí chū yǔ",钻火得冰:"zuān huǒ dé bīng",钻洞觅缝:"zuàn dòng mì féng",钻冰求火:"zuān bīng qiú huǒ",子为父隐:"zǐ wéi fù yǐn",擢发难数:"zhuó fà nán shǔ",着人先鞭:"zhuó rén xiān biān",斫雕为朴:"zhuó diāo wéi pǔ",锥处囊中:"zhuī chǔ náng zhōng",椎心饮泣:"chuí xīn yǐn qì",椎心泣血:"chuí xīn qì xuè",椎牛飨士:"chuí niú xiǎng shì",椎牛歃血:"chuí niú shà xuè",椎牛发冢:"chuí niú fà zhǒng",椎埋屠狗:"chuí mái tú gǒu",椎埋狗窃:"chuí mái gǒu qiè",壮发冲冠:"zhuàng fā chōng guàn",庄严宝相:"zhuāng yán bǎo xiàng",转愁为喜:"zhuǎn chóu wéi xǐ",转嗔为喜:"zhuǎn chēn wéi xǐ",拽巷啰街:"zhuài xiàng luó jiē",拽耙扶犁:"zhuāi pá fú lí",拽布拖麻:"zhuài bù tuō má",箸长碗短:"zhù cháng wǎn duǎn",铸剑为犁:"zhù jiàn wéi lí",杼柚其空:"zhù yòu qí kōng",杼柚空虚:"zhù yòu kōng xū",助天为虐:"zhù tiān wéi nüè",属垣有耳:"zhǔ yuán yǒu ěr",属毛离里:"zhǔ máo lí lǐ",属辞比事:"zhǔ cí bǐ shì",逐物不还:"zhú wù bù huán",铢量寸度:"zhū liáng cùn duó",铢两悉称:"zhū liǎng xī chèn",侏儒观戏:"zhū rú guān xì",朱轓皁盖:"zhū fān zào gài",昼度夜思:"zhòu duó yè sī",诪张为幻:"zhōu zhāng wéi huàn",重明继焰:"chóng míng jì yàn",众啄同音:"zhòng zhuó tóng yīn",众毛攒裘:"zhòng máo cuán qiú",众好众恶:"zhòng hào zhòng wù",擿埴索涂:"zhāi zhí suǒ tú",稚齿婑媠:"zhì chǐ wǒ tuó",至当不易:"zhì dàng bú yì",指皂为白:"zhǐ zào wéi bái",指雁为羹:"zhǐ yàn wéi gēng",指树为姓:"zhǐ shù wéi xìng",指山说磨:"zhǐ shān shuō mò",止戈为武:"zhǐ gē wéi wǔ",枝干相持:"zhī gàn xiāng chí",枝大于本:"zh dà yú běn",支吾其词:"zhī wú qí cí",正身率下:"zhèng shēn shuài xià",正冠李下:"zhèng guàn lǐ xià",整冠纳履:"zhěng guān nà lǚ",整躬率物:"zhěng gōng shuài wù",整顿干坤:"zhěng dùn gàn kūn",针头削铁:"zhēn tóu xuē tiě",贞松劲柏:"zhēn sōng jìng bǎi",赭衣塞路:"zhě yī sè lù",折箭为誓:"shé jiàn wéi shì",折而族之:"zhé ér zú zhī",昭德塞违:"zhāo dé sè wéi",章句小儒:"zhāng jù xiǎo rú",湛恩汪濊:"zhàn ēn wāng huì",占风望气:"zhān fēng wàng qì",斩将搴旗:"zhǎn jiàng qiān qí",曾母投杼:"zēng mǔ tóu zhù",曾参杀人:"zēng shēn shā rén",造谣中伤:"zào yáo zhòng shāng",早占勿药:"zǎo zhān wù yào",凿龟数策:"záo guī shǔ cè",攒三聚五:"cuán sān jù wǔ",攒眉蹙额:"cuán mei cù é",攒零合整:"cuán líng hé zhěng",攒锋聚镝:"cuán fēng jù dí",载笑载言:"zài xiào zài yán",载酒问字:"zài jiǔ wèn zì",殒身不恤:"yǔn shēn bú xù",云舒霞卷:"yún shū xiá juǎn",月中折桂:"yuè zhōng shé guì",月落参横:"yuè luò shēn héng",鬻驽窃价:"yù nú qiè jià",鬻鸡为凤:"yù jī wéi fèng",遇难成祥:"yù nàn chéng xiáng",郁郁累累:"yù yù lěi lěi",玉卮无当:"yù zhī wú dàng",语笑喧阗:"yǔ xiào xuān tián",与世沉浮:"yǔ shì chén fú",与时消息:"yǔ shí xiāo xi",逾墙钻隙:"yú qiáng zuān xì",渔夺侵牟:"yú duó qīn móu",杅穿皮蠹:"yú chuān pí dù",余勇可贾:"yú yǒng kě gǔ",予智予雄:"yú zhì yú xióng",予取予求:"yú qǔ yú qiú",于家为国:"yú jiā wéi guó",有借无还:"yǒu jiè wú huán",有加无已:"yǒu jiā wú yǐ",有国难投:"yǒu guó nán tóu",游必有方:"yóu bì yǒu fāng",油干灯尽:"yóu gàn dēng jìn",尤云殢雨:"yóu yún tì yǔ",庸中皦皦:"yōng zhōng jiǎo jiǎo",郢书燕说:"yǐng shū yān shuō",营蝇斐锦:"yíng yíng fēi jǐn",鹰心雁爪:"yīng xīn yàn zhǎo",莺吟燕儛:"yīng yín yàn wǔ",应天顺时:"yīng tiān shùn shí",印累绶若:"yìn léi shòu ruò",隐占身体:"yǐn zhàn shēn tǐ",饮犊上流:"yìn dú shàng liú",引绳切墨:"yǐn shéng qiē mò",龈齿弹舌:"yín chǐ dàn shé",因缘为市:"yīn yuán wéi shì",因树为屋:"yīn shù wéi wū",溢美溢恶:"yì měi yì wù",抑塞磊落:"yì sè lěi luò",倚闾望切:"yǐ lǘ wàng qiē",以意为之:"yǐ yì wéi zhī",以言为讳:"yǐ yán wéi huì",以疏间亲:"yǐ shū jiàn qīn",以水济水:"yǐ shuǐ jǐ shuǐ",以书为御:"yǐ shū wéi yù",以守为攻:"yǐ shǒu wéi gōng",以升量石:"yǐ shēng liáng dàn",以慎为键:"yǐ shèn wéi jiàn",以筌为鱼:"yǐ quán wéi yú",以利累形:"yǐ lì lěi xíng",以毁为罚:"yǐ huǐ wéi fá",以黑为白:"yǐ hēi wéi bái",以规为瑱:"yǐ guī wéi tiàn",以古为鉴:"yǐ gǔ wéi jiàn",以宫笑角:"yǐ gōng xiào jué",以法为教:"yǐ fǎ wéi jiào",以大恶细:"yǐ dà wù xì",遗世忘累:"yí shì wàng lěi",遗寝载怀:"yí qǐn zài huái",移的就箭:"yí dì jiù jiàn",依头缕当:"yī tóu lǚ dàng",衣租食税:"yì zū shí shuì",衣轻乘肥:"yì qīng chéng féi",衣裳之会:"yī shang zhī huì",衣单食薄:"yī dān shí bó",一还一报:"yì huán yí bào",叶公好龙:"yè gōng hào lóng",野调无腔:"yě diào wú qiāng",瑶池女使:"yáo chí nǚ shǐ",幺麽小丑:"yāo mó xiǎo chǒu",养精畜锐:"yǎng jīng xù ruì",卬首信眉:"áng shǒu shēn méi",洋洋纚纚:"yáng yáng sǎ sǎ",羊羔美酒:"yáng gāo měi jiǔ",扬风扢雅:"yáng fēng jié yǎ",燕昭市骏:"yān zhāo shì jùn",燕昭好马:"yān zhāo hǎo mǎ",燕石妄珍:"yān shí wàng zhēn",燕骏千金:"yān jùn qiān jīn",燕金募秀:"yān jīn mù xiù",燕驾越毂:"yān jià yuè gǔ",燕歌赵舞:"yān gē zhào wǔ",燕岱之石:"yān dài zhī shí",燕处危巢:"yàn chǔ wēi cháo",掞藻飞声:"shàn zǎo fēi shēng",偃革为轩:"yǎn gé wéi xuān",妍蚩好恶:"yán chī hǎo è",压良为贱:"yā liáng wéi jiàn",搀行夺市:"chān háng duó shì",泣数行下:"qì shù háng xià",当行出色:"dāng háng chū sè",秀出班行:"xiù chū bān háng",儿女成行:"ér nǚ chéng háng",大行大市:"dà háng dà shì",寻行数墨:"xún háng shǔ mò",埙篪相和:"xūn chí xiāng hè",血债累累:"xuè zhài lěi lěi",炫玉贾石:"xuàn yù gǔ shí",炫石为玉:"xuàn shí wéi yù",悬石程书:"xuán dàn chéng shū",悬狟素飡:"xuán huán sù cān",悬龟系鱼:"xuán guī xì yú",揎拳捋袖:"xuān quán luō xiù",轩鹤冠猴:"xuān hè guàn hóu",畜妻养子:"xù qī yǎng zǐ",羞人答答:"xiū rén dā dā",修鳞养爪:"xiū lín yǎng zhǎo",熊据虎跱:"xióng jù hǔ zhì",兄死弟及:"xiōng sǐ dì jí",腥闻在上:"xīng wén zài shàng",兴文匽武:"xīng wén yǎn wǔ",兴观群怨:"xìng guān qún yuàn",兴高彩烈:"xìng gāo cǎi liè",心手相应:"xīn shǒu xiāng yìng",心口相应:"xīn kǒu xiāng yīng",挟势弄权:"xié shì nòng quán",胁肩累足:"xié jiān lěi zú",校短量长:"jiào duǎn liáng cháng",小眼薄皮:"xiǎo yǎn bó pí",硝云弹雨:"xiāo yún dàn yǔ",鸮鸣鼠暴:"xiāo míng shǔ bào",削株掘根:"xuē zhū jué gēn",削铁无声:"xuē tiě wú shēng",削职为民:"xuē zhí wéi mín",削木为吏:"xuē mù wéi lì",想望风褱:"xiǎng wàng fēng huái",香培玉琢:"xiang pei yu zhuó",相鼠有皮:"xiàng shǔ yǒu pí",相时而动:"xiàng shí ér dòng",相切相磋:"xiāng qiē xiāng cuō",相女配夫:"xiàng nǚ pèi fū",相门有相:"xiàng mén yǒu xiàng",挦章撦句:"xián zhāng chě jù",先我着鞭:"xiān wǒ zhuó biān",习焉不察:"xí yān bù chá",歙漆阿胶:"shè qī ē jiāo",晰毛辨发:"xī máo biàn fà",悉索薄赋:"xī suǒ bó fù",雾鳞云爪:"wù lín yún zhǎo",物稀为贵:"wù xī wéi guì",碔砆混玉:"wǔ fū hùn yù",武断专横:"wǔ duàn zhuān héng",五石六鹢:"wǔ shí liù yì",五色相宣:"wǔ sè xiāng xuān",五侯七贵:"wǔ hóu qī guì",五侯蜡烛:"wǔ hòu là zhú",五羖大夫:"wǔ gǔ dà fū",吾自有处:"wú zì yǒu chǔ",无下箸处:"wú xià zhù chǔ",无伤无臭:"wú shāng wú xiù",无能为役:"wú néng wéi yì",无寇暴死:"wú kòu bào sǐ",无孔不钻:"wú kǒng bú zuàn",无间可乘:"wú jiān kě chéng",无间冬夏:"wú jiān dōng xià",无恶不为:"wú è bù wéi",无动为大:"wú dòng wéi dà",诬良为盗:"wū liáng wéi dào",握拳透爪:"wò quán tòu zhǎo",文武差事:"wén wǔ chāi shì",委委佗佗:"wēi wēi tuó tuó",惟日为岁:"wéi rì wéi suì",帷薄不修:"wéi bó bù xiū",为善最乐:"wéi shàn zuì lè",为山止篑:"wéi shān zhǐ kuì",为仁不富:"wéi rén bú fù",为裘为箕:"wéi qiú wéi jī",为民父母:"wéi mín fù mǔ",为虺弗摧:"wéi huǐ fú cuī",为好成歉:"wéi hǎo chéng qiàn",为鬼为蜮:"wéi guǐ wéi yù",望风响应:"wàng fēng xiǎng yīng",望尘僄声:"wàng chén piào shēng",往渚还汀:"wǎng zhǔ huán tīng",王贡弹冠:"wáng gòng dàn guàn",亡国大夫:"wáng guó dà fū",万贯家私:"wàn guàn jiā sī",晚食当肉:"wǎn shí dàng ròu",晚节不保:"wǎn jié bù bǎo",玩岁愒时:"wán suì kài shí",蛙蟆胜负:"wā má shèng fù",吞言咽理:"tūn yán yàn lǐ",颓垣断堑:"tuí yuán duàn qiàn",推干就湿:"tuī gàn jiù shī",剸繁决剧:"tuán fán jué jù",团头聚面:"tuán tóu jù miàn",兔丝燕麦:"tù sī yàn mài",兔头麞脑:"tù tóu zhāng nǎo",兔葵燕麦:"tù kuí yàn mài",吐哺握发:"tǔ bǔ wò fà",投传而去:"tóu zhuàn ér qù",头没杯案:"tóu mò bēi àn",头昏脑闷:"tóu hūn nǎo mèn",头会箕敛:"tóu kuài jī liǎn",头出头没:"tóu chū tóu mò",痛自创艾:"tòng zì chuāng yì",同恶相助:"tóng wù xiāng zhù",同恶相恤:"tóng wù xiāng xù",痌瘝在抱:"tōng guān zài bào",通文调武:"tōng wén diào wǔ",停留长智:"tíng liú zhǎng zhì",铁树开华:"tiě shù kāi huā",条贯部分:"tiáo guàn bù fēn",挑牙料唇:"tiǎo yá liào chún",挑么挑六:"tiāo yāo tiāo liù",挑唇料嘴:"tiǎo chún liào zuǐ",恬不为意:"tián bù wéi yì",恬不为怪:"tián bù wéi guài",天下为笼:"tiān xià wéi lóng",天台路迷:"tiān tái lù mí",天年不遂:"tiān nián bú suì",探囊胠箧:"tàn náng qū qiè",谭言微中:"tán yán wēi zhòng",谈言微中:"tán yán wēi zhòng",狧穅及米:"shì kāng jí mǐ",随物应机:"suí wù yīng jī",搜岩采干:"sōu yán cǎi gàn",宋斤鲁削:"sòng jīn lǔ xuē",松筠之节:"sōng yún zhī jié",四亭八当:"sì tíng bā dàng",四马攒蹄:"sì mǎ cuán tí",四不拗六:"sì bú niù liù",思所逐之:"sī suǒ zhú zhī",丝恩发怨:"sī ēn fà yuàn",硕望宿德:"shuò wàng xiǔ dé",铄古切今:"shuò gǔ qiē jīn",顺风而呼:"shùn fēng ér hū",顺风吹火:"shùn fēng chuī huǒ",水中著盐:"shuǐ zhōng zhuó yán",双柑斗酒:"shuāng gān dǒu jiǔ",数米而炊:"shǔ mǐ ér chuī",数米量柴:"shǔ mǐ liáng chái",数理逻辑:"shù lǐ luó ji",数黑论黄:"shǔ hēi lùn huáng",数白论黄:"shǔ bái lùn huáng",束缊还妇:"shù yūn huán fù",束蒲为脯:"shù pú wéi pú",束椽为柱:"shù chuán wéi zhù",书缺有间:"shū quē yǒu jiàn",手足重茧:"shǒu zú chóng jiǎn",手足异处:"shǒu zú yì chǔ",手脚干净:"shǒu jiǎo gàn jìng",手不应心:"shǒu bù yīng xīn",螫手解腕:"shì shǒu jiě wàn",释知遗形:"shì zhī yí xíng",适时应务:"shì shí yīng wù",适情率意:"shì qíng shuài yì",适当其冲:"shì dāng qí chōng",视为知己:"shì wéi zhī jǐ",使羊将狼:"shǐ yáng jiàng láng",食为民天:"shí wéi mín tiān",拾掇无遗:"shí duō wú yí",实与有力:"shí yù yǒu lì",石英玻璃:"shí yīng bō li",石室金匮:"shí shì jīn guì",什袭珍藏:"shí xí zhēn cáng",什伍东西:"shí wǔ dōng xī",什围伍攻:"shí wéi wǔ gōng",十魔九难:"shí mó jiǔ nàn",诗书发冢:"shī shū fà zhǒng",虱处裈中:"shī chǔ kūn zhōng",师直为壮:"shī zhí wéi zhuàng",尸居龙见:"shī jū lóng xiàn",圣经贤传:"shèng jīng xián zhuàn",圣君贤相:"shèng jūn xián xiàng",生拖死拽:"shēng tuō sǐ zhuài",审己度人:"shěn jǐ duó rén",神武挂冠:"shén wǔ guà guàn",神龙失埶:"shén lóng shī shì",深文曲折:"shēn wén qǔ shé",深厉浅揭:"shēn lì qiǎn qì",深谷为陵:"shēn gǔ wéi líng",深恶痛疾:"shēn wù tòng jí",深仇宿怨:"shēn chóu xiǔ yuàn",舍己为公:"shě jǐ wèi gōng",舍短取长:"shě duǎn qǔ cháng",舍策追羊:"shě cè zhuī yáng",蛇蝎为心:"shé xiē wéi xīn",少成若性:"shào chéng ruò xìng",上当学乖:"shàng dàng xué guāi",赏不当功:"shǎng bù dāng gōng",善自为谋:"shàn zì wéi móu",善为说辞:"shàn wéi shuō cí",善善恶恶:"shàn shàn wù è",善财难舍:"shàn cái nán shě",苫眼铺眉:"shān yǎn pū méi",讪牙闲嗑:"shàn yá xián kē",山阴乘兴:"shān yīn chéng xīng",山殽野湋:"shān yáo yě wéi",山溜穿石:"shān liù chuān shí",山节藻棁:"shān jié zǎo zhuō",杀鸡为黍:"shā jī wéi shǔ",色厉胆薄:"sè lì dǎn bó",桑荫未移:"sāng yīn wèi yí",桑荫不徙:"sāng yīn bù xǐ",桑土绸缪:"sāng tǔ chóu miù",桑户棬枢:"sāng hù juàn shū",三战三北:"sān zhàn sān běi",三瓦两舍:"sān wǎ liǎng shě",三人为众:"sān rén wèi zhòng",三差两错:"sān chā liǎng cuò",塞井焚舍:"sāi jǐng fén shě",洒心更始:"sǎ xīn gèng shǐ",洒扫应对:"sǎ sǎo yìng duì",软红香土:"ruǎn hóng xiāng tǔ",入吾彀中:"rù wú gòu zhōng",入铁主簿:"rù tiě zhǔ bù",入理切情:"rù lǐ qiē qíng",汝成人耶:"rǔ chéng rén yé",如水投石:"rú shuǐ tóu shí",如切如磋:"rú qiē rú cuō",如登春台:"rú dēng chūn tái",肉薄骨并:"ròu bó gǔ bìng",柔情绰态:"róu qíng chuò tài",戎马劻勷:"róng mǎ kuāng ráng",日中为市:"rì zhōng wéi shì",日月参辰:"rì yuè shēn chén",日省月修:"rì xǐng yuè xiū",日削月割:"rì xuē yuè gē",日省月试:"rì xǐng yuè shì",任达不拘:"rèn dá bù jū",人言藉藉:"rén yán jí jí",人模狗样:"rén mú gǒu yàng",人莫予毒:"rén mò yú dú",热熬翻饼:"rè áo fān bǐng",圈牢养物:"juàn láo yǎng wù",取予有节:"qǔ yǔ yǒu jié",诎要桡腘:"qū yāo ráo guó",穷形尽相:"qióng xíng jìn xiàng",情凄意切:"qíng qī yì qiè",情见势屈:"qíng xiàn shì qū",情见乎辞:"qíng xiàn hū cí",清都绛阙:"qīng dōu jiàng què",倾肠倒肚:"qīng cháng dào dǔ",青紫被体:"qīng zǐ pī tǐ",青林黑塞:"qīng lín hēi sài",螓首蛾眉:"qín shǒu é méi",琴瑟之好:"qín sè zhī hào",且住为佳:"qiě zhù wéi jiā",切树倒根:"qiē shù dǎo gēn",切理餍心:"qiē lǐ yàn xīn",切近的当:"qiē jìn de dāng",翘足引领:"qiáo zú yǐn lǐng",巧发奇中:"qiǎo fā qí zhòng",强嘴拗舌:"jiàng zuǐ niù shé",强直自遂:"qiáng zhí zì suí",强死强活:"qiǎng sǐ qiǎng huó",强食自爱:"qiǎng shí zì ài",强食靡角:"qiǎng shí mí jiǎo",强弓劲弩:"qiáng gōng jìng nǔ",强聒不舍:"qiǎng guō bù shě",强凫变鹤:"qiáng fú biàn hè",强而后可:"qiǎng ér hòu kě",强得易贫:"qiǎng dé yì pín",遣兴陶情:"qiǎn xìng táo qíng",牵羊担酒:"qiān yáng dān jiǔ",千了百当:"qiān liǎo bǎi dàng",泣下如雨:"qì xià rú yǔ",起偃为竖:"qǐ yǎn wéi shù",岂弟君子:"kǎi tì jūn zǐ",綦溪利跂:"qí xī lì qí",棋输先著:"qí shū xiān zhuó",齐王舍牛:"qí wáng shě niú",欺天诳地:"qī tiān kuáng dì",普天率土:"pǔ tiān shuài tǔ",铺胸纳地:"pū xiōng nà dì",铺锦列绣:"pū jǐn liè xiù",破家为国:"pò jiā wèi guó",破觚为圜:"pò gū wéi yuán",萍飘蓬转:"píng piāo péng zhuàn",帡天极地:"píng tiān jí dì",屏声息气:"bǐng shēng xī qì",凭几据杖:"píng jī jù zhàng",贫嘴薄舌:"pín zuǐ bó shé",片语只辞:"piàn yǔ zhī cí",披发文身:"pī fà wén shēn",烹龙炮凤:"pēng lóng páo fèng",炰鳖脍鲤:"fǒu biē kuài lǐ",庞眉皓发:"páng méi hào fà",攀花折柳:"pān huā zhé liǔ",攀蟾折桂:"pān chán shé guì",女大难留:"nǚ dà nán liú",弄玉吹箫:"nòng yù chuī xiāo",弄管调弦:"nòng guǎn tiáo xián",弄粉调朱:"nòng fěn diào zhū",浓抹淡妆:"nóng mò dàn zhuāng",捻土为香:"niǎn tǔ wéi xiāng",年谊世好:"nián yì shì hǎo",年华垂暮:"nián huá chuí mù",儗不于伦:"nǐ bù yú lún",泥而不滓:"ní ér bù zǐ",能者为师:"néng zhě wéi shī",能不称官:"néng bú chèn guān",挠直为曲:"náo zhí wéi qū",难进易退:"nán jìn yì tuì",难得糊涂:"nán dé hú tú",南蛮鴂舌:"nán mán jué shé",南贩北贾:"nán fàn běi gǔ",牧猪奴戏:"mù zhū nú xì",目眢心忳:"mù yuān xīn tún",目挑心招:"mù tiǎo xīn zhāo",目量意营:"mù liàng yì yíng",木头木脑:"mù tóu mù nǎo",木干鸟栖:"mù gàn niǎo qī",侔色揣称:"móu sè chuǎi chèn",莫予毒也:"mò yú dú yě",抹粉施脂:"mò fěn shī zhī",磨砻镌切:"mó lóng juān qiē",磨棱刓角:"mó léng wán jiǎo",摸门不着:"mō mén bù zháo",摸不着边:"mō bù zhuó biān",命中注定:"mìng zhōng zhù dìng",鸣鹤之应:"míng hè zhī yìng",明效大验:"míng xiào dà yàn",名我固当:"míng wǒ gù dāng",邈处欿视:"miǎo chǔ kǎn shì",黾穴鸲巢:"měng xué qú cháo",绵里薄材:"mián lǐ bó cái",靡有孑遗:"mǐ yǒu jié yí",靡衣偷食:"mǐ yī tōu shí",迷恋骸骨:"mí liàn hái gǔ",扪参历井:"mén shēn lì jǐng",门单户薄:"mén dān hù bó",昧旦晨兴:"mèi dàn chén xīng",冒名接脚:"mào míng jiē jiǎo",毛遂堕井:"máo suí duò jǐng",毛发倒竖:"máo fā dǎo shù",卖文为生:"mài wén wéi shēng",卖李钻核:"mài lǐ zuān hé",买椟还珠:"mǎi dú huán zhū",埋三怨四:"mán sān yuàn sì",马入华山:"mǎ rù huá shān",落魄江湖:"luò pò jiāng hú",落落难合:"luò luò nán hé",落草为寇:"luò cǎo wéi kòu",罗织构陷:"luó zhī gòu xiàn",鸾凤和鸣:"luán fèng hè míng",率由旧章:"shuài yóu jiù zhāng",率土同庆:"shuài tǔ tóng qìng",率兽食人:"shuài shòu shí rén",率土归心:"shuài tǔ guī xīn",率马以骥:"shuài mǎ yǐ jì",率尔成章:"shuài ěr chéng zhāng",鲁斤燕削:"lǔ jīn yàn xuē",漏尽更阑:"lòu jìn gēng lán",笼鸟槛猿:"lóng niǎo jiàn yuán",笼鸟池鱼:"lóng niǎo chí yú",龙游曲沼:"lóng yóu qū zhǎo",龙血玄黄:"lóng xuè xuán huáng",龙雕凤咀:"lóng diāo fèng jǔ",六尺之讬:"liù chǐ zhī tuō",令原之戚:"líng yuán zhī qī",令人捧腹:"lìng rén pěng fù",陵劲淬砺:"líng jìng cuì lì",临敌易将:"lín dí yì jiàng",裂裳衣疮:"liè shang yī chuāng",裂冠毁冕:"liè guàn huǐ miǎn",了无惧色:"liǎo wú jù sè",了身达命:"liǎo shēn dá mìng",了然无闻:"liǎo rán wú wén",了不可见:"liǎo bù kě jiàn",了不长进:"liǎo bù zhǎng jìn",燎发摧枯:"liǎo fà cuī kū",审时度势:"shěn shí duó shì",量小力微:"liàng xiǎo lì wēi",相时度力:"xiāng shí duó lì",量枘制凿:"liàng ruì zhì záo",量如江海:"liàng rú jiāng hǎi",量金买赋:"liàng jīn mǎi fù",量己审分:"liàng jǐ shěn fēn",敛骨吹魂:"liǎn gǔ chuī hún",詈夷为跖:"lì yí wéi zhí",利令志惛:"lì lìng zhì hūn",李广不侯:"lǐ guǎng bú hòu",礼为情貌:"lǐ wéi qíng mào",礼让为国:"lǐ ràng wéi guó",犁生骍角:"lí shēng xīng jiǎo",离本徼末:"lí běn jiǎo mò",楞眉横眼:"léng méi hèng yǎn",擂天倒地:"léi tiān dǎo dì",累足成步:"lěi zú chéng bù",累瓦结绳:"lěi wǎ jié shéng",累土至山:"lěi tǔ zhì shān",累土聚沙:"lěi tǔ jù shā",累卵之危:"lěi luǎn zhī wēi",累累如珠:"lěi lěi rú zhū",累块积苏:"lěi kuài jī sū",乐山乐水:"lè shān lè shuǐ",潦原浸天:"lǎo yuán jìn tiān",老师宿儒:"lǎo shī xiǔ rú",牢什古子:"láo shí gǔ zi",琅嬛福地:"láng huán fú dì",揆情度理:"kuí qíng duó lǐ",旷日累时:"kuàng rì lěi shí",匡救弥缝:"kuāng jiù mí fèng",枯树生华:"kū shù shēng huā",口轻舌薄:"kǒu qīng shé bó",口角生风:"kǒu jiǎo shēng fēng",口角春风:"kǒu jiǎo chūn fēng",口角风情:"kǒu jiǎo fēng qíng",口干舌焦:"kǒu gān shé jiāo",口腹之累:"kǒu fù zhī lěi",空腹便便:"kōng fù pián pián",嗑牙料嘴:"kē yá liào zuǐ",刻木为鹄:"kè mù wéi hú",咳珠唾玉:"ké zhū tuò yù",咳唾成珠:"ké tuò chéng zhū",抗颜为师:"kàng yán wéi shī",开华结果:"kāi huā jié guǒ",峻阪盐车:"jùn bǎn yán chē",嚼铁咀金:"jiáo tiě jǔ jīn",嚼墨喷纸:"jué mò pēn zhǐ",倔头强脑:"juè tóu jiàng nǎo",倔头倔脑:"juè tóu juè nǎo",倦鸟知还:"juàn niǎo zhī huán",卷席而葬:"juǎn xí ér zàng",卷甲倍道:"juǎn jiǎ bèi dào",聚米为山:"jù mǐ wéi shān",举手相庆:"jǔ shǒu xiāng qìng",举世混浊:"jǔ shì hún zhuó",鞠为茂草:"jū wéi mào cǎo",拘神遣将:"jū shén qiǎn jiàng",居下讪上:"jū xià shàn shàng",久要不忘:"jiǔ yāo bú wàng",九转功成:"jiǔ zhuǎn gōng chéng",九蒸三熯:"jiǔ zhēng sān hàn",敬业乐群:"jìng yè lè qún",井底虾蟆:"jǐng dǐ xiā má",旌旗卷舒:"jīng qí juǎn shū",荆棘载途:"jīng jí zài tú",禁舍开塞:"jìn shě kāi sāi",祲威盛容:"jìn wēi shèng róng",进退消长:"jìn tuì xiāo cháng",进退应矩:"jìn tuì yīng jǔ",进退触籓:"jìn tuì chù fān",进退跋疐:"jìn tuì bá zhì",尽多尽少:"jǐn duō jǐn shǎo",锦囊还矢:"jǐn náng huán shǐ",矜己自饰:"jīn jǐ zì shì",矜功负气:"jīn gōng fù qì",津关险塞:"jīn guān xiǎn sài",金吾不禁:"jīn wú bú jìn",金翅擘海:"jīn chì bāi hǎi",解衣衣人:"jiě yī yī rén",解人难得:"jiě rén nán dé",解铃系铃:"jiě líng xì líng",解发佯狂:"jiě fà yáng kuáng",诘屈磝碻:"jié qū áo qiāo",教猱升木:"jiāo náo shēng mù",较瘦量肥:"jiào shòu liàng féi",角立杰出:"jiǎo lì jié chū",焦沙烂石:"jiāo shā làn shí",骄儿騃女:"jiāo ér sì nǚ",浇风薄俗:"jiāo fēng bó sú",降妖捉怪:"xiáng yāo zhuō guài",将取固予:"jiāng qǔ gù yǔ",将门有将:"jiàng mén yǒu jiàng",将夺固与:"jiāng duó gù yǔ",槛花笼鹤:"jiàn huā lóng hè",鉴影度形:"jiàn yǐng duó xíng",渐不可长:"jiàn bù kě zhǎng",见素抱朴:"xiàn sù bào pǔ",见弃于人:"jiàn qì yú rén",简丝数米:"jiǎn sī shǔ mǐ",俭不中礼:"jiǎn bú zhòng lǐ",间见层出:"jiàn xiàn céng chū",尖嘴薄舌:"jiān zuǐ bó shé",甲冠天下:"jiǎ guàn tiān xià",葭莩之亲:"jiā fú zhī qīn",家累千金:"jiā lèi qiān jīn",家给人足:"jiā jǐ rén zú",家道从容:"jiā dào cóng róng",夹袋人物:"jiā dài rén wù",霁风朗月:"jì fēng lǎng yuè",寄兴寓情:"jì xìng yù qíng",计深虑远:"jì shēn lǜ yuǎn",计功量罪:"jì gōng liàng zuì",掎裳连襼:"jǐ shang lián yì",虮虱相吊:"jǐ shī xiāng diào",疾不可为:"jí bù kě wéi",极深研几:"jí shēn yán jī",及宾有鱼:"jí bīn yǒu yú",激薄停浇:"jī bó tíng jiāo",积素累旧:"jī sù lěi jiù",积时累日:"jī shí lěi rì",积露为波:"jī lù wéi bō",积德累功:"jī dé lěi gōng",积谗糜骨:"jī chán méi gǔ",击排冒没:"jī pái mào mò",祸为福先:"huò wéi fú xiān",祸福相依:"huò fú xiāng yī",获隽公车:"huò jùn gōng chē",混应滥应:"hùn yīng làn yīng",毁舟为杕:"huǐ zhōu wéi duò",毁钟为铎:"huǐ zhōng wéi duó",毁冠裂裳:"huǐ guān liè cháng",晦盲否塞:"huì máng pǐ sè",回船转舵:"huí chuán zhuàn duò",潢池盗弄:"huáng chí dào nòng",黄冠草履:"huáng guàn cǎo lǚ",黄发儿齿:"huáng fà ér chǐ",黄发垂髫:"huáng fà chuí tiáo",还珠返璧:"huán zhū fǎn bì",还年驻色:"huán nián zhù sè",还年却老:"huán nián què lǎo",坏裳为裤:"huài shang wéi kù",画荻和丸:"huà dí huò wán",化枭为鸠:"huà xiāo wéi jiū",化腐为奇:"huà fǔ wéi qí",化鸱为凤:"huà chī wéi fèng",花不棱登:"huā bu lēng dēng",户限为穿:"hù xiàn wéi chuān",呼卢喝雉:"hū lú hè zhì",呼来喝去:"hū lái hè qù",呼不给吸:"hū bù jǐ xī",厚味腊毒:"hòu wèi xī dú",厚德载物:"hòu dé zài wù",鸿渐于干:"hóng jiàn yú gàn",洪炉燎发:"hóng lú liáo fà",红绳系足:"hóng shéng jì zú",红不棱登:"hóng bu lēng dēng",横抢硬夺:"hèng qiǎng yìng duó",横恩滥赏:"hèng ēn làn shǎng",恨海难填:"hèn hǎi nán tián",鹤发鸡皮:"hè fà jī pí",涸思干虑:"hé sī gān lǜ",河涸海干:"hé hé hǎi gān",和颜说色:"hé yán yuè sè",合从连衡:"hé zòng lián héng",浩浩汤汤:"hào hào shāng shāng",好勇斗狠:"hào yǒng dòu hěn",好问则裕:"hào wèn zé yù",好为事端:"hào wéi shì duān",好问决疑:"hào wèn jué yí",好生之德:"hào shēng zhī dé",好奇尚异:"hǎo qí shàng yì",好恶不同:"hǎo è bù tóng",好丹非素:"hào dān fēi sù",豪干暴取:"háo gàn bào qǔ",毫发不爽:"háo fà bù shuǎng",寒酸落魄:"hán suān luò pò",含英咀华:"hán yīng jǔ huá",含糊不明:"hán hú bù míng",过为已甚:"guò wéi yǐ shèn",桂折兰摧:"guì shé lán cuī",规旋矩折:"guī xuán jǔ shé",广文先生:"guǎng wén xiān sheng",广陵散绝:"guǎng líng sǎn jué",冠山戴粒:"guàn shān dài lì",冠屦倒施:"guàn jù dǎo shī",挂席为门:"guà xí wéi mén",寡见鲜闻:"guǎ jiàn xiǎn wén",瓜葛相连:"guā gé xiāng lián",鼓吻奋爪:"gǔ wěn fèn zhǎo",古调单弹:"gǔ diào dān tán",古调不弹:"gǔ diào bù tán",姑射神人:"gū yè shén rén",苟合取容:"gǒu hé qǔ róng",狗续侯冠:"gǒu xù hòu guàn",钩爪锯牙:"gōu zhǎo jù yá",共枝别干:"gòng zhī bié gàn",共为唇齿:"gòng wéi chún chǐ",拱手而降:"gǒng shǒu ér xiáng",拱肩缩背:"gǒng jiān suō bèi",功薄蝉翼:"gōng bó chán yì",弓调马服:"gōng diào mǎ fú",更姓改物:"gēng xìng gǎi wù",更仆难数:"gēng pú nán shǔ",更令明号:"gēng lìng míng hào",更待干罢:"gèng dài gàn bà",更唱迭和:"gēng chàng dié hé",更长梦短:"gēng cháng mèng duǎn",各色名样:"gè sè míng yàng",格格不纳:"gé gé bú nà",格格不吐:"gé gé bù tǔ",告朔饩羊:"gù shuò xì yáng",膏车秣马:"gào chē mò mǎ",高义薄云:"gāo yì bó yún",岗头泽底:"gāng tóu zé dǐ",敢为敢做:"gǎn wéi gǎn zuò",甘分随时:"gān fèn suí shí",甘处下流:"gān chǔ xià liú",干啼湿哭:"gàn tí shī kū",干名犯义:"gàn míng fàn yì",干将莫邪:"gān jiāng mò yé",干城之将:"gān chéng zhī jiàng",腹载五车:"fù zài wǔ chē",父债子还:"fù zhài zǐ huán",父为子隐:"fù wéi zǐ yǐn",辅世长民:"fǔ shì zhǎng mín",福为祸始:"fú wéi huò shǐ",符号逻辑:"fú hào luó jí",浮收勒折:"fú shōu lè shé",肤受之愬:"fū shòu zhī sù",否终则泰:"pǐ zhōng zé tài",佛头著粪:"fó tóu zhuó fèn",奉为楷模:"fèng wéi kǎi mó",凤靡鸾吪:"fèng mǐ luán é",封豨修蛇:"fēng xī xiū shé",风影敷衍:"fēng yǐng fū yǎn",丰屋蔀家:"fēng wū bù jiā",粪土不如:"fèn tǔ bù rú",分风劈流:"fēn fēng pǐ liú",沸沸汤汤:"fèi fèi shāng shāng",菲食薄衣:"fěi shí bó yī",飞将数奇:"fēi jiàng shù qí",放辟邪侈:"fàng pì xié chǐ",方领圆冠:"fāng lǐng yuán guàn",犯而不校:"fàn ér bú jiào",返本还源:"fǎn běn huán yuán",反劳为逸:"fǎn láo wéi yì",法轮常转:"fǎ lún cháng zhuàn",罚不当罪:"fá bù dāng zuì",发引千钧:"fà yǐn qiān jūn",发奸擿伏:"fā jiān tī fú",发短心长:"fà duǎn xīn cháng",二竖为虐:"èr shù wéi nüè",儿女心肠:"ér nǚ xīn cháng",儿女亲家:"ér nǚ qìng jiā",遏恶扬善:"è wù yáng shàn",饿殍枕藉:"è piǎo zhěn jí",饿殍载道:"è piǎo zài dào",恶醉强酒:"wù zuì qiǎng jiǔ",恶意中伤:"è yì zhòng shāng",恶湿居下:"wù shī jū xià",恶居下流:"wù jū xià liú",恶不去善:"wù bú qù shàn",扼吭夺食:"è háng duó shí",扼襟控咽:"è jīn kòng yān",峨峨汤汤:"é é shāng shāng",屙金溺银:"ē jīn niào yín",朵颐大嚼:"duǒ yí dà jiáo",夺人所好:"duó rén suǒ hào",多言数穷:"duō yán shuò qióng",多文为富:"duō wén wéi fù",多端寡要:"duō duān guǎ yào",多财善贾:"duō cái shàn gǔ",遁世无闷:"dùn shì wú mèn",遁迹黄冠:"dùn jì huáng guàn",堆案盈几:"duī àn yíng jī",断还归宗:"duàn huán guī zōng",短见薄识:"duǎn jiàn bó shí",蠹居棊处:"dù jū qí chǔ",度己以绳:"duó jǐ yǐ shéng",杜默为诗:"dù mò wéi shī",杜鹃啼血:"dù juān tí xuè",笃近举远:"dǔ jìn jǔ yuǎn",独有千秋:"dú yǒu qiān qiū",读书得间:"dú shū dé jiàn",斗转参横:"dǒu zhuǎn shēn héng",兜肚连肠:"dōu dǔ lián cháng",洞见症结:"dòng jiàn zhèng jié",恫疑虚喝:"dòng yí xū hè",动中窾要:"dòng zhōng kuǎn yào",东鸣西应:"dōng míng xī yīng",东鳞西爪:"dōng lín xī zhǎo",东量西折:"dōng liàng xī shé",东家西舍:"dōng jiā xī shè",东扯西拽:"dōng chě xī zhuāi",鼎铛有耳:"dǐng chēng yǒu ěr",鼎铛玉石:"dǐng chēng yù shí",钉头磷磷:"dīng tóu lín lín",跌宕不羁:"diē dàng bù jī",跌弹斑鸠:"diē dàn bān jiū",雕心雁爪:"diāo xīn yàn zhǎo",颠倒衣裳:"diān dǎo yī cháng",德薄能鲜:"dé bó néng xiǎn",得马折足:"dé mǎ shé zú",蹈其覆辙:"dǎo qí fù zhé",捣虚撇抗:"dǎo xū piē kàng",倒载干戈:"dào zài gān gē",倒裳索领:"dào cháng suǒ lǐng",倒果为因:"dào guǒ wéi yīn",叨在知己:"tāo zài zhī jǐ",叨陪末座:"tāo péi mò zuò",党豺为虐:"dǎng chái wéi nüè",当轴处中:"dāng zhóu chǔ zhōng",当着不着:"dāng zhuó bù zhuó",当务始终:"dāng wù shǐ zhōng",淡汝浓抹:"dàn rǔ nóng mǒ",弹丸脱手:"tán wán tuō shǒu",弹铗无鱼:"dàn jiá wú yú",箪食瓢饮:"dān sì piáo yǐn",大璞不完:"dà pú bù wán",大明法度:"dà míng fǎ dù",大车以载:"dà chē yǐ zài",打闷葫芦:"dǎ mèn hú lu",沓来踵至:"tà lái zhǒng zhì",厝火燎原:"cuò huǒ liǎo yuán",撮科打哄:"cuō kē dǎ hòng",寸积铢累:"cùn jī zhū lěi",啛啛喳喳:"cuì cuì chā chā",摧折豪强:"cuī zhé háo qiáng",摧刚为柔:"cuī gāng wéi róu",从俗就简:"cóng sú jiù jiǎn",此发彼应:"cǐ fā bǐ yīng",此唱彼和:"cǐ chàng bǐ hè",慈悲为本:"cí bēi wéi běn",纯属骗局:"chún shǔ piàn jú",春笋怒发:"chūn sǔn nù fā",垂头搨翼:"chuí tóu tà yì",传为笑谈:"chuán wéi xiào tán",传风扇火:"chuán fēng shān huǒ",穿红着绿:"chuān hóng zhuó lǜ",触处机来:"chù chǔ jī lái",处尊居显:"chǔ zūn jū xiǎn",处堂燕雀:"chǔ táng yàn què",处实效功:"chǔ shí xiào gōng",处高临深:"chǔ gāo lín shēn",出入无间:"chū rù wú jiān",出门应辙:"chū mén yīng zhé",出处语默:"chū chǔ yǔ mò",出处殊途:"chū chǔ shū tú",出处进退:"chū chǔ jìn tuì",愁山闷海:"chóu shān mèn hǎi",冲冠眦裂:"chōng guàn zì liè",齿牙为祸:"chǐ yá wéi huò",尺二冤家:"chǐ èr yuān jia",尺短寸长:"chǐ duǎn cùn cháng",尺寸之功:"chǐ cùn zhī gōng",城北徐公:"chéng běi xú gōng",成败兴废:"chéng bài xīng fèi",趁水和泥:"chèn shuǐ huò ní",称雨道晴:"chēng yǔ dào qíng",称体载衣:"chēng tǐ zài yī",称体裁衣:"chèn tǐ cái yī",称家有无:"chèn jiā yǒu wú",称德度功:"chēng dé duó gōng",沉吟章句:"chén yín zhāng jù",沉吟不决:"chén yín bù jué",沉疴宿疾:"chén kē sù jí",扯纤拉烟:"chě qiàn lā yān",扯顺风旗:"chě shùn fēng qí",车载船装:"chē zǎi chuán zhuāng",朝升暮合:"zhāo shēng mù gě",朝攀暮折:"zhāo pān mù shé",超今冠古:"chāo jīn guàn gǔ",倡而不和:"chàng ér bú hè",畅所欲为:"chàng suǒ yù wéi",苌弘碧血:"cháng hóng bì xiě",长幼尊卑:"zhǎng yòu zūn bēi",长绳系日:"cháng shéng jì rì",长年三老:"zhǎng nián sān lǎo",长春不老:"cháng chūn bù lǎo",长傲饰非:"zhǎng ào shì fēi",昌亭旅食:"chāng tíng lǚ shí",禅絮沾泥:"chán xù zhān ní",差三错四:"chā sān cuò sì",层台累榭:"céng tái lěi xiè",层见迭出:"céng xiàn dié chū",藏踪蹑迹:"cáng zōng niè jì",苍蝇见血:"cāng yíng jiàn xiě",餐松啖柏:"cān sōng dàn bó",骖风驷霞:"cān fēng sì xiá",参伍错综:"cēn wǔ cuò zōng",参辰卯酉:"shēn chén mǎo yǒu",材优干济:"cái yōu gān jǐ",材薄质衰:"cái bó zhì shuāi",才大难用:"cái dà nán yòng",才薄智浅:"cái bó zhì qiǎn",不足为意:"bù zú wéi yì",不足为据:"bù zú wéi jù",不足为法:"bù zú wéi fǎ",不足齿数:"bù zú chǐ shǔ",不着疼热:"bù zhuó téng rè",不知薡蕫:"bù zhī dǐng dǒng",不越雷池:"bú yuè léi chí",不相为谋:"bù xiāng wéi móu",不贪为宝:"bù tān wéi bǎo",不了而了:"bù liǎo ér liǎo",不可揆度:"bù kě kuí duó",不遑启处:"bù huáng qǐ chǔ",不当不正:"bù dāng bú zhèng",不差什么:"bú chà shén me",不差累黍:"bù chā lěi shǔ",擘两分星:"bò liǎng fēn xīng",簸土扬沙:"bǒ tǔ yáng shā",薄物细故:"bó wù xì gù",薄寒中人:"bó hán zhòng rén",博文约礼:"bó wén yuē lǐ",播糠眯目:"bō kāng mí mù",剥皮抽筋:"bō pí chōu jīn",剥肤椎髓:"bō fū chuí suǐ",波属云委:"bō zhǔ yún wěi",波骇云属:"bō hài yún zhǔ",兵微将寡:"bīng wēi jiàng guǎ",兵强将勇:"bīng qiáng jiàng yǒng",兵多将广:"bīng duō jiàng guǎng",兵不由将:"bīng bù yóu jiàng",冰解的破:"bīng jiě dì pò",彬彬济济:"bīn bīn jǐ jǐ",摽梅之年:"biào méi zhī nián",表里为奸:"biǎo lǐ wéi jiān",飙发电举:"biāo fā diàn jǔ",变贪厉薄:"biàn tān lì bó",敝盖不弃:"bì gài bú qì",秕言谬说:"bǐ yán miù shuō",比物属事:"bǐ wù zhǔ shì",被山带河:"pī shān dài hé",被甲枕戈:"pī jiǎ zhěn gē",被甲据鞍:"pī jiǎ jù ān",被褐怀玉:"pī hè huái yù",被发缨冠:"pī fà yīng guàn",背曲腰躬:"bèi qǔ yāo gōng",北窗高卧:"běi chuāng gāo wò",北辰星拱:"běi chén xīng gǒng",北鄙之音:"běi bǐ zhī yīn",卑宫菲食:"bēi gōng fěi shí",暴衣露冠:"pù yī lù guàn",暴腮龙门:"pù sāi lóng mén",暴露文学:"bào lù wén xué",暴虎冯河:"bào hǔ píng hé",抱蔓摘瓜:"bào wàn zhāi guā",抱法处势:"bào fǎ chǔ shì",褒贬与夺:"bāo biǎn yǔ duó",帮闲钻懒:"bāng xián zuān lǎn",拜将封侯:"bài jiàng fēng hóu",百兽率舞:"bǎi shòu shuài wǔ",百孔千创:"bǎi kǒng qiān chuāng",白衣卿相:"bái yī qīng xiàng",白首为郎:"bái shǒu wéi láng",白首相知:"bái shǒu xiāng zhī",把玩无厌:"bǎ wán wú yàn",拔锅卷席:"bá guō juǎn xí",拔本塞源:"bá běn sè yuán",傲不可长:"ào bù kě zhǎng",熬更守夜:"áo gēng shǒu yè",安时处顺:"ān shí chǔ shùn",安身为乐:"ān shēn wéi lè",安老怀少:"ān lǎo huái shào",安步当车:"ān bù dàng chē",爱人好士:"ài rén hào shì",矮人观场:"ǎi rén guān chǎng",捱风缉缝:"ái fēng jī fèng",挨山塞海:"āi shān sè hǎi",阿家阿翁:"ā jiā ā wēng",阿党相为:"ē dǎng xiāng wéi",追亡逐北:"zhuī wáng zhú běi",竹篮打水:"zhú lán dá shuǐ",知疼着热:"zhī téng zháo rè",语不惊人:"yǔ bù jīng rén",于今为烈:"yú jīn wéi liè",一日三省:"yí rì sān xǐng",穴居野处:"xué jū yě chǔ",五脊六兽:"wǔ jǐ liù shòu",无声无臭:"wú shēng wú xiù",谓予不信:"wèi yú bú xìn",舍身为国:"shě shēn wéi guó",杀妻求将:"shā qī qiú jiàng",强作解人:"qiǎng zuò jiě rén",气冲斗牛:"qì chōng dǒu niú",临深履薄:"lín shēn lǚ bó",钧天广乐:"jūn tiān guǎng yuè",艰难竭蹶:"jiān nán jié jué",夹七夹八:"jiā qī jiā bā",混混噩噩:"hún hún è è",厚古薄今:"hòu gǔ bó jīn",鬼怕恶人:"guǐ pà è rén",伽马射线:"gā mǎ shè xiàn",佛头着粪:"fó tóu zhuó fèn",奉为至宝:"fèng wéi zhì bǎo",登坛拜将:"dēng tán bài jiàng",晨昏定省:"chén hūn dìng xǐng",察察为明:"chá chá wéi míng",博闻强识:"bó wén qiáng zhì",避难就易:"bì nán jiù yì",了无生机:"liǎo wú shēng jī",有一说一:"yǒu yī shuō yī",独一无二:"dú yī wú èr",说一不二:"shuō yī bù èr",举一反三:"jǔ yī fǎn sān",数一数二:"shǔ yī shǔ èr",杀一儆百:"shā yī jǐng bǎi",丁一卯二:"dīng yī mǎo èr",丁一确二:"dīng yī què èr",不一而止:"bù yī ér zhǐ",无一幸免:"wú yī xìng miǎn",表里不一:"biǎo lǐ bù yī",良莠不一:"liáng yǒu bù yī",心口不一:"xīn kǒu bù yī",言行不一:"yán xíng bù yī",政令不一:"zhèng lìng bù yī",参差不一:"cēn cī bù yī",纷纷不一:"fēn fēn bù yī",毁誉不一:"huǐ yù bù yī",不一而三:"bù yī ér sān",百不一遇:"bǎi bù yī yù",言行抱一:"yán xíng bào yī",瑜百瑕一:"yú bǎi xiá yī",背城借一:"bèi chéng jiè yī",凭城借一:"píng chéng jiè yī",劝百讽一:"quàn bǎi fěng yī",群居和一:"qún jū hé yī",百不获一:"bǎi bù huò yī",百不失一:"bǎi bù shī yī",百无失一:"bǎi wú shī yī",万不失一:"wàn bù shī yī",万无失一:"wàn wú shī yī",合而为一:"hé ér wéi yī",合两为一:"hé liǎng wéi yī",合二为一:"hé èr wéi yī",天下为一:"tiān xià wéi yī",相与为一:"xiāng yǔ wéi yī",较若画一:"jiào ruò huà yī",较如画一:"jiào rú huà yī",斠若画一:"jiào ruò huà yī",言行若一:"yán xíng ruò yī",始终若一:"shǐ zhōng ruò yī",终始若一:"zhōng shǐ ruò yī",惟精惟一:"wéi jīng wéi yī",众多非一:"zhòng duō fēi yī",不能赞一:"bù néng zàn yī",问一答十:"wèn yī dá shí",一不扭众:"yī bù niǔ zhòng",一以贯之:"yī yǐ guàn zhī",一以当百:"yī yǐ dāng bǎi",百不当一:"bǎi bù dāng yī",十不当一:"shí bù dāng yī",以一警百:"yǐ yī jǐng bǎi",以一奉百:"yǐ yī fèng bǎi",以一持万:"yǐ yī chí wàn",以一知万:"yǐ yī zhī wàn",百里挑一:"bǎi lǐ tiāo yī",整齐划一:"zhěng qí huà yī",一来二去:"yī lái èr qù",一路公交:"yī lù gōng jiāo",一路汽车:"yī lù qì chē",一路巴士:"yī lù bā shì",朝朝朝落:"zhāo cháo zhāo luò",曲意逢迎:"qū yì féng yíng",一行不行:"yì háng bù xíng",行行不行:"háng háng bù xíng"},Ch=Object.keys(si).map(n=>({zh:n,pinyin:si[n],probability:2e-8,length:4,priority:R.Normal,dict:Symbol("dict4")})),li={巴尔干半岛:"bā ěr gàn bàn dǎo",巴尔喀什湖:"bā ěr kā shí hú",不幸而言中:"bú xìng ér yán zhòng",布尔什维克:"bù ěr shí wéi kè",何乐而不为:"hé lè ér bù wéi",苛政猛于虎:"kē zhèng měng yú hǔ",蒙得维的亚:"méng dé wéi dì yà",民以食为天:"mín yǐ shí wéi tiān",事后诸葛亮:"shì hòu zhū gě liàng",物以稀为贵:"wù yǐ xī wéi guì",先下手为强:"xiān xià shǒu wéi qiáng",行行出状元:"háng háng chū zhuàng yuan",亚得里亚海:"yà dé lǐ yà hǎi",眼不见为净:"yǎn bú jiàn wéi jìng",竹筒倒豆子:"zhú tǒng dào dòu zi"},Dh=Object.keys(li).map(n=>({zh:n,pinyin:li[n],probability:2e-8,length:5,priority:R.Normal,dict:Symbol("dict5")}));function oi(n,i){return n&&(n.decimali.probability)?n:i}function ti(n){n.probability<1e-300&&(n.probability*=1e300,n.decimal+=1)}function Ih(n){return n.priority===R.Custom?-(n.length*n.length*100):n.priority===R.Surname?-(n.length*n.length*10):0}function Vh(n,i){const g=[];let u=n.length-1,h=n[u];for(let e=i-1;e>=0;e--){const s=e+1>=i?{probability:1,decimal:0,patterns:[]}:g[e+1];for(;h&&h.index+h.length-1===e;){const d=h.index,c={probability:h.probability*s.probability,decimal:s.decimal+Ih(h),patterns:s.patterns,concatPattern:h};ti(c),g[d]=oi(g[d],c),h=n[--u]}const o={probability:1e-13*s.probability,decimal:0,patterns:s.patterns};ti(o),g[e]=oi(g[e],o),g[e].concatPattern&&(g[e].patterns=g[e].patterns.concat(g[e].concatPattern),g[e].concatPattern=void 0,delete g[e+1])}return g[0].patterns.reverse()}function ci(n,i){return n&&n.count<=i.count?n:i}function Mh(n){return n.priority===R.Custom?-(n.length*n.length*1e5):n.priority===R.Surname?-(n.length*n.length*100):1}function Eh(n,i){const g=[];let u=n.length-1,h=n[u];for(let e=i-1;e>=0;e--){const s=e+1>=i?{count:0,patterns:[]}:g[e+1];for(;h&&h.index+h.length-1===e;){const d=h.index,c={count:Mh(h)+s.count,patterns:s.patterns,concatPattern:h};g[d]=ci(g[d],c),h=n[--u]}const o={count:1+s.count,patterns:s.patterns};g[e]=ci(g[e],o),g[e].concatPattern&&(g[e].patterns=g[e].patterns.concat(g[e].concatPattern),g[e].concatPattern=void 0,delete g[e+1])}return g[0].patterns.reverse()}function _h(n,i){return!(i.index+i.length<=n.index||i.priority>n.priority||i.priority===n.priority&&i.length>n.length)}function Nh(n){const i=[];for(let g=n.length-1;g>=0;){const{index:u}=n[g];let h=g-1;for(;h>=0&&_h(n[g],n[h]);)h--;(h<0||n[h].index+n[h].length<=u)&&i.push(n[g]),g=h}return i.reverse()}var zi;(function(n){n[n.ReverseMaxMatch=1]="ReverseMaxMatch",n[n.MaxProbability=2]="MaxProbability",n[n.MinTokenization=3]="MinTokenization"})(zi||(zi={}));class yi{constructor(i,g="",u=""){this.children=new Map,this.fail=null,this.patterns=[],this.parent=i,this.prefix=g,this.key=u}}class Rh{constructor(){this.dictMap=new Map,this.queues=[],this.root=new yi(null)}build(i){this.buildTrie(i),this.buildFailPointer()}buildTrie(i){for(let g of i){const u=En(g.zh);let h=this.root;for(let e=0;e{i=i.concat(u)}),this.queues=[];i.length>g;){let u=i[g++],h=u.parent&&u.parent.fail,e=u.key;for(;h&&!h.children.has(e);)h=h.fail;h?u.fail=h.children.get(e):u.fail=this.root}}addPatternToDictMap(i){this.dictMap.has(i.dict)||this.dictMap.set(i.dict,new Set),this.dictMap.get(i.dict).add(i)}addNodeToQueues(i){this.queues[O(i.prefix)]||(this.queues[O(i.prefix)]=[]),this.queues[O(i.prefix)].push(i)}insertPattern(i,g){for(let u=i.length-1;u>=0;u--){const h=i[u];if(g.priority===h.priority&&g.probability>=h.probability)i[u+1]=h;else if(g.priority>h.priority)i[u+1]=h;else{i[u+1]=g;return}}i[0]=g}removeDict(i){this.dictMap.has(i)&&(this.dictMap.get(i).forEach(u=>{u.node.patterns=u.node.patterns.filter(h=>h!==u)}),this.dictMap.delete(i))}match(i,g){let u=this.root,h=[];const e=En(i);for(let s=0;sg==="off"?z.priority!==R.Surname:g==="head"?z.length-1-s===0:!0);d&&h.push(Object.assign(Object.assign({},d),{index:s-d.length+1}));let c=u.fail;for(;c!==null;){const z=c.patterns.find(t=>g==="off"?t.priority!==R.Surname:g==="head"?t.length-1-s===0:!0);z&&h.push(Object.assign(Object.assign({},z),{index:s-z.length+1})),c=c.fail}}}return h}search(i,g,u=2){const h=this.match(i,g);return u===1?Nh(h):u===3?Eh(h,O(i)):Vh(h,O(i))}}const Ah=[...Dh,...Ch,...Ph,...Sh,...fh,...Th],vi=new Rh;vi.build(Ah);const Zh=new qi,Bh=()=>Zh,Fh=[];function Lh(){return Fh}const dn=n=>{const i=G.get(n);return i?i.split(" ")[0]:n},$h=n=>{const i=[],g=Lh();for(let u=0;u{const e=h?$h(n):n,s=vi.search(e,g,u);let o=0;const d=En(n);for(let c=0;cn.replace(/(ā|á|ǎ|à)/g,"a").replace(/(ō|ó|ǒ|ò)/g,"o").replace(/(ē|é|ě|è)/g,"e").replace(/(ī|í|ǐ|ì)/g,"i").replace(/(ū|ú|ǔ|ù)/g,"u").replace(/(ǖ|ǘ|ǚ|ǜ)/g,"ü").replace(/(n̄|ń|ň|ǹ)/g,"n").replace(/(m̄|ḿ|m̌|m̀)/g,"m").replace(/(ê̄|ế|ê̌|ề)/g,"ê"),ki=(n,i="off")=>{const g=Bh();let u=G.get(n)?G.get(n).split(" "):[];if(g.get(n))u=g.get(n).split(" ");else if(i!=="off"){const h=_n[n];h&&(u=[h].concat(u.filter(e=>e!==h)))}return u},Wh=(n,i="off")=>{let g=ki(n,i);return g.length>0?g.map(u=>({origin:n,result:u,isZh:!0,originPinyin:u})):[{origin:n,result:n,isZh:!1,originPinyin:n}]},vn=(n,i)=>{const g=n.split(" "),u=[],h=[];for(let e of g)for(let s of ah)if(e.startsWith(s)){let o=e.slice(s.length);rh.indexOf(s)!==-1&&jh.indexOf(o)!==-1&&(o=bh[o]),u.push(s),h.push(o);break}return i==="standard"&&u.forEach((e,s)=>{(e==="y"||e==="w")&&(u[s]="")}),{final:h.join(" "),initial:u.join(" ")}},wn=n=>{const{final:i}=vn(n);let g="",u="",h="";return mh.indexOf(kn(i))!==-1?(g=i[0],u=i[1],h=i.slice(2)):(u=i[0]||"",h=i.slice(1)||""),{head:g,body:u,tail:h}},Tn=n=>{const i=/(ā|ō|ē|ī|ū|ǖ|n̄|m̄|ê̄)/,g=/(á|ó|é|í|ú|ǘ|ń|ḿ|ế)/,u=/(ǎ|ǒ|ě|ǐ|ǔ|ǚ|ň|m̌|ê̌)/,h=/(à|ò|è|ì|ù|ǜ|ǹ|m̀|ề)/,e=/(a|o|e|i|u|ü|ê)/,s=/(n|m)$/,o=[];return n.split(" ").forEach(c=>{i.test(c)?o.push("1"):g.test(c)?o.push("2"):u.test(c)?o.push("3"):h.test(c)?o.push("4"):e.test(c)||s.test(c)?o.push("0"):o.push("")}),o.join(" ")},Hh=(n,i)=>{const g=kn(n).split(" "),u=Tn(i).split(" "),h=[];return g.forEach((e,s)=>{h.push(`${e}${u[s]}`)}),h.join(" ")},Ti=(n,i)=>{const g=[];return n.split(" ").forEach(h=>{g.push(i?h[0]:h)}),g.join(" ")},Uh=n=>typeof n!="string"?(console.error("The first param of pinyin is error: "+n+' is not assignable to type "string".'),!1):!0;function Vn(n,i){return i instanceof RegExp?i.test(n):!0}const Yh=(n,i)=>{let g=i.nonZh;if(g==="removed")return n.filter(u=>u.isZh||!Vn(u.origin,i.nonZhScope));if(g==="consecutive"){for(let u=n.length-2;u>=0;u--){const h=n[u],e=n[u+1];!h.isZh&&!e.isZh&&Vn(h.origin,i.nonZhScope)&&Vn(e.origin,i.nonZhScope)&&(h.origin+=e.origin,h.result+=e.result,e.delete=!0)}return n.filter(u=>!u.delete)}else return n},di=(n,i)=>O(n)===1&&i.multiple?Wh(n,i.surname):!1,Kh=(n,i)=>{switch(i.pattern){case"pinyin":break;case"num":n.forEach(g=>{g.result=g.isZh?Tn(g.result):""});break;case"initial":n.forEach(g=>{g.result=g.isZh?vn(g.result,i.initialPattern).initial:""});break;case"final":n.forEach(g=>{g.result=g.isZh?vn(g.result,i.initialPattern).final:""});break;case"first":n.forEach(g=>{g.result=Ti(g.result,g.isZh)});break;case"finalHead":n.forEach(g=>{g.result=g.isZh?wn(g.result).head:""});break;case"finalBody":n.forEach(g=>{g.result=g.isZh?wn(g.result).body:""});break;case"finalTail":n.forEach(g=>{g.result=g.isZh?wn(g.result).tail:""});break}},Xh=(n,i)=>{switch(i.toneType){case"symbol":break;case"none":n.forEach(g=>{g.isZh&&(g.result=kn(g.result))});break;case"num":{n.forEach(g=>{g.isZh&&(g.result=Hh(g.result,g.originPinyin))});break}}},Qh=(n,i)=>{i.v&&n.forEach(g=>{g.isZh&&(g.result=g.result.replace(/ü/g,typeof i.v=="string"?i.v:"v"))})},Gh=(n,i,g)=>{if(i.multiple&&O(g)===1){let u="";n=n.filter(h=>{const e=h.result!==u;return u=h.result,e})}return i.type==="array"?n.map(u=>u.result):i.type==="all"?n.map(u=>{const h=u.isZh?u.result:"",{initial:e,final:s}=vn(h,i.initialPattern),{head:o,body:d,tail:c}=wn(h);let z=[];return h!==""&&(z=[h].concat(ki(u.origin,i.surname).filter(t=>t!==h))),{origin:u.origin,pinyin:h,initial:e,final:s,first:Ti(u.result,u.isZh),finalHead:o,finalBody:d,finalTail:c,num:Number(Tn(u.originPinyin)),isZh:u.isZh,polyphonic:z,inZhRange:!!G.get(u.origin),result:u.result}}):n.map(u=>u.result).join(i.separator)},Jh=(n,i)=>(i===!1&&n.forEach(g=>{g.origin==="一"?g.result=g.originPinyin="yī":g.origin==="不"&&(g.result=g.originPinyin="bù")}),n),nu={pattern:"pinyin",toneType:"symbol",type:"string",multiple:!1,mode:"normal",removeNonZh:!1,nonZh:"spaced",v:!1,separator:" ",toneSandhi:!0,segmentit:2};function yu(n,i){if(i=Object.assign(Object.assign({},nu),i||{}),!Uh(n))return n;if(n==="")return i.type==="array"||i.type==="all"?[]:"";i.surname===void 0&&(i.mode==="surname"?i.surname="all":i.surname="off"),i.type==="all"&&(i.pattern="pinyin"),i.pattern==="num"&&(i.toneType="none"),i.removeNonZh&&(i.nonZh="removed");let u=Array(O(n)),{list:h}=Oh(n,u,i.surname,i.segmentit,i.traditional);return h=Jh(h,i.toneSandhi),h=Yh(h,i),di(n,i)&&(h=di(n,i)),Kh(h,i),Xh(h,i),Qh(h,i),Gh(h,i,n)}var Nn;(function(n){n[n.AllSegment=1]="AllSegment",n[n.AllArray=2]="AllArray",n[n.AllString=3]="AllString",n[n.PinyinSegment=4]="PinyinSegment",n[n.PinyinArray=5]="PinyinArray",n[n.PinyinString=6]="PinyinString",n[n.ZhSegment=7]="ZhSegment",n[n.ZhArray=8]="ZhArray",n[n.ZhString=9]="ZhString"})(Nn||(Nn={}));Nn.AllSegment;const iu=xi({alwaysFilter:Boolean,autoSelectFirst:{type:[Boolean,String]},clearOnSelect:{type:Boolean,default:!0},delimiters:Array,...Xg({filterKeys:["title"]}),...Kg({hideNoData:!0,returnObject:!0}),...fi(Lg({modelValue:null,role:"combobox"}),["validationValue","dirty"])},"VCombobox"),du=ji()({name:"VCombobox",props:iu(),emits:{"update:focused":n=>!0,"update:modelValue":n=>!0,"update:search":n=>!0,"update:menu":n=>!0},setup(n,i){var Zn;let{emit:g,slots:u}=i;const{t:h}=pg(),e=gn(),s=Z(!1),o=Z(!0),d=Z(!1),c=gn(),z=gn(),t=Z(-1);let x=!1;const{items:w,transformIn:T,transformOut:V}=vg(n),{textColorClasses:J,textColorStyles:nn}=kg(()=>{var l;return(l=e.value)==null?void 0:l.color}),{InputIcon:K}=Bg(n),a=Mn(n,"modelValue",[],l=>T(Tg(l)),l=>{const y=V(l);return n.multiple?y:y[0]??null}),B=Fg(n),X=fn(()=>n.closableChips&&!B.isReadonly.value&&!B.isDisabled.value),m=P(()=>!!(n.chips||u.chip)),r=P(()=>m.value||!!u.selection),j=Z(!n.multiple&&!r.value?((Zn=a.value[0])==null?void 0:Zn.title)??"":""),f=Z(null),b=P({get:()=>j.value,set:async l=>{var y;if(j.value=l??"",l===null||l===""&&!n.multiple&&!r.value?a.value=[]:!n.multiple&&!r.value&&(a.value=[zn(n,l)],tn(()=>{var p;return(p=z.value)==null?void 0:p.scrollToIndex(0)})),l&&n.multiple&&((y=n.delimiters)!=null&&y.length)){const p=Rn(l);p.length>1&&(An(p),j.value="")}l||(t.value=-1),o.value=!l}}),D=P(()=>typeof n.counterValue=="function"?n.counterValue(a.value):typeof n.counterValue=="number"?n.counterValue:n.multiple?a.value.length:b.value.length),{filteredItems:W,getMatches:hn}=$g(n,w,()=>f.value??(n.alwaysFilter||!o.value?b.value:"")),A=P(()=>n.hideSelected&&f.value===null?W.value.filter(l=>!a.value.some(y=>y.value===l.value)):W.value),un=P(()=>n.hideNoData&&!A.value.length||B.isReadonly.value||B.isDisabled.value),en=Mn(n,"menu"),C=P({get:()=>en.value,set:l=>{var y;en.value&&!l&&((y=c.value)!=null&&y.ΨopenChildren.size)||l&&un.value||(en.value=l)}}),{menuId:rn,ariaExpanded:Sn,ariaControls:M}=Og(n,C);Y(j,l=>{x?tn(()=>x=!1):s.value&&!C.value&&(C.value=!0),g("update:search",l)}),Y(a,l=>{var y;!n.multiple&&!r.value&&(j.value=((y=l[0])==null?void 0:y.title)??"")});const jn=P(()=>a.value.map(l=>l.value)),Q=P(()=>A.value.find(l=>l.type==="item"&&!l.props.disabled)),sn=P(()=>{var y;return(n.autoSelectFirst===!0||n.autoSelectFirst==="exact"&&b.value===((y=Q.value)==null?void 0:y.title))&&A.value.length>0&&!o.value&&!d.value}),Pn=gn(),Si=Yg(Pn,e);function Pi(l){x=!0,tn(()=>x=!1),n.openOnClear&&(C.value=!0)}function Ci(){un.value||(C.value=!0)}function Di(l){un.value||(s.value&&(l.preventDefault(),l.stopPropagation()),C.value=!C.value)}function Ii(l){var y;(Un(l)||l.key==="Backspace")&&((y=e.value)==null||y.focus())}function Vi(l){var k,F,q,E;if(Ng(l)||B.isReadonly.value)return;const y=(k=e.value)==null?void 0:k.selectionStart,p=a.value.length;if(["Enter","ArrowDown","ArrowUp"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"].includes(l.key)&&(C.value=!0),["Escape"].includes(l.key)&&(C.value=!1),sn.value&&["Enter","Tab"].includes(l.key)&&Q.value&&!a.value.some(I=>{let{value:ln}=I;return ln===Q.value.value})&&H(Q.value),l.key==="ArrowDown"&&sn.value&&((F=Pn.value)==null||F.focus("next")),l.key==="Enter"&&b.value&&(H(zn(n,b.value),!0,!0),r.value&&(j.value="")),["Backspace","Delete"].includes(l.key)){if(!n.multiple&&r.value&&a.value.length>0&&!b.value)return H(a.value[0],!1);if(~t.value){l.preventDefault();const I=t.value;H(a.value[t.value],!1),t.value=I>=p-1?p-2:I}else l.key==="Backspace"&&!b.value&&(t.value=p-1);return}if(n.multiple)if(l.key==="ArrowLeft"){if(t.value<0&&y&&y>0)return;const I=t.value>-1?t.value-1:p-1;a.value[I]?t.value=I:(t.value=-1,(q=e.value)==null||q.setSelectionRange(b.value.length,b.value.length))}else if(l.key==="ArrowRight"){if(t.value<0)return;const I=t.value+1;a.value[I]?t.value=I:(t.value=-1,(E=e.value)==null||E.setSelectionRange(0,0))}else~t.value&&Un(l)&&(t.value=-1)}function Mi(l){var k;const y=((k=l==null?void 0:l.clipboardData)==null?void 0:k.getData("Text"))??"",p=Rn(y);p.length>1&&n.multiple&&(l.preventDefault(),An(p))}function Ei(){var l;n.eager&&((l=z.value)==null||l.calculateVisibleItems())}function _i(){var l;s.value&&((l=e.value)==null||l.focus()),o.value=!0,f.value=null}function H(l){let y=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,p=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!1;if(!(!l||l.props.disabled))if(n.multiple){const k=a.value.findIndex(q=>(n.valueComparator||Hn)(q.value,l.value)),F=y??!~k;if(~k){const q=F?[...a.value,l]:[...a.value];q.splice(k,1),a.value=q}else F&&(a.value=[...a.value,l]);n.clearOnSelect&&(b.value="")}else{const k=y!==!1;a.value=k?[l]:[],(!o.value||n.alwaysFilter)&&j.value&&(f.value=j.value),j.value=k&&!r.value?l.title:"",tn(()=>{C.value=p,o.value=!0})}}function Rn(l){const p=[` +`,...n.delimiters??[]].map(Rg).join("|");return l.split(new RegExp(`(?:${p})+`))}async function An(l){for(let y of l)y=y.trim(),y&&(H(zn(n,y)),await tn())}function Ni(l){s.value=!0,setTimeout(()=>{d.value=!0})}function Ri(l){d.value=!1}return Y(s,(l,y)=>{if(!(l||l===y)&&(t.value=-1,C.value=!1,b.value)){if(n.multiple){H(zn(n,b.value));return}if(!r.value)return;a.value.some(p=>{let{title:k}=p;return k===b.value})?j.value="":H(zn(n,b.value))}}),Y(C,l=>{if(!n.hideSelected&&l&&a.value.length&&o.value){const y=A.value.findIndex(p=>a.value.some(k=>(n.valueComparator||Hn)(k.value,p.value)));Sg&&window.requestAnimationFrame(()=>{var p;y>=0&&((p=z.value)==null||p.scrollToIndex(y))})}l&&(f.value=null)}),Y(w,(l,y)=>{C.value||s.value&&!y.length&&l.length&&(C.value=!0)}),bi(()=>{const l=!!(!n.hideNoData||A.value.length||u["prepend-item"]||u["append-item"]||u["no-data"]),y=a.value.length>0,p=Yn.filterProps(n);return v(Yn,$({ref:e},p,{modelValue:b.value,"onUpdate:modelValue":k=>b.value=k,focused:s.value,"onUpdate:focused":k=>s.value=k,validationValue:a.externalValue,counterValue:D.value,dirty:y,class:["v-combobox",{"v-combobox--active-menu":C.value,"v-combobox--chips":!!n.chips,"v-combobox--selection-slot":!!r.value,"v-combobox--selecting-index":t.value>-1,[`v-combobox--${n.multiple?"multiple":"single"}`]:!0},n.class],style:n.style,readonly:B.isReadonly.value,placeholder:y?void 0:n.placeholder,"onClick:clear":Pi,"onMousedown:control":Ci,onKeydown:Vi,onPaste:Mi,"aria-expanded":Sn.value,"aria-controls":M.value}),{...u,default:k=>{let{id:F}=k;return N(an,null,[v(Wg,$({id:rn.value,ref:c,modelValue:C.value,"onUpdate:modelValue":q=>C.value=q,activator:"parent",contentClass:"v-combobox__content",disabled:un.value,eager:n.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,onAfterEnter:Ei,onAfterLeave:_i},n.menuProps),{default:()=>[l&&v(wi,$({ref:Pn,filterable:!0,selected:jn.value,selectStrategy:n.multiple?"independent":"single-independent",onMousedown:q=>q.preventDefault(),selectable:!!A.value.length,onKeydown:Ii,onFocusin:Ni,onFocusout:Ri,tabindex:"-1","aria-live":"polite","aria-labelledby":`${F.value}-label`,"aria-multiselectable":n.multiple,color:n.itemColor??n.color},Si,n.listProps),{default:()=>{var q,E,I;return[(q=u["prepend-item"])==null?void 0:q.call(u),!A.value.length&&!n.hideNoData&&(((E=u["no-data"])==null?void 0:E.call(u))??v(qn,{key:"no-data",title:h(n.noDataText)},null)),v(Hg,{ref:z,renderless:!0,items:A.value,itemKey:"value"},{default:ln=>{var Fn,Ln,$n;let{item:S,index:U,itemRef:_}=ln;const Bn=$(S.props,{ref:_,key:S.value,active:sn.value&&S===Q.value?!0:void 0,onClick:()=>H(S,null),"aria-posinset":U+1,"aria-setsize":A.value.length});return S.type==="divider"?((Fn=u.divider)==null?void 0:Fn.call(u,{props:S.raw,index:U}))??v(Cg,$(S.props,{key:`divider-${U}`}),null):S.type==="subheader"?((Ln=u.subheader)==null?void 0:Ln.call(u,{props:S.raw,index:U}))??v(Dg,$(S.props,{key:`subheader-${U}`}),null):(($n=u.item)==null?void 0:$n.call(u,{item:S,index:U,props:Bn}))??v(qn,$(Bn,{role:"option"}),{prepend:bn=>{let{isSelected:Ai}=bn;return N(an,null,[n.multiple&&!n.hideSelected?v(Qg,{key:S.value,modelValue:Ai,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Zi=>Zi.preventDefault()},null):void 0,S.props.prependAvatar&&v(Ig,{image:S.props.prependAvatar},null),S.props.prependIcon&&v(pn,{icon:S.props.prependIcon},null)])},title:()=>{var bn;return o.value?S.title:Ug("v-combobox",S.title,(bn=hn(S))==null?void 0:bn.title)}})}}),(I=u["append-item"])==null?void 0:I.call(u)]}})]}),a.value.map((q,E)=>{function I(_){_.stopPropagation(),_.preventDefault(),H(q,!1)}const ln=$(Kn.filterProps(q.props),{"onClick:close":I,onKeydown(_){_.key!=="Enter"&&_.key!==" "||(_.preventDefault(),_.stopPropagation(),I(_))},onMousedown(_){_.preventDefault(),_.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),S=m.value?!!u.chip:!!u.selection,U=S?Vg(m.value?u.chip({item:q,index:E,props:ln}):u.selection({item:q,index:E})):void 0;if(!(S&&!U))return N("div",{key:q.value,class:Eg(["v-combobox__selection",E===t.value&&["v-combobox__selection--selected",J.value]]),style:Mg(E===t.value?nn.value:{})},[m.value?u.chip?v(mi,{key:"chip-defaults",defaults:{VChip:{closable:X.value,size:"small",text:q.title}}},{default:()=>[U]}):v(Kn,$({key:"chip",closable:X.value,size:"small",text:q.title,disabled:q.props.disabled},ln),null):U??N("span",{class:"v-combobox__selection-text"},[q.title,n.multiple&&Ei(e.tag,{class:c(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:m([o.value,e.style])},a)),{}}});export{g as V}; diff --git a/assets/VContainer-_5I3ogXr.js b/assets/VContainer-_5I3ogXr.js deleted file mode 100644 index 6e7cb05..0000000 --- a/assets/VContainer-_5I3ogXr.js +++ /dev/null @@ -1 +0,0 @@ -import{g as t,p as l,b7 as r,b as i,c as m,n as c,d as u,e as d,m as C,f,h as p}from"./index-Ck0Pnd4f.js";const y=l({fluid:{type:Boolean,default:!1},...p(),...f(),...C()},"VContainer"),g=t()({name:"VContainer",props:y(),setup(e,s){let{slots:a}=s;const{rtlClasses:n}=r(),{dimensionStyles:o}=d(e);return i(()=>m(e.tag,{class:u(["v-container",{"v-container--fluid":e.fluid},n.value,e.class]),style:c([o.value,e.style])},a)),{}}});export{g as V}; diff --git a/assets/VExpansionPanels-B6fkQj5C.js b/assets/VExpansionPanels-DzF6AfvT.js similarity index 72% rename from assets/VExpansionPanels-B6fkQj5C.js rename to assets/VExpansionPanels-DzF6AfvT.js index 62b5a56..326eda1 100644 --- a/assets/VExpansionPanels-B6fkQj5C.js +++ b/assets/VExpansionPanels-DzF6AfvT.js @@ -1 +1 @@ -import{g as m,p as y,bO as w,bP as N,b as V,c,I as _,J as O,i as v,n as g,d as p,bd as q,bQ as F,h as k,S as C,aB as A,a1 as P,v as J,au as l,aW as R,e as Q,f as U,a_ as T,bR as W,be as H,bp as K,m as D,bk as M,bS as X,bq as Y,bT as Z,bU as ee,bo as ae,aI as ne,bj as le,aL as te,bV as se}from"./index-Ck0Pnd4f.js";const f=Symbol.for("vuetify:v-expansion-panel"),L=y({...k(),...F()},"VExpansionPanelText"),h=m()({name:"VExpansionPanelText",props:L(),setup(e,d){let{slots:n}=d;const a=w(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:s,onAfterLeave:u}=N(e,a.isSelected);return V(()=>c(q,{onAfterLeave:u},{default:()=>{var o;return[_(v("div",{class:p(["v-expansion-panel-text",e.class]),style:g(e.style)},[n.default&&s.value&&v("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[O,a.isSelected.value]])]}})),{}}}),z=y({color:String,expandIcon:{type:T,default:"$expand"},collapseIcon:{type:T,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k(),...U()},"VExpansionPanelTitle"),B=m()({name:"VExpansionPanelTitle",directives:{vRipple:C},props:z(),setup(e,d){let{slots:n}=d;const a=w(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:s,backgroundColorStyles:u}=A(()=>e.color),{dimensionStyles:o}=Q(e),r=P(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),E=l(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return V(()=>{var x;return _(v("button",{class:p(["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},s.value,e.class]),style:g([u.value,o.value,e.style]),type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[v("span",{class:"v-expansion-panel-title__overlay"},null),(x=n.default)==null?void 0:x.call(n,r.value),!e.hideActions&&c(R,{defaults:{VIcon:{icon:E.value}}},{default:()=>{var b;return[v("span",{class:"v-expansion-panel-title__icon"},[((b=n.actions)==null?void 0:b.call(n,r.value))??c(J,null,null)])]}})]),[[C,e.ripple]])}),{}}}),G=y({title:String,text:String,bgColor:String,...Y(),...X(),...M(),...D(),...z(),...L()},"VExpansionPanel"),de=m()({name:"VExpansionPanel",props:G(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=W(e,f),{backgroundColorClasses:s,backgroundColorStyles:u}=A(()=>e.bgColor),{elevationClasses:o}=K(e),{roundedClasses:r}=H(e),E=l(()=>(a==null?void 0:a.disabled.value)||e.disabled),x=P(()=>a.group.items.value.reduce((i,t,S)=>(a.group.selected.value.includes(t.id)&&i.push(S),i),[])),b=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===1)}),j=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===-1)});return Z(f,a),V(()=>{const i=!!(n.text||e.text),t=!!(n.title||e.title),S=B.filterProps(e),$=h.filterProps(e);return c(e.tag,{class:p(["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":b.value,"v-expansion-panel--after-active":j.value,"v-expansion-panel--disabled":E.value},r.value,s.value,e.class]),style:g([u.value,e.style])},{default:()=>[v("div",{class:p(["v-expansion-panel__shadow",...o.value])},null),c(R,{defaults:{VExpansionPanelTitle:{...S},VExpansionPanelText:{...$}}},{default:()=>{var I;return[t&&c(B,{key:"title"},{default:()=>[n.title?n.title():e.title]}),i&&c(h,{key:"text"},{default:()=>[n.text?n.text():e.text]}),(I=n.default)==null?void 0:I.call(n)]}})]})}),{groupItem:a}}}),oe=["default","accordion","inset","popout"],ie=y({flat:Boolean,...se(),...te(G(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...le(),...k(),...D(),variant:{type:String,default:"default",validator:e=>oe.includes(e)}},"VExpansionPanels"),ue=m()({name:"VExpansionPanels",props:ie(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:s}=ee(e,f),{themeClasses:u}=ae(e),o=l(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ne({VExpansionPanel:{bgColor:l(()=>e.bgColor),collapseIcon:l(()=>e.collapseIcon),color:l(()=>e.color),eager:l(()=>e.eager),elevation:l(()=>e.elevation),expandIcon:l(()=>e.expandIcon),focusable:l(()=>e.focusable),hideActions:l(()=>e.hideActions),readonly:l(()=>e.readonly),ripple:l(()=>e.ripple),rounded:l(()=>e.rounded),static:l(()=>e.static)}}),V(()=>c(e.tag,{class:p(["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class]),style:g(e.style)},{default:()=>{var r;return[(r=n.default)==null?void 0:r.call(n,{prev:s,next:a})]}})),{next:a,prev:s}}});export{ue as V,de as a,B as b,h as c}; +import{g as m,bO as B,bP as N,b as y,c,I as _,J as O,i as v,n as V,d as p,bd as q,p as g,bQ as F,h as k,S as C,aC as A,t as J,aW as R,a3 as P,av as l,e as Q,a_ as T,f as U,bR as W,be as H,bp as K,m as D,bk as M,bS as X,bq as Y,bT as Z,bU as ee,bo as ae,aI as ne,bj as le,aL as te,bV as se}from"./index-BUM0TY0E.js";const f=Symbol.for("vuetify:v-expansion-panel"),L=g({...k(),...F()},"VExpansionPanelText"),h=m()({name:"VExpansionPanelText",props:L(),setup(e,d){let{slots:n}=d;const a=B(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-text needs to be placed inside v-expansion-panel");const{hasContent:s,onAfterLeave:u}=N(e,a.isSelected);return y(()=>c(q,{onAfterLeave:u},{default:()=>{var o;return[_(v("div",{class:p(["v-expansion-panel-text",e.class]),style:V(e.style)},[n.default&&s.value&&v("div",{class:"v-expansion-panel-text__wrapper"},[(o=n.default)==null?void 0:o.call(n)])]),[[O,a.isSelected.value]])]}})),{}}}),z=g({color:String,expandIcon:{type:T,default:"$expand"},collapseIcon:{type:T,default:"$collapse"},hideActions:Boolean,focusable:Boolean,static:Boolean,ripple:{type:[Boolean,Object],default:!1},readonly:Boolean,...k(),...U()},"VExpansionPanelTitle"),w=m()({name:"VExpansionPanelTitle",directives:{vRipple:C},props:z(),setup(e,d){let{slots:n}=d;const a=B(f);if(!a)throw new Error("[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel");const{backgroundColorClasses:s,backgroundColorStyles:u}=A(()=>e.color),{dimensionStyles:o}=Q(e),r=P(()=>({collapseIcon:e.collapseIcon,disabled:a.disabled.value,expanded:a.isSelected.value,expandIcon:e.expandIcon,readonly:e.readonly})),E=l(()=>a.isSelected.value?e.collapseIcon:e.expandIcon);return y(()=>{var x;return _(v("button",{class:p(["v-expansion-panel-title",{"v-expansion-panel-title--active":a.isSelected.value,"v-expansion-panel-title--focusable":e.focusable,"v-expansion-panel-title--static":e.static},s.value,e.class]),style:V([u.value,o.value,e.style]),type:"button",tabindex:a.disabled.value?-1:void 0,disabled:a.disabled.value,"aria-expanded":a.isSelected.value,onClick:e.readonly?void 0:a.toggle},[v("span",{class:"v-expansion-panel-title__overlay"},null),(x=n.default)==null?void 0:x.call(n,r.value),!e.hideActions&&c(R,{defaults:{VIcon:{icon:E.value}}},{default:()=>{var b;return[v("span",{class:"v-expansion-panel-title__icon"},[((b=n.actions)==null?void 0:b.call(n,r.value))??c(J,null,null)])]}})]),[[C,e.ripple]])}),{}}}),G=g({title:String,text:String,bgColor:String,...Y(),...X(),...M(),...D(),...z(),...L()},"VExpansionPanel"),de=m()({name:"VExpansionPanel",props:G(),emits:{"group:selected":e=>!0},setup(e,d){let{slots:n}=d;const a=W(e,f),{backgroundColorClasses:s,backgroundColorStyles:u}=A(()=>e.bgColor),{elevationClasses:o}=K(e),{roundedClasses:r}=H(e),E=l(()=>(a==null?void 0:a.disabled.value)||e.disabled),x=P(()=>a.group.items.value.reduce((i,t,S)=>(a.group.selected.value.includes(t.id)&&i.push(S),i),[])),b=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===1)}),j=P(()=>{const i=a.group.items.value.findIndex(t=>t.id===a.id);return!a.isSelected.value&&x.value.some(t=>t-i===-1)});return Z(f,a),y(()=>{const i=!!(n.text||e.text),t=!!(n.title||e.title),S=w.filterProps(e),$=h.filterProps(e);return c(e.tag,{class:p(["v-expansion-panel",{"v-expansion-panel--active":a.isSelected.value,"v-expansion-panel--before-active":b.value,"v-expansion-panel--after-active":j.value,"v-expansion-panel--disabled":E.value},r.value,s.value,e.class]),style:V([u.value,e.style])},{default:()=>[v("div",{class:p(["v-expansion-panel__shadow",...o.value])},null),c(R,{defaults:{VExpansionPanelTitle:{...S},VExpansionPanelText:{...$}}},{default:()=>{var I;return[t&&c(w,{key:"title"},{default:()=>[n.title?n.title():e.title]}),i&&c(h,{key:"text"},{default:()=>[n.text?n.text():e.text]}),(I=n.default)==null?void 0:I.call(n)]}})]})}),{groupItem:a}}}),oe=["default","accordion","inset","popout"],ie=g({flat:Boolean,...se(),...te(G(),["bgColor","collapseIcon","color","eager","elevation","expandIcon","focusable","hideActions","readonly","ripple","rounded","tile","static"]),...le(),...k(),...D(),variant:{type:String,default:"default",validator:e=>oe.includes(e)}},"VExpansionPanels"),ue=m()({name:"VExpansionPanels",props:ie(),emits:{"update:modelValue":e=>!0},setup(e,d){let{slots:n}=d;const{next:a,prev:s}=ee(e,f),{themeClasses:u}=ae(e),o=l(()=>e.variant&&`v-expansion-panels--variant-${e.variant}`);return ne({VExpansionPanel:{bgColor:l(()=>e.bgColor),collapseIcon:l(()=>e.collapseIcon),color:l(()=>e.color),eager:l(()=>e.eager),elevation:l(()=>e.elevation),expandIcon:l(()=>e.expandIcon),focusable:l(()=>e.focusable),hideActions:l(()=>e.hideActions),readonly:l(()=>e.readonly),ripple:l(()=>e.ripple),rounded:l(()=>e.rounded),static:l(()=>e.static)}}),y(()=>c(e.tag,{class:p(["v-expansion-panels",{"v-expansion-panels--flat":e.flat,"v-expansion-panels--tile":e.tile},u.value,o.value,e.class]),style:V(e.style)},{default:()=>{var r;return[(r=n.default)==null?void 0:r.call(n,{prev:s,next:a})]}})),{next:a,prev:s}}});export{ue as V,de as a,w as b,h as c}; diff --git a/assets/VForm-Bz_LQtPX.js b/assets/VForm-Bz_LQtPX.js new file mode 100644 index 0000000..017a7a5 --- /dev/null +++ b/assets/VForm-Bz_LQtPX.js @@ -0,0 +1 @@ +import{g as p,b,i as v,n as h,d as y,au as F,a2 as V,p as R,h as P}from"./index-BUM0TY0E.js";import{h as k,i as C}from"./VTextField-C579e7l1.js";const S=R({...P(),...C()},"VForm"),D=p()({name:"VForm",props:S(),emits:{"update:modelValue":o=>!0,submit:o=>!0},setup(o,i){let{slots:s,emit:l}=i;const r=k(o),n=V();function f(t){t.preventDefault(),r.reset()}function u(t){const a=t,e=r.validate();a.then=e.then.bind(e),a.catch=e.catch.bind(e),a.finally=e.finally.bind(e),l("submit",a),a.defaultPrevented||e.then(c=>{var m;let{valid:d}=c;d&&((m=n.value)==null||m.submit())}),a.preventDefault()}return b(()=>{var t;return v("form",{ref:n,class:y(["v-form",o.class]),style:h(o.style),novalidate:!0,onReset:f,onSubmit:u},[(t=s.default)==null?void 0:t.call(s,r)])}),F(r,n)}});export{D as V}; diff --git a/assets/VForm-Jb3Esqve.js b/assets/VForm-Jb3Esqve.js deleted file mode 100644 index 102d468..0000000 --- a/assets/VForm-Jb3Esqve.js +++ /dev/null @@ -1 +0,0 @@ -import{g as p,p as b,b as v,i as h,n as y,d as F,a0 as V,aw as R,h as P}from"./index-Ck0Pnd4f.js";import{h as k,i as C}from"./VTextField-C6VOv1Py.js";const S=b({...P(),...C()},"VForm"),z=p()({name:"VForm",props:S(),emits:{"update:modelValue":o=>!0,submit:o=>!0},setup(o,i){let{slots:s,emit:l}=i;const r=k(o),n=V();function f(t){t.preventDefault(),r.reset()}function u(t){const a=t,e=r.validate();a.then=e.then.bind(e),a.catch=e.catch.bind(e),a.finally=e.finally.bind(e),l("submit",a),a.defaultPrevented||e.then(c=>{var m;let{valid:d}=c;d&&((m=n.value)==null||m.submit())}),a.preventDefault()}return v(()=>{var t;return h("form",{ref:n,class:F(["v-form",o.class]),style:y(o.style),novalidate:!0,onReset:f,onSubmit:u},[(t=s.default)==null?void 0:t.call(s,r)])}),R(r,n)}});export{z as V}; diff --git a/assets/VPagination-CAsEj5TO.js b/assets/VPagination-CAsEj5TO.js deleted file mode 100644 index 721629f..0000000 --- a/assets/VPagination-CAsEj5TO.js +++ /dev/null @@ -1 +0,0 @@ -import{V as z,m as H}from"./VCheckboxBtn-DWqkYNT7.js";import{u as J,a as D,d as Q}from"./VTextField-C6VOv1Py.js";import{g as U,p as W,ar as X,bm as Y,b as j,at as Z,c as f,E as m,a0 as G,aw as ee,aC as ae,cc as te,aq as le,b7 as ie,bo as ne,X as se,aI as E,cd as ue,av as re,i as V,a1 as k,y as p,d as T,n as oe,ce as ve,bj as ce,m as de,cf as fe,bk as ge,bq as be,aK as me,h as ye,bF as he,a_ as A,cg as q,ax as K,b4 as C,au as b}from"./index-Ck0Pnd4f.js";const Ve=W({...Q(),...ae(H(),["inline"])},"VCheckbox"),Ie=U()({name:"VCheckbox",inheritAttrs:!1,props:Ve(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,x){let{attrs:n,slots:y}=x;const t=X(e,"modelValue"),{isFocused:c,focus:S,blur:h}=J(e),I=G(),R=Y();return j(()=>{const[P,B]=Z(n),s=D.filterProps(e),u=z.filterProps(e);return f(D,m({ref:I,class:["v-checkbox",e.class]},P,s,{modelValue:t.value,"onUpdate:modelValue":r=>t.value=r,id:e.id||`checkbox-${R}`,focused:c.value,style:e.style}),{...y,default:r=>{let{id:_,messagesId:F,isDisabled:g,isReadonly:$,isValid:w}=r;return f(z,m(u,{id:_.value,"aria-describedby":F.value,disabled:g.value,readonly:$.value},B,{error:w.value===!1,modelValue:t.value,"onUpdate:modelValue":N=>t.value=N,onFocus:S,onBlur:h}),y)}})}),ee({},I)}});function ke(){const e=G([]);te(()=>e.value=[]);function x(n,y){e.value[y]=n}return{refs:e,updateRef:x}}const xe=W({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:A,default:"$first"},prevIcon:{type:A,default:"$prev"},nextIcon:{type:A,default:"$next"},lastIcon:{type:A,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...he(),...ye(),...me(),...be(),...ge(),...fe(),...de({tag:"nav"}),...ce(),...ve({variant:"text"})},"VPagination"),_e=U()({name:"VPagination",props:xe(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,x){let{slots:n,emit:y}=x;const t=X(e,"modelValue"),{t:c,n:S}=le(),{isRtl:h}=ie(),{themeClasses:I}=ne(e),{width:R}=se(),P=re(-1);E(void 0,{scoped:!0});const{resizeRef:B}=ue(a=>{if(!a.length)return;const{target:l,contentRect:i}=a[0],o=l.querySelector(".v-pagination__list > *");if(!o)return;const v=i.width,L=o.offsetWidth+parseFloat(getComputedStyle(o).marginRight)*2;P.value=_(v,L)}),s=k(()=>parseInt(e.length,10)),u=k(()=>parseInt(e.start,10)),r=k(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):P.value>=0?P.value:_(R.value,58));function _(a,l){const i=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((a-l*i)/l).toFixed(2))))}const F=k(()=>{if(s.value<=0||isNaN(s.value)||s.value>Number.MAX_SAFE_INTEGER)return[];if(r.value<=0)return[];if(r.value===1)return[t.value];if(s.value<=r.value)return C(s.value,u.value);const a=r.value%2===0,l=a?r.value/2:Math.floor(r.value/2),i=a?l:l+1,o=s.value-l;if(i-t.value>=0)return[...C(Math.max(1,r.value-1),u.value),e.ellipsis,s.value];if(t.value-o>=(a?1:0)){const v=r.value-1,L=s.value-v+u.value;return[u.value,e.ellipsis,...C(v,L)]}else{const v=Math.max(1,r.value-2),L=v===1?t.value:t.value-Math.ceil(v/2)+u.value;return[u.value,e.ellipsis,...C(v,L),e.ellipsis,s.value]}});function g(a,l,i){a.preventDefault(),t.value=l,i&&y(i,l)}const{refs:$,updateRef:w}=ke();E({VPaginationBtn:{color:b(()=>e.color),border:b(()=>e.border),density:b(()=>e.density),size:b(()=>e.size),variant:b(()=>e.variant),rounded:b(()=>e.rounded),elevation:b(()=>e.elevation)}});const N=k(()=>F.value.map((a,l)=>{const i=o=>w(o,l);if(typeof a=="string")return{isActive:!1,key:`ellipsis-${l}`,page:a,props:{ref:i,ellipsis:!0,icon:!0,disabled:!0}};{const o=a===t.value;return{isActive:o,key:a,page:S(a),props:{ref:i,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:o?e.activeColor:e.color,"aria-current":o,"aria-label":c(o?e.currentPageAriaLabel:e.pageAriaLabel,a),onClick:v=>g(v,a)}}}})),d=k(()=>{const a=!!e.disabled||t.value<=u.value,l=!!e.disabled||t.value>=u.value+s.value-1;return{first:e.showFirstLastPage?{icon:h.value?e.lastIcon:e.firstIcon,onClick:i=>g(i,u.value,"first"),disabled:a,"aria-label":c(e.firstAriaLabel),"aria-disabled":a}:void 0,prev:{icon:h.value?e.nextIcon:e.prevIcon,onClick:i=>g(i,t.value-1,"prev"),disabled:a,"aria-label":c(e.previousAriaLabel),"aria-disabled":a},next:{icon:h.value?e.prevIcon:e.nextIcon,onClick:i=>g(i,t.value+1,"next"),disabled:l,"aria-label":c(e.nextAriaLabel),"aria-disabled":l},last:e.showFirstLastPage?{icon:h.value?e.firstIcon:e.lastIcon,onClick:i=>g(i,u.value+s.value-1,"last"),disabled:l,"aria-label":c(e.lastAriaLabel),"aria-disabled":l}:void 0}});function M(){var l;const a=t.value-u.value;(l=$.value[a])==null||l.$el.focus()}function O(a){a.key===q.left&&!e.disabled&&t.value>Number(e.start)?(t.value=t.value-1,K(M)):a.key===q.right&&!e.disabled&&t.valuef(e.tag,{ref:B,class:T(["v-pagination",I.value,e.class]),style:oe(e.style),role:"navigation","aria-label":c(e.ariaLabel),onKeydown:O,"data-test":"v-pagination-root"},{default:()=>[V("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&V("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[n.first?n.first(d.value.first):f(p,m({_as:"VPaginationBtn"},d.value.first),null)]),V("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[n.prev?n.prev(d.value.prev):f(p,m({_as:"VPaginationBtn"},d.value.prev),null)]),N.value.map((a,l)=>V("li",{key:a.key,class:T(["v-pagination__item",{"v-pagination__item--is-active":a.isActive}]),"data-test":"v-pagination-item"},[n.item?n.item(a):f(p,m({_as:"VPaginationBtn"},a.props),{default:()=>[a.page]})])),V("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[n.next?n.next(d.value.next):f(p,m({_as:"VPaginationBtn"},d.value.next),null)]),e.showFirstLastPage&&V("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[n.last?n.last(d.value.last):f(p,m({_as:"VPaginationBtn"},d.value.last),null)])])]})),{}}});export{_e as V,Ie as a}; diff --git a/assets/VPagination-CbPhc6Cb.js b/assets/VPagination-CbPhc6Cb.js new file mode 100644 index 0000000..a23108f --- /dev/null +++ b/assets/VPagination-CbPhc6Cb.js @@ -0,0 +1 @@ +import{V as z,m as J}from"./VCheckboxBtn-CylQNaxd.js";import{u as Q,a as D,d as Y}from"./VTextField-C579e7l1.js";import{g as W,ar as X,bm as Z,b as j,at as ee,c as f,E as m,au as ae,a2 as G,p as O,aA as E,cc as te,aq as le,b7 as ie,bo as ne,X as se,aI as T,cd as ue,i as V,y as p,d as q,n as re,az as oe,a3 as k,ce as K,aw as U,a_ as A,cf as ve,bj as ce,m as de,cg as fe,bk as ge,bq as be,aK as me,h as ye,bI as he,b4 as S,av as b}from"./index-BUM0TY0E.js";const Ve=O({...E(Y(),["direction"]),...E(J(),["inline"])},"VCheckbox"),Ie=W()({name:"VCheckbox",inheritAttrs:!1,props:Ve(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,x){let{attrs:n,slots:y}=x;const t=X(e,"modelValue"),{isFocused:c,focus:C,blur:h}=Q(e),I=G(),R=Z();return j(()=>{const[P,B]=ee(n),s=D.filterProps(e),u=z.filterProps(e);return f(D,m({ref:I,class:["v-checkbox",e.class]},P,s,{modelValue:t.value,"onUpdate:modelValue":r=>t.value=r,id:e.id||`checkbox-${R}`,focused:c.value,style:e.style}),{...y,default:r=>{let{id:_,messagesId:F,isDisabled:g,isReadonly:$,isValid:w}=r;return f(z,m(u,{id:_.value,"aria-describedby":F.value,disabled:g.value,readonly:$.value},B,{error:w.value===!1,modelValue:t.value,"onUpdate:modelValue":N=>t.value=N,onFocus:C,onBlur:h}),y)}})}),ae({},I)}});function ke(){const e=G([]);te(()=>e.value=[]);function x(n,y){e.value[y]=n}return{refs:e,updateRef:x}}const xe=O({activeColor:String,start:{type:[Number,String],default:1},modelValue:{type:Number,default:e=>e.start},disabled:Boolean,length:{type:[Number,String],default:1,validator:e=>e%1===0},totalVisible:[Number,String],firstIcon:{type:A,default:"$first"},prevIcon:{type:A,default:"$prev"},nextIcon:{type:A,default:"$next"},lastIcon:{type:A,default:"$last"},ariaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.root"},pageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.page"},currentPageAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.currentPage"},firstAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.first"},previousAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.previous"},nextAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.next"},lastAriaLabel:{type:String,default:"$vuetify.pagination.ariaLabel.last"},ellipsis:{type:String,default:"..."},showFirstLastPage:Boolean,...he(),...ye(),...me(),...be(),...ge(),...fe(),...de({tag:"nav"}),...ce(),...ve({variant:"text"})},"VPagination"),_e=W()({name:"VPagination",props:xe(),emits:{"update:modelValue":e=>!0,first:e=>!0,prev:e=>!0,next:e=>!0,last:e=>!0},setup(e,x){let{slots:n,emit:y}=x;const t=X(e,"modelValue"),{t:c,n:C}=le(),{isRtl:h}=ie(),{themeClasses:I}=ne(e),{width:R}=se(),P=oe(-1);T(void 0,{scoped:!0});const{resizeRef:B}=ue(a=>{if(!a.length)return;const{target:l,contentRect:i}=a[0],o=l.querySelector(".v-pagination__list > *");if(!o)return;const v=i.width,L=o.offsetWidth+parseFloat(getComputedStyle(o).marginRight)*2;P.value=_(v,L)}),s=k(()=>parseInt(e.length,10)),u=k(()=>parseInt(e.start,10)),r=k(()=>e.totalVisible!=null?parseInt(e.totalVisible,10):P.value>=0?P.value:_(R.value,58));function _(a,l){const i=e.showFirstLastPage?5:3;return Math.max(0,Math.floor(Number(((a-l*i)/l).toFixed(2))))}const F=k(()=>{if(s.value<=0||isNaN(s.value)||s.value>Number.MAX_SAFE_INTEGER)return[];if(r.value<=0)return[];if(r.value===1)return[t.value];if(s.value<=r.value)return S(s.value,u.value);const a=r.value%2===0,l=a?r.value/2:Math.floor(r.value/2),i=a?l:l+1,o=s.value-l;if(i-t.value>=0)return[...S(Math.max(1,r.value-1),u.value),e.ellipsis,s.value];if(t.value-o>=(a?1:0)){const v=r.value-1,L=s.value-v+u.value;return[u.value,e.ellipsis,...S(v,L)]}else{const v=Math.max(1,r.value-2),L=v===1?t.value:t.value-Math.ceil(v/2)+u.value;return[u.value,e.ellipsis,...S(v,L),e.ellipsis,s.value]}});function g(a,l,i){a.preventDefault(),t.value=l,i&&y(i,l)}const{refs:$,updateRef:w}=ke();T({VPaginationBtn:{color:b(()=>e.color),border:b(()=>e.border),density:b(()=>e.density),size:b(()=>e.size),variant:b(()=>e.variant),rounded:b(()=>e.rounded),elevation:b(()=>e.elevation)}});const N=k(()=>F.value.map((a,l)=>{const i=o=>w(o,l);if(typeof a=="string")return{isActive:!1,key:`ellipsis-${l}`,page:a,props:{ref:i,ellipsis:!0,icon:!0,disabled:!0}};{const o=a===t.value;return{isActive:o,key:a,page:C(a),props:{ref:i,ellipsis:!1,icon:!0,disabled:!!e.disabled||Number(e.length)<2,color:o?e.activeColor:e.color,"aria-current":o,"aria-label":c(o?e.currentPageAriaLabel:e.pageAriaLabel,a),onClick:v=>g(v,a)}}}})),d=k(()=>{const a=!!e.disabled||t.value<=u.value,l=!!e.disabled||t.value>=u.value+s.value-1;return{first:e.showFirstLastPage?{icon:h.value?e.lastIcon:e.firstIcon,onClick:i=>g(i,u.value,"first"),disabled:a,"aria-label":c(e.firstAriaLabel),"aria-disabled":a}:void 0,prev:{icon:h.value?e.nextIcon:e.prevIcon,onClick:i=>g(i,t.value-1,"prev"),disabled:a,"aria-label":c(e.previousAriaLabel),"aria-disabled":a},next:{icon:h.value?e.prevIcon:e.nextIcon,onClick:i=>g(i,t.value+1,"next"),disabled:l,"aria-label":c(e.nextAriaLabel),"aria-disabled":l},last:e.showFirstLastPage?{icon:h.value?e.firstIcon:e.lastIcon,onClick:i=>g(i,u.value+s.value-1,"last"),disabled:l,"aria-label":c(e.lastAriaLabel),"aria-disabled":l}:void 0}});function M(){var l;const a=t.value-u.value;(l=$.value[a])==null||l.$el.focus()}function H(a){a.key===K.left&&!e.disabled&&t.value>Number(e.start)?(t.value=t.value-1,U(M)):a.key===K.right&&!e.disabled&&t.valuef(e.tag,{ref:B,class:q(["v-pagination",I.value,e.class]),style:re(e.style),role:"navigation","aria-label":c(e.ariaLabel),onKeydown:H,"data-test":"v-pagination-root"},{default:()=>[V("ul",{class:"v-pagination__list"},[e.showFirstLastPage&&V("li",{key:"first",class:"v-pagination__first","data-test":"v-pagination-first"},[n.first?n.first(d.value.first):f(p,m({_as:"VPaginationBtn"},d.value.first),null)]),V("li",{key:"prev",class:"v-pagination__prev","data-test":"v-pagination-prev"},[n.prev?n.prev(d.value.prev):f(p,m({_as:"VPaginationBtn"},d.value.prev),null)]),N.value.map((a,l)=>V("li",{key:a.key,class:q(["v-pagination__item",{"v-pagination__item--is-active":a.isActive}]),"data-test":"v-pagination-item"},[n.item?n.item(a):f(p,m({_as:"VPaginationBtn"},a.props),{default:()=>[a.page]})])),V("li",{key:"next",class:"v-pagination__next","data-test":"v-pagination-next"},[n.next?n.next(d.value.next):f(p,m({_as:"VPaginationBtn"},d.value.next),null)]),e.showFirstLastPage&&V("li",{key:"last",class:"v-pagination__last","data-test":"v-pagination-last"},[n.last?n.last(d.value.last):f(p,m({_as:"VPaginationBtn"},d.value.last),null)])])]})),{}}});export{_e as V,Ie as a}; diff --git a/assets/VRow-D_zZfsym.js b/assets/VRow-CPw1R1BU.js similarity index 81% rename from assets/VRow-D_zZfsym.js rename to assets/VRow-CPw1R1BU.js index 44ed60e..8e1761b 100644 --- a/assets/VRow-D_zZfsym.js +++ b/assets/VRow-CPw1R1BU.js @@ -1 +1 @@ -import{g as C,p as S,cw as b,a1 as k,m as N,h as j,cx as i,b_ as u}from"./index-Ck0Pnd4f.js";const V=i.reduce((e,a)=>(e[a]={type:[Boolean,String,Number],default:!1},e),{}),v=i.reduce((e,a)=>{const t="offset"+u(a);return e[t]={type:[String,Number],default:null},e},{}),L=i.reduce((e,a)=>{const t="order"+u(a);return e[t]={type:[String,Number],default:null},e},{}),y={col:Object.keys(V),offset:Object.keys(v),order:Object.keys(L)};function _(e,a,t){let s=e;if(!(t==null||t===!1)){if(a){const n=a.replace(e,"");s+=`-${n}`}return e==="col"&&(s="v-"+s),e==="col"&&(t===""||t===!0)||(s+=`-${t}`),s.toLowerCase()}}const G=["auto","start","end","center","baseline","stretch"],I=S({cols:{type:[Boolean,String,Number],default:!1},...V,offset:{type:[String,Number],default:null},...v,order:{type:[String,Number],default:null},...L,alignSelf:{type:String,default:null,validator:e=>G.includes(e)},...j(),...N()},"VCol"),K=C()({name:"VCol",props:I(),setup(e,a){let{slots:t}=a;const s=k(()=>{const n=[];let l;for(l in y)y[l].forEach(o=>{const c=e[o],g=_(l,o,c);g&&n.push(g)});const r=n.some(o=>o.startsWith("v-col-"));return n.push({"v-col":!r||!e.cols,[`v-col-${e.cols}`]:e.cols,[`offset-${e.offset}`]:e.offset,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),n});return()=>{var n;return b(e.tag,{class:[s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}}),f=["start","end","center"],h=["space-between","space-around","space-evenly"];function d(e,a){return i.reduce((t,s)=>{const n=e+u(s);return t[n]=a(),t},{})}const R=[...f,"baseline","stretch"],w=e=>R.includes(e),$=d("align",()=>({type:String,default:null,validator:w})),T=[...f,...h],P=e=>T.includes(e),E=d("justify",()=>({type:String,default:null,validator:P})),U=[...f,...h,"stretch"],A=e=>U.includes(e),O=d("alignContent",()=>({type:String,default:null,validator:A})),m={align:Object.keys($),justify:Object.keys(E),alignContent:Object.keys(O)},B={align:"align",justify:"justify",alignContent:"align-content"};function M(e,a,t){let s=B[e];if(t!=null){if(a){const n=a.replace(e,"");s+=`-${n}`}return s+=`-${t}`,s.toLowerCase()}}const x=S({dense:Boolean,noGutters:Boolean,align:{type:String,default:null,validator:w},...$,justify:{type:String,default:null,validator:P},...E,alignContent:{type:String,default:null,validator:A},...O,...j(),...N()},"VRow"),z=C()({name:"VRow",props:x(),setup(e,a){let{slots:t}=a;const s=k(()=>{const n=[];let l;for(l in m)m[l].forEach(r=>{const o=e[r],c=M(l,r,o);c&&n.push(c)});return n.push({"v-row--no-gutters":e.noGutters,"v-row--dense":e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),n});return()=>{var n;return b(e.tag,{class:["v-row",s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}});export{z as V,K as a}; +import{g as C,cw as S,a3 as b,p as k,m as N,h as j,cx as i,b_ as u}from"./index-BUM0TY0E.js";const V=i.reduce((e,a)=>(e[a]={type:[Boolean,String,Number],default:!1},e),{}),v=i.reduce((e,a)=>{const t="offset"+u(a);return e[t]={type:[String,Number],default:null},e},{}),L=i.reduce((e,a)=>{const t="order"+u(a);return e[t]={type:[String,Number],default:null},e},{}),y={col:Object.keys(V),offset:Object.keys(v),order:Object.keys(L)};function _(e,a,t){let s=e;if(!(t==null||t===!1)){if(a){const n=a.replace(e,"");s+=`-${n}`}return e==="col"&&(s="v-"+s),e==="col"&&(t===""||t===!0)||(s+=`-${t}`),s.toLowerCase()}}const G=["auto","start","end","center","baseline","stretch"],I=k({cols:{type:[Boolean,String,Number],default:!1},...V,offset:{type:[String,Number],default:null},...v,order:{type:[String,Number],default:null},...L,alignSelf:{type:String,default:null,validator:e=>G.includes(e)},...j(),...N()},"VCol"),K=C()({name:"VCol",props:I(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in y)y[l].forEach(o=>{const c=e[o],g=_(l,o,c);g&&n.push(g)});const r=n.some(o=>o.startsWith("v-col-"));return n.push({"v-col":!r||!e.cols,[`v-col-${e.cols}`]:e.cols,[`offset-${e.offset}`]:e.offset,[`order-${e.order}`]:e.order,[`align-self-${e.alignSelf}`]:e.alignSelf}),n});return()=>{var n;return S(e.tag,{class:[s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}}),f=["start","end","center"],h=["space-between","space-around","space-evenly"];function d(e,a){return i.reduce((t,s)=>{const n=e+u(s);return t[n]=a(),t},{})}const R=[...f,"baseline","stretch"],w=e=>R.includes(e),$=d("align",()=>({type:String,default:null,validator:w})),T=[...f,...h],P=e=>T.includes(e),E=d("justify",()=>({type:String,default:null,validator:P})),U=[...f,...h,"stretch"],A=e=>U.includes(e),O=d("alignContent",()=>({type:String,default:null,validator:A})),m={align:Object.keys($),justify:Object.keys(E),alignContent:Object.keys(O)},B={align:"align",justify:"justify",alignContent:"align-content"};function M(e,a,t){let s=B[e];if(t!=null){if(a){const n=a.replace(e,"");s+=`-${n}`}return s+=`-${t}`,s.toLowerCase()}}const x=k({dense:Boolean,noGutters:Boolean,align:{type:String,default:null,validator:w},...$,justify:{type:String,default:null,validator:P},...E,alignContent:{type:String,default:null,validator:A},...O,...j(),...N()},"VRow"),z=C()({name:"VRow",props:x(),setup(e,a){let{slots:t}=a;const s=b(()=>{const n=[];let l;for(l in m)m[l].forEach(r=>{const o=e[r],c=M(l,r,o);c&&n.push(c)});return n.push({"v-row--no-gutters":e.noGutters,"v-row--dense":e.dense,[`align-${e.align}`]:e.align,[`justify-${e.justify}`]:e.justify,[`align-content-${e.alignContent}`]:e.alignContent}),n});return()=>{var n;return S(e.tag,{class:["v-row",s.value,e.class],style:e.style},(n=t.default)==null?void 0:n.call(t))}}});export{z as V,K as a}; diff --git a/assets/VSheet-CuIjBtz7.js b/assets/VSheet-CuIjBtz7.js new file mode 100644 index 0000000..5b7aa37 --- /dev/null +++ b/assets/VSheet-CuIjBtz7.js @@ -0,0 +1 @@ +import{g as d,bo as b,aC as k,bz as v,bg as C,ch as P,be as h,b as g,c as S,n as y,d as V,e as p,bp as z,p as B,bj as R,m as T,bk as f,ci as D,bl as E,bq as L,f as j,h as q,bI as x}from"./index-BUM0TY0E.js";const F=B({color:String,...x(),...q(),...j(),...L(),...E(),...D(),...f(),...T(),...R()},"VSheet"),N=d()({name:"VSheet",props:F(),setup(e,s){let{slots:a}=s;const{themeClasses:o}=b(e),{backgroundColorClasses:n,backgroundColorStyles:t}=k(()=>e.color),{borderClasses:l}=v(e),{dimensionStyles:r}=p(e),{elevationClasses:c}=z(e),{locationStyles:i}=C(e),{positionClasses:m}=P(e),{roundedClasses:u}=h(e);return g(()=>S(e.tag,{class:V(["v-sheet",o.value,n.value,l.value,c.value,m.value,u.value,e.class]),style:y([t.value,r.value,i.value,e.style])},a)),{}}});export{N as V,F as m}; diff --git a/assets/VSheet-DJg5eIit.js b/assets/VSheet-DJg5eIit.js deleted file mode 100644 index 4ce2b6d..0000000 --- a/assets/VSheet-DJg5eIit.js +++ /dev/null @@ -1 +0,0 @@ -import{g as d,p as b,bo as k,aB as v,bz as C,bg as P,ch as h,be as g,b as S,c as y,n as V,d as B,e as p,bp as z,bj as R,m as T,bk as f,ci as D,bl as E,bq as F,f as L,h as j,bF as q}from"./index-Ck0Pnd4f.js";const x=b({color:String,...q(),...j(),...L(),...F(),...E(),...D(),...f(),...T(),...R()},"VSheet"),w=d()({name:"VSheet",props:x(),setup(e,s){let{slots:a}=s;const{themeClasses:o}=k(e),{backgroundColorClasses:n,backgroundColorStyles:t}=v(()=>e.color),{borderClasses:l}=C(e),{dimensionStyles:r}=p(e),{elevationClasses:c}=z(e),{locationStyles:i}=P(e),{positionClasses:m}=h(e),{roundedClasses:u}=g(e);return S(()=>y(e.tag,{class:B(["v-sheet",o.value,n.value,l.value,c.value,m.value,u.value,e.class]),style:V([t.value,r.value,i.value,e.style])},a)),{}}});export{w as V,x as m}; diff --git a/assets/VSkeletonLoader-LZ55LBTh.js b/assets/VSkeletonLoader-DX2FpkIS.js similarity index 73% rename from assets/VSkeletonLoader-LZ55LBTh.js rename to assets/VSkeletonLoader-DX2FpkIS.js index 0874c60..963b3f2 100644 --- a/assets/VSkeletonLoader-LZ55LBTh.js +++ b/assets/VSkeletonLoader-DX2FpkIS.js @@ -1 +1 @@ -import{g as f,p as k,aB as x,bo as y,aq as S,b as B,i as r,a1 as C,E as L,e as w,bp as P,F as V,bj as T,bq as A,f as _,as as E,d as F}from"./index-Ck0Pnd4f.js";const j={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function q(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return r("div",{class:F(["v-skeleton-loader__bone",`v-skeleton-loader__${e}`])},[a])}function l(e){const[a,t]=e.split("@");return Array.from({length:t}).map(()=>i(a))}function i(e){let a=[];if(!e)return a;const t=j[e];if(e!==t){if(e.includes(","))return d(e);if(e.includes("@"))return l(e);t.includes(",")?a=d(t):t.includes("@")?a=l(t):t&&a.push(i(t))}return[q(e,a)]}function d(e){return e.replace(/\s/g,"").split(",").map(i)}const D=k({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},..._(),...A(),...T()},"VSkeletonLoader"),z=f()({name:"VSkeletonLoader",inheritAttrs:!1,props:D(),setup(e,a){let{attrs:t,slots:n}=a;const{backgroundColorClasses:c,backgroundColorStyles:u}=x(()=>e.color),{dimensionStyles:g}=w(e),{elevationClasses:m}=P(e),{themeClasses:v}=y(e),{t:b}=S(),p=C(()=>i(E(e.type).join(",")));return B(()=>{var s;const o=!n.default||e.loading,h=e.boilerplate||!o?{}:{ariaLive:"polite",ariaLabel:b(e.loadingText),role:"alert"};return o?r("div",L({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":e.boilerplate},v.value,c.value,m.value],style:[u.value,g.value]},h,t),[p.value]):r(V,null,[(s=n.default)==null?void 0:s.call(n)])}),{}}});export{z as V}; +import{g as f,aC as k,bo as x,aq as y,b as S,i as r,E as C,F as L,a3 as w,as as B,e as P,bp as V,p as T,bj as A,bq as _,f as E,d as F}from"./index-BUM0TY0E.js";const j={actions:"button@2",article:"heading, paragraph",avatar:"avatar",button:"button",card:"image, heading","card-avatar":"image, list-item-avatar",chip:"chip","date-picker":"list-item, heading, divider, date-picker-options, date-picker-days, actions","date-picker-options":"text, avatar@2","date-picker-days":"avatar@28",divider:"divider",heading:"heading",image:"image","list-item":"text","list-item-avatar":"avatar, text","list-item-two-line":"sentences","list-item-avatar-two-line":"avatar, sentences","list-item-three-line":"paragraph","list-item-avatar-three-line":"avatar, paragraph",ossein:"ossein",paragraph:"text@3",sentences:"text@2",subtitle:"text",table:"table-heading, table-thead, table-tbody, table-tfoot","table-heading":"chip, text","table-thead":"heading@6","table-tbody":"table-row-divider@6","table-row-divider":"table-row, divider","table-row":"text@6","table-tfoot":"text@2, avatar@2",text:"text"};function q(e){let a=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return r("div",{class:F(["v-skeleton-loader__bone",`v-skeleton-loader__${e}`])},[a])}function l(e){const[a,t]=e.split("@");return Array.from({length:t}).map(()=>i(a))}function i(e){let a=[];if(!e)return a;const t=j[e];if(e!==t){if(e.includes(","))return d(e);if(e.includes("@"))return l(e);t.includes(",")?a=d(t):t.includes("@")?a=l(t):t&&a.push(i(t))}return[q(e,a)]}function d(e){return e.replace(/\s/g,"").split(",").map(i)}const D=T({boilerplate:Boolean,color:String,loading:Boolean,loadingText:{type:String,default:"$vuetify.loading"},type:{type:[String,Array],default:"ossein"},...E(),..._(),...A()},"VSkeletonLoader"),z=f()({name:"VSkeletonLoader",inheritAttrs:!1,props:D(),setup(e,a){let{attrs:t,slots:n}=a;const{backgroundColorClasses:c,backgroundColorStyles:u}=k(()=>e.color),{dimensionStyles:g}=P(e),{elevationClasses:m}=V(e),{themeClasses:v}=x(e),{t:b}=y(),p=w(()=>i(B(e.type).join(",")));return S(()=>{var s;const o=!n.default||e.loading,h=e.boilerplate||!o?{}:{ariaLive:"polite",ariaLabel:b(e.loadingText),role:"alert"};return o?r("div",C({class:["v-skeleton-loader",{"v-skeleton-loader--boilerplate":e.boilerplate},v.value,c.value,m.value],style:[u.value,g.value]},h,t),[p.value]):r(L,null,[(s=n.default)==null?void 0:s.call(n)])}),{}}});export{z as V}; diff --git a/assets/VSwitch-B-2xPqHI.js b/assets/VSwitch-CjVC2rsZ.js similarity index 62% rename from assets/VSwitch-B-2xPqHI.js rename to assets/VSwitch-CjVC2rsZ.js index ddb3c6d..9e62d1a 100644 --- a/assets/VSwitch-B-2xPqHI.js +++ b/assets/VSwitch-CjVC2rsZ.js @@ -1 +1 @@ -import{p as z,bj as ie,aK as se,h as X,aY as re,a_ as W,g as H,ar as R,bm as q,aI as ce,au as n,b as K,i as r,n as G,d as T,bT as de,ba as ve,S as Y,a0 as $,at as p,E as U,c as b,I as fe,F as ee,v as le,av as Z,bO as me,aG as ye,aA as be,aB as Ce,a1 as F,ax as Ve,aZ as ge,as as O,c3 as ke,cy as Se,aW as he,cz as we,c4 as Ie,aa as Pe,aw as Ae}from"./index-Ck0Pnd4f.js";import{k as _e,u as Be,a as J,d as xe}from"./VTextField-C6VOv1Py.js";const ae=Symbol.for("vuetify:selection-control-group"),te=z({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:W,trueIcon:W,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:re},...X(),...se(),...ie()},"SelectionControlGroup"),Fe=z({...te({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");H()({name:"VSelectionControlGroup",props:Fe(),emits:{"update:modelValue":e=>!0},setup(e,i){let{slots:f}=i;const l=R(e,"modelValue"),a=q(),u=n(()=>e.id||`v-selection-control-group-${a}`),c=n(()=>e.name||u.value),t=new Set;return de(ae,{modelValue:l,forceUpdate:()=>{t.forEach(o=>o())},onForceUpdate:o=>{t.add(o),ve(()=>{t.delete(o)})}}),ce({[e.defaultsTarget]:{color:n(()=>e.color),disabled:n(()=>e.disabled),density:n(()=>e.density),error:n(()=>e.error),inline:n(()=>e.inline),modelValue:l,multiple:n(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:c,falseIcon:n(()=>e.falseIcon),trueIcon:n(()=>e.trueIcon),readonly:n(()=>e.readonly),ripple:n(()=>e.ripple),type:n(()=>e.type),valueComparator:n(()=>e.valueComparator)}}),K(()=>{var o;return r("div",{class:T(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:G(e.style),role:e.type==="radio"?"radiogroup":void 0},[(o=f.default)==null?void 0:o.call(f)])}),{}}});const ne=z({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...X(),...te()},"VSelectionControl");function Te(e){const i=me(ae,void 0),{densityClasses:f}=ye(e),l=R(e,"modelValue"),a=F(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),u=F(()=>e.falseValue!==void 0?e.falseValue:!1),c=F(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),t=F({get(){const m=i?i.modelValue.value:l.value;return c.value?O(m).some(s=>e.valueComparator(s,a.value)):e.valueComparator(m,a.value)},set(m){if(e.readonly)return;const s=m?a.value:u.value;let y=s;c.value&&(y=m?[...O(l.value),s]:O(l.value).filter(d=>!e.valueComparator(d,a.value))),i?i.modelValue.value=y:l.value=y}}),{textColorClasses:o,textColorStyles:w}=be(()=>{if(!(e.error||e.disabled))return t.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:g}=Ce(()=>t.value&&!e.error&&!e.disabled?e.color:e.baseColor),I=F(()=>t.value?e.trueIcon:e.falseIcon);return{group:i,densityClasses:f,trueValue:a,falseValue:u,model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:V,backgroundColorStyles:g,icon:I}}const Q=H()({name:"VSelectionControl",directives:{vRipple:Y},inheritAttrs:!1,props:ne(),emits:{"update:modelValue":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const{group:a,densityClasses:u,icon:c,model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:V,backgroundColorStyles:g,trueValue:I}=Te(e),m=q(),s=Z(!1),y=Z(!1),d=$(),P=n(()=>e.id||`input-${m}`),k=n(()=>!e.disabled&&!e.readonly);a==null||a.onForceUpdate(()=>{d.value&&(d.value.checked=t.value)});function S(v){k.value&&(s.value=!0,ge(v.target,":focus-visible")!==!1&&(y.value=!0))}function h(){s.value=!1,y.value=!1}function M(v){v.stopPropagation()}function _(v){if(!k.value){d.value&&(d.value.checked=t.value);return}e.readonly&&a&&Ve(()=>a.forceUpdate()),t.value=v.target.checked}return K(()=>{var B,A;const v=l.label?l.label({label:e.label,props:{for:P.value}}):e.label,[E,L]=p(f),D=r("input",U({ref:d,checked:t.value,disabled:!!e.disabled,id:P.value,onBlur:h,onFocus:S,onInput:_,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:I.value,name:e.name,"aria-checked":e.type==="checkbox"?t.value:void 0},L),null);return r("div",U({class:["v-selection-control",{"v-selection-control--dirty":t.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":s.value,"v-selection-control--focus-visible":y.value,"v-selection-control--inline":e.inline},u.value,e.class]},E,{style:e.style}),[r("div",{class:T(["v-selection-control__wrapper",o.value]),style:G(w.value)},[(B=l.default)==null?void 0:B.call(l,{backgroundColorClasses:V,backgroundColorStyles:g}),fe(r("div",{class:T(["v-selection-control__input"])},[((A=l.input)==null?void 0:A.call(l,{model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:V,backgroundColorStyles:g,inputNode:D,icon:c.value,props:{onFocus:S,onBlur:h,id:P.value}}))??r(ee,null,[c.value&&b(le,{key:"icon",icon:c.value},null),D])]),[[Y,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),v&&b(_e,{for:P.value,onClick:M},{default:()=>[v]})])}),{isFocused:s,input:d}}}),De=z({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...xe(),...ne()},"VSwitch"),Ue=H()({name:"VSwitch",inheritAttrs:!1,props:De(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const a=R(e,"indeterminate"),u=R(e,"modelValue"),{loaderClasses:c}=ke(e),{isFocused:t,focus:o,blur:w}=Be(e),V=$(),g=$(),I=Se&&window.matchMedia("(forced-colors: active)").matches,m=n(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),s=q(),y=n(()=>e.id||`switch-${s}`);function d(){a.value&&(a.value=!1)}function P(k){var S,h;k.stopPropagation(),k.preventDefault(),(h=(S=V.value)==null?void 0:S.input)==null||h.click()}return K(()=>{const[k,S]=p(f),h=J.filterProps(e),M=Q.filterProps(e);return b(J,U({ref:g,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":a.value},c.value,e.class]},k,h,{modelValue:u.value,"onUpdate:modelValue":_=>u.value=_,id:y.value,focused:t.value,style:e.style}),{...l,default:_=>{let{id:v,messagesId:E,isDisabled:L,isReadonly:D,isValid:B}=_;const A={model:u,isValid:B};return b(Q,U({ref:V},M,{modelValue:u.value,"onUpdate:modelValue":[x=>u.value=x,d],id:v.value,"aria-describedby":E.value,type:"checkbox","aria-checked":a.value?"mixed":void 0,disabled:L.value,readonly:D.value,onFocus:o,onBlur:w},S),{...l,default:x=>{let{backgroundColorClasses:N,backgroundColorStyles:C}=x;return r("div",{class:T(["v-switch__track",I?void 0:N.value]),style:G(C.value),onClick:P},[l["track-true"]&&r("div",{key:"prepend",class:"v-switch__track-true"},[l["track-true"](A)]),l["track-false"]&&r("div",{key:"append",class:"v-switch__track-false"},[l["track-false"](A)])])},input:x=>{let{inputNode:N,icon:C,backgroundColorClasses:oe,backgroundColorStyles:ue}=x;return r(ee,null,[N,r("div",{class:T(["v-switch__thumb",{"v-switch__thumb--filled":C||e.loading},e.inset||I?void 0:oe.value]),style:G(e.inset?void 0:ue.value)},[l.thumb?b(he,{defaults:{VIcon:{icon:C,size:"x-small"}}},{default:()=>[l.thumb({...A,icon:C})]}):b(we,null,{default:()=>[e.loading?b(Ie,{name:"v-switch",active:!0,color:B.value===!1?void 0:m.value},{default:j=>l.loader?l.loader(j):b(Pe,{active:j.isActive,color:j.color,indeterminate:!0,size:"16",width:"2"},null)}):C&&b(le,{key:String(C),icon:C,size:"x-small"},null)]})])])}})}})}),Ae({},g)}});export{Ue as V,Q as a,ne as m}; +import{p as U,aY as ie,a_ as W,bj as se,aK as re,h as X,g as H,ar as R,bm as q,aI as ce,av as n,b as K,i as r,n as z,d as T,bT as de,ba as ve,S as Y,at as p,E as G,I as fe,F as ee,c as b,t as le,bO as me,aG as ye,aB as be,aC as Ce,a2 as $,aw as Ve,aZ as ge,az as Z,a3 as x,as as O,c3 as ke,cy as Se,aW as he,cz as we,c4 as Ie,aa as Pe,au as _e}from"./index-BUM0TY0E.js";import{k as Ae,u as Be,a as J,d as Fe}from"./VTextField-C579e7l1.js";const ae=Symbol.for("vuetify:selection-control-group"),te=U({color:String,disabled:{type:Boolean,default:null},defaultsTarget:String,error:Boolean,id:String,inline:Boolean,falseIcon:W,trueIcon:W,ripple:{type:[Boolean,Object],default:!0},multiple:{type:Boolean,default:null},name:String,readonly:{type:Boolean,default:null},modelValue:null,type:String,valueComparator:{type:Function,default:ie},...X(),...re(),...se()},"SelectionControlGroup"),xe=U({...te({defaultsTarget:"VSelectionControl"})},"VSelectionControlGroup");H()({name:"VSelectionControlGroup",props:xe(),emits:{"update:modelValue":e=>!0},setup(e,i){let{slots:f}=i;const l=R(e,"modelValue"),a=q(),u=n(()=>e.id||`v-selection-control-group-${a}`),c=n(()=>e.name||u.value),t=new Set;return de(ae,{modelValue:l,forceUpdate:()=>{t.forEach(o=>o())},onForceUpdate:o=>{t.add(o),ve(()=>{t.delete(o)})}}),ce({[e.defaultsTarget]:{color:n(()=>e.color),disabled:n(()=>e.disabled),density:n(()=>e.density),error:n(()=>e.error),inline:n(()=>e.inline),modelValue:l,multiple:n(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),name:c,falseIcon:n(()=>e.falseIcon),trueIcon:n(()=>e.trueIcon),readonly:n(()=>e.readonly),ripple:n(()=>e.ripple),type:n(()=>e.type),valueComparator:n(()=>e.valueComparator)}}),K(()=>{var o;return r("div",{class:T(["v-selection-control-group",{"v-selection-control-group--inline":e.inline},e.class]),style:z(e.style),role:e.type==="radio"?"radiogroup":void 0},[(o=f.default)==null?void 0:o.call(f)])}),{}}});const ne=U({label:String,baseColor:String,trueValue:null,falseValue:null,value:null,...X(),...te()},"VSelectionControl");function Te(e){const i=me(ae,void 0),{densityClasses:f}=ye(e),l=R(e,"modelValue"),a=x(()=>e.trueValue!==void 0?e.trueValue:e.value!==void 0?e.value:!0),u=x(()=>e.falseValue!==void 0?e.falseValue:!1),c=x(()=>!!e.multiple||e.multiple==null&&Array.isArray(l.value)),t=x({get(){const m=i?i.modelValue.value:l.value;return c.value?O(m).some(s=>e.valueComparator(s,a.value)):e.valueComparator(m,a.value)},set(m){if(e.readonly)return;const s=m?a.value:u.value;let y=s;c.value&&(y=m?[...O(l.value),s]:O(l.value).filter(d=>!e.valueComparator(d,a.value))),i?i.modelValue.value=y:l.value=y}}),{textColorClasses:o,textColorStyles:w}=be(()=>{if(!(e.error||e.disabled))return t.value?e.color:e.baseColor}),{backgroundColorClasses:V,backgroundColorStyles:g}=Ce(()=>t.value&&!e.error&&!e.disabled?e.color:e.baseColor),I=x(()=>t.value?e.trueIcon:e.falseIcon);return{group:i,densityClasses:f,trueValue:a,falseValue:u,model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:V,backgroundColorStyles:g,icon:I}}const Q=H()({name:"VSelectionControl",directives:{vRipple:Y},inheritAttrs:!1,props:ne(),emits:{"update:modelValue":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const{group:a,densityClasses:u,icon:c,model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:V,backgroundColorStyles:g,trueValue:I}=Te(e),m=q(),s=Z(!1),y=Z(!1),d=$(),P=n(()=>e.id||`input-${m}`),k=n(()=>!e.disabled&&!e.readonly);a==null||a.onForceUpdate(()=>{d.value&&(d.value.checked=t.value)});function S(v){k.value&&(s.value=!0,ge(v.target,":focus-visible")!==!1&&(y.value=!0))}function h(){s.value=!1,y.value=!1}function M(v){v.stopPropagation()}function A(v){if(!k.value){d.value&&(d.value.checked=t.value);return}e.readonly&&a&&Ve(()=>a.forceUpdate()),t.value=v.target.checked}return K(()=>{var B,_;const v=l.label?l.label({label:e.label,props:{for:P.value}}):e.label,[E,L]=p(f),D=r("input",G({ref:d,checked:t.value,disabled:!!e.disabled,id:P.value,onBlur:h,onFocus:S,onInput:A,"aria-disabled":!!e.disabled,"aria-label":e.label,type:e.type,value:I.value,name:e.name,"aria-checked":e.type==="checkbox"?t.value:void 0},L),null);return r("div",G({class:["v-selection-control",{"v-selection-control--dirty":t.value,"v-selection-control--disabled":e.disabled,"v-selection-control--error":e.error,"v-selection-control--focused":s.value,"v-selection-control--focus-visible":y.value,"v-selection-control--inline":e.inline},u.value,e.class]},E,{style:e.style}),[r("div",{class:T(["v-selection-control__wrapper",o.value]),style:z(w.value)},[(B=l.default)==null?void 0:B.call(l,{backgroundColorClasses:V,backgroundColorStyles:g}),fe(r("div",{class:T(["v-selection-control__input"])},[((_=l.input)==null?void 0:_.call(l,{model:t,textColorClasses:o,textColorStyles:w,backgroundColorClasses:V,backgroundColorStyles:g,inputNode:D,icon:c.value,props:{onFocus:S,onBlur:h,id:P.value}}))??r(ee,null,[c.value&&b(le,{key:"icon",icon:c.value},null),D])]),[[Y,!e.disabled&&!e.readonly&&e.ripple,null,{center:!0,circle:!0}]])]),v&&b(Ae,{for:P.value,onClick:M},{default:()=>[v]})])}),{isFocused:s,input:d}}}),De=U({indeterminate:Boolean,inset:Boolean,flat:Boolean,loading:{type:[Boolean,String],default:!1},...Fe(),...ne()},"VSwitch"),Ge=H()({name:"VSwitch",inheritAttrs:!1,props:De(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,i){let{attrs:f,slots:l}=i;const a=R(e,"indeterminate"),u=R(e,"modelValue"),{loaderClasses:c}=ke(e),{isFocused:t,focus:o,blur:w}=Be(e),V=$(),g=$(),I=Se&&window.matchMedia("(forced-colors: active)").matches,m=n(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),s=q(),y=n(()=>e.id||`switch-${s}`);function d(){a.value&&(a.value=!1)}function P(k){var S,h;k.stopPropagation(),k.preventDefault(),(h=(S=V.value)==null?void 0:S.input)==null||h.click()}return K(()=>{const[k,S]=p(f),h=J.filterProps(e),M=Q.filterProps(e);return b(J,G({ref:g,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":e.inset},{"v-switch--indeterminate":a.value},c.value,e.class]},k,h,{modelValue:u.value,"onUpdate:modelValue":A=>u.value=A,id:y.value,focused:t.value,style:e.style}),{...l,default:A=>{let{id:v,messagesId:E,isDisabled:L,isReadonly:D,isValid:B}=A;const _={model:u,isValid:B};return b(Q,G({ref:V},M,{modelValue:u.value,"onUpdate:modelValue":[F=>u.value=F,d],id:v.value,"aria-describedby":E.value,type:"checkbox","aria-checked":a.value?"mixed":void 0,disabled:L.value,readonly:D.value,onFocus:o,onBlur:w},S),{...l,default:F=>{let{backgroundColorClasses:N,backgroundColorStyles:C}=F;return r("div",{class:T(["v-switch__track",I?void 0:N.value]),style:z(C.value),onClick:P},[l["track-true"]&&r("div",{key:"prepend",class:"v-switch__track-true"},[l["track-true"](_)]),l["track-false"]&&r("div",{key:"append",class:"v-switch__track-false"},[l["track-false"](_)])])},input:F=>{let{inputNode:N,icon:C,backgroundColorClasses:oe,backgroundColorStyles:ue}=F;return r(ee,null,[N,r("div",{class:T(["v-switch__thumb",{"v-switch__thumb--filled":C||e.loading},e.inset||I?void 0:oe.value]),style:z(e.inset?void 0:ue.value)},[l.thumb?b(he,{defaults:{VIcon:{icon:C,size:"x-small"}}},{default:()=>[l.thumb({..._,icon:C})]}):b(we,null,{default:()=>[e.loading?b(Ie,{name:"v-switch",active:!0,color:B.value===!1?void 0:m.value},{default:j=>l.loader?l.loader(j):b(Pe,{active:j.isActive,color:j.color,indeterminate:!0,size:"16",width:"2"},null)}):C&&b(le,{key:String(C),icon:C,size:"x-small"},null)]})])])}})}})}),_e({},g)}});export{Ge as V,Q as a,ne as m}; diff --git a/assets/VTabsWindowItem-DSJn6eyk.js b/assets/VTabsWindowItem-DtW2SDNN.js similarity index 82% rename from assets/VTabsWindowItem-DSJn6eyk.js rename to assets/VTabsWindowItem-DtW2SDNN.js index ac3cc53..62c1ec1 100644 --- a/assets/VTabsWindowItem-DSJn6eyk.js +++ b/assets/VTabsWindowItem-DtW2SDNN.js @@ -1 +1 @@ -import{bW as Rt,ay as At,bX as Me,p as _,ar as K,ae as ce,a1 as p,bY as je,bc as ye,bO as Y,bT as z,g as A,aq as te,b as W,i as w,c as T,E as O,aC as fe,a_ as N,bZ as Ht,aJ as E,d as j,b3 as $t,b_ as Nt,a0 as M,b$ as Wt,as as ae,c0 as Lt,aY as Ye,av as se,au as B,c1 as ue,c2 as ne,aM as Gt,c3 as Mt,aB as jt,X as ke,c4 as Yt,F as Q,c5 as Xt,bE as Ie,aK as ve,v as Ee,n as me,c6 as Kt,y as ie,t as Fe,c7 as le,O as oe,C as zt,b0 as xe,aL as Se,bo as Xe,aG as qt,bj as Ke,m as ze,h as Te,c8 as re,c9 as Ut,aI as Jt,K as Qt,b7 as Zt,bU as ea,aS as Oe,ca as ta,ax as qe,I as Ue,cb as aa,bR as na,a as la,bP as oa,J as ra,a$ as sa,bQ as ua,bS as ia}from"./index-Ck0Pnd4f.js";import{V as Re}from"./VPagination-CAsEj5TO.js";import{e as Je,u as da,d as ca}from"./filter-BOxM3LRL.js";import{V as fa}from"./VChip-C4TXrZae.js";import{V as de}from"./VCheckboxBtn-DWqkYNT7.js";function Ae(e,n,a){return Object.keys(e).filter(t=>Rt(t)&&t.endsWith(n)).reduce((t,l)=>(t[l.slice(0,-n.length)]=r=>At(e[l],r,a(r)),t),{})}const va=e=>{const{touchstartX:n,touchendX:a,touchstartY:t,touchendY:l}=e,r=.5,o=16;e.offsetX=a-n,e.offsetY=l-t,Math.abs(e.offsetY)n+o&&e.right(e)),Math.abs(e.offsetX)t+o&&e.down(e))};function ma(e,n){var t;const a=e.changedTouches[0];n.touchstartX=a.clientX,n.touchstartY=a.clientY,(t=n.start)==null||t.call(n,{originalEvent:e,...n})}function ga(e,n){var t;const a=e.changedTouches[0];n.touchendX=a.clientX,n.touchendY=a.clientY,(t=n.end)==null||t.call(n,{originalEvent:e,...n}),va(n)}function ha(e,n){var t;const a=e.changedTouches[0];n.touchmoveX=a.clientX,n.touchmoveY=a.clientY,(t=n.move)==null||t.call(n,{originalEvent:e,...n})}function ba(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:a=>ma(a,n),touchend:a=>ga(a,n),touchmove:a=>ha(a,n)}}function ya(e,n){var s;const a=n.value,t=a!=null&&a.parent?e.parentElement:e,l=(a==null?void 0:a.options)??{passive:!0},r=(s=n.instance)==null?void 0:s.$.uid;if(!t||r===void 0)return;const o=ba(n.value);t._touchHandlers=t._touchHandlers??Object.create(null),t._touchHandlers[r]=o,Me(o).forEach(u=>{t.addEventListener(u,o[u],l)})}function xa(e,n){var r,o;const a=(r=n.value)!=null&&r.parent?e.parentElement:e,t=(o=n.instance)==null?void 0:o.$.uid;if(!(a!=null&&a._touchHandlers)||t===void 0)return;const l=a._touchHandlers[t];Me(l).forEach(s=>{a.removeEventListener(s,l[s])}),delete a._touchHandlers[t]}const we={mounted:ya,unmounted:xa},Sa=_({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),Qe=Symbol.for("vuetify:data-table-pagination");function wa(e){const n=K(e,"page",void 0,t=>Number(t??1)),a=K(e,"itemsPerPage",void 0,t=>Number(t??10));return{page:n,itemsPerPage:a}}function Pa(e){const{page:n,itemsPerPage:a,itemsLength:t}=e,l=p(()=>a.value===-1?0:a.value*(n.value-1)),r=p(()=>a.value===-1?t.value:Math.min(t.value,l.value+a.value)),o=p(()=>a.value===-1||t.value===0?1:Math.ceil(t.value/a.value));ce([n,o],()=>{n.value>o.value&&(n.value=o.value)});function s(v){a.value=v,n.value=1}function u(){n.value=ye(n.value+1,1,o.value)}function d(){n.value=ye(n.value-1,1,o.value)}function c(v){n.value=ye(v,1,o.value)}const m={page:n,itemsPerPage:a,startIndex:l,stopIndex:r,pageCount:o,itemsLength:t,nextPage:u,prevPage:d,setPage:c,setItemsPerPage:s};return z(Qe,m),m}function ka(){const e=Y(Qe);if(!e)throw new Error("Missing pagination!");return e}function Ia(e){const n=je("usePaginatedItems"),{items:a,startIndex:t,stopIndex:l,itemsPerPage:r}=e,o=p(()=>r.value<=0?a.value:a.value.slice(t.value,l.value));return ce(o,s=>{n.emit("update:currentItems",s)},{immediate:!0}),{paginatedItems:o}}const Ze=_({color:String,prevIcon:{type:N,default:"$prev"},nextIcon:{type:N,default:"$next"},firstIcon:{type:N,default:"$first"},lastIcon:{type:N,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),He=A()({name:"VDataTableFooter",props:Ze(),setup(e,n){let{slots:a}=n;const{t}=te(),{page:l,pageCount:r,startIndex:o,stopIndex:s,itemsLength:u,itemsPerPage:d,setItemsPerPage:c}=ka(),m=p(()=>e.itemsPerPageOptions.map(v=>typeof v=="number"?{value:v,title:v===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(v)}:{...v,title:isNaN(Number(v.title))?t(v.title):v.title}));return W(()=>{var P;const v=Re.filterProps(e);return w("div",{class:"v-data-table-footer"},[(P=a.prepend)==null?void 0:P.call(a),w("div",{class:"v-data-table-footer__items-per-page"},[w("span",null,[t(e.itemsPerPageText)]),T(Je,{items:m.value,itemColor:e.color,modelValue:d.value,"onUpdate:modelValue":g=>c(Number(g)),density:"compact",variant:"outlined","aria-label":t(e.itemsPerPageText),hideDetails:!0},null)]),w("div",{class:"v-data-table-footer__info"},[w("div",null,[t(e.pageText,u.value?o.value+1:0,s.value,u.value)])]),w("div",{class:"v-data-table-footer__pagination"},[T(Re,O({modelValue:l.value,"onUpdate:modelValue":g=>l.value=g,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},fe(v,["color"])),null)])])}),{}}}),ee=Ht({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,n)=>{let{slots:a}=n;const t=e.tag??"td",l=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return T(t,{class:j(["v-data-table__td",{"v-data-table-column--fixed":l==="start","v-data-table-column--fixed-end":l==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:E(e.height),width:E(e.width),maxWidth:E(e.maxWidth),left:l==="start"?E(e.fixedOffset||null):void 0,right:l==="end"?E(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?E(e.indent):void 0}},{default:()=>{var r;return[(r=a.default)==null?void 0:r.call(a)]}})}),Ta=_({headers:Array},"DataTable-header"),et=Symbol.for("vuetify:data-table-headers"),tt={title:"",sortable:!1},pa={...tt,width:48};function Va(){const n=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(a=>({element:a,priority:0}));return{enqueue:(a,t)=>{let l=!1;for(let r=0;rt){n.splice(r,0,{element:a,priority:t}),l=!0;break}l||n.push({element:a,priority:t})},size:()=>n.length,count:()=>{let a=0;if(!n.length)return 0;const t=Math.floor(n[0].priority);for(let l=0;ln.shift()}}function Pe(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)n.push(e);else for(const a of e.children)Pe(a,n);return n}function at(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const a of e)a.key&&n.add(a.key),a.children&&at(a.children,n);return n}function Da(e){if(e.key){if(e.key==="data-table-group")return tt;if(["data-table-expand","data-table-select"].includes(e.key))return pa}}function pe(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(n,...e.children.map(a=>pe(a,n+1))):n}function Ca(e){let n=!1;function a(r,o){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(s!=="none"&&(r.fixed=s),r.fixed===!0&&(r.fixed="start"),r.fixed===o)if(r.children)if(o==="start")for(let u=r.children.length-1;u>=0;u--)a(r.children[u],o,o);else for(let u=0;u=0;u--)a(r.children[u],o);else for(let u=0;u=0;r--)a(e[r],"start");for(let r=0;r=0;r--)l=lt(e[r],l)}function nt(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return n;if(e.children){e.fixedOffset=n;for(const a of e.children)n=nt(a,n)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=n,n+=parseFloat(e.width||"0")||0);return n}function lt(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return n;if(e.children){e.fixedEndOffset=n;for(const a of e.children)n=lt(a,n)}else e.fixed==="end"&&(e.fixedEndOffset=n,n+=parseFloat(e.width||"0")||0);return n}function _a(e,n){const a=[];let t=0;const l=Va(e);for(;l.size()>0;){let o=l.count();const s=[];let u=1;for(;o>0;){const{element:d,priority:c}=l.dequeue(),m=n-t-pe(d);if(s.push({...d,rowspan:m??1,colspan:d.children?Pe(d).length:1}),d.children)for(const v of d.children){const P=c%1+u/Math.pow(10,t+2);l.enqueue(v,t+m+P)}u+=1,o-=1}t+=1,a.push(s)}return{columns:e.map(o=>Pe(o)).flat(),headers:a}}function ot(e){const n=[];for(const a of e){const t={...Da(a),...a},l=t.key??(typeof t.value=="string"?t.value:null),r=t.value??l??null,o={...t,key:l,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?ot(t.children):void 0};n.push(o)}return n}function Ba(e,n){const a=M([]),t=M([]),l=M({}),r=M({}),o=M({});$t(()=>{var b,f,k;const d=(e.headers||Object.keys(e.items[0]??{}).map(i=>({key:i,title:Nt(i)}))).slice(),c=at(d);(b=n==null?void 0:n.groupBy)!=null&&b.value.length&&!c.has("data-table-group")&&d.unshift({key:"data-table-group",title:"Group"}),(f=n==null?void 0:n.showSelect)!=null&&f.value&&!c.has("data-table-select")&&d.unshift({key:"data-table-select"}),(k=n==null?void 0:n.showExpand)!=null&&k.value&&!c.has("data-table-expand")&&d.push({key:"data-table-expand"});const m=ot(d);Ca(m);const v=Math.max(...m.map(i=>pe(i)))+1,P=_a(m,v);a.value=P.headers,t.value=P.columns;const g=P.headers.flat(1);for(const i of g)i.key&&(i.sortable&&(i.sort&&(l.value[i.key]=i.sort),i.sortRaw&&(r.value[i.key]=i.sortRaw)),i.filter&&(o.value[i.key]=i.filter))});const s={headers:a,columns:t,sortFunctions:l,sortRawFunctions:r,filterFunctions:o};return z(et,s),s}function ge(){const e=Y(et);if(!e)throw new Error("Missing headers!");return e}const Ea={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:n,value:a}=e;return new Set(a?[(t=n[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:n}=e;return n}},rt={showSelectAll:!0,allSelected:e=>{let{currentPage:n}=e;return n},select:e=>{let{items:n,value:a,selected:t}=e;for(const l of n)a?t.add(l.value):t.delete(l.value);return t},selectAll:e=>{let{value:n,currentPage:a,selected:t}=e;return rt.select({items:a,value:n,selected:t})}},Fa={showSelectAll:!0,allSelected:e=>{let{allItems:n}=e;return n},select:e=>{let{items:n,value:a,selected:t}=e;for(const l of n)a?t.add(l.value):t.delete(l.value);return t},selectAll:e=>{let{value:n,allItems:a}=e;return new Set(n?a.map(t=>t.value):[])}},Oa=_({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:Function},"DataTable-select"),st=Symbol.for("vuetify:data-table-selection");function Ra(e,n){let{allItems:a,currentPage:t}=n;const l=K(e,"modelValue",e.modelValue,i=>{const I=e.valueComparator;return I?new Set(ae(i).map(x=>{var y;return((y=a.value.find(S=>I(x,S.value)))==null?void 0:y.value)??x})):new Set(ae(i).map(x=>{var y,S;return Lt(x)?((y=a.value.find(C=>x===C.value))==null?void 0:y.value)??x:((S=a.value.find(C=>Ye(x,C.value)))==null?void 0:S.value)??x}))},i=>[...i.values()]),r=p(()=>a.value.filter(i=>i.selectable)),o=p(()=>t.value.filter(i=>i.selectable)),s=p(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Ea;case"all":return Fa;case"page":default:return rt}}),u=se(null);function d(i){return ae(i).every(I=>l.value.has(I.value))}function c(i){return ae(i).some(I=>l.value.has(I.value))}function m(i,I){const x=s.value.select({items:i,value:I,selected:new Set(l.value)});l.value=x}function v(i,I,x){const y=[];if(I=I??t.value.findIndex(S=>S.value===i.value),e.selectStrategy!=="single"&&(x!=null&&x.shiftKey)&&u.value!==null){const[S,C]=[u.value,I].sort((F,V)=>F-V);y.push(...t.value.slice(S,C+1).filter(F=>F.selectable))}else y.push(i),u.value=I;m(y,!d([i]))}function P(i){const I=s.value.selectAll({value:i,allItems:r.value,currentPage:o.value,selected:new Set(l.value)});l.value=I}const g=p(()=>l.value.size>0),b=p(()=>{const i=s.value.allSelected({allItems:r.value,currentPage:o.value});return!!i.length&&d(i)}),f=B(()=>s.value.showSelectAll),k={toggleSelect:v,select:m,selectAll:P,isSelected:d,isSomeSelected:c,someSelected:g,allSelected:b,showSelectAll:f,lastSelectedIndex:u,selectStrategy:s};return z(st,k),k}function he(){const e=Y(st);if(!e)throw new Error("Missing selection!");return e}const Aa=_({initialSortOrder:{type:String,default:"asc",validator:e=>!e||["asc","desc"].includes(e)},sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:{type:[Boolean,Object],default:!1},mustSort:Boolean},"DataTable-sort"),ut=Symbol.for("vuetify:data-table-sort");function Ha(e){const n=B(()=>e.initialSortOrder),a=K(e,"sortBy"),t=B(()=>e.mustSort),l=B(()=>e.multiSort);return{initialSortOrder:n,sortBy:a,multiSort:l,mustSort:t}}function $a(e,n){if(!Gt(e))return{active:!!e};const{key:a,mode:t,modifier:l}=e,r=l==="alt"&&(n==null?void 0:n.altKey)||l==="shift"&&(n==null?void 0:n.shiftKey);return{active:!a||(n==null?void 0:n.ctrlKey)||(n==null?void 0:n.metaKey)||!1,mode:r?t==="append"?"prepend":"append":t}}function Na(e){const{initialSortOrder:n,sortBy:a,mustSort:t,multiSort:l,page:r}=e,o=(d,c)=>{if(d.key==null)return;let m=a.value.map(b=>({...b}))??[];const v=m.find(b=>b.key===d.key),P=n.value,g=n.value==="desc"?"asc":"desc";if(v)v.order===g?t.value&&m.length===1?v.order=n.value:m=m.filter(b=>b.key!==d.key):v.order=g;else{const{active:b,mode:f}=$a(l.value,c);b?f==="prepend"?m.unshift({key:d.key,order:P}):m.push({key:d.key,order:P}):m=[{key:d.key,order:P}]}a.value=m,r&&(r.value=1)};function s(d){return!!a.value.find(c=>c.key===d.key)}const u={sortBy:a,toggleSort:o,isSorted:s};return z(ut,u),u}function it(){const e=Y(ut);if(!e)throw new Error("Missing sort!");return e}function Wa(e,n,a,t){const l=te();return{sortedItems:p(()=>{var o,s;return a.value.length?La(n.value,a.value,l.current.value,{transform:t==null?void 0:t.transform,sortFunctions:{...e.customKeySort,...(o=t==null?void 0:t.sortFunctions)==null?void 0:o.value},sortRawFunctions:(s=t==null?void 0:t.sortRawFunctions)==null?void 0:s.value}):n.value})}}function La(e,n,a,t){const l=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,s)=>{var u,d;for(let c=0;ci!=null?i.toString().toLocaleLowerCase():i),g!==b))return ne(g)&&ne(b)?0:ne(g)?-1:ne(b)?1:!isNaN(g)&&!isNaN(b)?Number(g)-Number(b):l.compare(g,b)}return 0}).map(o=>{let[s]=o;return s})}const dt=_({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortAscIcon:{type:N,default:"$sortAsc"},sortDescIcon:{type:N,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...ve(),...Ie(),...Xt()},"VDataTableHeaders"),$e=A()({name:"VDataTableHeaders",props:dt(),setup(e,n){let{slots:a}=n;const{t}=te(),{toggleSort:l,sortBy:r,isSorted:o}=it(),{someSelected:s,allSelected:u,selectAll:d,showSelectAll:c}=he(),{columns:m,headers:v}=ge(),{loaderClasses:P}=Mt(e);function g(V,h){if(!(e.sticky||e.fixedHeader)&&!V.fixed)return;const D=typeof V.fixed=="string"?V.fixed:V.fixed?"start":"none";return{position:"sticky",left:D==="start"?E(V.fixedOffset):void 0,right:D==="end"?E(V.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${h})`:void 0}}function b(V,h){V.key==="Enter"&&!e.disableSort&&l(h,V)}function f(V){const h=r.value.find(D=>D.key===V.key);return!h&&e.initialSortOrder==="asc"||(h==null?void 0:h.order)==="asc"?e.sortAscIcon:e.sortDescIcon}const{backgroundColorClasses:k,backgroundColorStyles:i}=jt(()=>e.color),{displayClasses:I,mobile:x}=ke(e),y=p(()=>({headers:v.value,columns:m.value,toggleSort:l,isSorted:o,sortBy:r.value,someSelected:s.value,allSelected:u.value,selectAll:d,getSortIcon:f})),S=p(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},I.value,P.value]),C=V=>{let{column:h,x:D,y:R}=V;const L=h.key==="data-table-select"||h.key==="data-table-expand",X=h.key==="data-table-group"&&h.width===0&&!h.title,q=O(e.headerProps??{},h.headerProps??{});return T(ee,O({tag:"th",align:h.align,class:[{"v-data-table__th--sortable":h.sortable&&!e.disableSort,"v-data-table__th--sorted":o(h),"v-data-table__th--fixed":h.fixed},...S.value],style:{width:E(h.width),minWidth:E(h.minWidth),maxWidth:E(h.maxWidth),...g(h,R)},colspan:h.colspan,rowspan:h.rowspan,fixed:h.fixed,nowrap:h.nowrap,lastFixed:h.lastFixed,firstFixedEnd:h.firstFixedEnd,noPadding:L,empty:X,tabindex:h.sortable?0:void 0,onClick:h.sortable?H=>l(h,H):void 0,onKeydown:h.sortable?H=>b(H,h):void 0},q),{default:()=>{var J;const H=`header.${h.key}`,U={column:h,selectAll:d,isSorted:o,toggleSort:l,sortBy:r.value,someSelected:s.value,allSelected:u.value,getSortIcon:f};return a[H]?a[H](U):X?"":h.key==="data-table-select"?((J=a["header.data-table-select"])==null?void 0:J.call(a,U))??(c.value&&T(de,{color:e.color,density:e.density,modelValue:u.value,indeterminate:s.value&&!u.value,"onUpdate:modelValue":d},null)):w("div",{class:"v-data-table-header__content"},[w("span",null,[h.title]),h.sortable&&!e.disableSort&&T(Ee,{key:"icon",class:"v-data-table-header__sort-icon",icon:f(h)},null),e.multiSort&&o(h)&&w("div",{key:"badge",class:j(["v-data-table-header__sort-badge",...k.value]),style:me(i.value)},[r.value.findIndex(be=>be.key===h.key)+1])])}})},F=()=>{const V=p(()=>m.value.filter(D=>(D==null?void 0:D.sortable)&&!e.disableSort)),h=m.value.find(D=>D.key==="data-table-select");return T(ee,O({tag:"th",class:[...S.value],colspan:v.value.length+1},e.headerProps),{default:()=>[w("div",{class:"v-data-table-header__content"},[T(Je,{chips:!0,color:e.color,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:V.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[]},{append:h?()=>T(de,{color:e.color,density:"compact",modelValue:u.value,indeterminate:s.value&&!u.value,"onUpdate:modelValue":()=>d(!u.value)},null):void 0,chip:D=>{var R;return T(fa,{onClick:(R=D.item.raw)!=null&&R.sortable?()=>l(D.item.raw):void 0,onMousedown:L=>{L.preventDefault(),L.stopPropagation()}},{default:()=>[D.item.title,T(Ee,{class:j(["v-data-table__td-sort-icon",o(D.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:f(D.item.raw),size:"small"},null)]})}})])]})};W(()=>x.value?w("tr",null,[T(F,null,null)]):w(Q,null,[a.headers?a.headers(y.value):v.value.map((V,h)=>w("tr",null,[V.map((D,R)=>T(C,{column:D,x:R,y:h},null))])),e.loading&&w("tr",{class:"v-data-table-progress"},[w("th",{colspan:m.value.length},[T(Yt,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"||e.loading==="true"?e.color:e.loading,indeterminate:!0},{default:a.loader})])])]))}}),Ga=_({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),ct=Symbol.for("vuetify:data-table-group");function Ma(e){return{groupBy:K(e,"groupBy")}}function ja(e){const{disableSort:n,groupBy:a,sortBy:t}=e,l=M(new Set),r=p(()=>a.value.map(c=>({...c,order:c.order??!1})).concat(n!=null&&n.value?[]:t.value));function o(c){return l.value.has(c.id)}function s(c){const m=new Set(l.value);o(c)?m.delete(c.id):m.add(c.id),l.value=m}function u(c){function m(v){const P=[];for(const g of v.items)"type"in g&&g.type==="group"?P.push(...m(g)):P.push(g);return[...new Set(P)]}return m({items:c})}const d={sortByWithGroups:r,toggleGroup:s,opened:l,groupBy:a,extractRows:u,isGroupOpen:o};return z(ct,d),d}function ft(){const e=Y(ct);if(!e)throw new Error("Missing group!");return e}function Ya(e,n){if(!e.length)return[];const a=new Map;for(const t of e){const l=ue(t.raw,n);a.has(l)||a.set(l,[]),a.get(l).push(t)}return a}function vt(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!n.length)return[];const l=Ya(e,n[0]),r=[],o=n.slice(1);return l.forEach((s,u)=>{const d=n[0],c=`${t}_${d}_${u}`;r.push({depth:a,id:c,key:d,value:u,items:o.length?vt(s,o,a+1,c):s,type:"group"})}),r}function mt(e,n,a){const t=[];for(const l of e)"type"in l&&l.type==="group"?(l.value!=null&&t.push(l),(n.has(l.id)||l.value==null)&&(t.push(...mt(l.items,n,a)),a&&t.push({...l,type:"group-summary"}))):t.push(l);return t}function Xa(e,n,a,t){return{flatItems:p(()=>{if(!n.value.length)return e.value;const r=vt(e.value,n.value.map(o=>o.key));return mt(r,a.value,Kt(t))})}}const gt=_({item:{type:Object,required:!0},groupCollapseIcon:{type:N,default:"$tableGroupCollapse"},groupExpandIcon:{type:N,default:"$tableGroupExpand"},...ve()},"VDataTableGroupHeaderRow"),Ka=A()({name:"VDataTableGroupHeaderRow",props:gt(),setup(e,n){let{slots:a}=n;const{isGroupOpen:t,toggleGroup:l,extractRows:r}=ft(),{isSelected:o,isSomeSelected:s,select:u}=he(),{columns:d}=ge(),c=p(()=>r([e.item])),m=B(()=>d.value.length-(d.value.some(v=>v.key==="data-table-select")?1:0));return()=>w("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[d.value.map(v=>{var P,g;if(v.key==="data-table-group"){const b=t(e.item)?e.groupCollapseIcon:e.groupExpandIcon,f=()=>l(e.item);return((P=a["data-table-group"])==null?void 0:P.call(a,{item:e.item,count:c.value.length,props:{icon:b,onClick:f}}))??T(ee,{class:"v-data-table-group-header-row__column",colspan:m.value},{default:()=>[T(ie,{size:"small",variant:"text",icon:b,onClick:f},null),w("span",null,[e.item.value]),w("span",null,[Fe("("),c.value.length,Fe(")")])]})}else if(v.key==="data-table-select"){const b=c.value.filter(I=>I.selectable),f=b.length>0&&o(b),k=s(b)&&!f,i=I=>u(b,I);return((g=a["data-table-select"])==null?void 0:g.call(a,{props:{modelValue:f,indeterminate:k,"onUpdate:modelValue":i}}))??T(ee,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[T(de,{density:e.density,disabled:b.length===0,modelValue:f,indeterminate:k,"onUpdate:modelValue":i},null)]})}return""})])}}),za=_({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),ht=Symbol.for("vuetify:datatable:expanded");function qa(e){const n=B(()=>e.expandOnClick),a=K(e,"expanded",e.expanded,s=>new Set(s),s=>[...s.values()]);function t(s,u){const d=new Set(a.value),c=le(s.value);if(u)d.add(c);else{const m=[...a.value].find(v=>le(v)===c);d.delete(m)}a.value=d}function l(s){const u=le(s.value);return[...a.value].some(d=>le(d)===u)}function r(s){t(s,!l(s))}const o={expand:t,expanded:a,expandOnClick:n,isExpanded:l,toggleExpand:r};return z(ht,o),o}function bt(){const e=Y(ht);if(!e)throw new Error("foo");return e}const yt=_({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:N,default:"$collapse"},expandIcon:{type:N,default:"$expand"},onClick:xe(),onContextmenu:xe(),onDblclick:xe(),...ve(),...Ie()},"VDataTableRow"),Ua=A()({name:"VDataTableRow",props:yt(),setup(e,n){let{slots:a}=n;const{displayClasses:t,mobile:l}=ke(e,"v-data-table__tr"),{isSelected:r,toggleSelect:o,someSelected:s,allSelected:u,selectAll:d}=he(),{isExpanded:c,toggleExpand:m}=bt(),{toggleSort:v,sortBy:P,isSorted:g}=it(),{columns:b}=ge();W(()=>w("tr",{class:j(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},t.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&b.value.map((f,k)=>{const i=e.item,I=`item.${f.key}`,x=`header.${f.key}`,y={index:e.index,item:i.raw,internalItem:i,value:ue(i.columns,f.key),column:f,isSelected:r,toggleSelect:o,isExpanded:c,toggleExpand:m},S={column:f,selectAll:d,isSorted:g,toggleSort:v,sortBy:P.value,someSelected:s.value,allSelected:u.value,getSortIcon:()=>""},C=typeof e.cellProps=="function"?e.cellProps({index:y.index,item:y.item,internalItem:y.internalItem,value:y.value,column:f}):e.cellProps,F=typeof f.cellProps=="function"?f.cellProps({index:y.index,item:y.item,internalItem:y.internalItem,value:y.value}):f.cellProps,V=f.key==="data-table-select"||f.key==="data-table-expand",h=f.key==="data-table-group"&&f.width===0&&!f.title;return T(ee,O({align:f.align,indent:f.indent,class:{"v-data-table__td--expanded-row":f.key==="data-table-expand","v-data-table__td--select-row":f.key==="data-table-select"},fixed:f.fixed,fixedOffset:f.fixedOffset,fixedEndOffset:f.fixedEndOffset,lastFixed:f.lastFixed,firstFixedEnd:f.firstFixedEnd,maxWidth:l.value?void 0:f.maxWidth,noPadding:V,empty:h,nowrap:f.nowrap,width:l.value?void 0:f.width},C,F),{default:()=>{var R,L,X,q;if(f.key==="data-table-select")return((R=a["item.data-table-select"])==null?void 0:R.call(a,{...y,props:{color:e.color,disabled:!i.selectable,modelValue:r([i]),onClick:oe(()=>o(i),["stop"])}}))??T(de,{color:e.color,disabled:!i.selectable,density:e.density,modelValue:r([i]),onClick:oe(H=>o(i,e.index,H),["stop"])},null);if(f.key==="data-table-expand")return((L=a["item.data-table-expand"])==null?void 0:L.call(a,{...y,props:{icon:c(i)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:oe(()=>m(i),["stop"])}}))??T(ie,{icon:c(i)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:oe(()=>m(i),["stop"])},null);if(a[I]&&!l.value)return a[I](y);const D=zt(y.value);return l.value?w(Q,null,[w("div",{class:"v-data-table__td-title"},[((X=a[x])==null?void 0:X.call(a,S))??f.title]),w("div",{class:"v-data-table__td-value"},[((q=a[I])==null?void 0:q.call(a,y))??D])]):D}})})]))}}),xt=_({color:String,loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Se(yt(),["collapseIcon","expandIcon","density"]),...Se(gt(),["groupCollapseIcon","groupExpandIcon","density"]),...Ie()},"VDataTableRows"),Ne=A()({name:"VDataTableRows",inheritAttrs:!1,props:xt(),setup(e,n){let{attrs:a,slots:t}=n;const{columns:l}=ge(),{expandOnClick:r,toggleExpand:o,isExpanded:s}=bt(),{isSelected:u,toggleSelect:d}=he(),{toggleGroup:c,isGroupOpen:m}=ft(),{t:v}=te(),{mobile:P}=ke(e);return W(()=>{var b,f;const g=Se(e,["groupCollapseIcon","groupExpandIcon","density"]);return e.loading&&(!e.items.length||t.loading)?w("tr",{class:"v-data-table-rows-loading",key:"loading"},[w("td",{colspan:l.value.length},[((b=t.loading)==null?void 0:b.call(t))??v(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?w("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[w("td",{colspan:l.value.length},[((f=t["no-data"])==null?void 0:f.call(t))??v(e.noDataText)])]):w(Q,null,[e.items.map((k,i)=>{var y,S;if(k.type==="group"){const C={index:i,item:k,columns:l.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:d,toggleGroup:c,isGroupOpen:m};return t["group-header"]?t["group-header"](C):T(Ka,O({key:`group-header_${k.id}`,item:k},Ae(a,":groupHeader",()=>C),g),t)}if(k.type==="group-summary"){const C={index:i,item:k,columns:l.value,toggleGroup:c};return((y=t["group-summary"])==null?void 0:y.call(t,C))??""}const I={index:k.virtualIndex??i,item:k.raw,internalItem:k,columns:l.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:d},x={...I,props:O({key:`item_${k.key??k.index}`,onClick:r.value?()=>{o(k)}:void 0,index:i,item:k,color:e.color,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:P.value},Ae(a,":row",()=>I),typeof e.rowProps=="function"?e.rowProps({item:I.item,index:I.index,internalItem:I.internalItem}):e.rowProps)};return w(Q,{key:x.props.key},[t.item?t.item(x):T(Ua,x.props,t),s(k)&&((S=t["expanded-row"])==null?void 0:S.call(t,I))])})])}),{}}}),St=_({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...Te(),...ve(),...ze(),...Ke()},"VTable"),We=A()({name:"VTable",props:St(),setup(e,n){let{slots:a,emit:t}=n;const{themeClasses:l}=Xe(e),{densityClasses:r}=qt(e);return W(()=>T(e.tag,{class:j(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!a.top,"v-table--has-bottom":!!a.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},l.value,r.value,e.class]),style:me(e.style)},{default:()=>{var o,s,u;return[(o=a.top)==null?void 0:o.call(a),a.default?w("div",{class:"v-table__wrapper",style:{height:E(e.height)}},[w("table",null,[a.default()])]):(s=a.wrapper)==null?void 0:s.call(a),(u=a.bottom)==null?void 0:u.call(a)]}})),{}}}),Ja=_({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function Qa(e,n,a,t){const l=e.returnObject?n:re(n,e.itemValue),r=re(n,e.itemSelectable,!0),o=t.reduce((s,u)=>(u.key!=null&&(s[u.key]=re(n,u.value)),s),{});return{type:"item",key:e.returnObject?re(n,e.itemValue):l,index:a,value:l,selectable:r,columns:o,raw:n}}function Za(e,n,a){return n.map((t,l)=>Qa(e,t,l,a))}function en(e,n){return{items:p(()=>Za(e,e.items,n.value))}}function tn(e){let{page:n,itemsPerPage:a,sortBy:t,groupBy:l,search:r}=e;const o=je("VDataTable"),s=()=>({page:n.value,itemsPerPage:a.value,sortBy:t.value,groupBy:l.value,search:r.value});let u=null;ce(s,d=>{Ye(u,d)||(u&&u.search!==d.search&&(n.value=1),o.emit("update:options",d),u=d)},{deep:!0,immediate:!0})}const an=_({...xt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...za(),...Ga(),...Ta(),...Ja(),...Oa(),...Aa(),...fe(dt(),["multiSort","initialSortOrder"]),...St()},"DataTable"),nn=_({...Sa(),...an(),...ca(),...Ze()},"VDataTable"),vn=A()({name:"VDataTable",props:nn(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,n){let{attrs:a,slots:t}=n;const{groupBy:l}=Ma(e),{initialSortOrder:r,sortBy:o,multiSort:s,mustSort:u}=Ha(e),{page:d,itemsPerPage:c}=wa(e),{disableSort:m}=Ut(e),{columns:v,headers:P,sortFunctions:g,sortRawFunctions:b,filterFunctions:f}=Ba(e,{groupBy:l,showSelect:B(()=>e.showSelect),showExpand:B(()=>e.showExpand)}),{items:k}=en(e,v),i=B(()=>e.search),{filteredItems:I}=da(e,k,i,{transform:G=>G.columns,customKeyFilter:f}),{toggleSort:x}=Na({initialSortOrder:r,sortBy:o,multiSort:s,mustSort:u,page:d}),{sortByWithGroups:y,opened:S,extractRows:C,isGroupOpen:F,toggleGroup:V}=ja({groupBy:l,sortBy:o,disableSort:m}),{sortedItems:h}=Wa(e,I,y,{transform:G=>({...G.raw,...G.columns}),sortFunctions:g,sortRawFunctions:b}),{flatItems:D}=Xa(h,l,S,()=>!!t["group-summary"]),R=p(()=>D.value.length),{startIndex:L,stopIndex:X,pageCount:q,setItemsPerPage:H}=Pa({page:d,itemsPerPage:c,itemsLength:R}),{paginatedItems:U}=Ia({items:D,startIndex:L,stopIndex:X,itemsPerPage:c}),J=p(()=>C(U.value)),{isSelected:be,select:Tt,selectAll:pt,toggleSelect:Vt,someSelected:Dt,allSelected:Ct}=Ra(e,{allItems:k,currentPage:J}),{isExpanded:_t,toggleExpand:Bt}=qa(e);tn({page:d,itemsPerPage:c,sortBy:o,groupBy:l,search:i}),Jt({VDataTableRows:{hideNoData:B(()=>e.hideNoData),noDataText:B(()=>e.noDataText),loading:B(()=>e.loading),loadingText:B(()=>e.loadingText)}});const $=p(()=>({page:d.value,itemsPerPage:c.value,sortBy:o.value,pageCount:q.value,toggleSort:x,setItemsPerPage:H,someSelected:Dt.value,allSelected:Ct.value,isSelected:be,select:Tt,selectAll:pt,toggleSelect:Vt,isExpanded:_t,toggleExpand:Bt,isGroupOpen:F,toggleGroup:V,items:J.value.map(G=>G.raw),internalItems:J.value,groupedItems:U.value,columns:v.value,headers:P.value}));return W(()=>{const G=He.filterProps(e),Et=$e.filterProps(fe(e,["multiSort"])),Ft=Ne.filterProps(e),Ot=We.filterProps(e);return T(We,O({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},Ot,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var Z;return(Z=t.top)==null?void 0:Z.call(t,$.value)},default:()=>{var Z,Ve,De,Ce,_e,Be;return t.default?t.default($.value):w(Q,null,[(Z=t.colgroup)==null?void 0:Z.call(t,$.value),!e.hideDefaultHeader&&w("thead",{key:"thead"},[T($e,O(Et,{multiSort:!!e.multiSort}),t)]),(Ve=t.thead)==null?void 0:Ve.call(t,$.value),!e.hideDefaultBody&&w("tbody",null,[(De=t["body.prepend"])==null?void 0:De.call(t,$.value),t.body?t.body($.value):T(Ne,O(a,Ft,{items:U.value}),t),(Ce=t["body.append"])==null?void 0:Ce.call(t,$.value)]),(_e=t.tbody)==null?void 0:_e.call(t,$.value),(Be=t.tfoot)==null?void 0:Be.call(t,$.value)])},bottom:()=>t.bottom?t.bottom($.value):!e.hideDefaultFooter&&w(Q,null,[T(Qt,null,null),T(He,G,{prepend:t["footer.prepend"]})])})}),{}}}),ln=Symbol.for("vuetify:v-tabs"),wt=Symbol.for("vuetify:v-window"),Pt=Symbol.for("vuetify:v-window-group"),kt=_({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},crossfade:Boolean,transitionDuration:Number,...Te(),...ze(),...Ke()},"VWindow"),Le=A()({name:"VWindow",directives:{vTouch:we},props:kt(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:a}=n;const{themeClasses:t}=Xe(e),{isRtl:l}=Zt(),{t:r}=te(),o=ea(e,Pt),s=M(),u=p(()=>l.value?!e.reverse:e.reverse),d=se(!1),c=p(()=>{if(e.crossfade)return"v-window-crossfade-transition";const x=e.direction==="vertical"?"y":"x",S=(u.value?!d.value:d.value)?"-reverse":"";return`v-window-${x}${S}-transition`}),m=se(0),v=M(void 0),P=p(()=>o.items.value.findIndex(x=>o.selected.value.includes(x.id)));ce(P,(x,y)=>{let S;const C={left:0,top:0};Oe&&y>=0&&(S=ta(s.value),C.left=S==null?void 0:S.scrollLeft,C.top=S==null?void 0:S.scrollTop);const F=o.items.value.length,V=F-1;F<=2?d.value=x{if(!Oe||!S)return;S.scrollTop!==C.top&&S.scrollTo({...C,behavior:"instant"}),requestAnimationFrame(()=>{if(!S)return;S.scrollTop!==C.top&&S.scrollTo({...C,behavior:"instant"})})})},{flush:"sync"}),z(wt,{transition:c,isReversed:d,transitionCount:m,transitionHeight:v,rootRef:s});const g=B(()=>e.continuous||P.value!==0),b=B(()=>e.continuous||P.value!==o.items.value.length-1);function f(){g.value&&o.prev()}function k(){b.value&&o.next()}const i=p(()=>{const x=[],y={icon:l.value?e.nextIcon:e.prevIcon,class:`v-window__${u.value?"right":"left"}`,onClick:o.prev,"aria-label":r("$vuetify.carousel.prev")};x.push(g.value?a.prev?a.prev({props:y}):T(ie,y,null):w("div",null,null));const S={icon:l.value?e.prevIcon:e.nextIcon,class:`v-window__${u.value?"left":"right"}`,onClick:o.next,"aria-label":r("$vuetify.carousel.next")};return x.push(b.value?a.next?a.next({props:S}):T(ie,S,null):w("div",null,null)),x}),I=p(()=>e.touch===!1?e.touch:{...{left:()=>{u.value?f():k()},right:()=>{u.value?k():f()},start:y=>{let{originalEvent:S}=y;S.stopPropagation()}},...e.touch===!0?{}:e.touch});return W(()=>Ue(T(e.tag,{ref:s,class:j(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},t.value,e.class]),style:me([e.style,{"--v-window-transition-duration":aa()?null:E(e.transitionDuration,"ms")}])},{default:()=>{var x,y;return[w("div",{class:"v-window__container",style:{height:v.value}},[(x=a.default)==null?void 0:x.call(a,{group:o}),e.showArrows!==!1&&w("div",{class:j(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}])},[i.value])]),(y=a.additional)==null?void 0:y.call(a,{group:o})]}}),[[we,I.value]])),{group:o}}}),on=_({...fe(kt(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),mn=A()({name:"VTabsWindow",props:on(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:a}=n;const t=Y(ln,null),l=K(e,"modelValue"),r=p({get(){var o;return l.value!=null||!t?l.value:(o=t.items.value.find(s=>t.selected.value.includes(s.id)))==null?void 0:o.value},set(o){l.value=o}});return W(()=>{const o=Le.filterProps(e);return T(Le,O({_as:"VTabsWindow"},o,{modelValue:r.value,"onUpdate:modelValue":s=>r.value=s,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),a)}),{}}}),It=_({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...Te(),...ia(),...ua()},"VWindowItem"),Ge=A()({name:"VWindowItem",directives:{vTouch:we},props:It(),emits:{"group:selected":e=>!0},setup(e,n){let{slots:a}=n;const t=Y(wt),l=na(e,Pt),{isBooted:r}=la();if(!t||!l)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const o=se(!1),s=p(()=>r.value&&(t.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function u(){!o.value||!t||(o.value=!1,t.transitionCount.value>0&&(t.transitionCount.value-=1,t.transitionCount.value===0&&(t.transitionHeight.value=void 0)))}function d(){var g;o.value||!t||(o.value=!0,t.transitionCount.value===0&&(t.transitionHeight.value=E((g=t.rootRef.value)==null?void 0:g.clientHeight)),t.transitionCount.value+=1)}function c(){u()}function m(g){o.value&&qe(()=>{!s.value||!o.value||!t||(t.transitionHeight.value=E(g.clientHeight))})}const v=p(()=>{const g=t.isReversed.value?e.reverseTransition:e.transition;return s.value?{name:typeof g!="string"?t.transition.value:g,onBeforeEnter:d,onAfterEnter:u,onEnterCancelled:c,onBeforeLeave:d,onAfterLeave:u,onLeaveCancelled:c,onEnter:m}:!1}),{hasContent:P}=oa(e,l.isSelected);return W(()=>T(sa,{transition:v.value,disabled:!r.value},{default:()=>{var g;return[Ue(w("div",{class:j(["v-window-item",l.selectedClass.value,e.class]),style:me(e.style)},[P.value&&((g=a.default)==null?void 0:g.call(a))]),[[ra,l.isSelected.value]])]}})),{groupItem:l}}}),rn=_({...It()},"VTabsWindowItem"),gn=A()({name:"VTabsWindowItem",props:rn(),setup(e,n){let{slots:a}=n;return W(()=>{const t=Ge.filterProps(e);return T(Ge,O({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),a)}),{}}});export{ln as V,gn as a,mn as b,Le as c,Ge as d,vn as e,We as f}; +import{bW as At,ax as Rt,bX as Me,ar as z,ae as ce,bY as je,a3 as p,bc as ye,bO as Y,p as C,bT as K,g as R,aq as te,b as W,i as w,c as T,E as O,aA as fe,a_ as N,bZ as Ht,aJ as E,d as j,b3 as $t,b_ as Nt,a2 as M,b$ as Wt,as as ae,c0 as Lt,aY as Ye,az as se,av as B,c1 as ue,c2 as ne,aM as Gt,c3 as Mt,aC as jt,X as ke,c4 as Yt,F as Q,t as Ee,n as ve,c5 as Xt,bH as Ie,aK as me,c6 as zt,y as ie,v as Fe,c7 as le,O as oe,A as Kt,b0 as xe,aL as Se,bo as Xe,aG as qt,bj as ze,m as Ke,h as Te,c8 as re,c9 as Ut,aI as Jt,K as Qt,b7 as Zt,bU as ea,aS as Oe,ca as ta,aw as qe,I as Ue,cb as aa,bR as na,a as la,bP as oa,J as ra,a$ as sa,bQ as ua,bS as ia}from"./index-BUM0TY0E.js";import{V as Ae}from"./VPagination-CbPhc6Cb.js";import{e as Je,u as da,d as ca}from"./filter-ByuXXWRY.js";import{V as fa}from"./VChip-vdRDApTi.js";import{V as de}from"./VCheckboxBtn-CylQNaxd.js";function Re(e,n,a){return Object.keys(e).filter(t=>At(t)&&t.endsWith(n)).reduce((t,l)=>(t[l.slice(0,-n.length)]=r=>Rt(e[l],r,a(r)),t),{})}const va=e=>{const{touchstartX:n,touchendX:a,touchstartY:t,touchendY:l}=e,r=.5,o=16;e.offsetX=a-n,e.offsetY=l-t,Math.abs(e.offsetY)n+o&&e.right(e)),Math.abs(e.offsetX)t+o&&e.down(e))};function ma(e,n){var t;const a=e.changedTouches[0];n.touchstartX=a.clientX,n.touchstartY=a.clientY,(t=n.start)==null||t.call(n,{originalEvent:e,...n})}function ga(e,n){var t;const a=e.changedTouches[0];n.touchendX=a.clientX,n.touchendY=a.clientY,(t=n.end)==null||t.call(n,{originalEvent:e,...n}),va(n)}function ha(e,n){var t;const a=e.changedTouches[0];n.touchmoveX=a.clientX,n.touchmoveY=a.clientY,(t=n.move)==null||t.call(n,{originalEvent:e,...n})}function ba(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const n={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:a=>ma(a,n),touchend:a=>ga(a,n),touchmove:a=>ha(a,n)}}function ya(e,n){var s;const a=n.value,t=a!=null&&a.parent?e.parentElement:e,l=(a==null?void 0:a.options)??{passive:!0},r=(s=n.instance)==null?void 0:s.$.uid;if(!t||r===void 0)return;const o=ba(n.value);t._touchHandlers=t._touchHandlers??Object.create(null),t._touchHandlers[r]=o,Me(o).forEach(u=>{t.addEventListener(u,o[u],l)})}function xa(e,n){var r,o;const a=(r=n.value)!=null&&r.parent?e.parentElement:e,t=(o=n.instance)==null?void 0:o.$.uid;if(!(a!=null&&a._touchHandlers)||t===void 0)return;const l=a._touchHandlers[t];Me(l).forEach(s=>{a.removeEventListener(s,l[s])}),delete a._touchHandlers[t]}const we={mounted:ya,unmounted:xa},Sa=C({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),Qe=Symbol.for("vuetify:data-table-pagination");function wa(e){const n=z(e,"page",void 0,t=>Number(t??1)),a=z(e,"itemsPerPage",void 0,t=>Number(t??10));return{page:n,itemsPerPage:a}}function Pa(e){const{page:n,itemsPerPage:a,itemsLength:t}=e,l=p(()=>a.value===-1?0:a.value*(n.value-1)),r=p(()=>a.value===-1?t.value:Math.min(t.value,l.value+a.value)),o=p(()=>a.value===-1||t.value===0?1:Math.ceil(t.value/a.value));ce([n,o],()=>{n.value>o.value&&(n.value=o.value)});function s(v){a.value=v,n.value=1}function u(){n.value=ye(n.value+1,1,o.value)}function d(){n.value=ye(n.value-1,1,o.value)}function c(v){n.value=ye(v,1,o.value)}const m={page:n,itemsPerPage:a,startIndex:l,stopIndex:r,pageCount:o,itemsLength:t,nextPage:u,prevPage:d,setPage:c,setItemsPerPage:s};return K(Qe,m),m}function ka(){const e=Y(Qe);if(!e)throw new Error("Missing pagination!");return e}function Ia(e){const n=je("usePaginatedItems"),{items:a,startIndex:t,stopIndex:l,itemsPerPage:r}=e,o=p(()=>r.value<=0?a.value:a.value.slice(t.value,l.value));return ce(o,s=>{n.emit("update:currentItems",s)},{immediate:!0}),{paginatedItems:o}}const Ze=C({color:String,prevIcon:{type:N,default:"$prev"},nextIcon:{type:N,default:"$next"},firstIcon:{type:N,default:"$first"},lastIcon:{type:N,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),He=R()({name:"VDataTableFooter",props:Ze(),setup(e,n){let{slots:a}=n;const{t}=te(),{page:l,pageCount:r,startIndex:o,stopIndex:s,itemsLength:u,itemsPerPage:d,setItemsPerPage:c}=ka(),m=p(()=>e.itemsPerPageOptions.map(v=>typeof v=="number"?{value:v,title:v===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(v)}:{...v,title:isNaN(Number(v.title))?t(v.title):v.title}));return W(()=>{var P;const v=Ae.filterProps(e);return w("div",{class:"v-data-table-footer"},[(P=a.prepend)==null?void 0:P.call(a),w("div",{class:"v-data-table-footer__items-per-page"},[w("span",null,[t(e.itemsPerPageText)]),T(Je,{items:m.value,itemColor:e.color,modelValue:d.value,"onUpdate:modelValue":g=>c(Number(g)),density:"compact",variant:"outlined","aria-label":t(e.itemsPerPageText),hideDetails:!0},null)]),w("div",{class:"v-data-table-footer__info"},[w("div",null,[t(e.pageText,u.value?o.value+1:0,s.value,u.value)])]),w("div",{class:"v-data-table-footer__pagination"},[T(Ae,O({modelValue:l.value,"onUpdate:modelValue":g=>l.value=g,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},fe(v,["color"])),null)])])}),{}}}),ee=Ht({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,n)=>{let{slots:a}=n;const t=e.tag??"td",l=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return T(t,{class:j(["v-data-table__td",{"v-data-table-column--fixed":l==="start","v-data-table-column--fixed-end":l==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:E(e.height),width:E(e.width),maxWidth:E(e.maxWidth),left:l==="start"?E(e.fixedOffset||null):void 0,right:l==="end"?E(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?E(e.indent):void 0}},{default:()=>{var r;return[(r=a.default)==null?void 0:r.call(a)]}})}),Ta=C({headers:Array},"DataTable-header"),et=Symbol.for("vuetify:data-table-headers"),tt={title:"",sortable:!1},pa={...tt,width:48};function Va(){const n=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(a=>({element:a,priority:0}));return{enqueue:(a,t)=>{let l=!1;for(let r=0;rt){n.splice(r,0,{element:a,priority:t}),l=!0;break}l||n.push({element:a,priority:t})},size:()=>n.length,count:()=>{let a=0;if(!n.length)return 0;const t=Math.floor(n[0].priority);for(let l=0;ln.shift()}}function Pe(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)n.push(e);else for(const a of e.children)Pe(a,n);return n}function at(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const a of e)a.key&&n.add(a.key),a.children&&at(a.children,n);return n}function Da(e){if(e.key){if(e.key==="data-table-group")return tt;if(["data-table-expand","data-table-select"].includes(e.key))return pa}}function pe(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(n,...e.children.map(a=>pe(a,n+1))):n}function _a(e){let n=!1;function a(r,o){let s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(s!=="none"&&(r.fixed=s),r.fixed===!0&&(r.fixed="start"),r.fixed===o)if(r.children)if(o==="start")for(let u=r.children.length-1;u>=0;u--)a(r.children[u],o,o);else for(let u=0;u=0;u--)a(r.children[u],o);else for(let u=0;u=0;r--)a(e[r],"start");for(let r=0;r=0;r--)l=lt(e[r],l)}function nt(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return n;if(e.children){e.fixedOffset=n;for(const a of e.children)n=nt(a,n)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=n,n+=parseFloat(e.width||"0")||0);return n}function lt(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return n;if(e.children){e.fixedEndOffset=n;for(const a of e.children)n=lt(a,n)}else e.fixed==="end"&&(e.fixedEndOffset=n,n+=parseFloat(e.width||"0")||0);return n}function Ca(e,n){const a=[];let t=0;const l=Va(e);for(;l.size()>0;){let o=l.count();const s=[];let u=1;for(;o>0;){const{element:d,priority:c}=l.dequeue(),m=n-t-pe(d);if(s.push({...d,rowspan:m??1,colspan:d.children?Pe(d).length:1}),d.children)for(const v of d.children){const P=c%1+u/Math.pow(10,t+2);l.enqueue(v,t+m+P)}u+=1,o-=1}t+=1,a.push(s)}return{columns:e.map(o=>Pe(o)).flat(),headers:a}}function ot(e){const n=[];for(const a of e){const t={...Da(a),...a},l=t.key??(typeof t.value=="string"?t.value:null),r=t.value??l??null,o={...t,key:l,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?ot(t.children):void 0};n.push(o)}return n}function Ba(e,n){const a=M([]),t=M([]),l=M({}),r=M({}),o=M({});$t(()=>{var b,f,k;const d=(e.headers||Object.keys(e.items[0]??{}).map(i=>({key:i,title:Nt(i)}))).slice(),c=at(d);(b=n==null?void 0:n.groupBy)!=null&&b.value.length&&!c.has("data-table-group")&&d.unshift({key:"data-table-group",title:"Group"}),(f=n==null?void 0:n.showSelect)!=null&&f.value&&!c.has("data-table-select")&&d.unshift({key:"data-table-select"}),(k=n==null?void 0:n.showExpand)!=null&&k.value&&!c.has("data-table-expand")&&d.push({key:"data-table-expand"});const m=ot(d);_a(m);const v=Math.max(...m.map(i=>pe(i)))+1,P=Ca(m,v);a.value=P.headers,t.value=P.columns;const g=P.headers.flat(1);for(const i of g)i.key&&(i.sortable&&(i.sort&&(l.value[i.key]=i.sort),i.sortRaw&&(r.value[i.key]=i.sortRaw)),i.filter&&(o.value[i.key]=i.filter))});const s={headers:a,columns:t,sortFunctions:l,sortRawFunctions:r,filterFunctions:o};return K(et,s),s}function ge(){const e=Y(et);if(!e)throw new Error("Missing headers!");return e}const Ea={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:n,value:a}=e;return new Set(a?[(t=n[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:n}=e;return n}},rt={showSelectAll:!0,allSelected:e=>{let{currentPage:n}=e;return n},select:e=>{let{items:n,value:a,selected:t}=e;for(const l of n)a?t.add(l.value):t.delete(l.value);return t},selectAll:e=>{let{value:n,currentPage:a,selected:t}=e;return rt.select({items:a,value:n,selected:t})}},Fa={showSelectAll:!0,allSelected:e=>{let{allItems:n}=e;return n},select:e=>{let{items:n,value:a,selected:t}=e;for(const l of n)a?t.add(l.value):t.delete(l.value);return t},selectAll:e=>{let{value:n,allItems:a}=e;return new Set(n?a.map(t=>t.value):[])}},Oa=C({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:Function},"DataTable-select"),st=Symbol.for("vuetify:data-table-selection");function Aa(e,n){let{allItems:a,currentPage:t}=n;const l=z(e,"modelValue",e.modelValue,i=>{const I=e.valueComparator;return I?new Set(ae(i).map(x=>{var y;return((y=a.value.find(S=>I(x,S.value)))==null?void 0:y.value)??x})):new Set(ae(i).map(x=>{var y,S;return Lt(x)?((y=a.value.find(_=>x===_.value))==null?void 0:y.value)??x:((S=a.value.find(_=>Ye(x,_.value)))==null?void 0:S.value)??x}))},i=>[...i.values()]),r=p(()=>a.value.filter(i=>i.selectable)),o=p(()=>t.value.filter(i=>i.selectable)),s=p(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return Ea;case"all":return Fa;case"page":default:return rt}}),u=se(null);function d(i){return ae(i).every(I=>l.value.has(I.value))}function c(i){return ae(i).some(I=>l.value.has(I.value))}function m(i,I){const x=s.value.select({items:i,value:I,selected:new Set(l.value)});l.value=x}function v(i,I,x){const y=[];if(I=I??t.value.findIndex(S=>S.value===i.value),e.selectStrategy!=="single"&&(x!=null&&x.shiftKey)&&u.value!==null){const[S,_]=[u.value,I].sort((F,V)=>F-V);y.push(...t.value.slice(S,_+1).filter(F=>F.selectable))}else y.push(i),u.value=I;m(y,!d([i]))}function P(i){const I=s.value.selectAll({value:i,allItems:r.value,currentPage:o.value,selected:new Set(l.value)});l.value=I}const g=p(()=>l.value.size>0),b=p(()=>{const i=s.value.allSelected({allItems:r.value,currentPage:o.value});return!!i.length&&d(i)}),f=B(()=>s.value.showSelectAll),k={toggleSelect:v,select:m,selectAll:P,isSelected:d,isSomeSelected:c,someSelected:g,allSelected:b,showSelectAll:f,lastSelectedIndex:u,selectStrategy:s};return K(st,k),k}function he(){const e=Y(st);if(!e)throw new Error("Missing selection!");return e}const Ra=C({initialSortOrder:{type:String,default:"asc",validator:e=>!e||["asc","desc"].includes(e)},sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:{type:[Boolean,Object],default:!1},mustSort:Boolean},"DataTable-sort"),ut=Symbol.for("vuetify:data-table-sort");function Ha(e){const n=B(()=>e.initialSortOrder),a=z(e,"sortBy"),t=B(()=>e.mustSort),l=B(()=>e.multiSort);return{initialSortOrder:n,sortBy:a,multiSort:l,mustSort:t}}function $a(e,n){if(!Gt(e))return{active:!!e};const{key:a,mode:t,modifier:l}=e,r=l==="alt"&&(n==null?void 0:n.altKey)||l==="shift"&&(n==null?void 0:n.shiftKey);return{active:!a||(n==null?void 0:n.ctrlKey)||(n==null?void 0:n.metaKey)||!1,mode:r?t==="append"?"prepend":"append":t}}function Na(e){const{initialSortOrder:n,sortBy:a,mustSort:t,multiSort:l,page:r}=e,o=(d,c)=>{if(d.key==null)return;let m=a.value.map(b=>({...b}))??[];const v=m.find(b=>b.key===d.key),P=n.value,g=n.value==="desc"?"asc":"desc";if(v)v.order===g?t.value&&m.length===1?v.order=n.value:m=m.filter(b=>b.key!==d.key):v.order=g;else{const{active:b,mode:f}=$a(l.value,c);b?f==="prepend"?m.unshift({key:d.key,order:P}):m.push({key:d.key,order:P}):m=[{key:d.key,order:P}]}a.value=m,r&&(r.value=1)};function s(d){return!!a.value.find(c=>c.key===d.key)}const u={sortBy:a,toggleSort:o,isSorted:s};return K(ut,u),u}function it(){const e=Y(ut);if(!e)throw new Error("Missing sort!");return e}function Wa(e,n,a,t){const l=te();return{sortedItems:p(()=>{var o,s;return a.value.length?La(n.value,a.value,l.current.value,{transform:t==null?void 0:t.transform,sortFunctions:{...e.customKeySort,...(o=t==null?void 0:t.sortFunctions)==null?void 0:o.value},sortRawFunctions:(s=t==null?void 0:t.sortRawFunctions)==null?void 0:s.value}):n.value})}}function La(e,n,a,t){const l=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,s)=>{var u,d;for(let c=0;ci!=null?i.toString().toLocaleLowerCase():i),g!==b))return ne(g)&&ne(b)?0:ne(g)?-1:ne(b)?1:!isNaN(g)&&!isNaN(b)?Number(g)-Number(b):l.compare(g,b)}return 0}).map(o=>{let[s]=o;return s})}const dt=C({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,initialSortOrder:String,sortAscIcon:{type:N,default:"$sortAsc"},sortDescIcon:{type:N,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...me(),...Ie(),...Xt()},"VDataTableHeaders"),$e=R()({name:"VDataTableHeaders",props:dt(),setup(e,n){let{slots:a}=n;const{t}=te(),{toggleSort:l,sortBy:r,isSorted:o}=it(),{someSelected:s,allSelected:u,selectAll:d,showSelectAll:c}=he(),{columns:m,headers:v}=ge(),{loaderClasses:P}=Mt(e);function g(V,h){if(!(e.sticky||e.fixedHeader)&&!V.fixed)return;const D=typeof V.fixed=="string"?V.fixed:V.fixed?"start":"none";return{position:"sticky",left:D==="start"?E(V.fixedOffset):void 0,right:D==="end"?E(V.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${h})`:void 0}}function b(V,h){V.key==="Enter"&&!e.disableSort&&l(h,V)}function f(V){const h=r.value.find(D=>D.key===V.key);return!h&&e.initialSortOrder==="asc"||(h==null?void 0:h.order)==="asc"?e.sortAscIcon:e.sortDescIcon}const{backgroundColorClasses:k,backgroundColorStyles:i}=jt(()=>e.color),{displayClasses:I,mobile:x}=ke(e),y=p(()=>({headers:v.value,columns:m.value,toggleSort:l,isSorted:o,sortBy:r.value,someSelected:s.value,allSelected:u.value,selectAll:d,getSortIcon:f})),S=p(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},I.value,P.value]),_=V=>{let{column:h,x:D,y:A}=V;const L=h.key==="data-table-select"||h.key==="data-table-expand",X=h.key==="data-table-group"&&h.width===0&&!h.title,q=O(e.headerProps??{},h.headerProps??{});return T(ee,O({tag:"th",align:h.align,class:[{"v-data-table__th--sortable":h.sortable&&!e.disableSort,"v-data-table__th--sorted":o(h),"v-data-table__th--fixed":h.fixed},...S.value],style:{width:E(h.width),minWidth:E(h.minWidth),maxWidth:E(h.maxWidth),...g(h,A)},colspan:h.colspan,rowspan:h.rowspan,fixed:h.fixed,nowrap:h.nowrap,lastFixed:h.lastFixed,firstFixedEnd:h.firstFixedEnd,noPadding:L,empty:X,tabindex:h.sortable?0:void 0,onClick:h.sortable?H=>l(h,H):void 0,onKeydown:h.sortable?H=>b(H,h):void 0},q),{default:()=>{var J;const H=`header.${h.key}`,U={column:h,selectAll:d,isSorted:o,toggleSort:l,sortBy:r.value,someSelected:s.value,allSelected:u.value,getSortIcon:f};return a[H]?a[H](U):X?"":h.key==="data-table-select"?((J=a["header.data-table-select"])==null?void 0:J.call(a,U))??(c.value&&T(de,{color:e.color,density:e.density,modelValue:u.value,indeterminate:s.value&&!u.value,"onUpdate:modelValue":d},null)):w("div",{class:"v-data-table-header__content"},[w("span",null,[h.title]),h.sortable&&!e.disableSort&&T(Ee,{key:"icon",class:"v-data-table-header__sort-icon",icon:f(h)},null),e.multiSort&&o(h)&&w("div",{key:"badge",class:j(["v-data-table-header__sort-badge",...k.value]),style:ve(i.value)},[r.value.findIndex(be=>be.key===h.key)+1])])}})},F=()=>{const V=p(()=>m.value.filter(D=>(D==null?void 0:D.sortable)&&!e.disableSort)),h=m.value.find(D=>D.key==="data-table-select");return T(ee,O({tag:"th",class:[...S.value],colspan:v.value.length+1},e.headerProps),{default:()=>[w("div",{class:"v-data-table-header__content"},[T(Je,{chips:!0,color:e.color,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:V.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[]},{append:h?()=>T(de,{color:e.color,density:"compact",modelValue:u.value,indeterminate:s.value&&!u.value,"onUpdate:modelValue":()=>d(!u.value)},null):void 0,chip:D=>{var A;return T(fa,{onClick:(A=D.item.raw)!=null&&A.sortable?()=>l(D.item.raw):void 0,onMousedown:L=>{L.preventDefault(),L.stopPropagation()}},{default:()=>[D.item.title,T(Ee,{class:j(["v-data-table__td-sort-icon",o(D.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:f(D.item.raw),size:"small"},null)]})}})])]})};W(()=>x.value?w("tr",null,[T(F,null,null)]):w(Q,null,[a.headers?a.headers(y.value):v.value.map((V,h)=>w("tr",null,[V.map((D,A)=>T(_,{column:D,x:A,y:h},null))])),e.loading&&w("tr",{class:"v-data-table-progress"},[w("th",{colspan:m.value.length},[T(Yt,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"||e.loading==="true"?e.color:e.loading,indeterminate:!0},{default:a.loader})])])]))}}),Ga=C({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),ct=Symbol.for("vuetify:data-table-group");function Ma(e){return{groupBy:z(e,"groupBy")}}function ja(e){const{disableSort:n,groupBy:a,sortBy:t}=e,l=M(new Set),r=p(()=>a.value.map(c=>({...c,order:c.order??!1})).concat(n!=null&&n.value?[]:t.value));function o(c){return l.value.has(c.id)}function s(c){const m=new Set(l.value);o(c)?m.delete(c.id):m.add(c.id),l.value=m}function u(c){function m(v){const P=[];for(const g of v.items)"type"in g&&g.type==="group"?P.push(...m(g)):P.push(g);return[...new Set(P)]}return m({items:c})}const d={sortByWithGroups:r,toggleGroup:s,opened:l,groupBy:a,extractRows:u,isGroupOpen:o};return K(ct,d),d}function ft(){const e=Y(ct);if(!e)throw new Error("Missing group!");return e}function Ya(e,n){if(!e.length)return[];const a=new Map;for(const t of e){const l=ue(t.raw,n);a.has(l)||a.set(l,[]),a.get(l).push(t)}return a}function vt(e,n){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!n.length)return[];const l=Ya(e,n[0]),r=[],o=n.slice(1);return l.forEach((s,u)=>{const d=n[0],c=`${t}_${d}_${u}`;r.push({depth:a,id:c,key:d,value:u,items:o.length?vt(s,o,a+1,c):s,type:"group"})}),r}function mt(e,n,a){const t=[];for(const l of e)"type"in l&&l.type==="group"?(l.value!=null&&t.push(l),(n.has(l.id)||l.value==null)&&(t.push(...mt(l.items,n,a)),a&&t.push({...l,type:"group-summary"}))):t.push(l);return t}function Xa(e,n,a,t){return{flatItems:p(()=>{if(!n.value.length)return e.value;const r=vt(e.value,n.value.map(o=>o.key));return mt(r,a.value,zt(t))})}}const gt=C({item:{type:Object,required:!0},groupCollapseIcon:{type:N,default:"$tableGroupCollapse"},groupExpandIcon:{type:N,default:"$tableGroupExpand"},...me()},"VDataTableGroupHeaderRow"),za=R()({name:"VDataTableGroupHeaderRow",props:gt(),setup(e,n){let{slots:a}=n;const{isGroupOpen:t,toggleGroup:l,extractRows:r}=ft(),{isSelected:o,isSomeSelected:s,select:u}=he(),{columns:d}=ge(),c=p(()=>r([e.item])),m=B(()=>d.value.length-(d.value.some(v=>v.key==="data-table-select")?1:0));return()=>w("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[d.value.map(v=>{var P,g;if(v.key==="data-table-group"){const b=t(e.item)?e.groupCollapseIcon:e.groupExpandIcon,f=()=>l(e.item);return((P=a["data-table-group"])==null?void 0:P.call(a,{item:e.item,count:c.value.length,props:{icon:b,onClick:f}}))??T(ee,{class:"v-data-table-group-header-row__column",colspan:m.value},{default:()=>[T(ie,{size:"small",variant:"text",icon:b,onClick:f},null),w("span",null,[e.item.value]),w("span",null,[Fe("("),c.value.length,Fe(")")])]})}else if(v.key==="data-table-select"){const b=c.value.filter(I=>I.selectable),f=b.length>0&&o(b),k=s(b)&&!f,i=I=>u(b,I);return((g=a["data-table-select"])==null?void 0:g.call(a,{props:{modelValue:f,indeterminate:k,"onUpdate:modelValue":i}}))??T(ee,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[T(de,{density:e.density,disabled:b.length===0,modelValue:f,indeterminate:k,"onUpdate:modelValue":i},null)]})}return""})])}}),Ka=C({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),ht=Symbol.for("vuetify:datatable:expanded");function qa(e){const n=B(()=>e.expandOnClick),a=z(e,"expanded",e.expanded,s=>new Set(s),s=>[...s.values()]);function t(s,u){const d=new Set(a.value),c=le(s.value);if(u)d.add(c);else{const m=[...a.value].find(v=>le(v)===c);d.delete(m)}a.value=d}function l(s){const u=le(s.value);return[...a.value].some(d=>le(d)===u)}function r(s){t(s,!l(s))}const o={expand:t,expanded:a,expandOnClick:n,isExpanded:l,toggleExpand:r};return K(ht,o),o}function bt(){const e=Y(ht);if(!e)throw new Error("foo");return e}const yt=C({color:String,index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:N,default:"$collapse"},expandIcon:{type:N,default:"$expand"},onClick:xe(),onContextmenu:xe(),onDblclick:xe(),...me(),...Ie()},"VDataTableRow"),Ua=R()({name:"VDataTableRow",props:yt(),setup(e,n){let{slots:a}=n;const{displayClasses:t,mobile:l}=ke(e,"v-data-table__tr"),{isSelected:r,toggleSelect:o,someSelected:s,allSelected:u,selectAll:d}=he(),{isExpanded:c,toggleExpand:m}=bt(),{toggleSort:v,sortBy:P,isSorted:g}=it(),{columns:b}=ge();W(()=>w("tr",{class:j(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},t.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&b.value.map((f,k)=>{const i=e.item,I=`item.${f.key}`,x=`header.${f.key}`,y={index:e.index,item:i.raw,internalItem:i,value:ue(i.columns,f.key),column:f,isSelected:r,toggleSelect:o,isExpanded:c,toggleExpand:m},S={column:f,selectAll:d,isSorted:g,toggleSort:v,sortBy:P.value,someSelected:s.value,allSelected:u.value,getSortIcon:()=>""},_=typeof e.cellProps=="function"?e.cellProps({index:y.index,item:y.item,internalItem:y.internalItem,value:y.value,column:f}):e.cellProps,F=typeof f.cellProps=="function"?f.cellProps({index:y.index,item:y.item,internalItem:y.internalItem,value:y.value}):f.cellProps,V=f.key==="data-table-select"||f.key==="data-table-expand",h=f.key==="data-table-group"&&f.width===0&&!f.title;return T(ee,O({align:f.align,indent:f.indent,class:{"v-data-table__td--expanded-row":f.key==="data-table-expand","v-data-table__td--select-row":f.key==="data-table-select"},fixed:f.fixed,fixedOffset:f.fixedOffset,fixedEndOffset:f.fixedEndOffset,lastFixed:f.lastFixed,firstFixedEnd:f.firstFixedEnd,maxWidth:l.value?void 0:f.maxWidth,noPadding:V,empty:h,nowrap:f.nowrap,width:l.value?void 0:f.width},_,F),{default:()=>{var A,L,X,q;if(f.key==="data-table-select")return((A=a["item.data-table-select"])==null?void 0:A.call(a,{...y,props:{color:e.color,disabled:!i.selectable,modelValue:r([i]),onClick:oe(()=>o(i),["stop"])}}))??T(de,{color:e.color,disabled:!i.selectable,density:e.density,modelValue:r([i]),onClick:oe(H=>o(i,e.index,H),["stop"])},null);if(f.key==="data-table-expand")return((L=a["item.data-table-expand"])==null?void 0:L.call(a,{...y,props:{icon:c(i)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:oe(()=>m(i),["stop"])}}))??T(ie,{icon:c(i)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:oe(()=>m(i),["stop"])},null);if(a[I]&&!l.value)return a[I](y);const D=Kt(y.value);return l.value?w(Q,null,[w("div",{class:"v-data-table__td-title"},[((X=a[x])==null?void 0:X.call(a,S))??f.title]),w("div",{class:"v-data-table__td-value"},[((q=a[I])==null?void 0:q.call(a,y))??D])]):D}})})]))}}),xt=C({color:String,loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...Se(yt(),["collapseIcon","expandIcon","density"]),...Se(gt(),["groupCollapseIcon","groupExpandIcon","density"]),...Ie()},"VDataTableRows"),Ne=R()({name:"VDataTableRows",inheritAttrs:!1,props:xt(),setup(e,n){let{attrs:a,slots:t}=n;const{columns:l}=ge(),{expandOnClick:r,toggleExpand:o,isExpanded:s}=bt(),{isSelected:u,toggleSelect:d}=he(),{toggleGroup:c,isGroupOpen:m}=ft(),{t:v}=te(),{mobile:P}=ke(e);return W(()=>{var b,f;const g=Se(e,["groupCollapseIcon","groupExpandIcon","density"]);return e.loading&&(!e.items.length||t.loading)?w("tr",{class:"v-data-table-rows-loading",key:"loading"},[w("td",{colspan:l.value.length},[((b=t.loading)==null?void 0:b.call(t))??v(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?w("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[w("td",{colspan:l.value.length},[((f=t["no-data"])==null?void 0:f.call(t))??v(e.noDataText)])]):w(Q,null,[e.items.map((k,i)=>{var y,S;if(k.type==="group"){const _={index:i,item:k,columns:l.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:d,toggleGroup:c,isGroupOpen:m};return t["group-header"]?t["group-header"](_):T(za,O({key:`group-header_${k.id}`,item:k},Re(a,":groupHeader",()=>_),g),t)}if(k.type==="group-summary"){const _={index:i,item:k,columns:l.value,toggleGroup:c};return((y=t["group-summary"])==null?void 0:y.call(t,_))??""}const I={index:k.virtualIndex??i,item:k.raw,internalItem:k,columns:l.value,isExpanded:s,toggleExpand:o,isSelected:u,toggleSelect:d},x={...I,props:O({key:`item_${k.key??k.index}`,onClick:r.value?()=>{o(k)}:void 0,index:i,item:k,color:e.color,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:P.value},Re(a,":row",()=>I),typeof e.rowProps=="function"?e.rowProps({item:I.item,index:I.index,internalItem:I.internalItem}):e.rowProps)};return w(Q,{key:x.props.key},[t.item?t.item(x):T(Ua,x.props,t),s(k)&&((S=t["expanded-row"])==null?void 0:S.call(t,I))])})])}),{}}}),St=C({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...Te(),...me(),...Ke(),...ze()},"VTable"),We=R()({name:"VTable",props:St(),setup(e,n){let{slots:a,emit:t}=n;const{themeClasses:l}=Xe(e),{densityClasses:r}=qt(e);return W(()=>T(e.tag,{class:j(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!a.top,"v-table--has-bottom":!!a.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},l.value,r.value,e.class]),style:ve(e.style)},{default:()=>{var o,s,u;return[(o=a.top)==null?void 0:o.call(a),a.default?w("div",{class:"v-table__wrapper",style:{height:E(e.height)}},[w("table",null,[a.default()])]):(s=a.wrapper)==null?void 0:s.call(a),(u=a.bottom)==null?void 0:u.call(a)]}})),{}}}),Ja=C({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function Qa(e,n,a,t){const l=e.returnObject?n:re(n,e.itemValue),r=re(n,e.itemSelectable,!0),o=t.reduce((s,u)=>(u.key!=null&&(s[u.key]=re(n,u.value)),s),{});return{type:"item",key:e.returnObject?re(n,e.itemValue):l,index:a,value:l,selectable:r,columns:o,raw:n}}function Za(e,n,a){return n.map((t,l)=>Qa(e,t,l,a))}function en(e,n){return{items:p(()=>Za(e,e.items,n.value))}}function tn(e){let{page:n,itemsPerPage:a,sortBy:t,groupBy:l,search:r}=e;const o=je("VDataTable"),s=()=>({page:n.value,itemsPerPage:a.value,sortBy:t.value,groupBy:l.value,search:r.value});let u=null;ce(s,d=>{Ye(u,d)||(u&&u.search!==d.search&&(n.value=1),o.emit("update:options",d),u=d)},{deep:!0,immediate:!0})}const an=C({...xt(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...Ka(),...Ga(),...Ta(),...Ja(),...Oa(),...Ra(),...fe(dt(),["multiSort","initialSortOrder"]),...St()},"DataTable"),nn=C({...Sa(),...an(),...ca(),...Ze()},"VDataTable"),vn=R()({name:"VDataTable",props:nn(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,n){let{attrs:a,slots:t}=n;const{groupBy:l}=Ma(e),{initialSortOrder:r,sortBy:o,multiSort:s,mustSort:u}=Ha(e),{page:d,itemsPerPage:c}=wa(e),{disableSort:m}=Ut(e),{columns:v,headers:P,sortFunctions:g,sortRawFunctions:b,filterFunctions:f}=Ba(e,{groupBy:l,showSelect:B(()=>e.showSelect),showExpand:B(()=>e.showExpand)}),{items:k}=en(e,v),i=B(()=>e.search),{filteredItems:I}=da(e,k,i,{transform:G=>G.columns,customKeyFilter:f}),{toggleSort:x}=Na({initialSortOrder:r,sortBy:o,multiSort:s,mustSort:u,page:d}),{sortByWithGroups:y,opened:S,extractRows:_,isGroupOpen:F,toggleGroup:V}=ja({groupBy:l,sortBy:o,disableSort:m}),{sortedItems:h}=Wa(e,I,y,{transform:G=>({...G.raw,...G.columns}),sortFunctions:g,sortRawFunctions:b}),{flatItems:D}=Xa(h,l,S,()=>!!t["group-summary"]),A=p(()=>D.value.length),{startIndex:L,stopIndex:X,pageCount:q,setItemsPerPage:H}=Pa({page:d,itemsPerPage:c,itemsLength:A}),{paginatedItems:U}=Ia({items:D,startIndex:L,stopIndex:X,itemsPerPage:c}),J=p(()=>_(U.value)),{isSelected:be,select:Tt,selectAll:pt,toggleSelect:Vt,someSelected:Dt,allSelected:_t}=Aa(e,{allItems:k,currentPage:J}),{isExpanded:Ct,toggleExpand:Bt}=qa(e);tn({page:d,itemsPerPage:c,sortBy:o,groupBy:l,search:i}),Jt({VDataTableRows:{hideNoData:B(()=>e.hideNoData),noDataText:B(()=>e.noDataText),loading:B(()=>e.loading),loadingText:B(()=>e.loadingText)}});const $=p(()=>({page:d.value,itemsPerPage:c.value,sortBy:o.value,pageCount:q.value,toggleSort:x,setItemsPerPage:H,someSelected:Dt.value,allSelected:_t.value,isSelected:be,select:Tt,selectAll:pt,toggleSelect:Vt,isExpanded:Ct,toggleExpand:Bt,isGroupOpen:F,toggleGroup:V,items:J.value.map(G=>G.raw),internalItems:J.value,groupedItems:U.value,columns:v.value,headers:P.value}));return W(()=>{const G=He.filterProps(e),Et=$e.filterProps(fe(e,["multiSort"])),Ft=Ne.filterProps(e),Ot=We.filterProps(e);return T(We,O({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},Ot,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var Z;return(Z=t.top)==null?void 0:Z.call(t,$.value)},default:()=>{var Z,Ve,De,_e,Ce,Be;return t.default?t.default($.value):w(Q,null,[(Z=t.colgroup)==null?void 0:Z.call(t,$.value),!e.hideDefaultHeader&&w("thead",{key:"thead"},[T($e,O(Et,{multiSort:!!e.multiSort}),t)]),(Ve=t.thead)==null?void 0:Ve.call(t,$.value),!e.hideDefaultBody&&w("tbody",null,[(De=t["body.prepend"])==null?void 0:De.call(t,$.value),t.body?t.body($.value):T(Ne,O(a,Ft,{items:U.value}),t),(_e=t["body.append"])==null?void 0:_e.call(t,$.value)]),(Ce=t.tbody)==null?void 0:Ce.call(t,$.value),(Be=t.tfoot)==null?void 0:Be.call(t,$.value)])},bottom:()=>t.bottom?t.bottom($.value):!e.hideDefaultFooter&&w(Q,null,[T(Qt,null,null),T(He,G,{prepend:t["footer.prepend"]})])})}),{}}}),ln=Symbol.for("vuetify:v-tabs"),wt=Symbol.for("vuetify:v-window"),Pt=Symbol.for("vuetify:v-window-group"),kt=C({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},crossfade:Boolean,transitionDuration:Number,...Te(),...Ke(),...ze()},"VWindow"),Le=R()({name:"VWindow",directives:{vTouch:we},props:kt(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:a}=n;const{themeClasses:t}=Xe(e),{isRtl:l}=Zt(),{t:r}=te(),o=ea(e,Pt),s=M(),u=p(()=>l.value?!e.reverse:e.reverse),d=se(!1),c=p(()=>{if(e.crossfade)return"v-window-crossfade-transition";const x=e.direction==="vertical"?"y":"x",S=(u.value?!d.value:d.value)?"-reverse":"";return`v-window-${x}${S}-transition`}),m=se(0),v=M(void 0),P=p(()=>o.items.value.findIndex(x=>o.selected.value.includes(x.id)));ce(P,(x,y)=>{let S;const _={left:0,top:0};Oe&&y>=0&&(S=ta(s.value),_.left=S==null?void 0:S.scrollLeft,_.top=S==null?void 0:S.scrollTop);const F=o.items.value.length,V=F-1;F<=2?d.value=x{if(!Oe||!S)return;S.scrollTop!==_.top&&S.scrollTo({..._,behavior:"instant"}),requestAnimationFrame(()=>{if(!S)return;S.scrollTop!==_.top&&S.scrollTo({..._,behavior:"instant"})})})},{flush:"sync"}),K(wt,{transition:c,isReversed:d,transitionCount:m,transitionHeight:v,rootRef:s});const g=B(()=>e.continuous||P.value!==0),b=B(()=>e.continuous||P.value!==o.items.value.length-1);function f(){g.value&&o.prev()}function k(){b.value&&o.next()}const i=p(()=>{const x=[],y={icon:l.value?e.nextIcon:e.prevIcon,class:`v-window__${u.value?"right":"left"}`,onClick:o.prev,"aria-label":r("$vuetify.carousel.prev")};x.push(g.value?a.prev?a.prev({props:y}):T(ie,y,null):w("div",null,null));const S={icon:l.value?e.prevIcon:e.nextIcon,class:`v-window__${u.value?"left":"right"}`,onClick:o.next,"aria-label":r("$vuetify.carousel.next")};return x.push(b.value?a.next?a.next({props:S}):T(ie,S,null):w("div",null,null)),x}),I=p(()=>e.touch===!1?e.touch:{...{left:()=>{u.value?f():k()},right:()=>{u.value?k():f()},start:y=>{let{originalEvent:S}=y;S.stopPropagation()}},...e.touch===!0?{}:e.touch});return W(()=>Ue(T(e.tag,{ref:s,class:j(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},t.value,e.class]),style:ve([e.style,{"--v-window-transition-duration":aa()?null:E(e.transitionDuration,"ms")}])},{default:()=>{var x,y;return[w("div",{class:"v-window__container",style:{height:v.value}},[(x=a.default)==null?void 0:x.call(a,{group:o}),e.showArrows!==!1&&w("div",{class:j(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}])},[i.value])]),(y=a.additional)==null?void 0:y.call(a,{group:o})]}}),[[we,I.value]])),{group:o}}}),on=C({...fe(kt(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),mn=R()({name:"VTabsWindow",props:on(),emits:{"update:modelValue":e=>!0},setup(e,n){let{slots:a}=n;const t=Y(ln,null),l=z(e,"modelValue"),r=p({get(){var o;return l.value!=null||!t?l.value:(o=t.items.value.find(s=>t.selected.value.includes(s.id)))==null?void 0:o.value},set(o){l.value=o}});return W(()=>{const o=Le.filterProps(e);return T(Le,O({_as:"VTabsWindow"},o,{modelValue:r.value,"onUpdate:modelValue":s=>r.value=s,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),a)}),{}}}),It=C({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...Te(),...ia(),...ua()},"VWindowItem"),Ge=R()({name:"VWindowItem",directives:{vTouch:we},props:It(),emits:{"group:selected":e=>!0},setup(e,n){let{slots:a}=n;const t=Y(wt),l=na(e,Pt),{isBooted:r}=la();if(!t||!l)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const o=se(!1),s=p(()=>r.value&&(t.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function u(){!o.value||!t||(o.value=!1,t.transitionCount.value>0&&(t.transitionCount.value-=1,t.transitionCount.value===0&&(t.transitionHeight.value=void 0)))}function d(){var g;o.value||!t||(o.value=!0,t.transitionCount.value===0&&(t.transitionHeight.value=E((g=t.rootRef.value)==null?void 0:g.clientHeight)),t.transitionCount.value+=1)}function c(){u()}function m(g){o.value&&qe(()=>{!s.value||!o.value||!t||(t.transitionHeight.value=E(g.clientHeight))})}const v=p(()=>{const g=t.isReversed.value?e.reverseTransition:e.transition;return s.value?{name:typeof g!="string"?t.transition.value:g,onBeforeEnter:d,onAfterEnter:u,onEnterCancelled:c,onBeforeLeave:d,onAfterLeave:u,onLeaveCancelled:c,onEnter:m}:!1}),{hasContent:P}=oa(e,l.isSelected);return W(()=>T(sa,{transition:v.value,disabled:!r.value},{default:()=>{var g;return[Ue(w("div",{class:j(["v-window-item",l.selectedClass.value,e.class]),style:ve(e.style)},[P.value&&((g=a.default)==null?void 0:g.call(a))]),[[ra,l.isSelected.value]])]}})),{groupItem:l}}}),rn=C({...It()},"VTabsWindowItem"),gn=R()({name:"VTabsWindowItem",props:rn(),setup(e,n){let{slots:a}=n;return W(()=>{const t=Ge.filterProps(e);return T(Ge,O({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),a)}),{}}});export{ln as V,gn as a,mn as b,Le as c,Ge as d,vn as e,We as f}; diff --git a/assets/VTextField-C6VOv1Py.js b/assets/VTextField-C579e7l1.js similarity index 63% rename from assets/VTextField-C6VOv1Py.js rename to assets/VTextField-C579e7l1.js index 15606de..c54f1bc 100644 --- a/assets/VTextField-C6VOv1Py.js +++ b/assets/VTextField-C579e7l1.js @@ -1 +1 @@ -import{g as J,p as E,b as G,i as r,n as H,d as W,bj as ve,h as Z,b0 as q,aq as Te,c as C,E as ee,v as Le,ay as he,aA as Ce,a1 as m,a$ as Ve,bi as xe,U as ke,as as te,cG as Ie,ar as ue,au as I,bO as Se,ae as X,a0 as K,av as se,bT as Ne,cH as Oe,bm as oe,bY as ze,cI as Ue,$ as Ke,Z as je,by as ge,ax as ne,ah as We,aG as qe,bo as _e,b7 as Be,e as He,aL as Je,aK as Ge,a_ as ae,f as Ye,I as fe,J as Pe,c3 as Xe,be as Ze,aB as Qe,cb as pe,cJ as ea,aE as aa,aF as la,aJ as ta,c4 as na,aW as ia,cE as sa,F as ie,bk as ua,c5 as oa,b5 as me,at as ra,aC as da,cK as ca,aw as va}from"./index-Ck0Pnd4f.js";const fa=E({text:String,onClick:q(),...Z(),...ve()},"VLabel"),ga=J()({name:"VLabel",props:fa(),setup(e,n){let{slots:u}=n;return G(()=>{var t;return r("label",{class:W(["v-label",{"v-label--clickable":!!e.onClick},e.class]),style:H(e.style),onClick:e.onClick},[e.text,(t=u.default)==null?void 0:t.call(u)])}),{}}});function we(e){const{t:n}=Te();function u(t){let{name:l,color:a,...y}=t;const b={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[l],x=e[`onClick:${l}`];function S(s){s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),s.stopPropagation(),he(x,new PointerEvent("click",s)))}const o=x&&b?n(`$vuetify.input.${b}`,e.label??""):void 0;return C(Le,ee({icon:e[`${l}Icon`],"aria-label":o,onClick:x,onKeydown:S,color:a},y),null)}return{InputIcon:u}}const ma=E({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...Z(),...xe({transition:{component:ke,leaveAbsolute:!0,group:!0}})},"VMessages"),ya=J()({name:"VMessages",props:ma(),setup(e,n){let{slots:u}=n;const t=m(()=>te(e.messages)),{textColorClasses:l,textColorStyles:a}=Ce(()=>e.color);return G(()=>C(Ve,{transition:e.transition,tag:"div",class:W(["v-messages",l.value,e.class]),style:H([a.value,e.style])},{default:()=>[e.active&&t.value.map((y,b)=>r("div",{class:"v-messages__message",key:`${b}-${t.value}`},[u.message?u.message({message:y}):y]))]})),{}}}),Fe=E({focused:Boolean,"onUpdate:focused":q()},"focus");function $e(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ie();const u=ue(e,"focused"),t=I(()=>({[`${n}--focused`]:u.value}));function l(){u.value=!0}function a(){u.value=!1}return{focusClasses:t,isFocused:u,focus:l,blur:a}}const Me=Symbol.for("vuetify:form"),Aa=E({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Da(e){const n=ue(e,"modelValue"),u=I(()=>e.disabled),t=I(()=>e.readonly),l=se(!1),a=K([]),y=K([]);async function b(){const o=[];let s=!0;y.value=[],l.value=!0;for(const d of a.value){const c=await d.validate();if(c.length>0&&(s=!1,o.push({id:d.id,errorMessages:c})),!s&&e.fastFail)break}return y.value=o,l.value=!1,{valid:s,errors:y.value}}function x(){a.value.forEach(o=>o.reset())}function S(){a.value.forEach(o=>o.resetValidation())}return X(a,()=>{let o=0,s=0;const d=[];for(const c of a.value)c.isValid===!1?(s++,d.push({id:c.id,errorMessages:c.errorMessages})):c.isValid===!0&&o++;y.value=d,n.value=s>0?!1:o===a.value.length?!0:null},{deep:!0,flush:"post"}),Ne(Me,{register:o=>{let{id:s,vm:d,validate:c,reset:V,resetValidation:P}=o;a.value.some(h=>h.id===s),a.value.push({id:s,validate:c,reset:V,resetValidation:P,vm:Oe(d),isValid:null,errorMessages:[]})},unregister:o=>{a.value=a.value.filter(s=>s.id!==o)},update:(o,s,d)=>{const c=a.value.find(V=>V.id===o);c&&(c.isValid=s,c.errorMessages=d)},isDisabled:u,isReadonly:t,isValidating:l,isValid:n,items:a,validateOn:I(()=>e.validateOn)}),{errors:y,isDisabled:u,isReadonly:t,isValidating:l,isValid:n,items:a,validate:b,reset:x,resetValidation:S}}function ba(e){const n=Se(Me,null);return{...n,isReadonly:m(()=>!!((e==null?void 0:e.readonly)??(n==null?void 0:n.isReadonly.value))),isDisabled:m(()=>!!((e==null?void 0:e.disabled)??(n==null?void 0:n.isDisabled.value)))}}const ha=Symbol.for("vuetify:rules");function Ca(e){const n=Se(ha,null);if(!e){if(!n)throw new Error("Could not find Vuetify rules injection");return n.aliases}return(n==null?void 0:n.resolve(e))??I(e)}const Va=E({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...Fe()},"validation");function xa(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ie(),u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:oe();const t=ue(e,"modelValue"),l=m(()=>e.validationValue===void 0?t.value:e.validationValue),a=ba(e),y=Ca(()=>e.rules),b=K([]),x=se(!0),S=m(()=>!!(te(t.value===""?null:t.value).length||te(l.value===""?null:l.value).length)),o=m(()=>{var i;return(i=e.errorMessages)!=null&&i.length?te(e.errorMessages).concat(b.value).slice(0,Math.max(0,Number(e.maxErrors))):b.value}),s=m(()=>{var $;let i=(e.validateOn??(($=a.validateOn)==null?void 0:$.value))||"input";i==="lazy"&&(i="input lazy"),i==="eager"&&(i="input eager");const f=new Set((i==null?void 0:i.split(" "))??[]);return{input:f.has("input"),blur:f.has("blur")||f.has("input")||f.has("invalid-input"),invalidInput:f.has("invalid-input"),lazy:f.has("lazy"),eager:f.has("eager")}}),d=m(()=>{var i;return e.error||(i=e.errorMessages)!=null&&i.length?!1:e.rules.length?x.value?b.value.length||s.value.lazy?null:!0:!b.value.length:!0}),c=se(!1),V=m(()=>({[`${n}--error`]:d.value===!1,[`${n}--dirty`]:S.value,[`${n}--disabled`]:a.isDisabled.value,[`${n}--readonly`]:a.isReadonly.value})),P=ze("validation"),h=m(()=>e.name??We(u));Ue(()=>{var i;(i=a.register)==null||i.call(a,{id:h.value,vm:P,validate:B,reset:L,resetValidation:k})}),Ke(()=>{var i;(i=a.unregister)==null||i.call(a,h.value)}),je(async()=>{var i;s.value.lazy||await B(!s.value.eager),(i=a.update)==null||i.call(a,h.value,d.value,o.value)}),ge(()=>s.value.input||s.value.invalidInput&&d.value===!1,()=>{X(l,()=>{if(l.value!=null)B();else if(e.focused){const i=X(()=>e.focused,f=>{f||B(),i()})}})}),ge(()=>s.value.blur,()=>{X(()=>e.focused,i=>{i||B()})}),X([d,o],()=>{var i;(i=a.update)==null||i.call(a,h.value,d.value,o.value)});async function L(){t.value=null,await ne(),await k()}async function k(){x.value=!0,s.value.lazy?b.value=[]:await B(!s.value.eager)}async function B(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const f=[];c.value=!0;for(const $ of y.value){if(f.length>=Number(e.maxErrors??1))break;const v=await(typeof $=="function"?$:()=>$)(l.value);if(v!==!0){if(v!==!1&&typeof v!="string"){console.warn(`${v} is not a valid value. Rule functions must return boolean true or a string.`);continue}f.push(v||"")}}return b.value=f,c.value=!1,x.value=i,b.value}return{errorMessages:o,isDirty:S,isDisabled:a.isDisabled,isReadonly:a.isReadonly,isPristine:x,isValid:d,isValidating:c,reset:L,resetValidation:k,validate:B,validationClasses:V}}const Ae=E({id:String,appendIcon:ae,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:ae,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":q(),"onClick:append":q(),...Z(),...Ge(),...Je(Ye(),["maxWidth","minWidth","width"]),...ve(),...Va()},"VInput"),ye=J()({name:"VInput",props:{...Ae()},emits:{"update:modelValue":e=>!0},setup(e,n){let{attrs:u,slots:t,emit:l}=n;const{densityClasses:a}=qe(e),{dimensionStyles:y}=He(e),{themeClasses:b}=_e(e),{rtlClasses:x}=Be(),{InputIcon:S}=we(e),o=oe(),s=m(()=>e.id||`input-${o}`),{errorMessages:d,isDirty:c,isDisabled:V,isReadonly:P,isPristine:h,isValid:L,isValidating:k,reset:B,resetValidation:i,validate:f,validationClasses:$}=xa(e,"v-input",s),g=m(()=>{var _;return(_=e.errorMessages)!=null&&_.length||!h.value&&d.value.length?d.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages}),v=I(()=>g.value.length>0),w=I(()=>!e.hideDetails||e.hideDetails==="auto"&&(v.value||!!t.details)),N=m(()=>w.value?`${s.value}-messages`:void 0),T=m(()=>({id:s,messagesId:N,isDirty:c,isDisabled:V,isReadonly:P,isPristine:h,isValid:L,isValidating:k,hasDetails:w,reset:B,resetValidation:i,validate:f})),O=I(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),D=I(()=>{if(e.iconColor)return e.iconColor===!0?O.value:e.iconColor});return G(()=>{var M,F;const _=!!(t.prepend||e.prependIcon),R=!!(t.append||e.appendIcon);return r("div",{class:W(["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons},a.value,b.value,x.value,$.value,e.class]),style:H([y.value,e.style])},[_&&r("div",{key:"prepend",class:"v-input__prepend"},[t.prepend?t.prepend(T.value):e.prependIcon&&C(S,{key:"prepend-icon",name:"prepend",color:D.value},null)]),t.default&&r("div",{class:"v-input__control"},[(M=t.default)==null?void 0:M.call(t,T.value)]),R&&r("div",{key:"append",class:"v-input__append"},[t.append?t.append(T.value):e.appendIcon&&C(S,{key:"append-icon",name:"append",color:D.value},null)]),w.value&&r("div",{id:N.value,class:"v-input__details",role:"alert","aria-live":"polite"},[C(ya,{active:v.value,messages:g.value},{message:t.message}),(F=t.details)==null?void 0:F.call(t,T.value)])])}),{reset:B,resetValidation:i,validate:f,isValid:L,errorMessages:d}}}),ka=E({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...Z(),...xe({transition:{component:ke}})},"VCounter"),Ia=J()({name:"VCounter",functional:!0,props:ka(),setup(e,n){let{slots:u}=n;const t=I(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return G(()=>C(Ve,{transition:e.transition},{default:()=>[fe(r("div",{class:W(["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:H(e.style)},[u.default?u.default({counter:t.value,max:e.max,value:e.value}):t.value]),[[Pe,e.active]])]})),{}}}),Sa=E({floating:Boolean,...Z()},"VFieldLabel"),le=J()({name:"VFieldLabel",props:Sa(),setup(e,n){let{slots:u}=n;return G(()=>C(ga,{class:W(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:H(e.style)},u)),{}}}),_a=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],De=E({appendInnerIcon:ae,bgColor:String,clearable:Boolean,clearIcon:{type:ae,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:ae,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>_a.includes(e)},"onClick:clear":q(),"onClick:appendInner":q(),"onClick:prependInner":q(),...Z(),...oa(),...ua(),...ve()},"VField"),be=J()({name:"VField",inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...Fe(),...De()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{attrs:u,emit:t,slots:l}=n;const{themeClasses:a}=_e(e),{loaderClasses:y}=Xe(e),{focusClasses:b,isFocused:x,focus:S,blur:o}=$e(e),{InputIcon:s}=we(e),{roundedClasses:d}=Ze(e),{rtlClasses:c}=Be(),V=I(()=>e.dirty||e.active),P=I(()=>!!(e.label||l.label)),h=I(()=>!e.singleLine&&P.value),L=oe(),k=m(()=>e.id||`input-${L}`),B=I(()=>e.details?`${k.value}-messages`:void 0),i=K(),f=K(),$=K(),g=m(()=>["plain","underlined"].includes(e.variant)),v=m(()=>e.error||e.disabled?void 0:V.value&&x.value?e.color:e.baseColor),w=m(()=>{if(!(!e.iconColor||e.glow&&!x.value))return e.iconColor===!0?v.value:e.iconColor}),{backgroundColorClasses:N,backgroundColorStyles:T}=Qe(()=>e.bgColor),{textColorClasses:O,textColorStyles:D}=Ce(v);X(V,M=>{if(h.value&&!pe()){const F=i.value.$el,z=f.value.$el;requestAnimationFrame(()=>{const U=ea(F),A=z.getBoundingClientRect(),Y=A.x-U.x,j=A.y-U.y-(U.height/2-A.height/2),Q=A.width/.75,re=Math.abs(Q-U.width)>1?{maxWidth:ta(Q)}:void 0,de=getComputedStyle(F),p=getComputedStyle(z),ce=parseFloat(de.transitionDuration)*1e3||150,Re=parseFloat(p.getPropertyValue("--v-field-label-scale")),Ee=p.getPropertyValue("color");F.style.visibility="visible",z.style.visibility="hidden",aa(F,{transform:`translate(${Y}px, ${j}px) scale(${Re})`,color:Ee,...re},{duration:ce,easing:la,direction:M?"normal":"reverse"}).finished.then(()=>{F.style.removeProperty("visibility"),z.style.removeProperty("visibility")})})}},{flush:"post"});const _=m(()=>({isActive:V,isFocused:x,controlRef:$,iconColor:w,blur:o,focus:S}));function R(M){M.target!==document.activeElement&&M.preventDefault()}return G(()=>{var Y;const M=e.variant==="outlined",F=!!(l["prepend-inner"]||e.prependInnerIcon),z=!!(e.clearable||l.clear)&&!e.disabled,U=!!(l["append-inner"]||e.appendInnerIcon||z),A=()=>l.label?l.label({..._.value,label:e.label,props:{for:k.value}}):e.label;return r("div",ee({class:["v-field",{"v-field--active":V.value,"v-field--appended":U,"v-field--center-affix":e.centerAffix??!g.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":F,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!A(),[`v-field--variant-${e.variant}`]:!0},a.value,N.value,b.value,y.value,d.value,c.value,e.class],style:[T.value,e.style],onClick:R},u),[r("div",{class:"v-field__overlay"},null),C(na,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:l.loader}),F&&r("div",{key:"prepend",class:"v-field__prepend-inner"},[l["prepend-inner"]?l["prepend-inner"](_.value):e.prependInnerIcon&&C(s,{key:"prepend-icon",name:"prependInner",color:w.value},null)]),r("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&h.value&&C(le,{key:"floating-label",ref:f,class:W([O.value]),floating:!0,for:k.value,"aria-hidden":!V.value,style:H(D.value)},{default:()=>[A()]}),P.value&&C(le,{key:"label",ref:i,id:e.labelId,for:k.value,"aria-hidden":h.value&&V.value},{default:()=>[A()]}),((Y=l.default)==null?void 0:Y.call(l,{..._.value,props:{id:k.value,class:"v-field__input","aria-describedby":B.value},focus:S,blur:o}))??r("div",{id:k.value,class:"v-field__input","aria-describedby":B.value},null)]),z&&C(sa,{key:"clear"},{default:()=>[fe(r("div",{class:"v-field__clearable",onMousedown:j=>{j.preventDefault(),j.stopPropagation()}},[C(ia,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[l.clear?l.clear({..._.value,props:{onFocus:S,onBlur:o,onClick:e["onClick:clear"],tabindex:-1}}):C(s,{name:"clear",onFocus:S,onBlur:o,tabindex:-1},null)]})]),[[Pe,e.dirty]])]}),U&&r("div",{key:"append",class:"v-field__append-inner"},[l["append-inner"]?l["append-inner"](_.value):e.appendInnerIcon&&C(s,{key:"append-icon",name:"appendInner",color:w.value},null)]),r("div",{class:W(["v-field__outline",O.value]),style:H(D.value)},[M&&r(ie,null,[r("div",{class:"v-field__outline__start"},null),h.value&&r("div",{class:"v-field__outline__notch"},[C(le,{ref:f,floating:!0,for:k.value,"aria-hidden":!V.value},{default:()=>[A()]})]),r("div",{class:"v-field__outline__end"},null)]),g.value&&h.value&&C(le,{ref:f,floating:!0,for:k.value,"aria-hidden":!V.value},{default:()=>[A()]})])])}),{controlRef:$,fieldIconColor:w}}}),Ba=E({autocomplete:String},"autocomplete");function Pa(e){const n=oe(),u=se(0),t=I(()=>e.autocomplete==="suppress"),l=I(()=>{if(e.name)return t.value?`${e.name}-${n}-${u.value}`:e.name}),a=I(()=>t.value?"off":e.autocomplete);return{isSuppressing:t,fieldAutocomplete:a,fieldName:l,update:()=>u.value=new Date().getTime()}}function wa(e){function n(u,t){if(!e.autofocus||!u)return;const l=t[0].target,a=l.matches("input,textarea")?l:l.querySelector("input,textarea");a==null||a.focus()}return{onIntersect:n}}const Fa=["color","file","time","date","datetime-local","week","month"],$a=E({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...Ba(),...Ae(),...De()},"VTextField"),Ra=J()({name:"VTextField",directives:{vIntersect:me},inheritAttrs:!1,props:$a(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{attrs:u,emit:t,slots:l}=n;const a=ue(e,"modelValue"),{isFocused:y,focus:b,blur:x}=$e(e),{onIntersect:S}=wa(e),o=m(()=>typeof e.counterValue=="function"?e.counterValue(a.value):typeof e.counterValue=="number"?e.counterValue:(a.value??"").toString().length),s=m(()=>{if(u.maxlength)return u.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),d=m(()=>["plain","underlined"].includes(e.variant)),c=K(),V=K(),P=K(),h=Pa(e),L=m(()=>Fa.includes(e.type)||e.persistentPlaceholder||y.value||e.active);function k(){h.isSuppressing.value&&h.update(),y.value||b(),ne(()=>{var g;P.value!==document.activeElement&&((g=P.value)==null||g.focus())})}function B(g){t("mousedown:control",g),g.target!==P.value&&(k(),g.preventDefault())}function i(g){t("click:control",g)}function f(g,v){g.stopPropagation(),k(),ne(()=>{v(),he(e["onClick:clear"],g)})}function $(g){var O;const v=g.target;if(!((O=e.modelModifiers)!=null&&O.trim&&["text","search","password","tel","url"].includes(e.type))){a.value=v.value;return}const w=v.value,N=v.selectionStart,T=v.selectionEnd;a.value=w,ne(()=>{let D=0;w.trimStart().length===v.value.length&&(D=w.length-v.value.length),N!=null&&(v.selectionStart=N-D),T!=null&&(v.selectionEnd=T-D)})}return G(()=>{const g=!!(l.counter||e.counter!==!1&&e.counter!=null),v=!!(g||l.details),[w,N]=ra(u),{modelValue:T,...O}=ye.filterProps(e),D=be.filterProps(e);return C(ye,ee({ref:c,modelValue:a.value,"onUpdate:modelValue":_=>a.value=_,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":d.value},e.class],style:e.style},w,O,{centerAffix:!d.value,focused:y.value}),{...l,default:_=>{let{id:R,isDisabled:M,isDirty:F,isReadonly:z,isValid:U,hasDetails:A,reset:Y}=_;return C(be,ee({ref:V,onMousedown:B,onClick:i,"onClick:clear":j=>f(j,Y),role:e.role},da(D,["onClick:clear"]),{id:R.value,labelId:`${R.value}-label`,active:L.value||F.value,dirty:F.value||e.dirty,disabled:M.value,focused:y.value,details:A.value,error:U.value===!1}),{...l,default:j=>{let{props:{class:Q,...re},controlRef:de}=j;const p=r("input",ee({ref:ce=>P.value=de.value=ce,value:a.value,onInput:$,autofocus:e.autofocus,readonly:z.value,disabled:M.value,name:h.fieldName.value,autocomplete:h.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:b,onBlur:x,"aria-labelledby":`${R.value}-label`},re,N),null);return r(ie,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[r("span",{class:"v-text-field__prefix__text"},[e.prefix])]),fe(l.default?r("div",{class:W(Q),"data-no-activator":""},[l.default({id:R}),p]):ca(p,{class:Q}),[[me,S,null,{once:!0}]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[r("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:v?_=>{var R;return r(ie,null,[(R=l.details)==null?void 0:R.call(l,_),g&&r(ie,null,[r("span",null,null),C(Ia,{active:e.persistentCounter||y.value,value:o.value,max:s.value,disabled:e.disabled},l.counter)])])}:void 0})}),va({},c,V,P)}});export{Ra as V,ye as a,be as b,Ia as c,Ae as d,we as e,ba as f,$a as g,Da as h,Aa as i,Pa as j,ga as k,wa as l,De as m,Ba as n,$e as u}; +import{g as J,b as G,i as r,n as H,d as W,p as E,bj as ve,h as Z,b0 as q,aq as Le,c as C,E as ee,t as Ne,ax as he,aB as Ce,a$ as Ve,a3 as m,as as te,bi as xe,U as ke,cG as Ie,ar as ue,av as I,bO as Se,ae as X,a2 as K,az as se,bT as Oe,cH as ze,bm as oe,bY as Ue,cI as Ke,$ as je,Z as We,by as ge,aw as ne,ah as qe,aG as He,bo as _e,b7 as Be,e as Je,a_ as ae,aL as Ge,f as Ye,aK as Xe,I as fe,J as Pe,c3 as Ze,be as Qe,aC as pe,cb as ea,cJ as aa,aD as la,aE as ta,aJ as na,c4 as ia,aW as sa,cE as ua,F as ie,bk as oa,c5 as ra,b5 as me,at as da,aA as we,cK as ca,au as va}from"./index-BUM0TY0E.js";const fa=E({text:String,onClick:q(),...Z(),...ve()},"VLabel"),ga=J()({name:"VLabel",props:fa(),setup(e,n){let{slots:u}=n;return G(()=>{var t;return r("label",{class:W(["v-label",{"v-label--clickable":!!e.onClick},e.class]),style:H(e.style),onClick:e.onClick},[e.text,(t=u.default)==null?void 0:t.call(u)])}),{}}});function Fe(e){const{t:n}=Le();function u(t){let{name:l,color:a,...y}=t;const b={prepend:"prependAction",prependInner:"prependAction",append:"appendAction",appendInner:"appendAction",clear:"clear"}[l],x=e[`onClick:${l}`];function S(s){s.key!=="Enter"&&s.key!==" "||(s.preventDefault(),s.stopPropagation(),he(x,new PointerEvent("click",s)))}const o=x&&b?n(`$vuetify.input.${b}`,e.label??""):void 0;return C(Ne,ee({icon:e[`${l}Icon`],"aria-label":o,onClick:x,onKeydown:S,color:a},y),null)}return{InputIcon:u}}const ma=E({active:Boolean,color:String,messages:{type:[Array,String],default:()=>[]},...Z(),...xe({transition:{component:ke,leaveAbsolute:!0,group:!0}})},"VMessages"),ya=J()({name:"VMessages",props:ma(),setup(e,n){let{slots:u}=n;const t=m(()=>te(e.messages)),{textColorClasses:l,textColorStyles:a}=Ce(()=>e.color);return G(()=>C(Ve,{transition:e.transition,tag:"div",class:W(["v-messages",l.value,e.class]),style:H([a.value,e.style])},{default:()=>[e.active&&t.value.map((y,b)=>r("div",{class:"v-messages__message",key:`${b}-${t.value}`},[u.message?u.message({message:y}):y]))]})),{}}}),$e=E({focused:Boolean,"onUpdate:focused":q()},"focus");function De(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ie();const u=ue(e,"focused"),t=I(()=>({[`${n}--focused`]:u.value}));function l(){u.value=!0}function a(){u.value=!1}return{focusClasses:t,isFocused:u,focus:l,blur:a}}const Me=Symbol.for("vuetify:form"),Ma=E({disabled:Boolean,fastFail:Boolean,readonly:Boolean,modelValue:{type:Boolean,default:null},validateOn:{type:String,default:"input"}},"form");function Aa(e){const n=ue(e,"modelValue"),u=I(()=>e.disabled),t=I(()=>e.readonly),l=se(!1),a=K([]),y=K([]);async function b(){const o=[];let s=!0;y.value=[],l.value=!0;for(const d of a.value){const c=await d.validate();if(c.length>0&&(s=!1,o.push({id:d.id,errorMessages:c})),!s&&e.fastFail)break}return y.value=o,l.value=!1,{valid:s,errors:y.value}}function x(){a.value.forEach(o=>o.reset())}function S(){a.value.forEach(o=>o.resetValidation())}return X(a,()=>{let o=0,s=0;const d=[];for(const c of a.value)c.isValid===!1?(s++,d.push({id:c.id,errorMessages:c.errorMessages})):c.isValid===!0&&o++;y.value=d,n.value=s>0?!1:o===a.value.length?!0:null},{deep:!0,flush:"post"}),Oe(Me,{register:o=>{let{id:s,vm:d,validate:c,reset:V,resetValidation:P}=o;a.value.some(h=>h.id===s),a.value.push({id:s,validate:c,reset:V,resetValidation:P,vm:ze(d),isValid:null,errorMessages:[]})},unregister:o=>{a.value=a.value.filter(s=>s.id!==o)},update:(o,s,d)=>{const c=a.value.find(V=>V.id===o);c&&(c.isValid=s,c.errorMessages=d)},isDisabled:u,isReadonly:t,isValidating:l,isValid:n,items:a,validateOn:I(()=>e.validateOn)}),{errors:y,isDisabled:u,isReadonly:t,isValidating:l,isValid:n,items:a,validate:b,reset:x,resetValidation:S}}function ba(e){const n=Se(Me,null);return{...n,isReadonly:m(()=>!!((e==null?void 0:e.readonly)??(n==null?void 0:n.isReadonly.value))),isDisabled:m(()=>!!((e==null?void 0:e.disabled)??(n==null?void 0:n.isDisabled.value)))}}const ha=Symbol.for("vuetify:rules");function Ca(e){const n=Se(ha,null);if(!e){if(!n)throw new Error("Could not find Vuetify rules injection");return n.aliases}return(n==null?void 0:n.resolve(e))??I(e)}const Va=E({disabled:{type:Boolean,default:null},error:Boolean,errorMessages:{type:[Array,String],default:()=>[]},maxErrors:{type:[Number,String],default:1},name:String,label:String,readonly:{type:Boolean,default:null},rules:{type:Array,default:()=>[]},modelValue:null,validateOn:String,validationValue:null,...$e()},"validation");function xa(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Ie(),u=arguments.length>2&&arguments[2]!==void 0?arguments[2]:oe();const t=ue(e,"modelValue"),l=m(()=>e.validationValue===void 0?t.value:e.validationValue),a=ba(e),y=Ca(()=>e.rules),b=K([]),x=se(!0),S=m(()=>!!(te(t.value===""?null:t.value).length||te(l.value===""?null:l.value).length)),o=m(()=>{var i;return(i=e.errorMessages)!=null&&i.length?te(e.errorMessages).concat(b.value).slice(0,Math.max(0,Number(e.maxErrors))):b.value}),s=m(()=>{var $;let i=(e.validateOn??(($=a.validateOn)==null?void 0:$.value))||"input";i==="lazy"&&(i="input lazy"),i==="eager"&&(i="input eager");const f=new Set((i==null?void 0:i.split(" "))??[]);return{input:f.has("input"),blur:f.has("blur")||f.has("input")||f.has("invalid-input"),invalidInput:f.has("invalid-input"),lazy:f.has("lazy"),eager:f.has("eager")}}),d=m(()=>{var i;return e.error||(i=e.errorMessages)!=null&&i.length?!1:e.rules.length?x.value?b.value.length||s.value.lazy?null:!0:!b.value.length:!0}),c=se(!1),V=m(()=>({[`${n}--error`]:d.value===!1,[`${n}--dirty`]:S.value,[`${n}--disabled`]:a.isDisabled.value,[`${n}--readonly`]:a.isReadonly.value})),P=Ue("validation"),h=m(()=>e.name??qe(u));Ke(()=>{var i;(i=a.register)==null||i.call(a,{id:h.value,vm:P,validate:B,reset:L,resetValidation:k})}),je(()=>{var i;(i=a.unregister)==null||i.call(a,h.value)}),We(async()=>{var i;s.value.lazy||await B(!s.value.eager),(i=a.update)==null||i.call(a,h.value,d.value,o.value)}),ge(()=>s.value.input||s.value.invalidInput&&d.value===!1,()=>{X(l,()=>{if(l.value!=null)B();else if(e.focused){const i=X(()=>e.focused,f=>{f||B(),i()})}})}),ge(()=>s.value.blur,()=>{X(()=>e.focused,i=>{i||B()})}),X([d,o],()=>{var i;(i=a.update)==null||i.call(a,h.value,d.value,o.value)});async function L(){t.value=null,await ne(),await k()}async function k(){x.value=!0,s.value.lazy?b.value=[]:await B(!s.value.eager)}async function B(){let i=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1;const f=[];c.value=!0;for(const $ of y.value){if(f.length>=Number(e.maxErrors??1))break;const v=await(typeof $=="function"?$:()=>$)(l.value);if(v!==!0){if(v!==!1&&typeof v!="string"){console.warn(`${v} is not a valid value. Rule functions must return boolean true or a string.`);continue}f.push(v||"")}}return b.value=f,c.value=!1,x.value=i,b.value}return{errorMessages:o,isDirty:S,isDisabled:a.isDisabled,isReadonly:a.isReadonly,isPristine:x,isValid:d,isValidating:c,reset:L,resetValidation:k,validate:B,validationClasses:V}}const Ae=E({id:String,appendIcon:ae,baseColor:String,centerAffix:{type:Boolean,default:!0},color:String,glow:Boolean,iconColor:[Boolean,String],prependIcon:ae,hideDetails:[Boolean,String],hideSpinButtons:Boolean,hint:String,persistentHint:Boolean,messages:{type:[Array,String],default:()=>[]},direction:{type:String,default:"horizontal",validator:e=>["horizontal","vertical"].includes(e)},"onClick:prepend":q(),"onClick:append":q(),...Z(),...Xe(),...Ge(Ye(),["maxWidth","minWidth","width"]),...ve(),...Va()},"VInput"),ye=J()({name:"VInput",props:{...Ae()},emits:{"update:modelValue":e=>!0},setup(e,n){let{attrs:u,slots:t,emit:l}=n;const{densityClasses:a}=He(e),{dimensionStyles:y}=Je(e),{themeClasses:b}=_e(e),{rtlClasses:x}=Be(),{InputIcon:S}=Fe(e),o=oe(),s=m(()=>e.id||`input-${o}`),{errorMessages:d,isDirty:c,isDisabled:V,isReadonly:P,isPristine:h,isValid:L,isValidating:k,reset:B,resetValidation:i,validate:f,validationClasses:$}=xa(e,"v-input",s),g=m(()=>{var _;return(_=e.errorMessages)!=null&&_.length||!h.value&&d.value.length?d.value:e.hint&&(e.persistentHint||e.focused)?e.hint:e.messages}),v=I(()=>g.value.length>0),w=I(()=>!e.hideDetails||e.hideDetails==="auto"&&(v.value||!!t.details)),N=m(()=>w.value?`${s.value}-messages`:void 0),T=m(()=>({id:s,messagesId:N,isDirty:c,isDisabled:V,isReadonly:P,isPristine:h,isValid:L,isValidating:k,hasDetails:w,reset:B,resetValidation:i,validate:f})),O=I(()=>e.error||e.disabled?void 0:e.focused?e.color:e.baseColor),A=I(()=>{if(e.iconColor)return e.iconColor===!0?O.value:e.iconColor});return G(()=>{var D,F;const _=!!(t.prepend||e.prependIcon),R=!!(t.append||e.appendIcon);return r("div",{class:W(["v-input",`v-input--${e.direction}`,{"v-input--center-affix":e.centerAffix,"v-input--focused":e.focused,"v-input--glow":e.glow,"v-input--hide-spin-buttons":e.hideSpinButtons},a.value,b.value,x.value,$.value,e.class]),style:H([y.value,e.style])},[_&&r("div",{key:"prepend",class:"v-input__prepend"},[t.prepend?t.prepend(T.value):e.prependIcon&&C(S,{key:"prepend-icon",name:"prepend",color:A.value},null)]),t.default&&r("div",{class:"v-input__control"},[(D=t.default)==null?void 0:D.call(t,T.value)]),R&&r("div",{key:"append",class:"v-input__append"},[t.append?t.append(T.value):e.appendIcon&&C(S,{key:"append-icon",name:"append",color:A.value},null)]),w.value&&r("div",{id:N.value,class:"v-input__details",role:"alert","aria-live":"polite"},[C(ya,{active:v.value,messages:g.value},{message:t.message}),(F=t.details)==null?void 0:F.call(t,T.value)])])}),{reset:B,resetValidation:i,validate:f,isValid:L,errorMessages:d}}}),ka=E({active:Boolean,disabled:Boolean,max:[Number,String],value:{type:[Number,String],default:0},...Z(),...xe({transition:{component:ke}})},"VCounter"),Ia=J()({name:"VCounter",functional:!0,props:ka(),setup(e,n){let{slots:u}=n;const t=I(()=>e.max?`${e.value} / ${e.max}`:String(e.value));return G(()=>C(Ve,{transition:e.transition},{default:()=>[fe(r("div",{class:W(["v-counter",{"text-error":e.max&&!e.disabled&&parseFloat(e.value)>parseFloat(e.max)},e.class]),style:H(e.style)},[u.default?u.default({counter:t.value,max:e.max,value:e.value}):t.value]),[[Pe,e.active]])]})),{}}}),Sa=E({floating:Boolean,...Z()},"VFieldLabel"),le=J()({name:"VFieldLabel",props:Sa(),setup(e,n){let{slots:u}=n;return G(()=>C(ga,{class:W(["v-field-label",{"v-field-label--floating":e.floating},e.class]),style:H(e.style)},u)),{}}}),_a=["underlined","outlined","filled","solo","solo-inverted","solo-filled","plain"],Re=E({appendInnerIcon:ae,bgColor:String,clearable:Boolean,clearIcon:{type:ae,default:"$clear"},active:Boolean,centerAffix:{type:Boolean,default:void 0},color:String,baseColor:String,dirty:Boolean,disabled:{type:Boolean,default:null},glow:Boolean,error:Boolean,flat:Boolean,iconColor:[Boolean,String],label:String,persistentClear:Boolean,prependInnerIcon:ae,reverse:Boolean,singleLine:Boolean,variant:{type:String,default:"filled",validator:e=>_a.includes(e)},"onClick:clear":q(),"onClick:appendInner":q(),"onClick:prependInner":q(),...Z(),...ra(),...oa(),...ve()},"VField"),be=J()({name:"VField",inheritAttrs:!1,props:{id:String,details:Boolean,labelId:String,...$e(),...Re()},emits:{"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{attrs:u,emit:t,slots:l}=n;const{themeClasses:a}=_e(e),{loaderClasses:y}=Ze(e),{focusClasses:b,isFocused:x,focus:S,blur:o}=De(e),{InputIcon:s}=Fe(e),{roundedClasses:d}=Qe(e),{rtlClasses:c}=Be(),V=I(()=>e.dirty||e.active),P=I(()=>!!(e.label||l.label)),h=I(()=>!e.singleLine&&P.value),L=oe(),k=m(()=>e.id||`input-${L}`),B=I(()=>e.details?`${k.value}-messages`:void 0),i=K(),f=K(),$=K(),g=m(()=>["plain","underlined"].includes(e.variant)),v=m(()=>e.error||e.disabled?void 0:V.value&&x.value?e.color:e.baseColor),w=m(()=>{if(!(!e.iconColor||e.glow&&!x.value))return e.iconColor===!0?v.value:e.iconColor}),{backgroundColorClasses:N,backgroundColorStyles:T}=pe(()=>e.bgColor),{textColorClasses:O,textColorStyles:A}=Ce(v);X(V,D=>{if(h.value&&!ea()){const F=i.value.$el,z=f.value.$el;requestAnimationFrame(()=>{const U=aa(F),M=z.getBoundingClientRect(),Y=M.x-U.x,j=M.y-U.y-(U.height/2-M.height/2),Q=M.width/.75,re=Math.abs(Q-U.width)>1?{maxWidth:na(Q)}:void 0,de=getComputedStyle(F),p=getComputedStyle(z),ce=parseFloat(de.transitionDuration)*1e3||150,Ee=parseFloat(p.getPropertyValue("--v-field-label-scale")),Te=p.getPropertyValue("color");F.style.visibility="visible",z.style.visibility="hidden",la(F,{transform:`translate(${Y}px, ${j}px) scale(${Ee})`,color:Te,...re},{duration:ce,easing:ta,direction:D?"normal":"reverse"}).finished.then(()=>{F.style.removeProperty("visibility"),z.style.removeProperty("visibility")})})}},{flush:"post"});const _=m(()=>({isActive:V,isFocused:x,controlRef:$,iconColor:w,blur:o,focus:S}));function R(D){D.target!==document.activeElement&&D.preventDefault()}return G(()=>{var Y;const D=e.variant==="outlined",F=!!(l["prepend-inner"]||e.prependInnerIcon),z=!!(e.clearable||l.clear)&&!e.disabled,U=!!(l["append-inner"]||e.appendInnerIcon||z),M=()=>l.label?l.label({..._.value,label:e.label,props:{for:k.value}}):e.label;return r("div",ee({class:["v-field",{"v-field--active":V.value,"v-field--appended":U,"v-field--center-affix":e.centerAffix??!g.value,"v-field--disabled":e.disabled,"v-field--dirty":e.dirty,"v-field--error":e.error,"v-field--glow":e.glow,"v-field--flat":e.flat,"v-field--has-background":!!e.bgColor,"v-field--persistent-clear":e.persistentClear,"v-field--prepended":F,"v-field--reverse":e.reverse,"v-field--single-line":e.singleLine,"v-field--no-label":!M(),[`v-field--variant-${e.variant}`]:!0},a.value,N.value,b.value,y.value,d.value,c.value,e.class],style:[T.value,e.style],onClick:R},u),[r("div",{class:"v-field__overlay"},null),C(ia,{name:"v-field",active:!!e.loading,color:e.error?"error":typeof e.loading=="string"?e.loading:e.color},{default:l.loader}),F&&r("div",{key:"prepend",class:"v-field__prepend-inner"},[l["prepend-inner"]?l["prepend-inner"](_.value):e.prependInnerIcon&&C(s,{key:"prepend-icon",name:"prependInner",color:w.value},null)]),r("div",{class:"v-field__field","data-no-activator":""},[["filled","solo","solo-inverted","solo-filled"].includes(e.variant)&&h.value&&C(le,{key:"floating-label",ref:f,class:W([O.value]),floating:!0,for:k.value,"aria-hidden":!V.value,style:H(A.value)},{default:()=>[M()]}),P.value&&C(le,{key:"label",ref:i,id:e.labelId,for:k.value,"aria-hidden":h.value&&V.value},{default:()=>[M()]}),((Y=l.default)==null?void 0:Y.call(l,{..._.value,props:{id:k.value,class:"v-field__input","aria-describedby":B.value},focus:S,blur:o}))??r("div",{id:k.value,class:"v-field__input","aria-describedby":B.value},null)]),z&&C(ua,{key:"clear"},{default:()=>[fe(r("div",{class:"v-field__clearable",onMousedown:j=>{j.preventDefault(),j.stopPropagation()}},[C(sa,{defaults:{VIcon:{icon:e.clearIcon}}},{default:()=>[l.clear?l.clear({..._.value,props:{onFocus:S,onBlur:o,onClick:e["onClick:clear"],tabindex:-1}}):C(s,{name:"clear",onFocus:S,onBlur:o,tabindex:-1},null)]})]),[[Pe,e.dirty]])]}),U&&r("div",{key:"append",class:"v-field__append-inner"},[l["append-inner"]?l["append-inner"](_.value):e.appendInnerIcon&&C(s,{key:"append-icon",name:"appendInner",color:w.value},null)]),r("div",{class:W(["v-field__outline",O.value]),style:H(A.value)},[D&&r(ie,null,[r("div",{class:"v-field__outline__start"},null),h.value&&r("div",{class:"v-field__outline__notch"},[C(le,{ref:f,floating:!0,for:k.value,"aria-hidden":!V.value},{default:()=>[M()]})]),r("div",{class:"v-field__outline__end"},null)]),g.value&&h.value&&C(le,{ref:f,floating:!0,for:k.value,"aria-hidden":!V.value},{default:()=>[M()]})])])}),{controlRef:$,fieldIconColor:w}}}),Ba=E({autocomplete:String},"autocomplete");function Pa(e){const n=oe(),u=se(0),t=I(()=>e.autocomplete==="suppress"),l=I(()=>{if(e.name)return t.value?`${e.name}-${n}-${u.value}`:e.name}),a=I(()=>t.value?"off":e.autocomplete);return{isSuppressing:t,fieldAutocomplete:a,fieldName:l,update:()=>u.value=new Date().getTime()}}function wa(e){function n(u,t){if(!e.autofocus||!u)return;const l=t[0].target,a=l.matches("input,textarea")?l:l.querySelector("input,textarea");a==null||a.focus()}return{onIntersect:n}}const Fa=["color","file","time","date","datetime-local","week","month"],$a=E({autofocus:Boolean,counter:[Boolean,Number,String],counterValue:[Number,Function],prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,suffix:String,role:String,type:{type:String,default:"text"},modelModifiers:Object,...Ba(),...we(Ae(),["direction"]),...Re()},"VTextField"),Ra=J()({name:"VTextField",directives:{vIntersect:me},inheritAttrs:!1,props:$a(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,n){let{attrs:u,emit:t,slots:l}=n;const a=ue(e,"modelValue"),{isFocused:y,focus:b,blur:x}=De(e),{onIntersect:S}=wa(e),o=m(()=>typeof e.counterValue=="function"?e.counterValue(a.value):typeof e.counterValue=="number"?e.counterValue:(a.value??"").toString().length),s=m(()=>{if(u.maxlength)return u.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),d=m(()=>["plain","underlined"].includes(e.variant)),c=K(),V=K(),P=K(),h=Pa(e),L=m(()=>Fa.includes(e.type)||e.persistentPlaceholder||y.value||e.active);function k(){h.isSuppressing.value&&h.update(),y.value||b(),ne(()=>{var g;P.value!==document.activeElement&&((g=P.value)==null||g.focus())})}function B(g){t("mousedown:control",g),g.target!==P.value&&(k(),g.preventDefault())}function i(g){t("click:control",g)}function f(g,v){g.stopPropagation(),k(),ne(()=>{v(),he(e["onClick:clear"],g)})}function $(g){var O;const v=g.target;if(!((O=e.modelModifiers)!=null&&O.trim&&["text","search","password","tel","url"].includes(e.type))){a.value=v.value;return}const w=v.value,N=v.selectionStart,T=v.selectionEnd;a.value=w,ne(()=>{let A=0;w.trimStart().length===v.value.length&&(A=w.length-v.value.length),N!=null&&(v.selectionStart=N-A),T!=null&&(v.selectionEnd=T-A)})}return G(()=>{const g=!!(l.counter||e.counter!==!1&&e.counter!=null),v=!!(g||l.details),[w,N]=da(u),{modelValue:T,...O}=ye.filterProps(e),A=be.filterProps(e);return C(ye,ee({ref:c,modelValue:a.value,"onUpdate:modelValue":_=>a.value=_,class:["v-text-field",{"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-input--plain-underlined":d.value},e.class],style:e.style},w,O,{centerAffix:!d.value,focused:y.value}),{...l,default:_=>{let{id:R,isDisabled:D,isDirty:F,isReadonly:z,isValid:U,hasDetails:M,reset:Y}=_;return C(be,ee({ref:V,onMousedown:B,onClick:i,"onClick:clear":j=>f(j,Y),role:e.role},we(A,["onClick:clear"]),{id:R.value,labelId:`${R.value}-label`,active:L.value||F.value,dirty:F.value||e.dirty,disabled:D.value,focused:y.value,details:M.value,error:U.value===!1}),{...l,default:j=>{let{props:{class:Q,...re},controlRef:de}=j;const p=r("input",ee({ref:ce=>P.value=de.value=ce,value:a.value,onInput:$,autofocus:e.autofocus,readonly:z.value,disabled:D.value,name:h.fieldName.value,autocomplete:h.fieldAutocomplete.value,placeholder:e.placeholder,size:1,role:e.role,type:e.type,onFocus:b,onBlur:x,"aria-labelledby":`${R.value}-label`},re,N),null);return r(ie,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[r("span",{class:"v-text-field__prefix__text"},[e.prefix])]),fe(l.default?r("div",{class:W(Q),"data-no-activator":""},[l.default({id:R}),p]):ca(p,{class:Q}),[[me,S,null,{once:!0}]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[r("span",{class:"v-text-field__suffix__text"},[e.suffix])])])}})},details:v?_=>{var R;return r(ie,null,[(R=l.details)==null?void 0:R.call(l,_),g&&r(ie,null,[r("span",null,null),C(Ia,{active:e.persistentCounter||y.value,value:o.value,max:s.value,disabled:e.disabled},l.counter)])])}:void 0})}),va({},c,V,P)}});export{Ra as V,ye as a,be as b,Ia as c,Ae as d,Fe as e,ba as f,$a as g,Aa as h,Ma as i,Pa as j,ga as k,wa as l,Re as m,Ba as n,De as u}; diff --git a/assets/VTextarea-Akjtg06o.js b/assets/VTextarea-Akjtg06o.js deleted file mode 100644 index 5072680..0000000 --- a/assets/VTextarea-Akjtg06o.js +++ /dev/null @@ -1 +0,0 @@ -import{g as re,p as se,b5 as $,ar as ce,X as de,a0 as w,b3 as fe,Z as ve,ae as f,$ as me,b as xe,at as ge,c as A,i as r,F as M,a1 as C,E as B,av as he,I as p,cA as we,d as ye,aJ as z,aw as Ve,ax as P,bc as be,ay as Fe}from"./index-Ck0Pnd4f.js";import{u as Ce,j as Pe,a as O,b as W,c as Ie,l as ke,m as Ne,d as Re,n as Se}from"./VTextField-C6VOv1Py.js";const He=se({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...Se(),...Re(),...Ne()},"VTextarea"),Be=re()({name:"VTextarea",directives:{vIntersect:$},inheritAttrs:!1,props:He(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,j){let{attrs:I,emit:k,slots:o}=j;const l=ce(e,"modelValue"),{isFocused:y,focus:J,blur:X}=Ce(e),{onIntersect:Z}=ke(e),q=C(()=>typeof e.counterValue=="function"?e.counterValue(l.value):(l.value||"").toString().length),K=C(()=>{if(I.maxlength)return I.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),T=w(),b=w(),_=he(""),v=w(),N=w(0),{platform:L}=de(),F=Pe(e),Q=C(()=>e.persistentPlaceholder||y.value||e.active);function R(){var t;F.isSuppressing.value&&F.update(),v.value!==document.activeElement&&((t=v.value)==null||t.focus()),y.value||J()}function Y(t){R(),k("click:control",t)}function ee(t){k("mousedown:control",t)}function te(t){t.stopPropagation(),R(),P(()=>{l.value="",Fe(e["onClick:clear"],t)})}function ae(t){var g;const a=t.target;if(!((g=e.modelModifiers)!=null&&g.trim)){l.value=a.value;return}const n=a.value,x=a.selectionStart,c=a.selectionEnd;l.value=n,P(()=>{let d=0;n.trimStart().length===a.value.length&&(d=n.length-a.value.length),x!=null&&(a.selectionStart=x-d),c!=null&&(a.selectionEnd=c-d)})}const m=w(),V=w(Number(e.rows)),S=C(()=>["plain","underlined"].includes(e.variant));fe(()=>{e.autoGrow||(V.value=Number(e.rows))});function s(){P(()=>{if(!v.value)return;if(L.value.firefox){N.value=12;return}const{offsetWidth:t,clientWidth:a}=v.value;N.value=Math.max(0,t-a)}),e.autoGrow&&P(()=>{if(!m.value||!b.value)return;const t=getComputedStyle(m.value),a=getComputedStyle(b.value.$el),n=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),x=m.value.scrollHeight,c=parseFloat(t.lineHeight),g=Math.max(parseFloat(e.rows)*c+n,parseFloat(a.getPropertyValue("--v-input-control-height"))),d=e.maxHeight?parseFloat(e.maxHeight):parseFloat(e.maxRows)*c+n||1/0,i=be(x??0,g,d);V.value=Math.floor((i-n)/c),_.value=z(i)})}ve(s),f(l,s),f(()=>e.rows,s),f(()=>e.maxHeight,s),f(()=>e.maxRows,s),f(()=>e.density,s),f(V,t=>{k("update:rows",t)});let u;return f(m,t=>{t?(u=new ResizeObserver(s),u.observe(m.value)):u==null||u.disconnect()}),me(()=>{u==null||u.disconnect()}),xe(()=>{const t=!!(o.counter||e.counter||e.counterValue),a=!!(t||o.details),[n,x]=ge(I),{modelValue:c,...g}=O.filterProps(e),d={...W.filterProps(e),"onClick:clear":te};return A(O,B({ref:T,modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":S.value},e.class],style:[{"--v-textarea-max-height":e.maxHeight?z(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":z(N.value)},e.style]},n,g,{centerAffix:V.value===1&&!S.value,focused:y.value}),{...o,default:i=>{let{id:h,isDisabled:D,isDirty:E,isReadonly:le,isValid:ne,hasDetails:oe}=i;return A(W,B({ref:b,style:{"--v-textarea-control-height":_.value},onClick:Y,onMousedown:ee,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},d,{id:h.value,active:Q.value||E.value,labelId:`${h.value}-label`,centerAffix:V.value===1&&!S.value,dirty:E.value||e.dirty,disabled:D.value,focused:y.value,details:oe.value,error:ne.value===!1}),{...o,default:ue=>{let{props:{class:G,...U},controlRef:ie}=ue;return r(M,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[e.prefix]),p(r("textarea",B({ref:H=>v.value=ie.value=H,class:G,value:l.value,onInput:ae,autofocus:e.autofocus,readonly:le.value,disabled:D.value,placeholder:e.placeholder,rows:e.rows,name:F.fieldName.value,autocomplete:F.fieldAutocomplete.value,onFocus:R,onBlur:X,"aria-labelledby":`${h.value}-label`},U,x),null),[[$,{handler:Z},null,{once:!0}]]),e.autoGrow&&p(r("textarea",{class:ye([G,"v-textarea__sizer"]),id:`${U.id}-sizer`,"onUpdate:modelValue":H=>l.value=H,ref:m,readonly:!0,"aria-hidden":"true"},null),[[we,l.value]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:a?i=>{var h;return r(M,null,[(h=o.details)==null?void 0:h.call(o,i),t&&r(M,null,[r("span",null,null),A(Ie,{active:e.persistentCounter||y.value,value:q.value,max:K.value,disabled:e.disabled},o.counter)])])}:void 0})}),Ve({},T,b,v)}});export{Be as V}; diff --git a/assets/VTextarea-jqnFSwaH.js b/assets/VTextarea-jqnFSwaH.js new file mode 100644 index 0000000..8bbfba0 --- /dev/null +++ b/assets/VTextarea-jqnFSwaH.js @@ -0,0 +1 @@ +import{g as re,b5 as $,ar as se,X as ce,a2 as w,b3 as de,Z as fe,ae as f,$ as ve,b as me,at as xe,c as A,i as r,F as M,E as z,I as p,cA as ge,d as he,aJ as B,au as we,aw as C,bc as ye,a3 as P,ax as Ve,az as be,p as Fe,aA as Ce}from"./index-BUM0TY0E.js";import{u as Pe,j as Ie,a as O,b as W,c as ke,l as Ne,m as Re,d as Se,n as He}from"./VTextField-C579e7l1.js";const Ae=Fe({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...He(),...Ce(Se(),["direction"]),...Re()},"VTextarea"),Be=re()({name:"VTextarea",directives:{vIntersect:$},inheritAttrs:!1,props:Ae(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,j){let{attrs:I,emit:k,slots:o}=j;const l=se(e,"modelValue"),{isFocused:y,focus:J,blur:X}=Pe(e),{onIntersect:Z}=Ne(e),q=P(()=>typeof e.counterValue=="function"?e.counterValue(l.value):(l.value||"").toString().length),K=P(()=>{if(I.maxlength)return I.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),T=w(),b=w(),_=be(""),v=w(),N=w(0),{platform:L}=ce(),F=Ie(e),Q=P(()=>e.persistentPlaceholder||y.value||e.active);function R(){var t;F.isSuppressing.value&&F.update(),v.value!==document.activeElement&&((t=v.value)==null||t.focus()),y.value||J()}function Y(t){R(),k("click:control",t)}function ee(t){k("mousedown:control",t)}function te(t){t.stopPropagation(),R(),C(()=>{l.value="",Ve(e["onClick:clear"],t)})}function ae(t){var g;const a=t.target;if(!((g=e.modelModifiers)!=null&&g.trim)){l.value=a.value;return}const n=a.value,x=a.selectionStart,c=a.selectionEnd;l.value=n,C(()=>{let d=0;n.trimStart().length===a.value.length&&(d=n.length-a.value.length),x!=null&&(a.selectionStart=x-d),c!=null&&(a.selectionEnd=c-d)})}const m=w(),V=w(Number(e.rows)),S=P(()=>["plain","underlined"].includes(e.variant));de(()=>{e.autoGrow||(V.value=Number(e.rows))});function s(){C(()=>{if(!v.value)return;if(L.value.firefox){N.value=12;return}const{offsetWidth:t,clientWidth:a}=v.value;N.value=Math.max(0,t-a)}),e.autoGrow&&C(()=>{if(!m.value||!b.value)return;const t=getComputedStyle(m.value),a=getComputedStyle(b.value.$el),n=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),x=m.value.scrollHeight,c=parseFloat(t.lineHeight),g=Math.max(parseFloat(e.rows)*c+n,parseFloat(a.getPropertyValue("--v-input-control-height"))),d=e.maxHeight?parseFloat(e.maxHeight):parseFloat(e.maxRows)*c+n||1/0,i=ye(x??0,g,d);V.value=Math.floor((i-n)/c),_.value=B(i)})}fe(s),f(l,s),f(()=>e.rows,s),f(()=>e.maxHeight,s),f(()=>e.maxRows,s),f(()=>e.density,s),f(V,t=>{k("update:rows",t)});let u;return f(m,t=>{t?(u=new ResizeObserver(s),u.observe(m.value)):u==null||u.disconnect()}),ve(()=>{u==null||u.disconnect()}),me(()=>{const t=!!(o.counter||e.counter||e.counterValue),a=!!(t||o.details),[n,x]=xe(I),{modelValue:c,...g}=O.filterProps(e),d={...W.filterProps(e),"onClick:clear":te};return A(O,z({ref:T,modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":S.value},e.class],style:[{"--v-textarea-max-height":e.maxHeight?B(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":B(N.value)},e.style]},n,g,{centerAffix:V.value===1&&!S.value,focused:y.value}),{...o,default:i=>{let{id:h,isDisabled:D,isDirty:E,isReadonly:le,isValid:ne,hasDetails:oe}=i;return A(W,z({ref:b,style:{"--v-textarea-control-height":_.value},onClick:Y,onMousedown:ee,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},d,{id:h.value,active:Q.value||E.value,labelId:`${h.value}-label`,centerAffix:V.value===1&&!S.value,dirty:E.value||e.dirty,disabled:D.value,focused:y.value,details:oe.value,error:ne.value===!1}),{...o,default:ue=>{let{props:{class:G,...U},controlRef:ie}=ue;return r(M,null,[e.prefix&&r("span",{class:"v-text-field__prefix"},[e.prefix]),p(r("textarea",z({ref:H=>v.value=ie.value=H,class:G,value:l.value,onInput:ae,autofocus:e.autofocus,readonly:le.value,disabled:D.value,placeholder:e.placeholder,rows:e.rows,name:F.fieldName.value,autocomplete:F.fieldAutocomplete.value,onFocus:R,onBlur:X,"aria-labelledby":`${h.value}-label`},U,x),null),[[$,{handler:Z},null,{once:!0}]]),e.autoGrow&&p(r("textarea",{class:he([G,"v-textarea__sizer"]),id:`${U.id}-sizer`,"onUpdate:modelValue":H=>l.value=H,ref:m,readonly:!0,"aria-hidden":"true"},null),[[ge,l.value]]),e.suffix&&r("span",{class:"v-text-field__suffix"},[e.suffix])])}})},details:a?i=>{var h;return r(M,null,[(h=o.details)==null?void 0:h.call(o,i),t&&r(M,null,[r("span",null,null),A(ke,{active:e.persistentCounter||y.value,value:q.value,max:K.value,disabled:e.disabled},o.counter)])])}:void 0})}),we({},T,b,v)}});export{Be as V}; diff --git a/assets/VTooltip-BqVq3svk.js b/assets/VTooltip-COe_nB02.js similarity index 70% rename from assets/VTooltip-BqVq3svk.js rename to assets/VTooltip-COe_nB02.js index f16a5f6..578ba60 100644 --- a/assets/VTooltip-BqVq3svk.js +++ b/assets/VTooltip-COe_nB02.js @@ -1 +1 @@ -import{g as N,p as x,aB as I,be as w,aq as R,aA as A,bf as O,bg as F,b as T,bh as $,c as g,i as h,a$ as D,I as L,J as H,E as m,e as M,v as W,f as X,bi as Y,bj as _,m as j,bk as q,bl as E,h as G,a_ as J,ar as U,aH as z,bm as K,an as k,a1 as S,au as B,a0 as Q,aw as Z,aC as p,bn as ee}from"./index-Ck0Pnd4f.js";const ae=x({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:J,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...G(),...E({location:"top end"}),...q(),...j(),..._(),...Y({transition:"scale-rotate-transition"}),...X()},"VBadge"),ne=N()({name:"VBadge",inheritAttrs:!1,props:ae(),setup(e,o){const{backgroundColorClasses:n,backgroundColorStyles:l}=I(()=>e.color),{roundedClasses:v}=w(e),{t:b}=R(),{textColorClasses:r,textColorStyles:u}=A(()=>e.textColor),{themeClasses:f}=O(),{locationStyles:V}=F(e,!0,a=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(a)?Number(e.offsetY??0):["left","right"].includes(a)?Number(e.offsetX??0):0)),{dimensionStyles:y}=M(e);return T(()=>{const a=Number(e.content),c=!e.max||isNaN(a)?e.content:a<=Number(e.max)?a:`${e.max}+`,[i,d]=$(o.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return g(e.tag,m({class:["v-badge",{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},d,{style:e.style}),{default:()=>{var t,s;return[h("div",{class:"v-badge__wrapper"},[(s=(t=o.slots).default)==null?void 0:s.call(t),g(D,{transition:e.transition},{default:()=>{var P,C;return[L(h("span",m({class:["v-badge__badge",f.value,n.value,v.value,r.value],style:[l.value,u.value,y.value,e.inline?{}:V.value],"aria-atomic":"true","aria-label":b(e.label,a),"aria-live":"polite",role:"status"},i),[e.dot?void 0:o.slots.badge?(C=(P=o.slots).badge)==null?void 0:C.call(P):e.icon?g(W,{icon:e.icon},null):c]),[[H,e.modelValue]])]}})])]}})}),{}}}),te=x({id:String,interactive:Boolean,text:String,...p(ee({closeOnBack:!1,location:"end",locationStrategy:"connected",eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:"auto",scrim:!1,scrollStrategy:"reposition",transition:null}),["absolute","retainFocus","captureFocus","disableInitialFocus"])},"VTooltip"),ie=N()({name:"VTooltip",props:te(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:n}=o;const l=U(e,"modelValue"),{scopeId:v}=z(),b=K(),r=B(()=>e.id||`v-tooltip-${b}`),u=Q(),f=S(()=>e.location.split(" ").length>1?e.location:e.location+" center"),V=S(()=>e.origin==="auto"||e.origin==="overlap"||e.origin.split(" ").length>1||e.location.split(" ").length>1?e.origin:e.origin+" center"),y=B(()=>e.transition!=null?e.transition:l.value?"scale-transition":"fade-transition"),a=S(()=>m({"aria-describedby":r.value},e.activatorProps));return T(()=>{const c=k.filterProps(e);return g(k,m({ref:u,class:["v-tooltip",{"v-tooltip--interactive":e.interactive},e.class],style:e.style,id:r.value},c,{modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,transition:y.value,absolute:!0,location:f.value,origin:V.value,role:"tooltip",activatorProps:a.value,_disableGlobalStack:!0},v),{activator:n.activator,default:function(){var s;for(var i=arguments.length,d=new Array(i),t=0;te.color),{roundedClasses:v}=R(e),{t:b}=w(),{textColorClasses:r,textColorStyles:u}=A(()=>e.textColor),{themeClasses:f}=O(),{locationStyles:V}=F(e,!0,a=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(a)?Number(e.offsetY??0):["left","right"].includes(a)?Number(e.offsetX??0):0)),{dimensionStyles:y}=W(e);return x(()=>{const a=Number(e.content),c=!e.max||isNaN(a)?e.content:a<=Number(e.max)?a:`${e.max}+`,[i,d]=$(o.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return g(e.tag,m({class:["v-badge",{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},d,{style:e.style}),{default:()=>{var t,s;return[h("div",{class:"v-badge__wrapper"},[(s=(t=o.slots).default)==null?void 0:s.call(t),g(D,{transition:e.transition},{default:()=>{var P,C;return[L(h("span",m({class:["v-badge__badge",f.value,n.value,v.value,r.value],style:[l.value,u.value,y.value,e.inline?{}:V.value],"aria-atomic":"true","aria-label":b(e.label,a),"aria-live":"polite",role:"status"},i),[e.dot?void 0:o.slots.badge?(C=(P=o.slots).badge)==null?void 0:C.call(P):e.icon?g(M,{icon:e.icon},null):c]),[[H,e.modelValue]])]}})])]}})}),{}}}),te=T({id:String,interactive:Boolean,text:String,...p(ee({closeOnBack:!1,location:"end",locationStrategy:"connected",eager:!0,minWidth:0,offset:10,openOnClick:!1,openOnHover:!0,origin:"auto",scrim:!1,scrollStrategy:"reposition",transition:null}),["absolute","retainFocus","captureFocus","disableInitialFocus"])},"VTooltip"),ie=N()({name:"VTooltip",props:te(),emits:{"update:modelValue":e=>!0},setup(e,o){let{slots:n}=o;const l=U(e,"modelValue"),{scopeId:v}=z(),b=K(),r=B(()=>e.id||`v-tooltip-${b}`),u=Z(),f=S(()=>e.location.split(" ").length>1?e.location:e.location+" center"),V=S(()=>e.origin==="auto"||e.origin==="overlap"||e.origin.split(" ").length>1||e.location.split(" ").length>1?e.origin:e.origin+" center"),y=B(()=>e.transition!=null?e.transition:l.value?"scale-transition":"fade-transition"),a=S(()=>m({"aria-describedby":r.value},e.activatorProps));return x(()=>{const c=k.filterProps(e);return g(k,m({ref:u,class:["v-tooltip",{"v-tooltip--interactive":e.interactive},e.class],style:e.style,id:r.value},c,{modelValue:l.value,"onUpdate:modelValue":i=>l.value=i,transition:y.value,absolute:!0,location:f.value,origin:V.value,role:"tooltip",activatorProps:a.value,_disableGlobalStack:!0},v),{activator:n.activator,default:function(){var s;for(var i=arguments.length,d=new Array(i),t=0;t[e(g,{elevation:"1"},{prepend:r(()=>[e(m,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=h=>o.$router.back())})]),default:r(()=>[e(x,{class:"text-h6"},{default:r(()=>[...t[1]||(t[1]=[d(" 编辑考试配置 ",-1)])]),_:1}),e(v),e(m,{loading:a.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:s.save},{default:r(()=>[...t[2]||(t[2]=[d(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),e(l,{class:"py-4",style:{"max-width":"1200px"}},{default:r(()=>[a.id?(p(),n(f,{key:0,ref:"editor","config-id":a.id,onError:s.onError,onSaved:s.onSaved},null,8,["config-id","onError","onSaved"])):_("",!0)]),_:1})]),_:1})}const H=u(E,[["render",C]]);export{H as default}; +import{_ as c}from"./ExamConfigEditor-BzFaHh6i.js";import{_ as u,o as n,j as p,w as r,c as e,v as d,x as v,y as m,D as _}from"./index-BUM0TY0E.js";import{c as g,b as x}from"./VAppBarTitle-DZ_l7t3b.js";import{V as l}from"./VContainer-DakLDC1m.js";import"./dataProvider-MQ8YacC2.js";import"./serverRotation-CjK7Y7P9.js";import"./VAlert-DFIvt6kt.js";import"./VSkeletonLoader-DX2FpkIS.js";import"./VTooltip-COe_nB02.js";import"./VChip-vdRDApTi.js";import"./VRow-CPw1R1BU.js";import"./VTextField-C579e7l1.js";import"./VTextarea-jqnFSwaH.js";import"./VSwitch-CjVC2rsZ.js";import"./filter-ByuXXWRY.js";import"./VCheckboxBtn-CylQNaxd.js";import"./VSheet-CuIjBtz7.js";const E={name:"ExamEditorPage",components:{ExamConfigEditor:c},data(){return{id:this.$route.params.id,saving:!1}},watch:{"$route.params.id"(o){this.id=o}},methods:{async save(){if(this.$refs.editor){this.saving=!0;try{await this.$refs.editor.saveConfig()}finally{this.saving=!1}}},onSaved(){var o,t;(t=(o=this.$toast)==null?void 0:o.success)==null||t.call(o,"保存成功")},onError(o){var t,i;(i=(t=this.$toast)==null?void 0:t.error)==null||i.call(t,o||"保存失败")}}};function C(o,t,i,V,a,s){const f=c;return n(),p(l,{class:"pa-0"},{default:r(()=>[e(g,{elevation:"1"},{prepend:r(()=>[e(m,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=h=>o.$router.back())})]),default:r(()=>[e(x,{class:"text-h6"},{default:r(()=>[...t[1]||(t[1]=[d(" 编辑考试配置 ",-1)])]),_:1}),e(v),e(m,{loading:a.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:s.save},{default:r(()=>[...t[2]||(t[2]=[d(" 保存 ",-1)])]),_:1},8,["loading","onClick"])]),_:1}),e(l,{class:"py-4",style:{"max-width":"1200px"}},{default:r(()=>[a.id?(n(),p(f,{key:0,ref:"editor","config-id":a.id,onError:s.onError,onSaved:s.onSaved},null,8,["config-id","onError","onSaved"])):_("",!0)]),_:1})]),_:1})}const H=u(E,[["render",C]]);export{H as default}; diff --git a/assets/_id_-Dx2RdnaN.js b/assets/_id_-DzoDISsJ.js similarity index 91% rename from assets/_id_-Dx2RdnaN.js rename to assets/_id_-DzoDISsJ.js index 006aba5..71491f6 100644 --- a/assets/_id_-Dx2RdnaN.js +++ b/assets/_id_-DzoDISsJ.js @@ -1 +1 @@ -import{d as h}from"./dataProvider-BZ0EQWiW.js";import{g as _,p as B,b as O,c as i,n as U,d as T,m as J,h as F,_ as z,A as u,o as m,w as l,j as p,t as o,C as f,y as r,i as M,v as I,N as P,l as c,B as b,q as D,x as y,D as K,z as V,P as R,F as k,G as j,Q as C,a3 as v,O as q,M as N,H as A,a2 as S}from"./index-Ck0Pnd4f.js";import{b as E,c as G}from"./VAppBarTitle-N2z58aj8.js";import{V as x}from"./VTextField-C6VOv1Py.js";import{V as H}from"./VCheckboxBtn-DWqkYNT7.js";import{V as Q}from"./VChip-C4TXrZae.js";import{V as W}from"./VTextarea-Akjtg06o.js";import{V as X}from"./VSwitch-B-2xPqHI.js";import{V as Y}from"./VContainer-_5I3ogXr.js";import"./serverRotation-TSbwZ9RQ.js";const Z=B({start:Boolean,end:Boolean,...F(),...J()},"VListItemAction"),$=_()({name:"VListItemAction",props:Z(),setup(t,e){let{slots:n}=e;return O(()=>i(t.tag,{class:T(["v-list-item-action",{"v-list-item-action--start":t.start,"v-list-item-action--end":t.end},t.class]),style:U(t.style)},n)),{}}}),ee={data(){return{listId:null,list:null,items:[],originalItems:[],newItemName:"",sortSeed:"1",sortType:"default",isRandomSorted:!1,deleteDialog:{show:!1,title:"",text:"",itemId:null,action:null},isRenaming:!1,newListName:"",itemDialog:{show:!1,item:null,isEditing:!1,editedItem:null}}},computed:{sortedItems(){return this.sortType==="completed"?[...this.items].sort((t,e)=>t.completed===e.completed?0:t.completed?1:-1):this.items},hasCompletedItems(){return this.items.some(t=>t.completed)}},async created(){this.listId=this.$route.params.id,await Promise.all([this.loadListInfo(),this.loadItems()])},methods:{async loadListInfo(){try{const t=await h.loadData("classworks-list-info");t&&Array.isArray(t)&&(this.list=t.find(e=>e.id===this.listId)),this.list||this.$router.push("/list")}catch(t){console.error("Failed to load list info",t),this.$router.push("/list")}},startRenaming(){this.list&&(this.newListName=this.list.name,this.isRenaming=!0)},cancelRenaming(){this.isRenaming=!1,this.newListName=""},async saveListName(){if(this.newListName.trim())try{const t=await h.loadData("classworks-list-info");if(t&&Array.isArray(t)){const e=t.findIndex(n=>n.id===this.listId);e!==-1&&(t[e].name=this.newListName.trim(),await h.saveData("classworks-list-info",t),this.list.name=this.newListName.trim())}this.isRenaming=!1}catch(t){console.error("Failed to update list name",t)}},async loadItems(){try{let t=await h.loadData(`classworks-list-${this.listId}`);(!t||!Array.isArray(t))&&(t=[],await h.saveData(`classworks-list-${this.listId}`,t)),this.items=t.map(e=>typeof e.completed>"u"?{id:e.id||Date.now()+Math.floor(Math.random()*1e3),name:e.name,completed:!1,description:e.description||""}:{...e,description:e.description||""}),this.originalItems=JSON.parse(JSON.stringify(this.items))}catch(t){console.error("Failed to load items",t),this.items=[],this.originalItems=[]}},async addItem(){if(!this.newItemName)return;const t={id:Date.now().toString(),name:this.newItemName,completed:!1,description:""};this.items.push(t),this.originalItems.push(JSON.parse(JSON.stringify(t))),await this.saveItems(),this.newItemName=""},openItemDetails(t){this.itemDialog={show:!0,item:t,isEditing:!1,editedItem:null}},startEditingItem(){this.itemDialog.item&&(this.itemDialog.isEditing=!0,this.itemDialog.editedItem=JSON.parse(JSON.stringify(this.itemDialog.item)))},cancelEditingItem(){this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null},async saveItemChanges(){if(!this.itemDialog.editedItem)return;const t=this.items.findIndex(e=>e.id===this.itemDialog.item.id);if(t!==-1){this.items[t]={...this.itemDialog.editedItem};const e=this.originalItems.findIndex(n=>n.id===this.itemDialog.item.id);e!==-1&&(this.originalItems[e]=JSON.parse(JSON.stringify(this.items[t]))),await this.saveItems(),this.itemDialog.item=this.items[t],this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null}},confirmDeleteItem(t){var n;const e=this.items.find(g=>g.id===t);e&&(this.deleteDialog={show:!0,title:"删除确认",text:`确定要删除 "${e.name}" 吗?`,itemId:t,action:"deleteItem"},this.itemDialog.show&&((n=this.itemDialog.item)==null?void 0:n.id)===t&&(this.itemDialog.show=!1))},confirmDeleteCompleted(){const t=this.items.filter(e=>e.completed).length;this.deleteDialog={show:!0,title:"删除已完成项目",text:`确定要删除所有已完成的项目吗?(共 ${t} 项)`,action:"deleteCompleted"}},confirmDelete(){this.deleteDialog.action==="deleteItem"&&this.deleteDialog.itemId?this.deleteItem(this.deleteDialog.itemId):this.deleteDialog.action==="deleteCompleted"&&this.deleteCompletedItems(),this.deleteDialog.show=!1},async deleteItem(t){this.items=this.items.filter(e=>e.id!==t),this.originalItems=this.originalItems.filter(e=>e.id!==t),await this.saveItems()},async deleteCompletedItems(){this.items=this.items.filter(t=>!t.completed),this.originalItems=this.originalItems.filter(t=>!t.completed),await this.saveItems()},async updateItemStatus(t,e){const n=this.items.find(g=>g.id===t);if(n){n.completed=e;const g=this.originalItems.find(s=>s.id===t);g&&(g.completed=e),await this.saveItems()}},async saveItems(){try{await h.saveData(`classworks-list-${this.listId}`,this.items)}catch(t){console.error("Failed to save items",t)}},randomSort(){const t=this.items.map(e=>{const n=this.hashCode(e.id+this.sortSeed);return{...e,randomValue:this.seededRandom(n)}});t.sort((e,n)=>e.randomValue-n.randomValue),this.items=t.map(e=>{const n={...e};return delete n.randomValue,n}),this.isRandomSorted=!0,this.saveItems()},resetSort(){this.items=JSON.parse(JSON.stringify(this.originalItems)),this.isRandomSorted=!1,this.saveItems()},hashCode(t){let e=0;for(let n=0;n[i(r,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=a=>t.$router.push("/"))})]),default:l(()=>[s.list&&!s.isRenaming?(m(),p(E,{key:0,class:"text-h6"},{default:l(()=>[o(f(s.list.name),1)]),_:1})):(m(),p(E,{key:1,class:"text-h6"},{default:l(()=>[...e[14]||(e[14]=[o("列表",-1)])]),_:1}))]),_:1}),i(Y,null,{default:l(()=>[M("div",te,[i(r,{border:"",class:"mr-2",icon:"",to:"/list"},{default:l(()=>[i(I,null,{default:l(()=>[...e[15]||(e[15]=[o("mdi-arrow-left",-1)])]),_:1})]),_:1}),s.list&&!s.isRenaming?(m(),u("h1",ie,[o(f(s.list.name)+" ",1),i(r,{border:"",icon:"",size:"small",onClick:d.startRenaming},{default:l(()=>[i(I,null,{default:l(()=>[...e[16]||(e[16]=[o("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"])])):s.list&&s.isRenaming?(m(),u("div",le,[i(x,{modelValue:s.newListName,"onUpdate:modelValue":e[1]||(e[1]=a=>s.newListName=a),autofocus:"",class:"mr-2",density:"compact","hide-details":"",label:"列表名称",style:{"min-width":"200px"},onKeyup:P(d.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),i(r,{class:"mr-2",color:"primary",size:"small",onClick:d.saveListName},{default:l(()=>[i(I,null,{default:l(()=>[...e[17]||(e[17]=[o("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),i(r,{color:"error",size:"small",onClick:d.cancelRenaming},{default:l(()=>[i(I,null,{default:l(()=>[...e[18]||(e[18]=[o("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])])):(m(),u("h1",se," 加载中... "))]),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,{class:"d-flex align-center"},{default:l(()=>[e[21]||(e[21]=o(" 项目列表 ",-1)),i(y),i(K,{modelValue:s.sortType,"onUpdate:modelValue":e[2]||(e[2]=a=>s.sortType=a),mandatory:""},{default:l(()=>[i(r,{value:"default"},{default:l(()=>[i(I,null,{default:l(()=>[...e[19]||(e[19]=[o("mdi-sort-alphabetical-ascending",-1)])]),_:1})]),_:1}),i(r,{value:"completed"},{default:l(()=>[i(I,null,{default:l(()=>[...e[20]||(e[20]=[o("mdi-check-circle-outline",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.sortedItems.length===0?(m(),p(V,{key:0},{default:l(()=>[...e[22]||(e[22]=[o(" 暂无项目,请添加新项目 ",-1)])]),_:1})):(m(),p(R,{key:1,"select-strategy":"leaf"},{default:l(()=>[(m(!0),u(k,null,j(d.sortedItems,(a,w)=>(m(),p(C,{key:a.id,class:T({"text-decoration-line-through":a.completed}),onClick:L=>d.openItemDetails(a)},{prepend:l(()=>[i($,{start:""},{default:l(()=>[i(H,{"model-value":a.completed,"onUpdate:modelValue":L=>d.updateItemStatus(a.id,L),onClick:e[3]||(e[3]=q(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),append:l(()=>[o(f(w+1),1)]),default:l(()=>[o(" "+f(a.name)+" ",1),i(v,null,{default:l(()=>[o(f(a.description),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})),d.sortedItems.length>0?(m(),p(N,{key:2},{default:l(()=>[i(y),i(r,{disabled:!d.hasCompletedItems,color:"error","prepend-icon":"mdi-delete-sweep",onClick:d.confirmDeleteCompleted},{default:l(()=>[...e[23]||(e[23]=[o(" 删除已完成项目 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})):b("",!0)]),_:1}),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[24]||(e[24]=[o("添加新项目",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.newItemName,"onUpdate:modelValue":e[4]||(e[4]=a=>s.newItemName=a),rules:[a=>!!a||"名称不能为空"],label:"项目名称"},null,8,["modelValue","rules"]),i(r,{disabled:!s.newItemName,color:"primary",onClick:d.addItem},{default:l(()=>[...e[25]||(e[25]=[o(" 添加 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[26]||(e[26]=[o("列表排序",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.sortSeed,"onUpdate:modelValue":e[5]||(e[5]=a=>s.sortSeed=a),class:"mb-3",hint:"输入相同的种子值可以得到相同的排序结果",label:"排序种子 (任意数字或文本)","persistent-hint":""},null,8,["modelValue"]),i(r,{class:"mr-2",color:"primary",onClick:d.randomSort},{default:l(()=>[...e[27]||(e[27]=[o(" 随机排序 ",-1)])]),_:1},8,["onClick"]),i(r,{variant:"text",onClick:d.resetSort},{default:l(()=>[...e[28]||(e[28]=[o(" 撤销 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1}),i(A,{modelValue:s.deleteDialog.show,"onUpdate:modelValue":e[7]||(e[7]=a=>s.deleteDialog.show=a),"max-width":"500"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[o(f(s.deleteDialog.title),1)]),_:1}),i(V,null,{default:l(()=>[o(f(s.deleteDialog.text),1)]),_:1}),i(N,null,{default:l(()=>[i(y),i(r,{color:"primary",variant:"text",onClick:e[6]||(e[6]=a=>s.deleteDialog.show=!1)},{default:l(()=>[...e[29]||(e[29]=[o(" 取消 ",-1)])]),_:1}),i(r,{color:"error",variant:"text",onClick:d.confirmDelete},{default:l(()=>[...e[30]||(e[30]=[o(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(A,{modelValue:s.itemDialog.show,"onUpdate:modelValue":e[13]||(e[13]=a=>s.itemDialog.show=a),"max-width":"600"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[s.itemDialog.isEditing?(m(),u("span",ae,"编辑项目")):(m(),u("span",oe,"项目详情"))]),_:1}),i(V,null,{default:l(()=>[!s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",ne,[i(R,null,{default:l(()=>[i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[o(f(s.itemDialog.item.name),1)]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.id),1)]),_:1})]),_:1}),i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[31]||(e[31]=[o("状态",-1)])]),_:1}),i(v,null,{default:l(()=>[i(Q,{color:s.itemDialog.item.completed?"success":"warning",size:"small"},{default:l(()=>[o(f(s.itemDialog.item.completed?"已完成":"未完成"),1)]),_:1},8,["color"])]),_:1})]),_:1}),s.itemDialog.item.description?(m(),p(C,{key:0},{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[32]||(e[32]=[o("描述",-1)])]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.description),1)]),_:1})]),_:1})):b("",!0)]),_:1})])):s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",de,[i(x,{modelValue:s.itemDialog.editedItem.name,"onUpdate:modelValue":e[8]||(e[8]=a=>s.itemDialog.editedItem.name=a),class:"mb-3",label:"名称",variant:"outlined"},null,8,["modelValue"]),i(W,{modelValue:s.itemDialog.editedItem.description,"onUpdate:modelValue":e[9]||(e[9]=a=>s.itemDialog.editedItem.description=a),class:"mb-3",label:"描述",rows:"3",variant:"outlined"},null,8,["modelValue"]),i(X,{modelValue:s.itemDialog.editedItem.completed,"onUpdate:modelValue":e[10]||(e[10]=a=>s.itemDialog.editedItem.completed=a),color:"success","hide-details":"",label:"已完成"},null,8,["modelValue"])])):b("",!0)]),_:1}),i(N,null,{default:l(()=>[i(y),s.itemDialog.isEditing?(m(),u(k,{key:1},[i(r,{color:"success",variant:"text",onClick:d.saveItemChanges},{default:l(()=>[...e[36]||(e[36]=[o(" 保存 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"secondary",variant:"text",onClick:d.cancelEditingItem},{default:l(()=>[...e[37]||(e[37]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])],64)):(m(),u(k,{key:0},[i(r,{color:"primary",variant:"text",onClick:d.startEditingItem},{default:l(()=>[...e[33]||(e[33]=[o(" 编辑 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"error",variant:"text",onClick:e[11]||(e[11]=a=>{var w;return d.confirmDeleteItem((w=s.itemDialog.item)==null?void 0:w.id)})},{default:l(()=>[...e[34]||(e[34]=[o(" 删除 ",-1)])]),_:1}),i(r,{color:"secondary",variant:"text",onClick:e[12]||(e[12]=a=>s.itemDialog.show=!1)},{default:l(()=>[...e[35]||(e[35]=[o(" 关闭 ",-1)])]),_:1})],64))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const we=z(ee,[["render",me]]);export{we as default}; +import{d as h}from"./dataProvider-MQ8YacC2.js";import{g as _,b as B,c as i,n as O,d as T,p as U,m as J,h as F,_ as z,o as m,C as u,w as l,j as p,v as o,A as f,y as r,i as M,t as I,N as P,l as c,q as D,x as y,B as K,z as V,P as R,F as k,G as j,Q as C,a1 as v,O as q,M as b,D as N,H as A,a0 as S}from"./index-BUM0TY0E.js";import{b as E,c as G}from"./VAppBarTitle-DZ_l7t3b.js";import{V as x}from"./VTextField-C579e7l1.js";import{V as H}from"./VCheckboxBtn-CylQNaxd.js";import{V as Q}from"./VChip-vdRDApTi.js";import{V as W}from"./VTextarea-jqnFSwaH.js";import{V as X}from"./VSwitch-CjVC2rsZ.js";import{V as Y}from"./VContainer-DakLDC1m.js";import"./serverRotation-CjK7Y7P9.js";const Z=U({start:Boolean,end:Boolean,...F(),...J()},"VListItemAction"),$=_()({name:"VListItemAction",props:Z(),setup(t,e){let{slots:n}=e;return B(()=>i(t.tag,{class:T(["v-list-item-action",{"v-list-item-action--start":t.start,"v-list-item-action--end":t.end},t.class]),style:O(t.style)},n)),{}}}),ee={data(){return{listId:null,list:null,items:[],originalItems:[],newItemName:"",sortSeed:"1",sortType:"default",isRandomSorted:!1,deleteDialog:{show:!1,title:"",text:"",itemId:null,action:null},isRenaming:!1,newListName:"",itemDialog:{show:!1,item:null,isEditing:!1,editedItem:null}}},computed:{sortedItems(){return this.sortType==="completed"?[...this.items].sort((t,e)=>t.completed===e.completed?0:t.completed?1:-1):this.items},hasCompletedItems(){return this.items.some(t=>t.completed)}},async created(){this.listId=this.$route.params.id,await Promise.all([this.loadListInfo(),this.loadItems()])},methods:{async loadListInfo(){try{const t=await h.loadData("classworks-list-info");t&&Array.isArray(t)&&(this.list=t.find(e=>e.id===this.listId)),this.list||this.$router.push("/list")}catch(t){console.error("Failed to load list info",t),this.$router.push("/list")}},startRenaming(){this.list&&(this.newListName=this.list.name,this.isRenaming=!0)},cancelRenaming(){this.isRenaming=!1,this.newListName=""},async saveListName(){if(this.newListName.trim())try{const t=await h.loadData("classworks-list-info");if(t&&Array.isArray(t)){const e=t.findIndex(n=>n.id===this.listId);e!==-1&&(t[e].name=this.newListName.trim(),await h.saveData("classworks-list-info",t),this.list.name=this.newListName.trim())}this.isRenaming=!1}catch(t){console.error("Failed to update list name",t)}},async loadItems(){try{let t=await h.loadData(`classworks-list-${this.listId}`);(!t||!Array.isArray(t))&&(t=[],await h.saveData(`classworks-list-${this.listId}`,t)),this.items=t.map(e=>typeof e.completed>"u"?{id:e.id||Date.now()+Math.floor(Math.random()*1e3),name:e.name,completed:!1,description:e.description||""}:{...e,description:e.description||""}),this.originalItems=JSON.parse(JSON.stringify(this.items))}catch(t){console.error("Failed to load items",t),this.items=[],this.originalItems=[]}},async addItem(){if(!this.newItemName)return;const t={id:Date.now().toString(),name:this.newItemName,completed:!1,description:""};this.items.push(t),this.originalItems.push(JSON.parse(JSON.stringify(t))),await this.saveItems(),this.newItemName=""},openItemDetails(t){this.itemDialog={show:!0,item:t,isEditing:!1,editedItem:null}},startEditingItem(){this.itemDialog.item&&(this.itemDialog.isEditing=!0,this.itemDialog.editedItem=JSON.parse(JSON.stringify(this.itemDialog.item)))},cancelEditingItem(){this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null},async saveItemChanges(){if(!this.itemDialog.editedItem)return;const t=this.items.findIndex(e=>e.id===this.itemDialog.item.id);if(t!==-1){this.items[t]={...this.itemDialog.editedItem};const e=this.originalItems.findIndex(n=>n.id===this.itemDialog.item.id);e!==-1&&(this.originalItems[e]=JSON.parse(JSON.stringify(this.items[t]))),await this.saveItems(),this.itemDialog.item=this.items[t],this.itemDialog.isEditing=!1,this.itemDialog.editedItem=null}},confirmDeleteItem(t){var n;const e=this.items.find(g=>g.id===t);e&&(this.deleteDialog={show:!0,title:"删除确认",text:`确定要删除 "${e.name}" 吗?`,itemId:t,action:"deleteItem"},this.itemDialog.show&&((n=this.itemDialog.item)==null?void 0:n.id)===t&&(this.itemDialog.show=!1))},confirmDeleteCompleted(){const t=this.items.filter(e=>e.completed).length;this.deleteDialog={show:!0,title:"删除已完成项目",text:`确定要删除所有已完成的项目吗?(共 ${t} 项)`,action:"deleteCompleted"}},confirmDelete(){this.deleteDialog.action==="deleteItem"&&this.deleteDialog.itemId?this.deleteItem(this.deleteDialog.itemId):this.deleteDialog.action==="deleteCompleted"&&this.deleteCompletedItems(),this.deleteDialog.show=!1},async deleteItem(t){this.items=this.items.filter(e=>e.id!==t),this.originalItems=this.originalItems.filter(e=>e.id!==t),await this.saveItems()},async deleteCompletedItems(){this.items=this.items.filter(t=>!t.completed),this.originalItems=this.originalItems.filter(t=>!t.completed),await this.saveItems()},async updateItemStatus(t,e){const n=this.items.find(g=>g.id===t);if(n){n.completed=e;const g=this.originalItems.find(s=>s.id===t);g&&(g.completed=e),await this.saveItems()}},async saveItems(){try{await h.saveData(`classworks-list-${this.listId}`,this.items)}catch(t){console.error("Failed to save items",t)}},randomSort(){const t=this.items.map(e=>{const n=this.hashCode(e.id+this.sortSeed);return{...e,randomValue:this.seededRandom(n)}});t.sort((e,n)=>e.randomValue-n.randomValue),this.items=t.map(e=>{const n={...e};return delete n.randomValue,n}),this.isRandomSorted=!0,this.saveItems()},resetSort(){this.items=JSON.parse(JSON.stringify(this.originalItems)),this.isRandomSorted=!1,this.saveItems()},hashCode(t){let e=0;for(let n=0;n[i(r,{icon:"mdi-arrow-left",variant:"text",onClick:e[0]||(e[0]=a=>t.$router.push("/"))})]),default:l(()=>[s.list&&!s.isRenaming?(m(),p(E,{key:0,class:"text-h6"},{default:l(()=>[o(f(s.list.name),1)]),_:1})):(m(),p(E,{key:1,class:"text-h6"},{default:l(()=>[...e[14]||(e[14]=[o("列表",-1)])]),_:1}))]),_:1}),i(Y,null,{default:l(()=>[M("div",te,[i(r,{border:"",class:"mr-2",icon:"",to:"/list"},{default:l(()=>[i(I,null,{default:l(()=>[...e[15]||(e[15]=[o("mdi-arrow-left",-1)])]),_:1})]),_:1}),s.list&&!s.isRenaming?(m(),u("h1",ie,[o(f(s.list.name)+" ",1),i(r,{border:"",icon:"",size:"small",onClick:d.startRenaming},{default:l(()=>[i(I,null,{default:l(()=>[...e[16]||(e[16]=[o("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"])])):s.list&&s.isRenaming?(m(),u("div",le,[i(x,{modelValue:s.newListName,"onUpdate:modelValue":e[1]||(e[1]=a=>s.newListName=a),autofocus:"",class:"mr-2",density:"compact","hide-details":"",label:"列表名称",style:{"min-width":"200px"},onKeyup:P(d.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),i(r,{class:"mr-2",color:"primary",size:"small",onClick:d.saveListName},{default:l(()=>[i(I,null,{default:l(()=>[...e[17]||(e[17]=[o("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),i(r,{color:"error",size:"small",onClick:d.cancelRenaming},{default:l(()=>[i(I,null,{default:l(()=>[...e[18]||(e[18]=[o("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])])):(m(),u("h1",se," 加载中... "))]),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,{class:"d-flex align-center"},{default:l(()=>[e[21]||(e[21]=o(" 项目列表 ",-1)),i(y),i(K,{modelValue:s.sortType,"onUpdate:modelValue":e[2]||(e[2]=a=>s.sortType=a),mandatory:""},{default:l(()=>[i(r,{value:"default"},{default:l(()=>[i(I,null,{default:l(()=>[...e[19]||(e[19]=[o("mdi-sort-alphabetical-ascending",-1)])]),_:1})]),_:1}),i(r,{value:"completed"},{default:l(()=>[i(I,null,{default:l(()=>[...e[20]||(e[20]=[o("mdi-check-circle-outline",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}),d.sortedItems.length===0?(m(),p(V,{key:0},{default:l(()=>[...e[22]||(e[22]=[o(" 暂无项目,请添加新项目 ",-1)])]),_:1})):(m(),p(R,{key:1,"select-strategy":"leaf"},{default:l(()=>[(m(!0),u(k,null,j(d.sortedItems,(a,w)=>(m(),p(C,{key:a.id,class:T({"text-decoration-line-through":a.completed}),onClick:L=>d.openItemDetails(a)},{prepend:l(()=>[i($,{start:""},{default:l(()=>[i(H,{"model-value":a.completed,"onUpdate:modelValue":L=>d.updateItemStatus(a.id,L),onClick:e[3]||(e[3]=q(()=>{},["stop"]))},null,8,["model-value","onUpdate:modelValue"])]),_:2},1024)]),append:l(()=>[o(f(w+1),1)]),default:l(()=>[o(" "+f(a.name)+" ",1),i(v,null,{default:l(()=>[o(f(a.description),1)]),_:2},1024)]),_:2},1032,["class","onClick"]))),128))]),_:1})),d.sortedItems.length>0?(m(),p(b,{key:2},{default:l(()=>[i(y),i(r,{disabled:!d.hasCompletedItems,color:"error","prepend-icon":"mdi-delete-sweep",onClick:d.confirmDeleteCompleted},{default:l(()=>[...e[23]||(e[23]=[o(" 删除已完成项目 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})):N("",!0)]),_:1}),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[24]||(e[24]=[o("添加新项目",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.newItemName,"onUpdate:modelValue":e[4]||(e[4]=a=>s.newItemName=a),rules:[a=>!!a||"名称不能为空"],label:"项目名称"},null,8,["modelValue","rules"]),i(r,{disabled:!s.newItemName,color:"primary",onClick:d.addItem},{default:l(()=>[...e[25]||(e[25]=[o(" 添加 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),i(c,{border:"",class:"mb-5",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[...e[26]||(e[26]=[o("列表排序",-1)])]),_:1}),i(V,null,{default:l(()=>[i(x,{modelValue:s.sortSeed,"onUpdate:modelValue":e[5]||(e[5]=a=>s.sortSeed=a),class:"mb-3",hint:"输入相同的种子值可以得到相同的排序结果",label:"排序种子 (任意数字或文本)","persistent-hint":""},null,8,["modelValue"]),i(r,{class:"mr-2",color:"primary",onClick:d.randomSort},{default:l(()=>[...e[27]||(e[27]=[o(" 随机排序 ",-1)])]),_:1},8,["onClick"]),i(r,{variant:"text",onClick:d.resetSort},{default:l(()=>[...e[28]||(e[28]=[o(" 撤销 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1}),i(A,{modelValue:s.deleteDialog.show,"onUpdate:modelValue":e[7]||(e[7]=a=>s.deleteDialog.show=a),"max-width":"500"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[o(f(s.deleteDialog.title),1)]),_:1}),i(V,null,{default:l(()=>[o(f(s.deleteDialog.text),1)]),_:1}),i(b,null,{default:l(()=>[i(y),i(r,{color:"primary",variant:"text",onClick:e[6]||(e[6]=a=>s.deleteDialog.show=!1)},{default:l(()=>[...e[29]||(e[29]=[o(" 取消 ",-1)])]),_:1}),i(r,{color:"error",variant:"text",onClick:d.confirmDelete},{default:l(()=>[...e[30]||(e[30]=[o(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),i(A,{modelValue:s.itemDialog.show,"onUpdate:modelValue":e[13]||(e[13]=a=>s.itemDialog.show=a),"max-width":"600"},{default:l(()=>[i(c,{border:"",rounded:"xl"},{default:l(()=>[i(D,null,{default:l(()=>[s.itemDialog.isEditing?(m(),u("span",ae,"编辑项目")):(m(),u("span",oe,"项目详情"))]),_:1}),i(V,null,{default:l(()=>[!s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",ne,[i(R,null,{default:l(()=>[i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[o(f(s.itemDialog.item.name),1)]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.id),1)]),_:1})]),_:1}),i(C,null,{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[31]||(e[31]=[o("状态",-1)])]),_:1}),i(v,null,{default:l(()=>[i(Q,{color:s.itemDialog.item.completed?"success":"warning",size:"small"},{default:l(()=>[o(f(s.itemDialog.item.completed?"已完成":"未完成"),1)]),_:1},8,["color"])]),_:1})]),_:1}),s.itemDialog.item.description?(m(),p(C,{key:0},{default:l(()=>[i(S,{class:"text-subtitle-1 font-weight-bold"},{default:l(()=>[...e[32]||(e[32]=[o("描述",-1)])]),_:1}),i(v,null,{default:l(()=>[o(f(s.itemDialog.item.description),1)]),_:1})]),_:1})):N("",!0)]),_:1})])):s.itemDialog.isEditing&&s.itemDialog.item?(m(),u("div",de,[i(x,{modelValue:s.itemDialog.editedItem.name,"onUpdate:modelValue":e[8]||(e[8]=a=>s.itemDialog.editedItem.name=a),class:"mb-3",label:"名称",variant:"outlined"},null,8,["modelValue"]),i(W,{modelValue:s.itemDialog.editedItem.description,"onUpdate:modelValue":e[9]||(e[9]=a=>s.itemDialog.editedItem.description=a),class:"mb-3",label:"描述",rows:"3",variant:"outlined"},null,8,["modelValue"]),i(X,{modelValue:s.itemDialog.editedItem.completed,"onUpdate:modelValue":e[10]||(e[10]=a=>s.itemDialog.editedItem.completed=a),color:"success","hide-details":"",label:"已完成"},null,8,["modelValue"])])):N("",!0)]),_:1}),i(b,null,{default:l(()=>[i(y),s.itemDialog.isEditing?(m(),u(k,{key:1},[i(r,{color:"success",variant:"text",onClick:d.saveItemChanges},{default:l(()=>[...e[36]||(e[36]=[o(" 保存 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"secondary",variant:"text",onClick:d.cancelEditingItem},{default:l(()=>[...e[37]||(e[37]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])],64)):(m(),u(k,{key:0},[i(r,{color:"primary",variant:"text",onClick:d.startEditingItem},{default:l(()=>[...e[33]||(e[33]=[o(" 编辑 ",-1)])]),_:1},8,["onClick"]),i(r,{color:"error",variant:"text",onClick:e[11]||(e[11]=a=>{var w;return d.confirmDeleteItem((w=s.itemDialog.item)==null?void 0:w.id)})},{default:l(()=>[...e[34]||(e[34]=[o(" 删除 ",-1)])]),_:1}),i(r,{color:"secondary",variant:"text",onClick:e[12]||(e[12]=a=>s.itemDialog.show=!1)},{default:l(()=>[...e[35]||(e[35]=[o(" 关闭 ",-1)])]),_:1})],64))]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const we=z(ee,[["render",me]]);export{we as default}; diff --git a/assets/authorize-B6ScKHRa.js b/assets/authorize-B6ScKHRa.js new file mode 100644 index 0000000..546018f --- /dev/null +++ b/assets/authorize-B6ScKHRa.js @@ -0,0 +1 @@ +import{ao as V,ap as g,Z as _,s as c,k,o as u,j as l,w as e,c as a,l as y,q as C,v as i,A as d,z as h,ag as x,D as p,i as T,M as B,x as N,y as S,a2 as f}from"./index-BUM0TY0E.js";import{V as w,a as R}from"./VRow-CPw1R1BU.js";import{V as j}from"./VContainer-DakLDC1m.js";const M={__name:"authorize",setup(q){const m=V(),n=g(),s=f("processing"),r=f("正在验证授权信息...");_(async()=>{try{const t=m.query.token;if(!t){s.value="error",r.value="未获取到授权令牌";return}c("server.kvToken",t);const o=k("device.uuid");o&&o!=="00000000-0000-4000-8000-000000000000"?(c("device.uuid","00000000-0000-4000-8000-000000000000"),r.value="授权成功!已完成数据迁移。"):r.value="授权成功!",s.value="success",n.push("/")}catch(t){console.error("授权处理失败:",t),s.value="error",r.value=`授权失败: ${t.message}`}});const v=()=>{n.push("/")};return(t,o)=>(u(),l(j,{class:"fill-height",fluid:""},{default:e(()=>[a(w,{align:"center",justify:"center"},{default:e(()=>[a(R,{cols:"12",md:"6",sm:"8"},{default:e(()=>[a(y,null,{default:e(()=>[a(C,{class:"text-h5"},{default:e(()=>[i(d(s.value==="processing"?"正在处理授权...":s.value==="success"?"授权成功":"授权失败"),1)]),_:1}),a(h,null,{default:e(()=>[s.value==="processing"?(u(),l(x,{key:0,class:"mb-4",color:"primary",indeterminate:""})):p("",!0),T("p",null,d(r.value),1)]),_:1}),s.value!=="processing"?(u(),l(B,{key:0},{default:e(()=>[a(N),a(S,{color:"primary",onClick:v},{default:e(()=>[...o[0]||(o[0]=[i("返回首页",-1)])]),_:1})]),_:1})):p("",!0)]),_:1})]),_:1})]),_:1})]),_:1}))}};export{M as default}; diff --git a/assets/authorize-CMXt_eB_.js b/assets/authorize-CMXt_eB_.js deleted file mode 100644 index d26aea4..0000000 --- a/assets/authorize-CMXt_eB_.js +++ /dev/null @@ -1 +0,0 @@ -import{ao as V,ap as g,Z as _,a0 as c,s as i,k,j as u,o as l,w as e,c as a,l as y,B as d,q as C,t as p,C as f,z as h,i as x,ag as B,M as T,x as N,y as S}from"./index-Ck0Pnd4f.js";import{V as w,a as R}from"./VRow-D_zZfsym.js";import{V as j}from"./VContainer-_5I3ogXr.js";const A={__name:"authorize",setup(q){const m=V(),n=g(),s=c("processing"),r=c("正在验证授权信息...");_(async()=>{try{const t=m.query.token;if(!t){s.value="error",r.value="未获取到授权令牌";return}i("server.kvToken",t);const o=k("device.uuid");o&&o!=="00000000-0000-4000-8000-000000000000"?(i("device.uuid","00000000-0000-4000-8000-000000000000"),r.value="授权成功!已完成数据迁移。"):r.value="授权成功!",s.value="success",n.push("/")}catch(t){console.error("授权处理失败:",t),s.value="error",r.value=`授权失败: ${t.message}`}});const v=()=>{n.push("/")};return(t,o)=>(l(),u(j,{class:"fill-height",fluid:""},{default:e(()=>[a(w,{align:"center",justify:"center"},{default:e(()=>[a(R,{cols:"12",md:"6",sm:"8"},{default:e(()=>[a(y,null,{default:e(()=>[a(C,{class:"text-h5"},{default:e(()=>[p(f(s.value==="processing"?"正在处理授权...":s.value==="success"?"授权成功":"授权失败"),1)]),_:1}),a(h,null,{default:e(()=>[s.value==="processing"?(l(),u(B,{key:0,class:"mb-4",color:"primary",indeterminate:""})):d("",!0),x("p",null,f(r.value),1)]),_:1}),s.value!=="processing"?(l(),u(T,{key:0},{default:e(()=>[a(N),a(S,{color:"primary",onClick:v},{default:e(()=>[...o[0]||(o[0]=[p("返回首页",-1)])]),_:1})]),_:1})):d("",!0)]),_:1})]),_:1})]),_:1})]),_:1}))}};export{A as default}; diff --git a/assets/cses2wakeup-CFK6QLBO.js b/assets/cses2wakeup-CFK6QLBO.js new file mode 100644 index 0000000..9cdc2ae --- /dev/null +++ b/assets/cses2wakeup-CFK6QLBO.js @@ -0,0 +1,7 @@ +import{p as le,a3 as z,g as ye,aq as tt,ar as Ne,as as Re,ae as st,b as pe,at as lt,c as n,i as y,F as C,E as I,d as Fe,au as Me,a2 as Q,av as M,aw as at,ax as it,ay as we,az as rt,aA as Le,aB as nt,aC as ze,y as L,n as ot,aD as dt,aE as ut,aF as ct,aG as mt,aH as ft,aI as ht,aJ as ce,m as yt,aK as pt,aL as bt,aM as gt,_ as vt,o as m,j as S,w as r,l as q,q as me,t as j,v as c,Y as kt,z as te,A as p,D as T,B as Tt,C as b,G as R,aN as wt,M as xt,x as Dt}from"./index-BUM0TY0E.js";import{V as xe,a as X}from"./VRow-CPw1R1BU.js";import{V as Z}from"./VAlert-DFIvt6kt.js";import{V as We,a as Ct,b as Vt,c as De,d as fe,e as St,f as jt}from"./VTabsWindowItem-DtW2SDNN.js";import{V as W,a as Ce,m as Pt,b as At}from"./VChip-vdRDApTi.js";import{V as he,a as Ve}from"./VTooltip-COe_nB02.js";import{V as Et}from"./VTextarea-jqnFSwaH.js";import{u as Bt,a as Se,b as je,c as Nt,m as Rt,d as Ft,V as Mt}from"./VTextField-C579e7l1.js";import{V as Pe}from"./VSwitch-CjVC2rsZ.js";import{V as Lt}from"./VSkeletonLoader-DX2FpkIS.js";import{a as zt}from"./VPagination-CbPhc6Cb.js";import{V as Wt}from"./VContainer-DakLDC1m.js";import"./filter-ByuXXWRY.js";import"./VCheckboxBtn-CylQNaxd.js";function It(){function t(o){var s,i;return[...((s=o.dataTransfer)==null?void 0:s.items)??[]].filter(l=>l.kind==="file").map(l=>l.webkitGetAsEntry()).filter(Boolean).length>0||[...((i=o.dataTransfer)==null?void 0:i.files)??[]].length>0}async function e(o){var i,l;const a=[],s=[...((i=o.dataTransfer)==null?void 0:i.items)??[]].filter(d=>d.kind==="file").map(d=>d.webkitGetAsEntry()).filter(Boolean);if(s.length)for(const d of s){const f=await Ie(d,_e(".",d));a.push(...f.map(h=>h.file))}else a.push(...((l=o.dataTransfer)==null?void 0:l.files)??[]);return a}return{handleDrop:e,hasFilesOrFolders:t}}function Ie(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return new Promise((o,a)=>{t.isFile?t.file(i=>o([{file:i,path:e}]),a):t.isDirectory&&t.createReader().readEntries(async i=>{const l=[];for(const d of i)l.push(...await Ie(d,_e(e,d)));o(l)})})}function _e(t,e){return e.isDirectory?`${t}/${e.name}`:t}const _t=le({filterByType:String},"file-accept");function Ut(t){const e=z(()=>t.filterByType?Ot(t.filterByType):null);function o(a){if(e.value){const s=a.filter(e.value);return{accepted:s,rejected:a.filter(i=>!s.includes(i))}}return{accepted:a,rejected:[]}}return{filterAccepted:o}}function Ot(t){const e=t.split(",").map(i=>i.trim().toLowerCase()),o=e.filter(i=>i.startsWith(".")),a=e.filter(i=>i.endsWith("/*")),s=e.filter(i=>!o.includes(i)&&!a.includes(i));return i=>{var f,h;const l=((f=i.name.split(".").at(-1))==null?void 0:f.toLowerCase())??"",d=((h=i.type.split("/").at(0))==null?void 0:h.toLowerCase())??"";return s.includes(i.type)||o.includes(`.${l}`)||a.includes(`${d}/*`)}}const Yt=le({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:"$vuetify.fileInput.counterSize"},counterString:{type:String,default:"$vuetify.fileInput.counter"},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:t=>typeof t=="boolean"||[1e3,1024].includes(Number(t))},truncateLength:{type:[Number,String],default:22},...Le(Ft({prependIcon:"$file"}),["direction"]),modelValue:{type:[Array,Object],default:t=>t.multiple?[]:null,validator:t=>Re(t).every(e=>e!=null&&typeof e=="object")},..._t(),...Rt({clearable:!0})},"VFileInput"),Ht=ye()({name:"VFileInput",inheritAttrs:!1,props:Yt(),emits:{"click:control":t=>!0,"mousedown:control":t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0,rejected:t=>!0},setup(t,e){let{attrs:o,emit:a,slots:s}=e;const{t:i}=tt(),{filterAccepted:l}=Ut(t),d=Ne(t,"modelValue",t.modelValue,u=>Re(u),u=>!t.multiple&&Array.isArray(u)?u[0]:u),{isFocused:f,focus:h,blur:v}=Bt(t),w=z(()=>typeof t.showSize!="boolean"?t.showSize:void 0),k=z(()=>(d.value??[]).reduce((u,g)=>{let{size:O=0}=g;return u+O},0)),V=z(()=>we(k.value,w.value)),D=z(()=>(d.value??[]).map(u=>{const{name:g="",size:O=0}=u,Y=re(g);return t.showSize?`${Y} (${we(O,w.value)})`:Y})),G=z(()=>{var g;const u=((g=d.value)==null?void 0:g.length)??0;return t.showSize?i(t.counterSizeString,u,V.value):i(t.counterString,u)}),A=Q(),P=Q(),x=Q(),B=M(()=>f.value||t.active),N=z(()=>["plain","underlined"].includes(t.variant)),E=rt(!1),{handleDrop:J,hasFilesOrFolders:F}=It();function U(){var u;x.value!==document.activeElement&&((u=x.value)==null||u.focus()),f.value||h()}function ae(u){var g;(g=x.value)==null||g.click()}function _(u){a("mousedown:control",u)}function ie(u){var g;(g=x.value)==null||g.click(),a("click:control",u)}function be(u){u.stopPropagation(),U(),at(()=>{d.value=[],it(t["onClick:clear"],u)})}function re(u){if(u.length{(!Array.isArray(u)||!u.length)&&x.value&&(x.value.value="")}),pe(()=>{const u=!!(s.counter||t.counter),g=!!(u||s.details),[O,Y]=lt(o),{modelValue:oe,...de}=Se.filterProps(t),He={...je.filterProps(t),"onClick:clear":be},Ge=o.webkitdirectory!==void 0&&o.webkitdirectory!==!1,Je=o.accept?String(o.accept):void 0,qe=Ge?void 0:t.filterByType??Je;return n(Se,I({ref:A,modelValue:t.multiple?d.value:d.value[0],class:["v-file-input",{"v-file-input--chips":!!t.chips,"v-file-input--dragging":E.value,"v-file-input--hide":t.hideInput,"v-input--plain-underlined":N.value},t.class],style:t.style,"onClick:prepend":ae},O,de,{centerAffix:!N.value,focused:f.value}),{...s,default:ue=>{let{id:ee,isDisabled:K,isDirty:ve,isReadonly:ke,isValid:Xe,hasDetails:Ke}=ue;return n(je,I({ref:P,prependIcon:t.prependIcon,onMousedown:_,onClick:ie,"onClick:prependInner":t["onClick:prependInner"],"onClick:appendInner":t["onClick:appendInner"]},He,{id:ee.value,active:B.value||ve.value,dirty:ve.value||t.dirty,disabled:K.value,focused:f.value,details:Ke.value,error:Xe.value===!1,onDragover:ne,onDrop:Oe}),{...s,default:Ze=>{var Te;let{props:{class:Qe,...$e},controlRef:et}=Ze;return y(C,null,[y("input",I({ref:H=>x.value=et.value=H,type:"file",accept:qe,readonly:ke.value,disabled:K.value,multiple:t.multiple,name:t.name,onClick:H=>{H.stopPropagation(),ke.value&&H.preventDefault(),U()},onChange:Ye,onDragleave:$,onFocus:U,onBlur:v},$e,Y),null),y("div",{class:Fe(Qe)},[!!((Te=d.value)!=null&&Te.length)&&!t.hideInput&&(s.selection?s.selection({fileNames:D.value,totalBytes:k.value,totalBytesReadable:V.value}):t.chips?D.value.map(H=>n(W,{key:H,size:"small",text:H},null)):D.value.join(", "))])])}})},details:g?ue=>{var ee,K;return y(C,null,[(ee=s.details)==null?void 0:ee.call(s,ue),u&&y(C,null,[y("span",null,null),n(Nt,{active:!!((K=d.value)!=null&&K.length),value:G.value,disabled:t.disabled},s.counter)])])}:void 0})}),Me({},A,P,x)}}),Ue=le({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:"horizontal"},...Le(ct({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),se=ye()({name:"VTab",props:Ue(),setup(t,e){let{slots:o,attrs:a}=e;const{textColorClasses:s,textColorStyles:i}=nt(()=>t.sliderColor),{backgroundColorClasses:l,backgroundColorStyles:d}=ze(()=>t.sliderColor),f=Q(),h=Q(),v=z(()=>t.direction==="horizontal"),w=z(()=>{var A,P;return((P=(A=f.value)==null?void 0:A.group)==null?void 0:P.isSelected.value)??!1});function k(A,P){return{opacity:[0,1]}}function V(A,P){return t.direction==="vertical"?{transform:["scaleY(0)","scaleY(1)"]}:{transform:["scaleX(0)","scaleX(1)"]}}function D(A,P){const x=P.getBoundingClientRect(),B=A.getBoundingClientRect(),N=v.value?"x":"y",E=v.value?"X":"Y",J=v.value?"right":"bottom",F=v.value?"width":"height",U=x[N],ae=B[N],_=U>ae?x[J]-B[J]:x[N]-B[N],ie=Math.sign(_)>0?v.value?"right":"bottom":Math.sign(_)<0?v.value?"left":"top":"center",re=(Math.abs(_)+(Math.sign(_)<0?x[F]:B[F]))/Math.max(x[F],B[F])||0,ne=x[F]/B[F]||0,$=1.5;return{transform:[`translate${E}(${_}px) scale${E}(${ne})`,`translate${E}(${_/$}px) scale${E}(${(re-1)/$+1})`,"none"],transformOrigin:Array(3).fill(ie)}}function G(A){var x,B;let{value:P}=A;if(P){const N=(B=(x=f.value)==null?void 0:x.$el.parentElement)==null?void 0:B.querySelector(".v-tab--selected .v-tab__slider"),E=h.value;if(!N||!E)return;const J=getComputedStyle(N).color,F={fade:k,grow:V,shift:D}[t.sliderTransition??"shift"]??D,U=Number(t.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[t.sliderTransition??"shift"]??225);dt(E,{backgroundColor:[J,"currentcolor"],...F(E,N)},{duration:U,easing:ut})}}return pe(()=>{const A=L.filterProps(t);return n(L,I({symbol:We,ref:f,class:["v-tab",t.class,w.value&&t.inset?l.value:[]],style:[t.style,w.value&&t.inset?d.value:[]],tabindex:w.value?0:-1,role:"tab","aria-selected":String(w.value),active:!1},A,a,{block:t.fixed,maxWidth:t.fixed?300:void 0,"onGroup:selected":G}),{...o,default:()=>{var P;return y(C,null,[((P=o.default)==null?void 0:P.call(o))??t.text,!t.hideSlider&&y("div",{ref:h,class:Fe(["v-tab__slider",s.value]),style:ot(i.value)},null)])}})}),Me({},f)}});function Gt(t){return t?t.map(e=>gt(e)?e:{text:e,value:e}):[]}const Jt=le({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...bt(Ue(),["spaced","sliderTransition","sliderTransitionDuration"]),...Pt({mandatory:"force",selectedClass:"v-tab-item--selected"}),...pt(),...yt()},"VTabs"),Ae=ye()({name:"VTabs",props:Jt(),emits:{"update:modelValue":t=>!0},setup(t,e){let{attrs:o,slots:a}=e;const s=Ne(t,"modelValue"),i=z(()=>Gt(t.items)),{densityClasses:l}=mt(t),{backgroundColorClasses:d,backgroundColorStyles:f}=ze(()=>t.bgColor),{scopeId:h}=ft();return ht({VTab:{color:M(t,"color"),direction:M(t,"direction"),stacked:M(t,"stacked"),fixed:M(t,"fixedTabs"),inset:M(t,"inset"),sliderColor:M(t,"sliderColor"),sliderTransition:M(t,"sliderTransition"),sliderTransitionDuration:M(t,"sliderTransitionDuration"),hideSlider:M(t,"hideSlider")}}),pe(()=>{const v=Ce.filterProps(t),w=!!(a.window||t.items.length>0);return y(C,null,[n(Ce,I(v,{modelValue:s.value,"onUpdate:modelValue":k=>s.value=k,class:["v-tabs",`v-tabs--${t.direction}`,`v-tabs--align-tabs-${t.alignTabs}`,{"v-tabs--fixed-tabs":t.fixedTabs,"v-tabs--grow":t.grow,"v-tabs--inset":t.inset,"v-tabs--stacked":t.stacked},l.value,d.value,t.class],style:[{"--v-tabs-height":ce(t.height),"--v-tabs-inset-padding":t.inset?ce(t.insetPadding):void 0,"--v-tabs-inset-radius":t.inset?ce(t.insetRadius):void 0},f.value,t.style],role:"tablist",symbol:We},h,o),{default:a.default??(()=>i.value.map(k=>{var V;return((V=a.tab)==null?void 0:V.call(a,{item:k}))??n(se,I(k,{key:k.text,value:k.value,spaced:t.spaced}),{default:a[`tab.${k.value}`]?()=>{var D;return(D=a[`tab.${k.value}`])==null?void 0:D.call(a,{item:k})}:void 0})})),prev:a.prev,next:a.next}),w&&n(Vt,I({modelValue:s.value,"onUpdate:modelValue":k=>s.value=k,key:"tabs-window"},h),{default:()=>{var k;return[i.value.map(V=>{var D;return((D=a.item)==null?void 0:D.call(a,{item:V}))??n(Ct,{value:V.value},{default:()=>{var G;return(G=a[`item.${V.value}`])==null?void 0:G.call(a,{item:V})}})}),(k=a.window)==null?void 0:k.call(a)]}})])}),{}}}),Ee=()=>new Promise((t,e)=>{if(typeof window.jsyaml<"u")return t(window.jsyaml);const o=document.createElement("script");o.src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/4.1.0/js-yaml.min.js",o.async=!0,o.onload=()=>t(window.jsyaml),o.onerror=()=>e(new Error("无法加载YAML解析库")),document.head.appendChild(o)});class Be{constructor(e){this.data=e,this.version=null,this.subjects=[],this.schedules=[],this._parseData()}_parseData(){if(!this.data)return;this.version=this.data.version||1;const e=this.data.subjects||[];for(const a of e)this.subjects.push({name:a.name,simplified_name:a.simplified_name||null,teacher:a.teacher||null,room:a.room||null});const o=this.data.schedules||[];for(const a of o){const s=[];for(const i of a.classes||[])s.push({subject:i.subject,start_time:i.start_time,end_time:i.end_time});this.schedules.push({name:a.name,enable_day:a.enable_day,weeks:a.weeks||"all",classes:s})}}getSubjects(){return this.subjects}getSchedules(){return this.schedules}getScheduleByDay(e){const o=this.schedules.find(a=>a.enable_day===e);return o?o.classes:[]}toCsesData(){return{version:this.version,subjects:this.subjects,schedules:this.schedules}}}const qt={name:"Cses2Wakeup",data(){return{activeTab:"text",file:null,jsonText:"",loading:!1,error:"",success:"",processedData:null,selectedRows:[],exportPeriods:[],selectedDays:[1,2,3,4,5,6,7],formatMode:"auto",yamlLibLoaded:!1,activeDay:null,subjectColors:{数学:"blue",语文:"red",英语:"green",物理:"purple",化学:"orange",生物:"teal",历史:"brown",地理:"indigo",政治:"pink",体育:"cyan",自习:"grey",早读:"amber",班会:"deep-purple",听力:"light-blue",信息技术:"light-green"},settings:{hideTeacherName:!1,hideRoom:!1,totalWeeks:30},tableHeaders:[{title:"",key:"data-table-select"},{title:"节次",key:"period"},{title:"周一",key:"1"},{title:"周二",key:"2"},{title:"周三",key:"3"},{title:"周四",key:"4"},{title:"周五",key:"5"},{title:"周六",key:"6"},{title:"周日",key:"7"}],timeTableHeaders:[{title:"节次",key:"period"},{title:"课程",key:"subject"},{title:"星期",key:"day"},{title:"开始时间",key:"startTime"},{title:"结束时间",key:"endTime"},{title:"教师",key:"teacher"},{title:"教室",key:"room"},{title:"周次",key:"weeks"}],dayNames:{1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"}}},computed:{timeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),o={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{o[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){if(!this.selectedDays.includes(s))continue;const i=a[s];if(i)if(Array.isArray(i))i.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:o[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!i.name)continue;t.push({originalPeriod:a.period,period:o[a.period],subject:i.name,day:this.dayNames[s],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const i={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return i[a.day]-i[s.day]})},hasExportData(){return this.processedData&&this.exportPeriods.length>0},totalClassHours(){return this.timeTableData.length},daysWithSchedule(){const t=[];for(let e=1;e<=7;e++)this.selectedDays.includes(e)&&this.getDaySchedule(e).length>0&&t.push(e);return t}},methods:{async handleFileChange(){if(this.resetData(),!this.file)return;const t=this.file.name.toLowerCase();if(t.endsWith(".json")||t.endsWith(".js"))this.formatMode="json";else if((t.endsWith(".yml")||t.endsWith(".yaml"))&&(this.formatMode="yaml",!this.yamlLibLoaded))try{await Ee(),this.yamlLibLoaded=!0}catch(e){this.error=`无法加载YAML解析库: ${e.message}`;return}try{const e=new FileReader;e.onload=async o=>{try{this.jsonText=o.target.result,await this.processInput()}catch(a){this.error=`文件读取失败: ${a.message}`}},e.onerror=()=>{this.error="文件读取失败"},e.readAsText(this.file)}catch(e){this.error=`文件处理失败: ${e.message}`}},handleTextChange(){this.resetData()},resetData(){this.error="",this.success="",this.processedData=null,this.selectedRows=[],this.exportPeriods=[]},async processInput(){if(!this.jsonText&&!this.file){this.error="请粘贴文本或上传文件";return}this.loading=!0,this.error="",this.success="";try{await this.$nextTick();let t;try{if(this.formatMode==="yaml"||this.formatMode==="auto"&&this.isYaml(this.jsonText)){const o=this.parseYaml(this.jsonText);t=new Be(o).toCsesData()}else t=JSON.parse(this.jsonText)}catch(o){throw new Error(`格式解析错误: ${o.message}`)}if(!this.validateCsesFormat(t))throw new Error("不是有效的CSES格式数据");const e=this.processCsesData(t);this.processedData=e,this.selectedDays=[1,2,3,4,5],this.success="数据处理成功!",e.tableData&&e.tableData.length>0&&(this.selectedRows=[...e.tableData],this.exportPeriods=e.tableData.map(o=>o.period))}catch(t){this.error="数据处理失败:"+t.message,console.error(t)}finally{this.loading=!1}},validateCsesFormat(t){return t instanceof Be?t.version===1&&Array.isArray(t.subjects)&&Array.isArray(t.schedules):!(!t||typeof t!="object"||t.version!==1||!Array.isArray(t.subjects)||!Array.isArray(t.schedules))},processCsesData(t){const{schedules:e,subjects:o}=t,a=Object.fromEntries(o.map(l=>[l.name,l])),s=[];let i=0;e.forEach(l=>{l.classes&&l.classes.length>i&&(i=l.classes.length)});for(let l=1;l<=i;l++)s.push({period:l,1:null,2:null,3:null,4:null,5:null,6:null,7:null});return e.forEach(l=>{const d=l.enable_day;if(!d||d<1||d>7)return;let f="";l.weeks==="odd"?f="单":l.weeks==="even"&&(f="双"),l.classes.forEach((h,v)=>{if(!h.subject)return;const w=v+1;if(w>i)return;const k=a[h.subject]||{},V={name:h.subject,teacher:k.teacher||"",room:k.room||"",period:w,startTime:h.start_time,endTime:h.end_time,day:d,weekType:f},D=s[w-1][d];D?f&&D.weekType&&f!==D.weekType?(Array.isArray(s[w-1][d])||(s[w-1][d]=[D]),s[w-1][d].push(V)):f===D.weekType?s[w-1][d]=V:f||(s[w-1][d]=V):s[w-1][d]=V})}),{tableData:s,originalData:t}},updateSelectedPeriods(t){this.exportPeriods=[],t&&t.length>0&&(this.exportPeriods=[...new Set(t.filter(e=>e&&typeof e.period=="number").map(e=>e.period))])},getTimeTableData(){return this.timeTableData},downloadCSV(){var s;if(!((s=this.processedData)!=null&&s.tableData)){this.error="没有可下载的数据";return}if(this.exportPeriods.length===0){this.error="请至少选择一节要导出的课";return}if(this.daysWithSchedule.length===0||this.totalClassHours===0){this.error="没有课程数据可导出";return}let t=`课程名称,星期,开始节数,结束节数,老师,地点,周数 +`;for(const i of this.daysWithSchedule){const l=this.groupByPeriod(this.getDaySchedule(i));for(const d of l)for(const f of d.items){const h={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7}[f.day],v=this.settings.hideTeacherName?"":f.teacher||"",w=this.settings.hideRoom?"":f.room||"";t+=`${f.subject},${h},${f.period},${f.period},${v},${w},${f.weeks} +`}}const e="\uFEFF",o=new Blob([e+t],{type:"text/csv;charset=utf-8"}),a=document.createElement("a");a.href=URL.createObjectURL(o),a.download=`course_schedule_${this.totalClassHours}课时.csv`,a.click(),URL.revokeObjectURL(a.href),this.success=`导出成功!共计 ${this.totalClassHours} 课时`},showExportPreview(){if(!this.hasExportData){this.error="请先选择要导出的节次";return}const t=this.timeTableData.slice(0,5).map(e=>`${e.subject} (${e.day} 第${e.period}节)`).join(` +`);this.timeTableData.length>5?this.success=`导出预览 (共${this.totalClassHours}课时): +${t} +...等${this.totalClassHours-5}节课程`:this.success=`导出预览 (共${this.totalClassHours}课时): +${t}`,this.$nextTick(()=>{this.daysWithSchedule.length>0&&!this.activeDay&&(this.activeDay=this.daysWithSchedule[0])})},isYaml(t){const e=t.trim();if(e.startsWith("{")||e.startsWith("["))try{return JSON.parse(e),!1}catch{}return/^\s*[a-zA-Z0-9_-]+\s*:/.test(e)||/\n\s*[a-zA-Z0-9_-]+\s*:/.test(e)},parseYaml(t){try{if(typeof window.jsyaml<"u")return window.jsyaml.load(t);throw new Error("YAML解析器未加载")}catch(e){throw new Error(`YAML解析错误: ${e.message}`)}},getDaySchedule(t){return this.timeTableData?this.getUnfilteredTimeTableData().filter(o=>({周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7})[o.day]===t):[]},getUnfilteredTimeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),o={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{o[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){const i=a[s];if(i)if(Array.isArray(i))i.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:o[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!i.name)continue;t.push({originalPeriod:a.period,period:o[a.period],subject:i.name,day:this.dayNames[s],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const i={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return i[a.day]-i[s.day]})},groupByPeriod(t){const e={};return t.forEach(o=>{e[o.period]||(e[o.period]={period:o.period,originalPeriod:o.originalPeriod,items:[],timeSlots:[]}),e[o.period].items.push(o),e[o.period].timeSlots.push({startTime:o.startTime,endTime:o.endTime})}),Object.values(e).forEach(o=>{o.uniqueTimeSlots=[],o.timeSlots.forEach(a=>{o.uniqueTimeSlots.some(s=>s.startTime===a.startTime&&s.endTime===a.endTime)||o.uniqueTimeSlots.push(a)}),o.uniqueTimeSlots.sort((a,s)=>a.startTime.localeCompare(s.startTime))}),Object.values(e).sort((o,a)=>o.period-a.period)},formatTime(t){return t?t.substring(0,5):""},getSubjectColor(t){return this.subjectColors[t]||"grey"},selectAllDays(){this.selectedDays=[1,2,3,4,5,6,7]},clearSelectedDays(){this.selectedDays=[]}},async mounted(){try{await Ee(),this.yamlLibLoaded=!0}catch(t){this.error=t.message}this.$watch("daysWithSchedule",t=>{t.length>0&&!this.activeDay&&(this.activeDay=t[0])})}},Xt={class:"d-flex align-center"},Kt={class:"d-flex align-center"},Zt={key:2,class:"text-caption mb-2"},Qt={class:"d-flex align-center mb-2"},$t={class:"d-flex align-center mb-3"},es={class:"d-flex align-center mb-3"},ts={key:0,class:"course-cell"},ss={key:0},ls={key:1},as={key:2,class:"week-type"},is={key:0},rs={key:1},ns={key:2,class:"week-type"},os={class:"text-center font-weight-bold"};function ds(t,e,o,a,s,i){return m(),S(Wt,{class:"fill-height"},{default:r(()=>[n(xe,null,{default:r(()=>[n(X,{cols:"12"},{default:r(()=>[n(q,{class:"elevation-12",border:""},{default:r(()=>[n(me,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:r(()=>[n(j,{color:"white",class:"mr-2"},{default:r(()=>[...e[15]||(e[15]=[c("mdi-swap-horizontal",-1)])]),_:1}),e[16]||(e[16]=c(" 课程表转换工具 ",-1))]),_:1}),n(kt,null,{default:r(()=>[...e[17]||(e[17]=[c(" 将CSES格式的JSON或YAML文本转换为WakeUp软件使用的课程表 ",-1)])]),_:1}),n(te,null,{default:r(()=>[s.error?(m(),S(Z,{key:0,type:"error",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[0]||(e[0]=l=>s.error="")},{default:r(()=>[y("div",Xt,[n(j,{class:"mr-2"},{default:r(()=>[...e[18]||(e[18]=[c("mdi-alert-circle",-1)])]),_:1}),c(" "+p(s.error),1)])]),_:1})):T("",!0),s.success?(m(),S(Z,{key:1,type:"success",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[1]||(e[1]=l=>s.success="")},{default:r(()=>[y("div",Kt,[n(j,{class:"mr-2"},{default:r(()=>[...e[19]||(e[19]=[c("mdi-check-circle",-1)])]),_:1}),c(" "+p(s.success),1)])]),_:1})):T("",!0),n(Ae,{modelValue:s.activeTab,"onUpdate:modelValue":e[2]||(e[2]=l=>s.activeTab=l),class:"mb-4 mx-2",color:"primary",rounded:""},{default:r(()=>[n(se,{value:"text",class:"px-5"},{default:r(()=>[n(j,{start:""},{default:r(()=>[...e[20]||(e[20]=[c("mdi-text-box",-1)])]),_:1}),e[21]||(e[21]=c(" 文本粘贴 ",-1))]),_:1}),n(se,{value:"file",class:"px-5"},{default:r(()=>[n(j,{start:""},{default:r(()=>[...e[22]||(e[22]=[c("mdi-file-upload",-1)])]),_:1}),e[23]||(e[23]=c(" 文件上传 ",-1))]),_:1})]),_:1},8,["modelValue"]),n(Tt,{modelValue:s.formatMode,"onUpdate:modelValue":e[3]||(e[3]=l=>s.formatMode=l),color:"primary",class:"mb-4 mx-2",mandatory:"",density:"comfortable",border:"",rounded:""},{default:r(()=>[n(L,{value:"auto"},{default:r(()=>[...e[24]||(e[24]=[c("自动检测",-1)])]),_:1}),n(L,{value:"json"},{default:r(()=>[...e[25]||(e[25]=[c("JSON",-1)])]),_:1}),n(L,{value:"yaml",disabled:!s.yamlLibLoaded},{default:r(()=>[e[26]||(e[26]=c(" YAML ",-1)),n(he,{activator:"parent",location:"bottom"},{default:r(()=>[c(p(s.yamlLibLoaded?"YAML解析库已加载":"正在加载YAML解析库..."),1)]),_:1})]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),s.jsonText&&s.formatMode==="auto"?(m(),b("div",Zt," 检测到的格式: "+p(i.isYaml(s.jsonText)?"YAML":"JSON"),1)):T("",!0),n(De,{modelValue:s.activeTab,"onUpdate:modelValue":e[6]||(e[6]=l=>s.activeTab=l)},{default:r(()=>[n(fe,{value:"text"},{default:r(()=>[y("div",Qt,[n(Et,{modelValue:s.jsonText,"onUpdate:modelValue":e[4]||(e[4]=l=>s.jsonText=l),label:"粘贴JSON或YAML文本",loading:s.loading,disabled:s.loading,"row-height":"25",rows:"6",placeholder:"请在此粘贴CSES格式的数据...",onInput:i.handleTextChange},null,8,["modelValue","loading","disabled","onInput"])])]),_:1}),n(fe,{value:"file"},{default:r(()=>[n(Ht,{modelValue:s.file,"onUpdate:modelValue":e[5]||(e[5]=l=>s.file=l),accept:".js,.json,.yml,.yaml",label:"选择课程表文件","prepend-icon":"mdi-file-upload",loading:s.loading,disabled:s.loading,onChange:i.handleFileChange,hint:"支持JSON、YAML格式文件","persistent-hint":"",rules:[l=>!l||l.size<2e6||"文件大小不能超过 2 MB"]},null,8,["modelValue","loading","disabled","onChange","rules"]),s.file&&s.formatMode==="auto"?(m(),S(Z,{key:0,type:"info",class:"mb-4",variant:"tonal",density:"compact"},{default:r(()=>[...e[27]||(e[27]=[c(" 将根据文件扩展名自动检测格式 ",-1)])]),_:1})):T("",!0)]),_:1})]),_:1},8,["modelValue"]),n(X,{cols:"12"},{default:r(()=>[n(q,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[y("div",$t,[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[28]||(e[28]=[c("mdi-calendar-multiselect",-1)])]),_:1}),e[33]||(e[33]=y("h3",{class:"text-subtitle-1 font-weight-medium mr-auto"},"选择导出天数",-1)),n(L,{variant:"text",color:"primary",class:"ml-2",onClick:i.selectAllDays},{default:r(()=>[n(j,{start:"",size:"small"},{default:r(()=>[...e[29]||(e[29]=[c("mdi-checkbox-multiple-marked",-1)])]),_:1}),e[30]||(e[30]=c(" 全选 ",-1))]),_:1},8,["onClick"]),n(L,{variant:"text",color:"error",class:"ml-2",onClick:i.clearSelectedDays},{default:r(()=>[n(j,{start:"",size:"small"},{default:r(()=>[...e[31]||(e[31]=[c("mdi-checkbox-multiple-blank-outline",-1)])]),_:1}),e[32]||(e[32]=c(" 清除 ",-1))]),_:1},8,["onClick"])]),n(At,{modelValue:s.selectedDays,"onUpdate:modelValue":e[7]||(e[7]=l=>s.selectedDays=l),multiple:"",class:"mb-2",color:"primary"},{default:r(()=>[(m(),b(C,null,R(7,l=>n(W,{key:l,value:l,filter:"",variant:"tonal",class:"filter-chip",label:""},{default:r(()=>[c(p(s.dayNames[l])+" ",1),i.getDaySchedule(l).length>0?(m(),S(Ve,{key:0,content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])):T("",!0)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(X,{cols:"12"},{default:r(()=>[n(q,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[y("div",es,[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[34]||(e[34]=[c("mdi-cog",-1)])]),_:1}),e[35]||(e[35]=y("h3",{class:"text-subtitle-1 font-weight-medium"},"显示配置",-1))]),n(xe,null,{default:r(()=>[n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideTeacherName,"onUpdate:modelValue":e[8]||(e[8]=l=>s.settings.hideTeacherName=l),label:"不显示教师姓名",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideRoom,"onUpdate:modelValue":e[9]||(e[9]=l=>s.settings.hideRoom=l),label:"不显示教室信息",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Mt,{modelValue:s.settings.totalWeeks,"onUpdate:modelValue":e[10]||(e[10]=l=>s.settings.totalWeeks=l),modelModifiers:{number:!0},label:"总周数",type:"number",min:"1",max:"30",rules:[l=>l>0||"周数必须大于0"],density:"comfortable",variant:"outlined","prepend-inner-icon":"mdi-calendar-week",class:"mt-3"},null,8,["modelValue","rules"])]),_:1})]),_:1})]),_:1})]),_:1}),s.loading?(m(),S(q,{key:3,class:"my-4",outlined:""},{default:r(()=>[n(te,null,{default:r(()=>[n(Lt,{type:"table",class:"mx-auto"})]),_:1})]),_:1})):T("",!0),s.processedData?(m(),S(W,{key:4,color:"primary",class:"ml-2","prepend-icon":"mdi-book-open-variant"},{default:r(()=>[c(p(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})):T("",!0),s.processedData&&s.exportPeriods.length===0?(m(),S(Z,{key:5,type:"warning",class:"mb-4",closable:""},{default:r(()=>[...e[36]||(e[36]=[c(" 请选择要导出的节次 ",-1)])]),_:1})):T("",!0),s.processedData?(m(),S(q,{key:6,class:"my-4",elevation:"1"},{default:r(()=>[n(me,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[37]||(e[37]=[c("mdi-table",-1)])]),_:1}),e[39]||(e[39]=y("span",{class:"font-weight-bold"},"课程表",-1)),n(W,{color:"primary",class:"ml-3",size:"small",pill:""},{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[38]||(e[38]=[c("mdi-book-open-variant",-1)])]),_:1}),c(" "+p(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})]),_:1}),n(te,{class:"pa-0"},{default:r(()=>[n(St,{"items-selected":s.selectedRows,"onUpdate:itemsSelected":[e[12]||(e[12]=l=>s.selectedRows=l),i.updateSelectedPeriods],headers:s.tableHeaders,items:s.processedData.tableData,"hide-default-footer":"",class:"elevation-1","items-per-page":-1,"item-value":"period","show-select":"","select-strategy":"single-independent","sort-by":[],"disable-sort":""},wt({"item.data-table-select":r(({item:l})=>[n(zt,{modelValue:s.exportPeriods,"onUpdate:modelValue":e[11]||(e[11]=d=>s.exportPeriods=d),value:l.period,"hide-details":"",density:"compact"},null,8,["modelValue","value"])]),_:2},[R(7,l=>({name:`item.${l}`,fn:r(({item:d})=>[d[l]?(m(),b("div",ts,[Array.isArray(d[l])?(m(!0),b(C,{key:0},R(d[l],(f,h)=>(m(),b("div",{key:h,class:"course-item"},[c(p(f.name)+" ",1),!s.settings.hideTeacherName&&f.teacher?(m(),b("span",ss,[e[40]||(e[40]=y("br",null,null,-1)),c(p(f.teacher),1)])):T("",!0),!s.settings.hideRoom&&f.room?(m(),b("span",ls,[e[41]||(e[41]=y("br",null,null,-1)),c(p(f.room),1)])):T("",!0),f.weekType?(m(),b("span",as,p(f.weekType)+"周 ",1)):T("",!0)]))),128)):(m(),b(C,{key:1},[c(p(d[l].name)+" ",1),!s.settings.hideTeacherName&&d[l].teacher?(m(),b("span",is,[e[42]||(e[42]=y("br",null,null,-1)),c(p(d[l].teacher),1)])):T("",!0),!s.settings.hideRoom&&d[l].room?(m(),b("span",rs,[e[43]||(e[43]=y("br",null,null,-1)),c(p(d[l].room),1)])):T("",!0),d[l].weekType?(m(),b("span",ns,p(d[l].weekType)+"周 ",1)):T("",!0)],64))])):T("",!0)])}))]),1032,["items-selected","headers","items","onUpdate:itemsSelected"])]),_:1})]),_:1})):T("",!0),i.hasExportData?(m(),S(q,{key:7,class:"my-4",elevation:"1"},{default:r(()=>[n(me,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[44]||(e[44]=[c("mdi-timetable",-1)])]),_:1}),e[48]||(e[48]=y("span",{class:"font-weight-bold"},"每日课程时间表",-1)),n(W,{class:"ml-3",size:"small",color:"primary",pill:""},{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[45]||(e[45]=[c("mdi-clock-outline",-1)])]),_:1}),c(" "+p(i.totalClassHours)+" 课时 ",1)]),_:1}),s.exportPeriods.length>0?(m(),S(he,{key:0},{activator:r(({props:l})=>[n(W,I({class:"ml-2",size:"small",color:"info"},l,{pill:""}),{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[46]||(e[46]=[c("mdi-information-outline",-1)])]),_:1}),e[47]||(e[47]=c(" 节次已重排 ",-1))]),_:1},16)]),default:r(()=>[y("span",null,"已将选中的节次 "+p(s.exportPeriods.join(", "))+" 重新排序为连续的 1-"+p(s.exportPeriods.length),1)]),_:1})):T("",!0)]),_:1}),n(te,null,{default:r(()=>[i.daysWithSchedule.length>0?(m(),S(Ae,{key:0,modelValue:s.activeDay,"onUpdate:modelValue":e[13]||(e[13]=l=>s.activeDay=l),class:"mb-4",color:"primary",grow:"","align-tabs":"center"},{default:r(()=>[(m(!0),b(C,null,R(i.daysWithSchedule,l=>(m(),S(se,{key:l,value:l,class:"px-2 font-weight-medium"},{default:r(()=>[c(p(s.dayNames[l])+" ",1),n(Ve,{content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):T("",!0),n(De,{modelValue:s.activeDay,"onUpdate:modelValue":e[14]||(e[14]=l=>s.activeDay=l)},{default:r(()=>[(m(!0),b(C,null,R(i.daysWithSchedule,l=>(m(),S(fe,{key:l,value:l},{default:r(()=>[n(jt,{density:"compact",class:"rounded","headers-length":6,"disable-sort":""},{default:r(()=>[e[50]||(e[50]=y("thead",null,[y("tr",null,[y("th",{class:"text-center"},"节次"),y("th",null,"课程"),y("th",null,"时间"),y("th",null,"教师"),y("th",null,"教室"),y("th",null,"周次")])],-1)),y("tbody",null,[(m(!0),b(C,null,R(i.groupByPeriod(i.getDaySchedule(l)),(d,f)=>(m(),b("tr",{key:f},[y("td",os,[c(p(d.period)+" ",1),d.originalPeriod!==d.period?(m(),S(he,{key:0},{activator:r(({props:h})=>[n(j,I({size:"x-small"},{ref_for:!0},h,{color:"info",class:"ml-1"}),{default:r(()=>[...e[49]||(e[49]=[c("mdi-sync",-1)])]),_:1},16)]),default:r(()=>[c(" 原节次: "+p(d.originalPeriod),1)]),_:2},1024)):T("",!0)]),y("td",null,[(m(!0),b(C,null,R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},[n(W,{size:"small",color:i.getSubjectColor(h.subject),label:"","text-color":"white",class:"mr-1"},{default:r(()=>[c(p(h.subject),1)]),_:2},1032,["color"]),d.items.length>1?(m(),S(W,{key:0,size:"x-small",class:"ml-1",color:h.weekType==="单"?"warning":"success"},{default:r(()=>[c(p(h.weekType)+"周 ",1)]),_:2},1032,["color"])):T("",!0)]))),128))]),y("td",null,[(m(!0),b(C,null,R(d.uniqueTimeSlots,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},[n(W,{size:"x-small",class:"time-chip"},{default:r(()=>[c(p(i.formatTime(h.startTime))+" - "+p(i.formatTime(h.endTime)),1)]),_:2},1024)]))),128))]),y("td",null,[s.settings.hideTeacherName?(m(),b(C,{key:1},[c("-")],64)):(m(!0),b(C,{key:0},R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},p(h.teacher||"-"),1))),128))]),y("td",null,[s.settings.hideRoom?(m(),b(C,{key:1},[c("-")],64)):(m(!0),b(C,{key:0},R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},p(h.room||"-"),1))),128))]),y("td",null,[(m(!0),b(C,null,R(d.items,(h,v)=>(m(),b("div",{key:v,class:"mb-1"},p(h.weeks),1))),128))])]))),128))])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),i.hasExportData&&i.daysWithSchedule.length===0?(m(),S(Z,{key:1,type:"info",class:"mt-3"},{default:r(()=>[...e[51]||(e[51]=[c(" 没有找到任何课程数据 ",-1)])]),_:1})):T("",!0)]),_:1})]),_:1})):T("",!0)]),_:1}),n(xt,{class:""},{default:r(()=>[n(Dt),n(L,{color:"primary",variant:"outlined",loading:s.loading,disabled:!s.jsonText&&!s.file||s.loading,onClick:i.processInput,"prepend-icon":"mdi-cog-refresh"},{default:r(()=>[...e[52]||(e[52]=[c(" 处理数据 ",-1)])]),_:1},8,["loading","disabled","onClick"]),n(L,{color:"info",disabled:!i.hasExportData,onClick:i.showExportPreview,class:"ml-2","prepend-icon":"mdi-eye",border:""},{default:r(()=>[...e[53]||(e[53]=[c(" 刷新 ",-1)])]),_:1},8,["disabled","onClick"]),n(L,{color:"success",variant:"outlined",disabled:!i.hasExportData,onClick:i.downloadCSV,class:"ml-2","prepend-icon":"mdi-download",border:""},{default:r(()=>[...e[54]||(e[54]=[c(" 下载CSV ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Ds=vt(qt,[["render",ds],["__scopeId","data-v-c07f22af"]]);export{Ds as default}; diff --git a/assets/cses2wakeup-DSwAVdLr.js b/assets/cses2wakeup-DSwAVdLr.js deleted file mode 100644 index 592ff06..0000000 --- a/assets/cses2wakeup-DSwAVdLr.js +++ /dev/null @@ -1,7 +0,0 @@ -import{p as le,a1 as z,g as ye,aq as et,ar as Ne,as as Re,ae as tt,a0 as Q,b as pe,at as st,c as n,i as y,F as C,E as I,au as M,d as Fe,av as lt,aw as Me,ax as at,ay as it,az as we,aA as rt,aB as Le,y as L,n as nt,aC as ot,aD as dt,aE as ut,aF as ct,aG as mt,aH as ft,aI as ht,aJ as ce,m as yt,aK as pt,aL as bt,aM as gt,_ as vt,j as S,o as m,w as r,l as q,q as me,t as c,v as j,Y as kt,z as te,B as T,A as p,C as b,D as Tt,G as R,aN as wt,M as xt,x as Dt}from"./index-Ck0Pnd4f.js";import{V as xe,a as X}from"./VRow-D_zZfsym.js";import{V as Z}from"./VAlert-WqxdeiRc.js";import{V as ze,a as Ct,b as Vt,c as De,d as fe,e as St,f as jt}from"./VTabsWindowItem-DSJn6eyk.js";import{V as W,a as Ce,m as Pt,b as At}from"./VChip-C4TXrZae.js";import{V as he,a as Ve}from"./VTooltip-BqVq3svk.js";import{V as Et}from"./VTextarea-Akjtg06o.js";import{u as Bt,a as Se,b as je,c as Nt,m as Rt,d as Ft,V as Mt}from"./VTextField-C6VOv1Py.js";import{V as Pe}from"./VSwitch-B-2xPqHI.js";import{V as Lt}from"./VSkeletonLoader-LZ55LBTh.js";import{a as zt}from"./VPagination-CAsEj5TO.js";import{V as Wt}from"./VContainer-_5I3ogXr.js";import"./filter-BOxM3LRL.js";import"./VCheckboxBtn-DWqkYNT7.js";function It(){function t(o){var s,i;return[...((s=o.dataTransfer)==null?void 0:s.items)??[]].filter(l=>l.kind==="file").map(l=>l.webkitGetAsEntry()).filter(Boolean).length>0||[...((i=o.dataTransfer)==null?void 0:i.files)??[]].length>0}async function e(o){var i,l;const a=[],s=[...((i=o.dataTransfer)==null?void 0:i.items)??[]].filter(d=>d.kind==="file").map(d=>d.webkitGetAsEntry()).filter(Boolean);if(s.length)for(const d of s){const f=await We(d,Ie(".",d));a.push(...f.map(h=>h.file))}else a.push(...((l=o.dataTransfer)==null?void 0:l.files)??[]);return a}return{handleDrop:e,hasFilesOrFolders:t}}function We(t){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"";return new Promise((o,a)=>{t.isFile?t.file(i=>o([{file:i,path:e}]),a):t.isDirectory&&t.createReader().readEntries(async i=>{const l=[];for(const d of i)l.push(...await We(d,Ie(e,d)));o(l)})})}function Ie(t,e){return e.isDirectory?`${t}/${e.name}`:t}const _t=le({filterByType:String},"file-accept");function Ut(t){const e=z(()=>t.filterByType?Ot(t.filterByType):null);function o(a){if(e.value){const s=a.filter(e.value);return{accepted:s,rejected:a.filter(i=>!s.includes(i))}}return{accepted:a,rejected:[]}}return{filterAccepted:o}}function Ot(t){const e=t.split(",").map(i=>i.trim().toLowerCase()),o=e.filter(i=>i.startsWith(".")),a=e.filter(i=>i.endsWith("/*")),s=e.filter(i=>!o.includes(i)&&!a.includes(i));return i=>{var f,h;const l=((f=i.name.split(".").at(-1))==null?void 0:f.toLowerCase())??"",d=((h=i.type.split("/").at(0))==null?void 0:h.toLowerCase())??"";return s.includes(i.type)||o.includes(`.${l}`)||a.includes(`${d}/*`)}}const Yt=le({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:"$vuetify.fileInput.counterSize"},counterString:{type:String,default:"$vuetify.fileInput.counter"},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:t=>typeof t=="boolean"||[1e3,1024].includes(Number(t))},truncateLength:{type:[Number,String],default:22},...Ft({prependIcon:"$file"}),modelValue:{type:[Array,Object],default:t=>t.multiple?[]:null,validator:t=>Re(t).every(e=>e!=null&&typeof e=="object")},..._t(),...Rt({clearable:!0})},"VFileInput"),Ht=ye()({name:"VFileInput",inheritAttrs:!1,props:Yt(),emits:{"click:control":t=>!0,"mousedown:control":t=>!0,"update:focused":t=>!0,"update:modelValue":t=>!0,rejected:t=>!0},setup(t,e){let{attrs:o,emit:a,slots:s}=e;const{t:i}=et(),{filterAccepted:l}=Ut(t),d=Ne(t,"modelValue",t.modelValue,u=>Re(u),u=>!t.multiple&&Array.isArray(u)?u[0]:u),{isFocused:f,focus:h,blur:v}=Bt(t),w=z(()=>typeof t.showSize!="boolean"?t.showSize:void 0),k=z(()=>(d.value??[]).reduce((u,g)=>{let{size:O=0}=g;return u+O},0)),V=z(()=>we(k.value,w.value)),D=z(()=>(d.value??[]).map(u=>{const{name:g="",size:O=0}=u,Y=re(g);return t.showSize?`${Y} (${we(O,w.value)})`:Y})),G=z(()=>{var g;const u=((g=d.value)==null?void 0:g.length)??0;return t.showSize?i(t.counterSizeString,u,V.value):i(t.counterString,u)}),A=Q(),P=Q(),x=Q(),B=M(()=>f.value||t.active),N=z(()=>["plain","underlined"].includes(t.variant)),E=lt(!1),{handleDrop:J,hasFilesOrFolders:F}=It();function U(){var u;x.value!==document.activeElement&&((u=x.value)==null||u.focus()),f.value||h()}function ae(u){var g;(g=x.value)==null||g.click()}function _(u){a("mousedown:control",u)}function ie(u){var g;(g=x.value)==null||g.click(),a("click:control",u)}function be(u){u.stopPropagation(),U(),at(()=>{d.value=[],it(t["onClick:clear"],u)})}function re(u){if(u.length{(!Array.isArray(u)||!u.length)&&x.value&&(x.value.value="")}),pe(()=>{const u=!!(s.counter||t.counter),g=!!(u||s.details),[O,Y]=st(o),{modelValue:oe,...de}=Se.filterProps(t),Ye={...je.filterProps(t),"onClick:clear":be},He=o.webkitdirectory!==void 0&&o.webkitdirectory!==!1,Ge=o.accept?String(o.accept):void 0,Je=He?void 0:t.filterByType??Ge;return n(Se,I({ref:A,modelValue:t.multiple?d.value:d.value[0],class:["v-file-input",{"v-file-input--chips":!!t.chips,"v-file-input--dragging":E.value,"v-file-input--hide":t.hideInput,"v-input--plain-underlined":N.value},t.class],style:t.style,"onClick:prepend":ae},O,de,{centerAffix:!N.value,focused:f.value}),{...s,default:ue=>{let{id:ee,isDisabled:K,isDirty:ve,isReadonly:ke,isValid:qe,hasDetails:Xe}=ue;return n(je,I({ref:P,prependIcon:t.prependIcon,onMousedown:_,onClick:ie,"onClick:prependInner":t["onClick:prependInner"],"onClick:appendInner":t["onClick:appendInner"]},Ye,{id:ee.value,active:B.value||ve.value,dirty:ve.value||t.dirty,disabled:K.value,focused:f.value,details:Xe.value,error:qe.value===!1,onDragover:ne,onDrop:Ue}),{...s,default:Ke=>{var Te;let{props:{class:Ze,...Qe},controlRef:$e}=Ke;return y(C,null,[y("input",I({ref:H=>x.value=$e.value=H,type:"file",accept:Je,readonly:ke.value,disabled:K.value,multiple:t.multiple,name:t.name,onClick:H=>{H.stopPropagation(),ke.value&&H.preventDefault(),U()},onChange:Oe,onDragleave:$,onFocus:U,onBlur:v},Qe,Y),null),y("div",{class:Fe(Ze)},[!!((Te=d.value)!=null&&Te.length)&&!t.hideInput&&(s.selection?s.selection({fileNames:D.value,totalBytes:k.value,totalBytesReadable:V.value}):t.chips?D.value.map(H=>n(W,{key:H,size:"small",text:H},null)):D.value.join(", "))])])}})},details:g?ue=>{var ee,K;return y(C,null,[(ee=s.details)==null?void 0:ee.call(s,ue),u&&y(C,null,[y("span",null,null),n(Nt,{active:!!((K=d.value)!=null&&K.length),value:G.value,disabled:t.disabled},s.counter)])])}:void 0})}),Me({},A,P,x)}}),_e=le({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:"horizontal"},...ot(dt({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),se=ye()({name:"VTab",props:_e(),setup(t,e){let{slots:o,attrs:a}=e;const{textColorClasses:s,textColorStyles:i}=rt(()=>t.sliderColor),{backgroundColorClasses:l,backgroundColorStyles:d}=Le(()=>t.sliderColor),f=Q(),h=Q(),v=z(()=>t.direction==="horizontal"),w=z(()=>{var A,P;return((P=(A=f.value)==null?void 0:A.group)==null?void 0:P.isSelected.value)??!1});function k(A,P){return{opacity:[0,1]}}function V(A,P){return t.direction==="vertical"?{transform:["scaleY(0)","scaleY(1)"]}:{transform:["scaleX(0)","scaleX(1)"]}}function D(A,P){const x=P.getBoundingClientRect(),B=A.getBoundingClientRect(),N=v.value?"x":"y",E=v.value?"X":"Y",J=v.value?"right":"bottom",F=v.value?"width":"height",U=x[N],ae=B[N],_=U>ae?x[J]-B[J]:x[N]-B[N],ie=Math.sign(_)>0?v.value?"right":"bottom":Math.sign(_)<0?v.value?"left":"top":"center",re=(Math.abs(_)+(Math.sign(_)<0?x[F]:B[F]))/Math.max(x[F],B[F])||0,ne=x[F]/B[F]||0,$=1.5;return{transform:[`translate${E}(${_}px) scale${E}(${ne})`,`translate${E}(${_/$}px) scale${E}(${(re-1)/$+1})`,"none"],transformOrigin:Array(3).fill(ie)}}function G(A){var x,B;let{value:P}=A;if(P){const N=(B=(x=f.value)==null?void 0:x.$el.parentElement)==null?void 0:B.querySelector(".v-tab--selected .v-tab__slider"),E=h.value;if(!N||!E)return;const J=getComputedStyle(N).color,F={fade:k,grow:V,shift:D}[t.sliderTransition??"shift"]??D,U=Number(t.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[t.sliderTransition??"shift"]??225);ut(E,{backgroundColor:[J,"currentcolor"],...F(E,N)},{duration:U,easing:ct})}}return pe(()=>{const A=L.filterProps(t);return n(L,I({symbol:ze,ref:f,class:["v-tab",t.class,w.value&&t.inset?l.value:[]],style:[t.style,w.value&&t.inset?d.value:[]],tabindex:w.value?0:-1,role:"tab","aria-selected":String(w.value),active:!1},A,a,{block:t.fixed,maxWidth:t.fixed?300:void 0,"onGroup:selected":G}),{...o,default:()=>{var P;return y(C,null,[((P=o.default)==null?void 0:P.call(o))??t.text,!t.hideSlider&&y("div",{ref:h,class:Fe(["v-tab__slider",s.value]),style:nt(i.value)},null)])}})}),Me({},f)}});function Gt(t){return t?t.map(e=>gt(e)?e:{text:e,value:e}):[]}const Jt=le({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...bt(_e(),["spaced","sliderTransition","sliderTransitionDuration"]),...Pt({mandatory:"force",selectedClass:"v-tab-item--selected"}),...pt(),...yt()},"VTabs"),Ae=ye()({name:"VTabs",props:Jt(),emits:{"update:modelValue":t=>!0},setup(t,e){let{attrs:o,slots:a}=e;const s=Ne(t,"modelValue"),i=z(()=>Gt(t.items)),{densityClasses:l}=mt(t),{backgroundColorClasses:d,backgroundColorStyles:f}=Le(()=>t.bgColor),{scopeId:h}=ft();return ht({VTab:{color:M(t,"color"),direction:M(t,"direction"),stacked:M(t,"stacked"),fixed:M(t,"fixedTabs"),inset:M(t,"inset"),sliderColor:M(t,"sliderColor"),sliderTransition:M(t,"sliderTransition"),sliderTransitionDuration:M(t,"sliderTransitionDuration"),hideSlider:M(t,"hideSlider")}}),pe(()=>{const v=Ce.filterProps(t),w=!!(a.window||t.items.length>0);return y(C,null,[n(Ce,I(v,{modelValue:s.value,"onUpdate:modelValue":k=>s.value=k,class:["v-tabs",`v-tabs--${t.direction}`,`v-tabs--align-tabs-${t.alignTabs}`,{"v-tabs--fixed-tabs":t.fixedTabs,"v-tabs--grow":t.grow,"v-tabs--inset":t.inset,"v-tabs--stacked":t.stacked},l.value,d.value,t.class],style:[{"--v-tabs-height":ce(t.height),"--v-tabs-inset-padding":t.inset?ce(t.insetPadding):void 0,"--v-tabs-inset-radius":t.inset?ce(t.insetRadius):void 0},f.value,t.style],role:"tablist",symbol:ze},h,o),{default:a.default??(()=>i.value.map(k=>{var V;return((V=a.tab)==null?void 0:V.call(a,{item:k}))??n(se,I(k,{key:k.text,value:k.value,spaced:t.spaced}),{default:a[`tab.${k.value}`]?()=>{var D;return(D=a[`tab.${k.value}`])==null?void 0:D.call(a,{item:k})}:void 0})})),prev:a.prev,next:a.next}),w&&n(Vt,I({modelValue:s.value,"onUpdate:modelValue":k=>s.value=k,key:"tabs-window"},h),{default:()=>{var k;return[i.value.map(V=>{var D;return((D=a.item)==null?void 0:D.call(a,{item:V}))??n(Ct,{value:V.value},{default:()=>{var G;return(G=a[`item.${V.value}`])==null?void 0:G.call(a,{item:V})}})}),(k=a.window)==null?void 0:k.call(a)]}})])}),{}}}),Ee=()=>new Promise((t,e)=>{if(typeof window.jsyaml<"u")return t(window.jsyaml);const o=document.createElement("script");o.src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/4.1.0/js-yaml.min.js",o.async=!0,o.onload=()=>t(window.jsyaml),o.onerror=()=>e(new Error("无法加载YAML解析库")),document.head.appendChild(o)});class Be{constructor(e){this.data=e,this.version=null,this.subjects=[],this.schedules=[],this._parseData()}_parseData(){if(!this.data)return;this.version=this.data.version||1;const e=this.data.subjects||[];for(const a of e)this.subjects.push({name:a.name,simplified_name:a.simplified_name||null,teacher:a.teacher||null,room:a.room||null});const o=this.data.schedules||[];for(const a of o){const s=[];for(const i of a.classes||[])s.push({subject:i.subject,start_time:i.start_time,end_time:i.end_time});this.schedules.push({name:a.name,enable_day:a.enable_day,weeks:a.weeks||"all",classes:s})}}getSubjects(){return this.subjects}getSchedules(){return this.schedules}getScheduleByDay(e){const o=this.schedules.find(a=>a.enable_day===e);return o?o.classes:[]}toCsesData(){return{version:this.version,subjects:this.subjects,schedules:this.schedules}}}const qt={name:"Cses2Wakeup",data(){return{activeTab:"text",file:null,jsonText:"",loading:!1,error:"",success:"",processedData:null,selectedRows:[],exportPeriods:[],selectedDays:[1,2,3,4,5,6,7],formatMode:"auto",yamlLibLoaded:!1,activeDay:null,subjectColors:{数学:"blue",语文:"red",英语:"green",物理:"purple",化学:"orange",生物:"teal",历史:"brown",地理:"indigo",政治:"pink",体育:"cyan",自习:"grey",早读:"amber",班会:"deep-purple",听力:"light-blue",信息技术:"light-green"},settings:{hideTeacherName:!1,hideRoom:!1,totalWeeks:30},tableHeaders:[{title:"",key:"data-table-select"},{title:"节次",key:"period"},{title:"周一",key:"1"},{title:"周二",key:"2"},{title:"周三",key:"3"},{title:"周四",key:"4"},{title:"周五",key:"5"},{title:"周六",key:"6"},{title:"周日",key:"7"}],timeTableHeaders:[{title:"节次",key:"period"},{title:"课程",key:"subject"},{title:"星期",key:"day"},{title:"开始时间",key:"startTime"},{title:"结束时间",key:"endTime"},{title:"教师",key:"teacher"},{title:"教室",key:"room"},{title:"周次",key:"weeks"}],dayNames:{1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"}}},computed:{timeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),o={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{o[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){if(!this.selectedDays.includes(s))continue;const i=a[s];if(i)if(Array.isArray(i))i.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:o[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!i.name)continue;t.push({originalPeriod:a.period,period:o[a.period],subject:i.name,day:this.dayNames[s],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const i={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return i[a.day]-i[s.day]})},hasExportData(){return this.processedData&&this.exportPeriods.length>0},totalClassHours(){return this.timeTableData.length},daysWithSchedule(){const t=[];for(let e=1;e<=7;e++)this.selectedDays.includes(e)&&this.getDaySchedule(e).length>0&&t.push(e);return t}},methods:{async handleFileChange(){if(this.resetData(),!this.file)return;const t=this.file.name.toLowerCase();if(t.endsWith(".json")||t.endsWith(".js"))this.formatMode="json";else if((t.endsWith(".yml")||t.endsWith(".yaml"))&&(this.formatMode="yaml",!this.yamlLibLoaded))try{await Ee(),this.yamlLibLoaded=!0}catch(e){this.error=`无法加载YAML解析库: ${e.message}`;return}try{const e=new FileReader;e.onload=async o=>{try{this.jsonText=o.target.result,await this.processInput()}catch(a){this.error=`文件读取失败: ${a.message}`}},e.onerror=()=>{this.error="文件读取失败"},e.readAsText(this.file)}catch(e){this.error=`文件处理失败: ${e.message}`}},handleTextChange(){this.resetData()},resetData(){this.error="",this.success="",this.processedData=null,this.selectedRows=[],this.exportPeriods=[]},async processInput(){if(!this.jsonText&&!this.file){this.error="请粘贴文本或上传文件";return}this.loading=!0,this.error="",this.success="";try{await this.$nextTick();let t;try{if(this.formatMode==="yaml"||this.formatMode==="auto"&&this.isYaml(this.jsonText)){const o=this.parseYaml(this.jsonText);t=new Be(o).toCsesData()}else t=JSON.parse(this.jsonText)}catch(o){throw new Error(`格式解析错误: ${o.message}`)}if(!this.validateCsesFormat(t))throw new Error("不是有效的CSES格式数据");const e=this.processCsesData(t);this.processedData=e,this.selectedDays=[1,2,3,4,5],this.success="数据处理成功!",e.tableData&&e.tableData.length>0&&(this.selectedRows=[...e.tableData],this.exportPeriods=e.tableData.map(o=>o.period))}catch(t){this.error="数据处理失败:"+t.message,console.error(t)}finally{this.loading=!1}},validateCsesFormat(t){return t instanceof Be?t.version===1&&Array.isArray(t.subjects)&&Array.isArray(t.schedules):!(!t||typeof t!="object"||t.version!==1||!Array.isArray(t.subjects)||!Array.isArray(t.schedules))},processCsesData(t){const{schedules:e,subjects:o}=t,a=Object.fromEntries(o.map(l=>[l.name,l])),s=[];let i=0;e.forEach(l=>{l.classes&&l.classes.length>i&&(i=l.classes.length)});for(let l=1;l<=i;l++)s.push({period:l,1:null,2:null,3:null,4:null,5:null,6:null,7:null});return e.forEach(l=>{const d=l.enable_day;if(!d||d<1||d>7)return;let f="";l.weeks==="odd"?f="单":l.weeks==="even"&&(f="双"),l.classes.forEach((h,v)=>{if(!h.subject)return;const w=v+1;if(w>i)return;const k=a[h.subject]||{},V={name:h.subject,teacher:k.teacher||"",room:k.room||"",period:w,startTime:h.start_time,endTime:h.end_time,day:d,weekType:f},D=s[w-1][d];D?f&&D.weekType&&f!==D.weekType?(Array.isArray(s[w-1][d])||(s[w-1][d]=[D]),s[w-1][d].push(V)):f===D.weekType?s[w-1][d]=V:f||(s[w-1][d]=V):s[w-1][d]=V})}),{tableData:s,originalData:t}},updateSelectedPeriods(t){this.exportPeriods=[],t&&t.length>0&&(this.exportPeriods=[...new Set(t.filter(e=>e&&typeof e.period=="number").map(e=>e.period))])},getTimeTableData(){return this.timeTableData},downloadCSV(){var s;if(!((s=this.processedData)!=null&&s.tableData)){this.error="没有可下载的数据";return}if(this.exportPeriods.length===0){this.error="请至少选择一节要导出的课";return}if(this.daysWithSchedule.length===0||this.totalClassHours===0){this.error="没有课程数据可导出";return}let t=`课程名称,星期,开始节数,结束节数,老师,地点,周数 -`;for(const i of this.daysWithSchedule){const l=this.groupByPeriod(this.getDaySchedule(i));for(const d of l)for(const f of d.items){const h={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7}[f.day],v=this.settings.hideTeacherName?"":f.teacher||"",w=this.settings.hideRoom?"":f.room||"";t+=`${f.subject},${h},${f.period},${f.period},${v},${w},${f.weeks} -`}}const e="\uFEFF",o=new Blob([e+t],{type:"text/csv;charset=utf-8"}),a=document.createElement("a");a.href=URL.createObjectURL(o),a.download=`course_schedule_${this.totalClassHours}课时.csv`,a.click(),URL.revokeObjectURL(a.href),this.success=`导出成功!共计 ${this.totalClassHours} 课时`},showExportPreview(){if(!this.hasExportData){this.error="请先选择要导出的节次";return}const t=this.timeTableData.slice(0,5).map(e=>`${e.subject} (${e.day} 第${e.period}节)`).join(` -`);this.timeTableData.length>5?this.success=`导出预览 (共${this.totalClassHours}课时): -${t} -...等${this.totalClassHours-5}节课程`:this.success=`导出预览 (共${this.totalClassHours}课时): -${t}`,this.$nextTick(()=>{this.daysWithSchedule.length>0&&!this.activeDay&&(this.activeDay=this.daysWithSchedule[0])})},isYaml(t){const e=t.trim();if(e.startsWith("{")||e.startsWith("["))try{return JSON.parse(e),!1}catch{}return/^\s*[a-zA-Z0-9_-]+\s*:/.test(e)||/\n\s*[a-zA-Z0-9_-]+\s*:/.test(e)},parseYaml(t){try{if(typeof window.jsyaml<"u")return window.jsyaml.load(t);throw new Error("YAML解析器未加载")}catch(e){throw new Error(`YAML解析错误: ${e.message}`)}},getDaySchedule(t){return this.timeTableData?this.getUnfilteredTimeTableData().filter(o=>({周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7})[o.day]===t):[]},getUnfilteredTimeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const t=[],e=this.processedData.tableData.filter(a=>this.exportPeriods.includes(a.period)),o={};return e.sort((a,s)=>a.period-s.period).forEach((a,s)=>{o[a.period]=s+1}),e.forEach(a=>{for(let s=1;s<=7;s++){const i=a[s];if(i)if(Array.isArray(i))i.forEach(l=>{!l||!l.name||t.push({originalPeriod:a.period,period:o[a.period],subject:l.name,day:this.dayNames[s],startTime:l.startTime,endTime:l.endTime,teacher:this.settings.hideTeacherName?"":l.teacher||"",room:this.settings.hideRoom?"":l.room||"",weeks:l.weekType?`1-${this.settings.totalWeeks}${l.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!i.name)continue;t.push({originalPeriod:a.period,period:o[a.period],subject:i.name,day:this.dayNames[s],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})}}}),t.sort((a,s)=>{if(a.period!==s.period)return a.period-s.period;const i={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return i[a.day]-i[s.day]})},groupByPeriod(t){const e={};return t.forEach(o=>{e[o.period]||(e[o.period]={period:o.period,originalPeriod:o.originalPeriod,items:[],timeSlots:[]}),e[o.period].items.push(o),e[o.period].timeSlots.push({startTime:o.startTime,endTime:o.endTime})}),Object.values(e).forEach(o=>{o.uniqueTimeSlots=[],o.timeSlots.forEach(a=>{o.uniqueTimeSlots.some(s=>s.startTime===a.startTime&&s.endTime===a.endTime)||o.uniqueTimeSlots.push(a)}),o.uniqueTimeSlots.sort((a,s)=>a.startTime.localeCompare(s.startTime))}),Object.values(e).sort((o,a)=>o.period-a.period)},formatTime(t){return t?t.substring(0,5):""},getSubjectColor(t){return this.subjectColors[t]||"grey"},selectAllDays(){this.selectedDays=[1,2,3,4,5,6,7]},clearSelectedDays(){this.selectedDays=[]}},async mounted(){try{await Ee(),this.yamlLibLoaded=!0}catch(t){this.error=t.message}this.$watch("daysWithSchedule",t=>{t.length>0&&!this.activeDay&&(this.activeDay=t[0])})}},Xt={class:"d-flex align-center"},Kt={class:"d-flex align-center"},Zt={key:2,class:"text-caption mb-2"},Qt={class:"d-flex align-center mb-2"},$t={class:"d-flex align-center mb-3"},es={class:"d-flex align-center mb-3"},ts={key:0,class:"course-cell"},ss={key:0},ls={key:1},as={key:2,class:"week-type"},is={key:0},rs={key:1},ns={key:2,class:"week-type"},os={class:"text-center font-weight-bold"};function ds(t,e,o,a,s,i){return m(),S(Wt,{class:"fill-height"},{default:r(()=>[n(xe,null,{default:r(()=>[n(X,{cols:"12"},{default:r(()=>[n(q,{class:"elevation-12",border:""},{default:r(()=>[n(me,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:r(()=>[n(j,{color:"white",class:"mr-2"},{default:r(()=>[...e[15]||(e[15]=[c("mdi-swap-horizontal",-1)])]),_:1}),e[16]||(e[16]=c(" 课程表转换工具 ",-1))]),_:1}),n(kt,null,{default:r(()=>[...e[17]||(e[17]=[c(" 将CSES格式的JSON或YAML文本转换为WakeUp软件使用的课程表 ",-1)])]),_:1}),n(te,null,{default:r(()=>[s.error?(m(),S(Z,{key:0,type:"error",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[0]||(e[0]=l=>s.error="")},{default:r(()=>[y("div",Xt,[n(j,{class:"mr-2"},{default:r(()=>[...e[18]||(e[18]=[c("mdi-alert-circle",-1)])]),_:1}),c(" "+b(s.error),1)])]),_:1})):T("",!0),s.success?(m(),S(Z,{key:1,type:"success",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":e[1]||(e[1]=l=>s.success="")},{default:r(()=>[y("div",Kt,[n(j,{class:"mr-2"},{default:r(()=>[...e[19]||(e[19]=[c("mdi-check-circle",-1)])]),_:1}),c(" "+b(s.success),1)])]),_:1})):T("",!0),n(Ae,{modelValue:s.activeTab,"onUpdate:modelValue":e[2]||(e[2]=l=>s.activeTab=l),class:"mb-4 mx-2",color:"primary",rounded:""},{default:r(()=>[n(se,{value:"text",class:"px-5"},{default:r(()=>[n(j,{start:""},{default:r(()=>[...e[20]||(e[20]=[c("mdi-text-box",-1)])]),_:1}),e[21]||(e[21]=c(" 文本粘贴 ",-1))]),_:1}),n(se,{value:"file",class:"px-5"},{default:r(()=>[n(j,{start:""},{default:r(()=>[...e[22]||(e[22]=[c("mdi-file-upload",-1)])]),_:1}),e[23]||(e[23]=c(" 文件上传 ",-1))]),_:1})]),_:1},8,["modelValue"]),n(Tt,{modelValue:s.formatMode,"onUpdate:modelValue":e[3]||(e[3]=l=>s.formatMode=l),color:"primary",class:"mb-4 mx-2",mandatory:"",density:"comfortable",border:"",rounded:""},{default:r(()=>[n(L,{value:"auto"},{default:r(()=>[...e[24]||(e[24]=[c("自动检测",-1)])]),_:1}),n(L,{value:"json"},{default:r(()=>[...e[25]||(e[25]=[c("JSON",-1)])]),_:1}),n(L,{value:"yaml",disabled:!s.yamlLibLoaded},{default:r(()=>[e[26]||(e[26]=c(" YAML ",-1)),n(he,{activator:"parent",location:"bottom"},{default:r(()=>[c(b(s.yamlLibLoaded?"YAML解析库已加载":"正在加载YAML解析库..."),1)]),_:1})]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),s.jsonText&&s.formatMode==="auto"?(m(),p("div",Zt," 检测到的格式: "+b(i.isYaml(s.jsonText)?"YAML":"JSON"),1)):T("",!0),n(De,{modelValue:s.activeTab,"onUpdate:modelValue":e[6]||(e[6]=l=>s.activeTab=l)},{default:r(()=>[n(fe,{value:"text"},{default:r(()=>[y("div",Qt,[n(Et,{modelValue:s.jsonText,"onUpdate:modelValue":e[4]||(e[4]=l=>s.jsonText=l),label:"粘贴JSON或YAML文本",loading:s.loading,disabled:s.loading,"row-height":"25",rows:"6",placeholder:"请在此粘贴CSES格式的数据...",onInput:i.handleTextChange},null,8,["modelValue","loading","disabled","onInput"])])]),_:1}),n(fe,{value:"file"},{default:r(()=>[n(Ht,{modelValue:s.file,"onUpdate:modelValue":e[5]||(e[5]=l=>s.file=l),accept:".js,.json,.yml,.yaml",label:"选择课程表文件","prepend-icon":"mdi-file-upload",loading:s.loading,disabled:s.loading,onChange:i.handleFileChange,hint:"支持JSON、YAML格式文件","persistent-hint":"",rules:[l=>!l||l.size<2e6||"文件大小不能超过 2 MB"]},null,8,["modelValue","loading","disabled","onChange","rules"]),s.file&&s.formatMode==="auto"?(m(),S(Z,{key:0,type:"info",class:"mb-4",variant:"tonal",density:"compact"},{default:r(()=>[...e[27]||(e[27]=[c(" 将根据文件扩展名自动检测格式 ",-1)])]),_:1})):T("",!0)]),_:1})]),_:1},8,["modelValue"]),n(X,{cols:"12"},{default:r(()=>[n(q,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[y("div",$t,[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[28]||(e[28]=[c("mdi-calendar-multiselect",-1)])]),_:1}),e[33]||(e[33]=y("h3",{class:"text-subtitle-1 font-weight-medium mr-auto"},"选择导出天数",-1)),n(L,{variant:"text",color:"primary",class:"ml-2",onClick:i.selectAllDays},{default:r(()=>[n(j,{start:"",size:"small"},{default:r(()=>[...e[29]||(e[29]=[c("mdi-checkbox-multiple-marked",-1)])]),_:1}),e[30]||(e[30]=c(" 全选 ",-1))]),_:1},8,["onClick"]),n(L,{variant:"text",color:"error",class:"ml-2",onClick:i.clearSelectedDays},{default:r(()=>[n(j,{start:"",size:"small"},{default:r(()=>[...e[31]||(e[31]=[c("mdi-checkbox-multiple-blank-outline",-1)])]),_:1}),e[32]||(e[32]=c(" 清除 ",-1))]),_:1},8,["onClick"])]),n(At,{modelValue:s.selectedDays,"onUpdate:modelValue":e[7]||(e[7]=l=>s.selectedDays=l),multiple:"",class:"mb-2",color:"primary"},{default:r(()=>[(m(),p(C,null,R(7,l=>n(W,{key:l,value:l,filter:"",variant:"tonal",class:"filter-chip",label:""},{default:r(()=>[c(b(s.dayNames[l])+" ",1),i.getDaySchedule(l).length>0?(m(),S(Ve,{key:0,content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])):T("",!0)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(X,{cols:"12"},{default:r(()=>[n(q,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[y("div",es,[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[34]||(e[34]=[c("mdi-cog",-1)])]),_:1}),e[35]||(e[35]=y("h3",{class:"text-subtitle-1 font-weight-medium"},"显示配置",-1))]),n(xe,null,{default:r(()=>[n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideTeacherName,"onUpdate:modelValue":e[8]||(e[8]=l=>s.settings.hideTeacherName=l),label:"不显示教师姓名",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideRoom,"onUpdate:modelValue":e[9]||(e[9]=l=>s.settings.hideRoom=l),label:"不显示教室信息",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(X,{cols:"12",sm:"6"},{default:r(()=>[n(Mt,{modelValue:s.settings.totalWeeks,"onUpdate:modelValue":e[10]||(e[10]=l=>s.settings.totalWeeks=l),modelModifiers:{number:!0},label:"总周数",type:"number",min:"1",max:"30",rules:[l=>l>0||"周数必须大于0"],density:"comfortable",variant:"outlined","prepend-inner-icon":"mdi-calendar-week",class:"mt-3"},null,8,["modelValue","rules"])]),_:1})]),_:1})]),_:1})]),_:1}),s.loading?(m(),S(q,{key:3,class:"my-4",outlined:""},{default:r(()=>[n(te,null,{default:r(()=>[n(Lt,{type:"table",class:"mx-auto"})]),_:1})]),_:1})):T("",!0),s.processedData?(m(),S(W,{key:4,color:"primary",class:"ml-2","prepend-icon":"mdi-book-open-variant"},{default:r(()=>[c(b(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})):T("",!0),s.processedData&&s.exportPeriods.length===0?(m(),S(Z,{key:5,type:"warning",class:"mb-4",closable:""},{default:r(()=>[...e[36]||(e[36]=[c(" 请选择要导出的节次 ",-1)])]),_:1})):T("",!0),s.processedData?(m(),S(q,{key:6,class:"my-4",elevation:"1"},{default:r(()=>[n(me,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[37]||(e[37]=[c("mdi-table",-1)])]),_:1}),e[39]||(e[39]=y("span",{class:"font-weight-bold"},"课程表",-1)),n(W,{color:"primary",class:"ml-3",size:"small",pill:""},{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[38]||(e[38]=[c("mdi-book-open-variant",-1)])]),_:1}),c(" "+b(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})]),_:1}),n(te,{class:"pa-0"},{default:r(()=>[n(St,{"items-selected":s.selectedRows,"onUpdate:itemsSelected":[e[12]||(e[12]=l=>s.selectedRows=l),i.updateSelectedPeriods],headers:s.tableHeaders,items:s.processedData.tableData,"hide-default-footer":"",class:"elevation-1","items-per-page":-1,"item-value":"period","show-select":"","select-strategy":"single-independent","sort-by":[],"disable-sort":""},wt({"item.data-table-select":r(({item:l})=>[n(zt,{modelValue:s.exportPeriods,"onUpdate:modelValue":e[11]||(e[11]=d=>s.exportPeriods=d),value:l.period,"hide-details":"",density:"compact"},null,8,["modelValue","value"])]),_:2},[R(7,l=>({name:`item.${l}`,fn:r(({item:d})=>[d[l]?(m(),p("div",ts,[Array.isArray(d[l])?(m(!0),p(C,{key:0},R(d[l],(f,h)=>(m(),p("div",{key:h,class:"course-item"},[c(b(f.name)+" ",1),!s.settings.hideTeacherName&&f.teacher?(m(),p("span",ss,[e[40]||(e[40]=y("br",null,null,-1)),c(b(f.teacher),1)])):T("",!0),!s.settings.hideRoom&&f.room?(m(),p("span",ls,[e[41]||(e[41]=y("br",null,null,-1)),c(b(f.room),1)])):T("",!0),f.weekType?(m(),p("span",as,b(f.weekType)+"周 ",1)):T("",!0)]))),128)):(m(),p(C,{key:1},[c(b(d[l].name)+" ",1),!s.settings.hideTeacherName&&d[l].teacher?(m(),p("span",is,[e[42]||(e[42]=y("br",null,null,-1)),c(b(d[l].teacher),1)])):T("",!0),!s.settings.hideRoom&&d[l].room?(m(),p("span",rs,[e[43]||(e[43]=y("br",null,null,-1)),c(b(d[l].room),1)])):T("",!0),d[l].weekType?(m(),p("span",ns,b(d[l].weekType)+"周 ",1)):T("",!0)],64))])):T("",!0)])}))]),1032,["items-selected","headers","items","onUpdate:itemsSelected"])]),_:1})]),_:1})):T("",!0),i.hasExportData?(m(),S(q,{key:7,class:"my-4",elevation:"1"},{default:r(()=>[n(me,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(j,{color:"primary",class:"mr-2"},{default:r(()=>[...e[44]||(e[44]=[c("mdi-timetable",-1)])]),_:1}),e[48]||(e[48]=y("span",{class:"font-weight-bold"},"每日课程时间表",-1)),n(W,{class:"ml-3",size:"small",color:"primary",pill:""},{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[45]||(e[45]=[c("mdi-clock-outline",-1)])]),_:1}),c(" "+b(i.totalClassHours)+" 课时 ",1)]),_:1}),s.exportPeriods.length>0?(m(),S(he,{key:0},{activator:r(({props:l})=>[n(W,I({class:"ml-2",size:"small",color:"info"},l,{pill:""}),{default:r(()=>[n(j,{start:"",size:"x-small"},{default:r(()=>[...e[46]||(e[46]=[c("mdi-information-outline",-1)])]),_:1}),e[47]||(e[47]=c(" 节次已重排 ",-1))]),_:1},16)]),default:r(()=>[y("span",null,"已将选中的节次 "+b(s.exportPeriods.join(", "))+" 重新排序为连续的 1-"+b(s.exportPeriods.length),1)]),_:1})):T("",!0)]),_:1}),n(te,null,{default:r(()=>[i.daysWithSchedule.length>0?(m(),S(Ae,{key:0,modelValue:s.activeDay,"onUpdate:modelValue":e[13]||(e[13]=l=>s.activeDay=l),class:"mb-4",color:"primary",grow:"","align-tabs":"center"},{default:r(()=>[(m(!0),p(C,null,R(i.daysWithSchedule,l=>(m(),S(se,{key:l,value:l,class:"px-2 font-weight-medium"},{default:r(()=>[c(b(s.dayNames[l])+" ",1),n(Ve,{content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):T("",!0),n(De,{modelValue:s.activeDay,"onUpdate:modelValue":e[14]||(e[14]=l=>s.activeDay=l)},{default:r(()=>[(m(!0),p(C,null,R(i.daysWithSchedule,l=>(m(),S(fe,{key:l,value:l},{default:r(()=>[n(jt,{density:"compact",class:"rounded","headers-length":6,"disable-sort":""},{default:r(()=>[e[50]||(e[50]=y("thead",null,[y("tr",null,[y("th",{class:"text-center"},"节次"),y("th",null,"课程"),y("th",null,"时间"),y("th",null,"教师"),y("th",null,"教室"),y("th",null,"周次")])],-1)),y("tbody",null,[(m(!0),p(C,null,R(i.groupByPeriod(i.getDaySchedule(l)),(d,f)=>(m(),p("tr",{key:f},[y("td",os,[c(b(d.period)+" ",1),d.originalPeriod!==d.period?(m(),S(he,{key:0},{activator:r(({props:h})=>[n(j,I({size:"x-small"},{ref_for:!0},h,{color:"info",class:"ml-1"}),{default:r(()=>[...e[49]||(e[49]=[c("mdi-sync",-1)])]),_:1},16)]),default:r(()=>[c(" 原节次: "+b(d.originalPeriod),1)]),_:2},1024)):T("",!0)]),y("td",null,[(m(!0),p(C,null,R(d.items,(h,v)=>(m(),p("div",{key:v,class:"mb-1"},[n(W,{size:"small",color:i.getSubjectColor(h.subject),label:"","text-color":"white",class:"mr-1"},{default:r(()=>[c(b(h.subject),1)]),_:2},1032,["color"]),d.items.length>1?(m(),S(W,{key:0,size:"x-small",class:"ml-1",color:h.weekType==="单"?"warning":"success"},{default:r(()=>[c(b(h.weekType)+"周 ",1)]),_:2},1032,["color"])):T("",!0)]))),128))]),y("td",null,[(m(!0),p(C,null,R(d.uniqueTimeSlots,(h,v)=>(m(),p("div",{key:v,class:"mb-1"},[n(W,{size:"x-small",class:"time-chip"},{default:r(()=>[c(b(i.formatTime(h.startTime))+" - "+b(i.formatTime(h.endTime)),1)]),_:2},1024)]))),128))]),y("td",null,[s.settings.hideTeacherName?(m(),p(C,{key:1},[c("-")],64)):(m(!0),p(C,{key:0},R(d.items,(h,v)=>(m(),p("div",{key:v,class:"mb-1"},b(h.teacher||"-"),1))),128))]),y("td",null,[s.settings.hideRoom?(m(),p(C,{key:1},[c("-")],64)):(m(!0),p(C,{key:0},R(d.items,(h,v)=>(m(),p("div",{key:v,class:"mb-1"},b(h.room||"-"),1))),128))]),y("td",null,[(m(!0),p(C,null,R(d.items,(h,v)=>(m(),p("div",{key:v,class:"mb-1"},b(h.weeks),1))),128))])]))),128))])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),i.hasExportData&&i.daysWithSchedule.length===0?(m(),S(Z,{key:1,type:"info",class:"mt-3"},{default:r(()=>[...e[51]||(e[51]=[c(" 没有找到任何课程数据 ",-1)])]),_:1})):T("",!0)]),_:1})]),_:1})):T("",!0)]),_:1}),n(xt,{class:""},{default:r(()=>[n(Dt),n(L,{color:"primary",variant:"outlined",loading:s.loading,disabled:!s.jsonText&&!s.file||s.loading,onClick:i.processInput,"prepend-icon":"mdi-cog-refresh"},{default:r(()=>[...e[52]||(e[52]=[c(" 处理数据 ",-1)])]),_:1},8,["loading","disabled","onClick"]),n(L,{color:"info",disabled:!i.hasExportData,onClick:i.showExportPreview,class:"ml-2","prepend-icon":"mdi-eye",border:""},{default:r(()=>[...e[53]||(e[53]=[c(" 刷新 ",-1)])]),_:1},8,["disabled","onClick"]),n(L,{color:"success",variant:"outlined",disabled:!i.hasExportData,onClick:i.downloadCSV,class:"ml-2","prepend-icon":"mdi-download",border:""},{default:r(()=>[...e[54]||(e[54]=[c(" 下载CSV ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Ds=vt(qt,[["render",ds],["__scopeId","data-v-c07f22af"]]);export{Ds as default}; diff --git a/assets/cses2wakeup-B_ZAsO72.css b/assets/cses2wakeup-V9ZvMok7.css similarity index 92% rename from assets/cses2wakeup-B_ZAsO72.css rename to assets/cses2wakeup-V9ZvMok7.css index 7ff2de9..fa4a8c0 100644 --- a/assets/cses2wakeup-B_ZAsO72.css +++ b/assets/cses2wakeup-V9ZvMok7.css @@ -1 +1 @@ -.v-chip--selected[data-v-c07f22af]{font-weight:700}.v-chip .v-badge[data-v-c07f22af]{margin-left:4px}.time-chip[data-v-c07f22af]{font-size:.75rem}.course-cell[data-v-c07f22af]{padding:4px;font-size:.85rem;white-space:pre-line}.course-item[data-v-c07f22af]{padding:2px 0;border-bottom:1px dashed rgba(0,0,0,.1)}.course-item[data-v-c07f22af]:last-child{border-bottom:none}.week-type[data-v-c07f22af]{font-size:.7rem;background-color:#0000000d;padding:1px 3px;border-radius:2px;margin-left:2px}.filter-chip[data-v-c07f22af]{min-width:60px;justify-content:center;transition:all .2s ease}.filter-chip.v-chip--selected[data-v-c07f22af]{transform:scale(1.05);font-weight:700}.v-data-table[data-v-c07f22af]{border-radius:8px;overflow:hidden}.v-card[data-v-c07f22af]{border-radius:12px;overflow:hidden}.v-btn[data-v-c07f22af]{transition:transform .2s ease}.v-btn[data-v-c07f22af]:not(:disabled):hover{transform:translateY(-2px)}.v-file-input--hide.v-input .v-field,.v-file-input--hide.v-input .v-input__control,.v-file-input--hide.v-input .v-input__details{display:none}.v-file-input--hide.v-input .v-input__prepend{grid-area:control;margin:0 auto}.v-file-input--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-file-input .v-field__input{word-break:break-word}.v-file-input input[type=file]{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:0}.v-file-input--dragging input[type=file]{z-index:1}.v-file-input .v-input__details{padding-inline:16px}.v-input--plain-underlined.v-file-input .v-input__details{padding-inline:0}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}@media (forced-colors: active){.v-tab--selected.v-btn{color:highlight!important}.v-tab__slider{background:highlight!important}}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}.v-tabs--inset{--v-tabs-inset-radius: 4px;--v-tabs-inset-padding: 4px;background:rgba(var(--v-theme-on-surface),.06);box-shadow:inset 0 0 0 2px rgba(var(--v-border-color),var(--v-border-opacity));border-radius:calc(var(--v-tabs-inset-radius) + var(--v-tabs-inset-padding))}.v-tabs--inset .v-tab{margin:var(--v-tabs-inset-padding);transition-property:box-shadow,transform,opacity,background,color}.v-tabs--inset .v-tab.v-tab.v-btn{border-radius:var(--v-tabs-inset-radius)}.v-tabs--inset .v-tab:focus-visible{outline:2px solid rgb(var(--v-border-color));outline-offset:2px}.v-tabs--inset .v-tab:focus-visible:after{opacity:0}.v-tabs--inset:not(.v-tabs--fixed-tabs,.v-tabs--grow){max-width:max-content}.v-tabs--inset.v-tabs--fixed-tabs .v-slide-group__content{padding-inline:var(--v-tabs-inset-padding)}.v-tabs--inset .v-tab__slider{top:0;right:0;bottom:0;left:0;border-radius:var(--v-tabs-inset-radius);z-index:-1;width:auto}.v-tabs--inset.v-tabs--horizontal{height:calc(var(--v-tabs-height) + var(--v-tabs-inset-padding) * 2);--v-tabs-inset-tab-radius: calc(var(--v-tabs-outer-radius) - var(--v-tabs-inset-padding) + 4px)}.v-tabs--inset.v-tabs--horizontal .v-tab__slider{height:auto}.v-tabs--inset .v-btn__overlay{display:none}.v-tabs--inset.v-tabs--vertical .v-tab{grid-template-columns:max-content 1fr max-content}.v-tabs--inset.v-tabs--vertical .v-tab>.v-btn__content{justify-content:start}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}} +.v-chip--selected[data-v-c07f22af]{font-weight:700}.v-chip .v-badge[data-v-c07f22af]{margin-left:4px}.time-chip[data-v-c07f22af]{font-size:.75rem}.course-cell[data-v-c07f22af]{padding:4px;font-size:.85rem;white-space:pre-line}.course-item[data-v-c07f22af]{padding:2px 0;border-bottom:1px dashed rgba(0,0,0,.1)}.course-item[data-v-c07f22af]:last-child{border-bottom:none}.week-type[data-v-c07f22af]{font-size:.7rem;background-color:#0000000d;padding:1px 3px;border-radius:2px;margin-left:2px}.filter-chip[data-v-c07f22af]{min-width:60px;justify-content:center;transition:all .2s ease}.filter-chip.v-chip--selected[data-v-c07f22af]{transform:scale(1.05);font-weight:700}.v-data-table[data-v-c07f22af]{border-radius:8px;overflow:hidden}.v-card[data-v-c07f22af]{border-radius:12px;overflow:hidden}.v-btn[data-v-c07f22af]{transition:transform .2s ease}.v-btn[data-v-c07f22af]:not(:disabled):hover{transform:translateY(-2px)}.v-file-input--hide.v-input .v-field,.v-file-input--hide.v-input .v-input__control,.v-file-input--hide.v-input .v-input__details{display:none}.v-file-input--hide.v-input .v-input__prepend{grid-area:control;margin:0 auto}.v-file-input--chips.v-input--density-compact .v-field--variant-solo .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-inverted .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-filled .v-label.v-field-label--floating,.v-file-input--chips.v-input--density-compact .v-field--variant-solo-filled .v-label.v-field-label--floating{top:0}.v-file-input .v-field__input{word-break:break-word}.v-file-input input[type=file]{height:100%;left:0;opacity:0;position:absolute;top:0;width:100%;z-index:0}.v-file-input--dragging input[type=file]{z-index:1}.v-file-input .v-input__details{padding-inline:16px}.v-input--plain-underlined.v-file-input .v-input__details{padding-inline:0}.v-tab.v-tab.v-btn{height:var(--v-tabs-height);border-radius:0;min-width:90px}.v-slide-group--horizontal .v-tab{max-width:360px}.v-slide-group--vertical .v-tab{justify-content:start}.v-tab__slider{position:absolute;bottom:0;left:0;height:2px;width:100%;background:currentColor;pointer-events:none;opacity:0}.v-tab--selected .v-tab__slider{opacity:1}.v-slide-group--vertical .v-tab__slider{top:0;height:100%;width:2px}@media (forced-colors: active){.v-tab--selected.v-btn{color:highlight!important}.v-tab__slider{background:highlight!important}}.student-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.bg-primary-subtle{background-color:rgb(var(--v-theme-primary),.05)}.action-buttons{transition:opacity .2s ease;opacity:0}.gap-1{gap:4px}.gap-2{gap:8px}.student-card .v-text-field{margin:0;padding:0}@media (max-width: 600px){.v-container{padding:12px}.v-col{padding:8px}}.student-card.mobile{margin-bottom:8px}.student-card.mobile .v-btn{min-width:40px;min-height:40px}.student-card.mobile .v-text-field{font-size:16px}@media (max-width: 600px){.v-col{padding:6px!important}.student-card{margin-bottom:4px}.action-buttons{opacity:1}}.student-card{-webkit-tap-highlight-color:transparent}.student-card:active{background-color:rgb(var(--v-theme-primary),.05)}.v-tabs{display:flex;height:var(--v-tabs-height)}.v-tabs--density-default{--v-tabs-height: 48px}.v-tabs--density-default.v-tabs--stacked{--v-tabs-height: 72px}.v-tabs--density-comfortable{--v-tabs-height: 44px}.v-tabs--density-comfortable.v-tabs--stacked{--v-tabs-height: 68px}.v-tabs--density-compact{--v-tabs-height: 36px}.v-tabs--density-compact.v-tabs--stacked{--v-tabs-height: 60px}.v-tabs.v-slide-group--vertical{height:auto;flex:none;--v-tabs-height: 48px}.v-tabs--align-tabs-title:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:42px}.v-tabs--fixed-tabs .v-slide-group__content>*:last-child,.v-tabs--align-tabs-center .v-slide-group__content>*:last-child{margin-inline-end:auto}.v-tabs--fixed-tabs .v-slide-group__content>*:first-child,.v-tabs--align-tabs-center .v-slide-group__content>*:first-child{margin-inline-start:auto}.v-tabs--grow{flex-grow:1}.v-tabs--grow .v-tab{flex:1 0 auto;max-width:none}.v-tabs--align-tabs-end .v-tab:first-child{margin-inline-start:auto}.v-tabs--align-tabs-end .v-tab:last-child{margin-inline-end:0}.v-tabs--inset{--v-tabs-inset-radius: 4px;--v-tabs-inset-padding: 4px;background:rgba(var(--v-theme-on-surface),.06);box-shadow:inset 0 0 0 2px rgba(var(--v-border-color),var(--v-border-opacity));border-radius:calc(var(--v-tabs-inset-radius) + var(--v-tabs-inset-padding))}.v-tabs--inset .v-tab{margin:var(--v-tabs-inset-padding);transition-property:box-shadow,transform,opacity,background,color}.v-tabs--inset .v-tab.v-tab.v-btn{border-radius:var(--v-tabs-inset-radius)}.v-tabs--inset .v-tab:focus-visible{outline:2px solid rgb(var(--v-border-color));outline-offset:2px}.v-tabs--inset .v-tab:focus-visible:after{opacity:0}.v-tabs--inset:not(.v-tabs--fixed-tabs,.v-tabs--grow){max-width:max-content}.v-tabs--inset.v-tabs--fixed-tabs .v-slide-group__content{padding-inline:var(--v-tabs-inset-padding)}.v-tabs--inset .v-tab__slider{top:0;right:0;bottom:0;left:0;border-radius:var(--v-tabs-inset-radius);z-index:-1;width:auto}.v-tabs--inset.v-tabs--horizontal{height:calc(var(--v-tabs-height) + var(--v-tabs-inset-padding) * 2);--v-tabs-inset-tab-radius: calc(var(--v-tabs-outer-radius) - var(--v-tabs-inset-padding) + 4px)}.v-tabs--inset.v-tabs--horizontal .v-tab__slider{height:auto}.v-tabs--inset .v-btn__overlay{display:none}.v-tabs--inset.v-tabs--vertical .v-tab{grid-template-columns:max-content 1fr max-content}.v-tabs--inset.v-tabs--vertical .v-tab>.v-btn__content{justify-content:start}.v-tabs--inset.v-tabs--vertical .v-tab .v-tab__slider{width:auto}@media (max-width: 1279.98px){.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:first-child{margin-inline-start:52px}.v-tabs.v-slide-group--is-overflowing.v-slide-group--horizontal:not(.v-slide-group--has-affixes) .v-tab:last-child{margin-inline-end:52px}} diff --git a/assets/dataProvider-BZ0EQWiW.js b/assets/dataProvider-MQ8YacC2.js similarity index 99% rename from assets/dataProvider-BZ0EQWiW.js rename to assets/dataProvider-MQ8YacC2.js index 87c3009..c853348 100644 --- a/assets/dataProvider-BZ0EQWiW.js +++ b/assets/dataProvider-MQ8YacC2.js @@ -1,4 +1,4 @@ -import{k as S,cs as xr,s as Ne}from"./index-Ck0Pnd4f.js";import{i as te,t as re,g as ct}from"./serverRotation-TSbwZ9RQ.js";const Le=(e,t)=>t.some(r=>e instanceof r);let ut,lt;function Ar(){return ut||(ut=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Or(){return lt||(lt=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Ie=new WeakMap,_e=new WeakMap,Re=new WeakMap;function Tr(e){const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("success",i),e.removeEventListener("error",o)},i=()=>{r(z(e.result)),s()},o=()=>{n(e.error),s()};e.addEventListener("success",i),e.addEventListener("error",o)});return Re.set(t,e),t}function Cr(e){if(Ie.has(e))return;const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",o),e.removeEventListener("abort",o)},i=()=>{r(),s()},o=()=>{n(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",i),e.addEventListener("error",o),e.addEventListener("abort",o)});Ie.set(e,t)}let je={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Ie.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return z(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Bt(e){je=e(je)}function Dr(e){return Or().includes(e)?function(...t){return e.apply($e(this),t),z(this.request)}:function(...t){return z(e.apply($e(this),t))}}function Nr(e){return typeof e=="function"?Dr(e):(e instanceof IDBTransaction&&Cr(e),Le(e,Ar())?new Proxy(e,je):e)}function z(e){if(e instanceof IDBRequest)return Tr(e);if(_e.has(e))return _e.get(e);const t=Nr(e);return t!==e&&(_e.set(e,t),Re.set(t,e)),t}const $e=e=>Re.get(e);function _r(e,t,{blocked:r,upgrade:n,blocking:s,terminated:i}={}){const o=indexedDB.open(e,t),a=z(o);return n&&o.addEventListener("upgradeneeded",f=>{n(z(o.result),f.oldVersion,f.newVersion,z(o.transaction),f)}),r&&o.addEventListener("blocked",f=>r(f.oldVersion,f.newVersion,f)),a.then(f=>{i&&f.addEventListener("close",()=>i()),s&&f.addEventListener("versionchange",l=>s(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}const vr=["get","getKey","getAll","getAllKeys","count"],Ur=["put","add","delete","clear"],ve=new Map;function ft(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(ve.get(t))return ve.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,s=Ur.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(s||vr.includes(r)))return;const i=async function(o,...a){const f=this.transaction(o,s?"readwrite":"readonly");let l=f.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),s&&f.done]))[0]};return ve.set(t,i),i}Bt(e=>({...e,get:(t,r,n)=>ft(t,r)||e.get(t,r,n),has:(t,r)=>!!ft(t,r)||e.has(t,r)}));const kr=["continue","continuePrimaryKey","advance"],dt={},Me=new WeakMap,Ft=new WeakMap,Pr={get(e,t){if(!kr.includes(t))return e[t];let r=dt[t];return r||(r=dt[t]=function(...n){Me.set(this,Ft.get(this)[t](...n))}),r}};async function*Br(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;const r=new Proxy(t,Pr);for(Ft.set(r,t),Re.set(r,$e(t));t;)yield r,t=await(Me.get(r)||t.continue()),Me.delete(r)}function ht(e,t){return t===Symbol.asyncIterator&&Le(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&Le(e,[IDBIndex,IDBObjectStore])}Bt(e=>({...e,get(t,r,n){return ht(t,r)?Br:e.get(t,r,n)},has(t,r){return ht(t,r)||e.has(t,r)}}));const Fr="ClassworksDB",Lr=2,Ue=async()=>_r(Fr,Lr,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system")}}),he={async loadData(e){try{const r=await(await Ue()).get("kv",e);return r?k(JSON.parse(r)):O("数据不存在","NOT_FOUND")}catch(t){return O("读取本地数据失败:"+t)}},async saveData(e,t){try{return await(await Ue()).put("kv",JSON.stringify(t),e),k(!0)}catch(r){return O("保存本地数据失败:"+r)}},async loadKeys(e={}){try{const s=await(await Ue()).transaction(["kv"],"readonly").objectStore("kv").getAllKeys(),{sortDir:i="asc",limit:o=100,skip:a=0}=e,f=s.sort((b,w)=>i==="desc"?w.localeCompare(b):b.localeCompare(w)),l=f.length,u=f.slice(a,a+o),h={keys:u,total_rows:l,current_page:{limit:o,skip:a,count:u.length},load_more:null};return k(h)}catch(t){return O("获取本地键名列表失败:"+t.message)}}};function Lt(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ir}=Object.prototype,{getPrototypeOf:Xe}=Object,{iterator:Se,toStringTag:It}=Symbol,xe=(e=>t=>{const r=Ir.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),B=e=>(e=e.toLowerCase(),t=>xe(t)===e),Ae=e=>t=>typeof t===e,{isArray:G}=Array,Z=Ae("undefined");function ie(e){return e!==null&&!Z(e)&&e.constructor!==null&&!Z(e.constructor)&&C(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const jt=B("ArrayBuffer");function jr(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&jt(e.buffer),t}const $r=Ae("string"),C=Ae("function"),$t=Ae("number"),ae=e=>e!==null&&typeof e=="object",Mr=e=>e===!0||e===!1,ye=e=>{if(xe(e)!=="object")return!1;const t=Xe(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(It in e)&&!(Se in e)},Hr=e=>{if(!ae(e)||ie(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},qr=B("Date"),Kr=B("File"),zr=B("Blob"),Vr=B("FileList"),Jr=e=>ae(e)&&C(e.pipe),Wr=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||C(e.append)&&((t=xe(e))==="formdata"||t==="object"&&C(e.toString)&&e.toString()==="[object FormData]"))},Xr=B("URLSearchParams"),[Zr,Gr,Qr,Yr]=["ReadableStream","Request","Response","Headers"].map(B),en=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ce(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,s;if(typeof e!="object"&&(e=[e]),G(e))for(n=0,s=e.length;n0;)if(s=r[n],t===s.toLowerCase())return s;return null}const K=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ht=e=>!Z(e)&&e!==K;function He(){const{caseless:e,skipUndefined:t}=Ht(this)&&this||{},r={},n=(s,i)=>{const o=e&&Mt(r,i)||i;ye(r[o])&&ye(s)?r[o]=He(r[o],s):ye(s)?r[o]=He({},s):G(s)?r[o]=s.slice():(!t||!Z(s))&&(r[o]=s)};for(let s=0,i=arguments.length;s(ce(t,(s,i)=>{r&&C(s)?e[i]=Lt(s,r):e[i]=s},{allOwnKeys:n}),e),rn=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),nn=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},sn=(e,t,r,n)=>{let s,i,o;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!n||n(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=r!==!1&&Xe(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},on=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},an=e=>{if(!e)return null;if(G(e))return e;let t=e.length;if(!$t(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},cn=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Xe(Uint8Array)),un=(e,t)=>{const n=(e&&e[Se]).call(e);let s;for(;(s=n.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},ln=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},fn=B("HTMLFormElement"),dn=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,s){return n.toUpperCase()+s}),pt=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),hn=B("RegExp"),qt=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};ce(r,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(n[i]=o||s)}),Object.defineProperties(e,n)},pn=e=>{qt(e,(t,r)=>{if(C(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(C(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},mn=(e,t)=>{const r={},n=s=>{s.forEach(i=>{r[i]=!0})};return G(e)?n(e):n(String(e).split(t)),r},yn=()=>{},bn=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function wn(e){return!!(e&&C(e.append)&&e[It]==="FormData"&&e[Se])}const gn=e=>{const t=new Array(10),r=(n,s)=>{if(ae(n)){if(t.indexOf(n)>=0)return;if(ie(n))return n;if(!("toJSON"in n)){t[s]=n;const i=G(n)?[]:{};return ce(n,(o,a)=>{const f=r(o,s+1);!Z(f)&&(i[a]=f)}),t[s]=void 0,i}}return n};return r(e,0)},En=B("AsyncFunction"),Rn=e=>e&&(ae(e)||C(e))&&C(e.then)&&C(e.catch),Kt=((e,t)=>e?setImmediate:t?((r,n)=>(K.addEventListener("message",({source:s,data:i})=>{s===K&&i===r&&n.length&&n.shift()()},!1),s=>{n.push(s),K.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",C(K.postMessage)),Sn=typeof queueMicrotask<"u"?queueMicrotask.bind(K):typeof process<"u"&&process.nextTick||Kt,xn=e=>e!=null&&C(e[Se]),c={isArray:G,isArrayBuffer:jt,isBuffer:ie,isFormData:Wr,isArrayBufferView:jr,isString:$r,isNumber:$t,isBoolean:Mr,isObject:ae,isPlainObject:ye,isEmptyObject:Hr,isReadableStream:Zr,isRequest:Gr,isResponse:Qr,isHeaders:Yr,isUndefined:Z,isDate:qr,isFile:Kr,isBlob:zr,isRegExp:hn,isFunction:C,isStream:Jr,isURLSearchParams:Xr,isTypedArray:cn,isFileList:Vr,forEach:ce,merge:He,extend:tn,trim:en,stripBOM:rn,inherits:nn,toFlatObject:sn,kindOf:xe,kindOfTest:B,endsWith:on,toArray:an,forEachEntry:un,matchAll:ln,isHTMLForm:fn,hasOwnProperty:pt,hasOwnProp:pt,reduceDescriptors:qt,freezeMethods:pn,toObjectSet:mn,toCamelCase:dn,noop:yn,toFiniteNumber:bn,findKey:Mt,global:K,isContextDefined:Ht,isSpecCompliantForm:wn,toJSONObject:gn,isAsyncFn:En,isThenable:Rn,setImmediate:Kt,asap:Sn,isIterable:xn};function y(e,t,r,n,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),s&&(this.response=s,this.status=s.status?s.status:null)}c.inherits(y,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:c.toJSONObject(this.config),code:this.code,status:this.status}}});const zt=y.prototype,Vt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Vt[e]={value:e}});Object.defineProperties(y,Vt);Object.defineProperty(zt,"isAxiosError",{value:!0});y.from=(e,t,r,n,s,i)=>{const o=Object.create(zt);c.toFlatObject(e,o,function(u){return u!==Error.prototype},l=>l!=="isAxiosError");const a=e&&e.message?e.message:"Error",f=t==null&&e?e.code:t;return y.call(o,a,f,r,n,s),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",i&&Object.assign(o,i),o};const An=null;function qe(e){return c.isPlainObject(e)||c.isArray(e)}function Jt(e){return c.endsWith(e,"[]")?e.slice(0,-2):e}function mt(e,t,r){return e?e.concat(t).map(function(s,i){return s=Jt(s),!r&&i?"["+s+"]":s}).join(r?".":""):t}function On(e){return c.isArray(e)&&!e.some(qe)}const Tn=c.toFlatObject(c,{},null,function(t){return/^is[A-Z]/.test(t)});function Oe(e,t,r){if(!c.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=c.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,p){return!c.isUndefined(p[m])});const n=r.metaTokens,s=r.visitor||u,i=r.dots,o=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&c.isSpecCompliantForm(t);if(!c.isFunction(s))throw new TypeError("visitor must be a function");function l(d){if(d===null)return"";if(c.isDate(d))return d.toISOString();if(c.isBoolean(d))return d.toString();if(!f&&c.isBlob(d))throw new y("Blob is not supported. Use a Buffer instead.");return c.isArrayBuffer(d)||c.isTypedArray(d)?f&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function u(d,m,p){let E=d;if(d&&!p&&typeof d=="object"){if(c.endsWith(m,"{}"))m=n?m:m.slice(0,-2),d=JSON.stringify(d);else if(c.isArray(d)&&On(d)||(c.isFileList(d)||c.endsWith(m,"[]"))&&(E=c.toArray(d)))return m=Jt(m),E.forEach(function(R,T){!(c.isUndefined(R)||R===null)&&t.append(o===!0?mt([m],T,i):o===null?m:m+"[]",l(R))}),!1}return qe(d)?!0:(t.append(mt(p,m,i),l(d)),!1)}const h=[],b=Object.assign(Tn,{defaultVisitor:u,convertValue:l,isVisitable:qe});function w(d,m){if(!c.isUndefined(d)){if(h.indexOf(d)!==-1)throw Error("Circular reference detected in "+m.join("."));h.push(d),c.forEach(d,function(E,_){(!(c.isUndefined(E)||E===null)&&s.call(t,E,c.isString(_)?_.trim():_,m,b))===!0&&w(E,m?m.concat(_):[_])}),h.pop()}}if(!c.isObject(e))throw new TypeError("data must be an object");return w(e),t}function yt(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Ze(e,t){this._pairs=[],e&&Oe(e,this,t)}const Wt=Ze.prototype;Wt.append=function(t,r){this._pairs.push([t,r])};Wt.toString=function(t){const r=t?function(n){return t.call(this,n,yt)}:yt;return this._pairs.map(function(s){return r(s[0])+"="+r(s[1])},"").join("&")};function Cn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Xt(e,t,r){if(!t)return e;const n=r&&r.encode||Cn;c.isFunction(r)&&(r={serialize:r});const s=r&&r.serialize;let i;if(s?i=s(t,r):i=c.isURLSearchParams(t)?t.toString():new Ze(t,r).toString(n),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class bt{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){c.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Zt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Dn=typeof URLSearchParams<"u"?URLSearchParams:Ze,Nn=typeof FormData<"u"?FormData:null,_n=typeof Blob<"u"?Blob:null,vn={isBrowser:!0,classes:{URLSearchParams:Dn,FormData:Nn,Blob:_n},protocols:["http","https","file","blob","url","data"]},Ge=typeof window<"u"&&typeof document<"u",Ke=typeof navigator=="object"&&navigator||void 0,Un=Ge&&(!Ke||["ReactNative","NativeScript","NS"].indexOf(Ke.product)<0),kn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Pn=Ge&&window.location.href||"http://localhost",Bn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ge,hasStandardBrowserEnv:Un,hasStandardBrowserWebWorkerEnv:kn,navigator:Ke,origin:Pn},Symbol.toStringTag,{value:"Module"})),A={...Bn,...vn};function Fn(e,t){return Oe(e,new A.classes.URLSearchParams,{visitor:function(r,n,s,i){return A.isNode&&c.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function Ln(e){return c.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function In(e){const t={},r=Object.keys(e);let n;const s=r.length;let i;for(n=0;n=r.length;return o=!o&&c.isArray(s)?s.length:o,f?(c.hasOwnProp(s,o)?s[o]=[s[o],n]:s[o]=n,!a):((!s[o]||!c.isObject(s[o]))&&(s[o]=[]),t(r,n,s[o],i)&&c.isArray(s[o])&&(s[o]=In(s[o])),!a)}if(c.isFormData(e)&&c.isFunction(e.entries)){const r={};return c.forEachEntry(e,(n,s)=>{t(Ln(n),s,r,0)}),r}return null}function jn(e,t,r){if(c.isString(e))try{return(t||JSON.parse)(e),c.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const ue={transitional:Zt,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",s=n.indexOf("application/json")>-1,i=c.isObject(t);if(i&&c.isHTMLForm(t)&&(t=new FormData(t)),c.isFormData(t))return s?JSON.stringify(Gt(t)):t;if(c.isArrayBuffer(t)||c.isBuffer(t)||c.isStream(t)||c.isFile(t)||c.isBlob(t)||c.isReadableStream(t))return t;if(c.isArrayBufferView(t))return t.buffer;if(c.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Fn(t,this.formSerializer).toString();if((a=c.isFileList(t))||n.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return Oe(a?{"files[]":t}:t,f&&new f,this.formSerializer)}}return i||s?(r.setContentType("application/json",!1),jn(t)):t}],transformResponse:[function(t){const r=this.transitional||ue.transitional,n=r&&r.forcedJSONParsing,s=this.responseType==="json";if(c.isResponse(t)||c.isReadableStream(t))return t;if(t&&c.isString(t)&&(n&&!this.responseType||s)){const o=!(r&&r.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(a){if(o)throw a.name==="SyntaxError"?y.from(a,y.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:A.classes.FormData,Blob:A.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};c.forEach(["delete","get","head","post","put","patch"],e=>{ue.headers[e]={}});const $n=c.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Mn=e=>{const t={};let r,n,s;return e&&e.split(` +import{k as S,cs as xr,s as Ne}from"./index-BUM0TY0E.js";import{i as te,t as re,g as ct}from"./serverRotation-CjK7Y7P9.js";const Le=(e,t)=>t.some(r=>e instanceof r);let ut,lt;function Ar(){return ut||(ut=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Or(){return lt||(lt=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Ie=new WeakMap,_e=new WeakMap,Re=new WeakMap;function Tr(e){const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("success",i),e.removeEventListener("error",o)},i=()=>{r(z(e.result)),s()},o=()=>{n(e.error),s()};e.addEventListener("success",i),e.addEventListener("error",o)});return Re.set(t,e),t}function Cr(e){if(Ie.has(e))return;const t=new Promise((r,n)=>{const s=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",o),e.removeEventListener("abort",o)},i=()=>{r(),s()},o=()=>{n(e.error||new DOMException("AbortError","AbortError")),s()};e.addEventListener("complete",i),e.addEventListener("error",o),e.addEventListener("abort",o)});Ie.set(e,t)}let je={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return Ie.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return z(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function Bt(e){je=e(je)}function Dr(e){return Or().includes(e)?function(...t){return e.apply($e(this),t),z(this.request)}:function(...t){return z(e.apply($e(this),t))}}function Nr(e){return typeof e=="function"?Dr(e):(e instanceof IDBTransaction&&Cr(e),Le(e,Ar())?new Proxy(e,je):e)}function z(e){if(e instanceof IDBRequest)return Tr(e);if(_e.has(e))return _e.get(e);const t=Nr(e);return t!==e&&(_e.set(e,t),Re.set(t,e)),t}const $e=e=>Re.get(e);function _r(e,t,{blocked:r,upgrade:n,blocking:s,terminated:i}={}){const o=indexedDB.open(e,t),a=z(o);return n&&o.addEventListener("upgradeneeded",f=>{n(z(o.result),f.oldVersion,f.newVersion,z(o.transaction),f)}),r&&o.addEventListener("blocked",f=>r(f.oldVersion,f.newVersion,f)),a.then(f=>{i&&f.addEventListener("close",()=>i()),s&&f.addEventListener("versionchange",l=>s(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}const vr=["get","getKey","getAll","getAllKeys","count"],Ur=["put","add","delete","clear"],ve=new Map;function ft(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(ve.get(t))return ve.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,s=Ur.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(s||vr.includes(r)))return;const i=async function(o,...a){const f=this.transaction(o,s?"readwrite":"readonly");let l=f.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),s&&f.done]))[0]};return ve.set(t,i),i}Bt(e=>({...e,get:(t,r,n)=>ft(t,r)||e.get(t,r,n),has:(t,r)=>!!ft(t,r)||e.has(t,r)}));const kr=["continue","continuePrimaryKey","advance"],dt={},Me=new WeakMap,Ft=new WeakMap,Pr={get(e,t){if(!kr.includes(t))return e[t];let r=dt[t];return r||(r=dt[t]=function(...n){Me.set(this,Ft.get(this)[t](...n))}),r}};async function*Br(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;const r=new Proxy(t,Pr);for(Ft.set(r,t),Re.set(r,$e(t));t;)yield r,t=await(Me.get(r)||t.continue()),Me.delete(r)}function ht(e,t){return t===Symbol.asyncIterator&&Le(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&Le(e,[IDBIndex,IDBObjectStore])}Bt(e=>({...e,get(t,r,n){return ht(t,r)?Br:e.get(t,r,n)},has(t,r){return ht(t,r)||e.has(t,r)}}));const Fr="ClassworksDB",Lr=2,Ue=async()=>_r(Fr,Lr,{upgrade(e){e.objectStoreNames.contains("kv")||e.createObjectStore("kv"),e.objectStoreNames.contains("system")||e.createObjectStore("system")}}),he={async loadData(e){try{const r=await(await Ue()).get("kv",e);return r?k(JSON.parse(r)):O("数据不存在","NOT_FOUND")}catch(t){return O("读取本地数据失败:"+t)}},async saveData(e,t){try{return await(await Ue()).put("kv",JSON.stringify(t),e),k(!0)}catch(r){return O("保存本地数据失败:"+r)}},async loadKeys(e={}){try{const s=await(await Ue()).transaction(["kv"],"readonly").objectStore("kv").getAllKeys(),{sortDir:i="asc",limit:o=100,skip:a=0}=e,f=s.sort((b,w)=>i==="desc"?w.localeCompare(b):b.localeCompare(w)),l=f.length,u=f.slice(a,a+o),h={keys:u,total_rows:l,current_page:{limit:o,skip:a,count:u.length},load_more:null};return k(h)}catch(t){return O("获取本地键名列表失败:"+t.message)}}};function Lt(e,t){return function(){return e.apply(t,arguments)}}const{toString:Ir}=Object.prototype,{getPrototypeOf:Xe}=Object,{iterator:Se,toStringTag:It}=Symbol,xe=(e=>t=>{const r=Ir.call(t);return e[r]||(e[r]=r.slice(8,-1).toLowerCase())})(Object.create(null)),B=e=>(e=e.toLowerCase(),t=>xe(t)===e),Ae=e=>t=>typeof t===e,{isArray:G}=Array,Z=Ae("undefined");function ie(e){return e!==null&&!Z(e)&&e.constructor!==null&&!Z(e.constructor)&&C(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const jt=B("ArrayBuffer");function jr(e){let t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(e):t=e&&e.buffer&&jt(e.buffer),t}const $r=Ae("string"),C=Ae("function"),$t=Ae("number"),ae=e=>e!==null&&typeof e=="object",Mr=e=>e===!0||e===!1,ye=e=>{if(xe(e)!=="object")return!1;const t=Xe(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(It in e)&&!(Se in e)},Hr=e=>{if(!ae(e)||ie(e))return!1;try{return Object.keys(e).length===0&&Object.getPrototypeOf(e)===Object.prototype}catch{return!1}},qr=B("Date"),Kr=B("File"),zr=B("Blob"),Vr=B("FileList"),Jr=e=>ae(e)&&C(e.pipe),Wr=e=>{let t;return e&&(typeof FormData=="function"&&e instanceof FormData||C(e.append)&&((t=xe(e))==="formdata"||t==="object"&&C(e.toString)&&e.toString()==="[object FormData]"))},Xr=B("URLSearchParams"),[Zr,Gr,Qr,Yr]=["ReadableStream","Request","Response","Headers"].map(B),en=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function ce(e,t,{allOwnKeys:r=!1}={}){if(e===null||typeof e>"u")return;let n,s;if(typeof e!="object"&&(e=[e]),G(e))for(n=0,s=e.length;n0;)if(s=r[n],t===s.toLowerCase())return s;return null}const K=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:global,Ht=e=>!Z(e)&&e!==K;function He(){const{caseless:e,skipUndefined:t}=Ht(this)&&this||{},r={},n=(s,i)=>{const o=e&&Mt(r,i)||i;ye(r[o])&&ye(s)?r[o]=He(r[o],s):ye(s)?r[o]=He({},s):G(s)?r[o]=s.slice():(!t||!Z(s))&&(r[o]=s)};for(let s=0,i=arguments.length;s(ce(t,(s,i)=>{r&&C(s)?e[i]=Lt(s,r):e[i]=s},{allOwnKeys:n}),e),rn=e=>(e.charCodeAt(0)===65279&&(e=e.slice(1)),e),nn=(e,t,r,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),r&&Object.assign(e.prototype,r)},sn=(e,t,r,n)=>{let s,i,o;const a={};if(t=t||{},e==null)return t;do{for(s=Object.getOwnPropertyNames(e),i=s.length;i-- >0;)o=s[i],(!n||n(o,e,t))&&!a[o]&&(t[o]=e[o],a[o]=!0);e=r!==!1&&Xe(e)}while(e&&(!r||r(e,t))&&e!==Object.prototype);return t},on=(e,t,r)=>{e=String(e),(r===void 0||r>e.length)&&(r=e.length),r-=t.length;const n=e.indexOf(t,r);return n!==-1&&n===r},an=e=>{if(!e)return null;if(G(e))return e;let t=e.length;if(!$t(t))return null;const r=new Array(t);for(;t-- >0;)r[t]=e[t];return r},cn=(e=>t=>e&&t instanceof e)(typeof Uint8Array<"u"&&Xe(Uint8Array)),un=(e,t)=>{const n=(e&&e[Se]).call(e);let s;for(;(s=n.next())&&!s.done;){const i=s.value;t.call(e,i[0],i[1])}},ln=(e,t)=>{let r;const n=[];for(;(r=e.exec(t))!==null;)n.push(r);return n},fn=B("HTMLFormElement"),dn=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,function(r,n,s){return n.toUpperCase()+s}),pt=(({hasOwnProperty:e})=>(t,r)=>e.call(t,r))(Object.prototype),hn=B("RegExp"),qt=(e,t)=>{const r=Object.getOwnPropertyDescriptors(e),n={};ce(r,(s,i)=>{let o;(o=t(s,i,e))!==!1&&(n[i]=o||s)}),Object.defineProperties(e,n)},pn=e=>{qt(e,(t,r)=>{if(C(e)&&["arguments","caller","callee"].indexOf(r)!==-1)return!1;const n=e[r];if(C(n)){if(t.enumerable=!1,"writable"in t){t.writable=!1;return}t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")})}})},mn=(e,t)=>{const r={},n=s=>{s.forEach(i=>{r[i]=!0})};return G(e)?n(e):n(String(e).split(t)),r},yn=()=>{},bn=(e,t)=>e!=null&&Number.isFinite(e=+e)?e:t;function wn(e){return!!(e&&C(e.append)&&e[It]==="FormData"&&e[Se])}const gn=e=>{const t=new Array(10),r=(n,s)=>{if(ae(n)){if(t.indexOf(n)>=0)return;if(ie(n))return n;if(!("toJSON"in n)){t[s]=n;const i=G(n)?[]:{};return ce(n,(o,a)=>{const f=r(o,s+1);!Z(f)&&(i[a]=f)}),t[s]=void 0,i}}return n};return r(e,0)},En=B("AsyncFunction"),Rn=e=>e&&(ae(e)||C(e))&&C(e.then)&&C(e.catch),Kt=((e,t)=>e?setImmediate:t?((r,n)=>(K.addEventListener("message",({source:s,data:i})=>{s===K&&i===r&&n.length&&n.shift()()},!1),s=>{n.push(s),K.postMessage(r,"*")}))(`axios@${Math.random()}`,[]):r=>setTimeout(r))(typeof setImmediate=="function",C(K.postMessage)),Sn=typeof queueMicrotask<"u"?queueMicrotask.bind(K):typeof process<"u"&&process.nextTick||Kt,xn=e=>e!=null&&C(e[Se]),c={isArray:G,isArrayBuffer:jt,isBuffer:ie,isFormData:Wr,isArrayBufferView:jr,isString:$r,isNumber:$t,isBoolean:Mr,isObject:ae,isPlainObject:ye,isEmptyObject:Hr,isReadableStream:Zr,isRequest:Gr,isResponse:Qr,isHeaders:Yr,isUndefined:Z,isDate:qr,isFile:Kr,isBlob:zr,isRegExp:hn,isFunction:C,isStream:Jr,isURLSearchParams:Xr,isTypedArray:cn,isFileList:Vr,forEach:ce,merge:He,extend:tn,trim:en,stripBOM:rn,inherits:nn,toFlatObject:sn,kindOf:xe,kindOfTest:B,endsWith:on,toArray:an,forEachEntry:un,matchAll:ln,isHTMLForm:fn,hasOwnProperty:pt,hasOwnProp:pt,reduceDescriptors:qt,freezeMethods:pn,toObjectSet:mn,toCamelCase:dn,noop:yn,toFiniteNumber:bn,findKey:Mt,global:K,isContextDefined:Ht,isSpecCompliantForm:wn,toJSONObject:gn,isAsyncFn:En,isThenable:Rn,setImmediate:Kt,asap:Sn,isIterable:xn};function y(e,t,r,n,s){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack,this.message=e,this.name="AxiosError",t&&(this.code=t),r&&(this.config=r),n&&(this.request=n),s&&(this.response=s,this.status=s.status?s.status:null)}c.inherits(y,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:c.toJSONObject(this.config),code:this.code,status:this.status}}});const zt=y.prototype,Vt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach(e=>{Vt[e]={value:e}});Object.defineProperties(y,Vt);Object.defineProperty(zt,"isAxiosError",{value:!0});y.from=(e,t,r,n,s,i)=>{const o=Object.create(zt);c.toFlatObject(e,o,function(u){return u!==Error.prototype},l=>l!=="isAxiosError");const a=e&&e.message?e.message:"Error",f=t==null&&e?e.code:t;return y.call(o,a,f,r,n,s),e&&o.cause==null&&Object.defineProperty(o,"cause",{value:e,configurable:!0}),o.name=e&&e.name||"Error",i&&Object.assign(o,i),o};const An=null;function qe(e){return c.isPlainObject(e)||c.isArray(e)}function Jt(e){return c.endsWith(e,"[]")?e.slice(0,-2):e}function mt(e,t,r){return e?e.concat(t).map(function(s,i){return s=Jt(s),!r&&i?"["+s+"]":s}).join(r?".":""):t}function On(e){return c.isArray(e)&&!e.some(qe)}const Tn=c.toFlatObject(c,{},null,function(t){return/^is[A-Z]/.test(t)});function Oe(e,t,r){if(!c.isObject(e))throw new TypeError("target must be an object");t=t||new FormData,r=c.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,function(m,p){return!c.isUndefined(p[m])});const n=r.metaTokens,s=r.visitor||u,i=r.dots,o=r.indexes,f=(r.Blob||typeof Blob<"u"&&Blob)&&c.isSpecCompliantForm(t);if(!c.isFunction(s))throw new TypeError("visitor must be a function");function l(d){if(d===null)return"";if(c.isDate(d))return d.toISOString();if(c.isBoolean(d))return d.toString();if(!f&&c.isBlob(d))throw new y("Blob is not supported. Use a Buffer instead.");return c.isArrayBuffer(d)||c.isTypedArray(d)?f&&typeof Blob=="function"?new Blob([d]):Buffer.from(d):d}function u(d,m,p){let E=d;if(d&&!p&&typeof d=="object"){if(c.endsWith(m,"{}"))m=n?m:m.slice(0,-2),d=JSON.stringify(d);else if(c.isArray(d)&&On(d)||(c.isFileList(d)||c.endsWith(m,"[]"))&&(E=c.toArray(d)))return m=Jt(m),E.forEach(function(R,T){!(c.isUndefined(R)||R===null)&&t.append(o===!0?mt([m],T,i):o===null?m:m+"[]",l(R))}),!1}return qe(d)?!0:(t.append(mt(p,m,i),l(d)),!1)}const h=[],b=Object.assign(Tn,{defaultVisitor:u,convertValue:l,isVisitable:qe});function w(d,m){if(!c.isUndefined(d)){if(h.indexOf(d)!==-1)throw Error("Circular reference detected in "+m.join("."));h.push(d),c.forEach(d,function(E,_){(!(c.isUndefined(E)||E===null)&&s.call(t,E,c.isString(_)?_.trim():_,m,b))===!0&&w(E,m?m.concat(_):[_])}),h.pop()}}if(!c.isObject(e))throw new TypeError("data must be an object");return w(e),t}function yt(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,function(n){return t[n]})}function Ze(e,t){this._pairs=[],e&&Oe(e,this,t)}const Wt=Ze.prototype;Wt.append=function(t,r){this._pairs.push([t,r])};Wt.toString=function(t){const r=t?function(n){return t.call(this,n,yt)}:yt;return this._pairs.map(function(s){return r(s[0])+"="+r(s[1])},"").join("&")};function Cn(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+")}function Xt(e,t,r){if(!t)return e;const n=r&&r.encode||Cn;c.isFunction(r)&&(r={serialize:r});const s=r&&r.serialize;let i;if(s?i=s(t,r):i=c.isURLSearchParams(t)?t.toString():new Ze(t,r).toString(n),i){const o=e.indexOf("#");o!==-1&&(e=e.slice(0,o)),e+=(e.indexOf("?")===-1?"?":"&")+i}return e}class bt{constructor(){this.handlers=[]}use(t,r,n){return this.handlers.push({fulfilled:t,rejected:r,synchronous:n?n.synchronous:!1,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){c.forEach(this.handlers,function(n){n!==null&&t(n)})}}const Zt={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},Dn=typeof URLSearchParams<"u"?URLSearchParams:Ze,Nn=typeof FormData<"u"?FormData:null,_n=typeof Blob<"u"?Blob:null,vn={isBrowser:!0,classes:{URLSearchParams:Dn,FormData:Nn,Blob:_n},protocols:["http","https","file","blob","url","data"]},Ge=typeof window<"u"&&typeof document<"u",Ke=typeof navigator=="object"&&navigator||void 0,Un=Ge&&(!Ke||["ReactNative","NativeScript","NS"].indexOf(Ke.product)<0),kn=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&typeof self.importScripts=="function",Pn=Ge&&window.location.href||"http://localhost",Bn=Object.freeze(Object.defineProperty({__proto__:null,hasBrowserEnv:Ge,hasStandardBrowserEnv:Un,hasStandardBrowserWebWorkerEnv:kn,navigator:Ke,origin:Pn},Symbol.toStringTag,{value:"Module"})),A={...Bn,...vn};function Fn(e,t){return Oe(e,new A.classes.URLSearchParams,{visitor:function(r,n,s,i){return A.isNode&&c.isBuffer(r)?(this.append(n,r.toString("base64")),!1):i.defaultVisitor.apply(this,arguments)},...t})}function Ln(e){return c.matchAll(/\w+|\[(\w*)]/g,e).map(t=>t[0]==="[]"?"":t[1]||t[0])}function In(e){const t={},r=Object.keys(e);let n;const s=r.length;let i;for(n=0;n=r.length;return o=!o&&c.isArray(s)?s.length:o,f?(c.hasOwnProp(s,o)?s[o]=[s[o],n]:s[o]=n,!a):((!s[o]||!c.isObject(s[o]))&&(s[o]=[]),t(r,n,s[o],i)&&c.isArray(s[o])&&(s[o]=In(s[o])),!a)}if(c.isFormData(e)&&c.isFunction(e.entries)){const r={};return c.forEachEntry(e,(n,s)=>{t(Ln(n),s,r,0)}),r}return null}function jn(e,t,r){if(c.isString(e))try{return(t||JSON.parse)(e),c.trim(e)}catch(n){if(n.name!=="SyntaxError")throw n}return(r||JSON.stringify)(e)}const ue={transitional:Zt,adapter:["xhr","http","fetch"],transformRequest:[function(t,r){const n=r.getContentType()||"",s=n.indexOf("application/json")>-1,i=c.isObject(t);if(i&&c.isHTMLForm(t)&&(t=new FormData(t)),c.isFormData(t))return s?JSON.stringify(Gt(t)):t;if(c.isArrayBuffer(t)||c.isBuffer(t)||c.isStream(t)||c.isFile(t)||c.isBlob(t)||c.isReadableStream(t))return t;if(c.isArrayBufferView(t))return t.buffer;if(c.isURLSearchParams(t))return r.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let a;if(i){if(n.indexOf("application/x-www-form-urlencoded")>-1)return Fn(t,this.formSerializer).toString();if((a=c.isFileList(t))||n.indexOf("multipart/form-data")>-1){const f=this.env&&this.env.FormData;return Oe(a?{"files[]":t}:t,f&&new f,this.formSerializer)}}return i||s?(r.setContentType("application/json",!1),jn(t)):t}],transformResponse:[function(t){const r=this.transitional||ue.transitional,n=r&&r.forcedJSONParsing,s=this.responseType==="json";if(c.isResponse(t)||c.isReadableStream(t))return t;if(t&&c.isString(t)&&(n&&!this.responseType||s)){const o=!(r&&r.silentJSONParsing)&&s;try{return JSON.parse(t,this.parseReviver)}catch(a){if(o)throw a.name==="SyntaxError"?y.from(a,y.ERR_BAD_RESPONSE,this,null,this.response):a}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:A.classes.FormData,Blob:A.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};c.forEach(["delete","get","head","post","put","patch"],e=>{ue.headers[e]={}});const $n=c.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),Mn=e=>{const t={};let r,n,s;return e&&e.split(` `).forEach(function(o){s=o.indexOf(":"),r=o.substring(0,s).trim().toLowerCase(),n=o.substring(s+1).trim(),!(!r||t[r]&&$n[r])&&(r==="set-cookie"?t[r]?t[r].push(n):t[r]=[n]:t[r]=t[r]?t[r]+", "+n:n)}),t},wt=Symbol("internals");function ne(e){return e&&String(e).trim().toLowerCase()}function be(e){return e===!1||e==null?e:c.isArray(e)?e.map(be):String(e)}function Hn(e){const t=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(e);)t[n[1]]=n[2];return t}const qn=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function ke(e,t,r,n,s){if(c.isFunction(n))return n.call(this,t,r);if(s&&(t=r),!!c.isString(t)){if(c.isString(n))return t.indexOf(n)!==-1;if(c.isRegExp(n))return n.test(t)}}function Kn(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,(t,r,n)=>r.toUpperCase()+n)}function zn(e,t){const r=c.toCamelCase(" "+t);["get","set","has"].forEach(n=>{Object.defineProperty(e,n+r,{value:function(s,i,o){return this[n].call(this,t,s,i,o)},configurable:!0})})}let D=class{constructor(t){t&&this.set(t)}set(t,r,n){const s=this;function i(a,f,l){const u=ne(f);if(!u)throw new Error("header name must be a non-empty string");const h=c.findKey(s,u);(!h||s[h]===void 0||l===!0||l===void 0&&s[h]!==!1)&&(s[h||f]=be(a))}const o=(a,f)=>c.forEach(a,(l,u)=>i(l,u,f));if(c.isPlainObject(t)||t instanceof this.constructor)o(t,r);else if(c.isString(t)&&(t=t.trim())&&!qn(t))o(Mn(t),r);else if(c.isObject(t)&&c.isIterable(t)){let a={},f,l;for(const u of t){if(!c.isArray(u))throw TypeError("Object iterator must return a key-value pair");a[l=u[0]]=(f=a[l])?c.isArray(f)?[...f,u[1]]:[f,u[1]]:u[1]}o(a,r)}else t!=null&&i(r,t,n);return this}get(t,r){if(t=ne(t),t){const n=c.findKey(this,t);if(n){const s=this[n];if(!r)return s;if(r===!0)return Hn(s);if(c.isFunction(r))return r.call(this,s,n);if(c.isRegExp(r))return r.exec(s);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,r){if(t=ne(t),t){const n=c.findKey(this,t);return!!(n&&this[n]!==void 0&&(!r||ke(this,this[n],n,r)))}return!1}delete(t,r){const n=this;let s=!1;function i(o){if(o=ne(o),o){const a=c.findKey(n,o);a&&(!r||ke(n,n[a],a,r))&&(delete n[a],s=!0)}}return c.isArray(t)?t.forEach(i):i(t),s}clear(t){const r=Object.keys(this);let n=r.length,s=!1;for(;n--;){const i=r[n];(!t||ke(this,this[i],i,t,!0))&&(delete this[i],s=!0)}return s}normalize(t){const r=this,n={};return c.forEach(this,(s,i)=>{const o=c.findKey(n,i);if(o){r[o]=be(s),delete r[i];return}const a=t?Kn(i):String(i).trim();a!==i&&delete r[i],r[a]=be(s),n[a]=!0}),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const r=Object.create(null);return c.forEach(this,(n,s)=>{n!=null&&n!==!1&&(r[s]=t&&c.isArray(n)?n.join(", "):n)}),r}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map(([t,r])=>t+": "+r).join(` `)}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,...r){const n=new this(t);return r.forEach(s=>n.set(s)),n}static accessor(t){const n=(this[wt]=this[wt]={accessors:{}}).accessors,s=this.prototype;function i(o){const a=ne(o);n[a]||(zn(s,o),n[a]=!0)}return c.isArray(t)?t.forEach(i):i(t),this}};D.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);c.reduceDescriptors(D.prototype,({value:e},t)=>{let r=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(n){this[r]=n}}});c.freezeMethods(D);function Pe(e,t){const r=this||ue,n=t||r,s=D.from(n.headers);let i=n.data;return c.forEach(e,function(a){i=a.call(r,i,s.normalize(),t?t.status:void 0)}),s.normalize(),i}function Qt(e){return!!(e&&e.__CANCEL__)}function Q(e,t,r){y.call(this,e??"canceled",y.ERR_CANCELED,t,r),this.name="CanceledError"}c.inherits(Q,y,{__CANCEL__:!0});function Yt(e,t,r){const n=r.config.validateStatus;!r.status||!n||n(r.status)?e(r):t(new y("Request failed with status code "+r.status,[y.ERR_BAD_REQUEST,y.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r))}function Vn(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function Jn(e,t){e=e||10;const r=new Array(e),n=new Array(e);let s=0,i=0,o;return t=t!==void 0?t:1e3,function(f){const l=Date.now(),u=n[i];o||(o=l),r[s]=f,n[s]=l;let h=i,b=0;for(;h!==s;)b+=r[h++],h=h%e;if(s=(s+1)%e,s===i&&(i=(i+1)%e),l-o{r=u,s=null,i&&(clearTimeout(i),i=null),e(...l)};return[(...l)=>{const u=Date.now(),h=u-r;h>=n?o(l,u):(s=l,i||(i=setTimeout(()=>{i=null,o(s)},n-h)))},()=>s&&o(s)]}const Ee=(e,t,r=3)=>{let n=0;const s=Jn(50,250);return Wn(i=>{const o=i.loaded,a=i.lengthComputable?i.total:void 0,f=o-n,l=s(f),u=o<=a;n=o;const h={loaded:o,total:a,progress:a?o/a:void 0,bytes:f,rate:l||void 0,estimated:l&&a&&u?(a-o)/l:void 0,event:i,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(h)},r)},gt=(e,t)=>{const r=e!=null;return[n=>t[0]({lengthComputable:r,total:e,loaded:n}),t[1]]},Et=e=>(...t)=>c.asap(()=>e(...t)),Xn=A.hasStandardBrowserEnv?((e,t)=>r=>(r=new URL(r,A.origin),e.protocol===r.protocol&&e.host===r.host&&(t||e.port===r.port)))(new URL(A.origin),A.navigator&&/(msie|trident)/i.test(A.navigator.userAgent)):()=>!0,Zn=A.hasStandardBrowserEnv?{write(e,t,r,n,s,i,o){if(typeof document>"u")return;const a=[`${e}=${encodeURIComponent(t)}`];c.isNumber(r)&&a.push(`expires=${new Date(r).toUTCString()}`),c.isString(n)&&a.push(`path=${n}`),c.isString(s)&&a.push(`domain=${s}`),i===!0&&a.push("secure"),c.isString(o)&&a.push(`SameSite=${o}`),document.cookie=a.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 Gn(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function Qn(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function er(e,t,r){let n=!Gn(t);return e&&(n||r==!1)?Qn(e,t):t}const Rt=e=>e instanceof D?{...e}:e;function J(e,t){t=t||{};const r={};function n(l,u,h,b){return c.isPlainObject(l)&&c.isPlainObject(u)?c.merge.call({caseless:b},l,u):c.isPlainObject(u)?c.merge({},u):c.isArray(u)?u.slice():u}function s(l,u,h,b){if(c.isUndefined(u)){if(!c.isUndefined(l))return n(void 0,l,h,b)}else return n(l,u,h,b)}function i(l,u){if(!c.isUndefined(u))return n(void 0,u)}function o(l,u){if(c.isUndefined(u)){if(!c.isUndefined(l))return n(void 0,l)}else return n(void 0,u)}function a(l,u,h){if(h in t)return n(l,u);if(h in e)return n(void 0,l)}const f={url:i,method:i,data:i,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,withXSRFToken:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:a,headers:(l,u,h)=>s(Rt(l),Rt(u),h,!0)};return c.forEach(Object.keys({...e,...t}),function(u){const h=f[u]||s,b=h(e[u],t[u],u);c.isUndefined(b)&&h!==a||(r[u]=b)}),r}const tr=e=>{const t=J({},e);let{data:r,withXSRFToken:n,xsrfHeaderName:s,xsrfCookieName:i,headers:o,auth:a}=t;if(t.headers=o=D.from(o),t.url=Xt(er(t.baseURL,t.url,t.allowAbsoluteUrls),e.params,e.paramsSerializer),a&&o.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):""))),c.isFormData(r)){if(A.hasStandardBrowserEnv||A.hasStandardBrowserWebWorkerEnv)o.setContentType(void 0);else if(c.isFunction(r.getHeaders)){const f=r.getHeaders(),l=["content-type","content-length"];Object.entries(f).forEach(([u,h])=>{l.includes(u.toLowerCase())&&o.set(u,h)})}}if(A.hasStandardBrowserEnv&&(n&&c.isFunction(n)&&(n=n(t)),n||n!==!1&&Xn(t.url))){const f=s&&i&&Zn.read(i);f&&o.set(s,f)}return t},Yn=typeof XMLHttpRequest<"u",es=Yn&&function(e){return new Promise(function(r,n){const s=tr(e);let i=s.data;const o=D.from(s.headers).normalize();let{responseType:a,onUploadProgress:f,onDownloadProgress:l}=s,u,h,b,w,d;function m(){w&&w(),d&&d(),s.cancelToken&&s.cancelToken.unsubscribe(u),s.signal&&s.signal.removeEventListener("abort",u)}let p=new XMLHttpRequest;p.open(s.method.toUpperCase(),s.url,!0),p.timeout=s.timeout;function E(){if(!p)return;const R=D.from("getAllResponseHeaders"in p&&p.getAllResponseHeaders()),U={data:!a||a==="text"||a==="json"?p.responseText:p.response,status:p.status,statusText:p.statusText,headers:R,config:e,request:p};Yt(function(v){r(v),m()},function(v){n(v),m()},U),p=null}"onloadend"in p?p.onloadend=E:p.onreadystatechange=function(){!p||p.readyState!==4||p.status===0&&!(p.responseURL&&p.responseURL.indexOf("file:")===0)||setTimeout(E)},p.onabort=function(){p&&(n(new y("Request aborted",y.ECONNABORTED,e,p)),p=null)},p.onerror=function(T){const U=T&&T.message?T.message:"Network Error",H=new y(U,y.ERR_NETWORK,e,p);H.event=T||null,n(H),p=null},p.ontimeout=function(){let T=s.timeout?"timeout of "+s.timeout+"ms exceeded":"timeout exceeded";const U=s.transitional||Zt;s.timeoutErrorMessage&&(T=s.timeoutErrorMessage),n(new y(T,U.clarifyTimeoutError?y.ETIMEDOUT:y.ECONNABORTED,e,p)),p=null},i===void 0&&o.setContentType(null),"setRequestHeader"in p&&c.forEach(o.toJSON(),function(T,U){p.setRequestHeader(U,T)}),c.isUndefined(s.withCredentials)||(p.withCredentials=!!s.withCredentials),a&&a!=="json"&&(p.responseType=s.responseType),l&&([b,d]=Ee(l,!0),p.addEventListener("progress",b)),f&&p.upload&&([h,w]=Ee(f),p.upload.addEventListener("progress",h),p.upload.addEventListener("loadend",w)),(s.cancelToken||s.signal)&&(u=R=>{p&&(n(!R||R.type?new Q(null,e,p):R),p.abort(),p=null)},s.cancelToken&&s.cancelToken.subscribe(u),s.signal&&(s.signal.aborted?u():s.signal.addEventListener("abort",u)));const _=Vn(s.url);if(_&&A.protocols.indexOf(_)===-1){n(new y("Unsupported protocol "+_+":",y.ERR_BAD_REQUEST,e));return}p.send(i||null)})},ts=(e,t)=>{const{length:r}=e=e?e.filter(Boolean):[];if(t||r){let n=new AbortController,s;const i=function(l){if(!s){s=!0,a();const u=l instanceof Error?l:this.reason;n.abort(u instanceof y?u:new Q(u instanceof Error?u.message:u))}};let o=t&&setTimeout(()=>{o=null,i(new y(`timeout ${t} of ms exceeded`,y.ETIMEDOUT))},t);const a=()=>{e&&(o&&clearTimeout(o),o=null,e.forEach(l=>{l.unsubscribe?l.unsubscribe(i):l.removeEventListener("abort",i)}),e=null)};e.forEach(l=>l.addEventListener("abort",i));const{signal:f}=n;return f.unsubscribe=()=>c.asap(a),f}},rs=function*(e,t){let r=e.byteLength;if(r{const s=ns(e,t);let i=0,o,a=f=>{o||(o=!0,n&&n(f))};return new ReadableStream({async pull(f){try{const{done:l,value:u}=await s.next();if(l){a(),f.close();return}let h=u.byteLength;if(r){let b=i+=h;r(b)}f.enqueue(new Uint8Array(u))}catch(l){throw a(l),l}},cancel(f){return a(f),s.return()}},{highWaterMark:2})},xt=64*1024,{isFunction:pe}=c,os=(({Request:e,Response:t})=>({Request:e,Response:t}))(c.global),{ReadableStream:At,TextEncoder:Ot}=c.global,Tt=(e,...t)=>{try{return!!e(...t)}catch{return!1}},is=e=>{e=c.merge.call({skipUndefined:!0},os,e);const{fetch:t,Request:r,Response:n}=e,s=t?pe(t):typeof fetch=="function",i=pe(r),o=pe(n);if(!s)return!1;const a=s&&pe(At),f=s&&(typeof Ot=="function"?(d=>m=>d.encode(m))(new Ot):async d=>new Uint8Array(await new r(d).arrayBuffer())),l=i&&a&&Tt(()=>{let d=!1;const m=new r(A.origin,{body:new At,method:"POST",get duplex(){return d=!0,"half"}}).headers.has("Content-Type");return d&&!m}),u=o&&a&&Tt(()=>c.isReadableStream(new n("").body)),h={stream:u&&(d=>d.body)};s&&["text","arrayBuffer","blob","formData","stream"].forEach(d=>{!h[d]&&(h[d]=(m,p)=>{let E=m&&m[d];if(E)return E.call(m);throw new y(`Response type '${d}' is not supported`,y.ERR_NOT_SUPPORT,p)})});const b=async d=>{if(d==null)return 0;if(c.isBlob(d))return d.size;if(c.isSpecCompliantForm(d))return(await new r(A.origin,{method:"POST",body:d}).arrayBuffer()).byteLength;if(c.isArrayBufferView(d)||c.isArrayBuffer(d))return d.byteLength;if(c.isURLSearchParams(d)&&(d=d+""),c.isString(d))return(await f(d)).byteLength},w=async(d,m)=>{const p=c.toFiniteNumber(d.getContentLength());return p??b(m)};return async d=>{let{url:m,method:p,data:E,signal:_,cancelToken:R,timeout:T,onDownloadProgress:U,onUploadProgress:H,responseType:v,headers:Ce,withCredentials:le="same-origin",fetchOptions:rt}=tr(d),nt=t||fetch;v=v?(v+"").toLowerCase():"text";let fe=ts([_,R&&R.toAbortSignal()],T),ee=null;const q=fe&&fe.unsubscribe&&(()=>{fe.unsubscribe()});let st;try{if(H&&l&&p!=="get"&&p!=="head"&&(st=await w(Ce,E))!==0){let M=new r(m,{method:"POST",body:E,duplex:"half"}),W;if(c.isFormData(E)&&(W=M.headers.get("content-type"))&&Ce.setContentType(W),M.body){const[De,de]=gt(st,Ee(Et(H)));E=St(M.body,xt,De,de)}}c.isString(le)||(le=le?"include":"omit");const F=i&&"credentials"in r.prototype,ot={...rt,signal:fe,method:p.toUpperCase(),headers:Ce.normalize().toJSON(),body:E,duplex:"half",credentials:F?le:void 0};ee=i&&new r(m,ot);let $=await(i?nt(ee,rt):nt(m,ot));const it=u&&(v==="stream"||v==="response");if(u&&(U||it&&q)){const M={};["status","statusText","headers"].forEach(at=>{M[at]=$[at]});const W=c.toFiniteNumber($.headers.get("content-length")),[De,de]=U&>(W,Ee(Et(U),!0))||[];$=new n(St($.body,xt,De,()=>{de&&de(),q&&q()}),M)}v=v||"text";let Sr=await h[c.findKey(h,v)||"text"]($,d);return!it&&q&&q(),await new Promise((M,W)=>{Yt(M,W,{data:Sr,headers:D.from($.headers),status:$.status,statusText:$.statusText,config:d,request:ee})})}catch(F){throw q&&q(),F&&F.name==="TypeError"&&/Load failed|fetch/i.test(F.message)?Object.assign(new y("Network Error",y.ERR_NETWORK,d,ee),{cause:F.cause||F}):y.from(F,F&&F.code,d,ee)}}},as=new Map,rr=e=>{let t=e&&e.env||{};const{fetch:r,Request:n,Response:s}=t,i=[n,s,r];let o=i.length,a=o,f,l,u=as;for(;a--;)f=i[a],l=u.get(f),l===void 0&&u.set(f,l=a?new Map:is(t)),u=l;return l};rr();const Qe={http:An,xhr:es,fetch:{get:rr}};c.forEach(Qe,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const Ct=e=>`- ${e}`,cs=e=>c.isFunction(e)||e===null||e===!1;function us(e,t){e=c.isArray(e)?e:[e];const{length:r}=e;let n,s;const i={};for(let o=0;o`adapter ${f} `+(l===!1?"is not supported by the environment":"is not available in the build"));let a=r?o.length>1?`since : `+o.map(Ct).join(` diff --git a/assets/debug-CpxFVaC9.js b/assets/debug-KU27ZD5S.js similarity index 60% rename from assets/debug-CpxFVaC9.js rename to assets/debug-KU27ZD5S.js index 95f7092..274209d 100644 --- a/assets/debug-CpxFVaC9.js +++ b/assets/debug-KU27ZD5S.js @@ -1 +1 @@ -import{aO as u,Z as f,j as c,o as g,w as t,c as e,l as p,q as V,t as l,Y as m,z as v,i as C,C as _,a0 as r,M as b,y,aP as D,aQ as x}from"./index-Ck0Pnd4f.js";import{V as I}from"./VContainer-_5I3ogXr.js";const k=u("v-code","code"),S={__name:"debug",setup(w){const s=r(""),d=r({}),o=r(!1),n=async()=>{o.value=!0;try{s.value=await D(),d.value=await x()}catch(i){console.error(i),s.value="Error loading visitor ID"}finally{o.value=!1}};return f(()=>{n()}),(i,a)=>(g(),c(I,null,{default:t(()=>[e(p,{class:"mb-4"},{default:t(()=>[e(V,null,{default:t(()=>[...a[0]||(a[0]=[l("调试信息",-1)])]),_:1}),e(m,null,{default:t(()=>[...a[1]||(a[1]=[l(" 请将这个ID复制并私聊给开发者,以便进行问题排查。 ",-1)])]),_:1}),e(v,null,{default:t(()=>[a[2]||(a[2]=C("div",{class:"text-h6 mb-2"},"访客 ID",-1)),e(k,{class:"d-block pa-2 bg-grey-lighten-4 rounded mb-4"},{default:t(()=>[l(_(s.value||"加载中..."),1)]),_:1})]),_:1}),e(b,null,{default:t(()=>[e(y,{color:"primary",onClick:n,loading:o.value},{default:t(()=>[...a[3]||(a[3]=[l(" Refresh ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}))}};export{S as default}; +import{aO as u,Z as f,o as c,j as g,w as t,c as e,l as p,q as V,v as l,Y as v,z as m,i as C,A as _,M as b,y,aP as D,aQ as x,a2 as r}from"./index-BUM0TY0E.js";import{V as I}from"./VContainer-DakLDC1m.js";const k=u("v-code","code"),S={__name:"debug",setup(w){const s=r(""),d=r({}),o=r(!1),n=async()=>{o.value=!0;try{s.value=await D(),d.value=await x()}catch(i){console.error(i),s.value="Error loading visitor ID"}finally{o.value=!1}};return f(()=>{n()}),(i,a)=>(c(),g(I,null,{default:t(()=>[e(p,{class:"mb-4"},{default:t(()=>[e(V,null,{default:t(()=>[...a[0]||(a[0]=[l("调试信息",-1)])]),_:1}),e(v,null,{default:t(()=>[...a[1]||(a[1]=[l(" 请将这个ID复制并私聊给开发者,以便进行问题排查。 ",-1)])]),_:1}),e(m,null,{default:t(()=>[a[2]||(a[2]=C("div",{class:"text-h6 mb-2"},"访客 ID",-1)),e(k,{class:"d-block pa-2 bg-grey-lighten-4 rounded mb-4"},{default:t(()=>[l(_(s.value||"加载中..."),1)]),_:1})]),_:1}),e(b,null,{default:t(()=>[e(y,{color:"primary",onClick:n,loading:o.value},{default:t(()=>[...a[3]||(a[3]=[l(" Refresh ",-1)])]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1}))}};export{S as default}; diff --git a/assets/debug-init-D2rXtSfG.js b/assets/debug-init-CBNN17PW.js similarity index 80% rename from assets/debug-init-D2rXtSfG.js rename to assets/debug-init-CBNN17PW.js index f1389df..202cea0 100644 --- a/assets/debug-init-D2rXtSfG.js +++ b/assets/debug-init-CBNN17PW.js @@ -1 +1 @@ -import{a0 as s,k as a,r as R,j as U,o as N,w as t,c as e,l as k,q as g,t as o,z as _,K as B,y as p,P as G,Q as C,a2 as T,a3 as D,C as S,a1 as c,s as n}from"./index-Ck0Pnd4f.js";import{k as K}from"./dataProvider-BZ0EQWiW.js";import{V as z,a as y}from"./VRow-D_zZfsym.js";import{V as F}from"./VForm-Jb3Esqve.js";import{V as d}from"./VTextField-C6VOv1Py.js";import{V as P}from"./VContainer-_5I3ogXr.js";import"./serverRotation-TSbwZ9RQ.js";const I="kvinit.redirecting",M={__name:"debug-init",setup(j){const i=s(a("server.provider")||"kv-server"),v=s(a("server.kvToken")||""),m=s(a("device.uuid")||"00000000-0000-4000-8000-000000000000"),f=s(a("server.authDomain")||"https://cs.example.com"),w=()=>{n("server.provider",i.value),n("server.kvToken",v.value),n("device.uuid",m.value),n("server.authDomain",f.value),location.reload()},b=()=>{try{sessionStorage.removeItem(I)}catch(u){console.debug(u)}},x=()=>{K.loadNamespaceInfo=async()=>{throw new Error("模拟加载错误")},location.reload()},E=c(()=>{try{return sessionStorage.getItem(I)}catch(u){return String(u)}}),L=c(()=>JSON.stringify({provider:a("server.provider"),kvToken:a("server.kvToken"),uuid:a("device.uuid"),authDomain:a("server.authDomain")},null,2));return(u,l)=>{const V=R("v-list-item-content");return N(),U(P,null,{default:t(()=>[e(z,null,{default:t(()=>[e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[4]||(l[4]=[o("KvInitialize 调试面板",-1)])]),_:1}),e(_,null,{default:t(()=>[e(F,null,{default:t(()=>[e(d,{modelValue:i.value,"onUpdate:modelValue":l[0]||(l[0]=r=>i.value=r),label:"server.provider (kv-server/classworkscloud/other)"},null,8,["modelValue"]),e(d,{modelValue:v.value,"onUpdate:modelValue":l[1]||(l[1]=r=>v.value=r),label:"server.kvToken (空表示未授权)"},null,8,["modelValue"]),e(d,{modelValue:m.value,"onUpdate:modelValue":l[2]||(l[2]=r=>m.value=r),label:"device.uuid"},null,8,["modelValue"]),e(d,{modelValue:f.value,"onUpdate:modelValue":l[3]||(l[3]=r=>f.value=r),label:"server.authDomain"},null,8,["modelValue"])]),_:1}),e(B,{class:"my-4"}),e(p,{class:"me-2",color:"primary",onClick:w},{default:t(()=>[...l[5]||(l[5]=[o(" 应用设置 ",-1)])]),_:1}),e(p,{class:"me-2",color:"secondary",onClick:b},{default:t(()=>[...l[6]||(l[6]=[o(" 清除重定向守卫 ",-1)])]),_:1}),e(p,{color:"error",onClick:x},{default:t(()=>[...l[7]||(l[7]=[o(" 模拟命名空间加载错误 ",-1)])]),_:1}),e(G,{"two-line":""},{default:t(()=>[e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[8]||(l[8]=[o("当前 sessionGuard",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(E.value),1)]),_:1})]),_:1})]),_:1}),e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[9]||(l[9]=[o("当前 settings",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(L.value),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[10]||(l[10]=[o("初始化组件已替换",-1)])]),_:1}),e(_,null,{default:t(()=>[...l[11]||(l[11]=[o(" 已迁移为首页内联的 InitServiceChooser 组件。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{M as default}; +import{a2 as s,k as a,r as R,o as U,j as N,w as t,c as e,l as k,q as g,v as o,z as _,K as B,y as p,P as G,Q as C,a0 as T,a1 as D,A as S,s as n,a3 as c}from"./index-BUM0TY0E.js";import{k as K}from"./dataProvider-MQ8YacC2.js";import{V as z,a as y}from"./VRow-CPw1R1BU.js";import{V as A}from"./VForm-Bz_LQtPX.js";import{V as d}from"./VTextField-C579e7l1.js";import{V as F}from"./VContainer-DakLDC1m.js";import"./serverRotation-CjK7Y7P9.js";const I="kvinit.redirecting",M={__name:"debug-init",setup(P){const i=s(a("server.provider")||"kv-server"),v=s(a("server.kvToken")||""),m=s(a("device.uuid")||"00000000-0000-4000-8000-000000000000"),f=s(a("server.authDomain")||"https://cs.example.com"),w=()=>{n("server.provider",i.value),n("server.kvToken",v.value),n("device.uuid",m.value),n("server.authDomain",f.value),location.reload()},b=()=>{try{sessionStorage.removeItem(I)}catch(u){console.debug(u)}},x=()=>{K.loadNamespaceInfo=async()=>{throw new Error("模拟加载错误")},location.reload()},E=c(()=>{try{return sessionStorage.getItem(I)}catch(u){return String(u)}}),L=c(()=>JSON.stringify({provider:a("server.provider"),kvToken:a("server.kvToken"),uuid:a("device.uuid"),authDomain:a("server.authDomain")},null,2));return(u,l)=>{const V=R("v-list-item-content");return U(),N(F,null,{default:t(()=>[e(z,null,{default:t(()=>[e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[4]||(l[4]=[o("KvInitialize 调试面板",-1)])]),_:1}),e(_,null,{default:t(()=>[e(A,null,{default:t(()=>[e(d,{modelValue:i.value,"onUpdate:modelValue":l[0]||(l[0]=r=>i.value=r),label:"server.provider (kv-server/classworkscloud/other)"},null,8,["modelValue"]),e(d,{modelValue:v.value,"onUpdate:modelValue":l[1]||(l[1]=r=>v.value=r),label:"server.kvToken (空表示未授权)"},null,8,["modelValue"]),e(d,{modelValue:m.value,"onUpdate:modelValue":l[2]||(l[2]=r=>m.value=r),label:"device.uuid"},null,8,["modelValue"]),e(d,{modelValue:f.value,"onUpdate:modelValue":l[3]||(l[3]=r=>f.value=r),label:"server.authDomain"},null,8,["modelValue"])]),_:1}),e(B,{class:"my-4"}),e(p,{class:"me-2",color:"primary",onClick:w},{default:t(()=>[...l[5]||(l[5]=[o(" 应用设置 ",-1)])]),_:1}),e(p,{class:"me-2",color:"secondary",onClick:b},{default:t(()=>[...l[6]||(l[6]=[o(" 清除重定向守卫 ",-1)])]),_:1}),e(p,{color:"error",onClick:x},{default:t(()=>[...l[7]||(l[7]=[o(" 模拟命名空间加载错误 ",-1)])]),_:1}),e(G,{"two-line":""},{default:t(()=>[e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[8]||(l[8]=[o("当前 sessionGuard",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(E.value),1)]),_:1})]),_:1})]),_:1}),e(C,null,{default:t(()=>[e(V,null,{default:t(()=>[e(T,null,{default:t(()=>[...l[9]||(l[9]=[o("当前 settings",-1)])]),_:1}),e(D,null,{default:t(()=>[o(S(L.value),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),e(y,{cols:"12",md:"6"},{default:t(()=>[e(k,null,{default:t(()=>[e(g,null,{default:t(()=>[...l[10]||(l[10]=[o("初始化组件已替换",-1)])]),_:1}),e(_,null,{default:t(()=>[...l[11]||(l[11]=[o(" 已迁移为首页内联的 InitServiceChooser 组件。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{M as default}; diff --git a/assets/debug-socket-DEE0yYvx.js b/assets/debug-socket-sq4UK_d2.js similarity index 91% rename from assets/debug-socket-DEE0yYvx.js rename to assets/debug-socket-sq4UK_d2.js index 7426b07..0465902 100644 --- a/assets/debug-socket-DEE0yYvx.js +++ b/assets/debug-socket-sq4UK_d2.js @@ -1 +1 @@ -import{a0 as i,k as te,Z as le,$ as ne,r as ae,j as S,o as d,w as l,c as t,l as b,q as w,t as o,z as j,P as A,Q as f,a2 as v,a3 as m,C as u,a1 as U,A as L,B as oe,K,y as c,i as D,x as M,F as J,G as O,L as se}from"./index-Ck0Pnd4f.js";import{g as z,b as R,j as q,o as p,c as re,l as ue}from"./socketClient-CbzMnGVD.js";import{s as ie,D as de}from"./deviceEvents-DSVBBN-K.js";import{V as B,a as _}from"./VRow-D_zZfsym.js";import{V as ce}from"./VChip-C4TXrZae.js";import{V as fe}from"./VTextField-C6VOv1Py.js";import{V as ve}from"./VTextarea-Akjtg06o.js";import{V as me}from"./VContainer-_5I3ogXr.js";import"./serverRotation-TSbwZ9RQ.js";const pe={key:0},_e={class:"d-flex"},ge={key:1,class:"text-grey"},ke={class:"text-caption text-grey"},ye={class:"ml-2"},Ve={class:"mb-2",style:{"white-space":"pre-wrap"}},$e={__name:"debug-socket",setup(Ce){const g=i(te("server.kvToken")||""),$=i(""),r=i(""),k=i(!1),T=i(""),y=i([]),x=i([]),V=i(""),I=U(()=>re()),G=U(()=>{const n=new Date,e=n.getFullYear(),C=String(n.getMonth()+1).padStart(2,"0"),s=String(n.getDate()).padStart(2,"0");return`classworks-data-${e}${C}${s}`});function a(n,e){const C=new Date().toLocaleTimeString();y.value.unshift({time:C,event:n,payload:typeof e=="string"?e:JSON.stringify(e,null,2)}),y.value.length>200&&y.value.pop()}function H(){const n=z();k.value=!!n.connected,T.value=n.id||"",n.on("connect",()=>{k.value=!0,T.value=n.id||"",a("connect",{id:n.id}),r.value&&q(r.value)}),n.on("disconnect",e=>{k.value=!1,a("disconnect",{reason:e})}),n.on("connect_error",e=>a("connect_error",{message:e==null?void 0:e.message})),n.on("reconnect_attempt",e=>a("reconnect_attempt",{attempt:e})),n.on("reconnect",e=>a("reconnect",{attempt:e}))}function P(){p("kv-key-changed",n=>{a("kv-key-changed",n)}),p("device-joined",n=>{a("device-joined",n)}),p("joined",n=>{a("joined",n)}),p("join-error",n=>{a("join-error",n)}),p("chat:message",n=>{a("chat:message",n)}),p("device-event",n=>{a("device-event",n)})}function N(n){try{if(!n){a("join-error","Token 为空");return}q(n),r.value=n,a("join-token",{token:n})}catch(e){a("join-token-error",String(e))}}function Q(n){try{R(n),r.value===n&&(r.value=""),a("leave-token",{token:n})}catch(e){a("leave-token-error",String(e))}}function Y(){try{ue(),r.value="",a("leave-all",{})}catch(n){a("leave-all-error",String(n))}}function Z(){try{z().connect()}catch(n){a("reconnect-error",String(n))}}const W=U(()=>{var e;return!!((((e=V.value)==null?void 0:e.trim())||"")&&(r.value||g.value))});function X(){try{const n=(V.value||"").trim();if(!n)return;ie(n),a("send-event",{type:de.CHAT,content:{text:n}}),V.value=""}catch(n){a("chat:error",String(n))}}function h(n){a("select-device",{message:"请输入该设备对应的 KV Token 以加入频道",device:n})}async function E(){try{const e=await(await fetch(`${I.value}/devices/online`)).json();x.value=Array.isArray(e==null?void 0:e.devices)?e.devices:[],a("fetch-online",{count:x.value.length})}catch(n){a("fetch-online-error",String(n))}}function ee(){y.value=[]}return le(()=>{z(),H(),P(),g.value&&N(g.value),E()}),ne(()=>{try{r.value&&R(r.value)}catch{}}),(n,e)=>{const C=ae("v-list-item-text");return d(),S(me,null,{default:l(()=>[t(B,null,{default:l(()=>[t(_,{cols:"12",md:"6"},{default:l(()=>[t(b,{border:"",class:"mb-4"},{default:l(()=>[t(w,null,{default:l(()=>[...e[4]||(e[4]=[o("连接信息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[5]||(e[5]=[o("Server URL",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(I.value),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[6]||(e[6]=[o("当前 KV Token",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(g.value||"(未配置)"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[7]||(e[7]=[o("连接状态",-1)])]),_:1}),t(m,null,{default:l(()=>[t(ce,{color:k.value?"success":"error",class:"mr-2",size:"small"},{default:l(()=>[o(u(k.value?"connected":"disconnected"),1)]),_:1},8,["color"]),T.value?(d(),L("span",pe,"id: "+u(T.value),1)):oe("",!0)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[8]||(e[8]=[o("已加入 Token",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(r.value||"-"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[9]||(e[9]=[o("当前数据键",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(G.value),1)]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(B,null,{default:l(()=>[t(_,{cols:"12",md:"8"},{default:l(()=>[t(fe,{modelValue:$.value,"onUpdate:modelValue":e[0]||(e[0]=s=>$.value=s),clearable:"",label:"手动加入 Token (留空使用配置的 Token)"},null,8,["modelValue"])]),_:1}),t(_,{class:"d-flex align-center",cols:"12",md:"4"},{default:l(()=>[t(c,{class:"mr-2",color:"primary",onClick:e[1]||(e[1]=s=>N($.value||g.value))},{default:l(()=>[...e[10]||(e[10]=[o(" 加入 ",-1)])]),_:1}),t(c,{disabled:!r.value,class:"mr-2",color:"warning",onClick:e[2]||(e[2]=s=>Q(r.value))},{default:l(()=>[...e[11]||(e[11]=[o(" 离开当前 ",-1)])]),_:1},8,["disabled"]),t(c,{color:"error",variant:"tonal",onClick:Y},{default:l(()=>[...e[12]||(e[12]=[o(" 离开全部 ",-1)])]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(B,null,{default:l(()=>[t(_,{cols:"12"},{default:l(()=>[t(b,{border:"",color:"primary",variant:"tonal"},{default:l(()=>[t(w,{class:"text-subtitle-1"},{default:l(()=>[...e[13]||(e[13]=[o("聊天室消息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(ve,{modelValue:V.value,"onUpdate:modelValue":e[3]||(e[3]=s=>V.value=s),"auto-grow":"",clearable:"",label:"发送到当前已加入的设备频道",rows:"2"},null,8,["modelValue"]),D("div",_e,[t(M),t(c,{disabled:!W.value,color:"primary",onClick:X},{default:l(()=>[...e[14]||(e[14]=[o(" 发送聊天 ",-1)])]),_:1},8,["disabled"])])]),_:1})]),_:1})]),_:1})]),_:1}),t(B,null,{default:l(()=>[t(_,{cols:"12"},{default:l(()=>[t(c,{color:"secondary",variant:"tonal",onClick:Z},{default:l(()=>[...e[15]||(e[15]=[o(" 重新连接 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(b,{border:""},{default:l(()=>[t(w,null,{default:l(()=>[...e[16]||(e[16]=[o("在线设备",-1)])]),_:1}),t(j,null,{default:l(()=>[t(c,{class:"mb-3",color:"primary",onClick:E},{default:l(()=>[...e[17]||(e[17]=[o(" 刷新在线列表 ",-1)])]),_:1}),x.value.length?(d(),S(A,{key:0,density:"compact"},{default:l(()=>[(d(!0),L(J,null,O(x.value,s=>(d(),S(f,{key:s.uuid},{prepend:l(()=>[t(se,{color:s.connections>0?"success":"grey",size:"24"},null,8,["color"])]),append:l(()=>[t(c,{size:"small",variant:"text",onClick:F=>h(s)},{default:l(()=>[...e[18]||(e[18]=[o(" 选择 ",-1)])]),_:1},8,["onClick"])]),default:l(()=>[t(v,null,{default:l(()=>[o(u(s.name||"(未命名)"),1)]),_:2},1024),t(m,null,{default:l(()=>[o(u(s.uuid)+" · 连接数 "+u(s.connections),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),L("div",ge," 暂无数据 "))]),_:1})]),_:1})]),_:1}),t(_,{cols:"12",md:"6"},{default:l(()=>[t(b,{border:""},{default:l(()=>[t(w,{class:"d-flex align-center"},{default:l(()=>[e[20]||(e[20]=o(" 事件日志 ",-1)),t(M),t(c,{color:"error",size:"small",variant:"text",onClick:ee},{default:l(()=>[...e[19]||(e[19]=[o(" 清空 ",-1)])]),_:1})]),_:1}),t(j,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[(d(!0),L(J,null,O(y.value,(s,F)=>(d(),S(f,{key:F},{default:l(()=>[t(v,null,{default:l(()=>[D("span",ke,u(s.time),1),D("span",ye,u(s.event),1)]),_:2},1024),t(C,null,{default:l(()=>[D("pre",Ve,u(s.payload),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{$e as default}; +import{a2 as i,k as te,Z as le,$ as ne,r as ae,o as d,j as S,w as l,c as t,l as b,q as w,v as o,z as j,P as A,Q as f,a0 as v,a1 as m,A as u,C as L,D as oe,K,y as c,i as D,x as M,F as J,G as O,L as se,a3 as U}from"./index-BUM0TY0E.js";import{g as z,b as R,j as q,o as p,c as re,l as ue}from"./socketClient-BEFY8Nxz.js";import{s as ie,D as de}from"./deviceEvents-Dj8WEgqu.js";import{V as B,a as _}from"./VRow-CPw1R1BU.js";import{V as ce}from"./VChip-vdRDApTi.js";import{V as fe}from"./VTextField-C579e7l1.js";import{V as ve}from"./VTextarea-jqnFSwaH.js";import{V as me}from"./VContainer-DakLDC1m.js";import"./serverRotation-CjK7Y7P9.js";const pe={key:0},_e={class:"d-flex"},ge={key:1,class:"text-grey"},ke={class:"text-caption text-grey"},ye={class:"ml-2"},Ve={class:"mb-2",style:{"white-space":"pre-wrap"}},$e={__name:"debug-socket",setup(Ce){const g=i(te("server.kvToken")||""),$=i(""),r=i(""),k=i(!1),T=i(""),y=i([]),x=i([]),V=i(""),I=U(()=>re()),G=U(()=>{const n=new Date,e=n.getFullYear(),C=String(n.getMonth()+1).padStart(2,"0"),s=String(n.getDate()).padStart(2,"0");return`classworks-data-${e}${C}${s}`});function a(n,e){const C=new Date().toLocaleTimeString();y.value.unshift({time:C,event:n,payload:typeof e=="string"?e:JSON.stringify(e,null,2)}),y.value.length>200&&y.value.pop()}function H(){const n=z();k.value=!!n.connected,T.value=n.id||"",n.on("connect",()=>{k.value=!0,T.value=n.id||"",a("connect",{id:n.id}),r.value&&q(r.value)}),n.on("disconnect",e=>{k.value=!1,a("disconnect",{reason:e})}),n.on("connect_error",e=>a("connect_error",{message:e==null?void 0:e.message})),n.on("reconnect_attempt",e=>a("reconnect_attempt",{attempt:e})),n.on("reconnect",e=>a("reconnect",{attempt:e}))}function P(){p("kv-key-changed",n=>{a("kv-key-changed",n)}),p("device-joined",n=>{a("device-joined",n)}),p("joined",n=>{a("joined",n)}),p("join-error",n=>{a("join-error",n)}),p("chat:message",n=>{a("chat:message",n)}),p("device-event",n=>{a("device-event",n)})}function N(n){try{if(!n){a("join-error","Token 为空");return}q(n),r.value=n,a("join-token",{token:n})}catch(e){a("join-token-error",String(e))}}function Q(n){try{R(n),r.value===n&&(r.value=""),a("leave-token",{token:n})}catch(e){a("leave-token-error",String(e))}}function Y(){try{ue(),r.value="",a("leave-all",{})}catch(n){a("leave-all-error",String(n))}}function Z(){try{z().connect()}catch(n){a("reconnect-error",String(n))}}const W=U(()=>{var e;return!!((((e=V.value)==null?void 0:e.trim())||"")&&(r.value||g.value))});function X(){try{const n=(V.value||"").trim();if(!n)return;ie(n),a("send-event",{type:de.CHAT,content:{text:n}}),V.value=""}catch(n){a("chat:error",String(n))}}function h(n){a("select-device",{message:"请输入该设备对应的 KV Token 以加入频道",device:n})}async function E(){try{const e=await(await fetch(`${I.value}/devices/online`)).json();x.value=Array.isArray(e==null?void 0:e.devices)?e.devices:[],a("fetch-online",{count:x.value.length})}catch(n){a("fetch-online-error",String(n))}}function ee(){y.value=[]}return le(()=>{z(),H(),P(),g.value&&N(g.value),E()}),ne(()=>{try{r.value&&R(r.value)}catch{}}),(n,e)=>{const C=ae("v-list-item-text");return d(),S(me,null,{default:l(()=>[t(B,null,{default:l(()=>[t(_,{cols:"12",md:"6"},{default:l(()=>[t(b,{border:"",class:"mb-4"},{default:l(()=>[t(w,null,{default:l(()=>[...e[4]||(e[4]=[o("连接信息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[5]||(e[5]=[o("Server URL",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(I.value),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[6]||(e[6]=[o("当前 KV Token",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(g.value||"(未配置)"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[7]||(e[7]=[o("连接状态",-1)])]),_:1}),t(m,null,{default:l(()=>[t(ce,{color:k.value?"success":"error",class:"mr-2",size:"small"},{default:l(()=>[o(u(k.value?"connected":"disconnected"),1)]),_:1},8,["color"]),T.value?(d(),L("span",pe,"id: "+u(T.value),1)):oe("",!0)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[8]||(e[8]=[o("已加入 Token",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(r.value||"-"),1)]),_:1})]),_:1}),t(f,null,{default:l(()=>[t(v,null,{default:l(()=>[...e[9]||(e[9]=[o("当前数据键",-1)])]),_:1}),t(m,null,{default:l(()=>[o(u(G.value),1)]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(B,null,{default:l(()=>[t(_,{cols:"12",md:"8"},{default:l(()=>[t(fe,{modelValue:$.value,"onUpdate:modelValue":e[0]||(e[0]=s=>$.value=s),clearable:"",label:"手动加入 Token (留空使用配置的 Token)"},null,8,["modelValue"])]),_:1}),t(_,{class:"d-flex align-center",cols:"12",md:"4"},{default:l(()=>[t(c,{class:"mr-2",color:"primary",onClick:e[1]||(e[1]=s=>N($.value||g.value))},{default:l(()=>[...e[10]||(e[10]=[o(" 加入 ",-1)])]),_:1}),t(c,{disabled:!r.value,class:"mr-2",color:"warning",onClick:e[2]||(e[2]=s=>Q(r.value))},{default:l(()=>[...e[11]||(e[11]=[o(" 离开当前 ",-1)])]),_:1},8,["disabled"]),t(c,{color:"error",variant:"tonal",onClick:Y},{default:l(()=>[...e[12]||(e[12]=[o(" 离开全部 ",-1)])]),_:1})]),_:1})]),_:1}),t(K,{class:"my-4"}),t(B,null,{default:l(()=>[t(_,{cols:"12"},{default:l(()=>[t(b,{border:"",color:"primary",variant:"tonal"},{default:l(()=>[t(w,{class:"text-subtitle-1"},{default:l(()=>[...e[13]||(e[13]=[o("聊天室消息",-1)])]),_:1}),t(j,null,{default:l(()=>[t(ve,{modelValue:V.value,"onUpdate:modelValue":e[3]||(e[3]=s=>V.value=s),"auto-grow":"",clearable:"",label:"发送到当前已加入的设备频道",rows:"2"},null,8,["modelValue"]),D("div",_e,[t(M),t(c,{disabled:!W.value,color:"primary",onClick:X},{default:l(()=>[...e[14]||(e[14]=[o(" 发送聊天 ",-1)])]),_:1},8,["disabled"])])]),_:1})]),_:1})]),_:1})]),_:1}),t(B,null,{default:l(()=>[t(_,{cols:"12"},{default:l(()=>[t(c,{color:"secondary",variant:"tonal",onClick:Z},{default:l(()=>[...e[15]||(e[15]=[o(" 重新连接 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(b,{border:""},{default:l(()=>[t(w,null,{default:l(()=>[...e[16]||(e[16]=[o("在线设备",-1)])]),_:1}),t(j,null,{default:l(()=>[t(c,{class:"mb-3",color:"primary",onClick:E},{default:l(()=>[...e[17]||(e[17]=[o(" 刷新在线列表 ",-1)])]),_:1}),x.value.length?(d(),S(A,{key:0,density:"compact"},{default:l(()=>[(d(!0),L(J,null,O(x.value,s=>(d(),S(f,{key:s.uuid},{prepend:l(()=>[t(se,{color:s.connections>0?"success":"grey",size:"24"},null,8,["color"])]),append:l(()=>[t(c,{size:"small",variant:"text",onClick:F=>h(s)},{default:l(()=>[...e[18]||(e[18]=[o(" 选择 ",-1)])]),_:1},8,["onClick"])]),default:l(()=>[t(v,null,{default:l(()=>[o(u(s.name||"(未命名)"),1)]),_:2},1024),t(m,null,{default:l(()=>[o(u(s.uuid)+" · 连接数 "+u(s.connections),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),L("div",ge," 暂无数据 "))]),_:1})]),_:1})]),_:1}),t(_,{cols:"12",md:"6"},{default:l(()=>[t(b,{border:""},{default:l(()=>[t(w,{class:"d-flex align-center"},{default:l(()=>[e[20]||(e[20]=o(" 事件日志 ",-1)),t(M),t(c,{color:"error",size:"small",variant:"text",onClick:ee},{default:l(()=>[...e[19]||(e[19]=[o(" 清空 ",-1)])]),_:1})]),_:1}),t(j,null,{default:l(()=>[t(A,{density:"compact"},{default:l(()=>[(d(!0),L(J,null,O(y.value,(s,F)=>(d(),S(f,{key:F},{default:l(()=>[t(v,null,{default:l(()=>[D("span",ke,u(s.time),1),D("span",ye,u(s.event),1)]),_:2},1024),t(C,null,{default:l(()=>[D("pre",Ve,u(s.payload),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}}};export{$e as default}; diff --git a/assets/default-BLu6UNYI.js b/assets/default-BdaTlbaW.js similarity index 53% rename from assets/default-BLu6UNYI.js rename to assets/default-BdaTlbaW.js index 1ab555e..936873b 100644 --- a/assets/default-BLu6UNYI.js +++ b/assets/default-BdaTlbaW.js @@ -1 +1 @@ -import{g as u,p as m,u as _,a as d,b as p,c as n,n as f,d as v,e as y,m as V,f as k,h as B,i as b,j as g,r as C,o as S,w as r,V as w}from"./index-Ck0Pnd4f.js";const M=m({scrollable:Boolean,...B(),...k(),...V({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=y(e),{mainStyles:c}=_(),{ssrBootStyles:i}=d();return p(()=>n(e.tag,{class:v(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:f([c.value,i.value,s.value,e.style])},{default:()=>{var t,l;return[e.scrollable?b("div",{class:"v-main__scroller"},[(t=a.default)==null?void 0:t.call(a)]):(l=a.default)==null?void 0:l.call(a)]}})),{}}}),x={__name:"default",setup(e){return(o,a)=>{const s=C("router-view");return S(),g(w,null,{default:r(()=>[n(P,null,{default:r(()=>[n(s)]),_:1})]),_:1})}}};export{x as default}; +import{g as u,u as m,a as _,b as d,c as n,n as p,d as f,e as v,p as y,m as V,f as k,h as B,i as b,j as g,r as C,o as S,w as r,V as w}from"./index-BUM0TY0E.js";const M=y({scrollable:Boolean,...B(),...k(),...V({tag:"main"})},"VMain"),P=u()({name:"VMain",props:M(),setup(e,o){let{slots:a}=o;const{dimensionStyles:s}=v(e),{mainStyles:c}=m(),{ssrBootStyles:i}=_();return d(()=>n(e.tag,{class:f(["v-main",{"v-main--scrollable":e.scrollable},e.class]),style:p([c.value,i.value,s.value,e.style])},{default:()=>{var t,l;return[e.scrollable?b("div",{class:"v-main__scroller"},[(t=a.default)==null?void 0:t.call(a)]):(l=a.default)==null?void 0:l.call(a)]}})),{}}}),x={__name:"default",setup(e){return(o,a)=>{const s=C("router-view");return S(),g(w,null,{default:r(()=>[n(P,null,{default:r(()=>[n(s)]),_:1})]),_:1})}}};export{x as default}; diff --git a/assets/deviceEvents-DSVBBN-K.js b/assets/deviceEvents-Dj8WEgqu.js similarity index 97% rename from assets/deviceEvents-DSVBBN-K.js rename to assets/deviceEvents-Dj8WEgqu.js index c12bf7d..0b8db73 100644 --- a/assets/deviceEvents-DSVBBN-K.js +++ b/assets/deviceEvents-Dj8WEgqu.js @@ -1 +1 @@ -import{s as E}from"./socketClient-CbzMnGVD.js";const t={CHAT:"chat",KV_KEY_CHANGED:"kv-key-changed",URGENT_NOTICE:"urgent-notice",NOTIFICATION:"notification"};function m(e){if(!e||typeof e!="string")throw new Error("消息文本不能为空");E(t.CHAT,{text:e.trim()})}function I(e,n={}){if(!e||!e.type){console.warn("无效的设备事件数据:",e);return}const o=n[e.type];if(typeof o=="function")try{o(e)}catch(c){console.error(`处理设备事件 ${e.type} 时出错:`,c)}}function g(e){var n;if(e.type!==t.CHAT)throw new Error("不是聊天事件");return{text:((n=e.content)==null?void 0:n.text)||"",senderId:e.senderId,at:e.timestamp,uuid:e.uuid,senderInfo:e.senderInfo}}function T(e){var n,o,c,i,u,s;if(e.type!==t.KV_KEY_CHANGED)throw new Error("不是 KV 变化事件");return{uuid:e.uuid,key:(n=e.content)==null?void 0:n.key,action:(o=e.content)==null?void 0:o.action,created:(c=e.content)==null?void 0:c.created,updatedAt:(i=e.content)==null?void 0:i.updatedAt,deletedAt:(u=e.content)==null?void 0:u.deletedAt,batch:(s=e.content)==null?void 0:s.batch}}function p(e){var n,o,c,i;if(e.type!==t.URGENT_NOTICE)throw new Error("不是紧急通知事件");return{urgency:((n=e.content)==null?void 0:n.urgency)||"info",message:((o=e.content)==null?void 0:o.message)||"",targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp}}function y(e){var n,o,c,i;if(e.type!==t.NOTIFICATION)throw new Error("不是通知事件");return{message:((n=e.content)==null?void 0:n.message)||"",isUrgent:((o=e.content)==null?void 0:o.isUrgent)||!1,targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp,eventId:e.eventId}}function C(e){return e?e.deviceName==="realtime"?"实时同步":`${e.deviceName||"未知设备"} (${e.deviceType||"未知类型"})`:"未知设备"}function h(e={}){const{onChat:n,onKvChanged:o,onUrgentNotice:c,onNotification:i,onOtherEvent:u,enableLegacySupport:s=!0}=e;return d=>{I(d,{[t.CHAT]:r=>{if(n){const f=s?g(r):r;n(f,r)}},[t.KV_KEY_CHANGED]:r=>{if(o){const f=s?T(r):r;o(f,r)}},[t.URGENT_NOTICE]:r=>{if(c){const f=s?p(r):r;c(f,r)}},[t.NOTIFICATION]:r=>{if(i){const f=s?y(r):r;i(f,r)}}}),u&&d.type!==t.CHAT&&d.type!==t.KV_KEY_CHANGED&&d.type!==t.URGENT_NOTICE&&d.type!==t.NOTIFICATION&&u(d)}}export{t as D,h as c,C as f,m as s}; +import{s as E}from"./socketClient-BEFY8Nxz.js";const t={CHAT:"chat",KV_KEY_CHANGED:"kv-key-changed",URGENT_NOTICE:"urgent-notice",NOTIFICATION:"notification"};function m(e){if(!e||typeof e!="string")throw new Error("消息文本不能为空");E(t.CHAT,{text:e.trim()})}function I(e,n={}){if(!e||!e.type){console.warn("无效的设备事件数据:",e);return}const o=n[e.type];if(typeof o=="function")try{o(e)}catch(c){console.error(`处理设备事件 ${e.type} 时出错:`,c)}}function g(e){var n;if(e.type!==t.CHAT)throw new Error("不是聊天事件");return{text:((n=e.content)==null?void 0:n.text)||"",senderId:e.senderId,at:e.timestamp,uuid:e.uuid,senderInfo:e.senderInfo}}function T(e){var n,o,c,i,u,s;if(e.type!==t.KV_KEY_CHANGED)throw new Error("不是 KV 变化事件");return{uuid:e.uuid,key:(n=e.content)==null?void 0:n.key,action:(o=e.content)==null?void 0:o.action,created:(c=e.content)==null?void 0:c.created,updatedAt:(i=e.content)==null?void 0:i.updatedAt,deletedAt:(u=e.content)==null?void 0:u.deletedAt,batch:(s=e.content)==null?void 0:s.batch}}function p(e){var n,o,c,i;if(e.type!==t.URGENT_NOTICE)throw new Error("不是紧急通知事件");return{urgency:((n=e.content)==null?void 0:n.urgency)||"info",message:((o=e.content)==null?void 0:o.message)||"",targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp}}function y(e){var n,o,c,i;if(e.type!==t.NOTIFICATION)throw new Error("不是通知事件");return{message:((n=e.content)==null?void 0:n.message)||"",isUrgent:((o=e.content)==null?void 0:o.isUrgent)||!1,targetDevices:((c=e.content)==null?void 0:c.targetDevices)||[],senderId:e.senderId,senderInfo:((i=e.content)==null?void 0:i.senderInfo)||e.senderInfo,timestamp:e.timestamp,eventId:e.eventId}}function C(e){return e?e.deviceName==="realtime"?"实时同步":`${e.deviceName||"未知设备"} (${e.deviceType||"未知类型"})`:"未知设备"}function h(e={}){const{onChat:n,onKvChanged:o,onUrgentNotice:c,onNotification:i,onOtherEvent:u,enableLegacySupport:s=!0}=e;return d=>{I(d,{[t.CHAT]:r=>{if(n){const f=s?g(r):r;n(f,r)}},[t.KV_KEY_CHANGED]:r=>{if(o){const f=s?T(r):r;o(f,r)}},[t.URGENT_NOTICE]:r=>{if(c){const f=s?p(r):r;c(f,r)}},[t.NOTIFICATION]:r=>{if(i){const f=s?y(r):r;i(f,r)}}}),u&&d.type!==t.CHAT&&d.type!==t.KV_KEY_CHANGED&&d.type!==t.URGENT_NOTICE&&d.type!==t.NOTIFICATION&&u(d)}}export{t as D,h as c,C as f,m as s}; diff --git a/assets/examschedule-DGn665C4.js b/assets/examschedule-DlYuJdDl.js similarity index 93% rename from assets/examschedule-DGn665C4.js rename to assets/examschedule-DlYuJdDl.js index 48e42b4..7300c89 100644 --- a/assets/examschedule-DGn665C4.js +++ b/assets/examschedule-DlYuJdDl.js @@ -1,4 +1,4 @@ -import{_ as A}from"./ExamConfigEditor-DSJ1EgID.js";import{d as C}from"./dataProvider-BZ0EQWiW.js";import{_ as z,j as h,o as p,w as i,c as s,l as y,q as V,t as l,v as g,Y as J,z as v,B as D,i as f,C as x,y as u,P as R,A as F,F as O,G as H,Q as L,a2 as U,a3 as B,L as j,H as S,N as X,M as T,x as k,k as P}from"./index-Ck0Pnd4f.js";import{V as W,a as q}from"./VRow-D_zZfsym.js";import{V as N}from"./VAlert-WqxdeiRc.js";import{V as M}from"./VChip-C4TXrZae.js";import{V as G}from"./VSkeletonLoader-LZ55LBTh.js";import{V as Y}from"./VTextField-C6VOv1Py.js";import{V as K}from"./VTextarea-Akjtg06o.js";import{V as Q}from"./VContainer-_5I3ogXr.js";import"./VTooltip-BqVq3svk.js";import"./VSwitch-B-2xPqHI.js";import"./filter-BOxM3LRL.js";import"./VCheckboxBtn-DWqkYNT7.js";import"./VSheet-DJg5eIit.js";import"./serverRotation-TSbwZ9RQ.js";const Z={name:"ExamScheduleManager",components:{ExamConfigEditor:A},data(){return{configs:[],loading:!1,error:"",success:"",renameDialog:!1,editDialog:!1,configToRename:null,editingConfig:null,newConfigName:"",renaming:!1,saving:!1,importDialog:!1,importJson:"",importError:"",importing:!1,datePickerDialog:!1,baseDate:"",virtualDateInfo:null,pendingImportConfig:null,aiDialog:!1,copied:!1}},async mounted(){await this.loadConfigs()},computed:{aiPrompt(){const a=new Date;return`Your task is to generate a JSON configuration file for an exam dashboard. Based on the exam information input by the user, generate the configuration strictly following these rules. +import{_ as A}from"./ExamConfigEditor-BzFaHh6i.js";import{d as C}from"./dataProvider-MQ8YacC2.js";import{_ as z,o as p,j as h,w as i,c as s,l as y,q as V,t as g,v as l,Y as J,z as v,i as f,A as x,D,y as u,P as R,C as F,F as O,G as H,Q as L,a0 as U,a1 as j,L as B,H as S,N as X,M as T,x as k,k as P}from"./index-BUM0TY0E.js";import{V as W,a as q}from"./VRow-CPw1R1BU.js";import{V as N}from"./VAlert-DFIvt6kt.js";import{V as M}from"./VChip-vdRDApTi.js";import{V as G}from"./VSkeletonLoader-DX2FpkIS.js";import{V as Y}from"./VTextField-C579e7l1.js";import{V as K}from"./VTextarea-jqnFSwaH.js";import{V as Q}from"./VContainer-DakLDC1m.js";import"./VTooltip-COe_nB02.js";import"./VSwitch-CjVC2rsZ.js";import"./filter-ByuXXWRY.js";import"./VCheckboxBtn-CylQNaxd.js";import"./VSheet-CuIjBtz7.js";import"./serverRotation-CjK7Y7P9.js";const Z={name:"ExamScheduleManager",components:{ExamConfigEditor:A},data(){return{configs:[],loading:!1,error:"",success:"",renameDialog:!1,editDialog:!1,configToRename:null,editingConfig:null,newConfigName:"",renaming:!1,saving:!1,importDialog:!1,importJson:"",importError:"",importing:!1,datePickerDialog:!1,baseDate:"",virtualDateInfo:null,pendingImportConfig:null,aiDialog:!1,copied:!1}},async mounted(){await this.loadConfigs()},computed:{aiPrompt(){const a=new Date;return`Your task is to generate a JSON configuration file for an exam dashboard. Based on the exam information input by the user, generate the configuration strictly following these rules. Generation Requirements: * Output using JSON blocks in Markdown @@ -36,7 +36,7 @@ Date and Time Handling: * For multiple exams, calculate dates sequentially in order Now please generate the exam configuration based on the above rules:`}},methods:{inferExamType(){const a=new Date,e=a.getMonth()+1,r=a.getDate();let o="新考试",t=`请保持卷面整洁,字迹清晰,遵守考场纪律,诚信应考。 -听到终考铃声时,请立即起立并停止作答。`;return e>=9||e<=1?e===9&&r<=15?o="开学摸底考试":e===9&&r>15?o="第一次月考":e===10?o="第二次月考":e===11&&r<=20?o="期中考试":e===11&&r>20?o="第三次月考":e===12?o="第四次月考":e===1&&(o="期末考试"):e>=2&&e<=7&&(e===2||e===3&&r<=10?o="开学摸底考试":e===3&&r>10?o="第一次月考":e===4&&r<=25?o="期中考试":e===4&&r>25?o="第二次月考":e===5?o="第三次月考":(e===6||e===7)&&(o="期末考试")),{examName:o,message:t}},async initializeExampleData(){const a=[{id:"exam_example_001",examName:"期末考试安排",message:"请按时参加考试,携带学生证和身份证",examInfos:[{name:"数学",start:"2025/01/15 09:00",end:"2025/01/15 11:00"},{name:"英语",start:"2025/01/16 14:00",end:"2025/01/16 16:00"}]},{id:"exam_example_002",examName:"期中考试安排",message:"考试期间请保持安静",examInfos:[{name:"物理",start:"2025/01/20 10:00",end:"2025/01/20 12:00"},{name:"化学",start:"2025/01/21 14:00",end:"2025/01/21 16:00"}]},{id:"exam_example_003",examName:"模拟考试安排",message:"模拟考试,请认真对待",examInfos:[{name:"语文",start:"2025/01/25 09:00",end:"2025/01/25 11:30"}]}],e=a.map(r=>({id:r.id}));await C.saveData("es_list",e);for(let r of a){const o={...r};delete o.id,await C.saveData(`es_${r.id}`,o)}return a},async loadConfigs(){this.loading=!0,this.error="";try{const a=await C.loadData("es_list");if(a&&a&&a.length>0){this.configs=[];for(let e of a)try{const r=await C.loadData(`es_${e.id}`);r&&this.configs.push({id:e.id,...r})}catch(r){console.warn(`加载配置 es_${e.id} 失败:`,r)}}else this.configs=await this.initializeExampleData()}catch(a){this.error="加载配置列表失败: "+a.message,this.configs=[]}finally{this.loading=!1}},async createNewConfig(){var c,n;const a=Date.now().toString(),e=new Date;e.setDate(e.getDate()+1),e.setHours(8,0,0,0);const r=new Date(e);r.setHours(r.getHours()+2);const o=d=>{const E=d.getFullYear(),I=String(d.getMonth()+1).padStart(2,"0"),w=String(d.getDate()).padStart(2,"0"),b=String(d.getHours()).padStart(2,"0"),_=String(d.getMinutes()).padStart(2,"0");return`${E}/${I}/${w} ${b}:${_}`},t=this.inferExamType(),m={examName:t.examName,message:t.message,room:P("server.classNumber")||"",examInfos:[{name:"语文",start:o(e),end:o(r)}]};try{const d=await C.saveData(`es_${a}`,m);if(!d)throw new Error(((c=d.error)==null?void 0:c.message)||"保存失败");this.configs.push({id:a,...m});const E=this.configs.map(b=>({id:b.id})),I=await C.saveData("es_list",E);if(!I)throw new Error(((n=I.error)==null?void 0:n.message)||"更新列表失败");this.$message.success("新配置创建成功");const w=this.configs.find(b=>b.id===a);w&&(this.editingConfig=w,this.editDialog=!0)}catch(d){this.$message.error("创建配置失败: "+d.message)}},showRenameDialog(a){this.configToRename=a,this.newConfigName=a.examName||`配置 ${a.id}`,this.renameDialog=!0},async renameConfig(){var a;if(!(!this.configToRename||!this.newConfigName)){this.renaming=!0;try{const e={examName:this.newConfigName,message:this.configToRename.message,examInfos:this.configToRename.examInfos},r=await C.saveData(`es_${this.configToRename.id}`,e);if(!r)throw new Error(((a=r.error)==null?void 0:a.message)||"保存失败");const o=this.configs.findIndex(t=>t.id===this.configToRename.id);o!==-1&&(this.configs[o].examName=this.newConfigName),this.$message.success("配置重命名成功"),this.renameDialog=!1,this.configToRename=null,this.newConfigName=""}catch(e){this.$message.error("重命名配置失败: "+e.message)}finally{this.renaming=!1}}},showEditDialog(a){this.editingConfig=a,this.editDialog=!0},closeEditDialog(){this.editDialog=!1,this.editingConfig=null,this.saving=!1},async saveConfigInDialog(){if(this.$refs.configEditor){this.saving=!0;try{await this.$refs.configEditor.saveConfig()}catch(a){console.error("保存配置失败:",a)}finally{this.saving=!1}}},onConfigSaved(){this.$message.success("配置保存成功!"),this.loadConfigs(),this.$message.success("配置保存成功!")},onConfigError(a){this.$message.error(a||"保存配置时发生错误"),this.$message.error(a||"保存配置时发生错误")},onConfigOpened(){this.$message.success("配置已在新窗口中打开"),this.$message.success("配置已在新窗口中打开")},onConfigDeleted(a){a.success?(this.$message.success(a.message||"配置删除成功"),this.editDialog=!1,this.loadConfigs()):this.$message.error(a.message||"删除失败")},showImportDialog(){this.importDialog=!0,this.importJson="",this.importError=""},closeImportDialog(){this.importDialog=!1,this.importJson="",this.importError="",this.importing=!1},detectVirtualDates(a){const e=/^0000-00-(\d{2})/;let r=!1,o=1/0,t=-1/0,m=0;if(a.examInfos&&Array.isArray(a.examInfos))for(let c of a.examInfos){if(c.start){const n=c.start.match(e);if(n){r=!0,m++;const d=parseInt(n[1]);o=Math.min(o,d),t=Math.max(t,d)}}if(c.end){const n=c.end.match(e);if(n){r=!0;const d=parseInt(n[1]);o=Math.min(o,d),t=Math.max(t,d)}}}return r?{hasVirtual:!0,count:m,span:t-o+1,minDay:o,maxDay:t}:null},convertVirtualDate(a,e){const r=/^0000-00-(\d{2})\s+(.+)$/,o=a.match(r);if(!o)return a;const t=parseInt(o[1]),m=o[2],c=new Date(e),n=new Date(c);n.setDate(c.getDate()+(t-1));const d=n.getFullYear(),E=String(n.getMonth()+1).padStart(2,"0"),I=String(n.getDate()).padStart(2,"0"),w=m.match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(w){const b=w[1],_=w[2];return`${d}/${E}/${I} ${b}:${_}`}return`${d}/${E}/${I} ${m}`},normalizeDateFormat(a){if(!a)return"";if(/^\d{4}\/\d{2}\/\d{2}\s+\d{2}:\d{2}$/.test(a))return a;const e=/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2})(?::(\d{2}))?$/,r=a.match(e);if(r)return`${r[1]}/${r[2]}/${r[3]} ${r[4]}:${r[5]}`;const o=/^(\d{4})-(\d{2})-(\d{2})$/,t=a.match(o);return t?`${t[1]}/${t[2]}/${t[3]} 08:00`:a},validateAndFillConfig(a){const e=this.inferExamType(),r={examName:a.examName||e.examName,message:a.message||e.message,room:a.room||P("server.classNumber")||"",examInfos:[]};if(!a.examInfos||!Array.isArray(a.examInfos))throw new Error("配置中缺少 examInfos 数组");if(a.examInfos.length===0)throw new Error("examInfos 数组不能为空");for(let o=0;o({id:d.id})),c=await C.saveData("es_list",m);if(!c)throw new Error(((o=c.error)==null?void 0:o.message)||"更新列表失败");this.success="配置导入成功!",this.closeImportDialog();const n=this.configs.find(d=>d.id===e);n&&(this.editingConfig=n,this.editDialog=!0)}catch(t){throw new Error("保存配置失败: "+t.message)}},showAIDialog(){this.aiDialog=!0,this.copied=!1},closeAIDialog(){this.aiDialog=!1,this.copied=!1},async copyPrompt(){try{await navigator.clipboard.writeText(this.aiPrompt),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)}catch{const e=document.createElement("textarea");e.value=this.aiPrompt,e.style.position="fixed",e.style.left="-999999px",document.body.appendChild(e),e.select();try{document.execCommand("copy"),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)}catch{this.error="复制失败,请手动复制"}document.body.removeChild(e)}},goToImport(){this.aiDialog=!1,this.showImportDialog()}}},$={class:"d-flex align-center"},ee={class:"d-flex align-center"},te={class:"d-flex justify-space-between align-center mb-4"},ie={class:"d-flex align-center"},se={class:"d-flex align-center"},ae={class:"d-flex align-center mt-1"},oe={class:"d-flex align-center"},ne={class:"text-caption"},re={class:"mb-3"},le={class:"d-flex justify-space-between align-center mb-2"},me={class:"ai-prompt-text"};function de(a,e,r,o,t,m){const c=A;return p(),h(Q,{class:"fill-height"},{default:i(()=>[s(W,null,{default:i(()=>[s(q,{cols:"12"},{default:i(()=>[s(y,{border:"",class:"elevation-12"},{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[12]||(e[12]=[l("mdi-calendar-check",-1)])]),_:1}),e[13]||(e[13]=l(" 考试看板 ",-1))]),_:1}),s(J,null,{default:i(()=>[...e[14]||(e[14]=[l(" 不只是考试看板。 ",-1)])]),_:1}),s(v,null,{default:i(()=>[t.error?(p(),h(N,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":e[0]||(e[0]=n=>t.error="")},{default:i(()=>[f("div",$,[s(g,{class:"mr-2"},{default:i(()=>[...e[15]||(e[15]=[l("mdi-alert-circle",-1)])]),_:1}),l(" "+x(t.error),1)])]),_:1})):D("",!0),t.success?(p(),h(N,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":e[1]||(e[1]=n=>t.success="")},{default:i(()=>[f("div",ee,[s(g,{class:"mr-2"},{default:i(()=>[...e[16]||(e[16]=[l("mdi-check-circle",-1)])]),_:1}),l(" "+x(t.success),1)])]),_:1})):D("",!0),f("div",te,[f("div",ie,[s(u,{class:"mr-2",color:"primary","prepend-icon":"mdi-plus",onClick:m.createNewConfig},{default:i(()=>[...e[17]||(e[17]=[l(" 新建配置 ",-1)])]),_:1},8,["onClick"]),s(u,{class:"mr-2",color:"success","prepend-icon":"mdi-import",variant:"outlined",onClick:m.showImportDialog},{default:i(()=>[...e[18]||(e[18]=[l(" 导入配置 ",-1)])]),_:1},8,["onClick"]),s(u,{class:"mr-2",color:"purple","prepend-icon":"mdi-brain",variant:"outlined",onClick:m.showAIDialog},{default:i(()=>[...e[19]||(e[19]=[l(" AI生成 ",-1)])]),_:1},8,["onClick"]),s(u,{loading:t.loading,color:"info","prepend-icon":"mdi-refresh",variant:"outlined",onClick:m.loadConfigs},{default:i(()=>[...e[20]||(e[20]=[l(" 刷新 ",-1)])]),_:1},8,["loading","onClick"])]),t.configs.length>0?(p(),h(M,{key:0,color:"primary","prepend-icon":"mdi-format-list-numbered"},{default:i(()=>[l(x(t.configs.length)+" 个配置 ",1)]),_:1})):D("",!0)]),t.loading?(p(),h(y,{key:2,class:"my-4",outlined:""},{default:i(()=>[s(v,null,{default:i(()=>[s(G,{class:"mx-auto",type:"list-item-avatar-two-line@3"})]),_:1})]),_:1})):D("",!0),!t.loading&&t.configs.length>0?(p(),h(y,{key:3,class:"my-4",elevation:"1"},{default:i(()=>[s(V,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:i(()=>[s(g,{class:"mr-2"},{default:i(()=>[...e[21]||(e[21]=[l("mdi-format-list-bulleted",-1)])]),_:1}),e[22]||(e[22]=f("span",{class:"font-weight-bold"},"配置列表",-1))]),_:1}),s(R,null,{default:i(()=>[(p(!0),F(O,null,H(t.configs,n=>(p(),h(L,{key:n.id,class:"border-b",style:{cursor:"pointer"},onClick:d=>m.showEditDialog(n)},{prepend:i(()=>[s(j,{class:"mr-2",color:"primary"},{default:i(()=>[s(g,{color:"white"},{default:i(()=>[...e[23]||(e[23]=[l("mdi-calendar-text",-1)])]),_:1})]),_:1})]),append:i(()=>[f("div",oe,[s(u,{class:"mr-1",color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:d=>m.showEditDialog(n)},{default:i(()=>[s(g,null,{default:i(()=>[...e[26]||(e[26]=[l("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"]),s(u,{class:"mr-1",color:"info",icon:"mdi-eye",size:"small",variant:"text",onClick:d=>m.showEditDialog(n)},{default:i(()=>[s(g,null,{default:i(()=>[...e[27]||(e[27]=[l("mdi-eye",-1)])]),_:1})]),_:1},8,["onClick"])])]),default:i(()=>[s(U,{class:"font-weight-medium"},{default:i(()=>[l(x(n.examName||`配置 ${n.id}`),1)]),_:2},1024),s(B,{class:"text-caption mt-1"},{default:i(()=>[f("div",se,[s(g,{class:"mr-1",size:"small"},{default:i(()=>[...e[24]||(e[24]=[l("mdi-information-outline",-1)])]),_:1}),l(" "+x(n.message||"无描述"),1)]),f("div",ae,[s(g,{class:"mr-1",size:"small"},{default:i(()=>[...e[25]||(e[25]=[l("mdi-book-multiple",-1)])]),_:1}),l(" "+x(n.examInfos?n.examInfos.length:0)+" 堂考试 ",1)])]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})):D("",!0),!t.loading&&t.configs.length===0?(p(),h(y,{key:4,class:"my-4",elevation:"1"},{default:i(()=>[s(v,{class:"text-center py-8"},{default:i(()=>[s(g,{class:"mb-4",color:"grey-lighten-1",size:"64"},{default:i(()=>[...e[28]||(e[28]=[l(" mdi-calendar-blank ",-1)])]),_:1}),e[30]||(e[30]=f("h3",{class:"text-h6 mb-2 text-grey-darken-1"},"暂无配置",-1)),e[31]||(e[31]=f("p",{class:"text-body-2 text-grey-darken-1 mb-4"},' 点击"新建配置"按钮创建您的第一个考试配置 ',-1)),s(u,{color:"primary","prepend-icon":"mdi-plus",onClick:m.createNewConfig},{default:i(()=>[...e[29]||(e[29]=[l(" 新建配置 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})):D("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),s(S,{modelValue:t.renameDialog,"onUpdate:modelValue":e[4]||(e[4]=n=>t.renameDialog=n),"max-width":"500"},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center"},{default:i(()=>[s(g,{class:"mr-2",color:"primary"},{default:i(()=>[...e[32]||(e[32]=[l("mdi-rename-box",-1)])]),_:1}),e[33]||(e[33]=l(" 重命名配置 ",-1))]),_:1}),s(v,null,{default:i(()=>[s(Y,{modelValue:t.newConfigName,"onUpdate:modelValue":e[2]||(e[2]=n=>t.newConfigName=n),rules:[n=>!!n||"配置名称不能为空"],label:"配置名称","prepend-inner-icon":"mdi-calendar-text",variant:"outlined",onKeyup:X(m.renameConfig,["enter"])},null,8,["modelValue","rules","onKeyup"])]),_:1}),s(T,null,{default:i(()=>[s(k),s(u,{color:"grey",variant:"text",onClick:e[3]||(e[3]=n=>t.renameDialog=!1)},{default:i(()=>[...e[34]||(e[34]=[l(" 取消 ",-1)])]),_:1}),s(u,{disabled:!t.newConfigName,loading:t.renaming,color:"primary",variant:"outlined",onClick:m.renameConfig},{default:i(()=>[...e[35]||(e[35]=[l(" 确认 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.editDialog,"onUpdate:modelValue":e[5]||(e[5]=n=>t.editDialog=n),"max-width":"1200",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[36]||(e[36]=[l("mdi-pencil",-1)])]),_:1}),e[38]||(e[38]=l(" 编辑考试配置 ",-1)),s(k),t.editingConfig?(p(),h(M,{key:0,class:"mr-2",color:"white",size:"small","text-color":"primary"},{default:i(()=>[l(" ID: "+x(t.editingConfig.id),1)]),_:1})):D("",!0),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeEditDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[37]||(e[37]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4",style:{"max-height":"70vh","overflow-y":"auto"}},{default:i(()=>[t.editingConfig?(p(),h(c,{key:0,ref:"configEditor","config-id":t.editingConfig.id,"dialog-mode":!0,onDeleted:m.onConfigDeleted,onError:m.onConfigError,onOpened:m.onConfigOpened,onSaved:m.onConfigSaved},null,8,["config-id","onDeleted","onError","onOpened","onSaved"])):D("",!0)]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.closeEditDialog},{default:i(()=>[...e[39]||(e[39]=[l(" 关闭 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{loading:t.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:m.saveConfigInDialog},{default:i(()=>[...e[40]||(e[40]=[l(" 保存配置 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.importDialog,"onUpdate:modelValue":e[8]||(e[8]=n=>t.importDialog=n),"max-width":"800",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[41]||(e[41]=[l("mdi-import",-1)])]),_:1}),e[43]||(e[43]=l(" 导入考试配置 ",-1)),s(k),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeImportDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[42]||(e[42]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4"},{default:i(()=>[t.importError?(p(),h(N,{key:0,border:"start",class:"mb-4",closable:"",type:"error",variant:"tonal","onClick:close":e[6]||(e[6]=n=>t.importError="")},{default:i(()=>[l(x(t.importError),1)]),_:1})):D("",!0),s(K,{modelValue:t.importJson,"onUpdate:modelValue":e[7]||(e[7]=n=>t.importJson=n),rules:[n=>!!n||"JSON内容不能为空"],label:"请输入JSON配置",placeholder:`{ +听到终考铃声时,请立即起立并停止作答。`;return e>=9||e<=1?e===9&&r<=15?o="开学摸底考试":e===9&&r>15?o="第一次月考":e===10?o="第二次月考":e===11&&r<=20?o="期中考试":e===11&&r>20?o="第三次月考":e===12?o="第四次月考":e===1&&(o="期末考试"):e>=2&&e<=7&&(e===2||e===3&&r<=10?o="开学摸底考试":e===3&&r>10?o="第一次月考":e===4&&r<=25?o="期中考试":e===4&&r>25?o="第二次月考":e===5?o="第三次月考":(e===6||e===7)&&(o="期末考试")),{examName:o,message:t}},async initializeExampleData(){const a=[{id:"exam_example_001",examName:"期末考试安排",message:"请按时参加考试,携带学生证和身份证",examInfos:[{name:"数学",start:"2025/01/15 09:00",end:"2025/01/15 11:00"},{name:"英语",start:"2025/01/16 14:00",end:"2025/01/16 16:00"}]},{id:"exam_example_002",examName:"期中考试安排",message:"考试期间请保持安静",examInfos:[{name:"物理",start:"2025/01/20 10:00",end:"2025/01/20 12:00"},{name:"化学",start:"2025/01/21 14:00",end:"2025/01/21 16:00"}]},{id:"exam_example_003",examName:"模拟考试安排",message:"模拟考试,请认真对待",examInfos:[{name:"语文",start:"2025/01/25 09:00",end:"2025/01/25 11:30"}]}],e=a.map(r=>({id:r.id}));await C.saveData("es_list",e);for(let r of a){const o={...r};delete o.id,await C.saveData(`es_${r.id}`,o)}return a},async loadConfigs(){this.loading=!0,this.error="";try{const a=await C.loadData("es_list");if(a&&a&&a.length>0){this.configs=[];for(let e of a)try{const r=await C.loadData(`es_${e.id}`);r&&this.configs.push({id:e.id,...r})}catch(r){console.warn(`加载配置 es_${e.id} 失败:`,r)}}else this.configs=await this.initializeExampleData()}catch(a){this.error="加载配置列表失败: "+a.message,this.configs=[]}finally{this.loading=!1}},async createNewConfig(){var c,n;const a=Date.now().toString(),e=new Date;e.setDate(e.getDate()+1),e.setHours(8,0,0,0);const r=new Date(e);r.setHours(r.getHours()+2);const o=d=>{const E=d.getFullYear(),I=String(d.getMonth()+1).padStart(2,"0"),w=String(d.getDate()).padStart(2,"0"),b=String(d.getHours()).padStart(2,"0"),_=String(d.getMinutes()).padStart(2,"0");return`${E}/${I}/${w} ${b}:${_}`},t=this.inferExamType(),m={examName:t.examName,message:t.message,room:P("server.classNumber")||"",examInfos:[{name:"语文",start:o(e),end:o(r)}]};try{const d=await C.saveData(`es_${a}`,m);if(!d)throw new Error(((c=d.error)==null?void 0:c.message)||"保存失败");this.configs.push({id:a,...m});const E=this.configs.map(b=>({id:b.id})),I=await C.saveData("es_list",E);if(!I)throw new Error(((n=I.error)==null?void 0:n.message)||"更新列表失败");this.$message.success("新配置创建成功");const w=this.configs.find(b=>b.id===a);w&&(this.editingConfig=w,this.editDialog=!0)}catch(d){this.$message.error("创建配置失败: "+d.message)}},showRenameDialog(a){this.configToRename=a,this.newConfigName=a.examName||`配置 ${a.id}`,this.renameDialog=!0},async renameConfig(){var a;if(!(!this.configToRename||!this.newConfigName)){this.renaming=!0;try{const e={examName:this.newConfigName,message:this.configToRename.message,examInfos:this.configToRename.examInfos},r=await C.saveData(`es_${this.configToRename.id}`,e);if(!r)throw new Error(((a=r.error)==null?void 0:a.message)||"保存失败");const o=this.configs.findIndex(t=>t.id===this.configToRename.id);o!==-1&&(this.configs[o].examName=this.newConfigName),this.$message.success("配置重命名成功"),this.renameDialog=!1,this.configToRename=null,this.newConfigName=""}catch(e){this.$message.error("重命名配置失败: "+e.message)}finally{this.renaming=!1}}},showEditDialog(a){this.editingConfig=a,this.editDialog=!0},closeEditDialog(){this.editDialog=!1,this.editingConfig=null,this.saving=!1},async saveConfigInDialog(){if(this.$refs.configEditor){this.saving=!0;try{await this.$refs.configEditor.saveConfig()}catch(a){console.error("保存配置失败:",a)}finally{this.saving=!1}}},onConfigSaved(){this.$message.success("配置保存成功!"),this.loadConfigs(),this.$message.success("配置保存成功!")},onConfigError(a){this.$message.error(a||"保存配置时发生错误"),this.$message.error(a||"保存配置时发生错误")},onConfigOpened(){this.$message.success("配置已在新窗口中打开"),this.$message.success("配置已在新窗口中打开")},onConfigDeleted(a){a.success?(this.$message.success(a.message||"配置删除成功"),this.editDialog=!1,this.loadConfigs()):this.$message.error(a.message||"删除失败")},showImportDialog(){this.importDialog=!0,this.importJson="",this.importError=""},closeImportDialog(){this.importDialog=!1,this.importJson="",this.importError="",this.importing=!1},detectVirtualDates(a){const e=/^0000-00-(\d{2})/;let r=!1,o=1/0,t=-1/0,m=0;if(a.examInfos&&Array.isArray(a.examInfos))for(let c of a.examInfos){if(c.start){const n=c.start.match(e);if(n){r=!0,m++;const d=parseInt(n[1]);o=Math.min(o,d),t=Math.max(t,d)}}if(c.end){const n=c.end.match(e);if(n){r=!0;const d=parseInt(n[1]);o=Math.min(o,d),t=Math.max(t,d)}}}return r?{hasVirtual:!0,count:m,span:t-o+1,minDay:o,maxDay:t}:null},convertVirtualDate(a,e){const r=/^0000-00-(\d{2})\s+(.+)$/,o=a.match(r);if(!o)return a;const t=parseInt(o[1]),m=o[2],c=new Date(e),n=new Date(c);n.setDate(c.getDate()+(t-1));const d=n.getFullYear(),E=String(n.getMonth()+1).padStart(2,"0"),I=String(n.getDate()).padStart(2,"0"),w=m.match(/(\d{2}):(\d{2})(?::(\d{2}))?/);if(w){const b=w[1],_=w[2];return`${d}/${E}/${I} ${b}:${_}`}return`${d}/${E}/${I} ${m}`},normalizeDateFormat(a){if(!a)return"";if(/^\d{4}\/\d{2}\/\d{2}\s+\d{2}:\d{2}$/.test(a))return a;const e=/^(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2})(?::(\d{2}))?$/,r=a.match(e);if(r)return`${r[1]}/${r[2]}/${r[3]} ${r[4]}:${r[5]}`;const o=/^(\d{4})-(\d{2})-(\d{2})$/,t=a.match(o);return t?`${t[1]}/${t[2]}/${t[3]} 08:00`:a},validateAndFillConfig(a){const e=this.inferExamType(),r={examName:a.examName||e.examName,message:a.message||e.message,room:a.room||P("server.classNumber")||"",examInfos:[]};if(!a.examInfos||!Array.isArray(a.examInfos))throw new Error("配置中缺少 examInfos 数组");if(a.examInfos.length===0)throw new Error("examInfos 数组不能为空");for(let o=0;o({id:d.id})),c=await C.saveData("es_list",m);if(!c)throw new Error(((o=c.error)==null?void 0:o.message)||"更新列表失败");this.success="配置导入成功!",this.closeImportDialog();const n=this.configs.find(d=>d.id===e);n&&(this.editingConfig=n,this.editDialog=!0)}catch(t){throw new Error("保存配置失败: "+t.message)}},showAIDialog(){this.aiDialog=!0,this.copied=!1},closeAIDialog(){this.aiDialog=!1,this.copied=!1},async copyPrompt(){try{await navigator.clipboard.writeText(this.aiPrompt),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)}catch{const e=document.createElement("textarea");e.value=this.aiPrompt,e.style.position="fixed",e.style.left="-999999px",document.body.appendChild(e),e.select();try{document.execCommand("copy"),this.copied=!0,setTimeout(()=>{this.copied=!1},3e3)}catch{this.error="复制失败,请手动复制"}document.body.removeChild(e)}},goToImport(){this.aiDialog=!1,this.showImportDialog()}}},$={class:"d-flex align-center"},ee={class:"d-flex align-center"},te={class:"d-flex justify-space-between align-center mb-4"},ie={class:"d-flex align-center"},se={class:"d-flex align-center"},ae={class:"d-flex align-center mt-1"},oe={class:"d-flex align-center"},ne={class:"text-caption"},re={class:"mb-3"},le={class:"d-flex justify-space-between align-center mb-2"},me={class:"ai-prompt-text"};function de(a,e,r,o,t,m){const c=A;return p(),h(Q,{class:"fill-height"},{default:i(()=>[s(W,null,{default:i(()=>[s(q,{cols:"12"},{default:i(()=>[s(y,{border:"",class:"elevation-12"},{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[12]||(e[12]=[l("mdi-calendar-check",-1)])]),_:1}),e[13]||(e[13]=l(" 考试看板 ",-1))]),_:1}),s(J,null,{default:i(()=>[...e[14]||(e[14]=[l(" 不只是考试看板。 ",-1)])]),_:1}),s(v,null,{default:i(()=>[t.error?(p(),h(N,{key:0,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"error",variant:"tonal","onClick:close":e[0]||(e[0]=n=>t.error="")},{default:i(()=>[f("div",$,[s(g,{class:"mr-2"},{default:i(()=>[...e[15]||(e[15]=[l("mdi-alert-circle",-1)])]),_:1}),l(" "+x(t.error),1)])]),_:1})):D("",!0),t.success?(p(),h(N,{key:1,border:"start",class:"mb-4 mt-3 mx-2",closable:"",type:"success",variant:"tonal","onClick:close":e[1]||(e[1]=n=>t.success="")},{default:i(()=>[f("div",ee,[s(g,{class:"mr-2"},{default:i(()=>[...e[16]||(e[16]=[l("mdi-check-circle",-1)])]),_:1}),l(" "+x(t.success),1)])]),_:1})):D("",!0),f("div",te,[f("div",ie,[s(u,{class:"mr-2",color:"primary","prepend-icon":"mdi-plus",onClick:m.createNewConfig},{default:i(()=>[...e[17]||(e[17]=[l(" 新建配置 ",-1)])]),_:1},8,["onClick"]),s(u,{class:"mr-2",color:"success","prepend-icon":"mdi-import",variant:"outlined",onClick:m.showImportDialog},{default:i(()=>[...e[18]||(e[18]=[l(" 导入配置 ",-1)])]),_:1},8,["onClick"]),s(u,{class:"mr-2",color:"purple","prepend-icon":"mdi-brain",variant:"outlined",onClick:m.showAIDialog},{default:i(()=>[...e[19]||(e[19]=[l(" AI生成 ",-1)])]),_:1},8,["onClick"]),s(u,{loading:t.loading,color:"info","prepend-icon":"mdi-refresh",variant:"outlined",onClick:m.loadConfigs},{default:i(()=>[...e[20]||(e[20]=[l(" 刷新 ",-1)])]),_:1},8,["loading","onClick"])]),t.configs.length>0?(p(),h(M,{key:0,color:"primary","prepend-icon":"mdi-format-list-numbered"},{default:i(()=>[l(x(t.configs.length)+" 个配置 ",1)]),_:1})):D("",!0)]),t.loading?(p(),h(y,{key:2,class:"my-4",outlined:""},{default:i(()=>[s(v,null,{default:i(()=>[s(G,{class:"mx-auto",type:"list-item-avatar-two-line@3"})]),_:1})]),_:1})):D("",!0),!t.loading&&t.configs.length>0?(p(),h(y,{key:3,class:"my-4",elevation:"1"},{default:i(()=>[s(V,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:i(()=>[s(g,{class:"mr-2"},{default:i(()=>[...e[21]||(e[21]=[l("mdi-format-list-bulleted",-1)])]),_:1}),e[22]||(e[22]=f("span",{class:"font-weight-bold"},"配置列表",-1))]),_:1}),s(R,null,{default:i(()=>[(p(!0),F(O,null,H(t.configs,n=>(p(),h(L,{key:n.id,class:"border-b",style:{cursor:"pointer"},onClick:d=>m.showEditDialog(n)},{prepend:i(()=>[s(B,{class:"mr-2",color:"primary"},{default:i(()=>[s(g,{color:"white"},{default:i(()=>[...e[23]||(e[23]=[l("mdi-calendar-text",-1)])]),_:1})]),_:1})]),append:i(()=>[f("div",oe,[s(u,{class:"mr-1",color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:d=>m.showEditDialog(n)},{default:i(()=>[s(g,null,{default:i(()=>[...e[26]||(e[26]=[l("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"]),s(u,{class:"mr-1",color:"info",icon:"mdi-eye",size:"small",variant:"text",onClick:d=>m.showEditDialog(n)},{default:i(()=>[s(g,null,{default:i(()=>[...e[27]||(e[27]=[l("mdi-eye",-1)])]),_:1})]),_:1},8,["onClick"])])]),default:i(()=>[s(U,{class:"font-weight-medium"},{default:i(()=>[l(x(n.examName||`配置 ${n.id}`),1)]),_:2},1024),s(j,{class:"text-caption mt-1"},{default:i(()=>[f("div",se,[s(g,{class:"mr-1",size:"small"},{default:i(()=>[...e[24]||(e[24]=[l("mdi-information-outline",-1)])]),_:1}),l(" "+x(n.message||"无描述"),1)]),f("div",ae,[s(g,{class:"mr-1",size:"small"},{default:i(()=>[...e[25]||(e[25]=[l("mdi-book-multiple",-1)])]),_:1}),l(" "+x(n.examInfos?n.examInfos.length:0)+" 堂考试 ",1)])]),_:2},1024)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1})):D("",!0),!t.loading&&t.configs.length===0?(p(),h(y,{key:4,class:"my-4",elevation:"1"},{default:i(()=>[s(v,{class:"text-center py-8"},{default:i(()=>[s(g,{class:"mb-4",color:"grey-lighten-1",size:"64"},{default:i(()=>[...e[28]||(e[28]=[l(" mdi-calendar-blank ",-1)])]),_:1}),e[30]||(e[30]=f("h3",{class:"text-h6 mb-2 text-grey-darken-1"},"暂无配置",-1)),e[31]||(e[31]=f("p",{class:"text-body-2 text-grey-darken-1 mb-4"},' 点击"新建配置"按钮创建您的第一个考试配置 ',-1)),s(u,{color:"primary","prepend-icon":"mdi-plus",onClick:m.createNewConfig},{default:i(()=>[...e[29]||(e[29]=[l(" 新建配置 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})):D("",!0)]),_:1})]),_:1})]),_:1})]),_:1}),s(S,{modelValue:t.renameDialog,"onUpdate:modelValue":e[4]||(e[4]=n=>t.renameDialog=n),"max-width":"500"},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center"},{default:i(()=>[s(g,{class:"mr-2",color:"primary"},{default:i(()=>[...e[32]||(e[32]=[l("mdi-rename-box",-1)])]),_:1}),e[33]||(e[33]=l(" 重命名配置 ",-1))]),_:1}),s(v,null,{default:i(()=>[s(Y,{modelValue:t.newConfigName,"onUpdate:modelValue":e[2]||(e[2]=n=>t.newConfigName=n),rules:[n=>!!n||"配置名称不能为空"],label:"配置名称","prepend-inner-icon":"mdi-calendar-text",variant:"outlined",onKeyup:X(m.renameConfig,["enter"])},null,8,["modelValue","rules","onKeyup"])]),_:1}),s(T,null,{default:i(()=>[s(k),s(u,{color:"grey",variant:"text",onClick:e[3]||(e[3]=n=>t.renameDialog=!1)},{default:i(()=>[...e[34]||(e[34]=[l(" 取消 ",-1)])]),_:1}),s(u,{disabled:!t.newConfigName,loading:t.renaming,color:"primary",variant:"outlined",onClick:m.renameConfig},{default:i(()=>[...e[35]||(e[35]=[l(" 确认 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.editDialog,"onUpdate:modelValue":e[5]||(e[5]=n=>t.editDialog=n),"max-width":"1200",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[36]||(e[36]=[l("mdi-pencil",-1)])]),_:1}),e[38]||(e[38]=l(" 编辑考试配置 ",-1)),s(k),t.editingConfig?(p(),h(M,{key:0,class:"mr-2",color:"white",size:"small","text-color":"primary"},{default:i(()=>[l(" ID: "+x(t.editingConfig.id),1)]),_:1})):D("",!0),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeEditDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[37]||(e[37]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4",style:{"max-height":"70vh","overflow-y":"auto"}},{default:i(()=>[t.editingConfig?(p(),h(c,{key:0,ref:"configEditor","config-id":t.editingConfig.id,"dialog-mode":!0,onDeleted:m.onConfigDeleted,onError:m.onConfigError,onOpened:m.onConfigOpened,onSaved:m.onConfigSaved},null,8,["config-id","onDeleted","onError","onOpened","onSaved"])):D("",!0)]),_:1}),s(T,{class:"pa-4"},{default:i(()=>[s(u,{color:"grey","prepend-icon":"mdi-close",variant:"outlined",onClick:m.closeEditDialog},{default:i(()=>[...e[39]||(e[39]=[l(" 关闭 ",-1)])]),_:1},8,["onClick"]),s(k),s(u,{loading:t.saving,color:"success","prepend-icon":"mdi-content-save",variant:"outlined",onClick:m.saveConfigInDialog},{default:i(()=>[...e[40]||(e[40]=[l(" 保存配置 ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(S,{modelValue:t.importDialog,"onUpdate:modelValue":e[8]||(e[8]=n=>t.importDialog=n),"max-width":"800",persistent:""},{default:i(()=>[s(y,null,{default:i(()=>[s(V,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:i(()=>[s(g,{class:"mr-2",color:"white"},{default:i(()=>[...e[41]||(e[41]=[l("mdi-import",-1)])]),_:1}),e[43]||(e[43]=l(" 导入考试配置 ",-1)),s(k),s(u,{color:"white",icon:"mdi-close",variant:"text",onClick:m.closeImportDialog},{default:i(()=>[s(g,null,{default:i(()=>[...e[42]||(e[42]=[l("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1}),s(v,{class:"pa-4"},{default:i(()=>[t.importError?(p(),h(N,{key:0,border:"start",class:"mb-4",closable:"",type:"error",variant:"tonal","onClick:close":e[6]||(e[6]=n=>t.importError="")},{default:i(()=>[l(x(t.importError),1)]),_:1})):D("",!0),s(K,{modelValue:t.importJson,"onUpdate:modelValue":e[7]||(e[7]=n=>t.importJson=n),rules:[n=>!!n||"JSON内容不能为空"],label:"请输入JSON配置",placeholder:`{ "examName": "期末考试", "message": "考试信息", "room": "01", diff --git a/assets/filter-BOxM3LRL.js b/assets/filter-ByuXXWRY.js similarity index 61% rename from assets/filter-BOxM3LRL.js rename to assets/filter-ByuXXWRY.js index 84f7734..3a42d44 100644 --- a/assets/filter-BOxM3LRL.js +++ b/assets/filter-ByuXXWRY.js @@ -1 +1 @@ -import{f as Je,j as Ge,e as qe,V as Te,g as et}from"./VTextField-C6VOv1Py.js";import{g as me,p as Q,ar as Ve,aH as tt,b7 as lt,bm as Be,bO as nt,cj as Fe,$ as at,ck as ot,ae as Y,b as he,an as De,c as A,aW as Ke,E as _,a1 as H,au as ie,a0 as ee,aw as _e,av as z,aC as He,bn as ut,cl as Ue,cm as rt,cn as st,co as ye,bT as it,cp as ct,cd as ze,i as C,F as ne,h as $e,X as dt,b3 as Se,bb as ft,ba as Ne,bc as pe,c8 as je,ax as We,aS as Xe,bY as vt,by as mt,Z as ht,ca as gt,aJ as fe,n as yt,d as ve,e as pt,f as bt,c6 as wt,aq as kt,aR as Vt,as as Pe,aY as be,v as Me,P as St,Q as Re,cq as Pt,K as It,aU as Ct,L as xt,aV as At,t as Tt,bi as Ft,aX as Ee,aZ as Oe,cr as Dt,a_ as Mt,ah as se}from"./index-Ck0Pnd4f.js";import{V as Rt}from"./VCheckboxBtn-DWqkYNT7.js";import{V as Le}from"./VChip-C4TXrZae.js";const Et=Q({id:String,submenu:Boolean,...He(ut({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:Ue}}),["absolute"])},"VMenu"),Ot=me()({name:"VMenu",props:Et(),emits:{"update:modelValue":e=>!0},setup(e,a){let{slots:t}=a;const n=Ve(e,"modelValue"),{scopeId:u}=tt(),{isRtl:f}=lt(),m=Be(),r=ie(()=>e.id||`v-menu-${m}`),s=ee(),c=nt(Fe,null),i=z(new Set);it(Fe,{register(){i.value.add(m)},unregister(){i.value.delete(m)},closeParents(o){setTimeout(()=>{var d;!i.value.size&&!e.persistent&&(o==null||(d=s.value)!=null&&d.contentEl&&!ct(o,s.value.contentEl))&&(n.value=!1,c==null||c.closeParents())},40)}}),at(()=>c==null?void 0:c.unregister()),ot(()=>n.value=!1),Y(n,o=>{o?c==null||c.register():c==null||c.unregister()},{immediate:!0});function M(o){c==null||c.closeParents(o)}function V(o){var d,h,g,S,E;if(!e.disabled)if(o.key==="Tab"||o.key==="Enter"&&!e.closeOnContentClick){if(o.key==="Enter"&&(o.target instanceof HTMLTextAreaElement||o.target instanceof HTMLInputElement&&o.target.closest("form")))return;o.key==="Enter"&&o.preventDefault(),!rt(st((d=s.value)==null?void 0:d.contentEl,!1),o.shiftKey?"prev":"next",Z=>Z.tabIndex>=0)&&!e.retainFocus&&(n.value=!1,(g=(h=s.value)==null?void 0:h.activatorEl)==null||g.focus())}else e.submenu&&o.key===(f.value?"ArrowRight":"ArrowLeft")&&(n.value=!1,(E=(S=s.value)==null?void 0:S.activatorEl)==null||E.focus())}function b(o){var h;if(e.disabled)return;const d=(h=s.value)==null?void 0:h.contentEl;d&&n.value?o.key==="ArrowDown"?(o.preventDefault(),o.stopImmediatePropagation(),ye(d,"next")):o.key==="ArrowUp"?(o.preventDefault(),o.stopImmediatePropagation(),ye(d,"prev")):e.submenu&&(o.key===(f.value?"ArrowRight":"ArrowLeft")?n.value=!1:o.key===(f.value?"ArrowLeft":"ArrowRight")&&(o.preventDefault(),ye(d,"first"))):(e.submenu?o.key===(f.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(o.key))&&(n.value=!0,o.preventDefault(),setTimeout(()=>setTimeout(()=>b(o))))}const P=H(()=>_({"aria-haspopup":"menu","aria-expanded":String(n.value),"aria-controls":r.value,"aria-owns":r.value,onKeydown:b},e.activatorProps));return he(()=>{const o=De.filterProps(e);return A(De,_({ref:s,id:r.value,class:["v-menu",e.class],style:e.style},o,{modelValue:n.value,"onUpdate:modelValue":d=>n.value=d,absolute:!0,activatorProps:P.value,location:e.location??(e.submenu?"end":"bottom"),"onClick:outside":M,onKeydown:V},u),{activator:t.activator,default:function(){for(var d=arguments.length,h=new Array(d),g=0;g{var S;return[(S=t.default)==null?void 0:S.call(t,...h)]}})}})}),_e({id:r,ΨopenChildren:i},s)}}),Lt=Q({renderless:Boolean,...$e()},"VVirtualScrollItem"),Bt=me()({name:"VVirtualScrollItem",inheritAttrs:!1,props:Lt(),emits:{"update:height":e=>!0},setup(e,a){let{attrs:t,emit:n,slots:u}=a;const{resizeRef:f,contentRect:m}=ze(void 0,"border");Y(()=>{var r;return(r=m.value)==null?void 0:r.height},r=>{r!=null&&n("update:height",r)}),he(()=>{var r,s;return e.renderless?C(ne,null,[(r=u.default)==null?void 0:r.call(u,{itemRef:f})]):C("div",_({ref:f,class:["v-virtual-scroll__item",e.class],style:e.style},t),[(s=u.default)==null?void 0:s.call(u)])})}}),Kt=-1,_t=1,we=100,Ht=Q({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function Ut(e,a){const t=dt(),n=z(0);Se(()=>{n.value=parseFloat(e.itemHeight||0)});const u=z(0),f=z(Math.ceil((parseInt(e.height)||t.height.value)/(n.value||16))||1),m=z(0),r=z(0),s=ee(),c=ee();let i=0;const{resizeRef:M,contentRect:V}=ze();Se(()=>{M.value=s.value});const b=H(()=>{var v;return s.value===document.documentElement?t.height.value:((v=V.value)==null?void 0:v.height)||parseInt(e.height)||0}),P=H(()=>!!(s.value&&c.value&&b.value&&n.value));let o=Array.from({length:a.value.length}),d=Array.from({length:a.value.length});const h=z(0);let g=-1;function S(v){return o[v]||n.value}const E=ft(()=>{const v=performance.now();d[0]=0;const w=a.value.length;for(let T=1;T<=w;T++)d[T]=(d[T-1]||0)+S(T-1);h.value=Math.max(h.value,performance.now()-v)},h),R=Y(P,v=>{v&&(R(),i=c.value.offsetTop,E.immediate(),$(),~g&&We(()=>{Xe&&window.requestAnimationFrame(()=>{re(g),g=-1})}))});Ne(()=>{E.clear()});function Z(v,w){const T=o[v],O=n.value;n.value=O?Math.min(n.value,w):w,(T!==w||O!==n.value)&&(o[v]=w,E())}function B(v){v=pe(v,0,a.value.length);const w=Math.floor(v),T=v%1,O=w+1,G=d[w]||0,l=d[O]||G;return G+(l-G)*T}function I(v){return zt(d,v)}let te=0,J=0,ae=0;Y(b,(v,w)=>{$(),v{J=0,$()})});let oe=-1;function N(){if(!s.value||!c.value)return;const v=s.value.scrollTop,w=performance.now();w-ae>500?(J=Math.sign(v-te),i=c.value.offsetTop):J=v-te,te=v,ae=w,window.clearTimeout(oe),oe=window.setTimeout(ce,500),$()}function ce(){!s.value||!c.value||(J=0,ae=0,window.clearTimeout(oe),$())}let ue=-1;function $(){cancelAnimationFrame(ue),ue=requestAnimationFrame(ge)}function ge(){if(!s.value||!b.value||!n.value)return;const v=te-i,w=Math.sign(J),T=Math.max(0,v-we),O=pe(I(T),0,a.value.length),G=v+b.value+we,l=pe(I(G)+1,O+1,a.value.length);if((w!==Kt||Of.value)){const y=B(u.value)-B(O),F=B(l)-B(f.value);Math.max(y,F)>we?(u.value=O,f.value=l):(O<=0&&(u.value=O),l>=a.value.length&&(f.value=l))}m.value=B(u.value),r.value=B(a.value.length)-B(f.value)}function re(v){const w=B(v);!s.value||v&&!w?g=v:s.value.scrollTop=w}const le=H(()=>a.value.slice(u.value,f.value).map((v,w)=>{const T=w+u.value;return{raw:v,index:T,key:je(v,e.itemKey,T)}}));return Y(a,()=>{o=Array.from({length:a.value.length}),d=Array.from({length:a.value.length}),E.immediate(),$()},{deep:1}),{calculateVisibleItems:$,containerRef:s,markerRef:c,computedItems:le,paddingTop:m,paddingBottom:r,scrollToIndex:re,handleScroll:N,handleScrollend:ce,handleItemResize:Z}}function zt(e,a){let t=e.length-1,n=0,u=0,f=null,m=-1;if(e[t]>1,f=e[u],f>a)t=u-1;else if(f[]},renderless:Boolean,...Ht(),...$e(),...bt()},"VVirtualScroll"),Nt=me()({name:"VVirtualScroll",props:$t(),setup(e,a){let{slots:t}=a;const n=vt("VVirtualScroll"),{dimensionStyles:u}=pt(e),{calculateVisibleItems:f,containerRef:m,markerRef:r,handleScroll:s,handleScrollend:c,handleItemResize:i,scrollToIndex:M,paddingTop:V,paddingBottom:b,computedItems:P}=Ut(e,ie(()=>e.items));return mt(()=>e.renderless,()=>{function o(){var g,S;const h=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";m.value===document.documentElement?(document[h]("scroll",s,{passive:!0}),document[h]("scrollend",c)):((g=m.value)==null||g[h]("scroll",s,{passive:!0}),(S=m.value)==null||S[h]("scrollend",c))}ht(()=>{m.value=gt(n.vnode.el,!0),o(!0)}),Ne(o)}),he(()=>{const o=P.value.map(d=>A(Bt,{key:d.key,renderless:e.renderless,"onUpdate:height":h=>i(d.index,h)},{default:h=>{var g;return(g=t.default)==null?void 0:g.call(t,{item:d.raw,index:d.index,...h})}}));return e.renderless?C(ne,null,[C("div",{ref:r,class:"v-virtual-scroll__spacer",style:{paddingTop:fe(V.value)}},null),o,C("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:fe(b.value)}},null)]):C("div",{ref:m,class:ve(["v-virtual-scroll",e.class]),onScrollPassive:s,onScrollend:c,style:yt([u.value,e.style])},[C("div",{ref:r,class:"v-virtual-scroll__container",style:{paddingTop:fe(V.value),paddingBottom:fe(b.value)}},[o])])}),{calculateVisibleItems:f,scrollToIndex:M}}});function jt(e,a){const t=z(!1);let n;function u(r){cancelAnimationFrame(n),t.value=!0,n=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{t.value=!1})})}async function f(){await new Promise(r=>requestAnimationFrame(r)),await new Promise(r=>requestAnimationFrame(r)),await new Promise(r=>requestAnimationFrame(r)),await new Promise(r=>{if(t.value){const s=Y(t,()=>{s(),r()})}else r()})}async function m(r){var i,M;if(r.key==="Tab"&&((i=a.value)==null||i.focus()),!["PageDown","PageUp","Home","End"].includes(r.key))return;const s=(M=e.value)==null?void 0:M.$el;if(!s)return;(r.key==="Home"||r.key==="End")&&s.scrollTo({top:r.key==="Home"?0:s.scrollHeight,behavior:"smooth"}),await f();const c=s.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(r.key==="PageDown"||r.key==="Home"){const V=s.getBoundingClientRect().top;for(const b of c)if(b.getBoundingClientRect().top>=V){b.focus();break}}else{const V=s.getBoundingClientRect().bottom;for(const b of[...c].reverse())if(b.getBoundingClientRect().bottom<=V){b.focus();break}}}return{onScrollPassive:u,onKeydown:m}}const Wt=Q({closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"}},"autocomplete");function Xt(e,a){const t=Be(),n=H(()=>`menu-${t}`),u=ie(()=>wt(a)),f=ie(()=>n.value);return{menuId:n,ariaExpanded:u,ariaControls:f}}const Yt=Q({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:Mt,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...Wt(),...Dt({itemChildren:!1})},"Select"),Qt=Q({...Yt(),...He(et({modelValue:null,role:"combobox"}),["validationValue","dirty"]),...Ft({transition:{component:Ue}})},"VSelect"),ll=me()({name:"VSelect",props:Qt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,a){let{slots:t}=a;const{t:n}=kt(),u=ee(),f=ee(),m=ee(),{items:r,transformIn:s,transformOut:c}=Vt(e),i=Ve(e,"modelValue",[],l=>s(l===null?[null]:Pe(l)),l=>{const y=c(l);return e.multiple?y:y[0]??null}),M=H(()=>typeof e.counterValue=="function"?e.counterValue(i.value):typeof e.counterValue=="number"?e.counterValue:i.value.length),V=Je(e),b=Ge(e),P=H(()=>i.value.map(l=>l.value)),o=z(!1),d=ie(()=>e.closableChips&&!V.isReadonly.value&&!V.isDisabled.value),{InputIcon:h}=qe(e);let g="",S=0,E;const R=H(()=>e.hideSelected?r.value.filter(l=>!i.value.some(y=>(e.valueComparator||be)(y,l))):r.value),Z=H(()=>e.hideNoData&&!R.value.length||V.isReadonly.value||V.isDisabled.value),B=Ve(e,"menu"),I=H({get:()=>B.value,set:l=>{var y;B.value&&!l&&((y=f.value)!=null&&y.ΨopenChildren.size)||l&&Z.value||(B.value=l)}}),{menuId:te,ariaExpanded:J,ariaControls:ae}=Xt(e,I),oe=H(()=>{var l;return{...e.menuProps,activatorProps:{...((l=e.menuProps)==null?void 0:l.activatorProps)||{},"aria-haspopup":"listbox"}}}),N=ee(),ce=jt(N,u);function ue(l){e.openOnClear&&(I.value=!0)}function $(){Z.value||(I.value=!I.value)}function ge(l){Ee(l)&&re(l)}function re(l){var U,q,x;if(!l.key||V.isReadonly.value)return;if(["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"," "].includes(l.key)&&(I.value=!0),["Escape","Tab"].includes(l.key)&&(I.value=!1),e.clearable&&l.key==="Backspace"){l.preventDefault(),i.value=[],ue();return}l.key==="Home"?(U=N.value)==null||U.focus("first"):l.key==="End"&&((q=N.value)==null||q.focus("last"));const y=1e3;if(!Ee(l))return;const F=performance.now();F-E>y&&(g="",S=0),g+=l.key.toLowerCase(),E=F;const j=R.value;function W(){let k=L();return k||g.at(-1)===g.at(-2)&&(g=g.slice(0,-1),S++,k=L(),k)||(S=0,k=L(),k)?k:(g=l.key.toLowerCase(),L())}function L(){for(let k=S;k1&&arguments[1]!==void 0?arguments[1]:!0;if(!l.props.disabled)if(e.multiple){const F=i.value.findIndex(W=>(e.valueComparator||be)(W.value,l.value)),j=y??!~F;if(~F){const W=j?[...i.value,l]:[...i.value];W.splice(F,1),i.value=W}else j&&(i.value=[...i.value,l])}else{const F=y!==!1;i.value=F?[l]:[],We(()=>{I.value=!1})}}function v(l){var y;(y=N.value)!=null&&y.$el.contains(l.relatedTarget)||(I.value=!1)}function w(){var l;e.eager&&((l=m.value)==null||l.calculateVisibleItems())}function T(){var l;o.value&&((l=u.value)==null||l.focus())}function O(l){o.value=!0}function G(l){if(l==null)i.value=[];else if(Oe(u.value,":autofill")||Oe(u.value,":-webkit-autofill")){const y=r.value.find(F=>F.title===l);y&&le(y)}else u.value&&(u.value.value="")}return Y(I,()=>{if(!e.hideSelected&&I.value&&i.value.length){const l=R.value.findIndex(y=>i.value.some(F=>(e.valueComparator||be)(F.value,y.value)));Xe&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{var y;l>=0&&((y=m.value)==null||y.scrollToIndex(l))})}}),Y(r,(l,y)=>{I.value||o.value&&e.hideNoData&&!y.length&&l.length&&(I.value=!0)}),he(()=>{const l=!!(e.chips||t.chip),y=!!(!e.hideNoData||R.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),F=i.value.length>0,j=Te.filterProps(e),W=F||!o.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder;return A(Te,_({ref:u},j,{modelValue:i.value.map(L=>L.props.title).join(", "),name:void 0,"onUpdate:modelValue":G,focused:o.value,"onUpdate:focused":L=>o.value=L,validationValue:i.externalValue,counterValue:M.value,dirty:F,class:["v-select",{"v-select--active-menu":I.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":i.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:W,"onClick:clear":ue,"onMousedown:control":$,onBlur:v,onKeydown:re,"aria-expanded":J.value,"aria-controls":ae.value}),{...t,default:L=>{let{id:X}=L;return C(ne,null,[C("select",{hidden:!0,multiple:e.multiple,name:b.fieldName.value},[r.value.map(p=>C("option",{key:p.value,value:p.value,selected:P.value.includes(p.value)},null))]),A(Ot,_({id:te.value,ref:f,modelValue:I.value,"onUpdate:modelValue":p=>I.value=p,activator:"parent",contentClass:"v-select__content",disabled:Z.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:w,onAfterLeave:T},oe.value),{default:()=>[y&&A(St,_({ref:N,selected:P.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:p=>p.preventDefault(),onKeydown:ge,onFocusin:O,tabindex:"-1",selectable:!0,"aria-live":"polite","aria-labelledby":`${X.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},ce,e.listProps),{default:()=>{var p,K,U;return[(p=t["prepend-item"])==null?void 0:p.call(t),!R.value.length&&!e.hideNoData&&(((K=t["no-data"])==null?void 0:K.call(t))??A(Re,{key:"no-data",title:n(e.noDataText)},null)),A(Nt,{ref:m,renderless:!0,items:R.value,itemKey:"value"},{default:q=>{var Ce,xe,Ae;let{item:x,index:k,itemRef:D}=q;const de=Pt(x.props),Ie=_(x.props,{ref:D,key:x.value,onClick:()=>le(x,null),"aria-posinset":k+1,"aria-setsize":R.value.length});return x.type==="divider"?((Ce=t.divider)==null?void 0:Ce.call(t,{props:x.raw,index:k}))??A(It,_(x.props,{key:`divider-${k}`}),null):x.type==="subheader"?((xe=t.subheader)==null?void 0:xe.call(t,{props:x.raw,index:k}))??A(Ct,_(x.props,{key:`subheader-${k}`}),null):((Ae=t.item)==null?void 0:Ae.call(t,{item:x,index:k,props:Ie}))??A(Re,_(Ie,{role:"option"}),{prepend:Ye=>{let{isSelected:Qe}=Ye;return C(ne,null,[e.multiple&&!e.hideSelected?A(Rt,{key:x.value,modelValue:Qe,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Ze=>Ze.preventDefault()},null):void 0,de.prependAvatar&&A(xt,{image:de.prependAvatar},null),de.prependIcon&&A(Me,{icon:de.prependIcon},null)])}})}}),(U=t["append-item"])==null?void 0:U.call(t)]}})]}),i.value.map((p,K)=>{function U(D){D.stopPropagation(),D.preventDefault(),le(p,!1)}const q=_(Le.filterProps(p.props),{"onClick:close":U,onKeydown(D){D.key!=="Enter"&&D.key!==" "||(D.preventDefault(),D.stopPropagation(),U(D))},onMousedown(D){D.preventDefault(),D.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),x=l?!!t.chip:!!t.selection,k=x?At(l?t.chip({item:p,index:K,props:q}):t.selection({item:p,index:K})):void 0;if(!(x&&!k))return C("div",{key:p.value,class:"v-select__selection"},[l?t.chip?A(Ke,{key:"chip-defaults",defaults:{VChip:{closable:d.value,size:"small",text:p.title}}},{default:()=>[k]}):A(Le,_({key:"chip",closable:d.value,size:"small",text:p.title,disabled:p.props.disabled},q),null):k??C("span",{class:"v-select__selection-text"},[p.title,e.multiple&&K{if(e==null||a==null)return-1;if(!a.length)return 0;e=e.toString().toLocaleLowerCase(),a=a.toString().toLocaleLowerCase();const n=[];let u=e.indexOf(a);for(;~u;)n.push([u,u+a.length]),u=e.indexOf(a,u+a.length);return n.length?n:-1};function ke(e,a){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+a.length]]:Array.isArray(e[0])?e:[e]}const nl=Q({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Jt(e,a,t){var s;const n=[],u=(t==null?void 0:t.default)??Zt,f=t!=null&&t.filterKeys?Pe(t.filterKeys):!1,m=Object.keys((t==null?void 0:t.customKeyFilter)??{}).length;if(!(e!=null&&e.length))return n;let r=null;e:for(let c=0;c0)&&!(t!=null&&t.noFilter)){let o=!1;if(typeof i=="object"){if(i.type==="divider"||i.type==="subheader"){(r==null?void 0:r.type)==="divider"&&i.type==="subheader"&&n.push(r),r={index:c,matches:{},type:i.type};continue}const g=f||Object.keys(M);o=g.length===m;for(const S of g){const E=je(M,S),R=(s=t==null?void 0:t.customKeyFilter)==null?void 0:s[S];if(P=R?R(E,a,i):u(E,a,i),P!==-1&&P!==!1)R?V[S]=ke(P,a):b[S]=ke(P,a);else if((t==null?void 0:t.filterMode)==="every")continue e}}else P=u(i,a,i),P!==-1&&P!==!1&&(b.title=ke(P,a));const d=Object.keys(b).length,h=Object.keys(V).length;if(!d&&!h||(t==null?void 0:t.filterMode)==="union"&&h!==m&&!d||(t==null?void 0:t.filterMode)==="intersection"&&(h!==m||!d&&m>0&&!o))continue}r&&(n.push(r),r=null),n.push({index:c,matches:{...b,...V}})}return n}function al(e,a,t,n){const u=z([]),f=z(new Map),m=H(()=>n!=null&&n.transform?se(a).map(s=>[s,n.transform(s)]):se(a));Se(()=>{const s=typeof t=="function"?t():se(t),c=typeof s!="string"&&typeof s!="number"?"":String(s),i=Jt(m.value,c,{customKeyFilter:{...e.customKeyFilter,...se(n==null?void 0:n.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),M=se(a),V=[],b=new Map;i.forEach(P=>{let{index:o,matches:d}=P;const h=M[o];V.push(h),b.set(h.value,d)}),u.value=V,f.value=b});function r(s){return f.value.get(s.value)}return{filteredItems:u,filteredMatches:f,getMatches:r}}function ol(e,a,t){return t==null||!t.length?a:t.map((n,u)=>{const f=u===0?0:t[u-1][1],m=[C("span",{class:ve(`${e}__unmask`)},[a.slice(f,n[0])]),C("span",{class:ve(`${e}__mask`)},[a.slice(n[0],n[1])])];return u===t.length-1&&m.push(C("span",{class:ve(`${e}__unmask`)},[a.slice(n[1])])),C(ne,null,[m])})}export{Ot as V,Xt as a,jt as b,Nt as c,nl as d,ll as e,ol as h,Yt as m,al as u}; +import{f as Je,j as Ge,e as qe,V as Te,g as et}from"./VTextField-C579e7l1.js";import{g as me,ar as Ve,aH as tt,b7 as lt,bm as Be,bO as nt,cj as Fe,$ as at,ck as ot,ae as Y,b as he,an as De,c as x,aW as Ke,E as _,au as _e,cl as ut,cm as rt,a3 as H,av as ie,a2 as ee,az as U,p as Q,aA as He,bn as st,cn as ze,co as ye,bT as it,cp as ct,cd as Ue,i as C,F as ne,h as $e,X as dt,b3 as Se,ba as Ne,bc as pe,bb as ft,c8 as je,aw as We,aS as Xe,bY as vt,by as mt,Z as ht,ca as gt,aJ as fe,n as yt,d as ve,e as pt,f as bt,c6 as wt,aq as kt,aR as Vt,as as Pe,aY as be,t as Me,P as St,Q as Re,cq as Pt,K as It,aU as Ct,L as At,aV as xt,v as Tt,aX as Ee,aZ as Oe,bi as Ft,a_ as Dt,cr as Mt,ah as se}from"./index-BUM0TY0E.js";import{V as Rt}from"./VCheckboxBtn-CylQNaxd.js";import{V as Le}from"./VChip-vdRDApTi.js";const Et=Q({id:String,submenu:Boolean,...He(st({captureFocus:!0,closeDelay:250,closeOnContentClick:!0,locationStrategy:"connected",location:void 0,openDelay:300,scrim:!1,scrollStrategy:"reposition",transition:{component:ze}}),["absolute"])},"VMenu"),Ot=me()({name:"VMenu",props:Et(),emits:{"update:modelValue":e=>!0},setup(e,a){let{slots:t}=a;const n=Ve(e,"modelValue"),{scopeId:u}=tt(),{isRtl:f}=lt(),m=Be(),r=ie(()=>e.id||`v-menu-${m}`),s=ee(),c=nt(Fe,null),i=U(new Set);it(Fe,{register(){i.value.add(m)},unregister(){i.value.delete(m)},closeParents(o){setTimeout(()=>{var d;!i.value.size&&!e.persistent&&(o==null||(d=s.value)!=null&&d.contentEl&&!ct(o,s.value.contentEl))&&(n.value=!1,c==null||c.closeParents())},40)}}),at(()=>c==null?void 0:c.unregister()),ot(()=>n.value=!1),Y(n,o=>{o?c==null||c.register():c==null||c.unregister()},{immediate:!0});function M(o){c==null||c.closeParents(o)}function V(o){var d,h,g,S,E;if(!e.disabled)if(o.key==="Tab"||o.key==="Enter"&&!e.closeOnContentClick){if(o.key==="Enter"&&(o.target instanceof HTMLTextAreaElement||o.target instanceof HTMLInputElement&&o.target.closest("form")))return;o.key==="Enter"&&o.preventDefault(),!ut(rt((d=s.value)==null?void 0:d.contentEl,!1),o.shiftKey?"prev":"next",Z=>Z.tabIndex>=0)&&!e.retainFocus&&(n.value=!1,(g=(h=s.value)==null?void 0:h.activatorEl)==null||g.focus())}else e.submenu&&o.key===(f.value?"ArrowRight":"ArrowLeft")&&(n.value=!1,(E=(S=s.value)==null?void 0:S.activatorEl)==null||E.focus())}function b(o){var h;if(e.disabled)return;const d=(h=s.value)==null?void 0:h.contentEl;d&&n.value?o.key==="ArrowDown"?(o.preventDefault(),o.stopImmediatePropagation(),ye(d,"next")):o.key==="ArrowUp"?(o.preventDefault(),o.stopImmediatePropagation(),ye(d,"prev")):e.submenu&&(o.key===(f.value?"ArrowRight":"ArrowLeft")?n.value=!1:o.key===(f.value?"ArrowLeft":"ArrowRight")&&(o.preventDefault(),ye(d,"first"))):(e.submenu?o.key===(f.value?"ArrowLeft":"ArrowRight"):["ArrowDown","ArrowUp"].includes(o.key))&&(n.value=!0,o.preventDefault(),setTimeout(()=>setTimeout(()=>b(o))))}const P=H(()=>_({"aria-haspopup":"menu","aria-expanded":String(n.value),"aria-controls":r.value,"aria-owns":r.value,onKeydown:b},e.activatorProps));return he(()=>{const o=De.filterProps(e);return x(De,_({ref:s,id:r.value,class:["v-menu",e.class],style:e.style},o,{modelValue:n.value,"onUpdate:modelValue":d=>n.value=d,absolute:!0,activatorProps:P.value,location:e.location??(e.submenu?"end":"bottom"),"onClick:outside":M,onKeydown:V},u),{activator:t.activator,default:function(){for(var d=arguments.length,h=new Array(d),g=0;g{var S;return[(S=t.default)==null?void 0:S.call(t,...h)]}})}})}),_e({id:r,ΨopenChildren:i},s)}}),Lt=Q({renderless:Boolean,...$e()},"VVirtualScrollItem"),Bt=me()({name:"VVirtualScrollItem",inheritAttrs:!1,props:Lt(),emits:{"update:height":e=>!0},setup(e,a){let{attrs:t,emit:n,slots:u}=a;const{resizeRef:f,contentRect:m}=Ue(void 0,"border");Y(()=>{var r;return(r=m.value)==null?void 0:r.height},r=>{r!=null&&n("update:height",r)}),he(()=>{var r,s;return e.renderless?C(ne,null,[(r=u.default)==null?void 0:r.call(u,{itemRef:f})]):C("div",_({ref:f,class:["v-virtual-scroll__item",e.class],style:e.style},t),[(s=u.default)==null?void 0:s.call(u)])})}}),Kt=-1,_t=1,we=100,Ht=Q({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function zt(e,a){const t=dt(),n=U(0);Se(()=>{n.value=parseFloat(e.itemHeight||0)});const u=U(0),f=U(Math.ceil((parseInt(e.height)||t.height.value)/(n.value||16))||1),m=U(0),r=U(0),s=ee(),c=ee();let i=0;const{resizeRef:M,contentRect:V}=Ue();Se(()=>{M.value=s.value});const b=H(()=>{var v;return s.value===document.documentElement?t.height.value:((v=V.value)==null?void 0:v.height)||parseInt(e.height)||0}),P=H(()=>!!(s.value&&c.value&&b.value&&n.value));let o=Array.from({length:a.value.length}),d=Array.from({length:a.value.length});const h=U(0);let g=-1;function S(v){return o[v]||n.value}const E=ft(()=>{const v=performance.now();d[0]=0;const w=a.value.length;for(let T=1;T<=w;T++)d[T]=(d[T-1]||0)+S(T-1);h.value=Math.max(h.value,performance.now()-v)},h),R=Y(P,v=>{v&&(R(),i=c.value.offsetTop,E.immediate(),$(),~g&&We(()=>{Xe&&window.requestAnimationFrame(()=>{re(g),g=-1})}))});Ne(()=>{E.clear()});function Z(v,w){const T=o[v],O=n.value;n.value=O?Math.min(n.value,w):w,(T!==w||O!==n.value)&&(o[v]=w,E())}function B(v){v=pe(v,0,a.value.length);const w=Math.floor(v),T=v%1,O=w+1,G=d[w]||0,l=d[O]||G;return G+(l-G)*T}function I(v){return Ut(d,v)}let te=0,J=0,ae=0;Y(b,(v,w)=>{$(),v{J=0,$()})});let oe=-1;function N(){if(!s.value||!c.value)return;const v=s.value.scrollTop,w=performance.now();w-ae>500?(J=Math.sign(v-te),i=c.value.offsetTop):J=v-te,te=v,ae=w,window.clearTimeout(oe),oe=window.setTimeout(ce,500),$()}function ce(){!s.value||!c.value||(J=0,ae=0,window.clearTimeout(oe),$())}let ue=-1;function $(){cancelAnimationFrame(ue),ue=requestAnimationFrame(ge)}function ge(){if(!s.value||!b.value||!n.value)return;const v=te-i,w=Math.sign(J),T=Math.max(0,v-we),O=pe(I(T),0,a.value.length),G=v+b.value+we,l=pe(I(G)+1,O+1,a.value.length);if((w!==Kt||Of.value)){const y=B(u.value)-B(O),F=B(l)-B(f.value);Math.max(y,F)>we?(u.value=O,f.value=l):(O<=0&&(u.value=O),l>=a.value.length&&(f.value=l))}m.value=B(u.value),r.value=B(a.value.length)-B(f.value)}function re(v){const w=B(v);!s.value||v&&!w?g=v:s.value.scrollTop=w}const le=H(()=>a.value.slice(u.value,f.value).map((v,w)=>{const T=w+u.value;return{raw:v,index:T,key:je(v,e.itemKey,T)}}));return Y(a,()=>{o=Array.from({length:a.value.length}),d=Array.from({length:a.value.length}),E.immediate(),$()},{deep:1}),{calculateVisibleItems:$,containerRef:s,markerRef:c,computedItems:le,paddingTop:m,paddingBottom:r,scrollToIndex:re,handleScroll:N,handleScrollend:ce,handleItemResize:Z}}function Ut(e,a){let t=e.length-1,n=0,u=0,f=null,m=-1;if(e[t]>1,f=e[u],f>a)t=u-1;else if(f[]},renderless:Boolean,...Ht(),...$e(),...bt()},"VVirtualScroll"),Nt=me()({name:"VVirtualScroll",props:$t(),setup(e,a){let{slots:t}=a;const n=vt("VVirtualScroll"),{dimensionStyles:u}=pt(e),{calculateVisibleItems:f,containerRef:m,markerRef:r,handleScroll:s,handleScrollend:c,handleItemResize:i,scrollToIndex:M,paddingTop:V,paddingBottom:b,computedItems:P}=zt(e,ie(()=>e.items));return mt(()=>e.renderless,()=>{function o(){var g,S;const h=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:!1)?"addEventListener":"removeEventListener";m.value===document.documentElement?(document[h]("scroll",s,{passive:!0}),document[h]("scrollend",c)):((g=m.value)==null||g[h]("scroll",s,{passive:!0}),(S=m.value)==null||S[h]("scrollend",c))}ht(()=>{m.value=gt(n.vnode.el,!0),o(!0)}),Ne(o)}),he(()=>{const o=P.value.map(d=>x(Bt,{key:d.key,renderless:e.renderless,"onUpdate:height":h=>i(d.index,h)},{default:h=>{var g;return(g=t.default)==null?void 0:g.call(t,{item:d.raw,index:d.index,...h})}}));return e.renderless?C(ne,null,[C("div",{ref:r,class:"v-virtual-scroll__spacer",style:{paddingTop:fe(V.value)}},null),o,C("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:fe(b.value)}},null)]):C("div",{ref:m,class:ve(["v-virtual-scroll",e.class]),onScrollPassive:s,onScrollend:c,style:yt([u.value,e.style])},[C("div",{ref:r,class:"v-virtual-scroll__container",style:{paddingTop:fe(V.value),paddingBottom:fe(b.value)}},[o])])}),{calculateVisibleItems:f,scrollToIndex:M}}});function jt(e,a){const t=U(!1);let n;function u(r){cancelAnimationFrame(n),t.value=!0,n=requestAnimationFrame(()=>{n=requestAnimationFrame(()=>{t.value=!1})})}async function f(){await new Promise(r=>requestAnimationFrame(r)),await new Promise(r=>requestAnimationFrame(r)),await new Promise(r=>requestAnimationFrame(r)),await new Promise(r=>{if(t.value){const s=Y(t,()=>{s(),r()})}else r()})}async function m(r){var i,M;if(r.key==="Tab"&&((i=a.value)==null||i.focus()),!["PageDown","PageUp","Home","End"].includes(r.key))return;const s=(M=e.value)==null?void 0:M.$el;if(!s)return;(r.key==="Home"||r.key==="End")&&s.scrollTo({top:r.key==="Home"?0:s.scrollHeight,behavior:"smooth"}),await f();const c=s.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(r.key==="PageDown"||r.key==="Home"){const V=s.getBoundingClientRect().top;for(const b of c)if(b.getBoundingClientRect().top>=V){b.focus();break}}else{const V=s.getBoundingClientRect().bottom;for(const b of[...c].reverse())if(b.getBoundingClientRect().bottom<=V){b.focus();break}}}return{onScrollPassive:u,onKeydown:m}}const Wt=Q({closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"}},"autocomplete");function Xt(e,a){const t=Be(),n=H(()=>`menu-${t}`),u=ie(()=>wt(a)),f=ie(()=>n.value);return{menuId:n,ariaExpanded:u,ariaControls:f}}const Yt=Q({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuIcon:{type:Dt,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...Wt(),...Mt({itemChildren:!1})},"Select"),Qt=Q({...Yt(),...He(et({modelValue:null,role:"combobox"}),["validationValue","dirty"]),...Ft({transition:{component:ze}})},"VSelect"),ll=me()({name:"VSelect",props:Qt(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0},setup(e,a){let{slots:t}=a;const{t:n}=kt(),u=ee(),f=ee(),m=ee(),{items:r,transformIn:s,transformOut:c}=Vt(e),i=Ve(e,"modelValue",[],l=>s(l===null?[null]:Pe(l)),l=>{const y=c(l);return e.multiple?y:y[0]??null}),M=H(()=>typeof e.counterValue=="function"?e.counterValue(i.value):typeof e.counterValue=="number"?e.counterValue:i.value.length),V=Je(e),b=Ge(e),P=H(()=>i.value.map(l=>l.value)),o=U(!1),d=ie(()=>e.closableChips&&!V.isReadonly.value&&!V.isDisabled.value),{InputIcon:h}=qe(e);let g="",S=0,E;const R=H(()=>e.hideSelected?r.value.filter(l=>!i.value.some(y=>(e.valueComparator||be)(y,l))):r.value),Z=H(()=>e.hideNoData&&!R.value.length||V.isReadonly.value||V.isDisabled.value),B=Ve(e,"menu"),I=H({get:()=>B.value,set:l=>{var y;B.value&&!l&&((y=f.value)!=null&&y.ΨopenChildren.size)||l&&Z.value||(B.value=l)}}),{menuId:te,ariaExpanded:J,ariaControls:ae}=Xt(e,I),oe=H(()=>{var l;return{...e.menuProps,activatorProps:{...((l=e.menuProps)==null?void 0:l.activatorProps)||{},"aria-haspopup":"listbox"}}}),N=ee(),ce=jt(N,u);function ue(l){e.openOnClear&&(I.value=!0)}function $(){Z.value||(I.value=!I.value)}function ge(l){Ee(l)&&re(l)}function re(l){var z,q,A;if(!l.key||V.isReadonly.value)return;if(["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(l.key)&&l.preventDefault(),["Enter","ArrowDown"," "].includes(l.key)&&(I.value=!0),["Escape","Tab"].includes(l.key)&&(I.value=!1),e.clearable&&l.key==="Backspace"){l.preventDefault(),i.value=[],ue();return}l.key==="Home"?(z=N.value)==null||z.focus("first"):l.key==="End"&&((q=N.value)==null||q.focus("last"));const y=1e3;if(!Ee(l))return;const F=performance.now();F-E>y&&(g="",S=0),g+=l.key.toLowerCase(),E=F;const j=R.value;function W(){let k=L();return k||g.at(-1)===g.at(-2)&&(g=g.slice(0,-1),S++,k=L(),k)||(S=0,k=L(),k)?k:(g=l.key.toLowerCase(),L())}function L(){for(let k=S;k1&&arguments[1]!==void 0?arguments[1]:!0;if(!l.props.disabled)if(e.multiple){const F=i.value.findIndex(W=>(e.valueComparator||be)(W.value,l.value)),j=y??!~F;if(~F){const W=j?[...i.value,l]:[...i.value];W.splice(F,1),i.value=W}else j&&(i.value=[...i.value,l])}else{const F=y!==!1;i.value=F?[l]:[],We(()=>{I.value=!1})}}function v(l){var y;(y=N.value)!=null&&y.$el.contains(l.relatedTarget)||(I.value=!1)}function w(){var l;e.eager&&((l=m.value)==null||l.calculateVisibleItems())}function T(){var l;o.value&&((l=u.value)==null||l.focus())}function O(l){o.value=!0}function G(l){if(l==null)i.value=[];else if(Oe(u.value,":autofill")||Oe(u.value,":-webkit-autofill")){const y=r.value.find(F=>F.title===l);y&&le(y)}else u.value&&(u.value.value="")}return Y(I,()=>{if(!e.hideSelected&&I.value&&i.value.length){const l=R.value.findIndex(y=>i.value.some(F=>(e.valueComparator||be)(F.value,y.value)));Xe&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{var y;l>=0&&((y=m.value)==null||y.scrollToIndex(l))})}}),Y(r,(l,y)=>{I.value||o.value&&e.hideNoData&&!y.length&&l.length&&(I.value=!0)}),he(()=>{const l=!!(e.chips||t.chip),y=!!(!e.hideNoData||R.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),F=i.value.length>0,j=Te.filterProps(e),W=F||!o.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder;return x(Te,_({ref:u},j,{modelValue:i.value.map(L=>L.props.title).join(", "),name:void 0,"onUpdate:modelValue":G,focused:o.value,"onUpdate:focused":L=>o.value=L,validationValue:i.externalValue,counterValue:M.value,dirty:F,class:["v-select",{"v-select--active-menu":I.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":i.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:W,"onClick:clear":ue,"onMousedown:control":$,onBlur:v,onKeydown:re,"aria-expanded":J.value,"aria-controls":ae.value}),{...t,default:L=>{let{id:X}=L;return C(ne,null,[C("select",{hidden:!0,multiple:e.multiple,name:b.fieldName.value},[r.value.map(p=>C("option",{key:p.value,value:p.value,selected:P.value.includes(p.value)},null))]),x(Ot,_({id:te.value,ref:f,modelValue:I.value,"onUpdate:modelValue":p=>I.value=p,activator:"parent",contentClass:"v-select__content",disabled:Z.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:w,onAfterLeave:T},oe.value),{default:()=>[y&&x(St,_({ref:N,selected:P.value,selectStrategy:e.multiple?"independent":"single-independent",onMousedown:p=>p.preventDefault(),onKeydown:ge,onFocusin:O,tabindex:"-1",selectable:!!R.value.length,"aria-live":"polite","aria-labelledby":`${X.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},ce,e.listProps),{default:()=>{var p,K,z;return[(p=t["prepend-item"])==null?void 0:p.call(t),!R.value.length&&!e.hideNoData&&(((K=t["no-data"])==null?void 0:K.call(t))??x(Re,{key:"no-data",title:n(e.noDataText)},null)),x(Nt,{ref:m,renderless:!0,items:R.value,itemKey:"value"},{default:q=>{var Ce,Ae,xe;let{item:A,index:k,itemRef:D}=q;const de=Pt(A.props),Ie=_(A.props,{ref:D,key:A.value,onClick:()=>le(A,null),"aria-posinset":k+1,"aria-setsize":R.value.length});return A.type==="divider"?((Ce=t.divider)==null?void 0:Ce.call(t,{props:A.raw,index:k}))??x(It,_(A.props,{key:`divider-${k}`}),null):A.type==="subheader"?((Ae=t.subheader)==null?void 0:Ae.call(t,{props:A.raw,index:k}))??x(Ct,_(A.props,{key:`subheader-${k}`}),null):((xe=t.item)==null?void 0:xe.call(t,{item:A,index:k,props:Ie}))??x(Re,_(Ie,{role:"option"}),{prepend:Ye=>{let{isSelected:Qe}=Ye;return C(ne,null,[e.multiple&&!e.hideSelected?x(Rt,{key:A.value,modelValue:Qe,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:Ze=>Ze.preventDefault()},null):void 0,de.prependAvatar&&x(At,{image:de.prependAvatar},null),de.prependIcon&&x(Me,{icon:de.prependIcon},null)])}})}}),(z=t["append-item"])==null?void 0:z.call(t)]}})]}),i.value.map((p,K)=>{function z(D){D.stopPropagation(),D.preventDefault(),le(p,!1)}const q=_(Le.filterProps(p.props),{"onClick:close":z,onKeydown(D){D.key!=="Enter"&&D.key!==" "||(D.preventDefault(),D.stopPropagation(),z(D))},onMousedown(D){D.preventDefault(),D.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),A=l?!!t.chip:!!t.selection,k=A?xt(l?t.chip({item:p,index:K,props:q}):t.selection({item:p,index:K})):void 0;if(!(A&&!k))return C("div",{key:p.value,class:"v-select__selection"},[l?t.chip?x(Ke,{key:"chip-defaults",defaults:{VChip:{closable:d.value,size:"small",text:p.title}}},{default:()=>[k]}):x(Le,_({key:"chip",closable:d.value,size:"small",text:p.title,disabled:p.props.disabled},q),null):k??C("span",{class:"v-select__selection-text"},[p.title,e.multiple&&K{if(e==null||a==null)return-1;if(!a.length)return 0;e=e.toString().toLocaleLowerCase(),a=a.toString().toLocaleLowerCase();const n=[];let u=e.indexOf(a);for(;~u;)n.push([u,u+a.length]),u=e.indexOf(a,u+a.length);return n.length?n:-1};function ke(e,a){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+a.length]]:Array.isArray(e[0])?e:[e]}const nl=Q({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Jt(e,a,t){var s;const n=[],u=(t==null?void 0:t.default)??Zt,f=t!=null&&t.filterKeys?Pe(t.filterKeys):!1,m=Object.keys((t==null?void 0:t.customKeyFilter)??{}).length;if(!(e!=null&&e.length))return n;let r=null;e:for(let c=0;c0)&&!(t!=null&&t.noFilter)){let o=!1;if(typeof i=="object"){if(i.type==="divider"||i.type==="subheader"){(r==null?void 0:r.type)==="divider"&&i.type==="subheader"&&n.push(r),r={index:c,matches:{},type:i.type};continue}const g=f||Object.keys(M);o=g.length===m;for(const S of g){const E=je(M,S),R=(s=t==null?void 0:t.customKeyFilter)==null?void 0:s[S];if(P=R?R(E,a,i):u(E,a,i),P!==-1&&P!==!1)R?V[S]=ke(P,a):b[S]=ke(P,a);else if((t==null?void 0:t.filterMode)==="every")continue e}}else P=u(i,a,i),P!==-1&&P!==!1&&(b.title=ke(P,a));const d=Object.keys(b).length,h=Object.keys(V).length;if(!d&&!h||(t==null?void 0:t.filterMode)==="union"&&h!==m&&!d||(t==null?void 0:t.filterMode)==="intersection"&&(h!==m||!d&&m>0&&!o))continue}r&&(n.push(r),r=null),n.push({index:c,matches:{...b,...V}})}return n}function al(e,a,t,n){const u=U([]),f=U(new Map),m=H(()=>n!=null&&n.transform?se(a).map(s=>[s,n.transform(s)]):se(a));Se(()=>{const s=typeof t=="function"?t():se(t),c=typeof s!="string"&&typeof s!="number"?"":String(s),i=Jt(m.value,c,{customKeyFilter:{...e.customKeyFilter,...se(n==null?void 0:n.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),M=se(a),V=[],b=new Map;i.forEach(P=>{let{index:o,matches:d}=P;const h=M[o];V.push(h),b.set(h.value,d)}),u.value=V,f.value=b});function r(s){return f.value.get(s.value)}return{filteredItems:u,filteredMatches:f,getMatches:r}}function ol(e,a,t){return t==null||!t.length?a:t.map((n,u)=>{const f=u===0?0:t[u-1][1],m=[C("span",{class:ve(`${e}__unmask`)},[a.slice(f,n[0])]),C("span",{class:ve(`${e}__mask`)},[a.slice(n[0],n[1])])];return u===t.length-1&&m.push(C("span",{class:ve(`${e}__unmask`)},[a.slice(n[1])])),C(ne,null,[m])})}export{Ot as V,Xt as a,Nt as b,jt as c,nl as d,ll as e,ol as h,Yt as m,al as u}; diff --git a/assets/index-BUM0TY0E.js b/assets/index-BUM0TY0E.js new file mode 100644 index 0000000..da7592a --- /dev/null +++ b/assets/index-BUM0TY0E.js @@ -0,0 +1,74 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./default-BdaTlbaW.js","./default-CmdaPMSp.css","./index-DDM9P6IV.js","./ExamConfigEditor-BzFaHh6i.js","./dataProvider-MQ8YacC2.js","./serverRotation-CjK7Y7P9.js","./VAlert-DFIvt6kt.js","./VAlert-D_OX1cfW.css","./VSkeletonLoader-DX2FpkIS.js","./VSkeletonLoader-C11ZEozu.css","./VTooltip-COe_nB02.js","./VTooltip-D7EaNDeY.css","./VChip-vdRDApTi.js","./VChip-Dmz_1Lnv.css","./VRow-CPw1R1BU.js","./VTextField-C579e7l1.js","./VTextField-D1VSzmed.css","./VTextarea-jqnFSwaH.js","./VTextarea-_xVwaw_z.css","./VSwitch-CjVC2rsZ.js","./VSwitch-C87GkfUP.css","./filter-ByuXXWRY.js","./VCheckboxBtn-CylQNaxd.js","./filter-DEjKrR5R.css","./VSheet-CuIjBtz7.js","./VSheet-DW_b51tO.css","./ExamConfigEditor-CrmzhmtU.css","./socketClient-BEFY8Nxz.js","./VCombobox-B-HflrVw.js","./VAppBarTitle-DZ_l7t3b.js","./VAppBarTitle-DHaTV8xv.css","./VCombobox-BLfr31LE.css","./deviceEvents-Dj8WEgqu.js","./VPagination-CbPhc6Cb.js","./VPagination-DNe_r2rg.css","./VContainer-DakLDC1m.js","./VForm-Bz_LQtPX.js","./VExpansionPanels-DzF6AfvT.js","./VExpansionPanels-kEj4ZJQK.css","./index-CuoHvzZv.css","./404-BUV7S865.js","./authorize-B6ScKHRa.js","./CacheManagement-DoF_G4xZ.js","./cses2wakeup-CFK6QLBO.js","./VTabsWindowItem-DtW2SDNN.js","./VTabsWindowItem-DsCcWpt1.css","./cses2wakeup-V9ZvMok7.css","./debug-KU27ZD5S.js","./debug-CbS14biG.css","./debug-init-CBNN17PW.js","./debug-socket-sq4UK_d2.js","./_id_-9DDLDO6h.js","./examschedule-DlYuJdDl.js","./examschedule-CU_Gxm4i.css","./index-bqvMdhMd.js","./_id_-DzoDISsJ.js","./settings-BmFKtRQg.js","./settings-eh31GxG-.css","./socket-debugger-qP6I1v4J.js","./socket-debugger-ykBk0O32.css"])))=>i.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const KE="modulepreload",YE=function(e,t){return new URL(e,t).href},uh={},ht=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),c=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));s=Promise.allSettled(n.map(l=>{if(l=YE(l,r),l in uh)return;uh[l]=!0;const u=l.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(!!r)for(let p=o.length-1;p>=0;p--){const m=o[p];if(m.href===l&&(!u||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${f}`))return;const h=document.createElement("link");if(h.rel=u?"stylesheet":KE,u||(h.as="script"),h.crossOrigin="",h.href=l,c&&h.setAttribute("nonce",c),document.head.appendChild(h),u)return new Promise((p,m)=>{h.addEventListener("load",p),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})}))}function i(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})};/** +* @vue/shared v3.5.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function bf(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Be={},Ws=[],On=()=>{},Qg=()=>!1,Cc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Sf=e=>e.startsWith("onUpdate:"),ot=Object.assign,Ef=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},XE=Object.prototype.hasOwnProperty,Le=(e,t)=>XE.call(e,t),fe=Array.isArray,js=e=>Ic(e)==="[object Map]",ey=e=>Ic(e)==="[object Set]",ge=e=>typeof e=="function",Ze=e=>typeof e=="string",ir=e=>typeof e=="symbol",He=e=>e!==null&&typeof e=="object",ty=e=>(He(e)||ge(e))&&ge(e.then)&&ge(e.catch),ny=Object.prototype.toString,Ic=e=>ny.call(e),JE=e=>Ic(e).slice(8,-1),ry=e=>Ic(e)==="[object Object]",kc=e=>Ze(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ji=bf(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),xc=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ZE=/-\w/g,Pt=xc(e=>e.replace(ZE,t=>t.slice(1).toUpperCase())),QE=/\B([A-Z])/g,Pr=xc(e=>e.replace(QE,"-$1").toLowerCase()),pi=xc(e=>e.charAt(0).toUpperCase()+e.slice(1)),ul=xc(e=>e?`on${pi(e)}`:""),Er=(e,t)=>!Object.is(e,t),Sa=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},wf=e=>{const t=parseFloat(e);return isNaN(t)?e:t},e0=e=>{const t=Ze(e)?Number(e):NaN;return isNaN(t)?e:t};let fh;const Rc=()=>fh||(fh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ze(e){if(fe(e)){const t={};for(let n=0;n{if(n){const r=n.split(n0);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Re(e){let t="";if(Ze(e))t=e;else if(fe(e))for(let n=0;n!!(e&&e.__v_isRef===!0),dn=e=>Ze(e)?e:e==null?"":fe(e)||He(e)&&(e.toString===ny||!ge(e.toString))?oy(e)?dn(e.value):JSON.stringify(e,ay,2):String(e),ay=(e,t)=>oy(t)?ay(e,t.value):js(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[fl(r,i)+" =>"]=s,n),{})}:ey(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>fl(n))}:ir(t)?fl(t):He(t)&&!fe(t)&&!ry(t)?String(t):t,fl=(e,t="")=>{var n;return ir(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let St;class cy{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=St,!t&&St&&(this.index=(St.scopes||(St.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&&(St=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(qi){let t=qi;for(qi=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;zi;){let t=zi;for(zi=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function dy(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function hy(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),kf(r),a0(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function cu(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(py(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function py(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ao)||(e.globalVersion=ao,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!cu(e))))return;e.flags|=2;const t=e.dep,n=We,r=hn;We=e,hn=!0;try{dy(e);const s=e.fn(e._value);(t.version===0||Er(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{We=n,hn=r,hy(e),e.flags&=-3}}function kf(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)kf(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function a0(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let hn=!0;const my=[];function Xn(){my.push(hn),hn=!1}function Jn(){const e=my.pop();hn=e===void 0?!0:e}function dh(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=We;We=void 0;try{t()}finally{We=n}}}let ao=0;class c0{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 xf{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(!We||!hn||We===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==We)n=this.activeLink=new c0(We,this),We.deps?(n.prevDep=We.depsTail,We.depsTail.nextDep=n,We.depsTail=n):We.deps=We.depsTail=n,gy(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=We.depsTail,n.nextDep=void 0,We.depsTail.nextDep=n,We.depsTail=n,We.deps===n&&(We.deps=r)}return n}trigger(t){this.version++,ao++,this.notify(t)}notify(t){Cf();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{If()}}}function gy(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)gy(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Va=new WeakMap,es=Symbol(""),lu=Symbol(""),co=Symbol("");function Et(e,t,n){if(hn&&We){let r=Va.get(e);r||Va.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new xf),s.map=r,s.key=n),s.track()}}function Un(e,t,n,r,s,i){const o=Va.get(e);if(!o){ao++;return}const a=c=>{c&&c.trigger()};if(Cf(),t==="clear")o.forEach(a);else{const c=fe(e),l=c&&kc(n);if(c&&n==="length"){const u=Number(r);o.forEach((f,d)=>{(d==="length"||d===co||!ir(d)&&d>=u)&&a(f)})}else switch((n!==void 0||o.has(void 0))&&a(o.get(n)),l&&a(o.get(co)),t){case"add":c?l&&a(o.get("length")):(a(o.get(es)),js(e)&&a(o.get(lu)));break;case"delete":c||(a(o.get(es)),js(e)&&a(o.get(lu)));break;case"set":js(e)&&a(o.get(es));break}}If()}function l0(e,t){const n=Va.get(e);return n&&n.get(t)}function Es(e){const t=ue(e);return t===e?t:(Et(t,"iterate",co),Gt(e)?t:t.map(pn))}function Ac(e){return Et(e=ue(e),"iterate",co),e}function gr(e,t){return Zn(e)?Js(jn(e)?pn(t):t):pn(t)}const u0={__proto__:null,[Symbol.iterator](){return hl(this,Symbol.iterator,e=>gr(this,e))},concat(...e){return Es(this).concat(...e.map(t=>fe(t)?Es(t):t))},entries(){return hl(this,"entries",e=>(e[1]=gr(this,e[1]),e))},every(e,t){return Ln(this,"every",e,t,void 0,arguments)},filter(e,t){return Ln(this,"filter",e,t,n=>n.map(r=>gr(this,r)),arguments)},find(e,t){return Ln(this,"find",e,t,n=>gr(this,n),arguments)},findIndex(e,t){return Ln(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ln(this,"findLast",e,t,n=>gr(this,n),arguments)},findLastIndex(e,t){return Ln(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ln(this,"forEach",e,t,void 0,arguments)},includes(...e){return pl(this,"includes",e)},indexOf(...e){return pl(this,"indexOf",e)},join(e){return Es(this).join(e)},lastIndexOf(...e){return pl(this,"lastIndexOf",e)},map(e,t){return Ln(this,"map",e,t,void 0,arguments)},pop(){return Ni(this,"pop")},push(...e){return Ni(this,"push",e)},reduce(e,...t){return hh(this,"reduce",e,t)},reduceRight(e,...t){return hh(this,"reduceRight",e,t)},shift(){return Ni(this,"shift")},some(e,t){return Ln(this,"some",e,t,void 0,arguments)},splice(...e){return Ni(this,"splice",e)},toReversed(){return Es(this).toReversed()},toSorted(e){return Es(this).toSorted(e)},toSpliced(...e){return Es(this).toSpliced(...e)},unshift(...e){return Ni(this,"unshift",e)},values(){return hl(this,"values",e=>gr(this,e))}};function hl(e,t,n){const r=Ac(e),s=r[t]();return r!==e&&!Gt(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const f0=Array.prototype;function Ln(e,t,n,r,s,i){const o=Ac(e),a=o!==e&&!Gt(e),c=o[t];if(c!==f0[t]){const f=c.apply(e,i);return a?pn(f):f}let l=n;o!==e&&(a?l=function(f,d){return n.call(this,gr(e,f),d,e)}:n.length>2&&(l=function(f,d){return n.call(this,f,d,e)}));const u=c.call(o,l,r);return a&&s?s(u):u}function hh(e,t,n,r){const s=Ac(e);let i=n;return s!==e&&(Gt(e)?n.length>3&&(i=function(o,a,c){return n.call(this,o,a,c,e)}):i=function(o,a,c){return n.call(this,o,gr(e,a),c,e)}),s[t](i,...r)}function pl(e,t,n){const r=ue(e);Et(r,"iterate",co);const s=r[t](...n);return(s===-1||s===!1)&&Oc(n[0])?(n[0]=ue(n[0]),r[t](...n)):s}function Ni(e,t,n=[]){Xn(),Cf();const r=ue(e)[t].apply(e,n);return If(),Jn(),r}const d0=bf("__proto__,__v_isRef,__isVue"),yy=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ir));function h0(e){ir(e)||(e=String(e));const t=ue(this);return Et(t,"has",e),t.hasOwnProperty(e)}class vy{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?w0:Ey:i?Sy:by).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=fe(t);if(!s){let c;if(o&&(c=u0[n]))return c;if(n==="hasOwnProperty")return h0}const a=Reflect.get(t,n,qe(t)?t:r);if((ir(n)?yy.has(n):d0(n))||(s||Et(t,"get",n),i))return a;if(qe(a)){const c=o&&kc(n)?a:a.value;return s&&He(c)?Xs(c):c}return He(a)?s?Xs(a):lt(a):a}}class _y extends vy{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];const o=fe(t)&&kc(n);if(!this._isShallow){const l=Zn(i);if(!Gt(r)&&!Zn(r)&&(i=ue(i),r=ue(r)),!o&&qe(i)&&!qe(r))return l||(i.value=r),!0}const a=o?Number(n)e,na=e=>Reflect.getPrototypeOf(e);function v0(e,t,n){return function(...r){const s=this.__v_raw,i=ue(s),o=js(i),a=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,l=s[e](...r),u=n?uu:t?Js:pn;return!t&&Et(i,"iterate",c?lu:es),ot(Object.create(l),{next(){const{value:f,done:d}=l.next();return d?{value:f,done:d}:{value:a?[u(f[0]),u(f[1])]:u(f),done:d}}})}}function ra(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function _0(e,t){const n={get(s){const i=this.__v_raw,o=ue(i),a=ue(s);e||(Er(s,a)&&Et(o,"get",s),Et(o,"get",a));const{has:c}=na(o),l=t?uu:e?Js:pn;if(c.call(o,s))return l(i.get(s));if(c.call(o,a))return l(i.get(a));i!==o&&i.get(s)},get size(){const s=this.__v_raw;return!e&&Et(ue(s),"iterate",es),s.size},has(s){const i=this.__v_raw,o=ue(i),a=ue(s);return e||(Er(s,a)&&Et(o,"has",s),Et(o,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const o=this,a=o.__v_raw,c=ue(a),l=t?uu:e?Js:pn;return!e&&Et(c,"iterate",es),a.forEach((u,f)=>s.call(i,l(u),l(f),o))}};return ot(n,e?{add:ra("add"),set:ra("set"),delete:ra("delete"),clear:ra("clear")}:{add(s){!t&&!Gt(s)&&!Zn(s)&&(s=ue(s));const i=ue(this);return na(i).has.call(i,s)||(i.add(s),Un(i,"add",s,s)),this},set(s,i){!t&&!Gt(i)&&!Zn(i)&&(i=ue(i));const o=ue(this),{has:a,get:c}=na(o);let l=a.call(o,s);l||(s=ue(s),l=a.call(o,s));const u=c.call(o,s);return o.set(s,i),l?Er(i,u)&&Un(o,"set",s,i):Un(o,"add",s,i),this},delete(s){const i=ue(this),{has:o,get:a}=na(i);let c=o.call(i,s);c||(s=ue(s),c=o.call(i,s)),a&&a.call(i,s);const l=i.delete(s);return c&&Un(i,"delete",s,void 0),l},clear(){const s=ue(this),i=s.size!==0,o=s.clear();return i&&Un(s,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=v0(s,e,t)}),n}function Rf(e,t){const n=_0(e,t);return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(Le(n,s)&&s in r?n:r,s,i)}const b0={get:Rf(!1,!1)},S0={get:Rf(!1,!0)},E0={get:Rf(!0,!1)};const by=new WeakMap,Sy=new WeakMap,Ey=new WeakMap,w0=new WeakMap;function T0(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function C0(e){return e.__v_skip||!Object.isExtensible(e)?0:T0(JE(e))}function lt(e){return Zn(e)?e:Af(e,!1,m0,b0,by)}function wy(e){return Af(e,!1,y0,S0,Sy)}function Xs(e){return Af(e,!0,g0,E0,Ey)}function Af(e,t,n,r,s){if(!He(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=C0(e);if(i===0)return e;const o=s.get(e);if(o)return o;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function jn(e){return Zn(e)?jn(e.__v_raw):!!(e&&e.__v_isReactive)}function Zn(e){return!!(e&&e.__v_isReadonly)}function Gt(e){return!!(e&&e.__v_isShallow)}function Oc(e){return e?!!e.__v_raw:!1}function ue(e){const t=e&&e.__v_raw;return t?ue(t):e}function Of(e){return!Le(e,"__v_skip")&&Object.isExtensible(e)&&sy(e,"__v_skip",!0),e}const pn=e=>He(e)?lt(e):e,Js=e=>He(e)?Xs(e):e;function qe(e){return e?e.__v_isRef===!0:!1}function Ee(e){return Ty(e,!1)}function be(e){return Ty(e,!0)}function Ty(e,t){return qe(e)?e:new I0(e,t)}class I0{constructor(t,n){this.dep=new xf,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:ue(t),this._value=n?t:pn(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||Gt(t)||Zn(t);t=r?t:ue(t),Er(t,n)&&(this._rawValue=t,this._value=r?t:pn(t),this.dep.trigger())}}function Ft(e){return qe(e)?e.value:e}function mt(e){return ge(e)?e():Ft(e)}const k0={get:(e,t,n)=>t==="__v_raw"?e:Ft(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return qe(s)&&!qe(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function Cy(e){return jn(e)?e:new Proxy(e,k0)}function Mf(e){const t=fe(e)?new Array(e.length):{};for(const n in e)t[n]=Iy(e,n);return t}class x0{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._raw=ue(t);let s=!0,i=t;if(!fe(t)||!kc(String(n)))do s=!Oc(i)||Gt(i);while(s&&(i=i.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=Ft(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&qe(this._raw[this._key])){const n=this._object[this._key];if(qe(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return l0(this._raw,this._key)}}class R0{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 Q(e,t,n){return qe(e)?e:ge(e)?new R0(e):He(e)&&arguments.length>1?Iy(e,t,n):Ee(e)}function Iy(e,t,n){return new x0(e,t,n)}class A0{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new xf(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ao-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&We!==this)return fy(this,!0),!0}get value(){const t=this.dep.track();return py(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function O0(e,t,n=!1){let r,s;return ge(e)?r=e:(r=e.get,s=e.set),new A0(r,s,n)}const sa={},Ua=new WeakMap;let Gr;function M0(e,t=!1,n=Gr){if(n){let r=Ua.get(n);r||Ua.set(n,r=[]),r.push(e)}}function P0(e,t,n=Be){const{immediate:r,deep:s,once:i,scheduler:o,augmentJob:a,call:c}=n,l=T=>s?T:Gt(T)||s===!1||s===0?Wn(T,1):Wn(T);let u,f,d,h,p=!1,m=!1;if(qe(e)?(f=()=>e.value,p=Gt(e)):jn(e)?(f=()=>l(e),p=!0):fe(e)?(m=!0,p=e.some(T=>jn(T)||Gt(T)),f=()=>e.map(T=>{if(qe(T))return T.value;if(jn(T))return l(T);if(ge(T))return c?c(T,2):T()})):ge(e)?t?f=c?()=>c(e,2):e:f=()=>{if(d){Xn();try{d()}finally{Jn()}}const T=Gr;Gr=u;try{return c?c(e,3,[h]):e(h)}finally{Gr=T}}:f=On,t&&s){const T=f,O=s===!0?1/0:s;f=()=>Wn(T(),O)}const y=Tf(),g=()=>{u.stop(),y&&y.active&&Ef(y.effects,u)};if(i&&t){const T=t;t=(...O)=>{T(...O),g()}}let v=m?new Array(e.length).fill(sa):sa;const _=T=>{if(!(!(u.flags&1)||!u.dirty&&!T))if(t){const O=u.run();if(s||p||(m?O.some((R,E)=>Er(R,v[E])):Er(O,v))){d&&d();const R=Gr;Gr=u;try{const E=[O,v===sa?void 0:m&&v[0]===sa?[]:v,h];v=O,c?c(t,3,E):t(...E)}finally{Gr=R}}}else u.run()};return a&&a(_),u=new ly(f),u.scheduler=o?()=>o(_,!1):_,h=T=>M0(T,!1,u),d=u.onStop=()=>{const T=Ua.get(u);if(T){if(c)c(T,4);else for(const O of T)O();Ua.delete(u)}},t?r?_(!0):v=u.run():o?o(_.bind(null,!0),!0):u.run(),g.pause=u.pause.bind(u),g.resume=u.resume.bind(u),g.stop=g,g}function Wn(e,t=1/0,n){if(t<=0||!He(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,qe(e))Wn(e.value,t,n);else if(fe(e))for(let r=0;r{Wn(r,t,n)});else if(ry(e)){for(const r in e)Wn(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Wn(e[r],t,n)}return e}/** +* @vue/runtime-core v3.5.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Po(e,t,n,r){try{return r?e(...r):e()}catch(s){Mc(s,t,n)}}function mn(e,t,n,r){if(ge(e)){const s=Po(e,t,n,r);return s&&ty(s)&&s.catch(i=>{Mc(i,t,n)}),s}if(fe(e)){const s=[];for(let i=0;i>>1,s=Ot[r],i=lo(s);i=lo(n)?Ot.push(e):Ot.splice(L0(t),0,e),e.flags|=1,xy()}}function xy(){Wa||(Wa=ky.then(Ay))}function D0(e){fe(e)?zs.push(...e):yr&&e.id===-1?yr.splice(As+1,0,e):e.flags&1||(zs.push(e),e.flags|=1),xy()}function ph(e,t,n=wn+1){for(;nlo(n)-lo(r));if(zs.length=0,yr){yr.push(...t);return}for(yr=t,As=0;Ase.id==null?e.flags&2?-1:1/0:e.id;function Ay(e){try{for(wn=0;wn{r._d&&Ga(-1);const i=ja(t);let o;try{o=e(...s)}finally{ja(i),r._d&&Ga(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function us(e,t){if(gt===null)return e;const n=$c(gt),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&ge(t)?t.call(r&&r.proxy):t}}function F0(){return!!(mi()||ts)}const $0=Symbol.for("v-scx"),B0=()=>Oe($0);function on(e,t){return Nf(e,null,t)}function Se(e,t,n){return Nf(e,t,n)}function Nf(e,t,n=Be){const{immediate:r,deep:s,flush:i,once:o}=n,a=ot({},n),c=t&&r||!t&&i!=="post";let l;if(ho){if(i==="sync"){const h=B0();l=h.__watcherHandles||(h.__watcherHandles=[])}else if(!c){const h=()=>{};return h.stop=On,h.resume=On,h.pause=On,h}}const u=wt;a.call=(h,p,m)=>mn(h,u,p,m);let f=!1;i==="post"?a.scheduler=h=>{Rt(h,u&&u.suspense)}:i!=="sync"&&(f=!0,a.scheduler=(h,p)=>{p?h():Pf(h)}),a.augmentJob=h=>{t&&(h.flags|=4),f&&(h.flags|=2,u&&(h.id=u.uid,h.i=u))};const d=P0(e,t,a);return ho&&(l?l.push(d):c&&d()),d}function H0(e,t,n){const r=this.proxy,s=Ze(e)?e.includes(".")?My(r,e):()=>r[e]:e.bind(r,r);let i;ge(t)?i=t:(i=t.handler,n=t);const o=Lo(this),a=Nf(s,i.bind(r),n);return o(),a}function My(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,Gi=e=>e&&(e.disabled||e.disabled===""),mh=e=>e&&(e.defer||e.defer===""),gh=e=>typeof SVGElement<"u"&&e instanceof SVGElement,yh=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,fu=(e,t)=>{const n=e&&e.to;return Ze(n)?t?t(n):null:n},Ly={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,i,o,a,c,l){const{mc:u,pc:f,pbc:d,o:{insert:h,querySelector:p,createText:m,createComment:y}}=l,g=Gi(t.props);let{shapeFlag:v,children:_,dynamicChildren:T}=t;if(e==null){const O=t.el=m(""),R=t.anchor=m("");h(O,n,r),h(R,n,r);const E=(I,A)=>{v&16&&u(_,I,A,s,i,o,a,c)},w=()=>{const I=t.target=fu(t.props,p),A=Dy(I,t,m,h);I&&(o!=="svg"&&gh(I)?o="svg":o!=="mathml"&&yh(I)&&(o="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(I),g||(E(I,A),Ea(t,!1)))};g&&(E(n,R),Ea(t,!0)),mh(t.props)?(t.el.__isMounted=!1,Rt(()=>{w(),delete t.el.__isMounted},i)):w()}else{if(mh(t.props)&&e.el.__isMounted===!1){Rt(()=>{Ly.process(e,t,n,r,s,i,o,a,c,l)},i);return}t.el=e.el,t.targetStart=e.targetStart;const O=t.anchor=e.anchor,R=t.target=e.target,E=t.targetAnchor=e.targetAnchor,w=Gi(e.props),I=w?n:R,A=w?O:E;if(o==="svg"||gh(R)?o="svg":(o==="mathml"||yh(R))&&(o="mathml"),T?(d(e.dynamicChildren,T,I,s,i,o,a),Bf(e,t,!0)):c||f(e,t,I,A,s,i,o,a,!1),g)w?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ia(t,n,O,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const M=t.target=fu(t.props,p);M&&ia(t,M,null,l,0)}else w&&ia(t,R,E,l,1);Ea(t,g)}},remove(e,t,n,{um:r,o:{remove:s}},i){const{shapeFlag:o,children:a,anchor:c,targetStart:l,targetAnchor:u,target:f,props:d}=e;if(f&&(s(l),s(u)),i&&s(c),o&16){const h=i||!Gi(d);for(let p=0;p{e.isMounted=!0}),yn(()=>{e.isUnmounting=!0}),e}const Jt=[Function,Array],$y={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Jt,onEnter:Jt,onAfterEnter:Jt,onEnterCancelled:Jt,onBeforeLeave:Jt,onLeave:Jt,onAfterLeave:Jt,onLeaveCancelled:Jt,onBeforeAppear:Jt,onAppear:Jt,onAfterAppear:Jt,onAppearCancelled:Jt},By=e=>{const t=e.subTree;return t.component?By(t.component):t},W0={name:"BaseTransition",props:$y,setup(e,{slots:t}){const n=mi(),r=Fy();return()=>{const s=t.default&&Lf(t.default(),!0);if(!s||!s.length)return;const i=Hy(s),o=ue(e),{mode:a}=o;if(r.isLeaving)return ml(i);const c=vh(i);if(!c)return ml(i);let l=uo(c,o,r,n,f=>l=f);c.type!==pt&&fs(c,l);let u=n.subTree&&vh(n.subTree);if(u&&u.type!==pt&&!Yr(u,c)&&By(n).type!==pt){let f=uo(u,o,r,n);if(fs(u,f),a==="out-in"&&c.type!==pt)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,u=void 0},ml(i);a==="in-out"&&c.type!==pt?f.delayLeave=(d,h,p)=>{const m=Vy(r,u);m[String(u.key)]=u,d[Vn]=()=>{h(),d[Vn]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{p(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return i}}};function Hy(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==pt){t=n;break}}return t}const j0=W0;function Vy(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function uo(e,t,n,r,s){const{appear:i,mode:o,persisted:a=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:f,onBeforeLeave:d,onLeave:h,onAfterLeave:p,onLeaveCancelled:m,onBeforeAppear:y,onAppear:g,onAfterAppear:v,onAppearCancelled:_}=t,T=String(e.key),O=Vy(n,e),R=(I,A)=>{I&&mn(I,r,9,A)},E=(I,A)=>{const M=A[1];R(I,A),fe(I)?I.every(x=>x.length<=1)&&M():I.length<=1&&M()},w={mode:o,persisted:a,beforeEnter(I){let A=c;if(!n.isMounted)if(i)A=y||c;else return;I[Vn]&&I[Vn](!0);const M=O[T];M&&Yr(e,M)&&M.el[Vn]&&M.el[Vn](),R(A,[I])},enter(I){let A=l,M=u,x=f;if(!n.isMounted)if(i)A=g||l,M=v||u,x=_||f;else return;let N=!1;const L=I[oa]=G=>{N||(N=!0,G?R(x,[I]):R(M,[I]),w.delayedLeave&&w.delayedLeave(),I[oa]=void 0)};A?E(A,[I,L]):L()},leave(I,A){const M=String(e.key);if(I[oa]&&I[oa](!0),n.isUnmounting)return A();R(d,[I]);let x=!1;const N=I[Vn]=L=>{x||(x=!0,A(),L?R(m,[I]):R(p,[I]),I[Vn]=void 0,O[M]===e&&delete O[M])};O[M]=e,h?E(h,[I,N]):N()},clone(I){const A=uo(I,t,n,r,s);return s&&s(A),A}};return w}function ml(e){if(Nc(e))return e=kr(e),e.children=null,e}function vh(e){if(!Nc(e))return Ny(e.type)&&e.children?Hy(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&&ge(n.default))return n.default()}}function fs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,fs(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 Lf(e,t=!1,n){let r=[],s=0;for(let i=0;i1)for(let i=0;iKi(p,t&&(fe(t)?t[m]:t),n,r,s));return}if(qs(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&Ki(e,t,n,r.component.subTree);return}const i=r.shapeFlag&4?$c(r.component):r.el,o=s?null:i,{i:a,r:c}=e,l=t&&t.r,u=a.refs===Be?a.refs={}:a.refs,f=a.setupState,d=ue(f),h=f===Be?Qg:p=>Le(d,p);if(l!=null&&l!==c){if(_h(t),Ze(l))u[l]=null,h(l)&&(f[l]=null);else if(qe(l)){l.value=null;const p=t;p.k&&(u[p.k]=null)}}if(ge(c))Po(c,a,12,[o,u]);else{const p=Ze(c),m=qe(c);if(p||m){const y=()=>{if(e.f){const g=p?h(c)?f[c]:u[c]:c.value;if(s)fe(g)&&Ef(g,i);else if(fe(g))g.includes(i)||g.push(i);else if(p)u[c]=[i],h(c)&&(f[c]=u[c]);else{const v=[i];c.value=v,e.k&&(u[e.k]=v)}}else p?(u[c]=o,h(c)&&(f[c]=o)):m&&(c.value=o,e.k&&(u[e.k]=o))};if(o){const g=()=>{y(),za.delete(e)};g.id=-1,za.set(e,g),Rt(g,n)}else _h(e),y()}}}function _h(e){const t=za.get(e);t&&(t.flags|=8,za.delete(e))}Rc().requestIdleCallback;Rc().cancelIdleCallback;const qs=e=>!!e.type.__asyncLoader,Nc=e=>e.type.__isKeepAlive;function jy(e,t){qy(e,"a",t)}function zy(e,t){qy(e,"da",t)}function qy(e,t,n=wt){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(Lc(t,r,n),n){let s=n.parent;for(;s&&s.parent;)Nc(s.parent.vnode)&&z0(r,t,n,s),s=s.parent}}function z0(e,t,n,r){const s=Lc(t,e,r,!0);Gy(()=>{Ef(r[t],s)},n)}function Lc(e,t,n=wt,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Xn();const a=Lo(n),c=mn(t,n,e,o);return a(),Jn(),c});return r?s.unshift(i):s.push(i),i}}const or=e=>(t,n=wt)=>{(!ho||e==="sp")&&Lc(e,(...r)=>t(...r),n)},Dc=or("bm"),Nr=or("m"),q0=or("bu"),Df=or("u"),yn=or("bum"),Gy=or("um"),G0=or("sp"),K0=or("rtg"),Y0=or("rtc");function X0(e,t=wt){Lc("ec",e,t)}const Ky="components";function J0(e,t){return Jy(Ky,e,!0,t)||e}const Yy=Symbol.for("v-ndc");function Xy(e){return Ze(e)?Jy(Ky,e,!1)||e:e||Yy}function Jy(e,t,n=!0,r=!1){const s=gt||wt;if(s){const i=s.type;{const a=Lw(i,!1);if(a&&(a===t||a===Pt(t)||a===pi(Pt(t))))return i}const o=bh(s[e]||i[e],t)||bh(s.appContext[e],t);return!o&&r?i:o}}function bh(e,t){return e&&(e[t]||e[Pt(t)]||e[pi(Pt(t))])}function Z0(e,t,n,r){let s;const i=n,o=fe(e);if(o||Ze(e)){const a=o&&jn(e);let c=!1,l=!1;a&&(c=!Gt(e),l=Zn(e),e=Ac(e)),s=new Array(e.length);for(let u=0,f=e.length;ut(a,c,void 0,i));else{const a=Object.keys(e);s=new Array(a.length);for(let c=0,l=a.length;c{const i=r.fn(...s);return i&&(i.key=r.key),i}:r.fn)}return e}function JB(e,t,n={},r,s){if(gt.ce||gt.parent&&qs(gt.parent)&>.parent.ce){const l=Object.keys(n).length>0;return t!=="default"&&(n.name=t),en(),xn(Ke,null,[F("slot",n,r)],l?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),en();const o=i&&Zy(i(n)),a=n.key||o&&o.key,c=xn(Ke,{key:(a&&!ir(a)?a:`_${t}`)+(!o&&r?"_fb":"")},o||[],o&&e._===1?64:-2);return i&&i._c&&(i._d=!0),c}function Zy(e){return e.some(t=>Zs(t)?!(t.type===pt||t.type===Ke&&!Zy(t.children)):!0)?e:null}const du=e=>e?yv(e)?$c(e):du(e.parent):null,Yi=ot(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=>du(e.parent),$root:e=>du(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>ev(e),$forceUpdate:e=>e.f||(e.f=()=>{Pf(e.update)}),$nextTick:e=>e.n||(e.n=dt.bind(e.proxy)),$watch:e=>H0.bind(e)}),gl=(e,t)=>e!==Be&&!e.__isScriptSetup&&Le(e,t),Q0={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:o,type:a,appContext:c}=e;if(t[0]!=="$"){const d=o[t];if(d!==void 0)switch(d){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(gl(r,t))return o[t]=1,r[t];if(s!==Be&&Le(s,t))return o[t]=2,s[t];if(Le(i,t))return o[t]=3,i[t];if(n!==Be&&Le(n,t))return o[t]=4,n[t];hu&&(o[t]=0)}}const l=Yi[t];let u,f;if(l)return t==="$attrs"&&Et(e.attrs,"get",""),l(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(n!==Be&&Le(n,t))return o[t]=4,n[t];if(f=c.config.globalProperties,Le(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return gl(s,t)?(s[t]=n,!0):r!==Be&&Le(r,t)?(r[t]=n,!0):Le(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:i,type:o}},a){let c;return!!(n[a]||e!==Be&&a[0]!=="$"&&Le(e,a)||gl(t,a)||Le(i,a)||Le(r,a)||Le(Yi,a)||Le(s.config.globalProperties,a)||(c=o.__cssModules)&&c[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Le(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Sh(e){return fe(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let hu=!0;function ew(e){const t=ev(e),n=e.proxy,r=e.ctx;hu=!1,t.beforeCreate&&Eh(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:o,watch:a,provide:c,inject:l,created:u,beforeMount:f,mounted:d,beforeUpdate:h,updated:p,activated:m,deactivated:y,beforeDestroy:g,beforeUnmount:v,destroyed:_,unmounted:T,render:O,renderTracked:R,renderTriggered:E,errorCaptured:w,serverPrefetch:I,expose:A,inheritAttrs:M,components:x,directives:N,filters:L}=t;if(l&&tw(l,r,null),o)for(const j in o){const D=o[j];ge(D)&&(r[j]=D.bind(n))}if(s){const j=s.call(n,n);He(j)&&(e.data=lt(j))}if(hu=!0,i)for(const j in i){const D=i[j],ae=ge(D)?D.bind(n,n):ge(D.get)?D.get.bind(n,n):On,q=!ge(D)&&ge(D.set)?D.set.bind(n):On,ce=U({get:ae,set:q});Object.defineProperty(r,j,{enumerable:!0,configurable:!0,get:()=>ce.value,set:le=>ce.value=le})}if(a)for(const j in a)Qy(a[j],r,n,j);if(c){const j=ge(c)?c.call(n):c;Reflect.ownKeys(j).forEach(D=>{Ct(D,j[D])})}u&&Eh(u,e,"c");function J(j,D){fe(D)?D.forEach(ae=>j(ae.bind(n))):D&&j(D.bind(n))}if(J(Dc,f),J(Nr,d),J(q0,h),J(Df,p),J(jy,m),J(zy,y),J(X0,w),J(Y0,R),J(K0,E),J(yn,v),J(Gy,T),J(G0,I),fe(A))if(A.length){const j=e.exposed||(e.exposed={});A.forEach(D=>{Object.defineProperty(j,D,{get:()=>n[D],set:ae=>n[D]=ae,enumerable:!0})})}else e.exposed||(e.exposed={});O&&e.render===On&&(e.render=O),M!=null&&(e.inheritAttrs=M),x&&(e.components=x),N&&(e.directives=N),I&&Wy(e)}function tw(e,t,n=On){fe(e)&&(e=pu(e));for(const r in e){const s=e[r];let i;He(s)?"default"in s?i=Oe(s.from||r,s.default,!0):i=Oe(s.from||r):i=Oe(s),qe(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function Eh(e,t,n){mn(fe(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Qy(e,t,n,r){let s=r.includes(".")?My(n,r):()=>n[r];if(Ze(e)){const i=t[e];ge(i)&&Se(s,i)}else if(ge(e))Se(s,e.bind(n));else if(He(e))if(fe(e))e.forEach(i=>Qy(i,t,n,r));else{const i=ge(e.handler)?e.handler.bind(n):t[e.handler];ge(i)&&Se(s,i,e)}}function ev(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,a=i.get(t);let c;return a?c=a:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(l=>qa(c,l,o,!0)),qa(c,t,o)),He(t)&&i.set(t,c),c}function qa(e,t,n,r=!1){const{mixins:s,extends:i}=t;i&&qa(e,i,n,!0),s&&s.forEach(o=>qa(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const a=nw[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}const nw={data:wh,props:Th,emits:Th,methods:Ui,computed:Ui,beforeCreate:kt,created:kt,beforeMount:kt,mounted:kt,beforeUpdate:kt,updated:kt,beforeDestroy:kt,beforeUnmount:kt,destroyed:kt,unmounted:kt,activated:kt,deactivated:kt,errorCaptured:kt,serverPrefetch:kt,components:Ui,directives:Ui,watch:sw,provide:wh,inject:rw};function wh(e,t){return t?e?function(){return ot(ge(e)?e.call(this,this):e,ge(t)?t.call(this,this):t)}:t:e}function rw(e,t){return Ui(pu(e),pu(t))}function pu(e){if(fe(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Pt(t)}Modifiers`]||e[`${Pr(t)}Modifiers`];function cw(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||Be;let s=n;const i=t.startsWith("update:"),o=i&&aw(r,t.slice(7));o&&(o.trim&&(s=n.map(u=>Ze(u)?u.trim():u)),o.number&&(s=n.map(wf)));let a,c=r[a=ul(t)]||r[a=ul(Pt(t))];!c&&i&&(c=r[a=ul(Pr(t))]),c&&mn(c,e,6,s);const l=r[a+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,mn(l,e,6,s)}}const lw=new WeakMap;function nv(e,t,n=!1){const r=n?lw:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let o={},a=!1;if(!ge(e)){const c=l=>{const u=nv(l,t,!0);u&&(a=!0,ot(o,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!a?(He(e)&&r.set(e,null),null):(fe(i)?i.forEach(c=>o[c]=null):ot(o,i),He(e)&&r.set(e,o),o)}function Fc(e,t){return!e||!Cc(t)?!1:(t=t.slice(2).replace(/Once$/,""),Le(e,t[0].toLowerCase()+t.slice(1))||Le(e,Pr(t))||Le(e,t))}function Ch(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:o,attrs:a,emit:c,render:l,renderCache:u,props:f,data:d,setupState:h,ctx:p,inheritAttrs:m}=e,y=ja(e);let g,v;try{if(n.shapeFlag&4){const T=s||r,O=T;g=Cn(l.call(O,T,u,f,h,d,p)),v=a}else{const T=t;g=Cn(T.length>1?T(f,{attrs:a,slots:o,emit:c}):T(f,null)),v=t.props?a:uw(a)}}catch(T){Xi.length=0,Mc(T,e,1),g=F(pt)}let _=g;if(v&&m!==!1){const T=Object.keys(v),{shapeFlag:O}=_;T.length&&O&7&&(i&&T.some(Sf)&&(v=fw(v,i)),_=kr(_,v,!1,!0))}return n.dirs&&(_=kr(_,null,!1,!0),_.dirs=_.dirs?_.dirs.concat(n.dirs):n.dirs),n.transition&&fs(_,n.transition),g=_,ja(y),g}const uw=e=>{let t;for(const n in e)(n==="class"||n==="style"||Cc(n))&&((t||(t={}))[n]=e[n]);return t},fw=(e,t)=>{const n={};for(const r in e)(!Sf(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function dw(e,t,n){const{props:r,children:s,component:i}=e,{props:o,children:a,patchFlag:c}=t,l=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Ih(r,o,l):!!o;if(c&8){const u=t.dynamicProps;for(let f=0;fObject.create(rv),iv=e=>Object.getPrototypeOf(e)===rv;function pw(e,t,n,r=!1){const s={},i=sv();e.propsDefaults=Object.create(null),ov(e,t,s,i);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);n?e.props=r?s:wy(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function mw(e,t,n,r){const{props:s,attrs:i,vnode:{patchFlag:o}}=e,a=ue(s),[c]=e.propsOptions;let l=!1;if((r||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[d,h]=av(f,t,!0);ot(o,d),h&&a.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!c)return He(e)&&r.set(e,Ws),Ws;if(fe(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",$f=e=>fe(e)?e.map(Cn):[Cn(e)],yw=(e,t,n)=>{if(t._n)return t;const r=ft((...s)=>$f(t(...s)),n);return r._c=!1,r},cv=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Ff(s))continue;const i=e[s];if(ge(i))t[s]=yw(s,i,r);else if(i!=null){const o=$f(i);t[s]=()=>o}}},lv=(e,t)=>{const n=$f(t);e.slots.default=()=>n},uv=(e,t,n)=>{for(const r in t)(n||!Ff(r))&&(e[r]=t[r])},vw=(e,t,n)=>{const r=e.slots=sv();if(e.vnode.shapeFlag&32){const s=t._;s?(uv(r,t,n),n&&sy(r,"_",s,!0)):cv(t,r)}else t&&lv(e,t)},_w=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,o=Be;if(r.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:uv(s,t,n):(i=!t.$stable,cv(t,s)),o=t}else t&&(lv(e,t),o={default:1});if(i)for(const a in s)!Ff(a)&&o[a]==null&&delete s[a]},Rt=Tw;function bw(e){return Sw(e)}function Sw(e,t){const n=Rc();n.__VUE__=!0;const{insert:r,remove:s,patchProp:i,createElement:o,createText:a,createComment:c,setText:l,setElementText:u,parentNode:f,nextSibling:d,setScopeId:h=On,insertStaticContent:p}=e,m=(b,S,k,P=null,H=null,$=null,ee=void 0,Z=null,B=!!S.dynamicChildren)=>{if(b===S)return;b&&!Yr(b,S)&&(P=C(b),le(b,H,$,!0),b=null),S.patchFlag===-2&&(B=!1,S.dynamicChildren=null);const{type:V,ref:K,shapeFlag:Y}=S;switch(V){case No:y(b,S,k,P);break;case pt:g(b,S,k,P);break;case vl:b==null&&v(S,k,P,ee);break;case Ke:x(b,S,k,P,H,$,ee,Z,B);break;default:Y&1?O(b,S,k,P,H,$,ee,Z,B):Y&6?N(b,S,k,P,H,$,ee,Z,B):(Y&64||Y&128)&&V.process(b,S,k,P,H,$,ee,Z,B,re)}K!=null&&H?Ki(K,b&&b.ref,$,S||b,!S):K==null&&b&&b.ref!=null&&Ki(b.ref,null,$,b,!0)},y=(b,S,k,P)=>{if(b==null)r(S.el=a(S.children),k,P);else{const H=S.el=b.el;S.children!==b.children&&l(H,S.children)}},g=(b,S,k,P)=>{b==null?r(S.el=c(S.children||""),k,P):S.el=b.el},v=(b,S,k,P)=>{[b.el,b.anchor]=p(b.children,S,k,P,b.el,b.anchor)},_=({el:b,anchor:S},k,P)=>{let H;for(;b&&b!==S;)H=d(b),r(b,k,P),b=H;r(S,k,P)},T=({el:b,anchor:S})=>{let k;for(;b&&b!==S;)k=d(b),s(b),b=k;s(S)},O=(b,S,k,P,H,$,ee,Z,B)=>{if(S.type==="svg"?ee="svg":S.type==="math"&&(ee="mathml"),b==null)R(S,k,P,H,$,ee,Z,B);else{const V=b.el&&b.el._isVueCE?b.el:null;try{V&&V._beginPatch(),I(b,S,H,$,ee,Z,B)}finally{V&&V._endPatch()}}},R=(b,S,k,P,H,$,ee,Z)=>{let B,V;const{props:K,shapeFlag:Y,transition:se,dirs:te}=b;if(B=b.el=o(b.type,$,K&&K.is,K),Y&8?u(B,b.children):Y&16&&w(b.children,B,null,P,H,yl(b,$),ee,Z),te&&Ur(b,null,P,"created"),E(B,b,b.scopeId,ee,P),K){for(const Ve in K)Ve!=="value"&&!ji(Ve)&&i(B,Ve,null,K[Ve],$,P);"value"in K&&i(B,"value",null,K.value,$),(V=K.onVnodeBeforeMount)&&Sn(V,P,b)}te&&Ur(b,null,P,"beforeMount");const Te=Ew(H,se);Te&&se.beforeEnter(B),r(B,S,k),((V=K&&K.onVnodeMounted)||Te||te)&&Rt(()=>{V&&Sn(V,P,b),Te&&se.enter(B),te&&Ur(b,null,P,"mounted")},H)},E=(b,S,k,P,H)=>{if(k&&h(b,k),P)for(let $=0;${for(let V=B;V{const Z=S.el=b.el;let{patchFlag:B,dynamicChildren:V,dirs:K}=S;B|=b.patchFlag&16;const Y=b.props||Be,se=S.props||Be;let te;if(k&&Wr(k,!1),(te=se.onVnodeBeforeUpdate)&&Sn(te,k,S,b),K&&Ur(S,b,k,"beforeUpdate"),k&&Wr(k,!0),(Y.innerHTML&&se.innerHTML==null||Y.textContent&&se.textContent==null)&&u(Z,""),V?A(b.dynamicChildren,V,Z,k,P,yl(S,H),$):ee||D(b,S,Z,null,k,P,yl(S,H),$,!1),B>0){if(B&16)M(Z,Y,se,k,H);else if(B&2&&Y.class!==se.class&&i(Z,"class",null,se.class,H),B&4&&i(Z,"style",Y.style,se.style,H),B&8){const Te=S.dynamicProps;for(let Ve=0;Ve{te&&Sn(te,k,S,b),K&&Ur(S,b,k,"updated")},P)},A=(b,S,k,P,H,$,ee)=>{for(let Z=0;Z{if(S!==k){if(S!==Be)for(const $ in S)!ji($)&&!($ in k)&&i(b,$,S[$],null,H,P);for(const $ in k){if(ji($))continue;const ee=k[$],Z=S[$];ee!==Z&&$!=="value"&&i(b,$,Z,ee,H,P)}"value"in k&&i(b,"value",S.value,k.value,H)}},x=(b,S,k,P,H,$,ee,Z,B)=>{const V=S.el=b?b.el:a(""),K=S.anchor=b?b.anchor:a("");let{patchFlag:Y,dynamicChildren:se,slotScopeIds:te}=S;te&&(Z=Z?Z.concat(te):te),b==null?(r(V,k,P),r(K,k,P),w(S.children||[],k,K,H,$,ee,Z,B)):Y>0&&Y&64&&se&&b.dynamicChildren&&b.dynamicChildren.length===se.length?(A(b.dynamicChildren,se,k,H,$,ee,Z),(S.key!=null||H&&S===H.subTree)&&Bf(b,S,!0)):D(b,S,k,K,H,$,ee,Z,B)},N=(b,S,k,P,H,$,ee,Z,B)=>{S.slotScopeIds=Z,b==null?S.shapeFlag&512?H.ctx.activate(S,k,P,ee,B):L(S,k,P,H,$,ee,B):G(b,S,B)},L=(b,S,k,P,H,$,ee)=>{const Z=b.component=Aw(b,P,H);if(Nc(b)&&(Z.ctx.renderer=re),Ow(Z,!1,ee),Z.asyncDep){if(H&&H.registerDep(Z,J,ee),!b.el){const B=Z.subTree=F(pt);g(null,B,S,k),b.placeholder=B.el}}else J(Z,b,S,k,H,$,ee)},G=(b,S,k)=>{const P=S.component=b.component;if(dw(b,S,k))if(P.asyncDep&&!P.asyncResolved){j(P,S,k);return}else P.next=S,P.update();else S.el=b.el,P.vnode=S},J=(b,S,k,P,H,$,ee)=>{const Z=()=>{if(b.isMounted){let{next:Y,bu:se,u:te,parent:Te,vnode:Ve}=b;{const _n=fv(b);if(_n){Y&&(Y.el=Ve.el,j(b,Y,ee)),_n.asyncDep.then(()=>{b.isUnmounted||Z()});return}}let $e=Y,Nt;Wr(b,!1),Y?(Y.el=Ve.el,j(b,Y,ee)):Y=Ve,se&&Sa(se),(Nt=Y.props&&Y.props.onVnodeBeforeUpdate)&&Sn(Nt,Te,Y,Ve),Wr(b,!0);const Lt=Ch(b),vn=b.subTree;b.subTree=Lt,m(vn,Lt,f(vn.el),C(vn),b,H,$),Y.el=Lt.el,$e===null&&hw(b,Lt.el),te&&Rt(te,H),(Nt=Y.props&&Y.props.onVnodeUpdated)&&Rt(()=>Sn(Nt,Te,Y,Ve),H)}else{let Y;const{el:se,props:te}=S,{bm:Te,m:Ve,parent:$e,root:Nt,type:Lt}=b,vn=qs(S);Wr(b,!1),Te&&Sa(Te),!vn&&(Y=te&&te.onVnodeBeforeMount)&&Sn(Y,$e,S),Wr(b,!0);{Nt.ce&&Nt.ce._def.shadowRoot!==!1&&Nt.ce._injectChildStyle(Lt);const _n=b.subTree=Ch(b);m(null,_n,k,P,b,H,$),S.el=_n.el}if(Ve&&Rt(Ve,H),!vn&&(Y=te&&te.onVnodeMounted)){const _n=S;Rt(()=>Sn(Y,$e,_n),H)}(S.shapeFlag&256||$e&&qs($e.vnode)&&$e.vnode.shapeFlag&256)&&b.a&&Rt(b.a,H),b.isMounted=!0,S=k=P=null}};b.scope.on();const B=b.effect=new ly(Z);b.scope.off();const V=b.update=B.run.bind(B),K=b.job=B.runIfDirty.bind(B);K.i=b,K.id=b.uid,B.scheduler=()=>Pf(K),Wr(b,!0),V()},j=(b,S,k)=>{S.component=b;const P=b.vnode.props;b.vnode=S,b.next=null,mw(b,S.props,P,k),_w(b,S.children,k),Xn(),ph(b),Jn()},D=(b,S,k,P,H,$,ee,Z,B=!1)=>{const V=b&&b.children,K=b?b.shapeFlag:0,Y=S.children,{patchFlag:se,shapeFlag:te}=S;if(se>0){if(se&128){q(V,Y,k,P,H,$,ee,Z,B);return}else if(se&256){ae(V,Y,k,P,H,$,ee,Z,B);return}}te&8?(K&16&&Ge(V,H,$),Y!==V&&u(k,Y)):K&16?te&16?q(V,Y,k,P,H,$,ee,Z,B):Ge(V,H,$,!0):(K&8&&u(k,""),te&16&&w(Y,k,P,H,$,ee,Z,B))},ae=(b,S,k,P,H,$,ee,Z,B)=>{b=b||Ws,S=S||Ws;const V=b.length,K=S.length,Y=Math.min(V,K);let se;for(se=0;seK?Ge(b,H,$,!0,!1,Y):w(S,k,P,H,$,ee,Z,B,Y)},q=(b,S,k,P,H,$,ee,Z,B)=>{let V=0;const K=S.length;let Y=b.length-1,se=K-1;for(;V<=Y&&V<=se;){const te=b[V],Te=S[V]=B?vr(S[V]):Cn(S[V]);if(Yr(te,Te))m(te,Te,k,null,H,$,ee,Z,B);else break;V++}for(;V<=Y&&V<=se;){const te=b[Y],Te=S[se]=B?vr(S[se]):Cn(S[se]);if(Yr(te,Te))m(te,Te,k,null,H,$,ee,Z,B);else break;Y--,se--}if(V>Y){if(V<=se){const te=se+1,Te=tese)for(;V<=Y;)le(b[V],H,$,!0),V++;else{const te=V,Te=V,Ve=new Map;for(V=Te;V<=se;V++){const Wt=S[V]=B?vr(S[V]):Cn(S[V]);Wt.key!=null&&Ve.set(Wt.key,V)}let $e,Nt=0;const Lt=se-Te+1;let vn=!1,_n=0;const Pi=new Array(Lt);for(V=0;V=Lt){le(Wt,H,$,!0);continue}let bn;if(Wt.key!=null)bn=Ve.get(Wt.key);else for($e=Te;$e<=se;$e++)if(Pi[$e-Te]===0&&Yr(Wt,S[$e])){bn=$e;break}bn===void 0?le(Wt,H,$,!0):(Pi[bn-Te]=V+1,bn>=_n?_n=bn:vn=!0,m(Wt,S[bn],k,null,H,$,ee,Z,B),Nt++)}const ah=vn?ww(Pi):Ws;for($e=ah.length-1,V=Lt-1;V>=0;V--){const Wt=Te+V,bn=S[Wt],ch=S[Wt+1],lh=Wt+1{const{el:$,type:ee,transition:Z,children:B,shapeFlag:V}=b;if(V&6){ce(b.component.subTree,S,k,P);return}if(V&128){b.suspense.move(S,k,P);return}if(V&64){ee.move(b,S,k,re);return}if(ee===Ke){r($,S,k);for(let Y=0;YZ.enter($),H);else{const{leave:Y,delayLeave:se,afterLeave:te}=Z,Te=()=>{b.ctx.isUnmounted?s($):r($,S,k)},Ve=()=>{$._isLeaving&&$[Vn](!0),Y($,()=>{Te(),te&&te()})};se?se($,Te,Ve):Ve()}else r($,S,k)},le=(b,S,k,P=!1,H=!1)=>{const{type:$,props:ee,ref:Z,children:B,dynamicChildren:V,shapeFlag:K,patchFlag:Y,dirs:se,cacheIndex:te}=b;if(Y===-2&&(H=!1),Z!=null&&(Xn(),Ki(Z,null,k,b,!0),Jn()),te!=null&&(S.renderCache[te]=void 0),K&256){S.ctx.deactivate(b);return}const Te=K&1&&se,Ve=!qs(b);let $e;if(Ve&&($e=ee&&ee.onVnodeBeforeUnmount)&&Sn($e,S,b),K&6)Fe(b.component,k,P);else{if(K&128){b.suspense.unmount(k,P);return}Te&&Ur(b,null,S,"beforeUnmount"),K&64?b.type.remove(b,S,k,re,P):V&&!V.hasOnce&&($!==Ke||Y>0&&Y&64)?Ge(V,S,k,!1,!0):($===Ke&&Y&384||!H&&K&16)&&Ge(B,S,k),P&&ve(b)}(Ve&&($e=ee&&ee.onVnodeUnmounted)||Te)&&Rt(()=>{$e&&Sn($e,S,b),Te&&Ur(b,null,S,"unmounted")},k)},ve=b=>{const{type:S,el:k,anchor:P,transition:H}=b;if(S===Ke){Me(k,P);return}if(S===vl){T(b);return}const $=()=>{s(k),H&&!H.persisted&&H.afterLeave&&H.afterLeave()};if(b.shapeFlag&1&&H&&!H.persisted){const{leave:ee,delayLeave:Z}=H,B=()=>ee(k,$);Z?Z(b.el,$,B):B()}else $()},Me=(b,S)=>{let k;for(;b!==S;)k=d(b),s(b),b=k;s(S)},Fe=(b,S,k)=>{const{bum:P,scope:H,job:$,subTree:ee,um:Z,m:B,a:V}=b;xh(B),xh(V),P&&Sa(P),H.stop(),$&&($.flags|=8,le(ee,b,S,k)),Z&&Rt(Z,S),Rt(()=>{b.isUnmounted=!0},S)},Ge=(b,S,k,P=!1,H=!1,$=0)=>{for(let ee=$;ee{if(b.shapeFlag&6)return C(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const S=d(b.anchor||b.el),k=S&&S[Py];return k?d(k):S};let W=!1;const z=(b,S,k)=>{let P;b==null?S._vnode&&(le(S._vnode,null,null,!0),P=S._vnode.component):m(S._vnode||null,b,S,null,null,null,k),S._vnode=b,W||(W=!0,ph(P),Ry(),W=!1)},re={p:m,um:le,m:ce,r:ve,mt:L,mc:w,pc:D,pbc:A,n:C,o:e};return{render:z,hydrate:void 0,createApp:ow(z)}}function yl({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 Wr({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ew(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Bf(e,t,n=!1){const r=e.children,s=t.children;if(fe(r)&&fe(s))for(let i=0;i>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function fv(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:fv(t)}function xh(e){if(e)for(let t=0;te.__isSuspense;function Tw(e,t){t&&t.pendingBranch?fe(e)?t.effects.push(...e):t.effects.push(e):D0(e)}const Ke=Symbol.for("v-fgt"),No=Symbol.for("v-txt"),pt=Symbol.for("v-cmt"),vl=Symbol.for("v-stc"),Xi=[];let qt=null;function en(e=!1){Xi.push(qt=e?null:[])}function Cw(){Xi.pop(),qt=Xi[Xi.length-1]||null}let fo=1;function Ga(e,t=!1){fo+=e,e<0&&qt&&t&&(qt.hasOnce=!0)}function pv(e){return e.dynamicChildren=fo>0?qt||Ws:null,Cw(),fo>0&&qt&&qt.push(e),e}function mv(e,t,n,r,s,i){return pv(ne(e,t,n,r,s,i,!0))}function xn(e,t,n,r,s){return pv(F(e,t,n,r,s,!0))}function Zs(e){return e?e.__v_isVNode===!0:!1}function Yr(e,t){return e.type===t.type&&e.key===t.key}const gv=({key:e})=>e??null,wa=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?Ze(e)||qe(e)||ge(e)?{i:gt,r:e,k:t,f:!!n}:e:null);function ne(e,t=null,n=null,r=0,s=null,i=e===Ke?0:1,o=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&gv(t),ref:t&&wa(t),scopeId:Oy,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:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:gt};return a?(Hf(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=Ze(n)?8:16),fo>0&&!o&&qt&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&qt.push(c),c}const F=Iw;function Iw(e,t=null,n=null,r=0,s=null,i=!1){if((!e||e===Yy)&&(e=pt),Zs(e)){const a=kr(e,t,!0);return n&&Hf(a,n),fo>0&&!i&&qt&&(a.shapeFlag&6?qt[qt.indexOf(e)]=a:qt.push(a)),a.patchFlag=-2,a}if(Dw(e)&&(e=e.__vccOpts),t){t=kw(t);let{class:a,style:c}=t;a&&!Ze(a)&&(t.class=Re(a)),He(c)&&(Oc(c)&&!fe(c)&&(c=ot({},c)),t.style=ze(c))}const o=Ze(e)?1:hv(e)?128:Ny(e)?64:He(e)?4:ge(e)?2:0;return ne(e,t,n,r,s,o,i,!0)}function kw(e){return e?Oc(e)||iv(e)?ot({},e):e:null}function kr(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:a,transition:c}=e,l=t?Ye(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&gv(l),ref:t&&t.ref?n&&i?fe(i)?i.concat(wa(t)):[i,wa(t)]:wa(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ke?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&kr(e.ssContent),ssFallback:e.ssFallback&&kr(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&fs(u,c.clone(u)),u}function Wi(e=" ",t=0){return F(No,null,e,t)}function gu(e="",t=!1){return t?(en(),xn(pt,null,e)):F(pt,null,e)}function Cn(e){return e==null||typeof e=="boolean"?F(pt):fe(e)?F(Ke,null,e.slice()):Zs(e)?vr(e):F(No,null,String(e))}function vr(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:kr(e)}function Hf(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(fe(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Hf(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!iv(t)?t._ctx=gt:s===3&>&&(gt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else ge(t)?(t={default:t,_ctx:gt},n=32):(t=String(t),r&64?(n=16,t=[Wi(t)]):n=8);e.children=t,e.shapeFlag|=n}function Ye(...e){const t={};for(let n=0;nwt||gt;let Ka,yu;{const e=Rc(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};Ka=t("__VUE_INSTANCE_SETTERS__",n=>wt=n),yu=t("__VUE_SSR_SETTERS__",n=>ho=n)}const Lo=e=>{const t=wt;return Ka(e),e.scope.on(),()=>{e.scope.off(),Ka(t)}},Rh=()=>{wt&&wt.scope.off(),Ka(null)};function yv(e){return e.vnode.shapeFlag&4}let ho=!1;function Ow(e,t=!1,n=!1){t&&yu(t);const{props:r,children:s}=e.vnode,i=yv(e);pw(e,r,i,t),vw(e,s,n||t);const o=i?Mw(e,t):void 0;return t&&yu(!1),o}function Mw(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Q0);const{setup:r}=n;if(r){Xn();const s=e.setupContext=r.length>1?Nw(e):null,i=Lo(e),o=Po(r,e,0,[e.props,s]),a=ty(o);if(Jn(),i(),(a||e.sp)&&!qs(e)&&Wy(e),a){if(o.then(Rh,Rh),t)return o.then(c=>{Ah(e,c)}).catch(c=>{Mc(c,e,0)});e.asyncDep=o}else Ah(e,o)}else vv(e)}function Ah(e,t,n){ge(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:He(t)&&(e.setupState=Cy(t)),vv(e)}function vv(e,t,n){const r=e.type;e.render||(e.render=r.render||On);{const s=Lo(e);Xn();try{ew(e)}finally{Jn(),s()}}}const Pw={get(e,t){return Et(e,"get",""),e[t]}};function Nw(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Pw),slots:e.slots,emit:e.emit,expose:t}}function $c(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Cy(Of(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Yi)return Yi[n](e)},has(t,n){return n in t||n in Yi}})):e.proxy}function Lw(e,t=!0){return ge(e)?e.displayName||e.name:e.name||t&&e.__name}function Dw(e){return ge(e)&&"__vccOpts"in e}const U=(e,t)=>O0(e,t,ho);function Lr(e,t,n){try{Ga(-1);const r=arguments.length;return r===2?He(t)&&!fe(t)?Zs(t)?F(e,null,[t]):F(e,t):F(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Zs(n)&&(n=[n]),F(e,t,n))}finally{Ga(1)}}const Fw="3.5.27";/** +* @vue/runtime-dom v3.5.27 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let vu;const Oh=typeof window<"u"&&window.trustedTypes;if(Oh)try{vu=Oh.createPolicy("vue",{createHTML:e=>e})}catch{}const _v=vu?e=>vu.createHTML(e):e=>e,$w="http://www.w3.org/2000/svg",Bw="http://www.w3.org/1998/Math/MathML",Hn=typeof document<"u"?document:null,Mh=Hn&&Hn.createElement("template"),Hw={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Hn.createElementNS($w,e):t==="mathml"?Hn.createElementNS(Bw,e):n?Hn.createElement(e,{is:n}):Hn.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Hn.createTextNode(e),createComment:e=>Hn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Hn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,i){const o=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{Mh.innerHTML=_v(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=Mh.content;if(r==="svg"||r==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ur="transition",Li="animation",Qs=Symbol("_vtc"),bv={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},Sv=ot({},$y,bv),Vw=e=>(e.displayName="Transition",e.props=Sv,e),xr=Vw((e,{slots:t})=>Lr(j0,Ev(e),t)),jr=(e,t=[])=>{fe(e)?e.forEach(n=>n(...t)):e&&e(...t)},Ph=e=>e?fe(e)?e.some(t=>t.length>1):e.length>1:!1;function Ev(e){const t={};for(const x in e)x in bv||(t[x]=e[x]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:l=o,appearToClass:u=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:h=`${n}-leave-to`}=e,p=Uw(s),m=p&&p[0],y=p&&p[1],{onBeforeEnter:g,onEnter:v,onEnterCancelled:_,onLeave:T,onLeaveCancelled:O,onBeforeAppear:R=g,onAppear:E=v,onAppearCancelled:w=_}=t,I=(x,N,L,G)=>{x._enterCancelled=G,hr(x,N?u:a),hr(x,N?l:o),L&&L()},A=(x,N)=>{x._isLeaving=!1,hr(x,f),hr(x,h),hr(x,d),N&&N()},M=x=>(N,L)=>{const G=x?E:v,J=()=>I(N,x,L);jr(G,[N,J]),Nh(()=>{hr(N,x?c:i),En(N,x?u:a),Ph(G)||Lh(N,r,m,J)})};return ot(t,{onBeforeEnter(x){jr(g,[x]),En(x,i),En(x,o)},onBeforeAppear(x){jr(R,[x]),En(x,c),En(x,l)},onEnter:M(!1),onAppear:M(!0),onLeave(x,N){x._isLeaving=!0;const L=()=>A(x,N);En(x,f),x._enterCancelled?(En(x,d),_u(x)):(_u(x),En(x,d)),Nh(()=>{x._isLeaving&&(hr(x,f),En(x,h),Ph(T)||Lh(x,r,y,L))}),jr(T,[x,L])},onEnterCancelled(x){I(x,!1,void 0,!0),jr(_,[x])},onAppearCancelled(x){I(x,!0,void 0,!0),jr(w,[x])},onLeaveCancelled(x){A(x),jr(O,[x])}})}function Uw(e){if(e==null)return null;if(He(e))return[_l(e.enter),_l(e.leave)];{const t=_l(e);return[t,t]}}function _l(e){return e0(e)}function En(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Qs]||(e[Qs]=new Set)).add(t)}function hr(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[Qs];n&&(n.delete(t),n.size||(e[Qs]=void 0))}function Nh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Ww=0;function Lh(e,t,n,r){const s=e._endId=++Ww,i=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:a,propCount:c}=wv(e,t);if(!o)return r();const l=o+"end";let u=0;const f=()=>{e.removeEventListener(l,d),i()},d=h=>{h.target===e&&++u>=c&&f()};setTimeout(()=>{u(n[p]||"").split(", "),s=r(`${ur}Delay`),i=r(`${ur}Duration`),o=Dh(s,i),a=r(`${Li}Delay`),c=r(`${Li}Duration`),l=Dh(a,c);let u=null,f=0,d=0;t===ur?o>0&&(u=ur,f=o,d=i.length):t===Li?l>0&&(u=Li,f=l,d=c.length):(f=Math.max(o,l),u=f>0?o>l?ur:Li:null,d=u?u===ur?i.length:c.length:0);const h=u===ur&&/\b(?:transform|all)(?:,|$)/.test(r(`${ur}Property`).toString());return{type:u,timeout:f,propCount:d,hasTransform:h}}function Dh(e,t){for(;e.lengthFh(n)+Fh(e[r])))}function Fh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _u(e){return(e?e.ownerDocument:document).body.offsetHeight}function jw(e,t,n){const r=e[Qs];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ya=Symbol("_vod"),Tv=Symbol("_vsh"),Vf={name:"show",beforeMount(e,{value:t},{transition:n}){e[Ya]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Di(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Di(e,!0),r.enter(e)):r.leave(e,()=>{Di(e,!1)}):Di(e,t))},beforeUnmount(e,{value:t}){Di(e,t)}};function Di(e,t){e.style.display=t?e[Ya]:"none",e[Tv]=!t}const zw=Symbol(""),qw=/(?:^|;)\s*display\s*:/;function Gw(e,t,n){const r=e.style,s=Ze(n);let i=!1;if(n&&!s){if(t)if(Ze(t))for(const o of t.split(";")){const a=o.slice(0,o.indexOf(":")).trim();n[a]==null&&Ta(r,a,"")}else for(const o in t)n[o]==null&&Ta(r,o,"");for(const o in n)o==="display"&&(i=!0),Ta(r,o,n[o])}else if(s){if(t!==n){const o=r[zw];o&&(n+=";"+o),r.cssText=n,i=qw.test(n)}}else t&&e.removeAttribute("style");Ya in e&&(e[Ya]=i?r.display:"",e[Tv]&&(r.display="none"))}const $h=/\s*!important$/;function Ta(e,t,n){if(fe(n))n.forEach(r=>Ta(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=Kw(e,t);$h.test(n)?e.setProperty(Pr(r),n.replace($h,""),"important"):e[r]=n}}const Bh=["Webkit","Moz","ms"],bl={};function Kw(e,t){const n=bl[t];if(n)return n;let r=Pt(t);if(r!=="filter"&&r in e)return bl[t]=r;r=pi(r);for(let s=0;sSl||(Zw.then(()=>Sl=0),Sl=Date.now());function eT(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;mn(tT(r,n.value),t,5,[r])};return n.value=e,n.attached=Qw(),n}function tT(e,t){if(fe(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const zh=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,nT=(e,t,n,r,s,i)=>{const o=s==="svg";t==="class"?jw(e,r,o):t==="style"?Gw(e,n,r):Cc(t)?Sf(t)||Xw(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):rT(e,t,r,o))?(Uh(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Vh(e,t,r,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!Ze(r))?Uh(e,Pt(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Vh(e,t,r,o))};function rT(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&zh(t)&&ge(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return zh(t)&&Ze(n)?!1:t in e}const Cv=new WeakMap,Iv=new WeakMap,Xa=Symbol("_moveCb"),qh=Symbol("_enterCb"),sT=e=>(delete e.props.mode,e),iT=sT({name:"TransitionGroup",props:ot({},Sv,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=mi(),r=Fy();let s,i;return Df(()=>{if(!s.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!lT(s[0].el,n.vnode.el,o)){s=[];return}s.forEach(oT),s.forEach(aT);const a=s.filter(cT);_u(n.vnode.el),a.forEach(c=>{const l=c.el,u=l.style;En(l,o),u.transform=u.webkitTransform=u.transitionDuration="";const f=l[Xa]=d=>{d&&d.target!==l||(!d||d.propertyName.endsWith("transform"))&&(l.removeEventListener("transitionend",f),l[Xa]=null,hr(l,o))};l.addEventListener("transitionend",f)}),s=[]}),()=>{const o=ue(e),a=Ev(o);let c=o.tag||Ke;if(s=[],i)for(let l=0;l{a.split(/\s+/).forEach(c=>c&&r.classList.remove(c))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(r);const{hasTransform:o}=wv(r);return i.removeChild(r),o}const Gh=e=>{const t=e.props["onUpdate:modelValue"]||!1;return fe(t)?n=>Sa(t,n):t};function uT(e){e.target.composing=!0}function Kh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const El=Symbol("_assign");function Yh(e,t,n){return t&&(e=e.trim()),n&&(e=wf(e)),e}const ZB={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[El]=Gh(s);const i=r||s.props&&s.props.type==="number";Os(e,t?"change":"input",o=>{o.target.composing||e[El](Yh(e.value,n,i))}),(n||i)&&Os(e,"change",()=>{e.value=Yh(e.value,n,i)}),t||(Os(e,"compositionstart",uT),Os(e,"compositionend",Kh),Os(e,"change",Kh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:i}},o){if(e[El]=Gh(o),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?wf(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===c)||(e.value=c))}},fT=["ctrl","shift","alt","meta"],dT={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)=>fT.some(n=>e[`${n}Key`]&&!t.includes(n))},QB=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const i=Pr(s.key);if(t.some(o=>o===i||hT[o]===i))return e(s)})},pT=ot({patchProp:nT},Hw);let Xh;function mT(){return Xh||(Xh=bw(pT))}const gT=(...e)=>{const t=mT().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=vT(r);if(!s)return;const i=t._component;!ge(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const o=n(s,!1,yT(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t};function yT(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function vT(e){return Ze(e)?document.querySelector(e):e}function tH(e){}function kv(e,t){t=Array.isArray(t)?t.slice(0,-1).map(n=>`'${n}'`).join(", ")+` or '${t.at(-1)}'`:`'${t}'`}const Xe=typeof window<"u",Wf=Xe&&"IntersectionObserver"in window,_T=Xe&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),xv=Xe&&"matchMedia"in window&&typeof window.matchMedia=="function",po=()=>xv&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;function Jh(e,t,n){bT(e,t),t.set(e,n)}function bT(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function Zh(e,t,n){return e.set(Rv(e,t),n),n}function Dn(e,t){return e.get(Rv(e,t))}function Rv(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function Av(e,t,n){const r=t.length-1;if(r<0)return e===void 0?n:e;for(let s=0;s"u"?n:s}if(typeof t=="string")return bu(e,t,n);if(Array.isArray(t))return Av(e,t,n);if(typeof t!="function")return n;const r=t(e,n);return typeof r>"u"?n:r}function Ov(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Array.from({length:e},(n,r)=>t+r)}function pe(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"px";if(e==null||e==="")return;const n=Number(e);return isNaN(n)?String(e):isFinite(n)?`${n}${t}`:void 0}function Su(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Qh(e){let t;return e!==null&&typeof e=="object"&&((t=Object.getPrototypeOf(e))===Object.prototype||t===null)}function jf(e){if(e&&"$el"in e){const t=e.$el;return(t==null?void 0:t.nodeType)===Node.TEXT_NODE?t.nextElementSibling:t}return e}const nH=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function rH(e){return Object.keys(e)}function wl(e,t){return t.every(n=>e.hasOwnProperty(n))}function zf(e,t){const n={};for(const r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function ep(e,t,n){const r=Object.create(null),s=Object.create(null);for(const i in e)t.some(o=>o instanceof RegExp?o.test(i):o===i)?r[i]=e[i]:s[i]=e[i];return[r,s]}function ys(e,t){const n={...e};return t.forEach(r=>delete n[r]),n}const Mv=/^on[^a-z]/,Pv=e=>Mv.test(e),ST=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"],ET=["ArrowUp","ArrowDown","ArrowRight","ArrowLeft","Enter","Escape","Tab"," "];function sH(e){return e.isComposing&&ET.includes(e.key)}function iH(e){const[t,n]=ep(e,[Mv]),r=ys(t,ST),[s,i]=ep(n,["class","style","id","inert",/^data-/]);return Object.assign(s,t),Object.assign(i,r),[s,i]}function qf(e){return e==null?[]:Array.isArray(e)?e:[e]}function oH(e,t){let n=0;const r=function(){for(var s=arguments.length,i=new Array(s),o=0;oe(...i),Ft(t))};return r.clear=()=>{clearTimeout(n)},r.immediate=e,r}function Qn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.max(t,Math.min(n,e))}function tp(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0";return e+n.repeat(Math.max(0,t-e.length))}function np(e,t){return(arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0").repeat(Math.max(0,t-e.length))+e}function wT(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const n=[];let r=0;for(;r1&&arguments[1]!==void 0?arguments[1]:1e3;if(e=t&&r0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const r={};for(const s in e)r[s]=e[s];for(const s in t){const i=e[s],o=t[s];if(Qh(i)&&Qh(o)){r[s]=Tt(i,o,n);continue}if(n&&Array.isArray(i)&&Array.isArray(o)){r[s]=n(i,o);continue}r[s]=o}return r}function Nv(e){return e.map(t=>t.type===Ke?Nv(t.children):t).flat()}function ns(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(ns.cache.has(e))return ns.cache.get(e);const t=e.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return ns.cache.set(e,t),t}ns.cache=new Map;function Ds(e,t){if(!t||typeof t!="object")return[];if(Array.isArray(t))return t.map(n=>Ds(e,n)).flat(1);if(t.suspense)return Ds(e,t.ssContent);if(Array.isArray(t.children))return t.children.map(n=>Ds(e,n)).flat(1);if(t.component){if(Object.getOwnPropertyDescriptor(t.component.provides,e))return[t.component];if(t.component.subTree)return Ds(e,t.component.subTree).flat(1)}return[]}var ws=new WeakMap,zr=new WeakMap;class TT{constructor(t){Jh(this,ws,[]),Jh(this,zr,0),this.size=t}get isFull(){return Dn(ws,this).length===this.size}push(t){Dn(ws,this)[Dn(zr,this)]=t,Zh(zr,this,(Dn(zr,this)+1)%this.size)}values(){return Dn(ws,this).slice(Dn(zr,this)).concat(Dn(ws,this).slice(0,Dn(zr,this)))}clear(){Dn(ws,this).length=0,Zh(zr,this,0)}}function Gf(e){const t=lt({});on(()=>{const r=e();for(const s in r)t[s]=r[s]},{flush:"sync"});const n={};for(const r in t)n[r]=Q(()=>t[r]);return n}function Ja(e,t){return e.includes(t)}function Lv(e){return e[2].toLowerCase()+e.slice(3)}const Ji=()=>[Function,Array];function rp(e,t){return t="on"+pi(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function cH(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:!0;const n=["button","[href]",'input:not([type="hidden"])',"select","textarea","details:not(:has(> summary))","details > summary","[tabindex]",'[contenteditable]:not([contenteditable="false"])',"audio[controls]","video[controls]"].map(s=>`${s}${t?':not([tabindex="-1"])':""}:not([disabled], [inert])`).join(", ");let r;try{r=[...e.querySelectorAll(n)]}catch{return[]}return r.filter(s=>!s.closest("[inert]")).filter(s=>!!s.offsetParent||s.getClientRects().length>0).filter(s=>{var i,o;return!((i=s.parentElement)!=null&&i.closest("details:not([open])"))||s.tagName==="SUMMARY"&&((o=s.parentElement)==null?void 0:o.tagName)==="DETAILS"})}function CT(e,t,n){let r,s=e.indexOf(document.activeElement);const i=t==="next"?1:-1;do s+=i,r=e[s];while((!r||r.offsetParent==null||!((n==null?void 0:n(r))??!0))&&s=0);return r}function Dv(e,t){var r,s,i,o;const n=Zi(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&((r=n[0])==null||r.focus());else if(t==="first")(s=n[0])==null||s.focus();else if(t==="last")(i=n.at(-1))==null||i.focus();else if(typeof t=="number")(o=n[t])==null||o.focus();else{const a=CT(n,t);a?a.focus():Dv(e,t==="next"?"first":"last")}}function lH(e){return e==null||typeof e=="string"&&e.trim()===""}function uH(){}function IT(e,t){if(!(Xe&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function kT(e){return e.some(t=>Zs(t)?t.type===pt?!1:t.type!==Ke||kT(t.children):!0)?e:null}function xT(e,t){if(!Xe||e===0)return t(),()=>{};const n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function fH(e,t){const n=e.clientX,r=e.clientY,s=t.getBoundingClientRect(),i=s.left,o=s.top,a=s.right,c=s.bottom;return n>=i&&n<=a&&r>=o&&r<=c}function Eu(){const e=be(),t=n=>{e.value=n};return Object.defineProperty(t,"value",{enumerable:!0,get:()=>e.value,set:n=>e.value=n}),Object.defineProperty(t,"el",{enumerable:!0,get:()=>jf(e.value)}),t}function dH(e){const t=e.key.length===1,n=!e.ctrlKey&&!e.metaKey&&!e.altKey;return t&&n}function ds(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"}function hH(e){return"\\^$*+?.()|{}[]".includes(e)?`\\${e}`:e}function pH(e){const t={};for(const n in e)t[Pt(n)]=e[n];return t}function RT(e){const t=["checked","disabled"];return Object.fromEntries(Object.entries(e).filter(n=>{let[r,s]=n;return t.includes(r)?!!s:s!==void 0}))}const Fv=["top","bottom"],AT=["start","end","left","right"];function wu(e,t){let[n,r]=e.split(" ");return r||(r=Ja(Fv,n)?"start":Ja(AT,n)?"top":"center"),{side:sp(n,t),align:sp(r,t)}}function sp(e,t){return e==="start"?t?"right":"left":e==="end"?t?"left":"right":e}function Tl(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function Cl(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function ip(e){return{side:e.align,align:e.side}}function op(e){return Ja(Fv,e.side)?"y":"x"}class tn{constructor(t){const n=document.body.currentCSSZoom??1,r=t instanceof Element,s=r?1+(1-n)/n:1,{x:i,y:o,width:a,height:c}=r?t.getBoundingClientRect():t;this.x=i*s,this.y=o*s,this.width=a*s,this.height=c*s}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function ap(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function $v(e){if(Array.isArray(e)){const t=document.body.currentCSSZoom??1,n=1+(1-t)/t;return new tn({x:e[0]*n,y:e[1]*n,width:0*n,height:0*n})}else return new tn(e)}function OT(e){if(e===document.documentElement)if(visualViewport){const t=document.body.currentCSSZoom??1;return new tn({x:visualViewport.scale>1?0:visualViewport.offsetLeft,y:visualViewport.scale>1?0:visualViewport.offsetTop,width:visualViewport.width*visualViewport.scale/t,height:visualViewport.height*visualViewport.scale/t})}else return new tn({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});else return new tn(e)}function Bv(e){const t=new tn(e),n=getComputedStyle(e),r=n.transform;if(r){let s,i,o,a,c;if(r.startsWith("matrix3d("))s=r.slice(9,-1).split(/, /),i=Number(s[0]),o=Number(s[5]),a=Number(s[12]),c=Number(s[13]);else if(r.startsWith("matrix("))s=r.slice(7,-1).split(/, /),i=Number(s[0]),o=Number(s[3]),a=Number(s[4]),c=Number(s[5]);else return new tn(t);const l=n.transformOrigin,u=t.x-a-(1-i)*parseFloat(l),f=t.y-c-(1-o)*parseFloat(l.slice(l.indexOf(" ")+1)),d=i?t.width/i:e.offsetWidth+1,h=o?t.height/o:e.offsetHeight+1;return new tn({x:u,y:f,width:d,height:h})}else return new tn(t)}function Kr(e,t,n){if(typeof e.animate>"u")return{finished:Promise.resolve()};let r;try{r=e.animate(t,n)}catch{return{finished:Promise.resolve()}}return typeof r.finished>"u"&&(r.finished=new Promise(s=>{r.onfinish=()=>{s(r)}})),r}const Ca=new WeakMap;function MT(e,t){Object.keys(t).forEach(n=>{if(Pv(n)){const r=Lv(n),s=Ca.get(e);if(t[n]==null)s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))});else if(!s||![...s].some(i=>i[0]===r&&i[1]===t[n])){e.addEventListener(r,t[n]);const i=s||new Set;i.add([r,t[n]]),Ca.has(e)||Ca.set(e,i)}}else t[n]==null?e.removeAttribute(n):e.setAttribute(n,t[n])})}function PT(e,t){Object.keys(t).forEach(n=>{if(Pv(n)){const r=Lv(n),s=Ca.get(e);s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))})}else e.removeAttribute(n)})}const Ts=2.4,cp=.2126729,lp=.7151522,up=.072175,NT=.55,LT=.58,DT=.57,FT=.62,aa=.03,fp=1.45,$T=5e-4,BT=1.25,HT=1.25,dp=.078,hp=12.82051282051282,ca=.06,pp=.001;function mp(e,t){const n=(e.r/255)**Ts,r=(e.g/255)**Ts,s=(e.b/255)**Ts,i=(t.r/255)**Ts,o=(t.g/255)**Ts,a=(t.b/255)**Ts;let c=n*cp+r*lp+s*up,l=i*cp+o*lp+a*up;if(c<=aa&&(c+=(aa-c)**fp),l<=aa&&(l+=(aa-l)**fp),Math.abs(l-c)<$T)return 0;let u;if(l>c){const f=(l**NT-c**LT)*BT;u=f-pp?0:f>-dp?f-f*hp*ca:f+ca}return u*100}const Za=.20689655172413793,VT=e=>e>Za**3?Math.cbrt(e):e/(3*Za**2)+4/29,UT=e=>e>Za?e**3:3*Za**2*(e-4/29);function Hv(e){const t=VT,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function Vv(e){const t=UT,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}const WT=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],jT=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,zT=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],qT=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function Uv(e){const t=Array(3),n=jT,r=WT;for(let s=0;s<3;++s)t[s]=Math.round(Qn(n(r[s][0]*e[0]+r[s][1]*e[1]+r[s][2]*e[2]))*255);return{r:t[0],g:t[1],b:t[2]}}function Kf(e){let{r:t,g:n,b:r}=e;const s=[0,0,0],i=qT,o=zT;t=i(t/255),n=i(n/255),r=i(r/255);for(let a=0;a<3;++a)s[a]=o[a][0]*t+o[a][1]*n+o[a][2]*r;return s}function Tu(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function GT(e){return Tu(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}const gp=/^(?(?:rgb|hsl)a?)\((?.+)\)/,KT={rgb:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),rgba:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),hsl:(e,t,n,r)=>yp({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>yp({h:e,s:t,l:n,a:r}),hsv:(e,t,n,r)=>mo({h:e,s:t,v:n,a:r}),hsva:(e,t,n,r)=>mo({h:e,s:t,v:n,a:r})};function Rn(e){if(typeof e=="number")return{r:(e&16711680)>>16,g:(e&65280)>>8,b:e&255};if(typeof e=="string"&&gp.test(e)){const{groups:t}=e.match(gp),{fn:n,values:r}=t,s=r.split(/,\s*|\s*\/\s*|\s+/).map((i,o)=>i.endsWith("%")||o>0&&o<3&&["hsl","hsla","hsv","hsva"].includes(n)?parseFloat(i)/100:parseFloat(i));return KT[n](...s)}else if(typeof e=="string"){let t=e.startsWith("#")?e.slice(1):e;return[3,4].includes(t.length)?t=t.split("").map(n=>n+n).join(""):[6,8].includes(t.length),XT(t)}else if(typeof e=="object"){if(wl(e,["r","g","b"]))return e;if(wl(e,["h","s","l"]))return mo(Wv(e));if(wl(e,["h","s","v"]))return mo(e)}throw new TypeError(`Invalid color: ${e==null?e:String(e)||e.constructor.name} +Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function mo(e){const{h:t,s:n,v:r,a:s}=e,i=a=>{const c=(a+t/60)%6;return r-r*n*Math.max(Math.min(c,4-c,1),0)},o=[i(5),i(3),i(1)].map(a=>Math.round(a*255));return{r:o[0],g:o[1],b:o[2],a:s}}function yp(e){return mo(Wv(e))}function Wv(e){const{h:t,s:n,l:r,a:s}=e,i=r+n*Math.min(r,1-r),o=i===0?0:2-2*r/i;return{h:t,s:o,v:i,a:s}}function la(e){const t=Math.round(e).toString(16);return("00".substr(0,2-t.length)+t).toUpperCase()}function YT(e){let{r:t,g:n,b:r,a:s}=e;return`#${[la(t),la(n),la(r),s!==void 0?la(Math.round(s*255)):""].join("")}`}function XT(e){e=JT(e);let[t,n,r,s]=wT(e,2).map(i=>parseInt(i,16));return s=s===void 0?s:s/255,{r:t,g:n,b:r,a:s}}function JT(e){return e.startsWith("#")&&(e=e.slice(1)),e=e.replace(/([^0-9a-f])/gi,"F"),(e.length===3||e.length===4)&&(e=e.split("").map(t=>t+t).join("")),e.length!==6&&(e=tp(tp(e,6),8,"F")),e}function ZT(e,t){const n=Hv(Kf(e));return n[0]=n[0]+t*10,Uv(Vv(n))}function QT(e,t){const n=Hv(Kf(e));return n[0]=n[0]-t*10,Uv(Vv(n))}function eC(e){const t=Rn(e);return Kf(t)[1]}function jv(e){const t=Math.abs(mp(Rn(0),Rn(e)));return Math.abs(mp(Rn(16777215),Rn(e)))>Math.min(t,50)?"#fff":"#000"}function ie(e,t){return n=>Object.keys(e).reduce((r,s)=>{const o=typeof e[s]=="object"&&e[s]!=null&&!Array.isArray(e[s])?e[s]:{type:e[s]};return n&&s in n?r[s]={...o,default:n[s]}:r[s]=o,t&&!r[s].source&&(r[s].source=t),r},{})}const rt=ie({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},"component");function ut(e,t){const n=mi();if(!n)throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);return n}function Dr(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"composables";const t=ut(e).type;return ns((t==null?void 0:t.aliasName)||(t==null?void 0:t.name))}function tC(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:ut("injectSelf");const{provides:n}=t;if(n&&e in n)return n[e]}const ei=Symbol.for("vuetify:defaults");function nC(e){return Ee(e)}function Yf(){const e=Oe(ei);if(!e)throw new Error("[Vuetify] Could not find defaults instance");return e}function Bc(e,t){const n=Yf(),r=Ee(e),s=U(()=>{if(Ft(t==null?void 0:t.disabled))return n.value;const o=Ft(t==null?void 0:t.scoped),a=Ft(t==null?void 0:t.reset),c=Ft(t==null?void 0:t.root);if(r.value==null&&!(o||a||c))return n.value;let l=Tt(r.value,{prev:n.value});if(o)return l;if(a||c){const u=Number(a||1/0);for(let f=0;f<=u&&!(!l||!("prev"in l));f++)l=l.prev;return l&&typeof c=="string"&&c in l&&(l=Tt(Tt(l,{prev:l}),l[c])),l}return l.prev?Tt(l.prev,l):l});return Ct(ei,s),s}function rC(e,t){return e.props&&(typeof e.props[t]<"u"||typeof e.props[ns(t)]<"u")}function sC(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Yf();const r=ut("useDefaults");if(t=t??r.type.name??r.type.__name,!t)throw new Error("[Vuetify] Could not determine component name");const s=U(()=>{var c;return(c=n.value)==null?void 0:c[e._as??t]}),i=new Proxy(e,{get(c,l){var h,p,m,y;const u=Reflect.get(c,l);if(l==="class"||l==="style")return[(h=s.value)==null?void 0:h[l],u].filter(g=>g!=null);if(rC(r.vnode,l))return u;const f=(p=s.value)==null?void 0:p[l];if(f!==void 0)return f;const d=(y=(m=n.value)==null?void 0:m.global)==null?void 0:y[l];return d!==void 0?d:u}}),o=be();on(()=>{if(s.value){const c=Object.entries(s.value).filter(l=>{let[u]=l;return u.startsWith(u[0].toUpperCase())});o.value=c.length?Object.fromEntries(c):void 0}else o.value=void 0});function a(){const c=tC(ei,r);Ct(ei,U(()=>o.value?Tt((c==null?void 0:c.value)??{},o.value):c==null?void 0:c.value))}return{props:i,provideSubDefaults:a}}function gi(e){if(e._setup=e._setup??e.setup,!e.name)return e;if(e._setup){e.props=ie(e.props??{},e.name)();const t=Object.keys(e.props).filter(n=>n!=="class"&&n!=="style");e.filterProps=function(r){return zf(r,t)},e.props._as=String,e.setup=function(r,s){const i=Yf();if(!i.value)return e._setup(r,s);const{props:o,provideSubDefaults:a}=sC(r,r._as??e.name,i),c=e._setup(o,s);return a(),c}}return e}function Pe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return t=>(e?gi:Pc)(t)}function mH(e,t){return t.props=e,t}function Xf(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",n=arguments.length>2?arguments[2]:void 0;return Pe()({name:n??pi(Pt(e.replace(/__/g,"-"))),props:{tag:{type:String,default:t},...rt()},setup(r,s){let{slots:i}=s;return()=>{var o;return Lr(r.tag,{class:[e,r.class],style:r.style},(o=i.default)==null?void 0:o.call(i))}}})}function iC(e,t,n,r){if(!n||ds(e)||ds(t))return;const s=n.get(e);if(s)s.set(t,r);else{const i=new WeakMap;i.set(t,r),n.set(e,i)}}function oC(e,t,n){var i,o;if(!n||ds(e)||ds(t))return null;const r=(i=n.get(e))==null?void 0:i.get(t);if(typeof r=="boolean")return r;const s=(o=n.get(t))==null?void 0:o.get(e);return typeof s=="boolean"?s:null}function rs(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new WeakMap;if(e===t)return!0;if(e instanceof Date&&t instanceof Date&&e.getTime()!==t.getTime()||e!==Object(e)||t!==Object(t))return!1;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;const s=oC(e,t,n);return s||(iC(e,t,n,!0),r.every(i=>rs(e[i],t[i],n)))}function zv(e){if(typeof e.getRootNode!="function"){for(;e.parentNode;)e=e.parentNode;return e!==document?null:document}const t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}const Cu="cubic-bezier(0.4, 0, 0.2, 1)",vp="cubic-bezier(0.0, 0, 0.2, 1)",_p="cubic-bezier(0.4, 0, 1, 1)",aC={linear:e=>e,easeInQuad:e=>e**2,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e**2:-1+(4-2*e)*e,easeInCubic:e=>e**3,easeOutCubic:e=>--e**3+1,easeInOutCubic:e=>e<.5?4*e**3:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e**4,easeOutQuart:e=>1- --e**4,easeInOutQuart:e=>e<.5?8*e**4:1-8*--e**4,easeInQuint:e=>e**5,easeOutQuint:e=>1+--e**5,easeInOutQuint:e=>e<.5?16*e**5:1+16*--e**5,instant:e=>1};function cC(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;e;){if(t?lC(e):Jf(e))return e;e=e.parentElement}return document.scrollingElement}function Qa(e,t){const n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(Jf(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function Jf(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e),n=t.overflowY==="scroll"||t.overflowY==="auto"&&e.scrollHeight>e.clientHeight,r=t.overflowX==="scroll"||t.overflowX==="auto"&&e.scrollWidth>e.clientWidth;return n||r}function lC(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e);return["scroll","auto"].includes(t.overflowY)}function uC(e){for(;e;){if(window.getComputedStyle(e).position==="fixed")return!0;e=e.offsetParent}return!1}function Je(e){const t=ut("useRender");t.render=e}function fC(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{leading:!0,trailing:!0},r=0,s=0,i=!1,o=0;function a(){clearTimeout(r),i=!1,o=0}const c=function(){for(var l=arguments.length,u=new Array(l),f=0;f=t?p():n.trailing&&(r=setTimeout(p,t-h)):(i=!0,n.leading&&p())};return c.clear=a,c.immediate=e,c}const yt=[String,Function,Object,Array],Iu=Symbol.for("vuetify:icons"),Hc=ie({icon:{type:yt},tag:{type:[String,Object,Function],required:!0}},"icon"),bp=Pe()({name:"VComponentIcon",props:Hc(),setup(e,t){let{slots:n}=t;return()=>{const r=e.icon;return F(e.tag,null,{default:()=>{var s;return[e.icon?F(r,null,null):(s=n.default)==null?void 0:s.call(n)]}})}}}),qv=gi({name:"VSvgIcon",inheritAttrs:!1,props:Hc(),setup(e,t){let{attrs:n}=t;return()=>F(e.tag,Ye(n,{style:null}),{default:()=>[ne("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(e.icon)?e.icon.map(r=>Array.isArray(r)?ne("path",{d:r[0],"fill-opacity":r[1]},null):ne("path",{d:r},null)):ne("path",{d:e.icon},null)])]})}});gi({name:"VLigatureIcon",props:Hc(),setup(e){return()=>F(e.tag,null,{default:()=>[e.icon]})}});const Gv=gi({name:"VClassIcon",props:Hc(),setup(e){return()=>F(e.tag,{class:Re(e.icon)},null)}}),dC=e=>{const t=Oe(Iu);if(!t)throw new Error("Missing Vuetify Icons provide!");return{iconData:U(()=>{var c;const r=mt(e);if(!r)return{component:bp};let s=r;if(typeof s=="string"&&(s=s.trim(),s.startsWith("$")&&(s=(c=t.aliases)==null?void 0:c[s.slice(1)])),Array.isArray(s))return{component:qv,icon:s};if(typeof s!="string")return{component:bp,icon:s};const i=Object.keys(t.sets).find(l=>typeof s=="string"&&s.startsWith(`${l}:`)),o=i?s.slice(i.length+1):s;return{component:t.sets[i??t.defaultSet].component,icon:o}})}},hC={collapse:"mdi-chevron-up",complete:"mdi-check",cancel:"mdi-close-circle",close:"mdi-close",delete:"mdi-close-circle",clear:"mdi-close-circle",success:"mdi-check-circle",info:"mdi-information",warning:"mdi-alert-circle",error:"mdi-close-circle",prev:"mdi-chevron-left",next:"mdi-chevron-right",checkboxOn:"mdi-checkbox-marked",checkboxOff:"mdi-checkbox-blank-outline",checkboxIndeterminate:"mdi-minus-box",delimiter:"mdi-circle",sortAsc:"mdi-arrow-up",sortDesc:"mdi-arrow-down",expand:"mdi-chevron-down",menu:"mdi-menu",subgroup:"mdi-menu-down",dropdown:"mdi-menu-down",radioOn:"mdi-radiobox-marked",radioOff:"mdi-radiobox-blank",edit:"mdi-pencil",ratingEmpty:"mdi-star-outline",ratingFull:"mdi-star",ratingHalf:"mdi-star-half-full",loading:"mdi-cached",first:"mdi-page-first",last:"mdi-page-last",unfold:"mdi-unfold-more-horizontal",file:"mdi-paperclip",plus:"mdi-plus",minus:"mdi-minus",calendar:"mdi-calendar",treeviewCollapse:"mdi-menu-down",treeviewExpand:"mdi-menu-right",tableGroupCollapse:"mdi-chevron-down",tableGroupExpand:"mdi-chevron-right",eyeDropper:"mdi-eyedropper",upload:"mdi-cloud-upload",color:"mdi-palette",command:"mdi-apple-keyboard-command",ctrl:"mdi-apple-keyboard-control",space:"mdi-keyboard-space",shift:"mdi-apple-keyboard-shift",alt:"mdi-apple-keyboard-option",enter:"mdi-keyboard-return",arrowup:"mdi-arrow-up",arrowdown:"mdi-arrow-down",arrowleft:"mdi-arrow-left",arrowright:"mdi-arrow-right",backspace:"mdi-backspace",play:"mdi-play",pause:"mdi-pause",fullscreen:"mdi-fullscreen",fullscreenExit:"mdi-fullscreen-exit",volumeHigh:"mdi-volume-high",volumeMedium:"mdi-volume-medium",volumeLow:"mdi-volume-low",volumeOff:"mdi-volume-variant-off"},pC={component:e=>Lr(Gv,{...e,class:"mdi"})};function mC(){return{svg:{component:qv},class:{component:Gv}}}function gC(e){const t=mC(),n=(e==null?void 0:e.defaultSet)??"mdi";return n==="mdi"&&!t.mdi&&(t.mdi=pC),Tt({defaultSet:n,sets:t,aliases:{...hC,vuetify:["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z",["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z",.6]],"vuetify-outline":"svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z","vuetify-play":["m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z",["M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z",.6]]}},e)}function yi(e,t){let n;function r(){n=ls(),n.run(()=>t.length?t(()=>{n==null||n.stop(),r()}):t())}Se(e,s=>{s&&!n?r():s||(n==null||n.stop(),n=void 0)},{immediate:!0}),_t(()=>{n==null||n.stop()})}function zn(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:f=>f,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:f=>f;const i=ut("useProxiedModel"),o=Ee(e[t]!==void 0?e[t]:n),a=ns(t),l=U(a!==t?()=>{var f,d,h,p;return e[t],!!(((f=i.vnode.props)!=null&&f.hasOwnProperty(t)||(d=i.vnode.props)!=null&&d.hasOwnProperty(a))&&((h=i.vnode.props)!=null&&h.hasOwnProperty(`onUpdate:${t}`)||(p=i.vnode.props)!=null&&p.hasOwnProperty(`onUpdate:${a}`)))}:()=>{var f,d;return e[t],!!((f=i.vnode.props)!=null&&f.hasOwnProperty(t)&&((d=i.vnode.props)!=null&&d.hasOwnProperty(`onUpdate:${t}`)))});yi(()=>!l.value,()=>{Se(()=>e[t],f=>{o.value=f})});const u=U({get(){const f=e[t];return r(l.value?f:o.value)},set(f){const d=s(f),h=ue(l.value?e[t]:o.value);h===d||r(h)===f||(o.value=d,i==null||i.emit(`update:${t}`,d))}});return Object.defineProperty(u,"externalValue",{get:()=>l.value?e[t]:o.value}),u}const yC={badge:"Badge",open:"Open",close:"Close",dismiss:"Dismiss",confirmEdit:{ok:"OK",cancel:"Cancel"},dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},dateRangeInput:{divider:"to"},datePicker:{itemsSelected:"{0} selected",range:{title:"Select dates",header:"Enter dates"},title:"Select date",header:"Enter date",input:{placeholder:"Enter date"},ariaLabel:{previousMonth:"Previous month",nextMonth:"Next month",selectYear:"Select year",previousYear:"Previous year",nextYear:"Next year",selectMonth:"Select month",selectDate:"{0}",currentDate:"Today, {0}"}},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more",today:"Today"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action",otp:"Please enter OTP character {0}"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},fileUpload:{title:"Drag and drop files here",divider:"or",browse:"Browse Files"},timePicker:{am:"AM",pm:"PM",title:"Select Time",hour:"Hour",minute:"Minute",second:"Second"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},stepper:{next:"Next",prev:"Previous"},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"},rules:{required:"This field is required",email:"Please enter a valid email",number:"This field can only contain numbers",integer:"This field can only contain integer values",capital:"This field can only contain uppercase letters",maxLength:"You must enter a maximum of {0} characters",minLength:"You must enter a minimum of {0} characters",strictLength:"The length of the entered field is invalid",exclude:"The {0} character is not allowed",notEmpty:"Please choose at least one value",pattern:"Invalid format"},hotkey:{then:"then",ctrl:"Ctrl",command:"Command",space:"Space",shift:"Shift",alt:"Alt",enter:"Enter",escape:"Escape",upArrow:"Up Arrow",downArrow:"Down Arrow",leftArrow:"Left Arrow",rightArrow:"Right Arrow",backspace:"Backspace",option:"Option",plus:"plus",shortcut:"Keyboard shortcut: {0}",or:"or"},video:{play:"Play",pause:"Pause",seek:"Seek",volume:"Volume",showVolume:"Show volume control",mute:"Mute",unmute:"Unmute",enterFullscreen:"Full screen",exitFullscreen:"Exit full screen"},colorPicker:{ariaLabel:{eyedropper:"Select color with eyedropper",hueSlider:"Hue",alphaSlider:"Alpha",redInput:"Red value",greenInput:"Green value",blueInput:"Blue value",alphaInput:"Alpha value",hueInput:"Hue value",saturationInput:"Saturation value",lightnessInput:"Lightness value",hexInput:"HEX value",hexaInput:"HEX with alpha value",changeFormat:"Change color format"}}},Sp="$vuetify.",Ep=(e,t)=>e.replace(/\{(\d+)\}/g,(n,r)=>String(t[Number(r)])),Kv=(e,t,n)=>function(r){for(var s=arguments.length,i=new Array(s>1?s-1:0),o=1;onew Intl.NumberFormat([e.value,t.value],r).format(n)}function Yv(e,t){return Zf(e,t)(.1).includes(",")?",":"."}function Il(e,t,n){const r=zn(e,t,e[t]??n.value);return r.value=e[t]??n.value,Se(n,s=>{e[t]==null&&(r.value=n.value)}),r}function Xv(e){return t=>{const n=Il(t,"locale",e.current),r=Il(t,"fallback",e.fallback),s=Il(t,"messages",e.messages);return{name:"vuetify",current:n,fallback:r,messages:s,decimalSeparator:Q(()=>Yv(n,r)),t:Kv(n,r,s),n:Zf(n,r),provide:Xv({current:n,fallback:r,messages:s})}}}function vC(e){const t=be((e==null?void 0:e.locale)??"en"),n=be((e==null?void 0:e.fallback)??"en"),r=Ee({en:yC,...e==null?void 0:e.messages});return{name:"vuetify",current:t,fallback:n,messages:r,decimalSeparator:Q(()=>(e==null?void 0:e.decimalSeparator)??Yv(t,n)),t:Kv(t,n,r),n:Zf(t,n),provide:Xv({current:t,fallback:n,messages:r})}}const ec=Symbol.for("vuetify:locale");function _C(e){return e.name!=null}function bC(e){const t=e!=null&&e.adapter&&_C(e==null?void 0:e.adapter)?e==null?void 0:e.adapter:vC(e),n=wC(t,e);return{...t,...n}}function SC(){const e=Oe(ec);if(!e)throw new Error("[Vuetify] Could not find injected locale instance");return e}function EC(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function wC(e,t){const n=Ee((t==null?void 0:t.rtl)??EC()),r=U(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:Q(()=>`v-locale--is-${r.value?"rtl":"ltr"}`)}}function Do(){const e=Oe(ec);if(!e)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}function Fo(e){const t=e.slice(-2).toUpperCase();switch(!0){case e==="GB-alt-variant":return{firstDay:0,firstWeekSize:4};case e==="001":return{firstDay:1,firstWeekSize:1};case`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE + KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US + VE VI WS YE ZA ZW`.includes(t):return{firstDay:0,firstWeekSize:1};case`AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV + MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(t):return{firstDay:1,firstWeekSize:1};case`AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS + IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(t):return{firstDay:1,firstWeekSize:4};case"AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY".includes(t):return{firstDay:6,firstWeekSize:1};case t==="MV":return{firstDay:5,firstWeekSize:1};case t==="PT":return{firstDay:0,firstWeekSize:4};default:return null}}function TC(e,t,n){var u;const r=[];let s=[];const i=Jv(e),o=Zv(e),a=n??((u=Fo(t))==null?void 0:u.firstDay)??0,c=(i.getDay()-a+7)%7,l=(o.getDay()-a+7)%7;for(let f=0;f0&&r.push(s),r}function Qi(e,t,n){var i;let r=(n??((i=Fo(t))==null?void 0:i.firstDay)??0)%7;[0,1,2,3,4,5,6].includes(r)||(r=0);const s=new Date(e);for(;s.getDay()!==r;)s.setDate(s.getDate()-1);return s}function CC(e,t){var s;const n=new Date(e),r=((((s=Fo(t))==null?void 0:s.firstDay)??0)+6)%7;for(;n.getDay()!==r;)n.setDate(n.getDate()+1);return n}function Jv(e){return new Date(e.getFullYear(),e.getMonth(),1)}function Zv(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function IC(e){const t=e.split("-").map(Number);return new Date(t[0],t[1]-1,t[2])}const kC=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function Qv(e){if(e==null)return new Date;if(e instanceof Date)return e;if(typeof e=="string"){let t;if(kC.test(e))return IC(e);if(t=Date.parse(e),!isNaN(t))return new Date(t)}return null}const wp=new Date(2e3,0,2);function xC(e,t,n){var s;const r=t??((s=Fo(e))==null?void 0:s.firstDay)??0;return Ov(7).map(i=>{const o=new Date(wp);return o.setDate(wp.getDate()+r+i),new Intl.DateTimeFormat(e,{weekday:n??"narrow"}).format(o)})}function RC(e,t,n,r){const s=Qv(e)??new Date,i=r==null?void 0:r[t];if(typeof i=="function")return i(s,t,n);let o={};switch(t){case"fullDate":o={year:"numeric",month:"short",day:"numeric"};break;case"fullDateWithWeekday":o={weekday:"long",year:"numeric",month:"long",day:"numeric"};break;case"normalDate":const a=s.getDate(),c=new Intl.DateTimeFormat(n,{month:"long"}).format(s);return`${a} ${c}`;case"normalDateWithWeekday":o={weekday:"short",day:"numeric",month:"short"};break;case"shortDate":o={month:"short",day:"numeric"};break;case"year":o={year:"numeric"};break;case"month":o={month:"long"};break;case"monthShort":o={month:"short"};break;case"monthAndYear":o={month:"long",year:"numeric"};break;case"monthAndDate":o={month:"long",day:"numeric"};break;case"weekday":o={weekday:"long"};break;case"weekdayShort":o={weekday:"short"};break;case"dayOfMonth":return new Intl.NumberFormat(n).format(s.getDate());case"hours12h":o={hour:"numeric",hour12:!0};break;case"hours24h":o={hour:"numeric",hour12:!1};break;case"minutes":o={minute:"numeric"};break;case"seconds":o={second:"numeric"};break;case"fullTime":o={hour:"numeric",minute:"numeric"};break;case"fullTime12h":o={hour:"numeric",minute:"numeric",hour12:!0};break;case"fullTime24h":o={hour:"numeric",minute:"numeric",hour12:!1};break;case"fullDateTime":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"};break;case"fullDateTime12h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!0};break;case"fullDateTime24h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1};break;case"keyboardDate":o={year:"numeric",month:"2-digit",day:"2-digit"};break;case"keyboardDateTime":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric"},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime12h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!0},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime24h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!1},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");default:o=i??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(n,o).format(s)}function AC(e,t){const n=e.toJsDate(t),r=n.getFullYear(),s=np(String(n.getMonth()+1),2,"0"),i=np(String(n.getDate()),2,"0");return`${r}-${s}-${i}`}function OC(e){const[t,n,r]=e.split("-").map(Number);return new Date(t,n-1,r)}function MC(e,t){const n=new Date(e);return n.setMinutes(n.getMinutes()+t),n}function PC(e,t){const n=new Date(e);return n.setHours(n.getHours()+t),n}function ss(e,t){const n=new Date(e);return n.setDate(n.getDate()+t),n}function NC(e,t){const n=new Date(e);return n.setDate(n.getDate()+t*7),n}function LC(e,t){const n=new Date(e);return n.setDate(1),n.setMonth(n.getMonth()+t),n}function go(e){return e.getFullYear()}function DC(e){return e.getMonth()}function FC(e,t,n,r){const s=Fo(t),i=n??(s==null?void 0:s.firstDay)??0,o=(s==null?void 0:s.firstWeekSize)??1;return r!==void 0?$C(e,t,i,r):BC(e,t,i,o)}function $C(e,t,n,r){const s=(7+r-n)%7,i=Qi(e,t,n),o=ss(i,6);function a(d){return(7+new Date(d,0,1).getDay()-n)%7}let c=go(i);c=r&&a++;const c=new Date(a,0,1),l=o(a),u=l>=r?ss(c,l-7):ss(c,l);return 1+nc(Qf(s),yo(u),"weeks")}function HC(e){return e.getDate()}function VC(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function UC(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function WC(e){return e.getHours()}function jC(e){return e.getMinutes()}function zC(e){return new Date(e.getFullYear(),0,1)}function qC(e){return new Date(e.getFullYear(),11,31)}function GC(e,t){return tc(e,t[0])&&XC(e,t[1])}function KC(e){const t=new Date(e);return t instanceof Date&&!isNaN(t.getTime())}function tc(e,t){return e.getTime()>t.getTime()}function YC(e,t){return tc(yo(e),yo(t))}function XC(e,t){return e.getTime(){n.locale=e.locale[r]??r??n.locale}),n}function yH(){const e=Oe(e_);if(!e)throw new Error("[Vuetify] Could not find injected date options");const t=SC();return t_(e,t)}const vH=["sm","md","lg","xl","xxl"],ku=Symbol.for("vuetify:display"),Ip={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},cI=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ip;return Tt(Ip,e)};function kp(e){return Xe&&!e?window.innerWidth:typeof e=="object"&&e.clientWidth||0}function xp(e){return Xe&&!e?window.innerHeight:typeof e=="object"&&e.clientHeight||0}function Rp(e){const t=Xe&&!e?window.navigator.userAgent:"ssr";function n(p){return!!t.match(p)}const r=n(/android/i),s=n(/iphone|ipad|ipod/i),i=n(/cordova/i),o=n(/electron/i),a=n(/chrome/i),c=n(/edge/i),l=n(/firefox/i),u=n(/opera/i),f=n(/win/i),d=n(/mac/i),h=n(/linux/i);return{android:r,ios:s,cordova:i,electron:o,chrome:a,edge:c,firefox:l,opera:u,win:f,mac:d,linux:h,touch:_T,ssr:t==="ssr"}}function lI(e,t){const{thresholds:n,mobileBreakpoint:r}=cI(e),s=be(xp(t)),i=be(Rp(t)),o=lt({}),a=be(kp(t));function c(){s.value=xp(),a.value=kp()}function l(){c(),i.value=Rp()}return on(()=>{const u=a.value=n.xxl,y=u?"xs":f?"sm":d?"md":h?"lg":p?"xl":"xxl",g=typeof r=="number"?r:n[r],v=a.value{window.removeEventListener("resize",c)},!0)),{...Mf(o),update:l,ssr:!!t}}const _H=ie({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function uI(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{mobile:null},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Dr();const n=Oe(ku);if(!n)throw new Error("Could not find Vuetify display injection");const r=U(()=>e.mobile?!0:typeof e.mobileBreakpoint=="number"?n.width.valuet?{[`${t}--mobile`]:r.value}:{}),mobile:r}}const n_=Symbol.for("vuetify:goto");function r_(){return{container:void 0,duration:300,layout:!1,offset:0,easing:"easeInOutCubic",patterns:aC}}function fI(e){return ed(e)??(document.scrollingElement||document.body)}function ed(e){return typeof e=="string"?document.querySelector(e):jf(e)}function kl(e,t,n){if(typeof e=="number")return t&&n?-e:e;let r=ed(e),s=0;for(;r;)s+=t?r.offsetLeft:r.offsetTop,r=r.offsetParent;return s}function dI(e,t){return{rtl:t.isRtl,options:Tt(r_(),e)}}async function Ap(e,t,n,r){const s=n?"scrollLeft":"scrollTop",i=Tt((r==null?void 0:r.options)??r_(),t),o=r==null?void 0:r.rtl.value,a=(typeof e=="number"?e:ed(e))??0,c=i.container==="parent"&&a instanceof HTMLElement?a.parentElement:fI(i.container),l=po()?i.patterns.instant:typeof i.easing=="function"?i.easing:i.patterns[i.easing];if(!l)throw new TypeError(`Easing function "${i.easing}" not found.`);let u;if(typeof a=="number")u=kl(a,n,o);else if(u=kl(a,n,o)-kl(c,n,o),i.layout){const p=window.getComputedStyle(a).getPropertyValue("--v-layout-top");p&&(u-=parseInt(p,10))}u+=i.offset,u=hI(c,u,!!o,!!n);const f=c[s]??0;if(u===f)return Promise.resolve(u);const d=performance.now();return new Promise(h=>requestAnimationFrame(function p(m){const g=(m-d)/i.duration,v=Math.floor(f+(u-f)*l(Qn(g,0,1)));if(c[s]=v,g>=1&&Math.abs(v-c[s])<10)return h(u);if(g>2)return h(c[s]);requestAnimationFrame(p)}))}function bH(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=Oe(n_),{isRtl:n}=Do();if(!t)throw new Error("[Vuetify] Could not find injected goto instance");const r={...t,rtl:Q(()=>t.rtl.value||n.value)};async function s(i,o){return Ap(i,Tt(e,o),!1,r)}return s.horizontal=async(i,o)=>Ap(i,Tt(e,o),!0,r),s}function hI(e,t,n,r){const{scrollWidth:s,scrollHeight:i}=e,[o,a]=e===document.scrollingElement?[window.innerWidth,window.innerHeight]:[e.offsetWidth,e.offsetHeight];let c,l;return r?n?(c=-(s-o),l=0):(c=0,l=s-o):(c=0,l=i+-a),Qn(t,c,l)}const vo=Symbol.for("vuetify:theme"),Yt=ie({theme:String},"theme");function Op(){return{defaultTheme:"light",prefix:"v-",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-bright":"#FFFFFF","surface-light":"#EEEEEE","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#1867C0","primary-darken-1":"#1F5592",secondary:"#48A9A6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#EEEEEE","theme-on-kbd":"#000000","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-bright":"#ccbfd6","surface-light":"#424242","surface-variant":"#c8c8c8","on-surface-variant":"#000000",primary:"#2196F3","primary-darken-1":"#277CC1",secondary:"#54B6B2","secondary-darken-1":"#48A9A6",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#424242","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}},stylesheetId:"vuetify-theme-stylesheet",scoped:!1,unimportant:!1,utilities:!0}}function pI(){var r,s;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Op();const t=Op();if(!e)return{...t,isDisabled:!0};const n={};for(const[i,o]of Object.entries(e.themes??{})){const a=o.dark||i==="dark"?(r=t.themes)==null?void 0:r.dark:(s=t.themes)==null?void 0:s.light;n[i]=Tt(a,o)}return Tt(t,{...e,themes:n})}function qr(e,t,n,r){e.push(`${vI(t,r)} { +`,...n.map(s=>` ${s}; +`),`} +`)}function Mp(e,t){const n=e.dark?2:1,r=e.dark?1:2,s=[];for(const[i,o]of Object.entries(e.colors)){const a=Rn(o);s.push(`--${t}theme-${i}: ${a.r},${a.g},${a.b}`),i.startsWith("on-")||s.push(`--${t}theme-${i}-overlay-multiplier: ${eC(o)>.18?n:r}`)}for(const[i,o]of Object.entries(e.variables)){const a=typeof o=="string"&&o.startsWith("#")?Rn(o):void 0,c=a?`${a.r}, ${a.g}, ${a.b}`:void 0;s.push(`--${t}${i}: ${c??o}`)}return s}function mI(e,t,n){const r={};if(n)for(const s of["lighten","darken"]){const i=s==="lighten"?ZT:QT;for(const o of Ov(n[s],1))r[`${e}-${s}-${o}`]=YT(i(Rn(t),o))}return r}function gI(e,t){if(!t)return{};let n={};for(const r of t.colors){const s=e[r];s&&(n={...n,...mI(r,s,t)})}return n}function yI(e){const t={};for(const n of Object.keys(e)){if(n.startsWith("on-")||e[`on-${n}`])continue;const r=`on-${n}`,s=Rn(e[n]);t[r]=jv(s)}return t}function vI(e,t){if(!t)return e;const n=`:where(${t})`;return e===":root"?n:`${n} ${e}`}function _I(e,t,n){const r=bI(e,t);r&&(r.innerHTML=n)}function bI(e,t){if(!Xe)return null;let n=document.getElementById(e);return n||(n=document.createElement("style"),n.id=e,n.type="text/css",t&&n.setAttribute("nonce",t),document.head.appendChild(n)),n}function SI(e){const t=pI(e),n=be(t.defaultTheme),r=Ee(t.themes),s=be("light"),i=U({get(){return n.value==="system"?s.value:n.value},set(g){n.value=g}}),o=U(()=>{const g={};for(const[v,_]of Object.entries(r.value)){const T={..._.colors,...gI(_.colors,t.variations)};g[v]={..._,colors:{...T,...yI(T)}}}return g}),a=Q(()=>o.value[i.value]),c=Q(()=>n.value==="system"),l=U(()=>{var O;const g=[],v=t.unimportant?"":" !important",_=t.scoped?t.prefix:"";(O=a.value)!=null&&O.dark&&qr(g,":root",["color-scheme: dark"],t.scope),qr(g,":root",Mp(a.value,t.prefix),t.scope);for(const[R,E]of Object.entries(o.value))qr(g,`.${t.prefix}theme--${R}`,[`color-scheme: ${E.dark?"dark":"normal"}`,...Mp(E,t.prefix)],t.scope);if(t.utilities){const R=[],E=[],w=new Set(Object.values(o.value).flatMap(I=>Object.keys(I.colors)));for(const I of w)I.startsWith("on-")?qr(E,`.${I}`,[`color: rgb(var(--${t.prefix}theme-${I}))${v}`],t.scope):(qr(R,`.${_}bg-${I}`,[`--${t.prefix}theme-overlay-multiplier: var(--${t.prefix}theme-${I}-overlay-multiplier)`,`background-color: rgb(var(--${t.prefix}theme-${I}))${v}`,`color: rgb(var(--${t.prefix}theme-on-${I}))${v}`],t.scope),qr(E,`.${_}text-${I}`,[`color: rgb(var(--${t.prefix}theme-${I}))${v}`],t.scope),qr(E,`.${_}border-${I}`,[`--${t.prefix}border-color: var(--${t.prefix}theme-${I})`],t.scope));t.layers?g.push(`@layer background { +`,...R.map(I=>` ${I}`),`} +`,`@layer foreground { +`,...E.map(I=>` ${I}`),`} +`):g.push(...R,...E)}let T=g.map((R,E)=>E===0?R:` ${R}`).join("");return t.layers&&(T=`@layer vuetify.theme { +`+g.map(R=>` ${R}`).join("")+` +}`),T}),u=Q(()=>t.isDisabled?void 0:`${t.prefix}theme--${i.value}`),f=Q(()=>Object.keys(o.value));if(xv){let v=function(){s.value=g.matches?"dark":"light"};const g=window.matchMedia("(prefers-color-scheme: dark)");v(),g.addEventListener("change",v,{passive:!0}),Tf()&&_t(()=>{g.removeEventListener("change",v)})}function d(g){if(t.isDisabled)return;const v=g._context.provides.usehead;if(v){let _=function(){return{style:[{textContent:l.value,id:t.stylesheetId,nonce:t.cspNonce||!1}]}};if(v.push){const T=v.push(_);Xe&&Se(l,()=>{T.patch(_)})}else Xe?(v.addHeadObjs(Q(_)),on(()=>v.updateDOM())):v.addHeadObjs(_())}else{let _=function(){_I(t.stylesheetId,t.cspNonce,l.value)};Xe?Se(l,_,{immediate:!0}):_()}}function h(g){g!=="system"&&!f.value.includes(g)||(i.value=g)}function p(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f.value;const v=g.indexOf(i.value),_=v===-1?0:(v+1)%g.length;h(g[_])}function m(){let g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["light","dark"];p(g)}const y=new Proxy(i,{get(g,v){return Reflect.get(g,v)},set(g,v,_){return v==="value"&&kv(`theme.global.name.value = ${_}`,`theme.change('${_}')`),Reflect.set(g,v,_)}});return{install:d,change:h,cycle:p,toggle:m,isDisabled:t.isDisabled,isSystem:c,name:i,themes:r,current:a,computedThemes:o,prefix:t.prefix,themeClasses:u,styles:l,global:{name:y,current:a}}}function cn(e){ut("provideTheme");const t=Oe(vo,null);if(!t)throw new Error("Could not find Vuetify theme injection");const n=Q(()=>e.theme??t.name.value),i={...t,name:n,current:Q(()=>t.themes.value[n.value]),themeClasses:Q(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`)};return Ct(vo,i),i}function s_(){ut("useTheme");const e=Oe(vo,null);if(!e)throw new Error("Could not find Vuetify theme injection");return e}function td(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"content";const n=Eu(),r=Ee();if(Xe){const s=new ResizeObserver(i=>{e==null||e(i,s),i.length&&(t==="content"?r.value=i[0].contentRect:r.value=i[0].target.getBoundingClientRect())});yn(()=>{s.disconnect()}),Se(()=>n.el,(i,o)=>{o&&(s.unobserve(o),r.value=void 0),i&&s.observe(i)},{flush:"post"})}return{resizeRef:n,contentRect:Xs(r)}}const _o=Symbol.for("vuetify:layout"),i_=Symbol.for("vuetify:layout-item"),Pp=1e3,EI=ie({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),SH=ie({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item");function wI(){const e=Oe(_o);if(!e)throw new Error("[Vuetify] Could not find injected layout");return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function EH(e){const t=Oe(_o);if(!t)throw new Error("[Vuetify] Could not find injected layout");const n=e.id??`layout-item-${Uy()}`,r=ut("useLayoutItem");Ct(i_,{id:n});const s=be(!1);zy(()=>s.value=!0),jy(()=>s.value=!1);const{layoutItemStyles:i,layoutItemScrimStyles:o}=t.register(r,{...e,active:U(()=>s.value?!1:e.active.value),id:n});return yn(()=>t.unregister(n)),{layoutItemStyles:i,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}const TI=(e,t,n,r)=>{let s={top:0,left:0,right:0,bottom:0};const i=[{id:"",layer:{...s}}];for(const o of e){const a=t.get(o),c=n.get(o),l=r.get(o);if(!a||!c||!l)continue;const u={...s,[a.value]:parseInt(s[a.value],10)+(l.value?parseInt(c.value,10):0)};i.push({id:o,layer:u}),s=u}return i};function CI(e){const t=Oe(_o,null),n=U(()=>t?t.rootZIndex.value-100:Pp),r=Ee([]),s=lt(new Map),i=lt(new Map),o=lt(new Map),a=lt(new Map),c=lt(new Map),{resizeRef:l,contentRect:u}=td(),f=U(()=>{const R=new Map,E=e.overlaps??[];for(const w of E.filter(I=>I.includes(":"))){const[I,A]=w.split(":");if(!r.value.includes(I)||!r.value.includes(A))continue;const M=s.get(I),x=s.get(A),N=i.get(I),L=i.get(A);!M||!x||!N||!L||(R.set(A,{position:M.value,amount:parseInt(N.value,10)}),R.set(I,{position:x.value,amount:-parseInt(L.value,10)}))}return R}),d=U(()=>{const R=[...new Set([...o.values()].map(w=>w.value))].sort((w,I)=>w-I),E=[];for(const w of R){const I=r.value.filter(A=>{var M;return((M=o.get(A))==null?void 0:M.value)===w});E.push(...I)}return TI(E,s,i,a)}),h=U(()=>!Array.from(c.values()).some(R=>R.value)),p=U(()=>d.value[d.value.length-1].layer),m=Q(()=>({"--v-layout-left":pe(p.value.left),"--v-layout-right":pe(p.value.right),"--v-layout-top":pe(p.value.top),"--v-layout-bottom":pe(p.value.bottom),...h.value?void 0:{transition:"none"}})),y=U(()=>d.value.slice(1).map((R,E)=>{let{id:w}=R;const{layer:I}=d.value[E],A=i.get(w),M=s.get(w);return{id:w,...I,size:Number(A.value),position:M.value}})),g=R=>y.value.find(E=>E.id===R),v=ut("createLayout"),_=be(!1);return Nr(()=>{_.value=!0}),Ct(_o,{register:(R,E)=>{let{id:w,order:I,position:A,layoutSize:M,elementSize:x,active:N,disableTransitions:L,absolute:G}=E;o.set(w,I),s.set(w,A),i.set(w,M),a.set(w,N),L&&c.set(w,L);const j=Ds(i_,v==null?void 0:v.vnode).indexOf(R);j>-1?r.value.splice(j,0,w):r.value.push(w);const D=U(()=>y.value.findIndex(le=>le.id===w)),ae=U(()=>n.value+d.value.length*2-D.value*2),q=U(()=>{const le=A.value==="left"||A.value==="right",ve=A.value==="right",Me=A.value==="bottom",Fe=x.value??M.value,Ge=Fe===0?"%":"px",C={[A.value]:0,zIndex:ae.value,transform:`translate${le?"X":"Y"}(${(N.value?0:-(Fe===0?100:Fe))*(ve||Me?-1:1)}${Ge})`,position:G.value||n.value!==Pp?"absolute":"fixed",...h.value?void 0:{transition:"none"}};if(!_.value)return C;const W=y.value[D.value],z=f.value.get(w);return z&&(W[z.position]+=z.amount),{...C,height:le?`calc(100% - ${W.top}px - ${W.bottom}px)`:x.value?`${x.value}px`:void 0,left:ve?void 0:`${W.left}px`,right:ve?`${W.right}px`:void 0,top:A.value!=="bottom"?`${W.top}px`:void 0,bottom:A.value!=="top"?`${W.bottom}px`:void 0,width:le?x.value?`${x.value}px`:void 0:`calc(100% - ${W.left}px - ${W.right}px)`}}),ce=U(()=>({zIndex:ae.value-1}));return{layoutItemStyles:q,layoutItemScrimStyles:ce,zIndex:ae}},unregister:R=>{o.delete(R),s.delete(R),i.delete(R),a.delete(R),c.delete(R),r.value=r.value.filter(E=>E!==R)},mainRect:p,mainStyles:m,getLayoutItem:g,items:y,layoutRect:u,rootZIndex:n}),{layoutClasses:Q(()=>["v-layout",{"v-layout--full-height":e.fullHeight}]),layoutStyles:Q(()=>({zIndex:t?n.value:void 0,position:t?"relative":void 0,overflow:t?"hidden":void 0})),getLayoutItem:g,items:y,layoutRect:u,layoutRef:l}}function o_(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{blueprint:t,...n}=e,r=Tt(t,n),{aliases:s={},components:i={},directives:o={}}=r,a=ls();return a.run(()=>{const c=nC(r.defaults),l=lI(r.display,r.ssr),u=SI(r.theme),f=gC(r.icons),d=bC(r.locale),h=oI(r.date,d),p=dI(r.goTo,d);function m(g){for(const _ in o)g.directive(_,o[_]);for(const _ in i)g.component(_,i[_]);for(const _ in s)g.component(_,gi({...s[_],name:_,aliasName:s[_].name}));const v=ls();if(v.run(()=>{u.install(g)}),g.onUnmount(()=>v.stop()),g.provide(ei,c),g.provide(ku,l),g.provide(vo,u),g.provide(Iu,f),g.provide(ec,d),g.provide(e_,h.options),g.provide(Cp,h.instance),g.provide(n_,p),Xe&&r.ssr)if(g.$nuxt)g.$nuxt.hook("app:suspense:resolve",()=>{l.update()});else{const{mount:_}=g;g.mount=function(){const T=_(...arguments);return dt(()=>l.update()),g.mount=_,T}}g.mixin({computed:{$vuetify(){return lt({defaults:Cs.call(this,ei),display:Cs.call(this,ku),theme:Cs.call(this,vo),icons:Cs.call(this,Iu),locale:Cs.call(this,ec),date:Cs.call(this,Cp)})}}})}function y(){a.stop()}return{install:m,unmount:y,defaults:c,display:l,theme:u,icons:f,locale:d,date:h,goTo:p}})}const II="3.11.7";o_.version=II;function Cs(e){var r,s;const t=this.$,n=((r=t.parent)==null?void 0:r.provides)??((s=t.vnode.appContext)==null?void 0:s.provides);if(n&&e in n)return n[e]}const kI=o_({theme:{defaultTheme:"dark"}});/*! + * pinia v3.0.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let a_;const Vc=e=>a_=e,c_=Symbol();function xu(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var eo;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(eo||(eo={}));function l_(){const e=ls(!0),t=e.run(()=>Ee({}));let n=[],r=[];const s=Of({install(i){Vc(s),s._a=i,i.provide(c_,s),i.config.globalProperties.$pinia=s,r.forEach(o=>n.push(o)),r=[]},use(i){return this._a?n.push(i):r.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const u_=()=>{};function Np(e,t,n,r=u_){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&Tf()&&_t(s),s}function Is(e,...t){e.forEach(n=>{n(...t)})}const xI=e=>e(),Lp=Symbol(),xl=Symbol();function Ru(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];xu(s)&&xu(r)&&e.hasOwnProperty(n)&&!qe(r)&&!jn(r)?e[n]=Ru(s,r):e[n]=r}return e}const RI=Symbol();function AI(e){return!xu(e)||!Object.prototype.hasOwnProperty.call(e,RI)}const{assign:pr}=Object;function OI(e){return!!(qe(e)&&e.effect)}function MI(e,t,n,r){const{state:s,actions:i,getters:o}=t,a=n.state.value[e];let c;function l(){a||(n.state.value[e]=s?s():{});const u=Mf(n.state.value[e]);return pr(u,i,Object.keys(o||{}).reduce((f,d)=>(f[d]=Of(U(()=>{Vc(n);const h=n._s.get(e);return o[d].call(h,h)})),f),{}))}return c=f_(e,l,t,n,r,!0),c}function f_(e,t,n={},r,s,i){let o;const a=pr({actions:{}},n),c={deep:!0};let l,u,f=new Set,d=new Set,h;const p=r.state.value[e];!i&&!p&&(r.state.value[e]={});let m;function y(w){let I;l=u=!1,typeof w=="function"?(w(r.state.value[e]),I={type:eo.patchFunction,storeId:e,events:h}):(Ru(r.state.value[e],w),I={type:eo.patchObject,payload:w,storeId:e,events:h});const A=m=Symbol();dt().then(()=>{m===A&&(l=!0)}),u=!0,Is(f,I,r.state.value[e])}const g=i?function(){const{state:I}=n,A=I?I():{};this.$patch(M=>{pr(M,A)})}:u_;function v(){o.stop(),f.clear(),d.clear(),r._s.delete(e)}const _=(w,I="")=>{if(Lp in w)return w[xl]=I,w;const A=function(){Vc(r);const M=Array.from(arguments),x=new Set,N=new Set;function L(j){x.add(j)}function G(j){N.add(j)}Is(d,{args:M,name:A[xl],store:O,after:L,onError:G});let J;try{J=w.apply(this&&this.$id===e?this:O,M)}catch(j){throw Is(N,j),j}return J instanceof Promise?J.then(j=>(Is(x,j),j)).catch(j=>(Is(N,j),Promise.reject(j))):(Is(x,J),J)};return A[Lp]=!0,A[xl]=I,A},T={_p:r,$id:e,$onAction:Np.bind(null,d),$patch:y,$reset:g,$subscribe(w,I={}){const A=Np(f,w,I.detached,()=>M()),M=o.run(()=>Se(()=>r.state.value[e],x=>{(I.flush==="sync"?u:l)&&w({storeId:e,type:eo.direct,events:h},x)},pr({},c,I)));return A},$dispose:v},O=lt(T);r._s.set(e,O);const E=(r._a&&r._a.runWithContext||xI)(()=>r._e.run(()=>(o=ls()).run(()=>t({action:_}))));for(const w in E){const I=E[w];if(qe(I)&&!OI(I)||jn(I))i||(p&&AI(I)&&(qe(I)?I.value=p[w]:Ru(I,p[w])),r.state.value[e][w]=I);else if(typeof I=="function"){const A=_(I,w);E[w]=A,a.actions[w]=I}}return pr(O,E),pr(ue(O),E),Object.defineProperty(O,"$state",{get:()=>r.state.value[e],set:w=>{y(I=>{pr(I,w)})}}),r._p.forEach(w=>{pr(O,o.run(()=>w({store:O,app:r._a,pinia:r,options:a})))}),p&&i&&n.hydrate&&n.hydrate(O.$state,p),l=!0,u=!0,O}/*! #__NO_SIDE_EFFECTS__ */function wH(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function i(o,a){const c=F0();return o=o||(c?Oe(c_,null):null),o&&Vc(o),o=a_,o._s.has(e)||(s?f_(e,t,r,o):MI(e,r,o)),o._s.get(e)}return i.$id=e,i}function TH(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(){return e(this.$pinia)[r]},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(){const s=e(this.$pinia),i=t[r];return typeof i=="function"?i.call(this,s):s[i]},n),{})}function CH(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(...s){return e(this.$pinia)[r](...s)},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(...s){return e(this.$pinia)[t[r]](...s)},n),{})}const PI=l_();/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const Ms=typeof document<"u";function d_(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function NI(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&d_(e.default)}const Ne=Object.assign;function Rl(e,t){const n={};for(const r in t){const s=t[r];n[r]=gn(s)?s.map(e):e(s)}return n}const to=()=>{},gn=Array.isArray;function Dp(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const h_=/#/g,LI=/&/g,DI=/\//g,FI=/=/g,$I=/\?/g,p_=/\+/g,BI=/%5B/g,HI=/%5D/g,m_=/%5E/g,VI=/%60/g,g_=/%7B/g,UI=/%7C/g,y_=/%7D/g,WI=/%20/g;function nd(e){return e==null?"":encodeURI(""+e).replace(UI,"|").replace(BI,"[").replace(HI,"]")}function jI(e){return nd(e).replace(g_,"{").replace(y_,"}").replace(m_,"^")}function Au(e){return nd(e).replace(p_,"%2B").replace(WI,"+").replace(h_,"%23").replace(LI,"%26").replace(VI,"`").replace(g_,"{").replace(y_,"}").replace(m_,"^")}function zI(e){return Au(e).replace(FI,"%3D")}function qI(e){return nd(e).replace(h_,"%23").replace($I,"%3F")}function GI(e){return qI(e).replace(DI,"%2F")}function bo(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const KI=/\/$/,YI=e=>e.replace(KI,"");function Al(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let c=t.indexOf("?");return c=a>=0&&c>a?-1:c,c>=0&&(r=t.slice(0,c),i=t.slice(c,a>0?a:t.length),s=e(i.slice(1))),a>=0&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=QI(r??t,n),{fullPath:r+i+o,path:r,query:s,hash:bo(o)}}function XI(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Fp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function JI(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&ti(t.matched[r],n.matched[s])&&v_(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ti(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function v_(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!ZI(e[n],t[n]))return!1;return!0}function ZI(e,t){return gn(e)?$p(e,t):gn(t)?$p(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function $p(e,t){return gn(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function QI(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o).join("/")}const fr={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Ou=function(e){return e.pop="pop",e.push="push",e}({}),Ol=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function ek(e){if(!e)if(Ms){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),YI(e)}const tk=/^[^#]+#/;function nk(e,t){return e.replace(tk,"#")+t}function rk(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const Uc=()=>({left:window.scrollX,top:window.scrollY});function sk(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=rk(s,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 Bp(e,t){return(history.state?history.state.position-t:-1)+e}const Mu=new Map;function ik(e,t){Mu.set(e,t)}function ok(e){const t=Mu.get(e);return Mu.delete(e),t}function ak(e){return typeof e=="string"||e&&typeof e=="object"}function __(e){return typeof e=="string"||typeof e=="symbol"}let tt=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 b_=Symbol("");tt.MATCHER_NOT_FOUND+"",tt.NAVIGATION_GUARD_REDIRECT+"",tt.NAVIGATION_ABORTED+"",tt.NAVIGATION_CANCELLED+"",tt.NAVIGATION_DUPLICATED+"";function ni(e,t){return Ne(new Error,{type:e,[b_]:!0},t)}function Fn(e,t){return e instanceof Error&&b_ in e&&(t==null||!!(e.type&t))}const ck=["params","query","hash"];function lk(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of ck)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function uk(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&Au(s)):[r&&Au(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function fk(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=gn(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const dk=Symbol(""),Vp=Symbol(""),Wc=Symbol(""),rd=Symbol(""),Pu=Symbol("");function Fi(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function _r(e,t,n,r,s,i=o=>o()){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,c)=>{const l=d=>{d===!1?c(ni(tt.NAVIGATION_ABORTED,{from:n,to:t})):d instanceof Error?c(d):ak(d)?c(ni(tt.NAVIGATION_GUARD_REDIRECT,{from:t,to:d})):(o&&r.enterCallbacks[s]===o&&typeof d=="function"&&o.push(d),a())},u=i(()=>e.call(r&&r.instances[s],t,n,l));let f=Promise.resolve(u);e.length<3&&(f=f.then(l)),f.catch(d=>c(d))})}function Ml(e,t,n,r,s=i=>i()){const i=[];for(const o of e)for(const a in o.components){let c=o.components[a];if(!(t!=="beforeRouteEnter"&&!o.instances[a]))if(d_(c)){const l=(c.__vccOpts||c)[t];l&&i.push(_r(l,n,r,o,a,s))}else{let l=c();i.push(()=>l.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${a}" at "${o.path}"`);const f=NI(u)?u.default:u;o.mods[a]=u,o.components[a]=f;const d=(f.__vccOpts||f)[t];return d&&_r(d,n,r,o,a,s)()}))}}return i}function hk(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oti(l,a))?r.push(a):n.push(a));const c=e.matched[o];c&&(t.matched.find(l=>ti(l,c))||s.push(c))}return[n,r,s]}/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let pk=()=>location.protocol+"//"+location.host;function S_(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let o=s.includes(e.slice(i))?e.slice(i).length:1,a=s.slice(o);return a[0]!=="/"&&(a="/"+a),Fp(a,"")}return Fp(n,e)+r+s}function mk(e,t,n,r){let s=[],i=[],o=null;const a=({state:d})=>{const h=S_(e,location),p=n.value,m=t.value;let y=0;if(d){if(n.value=h,t.value=d,o&&o===p){o=null;return}y=m?d.position-m.position:0}else r(h);s.forEach(g=>{g(n.value,p,{delta:y,type:Ou.pop,direction:y?y>0?Ol.forward:Ol.back:Ol.unknown})})};function c(){o=n.value}function l(d){s.push(d);const h=()=>{const p=s.indexOf(d);p>-1&&s.splice(p,1)};return i.push(h),h}function u(){if(document.visibilityState==="hidden"){const{history:d}=window;if(!d.state)return;d.replaceState(Ne({},d.state,{scroll:Uc()}),"")}}function f(){for(const d of i)d();i=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:c,listen:l,destroy:f}}function Up(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?Uc():null}}function gk(e){const{history:t,location:n}=window,r={value:S_(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,l,u){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:pk()+e+c;try{t[u?"replaceState":"pushState"](l,"",d),s.value=l}catch(h){console.error(h),n[u?"replace":"assign"](d)}}function o(c,l){i(c,Ne({},t.state,Up(s.value.back,c,s.value.forward,!0),l,{position:s.value.position}),!0),r.value=c}function a(c,l){const u=Ne({},s.value,t.state,{forward:c,scroll:Uc()});i(u.current,u,!0),i(c,Ne({},Up(r.value,c,null),{position:u.position+1},l),!1),r.value=c}return{location:r,state:s,push:a,replace:o}}function yk(e){e=ek(e);const t=gk(e),n=mk(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=Ne({location:"",base:e,go:r,createHref:nk.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Jr=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var at=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}(at||{});const vk={type:Jr.Static,value:""},_k=/[a-zA-Z0-9_]/;function bk(e){if(!e)return[[]];if(e==="/")return[[vk]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${l}": ${h}`)}let n=at.Static,r=n;const s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,c,l="",u="";function f(){l&&(n===at.Static?i.push({type:Jr.Static,value:l}):n===at.Param||n===at.ParamRegExp||n===at.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Jr.Param,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),l="")}function d(){l+=c}for(;at.length?t.length===1&&t[0]===At.Static+At.Segment?1:-1:0}function E_(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Ck={strict:!1,end:!0,sensitive:!1};function Ik(e,t,n){const r=wk(bk(e.path),n),s=Ne(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function kk(e,t){const n=[],r=new Map;t=Dp(Ck,t);function s(f){return r.get(f)}function i(f,d,h){const p=!h,m=qp(f);m.aliasOf=h&&h.record;const y=Dp(t,f),g=[m];if("alias"in f){const T=typeof f.alias=="string"?[f.alias]:f.alias;for(const O of T)g.push(qp(Ne({},m,{components:h?h.record.components:m.components,path:O,aliasOf:h?h.record:m})))}let v,_;for(const T of g){const{path:O}=T;if(d&&O[0]!=="/"){const R=d.record.path,E=R[R.length-1]==="/"?"":"/";T.path=d.record.path+(O&&E+O)}if(v=Ik(T,d,y),h?h.alias.push(v):(_=_||v,_!==v&&_.alias.push(v),p&&f.name&&!Gp(v)&&o(f.name)),w_(v)&&c(v),m.children){const R=m.children;for(let E=0;E{o(_)}:to}function o(f){if(__(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(o),d.alias.forEach(o))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function a(){return n}function c(f){const d=Ak(f,n);n.splice(d,0,f),f.record.name&&!Gp(f)&&r.set(f.record.name,f)}function l(f,d){let h,p={},m,y;if("name"in f&&f.name){if(h=r.get(f.name),!h)throw ni(tt.MATCHER_NOT_FOUND,{location:f});y=h.record.name,p=Ne(zp(d.params,h.keys.filter(_=>!_.optional).concat(h.parent?h.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),f.params&&zp(f.params,h.keys.map(_=>_.name))),m=h.stringify(p)}else if(f.path!=null)m=f.path,h=n.find(_=>_.re.test(m)),h&&(p=h.parse(m),y=h.record.name);else{if(h=d.name?r.get(d.name):n.find(_=>_.re.test(d.path)),!h)throw ni(tt.MATCHER_NOT_FOUND,{location:f,currentLocation:d});y=h.record.name,p=Ne({},d.params,f.params),m=h.stringify(p)}const g=[];let v=h;for(;v;)g.unshift(v.record),v=v.parent;return{name:y,path:m,params:p,matched:g,meta:Rk(g)}}e.forEach(f=>i(f));function u(){n.length=0,r.clear()}return{addRoute:i,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:a,getRecordMatcher:s}}function zp(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function qp(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:xk(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 xk(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Gp(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Rk(e){return e.reduce((t,n)=>Ne(t,n.meta),{})}function Ak(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;E_(e,t[i])<0?r=i:n=i+1}const s=Ok(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Ok(e){let t=e;for(;t=t.parent;)if(w_(t)&&E_(e,t)===0)return t}function w_({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Kp(e){const t=Oe(Wc),n=Oe(rd),r=U(()=>{const c=Ft(e.to);return t.resolve(c)}),s=U(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],f=n.matched;if(!u||!f.length)return-1;const d=f.findIndex(ti.bind(null,u));if(d>-1)return d;const h=Yp(c[l-2]);return l>1&&Yp(u)===h&&f[f.length-1].path!==h?f.findIndex(ti.bind(null,c[l-2])):d}),i=U(()=>s.value>-1&&Dk(n.params,r.value.params)),o=U(()=>s.value>-1&&s.value===n.matched.length-1&&v_(n.params,r.value.params));function a(c={}){if(Lk(c)){const l=t[Ft(e.replace)?"replace":"push"](Ft(e.to)).catch(to);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>l),l}return Promise.resolve()}return{route:r,href:U(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}function Mk(e){return e.length===1?e[0]:e}const Pk=Pc({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:Kp,setup(e,{slots:t}){const n=lt(Kp(e)),{options:r}=Oe(Wc),s=U(()=>({[Xp(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Xp(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&Mk(t.default(n));return e.custom?i:Lr("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),Nk=Pk;function Lk(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 Dk(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!gn(s)||s.length!==r.length||r.some((i,o)=>i.valueOf()!==s[o].valueOf()))return!1}return!0}function Yp(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Xp=(e,t,n)=>e??t??n,Fk=Pc({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Oe(Pu),s=U(()=>e.route||r.value),i=Oe(Vp,0),o=U(()=>{let l=Ft(i);const{matched:u}=s.value;let f;for(;(f=u[l])&&!f.components;)l++;return l}),a=U(()=>s.value.matched[o.value]);Ct(Vp,U(()=>o.value+1)),Ct(dk,a),Ct(Pu,s);const c=Ee();return Se(()=>[c.value,a.value,e.name],([l,u,f],[d,h,p])=>{u&&(u.instances[f]=l,h&&h!==u&&l&&l===d&&(u.leaveGuards.size||(u.leaveGuards=h.leaveGuards),u.updateGuards.size||(u.updateGuards=h.updateGuards))),l&&u&&(!h||!ti(u,h)||!d)&&(u.enterCallbacks[f]||[]).forEach(m=>m(l))},{flush:"post"}),()=>{const l=s.value,u=e.name,f=a.value,d=f&&f.components[u];if(!d)return Jp(n.default,{Component:d,route:l});const h=f.props[u],p=h?h===!0?l.params:typeof h=="function"?h(l):h:null,y=Lr(d,Ne({},p,t,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(f.instances[u]=null)},ref:c}));return Jp(n.default,{Component:y,route:l})||y}}});function Jp(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const $k=Fk;function Bk(e){const t=kk(e.routes,e),n=e.parseQuery||uk,r=e.stringifyQuery||Hp,s=e.history,i=Fi(),o=Fi(),a=Fi(),c=be(fr);let l=fr;Ms&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Rl.bind(null,C=>""+C),f=Rl.bind(null,GI),d=Rl.bind(null,bo);function h(C,W){let z,re;return __(C)?(z=t.getRecordMatcher(C),re=W):re=C,t.addRoute(re,z)}function p(C){const W=t.getRecordMatcher(C);W&&t.removeRoute(W)}function m(){return t.getRoutes().map(C=>C.record)}function y(C){return!!t.getRecordMatcher(C)}function g(C,W){if(W=Ne({},W||c.value),typeof C=="string"){const k=Al(n,C,W.path),P=t.resolve({path:k.path},W),H=s.createHref(k.fullPath);return Ne(k,P,{params:d(P.params),hash:bo(k.hash),redirectedFrom:void 0,href:H})}let z;if(C.path!=null)z=Ne({},C,{path:Al(n,C.path,W.path).path});else{const k=Ne({},C.params);for(const P in k)k[P]==null&&delete k[P];z=Ne({},C,{params:f(k)}),W.params=f(W.params)}const re=t.resolve(z,W),_e=C.hash||"";re.params=u(d(re.params));const b=XI(r,Ne({},C,{hash:jI(_e),path:re.path})),S=s.createHref(b);return Ne({fullPath:b,hash:_e,query:r===Hp?fk(C.query):C.query||{}},re,{redirectedFrom:void 0,href:S})}function v(C){return typeof C=="string"?Al(n,C,c.value.path):Ne({},C)}function _(C,W){if(l!==C)return ni(tt.NAVIGATION_CANCELLED,{from:W,to:C})}function T(C){return E(C)}function O(C){return T(Ne(v(C),{replace:!0}))}function R(C,W){const z=C.matched[C.matched.length-1];if(z&&z.redirect){const{redirect:re}=z;let _e=typeof re=="function"?re(C,W):re;return typeof _e=="string"&&(_e=_e.includes("?")||_e.includes("#")?_e=v(_e):{path:_e},_e.params={}),Ne({query:C.query,hash:C.hash,params:_e.path!=null?{}:C.params},_e)}}function E(C,W){const z=l=g(C),re=c.value,_e=C.state,b=C.force,S=C.replace===!0,k=R(z,re);if(k)return E(Ne(v(k),{state:typeof k=="object"?Ne({},_e,k.state):_e,force:b,replace:S}),W||z);const P=z;P.redirectedFrom=W;let H;return!b&&JI(r,re,z)&&(H=ni(tt.NAVIGATION_DUPLICATED,{to:P,from:re}),ce(re,re,!0,!1)),(H?Promise.resolve(H):A(P,re)).catch($=>Fn($)?Fn($,tt.NAVIGATION_GUARD_REDIRECT)?$:q($):D($,P,re)).then($=>{if($){if(Fn($,tt.NAVIGATION_GUARD_REDIRECT))return E(Ne({replace:S},v($.to),{state:typeof $.to=="object"?Ne({},_e,$.to.state):_e,force:b}),W||P)}else $=x(P,re,!0,S,_e);return M(P,re,$),$})}function w(C,W){const z=_(C,W);return z?Promise.reject(z):Promise.resolve()}function I(C){const W=Me.values().next().value;return W&&typeof W.runWithContext=="function"?W.runWithContext(C):C()}function A(C,W){let z;const[re,_e,b]=hk(C,W);z=Ml(re.reverse(),"beforeRouteLeave",C,W);for(const k of re)k.leaveGuards.forEach(P=>{z.push(_r(P,C,W))});const S=w.bind(null,C,W);return z.push(S),Ge(z).then(()=>{z=[];for(const k of i.list())z.push(_r(k,C,W));return z.push(S),Ge(z)}).then(()=>{z=Ml(_e,"beforeRouteUpdate",C,W);for(const k of _e)k.updateGuards.forEach(P=>{z.push(_r(P,C,W))});return z.push(S),Ge(z)}).then(()=>{z=[];for(const k of b)if(k.beforeEnter)if(gn(k.beforeEnter))for(const P of k.beforeEnter)z.push(_r(P,C,W));else z.push(_r(k.beforeEnter,C,W));return z.push(S),Ge(z)}).then(()=>(C.matched.forEach(k=>k.enterCallbacks={}),z=Ml(b,"beforeRouteEnter",C,W,I),z.push(S),Ge(z))).then(()=>{z=[];for(const k of o.list())z.push(_r(k,C,W));return z.push(S),Ge(z)}).catch(k=>Fn(k,tt.NAVIGATION_CANCELLED)?k:Promise.reject(k))}function M(C,W,z){a.list().forEach(re=>I(()=>re(C,W,z)))}function x(C,W,z,re,_e){const b=_(C,W);if(b)return b;const S=W===fr,k=Ms?history.state:{};z&&(re||S?s.replace(C.fullPath,Ne({scroll:S&&k&&k.scroll},_e)):s.push(C.fullPath,_e)),c.value=C,ce(C,W,z,S),q()}let N;function L(){N||(N=s.listen((C,W,z)=>{if(!Fe.listening)return;const re=g(C),_e=R(re,Fe.currentRoute.value);if(_e){E(Ne(_e,{replace:!0,force:!0}),re).catch(to);return}l=re;const b=c.value;Ms&&ik(Bp(b.fullPath,z.delta),Uc()),A(re,b).catch(S=>Fn(S,tt.NAVIGATION_ABORTED|tt.NAVIGATION_CANCELLED)?S:Fn(S,tt.NAVIGATION_GUARD_REDIRECT)?(E(Ne(v(S.to),{force:!0}),re).then(k=>{Fn(k,tt.NAVIGATION_ABORTED|tt.NAVIGATION_DUPLICATED)&&!z.delta&&z.type===Ou.pop&&s.go(-1,!1)}).catch(to),Promise.reject()):(z.delta&&s.go(-z.delta,!1),D(S,re,b))).then(S=>{S=S||x(re,b,!1),S&&(z.delta&&!Fn(S,tt.NAVIGATION_CANCELLED)?s.go(-z.delta,!1):z.type===Ou.pop&&Fn(S,tt.NAVIGATION_ABORTED|tt.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),M(re,b,S)}).catch(to)}))}let G=Fi(),J=Fi(),j;function D(C,W,z){q(C);const re=J.list();return re.length?re.forEach(_e=>_e(C,W,z)):console.error(C),Promise.reject(C)}function ae(){return j&&c.value!==fr?Promise.resolve():new Promise((C,W)=>{G.add([C,W])})}function q(C){return j||(j=!C,L(),G.list().forEach(([W,z])=>C?z(C):W()),G.reset()),C}function ce(C,W,z,re){const{scrollBehavior:_e}=e;if(!Ms||!_e)return Promise.resolve();const b=!z&&ok(Bp(C.fullPath,0))||(re||!z)&&history.state&&history.state.scroll||null;return dt().then(()=>_e(C,W,b)).then(S=>S&&sk(S)).catch(S=>D(S,C,W))}const le=C=>s.go(C);let ve;const Me=new Set,Fe={currentRoute:c,listening:!0,addRoute:h,removeRoute:p,clearRoutes:t.clearRoutes,hasRoute:y,getRoutes:m,resolve:g,options:e,push:T,replace:O,go:le,back:()=>le(-1),forward:()=>le(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:J.add,isReady:ae,install(C){C.component("RouterLink",Nk),C.component("RouterView",$k),C.config.globalProperties.$router=Fe,Object.defineProperty(C.config.globalProperties,"$route",{enumerable:!0,get:()=>Ft(c)}),Ms&&!ve&&c.value===fr&&(ve=!0,T(s.location).catch(re=>{}));const W={};for(const re in fr)Object.defineProperty(W,re,{get:()=>c.value[re],enumerable:!0});C.provide(Wc,Fe),C.provide(rd,wy(W)),C.provide(Pu,c);const z=C.unmount;Me.add(C),C.unmount=function(){Me.delete(C),Me.size<1&&(l=fr,N&&N(),N=null,c.value=fr,ve=!1,j=!1),z()}}};function Ge(C){return C.reduce((W,z)=>W.then(()=>I(z)),Promise.resolve())}return Fe}function IH(){return Oe(Wc)}function kH(e){return Oe(rd)}const Hk=e=>{const t={};Object.entries(Object.assign({"/src/layouts/default.vue":()=>ht(()=>import("./default-BdaTlbaW.js"),__vite__mapDeps([0,1]),import.meta.url)})).forEach(([s,i])=>{let o=s.replace("/src/layouts/","").replace(".vue","");t[o]=i});function r(s,i=!0){return s.map(o=>{var a,c,l,u,f,d;if(((a=o.children)==null?void 0:a.length)>0&&(o.children=r(o.children,!1)),i){if(!o.component&&((c=o.children)==null?void 0:c.find(p=>{var m;return(p.path===""||p.path==="/")&&((m=p.meta)==null?void 0:m.isLayout)})))return o;if(((l=o.meta)==null?void 0:l.layout)!==!1)return{path:o.path,component:t[((u=o.meta)==null?void 0:u.layout)||"default"],children:o.path==="/"?[o]:[{...o,path:""}],meta:{isLayout:!0}}}return(f=o.meta)!=null&&f.layout?{path:o.path,component:t[(d=o.meta)==null?void 0:d.layout],children:[{...o,path:""}],meta:{isLayout:!0}}:o})}return r(e)},Vk=[{path:"/",name:"/",component:()=>ht(()=>import("./index-DDM9P6IV.js"),__vite__mapDeps([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]),import.meta.url)},{path:"/404",name:"/404",component:()=>ht(()=>import("./404-BUV7S865.js"),__vite__mapDeps([40,14,35]),import.meta.url)},{path:"/authorize",name:"/authorize",component:()=>ht(()=>import("./authorize-B6ScKHRa.js"),__vite__mapDeps([41,14,35]),import.meta.url)},{path:"/CacheManagement",name:"/CacheManagement",component:()=>ht(()=>import("./CacheManagement-DoF_G4xZ.js"),__vite__mapDeps([42,6,7,37,38,12,13,8,9,14,35]),import.meta.url)},{path:"/cses2wakeup",name:"/cses2wakeup",component:()=>ht(()=>import("./cses2wakeup-CFK6QLBO.js"),__vite__mapDeps([43,14,6,7,44,33,22,19,15,16,20,34,21,12,13,23,45,10,11,17,18,8,9,35,46]),import.meta.url)},{path:"/debug",name:"/debug",component:()=>ht(()=>import("./debug-KU27ZD5S.js"),__vite__mapDeps([47,35,48]),import.meta.url)},{path:"/debug-init",name:"/debug-init",component:()=>ht(()=>import("./debug-init-CBNN17PW.js"),__vite__mapDeps([49,4,5,14,36,15,16,35]),import.meta.url)},{path:"/debug-socket",name:"/debug-socket",component:()=>ht(()=>import("./debug-socket-sq4UK_d2.js"),__vite__mapDeps([50,27,5,32,14,12,13,15,16,17,18,35]),import.meta.url)},{path:"/exam-editor",children:[{path:":id",name:"/exam-editor/[id]",component:()=>ht(()=>import("./_id_-9DDLDO6h.js"),__vite__mapDeps([51,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,29,30,35]),import.meta.url)}]},{path:"/examschedule",name:"/examschedule",component:()=>ht(()=>import("./examschedule-DlYuJdDl.js"),__vite__mapDeps([52,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,35,53]),import.meta.url)},{path:"/list",children:[{path:"",name:"/list/",component:()=>ht(()=>import("./index-bqvMdhMd.js"),__vite__mapDeps([54,4,5,29,30,15,16,35]),import.meta.url)},{path:":id",name:"/list/[id]",component:()=>ht(()=>import("./_id_-DzoDISsJ.js"),__vite__mapDeps([55,4,5,29,30,15,16,22,19,20,12,13,17,18,35]),import.meta.url)}]},{path:"/settings",name:"/settings",component:()=>ht(()=>import("./settings-BmFKtRQg.js"),__vite__mapDeps([56,28,29,30,15,16,21,22,19,20,12,13,23,31,4,5,6,7,14,35,33,34,17,18,36,37,38,44,45,24,25,57]),import.meta.url)},{path:"/socket-debugger",name:"/socket-debugger",component:()=>ht(()=>import("./socket-debugger-qP6I1v4J.js"),__vite__mapDeps([58,27,5,14,12,13,15,16,17,18,19,20,6,7,35,59]),import.meta.url)}],jc=Bk({history:yk("./"),routes:Hk(Vk)});jc.onError((e,t)=>{var n,r;(r=(n=e==null?void 0:e.message)==null?void 0:n.includes)!=null&&r.call(n,"Failed to fetch dynamically imported module")?localStorage.getItem("vuetify:dynamic-reload")?console.error("Dynamic import error, reloading page did not fix it",e):(console.log("Reloading page to fix dynamic import error"),localStorage.setItem("vuetify:dynamic-reload","true"),location.assign(t.fullPath)):console.error(e)});jc.isReady().then(()=>{localStorage.removeItem("vuetify:dynamic-reload")});function Uk(e){e.use(kI).use(jc).use(PI)}async function Wk(){return typeof Notification<"u"&&Notification.requestPermission?await Notification.requestPermission()==="granted"?(console.log("通知权限已授予"),!0):(console.warn("通知权限被拒绝"),!1):(console.warn("浏览器不支持通知权限请求"),!1)}async function jk(){var e;try{return(e=navigator.storage)!=null&&e.persist?await navigator.storage.persist():!1}catch(t){return console.warn("请求持久性存储失败:",t),!1}}const Pl="Classworks_settings",Zp={"server.domain":"https://kv-service.houlang.cloud","server.siteKey":""},mr={"device.uuid":{type:"string",default:"00000000-0000-4000-8000-000000000000",description:"设备唯一标识符",icon:"mdi-identifier"},"storage.persistOnLoad":{type:"boolean",default:!0,description:"是否在页面加载时自动请求持久性存储",icon:"mdi-database-sync"},"display.emptySubjectDisplay":{type:"string",default:"card",validate:e=>["card","button"].includes(e),description:"空科目的显示方式",icon:"mdi-card-outline"},"hitokoto.enabled":{type:"boolean",default:!0,description:"启用一言",icon:"mdi-comment-quote"},"hitokoto.refreshInterval":{type:"number",default:300,description:"刷新时间(秒,0为不自动刷新)",icon:"mdi-timer-refresh"},"display.dynamicSort":{type:"boolean",default:!0,description:"是否启用动态排序",icon:"mdi-sort-variant"},"display.showRandomButton":{type:"boolean",default:!1,description:"是否显示随机点人按钮",icon:"mdi-shuffle-variant"},"display.showFullscreenButton":{type:"boolean",default:!0,description:"是否显示全屏按钮",icon:"mdi-fullscreen"},"display.cardHoverEffect":{type:"boolean",default:!0,description:"是否启用卡片悬浮效果",icon:"mdi-gesture-tap"},"display.enhancedTouchMode":{type:"boolean",default:!0,description:"是否启用增强触摸模式",icon:"mdi-gesture-tap-button"},"display.showAntiScreenBurnCard":{type:"boolean",default:!1,description:"是否显示防烧屏忽悠卡片",icon:"mdi-monitor-shimmer"},"display.showListCard":{type:"boolean",default:!0,description:"是否显示列表卡片",icon:"mdi-list-box"},"display.showExamScheduleButton":{type:"boolean",default:!0,description:"是否显示考试看板",icon:"mdi-calendar-check"},"display.showQuickTools":{type:"boolean",default:!0,description:"是否显示快捷键盘",icon:"mdi-dialpad"},"display.forceDesktopMode":{type:"boolean",default:!1,description:"强制使用一体机UI模式",icon:"mdi-monitor"},"display.lateStudentsArePresent":{type:"boolean",default:!1,description:"将迟到人数算入出勤人数",icon:"mdi-clock-fast"},"server.domain":{type:"string",default:"",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("域名格式无效:",t),!1}},description:"后端服务器域名",icon:"mdi-web"},"server.classNumber":{type:"string",default:"高三八班",validate:e=>/.*/.test(e),description:"班级编号",icon:"mdi-account-group"},"server.siteKey":{type:"string",default:"",description:"网站令牌",icon:"mdi-key-chain"},"server.kvToken":{type:"string",default:"",description:"KV授权令牌",icon:"mdi-shield-key"},"server.authDomain":{type:"string",default:"https://kv.houlang.cloud",description:"授权服务器域名",icon:"mdi-shield-account",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("授权域名格式无效:",t),!1}}},"server.provider":{type:"string",default:"classworkscloud",validate:e=>["kv-local","kv-server","classworkscloud"].includes(e),description:"数据提供者",icon:"mdi-database"},"refresh.auto":{type:"boolean",default:!1,description:"是否启用自动刷新",icon:"mdi-refresh-auto"},"refresh.interval":{type:"number",default:300,validate:e=>e>=10&&e<=3600,description:"自动刷新间隔(秒)",icon:"mdi-timer-outline"},"font.size":{type:"number",default:28,validate:e=>e>=16&&e<=100,description:"字体大小",icon:"mdi-format-size"},"edit.autoSave":{type:"boolean",default:!0,description:"是否启用自动保存",icon:"mdi-content-save-outline"},"edit.blockNonTodayAutoSave":{type:"boolean",default:!0,description:"禁止自动保存非当天数据",icon:"mdi-calendar-lock"},"edit.refreshBeforeEdit":{type:"boolean",default:!0,description:"编辑前是否自动刷新",icon:"mdi-refresh"},"edit.confirmNonTodaySave":{type:"boolean",default:!0,description:"保存非当天数据需确认",icon:"mdi-calendar-alert"},"edit.blockPastDataEdit":{type:"boolean",default:!1,description:"禁止编辑过往数据",icon:"mdi-lock-clock"},"edit.autoSavePromptText":{type:"string",default:"喵?喵呜!",description:"自动保存模式提示文本",icon:"mdi-text-box-outline"},"edit.manualSavePromptText":{type:"string",default:"写完后点击上传谢谢喵",description:"手动保存模式提示文本",icon:"mdi-text-box-outline"},"developer.enabled":{type:"boolean",default:!1,description:"是否启用开发者选项",icon:"mdi-developer-board"},"developer.showDebugConfig":{type:"boolean",default:!1,description:"是否显示调试配置",icon:"mdi-bug-outline"},"developer.disableMessageLog":{type:"boolean",default:!1,description:"禁用消息日志记录",requireDeveloper:!0,icon:"mdi-message-off-outline"},"message.showSidebar":{type:"boolean",default:!0,description:"是否显示消息记录侧栏",requireDeveloper:!0,icon:"mdi-message-text-outline"},"message.maxActiveMessages":{type:"number",default:5,validate:e=>e>=1&&e<=10,description:"同时显示的最大消息数量",requireDeveloper:!0,icon:"mdi-message-badge-outline"},"message.timeout":{type:"number",default:5e3,validate:e=>e>=1e3&&e<=3e4,description:"消息自动关闭时间(毫秒)",requireDeveloper:!0,icon:"mdi-timer-sand"},"message.saveHistory":{type:"boolean",default:!0,description:"是否保存消息历史记录",requireDeveloper:!0,icon:"mdi-history"},"theme.mode":{type:"string",default:"dark",validate:e=>["light","dark"].includes(e),description:"主题模式",icon:"mdi-theme-light-dark"},"notification.singleSound":{type:"string",default:"Teams 默认.mp3",description:"单次通知铃声",icon:"mdi-bell-ring"},"notification.urgentSound":{type:"string",default:"Teams 默认通话铃.mp3",description:"持续通知铃声",icon:"mdi-bell-alert"},"randomPicker.enabled":{type:"boolean",default:!0,description:"是否启用随机点名功能",icon:"mdi-account-question"},"randomPicker.animation":{type:"boolean",default:!0,description:"是否启用随机点名动画效果",icon:"mdi-animation-play"},"randomPicker.defaultCount":{type:"number",default:1,validate:e=>e>=1&&e,description:"默认抽取人数",icon:"mdi-counter"},"randomPicker.excludeAbsent":{type:"boolean",default:!0,description:"是否排除请假学生",icon:"mdi-account-off"},"randomPicker.excludeLate":{type:"boolean",default:!1,description:"是否排除迟到学生",icon:"mdi-clock-alert"},"randomPicker.excludeExcluded":{type:"boolean",default:!0,description:"是否排除不参与学生",icon:"mdi-account-cancel"},"randomPicker.mode":{type:"string",default:"name",validate:e=>["name","number"].includes(e),description:"随机点名模式",icon:"mdi-format-list-numbered"},"randomPicker.maxNumber":{type:"number",default:60,validate:e=>e>=1&&e,description:"学号模式最大值",icon:"mdi-numeric"},"randomPicker.minNumber":{type:"number",default:1,validate:e=>e>=1&&e,description:"学号模式最小值",icon:"mdi-numeric-negative-1"},"pwa.hideInstallCard":{type:"boolean",default:!1,description:"不显示PWA安装卡片",icon:"mdi-download-off"}};class zk{constructor(){this.settingsCache=null,this.isInitialized=!1}init(){this.isInitialized||(this.loadSettings(),this.isInitialized=!0)}loadSettings(){this.settingsCache={};try{const t=typeof localStorage<"u"?localStorage.getItem(Pl):null;t&&(this.settingsCache=JSON.parse(t))}catch(t){console.error("加载设置失败:",t)}for(const[t,n]of Object.entries(mr))t in this.settingsCache||(this.settingsCache[t]=n.default);return this.settingsCache}saveSettings(){if(!(typeof localStorage>"u"))try{localStorage.setItem(Pl,JSON.stringify(this.settingsCache))}catch(t){console.error("保存设置失败:",t)}}getSetting(t){this.isInitialized||this.init();const n=mr[t];if(!n)return console.warn(`未定义的设置项: ${t}`),null;if(n.requireDeveloper&&!this.settingsCache["developer.enabled"])return n.default;if(this.settingsCache["server.provider"]==="classworkscloud"&&Zp[t]!==void 0)return Zp[t];const r=this.settingsCache[t];return r!==void 0?r:n.default}setSetting(t,n){this.isInitialized||this.init();const r=mr[t];if(!r)return console.warn(`未定义的设置项: ${t}`),!1;if(r.requireDeveloper&&!this.settingsCache["developer.enabled"])return console.warn(`设置项 ${t} 需要启用开发者选项`),!1;try{const s=this.settingsCache[t];if(typeof n!==r.type&&(n=r.type==="boolean"?!!n:r.type==="number"?Number(n):String(n)),r.validate&&!r.validate(n))return console.warn(`设置项 ${t} 的值无效`),!1;this.settingsCache[t]=n,this.saveSettings(),this.logSettingsChange(t,s,n);const i=r.legacyKey;return i&&typeof localStorage<"u"&&localStorage.setItem(i,n.toString()),!0}catch(s){return console.error(`设置配置项 ${t} 失败:`,s),!1}}logSettingsChange(t,n,r){this.settingsCache["developer.enabled"]&&this.settingsCache["developer.showDebugConfig"]&&console.log(`[Settings] ${t}:`,{old:n,new:r,time:new Date().toLocaleTimeString()})}resetSetting(t){this.isInitialized||this.init();const n=mr[t];if(!n){console.warn(`未定义的设置项: ${t}`);return}this.settingsCache[t]=n.default,this.saveSettings()}resetAllSettings(){this.settingsCache={};for(const[t,n]of Object.entries(mr))this.settingsCache[t]=n.default;this.saveSettings()}watchSettings(t){if(typeof window>"u")return()=>{};const n=r=>{r.key===Pl&&(this.settingsCache=JSON.parse(r.newValue),t(this.settingsCache))};return window.addEventListener("storage",n),()=>window.removeEventListener("storage",n)}getSettingDefinition(t){return mr[t]||null}exportSettingsAsKeyValue(){this.isInitialized||this.init();const t={};for(const n in mr)t[n]=this.getSetting(n);return t}}const Fr=new zk;typeof window<"u"&&Fr.init();const sd=e=>Fr.getSetting(e),qk=(e,t)=>Fr.setSetting(e,t),Gk=e=>Fr.resetSetting(e),Kk=e=>Fr.watchSettings(e),Yk=e=>Fr.getSettingDefinition(e),Xk=()=>Fr.exportSettingsAsKeyValue(),xH=Object.freeze(Object.defineProperty({__proto__:null,SettingsManager:Fr,exportSettingsAsKeyValue:Xk,getSetting:sd,getSettingDefinition:Yk,requestNotificationPermission:Wk,requestPersistentStorage:jk,resetSetting:Gk,setSetting:qk,settingsDefinitions:mr,watchSettings:Kk},Symbol.toStringTag,{value:"Module"}));class Jk{constructor(){this.logs=[]}async addLog(t){return this.logs.push(t),this.logs.length>100&&this.logs.shift(),!0}async getLogs(t=20){return this.logs.slice(-t).reverse()}}const Ia=new Jk,In=[];let ka=null,Tn=null;const $i={SUCCESS:"success",ERROR:"error",INFO:"info",WARNING:"warning"},Zk={timeout:3e3,showSnackbar:!0,addToLog:!0};async function ua(e,t,n="",r={}){const s={...Zk,...r},i={id:Date.now()+Math.random(),type:e,title:t,content:n.substring(0,500),timestamp:new Date};if(s.addToLog)try{for(await Ia.addLog(i),In.unshift(i);In.length>sd("message.maxActiveMessages");)In.pop();Tn==null||Tn(In)}catch(o){console.error("保存日志失败:",o)}return s.showSnackbar&&(ka==null||ka(i)),i}function Qk(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r)},t)}}const Ps={install:e=>{e.config.globalProperties.$message={success:(t,n,r)=>ua($i.SUCCESS,t,n,r),error:(t,n,r)=>ua($i.ERROR,t,n,r),info:(t,n,r)=>ua($i.INFO,t,n,r),warning:(t,n,r)=>ua($i.WARNING,t,n,r)}},onSnackbar:e=>{ka=e},onLog:e=>{Tn=e},getMessages:async()=>{try{return await Ia.getLogs()}catch(e){return console.error("获取日志失败:",e),[...In]}},clearMessages:async()=>{try{await Ia.clearLogs(),In.length=0,Tn==null||Tn(In)}catch(e){console.error("清除日志失败:",e)}},MessageType:$i,markAsRead:()=>{},deleteMessage:async e=>{try{await Ia.deleteLog(e);const t=In.findIndex(n=>n.id===e);t!==-1&&In.splice(t,1),Tn==null||Tn(In)}catch(t){console.error("删除消息失败:",t)}},getUnreadCount:()=>0,debounce:Qk},T_=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},vi=ie({border:[Boolean,Number,String]},"border");function _i(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Dr();return{borderClasses:U(()=>{const r=e.border;return r===!0||r===""?`${t}--border`:typeof r=="string"||r===0?String(r).split(" ").map(s=>`border-${s}`):[]})}}const ex=[null,"default","comfortable","compact"],vs=ie({density:{type:String,default:"default",validator:e=>ex.includes(e)}},"density");function bi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Dr();return{densityClasses:Q(()=>`${t}--density-${e.density}`)}}const $o=ie({elevation:{type:[Number,String],validator(e){const t=parseInt(e);return!isNaN(t)&&t>=0&&t<=24}}},"elevation");function Bo(e){return{elevationClasses:Q(()=>{const n=qe(e)?e.value:e.elevation;return n==null?[]:[`elevation-${n}`]})}}const ar=ie({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function cr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Dr();return{roundedClasses:U(()=>{const r=qe(e)?e.value:e.rounded,s=qe(e)?!1:e.tile,i=[];if(s||r===!1)i.push("rounded-0");else if(r===!0||r==="")i.push(`${t}--rounded`);else if(typeof r=="string"||r===0)for(const o of String(r).split(" "))i.push(`rounded-${o}`);return i})}}const It=ie({tag:{type:[String,Object,Function],default:"div"}},"tag");function id(e){return Gf(()=>{const{class:t,style:n}=tx(e);return{colorClasses:t,colorStyles:n}})}function ri(e){const{colorClasses:t,colorStyles:n}=id(()=>({text:mt(e)}));return{textColorClasses:t,textColorStyles:n}}function Gs(e){const{colorClasses:t,colorStyles:n}=id(()=>({background:mt(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function tx(e){const t=mt(e),n=[],r={};if(t.background)if(Tu(t.background)){if(r.backgroundColor=t.background,!t.text&>(t.background)){const s=Rn(t.background);if(s.a==null||s.a===1){const i=jv(s);r.color=i,r.caretColor=i}}}else n.push(`bg-${t.background}`);return t.text&&(Tu(t.text)?(r.color=t.text,r.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:r}}const nx=["elevated","flat","tonal","outlined","text","plain"];function Ho(e,t){return ne(Ke,null,[e&&ne("span",{key:"overlay",class:Re(`${t}__overlay`)},null),ne("span",{key:"underlay",class:Re(`${t}__underlay`)},null)])}const _s=ie({color:String,variant:{type:String,default:"elevated",validator:e=>nx.includes(e)}},"variant");function Vo(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Dr();const n=Q(()=>{const{variant:i}=mt(e);return`${t}--variant-${i}`}),{colorClasses:r,colorStyles:s}=id(()=>{const{variant:i,color:o}=mt(e);return{[["elevated","flat"].includes(i)?"background":"text"]:o}});return{colorClasses:r,colorStyles:s,variantClasses:n}}const C_=ie({baseColor:String,divided:Boolean,direction:{type:String,default:"horizontal"},...vi(),...rt(),...vs(),...$o(),...ar(),...It(),...Yt(),..._s()},"VBtnGroup"),Qp=Pe()({name:"VBtnGroup",props:C_(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=cn(e),{densityClasses:s}=bi(e),{borderClasses:i}=_i(e),{elevationClasses:o}=Bo(e),{roundedClasses:a}=cr(e);Bc({VBtn:{height:Q(()=>e.direction==="horizontal"?"auto":null),baseColor:Q(()=>e.baseColor),color:Q(()=>e.color),density:Q(()=>e.density),flat:!0,variant:Q(()=>e.variant)}}),Je(()=>F(e.tag,{class:Re(["v-btn-group",`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},r.value,i.value,s.value,o.value,a.value,e.class]),style:ze(e.style)},n))}}),rx=ie({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),sx=ie({value:null,disabled:Boolean,selectedClass:String},"group-item");function ix(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;const r=ut("useGroupItem");if(!r)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const s=Uy();Ct(Symbol.for(`${t.description}:id`),s);const i=Oe(t,null);if(!i){if(!n)return i;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}const o=Q(()=>e.value),a=U(()=>!!(i.disabled.value||e.disabled));function c(){i==null||i.register({id:s,value:o,disabled:a},r)}function l(){i==null||i.unregister(s)}c(),yn(()=>l());const u=U(()=>i.isSelected(s)),f=U(()=>i.items.value[0].id===s),d=U(()=>i.items.value[i.items.value.length-1].id===s),h=U(()=>u.value&&[i.selectedClass.value,e.selectedClass]);return Se(u,p=>{r.emit("group:selected",{value:p})},{flush:"sync"}),{id:s,isSelected:u,isFirst:f,isLast:d,toggle:()=>i.select(s,!u.value),select:p=>i.select(s,p),selectedClass:h,value:o,disabled:a,group:i,register:c,unregister:l}}function ox(e,t){let n=!1;const r=lt([]),s=zn(e,"modelValue",[],d=>d===void 0?[]:I_(r,d===null?[null]:qf(d)),d=>{const h=cx(r,d);return e.multiple?h:h[0]}),i=ut("useGroup");function o(d,h){const p=d,m=Symbol.for(`${t.description}:id`),g=Ds(m,i==null?void 0:i.vnode).indexOf(h);Ft(p.value)===void 0&&(p.value=g,p.useIndexAsValue=!0),g>-1?r.splice(g,0,p):r.push(p)}function a(d){if(n)return;c();const h=r.findIndex(p=>p.id===d);r.splice(h,1)}function c(){const d=r.find(h=>!h.disabled);d&&e.mandatory==="force"&&!s.value.length&&(s.value=[d.id])}Nr(()=>{c()}),yn(()=>{n=!0}),Df(()=>{for(let d=0;dm.id===d);if(!(h&&(p!=null&&p.disabled)))if(e.multiple){const m=s.value.slice(),y=m.findIndex(v=>v===d),g=~y;if(h=h??!g,g&&e.mandatory&&m.length<=1||!g&&e.max!=null&&m.length+1>e.max)return;y<0&&h?m.push(d):y>=0&&!h&&m.splice(y,1),s.value=m}else{const m=s.value.includes(d);if(e.mandatory&&m||!m&&!h)return;s.value=h??!m?[d]:[]}}function u(d){if(e.multiple,s.value.length){const h=s.value[0],p=r.findIndex(g=>g.id===h);let m=(p+d)%r.length,y=r[m];for(;y.disabled&&m!==p;)m=(m+d)%r.length,y=r[m];if(y.disabled)return;s.value=[r[m].id]}else{const h=r.find(p=>!p.disabled);h&&(s.value=[h.id])}}const f={register:o,unregister:a,selected:s,select:l,disabled:Q(()=>e.disabled),prev:()=>u(r.length-1),next:()=>u(1),isSelected:d=>s.value.includes(d),selectedClass:Q(()=>e.selectedClass),items:Q(()=>r),getItemIndex:d=>ax(r,d)};return Ct(t,f),f}function ax(e,t){const n=I_(e,[t]);return n.length?e.findIndex(r=>r.id===n[0]):-1}function I_(e,t){const n=[];return t.forEach(r=>{const s=e.find(o=>rs(r,o.value)),i=e[r];(s==null?void 0:s.value)!==void 0?n.push(s.id):i!=null&&i.useIndexAsValue&&n.push(i.id)}),n}function cx(e,t){const n=[];return t.forEach(r=>{const s=e.findIndex(i=>i.id===r);if(~s){const i=e[s];n.push(i.value!==void 0?i.value:s)}}),n}const k_=Symbol.for("vuetify:v-btn-toggle"),lx=ie({...C_(),...rx()},"VBtnToggle"),RH=Pe()({name:"VBtnToggle",props:lx(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const{isSelected:r,next:s,prev:i,select:o,selected:a}=ox(e,k_);return Je(()=>{const c=Qp.filterProps(e);return F(Qp,Ye({class:["v-btn-toggle",e.class]},c,{style:e.style}),{default:()=>{var l;return[(l=n.default)==null?void 0:l.call(n,{isSelected:r,next:s,prev:i,select:o,selected:a})]}})}),{next:s,prev:i,select:o}}}),ux=ie({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),nn=Pe(!1)({name:"VDefaultsProvider",props:ux(),setup(e,t){let{slots:n}=t;const{defaults:r,disabled:s,reset:i,root:o,scoped:a}=Mf(e);return Bc(r,{reset:i,root:o,scoped:a,disabled:s}),()=>{var c;return(c=n.default)==null?void 0:c.call(n)}}}),fx=["x-small","small","default","large","x-large"],zc=ie({size:{type:[String,Number],default:"default"}},"size");function qc(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Dr();return Gf(()=>{const n=e.size;let r,s;return Ja(fx,n)?r=`${t}--size-${n}`:n&&(s={width:pe(n),height:pe(n)}),{sizeClasses:r,sizeStyles:s}})}const dx=ie({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:yt,opacity:[String,Number],...rt(),...zc(),...It({tag:"i"}),...Yt()},"VIcon"),Mn=Pe()({name:"VIcon",props:dx(),setup(e,t){let{attrs:n,slots:r}=t;const s=be(),{themeClasses:i}=s_(),{iconData:o}=dC(()=>s.value||e.icon),{sizeClasses:a}=qc(e),{textColorClasses:c,textColorStyles:l}=ri(()=>e.color);return Je(()=>{var d,h;const u=(d=r.default)==null?void 0:d.call(r);u&&(s.value=(h=Nv(u).filter(p=>p.type===No&&p.children&&typeof p.children=="string")[0])==null?void 0:h.children);const f=!!(n.onClick||n.onClickOnce);return F(o.value.component,{tag:e.tag,icon:o.value.icon,class:Re(["v-icon","notranslate",i.value,a.value,c.value,{"v-icon--clickable":f,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:ze([{"--v-icon-opacity":e.opacity},a.value?void 0:{fontSize:pe(e.size),height:pe(e.size),width:pe(e.size)},l.value,e.style]),role:f?"button":void 0,"aria-hidden":!f,tabindex:f?e.disabled?-1:0:void 0},{default:()=>[u]})}),{}}});function x_(e,t){const n=Ee(),r=be(!1);if(Wf){const s=new IntersectionObserver(i=>{r.value=!!i.find(o=>o.isIntersecting)},t);_t(()=>{s.disconnect()}),Se(n,(i,o)=>{o&&(s.unobserve(o),r.value=!1),i&&s.observe(i)},{flush:"post"})}return{intersectionRef:n,isIntersecting:r}}const hx=ie({bgColor:String,color:String,indeterminate:[Boolean,String],rounded:Boolean,modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...rt(),...zc(),...It({tag:"div"}),...Yt()},"VProgressCircular"),px=Pe()({name:"VProgressCircular",props:hx(),setup(e,t){let{slots:n}=t;const r=20,s=2*Math.PI*r,i=Ee(),{themeClasses:o}=cn(e),{sizeClasses:a,sizeStyles:c}=qc(e),{textColorClasses:l,textColorStyles:u}=ri(()=>e.color),{textColorClasses:f,textColorStyles:d}=ri(()=>e.bgColor),{intersectionRef:h,isIntersecting:p}=x_(),{resizeRef:m,contentRect:y}=td(),g=Q(()=>Qn(parseFloat(e.modelValue),0,100)),v=Q(()=>Number(e.width)),_=Q(()=>c.value?Number(e.size):y.value?y.value.width:Math.max(v.value,32)),T=Q(()=>r/(1-v.value/_.value)*2),O=Q(()=>v.value/_.value*T.value),R=Q(()=>{const w=(100-g.value)/100*s;return e.rounded&&g.value>0&&g.value<100?pe(Math.min(s-.01,w+O.value)):pe(w)}),E=U(()=>{const w=Number(e.rotate);return e.rounded?w+O.value/2/s*360:w});return on(()=>{h.value=i.value,m.value=i.value}),Je(()=>F(e.tag,{ref:i,class:Re(["v-progress-circular",{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":p.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate==="disable-shrink"||po())},o.value,a.value,l.value,e.class]),style:ze([c.value,u.value,e.style]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.indeterminate?void 0:g.value},{default:()=>[ne("svg",{style:{transform:`rotate(calc(-90deg + ${E.value}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${T.value} ${T.value}`},[ne("circle",{class:Re(["v-progress-circular__underlay",f.value]),style:ze(d.value),fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":O.value,"stroke-dasharray":s,"stroke-dashoffset":0},null),ne("circle",{class:"v-progress-circular__overlay",fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":O.value,"stroke-dasharray":s,"stroke-dashoffset":R.value,"stroke-linecap":e.rounded?"round":void 0},null)]),n.default&&ne("div",{class:"v-progress-circular__content"},[n.default({value:g.value})])]})),{}}}),Si=ie({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},"dimension");function Ei(e){return{dimensionStyles:U(()=>{const n={},r=pe(e.height),s=pe(e.maxHeight),i=pe(e.maxWidth),o=pe(e.minHeight),a=pe(e.minWidth),c=pe(e.width);return r!=null&&(n.height=r),s!=null&&(n.maxHeight=s),i!=null&&(n.maxWidth=i),o!=null&&(n.minHeight=o),a!=null&&(n.minWidth=a),c!=null&&(n.width=c),n})}}const em={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},Gc=ie({location:String},"location");function od(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0;const{isRtl:r}=Do();return{locationStyles:U(()=>{if(!e.location)return{};const{side:i,align:o}=wu(e.location.split(" ").length>1?e.location:`${e.location} center`,r.value);function a(l){return n?n(l):0}const c={};return i!=="center"&&(t?c[em[i]]=`calc(100% - ${a(i)}px)`:c[i]=0),o!=="center"?t?c[em[o]]=`calc(100% - ${a(o)}px)`:c[o]=0:(i==="center"?c.top=c.left="50%":c[{top:"left",bottom:"left",left:"top",right:"top"}[i]]="50%",c.transform={top:"translateX(-50%)",bottom:"translateX(-50%)",left:"translateY(-50%)",right:"translateY(-50%)",center:"translate(-50%, -50%)"}[i]),c})}}const mx=ie({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},"chunks");function gx(e,t){const n=Q(()=>!!e.chunkCount||!!e.chunkWidth),r=U(()=>{const a=mt(t);if(!a)return 0;if(!e.chunkCount)return Number(e.chunkWidth);const c=Number(e.chunkCount);return(a-Number(e.chunkGap)*(c-1))/c}),s=Q(()=>Number(e.chunkGap)),i=U(()=>{if(!n.value)return{};const a=pe(s.value),c=pe(r.value);return{maskRepeat:"repeat-x",maskImage:`linear-gradient(90deg, #000, #000 ${c}, transparent ${c}, transparent)`,maskSize:`calc(${c} + ${a}) 100%`}});function o(a){const c=mt(t);if(!c)return a;const l=100*s.value/c,u=100*(r.value+s.value)/c,f=Math.floor((a+l)/u);return Qn(0,f*u-l/2,100)}return{hasChunks:n,chunksMaskStyles:i,snapValueToChunk:o}}const yx=ie({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...mx(),...rt(),...Gc({location:"top"}),...ar(),...It(),...Yt()},"VProgressLinear"),R_=Pe()({name:"VProgressLinear",props:yx(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const r=Ee(),s=zn(e,"modelValue"),{isRtl:i,rtlClasses:o}=Do(),{themeClasses:a}=cn(e),{locationStyles:c}=od(e),{textColorClasses:l,textColorStyles:u}=ri(()=>e.color),{backgroundColorClasses:f,backgroundColorStyles:d}=Gs(()=>e.bgColor||e.color),{backgroundColorClasses:h,backgroundColorStyles:p}=Gs(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:m,backgroundColorStyles:y}=Gs(()=>e.color),{roundedClasses:g}=cr(e),{intersectionRef:v,isIntersecting:_}=x_(),T=U(()=>parseFloat(e.max)),O=U(()=>parseFloat(e.height)),R=U(()=>Qn(parseFloat(e.bufferValue)/T.value*100,0,100)),E=U(()=>Qn(parseFloat(s.value)/T.value*100,0,100)),w=U(()=>i.value!==e.reverse),I=U(()=>e.indeterminate?"fade-transition":"slide-x-transition"),A=be(0),{hasChunks:M,chunksMaskStyles:x,snapValueToChunk:N}=gx(e,A);yi(M,()=>{const{resizeRef:j}=td(D=>A.value=D[0].contentRect.width);on(()=>j.value=r.value)});const L=U(()=>M.value?N(R.value):R.value),G=U(()=>M.value?N(E.value):E.value);function J(j){if(!v.value)return;const{left:D,right:ae,width:q}=v.value.getBoundingClientRect(),ce=w.value?q-j.clientX+(ae-q):j.clientX-D;s.value=Math.round(ce/q*T.value)}return on(()=>{v.value=r.value}),Je(()=>F(e.tag,{ref:r,class:Re(["v-progress-linear",{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&_.value,"v-progress-linear--reverse":w.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},g.value,a.value,o.value,e.class]),style:ze([{bottom:e.location==="bottom"?0:void 0,top:e.location==="top"?0:void 0,height:e.active?pe(O.value):0,"--v-progress-linear-height":pe(O.value),...e.absolute?c.value:{}},x.value,e.style]),role:"progressbar","aria-hidden":e.active?"false":"true","aria-valuemin":"0","aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(s.value),T.value),onClick:e.clickable&&J},{default:()=>[e.stream&&ne("div",{key:"stream",class:Re(["v-progress-linear__stream",l.value]),style:{...u.value,[w.value?"left":"right"]:pe(-O.value),borderTop:`${pe(O.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${pe(O.value/4)})`,width:pe(100-R.value,"%"),"--v-progress-linear-stream-to":pe(O.value*(w.value?1:-1))}},null),ne("div",{class:Re(["v-progress-linear__background",f.value]),style:ze([d.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),ne("div",{class:Re(["v-progress-linear__buffer",h.value]),style:ze([p.value,{opacity:parseFloat(e.bufferOpacity),width:pe(L.value,"%")}])},null),F(xr,{name:I.value},{default:()=>[e.indeterminate?ne("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map(j=>ne("div",{key:j,class:Re(["v-progress-linear__indeterminate",j,m.value]),style:ze(y.value)},null))]):ne("div",{class:Re(["v-progress-linear__determinate",m.value]),style:ze([y.value,{width:pe(G.value,"%")}])},null)]}),n.default&&ne("div",{class:"v-progress-linear__content"},[n.default({value:E.value,buffer:R.value})])]})),{}}}),A_=ie({loading:[Boolean,String]},"loader");function O_(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Dr();return{loaderClasses:Q(()=>({[`${t}--loading`]:e.loading}))}}function vx(e,t){var r;let{slots:n}=t;return ne("div",{class:Re(`${e.name}__loader`)},[((r=n.default)==null?void 0:r.call(n,{color:e.color,isActive:e.active}))||F(R_,{absolute:e.absolute,active:e.active,color:e.color,height:"2",indeterminate:!0},null)])}const _x=["static","relative","fixed","absolute","sticky"],ad=ie({position:{type:String,validator:e=>_x.includes(e)}},"position");function cd(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Dr();return{positionClasses:Q(()=>e.position?`${t}--${e.position}`:void 0)}}function bx(){const e=ut("useRoute");return U(()=>{var t;return(t=e==null?void 0:e.proxy)==null?void 0:t.$route})}function Sx(){var e,t;return(t=(e=ut("useRouter"))==null?void 0:e.proxy)==null?void 0:t.$router}function ld(e,t){var f,d;const n=Xy("RouterLink"),r=Q(()=>!!(e.href||e.to)),s=U(()=>(r==null?void 0:r.value)||rp(t,"click")||rp(e,"click"));if(typeof n=="string"||!("useLink"in n)){const h=Q(()=>e.href);return{isLink:r,isRouterLink:Q(()=>!1),isClickable:s,href:h,linkProps:lt({href:h})}}const i=n.useLink({to:Q(()=>e.to||""),replace:Q(()=>e.replace)}),o=U(()=>e.to?i:void 0),a=bx(),c=U(()=>{var h,p,m;return o.value?e.exact?a.value?((m=o.value.isExactActive)==null?void 0:m.value)&&rs(o.value.route.value.query,a.value.query):((p=o.value.isExactActive)==null?void 0:p.value)??!1:((h=o.value.isActive)==null?void 0:h.value)??!1:!1}),l=U(()=>{var h;return e.to?(h=o.value)==null?void 0:h.route.value.href:e.href});return{isLink:r,isRouterLink:Q(()=>!!e.to),isClickable:s,isActive:c,route:(f=o.value)==null?void 0:f.route,navigate:(d=o.value)==null?void 0:d.navigate,href:l,linkProps:lt({href:l,"aria-current":Q(()=>c.value?"page":void 0),"aria-disabled":Q(()=>e.disabled&&r.value?"true":void 0),tabindex:Q(()=>e.disabled&&r.value?"-1":void 0)})}}const ud=ie({href:String,replace:Boolean,to:[String,Object],exact:Boolean},"router");let Nl=!1;function Ex(e,t){let n=!1,r,s;Xe&&(e!=null&&e.beforeEach)&&(dt(()=>{window.addEventListener("popstate",i),r=e.beforeEach((o,a,c)=>{Nl?n?t(c):c():setTimeout(()=>n?t(c):c()),Nl=!0}),s=e==null?void 0:e.afterEach(()=>{Nl=!1})}),_t(()=>{window.removeEventListener("popstate",i),r==null||r(),s==null||s()}));function i(o){var a;(a=o.state)!=null&&a.replaced||(n=!0,setTimeout(()=>n=!1))}}function wx(e,t){Se(()=>{var n;return(n=e.isActive)==null?void 0:n.value},n=>{e.isLink.value&&n!=null&&t&&dt(()=>{t(n)})},{immediate:!0})}const Nu=Symbol("rippleStop"),Tx=80;function tm(e,t){e.style.transform=t,e.style.webkitTransform=t}function Lu(e){return e.constructor.name==="TouchEvent"}function M_(e){return e.constructor.name==="KeyboardEvent"}const Cx=function(e,t){var f;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=0,s=0;if(!M_(e)){const d=t.getBoundingClientRect(),h=Lu(e)?e.touches[e.touches.length-1]:e;r=h.clientX-d.left,s=h.clientY-d.top}let i=0,o=.3;(f=t._ripple)!=null&&f.circle?(o=.15,i=t.clientWidth/2,i=n.center?i:i+Math.sqrt((r-i)**2+(s-i)**2)/4):i=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;const a=`${(t.clientWidth-i*2)/2}px`,c=`${(t.clientHeight-i*2)/2}px`,l=n.center?a:`${r-i}px`,u=n.center?c:`${s-i}px`;return{radius:i,scale:o,x:l,y:u,centerX:a,centerY:c}},rc={show(e,t){var h;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!((h=t==null?void 0:t._ripple)!=null&&h.enabled))return;const r=document.createElement("span"),s=document.createElement("span");r.appendChild(s),r.className="v-ripple__container",n.class&&(r.className+=` ${n.class}`);const{radius:i,scale:o,x:a,y:c,centerX:l,centerY:u}=Cx(e,t,n),f=`${i*2}px`;s.className="v-ripple__animation",s.style.width=f,s.style.height=f,t.appendChild(r);const d=window.getComputedStyle(t);d&&d.position==="static"&&(t.style.position="relative",t.dataset.previousPosition="static"),s.classList.add("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--visible"),tm(s,`translate(${a}, ${c}) scale3d(${o},${o},${o})`),s.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{s.classList.remove("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--in"),tm(s,`translate(${l}, ${u}) scale3d(1,1,1)`)})})},hide(e){var i;if(!((i=e==null?void 0:e._ripple)!=null&&i.enabled))return;const t=e.getElementsByClassName("v-ripple__animation");if(t.length===0)return;const n=Array.from(t).findLast(o=>!o.dataset.isHiding);if(n)n.dataset.isHiding="true";else return;const r=performance.now()-Number(n.dataset.activated),s=Math.max(250-r,0);setTimeout(()=>{n.classList.remove("v-ripple__animation--in"),n.classList.add("v-ripple__animation--out"),setTimeout(()=>{var a;e.getElementsByClassName("v-ripple__animation").length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),((a=n.parentNode)==null?void 0:a.parentNode)===e&&e.removeChild(n.parentNode)},300)},s)}};function P_(e){return typeof e>"u"||!!e}function So(e){const t={},n=e.currentTarget;if(!(!(n!=null&&n._ripple)||n._ripple.touched||e[Nu])){if(e[Nu]=!0,Lu(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||M_(e),n._ripple.class&&(t.class=n._ripple.class),Lu(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{rc.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{var r;(r=n==null?void 0:n._ripple)!=null&&r.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},Tx)}else rc.show(e,n,t)}}function sc(e){e[Nu]=!0}function zt(e){const t=e.currentTarget;if(t!=null&&t._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type==="touchend"&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{zt(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),rc.hide(t)}}function N_(e){const t=e.currentTarget;t!=null&&t._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}let Eo=!1;function Ix(e,t){!Eo&&t.includes(e.key)&&(Eo=!0,So(e))}function L_(e){Eo=!1,zt(e)}function D_(e){Eo&&(Eo=!1,zt(e))}function F_(e,t,n){const{value:r,modifiers:s}=t,i=P_(r);i||rc.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=i,e._ripple.centered=s.center,e._ripple.circle=s.circle;const o=Su(r)?r:{};o.class&&(e._ripple.class=o.class);const a=o.keys??["Enter","Space"];if(e._ripple.keyDownHandler=c=>Ix(c,a),i&&!n){if(s.stop){e.addEventListener("touchstart",sc,{passive:!0}),e.addEventListener("mousedown",sc);return}e.addEventListener("touchstart",So,{passive:!0}),e.addEventListener("touchend",zt,{passive:!0}),e.addEventListener("touchmove",N_,{passive:!0}),e.addEventListener("touchcancel",zt),e.addEventListener("mousedown",So),e.addEventListener("mouseup",zt),e.addEventListener("mouseleave",zt),e.addEventListener("keydown",e._ripple.keyDownHandler),e.addEventListener("keyup",L_),e.addEventListener("blur",D_),e.addEventListener("dragstart",zt,{passive:!0})}else!i&&n&&$_(e)}function $_(e){var t;e.removeEventListener("touchstart",sc),e.removeEventListener("mousedown",sc),e.removeEventListener("touchstart",So),e.removeEventListener("touchend",zt),e.removeEventListener("touchmove",N_),e.removeEventListener("touchcancel",zt),e.removeEventListener("mousedown",So),e.removeEventListener("mouseup",zt),e.removeEventListener("mouseleave",zt),(t=e._ripple)!=null&&t.keyDownHandler&&e.removeEventListener("keydown",e._ripple.keyDownHandler),e.removeEventListener("keyup",L_),e.removeEventListener("blur",D_),e.removeEventListener("dragstart",zt)}function kx(e,t){F_(e,t,!1)}function xx(e){$_(e),delete e._ripple}function Rx(e,t){if(t.value===t.oldValue)return;const n=P_(t.oldValue);F_(e,t,n)}const wo={mounted:kx,unmounted:xx,updated:Rx},Ax=ie({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:k_},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:yt,appendIcon:yt,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,spaced:String,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},...vi(),...rt(),...vs(),...Si(),...$o(),...sx(),...A_(),...Gc(),...ad(),...ar(),...ud(),...zc(),...It({tag:"button"}),...Yt(),..._s({variant:"elevated"})},"VBtn"),B_=Pe()({name:"VBtn",props:Ax(),emits:{"group:selected":e=>!0},setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=cn(e),{borderClasses:i}=_i(e),{densityClasses:o}=bi(e),{dimensionStyles:a}=Ei(e),{elevationClasses:c}=Bo(e),{loaderClasses:l}=O_(e),{locationStyles:u}=od(e),{positionClasses:f}=cd(e),{roundedClasses:d}=cr(e),{sizeClasses:h,sizeStyles:p}=qc(e),m=ix(e,e.symbol,!1),y=ld(e,n),g=U(()=>{var M;return e.active!==void 0?e.active:y.isRouterLink.value?(M=y.isActive)==null?void 0:M.value:m==null?void 0:m.isSelected.value}),v=Q(()=>g.value?e.activeColor??e.color:e.color),_=U(()=>{var x,N;return{color:(m==null?void 0:m.isSelected.value)&&(!y.isLink.value||((x=y.isActive)==null?void 0:x.value))||!m||((N=y.isActive)==null?void 0:N.value)?v.value??e.baseColor:e.baseColor,variant:e.variant}}),{colorClasses:T,colorStyles:O,variantClasses:R}=Vo(_),E=U(()=>(m==null?void 0:m.disabled.value)||e.disabled),w=Q(()=>e.variant==="elevated"&&!(e.disabled||e.flat||e.border)),I=U(()=>{if(!(e.value===void 0||typeof e.value=="symbol"))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function A(M){var x;E.value||y.isLink.value&&(M.metaKey||M.ctrlKey||M.shiftKey||M.button!==0||n.target==="_blank")||(y.isRouterLink.value?(x=y.navigate)==null||x.call(y,M):m==null||m.toggle())}return wx(y,m==null?void 0:m.select),Je(()=>{const M=y.isLink.value?"a":e.tag,x=!!(e.prependIcon||r.prepend),N=!!(e.appendIcon||r.append),L=!!(e.icon&&e.icon!==!0);return us(F(M,Ye(y.linkProps,{type:M==="a"?void 0:"button",class:["v-btn",m==null?void 0:m.selectedClass.value,{"v-btn--active":g.value,"v-btn--block":e.block,"v-btn--disabled":E.value,"v-btn--elevated":w.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},e.spaced?["v-btn--spaced",`v-btn--spaced-${e.spaced}`]:[],s.value,i.value,T.value,o.value,c.value,l.value,f.value,d.value,h.value,R.value,e.class],style:[O.value,a.value,u.value,p.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:E.value&&M!=="a"||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:A,value:I.value}),{default:()=>{var G;return[Ho(!0,"v-btn"),!e.icon&&x&&ne("span",{key:"prepend",class:"v-btn__prepend"},[r.prepend?F(nn,{key:"prepend-defaults",disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},r.prepend):F(Mn,{key:"prepend-icon",icon:e.prependIcon},null)]),ne("span",{class:"v-btn__content","data-no-activator":""},[!r.default&&L?F(Mn,{key:"content-icon",icon:e.icon},null):F(nn,{key:"content-defaults",disabled:!L,defaults:{VIcon:{icon:e.icon}}},{default:()=>{var J;return[((J=r.default)==null?void 0:J.call(r))??dn(e.text)]}})]),!e.icon&&N&&ne("span",{key:"append",class:"v-btn__append"},[r.append?F(nn,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},r.append):F(Mn,{key:"append-icon",icon:e.appendIcon},null)]),!!e.loading&&ne("span",{key:"loader",class:"v-btn__loader"},[((G=r.loader)==null?void 0:G.call(r))??F(px,{color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0,width:"2"},null)])]}}),[[wo,!E.value&&e.ripple,"",{center:!!e.icon}]])}),{group:m}}});function Ll(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Ox(e,t){return{x:e.x-t.x,y:e.y-t.y}}function nm(e,t){if(e.side==="top"||e.side==="bottom"){const{side:n,align:r}=e,s=r==="left"?0:r==="center"?t.width/2:r==="right"?t.width:r,i=n==="top"?0:n==="bottom"?t.height:n;return Ll({x:s,y:i},t)}else if(e.side==="left"||e.side==="right"){const{side:n,align:r}=e,s=n==="left"?0:n==="right"?t.width:n,i=r==="top"?0:r==="center"?t.height/2:r==="bottom"?t.height:r;return Ll({x:s,y:i},t)}return Ll({x:t.width/2,y:t.height/2},t)}const H_={static:Nx,connected:Dx},Mx=ie({locationStrategy:{type:[String,Function],default:"static",validator:e=>typeof e=="function"||e in H_},location:{type:String,default:"bottom"},origin:{type:String,default:"auto"},offset:[Number,String,Array],stickToTarget:Boolean,viewportMargin:{type:[Number,String],default:12}},"VOverlay-location-strategies");function Px(e,t){const n=Ee({}),r=Ee();Xe&&yi(()=>!!(t.isActive.value&&e.locationStrategy),a=>{var c,l;Se(()=>e.locationStrategy,a),_t(()=>{window.removeEventListener("resize",s),visualViewport==null||visualViewport.removeEventListener("resize",i),visualViewport==null||visualViewport.removeEventListener("scroll",o),r.value=void 0}),window.addEventListener("resize",s,{passive:!0}),visualViewport==null||visualViewport.addEventListener("resize",i,{passive:!0}),visualViewport==null||visualViewport.addEventListener("scroll",o,{passive:!0}),typeof e.locationStrategy=="function"?r.value=(c=e.locationStrategy(t,e,n))==null?void 0:c.updateLocation:r.value=(l=H_[e.locationStrategy](t,e,n))==null?void 0:l.updateLocation});function s(a){var c;(c=r.value)==null||c.call(r,a)}function i(a){var c;(c=r.value)==null||c.call(r,a)}function o(a){var c;(c=r.value)==null||c.call(r,a)}return{contentStyles:n,updateLocation:r}}function Nx(){}function Lx(e,t){const n=Bv(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function Dx(e,t,n){(Array.isArray(e.target.value)||uC(e.target.value))&&Object.assign(n.value,{position:"fixed",top:0,[e.isRtl.value?"right":"left"]:0});const{preferredAnchor:s,preferredOrigin:i}=Gf(()=>{const g=wu(t.location,e.isRtl.value),v=t.origin==="overlap"?g:t.origin==="auto"?Tl(g):wu(t.origin,e.isRtl.value);return g.side===v.side&&g.align===Cl(v).align?{preferredAnchor:ip(g),preferredOrigin:ip(v)}:{preferredAnchor:g,preferredOrigin:v}}),[o,a,c,l]=["minWidth","minHeight","maxWidth","maxHeight"].map(g=>U(()=>{const v=parseFloat(t[g]);return isNaN(v)?1/0:v})),u=U(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset=="string"){const g=t.offset.split(" ").map(parseFloat);return g.length<2&&g.push(0),g}return typeof t.offset=="number"?[t.offset,0]:[0,0]});let f=!1,d=-1;const h=new TT(4),p=new ResizeObserver(()=>{if(!f)return;if(requestAnimationFrame(v=>{v!==d&&h.clear(),requestAnimationFrame(_=>{d=_})}),h.isFull){const v=h.values();if(rs(v.at(-1),v.at(-3))&&!rs(v.at(-1),v.at(-2)))return}const g=y();g&&h.push(g.flipped)});let m=new tn({x:0,y:0,width:0,height:0});Se(e.target,(g,v)=>{v&&!Array.isArray(v)&&p.unobserve(v),Array.isArray(g)?rs(g,v)||y():g&&p.observe(g)},{immediate:!0}),Se(e.contentEl,(g,v)=>{v&&p.unobserve(v),g&&p.observe(g)},{immediate:!0}),_t(()=>{p.disconnect()});function y(){if(f=!1,requestAnimationFrame(()=>f=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(m=$v(e.target.value));const g=Lx(e.contentEl.value,e.isRtl.value),v=Qa(e.contentEl.value),_=Number(t.viewportMargin);v.length||(v.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(g.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),g.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const T=v.reduce((N,L)=>{const G=OT(L);return N?new tn({x:Math.max(N.left,G.left),y:Math.max(N.top,G.top),width:Math.min(N.right,G.right)-Math.max(N.left,G.left),height:Math.min(N.bottom,G.bottom)-Math.max(N.top,G.top)}):G},void 0);t.stickToTarget?(T.x+=Math.min(_,m.x),T.y+=Math.min(_,m.y),T.width=Math.max(T.width-_*2,m.x+m.width-_),T.height=Math.max(T.height-_*2,m.y+m.height-_)):(T.x+=_,T.y+=_,T.width-=_*2,T.height-=_*2);let O={anchor:s.value,origin:i.value};function R(N){const L=new tn(g),G=nm(N.anchor,m),J=nm(N.origin,L);let{x:j,y:D}=Ox(G,J);switch(N.anchor.side){case"top":D-=u.value[0];break;case"bottom":D+=u.value[0];break;case"left":j-=u.value[0];break;case"right":j+=u.value[0];break}switch(N.anchor.align){case"top":D-=u.value[1];break;case"bottom":D+=u.value[1];break;case"left":j-=u.value[1];break;case"right":j+=u.value[1];break}return L.x+=j,L.y+=D,L.width=Math.min(L.width,c.value),L.height=Math.min(L.height,l.value),{overflows:ap(L,T),x:j,y:D}}let E=0,w=0;const I={x:0,y:0},A={x:!1,y:!1};let M=-1;for(;!(M++>10);){const{x:N,y:L,overflows:G}=R(O);E+=N,w+=L,g.x+=N,g.y+=L;{const J=op(O.anchor),j=G.x.before||G.x.after,D=G.y.before||G.y.after;let ae=!1;if(["x","y"].forEach(q=>{if(q==="x"&&j&&!A.x||q==="y"&&D&&!A.y){const ce={anchor:{...O.anchor},origin:{...O.origin}},le=q==="x"?J==="y"?Cl:Tl:J==="y"?Tl:Cl;ce.anchor=le(ce.anchor),ce.origin=le(ce.origin);const{overflows:ve}=R(ce);(ve[q].before<=G[q].before&&ve[q].after<=G[q].after||ve[q].before+ve[q].after<(G[q].before+G[q].after)/2)&&(O=ce,ae=A[q]=!0)}}),ae)continue}G.x.before&&(E+=G.x.before,g.x+=G.x.before),G.x.after&&(E-=G.x.after,g.x-=G.x.after),G.y.before&&(w+=G.y.before,g.y+=G.y.before),G.y.after&&(w-=G.y.after,g.y-=G.y.after);{const J=ap(g,T);I.x=T.width-J.x.before-J.x.after,I.y=T.height-J.y.before-J.y.after,E+=J.x.before,g.x+=J.x.before,w+=J.y.before,g.y+=J.y.before}break}const x=op(O.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${O.anchor.side} ${O.anchor.align}`,transformOrigin:`${O.origin.side} ${O.origin.align}`,top:pe(Dl(w)),left:e.isRtl.value?void 0:pe(Dl(E)),right:e.isRtl.value?pe(Dl(-E)):void 0,minWidth:pe(x==="y"?Math.min(o.value,m.width):o.value),maxWidth:pe(rm(Qn(I.x,o.value===1/0?0:o.value,c.value))),maxHeight:pe(rm(Qn(I.y,a.value===1/0?0:a.value,l.value)))}),{available:I,contentBox:g,flipped:A}}return Se(()=>[s.value,i.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>y()),dt(()=>{const g=y();if(!g)return;const{available:v,contentBox:_}=g;_.height>v.y&&requestAnimationFrame(()=>{y(),requestAnimationFrame(()=>{y()})})}),{updateLocation:y}}function Dl(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function rm(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}let Du=!0;const ic=[];function Fx(e){!Du||ic.length?(ic.push(e),Fu()):(Du=!1,e(),Fu())}let sm=-1;function Fu(){cancelAnimationFrame(sm),sm=requestAnimationFrame(()=>{const e=ic.shift();e&&e(),ic.length?Fu():Du=!0})}const xa={none:null,close:Hx,block:Vx,reposition:Ux},$x=ie({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in xa}},"VOverlay-scroll-strategies");function Bx(e,t){if(!Xe)return;let n;on(async()=>{n==null||n.stop(),t.isActive.value&&e.scrollStrategy&&(n=ls(),await new Promise(r=>setTimeout(r)),n.active&&n.run(()=>{var r;typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,n):(r=xa[e.scrollStrategy])==null||r.call(xa,t,e,n)}))}),_t(()=>{n==null||n.stop()})}function Hx(e){function t(n){e.isActive.value=!1}V_(fd(e.target.value,e.contentEl.value),t)}function Vx(e,t){var a;const n=(a=e.root.value)==null?void 0:a.offsetParent,r=fd(e.target.value,e.contentEl.value),s=[...new Set([...Qa(r,t.contained?n:void 0),...Qa(e.contentEl.value,t.contained?n:void 0)])].filter(c=>!c.classList.contains("v-overlay-scroll-blocked")),i=window.innerWidth-document.documentElement.offsetWidth,o=(c=>Jf(c)&&c)(n||document.documentElement);o&&e.root.value.classList.add("v-overlay--scroll-blocked"),s.forEach((c,l)=>{c.style.setProperty("--v-body-scroll-x",pe(-c.scrollLeft)),c.style.setProperty("--v-body-scroll-y",pe(-c.scrollTop)),c!==document.documentElement&&c.style.setProperty("--v-scrollbar-offset",pe(i)),c.classList.add("v-overlay-scroll-blocked")}),_t(()=>{s.forEach((c,l)=>{const u=parseFloat(c.style.getPropertyValue("--v-body-scroll-x")),f=parseFloat(c.style.getPropertyValue("--v-body-scroll-y")),d=c.style.scrollBehavior;c.style.scrollBehavior="auto",c.style.removeProperty("--v-body-scroll-x"),c.style.removeProperty("--v-body-scroll-y"),c.style.removeProperty("--v-scrollbar-offset"),c.classList.remove("v-overlay-scroll-blocked"),c.scrollLeft=-u,c.scrollTop=-f,c.style.scrollBehavior=d}),o&&e.root.value.classList.remove("v-overlay--scroll-blocked")})}function Ux(e,t,n){let r=!1,s=-1,i=-1;function o(a){Fx(()=>{var u,f;const c=performance.now();(f=(u=e.updateLocation).value)==null||f.call(u,a),r=(performance.now()-c)/(1e3/60)>2})}i=(typeof requestIdleCallback>"u"?a=>a():requestIdleCallback)(()=>{n.run(()=>{V_(fd(e.target.value,e.contentEl.value),a=>{r?(cancelAnimationFrame(s),s=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{o(a)})})):o(a)})})}),_t(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(i),cancelAnimationFrame(s)})}function fd(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(n=>!(t!=null&&t.contains(n))):e??t}function V_(e,t){const n=[document,...Qa(e)];n.forEach(r=>{r.addEventListener("scroll",t,{passive:!0})}),_t(()=>{n.forEach(r=>{r.removeEventListener("scroll",t)})})}const Wx=Symbol.for("vuetify:v-menu"),jx=ie({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function zx(e,t){let n=()=>{};function r(o,a){n==null||n();const c=o?e.openDelay:e.closeDelay,l=Math.max((a==null?void 0:a.minDelay)??0,Number(c??0));return new Promise(u=>{n=xT(l,()=>{t==null||t(o),u(o)})})}function s(){return r(!0)}function i(o){return r(!1,o)}return{clearDelay:n,runOpenDelay:s,runCloseDelay:i}}const qx=ie({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...jx()},"VOverlay-activator");function Gx(e,t){let{isActive:n,isTop:r,contentEl:s}=t;const i=ut("useActivator"),o=Ee();let a=!1,c=!1,l=!0;const u=U(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),f=U(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!u.value),{runOpenDelay:d,runCloseDelay:h}=zx(e,w=>{w===(e.openOnHover&&a||u.value&&c)&&!(e.openOnHover&&n.value&&!r.value)&&(n.value!==w&&(l=!0),n.value=w)}),p=Ee(),m={onClick:w=>{w.stopPropagation(),o.value=w.currentTarget||w.target,n.value||(p.value=[w.clientX,w.clientY]),n.value=!n.value},onMouseenter:w=>{a=!0,o.value=w.currentTarget||w.target,d()},onMouseleave:w=>{a=!1,h()},onFocus:w=>{IT(w.target,":focus-visible")!==!1&&(c=!0,w.stopPropagation(),o.value=w.currentTarget||w.target,d())},onBlur:w=>{c=!1,w.stopPropagation(),h({minDelay:1})}},y=U(()=>{const w={};return f.value&&(w.onClick=m.onClick),e.openOnHover&&(w.onMouseenter=m.onMouseenter,w.onMouseleave=m.onMouseleave),u.value&&(w.onFocus=m.onFocus,w.onBlur=m.onBlur),w}),g=U(()=>{const w={};if(e.openOnHover&&(w.onMouseenter=()=>{a=!0,d()},w.onMouseleave=()=>{a=!1,h()}),u.value&&(w.onFocusin=I=>{I.target.matches(":focus-visible")&&(c=!0,d())},w.onFocusout=()=>{c=!1,h({minDelay:1})}),e.closeOnContentClick){const I=Oe(Wx,null);w.onClick=()=>{n.value=!1,I==null||I.closeParents()}}return w}),v=U(()=>{const w={};return e.openOnHover&&(w.onMouseenter=()=>{l&&(a=!0,l=!1,d())},w.onMouseleave=()=>{a=!1,h()}),w});Se(r,w=>{var I;w&&(e.openOnHover&&!a&&(!u.value||!c)||u.value&&!c&&(!e.openOnHover||!a))&&!((I=s.value)!=null&&I.contains(document.activeElement))&&(n.value=!1)}),Se(n,w=>{w||setTimeout(()=>{p.value=void 0})},{flush:"post"});const _=Eu();on(()=>{_.value&&dt(()=>{o.value=_.el})});const T=Eu(),O=U(()=>e.target==="cursor"&&p.value?p.value:T.value?T.el:U_(e.target,i)||o.value),R=U(()=>Array.isArray(O.value)?void 0:O.value);let E;return Se(()=>!!e.activator,w=>{w&&Xe?(E=ls(),E.run(()=>{Kx(e,i,{activatorEl:o,activatorEvents:y})})):E&&E.stop()},{flush:"post",immediate:!0}),_t(()=>{E==null||E.stop()}),{activatorEl:o,activatorRef:_,target:O,targetEl:R,targetRef:T,activatorEvents:y,contentEvents:g,scrimEvents:v}}function Kx(e,t,n){let{activatorEl:r,activatorEvents:s}=n;Se(()=>e.activator,(c,l)=>{if(l&&c!==l){const u=a(l);u&&o(u)}c&&dt(()=>i())},{immediate:!0}),Se(()=>e.activatorProps,()=>{i()}),_t(()=>{o()});function i(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;c&&MT(c,Ye(s.value,l))}function o(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;c&&PT(c,Ye(s.value,l))}function a(){let c=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activator;const l=U_(c,t);return r.value=(l==null?void 0:l.nodeType)===Node.ELEMENT_NODE?l:void 0,r.value}}function U_(e,t){var r,s;if(!e)return;let n;if(e==="parent"){let i=(s=(r=t==null?void 0:t.proxy)==null?void 0:r.$el)==null?void 0:s.parentNode;for(;i!=null&&i.hasAttribute("data-no-activator");)i=i.parentNode;n=i}else typeof e=="string"?n=document.querySelector(e):"$el"in e?n=e.$el:n=e;return n}const Yx=ie({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},"focusTrap"),Ra=new Map;let im=0;function om(e){const t=document.activeElement;if(e.key!=="Tab"||!t)return;const n=Array.from(Ra.values()).filter(l=>{var d;let{isActive:u,contentEl:f}=l;return u.value&&((d=f.value)==null?void 0:d.contains(t))}).map(l=>l.contentEl.value);let r,s=t.parentElement;for(;s;){if(n.includes(s)){r=s;break}s=s.parentElement}if(!r)return;const i=Zi(r).filter(l=>l.tabIndex>=0);if(!i.length)return;const o=document.activeElement;if(i.length===1&&i[0].classList.contains("v-list")&&i[0].contains(o)){e.preventDefault();return}const a=i[0],c=i[i.length-1];e.shiftKey&&(o===a||a.classList.contains("v-list")&&a.contains(o))&&(e.preventDefault(),c.focus()),!e.shiftKey&&(o===c||c.classList.contains("v-list")&&c.contains(o))&&(e.preventDefault(),a.focus())}function Xx(e,t){let{isActive:n,localTop:r,activatorEl:s,contentEl:i}=t;const o=Symbol("trap");let a=!1,c=-1;async function l(){a=!0,c=window.setTimeout(()=>{a=!1},100)}async function u(h){var y;const p=h.relatedTarget,m=h.target;document.removeEventListener("pointerdown",l),document.removeEventListener("keydown",f),await dt(),n.value&&!a&&p!==m&&i.value&&mt(r)&&![document,i.value].includes(m)&&!i.value.contains(m)&&((y=Zi(i.value)[0])==null||y.focus())}function f(h){if(h.key==="Tab"&&(document.removeEventListener("keydown",f),n.value&&i.value&&h.target&&!i.value.contains(h.target))){const p=Zi(document.documentElement);if(h.shiftKey&&h.target===p.at(0)||!h.shiftKey&&h.target===p.at(-1)){const m=Zi(i.value);m.length>0&&(h.preventDefault(),m[0].focus())}}}const d=Q(()=>n.value&&e.captureFocus&&!e.disableInitialFocus);Xe&&(Se(()=>e.retainFocus,h=>{h?Ra.set(o,{isActive:n,contentEl:i}):Ra.delete(o)},{immediate:!0}),Se(d,h=>{h?(document.addEventListener("pointerdown",l),document.addEventListener("focusin",u,{once:!0}),document.addEventListener("keydown",f)):(document.removeEventListener("pointerdown",l),document.removeEventListener("focusin",u),document.removeEventListener("keydown",f))},{immediate:!0}),im++<1&&document.addEventListener("keydown",om)),_t(()=>{Ra.delete(o),clearTimeout(c),document.removeEventListener("pointerdown",l),document.removeEventListener("focusin",u),document.removeEventListener("keydown",f),--im<1&&document.removeEventListener("keydown",om)})}function Jx(){if(!Xe)return be(!1);const{ssr:e}=uI();if(e){const t=be(!1);return Nr(()=>{t.value=!0}),t}else return be(!0)}const Zx=ie({eager:Boolean},"lazy");function Qx(e,t){const n=be(!1),r=Q(()=>n.value||e.eager||t.value);Se(t,()=>n.value=!0);function s(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:r,onAfterLeave:s}}function dd(){const t=ut("useScopeId").vnode.scopeId;return{scopeId:t?{[t]:""}:void 0}}const am=Symbol.for("vuetify:stack"),Bi=lt([]);function eR(e,t,n){const r=ut("useStack"),s=!n,i=Oe(am,void 0),o=lt({activeChildren:new Set});Ct(am,o);const a=be(Number(mt(t)));yi(e,()=>{var f;const u=(f=Bi.at(-1))==null?void 0:f[1];a.value=u?u+10:Number(mt(t)),s&&Bi.push([r.uid,a.value]),i==null||i.activeChildren.add(r.uid),_t(()=>{if(s){const d=ue(Bi).findIndex(h=>h[0]===r.uid);Bi.splice(d,1)}i==null||i.activeChildren.delete(r.uid)})});const c=be(!0);return s&&on(()=>{var f;const u=((f=Bi.at(-1))==null?void 0:f[0])===r.uid;setTimeout(()=>c.value=u)}),{globalTop:Xs(c),localTop:Q(()=>!o.activeChildren.size),stackStyles:Q(()=>({zIndex:a.value}))}}function tR(e){return{teleportTarget:U(()=>{const n=e();if(n===!0||!Xe)return;const r=n===!1?document.body:typeof n=="string"?document.querySelector(n):n;if(r==null)return;let s=[...r.children].find(i=>i.matches(".v-overlay-container"));return s||(s=document.createElement("div"),s.className="v-overlay-container",r.appendChild(s)),s})}}const W_=ie({transition:{type:null,default:"fade-transition",validator:e=>e!==!0}},"transition"),Fs=(e,t)=>{let{slots:n}=t;const{transition:r,disabled:s,group:i,...o}=e,{component:a=i?Uf:xr,...c}=Su(r)?r:{};let l;return Su(r)?l=Ye(c,RT({disabled:s,group:i}),o):l=Ye({name:s||!r?"":r},o),Lr(a,l,n)};function nR(){return!0}function j_(e,t,n){if(!e||z_(e,n)===!1)return!1;const r=zv(t);if(typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&r.host===e.target)return!1;const s=(typeof n.value=="object"&&n.value.include||(()=>[]))();return s.push(t),!s.some(i=>i==null?void 0:i.contains(e.target))}function z_(e,t){return(typeof t.value=="object"&&t.value.closeConditional||nR)(e)}function rR(e,t,n){const r=typeof n.value=="function"?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&j_(e,t,n)&&setTimeout(()=>{z_(e,n)&&r&&r(e)},0)}function cm(e,t){const n=zv(e);t(document),typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&t(n)}const lm={mounted(e,t){const n=s=>rR(s,e,t),r=s=>{e._clickOutside.lastMousedownWasOutside=j_(s,e,t)};cm(e,s=>{s.addEventListener("click",n,!0),s.addEventListener("mousedown",r,!0)}),e._clickOutside||(e._clickOutside={lastMousedownWasOutside:!1}),e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:r}},beforeUnmount(e,t){e._clickOutside&&(cm(e,n=>{var i;if(!n||!((i=e._clickOutside)!=null&&i[t.instance.$.uid]))return;const{onClick:r,onMousedown:s}=e._clickOutside[t.instance.$.uid];n.removeEventListener("click",r,!0),n.removeEventListener("mousedown",s,!0)}),delete e._clickOutside[t.instance.$.uid])}};function sR(e){const{modelValue:t,color:n,...r}=e;return F(xr,{name:"fade-transition",appear:!0},{default:()=>[e.modelValue&&ne("div",Ye({class:["v-overlay__scrim",e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},r),null)]})}const hd=ie({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...qx(),...rt(),...Si(),...Zx(),...Mx(),...$x(),...Yx(),...Yt(),...W_()},"VOverlay"),oc=Pe()({name:"VOverlay",directives:{vClickOutside:lm},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...ys(hd(),["disableInitialFocus"])},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{slots:n,attrs:r,emit:s}=t;const i=ut("VOverlay"),o=Ee(),a=Ee(),c=Ee(),l=zn(e,"modelValue"),u=U({get:()=>l.value,set:C=>{C&&e.disabled||(l.value=C)}}),{themeClasses:f}=cn(e),{rtlClasses:d,isRtl:h}=Do(),{hasContent:p,onAfterLeave:m}=Qx(e,u),y=Gs(()=>typeof e.scrim=="string"?e.scrim:null),{globalTop:g,localTop:v,stackStyles:_}=eR(u,()=>e.zIndex,e._disableGlobalStack),{activatorEl:T,activatorRef:O,target:R,targetEl:E,targetRef:w,activatorEvents:I,contentEvents:A,scrimEvents:M}=Gx(e,{isActive:u,isTop:v,contentEl:c}),{teleportTarget:x}=tR(()=>{var z,re,_e;const C=e.attach||e.contained;if(C)return C;const W=((z=T==null?void 0:T.value)==null?void 0:z.getRootNode())||((_e=(re=i.proxy)==null?void 0:re.$el)==null?void 0:_e.getRootNode());return W instanceof ShadowRoot?W:!1}),{dimensionStyles:N}=Ei(e),L=Jx(),{scopeId:G}=dd();Se(()=>e.disabled,C=>{C&&(u.value=!1)});const{contentStyles:J,updateLocation:j}=Px(e,{isRtl:h,contentEl:c,target:R,isActive:u});Bx(e,{root:o,contentEl:c,targetEl:E,target:R,isActive:u,updateLocation:j});function D(C){s("click:outside",C),e.persistent?Me():u.value=!1}function ae(C){return u.value&&v.value&&(!e.scrim||C.target===a.value||C instanceof MouseEvent&&C.shadowTarget===a.value)}Xx(e,{isActive:u,localTop:v,contentEl:c,activatorEl:T}),Xe&&Se(u,C=>{C?window.addEventListener("keydown",q):window.removeEventListener("keydown",q)},{immediate:!0}),yn(()=>{Xe&&window.removeEventListener("keydown",q)});function q(C){var W,z,re;C.key==="Escape"&&g.value&&((W=c.value)!=null&&W.contains(document.activeElement)||s("keydown",C),e.persistent?Me():(u.value=!1,(z=c.value)!=null&&z.contains(document.activeElement)&&((re=T.value)==null||re.focus())))}function ce(C){C.key==="Escape"&&!g.value||s("keydown",C)}const le=Sx();yi(()=>e.closeOnBack,()=>{Ex(le,C=>{g.value&&u.value?(C(!1),e.persistent?Me():u.value=!1):C()})});const ve=Ee();Se(()=>u.value&&(e.absolute||e.contained)&&x.value==null,C=>{if(C){const W=cC(o.value);W&&W!==document.scrollingElement&&(ve.value=W.scrollTop)}});function Me(){e.noClickAnimation||c.value&&Kr(c.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:Cu})}function Fe(){s("afterEnter")}function Ge(){m(),s("afterLeave")}return Je(()=>{var C;return ne(Ke,null,[(C=n.activator)==null?void 0:C.call(n,{isActive:u.value,targetRef:w,props:Ye({ref:O},I.value,e.activatorProps)}),L.value&&p.value&&F(U0,{disabled:!x.value,to:x.value},{default:()=>[ne("div",Ye({class:["v-overlay",{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":u.value,"v-overlay--contained":e.contained},f.value,d.value,e.class],style:[_.value,{"--v-overlay-opacity":e.opacity,top:pe(ve.value)},e.style],ref:o,onKeydown:ce},G,r),[F(sR,Ye({color:y,modelValue:u.value&&!!e.scrim,ref:a},M.value),null),F(Fs,{appear:!0,persisted:!0,transition:e.transition,target:R.value,onAfterEnter:Fe,onAfterLeave:Ge},{default:()=>{var W;return[us(ne("div",Ye({ref:c,class:["v-overlay__content",e.contentClass],style:[N.value,J.value]},A.value,e.contentProps),[(W=n.default)==null?void 0:W.call(n,{isActive:u})]),[[Vf,u.value],[lm,{handler:D,closeConditional:ae,include:()=>[T.value]}]])]}})])]})])}),{activatorEl:T,scrimEl:a,target:R,animateClick:Me,contentEl:c,rootEl:o,globalTop:g,localTop:v,updateLocation:j}}}),Fl=Symbol("Forwarded refs");function $l(e,t){let n=e;for(;n;){const r=Reflect.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function q_(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;rt.value=e())}function i(o){const a=o?getComputedStyle(o):{transitionDuration:.2},c=parseFloat(a.transitionDuration)*1e3||200;if(r(),t.value<=0)return;const l=performance.now();n=window.setInterval(()=>{const u=performance.now()-l+c;t.value=Math.max(e()-u,0),t.value<=0&&r()},c)}return _t(r),{clear:r,time:t,start:i,reset:s}}const oR=ie({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Gc({location:"bottom"}),...ad(),...ar(),..._s(),...Yt(),...ys(hd({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","retainFocus","captureFocus","disableInitialFocus","scrim","scrollStrategy","stickToTarget","viewportMargin"])},"VSnackbar"),aR=Pe()({name:"VSnackbar",props:oR(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const r=zn(e,"modelValue"),{positionClasses:s}=cd(e),{scopeId:i}=dd(),{themeClasses:o}=cn(e),{colorClasses:a,colorStyles:c,variantClasses:l}=Vo(e),{roundedClasses:u}=cr(e),f=iR(()=>Number(e.timeout)),d=Ee(),h=Ee(),p=be(!1),m=be(0),y=Ee(),g=Oe(_o,void 0);yi(()=>!!g,()=>{const M=wI();on(()=>{y.value=M.mainStyles.value})}),Se(r,_),Se(()=>e.timeout,_),Nr(()=>{r.value&&_()});let v=-1;function _(){f.reset(),window.clearTimeout(v);const M=Number(e.timeout);if(!r.value||M===-1)return;const x=jf(h.value);f.start(x),v=window.setTimeout(()=>{r.value=!1},M)}function T(){f.reset(),window.clearTimeout(v)}function O(){p.value=!0,T()}function R(){p.value=!1,_()}function E(M){m.value=M.touches[0].clientY}function w(M){Math.abs(m.value-M.changedTouches[0].clientY)>50&&(r.value=!1)}function I(){p.value&&R()}const A=U(()=>e.location.split(" ").reduce((M,x)=>(M[`v-snackbar--${x}`]=!0,M),{}));return Je(()=>{const M=oc.filterProps(e),x=!!(n.default||n.text||e.text);return F(oc,Ye({ref:d,class:["v-snackbar",{"v-snackbar--active":r.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},A.value,s.value,e.class],style:[y.value,e.style]},M,{modelValue:r.value,"onUpdate:modelValue":N=>r.value=N,contentProps:Ye({class:["v-snackbar__wrapper",o.value,a.value,u.value,l.value],style:[c.value],onPointerenter:O,onPointerleave:R},M.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:E,onTouchend:w,onAfterLeave:I},i),{default:()=>{var N,L;return[Ho(!1,"v-snackbar"),e.timer&&!p.value&&ne("div",{key:"timer",class:"v-snackbar__timer"},[F(R_,{ref:h,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,modelValue:f.time.value},null)]),x&&ne("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[((N=n.text)==null?void 0:N.call(n))??e.text,(L=n.default)==null?void 0:L.call(n)]),n.actions&&F(nn,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[ne("div",{class:"v-snackbar__actions"},[n.actions({isActive:r})])]})]},activator:n.activator})}),q_({},d)}}),cR=Pc({name:"GlobalMessage",setup(){var i;const e=Ee(!1),t=Ee(null),n={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},r={success:"success",error:"error",warning:"warning",info:"info"},s=(i=Ps==null?void 0:Ps.onSnackbar)==null?void 0:i.call(Ps,async o=>{o&&(e.value&&(e.value=!1,await dt()),t.value=o,e.value=!0)});return yn(()=>s==null?void 0:s()),{snackbar:e,message:t,icons:n,colors:r}}}),lR={class:"d-flex align-center"},uR={class:"text-subtitle-2 font-weight-medium"},fR={key:0,class:"text-body-2"};function dR(e,t,n,r,s,i){var o;return en(),xn(aR,{modelValue:e.snackbar,"onUpdate:modelValue":t[1]||(t[1]=a=>e.snackbar=a),color:e.colors[(o=e.message)==null?void 0:o.type]||e.colors.info,timeout:2e3,location:"top right","multi-line":"",variant:"tonal"},{actions:ft(()=>[F(B_,{icon:"mdi-close",variant:"text",onClick:t[0]||(t[0]=a=>e.snackbar=!1)})]),default:ft(()=>{var a,c,l,u;return[ne("div",lR,[F(Mn,{icon:e.icons[(a=e.message)==null?void 0:a.type]||e.icons.info,class:"mr-2"},null,8,["icon"]),ne("div",null,[ne("div",uR,dn((c=e.message)==null?void 0:c.title),1),(l=e.message)!=null&&l.content?(en(),mv("div",fR,dn((u=e.message)==null?void 0:u.content),1)):gu("",!0)])])]}),_:1},8,["modelValue","color"])}const G_=T_(cR,[["render",dR]]),hR=ie({...rt(),...It()},"VCardActions"),K_=Pe()({name:"VCardActions",props:hR(),setup(e,t){let{slots:n}=t;return Bc({VBtn:{slim:!0,variant:"text"}}),Je(()=>F(e.tag,{class:Re(["v-card-actions",e.class]),style:ze(e.style)},n)),{}}}),pR=ie({opacity:[Number,String],...rt(),...It()},"VCardSubtitle"),mR=Pe()({name:"VCardSubtitle",props:pR(),setup(e,t){let{slots:n}=t;return Je(()=>F(e.tag,{class:Re(["v-card-subtitle",e.class]),style:ze([{"--v-card-subtitle-opacity":e.opacity},e.style])},n)),{}}}),Y_=Xf("v-card-title");function gR(e){return{aspectStyles:U(()=>{const t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+"%"}:void 0})}}const X_=ie({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...rt(),...Si()},"VResponsive"),um=Pe()({name:"VResponsive",props:X_(),setup(e,t){let{slots:n}=t;const{aspectStyles:r}=gR(e),{dimensionStyles:s}=Ei(e);return Je(()=>{var i;return ne("div",{class:Re(["v-responsive",{"v-responsive--inline":e.inline},e.class]),style:ze([s.value,e.style])},[ne("div",{class:"v-responsive__sizer",style:ze(r.value)},null),(i=n.additional)==null?void 0:i.call(n),n.default&&ne("div",{class:Re(["v-responsive__content",e.contentClass])},[n.default()])])}),{}}});function yR(e,t){if(!Wf)return;const n=t.modifiers||{},r=t.value,{handler:s,options:i}=typeof r=="object"?r:{handler:r,options:{}},o=new IntersectionObserver(function(){var f;let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],c=arguments.length>1?arguments[1]:void 0;const l=(f=e._observe)==null?void 0:f[t.instance.$.uid];if(!l)return;const u=a.some(d=>d.isIntersecting);s&&(!n.quiet||l.init)&&(!n.once||u||l.init)&&s(u,a,c),u&&n.once?J_(e,t):l.init=!0},i);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function J_(e,t){var r;const n=(r=e._observe)==null?void 0:r[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}const fm={mounted:yR,unmounted:J_},vR=ie({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:""},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...X_(),...rt(),...ar(),...W_()},"VImg"),Z_=Pe()({name:"VImg",directives:{vIntersect:fm},props:vR(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,t){let{emit:n,slots:r}=t;const{backgroundColorClasses:s,backgroundColorStyles:i}=Gs(()=>e.color),{roundedClasses:o}=cr(e),a=ut("VImg"),c=be(""),l=Ee(),u=be(e.eager?"loading":"idle"),f=be(),d=be(),h=U(()=>e.src&&typeof e.src=="object"?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),p=U(()=>h.value.aspect||f.value/d.value||0);Se(()=>e.src,()=>{m(u.value!=="idle")}),Se(p,(x,N)=>{!x&&N&&l.value&&T(l.value)}),Dc(()=>m());function m(x){if(!(e.eager&&x)&&!(Wf&&!x&&!e.eager)){if(u.value="loading",h.value.lazySrc){const N=new Image;N.src=h.value.lazySrc,T(N,null)}h.value.src&&dt(()=>{var N;n("loadstart",((N=l.value)==null?void 0:N.currentSrc)||h.value.src),setTimeout(()=>{var L;if(!a.isUnmounted)if((L=l.value)!=null&&L.complete){if(l.value.naturalWidth||g(),u.value==="error")return;p.value||T(l.value,null),u.value==="loading"&&y()}else p.value||T(l.value),v()})})}}function y(){var x;a.isUnmounted||(v(),T(l.value),u.value="loaded",n("load",((x=l.value)==null?void 0:x.currentSrc)||h.value.src))}function g(){var x;a.isUnmounted||(u.value="error",n("error",((x=l.value)==null?void 0:x.currentSrc)||h.value.src))}function v(){const x=l.value;x&&(c.value=x.currentSrc||x.src)}let _=-1;yn(()=>{clearTimeout(_)});function T(x){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:100;const L=()=>{if(clearTimeout(_),a.isUnmounted)return;const{naturalHeight:G,naturalWidth:J}=x;G||J?(f.value=J,d.value=G):!x.complete&&u.value==="loading"&&N!=null?_=window.setTimeout(L,N):(x.currentSrc.endsWith(".svg")||x.currentSrc.startsWith("data:image/svg+xml"))&&(f.value=1,d.value=1)};L()}const O=Q(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),R=()=>{var L;if(!h.value.src||u.value==="idle")return null;const x=ne("img",{class:Re(["v-img__img",O.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:h.value.src,srcset:h.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:l,onLoad:y,onError:g},null),N=(L=r.sources)==null?void 0:L.call(r);return F(Fs,{transition:e.transition,appear:!0},{default:()=>[us(N?ne("picture",{class:"v-img__picture"},[N,x]):x,[[Vf,u.value==="loaded"]])]})},E=()=>F(Fs,{transition:e.transition},{default:()=>[h.value.lazySrc&&u.value!=="loaded"&&ne("img",{class:Re(["v-img__img","v-img__img--preload",O.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:h.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),w=()=>r.placeholder?F(Fs,{transition:e.transition,appear:!0},{default:()=>[(u.value==="loading"||u.value==="error"&&!r.error)&&ne("div",{class:"v-img__placeholder"},[r.placeholder()])]}):null,I=()=>r.error?F(Fs,{transition:e.transition,appear:!0},{default:()=>[u.value==="error"&&ne("div",{class:"v-img__error"},[r.error()])]}):null,A=()=>e.gradient?ne("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,M=be(!1);{const x=Se(p,N=>{N&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{M.value=!0})}),x())})}return Je(()=>{const x=um.filterProps(e);return us(F(um,Ye({class:["v-img",{"v-img--absolute":e.absolute,"v-img--booting":!M.value},s.value,o.value,e.class],style:[{width:pe(e.width==="auto"?f.value:e.width)},i.value,e.style]},x,{aspectRatio:p.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>ne(Ke,null,[F(R,null,null),F(E,null,null),F(A,null,null),F(w,null,null),F(I,null,null)]),default:r.default}),[[fm,{handler:m,options:e.options},null,{once:!0}]])}),{currentSrc:c,image:l,state:u,naturalWidth:f,naturalHeight:d}}}),_R=ie({start:Boolean,end:Boolean,icon:yt,image:String,text:String,...vi(),...rt(),...vs(),...ar(),...zc(),...It(),...Yt(),..._s({variant:"flat"})},"VAvatar"),ac=Pe()({name:"VAvatar",props:_R(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=cn(e),{borderClasses:s}=_i(e),{colorClasses:i,colorStyles:o,variantClasses:a}=Vo(e),{densityClasses:c}=bi(e),{roundedClasses:l}=cr(e),{sizeClasses:u,sizeStyles:f}=qc(e);return Je(()=>F(e.tag,{class:Re(["v-avatar",{"v-avatar--start":e.start,"v-avatar--end":e.end},r.value,s.value,i.value,c.value,l.value,u.value,a.value,e.class]),style:ze([o.value,f.value,e.style])},{default:()=>[n.default?F(nn,{key:"content-defaults",defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[n.default()]}):e.image?F(Z_,{key:"image",src:e.image,alt:"",cover:!0},null):e.icon?F(Mn,{key:"icon",icon:e.icon},null):e.text,Ho(!1,"v-avatar")]})),{}}}),bR=ie({appendAvatar:String,appendIcon:yt,prependAvatar:String,prependIcon:yt,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...rt(),...vs(),...It()},"VCardItem"),SR=Pe()({name:"VCardItem",props:bR(),setup(e,t){let{slots:n}=t;return Je(()=>{const r=!!(e.prependAvatar||e.prependIcon),s=!!(r||n.prepend),i=!!(e.appendAvatar||e.appendIcon),o=!!(i||n.append),a=!!(e.title!=null||n.title),c=!!(e.subtitle!=null||n.subtitle);return F(e.tag,{class:Re(["v-card-item",e.class]),style:ze(e.style)},{default:()=>{var l;return[s&&ne("div",{key:"prepend",class:"v-card-item__prepend"},[n.prepend?F(nn,{key:"prepend-defaults",disabled:!r,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},n.prepend):ne(Ke,null,[e.prependAvatar&&F(ac,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&F(Mn,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)])]),ne("div",{class:"v-card-item__content"},[a&&F(Y_,{key:"title"},{default:()=>{var u;return[((u=n.title)==null?void 0:u.call(n))??dn(e.title)]}}),c&&F(mR,{key:"subtitle"},{default:()=>{var u;return[((u=n.subtitle)==null?void 0:u.call(n))??dn(e.subtitle)]}}),(l=n.default)==null?void 0:l.call(n)]),o&&ne("div",{key:"append",class:"v-card-item__append"},[n.append?F(nn,{key:"append-defaults",disabled:!i,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},n.append):ne(Ke,null,[e.appendIcon&&F(Mn,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&F(ac,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)])])]}})}),{}}}),ER=ie({opacity:[Number,String],...rt(),...It()},"VCardText"),$u=Pe()({name:"VCardText",props:ER(),setup(e,t){let{slots:n}=t;return Je(()=>F(e.tag,{class:Re(["v-card-text",e.class]),style:ze([{"--v-card-text-opacity":e.opacity},e.style])},n)),{}}}),wR=ie({appendAvatar:String,appendIcon:yt,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:yt,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...vi(),...rt(),...vs(),...Si(),...$o(),...A_(),...Gc(),...ad(),...ar(),...ud(),...It(),...Yt(),..._s({variant:"elevated"})},"VCard"),dm=Pe()({name:"VCard",directives:{vRipple:wo},props:wR(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=cn(e),{borderClasses:i}=_i(e),{colorClasses:o,colorStyles:a,variantClasses:c}=Vo(e),{densityClasses:l}=bi(e),{dimensionStyles:u}=Ei(e),{elevationClasses:f}=Bo(e),{loaderClasses:d}=O_(e),{locationStyles:h}=od(e),{positionClasses:p}=cd(e),{roundedClasses:m}=cr(e),y=ld(e,n),g=be(void 0);return Se(()=>e.loading,(v,_)=>{g.value=!v&&typeof _=="string"?_:typeof v=="boolean"?void 0:v},{immediate:!0}),Je(()=>{const v=e.link!==!1&&y.isLink.value,_=!e.disabled&&e.link!==!1&&(e.link||y.isClickable.value),T=v?"a":e.tag,O=!!(r.title||e.title!=null),R=!!(r.subtitle||e.subtitle!=null),E=O||R,w=!!(r.append||e.appendAvatar||e.appendIcon),I=!!(r.prepend||e.prependAvatar||e.prependIcon),A=!!(r.image||e.image),M=E||I||w,x=!!(r.text||e.text!=null);return us(F(T,Ye(y.linkProps,{class:["v-card",{"v-card--disabled":e.disabled,"v-card--flat":e.flat,"v-card--hover":e.hover&&!(e.disabled||e.flat),"v-card--link":_},s.value,i.value,o.value,l.value,f.value,d.value,p.value,m.value,c.value,e.class],style:[a.value,u.value,h.value,e.style],onClick:_&&y.navigate,tabindex:e.disabled?-1:void 0}),{default:()=>{var N;return[A&&ne("div",{key:"image",class:"v-card__image"},[r.image?F(nn,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},r.image):F(Z_,{key:"image-img",cover:!0,src:e.image},null)]),F(vx,{name:"v-card",active:!!e.loading,color:g.value},{default:r.loader}),M&&F(SR,{key:"item",prependAvatar:e.prependAvatar,prependIcon:e.prependIcon,title:e.title,subtitle:e.subtitle,appendAvatar:e.appendAvatar,appendIcon:e.appendIcon},{default:r.item,prepend:r.prepend,title:r.title,subtitle:r.subtitle,append:r.append}),x&&F($u,{key:"text"},{default:()=>{var L;return[((L=r.text)==null?void 0:L.call(r))??e.text]}}),(N=r.default)==null?void 0:N.call(r),r.actions&&F(K_,null,{default:r.actions}),Ho(_,"v-card")]}}),[[wo,_&&e.ripple]])}),{}}}),TR=ie({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function Xt(e,t,n){return Pe()({name:e,props:TR({mode:n,origin:t}),setup(r,s){let{slots:i}=s;const o={onBeforeEnter(a){r.origin&&(a.style.transformOrigin=r.origin)},onLeave(a){if(r.leaveAbsolute){const{offsetTop:c,offsetLeft:l,offsetWidth:u,offsetHeight:f}=a;a._transitionInitialStyles={position:a.style.position,top:a.style.top,left:a.style.left,width:a.style.width,height:a.style.height},a.style.position="absolute",a.style.top=`${c}px`,a.style.left=`${l}px`,a.style.width=`${u}px`,a.style.height=`${f}px`}r.hideOnLeave&&a.style.setProperty("display","none","important")},onAfterLeave(a){if(r.leaveAbsolute&&(a!=null&&a._transitionInitialStyles)){const{position:c,top:l,left:u,width:f,height:d}=a._transitionInitialStyles;delete a._transitionInitialStyles,a.style.position=c||"",a.style.top=l||"",a.style.left=u||"",a.style.width=f||"",a.style.height=d||""}}};return()=>{const a=r.group?Uf:xr;return Lr(a,{name:r.disabled?"":e,css:!r.disabled,...r.group?void 0:{mode:r.mode},...r.disabled?{}:o},i.default)}}})}function Q_(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"in-out";return Pe()({name:e,props:{mode:{type:String,default:n},disabled:{type:Boolean,default:po()},group:Boolean},setup(r,s){let{slots:i}=s;const o=r.group?Uf:xr;return()=>Lr(o,{name:r.disabled?"":e,css:!r.disabled,...r.disabled?{}:t},i.default)}})}function eb(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";const n=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)?"width":"height",r=Pt(`offset-${n}`);return{onBeforeEnter(o){o._parent=o.parentNode,o._initialStyle={transition:o.style.transition,overflow:o.style.overflow,[n]:o.style[n]}},onEnter(o){const a=o._initialStyle;if(!a)return;o.style.setProperty("transition","none","important"),o.style.overflow="hidden";const c=`${o[r]}px`;o.style[n]="0",o.offsetHeight,o.style.transition=a.transition,e&&o._parent&&o._parent.classList.add(e),requestAnimationFrame(()=>{o.style[n]=c})},onAfterEnter:i,onEnterCancelled:i,onLeave(o){o._initialStyle={transition:"",overflow:o.style.overflow,[n]:o.style[n]},o.style.overflow="hidden",o.style[n]=`${o[r]}px`,o.offsetHeight,requestAnimationFrame(()=>o.style[n]="0")},onAfterLeave:s,onLeaveCancelled:s};function s(o){e&&o._parent&&o._parent.classList.remove(e),i(o)}function i(o){if(!o._initialStyle)return;const a=o._initialStyle[n];o.style.overflow=o._initialStyle.overflow,a!=null&&(o.style[n]=a),delete o._initialStyle}}const CR=ie({target:[Object,Array]},"v-dialog-transition"),Bl=new WeakMap,IR=Pe()({name:"VDialogTransition",props:CR(),setup(e,t){let{slots:n}=t;const r={onBeforeEnter(s){s.style.pointerEvents="none",s.style.visibility="hidden"},async onEnter(s,i){var d;await new Promise(h=>requestAnimationFrame(h)),await new Promise(h=>requestAnimationFrame(h)),s.style.visibility="";const o=pm(e.target,s),{x:a,y:c,sx:l,sy:u,speed:f}=o;if(Bl.set(s,o),po())Kr(s,[{opacity:0},{}],{duration:125*f,easing:vp}).finished.then(()=>i());else{const h=Kr(s,[{transform:`translate(${a}px, ${c}px) scale(${l}, ${u})`,opacity:0},{}],{duration:225*f,easing:vp});(d=hm(s))==null||d.forEach(p=>{Kr(p,[{opacity:0},{opacity:0,offset:.33},{}],{duration:225*2*f,easing:Cu})}),h.finished.then(()=>i())}},onAfterEnter(s){s.style.removeProperty("pointer-events")},onBeforeLeave(s){s.style.pointerEvents="none"},async onLeave(s,i){var d;await new Promise(h=>requestAnimationFrame(h));let o;!Bl.has(s)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?o=pm(e.target,s):o=Bl.get(s);const{x:a,y:c,sx:l,sy:u,speed:f}=o;po()?Kr(s,[{},{opacity:0}],{duration:85*f,easing:_p}).finished.then(()=>i()):(Kr(s,[{},{transform:`translate(${a}px, ${c}px) scale(${l}, ${u})`,opacity:0}],{duration:125*f,easing:_p}).finished.then(()=>i()),(d=hm(s))==null||d.forEach(p=>{Kr(p,[{},{opacity:0,offset:.2},{opacity:0}],{duration:125*2*f,easing:Cu})}))},onAfterLeave(s){s.style.removeProperty("pointer-events")}};return()=>e.target?F(xr,Ye({name:"dialog-transition"},r,{css:!1}),n):F(xr,{name:"dialog-transition"},n)}});function hm(e){var n;const t=(n=e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list"))==null?void 0:n.children;return t&&[...t]}function pm(e,t){const n=$v(e),r=Bv(t),[s,i]=getComputedStyle(t).transformOrigin.split(" ").map(g=>parseFloat(g)),[o,a]=getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");let c=n.left+n.width/2;o==="left"||a==="left"?c-=n.width/2:(o==="right"||a==="right")&&(c+=n.width/2);let l=n.top+n.height/2;o==="top"||a==="top"?l-=n.height/2:(o==="bottom"||a==="bottom")&&(l+=n.height/2);const u=n.width/r.width,f=n.height/r.height,d=Math.max(1,u,f),h=u/d||0,p=f/d||0,m=r.width*r.height/(window.innerWidth*window.innerHeight),y=m>.12?Math.min(1.5,(m-.12)*10+1):1;return{x:c-(s+r.left),y:l-(i+r.top),sx:h,sy:p,speed:y}}Xt("fab-transition","center center","out-in");Xt("dialog-bottom-transition");Xt("dialog-top-transition");const AH=Xt("fade-transition"),OH=Xt("scale-transition");Xt("scroll-x-transition");Xt("scroll-x-reverse-transition");Xt("scroll-y-transition");Xt("scroll-y-reverse-transition");Xt("slide-x-transition");const MH=Xt("slide-x-reverse-transition"),PH=Xt("slide-y-transition");Xt("slide-y-reverse-transition");const kR=Q_("expand-transition",eb()),NH=Q_("expand-x-transition",eb("",!0)),xR=ie({fullscreen:Boolean,scrollable:Boolean,...ys(hd({captureFocus:!0,origin:"center center",scrollStrategy:"block",transition:{component:IR},zIndex:2400,retainFocus:!0}),["disableInitialFocus"])},"VDialog"),RR=Pe()({name:"VDialog",props:xR(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{emit:n,slots:r}=t;const s=zn(e,"modelValue"),{scopeId:i}=dd(),o=Ee();function a(){var l;n("afterEnter"),(e.scrim||e.retainFocus)&&((l=o.value)!=null&&l.contentEl)&&!o.value.contentEl.contains(document.activeElement)&&o.value.contentEl.focus({preventScroll:!0})}function c(){n("afterLeave")}return Se(s,async l=>{var u;l||(await dt(),(u=o.value.activatorEl)==null||u.focus({preventScroll:!0}))}),Je(()=>{const l=oc.filterProps(e),u=Ye({"aria-haspopup":"dialog"},e.activatorProps),f=Ye({tabindex:-1},e.contentProps);return F(oc,Ye({ref:o,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},l,{modelValue:s.value,"onUpdate:modelValue":d=>s.value=d,"aria-modal":"true",activatorProps:u,contentProps:f,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:"dialog",onAfterEnter:a,onAfterLeave:c},i),{activator:r.activator,default:function(){for(var d=arguments.length,h=new Array(d),p=0;p{var m;return[(m=r.default)==null?void 0:m.call(r,...h)]}})}})}),q_({},o)}}),AR=["dotted","dashed","solid","double"],OR=ie({color:String,contentOffset:[Number,String,Array],gradient:Boolean,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,variant:{type:String,default:"solid",validator:e=>AR.includes(e)},...rt(),...Yt()},"VDivider"),tb=Pe()({name:"VDivider",props:OR(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=cn(e),{textColorClasses:i,textColorStyles:o}=ri(()=>e.color),a=U(()=>{const l={};return e.length&&(l[e.vertical?"height":"width"]=pe(e.length)),e.thickness&&(l[e.vertical?"borderRightWidth":"borderTopWidth"]=pe(e.thickness)),l}),c=Q(()=>{const l=Array.isArray(e.contentOffset)?e.contentOffset[0]:e.contentOffset,u=Array.isArray(e.contentOffset)?e.contentOffset[1]:0;return{marginBlock:e.vertical&&l?pe(l):void 0,marginInline:!e.vertical&&l?pe(l):void 0,transform:u?`translate${e.vertical?"X":"Y"}(${pe(u)})`:void 0}});return Je(()=>{const l=ne("hr",{class:Re([{"v-divider":!0,"v-divider--gradient":e.gradient&&!r.default,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},s.value,i.value,e.class]),style:ze([a.value,o.value,{"--v-border-opacity":e.opacity},{"border-style":e.variant},e.style]),"aria-orientation":!n.role||n.role==="separator"?e.vertical?"vertical":"horizontal":void 0,role:`${n.role||"separator"}`},null);return r.default?ne("div",{class:Re(["v-divider__wrapper",{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[l,ne("div",{class:"v-divider__content",style:ze(c.value)},[r.default()]),l]):l}),{}}}),MR=Xf("v-spacer","div","VSpacer"),Bu=Symbol.for("vuetify:list");function nb(){let{filterable:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{filterable:!1};const t=Oe(Bu,{filterable:!1,hasPrepend:be(!1),updateHasPrepend:()=>null}),n={filterable:t.filterable||e,hasPrepend:be(!1),updateHasPrepend:r=>{r&&(n.hasPrepend.value=r)}};return Ct(Bu,n),t}function rb(){return Oe(Bu,null)}const pd=e=>{const t={activate:n=>{let{id:r,value:s,activated:i}=n;return r=ue(r),e&&!s&&i.size===1&&i.has(r)||(s?i.add(r):i.delete(r)),i},in:(n,r,s)=>{let i=new Set;if(n!=null)for(const o of qf(n))i=t.activate({id:o,value:!0,activated:new Set(i),children:r,parents:s});return i},out:n=>Array.from(n)};return t},sb=e=>{const t=pd(e);return{activate:r=>{let{activated:s,id:i,...o}=r;i=ue(i);const a=s.has(i)?new Set([i]):new Set;return t.activate({...o,id:i,activated:a})},in:(r,s,i)=>{let o=new Set;if(r!=null){const a=qf(r);a.length&&(o=t.in(a.slice(0,1),s,i))}return o},out:(r,s,i)=>t.out(r,s,i)}},PR=e=>{const t=pd(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=ue(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},NR=e=>{const t=sb(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=ue(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},LR={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){const i=new Set;i.add(t);let o=s.get(t);for(;o!=null;)i.add(o),o=s.get(o);return i}else return r.delete(t),r},select:()=>null},ib={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){let i=s.get(t);for(r.add(t);i!=null&&i!==t;)r.add(i),i=s.get(i);return r}else r.delete(t);return r},select:()=>null},DR={open:ib.open,select:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(!n)return r;const i=[];let o=s.get(t);for(;o!=null;)i.push(o),o=s.get(o);return new Set(i)}},md=e=>{const t={select:n=>{let{id:r,value:s,selected:i}=n;if(r=ue(r),e&&!s){const o=Array.from(i.entries()).reduce((a,c)=>{let[l,u]=c;return u==="on"&&a.push(l),a},[]);if(o.length===1&&o[0]===r)return i}return i.set(r,s?"on":"off"),i},in:(n,r,s,i)=>{const o=new Map;for(const a of n||[])t.select({id:a,value:!0,selected:o,children:r,parents:s,disabled:i});return o},out:n=>{const r=[];for(const[s,i]of n.entries())i==="on"&&r.push(s);return r}};return t},ob=e=>{const t=md(e);return{select:r=>{let{selected:s,id:i,...o}=r;i=ue(i);const a=s.has(i)?new Map([[i,s.get(i)]]):new Map;return t.select({...o,id:i,selected:a})},in:(r,s,i,o)=>r!=null&&r.length?t.in(r.slice(0,1),s,i,o):new Map,out:(r,s,i)=>t.out(r,s,i)}},FR=e=>{const t=md(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=ue(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},$R=e=>{const t=ob(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=ue(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},ab=e=>{const t={select:n=>{let{id:r,value:s,selected:i,children:o,parents:a,disabled:c}=n;r=ue(r);const l=new Map(i),u=[r];for(;u.length;){const d=u.shift();c.has(d)||i.set(ue(d),s?"on":"off"),o.has(d)&&u.push(...o.get(d))}let f=ue(a.get(r));for(;f;){let d=!0,h=!0;for(const p of o.get(f)){const m=ue(p);if(!c.has(m)&&(i.get(m)!=="on"&&(d=!1),i.has(m)&&i.get(m)!=="off"&&(h=!1),!d&&!h))break}i.set(f,d?"on":h?"off":"indeterminate"),f=ue(a.get(f))}return e&&!s&&Array.from(i.entries()).reduce((h,p)=>{let[m,y]=p;return y==="on"&&h.push(m),h},[]).length===0?l:i},in:(n,r,s)=>{let i=new Map;for(const o of n||[])i=t.select({id:o,value:!0,selected:i,children:r,parents:s,disabled:new Set});return i},out:(n,r)=>{const s=[];for(const[i,o]of n.entries())o==="on"&&!r.has(i)&&s.push(i);return s}};return t},BR=e=>{const t=ab(e);return{select:t.select,in:t.in,out:(r,s,i)=>{const o=[];for(const[a,c]of r.entries())if(c==="on"){if(i.has(a)){const l=i.get(a);if(r.get(l)==="on")continue}o.push(a)}return o}}},si=Symbol.for("vuetify:nested"),cb={id:be(),root:{itemsRegistration:Ee("render"),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:Ee(new Map),parents:Ee(new Map),disabled:Ee(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:Ee(!1),selectable:Ee(!1),opened:Ee(new Set),activated:Ee(new Set),selected:Ee(new Map),selectedValues:Ee([]),getPath:()=>[]}},HR=ie({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean,itemsRegistration:{type:String,default:"render"}},"nested"),VR=(e,t,n)=>{let r=!1;const s=be(new Map),i=be(new Map),o=be(new Set),a=zn(e,"opened",e.opened,_=>new Set(Array.isArray(_)?_.map(T=>ue(T)):_),_=>[..._.values()]),c=U(()=>{if(typeof e.activeStrategy=="object")return e.activeStrategy;if(typeof e.activeStrategy=="function")return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case"leaf":return PR(e.mandatory);case"single-leaf":return NR(e.mandatory);case"independent":return pd(e.mandatory);case"single-independent":default:return sb(e.mandatory)}}),l=U(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;if(typeof e.selectStrategy=="function")return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case"single-leaf":return $R(e.mandatory);case"leaf":return FR(e.mandatory);case"independent":return md(e.mandatory);case"single-independent":return ob(e.mandatory);case"trunk":return BR(e.mandatory);case"classic":default:return ab(e.mandatory)}}),u=U(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return DR;case"single":return LR;case"multiple":default:return ib}}),f=zn(e,"activated",e.activated,_=>c.value.in(_,s.value,i.value),_=>c.value.out(_,s.value,i.value)),d=zn(e,"selected",e.selected,_=>l.value.in(_,s.value,i.value,o.value),_=>l.value.out(_,s.value,i.value));yn(()=>{r=!0});function h(_){const T=[];let O=ue(_);for(;O!==void 0;)T.unshift(O),O=i.value.get(O);return T}const p=ut("nested"),m=new Set,y=fC(()=>{dt(()=>{s.value=new Map(s.value),i.value=new Map(i.value)})},100);Se(()=>[t.value,mt(n)],()=>{e.itemsRegistration==="props"&&g()},{immediate:!0});function g(){const _=new Map,T=new Map,O=new Set,R=mt(n)?I=>ue(I.raw):I=>I.value,E=[...t.value];let w=0;for(;we.activatable),selectable:Q(()=>e.selectable),activated:f,selected:d,selectedValues:U(()=>{const _=[];for(const[T,O]of d.value.entries())O==="on"&&_.push(T);return _}),itemsRegistration:Q(()=>e.itemsRegistration),register:(_,T,O,R)=>{if(m.has(_)){h(_).map(String).join(" -> "),h(T).concat(_).map(String).join(" -> ");return}else m.add(_);T&&_!==T&&i.value.set(_,T),O&&o.value.add(_),R&&s.value.set(_,[]),T!=null&&s.value.set(T,[...s.value.get(T)||[],_]),y()},unregister:_=>{if(r)return;m.delete(_),s.value.delete(_),o.value.delete(_);const T=i.value.get(_);if(T){const O=s.value.get(T)??[];s.value.set(T,O.filter(R=>R!==_))}i.value.delete(_),y()},updateDisabled:(_,T)=>{T?o.value.add(_):o.value.delete(_)},open:(_,T,O)=>{p.emit("click:open",{id:_,value:T,path:h(_),event:O});const R=u.value.open({id:_,value:T,opened:new Set(a.value),children:s.value,parents:i.value,event:O});R&&(a.value=R)},openOnSelect:(_,T,O)=>{const R=u.value.select({id:_,value:T,selected:new Map(d.value),opened:new Set(a.value),children:s.value,parents:i.value,event:O});R&&(a.value=R)},select:(_,T,O)=>{p.emit("click:select",{id:_,value:T,path:h(_),event:O});const R=l.value.select({id:_,value:T,selected:new Map(d.value),children:s.value,parents:i.value,disabled:o.value,event:O});R&&(d.value=R),v.root.openOnSelect(_,T,O)},activate:(_,T,O)=>{if(!e.activatable)return v.root.select(_,!0,O);p.emit("click:activate",{id:_,value:T,path:h(_),event:O});const R=c.value.activate({id:_,value:T,activated:new Set(f.value),children:s.value,parents:i.value,event:O});if(R.size!==f.value.size)f.value=R;else{for(const E of R)if(!f.value.has(E)){f.value=R;return}for(const E of f.value)if(!R.has(E)){f.value=R;return}}},children:s,parents:i,disabled:o,getPath:h}};return Ct(si,v),v.root},lb=(e,t,n)=>{const r=Oe(si,cb),s=Symbol("nested item"),i=U(()=>{const a=ue(mt(e));return a!==void 0?a:s}),o={...r,id:i,open:(a,c)=>r.root.open(i.value,a,c),openOnSelect:(a,c)=>r.root.openOnSelect(i.value,a,c),isOpen:U(()=>r.root.opened.value.has(i.value)),parent:U(()=>r.root.parents.value.get(i.value)),activate:(a,c)=>r.root.activate(i.value,a,c),isActivated:U(()=>r.root.activated.value.has(i.value)),select:(a,c)=>r.root.select(i.value,a,c),isSelected:U(()=>r.root.selected.value.get(i.value)==="on"),isIndeterminate:U(()=>r.root.selected.value.get(i.value)==="indeterminate"),isLeaf:U(()=>!r.root.children.value.get(i.value)),isGroupActivator:r.isGroupActivator};return Dc(()=>{r.isGroupActivator||r.root.itemsRegistration.value==="props"||dt(()=>{r.root.register(i.value,r.id.value,mt(t),n)})}),yn(()=>{r.isGroupActivator||r.root.itemsRegistration.value==="props"||r.root.unregister(i.value)}),Se(i,(a,c)=>{r.isGroupActivator||r.root.itemsRegistration.value==="props"||(r.root.unregister(c),dt(()=>{r.root.register(a,r.id.value,mt(t),n)}))}),Se(()=>mt(t),a=>{r.root.updateDisabled(i.value,a)}),n&&Ct(si,o),o},UR=()=>{const e=Oe(si,cb);Ct(si,{...e,isGroupActivator:!0})};function WR(){const e=be(!1);return Nr(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:Q(()=>e.value?void 0:{transition:"none !important"}),isBooted:Xs(e)}}const jR=gi({name:"VListGroupActivator",setup(e,t){let{slots:n}=t;return UR(),()=>{var r;return(r=n.default)==null?void 0:r.call(n)}}}),zR=ie({activeColor:String,baseColor:String,color:String,collapseIcon:{type:yt,default:"$collapse"},disabled:Boolean,expandIcon:{type:yt,default:"$expand"},rawId:[String,Number],prependIcon:yt,appendIcon:yt,fluid:Boolean,subgroup:Boolean,title:String,value:null,...rt(),...It()},"VListGroup"),mm=Pe()({name:"VListGroup",props:zR(),setup(e,t){let{slots:n}=t;const{isOpen:r,open:s,id:i}=lb(()=>e.value,()=>e.disabled,!0),o=U(()=>`v-list-group--id-${String(e.rawId??i.value)}`),a=rb(),{isBooted:c}=WR(),l=Oe(si),u=Q(()=>{var m;return((m=l==null?void 0:l.root)==null?void 0:m.itemsRegistration.value)==="render"});function f(m){var y;["INPUT","TEXTAREA"].includes((y=m.target)==null?void 0:y.tagName)||s(!r.value,m)}const d=U(()=>({onClick:f,class:"v-list-group__header",id:o.value})),h=U(()=>r.value?e.collapseIcon:e.expandIcon),p=U(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&h.value,appendIcon:e.appendIcon||!e.subgroup&&h.value,title:e.title,value:e.value}}));return Je(()=>F(e.tag,{class:Re(["v-list-group",{"v-list-group--prepend":a==null?void 0:a.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":r.value},e.class]),style:ze(e.style)},{default:()=>[n.activator&&F(nn,{defaults:p.value},{default:()=>[F(jR,null,{default:()=>[n.activator({props:d.value,isOpen:r.value})]})]}),F(Fs,{transition:{component:kR},disabled:!c.value},{default:()=>{var m,y;return[u.value?us(ne("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(m=n.default)==null?void 0:m.call(n)]),[[Vf,r.value]]):r.value&&ne("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(y=n.default)==null?void 0:y.call(n)])]}})]})),{isOpen:r}}}),qR=ie({opacity:[Number,String],...rt(),...It()},"VListItemSubtitle"),ub=Pe()({name:"VListItemSubtitle",props:qR(),setup(e,t){let{slots:n}=t;return Je(()=>F(e.tag,{class:Re(["v-list-item-subtitle",e.class]),style:ze([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},n)),{}}}),fb=Xf("v-list-item-title"),GR=ie({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:yt,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:yt,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,prependGap:[Number,String],subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,onClick:Ji(),onClickOnce:Ji(),...vi(),...rt(),...vs(),...Si(),...$o(),...ar(),...ud(),...It(),...Yt(),..._s({variant:"text"})},"VListItem"),Hu=Pe()({name:"VListItem",directives:{vRipple:wo},props:GR(),emits:{click:e=>!0},setup(e,t){let{attrs:n,slots:r,emit:s}=t;const i=ld(e,n),o=U(()=>e.value===void 0?i.href.value:e.value),{activate:a,isActivated:c,select:l,isOpen:u,isSelected:f,isIndeterminate:d,isGroupActivator:h,root:p,parent:m,openOnSelect:y,id:g}=lb(o,()=>e.disabled,!1),v=rb(),_=U(()=>{var C;return e.active!==!1&&(e.active||((C=i.isActive)==null?void 0:C.value)||(p.activatable.value?c.value:f.value))}),T=Q(()=>e.link!==!1&&i.isLink.value),O=U(()=>!!v&&(p.selectable.value||p.activatable.value||e.value!=null)),R=U(()=>!e.disabled&&e.link!==!1&&(e.link||i.isClickable.value||O.value)),E=U(()=>v?T.value?"link":O.value?"option":"listitem":void 0),w=U(()=>{if(O.value)return p.activatable.value?c.value:p.selectable.value?f.value:_.value}),I=Q(()=>e.rounded||e.nav),A=Q(()=>e.color??e.activeColor),M=Q(()=>({color:_.value?A.value??e.baseColor:e.baseColor,variant:e.variant}));Se(()=>{var C;return(C=i.isActive)==null?void 0:C.value},C=>{C&&x()}),Dc(()=>{var C;(C=i.isActive)!=null&&C.value&&dt(()=>x())});function x(){m.value!=null&&p.open(m.value,!0),y(!0)}const{themeClasses:N}=cn(e),{borderClasses:L}=_i(e),{colorClasses:G,colorStyles:J,variantClasses:j}=Vo(M),{densityClasses:D}=bi(e),{dimensionStyles:ae}=Ei(e),{elevationClasses:q}=Bo(e),{roundedClasses:ce}=cr(I),le=Q(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),ve=Q(()=>e.ripple!==void 0&&e.ripple&&(v!=null&&v.filterable)?{keys:["Enter"]}:e.ripple),Me=U(()=>({isActive:_.value,select:l,isOpen:u.value,isSelected:f.value,isIndeterminate:d.value}));function Fe(C){var W,z;s("click",C),!["INPUT","TEXTAREA"].includes((W=C.target)==null?void 0:W.tagName)&&R.value&&((z=i.navigate)==null||z.call(i,C),!h&&(p.activatable.value?a(!c.value,C):(p.selectable.value||e.value!=null&&!T.value)&&l(!f.value,C)))}function Ge(C){const W=C.target;["INPUT","TEXTAREA"].includes(W.tagName)||(C.key==="Enter"||C.key===" "&&!(v!=null&&v.filterable))&&(C.preventDefault(),C.stopPropagation(),C.target.dispatchEvent(new MouseEvent("click",C)))}return Je(()=>{const C=T.value?"a":e.tag,W=r.title||e.title!=null,z=r.subtitle||e.subtitle!=null,re=!!(e.appendAvatar||e.appendIcon),_e=!!(re||r.append),b=!!(e.prependAvatar||e.prependIcon),S=!!(b||r.prepend);return v==null||v.updateHasPrepend(S),e.activeColor&&kv("active-color",["color","base-color"]),us(F(C,Ye(i.linkProps,{class:["v-list-item",{"v-list-item--active":_.value,"v-list-item--disabled":e.disabled,"v-list-item--link":R.value,"v-list-item--nav":e.nav,"v-list-item--slim":e.slim,[`${e.activeClass}`]:e.activeClass&&_.value},N.value,L.value,G.value,D.value,q.value,le.value,ce.value,j.value,e.class],style:[{"--v-list-prepend-gap":pe(e.prependGap)},J.value,ae.value,e.style],tabindex:R.value?v?-2:0:void 0,"aria-selected":w.value,role:E.value,onClick:Fe,onKeydown:R.value&&!T.value&&Ge}),{default:()=>{var k;return[Ho(R.value||_.value,"v-list-item"),S&&ne("div",{key:"prepend",class:"v-list-item__prepend"},[r.prepend?F(nn,{key:"prepend-defaults",disabled:!b,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0}}},{default:()=>{var P;return[(P=r.prepend)==null?void 0:P.call(r,Me.value)]}}):ne(Ke,null,[e.prependAvatar&&F(ac,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&F(Mn,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)]),ne("div",{class:"v-list-item__spacer"},null)]),ne("div",{class:"v-list-item__content","data-no-activator":""},[W&&F(fb,{key:"title"},{default:()=>{var P;return[((P=r.title)==null?void 0:P.call(r,{title:e.title}))??dn(e.title)]}}),z&&F(ub,{key:"subtitle"},{default:()=>{var P;return[((P=r.subtitle)==null?void 0:P.call(r,{subtitle:e.subtitle}))??dn(e.subtitle)]}}),(k=r.default)==null?void 0:k.call(r,Me.value)]),_e&&ne("div",{key:"append",class:"v-list-item__append"},[r.append?F(nn,{key:"append-defaults",disabled:!re,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0}}},{default:()=>{var P;return[(P=r.append)==null?void 0:P.call(r,Me.value)]}}):ne(Ke,null,[e.appendIcon&&F(Mn,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&F(ac,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),ne("div",{class:"v-list-item__spacer"},null)])]}}),[[wo,R.value&&ve.value]])}),{activate:a,isActivated:c,isGroupActivator:h,isSelected:f,list:v,select:l,root:p,id:g,link:i}}}),KR=ie({color:String,inset:Boolean,sticky:Boolean,title:String,...rt(),...It()},"VListSubheader"),YR=Pe()({name:"VListSubheader",props:KR(),setup(e,t){let{slots:n}=t;const{textColorClasses:r,textColorStyles:s}=ri(()=>e.color);return Je(()=>{const i=!!(n.default||e.title);return F(e.tag,{class:Re(["v-list-subheader",{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},r.value,e.class]),style:ze([{textColorStyles:s},e.style])},{default:()=>{var o;return[i&&ne("div",{class:"v-list-subheader__text"},[((o=n.default)==null?void 0:o.call(n))??e.title])]}})}),{}}}),XR=ie({items:Array,returnObject:Boolean},"VListChildren"),db=Pe()({name:"VListChildren",props:XR(),setup(e,t){let{slots:n}=t;return nb(),()=>{var r,s;return((r=n.default)==null?void 0:r.call(n))??((s=e.items)==null?void 0:s.map(i=>{var d,h;let{children:o,props:a,type:c,raw:l}=i;if(c==="divider")return((d=n.divider)==null?void 0:d.call(n,{props:a}))??F(tb,a,null);if(c==="subheader")return((h=n.subheader)==null?void 0:h.call(n,{props:a}))??F(YR,a,null);const u={subtitle:n.subtitle?p=>{var m;return(m=n.subtitle)==null?void 0:m.call(n,{...p,item:l})}:void 0,prepend:n.prepend?p=>{var m;return(m=n.prepend)==null?void 0:m.call(n,{...p,item:l})}:void 0,append:n.append?p=>{var m;return(m=n.append)==null?void 0:m.call(n,{...p,item:l})}:void 0,title:n.title?p=>{var m;return(m=n.title)==null?void 0:m.call(n,{...p,item:l})}:void 0},f=mm.filterProps(a);return o?F(mm,Ye(f,{value:e.returnObject?l:a==null?void 0:a.value,rawId:a==null?void 0:a.value}),{activator:p=>{let{props:m}=p;const y=Ye(a,m,{value:e.returnObject?l:a.value});return n.header?n.header({props:y}):F(Hu,y,u)},default:()=>F(db,{items:o,returnObject:e.returnObject},n)}):n.item?n.item({props:a}):F(Hu,Ye(a,{value:e.returnObject?l:a.value}),u)}))}}}),JR=ie({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:"title"},itemValue:{type:[String,Array,Function],default:"value"},itemChildren:{type:[Boolean,String,Array,Function],default:"children"},itemProps:{type:[Boolean,String,Array,Function],default:"props"},itemType:{type:[Boolean,String,Array,Function],default:"type"},returnObject:Boolean,valueComparator:Function},"list-items"),ZR=new Set(["item","divider","subheader"]);function Ks(e,t){const n=kn(t,e.itemTitle,t),r=kn(t,e.itemValue,n),s=kn(t,e.itemChildren),i=e.itemProps===!0?typeof t=="object"&&t!=null&&!Array.isArray(t)?"children"in t?ys(t,["children"]):t:void 0:kn(t,e.itemProps);let o=kn(t,e.itemType,"item");ZR.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:String(a.title??""),value:a.value,props:a,children:o==="item"&&Array.isArray(s)?hb(e,s):void 0,raw:t}}Ks.neededProps=["itemTitle","itemValue","itemChildren","itemProps","itemType"];function hb(e,t){const n=zf(e,Ks.neededProps),r=[];for(const s of t)r.push(Ks(n,s));return r}function LH(e){const t=U(()=>hb(e,e.items)),n=U(()=>t.value.some(a=>a.value===null)),r=be(new Map),s=be([]);on(()=>{const a=t.value,c=new Map,l=[];for(let u=0;u{let{raw:l}=c;return l}):a.map(c=>{let{value:l}=c;return l})}return{items:t,transformIn:i,transformOut:o}}const QR=new Set(["item","divider","subheader"]);function eA(e,t){const n=ds(t)?t:kn(t,e.itemTitle),r=ds(t)?t:kn(t,e.itemValue,void 0),s=kn(t,e.itemChildren),i=e.itemProps===!0?ys(t,["children"]):kn(t,e.itemProps);let o=kn(t,e.itemType,"item");QR.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:a.title,value:a.value,props:a,children:o==="item"&&s?pb(e,s):void 0,raw:t}}function pb(e,t){const n=[];for(const r of t)n.push(eA(e,r));return n}function tA(e){return{items:U(()=>pb(e,e.items))}}const nA=ie({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:yt,collapseIcon:yt,lines:{type:[Boolean,String],default:"one"},slim:Boolean,prependGap:[Number,String],indent:[Number,String],nav:Boolean,"onClick:open":Ji(),"onClick:select":Ji(),"onUpdate:opened":Ji(),...HR({selectStrategy:"single-leaf",openStrategy:"list"}),...vi(),...rt(),...vs(),...Si(),...$o(),...JR(),...ar(),...It(),...Yt(),..._s({variant:"text"})},"VList"),rA=Pe()({name:"VList",props:nA(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,t){let{slots:n}=t;const{items:r}=tA(e),{themeClasses:s}=cn(e),{backgroundColorClasses:i,backgroundColorStyles:o}=Gs(()=>e.bgColor),{borderClasses:a}=_i(e),{densityClasses:c}=bi(e),{dimensionStyles:l}=Ei(e),{elevationClasses:u}=Bo(e),{roundedClasses:f}=cr(e),{children:d,open:h,parents:p,select:m,getPath:y}=VR(e,r,()=>e.returnObject),g=Q(()=>e.lines?`v-list--${e.lines}-line`:void 0),v=Q(()=>e.activeColor),_=Q(()=>e.baseColor),T=Q(()=>e.color),O=Q(()=>e.selectable||e.activatable);nb({filterable:e.filterable}),Bc({VListGroup:{activeColor:v,baseColor:_,color:T,expandIcon:Q(()=>e.expandIcon),collapseIcon:Q(()=>e.collapseIcon)},VListItem:{activeClass:Q(()=>e.activeClass),activeColor:v,baseColor:_,color:T,density:Q(()=>e.density),disabled:Q(()=>e.disabled),lines:Q(()=>e.lines),nav:Q(()=>e.nav),slim:Q(()=>e.slim),variant:Q(()=>e.variant)}});const R=be(!1),E=Ee();function w(L){R.value=!0}function I(L){R.value=!1}function A(L){var G;!R.value&&!(L.relatedTarget&&((G=E.value)!=null&&G.contains(L.relatedTarget)))&&N()}function M(L){const G=L.target;if(!(!E.value||G.tagName==="INPUT"&&["Home","End"].includes(L.key)||G.tagName==="TEXTAREA")){if(L.key==="ArrowDown")N("next");else if(L.key==="ArrowUp")N("prev");else if(L.key==="Home")N("first");else if(L.key==="End")N("last");else return;L.preventDefault()}}function x(L){R.value=!0}function N(L){if(E.value)return Dv(E.value,L)}return Je(()=>{const L=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0);return F(e.tag,{ref:E,class:Re(["v-list",{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},s.value,i.value,a.value,c.value,u.value,g.value,f.value,e.class]),style:ze([{"--v-list-indent":pe(L),"--v-list-group-prepend":L?"0px":void 0,"--v-list-prepend-gap":pe(e.prependGap)},o.value,l.value,e.style]),tabindex:e.disabled?-1:0,role:O.value?"listbox":"list","aria-activedescendant":void 0,onFocusin:w,onFocusout:I,onFocus:A,onKeydown:M,onMousedown:x},{default:()=>[F(db,{items:r.value,returnObject:e.returnObject},n)]})}),{open:h,select:m,focus:N,children:d,parents:p,getPath:y}}});let Vu=null;const mb={name:"RateLimitModal",data(){return{isVisible:!1,activeRequests:[]}},computed:{hasActiveRequests(){return this.activeRequests.length>0}},watch:{hasActiveRequests(e){this.isVisible=e}},methods:{close(){this.isVisible=!1},show(e,t,n){const r=Date.now()+Math.random().toString(36).substring(2,9),s=Math.max(0,Math.floor((new Date(e)-new Date)/1e3)),i={id:r,resetTime:e,path:t,method:n,remainingSeconds:s};this.activeRequests.push(i),this.startCountdown(r),this.isVisible=!0},startCountdown(e){const t=this.activeRequests.find(r=>r.id===e);if(!t)return;const n=setInterval(()=>{const r=this.activeRequests.findIndex(s=>s.id===e);if(r===-1){clearInterval(n);return}this.activeRequests[r].remainingSeconds--,this.activeRequests[r].remainingSeconds<=0&&(clearInterval(n),this.activeRequests.splice(r,1))},1e3);t.intervalId=n},clearAllCountdowns(){this.activeRequests.forEach(e=>{e.intervalId&&clearInterval(e.intervalId)}),this.activeRequests=[]}},beforeUnmount(){this.clearAllCountdowns()},created(){Vu=this}};mb.show=function(e,t,n){Vu&&Vu.show(e,t,n)};const sA=mb,iA={class:"text-primary font-weight-bold"};function oA(e,t,n,r,s,i){return en(),xn(RR,{modelValue:e.isVisible,"onUpdate:modelValue":t[0]||(t[0]=o=>e.isVisible=o),"max-width":"500",persistent:""},{default:ft(()=>[F(dm,{class:"rate-limit-modal"},{default:ft(()=>[F(Y_,{class:"text-center pa-4 bg-error text-white"},{default:ft(()=>[F(Mn,{class:"mr-2",icon:"mdi-clock-alert-outline",size:"large"}),t[1]||(t[1]=Wi(" 请求频率超限 ",-1))]),_:1}),F($u,{class:"pa-6"},{default:ft(()=>[t[3]||(t[3]=ne("div",{class:"text-body-1 mb-4"},"您的请求过于频繁,请稍后再试。",-1)),e.activeRequests.length>0?(en(),xn(dm,{key:0,class:"mb-4",flat:""},{default:ft(()=>[F($u,null,{default:ft(()=>[(en(!0),mv(Ke,null,Z0(e.activeRequests,(o,a)=>(en(),xn(rA,{key:a,class:"mb-4"},{default:ft(()=>[F(Hu,{color:"primary","prepend-icon":"mdi-web"},{default:ft(()=>[F(fb,null,{default:ft(()=>[t[2]||(t[2]=Wi(" 等待时间: ",-1)),ne("span",iA,dn(o.remainingSeconds),1)]),_:2},1024),F(ub,null,{default:ft(()=>[Wi(dn(o.method)+" "+dn(o.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),e.index[F(MR),F(B_,{color:"primary",variant:"tonal",onClick:e.close},{default:ft(()=>[...t[5]||(t[5]=[Wi(" 我知道了",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const aA=T_(sA,[["render",oA]]),cA=ie({...rt(),...ys(EI(),["fullHeight"]),...Yt()},"VApp"),lA=Pe()({name:"VApp",props:cA(),setup(e,t){let{slots:n}=t;const r=cn(e),{layoutClasses:s,getLayoutItem:i,items:o,layoutRef:a}=CI({...e,fullHeight:!0}),{rtlClasses:c}=Do();return Je(()=>{var l;return ne("div",{ref:a,class:Re(["v-application",r.themeClasses.value,s.value,c.value,e.class]),style:ze([e.style])},[ne("div",{class:"v-application__wrap"},[(l=n.default)==null?void 0:l.call(n)])])}),{getLayoutItem:i,items:o,theme:r}}}),uA={__name:"App",setup(e){const t=s_();return Nr(()=>{const n=sd("theme.mode");t.global.name.value=n,window.addEventListener("beforeinstallprompt",r=>{r.preventDefault(),window.deferredPwaPrompt=r,window.dispatchEvent(new Event("pwa-prompt-ready"))})}),(n,r)=>{const s=J0("router-view"),i=G_;return en(),xn(lA,null,{default:ft(()=>[F(s,null,{default:ft(({Component:o,route:a})=>[F(xr,{mode:"out-in",name:"md3"},{default:ft(()=>[(en(),xn(Xy(o),{key:a.path}))]),_:2},1024)]),_:1}),F(i),F(aA)]),_:1})}}};let Hl;const gm=e=>({get:async()=>({visitorId:"unknown",error:(e==null?void 0:e.message)||String(e||""),fallback:!0})}),fA=async()=>{try{const e=await ht(()=>import("./fp.esm-HJFDfcHo.js"),[],import.meta.url);return(e==null?void 0:e.default)||e}catch(e){return console.warn("Fingerprint library blocked or failed to load; using fallback agent.",e),null}},gb=()=>(Hl||(Hl=(async()=>{const e=await fA();if(!e)return gm(new Error("fingerprint module unavailable"));try{return await e.load()}catch(t){return console.warn("FingerprintJS.load failed, using fallback agent.",t),gm(t)}})()),Hl),dA=async()=>{const t=await(await gb()).get();return(t==null?void 0:t.visitorId)||"unknown"},DH=async()=>await(await gb()).get(),oe=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,Ce=globalThis,is="10.36.0";function bs(){return Kc(Ce),Ce}function Kc(e){const t=e.__SENTRY__=e.__SENTRY__||{};return t.version=t.version||is,t[is]=t[is]||{}}function wi(e,t,n=Ce){const r=n.__SENTRY__=n.__SENTRY__||{},s=r[is]=r[is]||{};return s[e]||(s[e]=t())}const hA=["debug","info","warn","error","log","assert","trace"],pA="Sentry Logger ",cc={};function lr(e){if(!("console"in Ce))return e();const t=Ce.console,n={},r=Object.keys(cc);r.forEach(s=>{const i=cc[s];n[s]=t[s],t[s]=i});try{return e()}finally{r.forEach(s=>{t[s]=n[s]})}}function mA(){yd().enabled=!0}function gA(){yd().enabled=!1}function yb(){return yd().enabled}function yA(...e){gd("log",...e)}function vA(...e){gd("warn",...e)}function _A(...e){gd("error",...e)}function gd(e,...t){oe&&yb()&&lr(()=>{Ce.console[e](`${pA}[${e}]:`,...t)})}function yd(){return oe?wi("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const X={enable:mA,disable:gA,isEnabled:yb,log:yA,warn:vA,error:_A},vb=50,hs="?",ym=/\(error: (.*)\)/,vm=/captureMessage|captureException/;function _b(...e){const t=e.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,s=0)=>{const i=[],o=n.split(` +`);for(let a=r;a1024&&(c=c.slice(0,1024));const l=ym.test(c)?c.replace(ym,"$1"):c;if(!l.match(/\S*Error: /)){for(const u of t){const f=u(l);if(f){i.push(f);break}}if(i.length>=vb+s)break}}return SA(i.slice(s))}}function bA(e){return Array.isArray(e)?_b(...e):e}function SA(e){if(!e.length)return[];const t=Array.from(e);return/sentryWrapped/.test(fa(t).function||"")&&t.pop(),t.reverse(),vm.test(fa(t).function||"")&&(t.pop(),vm.test(fa(t).function||"")&&t.pop()),t.slice(0,vb).map(n=>({...n,filename:n.filename||fa(t).filename,function:n.function||hs}))}function fa(e){return e[e.length-1]||{}}const Vl="";function er(e){try{return!e||typeof e!="function"?Vl:e.name||Vl}catch{return Vl}}function _m(e){const t=e.exception;if(t){const n=[];try{return t.values.forEach(r=>{r.stacktrace.frames&&n.push(...r.stacktrace.frames)}),n}catch{return}}}function bb(e){return"__v_isVNode"in e&&e.__v_isVNode?"[VueVNode]":"[VueViewModel]"}const Aa={},bm={};function $r(e,t){Aa[e]=Aa[e]||[],Aa[e].push(t)}function Br(e,t){if(!bm[e]){bm[e]=!0;try{t()}catch(n){oe&&X.error(`Error while instrumenting ${e}`,n)}}}function rn(e,t){const n=e&&Aa[e];if(n)for(const r of n)try{r(t)}catch(s){oe&&X.error(`Error while triggering instrumentation handler. +Type: ${e} +Name: ${er(r)} +Error:`,s)}}let Ul=null;function Sb(e){const t="error";$r(t,e),Br(t,EA)}function EA(){Ul=Ce.onerror,Ce.onerror=function(e,t,n,r,s){return rn("error",{column:r,error:s,line:n,msg:e,url:t}),Ul?Ul.apply(this,arguments):!1},Ce.onerror.__SENTRY_INSTRUMENTED__=!0}let Wl=null;function Eb(e){const t="unhandledrejection";$r(t,e),Br(t,wA)}function wA(){Wl=Ce.onunhandledrejection,Ce.onunhandledrejection=function(e){return rn("unhandledrejection",e),Wl?Wl.apply(this,arguments):!0},Ce.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}const wb=Object.prototype.toString;function Yc(e){switch(wb.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return tr(e,Error)}}function Ti(e,t){return wb.call(e)===`[object ${t}]`}function Tb(e){return Ti(e,"ErrorEvent")}function Sm(e){return Ti(e,"DOMError")}function TA(e){return Ti(e,"DOMException")}function qn(e){return Ti(e,"String")}function vd(e){return typeof e=="object"&&e!==null&&"__sentry_template_string__"in e&&"__sentry_template_values__"in e}function ii(e){return e===null||vd(e)||typeof e!="object"&&typeof e!="function"}function To(e){return Ti(e,"Object")}function Xc(e){return typeof Event<"u"&&tr(e,Event)}function CA(e){return typeof Element<"u"&&tr(e,Element)}function IA(e){return Ti(e,"RegExp")}function Ci(e){return!!(e!=null&&e.then&&typeof e.then=="function")}function kA(e){return To(e)&&"nativeEvent"in e&&"preventDefault"in e&&"stopPropagation"in e}function tr(e,t){try{return e instanceof t}catch{return!1}}function Cb(e){return!!(typeof e=="object"&&e!==null&&(e.__isVue||e._isVue||e.__v_isVNode))}function _d(e){return typeof Request<"u"&&tr(e,Request)}const bd=Ce,xA=80;function Ht(e,t={}){if(!e)return"";try{let n=e;const r=5,s=[];let i=0,o=0;const a=" > ",c=a.length;let l;const u=Array.isArray(t)?t:t.keyAttrs,f=!Array.isArray(t)&&t.maxStringLength||xA;for(;n&&i++1&&o+s.length*c+l.length>=f));)s.push(l),o+=l.length,n=n.parentNode;return s.reverse().join(a)}catch{return""}}function RA(e,t){const n=e,r=[];if(!(n!=null&&n.tagName))return"";if(bd.HTMLElement&&n instanceof HTMLElement&&n.dataset){if(n.dataset.sentryComponent)return n.dataset.sentryComponent;if(n.dataset.sentryElement)return n.dataset.sentryElement}r.push(n.tagName.toLowerCase());const s=t!=null&&t.length?t.filter(o=>n.getAttribute(o)).map(o=>[o,n.getAttribute(o)]):null;if(s!=null&&s.length)s.forEach(o=>{r.push(`[${o[0]}="${o[1]}"]`)});else{n.id&&r.push(`#${n.id}`);const o=n.className;if(o&&qn(o)){const a=o.split(/\s+/);for(const c of a)r.push(`.${c}`)}}const i=["aria-label","type","name","title","alt"];for(const o of i){const a=n.getAttribute(o);a&&r.push(`[${o}="${a}"]`)}return r.join("")}function Ii(){try{return bd.document.location.href}catch{return""}}function Ib(e){if(!bd.HTMLElement)return null;let t=e;const n=5;for(let r=0;r"}}function wm(e){if(typeof e=="object"&&e!==null){const t={};for(const n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t}else return{}}function AA(e){const t=Object.keys(xb(e));return t.sort(),t[0]?t.join(", "):"[object has no keys]"}let ks;function Uo(e){if(ks!==void 0)return ks?ks(e):e();const t=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),n=Ce;return t in n&&typeof n[t]=="function"?(ks=n[t],ks(e)):(ks=null,e())}function wr(){return Uo(()=>Math.random())}function Wo(){return Uo(()=>Date.now())}function Uu(e,t=0){return typeof e!="string"||t===0||e.length<=t?e:`${e.slice(0,t)}...`}function Tm(e,t){if(!Array.isArray(e))return"";const n=[];for(let r=0;rOa(e,r,n))}function OA(){const e=Ce;return e.crypto||e.msCrypto}let jl;function MA(){return wr()*16}function Kt(e=OA()){try{if(e!=null&&e.randomUUID)return Uo(()=>e.randomUUID()).replace(/-/g,"")}catch{}return jl||(jl="10000000100040008000"+1e11),jl.replace(/[018]/g,t=>(t^(MA()&15)>>t/4).toString(16))}function Rb(e){var t,n;return(n=(t=e.exception)==null?void 0:t.values)==null?void 0:n[0]}function Xr(e){const{message:t,event_id:n}=e;if(t)return t;const r=Rb(e);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||"":n||""}function Wu(e,t,n){const r=e.exception=e.exception||{},s=r.values=r.values||[],i=s[0]=s[0]||{};i.value||(i.value=t||""),i.type||(i.type="Error")}function oi(e,t){const n=Rb(e);if(!n)return;const r={type:"generic",handled:!0},s=n.mechanism;if(n.mechanism={...r,...s,...t},t&&"data"in t){const i={...s==null?void 0:s.data,...t.data};n.mechanism.data=i}}function Cm(e){if(PA(e))return!0;try{Vt(e,"__sentry_captured__",!0)}catch{}return!1}function PA(e){try{return e.__sentry_captured__}catch{}}const Ab=1e3;function Ss(){return Wo()/Ab}function NA(){const{performance:e}=Ce;if(!(e!=null&&e.now)||!e.timeOrigin)return Ss;const t=e.timeOrigin;return()=>(t+Uo(()=>e.now()))/Ab}let Im;function st(){return(Im??(Im=NA()))()}let zl=null;function LA(){var o;const{performance:e}=Ce;if(!(e!=null&&e.now))return;const t=3e5,n=Uo(()=>e.now()),r=Wo(),s=e.timeOrigin;if(typeof s=="number"&&Math.abs(s+n-r)$A(n)};return e&&ai(n,e),n}function ai(e,t={}){if(t.user&&(!e.ipAddress&&t.user.ip_address&&(e.ipAddress=t.user.ip_address),!e.did&&!t.did&&(e.did=t.user.id||t.user.email||t.user.username)),e.timestamp=t.timestamp||st(),t.abnormal_mechanism&&(e.abnormal_mechanism=t.abnormal_mechanism),t.ignoreDuration&&(e.ignoreDuration=t.ignoreDuration),t.sid&&(e.sid=t.sid.length===32?t.sid:Kt()),t.init!==void 0&&(e.init=t.init),!e.did&&t.did&&(e.did=`${t.did}`),typeof t.started=="number"&&(e.started=t.started),e.ignoreDuration)e.duration=void 0;else if(typeof t.duration=="number")e.duration=t.duration;else{const n=e.timestamp-e.started;e.duration=n>=0?n:0}t.release&&(e.release=t.release),t.environment&&(e.environment=t.environment),!e.ipAddress&&t.ipAddress&&(e.ipAddress=t.ipAddress),!e.userAgent&&t.userAgent&&(e.userAgent=t.userAgent),typeof t.errors=="number"&&(e.errors=t.errors),t.status&&(e.status=t.status)}function FA(e,t){let n={};e.status==="ok"&&(n={status:"exited"}),ai(e,n)}function $A(e){return{sid:`${e.sid}`,init:e.init,started:new Date(e.started*1e3).toISOString(),timestamp:new Date(e.timestamp*1e3).toISOString(),status:e.status,errors:e.errors,did:typeof e.did=="number"||typeof e.did=="string"?`${e.did}`:void 0,duration:e.duration,abnormal_mechanism:e.abnormal_mechanism,attrs:{release:e.release,environment:e.environment,ip_address:e.ipAddress,user_agent:e.userAgent}}}function jo(e,t,n=2){if(!t||typeof t!="object"||n<=0)return t;if(e&&Object.keys(t).length===0)return e;const r={...e};for(const s in t)Object.prototype.hasOwnProperty.call(t,s)&&(r[s]=jo(r[s],t[s],n-1));return r}function nr(){return Kt()}function Kn(){return Kt().substring(16)}const ju="_sentrySpan";function ci(e,t){t?Vt(e,ju,t):delete e[ju]}function lc(e){return e[ju]}const BA=100;class Pn{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:nr(),sampleRand:wr()}}clone(){const t=new Pn;return t._breadcrumbs=[...this._breadcrumbs],t._tags={...this._tags},t._attributes={...this._attributes},t._extra={...this._extra},t._contexts={...this._contexts},this._contexts.flags&&(t._contexts.flags={values:[...this._contexts.flags.values]}),t._user=this._user,t._level=this._level,t._session=this._session,t._transactionName=this._transactionName,t._fingerprint=this._fingerprint,t._eventProcessors=[...this._eventProcessors],t._attachments=[...this._attachments],t._sdkProcessingMetadata={...this._sdkProcessingMetadata},t._propagationContext={...this._propagationContext},t._client=this._client,t._lastEventId=this._lastEventId,ci(t,lc(this)),t}setClient(t){this._client=t}setLastEventId(t){this._lastEventId=t}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(t){this._scopeListeners.push(t)}addEventProcessor(t){return this._eventProcessors.push(t),this}setUser(t){return this._user=t||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&ai(this._session,{user:t}),this._notifyScopeListeners(),this}getUser(){return this._user}setTags(t){return this._tags={...this._tags,...t},this._notifyScopeListeners(),this}setTag(t,n){return this.setTags({[t]:n})}setAttributes(t){return this._attributes={...this._attributes,...t},this._notifyScopeListeners(),this}setAttribute(t,n){return this.setAttributes({[t]:n})}removeAttribute(t){return t in this._attributes&&(delete this._attributes[t],this._notifyScopeListeners()),this}setExtras(t){return this._extra={...this._extra,...t},this._notifyScopeListeners(),this}setExtra(t,n){return this._extra={...this._extra,[t]:n},this._notifyScopeListeners(),this}setFingerprint(t){return this._fingerprint=t,this._notifyScopeListeners(),this}setLevel(t){return this._level=t,this._notifyScopeListeners(),this}setTransactionName(t){return this._transactionName=t,this._notifyScopeListeners(),this}setContext(t,n){return n===null?delete this._contexts[t]:this._contexts[t]=n,this._notifyScopeListeners(),this}setSession(t){return t?this._session=t:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(t){if(!t)return this;const n=typeof t=="function"?t(this):t,r=n instanceof Pn?n.getScopeData():To(n)?t:void 0,{tags:s,attributes:i,extra:o,user:a,contexts:c,level:l,fingerprint:u=[],propagationContext:f}=r||{};return this._tags={...this._tags,...s},this._attributes={...this._attributes,...i},this._extra={...this._extra,...o},this._contexts={...this._contexts,...c},a&&Object.keys(a).length&&(this._user=a),l&&(this._level=l),u.length&&(this._fingerprint=u),f&&(this._propagationContext=f),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,ci(this,void 0),this._attachments=[],this.setPropagationContext({traceId:nr(),sampleRand:wr()}),this._notifyScopeListeners(),this}addBreadcrumb(t,n){var i;const r=typeof n=="number"?n:BA;if(r<=0)return this;const s={timestamp:Ss(),...t,message:t.message?Uu(t.message,2048):t.message};return this._breadcrumbs.push(s),this._breadcrumbs.length>r&&(this._breadcrumbs=this._breadcrumbs.slice(-r),(i=this._client)==null||i.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(t){return this._attachments.push(t),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:lc(this)}}setSDKProcessingMetadata(t){return this._sdkProcessingMetadata=jo(this._sdkProcessingMetadata,t,2),this}setPropagationContext(t){return this._propagationContext=t,this}getPropagationContext(){return this._propagationContext}captureException(t,n){const r=(n==null?void 0:n.event_id)||Kt();if(!this._client)return oe&&X.warn("No client configured on scope - will not capture exception!"),r;const s=new Error("Sentry syntheticException");return this._client.captureException(t,{originalException:t,syntheticException:s,...n,event_id:r},this),r}captureMessage(t,n,r){const s=(r==null?void 0:r.event_id)||Kt();if(!this._client)return oe&&X.warn("No client configured on scope - will not capture message!"),s;const i=(r==null?void 0:r.syntheticException)??new Error(t);return this._client.captureMessage(t,n,{originalException:t,syntheticException:i,...r,event_id:s},this),s}captureEvent(t,n){const r=(n==null?void 0:n.event_id)||Kt();return this._client?(this._client.captureEvent(t,{...n,event_id:r},this),r):(oe&&X.warn("No client configured on scope - will not capture event!"),r)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(t=>{t(this)}),this._notifyingListeners=!1)}}function HA(){return wi("defaultCurrentScope",()=>new Pn)}function VA(){return wi("defaultIsolationScope",()=>new Pn)}class UA{constructor(t,n){let r;t?r=t:r=new Pn;let s;n?s=n:s=new Pn,this._stack=[{scope:r}],this._isolationScope=s}withScope(t){const n=this._pushScope();let r;try{r=t(n)}catch(s){throw this._popScope(),s}return Ci(r)?r.then(s=>(this._popScope(),s),s=>{throw this._popScope(),s}):(this._popScope(),r)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const t=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:t}),t}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function li(){const e=bs(),t=Kc(e);return t.stack=t.stack||new UA(HA(),VA())}function WA(e){return li().withScope(e)}function jA(e,t){const n=li();return n.withScope(()=>(n.getStackTop().scope=e,t(e)))}function km(e){return li().withScope(()=>e(li().getIsolationScope()))}function zA(){return{withIsolationScope:km,withScope:WA,withSetScope:jA,withSetIsolationScope:(e,t)=>km(t),getCurrentScope:()=>li().getScope(),getIsolationScope:()=>li().getIsolationScope()}}function ki(e){const t=Kc(e);return t.acs?t.acs:zA()}function De(){const e=bs();return ki(e).getCurrentScope()}function Nn(){const e=bs();return ki(e).getIsolationScope()}function qA(){return wi("globalScope",()=>new Pn)}function Jc(...e){const t=bs(),n=ki(t);if(e.length===2){const[r,s]=e;return r?n.withSetScope(r,s):n.withScope(s)}return n.withScope(e[0])}function Ie(){return De().getClient()}function GA(e){const t=e.getPropagationContext(),{traceId:n,parentSpanId:r,propagationSpanId:s}=t,i={trace_id:n,span_id:s||Kn()};return r&&(i.parent_span_id=r),i}const Bt="sentry.source",Ed="sentry.sample_rate",Ob="sentry.previous_trace_sample_rate",rr="sentry.op",Qe="sentry.origin",Co="sentry.idle_span_finish_reason",zo="sentry.measurement_unit",qo="sentry.measurement_value",xm="sentry.custom_span_name",wd="sentry.profile_id",xi="sentry.exclusive_time",KA="sentry.link.type",YA=0,Td=1,ct=2;function XA(e){if(e<400&&e>=100)return{code:Td};if(e>=400&&e<500)switch(e){case 401:return{code:ct,message:"unauthenticated"};case 403:return{code:ct,message:"permission_denied"};case 404:return{code:ct,message:"not_found"};case 409:return{code:ct,message:"already_exists"};case 413:return{code:ct,message:"failed_precondition"};case 429:return{code:ct,message:"resource_exhausted"};case 499:return{code:ct,message:"cancelled"};default:return{code:ct,message:"invalid_argument"}}if(e>=500&&e<600)switch(e){case 501:return{code:ct,message:"unimplemented"};case 503:return{code:ct,message:"unavailable"};case 504:return{code:ct,message:"deadline_exceeded"};default:return{code:ct,message:"internal_error"}}return{code:ct,message:"internal_error"}}function Mb(e,t){e.setAttribute("http.response.status_code",t);const n=XA(t);n.message!=="unknown_error"&&e.setStatus(n)}const Pb="_sentryScope",Nb="_sentryIsolationScope";function JA(e){try{const t=Ce.WeakRef;if(typeof t=="function")return new t(e)}catch{}return e}function ZA(e){if(e){if(typeof e=="object"&&"deref"in e&&typeof e.deref=="function")try{return e.deref()}catch{return}return e}}function QA(e,t,n){e&&(Vt(e,Nb,JA(n)),Vt(e,Pb,t))}function uc(e){const t=e;return{scope:t[Pb],isolationScope:ZA(t[Nb])}}const Cd="sentry-",e1=/^sentry-/,t1=8192;function Lb(e){const t=r1(e);if(!t)return;const n=Object.entries(t).reduce((r,[s,i])=>{if(s.match(e1)){const o=s.slice(Cd.length);r[o]=i}return r},{});if(Object.keys(n).length>0)return n}function n1(e){if(!e)return;const t=Object.entries(e).reduce((n,[r,s])=>(s&&(n[`${Cd}${r}`]=s),n),{});return s1(t)}function r1(e){if(!(!e||!qn(e)&&!Array.isArray(e)))return Array.isArray(e)?e.reduce((t,n)=>{const r=Rm(n);return Object.entries(r).forEach(([s,i])=>{t[s]=i}),t},{}):Rm(e)}function Rm(e){return e.split(",").map(t=>{const n=t.indexOf("=");if(n===-1)return[];const r=t.slice(0,n),s=t.slice(n+1);return[r,s].map(i=>{try{return decodeURIComponent(i.trim())}catch{return}})}).reduce((t,[n,r])=>(n&&r&&(t[n]=r),t),{})}function s1(e){if(Object.keys(e).length!==0)return Object.entries(e).reduce((t,[n,r],s)=>{const i=`${encodeURIComponent(n)}=${encodeURIComponent(r)}`,o=s===0?i:`${t},${i}`;return o.length>t1?(oe&&X.warn(`Not adding key: ${n} with val: ${r} to baggage header due to exceeding baggage size limits.`),t):o},"")}const i1=/^o(\d+)\./,o1=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function a1(e){return e==="http"||e==="https"}function Ri(e,t=!1){const{host:n,path:r,pass:s,port:i,projectId:o,protocol:a,publicKey:c}=e;return`${a}://${c}${t&&s?`:${s}`:""}@${n}${i?`:${i}`:""}/${r&&`${r}/`}${o}`}function c1(e){const t=o1.exec(e);if(!t){lr(()=>{console.error(`Invalid Sentry Dsn: ${e}`)});return}const[n,r,s="",i="",o="",a=""]=t.slice(1);let c="",l=a;const u=l.split("/");if(u.length>1&&(c=u.slice(0,-1).join("/"),l=u.pop()),l){const f=l.match(/^\d+/);f&&(l=f[0])}return Db({host:i,pass:s,path:c,projectId:l,port:o,protocol:n,publicKey:r})}function Db(e){return{protocol:e.protocol,publicKey:e.publicKey||"",pass:e.pass||"",host:e.host,port:e.port||"",path:e.path||"",projectId:e.projectId}}function l1(e){if(!oe)return!0;const{port:t,projectId:n,protocol:r}=e;return["protocol","publicKey","host","projectId"].find(o=>e[o]?!1:(X.error(`Invalid Sentry Dsn: ${o} missing`),!0))?!1:n.match(/^\d+$/)?a1(r)?t&&isNaN(parseInt(t,10))?(X.error(`Invalid Sentry Dsn: Invalid port ${t}`),!1):!0:(X.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(X.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function u1(e){const t=e.match(i1);return t==null?void 0:t[1]}function f1(e){const t=e.getOptions(),{host:n}=e.getDsn()||{};let r;return t.orgId?r=String(t.orgId):n&&(r=u1(n)),r}function d1(e){const t=typeof e=="string"?c1(e):Db(e);if(!(!t||!l1(t)))return t}function ps(e){if(typeof e=="boolean")return Number(e);const t=typeof e=="string"?parseFloat(e):e;if(!(typeof t!="number"||isNaN(t)||t<0||t>1))return t}const Fb=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function h1(e){if(!e)return;const t=e.match(Fb);if(!t)return;let n;return t[3]==="1"?n=!0:t[3]==="0"&&(n=!1),{traceId:t[1],parentSampled:n,parentSpanId:t[2]}}function p1(e,t){const n=h1(e),r=Lb(t);if(!(n!=null&&n.traceId))return{traceId:nr(),sampleRand:wr()};const s=m1(n,r);r&&(r.sample_rand=s.toString());const{traceId:i,parentSpanId:o,parentSampled:a}=n;return{traceId:i,parentSpanId:o,sampled:a,dsc:r||{},sampleRand:s}}function $b(e=nr(),t=Kn(),n){let r="";return n!==void 0&&(r=n?"-1":"-0"),`${e}-${t}${r}`}function Bb(e=nr(),t=Kn(),n){return`00-${e}-${t}-${n?"01":"00"}`}function m1(e,t){const n=ps(t==null?void 0:t.sample_rand);if(n!==void 0)return n;const r=ps(t==null?void 0:t.sample_rate);return r&&(e==null?void 0:e.parentSampled)!==void 0?e.parentSampled?wr()*r:r+wr()*(1-r):wr()}const Hb=0,Id=1;let Am=!1;function g1(e){const{spanId:t,traceId:n}=e.spanContext(),{data:r,op:s,parent_span_id:i,status:o,origin:a,links:c}=ke(e);return{parent_span_id:i,span_id:t,trace_id:n,data:r,op:s,status:o,origin:a,links:c}}function y1(e){const{spanId:t,traceId:n,isRemote:r}=e.spanContext(),s=r?t:ke(e).parent_span_id,i=uc(e).scope,o=r?(i==null?void 0:i.getPropagationContext().propagationSpanId)||Kn():t;return{parent_span_id:s,span_id:o,trace_id:n}}function v1(e){const{traceId:t,spanId:n}=e.spanContext(),r=Hr(e);return $b(t,n,r)}function _1(e){const{traceId:t,spanId:n}=e.spanContext(),r=Hr(e);return Bb(t,n,r)}function Vb(e){if(e&&e.length>0)return e.map(({context:{spanId:t,traceId:n,traceFlags:r,...s},attributes:i})=>({span_id:t,trace_id:n,sampled:r===Id,attributes:i,...s}))}function os(e){return typeof e=="number"?Om(e):Array.isArray(e)?e[0]+e[1]/1e9:e instanceof Date?Om(e.getTime()):st()}function Om(e){return e>9999999999?e/1e3:e}function ke(e){var r;if(S1(e))return e.getSpanJSON();const{spanId:t,traceId:n}=e.spanContext();if(b1(e)){const{attributes:s,startTime:i,name:o,endTime:a,status:c,links:l}=e,u="parentSpanId"in e?e.parentSpanId:"parentSpanContext"in e?(r=e.parentSpanContext)==null?void 0:r.spanId:void 0;return{span_id:t,trace_id:n,data:s,description:o,parent_span_id:u,start_timestamp:os(i),timestamp:os(a)||void 0,status:Ub(c),op:s[rr],origin:s[Qe],links:Vb(l)}}return{span_id:t,trace_id:n,start_timestamp:0,data:{}}}function b1(e){const t=e;return!!t.attributes&&!!t.startTime&&!!t.name&&!!t.endTime&&!!t.status}function S1(e){return typeof e.getSpanJSON=="function"}function Hr(e){const{traceFlags:t}=e.spanContext();return t===Id}function Ub(e){if(!(!e||e.code===YA))return e.code===Td?"ok":e.message||"internal_error"}const as="_sentryChildSpans",zu="_sentryRootSpan";function Wb(e,t){const n=e[zu]||e;Vt(t,zu,n),e[as]?e[as].add(t):Vt(e,as,new Set([t]))}function E1(e,t){e[as]&&e[as].delete(t)}function Ma(e){const t=new Set;function n(r){if(!t.has(r)&&Hr(r)){t.add(r);const s=r[as]?Array.from(r[as]):[];for(const i of s)n(i)}}return n(e),Array.from(t)}function vt(e){return e[zu]||e}function bt(){const e=bs(),t=ki(e);return t.getActiveSpan?t.getActiveSpan():lc(De())}function qu(){Am||(lr(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),Am=!0)}let Mm=!1;function w1(){if(Mm)return;function e(){const t=bt(),n=t&&vt(t);if(n){const r="internal_error";oe&&X.log(`[Tracing] Root span: ${r} -> Global error occurred`),n.setStatus({code:ct,message:r})}}e.tag="sentry_tracingErrorCallback",Mm=!0,Sb(e),Eb(e)}function sn(e){var n;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const t=e||((n=Ie())==null?void 0:n.getOptions());return!!t&&(t.tracesSampleRate!=null||!!t.tracesSampler)}function Pm(e){X.log(`Ignoring span ${e.op} - ${e.description} because it matches \`ignoreSpans\`.`)}function fc(e,t){if(!(t!=null&&t.length)||!e.description)return!1;for(const n of t){if(C1(n)){if(Oa(e.description,n))return oe&&Pm(e),!0;continue}if(!n.name&&!n.op)continue;const r=n.name?Oa(e.description,n.name):!0,s=n.op?e.op&&Oa(e.op,n.op):!0;if(r&&s)return oe&&Pm(e),!0}return!1}function T1(e,t){const n=t.parent_span_id,r=t.span_id;if(n)for(const s of e)s.parent_span_id===r&&(s.parent_span_id=n)}function C1(e){return typeof e=="string"||e instanceof RegExp}const kd="production",jb="_frozenDsc";function Pa(e,t){Vt(e,jb,t)}function zb(e,t){const n=t.getOptions(),{publicKey:r}=t.getDsn()||{},s={environment:n.environment||kd,release:n.release,public_key:r,trace_id:e,org_id:f1(t)};return t.emit("createDsc",s),s}function qb(e,t){const n=t.getPropagationContext();return n.dsc||zb(n.traceId,e)}function sr(e){var p;const t=Ie();if(!t)return{};const n=vt(e),r=ke(n),s=r.data,i=n.spanContext().traceState,o=(i==null?void 0:i.get("sentry.sample_rate"))??s[Ed]??s[Ob];function a(m){return(typeof o=="number"||typeof o=="string")&&(m.sample_rate=`${o}`),m}const c=n[jb];if(c)return a(c);const l=i==null?void 0:i.get("sentry.dsc"),u=l&&Lb(l);if(u)return a(u);const f=zb(e.spanContext().traceId,t),d=s[Bt],h=r.description;return d!=="url"&&h&&(f.transaction=h),sn()&&(f.sampled=String(Hr(n)),f.sample_rand=(i==null?void 0:i.get("sentry.sample_rand"))??((p=uc(n).scope)==null?void 0:p.getPropagationContext().sampleRand.toString())),a(f),t.emit("createDsc",f,n),f}class Rr{constructor(t={}){this._traceId=t.traceId||nr(),this._spanId=t.spanId||Kn()}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:Hb}}end(t){}setAttribute(t,n){return this}setAttributes(t){return this}setStatus(t){return this}updateName(t){return this}isRecording(){return!1}addEvent(t,n,r){return this}addLink(t){return this}addLinks(t){return this}recordException(t,n){}}function un(e,t=100,n=1/0){try{return Gu("",e,t,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function Gb(e,t=3,n=100*1024){const r=un(e,t);return R1(r)>n?Gb(e,t-1,n):r}function Gu(e,t,n=1/0,r=1/0,s=A1()){const[i,o]=s;if(t==null||["boolean","string"].includes(typeof t)||typeof t=="number"&&Number.isFinite(t))return t;const a=I1(e,t);if(!a.startsWith("[object "))return a;if(t.__sentry_skip_normalization__)return t;const c=typeof t.__sentry_override_normalization_depth__=="number"?t.__sentry_override_normalization_depth__:n;if(c===0)return a.replace("object ","");if(i(t))return"[Circular ~]";const l=t;if(l&&typeof l.toJSON=="function")try{const h=l.toJSON();return Gu("",h,c-1,r,s)}catch{}const u=Array.isArray(t)?[]:{};let f=0;const d=xb(t);for(const h in d){if(!Object.prototype.hasOwnProperty.call(d,h))continue;if(f>=r){u[h]="[MaxProperties ~]";break}const p=d[h];u[h]=Gu(h,p,c-1,r,s),f++}return o(t),u}function I1(e,t){try{if(e==="domain"&&t&&typeof t=="object"&&t._events)return"[Domain]";if(e==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&t===global)return"[Global]";if(typeof window<"u"&&t===window)return"[Window]";if(typeof document<"u"&&t===document)return"[Document]";if(Cb(t))return bb(t);if(kA(t))return"[SyntheticEvent]";if(typeof t=="number"&&!Number.isFinite(t))return`[${t}]`;if(typeof t=="function")return`[Function: ${er(t)}]`;if(typeof t=="symbol")return`[${String(t)}]`;if(typeof t=="bigint")return`[BigInt: ${String(t)}]`;const n=k1(t);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(n){return`**non-serializable** (${n})`}}function k1(e){const t=Object.getPrototypeOf(e);return t!=null&&t.constructor?t.constructor.name:"null prototype"}function x1(e){return~-encodeURI(e).split(/%..|./).length}function R1(e){return x1(JSON.stringify(e))}function A1(){const e=new WeakSet;function t(r){return e.has(r)?!0:(e.add(r),!1)}function n(r){e.delete(r)}return[t,n]}function Vr(e,t=[]){return[e,t]}function O1(e,t){const[n,r]=e;return[n,[...r,t]]}function Ku(e,t){const n=e[1];for(const r of n){const s=r[0].type;if(t(r,s))return!0}return!1}function M1(e,t){return Ku(e,(n,r)=>t.includes(r))}function Yu(e){const t=Kc(Ce);return t.encodePolyfill?t.encodePolyfill(e):new TextEncoder().encode(e)}function P1(e){const[t,n]=e;let r=JSON.stringify(t);function s(i){typeof r=="string"?r=typeof i=="string"?r+i:[Yu(r),i]:r.push(typeof i=="string"?Yu(i):i)}for(const i of n){const[o,a]=i;if(s(` +${JSON.stringify(o)} +`),typeof a=="string"||a instanceof Uint8Array)s(a);else{let c;try{c=JSON.stringify(a)}catch{c=JSON.stringify(un(a))}s(c)}}return typeof r=="string"?r:N1(r)}function N1(e){const t=e.reduce((s,i)=>s+i.length,0),n=new Uint8Array(t);let r=0;for(const s of e)n.set(s,r),r+=s.length;return n}function L1(e){return[{type:"span"},e]}function D1(e){const t=typeof e.data=="string"?Yu(e.data):e.data;return[{type:"attachment",length:t.length,filename:e.filename,content_type:e.contentType,attachment_type:e.attachmentType},t]}const F1={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",feedback:"feedback",span:"span",raw_security:"security",log:"log_item",metric:"metric",trace_metric:"metric"};function Nm(e){return F1[e]}function xd(e){if(!(e!=null&&e.sdk))return;const{name:t,version:n}=e.sdk;return{name:t,version:n}}function Kb(e,t,n,r){var i;const s=(i=e.sdkProcessingMetadata)==null?void 0:i.dynamicSamplingContext;return{event_id:e.event_id,sent_at:new Date().toISOString(),...t&&{sdk:t},...!!n&&r&&{dsn:Ri(r)},...s&&{trace:s}}}function $1(e,t){var r,s,i,o;if(!t)return e;const n=e.sdk||{};return e.sdk={...n,name:n.name||t.name,version:n.version||t.version,integrations:[...((r=e.sdk)==null?void 0:r.integrations)||[],...t.integrations||[]],packages:[...((s=e.sdk)==null?void 0:s.packages)||[],...t.packages||[]],settings:(i=e.sdk)!=null&&i.settings||t.settings?{...(o=e.sdk)==null?void 0:o.settings,...t.settings}:void 0},e}function B1(e,t,n,r){const s=xd(n),i={sent_at:new Date().toISOString(),...s&&{sdk:s},...!!r&&t&&{dsn:Ri(t)}},o="aggregates"in e?[{type:"sessions"},e]:[{type:"session"},e.toJSON()];return Vr(i,[o])}function H1(e,t,n,r){const s=xd(n),i=e.type&&e.type!=="replay_event"?e.type:"event";$1(e,n==null?void 0:n.sdk);const o=Kb(e,s,r,t);return delete e.sdkProcessingMetadata,Vr(o,[[{type:i},e]])}function V1(e,t){function n(h){return!!h.trace_id&&!!h.public_key}const r=sr(e[0]),s=t==null?void 0:t.getDsn(),i=t==null?void 0:t.getOptions().tunnel,o={sent_at:new Date().toISOString(),...n(r)&&{trace:r},...!!i&&s&&{dsn:Ri(s)}},{beforeSendSpan:a,ignoreSpans:c}=(t==null?void 0:t.getOptions())||{},l=c!=null&&c.length?e.filter(h=>!fc(ke(h),c)):e,u=e.length-l.length;u&&(t==null||t.recordDroppedEvent("before_send","span",u));const f=a?h=>{const p=ke(h),m=a(p);return m||(qu(),p)}:ke,d=[];for(const h of l){const p=f(h);p&&d.push(L1(p))}return Vr(o,d)}function U1(e){if(!oe)return;const{description:t="< unknown name >",op:n="< unknown op >",parent_span_id:r}=ke(e),{spanId:s}=e.spanContext(),i=Hr(e),o=vt(e),a=o===e,c=`[Tracing] Starting ${i?"sampled":"unsampled"} ${a?"root ":""}span`,l=[`op: ${n}`,`name: ${t}`,`ID: ${s}`];if(r&&l.push(`parent ID: ${r}`),!a){const{op:u,description:f}=ke(o);l.push(`root ID: ${o.spanContext().spanId}`),u&&l.push(`root op: ${u}`),f&&l.push(`root description: ${f}`)}X.log(`${c} + ${l.join(` + `)}`)}function W1(e){if(!oe)return;const{description:t="< unknown name >",op:n="< unknown op >"}=ke(e),{spanId:r}=e.spanContext(),i=vt(e)===e,o=`[Tracing] Finishing "${n}" ${i?"root ":""}span "${t}" with ID ${r}`;X.log(o)}function j1(e,t,n,r=bt()){const s=r&&vt(r);s&&(oe&&X.log(`[Measurement] Setting measurement on root span: ${e} = ${t} ${n}`),s.addEvent(e,{[qo]:t,[zo]:n}))}function Lm(e){if(!e||e.length===0)return;const t={};return e.forEach(n=>{const r=n.attributes||{},s=r[zo],i=r[qo];typeof s=="string"&&typeof i=="number"&&(t[n.name]={value:i,unit:s})}),t}const Dm=1e3;class Zc{constructor(t={}){this._traceId=t.traceId||nr(),this._spanId=t.spanId||Kn(),this._startTime=t.startTimestamp||st(),this._links=t.links,this._attributes={},this.setAttributes({[Qe]:"manual",[rr]:t.op,...t.attributes}),this._name=t.name,t.parentSpanId&&(this._parentSpanId=t.parentSpanId),"sampled"in t&&(this._sampled=t.sampled),t.endTimestamp&&(this._endTime=t.endTimestamp),this._events=[],this._isStandaloneSpan=t.isStandalone,this._endTime&&this._onSpanEnded()}addLink(t){return this._links?this._links.push(t):this._links=[t],this}addLinks(t){return this._links?this._links.push(...t):this._links=t,this}recordException(t,n){}spanContext(){const{_spanId:t,_traceId:n,_sampled:r}=this;return{spanId:t,traceId:n,traceFlags:r?Id:Hb}}setAttribute(t,n){return n===void 0?delete this._attributes[t]:this._attributes[t]=n,this}setAttributes(t){return Object.keys(t).forEach(n=>this.setAttribute(n,t[n])),this}updateStartTime(t){this._startTime=os(t)}setStatus(t){return this._status=t,this}updateName(t){return this._name=t,this.setAttribute(Bt,"custom"),this}end(t){this._endTime||(this._endTime=os(t),W1(this),this._onSpanEnded())}getSpanJSON(){return{data:this._attributes,description:this._name,op:this._attributes[rr],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:Ub(this._status),timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[Qe],profile_id:this._attributes[wd],exclusive_time:this._attributes[xi],measurements:Lm(this._events),is_segment:this._isStandaloneSpan&&vt(this)===this||void 0,segment_id:this._isStandaloneSpan?vt(this).spanContext().spanId:void 0,links:Vb(this._links)}}isRecording(){return!this._endTime&&!!this._sampled}addEvent(t,n,r){oe&&X.log("[Tracing] Adding an event to span:",t);const s=Fm(n)?n:r||st(),i=Fm(n)?{}:n||{},o={name:t,time:os(s),attributes:i};return this._events.push(o),this}isStandaloneSpan(){return!!this._isStandaloneSpan}_onSpanEnded(){const t=Ie();if(t&&t.emit("spanEnd",this),!(this._isStandaloneSpan||this===vt(this)))return;if(this._isStandaloneSpan){this._sampled?q1(V1([this],t)):(oe&&X.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."),t&&t.recordDroppedEvent("sample_rate","span"));return}const r=this._convertSpanToTransaction();r&&(uc(this).scope||De()).captureEvent(r)}_convertSpanToTransaction(){var u;if(!$m(ke(this)))return;this._name||(oe&&X.warn("Transaction has no name, falling back to ``."),this._name="");const{scope:t,isolationScope:n}=uc(this),r=(u=t==null?void 0:t.getScopeData().sdkProcessingMetadata)==null?void 0:u.normalizedRequest;if(this._sampled!==!0)return;const i=Ma(this).filter(f=>f!==this&&!z1(f)).map(f=>ke(f)).filter($m),o=this._attributes[Bt];delete this._attributes[xm],i.forEach(f=>{delete f.data[xm]});const a={contexts:{trace:g1(this)},spans:i.length>Dm?i.sort((f,d)=>f.start_timestamp-d.start_timestamp).slice(0,Dm):i,start_timestamp:this._startTime,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{capturedSpanScope:t,capturedSpanIsolationScope:n,dynamicSamplingContext:sr(this)},request:r,...o&&{transaction_info:{source:o}}},c=Lm(this._events);return c&&Object.keys(c).length&&(oe&&X.log("[Measurements] Adding measurements to transaction event",JSON.stringify(c,void 0,2)),a.measurements=c),a}}function Fm(e){return e&&typeof e=="number"||e instanceof Date||Array.isArray(e)}function $m(e){return!!e.start_timestamp&&!!e.timestamp&&!!e.span_id&&!!e.trace_id}function z1(e){return e instanceof Zc&&e.isStandaloneSpan()}function q1(e){const t=Ie();if(!t)return;const n=e[1];if(!n||n.length===0){t.recordDroppedEvent("before_send","span");return}t.sendEnvelope(e)}function G1(e,t,n=()=>{},r=()=>{}){let s;try{s=e()}catch(i){throw t(i),n(),i}return K1(s,t,n,r)}function K1(e,t,n,r){return Ci(e)?e.then(s=>(n(),r(s),s),s=>{throw t(s),n(),s}):(n(),r(e),e)}function Y1(e,t,n){if(!sn(e))return[!1];let r,s;typeof e.tracesSampler=="function"?(s=e.tracesSampler({...t,inheritOrSampleWith:a=>typeof t.parentSampleRate=="number"?t.parentSampleRate:typeof t.parentSampled=="boolean"?Number(t.parentSampled):a}),r=!0):t.parentSampled!==void 0?s=t.parentSampled:typeof e.tracesSampleRate<"u"&&(s=e.tracesSampleRate,r=!0);const i=ps(s);if(i===void 0)return oe&&X.warn(`[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(s)} of type ${JSON.stringify(typeof s)}.`),[!1];if(!i)return oe&&X.log(`[Tracing] Discarding transaction because ${typeof e.tracesSampler=="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),[!1,i,r];const o=nZ1(i)(()=>{const l=De(),u=Zb(l,i),d=e.onlyIfParent&&!u?new Rr:Xb({parentSpan:u,spanArguments:r,forceTransaction:s,scope:l});return ci(l,d),G1(()=>t(d),()=>{const{status:h}=ke(d);d.isRecording()&&(!h||h==="ok")&&d.setStatus({code:ct,message:"internal_error"})},()=>{d.end()})}))}function Ar(e){const t=Ad();if(t.startInactiveSpan)return t.startInactiveSpan(e);const n=Jb(e),{forceTransaction:r,parentSpan:s}=e;return(e.scope?o=>Jc(e.scope,o):s!==void 0?o=>Rd(s,o):o=>o())(()=>{const o=De(),a=Zb(o,s);return e.onlyIfParent&&!a?new Rr:Xb({parentSpan:a,spanArguments:n,forceTransaction:r,scope:o})})}function Rd(e,t){const n=Ad();return n.withActiveSpan?n.withActiveSpan(e,t):Jc(r=>(ci(r,e||void 0),t(r)))}function Xb({parentSpan:e,spanArguments:t,forceTransaction:n,scope:r}){if(!sn()){const o=new Rr;if(n||!e){const a={sampled:"false",sample_rate:"0",transaction:t.name,...sr(o)};Pa(o,a)}return o}const s=Nn();let i;if(e&&!n)i=J1(e,r,t),Wb(e,i);else if(e){const o=sr(e),{traceId:a,spanId:c}=e.spanContext(),l=Hr(e);i=Bm({traceId:a,parentSpanId:c,...t},r,l),Pa(i,o)}else{const{traceId:o,dsc:a,parentSpanId:c,sampled:l}={...s.getPropagationContext(),...r.getPropagationContext()};i=Bm({traceId:o,parentSpanId:c,...t},r,l),a&&Pa(i,a)}return U1(i),QA(i,r,s),i}function Jb(e){const n={isStandalone:(e.experimental||{}).standalone,...e};if(e.startTime){const r={...n};return r.startTimestamp=os(e.startTime),delete r.startTime,r}return n}function Ad(){const e=bs();return ki(e)}function Bm(e,t,n){var p;const r=Ie(),s=(r==null?void 0:r.getOptions())||{},{name:i=""}=e,o={spanAttributes:{...e.attributes},spanName:i,parentSampled:n};r==null||r.emit("beforeSampling",o,{decision:!1});const a=o.parentSampled??n,c=o.spanAttributes,l=t.getPropagationContext(),[u,f,d]=t.getScopeData().sdkProcessingMetadata[Yb]?[!1]:Y1(s,{name:i,parentSampled:a,attributes:c,parentSampleRate:ps((p=l.dsc)==null?void 0:p.sample_rate)},l.sampleRand),h=new Zc({...e,attributes:{[Bt]:"custom",[Ed]:f!==void 0&&d?f:void 0,...c},sampled:u});return!u&&r&&(oe&&X.log("[Tracing] Discarding root span because its trace was not chosen to be sampled."),r.recordDroppedEvent("sample_rate","transaction")),r&&r.emit("spanStart",h),h}function J1(e,t,n){const{spanId:r,traceId:s}=e.spanContext(),i=t.getScopeData().sdkProcessingMetadata[Yb]?!1:Hr(e),o=i?new Zc({...n,parentSpanId:r,traceId:s,sampled:i}):new Rr({traceId:s});Wb(e,o);const a=Ie();return a&&(a.emit("spanStart",o),n.endTimestamp&&a.emit("spanEnd",o)),o}function Zb(e,t){if(t)return t;if(t===null)return;const n=lc(e);if(!n)return;const r=Ie();return(r?r.getOptions():{}).parentSpanIsAlwaysRootSpan?vt(n):n}function Z1(e){return e!==void 0?t=>Rd(e,t):t=>t()}const Na={idleTimeout:1e3,finalTimeout:3e4,childSpanTimeout:15e3},Q1="heartbeatFailed",eO="idleTimeout",tO="finalTimeout",nO="externalFinish";function Qb(e,t={}){const n=new Map;let r=!1,s,i=nO,o=!t.disableAutoFinish;const a=[],{idleTimeout:c=Na.idleTimeout,finalTimeout:l=Na.finalTimeout,childSpanTimeout:u=Na.childSpanTimeout,beforeSpanEnd:f,trimIdleSpanEndTimestamp:d=!0}=t,h=Ie();if(!h||!sn()){const E=new Rr,w={sample_rate:"0",sampled:"false",...sr(E)};return Pa(E,w),E}const p=De(),m=bt(),y=rO(e);y.end=new Proxy(y.end,{apply(E,w,I){if(f&&f(y),w instanceof Rr)return;const[A,...M]=I,x=A||st(),N=os(x),L=Ma(y).filter(q=>q!==y),G=ke(y);if(!L.length||!d)return R(N),Reflect.apply(E,w,[N,...M]);const J=h.getOptions().ignoreSpans,j=L==null?void 0:L.reduce((q,ce)=>{const le=ke(ce);return!le.timestamp||J&&fc(le,J)?q:q?Math.max(q,le.timestamp):le.timestamp},void 0),D=G.start_timestamp,ae=Math.min(D?D+l/1e3:1/0,Math.max(D||-1/0,Math.min(N,j||1/0)));return R(ae),Reflect.apply(E,w,[ae,...M])}});function g(){s&&(clearTimeout(s),s=void 0)}function v(E){g(),s=setTimeout(()=>{!r&&n.size===0&&o&&(i=eO,y.end(E))},c)}function _(E){s=setTimeout(()=>{!r&&o&&(i=Q1,y.end(E))},u)}function T(E){g(),n.set(E,!0);const w=st();_(w+u/1e3)}function O(E){if(n.has(E)&&n.delete(E),n.size===0){const w=st();v(w+c/1e3)}}function R(E){r=!0,n.clear(),a.forEach(L=>L()),ci(p,m);const w=ke(y),{start_timestamp:I}=w;if(!I)return;w.data[Co]||y.setAttribute(Co,i);const M=w.status;(!M||M==="unknown")&&y.setStatus({code:Td}),X.log(`[Tracing] Idle span "${w.op}" finished`);const x=Ma(y).filter(L=>L!==y);let N=0;x.forEach(L=>{L.isRecording()&&(L.setStatus({code:ct,message:"cancelled"}),L.end(E),oe&&X.log("[Tracing] Cancelling span since span ended early",JSON.stringify(L,void 0,2)));const G=ke(L),{timestamp:J=0,start_timestamp:j=0}=G,D=j<=E,ae=(l+c)/1e3,q=J-j<=ae;if(oe){const ce=JSON.stringify(L,void 0,2);D?q||X.log("[Tracing] Discarding span since it finished after idle span final timeout",ce):X.log("[Tracing] Discarding span since it happened after idle span was finished",ce)}(!q||!D)&&(E1(y,L),N++)}),N>0&&y.setAttribute("sentry.idle_span_discarded_spans",N)}return a.push(h.on("spanStart",E=>{if(r||E===y||ke(E).timestamp||E instanceof Zc&&E.isStandaloneSpan())return;Ma(y).includes(E)&&T(E.spanContext().spanId)})),a.push(h.on("spanEnd",E=>{r||O(E.spanContext().spanId)})),a.push(h.on("idleSpanEnableAutoFinish",E=>{E===y&&(o=!0,v(),n.size&&_())})),t.disableAutoFinish||v(),setTimeout(()=>{r||(y.setStatus({code:ct,message:"deadline_exceeded"}),i=tO,y.end())},l),y}function rO(e){const t=Ar(e);return ci(De(),t),oe&&X.log("[Tracing] Started span is an idle span"),t}const ql=0,Hm=1,Vm=2;function Qc(e){return new Io(t=>{t(e)})}function Od(e){return new Io((t,n)=>{n(e)})}class Io{constructor(t){this._state=ql,this._handlers=[],this._runExecutor(t)}then(t,n){return new Io((r,s)=>{this._handlers.push([!1,i=>{if(!t)r(i);else try{r(t(i))}catch(o){s(o)}},i=>{if(!n)s(i);else try{r(n(i))}catch(o){s(o)}}]),this._executeHandlers()})}catch(t){return this.then(n=>n,t)}finally(t){return new Io((n,r)=>{let s,i;return this.then(o=>{i=!1,s=o,t&&t()},o=>{i=!0,s=o,t&&t()}).then(()=>{if(i){r(s);return}n(s)})})}_executeHandlers(){if(this._state===ql)return;const t=this._handlers.slice();this._handlers=[],t.forEach(n=>{n[0]||(this._state===Hm&&n[1](this._value),this._state===Vm&&n[2](this._value),n[0]=!0)})}_runExecutor(t){const n=(i,o)=>{if(this._state===ql){if(Ci(o)){o.then(r,s);return}this._state=i,this._value=o,this._executeHandlers()}},r=i=>{n(Hm,i)},s=i=>{n(Vm,i)};try{t(r,s)}catch(i){s(i)}}}function sO(e,t,n,r=0){try{const s=Xu(t,n,e,r);return Ci(s)?s:Qc(s)}catch(s){return Od(s)}}function Xu(e,t,n,r){const s=n[r];if(!e||!s)return e;const i=s({...e},t);return oe&&i===null&&X.log(`Event processor "${s.id||"?"}" dropped event`),Ci(i)?i.then(o=>Xu(o,t,n,r+1)):Xu(i,t,n,r+1)}let $n,Um,Wm,dr;function iO(e){const t=Ce._sentryDebugIds,n=Ce._debugIds;if(!t&&!n)return{};const r=t?Object.keys(t):[],s=n?Object.keys(n):[];if(dr&&r.length===Um&&s.length===Wm)return dr;Um=r.length,Wm=s.length,dr={},$n||($n={});const i=(o,a)=>{for(const c of o){const l=a[c],u=$n==null?void 0:$n[c];if(u&&dr&&l)dr[u[0]]=l,$n&&($n[c]=[u[0],l]);else if(l){const f=e(c);for(let d=f.length-1;d>=0;d--){const h=f[d],p=h==null?void 0:h.filename;if(p&&dr&&$n){dr[p]=l,$n[c]=[p,l];break}}}}};return t&&i(r,t),n&&i(s,n),dr}function oO(e,t){const{fingerprint:n,span:r,breadcrumbs:s,sdkProcessingMetadata:i}=t;cO(e,t),r&&fO(e,r),dO(e,n),lO(e,s),uO(e,i)}function jm(e,t){const{extra:n,tags:r,attributes:s,user:i,contexts:o,level:a,sdkProcessingMetadata:c,breadcrumbs:l,fingerprint:u,eventProcessors:f,attachments:d,propagationContext:h,transactionName:p,span:m}=t;Hi(e,"extra",n),Hi(e,"tags",r),Hi(e,"attributes",s),Hi(e,"user",i),Hi(e,"contexts",o),e.sdkProcessingMetadata=jo(e.sdkProcessingMetadata,c,2),a&&(e.level=a),p&&(e.transactionName=p),m&&(e.span=m),l.length&&(e.breadcrumbs=[...e.breadcrumbs,...l]),u.length&&(e.fingerprint=[...e.fingerprint,...u]),f.length&&(e.eventProcessors=[...e.eventProcessors,...f]),d.length&&(e.attachments=[...e.attachments,...d]),e.propagationContext={...e.propagationContext,...h}}function Hi(e,t,n){e[t]=jo(e[t],n,1)}function aO(e,t){const n=qA().getScopeData();return e&&jm(n,e.getScopeData()),t&&jm(n,t.getScopeData()),n}function cO(e,t){const{extra:n,tags:r,user:s,contexts:i,level:o,transactionName:a}=t;Object.keys(n).length&&(e.extra={...n,...e.extra}),Object.keys(r).length&&(e.tags={...r,...e.tags}),Object.keys(s).length&&(e.user={...s,...e.user}),Object.keys(i).length&&(e.contexts={...i,...e.contexts}),o&&(e.level=o),a&&e.type!=="transaction"&&(e.transaction=a)}function lO(e,t){const n=[...e.breadcrumbs||[],...t];e.breadcrumbs=n.length?n:void 0}function uO(e,t){e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...t}}function fO(e,t){e.contexts={trace:y1(t),...e.contexts},e.sdkProcessingMetadata={dynamicSamplingContext:sr(t),...e.sdkProcessingMetadata};const n=vt(t),r=ke(n).description;r&&!e.transaction&&e.type==="transaction"&&(e.transaction=r)}function dO(e,t){e.fingerprint=e.fingerprint?Array.isArray(e.fingerprint)?e.fingerprint:[e.fingerprint]:[],t&&(e.fingerprint=e.fingerprint.concat(t)),e.fingerprint.length||delete e.fingerprint}function eS(e,t,n,r,s,i){const{normalizeDepth:o=3,normalizeMaxBreadth:a=1e3}=e,c={...t,event_id:t.event_id||n.event_id||Kt(),timestamp:t.timestamp||Ss()},l=n.integrations||e.integrations.map(y=>y.name);hO(c,e),gO(c,l),s&&s.emit("applyFrameMetadata",t),t.type===void 0&&pO(c,e.stackParser);const u=vO(r,n.captureContext);n.mechanism&&oi(c,n.mechanism);const f=s?s.getEventProcessors():[],d=aO(i,u),h=[...n.attachments||[],...d.attachments];h.length&&(n.attachments=h),oO(c,d);const p=[...f,...d.eventProcessors];return sO(p,c,n).then(y=>(y&&mO(y),typeof o=="number"&&o>0?yO(y,o,a):y))}function hO(e,t){var a,c;const{environment:n,release:r,dist:s,maxValueLength:i}=t;e.environment=e.environment||n||kd,!e.release&&r&&(e.release=r),!e.dist&&s&&(e.dist=s);const o=e.request;o!=null&&o.url&&i&&(o.url=Uu(o.url,i)),i&&((c=(a=e.exception)==null?void 0:a.values)==null||c.forEach(l=>{l.value&&(l.value=Uu(l.value,i))}))}function pO(e,t){var r,s;const n=iO(t);(s=(r=e.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,a;(a=(o=i.stacktrace)==null?void 0:o.frames)==null||a.forEach(c=>{c.filename&&(c.debug_id=n[c.filename])})})}function mO(e){var r,s;const t={};if((s=(r=e.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,a;(a=(o=i.stacktrace)==null?void 0:o.frames)==null||a.forEach(c=>{c.debug_id&&(c.abs_path?t[c.abs_path]=c.debug_id:c.filename&&(t[c.filename]=c.debug_id),delete c.debug_id)})}),Object.keys(t).length===0)return;e.debug_meta=e.debug_meta||{},e.debug_meta.images=e.debug_meta.images||[];const n=e.debug_meta.images;Object.entries(t).forEach(([i,o])=>{n.push({type:"sourcemap",code_file:i,debug_id:o})})}function gO(e,t){t.length>0&&(e.sdk=e.sdk||{},e.sdk.integrations=[...e.sdk.integrations||[],...t])}function yO(e,t,n){var s,i;if(!e)return null;const r={...e,...e.breadcrumbs&&{breadcrumbs:e.breadcrumbs.map(o=>({...o,...o.data&&{data:un(o.data,t,n)}}))},...e.user&&{user:un(e.user,t,n)},...e.contexts&&{contexts:un(e.contexts,t,n)},...e.extra&&{extra:un(e.extra,t,n)}};return(s=e.contexts)!=null&&s.trace&&r.contexts&&(r.contexts.trace=e.contexts.trace,e.contexts.trace.data&&(r.contexts.trace.data=un(e.contexts.trace.data,t,n))),e.spans&&(r.spans=e.spans.map(o=>({...o,...o.data&&{data:un(o.data,t,n)}}))),(i=e.contexts)!=null&&i.flags&&r.contexts&&(r.contexts.flags=un(e.contexts.flags,3,n)),r}function vO(e,t){if(!t)return e;const n=e?e.clone():new Pn;return n.update(t),n}function _O(e){if(e)return bO(e)?{captureContext:e}:EO(e)?{captureContext:e}:e}function bO(e){return e instanceof Pn||typeof e=="function"}const SO=["user","level","extra","contexts","tags","fingerprint","propagationContext"];function EO(e){return Object.keys(e).some(t=>SO.includes(t))}function el(e,t){return De().captureException(e,_O(t))}function tS(e,t){return De().captureEvent(e,t)}function wO(e,t){Nn().setContext(e,t)}function TO(){const e=Ie();return(e==null?void 0:e.getOptions().enabled)!==!1&&!!(e!=null&&e.getTransport())}function CO(e){Nn().addEventProcessor(e)}function zm(e){const t=Nn(),n=De(),{userAgent:r}=Ce.navigator||{},s=DA({user:n.getUser()||t.getUser(),...r&&{userAgent:r},...e}),i=t.getSession();return(i==null?void 0:i.status)==="ok"&&ai(i,{status:"exited"}),nS(),t.setSession(s),s}function nS(){const e=Nn(),n=De().getSession()||e.getSession();n&&FA(n),rS(),e.setSession()}function rS(){const e=Nn(),t=Ie(),n=e.getSession();n&&t&&t.captureSession(n)}function qm(e=!1){if(e){nS();return}rS()}const IO="7";function kO(e){const t=e.protocol?`${e.protocol}:`:"",n=e.port?`:${e.port}`:"";return`${t}//${e.host}${n}${e.path?`/${e.path}`:""}/api/`}function xO(e){return`${kO(e)}${e.projectId}/envelope/`}function RO(e,t){const n={sentry_version:IO};return e.publicKey&&(n.sentry_key=e.publicKey),t&&(n.sentry_client=`${t.name}/${t.version}`),new URLSearchParams(n).toString()}function AO(e,t,n){return t||`${xO(e)}?${RO(e,n)}`}const Gm=[];function OO(e){const t={};return e.forEach(n=>{const{name:r}=n,s=t[r];s&&!s.isDefaultInstance&&n.isDefaultInstance||(t[r]=n)}),Object.values(t)}function MO(e){const t=e.defaultIntegrations||[],n=e.integrations;t.forEach(s=>{s.isDefaultInstance=!0});let r;if(Array.isArray(n))r=[...t,...n];else if(typeof n=="function"){const s=n(t);r=Array.isArray(s)?s:[s]}else r=t;return OO(r)}function PO(e,t){const n={};return t.forEach(r=>{r&&sS(e,r,n)}),n}function Km(e,t){for(const n of t)n!=null&&n.afterAllSetup&&n.afterAllSetup(e)}function sS(e,t,n){if(n[t.name]){oe&&X.log(`Integration skipped because it was already installed: ${t.name}`);return}if(n[t.name]=t,!Gm.includes(t.name)&&typeof t.setupOnce=="function"&&(t.setupOnce(),Gm.push(t.name)),t.setup&&typeof t.setup=="function"&&t.setup(e),typeof t.preprocessEvent=="function"){const r=t.preprocessEvent.bind(t);e.on("preprocessEvent",(s,i)=>r(s,i,e))}if(typeof t.processEvent=="function"){const r=t.processEvent.bind(t),s=Object.assign((i,o)=>r(i,o,e),{id:t.name});e.addEventProcessor(s)}oe&&X.log(`Integration installed: ${t.name}`)}function NO(e){return[{type:"log",item_count:e.length,content_type:"application/vnd.sentry.items.log+json"},{items:e}]}function LO(e,t,n,r){const s={};return t!=null&&t.sdk&&(s.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(s.dsn=Ri(r)),Vr(s,[NO(e)])}function iS(e,t){const n=t??DO(e)??[];if(n.length===0)return;const r=e.getOptions(),s=LO(n,r._metadata,r.tunnel,e.getDsn());oS().set(e,[]),e.emit("flushLogs"),e.sendEnvelope(s)}function DO(e){return oS().get(e)}function oS(){return wi("clientToLogBufferMap",()=>new WeakMap)}function FO(e){return[{type:"trace_metric",item_count:e.length,content_type:"application/vnd.sentry.items.trace-metric+json"},{items:e}]}function $O(e,t,n,r){const s={};return t!=null&&t.sdk&&(s.sdk={name:t.sdk.name,version:t.sdk.version}),n&&r&&(s.dsn=Ri(r)),Vr(s,[FO(e)])}function aS(e,t){const n=t??BO(e)??[];if(n.length===0)return;const r=e.getOptions(),s=$O(n,r._metadata,r.tunnel,e.getDsn());cS().set(e,[]),e.emit("flushMetrics"),e.sendEnvelope(s)}function BO(e){return cS().get(e)}function cS(){return wi("clientToMetricBufferMap",()=>new WeakMap)}const Md=Symbol.for("SentryBufferFullError");function Pd(e=100){const t=new Set;function n(){return t.sizer(a),()=>r(a)),a}function i(o){if(!t.size)return Qc(!0);const a=Promise.allSettled(Array.from(t)).then(()=>!0);if(!o)return a;const c=[a,new Promise(l=>setTimeout(()=>l(!1),o))];return Promise.race(c)}return{get $(){return Array.from(t)},add:s,drain:i}}const HO=60*1e3;function VO(e,t=Wo()){const n=parseInt(`${e}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${e}`);return isNaN(r)?HO:r-t}function UO(e,t){return e[t]||e.all||0}function lS(e,t,n=Wo()){return UO(e,t)>n}function uS(e,{statusCode:t,headers:n},r=Wo()){const s={...e},i=n==null?void 0:n["x-sentry-rate-limits"],o=n==null?void 0:n["retry-after"];if(i)for(const a of i.trim().split(",")){const[c,l,,,u]=a.split(":",5),f=parseInt(c,10),d=(isNaN(f)?60:f)*1e3;if(!l)s.all=r+d;else for(const h of l.split(";"))h==="metric_bucket"?(!u||u.split(";").includes("custom"))&&(s[h]=r+d):s[h]=r+d}else o?s.all=r+VO(o,r):t===429&&(s.all=r+60*1e3);return s}const fS=64;function WO(e,t,n=Pd(e.bufferSize||fS)){let r={};const s=o=>n.drain(o);function i(o){const a=[];if(Ku(o,(f,d)=>{const h=Nm(d);lS(r,h)?e.recordDroppedEvent("ratelimit_backoff",h):a.push(f)}),a.length===0)return Promise.resolve({});const c=Vr(o[0],a),l=f=>{if(M1(c,["client_report"])){oe&&X.warn(`Dropping client report. Will not send outcomes (reason: ${f}).`);return}Ku(c,(d,h)=>{e.recordDroppedEvent(f,Nm(h))})},u=()=>t({body:P1(c)}).then(f=>(f.statusCode!==void 0&&(f.statusCode<200||f.statusCode>=300)&&oe&&X.warn(`Sentry responded with status code ${f.statusCode} to sent event.`),r=uS(r,f),f),f=>{throw l("network_error"),oe&&X.error("Encountered error running transport request:",f),f});return n.add(u).then(f=>f,f=>{if(f===Md)return oe&&X.error("Skipped sending event because buffer is full."),l("queue_overflow"),Promise.resolve({});throw f})}return{send:i,flush:s}}function jO(e,t,n){const r=[{type:"client_report"},{timestamp:Ss(),discarded_events:e}];return Vr(t?{dsn:t}:{},[r])}function dS(e){const t=[];e.message&&t.push(e.message);try{const n=e.exception.values[e.exception.values.length-1];n!=null&&n.value&&(t.push(n.value),n.type&&t.push(`${n.type}: ${n.value}`))}catch{}return t}function zO(e){var c;const{trace_id:t,parent_span_id:n,span_id:r,status:s,origin:i,data:o,op:a}=((c=e.contexts)==null?void 0:c.trace)??{};return{data:o??{},description:e.transaction,op:a,parent_span_id:n,span_id:r??"",start_timestamp:e.start_timestamp??0,status:s,timestamp:e.timestamp,trace_id:t??"",origin:i,profile_id:o==null?void 0:o[wd],exclusive_time:o==null?void 0:o[xi],measurements:e.measurements,is_segment:!0}}function qO(e){return{type:"transaction",timestamp:e.timestamp,start_timestamp:e.start_timestamp,transaction:e.description,contexts:{trace:{trace_id:e.trace_id,span_id:e.span_id,parent_span_id:e.parent_span_id,op:e.op,status:e.status,origin:e.origin,data:{...e.data,...e.profile_id&&{[wd]:e.profile_id},...e.exclusive_time&&{[xi]:e.exclusive_time}}}},measurements:e.measurements}}const Ym="Not capturing exception because it's already been captured.",Xm="Discarded session because of missing or non-string release",hS=Symbol.for("SentryInternalError"),pS=Symbol.for("SentryDoNotSendEventError"),GO=5e3;function La(e){return{message:e,[hS]:!0}}function Gl(e){return{message:e,[pS]:!0}}function Jm(e){return!!e&&typeof e=="object"&&hS in e}function Zm(e){return!!e&&typeof e=="object"&&pS in e}function Qm(e,t,n,r,s){let i=0,o,a=!1;e.on(n,()=>{i=0,clearTimeout(o),a=!1}),e.on(t,c=>{i+=r(c),i>=8e5?s(e):a||(a=!0,o=setTimeout(()=>{s(e)},GO))}),e.on("flush",()=>{s(e)})}class KO{constructor(t){var r,s,i;if(this._options=t,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=Pd(((r=t.transportOptions)==null?void 0:r.bufferSize)??fS),t.dsn?this._dsn=d1(t.dsn):oe&&X.warn("No DSN provided, client will not send events."),this._dsn){const o=AO(this._dsn,t.tunnel,t._metadata?t._metadata.sdk:void 0);this._transport=t.transport({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this),...t.transportOptions,url:o})}this._options.enableLogs=this._options.enableLogs??((s=this._options._experiments)==null?void 0:s.enableLogs),this._options.enableLogs&&Qm(this,"afterCaptureLog","flushLogs",ZO,iS),(this._options.enableMetrics??((i=this._options._experiments)==null?void 0:i.enableMetrics)??!0)&&Qm(this,"afterCaptureMetric","flushMetrics",JO,aS)}captureException(t,n,r){const s=Kt();if(Cm(t))return oe&&X.log(Ym),s;const i={event_id:s,...n};return this._process(()=>this.eventFromException(t,i).then(o=>this._captureEvent(o,i,r)).then(o=>o),"error"),i.event_id}captureMessage(t,n,r,s){const i={event_id:Kt(),...r},o=vd(t)?t:String(t),a=ii(t),c=a?this.eventFromMessage(o,n,i):this.eventFromException(t,i);return this._process(()=>c.then(l=>this._captureEvent(l,i,s)),a?"unknown":"error"),i.event_id}captureEvent(t,n,r){const s=Kt();if(n!=null&&n.originalException&&Cm(n.originalException))return oe&&X.log(Ym),s;const i={event_id:s,...n},o=t.sdkProcessingMetadata||{},a=o.capturedSpanScope,c=o.capturedSpanIsolationScope,l=eg(t.type);return this._process(()=>this._captureEvent(t,i,a||r,c),l),i.event_id}captureSession(t){this.sendSession(t),ai(t,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}async flush(t){const n=this._transport;if(!n)return!0;this.emit("flush");const r=await this._isClientDoneProcessing(t),s=await n.flush(t);return r&&s}async close(t){const n=await this.flush(t);return this.getOptions().enabled=!1,this.emit("close"),n}getEventProcessors(){return this._eventProcessors}addEventProcessor(t){this._eventProcessors.push(t)}init(){(this._isEnabled()||this._options.integrations.some(({name:t})=>t.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(t){return this._integrations[t]}addIntegration(t){const n=this._integrations[t.name];sS(this,t,this._integrations),n||Km(this,[t])}sendEvent(t,n={}){this.emit("beforeSendEvent",t,n);let r=H1(t,this._dsn,this._options._metadata,this._options.tunnel);for(const s of n.attachments||[])r=O1(r,D1(s));this.sendEnvelope(r).then(s=>this.emit("afterSendEvent",t,s))}sendSession(t){const{release:n,environment:r=kd}=this._options;if("aggregates"in t){const i=t.attrs||{};if(!i.release&&!n){oe&&X.warn(Xm);return}i.release=i.release||n,i.environment=i.environment||r,t.attrs=i}else{if(!t.release&&!n){oe&&X.warn(Xm);return}t.release=t.release||n,t.environment=t.environment||r}this.emit("beforeSendSession",t);const s=B1(t,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(s)}recordDroppedEvent(t,n,r=1){if(this._options.sendClientReports){const s=`${t}:${n}`;oe&&X.log(`Recording outcome: "${s}"${r>1?` (${r} times)`:""}`),this._outcomes[s]=(this._outcomes[s]||0)+r}}on(t,n){const r=this._hooks[t]=this._hooks[t]||new Set,s=(...i)=>n(...i);return r.add(s),()=>{r.delete(s)}}emit(t,...n){const r=this._hooks[t];r&&r.forEach(s=>s(...n))}async sendEnvelope(t){if(this.emit("beforeEnvelope",t),this._isEnabled()&&this._transport)try{return await this._transport.send(t)}catch(n){return oe&&X.error("Error while sending envelope:",n),{}}return oe&&X.error("Transport disabled"),{}}_setupIntegrations(){const{integrations:t}=this._options;this._integrations=PO(this,t),Km(this,t)}_updateSessionFromEvent(t,n){var c,l;let r=n.level==="fatal",s=!1;const i=(c=n.exception)==null?void 0:c.values;if(i){s=!0,r=!1;for(const u of i)if(((l=u.mechanism)==null?void 0:l.handled)===!1){r=!0;break}}const o=t.status==="ok";(o&&t.errors===0||o&&r)&&(ai(t,{...r&&{status:"crashed"},errors:t.errors||Number(s||r)}),this.captureSession(t))}async _isClientDoneProcessing(t){let n=0;for(;!t||nsetTimeout(r,1)),!this._numProcessing)return!0;n++}return!1}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(t,n,r,s){const i=this.getOptions(),o=Object.keys(this._integrations);return!n.integrations&&(o!=null&&o.length)&&(n.integrations=o),this.emit("preprocessEvent",t,n),t.type||s.setLastEventId(t.event_id||n.event_id),eS(i,t,n,r,this,s).then(a=>{if(a===null)return a;this.emit("postprocessEvent",a,n),a.contexts={trace:GA(r),...a.contexts};const c=qb(this,r);return a.sdkProcessingMetadata={dynamicSamplingContext:c,...a.sdkProcessingMetadata},a})}_captureEvent(t,n={},r=De(),s=Nn()){return oe&&Ju(t)&&X.log(`Captured error event \`${dS(t)[0]||""}\``),this._processEvent(t,n,r,s).then(i=>i.event_id,i=>{oe&&(Zm(i)?X.log(i.message):Jm(i)?X.warn(i.message):X.warn(i))})}_processEvent(t,n,r,s){const i=this.getOptions(),{sampleRate:o}=i,a=mS(t),c=Ju(t),u=`before send for type \`${t.type||"error"}\``,f=typeof o>"u"?void 0:ps(o);if(c&&typeof f=="number"&&wr()>f)return this.recordDroppedEvent("sample_rate","error"),Od(Gl(`Discarding event because it's not included in the random sample (sampling rate = ${o})`));const d=eg(t.type);return this._prepareEvent(t,n,r,s).then(h=>{if(h===null)throw this.recordDroppedEvent("event_processor",d),Gl("An event processor returned `null`, will not send event.");if(n.data&&n.data.__sentry__===!0)return h;const m=XO(this,i,h,n);return YO(m,u)}).then(h=>{var y;if(h===null){if(this.recordDroppedEvent("before_send",d),a){const v=1+(t.spans||[]).length;this.recordDroppedEvent("before_send","span",v)}throw Gl(`${u} returned \`null\`, will not send event.`)}const p=r.getSession()||s.getSession();if(c&&p&&this._updateSessionFromEvent(p,h),a){const g=((y=h.sdkProcessingMetadata)==null?void 0:y.spanCountBeforeProcessing)||0,v=h.spans?h.spans.length:0,_=g-v;_>0&&this.recordDroppedEvent("before_send","span",_)}const m=h.transaction_info;if(a&&m&&h.transaction!==t.transaction){const g="custom";h.transaction_info={...m,source:g}}return this.sendEvent(h,n),h}).then(null,h=>{throw Zm(h)||Jm(h)?h:(this.captureException(h,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:h}),La(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. +Reason: ${h}`))})}_process(t,n){this._numProcessing++,this._promiseBuffer.add(t).then(r=>(this._numProcessing--,r),r=>(this._numProcessing--,r===Md&&this.recordDroppedEvent("queue_overflow",n),r))}_clearOutcomes(){const t=this._outcomes;return this._outcomes={},Object.entries(t).map(([n,r])=>{const[s,i]=n.split(":");return{reason:s,category:i,quantity:r}})}_flushOutcomes(){oe&&X.log("Flushing outcomes...");const t=this._clearOutcomes();if(t.length===0){oe&&X.log("No outcomes to send");return}if(!this._dsn){oe&&X.log("No dsn provided, will not send outcomes");return}oe&&X.log("Sending outcomes:",t);const n=jO(t,this._options.tunnel&&Ri(this._dsn));this.sendEnvelope(n)}}function eg(e){return e==="replay_event"?"replay":e||"error"}function YO(e,t){const n=`${t} must return \`null\` or a valid event.`;if(Ci(e))return e.then(r=>{if(!To(r)&&r!==null)throw La(n);return r},r=>{throw La(`${t} rejected with ${r}`)});if(!To(e)&&e!==null)throw La(n);return e}function XO(e,t,n,r){const{beforeSend:s,beforeSendTransaction:i,beforeSendSpan:o,ignoreSpans:a}=t;let c=n;if(Ju(c)&&s)return s(c,r);if(mS(c)){if(o||a){const l=zO(c);if(a!=null&&a.length&&fc(l,a))return null;if(o){const u=o(l);u?c=jo(n,qO(u)):qu()}if(c.spans){const u=[],f=c.spans;for(const h of f){if(a!=null&&a.length&&fc(h,a)){T1(f,h);continue}if(o){const p=o(h);p?u.push(p):(qu(),u.push(h))}else u.push(h)}const d=c.spans.length-u.length;d&&e.recordDroppedEvent("before_send","span",d),c.spans=u}}if(i){if(c.spans){const l=c.spans.length;c.sdkProcessingMetadata={...n.sdkProcessingMetadata,spanCountBeforeProcessing:l}}return i(c,r)}}return c}function Ju(e){return e.type===void 0}function mS(e){return e.type==="transaction"}function JO(e){let t=0;return e.name&&(t+=e.name.length*2),t+=8,t+gS(e.attributes)}function ZO(e){let t=0;return e.message&&(t+=e.message.length*2),t+gS(e.attributes)}function gS(e){if(!e)return 0;let t=0;return Object.values(e).forEach(n=>{Array.isArray(n)?t+=n.length*tg(n[0]):ii(n)?t+=tg(n):t+=100}),t}function tg(e){return typeof e=="string"?e.length*2:typeof e=="number"?8:typeof e=="boolean"?4:0}function QO(e){return Yc(e)&&"__sentry_fetch_url_host__"in e&&typeof e.__sentry_fetch_url_host__=="string"}function ng(e){return QO(e)?`${e.message} (${e.__sentry_fetch_url_host__})`:e.message}function eM(e,t){t.debug===!0&&(oe?X.enable():lr(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),De().update(t.initialScope);const r=new e(t);return tM(r),r.init(),r}function tM(e){De().setClient(e)}const nM="thismessage:/";function Nd(e){return"isRelative"in e}function Ld(e,t){const n=e.indexOf("://")<=0&&e.indexOf("//")!==0,r=n?nM:void 0;try{if("canParse"in URL&&!URL.canParse(e,r))return;const s=new URL(e,r);return n?{isRelative:n,pathname:s.pathname,search:s.search,hash:s.hash}:s}catch{}}function rM(e){if(Nd(e))return e.pathname;const t=new URL(e);return t.search="",t.hash="",["80","443"].includes(t.port)&&(t.port=""),t.password&&(t.password="%filtered%"),t.username&&(t.username="%filtered%"),t.toString()}function cs(e){if(!e)return{};const t=e.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};const n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],search:n,hash:r,relative:t[5]+n+r}}function sM(e){return e.split(/[?#]/,1)[0]}function Tr(e,t=!0){if(e.startsWith("data:")){const n=e.match(/^data:([^;,]+)/),r=n?n[1]:"text/plain",s=e.includes(";base64,"),i=e.indexOf(",");let o="";if(t&&i!==-1){const a=e.slice(i+1);o=a.length>10?`${a.slice(0,10)}... [truncated]`:a}return`data:${r}${s?",base64":""}${o?`,${o}`:""}`}return e}function iM(e,t){const n=t==null?void 0:t.getDsn(),r=t==null?void 0:t.getOptions().tunnel;return aM(e,n)||oM(e,r)}function oM(e,t){return t?rg(e)===rg(t):!1}function aM(e,t){const n=Ld(e);return!n||Nd(n)?!1:t?n.host.includes(t.host)&&/(^|&|\?)sentry_key=/.test(n.search):!1}function rg(e){return e[e.length-1]==="/"?e.slice(0,-1):e}function cM(e){var t;"aggregates"in e?((t=e.attrs)==null?void 0:t.ip_address)===void 0&&(e.attrs={...e.attrs,ip_address:"{{auto}}"}):e.ipAddress===void 0&&(e.ipAddress="{{auto}}")}function yS(e,t,n=[t],r="npm"){const s=e._metadata||{};s.sdk||(s.sdk={name:`sentry.javascript.${t}`,packages:n.map(i=>({name:`${r}:@sentry/${i}`,version:is})),version:is}),e._metadata=s}function vS(e={}){const t=e.client||Ie();if(!TO()||!t)return{};const n=bs(),r=ki(n);if(r.getTraceData)return r.getTraceData(e);const s=e.scope||De(),i=e.span||bt(),o=i?v1(i):lM(s),a=i?sr(i):qb(t,s),c=n1(a);if(!Fb.test(o))return X.warn("Invalid sentry-trace data. Cannot generate trace data"),{};const u={"sentry-trace":o,baggage:c};return e.propagateTraceparent&&(u.traceparent=i?_1(i):uM(s)),u}function lM(e){const{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return $b(t,r,n)}function uM(e){const{traceId:t,sampled:n,propagationSpanId:r}=e.getPropagationContext();return Bb(t,r,n)}function fM(e,t,n){let r,s,i;const o=n!=null&&n.maxWait?Math.max(n.maxWait,t):0,a=(n==null?void 0:n.setTimeoutImpl)||setTimeout;function c(){return l(),r=e(),r}function l(){s!==void 0&&clearTimeout(s),i!==void 0&&clearTimeout(i),s=i=void 0}function u(){return s!==void 0||i!==void 0?c():r}function f(){return s&&clearTimeout(s),s=a(c,t),o&&i===void 0&&(i=a(c,o)),r}return f.cancel=l,f.flush=u,f}const dM=100;function Or(e,t){const n=Ie(),r=Nn();if(!n)return;const{beforeBreadcrumb:s=null,maxBreadcrumbs:i=dM}=n.getOptions();if(i<=0)return;const a={timestamp:Ss(),...e},c=s?lr(()=>s(a,t)):a;c!==null&&(n.emit&&n.emit("beforeAddBreadcrumb",c,t),r.addBreadcrumb(c,i))}let sg;const hM="FunctionToString",ig=new WeakMap,pM=()=>({name:hM,setupOnce(){sg=Function.prototype.toString;try{Function.prototype.toString=function(...e){const t=Sd(this),n=ig.has(Ie())&&t!==void 0?t:this;return sg.apply(n,e)}}catch{}},setup(e){ig.set(e,!0)}}),mM=pM,gM=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/,/^ResizeObserver loop completed with undelivered notifications.$/,/^Cannot redefine property: googletag$/,/^Can't find variable: gmo$/,/^undefined is not an object \(evaluating 'a\.[A-Z]'\)$/,`can't redefine non-configurable property "solana"`,"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)","Can't find variable: _AutofillCallbackHandler",/^Non-Error promise rejection captured with value: Object Not Found Matching Id:\d+, MethodName:simulateEvent, ParamCount:\d+$/,/^Java exception was raised during method invocation$/],yM="EventFilters",vM=(e={})=>{let t;return{name:yM,setup(n){const r=n.getOptions();t=og(e,r)},processEvent(n,r,s){if(!t){const i=s.getOptions();t=og(e,i)}return bM(n,t)?null:n}}},_M=(e={})=>({...vM(e),name:"InboundFilters"});function og(e={},t={}){return{allowUrls:[...e.allowUrls||[],...t.allowUrls||[]],denyUrls:[...e.denyUrls||[],...t.denyUrls||[]],ignoreErrors:[...e.ignoreErrors||[],...t.ignoreErrors||[],...e.disableErrorDefaults?[]:gM],ignoreTransactions:[...e.ignoreTransactions||[],...t.ignoreTransactions||[]]}}function bM(e,t){if(e.type){if(e.type==="transaction"&&EM(e,t.ignoreTransactions))return oe&&X.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. +Event: ${Xr(e)}`),!0}else{if(SM(e,t.ignoreErrors))return oe&&X.warn(`Event dropped due to being matched by \`ignoreErrors\` option. +Event: ${Xr(e)}`),!0;if(IM(e))return oe&&X.warn(`Event dropped due to not having an error message, error type or stacktrace. +Event: ${Xr(e)}`),!0;if(wM(e,t.denyUrls))return oe&&X.warn(`Event dropped due to being matched by \`denyUrls\` option. +Event: ${Xr(e)}. +Url: ${dc(e)}`),!0;if(!TM(e,t.allowUrls))return oe&&X.warn(`Event dropped due to not being matched by \`allowUrls\` option. +Event: ${Xr(e)}. +Url: ${dc(e)}`),!0}return!1}function SM(e,t){return t!=null&&t.length?dS(e).some(n=>Gn(n,t)):!1}function EM(e,t){if(!(t!=null&&t.length))return!1;const n=e.transaction;return n?Gn(n,t):!1}function wM(e,t){if(!(t!=null&&t.length))return!1;const n=dc(e);return n?Gn(n,t):!1}function TM(e,t){if(!(t!=null&&t.length))return!0;const n=dc(e);return n?Gn(n,t):!0}function CM(e=[]){for(let t=e.length-1;t>=0;t--){const n=e[t];if(n&&n.filename!==""&&n.filename!=="[native code]")return n.filename||null}return null}function dc(e){var t,n;try{const r=[...((t=e.exception)==null?void 0:t.values)??[]].reverse().find(i=>{var o,a,c;return((o=i.mechanism)==null?void 0:o.parent_id)===void 0&&((c=(a=i.stacktrace)==null?void 0:a.frames)==null?void 0:c.length)}),s=(n=r==null?void 0:r.stacktrace)==null?void 0:n.frames;return s?CM(s):null}catch{return oe&&X.error(`Cannot extract url for event ${Xr(e)}`),null}}function IM(e){var t,n;return(n=(t=e.exception)==null?void 0:t.values)!=null&&n.length?!e.message&&!e.exception.values.some(r=>r.stacktrace||r.type&&r.type!=="Error"||r.value):!1}function kM(e,t,n,r,s,i){var a;if(!((a=s.exception)!=null&&a.values)||!i||!tr(i.originalException,Error))return;const o=s.exception.values.length>0?s.exception.values[s.exception.values.length-1]:void 0;o&&(s.exception.values=Zu(e,t,r,i.originalException,n,s.exception.values,o,0))}function Zu(e,t,n,r,s,i,o,a){if(i.length>=n+1)return i;let c=[...i];if(tr(r[s],Error)){ag(o,a);const l=e(t,r[s]),u=c.length;cg(l,s,u,a),c=Zu(e,t,n,r[s],s,[l,...c],l,u)}return Array.isArray(r.errors)&&r.errors.forEach((l,u)=>{if(tr(l,Error)){ag(o,a);const f=e(t,l),d=c.length;cg(f,`errors[${u}]`,d,a),c=Zu(e,t,n,l,s,[f,...c],f,d)}}),c}function ag(e,t){e.mechanism={handled:!0,type:"auto.core.linked_errors",...e.mechanism,...e.type==="AggregateError"&&{is_exception_group:!0},exception_id:t}}function cg(e,t,n,r){e.mechanism={handled:!0,...e.mechanism,type:"chained",source:t,exception_id:n,parent_id:r}}function xM(e){const t="console";$r(t,e),Br(t,RM)}function RM(){"console"in Ce&&hA.forEach(function(e){e in Ce.console&&$t(Ce.console,e,function(t){return cc[e]=t,function(...n){rn("console",{args:n,level:e});const s=cc[e];s==null||s.apply(Ce.console,n)}})})}function _S(e){return e==="warn"?"warning":["fatal","error","warning","log","info","debug"].includes(e)?e:"log"}const AM="Dedupe",OM=()=>{let e;return{name:AM,processEvent(t){if(t.type)return t;try{if(PM(t,e))return oe&&X.warn("Event dropped due to being a duplicate of previously captured event."),null}catch{}return e=t}}},MM=OM;function PM(e,t){return t?!!(NM(e,t)||LM(e,t)):!1}function NM(e,t){const n=e.message,r=t.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!SS(e,t)||!bS(e,t))}function LM(e,t){const n=lg(t),r=lg(e);return!(!n||!r||n.type!==r.type||n.value!==r.value||!SS(e,t)||!bS(e,t))}function bS(e,t){let n=_m(e),r=_m(t);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let s=0;sf[0]==="sentry-trace")||l.push(["sentry-trace",i]),r&&a&&!c.find(f=>f[0]==="traceparent")&&l.push(["traceparent",a]);const u=c.find(f=>f[0]==="baggage"&&da(f[1]));return o&&!u&&l.push(["baggage",o]),l}else{const l="sentry-trace"in c?c["sentry-trace"]:void 0,u="traceparent"in c?c.traceparent:void 0,f="baggage"in c?c.baggage:void 0,d=f?Array.isArray(f)?[...f]:[f]:[],h=f&&(Array.isArray(f)?f.find(m=>da(m)):da(f));o&&!h&&d.push(o);const p={...c,"sentry-trace":l??i,baggage:d.length>0?d.join(","):void 0};return r&&a&&!u&&(p.traceparent=a),p}else return{...s}}function BM(e,t){var n,r;if(t.response){Mb(e,t.response.status);const s=(r=(n=t.response)==null?void 0:n.headers)==null?void 0:r.get("content-length");if(s){const i=parseInt(s);i>0&&e.setAttribute("http.response_content_length",i)}}else t.error&&e.setStatus({code:ct,message:"internal_error"});e.end()}function da(e){return e.split(",").some(t=>t.trim().startsWith(Cd))}function HM(e){return typeof Headers<"u"&&tr(e,Headers)}function VM(e,t,n){if(e.startsWith("data:")){const i=Tr(e);return{name:`${t} ${i}`,attributes:ug(e,void 0,t,n)}}const r=Ld(e),s=r?rM(r):e;return{name:`${t} ${s}`,attributes:ug(e,r,t,n)}}function ug(e,t,n,r){const s={url:Tr(e),type:"fetch","http.method":n,[Qe]:r,[rr]:"http.client"};return t&&(Nd(t)||(s["http.url"]=Tr(t.href),s["server.address"]=t.host),t.search&&(s["http.query"]=t.search),t.hash&&(s["http.fragment"]=t.hash)),s}function ES(e){if(e!==void 0)return e>=400&&e<500?"warning":e>=500?"error":void 0}const ko=Ce;function UM(){return"history"in ko&&!!ko.history}function WM(){if(!("fetch"in ko))return!1;try{return new Headers,new Request("data:,"),new Response,!0}catch{return!1}}function Qu(e){return e&&/^function\s+\w+\(\)\s+\{\s+\[native code\]\s+\}$/.test(e.toString())}function jM(){var n;if(typeof EdgeRuntime=="string")return!0;if(!WM())return!1;if(Qu(ko.fetch))return!0;let e=!1;const t=ko.document;if(t&&typeof t.createElement=="function")try{const r=t.createElement("iframe");r.hidden=!0,t.head.appendChild(r),(n=r.contentWindow)!=null&&n.fetch&&(e=Qu(r.contentWindow.fetch)),t.head.removeChild(r)}catch(r){oe&&X.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",r)}return e}function wS(e,t){const n="fetch";$r(n,e),Br(n,()=>TS(void 0,t))}function zM(e){const t="fetch-body-resolved";$r(t,e),Br(t,()=>TS(GM))}function TS(e,t=!1){t&&!jM()||$t(Ce,"fetch",function(n){return function(...r){const s=new Error,{method:i,url:o}=KM(r),a={args:r,fetchData:{method:i,url:o},startTimestamp:st()*1e3,virtualError:s,headers:YM(r)};return e||rn("fetch",{...a}),n.apply(Ce,r).then(async c=>(e?e(c):rn("fetch",{...a,endTimestamp:st()*1e3,response:c}),c),c=>{rn("fetch",{...a,endTimestamp:st()*1e3,error:c}),Yc(c)&&c.stack===void 0&&(c.stack=s.stack,Vt(c,"framesToPop",1));const l=Ie(),u=(l==null?void 0:l.getOptions().enhanceFetchErrorMessages)??"always";if(u!==!1&&c instanceof TypeError&&(c.message==="Failed to fetch"||c.message==="Load failed"||c.message==="NetworkError when attempting to fetch resource."))try{const h=new URL(a.fetchData.url).host;u==="always"?c.message=`${c.message} (${h})`:Vt(c,"__sentry_fetch_url_host__",h)}catch{}throw c})}})}async function qM(e,t){if(e!=null&&e.body){const n=e.body,r=n.getReader(),s=setTimeout(()=>{n.cancel().then(null,()=>{})},90*1e3);let i=!0;for(;i;){let o;try{o=setTimeout(()=>{n.cancel().then(null,()=>{})},5e3);const{done:a}=await r.read();clearTimeout(o),a&&(t(),i=!1)}catch{i=!1}finally{clearTimeout(o)}}clearTimeout(s),r.releaseLock(),n.cancel().then(null,()=>{})}}function GM(e){let t;try{t=e.clone()}catch{return}qM(t,()=>{rn("fetch-body-resolved",{endTimestamp:st()*1e3,response:e})})}function Da(e,t){return!!e&&typeof e=="object"&&!!e[t]}function fg(e){return typeof e=="string"?e:e?Da(e,"url")?e.url:e.toString?e.toString():"":""}function KM(e){if(e.length===0)return{method:"GET",url:""};if(e.length===2){const[n,r]=e;return{url:fg(n),method:Da(r,"method")?String(r.method).toUpperCase():_d(n)&&Da(n,"method")?String(n.method).toUpperCase():"GET"}}const t=e[0];return{url:fg(t),method:Da(t,"method")?String(t.method).toUpperCase():"GET"}}function YM(e){const[t,n]=e;try{if(typeof n=="object"&&n!==null&&"headers"in n&&n.headers)return new Headers(n.headers);if(_d(t))return new Headers(t.headers)}catch{}}function XM(){return typeof __SENTRY_BROWSER_BUNDLE__<"u"&&!!__SENTRY_BROWSER_BUNDLE__}function JM(){return"npm"}function ZM(){return!XM()&&Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]"}function ef(){return typeof window<"u"&&(!ZM()||QM())}function QM(){const e=Ce.process;return(e==null?void 0:e.type)==="renderer"}const Ae=Ce;let tf=0;function CS(){return tf>0}function eP(){tf++,setTimeout(()=>{tf--})}function ui(e,t={}){function n(s){return typeof s=="function"}if(!n(e))return e;try{const s=e.__sentry_wrapped__;if(s)return typeof s=="function"?s:e;if(Sd(e))return e}catch{return e}const r=function(...s){try{const i=s.map(o=>ui(o,t));return e.apply(this,i)}catch(i){throw eP(),Jc(o=>{o.addEventProcessor(a=>(t.mechanism&&(Wu(a,void 0),oi(a,t.mechanism)),a.extra={...a.extra,arguments:s},a)),el(i)}),i}};try{for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=e[s])}catch{}kb(r,e),Vt(e,"__sentry_wrapped__",r);try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get(){return e.name}})}catch{}return r}function Dd(){const e=Ii(),{referrer:t}=Ae.document||{},{userAgent:n}=Ae.navigator||{},r={...t&&{Referer:t},...n&&{"User-Agent":n}};return{url:e,headers:r}}function Fd(e,t){const n=$d(e,t),r={type:iP(t),value:oP(t)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===""&&(r.value="Unrecoverable error caught"),r}function tP(e,t,n,r){const s=Ie(),i=s==null?void 0:s.getOptions().normalizeDepth,o=fP(t),a={__serialized__:Gb(t,i)};if(o)return{exception:{values:[Fd(e,o)]},extra:a};const c={exception:{values:[{type:Xc(t)?t.constructor.name:r?"UnhandledRejection":"Error",value:lP(t,{isUnhandledRejection:r})}]},extra:a};if(n){const l=$d(e,n);l.length&&(c.exception.values[0].stacktrace={frames:l})}return c}function Kl(e,t){return{exception:{values:[Fd(e,t)]}}}function $d(e,t){const n=t.stacktrace||t.stack||"",r=rP(t),s=sP(t);try{return e(n,r,s)}catch{}return[]}const nP=/Minified React error #\d+;/i;function rP(e){return e&&nP.test(e.message)?1:0}function sP(e){return typeof e.framesToPop=="number"?e.framesToPop:0}function IS(e){return typeof WebAssembly<"u"&&typeof WebAssembly.Exception<"u"?e instanceof WebAssembly.Exception:!1}function iP(e){const t=e==null?void 0:e.name;return!t&&IS(e)?e.message&&Array.isArray(e.message)&&e.message.length==2?e.message[0]:"WebAssembly.Exception":t}function oP(e){const t=e==null?void 0:e.message;return IS(e)?Array.isArray(e.message)&&e.message.length==2?e.message[1]:"wasm exception":t?t.error&&typeof t.error.message=="string"?ng(t.error):ng(e):"No error message"}function aP(e,t,n,r){const s=(n==null?void 0:n.syntheticException)||void 0,i=Bd(e,t,s,r);return oi(i),i.level="error",n!=null&&n.event_id&&(i.event_id=n.event_id),Qc(i)}function cP(e,t,n="info",r,s){const i=(r==null?void 0:r.syntheticException)||void 0,o=nf(e,t,i,s);return o.level=n,r!=null&&r.event_id&&(o.event_id=r.event_id),Qc(o)}function Bd(e,t,n,r,s){let i;if(Tb(t)&&t.error)return Kl(e,t.error);if(Sm(t)||TA(t)){const o=t;if("stack"in t)i=Kl(e,t);else{const a=o.name||(Sm(o)?"DOMError":"DOMException"),c=o.message?`${a}: ${o.message}`:a;i=nf(e,c,n,r),Wu(i,c)}return"code"in o&&(i.tags={...i.tags,"DOMException.code":`${o.code}`}),i}return Yc(t)?Kl(e,t):To(t)||Xc(t)?(i=tP(e,t,n,s),oi(i,{synthetic:!0}),i):(i=nf(e,t,n,r),Wu(i,`${t}`),oi(i,{synthetic:!0}),i)}function nf(e,t,n,r){const s={};if(r&&n){const i=$d(e,n);i.length&&(s.exception={values:[{value:t,stacktrace:{frames:i}}]}),oi(s,{synthetic:!0})}if(vd(t)){const{__sentry_template_string__:i,__sentry_template_values__:o}=t;return s.logentry={message:i,params:o},s}return s.message=t,s}function lP(e,{isUnhandledRejection:t}){const n=AA(e),r=t?"promise rejection":"exception";return Tb(e)?`Event \`ErrorEvent\` captured as ${r} with message \`${e.message}\``:Xc(e)?`Event \`${uP(e)}\` (type=${e.type}) captured as ${r}`:`Object captured as ${r} with keys: ${n}`}function uP(e){try{const t=Object.getPrototypeOf(e);return t?t.constructor.name:void 0}catch{}}function fP(e){for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const n=e[t];if(n instanceof Error)return n}}class dP extends KO{constructor(t){var u;const n=hP(t),r=Ae.SENTRY_SDK_SOURCE||JM();yS(n,"browser",["browser"],r),(u=n._metadata)!=null&&u.sdk&&(n._metadata.sdk.settings={infer_ip:n.sendDefaultPii?"auto":"never",...n._metadata.sdk.settings}),super(n);const{sendDefaultPii:s,sendClientReports:i,enableLogs:o,_experiments:a,enableMetrics:c}=this._options,l=c??(a==null?void 0:a.enableMetrics)??!0;Ae.document&&(i||o||l)&&Ae.document.addEventListener("visibilitychange",()=>{Ae.document.visibilityState==="hidden"&&(i&&this._flushOutcomes(),o&&iS(this),l&&aS(this))}),s&&this.on("beforeSendSession",cM)}eventFromException(t,n){return aP(this._options.stackParser,t,n,this._options.attachStacktrace)}eventFromMessage(t,n="info",r){return cP(this._options.stackParser,t,n,r,this._options.attachStacktrace)}_prepareEvent(t,n,r,s){return t.platform=t.platform||"javascript",super._prepareEvent(t,n,r,s)}}function hP(e){var t;return{release:typeof __SENTRY_RELEASE__=="string"?__SENTRY_RELEASE__:(t=Ae.SENTRY_RELEASE)==null?void 0:t.id,sendClientReports:!0,parentSpanIsAlwaysRootSpan:!0,...e}}const ms=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,me=Ce,pP=(e,t)=>e>t[1]?"poor":e>t[0]?"needs-improvement":"good",Go=(e,t,n,r)=>{let s,i;return o=>{t.value>=0&&(o||r)&&(i=t.value-(s??0),(i||s===void 0)&&(s=t.value,t.delta=i,t.rating=pP(t.value,n),e(t)))}},Ko=(e=!0)=>{var n,r;const t=(r=(n=me.performance)==null?void 0:n.getEntriesByType)==null?void 0:r.call(n,"navigation")[0];if(!e||t&&t.responseStart>0&&t.responseStart{const e=Ko();return(e==null?void 0:e.activationStart)??0};function Cr(e,t,n){me.document&&me.addEventListener(e,t,n)}function hc(e,t,n){me.document&&me.removeEventListener(e,t,n)}let Ys=-1;const kS=new Set,mP=()=>{var e,t;return((e=me.document)==null?void 0:e.visibilityState)==="hidden"&&!((t=me.document)!=null&&t.prerendering)?0:1/0},Fa=e=>{if(gP(e)&&Ys>-1){if(e.type==="visibilitychange"||e.type==="pagehide")for(const t of kS)t();isFinite(Ys)||(Ys=e.type==="visibilitychange"?e.timeStamp:0,hc("prerenderingchange",Fa,!0))}},Yo=()=>{var e;if(me.document&&Ys<0){const t=Ai();Ys=(me.document.prerendering||(e=globalThis.performance.getEntriesByType("visibility-state").filter(r=>r.name==="hidden"&&r.startTime>t)[0])==null?void 0:e.startTime)??mP(),Cr("visibilitychange",Fa,!0),Cr("pagehide",Fa,!0),Cr("prerenderingchange",Fa,!0)}return{get firstHiddenTime(){return Ys},onHidden(t){kS.add(t)}}};function gP(e){var t;return e.type==="pagehide"||((t=me.document)==null?void 0:t.visibilityState)==="hidden"}const yP=()=>`v5-${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`,Xo=(e,t=-1)=>{var i,o;const n=Ko();let r="navigate";return n&&((i=me.document)!=null&&i.prerendering||Ai()>0?r="prerender":(o=me.document)!=null&&o.wasDiscarded?r="restore":n.type&&(r=n.type.replace(/_/g,"-"))),{name:e,value:t,rating:"good",delta:0,entries:[],id:yP(),navigationType:r}},Yl=new WeakMap;function Hd(e,t){try{return Yl.get(e)||Yl.set(e,new t),Yl.get(e)}catch{return new t}}class pc{constructor(){pc.prototype.__init.call(this),pc.prototype.__init2.call(this)}__init(){this._sessionValue=0}__init2(){this._sessionEntries=[]}_processEntry(t){var s;if(t.hadRecentInput)return;const n=this._sessionEntries[0],r=this._sessionEntries[this._sessionEntries.length-1];this._sessionValue&&n&&r&&t.startTime-r.startTime<1e3&&t.startTime-n.startTime<5e3?(this._sessionValue+=t.value,this._sessionEntries.push(t)):(this._sessionValue=t.value,this._sessionEntries=[t]),(s=this._onAfterProcessingUnexpectedShift)==null||s.call(this,t)}}const Oi=(e,t,n={})=>{try{if(PerformanceObserver.supportedEntryTypes.includes(e)){const r=new PerformanceObserver(s=>{Promise.resolve().then(()=>{t(s.getEntries())})});return r.observe({type:e,buffered:!0,...n}),r}}catch{}},Vd=e=>{let t=!1;return()=>{t||(e(),t=!0)}},tl=e=>{var t;(t=me.document)!=null&&t.prerendering?addEventListener("prerenderingchange",()=>e(),!0):e()},vP=[1800,3e3],_P=(e,t={})=>{tl(()=>{const n=Yo(),r=Xo("FCP");let s;const o=Oi("paint",a=>{for(const c of a)c.name==="first-contentful-paint"&&(o.disconnect(),c.startTime{_P(Vd(()=>{var c;const n=Xo("CLS",0);let r;const s=Yo(),i=Hd(t,pc),o=l=>{for(const u of l)i._processEntry(u);i._sessionValue>n.value&&(n.value=i._sessionValue,n.entries=i._sessionEntries,r())},a=Oi("layout-shift",o);a&&(r=Go(e,n,bP,t.reportAllChanges),s.onHidden(()=>{o(a.takeRecords()),r(!0)}),(c=me==null?void 0:me.setTimeout)==null||c.call(me,r))}))};let xS=0,Xl=1/0,ha=0;const EP=e=>{e.forEach(t=>{t.interactionId&&(Xl=Math.min(Xl,t.interactionId),ha=Math.max(ha,t.interactionId),xS=ha?(ha-Xl)/7+1:0)})};let rf;const RS=()=>rf?xS:performance.interactionCount||0,wP=()=>{"interactionCount"in performance||rf||(rf=Oi("event",EP,{type:"event",buffered:!0,durationThreshold:0}))},Jl=10;let AS=0;const TP=()=>RS()-AS;class mc{constructor(){mc.prototype.__init.call(this),mc.prototype.__init2.call(this)}__init(){this._longestInteractionList=[]}__init2(){this._longestInteractionMap=new Map}_resetInteractions(){AS=RS(),this._longestInteractionList.length=0,this._longestInteractionMap.clear()}_estimateP98LongestInteraction(){const t=Math.min(this._longestInteractionList.length-1,Math.floor(TP()/50));return this._longestInteractionList[t]}_processEntry(t){var s,i;if((s=this._onBeforeProcessingEntry)==null||s.call(this,t),!(t.interactionId||t.entryType==="first-input"))return;const n=this._longestInteractionList.at(-1);let r=this._longestInteractionMap.get(t.interactionId);if(r||this._longestInteractionList.lengthn._latency){if(r?t.duration>r._latency?(r.entries=[t],r._latency=t.duration):t.duration===r._latency&&t.startTime===r.entries[0].startTime&&r.entries.push(t):(r={id:t.interactionId,entries:[t],_latency:t.duration},this._longestInteractionMap.set(r.id,r),this._longestInteractionList.push(r)),this._longestInteractionList.sort((o,a)=>a._latency-o._latency),this._longestInteractionList.length>Jl){const o=this._longestInteractionList.splice(Jl);for(const a of o)this._longestInteractionMap.delete(a.id)}(i=this._onAfterProcessingINPCandidate)==null||i.call(this,r)}}}const OS=e=>{var n;const t=me.requestIdleCallback||me.setTimeout;((n=me.document)==null?void 0:n.visibilityState)==="hidden"?e():(e=Vd(e),Cr("visibilitychange",e,{once:!0,capture:!0}),Cr("pagehide",e,{once:!0,capture:!0}),t(()=>{e(),hc("visibilitychange",e,{capture:!0}),hc("pagehide",e,{capture:!0})}))},CP=[200,500],IP=40,kP=(e,t={})=>{if(!(globalThis.PerformanceEventTiming&&"interactionId"in PerformanceEventTiming.prototype))return;const n=Yo();tl(()=>{wP();const r=Xo("INP");let s;const i=Hd(t,mc),o=c=>{OS(()=>{for(const u of c)i._processEntry(u);const l=i._estimateP98LongestInteraction();l&&l._latency!==r.value&&(r.value=l._latency,r.entries=l.entries,s())})},a=Oi("event",o,{durationThreshold:t.durationThreshold??IP});s=Go(e,r,CP,t.reportAllChanges),a&&(a.observe({type:"first-input",buffered:!0}),n.onHidden(()=>{o(a.takeRecords()),s(!0)}))})};class xP{_processEntry(t){var n;(n=this._onBeforeProcessingEntry)==null||n.call(this,t)}}const RP=[2500,4e3],AP=(e,t={})=>{tl(()=>{const n=Yo(),r=Xo("LCP");let s;const i=Hd(t,xP),o=c=>{t.reportAllChanges||(c=c.slice(-1));for(const l of c)i._processEntry(l),l.startTime{o(a.takeRecords()),a.disconnect(),s(!0)}),l=u=>{u.isTrusted&&(OS(c),hc(u.type,l,{capture:!0}))};for(const u of["keydown","click","visibilitychange"])Cr(u,l,{capture:!0})}})},OP=[800,1800],sf=e=>{var t,n;(t=me.document)!=null&&t.prerendering?tl(()=>sf(e)):((n=me.document)==null?void 0:n.readyState)!=="complete"?addEventListener("load",()=>sf(e),!0):setTimeout(e)},MP=(e,t={})=>{const n=Xo("TTFB"),r=Go(e,n,OP,t.reportAllChanges);sf(()=>{const s=Ko();s&&(n.value=Math.max(s.responseStart-Ai(),0),n.entries=[s],r(!0))})},no={},gc={};let MS,PS,NS,LS;function Ud(e,t=!1){return nl("cls",e,NP,MS,t)}function Wd(e,t=!1){return nl("lcp",e,LP,PS,t)}function PP(e){return nl("ttfb",e,DP,NS)}function DS(e){return nl("inp",e,FP,LS)}function gs(e,t){return FS(e,t),gc[e]||($P(e),gc[e]=!0),$S(e,t)}function Jo(e,t){const n=no[e];if(n!=null&&n.length)for(const r of n)try{r(t)}catch(s){ms&&X.error(`Error while triggering instrumentation handler. +Type: ${e} +Name: ${er(r)} +Error:`,s)}}function NP(){return SP(e=>{Jo("cls",{metric:e}),MS=e},{reportAllChanges:!0})}function LP(){return AP(e=>{Jo("lcp",{metric:e}),PS=e},{reportAllChanges:!0})}function DP(){return MP(e=>{Jo("ttfb",{metric:e}),NS=e})}function FP(){return kP(e=>{Jo("inp",{metric:e}),LS=e})}function nl(e,t,n,r,s=!1){FS(e,t);let i;return gc[e]||(i=n(),gc[e]=!0),r&&t({metric:r}),$S(e,t,s?i:void 0)}function $P(e){const t={};e==="event"&&(t.durationThreshold=0),Oi(e,n=>{Jo(e,{entries:n})},t)}function FS(e,t){no[e]=no[e]||[],no[e].push(t)}function $S(e,t,n){return()=>{n&&n();const r=no[e];if(!r)return;const s=r.indexOf(t);s!==-1&&r.splice(s,1)}}function BP(e){return"duration"in e}const HP=e=>{const t=n=>{var r;(n.type==="pagehide"||((r=me.document)==null?void 0:r.visibilityState)==="hidden")&&e(n)};Cr("visibilitychange",t,{capture:!0,once:!0}),Cr("pagehide",t,{capture:!0,once:!0})};function Zl(e){return typeof e=="number"&&isFinite(e)}function Mr(e,t,n,{...r}){const s=ke(e).start_timestamp;return s&&s>t&&typeof e.updateStartTime=="function"&&e.updateStartTime(t),Rd(e,()=>{const i=Ar({startTime:t,...r});return i&&i.end(n),i})}function jd(e){var y;const t=Ie();if(!t)return;const{name:n,transaction:r,attributes:s,startTime:i}=e,{release:o,environment:a,sendDefaultPii:c}=t.getOptions(),l=t.getIntegrationByName("Replay"),u=l==null?void 0:l.getReplayId(),f=De(),d=f.getUser(),h=d!==void 0?d.email||d.id||d.ip_address:void 0;let p;try{p=f.getScopeData().contexts.profile.profile_id}catch{}const m={release:o,environment:a,user:h||void 0,profile_id:p||void 0,replay_id:u||void 0,transaction:r,"user_agent.original":(y=me.navigator)==null?void 0:y.userAgent,"client.address":c?"{{auto}}":void 0,...s};return Ar({name:n,attributes:m,startTime:i,experimental:{standalone:!0}})}function Zo(){return me.addEventListener&&me.performance}function nt(e){return e/1e3}function VP(e){let t="unknown",n="unknown",r="";for(const s of e){if(s==="/"){[t,n]=e.split("/");break}if(!isNaN(Number(s))){t=r==="h"?"http":r,n=e.split(r)[1];break}r+=s}return r===e&&(t=r),{name:t,version:n}}function BS(e){try{return PerformanceObserver.supportedEntryTypes.includes(e)}catch{return!1}}function HS(e,t){let n,r=!1;function s(a){!r&&n&&t(a,n),r=!0}HP(()=>{s("pagehide")});const i=e.on("beforeStartNavigationSpan",(a,c)=>{c!=null&&c.isRedirect||(s("navigation"),i(),o())}),o=e.on("afterStartPageLoadSpan",a=>{n=a.spanContext().spanId,o()})}function UP(e){let t=0,n;if(!BS("layout-shift"))return;const r=Ud(({metric:s})=>{const i=s.entries[s.entries.length-1];i&&(t=s.value,n=i)},!0);HS(e,(s,i)=>{WP(t,n,i,s),r()})}function WP(e,t,n,r){var l;ms&&X.log(`Sending CLS span (${e})`);const s=t?nt((Ut()||0)+t.startTime):st(),i=De().getScopeData().transactionName,o=t?Ht((l=t.sources[0])==null?void 0:l.node):"Layout shift",a={[Qe]:"auto.http.browser.cls",[rr]:"ui.webvital.cls",[xi]:0,"sentry.pageload.span_id":n,"sentry.report_event":r};t!=null&&t.sources&&t.sources.forEach((u,f)=>{a[`cls.source.${f+1}`]=Ht(u.node)});const c=jd({name:o,transaction:i,attributes:a,startTime:s});c&&(c.addEvent("cls",{[zo]:"",[qo]:e}),c.end(s))}function jP(e){let t=0,n;if(!BS("largest-contentful-paint"))return;const r=Wd(({metric:s})=>{const i=s.entries[s.entries.length-1];i&&(t=s.value,n=i)},!0);HS(e,(s,i)=>{zP(t,n,i,s),r()})}function zP(e,t,n,r){ms&&X.log(`Sending LCP span (${e})`);const s=nt((Ut()||0)+((t==null?void 0:t.startTime)||0)),i=De().getScopeData().transactionName,o=t?Ht(t.element):"Largest contentful paint",a={[Qe]:"auto.http.browser.lcp",[rr]:"ui.webvital.lcp",[xi]:0,"sentry.pageload.span_id":n,"sentry.report_event":r};t&&(t.element&&(a["lcp.element"]=Ht(t.element)),t.id&&(a["lcp.id"]=t.id),t.url&&(a["lcp.url"]=t.url),t.loadTime!=null&&(a["lcp.loadTime"]=t.loadTime),t.renderTime!=null&&(a["lcp.renderTime"]=t.renderTime),t.size!=null&&(a["lcp.size"]=t.size));const c=jd({name:o,transaction:i,attributes:a,startTime:s});c&&(c.addEvent("lcp",{[zo]:"millisecond",[qo]:e}),c.end(s))}function Zt(e){return e&&((Ut()||performance.timeOrigin)+e)/1e3}function VS(e){var n;const t={};if(e.nextHopProtocol!=null){const{name:r,version:s}=VP(e.nextHopProtocol);t["network.protocol.version"]=s,t["network.protocol.name"]=r}return Ut()||(n=Zo())!=null&&n.timeOrigin?qP({...t,"http.request.redirect_start":Zt(e.redirectStart),"http.request.redirect_end":Zt(e.redirectEnd),"http.request.worker_start":Zt(e.workerStart),"http.request.fetch_start":Zt(e.fetchStart),"http.request.domain_lookup_start":Zt(e.domainLookupStart),"http.request.domain_lookup_end":Zt(e.domainLookupEnd),"http.request.connect_start":Zt(e.connectStart),"http.request.secure_connection_start":Zt(e.secureConnectionStart),"http.request.connection_end":Zt(e.connectEnd),"http.request.request_start":Zt(e.requestStart),"http.request.response_start":Zt(e.responseStart),"http.request.response_end":Zt(e.responseEnd),"http.request.time_to_first_byte":e.responseStart!=null?e.responseStart/1e3:void 0}):t}function qP(e){return Object.fromEntries(Object.entries(e).filter(([,t])=>t!=null))}const GP=2147483647;let dg=0,fn={},Dt,$s;function KP({recordClsStandaloneSpans:e,recordLcpStandaloneSpans:t,client:n}){const r=Zo();if(r&&Ut()){r.mark&&me.performance.mark("sentry-tracing-init");const s=t?jP(n):QP(),i=eN(),o=e?UP(n):ZP();return()=>{s==null||s(),i(),o==null||o()}}return()=>{}}function YP(){gs("longtask",({entries:e})=>{const t=bt();if(!t)return;const{op:n,start_timestamp:r}=ke(t);for(const s of e){const i=nt(Ut()+s.startTime),o=nt(s.duration);n==="navigation"&&r&&i{const n=bt();if(n)for(const r of t.getEntries()){if(!r.scripts[0])continue;const s=nt(Ut()+r.startTime),{start_timestamp:i,op:o}=ke(n);if(o==="navigation"&&i&&s{const t=bt();if(t){for(const n of e)if(n.name==="click"){const r=nt(Ut()+n.startTime),s=nt(n.duration),i={name:Ht(n.target),op:`ui.interaction.${n.name}`,startTime:r,attributes:{[Qe]:"auto.ui.browser.metrics"}},o=Ib(n.target);o&&(i.attributes["ui.component_name"]=o),Mr(t,r,r+s,i)}}})}function ZP(){return Ud(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(fn.cls={value:e.value,unit:""},$s=t)},!0)}function QP(){return Wd(({metric:e})=>{const t=e.entries[e.entries.length-1];t&&(fn.lcp={value:e.value,unit:"millisecond"},Dt=t)},!0)}function eN(){return PP(({metric:e})=>{e.entries[e.entries.length-1]&&(fn.ttfb={value:e.value,unit:"millisecond"})})}function tN(e,t){const n=Zo(),r=Ut();if(!(n!=null&&n.getEntries)||!r)return;const s=nt(r),i=n.getEntries(),{op:o,start_timestamp:a}=ke(e);i.slice(dg).forEach(c=>{const l=nt(c.startTime),u=nt(Math.max(0,c.duration));if(!(o==="navigation"&&a&&s+l{j1(c,l.value,l.unit)}),e.setAttribute("performance.timeOrigin",s),e.setAttribute("performance.activationStart",Ai()),uN(e,t)),Dt=void 0,$s=void 0,fn={}}function nN(e){if((e==null?void 0:e.entryType)==="measure")try{return e.detail.devtools.track==="Components ⚛"}catch{return}}function rN(e,t,n,r,s,i){if(nN(t)||["mark","measure"].includes(t.entryType)&&Gn(t.name,i))return;const o=Ko(!1),a=nt(o?o.requestStart:0),c=s+Math.max(n,a),l=s+n,u=l+r,f={[Qe]:"auto.resource.browser.metrics"};c!==l&&(f["sentry.browser.measure_happened_before_request"]=!0,f["sentry.browser.measure_start_time"]=c),sN(f,t),c<=u&&Mr(e,c,u,{name:t.name,op:t.entryType,attributes:f})}function sN(e,t){try{const n=t.detail;if(!n)return;if(typeof n=="object"){for(const[r,s]of Object.entries(n))if(s&&ii(s))e[`sentry.browser.measure.detail.${r}`]=s;else if(s!==void 0)try{e[`sentry.browser.measure.detail.${r}`]=JSON.stringify(s)}catch{}return}if(ii(n)){e["sentry.browser.measure.detail"]=n;return}try{e["sentry.browser.measure.detail"]=JSON.stringify(n)}catch{}}catch{}}function iN(e,t,n){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(r=>{pa(e,t,r,n)}),pa(e,t,"secureConnection",n,"TLS/SSL"),pa(e,t,"fetch",n,"cache"),pa(e,t,"domainLookup",n,"DNS"),aN(e,t,n)}function pa(e,t,n,r,s=n){const i=oN(n),o=t[i],a=t[`${n}Start`];!a||!o||Mr(e,r+nt(a),r+nt(o),{op:`browser.${s}`,name:t.name,attributes:{[Qe]:"auto.ui.browser.metrics",...n==="redirect"&&t.redirectCount!=null?{"http.redirect_count":t.redirectCount}:{}}})}function oN(e){return e==="secureConnection"?"connectEnd":e==="fetch"?"domainLookupStart":`${e}End`}function aN(e,t,n){const r=n+nt(t.requestStart),s=n+nt(t.responseEnd),i=n+nt(t.responseStart);t.responseEnd&&(Mr(e,r,s,{op:"browser.request",name:t.name,attributes:{[Qe]:"auto.ui.browser.metrics"}}),Mr(e,i,s,{op:"browser.response",name:t.name,attributes:{[Qe]:"auto.ui.browser.metrics"}}))}function cN(e,t,n,r,s,i,o){if(t.initiatorType==="xmlhttprequest"||t.initiatorType==="fetch")return;const a=t.initiatorType?`resource.${t.initiatorType}`:"resource.other";if(o!=null&&o.includes(a))return;const c={[Qe]:"auto.resource.browser.metrics"},l=cs(n);l.protocol&&(c["url.scheme"]=l.protocol.split(":").pop()),l.host&&(c["server.address"]=l.host),c["url.same_origin"]=n.includes(me.location.origin),fN(t,c,[["responseStatus","http.response.status_code"],["transferSize","http.response_transfer_size"],["encodedBodySize","http.response_content_length"],["decodedBodySize","http.decoded_response_content_length"],["renderBlockingStatus","resource.render_blocking_status"],["deliveryType","http.response_delivery_type"]]);const u={...c,...VS(t)},f=i+r,d=f+s;Mr(e,f,d,{name:n.replace(me.location.origin,""),op:a,attributes:u})}function lN(e){const t=me.navigator;if(!t)return;const n=t.connection;n&&(n.effectiveType&&e.setAttribute("effectiveConnectionType",n.effectiveType),n.type&&e.setAttribute("connectionType",n.type),Zl(n.rtt)&&(fn["connection.rtt"]={value:n.rtt,unit:"millisecond"})),Zl(t.deviceMemory)&&e.setAttribute("deviceMemory",`${t.deviceMemory} GB`),Zl(t.hardwareConcurrency)&&e.setAttribute("hardwareConcurrency",String(t.hardwareConcurrency))}function uN(e,t){Dt&&t.recordLcpOnPageloadSpan&&(Dt.element&&e.setAttribute("lcp.element",Ht(Dt.element)),Dt.id&&e.setAttribute("lcp.id",Dt.id),Dt.url&&e.setAttribute("lcp.url",Dt.url.trim().slice(0,200)),Dt.loadTime!=null&&e.setAttribute("lcp.loadTime",Dt.loadTime),Dt.renderTime!=null&&e.setAttribute("lcp.renderTime",Dt.renderTime),e.setAttribute("lcp.size",Dt.size)),$s!=null&&$s.sources&&t.recordClsOnPageloadSpan&&$s.sources.forEach((n,r)=>e.setAttribute(`cls.source.${r+1}`,Ht(n.node)))}function fN(e,t,n){n.forEach(([r,s])=>{const i=e[r];i!=null&&(typeof i=="number"&&i{}}const pN=({entries:e})=>{const t=bt(),n=t?vt(t):void 0,r=n?ke(n).description:De().getScopeData().transactionName;e.forEach(s=>{var h,p;const i=s;if(!i.identifier)return;const o=i.name,a=i.renderTime,c=i.loadTime,[l,u]=c?[nt(c),"load-time"]:a?[nt(a),"render-time"]:[st(),"entry-emission"],f=o==="image-paint"?nt(Math.max(0,(a??0)-(c??0))):0,d={[Qe]:"auto.ui.browser.elementtiming",[rr]:"ui.elementtiming",[Bt]:"component","sentry.span_start_time_source":u,"sentry.transaction_name":r,"element.id":i.id,"element.type":((p=(h=i.element)==null?void 0:h.tagName)==null?void 0:p.toLowerCase())||"unknown","element.size":i.naturalWidth&&i.naturalHeight?`${i.naturalWidth}x${i.naturalHeight}`:void 0,"element.render_time":a,"element.load_time":c,"element.url":i.url||void 0,"element.identifier":i.identifier,"element.paint_type":o};X1({name:`element[${i.identifier}]`,attributes:d,startTime:l,onlyIfParent:!0},m=>{m.end(l+f)})})},mN=1e3;let hg,of,af;function US(e){const t="dom";$r(t,e),Br(t,gN)}function gN(){if(!me.document)return;const e=rn.bind(null,"dom"),t=pg(e,!0);me.document.addEventListener("click",t,!1),me.document.addEventListener("keypress",t,!1),["EventTarget","Node"].forEach(n=>{var i,o;const s=(i=me[n])==null?void 0:i.prototype;(o=s==null?void 0:s.hasOwnProperty)!=null&&o.call(s,"addEventListener")&&($t(s,"addEventListener",function(a){return function(c,l,u){if(c==="click"||c=="keypress")try{const f=this.__sentry_instrumentation_handlers__=this.__sentry_instrumentation_handlers__||{},d=f[c]=f[c]||{refCount:0};if(!d.handler){const h=pg(e);d.handler=h,a.call(this,c,h,u)}d.refCount++}catch{}return a.call(this,c,l,u)}}),$t(s,"removeEventListener",function(a){return function(c,l,u){if(c==="click"||c=="keypress")try{const f=this.__sentry_instrumentation_handlers__||{},d=f[c];d&&(d.refCount--,d.refCount<=0&&(a.call(this,c,d.handler,u),d.handler=void 0,delete f[c]),Object.keys(f).length===0&&delete this.__sentry_instrumentation_handlers__)}catch{}return a.call(this,c,l,u)}}))})}function yN(e){if(e.type!==of)return!1;try{if(!e.target||e.target._sentryId!==af)return!1}catch{}return!0}function vN(e,t){return e!=="keypress"?!1:t!=null&&t.tagName?!(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.isContentEditable):!0}function pg(e,t=!1){return n=>{if(!n||n._sentryCaptured)return;const r=_N(n);if(vN(n.type,r))return;Vt(n,"_sentryCaptured",!0),r&&!r._sentryId&&Vt(r,"_sentryId",Kt());const s=n.type==="keypress"?"input":n.type;yN(n)||(e({event:n,name:s,global:t}),of=n.type,af=r?r._sentryId:void 0),clearTimeout(hg),hg=me.setTimeout(()=>{af=void 0,of=void 0},mN)}}function _N(e){try{return e.target}catch{return null}}let ma;function rl(e){const t="history";$r(t,e),Br(t,bN)}function bN(){if(me.addEventListener("popstate",()=>{const t=me.location.href,n=ma;if(ma=t,n===t)return;rn("history",{from:n,to:t})}),!UM())return;function e(t){return function(...n){const r=n.length>2?n[2]:void 0;if(r){const s=ma,i=SN(String(r));if(ma=i,s===i)return t.apply(this,n);rn("history",{from:s,to:i})}return t.apply(this,n)}}$t(me.history,"pushState",e),$t(me.history,"replaceState",e)}function SN(e){try{return new URL(e,me.location.origin).toString()}catch{return e}}const $a={};function WS(e){const t=$a[e];if(t)return t;let n=me[e];if(Qu(n))return $a[e]=n.bind(me);const r=me.document;if(r&&typeof r.createElement=="function")try{const s=r.createElement("iframe");s.hidden=!0,r.head.appendChild(s);const i=s.contentWindow;i!=null&&i[e]&&(n=i[e]),r.head.removeChild(s)}catch(s){ms&&X.warn(`Could not create sandbox iframe for ${e} check, bailing to window.${e}: `,s)}return n&&($a[e]=n.bind(me))}function EN(e){$a[e]=void 0}function Qo(...e){return WS("setTimeout")(...e)}const Zr="__sentry_xhr_v3__";function jS(e){const t="xhr";$r(t,e),Br(t,wN)}function wN(){if(!me.XMLHttpRequest)return;const e=XMLHttpRequest.prototype;e.open=new Proxy(e.open,{apply(t,n,r){const s=new Error,i=st()*1e3,o=qn(r[0])?r[0].toUpperCase():void 0,a=TN(r[1]);if(!o||!a)return t.apply(n,r);n[Zr]={method:o,url:a,request_headers:{}},o==="POST"&&a.match(/sentry_key/)&&(n.__sentry_own_request__=!0);const c=()=>{const l=n[Zr];if(l&&n.readyState===4){try{l.status_code=n.status}catch{}const u={endTimestamp:st()*1e3,startTimestamp:i,xhr:n,virtualError:s};rn("xhr",u)}};return"onreadystatechange"in n&&typeof n.onreadystatechange=="function"?n.onreadystatechange=new Proxy(n.onreadystatechange,{apply(l,u,f){return c(),l.apply(u,f)}}):n.addEventListener("readystatechange",c),n.setRequestHeader=new Proxy(n.setRequestHeader,{apply(l,u,f){const[d,h]=f,p=u[Zr];return p&&qn(d)&&qn(h)&&(p.request_headers[d.toLowerCase()]=h),l.apply(u,f)}}),t.apply(n,r)}}),e.send=new Proxy(e.send,{apply(t,n,r){const s=n[Zr];if(!s)return t.apply(n,r);r[0]!==void 0&&(s.body=r[0]);const i={startTimestamp:st()*1e3,xhr:n};return rn("xhr",i),t.apply(n,r)}})}function TN(e){if(qn(e))return e;try{return e.toString()}catch{}}const CN=Symbol.for("sentry__originalRequestBody");function zS(e){return new URLSearchParams(e).toString()}function qS(e,t=X){try{if(typeof e=="string")return[e];if(e instanceof URLSearchParams)return[e.toString()];if(e instanceof FormData)return[zS(e)];if(!e)return[void 0]}catch(n){return ms&&t.error(n,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return ms&&t.log("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function GS(e=[]){if(e.length>=2&&e[1]&&typeof e[1]=="object"&&"body"in e[1])return e[1].body;if(e.length>=1&&e[0]instanceof Request){const n=e[0][CN];return n!==void 0?n:void 0}}function KS(e){let t;try{t=e.getAllResponseHeaders()}catch(n){return ms&&X.error(n,"Failed to get xhr response headers",e),{}}return t?t.split(`\r +`).reduce((n,r)=>{const[s,i]=r.split(": ");return i&&(n[s.toLowerCase()]=i),n},{}):{}}const Ql=[],Ba=new Map,xs=new Map,IN=60;function kN(){if(Zo()&&Ut()){const t=xN();return()=>{t()}}return()=>{}}const cf={click:"click",pointerdown:"click",pointerup:"click",mousedown:"click",mouseup:"click",touchstart:"click",touchend:"click",mouseover:"hover",mouseout:"hover",mouseenter:"hover",mouseleave:"hover",pointerover:"hover",pointerout:"hover",pointerenter:"hover",pointerleave:"hover",dragstart:"drag",dragend:"drag",drag:"drag",dragenter:"drag",dragleave:"drag",dragover:"drag",drop:"drag",keydown:"press",keyup:"press",keypress:"press",input:"press"};function xN(){return DS(RN)}const RN=({metric:e})=>{if(e.value==null)return;const t=nt(e.value);if(t>IN)return;const n=e.entries.find(p=>p.duration===e.value&&cf[p.name]);if(!n)return;const{interactionId:r}=n,s=cf[n.name],i=nt(Ut()+n.startTime),o=bt(),a=o?vt(o):void 0,c=r!=null?Ba.get(r):void 0,l=(c==null?void 0:c.span)||a,u=l?ke(l).description:De().getScopeData().transactionName,f=(c==null?void 0:c.elementName)||Ht(n.target),d={[Qe]:"auto.http.browser.inp",[rr]:`ui.interaction.${s}`,[xi]:n.duration},h=jd({name:f,transaction:u,attributes:d,startTime:i});h&&(h.addEvent("inp",{[zo]:"millisecond",[qo]:e.value}),h.end(i+t))};function AN(){const e=Object.keys(cf);ef()&&e.forEach(s=>{me.addEventListener(s,t,{capture:!0,passive:!0})});function t(s){const i=s.target;if(!i)return;const o=Ht(i),a=Math.round(s.timeStamp);if(xs.set(a,o),xs.size>50){const c=xs.keys().next().value;c!==void 0&&xs.delete(c)}}function n(s){const i=Math.round(s.startTime);let o=xs.get(i);if(!o)for(let a=-5;a<=5;a++){const c=xs.get(i+a);if(c){o=c;break}}return o||""}const r=({entries:s})=>{const i=bt(),o=i&&vt(i);s.forEach(a=>{if(!BP(a))return;const c=a.interactionId;if(c==null||Ba.has(c))return;const l=a.target?Ht(a.target):n(a);if(Ql.length>10){const u=Ql.shift();Ba.delete(u)}Ql.push(c),Ba.set(c,{span:o,elementName:l})})};gs("event",r),gs("first-input",r)}const ON=40;function MN(e,t=WS("fetch")){let n=0,r=0;async function s(i){const o=i.body.length;n+=o,r++;const a={body:i.body,method:"POST",referrerPolicy:"strict-origin",headers:e.headers,keepalive:n<=6e4&&r<15,...e.fetchOptions};try{const c=await t(e.url,a);return{statusCode:c.status,headers:{"x-sentry-rate-limits":c.headers.get("X-Sentry-Rate-Limits"),"retry-after":c.headers.get("Retry-After")}}}catch(c){throw EN("fetch"),c}finally{n-=o,r--}}return WO(e,s,Pd(e.bufferSize||ON))}const an=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,PN=30,NN=50;function lf(e,t,n,r){const s={filename:e,function:t===""?hs:t,in_app:!0};return n!==void 0&&(s.lineno=n),r!==void 0&&(s.colno=r),s}const LN=/^\s*at (\S+?)(?::(\d+))(?::(\d+))\s*$/i,DN=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,FN=/\((\S*)(?::(\d+))(?::(\d+))\)/,$N=/at (.+?) ?\(data:(.+?),/,BN=e=>{const t=e.match($N);if(t)return{filename:``,function:t[1]};const n=LN.exec(e);if(n){const[,s,i,o]=n;return lf(s,hs,+i,+o)}const r=DN.exec(e);if(r){if(r[2]&&r[2].indexOf("eval")===0){const a=FN.exec(r[2]);a&&(r[2]=a[1],r[3]=a[2],r[4]=a[3])}const[i,o]=YS(r[1]||hs,r[2]);return lf(o,i,r[3]?+r[3]:void 0,r[4]?+r[4]:void 0)}},HN=[PN,BN],VN=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,UN=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,WN=e=>{const t=VN.exec(e);if(t){if(t[3]&&t[3].indexOf(" > eval")>-1){const i=UN.exec(t[3]);i&&(t[1]=t[1]||"eval",t[3]=i[1],t[4]=i[2],t[5]="")}let r=t[3],s=t[1]||hs;return[s,r]=YS(s,r),lf(r,s,t[4]?+t[4]:void 0,t[5]?+t[5]:void 0)}},jN=[NN,WN],zN=[HN,jN],qN=_b(...zN),YS=(e,t)=>{const n=e.indexOf("safari-extension")!==-1,r=e.indexOf("safari-web-extension")!==-1;return n||r?[e.indexOf("@")!==-1?e.split("@")[0]:hs,n?`safari-extension:${t}`:`safari-web-extension:${t}`]:[e,t]},ga=1024,GN="Breadcrumbs",KN=(e={})=>{const t={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e};return{name:GN,setup(n){t.console&&xM(ZN(n)),t.dom&&US(JN(n,t.dom)),t.xhr&&jS(QN(n)),t.fetch&&wS(eL(n)),t.history&&rl(tL(n)),t.sentry&&n.on("beforeSendEvent",XN(n))}}},YN=KN;function XN(e){return function(n){Ie()===e&&Or({category:`sentry.${n.type==="transaction"?"transaction":"event"}`,event_id:n.event_id,level:n.level,message:Xr(n)},{event:n})}}function JN(e,t){return function(r){if(Ie()!==e)return;let s,i,o=typeof t=="object"?t.serializeAttribute:void 0,a=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;a&&a>ga&&(an&&X.warn(`\`dom.maxStringLength\` cannot exceed ${ga}, but a value of ${a} was configured. Sentry will use ${ga} instead.`),a=ga),typeof o=="string"&&(o=[o]);try{const l=r.event,u=nL(l)?l.target:l;s=Ht(u,{keyAttrs:o,maxStringLength:a}),i=Ib(u)}catch{s=""}if(s.length===0)return;const c={category:`ui.${r.name}`,message:s};i&&(c.data={"ui.component_name":i}),Or(c,{event:r.event,name:r.name,global:r.global})}}function ZN(e){return function(n){if(Ie()!==e)return;const r={category:"console",data:{arguments:n.args,logger:"console"},level:_S(n.level),message:Tm(n.args," ")};if(n.level==="assert")if(n.args[0]===!1)r.message=`Assertion failed: ${Tm(n.args.slice(1)," ")||"console.assert"}`,r.data.arguments=n.args.slice(1);else return;Or(r,{input:n.args,level:n.level})}}function QN(e){return function(n){if(Ie()!==e)return;const{startTimestamp:r,endTimestamp:s}=n,i=n.xhr[Zr];if(!r||!s||!i)return;const{method:o,url:a,status_code:c,body:l}=i,u={method:o,url:a,status_code:c},f={xhr:n.xhr,input:l,startTimestamp:r,endTimestamp:s},d={category:"xhr",data:u,type:"http",level:ES(c)};e.emit("beforeOutgoingRequestBreadcrumb",d,f),Or(d,f)}}function eL(e){return function(n){if(Ie()!==e)return;const{startTimestamp:r,endTimestamp:s}=n;if(s&&!(n.fetchData.url.match(/sentry_key/)&&n.fetchData.method==="POST"))if(n.fetchData.method,n.fetchData.url,n.error){const i=n.fetchData,o={data:n.error,input:n.args,startTimestamp:r,endTimestamp:s},a={category:"fetch",data:i,level:"error",type:"http"};e.emit("beforeOutgoingRequestBreadcrumb",a,o),Or(a,o)}else{const i=n.response,o={...n.fetchData,status_code:i==null?void 0:i.status};n.fetchData.request_body_size,n.fetchData.response_body_size,i==null||i.status;const a={input:n.args,response:i,startTimestamp:r,endTimestamp:s},c={category:"fetch",data:o,type:"http",level:ES(o.status_code)};e.emit("beforeOutgoingRequestBreadcrumb",c,a),Or(c,a)}}}function tL(e){return function(n){if(Ie()!==e)return;let r=n.from,s=n.to;const i=cs(Ae.location.href);let o=r?cs(r):void 0;const a=cs(s);o!=null&&o.path||(o=i),i.protocol===a.protocol&&i.host===a.host&&(s=a.relative),i.protocol===o.protocol&&i.host===o.host&&(r=o.relative),Or({category:"navigation",data:{from:r,to:s}})}}function nL(e){return!!e&&!!e.target}const rL=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","BroadcastChannel","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","SharedWorker","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"],sL="BrowserApiErrors",iL=(e={})=>{const t={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,unregisterOriginalCallbacks:!1,...e};return{name:sL,setupOnce(){t.setTimeout&&$t(Ae,"setTimeout",mg),t.setInterval&&$t(Ae,"setInterval",mg),t.requestAnimationFrame&&$t(Ae,"requestAnimationFrame",aL),t.XMLHttpRequest&&"XMLHttpRequest"in Ae&&$t(XMLHttpRequest.prototype,"send",cL);const n=t.eventTarget;n&&(Array.isArray(n)?n:rL).forEach(s=>lL(s,t))}}},oL=iL;function mg(e){return function(...t){const n=t[0];return t[0]=ui(n,{mechanism:{handled:!1,type:`auto.browser.browserapierrors.${er(e)}`}}),e.apply(this,t)}}function aL(e){return function(t){return e.apply(this,[ui(t,{mechanism:{data:{handler:er(e)},handled:!1,type:"auto.browser.browserapierrors.requestAnimationFrame"}})])}}function cL(e){return function(...t){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(s=>{s in n&&typeof n[s]=="function"&&$t(n,s,function(i){const o={mechanism:{data:{handler:er(i)},handled:!1,type:`auto.browser.browserapierrors.xhr.${s}`}},a=Sd(i);return a&&(o.mechanism.data.handler=er(a)),ui(i,o)})}),e.apply(this,t)}}function lL(e,t){var s,i;const r=(s=Ae[e])==null?void 0:s.prototype;(i=r==null?void 0:r.hasOwnProperty)!=null&&i.call(r,"addEventListener")&&($t(r,"addEventListener",function(o){return function(a,c,l){try{uL(c)&&(c.handleEvent=ui(c.handleEvent,{mechanism:{data:{handler:er(c),target:e},handled:!1,type:"auto.browser.browserapierrors.handleEvent"}}))}catch{}return t.unregisterOriginalCallbacks&&fL(this,a,c),o.apply(this,[a,ui(c,{mechanism:{data:{handler:er(c),target:e},handled:!1,type:"auto.browser.browserapierrors.addEventListener"}}),l])}}),$t(r,"removeEventListener",function(o){return function(a,c,l){try{const u=c.__sentry_wrapped__;u&&o.call(this,a,u,l)}catch{}return o.call(this,a,c,l)}}))}function uL(e){return typeof e.handleEvent=="function"}function fL(e,t,n){e&&typeof e=="object"&&"removeEventListener"in e&&typeof e.removeEventListener=="function"&&e.removeEventListener(t,n)}const dL=()=>({name:"BrowserSession",setupOnce(){if(typeof Ae.document>"u"){an&&X.warn("Using the `browserSessionIntegration` in non-browser environments is not supported.");return}zm({ignoreDuration:!0}),qm(),rl(({from:e,to:t})=>{e!==void 0&&e!==t&&(zm({ignoreDuration:!0}),qm())})}}),hL="GlobalHandlers",pL=(e={})=>{const t={onerror:!0,onunhandledrejection:!0,...e};return{name:hL,setupOnce(){Error.stackTraceLimit=50},setup(n){t.onerror&&(gL(n),gg("onerror")),t.onunhandledrejection&&(yL(n),gg("onunhandledrejection"))}}},mL=pL;function gL(e){Sb(t=>{const{stackParser:n,attachStacktrace:r}=XS();if(Ie()!==e||CS())return;const{msg:s,url:i,line:o,column:a,error:c}=t,l=bL(Bd(n,c||s,void 0,r,!1),i,o,a);l.level="error",tS(l,{originalException:c,mechanism:{handled:!1,type:"auto.browser.global_handlers.onerror"}})})}function yL(e){Eb(t=>{const{stackParser:n,attachStacktrace:r}=XS();if(Ie()!==e||CS())return;const s=vL(t),i=ii(s)?_L(s):Bd(n,s,void 0,r,!0);i.level="error",tS(i,{originalException:s,mechanism:{handled:!1,type:"auto.browser.global_handlers.onunhandledrejection"}})})}function vL(e){if(ii(e))return e;try{if("reason"in e)return e.reason;if("detail"in e&&"reason"in e.detail)return e.detail.reason}catch{}return e}function _L(e){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(e)}`}]}}}function bL(e,t,n,r){const s=e.exception=e.exception||{},i=s.values=s.values||[],o=i[0]=i[0]||{},a=o.stacktrace=o.stacktrace||{},c=a.frames=a.frames||[],l=r,u=n,f=SL(t)??Ii();return c.length===0&&c.push({colno:l,filename:f,function:hs,in_app:!0,lineno:u}),e}function gg(e){an&&X.log(`Global Handler attached: ${e}`)}function XS(){const e=Ie();return(e==null?void 0:e.getOptions())||{stackParser:()=>[],attachStacktrace:!1}}function SL(e){if(!(!qn(e)||e.length===0))return e.startsWith("data:")?`<${Tr(e,!1)}>`:e}const EL=()=>({name:"HttpContext",preprocessEvent(e){var r;if(!Ae.navigator&&!Ae.location&&!Ae.document)return;const t=Dd(),n={...t.headers,...(r=e.request)==null?void 0:r.headers};e.request={...t,...e.request,headers:n}}}),wL="cause",TL=5,CL="LinkedErrors",IL=(e={})=>{const t=e.limit||TL,n=e.key||wL;return{name:CL,preprocessEvent(r,s,i){const o=i.getOptions();kM(Fd,o.stackParser,n,t,r,s)}}},kL=IL;function xL(){return RL()?(an&&lr(()=>{console.error("[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/")}),!0):!1}function RL(){var i;if(typeof Ae.window>"u")return!1;const e=Ae;if(e.nw)return!1;const t=e.chrome||e.browser;if(!((i=t==null?void 0:t.runtime)!=null&&i.id))return!1;const n=Ii(),r=["chrome-extension","moz-extension","ms-browser-extension","safari-web-extension"];return!(Ae===Ae.top&&r.some(o=>n.startsWith(`${o}://`)))}function JS(e){return[_M(),mM(),oL(),YN(),mL(),kL(),MM(),EL(),dL()]}function AL(e={}){const t=!e.skipBrowserExtensionCheck&&xL();let n=e.defaultIntegrations==null?JS():e.defaultIntegrations;const r={...e,enabled:t?!1:e.enabled,stackParser:bA(e.stackParser||qN),integrations:MO({integrations:e.integrations,defaultIntegrations:n}),transport:e.transport||MN};return eM(dP,r)}const je=Ce,zd="sentryReplaySession",OL="replay_event",qd="Unable to send Replay",ML=3e5,PL=9e5,NL=5e3,LL=5500,DL=6e4,FL=5e3,$L=3,yg=15e4,ya=5e3,BL=3e3,HL=300,Gd=2e7,VL=4999,UL=5e4,vg=36e5;var WL=Object.defineProperty,jL=(e,t,n)=>t in e?WL(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_g=(e,t,n)=>jL(e,typeof t!="symbol"?t+"":t,n),it=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(it||{});function zL(e){return e.nodeType===e.ELEMENT_NODE}function ro(e){const t=e==null?void 0:e.host;return(t==null?void 0:t.shadowRoot)===e}function so(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function qL(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function GL(e){const{cssText:t}=e;if(t.split('"').length<3)return t;const n=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?n.push("layer"):e.layerName&&n.push(`layer(${e.layerName})`),e.supportsText&&n.push(`supports(${e.supportsText})`),e.media.length&&n.push(e.media.mediaText),n.join(" ")+";"}function yc(e){try{const t=e.rules||e.cssRules;return t?qL(Array.from(t,ZS).join("")):null}catch{return null}}function KL(e){let t="";for(let n=0;nthis.removeNodeFromMap(r))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,n){const r=n.id;this.idNodeMap.set(r,t),this.nodeMetaMap.set(t,n)}replace(t,n){const r=this.getNode(t);if(r){const s=this.nodeMetaMap.get(r);s&&this.nodeMetaMap.set(n,s)}this.idNodeMap.set(t,n)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function ZL(){return new QS}function sl({maskInputOptions:e,tagName:t,type:n}){return t==="OPTION"&&(t="SELECT"),!!(e[t.toLowerCase()]||n&&e[n]||n==="password"||t==="INPUT"&&!n&&e.text)}function xo({isMasked:e,element:t,value:n,maskInputFn:r}){let s=n||"";return e?(r&&(s=r(s,t)),"*".repeat(s.length)):s}function fi(e){return e.toLowerCase()}function uf(e){return e.toUpperCase()}const bg="__rrweb_original__";function QL(e){const t=e.getContext("2d");if(!t)return!0;const n=50;for(let r=0;rc!==0))return!1}return!0}function Kd(e){const t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?fi(t):null}function vc(e,t,n){return t==="INPUT"&&(n==="radio"||n==="checkbox")?e.getAttribute("value")||"":e.value}function eE(e,t){let n;try{n=new URL(e,t??window.location.href)}catch{return null}const r=/\.([0-9a-z]+)(?:$)/i,s=n.pathname.match(r);return(s==null?void 0:s[1])??null}const Sg={};function tE(e){const t=Sg[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return Sg[e]=r.bind(window)}function ff(...e){return tE("setTimeout")(...e)}function nE(...e){return tE("clearTimeout")(...e)}function rE(e){try{return e.contentDocument}catch{}}let eD=1;const tD=new RegExp("[^a-z0-9-_:]"),Ro=-2;function Yd(){return eD++}function nD(e){if(e instanceof HTMLFormElement)return"form";const t=fi(e.tagName);return tD.test(t)?"div":t}function rD(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}let Rs,Eg;const sD=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,iD=/^(?:[a-z+]+:)?\/\//i,oD=/^www\..*/i,aD=/^(data:)([^,]*),(.*)/i;function cD(e,t){if(!e||t.size===0)return e;try{const n=e.split(";"),r=[];for(let s of n){if(s=s.trim(),!s)continue;const i=s.indexOf(":");if(i===-1){r.push(s);continue}const o=s.slice(0,i).trim();t.has(o)||r.push(s)}return r.join("; ")+(r.length>0&&e.endsWith(";")?";":"")}catch(n){return console.warn("Error filtering CSS properties:",n),e}}function _c(e,t){return(e||"").replace(sD,(n,r,s,i,o,a)=>{const c=s||o||a,l=r||i||"";if(!c)return n;if(iD.test(c)||oD.test(c))return`url(${l}${c}${l})`;if(aD.test(c))return`url(${l}${c}${l})`;if(c[0]==="/")return`url(${l}${rD(t)+c}${l})`;const u=t.split("/"),f=c.split("/");u.pop();for(const d of f)d!=="."&&(d===".."?u.pop():u.push(d));return`url(${l}${u.join("/")}${l})`})}const lD=/^[^ \t\n\r\u000c]+/,uD=/^[, \t\n\r\u000c]+/;function fD(e,t){if(t.trim()==="")return t;let n=0;function r(i){let o;const a=i.exec(t.substring(n));return a?(o=a[0],n+=o.length,o):""}const s=[];for(;r(uD),!(n>=t.length);){let i=r(lD);if(i.slice(-1)===",")i=Bs(e,i.substring(0,i.length-1)),s.push(i);else{let o="";i=Bs(e,i);let a=!1;for(;;){const c=t.charAt(n);if(c===""){s.push((i+o).trim());break}else if(a)c===")"&&(a=!1);else if(c===","){n+=1,s.push((i+o).trim());break}else c==="("&&(a=!0);o+=c,n+=1}}}return s.join(", ")}const wg=new WeakMap;function Bs(e,t){return!t||t.trim()===""?t:il(e,t)}function dD(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function il(e,t){let n=wg.get(e);if(n||(n=e.createElement("a"),wg.set(e,n)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return n.setAttribute("href",t),n.href}function sE(e,t,n,r,s,i,o){if(!r)return r;if(n==="src"||n==="href"&&!(t==="use"&&r[0]==="#"))return Bs(e,r);if(n==="xlink:href"&&r[0]!=="#")return Bs(e,r);if(n==="background"&&(t==="table"||t==="td"||t==="th"))return Bs(e,r);if(n==="srcset")return fD(e,r);if(n==="style"){let a=_c(r,il(e));return o&&o.size>0&&(a=cD(a,o)),a}else if(t==="object"&&n==="data")return Bs(e,r);return typeof i=="function"?i(n,r,s):r}function iE(e,t,n){return(e==="video"||e==="audio")&&t==="autoplay"}function hD(e,t,n,r){try{if(r&&e.matches(r))return!1;if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){const i=e.classList[s];if(t.test(i))return!0}if(n)return e.matches(n)}catch{}return!1}function pD(e,t){for(let n=e.classList.length;n--;){const r=e.classList[n];if(t.test(r))return!0}return!1}function Qr(e,t,n=1/0,r=0){return!e||e.nodeType!==e.ELEMENT_NODE||r>n?-1:t(e)?r:Qr(e.parentNode,t,n,r+1)}function Hs(e,t){return n=>{const r=n;if(r===null)return!1;try{if(e){if(typeof e=="string"){if(r.matches(`.${e}`))return!0}else if(pD(r,e))return!0}return!!(t&&r.matches(t))}catch{return!1}}}function di(e,t,n,r,s,i){try{const o=e.nodeType===e.ELEMENT_NODE?e:e.parentElement;if(o===null)return!1;if(o.tagName==="INPUT"){const l=o.getAttribute("autocomplete");if(["current-password","new-password","cc-number","cc-exp","cc-exp-month","cc-exp-year","cc-csc"].includes(l))return!0}let a=-1,c=-1;if(i){if(c=Qr(o,Hs(r,s)),c<0)return!0;a=Qr(o,Hs(t,n),c>=0?c:1/0)}else{if(a=Qr(o,Hs(t,n)),a<0)return!1;c=Qr(o,Hs(r,s),a>=0?a:1/0)}return a>=0?c>=0?a<=c:!0:c>=0?!1:!!i}catch{}return!!i}function mD(e,t,n){const r=e.contentWindow;if(!r)return;let s=!1,i;try{i=r.document.readyState}catch{return}if(i!=="complete"){const a=ff(()=>{s||(t(),s=!0)},n);e.addEventListener("load",()=>{nE(a),s=!0,t()});return}const o="about:blank";if(r.location.href!==o||e.src===o||e.src==="")return ff(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function gD(e,t,n){let r=!1,s;try{s=e.sheet}catch{return}if(s)return;const i=ff(()=>{r||(t(),r=!0)},n);e.addEventListener("load",()=>{nE(i),r=!0,t()})}function yD(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:a,maskAttributeFn:c,maskTextClass:l,unmaskTextClass:u,maskTextSelector:f,unmaskTextSelector:d,inlineStylesheet:h,maskInputOptions:p={},maskTextFn:m,maskInputFn:y,dataURLOptions:g={},inlineImages:v,recordCanvas:_,keepIframeSrcFn:T,newlyAddedElement:O=!1,ignoreCSSAttributes:R}=t,E=vD(n,r);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:it.Document,childNodes:[],compatMode:e.compatMode}:{type:it.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:it.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:E};case e.ELEMENT_NODE:return bD(e,{doc:n,blockClass:s,blockSelector:i,unblockSelector:o,inlineStylesheet:h,maskAttributeFn:c,maskInputOptions:p,maskInputFn:y,dataURLOptions:g,inlineImages:v,recordCanvas:_,keepIframeSrcFn:T,newlyAddedElement:O,rootId:E,maskTextClass:l,unmaskTextClass:u,maskTextSelector:f,unmaskTextSelector:d,ignoreCSSAttributes:R});case e.TEXT_NODE:return _D(e,{doc:n,maskAllText:a,maskTextClass:l,unmaskTextClass:u,maskTextSelector:f,unmaskTextSelector:d,maskTextFn:m,maskInputOptions:p,maskInputFn:y,rootId:E});case e.CDATA_SECTION_NODE:return{type:it.CDATA,textContent:"",rootId:E};case e.COMMENT_NODE:return{type:it.Comment,textContent:e.textContent||"",rootId:E};default:return!1}}function vD(e,t){if(!t.hasNode(e))return;const n=t.getId(e);return n===1?void 0:n}function _D(e,t){var g;const{maskAllText:n,maskTextClass:r,unmaskTextClass:s,maskTextSelector:i,unmaskTextSelector:o,maskTextFn:a,maskInputOptions:c,maskInputFn:l,rootId:u}=t,f=e.parentNode&&e.parentNode.tagName;let d=e.textContent;const h=f==="STYLE"?!0:void 0,p=f==="SCRIPT"?!0:void 0,m=f==="TEXTAREA"?!0:void 0;if(h&&d){try{e.nextSibling||e.previousSibling||(g=e.parentNode.sheet)!=null&&g.cssRules&&(d=yc(e.parentNode.sheet))}catch(v){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${v}`,e)}d=_c(d,il(t.doc))}p&&(d="SCRIPT_PLACEHOLDER");const y=di(e,r,i,s,o,n);if(!h&&!p&&!m&&d&&y&&(d=a?a(d,e.parentElement):d.replace(/[\S]/g,"*")),m&&d&&(c.textarea||y)&&(d=l?l(d,e.parentNode):d.replace(/[\S]/g,"*")),f==="OPTION"&&d){const v=sl({type:null,tagName:f,maskInputOptions:c});d=xo({isMasked:di(e,r,i,s,o,v),element:e,value:d,maskInputFn:l})}return{type:it.Text,textContent:d||"",isStyle:h,rootId:u}}function bD(e,t){const{doc:n,blockClass:r,blockSelector:s,unblockSelector:i,inlineStylesheet:o,maskInputOptions:a={},maskAttributeFn:c,maskInputFn:l,dataURLOptions:u={},inlineImages:f,recordCanvas:d,keepIframeSrcFn:h,newlyAddedElement:p=!1,rootId:m,maskTextClass:y,unmaskTextClass:g,maskTextSelector:v,unmaskTextSelector:_,ignoreCSSAttributes:T}=t,O=hD(e,r,s,i),R=nD(e);let E={};const w=e.attributes.length;for(let A=0;Ax.href===e.href);let M=null;A&&(M=yc(A)),M&&(E.rel=null,E.href=null,E.crossorigin=null,E._cssText=_c(M,A.href))}if(R==="style"&&e.sheet&&!(e.innerText||e.textContent||"").trim().length){const A=yc(e.sheet);A&&(E._cssText=_c(A,il(n)))}if(R==="input"||R==="textarea"||R==="select"||R==="option"){const A=e,M=Kd(A),x=vc(A,uf(R),M),N=A.checked;if(M!=="submit"&&M!=="button"&&x){const L=di(A,y,v,g,_,sl({type:M,tagName:uf(R),maskInputOptions:a}));E.value=xo({isMasked:L,element:A,value:x,maskInputFn:l})}N&&(E.checked=N)}if(R==="option"&&(e.selected&&!a.select?E.selected=!0:delete E.selected),R==="canvas"&&d){if(e.__context==="2d")QL(e)||(E.rr_dataURL=e.toDataURL(u.type,u.quality));else if(!("__context"in e)){const A=e.toDataURL(u.type,u.quality),M=n.createElement("canvas");M.width=e.width,M.height=e.height;const x=M.toDataURL(u.type,u.quality);A!==x&&(E.rr_dataURL=A)}}if(R==="img"&&f){Rs||(Rs=n.createElement("canvas"),Eg=Rs.getContext("2d"));const A=e,M=A.currentSrc||A.getAttribute("src")||"",x=A.crossOrigin,N=()=>{A.removeEventListener("load",N);try{Rs.width=A.naturalWidth,Rs.height=A.naturalHeight,Eg.drawImage(A,0,0),E.rr_dataURL=Rs.toDataURL(u.type,u.quality)}catch(L){if(A.crossOrigin!=="anonymous"){A.crossOrigin="anonymous",A.complete&&A.naturalWidth!==0?N():A.addEventListener("load",N);return}else console.warn(`Cannot inline img src=${M}! Error: ${L}`)}A.crossOrigin==="anonymous"&&(x?E.crossOrigin=x:A.removeAttribute("crossorigin"))};A.complete&&A.naturalWidth!==0?N():A.addEventListener("load",N)}if((R==="audio"||R==="video")&&(E.rr_mediaState=e.paused?"paused":"played",E.rr_mediaCurrentTime=e.currentTime),p||(e.scrollLeft&&(E.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(E.rr_scrollTop=e.scrollTop)),O){const{width:A,height:M}=e.getBoundingClientRect();E={class:E.class,rr_width:`${A}px`,rr_height:`${M}px`}}R==="iframe"&&!h(E.src)&&(!O&&!rE(e)&&(E.rr_src=E.src),delete E.src);let I;try{customElements.get(R)&&(I=!0)}catch{}return{type:it.Element,tagName:R,attributes:E,childNodes:[],isSVG:dD(e)||void 0,needBlock:O,rootId:m,isCustom:I}}function Ue(e){return e==null?"":e.toLowerCase()}function SD(e,t){if(t.comment&&e.type===it.Comment)return!0;if(e.type===it.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&eE(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(Ue(e.attributes.name).match(/^msapplication-tile(image|color)$/)||Ue(e.attributes.name)==="application-name"||Ue(e.attributes.rel)==="icon"||Ue(e.attributes.rel)==="apple-touch-icon"||Ue(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&Ue(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(Ue(e.attributes.property).match(/^(og|twitter|fb):/)||Ue(e.attributes.name).match(/^(og|twitter):/)||Ue(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(Ue(e.attributes.name)==="robots"||Ue(e.attributes.name)==="googlebot"||Ue(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(Ue(e.attributes.name)==="author"||Ue(e.attributes.name)==="generator"||Ue(e.attributes.name)==="framework"||Ue(e.attributes.name)==="publisher"||Ue(e.attributes.name)==="progid"||Ue(e.attributes.property).match(/^article:/)||Ue(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(Ue(e.attributes.name)==="google-site-verification"||Ue(e.attributes.name)==="yandex-verification"||Ue(e.attributes.name)==="csrf-token"||Ue(e.attributes.name)==="p:domain_verify"||Ue(e.attributes.name)==="verify-v1"||Ue(e.attributes.name)==="verification"||Ue(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Vs(e,t){const{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:a,maskTextClass:c,unmaskTextClass:l,maskTextSelector:u,unmaskTextSelector:f,skipChild:d=!1,inlineStylesheet:h=!0,maskInputOptions:p={},maskAttributeFn:m,maskTextFn:y,maskInputFn:g,slimDOMOptions:v,dataURLOptions:_={},inlineImages:T=!1,recordCanvas:O=!1,onSerialize:R,onIframeLoad:E,iframeLoadTimeout:w=5e3,onBlockedImageLoad:I,onStylesheetLoad:A,stylesheetLoadTimeout:M=5e3,keepIframeSrcFn:x=()=>!1,newlyAddedElement:N=!1,ignoreCSSAttributes:L}=t;let{preserveWhiteSpace:G=!0}=t;const J=yD(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:a,unblockSelector:o,maskTextClass:c,unmaskTextClass:l,maskTextSelector:u,unmaskTextSelector:f,inlineStylesheet:h,maskInputOptions:p,maskAttributeFn:m,maskTextFn:y,maskInputFn:g,dataURLOptions:_,inlineImages:T,recordCanvas:O,keepIframeSrcFn:x,newlyAddedElement:N,ignoreCSSAttributes:L});if(!J)return console.warn(e,"not serialized"),null;let j;r.hasNode(e)?j=r.getId(e):SD(J,v)||!G&&J.type===it.Text&&!J.isStyle&&!J.textContent.replace(/^\s+|\s+$/gm,"").length?j=Ro:j=Yd();const D=Object.assign(J,{id:j});if(r.add(e,D),j===Ro)return null;R&&R(e);let ae=!d;if(D.type===it.Element){ae=ae&&!D.needBlock;const q=e.shadowRoot;q&&so(q)&&(D.isShadowHost=!0)}if((D.type===it.Document||D.type===it.Element)&&ae){v.headWhitespace&&D.type===it.Element&&D.tagName==="head"&&(G=!1);const q={doc:n,mirror:r,blockClass:s,blockSelector:i,maskAllText:a,unblockSelector:o,maskTextClass:c,unmaskTextClass:l,maskTextSelector:u,unmaskTextSelector:f,skipChild:d,inlineStylesheet:h,maskInputOptions:p,maskAttributeFn:m,maskTextFn:y,maskInputFn:g,slimDOMOptions:v,dataURLOptions:_,inlineImages:T,recordCanvas:O,preserveWhiteSpace:G,onSerialize:R,onIframeLoad:E,iframeLoadTimeout:w,onBlockedImageLoad:I,onStylesheetLoad:A,stylesheetLoadTimeout:M,keepIframeSrcFn:x,ignoreCSSAttributes:L},ce=e.childNodes?Array.from(e.childNodes):[];for(const le of ce){const ve=Vs(le,q);ve&&D.childNodes.push(ve)}if(zL(e)&&e.shadowRoot)for(const le of Array.from(e.shadowRoot.childNodes)){const ve=Vs(le,q);ve&&(so(e.shadowRoot)&&(ve.isShadow=!0),D.childNodes.push(ve))}}if(e.parentNode&&ro(e.parentNode)&&so(e.parentNode)&&(D.isShadow=!0),D.type===it.Element&&D.tagName==="iframe"&&!D.needBlock&&mD(e,()=>{const q=rE(e);if(q&&E){const ce=Vs(q,{doc:q,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:a,maskTextClass:c,unmaskTextClass:l,maskTextSelector:u,unmaskTextSelector:f,skipChild:!1,inlineStylesheet:h,maskInputOptions:p,maskAttributeFn:m,maskTextFn:y,maskInputFn:g,slimDOMOptions:v,dataURLOptions:_,inlineImages:T,recordCanvas:O,preserveWhiteSpace:G,onSerialize:R,onIframeLoad:E,iframeLoadTimeout:w,onStylesheetLoad:A,stylesheetLoadTimeout:M,keepIframeSrcFn:x,ignoreCSSAttributes:L});ce&&E(e,ce)}},w),D.type===it.Element&&D.tagName==="img"&&!e.complete&&D.needBlock){const q=e,ce=()=>{if(q.isConnected&&!q.complete&&I)try{const le=q.getBoundingClientRect();le.width>0&&le.height>0&&I(q,D,le)}catch{}q.removeEventListener("load",ce)};q.isConnected&&q.addEventListener("load",ce)}return D.type===it.Element&&D.tagName==="link"&&typeof D.attributes.rel=="string"&&(D.attributes.rel==="stylesheet"||D.attributes.rel==="preload"&&typeof D.attributes.href=="string"&&eE(D.attributes.href)==="css")&&gD(e,()=>{if(A){const q=Vs(e,{doc:n,mirror:r,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:a,maskTextClass:c,unmaskTextClass:l,maskTextSelector:u,unmaskTextSelector:f,skipChild:!1,inlineStylesheet:h,maskInputOptions:p,maskAttributeFn:m,maskTextFn:y,maskInputFn:g,slimDOMOptions:v,dataURLOptions:_,inlineImages:T,recordCanvas:O,preserveWhiteSpace:G,onSerialize:R,onIframeLoad:E,iframeLoadTimeout:w,onStylesheetLoad:A,stylesheetLoadTimeout:M,keepIframeSrcFn:x,ignoreCSSAttributes:L});q&&A(e,q)}},M),D.type===it.Element&&delete D.needBlock,D}function ED(e,t){const{mirror:n=new QS,blockClass:r="rr-block",blockSelector:s=null,unblockSelector:i=null,maskAllText:o=!1,maskTextClass:a="rr-mask",unmaskTextClass:c=null,maskTextSelector:l=null,unmaskTextSelector:u=null,inlineStylesheet:f=!0,inlineImages:d=!1,recordCanvas:h=!1,maskAllInputs:p=!1,maskAttributeFn:m,maskTextFn:y,maskInputFn:g,slimDOM:v=!1,dataURLOptions:_,preserveWhiteSpace:T,onSerialize:O,onIframeLoad:R,iframeLoadTimeout:E,onBlockedImageLoad:w,onStylesheetLoad:I,stylesheetLoadTimeout:A,keepIframeSrcFn:M=()=>!1,ignoreCSSAttributes:x=new Set([])}=t||{};return Vs(e,{doc:e,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,maskAllText:o,maskTextClass:a,unmaskTextClass:c,maskTextSelector:l,unmaskTextSelector:u,skipChild:!1,inlineStylesheet:f,maskInputOptions:p===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0}:p===!1?{}:p,maskAttributeFn:m,maskTextFn:y,maskInputFn:g,slimDOMOptions:v===!0||v==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:v==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:v===!1?{}:v,dataURLOptions:_,inlineImages:d,recordCanvas:h,preserveWhiteSpace:T,onSerialize:O,onIframeLoad:R,iframeLoadTimeout:E,onBlockedImageLoad:w,onStylesheetLoad:I,stylesheetLoadTimeout:A,keepIframeSrcFn:M,newlyAddedElement:!1,ignoreCSSAttributes:x})}function Mt(e,t,n=document){const r={capture:!0,passive:!0};return n.addEventListener(e,t,r),()=>n.removeEventListener(e,t,r)}const Ns=`Please stop import mirror directly. Instead of that,\r +now you can use replayer.getMirror() to access the mirror instance of a replayer,\r +or you can use record.mirror to access the mirror instance during recording.`;let Tg={map:{},getId(){return console.error(Ns),-1},getNode(){return console.error(Ns),null},removeNodeFromMap(){console.error(Ns)},has(){return console.error(Ns),!1},reset(){console.error(Ns)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Tg=new Proxy(Tg,{get(e,t,n){return t==="map"&&console.error(Ns),Reflect.get(e,t,n)}}));function Ao(e,t,n={}){let r=null,s=0;return function(...i){const o=Date.now();!s&&n.leading===!1&&(s=o);const a=t-(o-s),c=this;a<=0||a>t?(r&&(RD(r),r=null),s=o,e.apply(c,i)):!r&&n.trailing!==!1&&(r=ol(()=>{s=n.leading===!1?0:Date.now(),r=null,e.apply(c,i)},a))}}function oE(e,t,n,r,s=window){const i=s.Object.getOwnPropertyDescriptor(e,t);return s.Object.defineProperty(e,t,r?n:{set(o){ol(()=>{n.set.call(this,o)},0),i&&i.set&&i.set.call(this,o)}}),()=>oE(e,t,i||{},!0)}function Xd(e,t,n){try{if(!(t in e))return()=>{};const r=e[t],s=n(r);return typeof s=="function"&&(s.prototype=s.prototype||{},Object.defineProperties(s,{__rrweb_original__:{enumerable:!1,value:r}})),e[t]=s,()=>{e[t]=r}}catch{return()=>{}}}let bc=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(bc=()=>new Date().getTime());function aE(e){var n,r,s,i,o,a;const t=e.document;return{left:t.scrollingElement?t.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:(t==null?void 0:t.documentElement.scrollLeft)||((r=(n=t==null?void 0:t.body)==null?void 0:n.parentElement)==null?void 0:r.scrollLeft)||((s=t==null?void 0:t.body)==null?void 0:s.scrollLeft)||0,top:t.scrollingElement?t.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:(t==null?void 0:t.documentElement.scrollTop)||((o=(i=t==null?void 0:t.body)==null?void 0:i.parentElement)==null?void 0:o.scrollTop)||((a=t==null?void 0:t.body)==null?void 0:a.scrollTop)||0}}function cE(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function lE(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function uE(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function jt(e,t,n,r,s){if(!e)return!1;const i=uE(e);if(!i)return!1;const o=Hs(t,n);if(!s){const l=r&&i.matches(r);return o(i)&&!l}const a=Qr(i,o);let c=-1;return a<0?!1:(r&&(c=Qr(i,Hs(null,r))),a>-1&&c<0?!0:a{let n=t[0];if(!(0 in t))throw new TypeError("1 argument is required");do if(this===n)return!0;while(n=n&&n.parentNode);return!1})}function dE(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function hE(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function hf(e){return!!(e!=null&&e.shadowRoot)}class CD{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,n){if(this.has(t))return this.getId(t);let r;return n===void 0?r=this.id++:r=n,this.styleIDMap.set(t,r),this.idStyleMap.set(r,t),r}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}function pE(e){var n,r;let t=null;return((r=(n=e.getRootNode)==null?void 0:n.call(e))==null?void 0:r.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&e.getRootNode().host&&(t=e.getRootNode().host),t}function ID(e){let t=e,n;for(;n=pE(t);)t=n;return t}function kD(e){const t=e.ownerDocument;if(!t)return!1;const n=ID(e);return t.contains(n)}function mE(e){const t=e.ownerDocument;return t?t.contains(e)||kD(e):!1}const Cg={};function Jd(e){const t=Cg[e];if(t)return t;const n=window.document;let r=window[e];if(n&&typeof n.createElement=="function")try{const s=n.createElement("iframe");s.hidden=!0,n.head.appendChild(s);const i=s.contentWindow;i&&i[e]&&(r=i[e]),n.head.removeChild(s)}catch{}return Cg[e]=r.bind(window)}function xD(...e){return Jd("requestAnimationFrame")(...e)}function ol(...e){return Jd("setTimeout")(...e)}function RD(...e){return Jd("clearTimeout")(...e)}var we=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e))(we||{}),ye=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(ye||{}),xt=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(xt||{}),Bn=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(Bn||{}),Ls=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Ls||{});function Zd(e){try{return e.contentDocument}catch{}}function AD(e){try{return e.contentWindow}catch{}}function Ig(e){return"__ln"in e}class OD{constructor(){this.length=0,this.head=null,this.tail=null}get(t){if(t>=this.length)throw new Error("Position outside of list range");let n=this.head;for(let r=0;r`${e}@${t}`;class MD{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=t=>{t.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const t=[],n=new Set,r=new OD,s=c=>{let l=c,u=Ro;for(;u===Ro;)l=l&&l.nextSibling,u=l&&this.mirror.getId(l);return u},i=c=>{if(!c.parentNode||!mE(c))return;const l=ro(c.parentNode)?this.mirror.getId(pE(c)):this.mirror.getId(c.parentNode),u=s(c);if(l===-1||u===-1)return r.addNode(c);const f=Vs(c,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskAllText:this.maskAllText,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,unmaskTextClass:this.unmaskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskAttributeFn:this.maskAttributeFn,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:d=>{dE(d,this.mirror)&&!jt(d,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&this.iframeManager.addIframe(d),hE(d,this.mirror)&&this.stylesheetManager.trackLinkElement(d),hf(c)&&this.shadowDomManager.addShadowRoot(c.shadowRoot,this.doc)},onIframeLoad:(d,h)=>{jt(d,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(this.iframeManager.attachIframe(d,h),d.contentWindow&&this.canvasManager.addWindow(d.contentWindow),this.shadowDomManager.observeAttachShadow(d))},onStylesheetLoad:(d,h)=>{this.stylesheetManager.attachLinkElement(d,h)},onBlockedImageLoad:(d,h,{width:p,height:m})=>{this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:h.id,attributes:{style:{width:`${p}px`,height:`${m}px`}}}]})},ignoreCSSAttributes:this.ignoreCSSAttributes});f&&(t.push({parentId:l,nextId:u,node:f}),n.add(f.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const c of this.movedSet)xg(this.removes,c,this.mirror)&&!this.movedSet.has(c.parentNode)||i(c);for(const c of this.addedSet)!Rg(this.droppedSet,c)&&!xg(this.removes,c,this.mirror)||Rg(this.movedSet,c)?i(c):this.droppedSet.add(c);let o=null;for(;r.length;){let c=null;if(o){const l=this.mirror.getId(o.value.parentNode),u=s(o.value);l!==-1&&u!==-1&&(c=o)}if(!c){let l=r.tail;for(;l;){const u=l;if(l=l.previous,u){const f=this.mirror.getId(u.value.parentNode);if(s(u.value)===-1)continue;if(f!==-1){c=u;break}else{const h=u.value;if(h.parentNode&&h.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){const p=h.parentNode.host;if(this.mirror.getId(p)!==-1){c=u;break}}}}}}if(!c){for(;r.head;)r.removeNode(r.head.value);break}o=c.previous,r.removeNode(c.value),i(c.value)}const a={texts:this.texts.map(c=>({id:this.mirror.getId(c.node),value:c.value})).filter(c=>!n.has(c.id)).filter(c=>this.mirror.has(c.id)),attributes:this.attributes.map(c=>{const{attributes:l}=c;if(typeof l.style=="string"){const u=JSON.stringify(c.styleDiff),f=JSON.stringify(c._unchangedStyles);u.length!n.has(c.id)).filter(c=>this.mirror.has(c.id)),removes:this.removes,adds:t};!a.texts.length&&!a.attributes.length&&!a.removes.length&&!a.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(a))},this.processMutation=t=>{if(!eu(t.target,this.mirror))switch(t.type){case"characterData":{const n=t.target.textContent;!jt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)&&n!==t.oldValue&&this.texts.push({value:di(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,this.maskAllText)&&n?this.maskTextFn?this.maskTextFn(n,uE(t.target)):n.replace(/[\S]/g,"*"):n,node:t.target});break}case"attributes":{const n=t.target;let r=t.attributeName,s=t.target.getAttribute(r);if(r==="value"){const o=Kd(n),a=n.tagName;s=vc(n,a,o);const c=sl({maskInputOptions:this.maskInputOptions,tagName:a,type:o}),l=di(t.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextClass,this.unmaskTextSelector,c);s=xo({isMasked:l,element:n,value:s,maskInputFn:this.maskInputFn})}if(jt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||s===t.oldValue)return;let i=this.attributeMap.get(t.target);if(n.tagName==="IFRAME"&&r==="src"&&!this.keepIframeSrcFn(s))if(!Zd(n))r="rr_src";else return;if(i||(i={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(i),this.attributeMap.set(t.target,i)),r==="type"&&n.tagName==="INPUT"&&(t.oldValue||"").toLowerCase()==="password"&&n.setAttribute("data-rr-is-password","true"),!iE(n.tagName,r)&&(i.attributes[r]=sE(this.doc,fi(n.tagName),fi(r),s,n,this.maskAttributeFn),r==="style")){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}const o=this.unattachedDoc.createElement("span");t.oldValue&&o.setAttribute("style",t.oldValue);for(const a of Array.from(n.style)){const c=n.style.getPropertyValue(a),l=n.style.getPropertyPriority(a);c!==o.style.getPropertyValue(a)||l!==o.style.getPropertyPriority(a)?l===""?i.styleDiff[a]=c:i.styleDiff[a]=[c,l]:i._unchangedStyles[a]=[c,l]}for(const a of Array.from(o.style))n.style.getPropertyValue(a)===""&&(i.styleDiff[a]=!1)}break}case"childList":{if(jt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!0))return;t.addedNodes.forEach(n=>this.genAdds(n,t.target)),t.removedNodes.forEach(n=>{const r=this.mirror.getId(n),s=ro(t.target)?this.mirror.getId(t.target.host):this.mirror.getId(t.target);jt(t.target,this.blockClass,this.blockSelector,this.unblockSelector,!1)||eu(n,this.mirror)||!wD(n,this.mirror)||(this.addedSet.has(n)?(pf(this.addedSet,n),this.droppedSet.add(n)):this.addedSet.has(t.target)&&r===-1||fE(t.target,this.mirror)||(this.movedSet.has(n)&&this.movedMap[kg(r,s)]?pf(this.movedSet,n):this.removes.push({parentId:s,id:r,isShadow:ro(t.target)&&so(t.target)?!0:void 0})),this.mapRemoves.push(n))});break}}},this.genAdds=(t,n)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(eu(t,this.mirror))return;this.movedSet.add(t);let r=null;n&&this.mirror.hasNode(n)&&(r=this.mirror.getId(n)),r&&r!==-1&&(this.movedMap[kg(this.mirror.getId(t),r)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);jt(t,this.blockClass,this.blockSelector,this.unblockSelector,!1)||(t.childNodes&&t.childNodes.forEach(r=>this.genAdds(r)),hf(t)&&t.shadowRoot.childNodes.forEach(r=>{this.processedNodeManager.add(r,this),this.genAdds(r,t)}))}}}init(t){["mutationCb","blockClass","blockSelector","unblockSelector","maskAllText","maskTextClass","unmaskTextClass","maskTextSelector","unmaskTextSelector","inlineStylesheet","maskInputOptions","maskAttributeFn","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager","ignoreCSSAttributes"].forEach(n=>{this[n]=t[n]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function pf(e,t){var n;e.delete(t),(n=t.childNodes)==null||n.forEach(r=>pf(e,r))}function xg(e,t,n){return e.length===0?!1:PD(e,t,n)}function PD(e,t,n){let r=t.parentNode;for(;r;){const s=n.getId(r);if(e.some(i=>i.id===s))return!0;r=r.parentNode}return!1}function Rg(e,t){return e.size===0?!1:gE(e,t)}function gE(e,t){const{parentNode:n}=t;return n?e.has(n)?!0:gE(e,n):!1}let io;function ND(e){io=e}function LD(){io=void 0}const xe=e=>io?(...n)=>{try{return e(...n)}catch(r){if(io&&io(r)===!0)return()=>{};throw r}}:e,Us=[];function ea(e){try{if("composedPath"in e){const t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function yE(e,t){var o,a;const n=new MD;Us.push(n),n.init(e);let r=window.MutationObserver||window.__rrMutationObserver;const s=(a=(o=window==null?void 0:window.Zone)==null?void 0:o.__symbol__)==null?void 0:a.call(o,"MutationObserver");s&&window[s]&&(r=window[s]);const i=new r(xe(c=>{e.onMutation&&e.onMutation(c)===!1||n.processMutations.bind(n)(c)}));return i.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),i}function DD({mousemoveCb:e,sampling:t,doc:n,mirror:r}){if(t.mousemove===!1)return()=>{};const s=typeof t.mousemove=="number"?t.mousemove:50,i=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500;let o=[],a;const c=Ao(xe(f=>{const d=Date.now()-a;e(o.map(h=>(h.timeOffset-=d,h)),f),o=[],a=null}),i),l=xe(Ao(xe(f=>{const d=ea(f),{clientX:h,clientY:p}=df(f)?f.changedTouches[0]:f;a||(a=bc()),o.push({x:h,y:p,id:r.getId(d),timeOffset:bc()-a}),c(typeof DragEvent<"u"&&f instanceof DragEvent?ye.Drag:f instanceof MouseEvent?ye.MouseMove:ye.TouchMove)}),s,{trailing:!1})),u=[Mt("mousemove",l,n),Mt("touchmove",l,n),Mt("drag",l,n)];return xe(()=>{u.forEach(f=>f())})}function FD({mouseInteractionCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){if(o.mouseInteraction===!1)return()=>{};const a=o.mouseInteraction===!0||o.mouseInteraction===void 0?{}:o.mouseInteraction,c=[];let l=null;const u=f=>d=>{const h=ea(d);if(jt(h,r,s,i,!0))return;let p=null,m=f;if("pointerType"in d){switch(d.pointerType){case"mouse":p=Bn.Mouse;break;case"touch":p=Bn.Touch;break;case"pen":p=Bn.Pen;break}p===Bn.Touch?xt[f]===xt.MouseDown?m="TouchStart":xt[f]===xt.MouseUp&&(m="TouchEnd"):Bn.Pen}else df(d)&&(p=Bn.Touch);p!==null?(l=p,(m.startsWith("Touch")&&p===Bn.Touch||m.startsWith("Mouse")&&p===Bn.Mouse)&&(p=null)):xt[f]===xt.Click&&(p=l,l=null);const y=df(d)?d.changedTouches[0]:d;if(!y)return;const g=n.getId(h),{clientX:v,clientY:_}=y;xe(e)({type:xt[m],id:g,x:v,y:_,...p!==null&&{pointerType:p}})};return Object.keys(xt).filter(f=>Number.isNaN(Number(f))&&!f.endsWith("_Departed")&&a[f]!==!1).forEach(f=>{let d=fi(f);const h=u(f);if(window.PointerEvent)switch(xt[f]){case xt.MouseDown:case xt.MouseUp:d=d.replace("mouse","pointer");break;case xt.TouchStart:case xt.TouchEnd:return}c.push(Mt(d,h,t))}),xe(()=>{c.forEach(f=>f())})}function vE({scrollCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,sampling:o}){const a=xe(Ao(xe(c=>{const l=ea(c);if(!l||jt(l,r,s,i,!0))return;const u=n.getId(l);if(l===t&&t.defaultView){const f=aE(t.defaultView);e({id:u,x:f.left,y:f.top})}else e({id:u,x:l.scrollLeft,y:l.scrollTop})}),o.scroll||100));return Mt("scroll",a,t)}function $D({viewportResizeCb:e},{win:t}){let n=-1,r=-1;const s=xe(Ao(xe(()=>{const i=cE(),o=lE();(n!==i||r!==o)&&(e({width:Number(o),height:Number(i)}),n=i,r=o)}),200));return Mt("resize",s,t)}const BD=["INPUT","TEXTAREA","SELECT"],Ag=new WeakMap;function HD({inputCb:e,doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,ignoreClass:o,ignoreSelector:a,maskInputOptions:c,maskInputFn:l,sampling:u,userTriggeredOnInput:f,maskTextClass:d,unmaskTextClass:h,maskTextSelector:p,unmaskTextSelector:m}){function y(E){let w=ea(E);const I=E.isTrusted,A=w&&uf(w.tagName);if(A==="OPTION"&&(w=w.parentElement),!w||!A||BD.indexOf(A)<0||jt(w,r,s,i,!0))return;const M=w;if(M.classList.contains(o)||a&&M.matches(a))return;const x=Kd(w);let N=vc(M,A,x),L=!1;const G=sl({maskInputOptions:c,tagName:A,type:x}),J=di(w,d,p,h,m,G);(x==="radio"||x==="checkbox")&&(L=w.checked),N=xo({isMasked:J,element:w,value:N,maskInputFn:l}),g(w,f?{text:N,isChecked:L,userTriggered:I}:{text:N,isChecked:L});const j=w.name;x==="radio"&&j&&L&&t.querySelectorAll(`input[type="radio"][name="${j}"]`).forEach(D=>{if(D!==w){const ae=xo({isMasked:J,element:D,value:vc(D,A,x),maskInputFn:l});g(D,f?{text:ae,isChecked:!L,userTriggered:!1}:{text:ae,isChecked:!L})}})}function g(E,w){const I=Ag.get(E);if(!I||I.text!==w.text||I.isChecked!==w.isChecked){Ag.set(E,w);const A=n.getId(E);xe(e)({...w,id:A})}}const _=(u.input==="last"?["change"]:["input","change"]).map(E=>Mt(E,xe(y),t)),T=t.defaultView;if(!T)return()=>{_.forEach(E=>E())};const O=T.Object.getOwnPropertyDescriptor(T.HTMLInputElement.prototype,"value"),R=[[T.HTMLInputElement.prototype,"value"],[T.HTMLInputElement.prototype,"checked"],[T.HTMLSelectElement.prototype,"value"],[T.HTMLTextAreaElement.prototype,"value"],[T.HTMLSelectElement.prototype,"selectedIndex"],[T.HTMLOptionElement.prototype,"selected"]];return O&&O.set&&_.push(...R.map(E=>oE(E[0],E[1],{set(){xe(y)({target:this,isTrusted:!1})}},!1,T))),xe(()=>{_.forEach(E=>E())})}function Sc(e){const t=[];function n(r,s){if(va("CSSGroupingRule")&&r.parentRule instanceof CSSGroupingRule||va("CSSMediaRule")&&r.parentRule instanceof CSSMediaRule||va("CSSSupportsRule")&&r.parentRule instanceof CSSSupportsRule||va("CSSConditionRule")&&r.parentRule instanceof CSSConditionRule){const o=Array.from(r.parentRule.cssRules).indexOf(r);s.unshift(o)}else if(r.parentStyleSheet){const o=Array.from(r.parentStyleSheet.cssRules).indexOf(r);s.unshift(o)}return s}return n(e,t)}function br(e,t,n){let r,s;return e?(e.ownerNode?r=t.getId(e.ownerNode):s=n.getId(e),{styleId:s,id:r}):{}}function VD({styleSheetRuleCb:e,mirror:t,stylesheetManager:n},{win:r}){if(!r.CSSStyleSheet||!r.CSSStyleSheet.prototype)return()=>{};const s=r.CSSStyleSheet.prototype.insertRule;r.CSSStyleSheet.prototype.insertRule=new Proxy(s,{apply:xe((u,f,d)=>{const[h,p]=d,{id:m,styleId:y}=br(f,t,n.styleMirror);return(m&&m!==-1||y&&y!==-1)&&e({id:m,styleId:y,adds:[{rule:h,index:p}]}),u.apply(f,d)})});const i=r.CSSStyleSheet.prototype.deleteRule;r.CSSStyleSheet.prototype.deleteRule=new Proxy(i,{apply:xe((u,f,d)=>{const[h]=d,{id:p,styleId:m}=br(f,t,n.styleMirror);return(p&&p!==-1||m&&m!==-1)&&e({id:p,styleId:m,removes:[{index:h}]}),u.apply(f,d)})});let o;r.CSSStyleSheet.prototype.replace&&(o=r.CSSStyleSheet.prototype.replace,r.CSSStyleSheet.prototype.replace=new Proxy(o,{apply:xe((u,f,d)=>{const[h]=d,{id:p,styleId:m}=br(f,t,n.styleMirror);return(p&&p!==-1||m&&m!==-1)&&e({id:p,styleId:m,replace:h}),u.apply(f,d)})}));let a;r.CSSStyleSheet.prototype.replaceSync&&(a=r.CSSStyleSheet.prototype.replaceSync,r.CSSStyleSheet.prototype.replaceSync=new Proxy(a,{apply:xe((u,f,d)=>{const[h]=d,{id:p,styleId:m}=br(f,t,n.styleMirror);return(p&&p!==-1||m&&m!==-1)&&e({id:p,styleId:m,replaceSync:h}),u.apply(f,d)})}));const c={};_a("CSSGroupingRule")?c.CSSGroupingRule=r.CSSGroupingRule:(_a("CSSMediaRule")&&(c.CSSMediaRule=r.CSSMediaRule),_a("CSSConditionRule")&&(c.CSSConditionRule=r.CSSConditionRule),_a("CSSSupportsRule")&&(c.CSSSupportsRule=r.CSSSupportsRule));const l={};return Object.entries(c).forEach(([u,f])=>{l[u]={insertRule:f.prototype.insertRule,deleteRule:f.prototype.deleteRule},f.prototype.insertRule=new Proxy(l[u].insertRule,{apply:xe((d,h,p)=>{const[m,y]=p,{id:g,styleId:v}=br(h.parentStyleSheet,t,n.styleMirror);return(g&&g!==-1||v&&v!==-1)&&e({id:g,styleId:v,adds:[{rule:m,index:[...Sc(h),y||0]}]}),d.apply(h,p)})}),f.prototype.deleteRule=new Proxy(l[u].deleteRule,{apply:xe((d,h,p)=>{const[m]=p,{id:y,styleId:g}=br(h.parentStyleSheet,t,n.styleMirror);return(y&&y!==-1||g&&g!==-1)&&e({id:y,styleId:g,removes:[{index:[...Sc(h),m]}]}),d.apply(h,p)})})}),xe(()=>{r.CSSStyleSheet.prototype.insertRule=s,r.CSSStyleSheet.prototype.deleteRule=i,o&&(r.CSSStyleSheet.prototype.replace=o),a&&(r.CSSStyleSheet.prototype.replaceSync=a),Object.entries(c).forEach(([u,f])=>{f.prototype.insertRule=l[u].insertRule,f.prototype.deleteRule=l[u].deleteRule})})}function _E({mirror:e,stylesheetManager:t},n){var o,a,c;let r=null;n.nodeName==="#document"?r=e.getId(n):r=e.getId(n.host);const s=n.nodeName==="#document"?(o=n.defaultView)==null?void 0:o.Document:(c=(a=n.ownerDocument)==null?void 0:a.defaultView)==null?void 0:c.ShadowRoot,i=s!=null&&s.prototype?Object.getOwnPropertyDescriptor(s==null?void 0:s.prototype,"adoptedStyleSheets"):void 0;return r===null||r===-1||!s||!i?()=>{}:(Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get(){var l;return(l=i.get)==null?void 0:l.call(this)},set(l){var f;const u=(f=i.set)==null?void 0:f.call(this,l);if(r!==null&&r!==-1)try{t.adoptStyleSheets(l,r)}catch{}return u}}),xe(()=>{Object.defineProperty(n,"adoptedStyleSheets",{configurable:i.configurable,enumerable:i.enumerable,get:i.get,set:i.set})}))}function UD({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:n,stylesheetManager:r},{win:s}){const i=s.CSSStyleDeclaration.prototype.setProperty;s.CSSStyleDeclaration.prototype.setProperty=new Proxy(i,{apply:xe((a,c,l)=>{var m;const[u,f,d]=l;if(n.has(u))return i.apply(c,[u,f,d]);const{id:h,styleId:p}=br((m=c.parentRule)==null?void 0:m.parentStyleSheet,t,r.styleMirror);return(h&&h!==-1||p&&p!==-1)&&e({id:h,styleId:p,set:{property:u,value:f,priority:d},index:Sc(c.parentRule)}),a.apply(c,l)})});const o=s.CSSStyleDeclaration.prototype.removeProperty;return s.CSSStyleDeclaration.prototype.removeProperty=new Proxy(o,{apply:xe((a,c,l)=>{var h;const[u]=l;if(n.has(u))return o.apply(c,[u]);const{id:f,styleId:d}=br((h=c.parentRule)==null?void 0:h.parentStyleSheet,t,r.styleMirror);return(f&&f!==-1||d&&d!==-1)&&e({id:f,styleId:d,remove:{property:u},index:Sc(c.parentRule)}),a.apply(c,l)})}),xe(()=>{s.CSSStyleDeclaration.prototype.setProperty=i,s.CSSStyleDeclaration.prototype.removeProperty=o})}function WD({mediaInteractionCb:e,blockClass:t,blockSelector:n,unblockSelector:r,mirror:s,sampling:i,doc:o}){const a=xe(l=>Ao(xe(u=>{const f=ea(u);if(!f||jt(f,t,n,r,!0))return;const{currentTime:d,volume:h,muted:p,playbackRate:m}=f;e({type:l,id:s.getId(f),currentTime:d,volume:h,muted:p,playbackRate:m})}),i.media||500)),c=[Mt("play",a(Ls.Play),o),Mt("pause",a(Ls.Pause),o),Mt("seeked",a(Ls.Seeked),o),Mt("volumechange",a(Ls.VolumeChange),o),Mt("ratechange",a(Ls.RateChange),o)];return xe(()=>{c.forEach(l=>l())})}function jD({fontCb:e,doc:t}){const n=t.defaultView;if(!n)return()=>{};const r=[],s=new WeakMap,i=n.FontFace;n.FontFace=function(c,l,u){const f=new i(c,l,u);return s.set(f,{family:c,buffer:typeof l!="string",descriptors:u,fontSource:typeof l=="string"?l:JSON.stringify(Array.from(new Uint8Array(l)))}),f};const o=Xd(t.fonts,"add",function(a){return function(c){return ol(xe(()=>{const l=s.get(c);l&&(e(l),s.delete(c))}),0),a.apply(this,[c])}});return r.push(()=>{n.FontFace=i}),r.push(o),xe(()=>{r.forEach(a=>a())})}function zD(e){const{doc:t,mirror:n,blockClass:r,blockSelector:s,unblockSelector:i,selectionCb:o}=e;let a=!0;const c=xe(()=>{const l=t.getSelection();if(!l||a&&(l!=null&&l.isCollapsed))return;a=l.isCollapsed||!1;const u=[],f=l.rangeCount||0;for(let d=0;d{}:Xd(n.customElements,"define",function(s){return function(i,o,a){try{t({define:{name:i}})}catch{}return s.apply(this,[i,o,a])}})}function GD(e,t={}){const n=e.doc.defaultView;if(!n)return()=>{};let r;e.recordDOM&&(r=yE(e,e.doc));const s=DD(e),i=FD(e),o=vE(e),a=$D(e,{win:n}),c=HD(e),l=WD(e);let u=()=>{},f=()=>{},d=()=>{},h=()=>{};e.recordDOM&&(u=VD(e,{win:n}),f=_E(e,e.doc),d=UD(e,{win:n}),e.collectFonts&&(h=jD(e)));const p=zD(e),m=qD(e),y=[];for(const g of e.plugins)y.push(g.observer(g.callback,n,g.options));return xe(()=>{Us.forEach(g=>g.reset()),r==null||r.disconnect(),s(),i(),o(),a(),c(),l(),u(),f(),d(),h(),p(),m(),y.forEach(g=>g())})}function va(e){return typeof window[e]<"u"}function _a(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}class mf{constructor(t){this.generateIdFn=t,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(t,n,r,s){const i=r||this.getIdToRemoteIdMap(t),o=s||this.getRemoteIdToIdMap(t);let a=i.get(n);return a||(a=this.generateIdFn(),i.set(n,a),o.set(a,n)),a}getIds(t,n){const r=this.getIdToRemoteIdMap(t),s=this.getRemoteIdToIdMap(t);return n.map(i=>this.getId(t,i,r,s))}getRemoteId(t,n,r){const s=r||this.getRemoteIdToIdMap(t);if(typeof n!="number")return n;const i=s.get(n);return i||-1}getRemoteIds(t,n){const r=this.getRemoteIdToIdMap(t);return n.map(s=>this.getRemoteId(t,s,r))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let n=this.iframeIdToRemoteIdMap.get(t);return n||(n=new Map,this.iframeIdToRemoteIdMap.set(t,n)),n}getRemoteIdToIdMap(t){let n=this.iframeRemoteIdToIdMap.get(t);return n||(n=new Map,this.iframeRemoteIdToIdMap.set(t,n)),n}}class KD{constructor(){this.crossOriginIframeMirror=new mf(Yd),this.crossOriginIframeRootIdMap=new WeakMap}addIframe(){}addLoadListener(){}attachIframe(){}}class YD{constructor(t){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new mf(Yd),this.crossOriginIframeRootIdMap=new WeakMap,this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new mf(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,n){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:n}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t);const r=Zd(t);r&&r.adoptedStyleSheets&&r.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(r.adoptedStyleSheets,this.mirror.getId(r))}handleMessage(t){const n=t;if(n.data.type!=="rrweb"||n.origin!==n.data.origin||!t.source)return;const s=this.crossOriginIframeMap.get(t.source);if(!s)return;const i=this.transformCrossOriginEvent(s,n.data.event);i&&this.wrappedEmit(i,n.data.isCheckout)}transformCrossOriginEvent(t,n){var r;switch(n.type){case we.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(n.data.node,t);const s=n.data.node.id;return this.crossOriginIframeRootIdMap.set(t,s),this.patchRootIdOnNode(n.data.node,s),{timestamp:n.timestamp,type:we.IncrementalSnapshot,data:{source:ye.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:n.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case we.Meta:case we.Load:case we.DomContentLoaded:return!1;case we.Plugin:return n;case we.Custom:return this.replaceIds(n.data.payload,t,["id","parentId","previousId","nextId"]),n;case we.IncrementalSnapshot:switch(n.data.source){case ye.Mutation:return n.data.adds.forEach(s=>{this.replaceIds(s,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(s.node,t);const i=this.crossOriginIframeRootIdMap.get(t);i&&this.patchRootIdOnNode(s.node,i)}),n.data.removes.forEach(s=>{this.replaceIds(s,t,["parentId","id"])}),n.data.attributes.forEach(s=>{this.replaceIds(s,t,["id"])}),n.data.texts.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case ye.Drag:case ye.TouchMove:case ye.MouseMove:return n.data.positions.forEach(s=>{this.replaceIds(s,t,["id"])}),n;case ye.ViewportResize:return!1;case ye.MediaInteraction:case ye.MouseInteraction:case ye.Scroll:case ye.CanvasMutation:case ye.Input:return this.replaceIds(n.data,t,["id"]),n;case ye.StyleSheetRule:case ye.StyleDeclaration:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleId"]),n;case ye.Font:return n;case ye.Selection:return n.data.ranges.forEach(s=>{this.replaceIds(s,t,["start","end"])}),n;case ye.AdoptedStyleSheet:return this.replaceIds(n.data,t,["id"]),this.replaceStyleIds(n.data,t,["styleIds"]),(r=n.data.styles)==null||r.forEach(s=>{this.replaceStyleIds(s,t,["styleId"])}),n}}return!1}replace(t,n,r,s){for(const i of s)!Array.isArray(n[i])&&typeof n[i]!="number"||(Array.isArray(n[i])?n[i]=t.getIds(r,n[i]):n[i]=t.getId(r,n[i]));return n}replaceIds(t,n,r){return this.replace(this.crossOriginIframeMirror,t,n,r)}replaceStyleIds(t,n,r){return this.replace(this.crossOriginIframeStyleMirror,t,n,r)}replaceIdOnNode(t,n){this.replaceIds(t,n,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(r=>{this.replaceIdOnNode(r,n)})}patchRootIdOnNode(t,n){t.type!==it.Document&&!t.rootId&&(t.rootId=n),"childNodes"in t&&t.childNodes.forEach(r=>{this.patchRootIdOnNode(r,n)})}}class XD{init(){}addShadowRoot(){}observeAttachShadow(){}reset(){}}class JD{constructor(t){this.shadowDoms=new WeakSet,this.restoreHandlers=[],this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,n){if(!so(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t),this.bypassOptions.canvasManager.addShadowRoot(t);const r=yE({...this.bypassOptions,doc:n,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>r.disconnect()),this.restoreHandlers.push(vE({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),ol(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(t.host)),this.restoreHandlers.push(_E({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){const n=Zd(t),r=AD(t);!n||!r||this.patchAttachShadow(r.Element,n)}patchAttachShadow(t,n){const r=this;this.restoreHandlers.push(Xd(t.prototype,"attachShadow",function(s){return function(i){const o=s.call(this,i);return this.shadowRoot&&mE(this)&&r.addShadowRoot(this.shadowRoot,n),o}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet,this.bypassOptions.canvasManager.resetShadowRoots()}}var Og="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",ZD=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var ba=0;ba({rule:ZS(a),index:c}))})),r.styleIds.push(o)}s.length>0&&(r.styles=s),this.adoptedStyleSheetCb(r)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}}class eF{constructor(){this.nodeMap=new WeakMap,this.active=!1}inOtherBuffer(t,n){const r=this.nodeMap.get(t);return r&&Array.from(r).some(s=>s!==n)}add(t,n){this.active||(this.active=!0,xD(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(n))}destroy(){}}let et,Ec;var Zg;try{if(Array.from([1],e=>e*2)[0]!==2){const e=document.createElement("iframe");document.body.appendChild(e),Array.from=((Zg=e.contentWindow)==null?void 0:Zg.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}const ln=ZL();function Yn(e={}){const{emit:t,checkoutEveryNms:n,checkoutEveryNth:r,blockClass:s="rr-block",blockSelector:i=null,unblockSelector:o=null,ignoreClass:a="rr-ignore",ignoreSelector:c=null,maskAllText:l=!1,maskTextClass:u="rr-mask",unmaskTextClass:f=null,maskTextSelector:d=null,unmaskTextSelector:h=null,inlineStylesheet:p=!0,maskAllInputs:m,maskInputOptions:y,slimDOMOptions:g,maskAttributeFn:v,maskInputFn:_,maskTextFn:T,maxCanvasSize:O=null,packFn:R,sampling:E={},dataURLOptions:w={},mousemoveWait:I,recordDOM:A=!0,recordCanvas:M=!1,recordCrossOriginIframes:x=!1,recordAfter:N=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:L=!1,collectFonts:G=!1,inlineImages:J=!1,plugins:j,keepIframeSrcFn:D=()=>!1,ignoreCSSAttributes:ae=new Set([]),errorHandler:q,onMutation:ce,getCanvasManager:le}=e;ND(q);const ve=x?window.parent===window:!0;let Me=!1;if(!ve)try{window.parent.document&&(Me=!1)}catch{Me=!0}if(ve&&!t)throw new Error("emit function is required");if(!ve&&!Me)return()=>{};I!==void 0&&E.mousemove===void 0&&(E.mousemove=I),ln.reset();const Fe=m===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:y!==void 0?y:{},Ge=g===!0||g==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:g==="all",headMetaDescKeywords:g==="all"}:g||{};TD();let C,W=0;const z=B=>{for(const V of j||[])V.eventProcessor&&(B=V.eventProcessor(B));return R&&!Me&&(B=R(B)),B};et=(B,V)=>{var Y;const K=B;if(K.timestamp=bc(),(Y=Us[0])!=null&&Y.isFrozen()&&K.type!==we.FullSnapshot&&!(K.type===we.IncrementalSnapshot&&K.data.source===ye.Mutation)&&Us.forEach(se=>se.unfreeze()),ve)t==null||t(z(K),V);else if(Me){const se={type:"rrweb",event:z(K),origin:window.location.origin,isCheckout:V};window.parent.postMessage(se,"*")}if(K.type===we.FullSnapshot)C=K,W=0;else if(K.type===we.IncrementalSnapshot){if(K.data.source===ye.Mutation&&K.data.isAttachIframe)return;W++;const se=r&&W>=r,te=n&&C&&K.timestamp-C.timestamp>n;(se||te)&&Z(!0)}};const re=B=>{et({type:we.IncrementalSnapshot,data:{source:ye.Mutation,...B}})},_e=B=>et({type:we.IncrementalSnapshot,data:{source:ye.Scroll,...B}}),b=B=>et({type:we.IncrementalSnapshot,data:{source:ye.CanvasMutation,...B}}),S=B=>et({type:we.IncrementalSnapshot,data:{source:ye.AdoptedStyleSheet,...B}}),k=new QD({mutationCb:re,adoptedStyleSheetCb:S}),P=typeof __RRWEB_EXCLUDE_IFRAME__=="boolean"&&__RRWEB_EXCLUDE_IFRAME__?new KD:new YD({mirror:ln,mutationCb:re,stylesheetManager:k,recordCrossOriginIframes:x,wrappedEmit:et});for(const B of j||[])B.getMirror&&B.getMirror({nodeMirror:ln,crossOriginIframeMirror:P.crossOriginIframeMirror,crossOriginIframeStyleMirror:P.crossOriginIframeStyleMirror});const H=new eF,$=nF(le,{mirror:ln,win:window,mutationCb:B=>et({type:we.IncrementalSnapshot,data:{source:ye.CanvasMutation,...B}}),recordCanvas:M,blockClass:s,blockSelector:i,unblockSelector:o,maxCanvasSize:O,sampling:E.canvas,dataURLOptions:w,errorHandler:q}),ee=typeof __RRWEB_EXCLUDE_SHADOW_DOM__=="boolean"&&__RRWEB_EXCLUDE_SHADOW_DOM__?new XD:new JD({mutationCb:re,scrollCb:_e,bypassOptions:{onMutation:ce,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:l,maskTextClass:u,unmaskTextClass:f,maskTextSelector:d,unmaskTextSelector:h,inlineStylesheet:p,maskInputOptions:Fe,dataURLOptions:w,maskAttributeFn:v,maskTextFn:T,maskInputFn:_,recordCanvas:M,inlineImages:J,sampling:E,slimDOMOptions:Ge,iframeManager:P,stylesheetManager:k,canvasManager:$,keepIframeSrcFn:D,processedNodeManager:H,ignoreCSSAttributes:ae},mirror:ln}),Z=(B=!1)=>{if(!A)return;et({type:we.Meta,data:{href:window.location.href,width:lE(),height:cE()}},B),k.reset(),ee.init(),Us.forEach(K=>K.lock());const V=ED(document,{mirror:ln,blockClass:s,blockSelector:i,unblockSelector:o,maskAllText:l,maskTextClass:u,unmaskTextClass:f,maskTextSelector:d,unmaskTextSelector:h,inlineStylesheet:p,maskAllInputs:Fe,maskAttributeFn:v,maskInputFn:_,maskTextFn:T,slimDOM:Ge,dataURLOptions:w,recordCanvas:M,inlineImages:J,onSerialize:K=>{dE(K,ln)&&P.addIframe(K),hE(K,ln)&&k.trackLinkElement(K),hf(K)&&ee.addShadowRoot(K.shadowRoot,document)},onIframeLoad:(K,Y)=>{P.attachIframe(K,Y),K.contentWindow&&$.addWindow(K.contentWindow),ee.observeAttachShadow(K)},onStylesheetLoad:(K,Y)=>{k.attachLinkElement(K,Y)},onBlockedImageLoad:(K,Y,{width:se,height:te})=>{re({adds:[],removes:[],texts:[],attributes:[{id:Y.id,attributes:{style:{width:`${se}px`,height:`${te}px`}}}]})},keepIframeSrcFn:D,ignoreCSSAttributes:ae});if(!V)return console.warn("Failed to snapshot the document");et({type:we.FullSnapshot,data:{node:V,initialOffset:aE(window)}}),Us.forEach(K=>K.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&k.adoptStyleSheets(document.adoptedStyleSheets,ln.getId(document))};Ec=Z;try{const B=[],V=Y=>{var se;return xe(GD)({onMutation:ce,mutationCb:re,mousemoveCb:(te,Te)=>et({type:we.IncrementalSnapshot,data:{source:Te,positions:te}}),mouseInteractionCb:te=>et({type:we.IncrementalSnapshot,data:{source:ye.MouseInteraction,...te}}),scrollCb:_e,viewportResizeCb:te=>et({type:we.IncrementalSnapshot,data:{source:ye.ViewportResize,...te}}),inputCb:te=>et({type:we.IncrementalSnapshot,data:{source:ye.Input,...te}}),mediaInteractionCb:te=>et({type:we.IncrementalSnapshot,data:{source:ye.MediaInteraction,...te}}),styleSheetRuleCb:te=>et({type:we.IncrementalSnapshot,data:{source:ye.StyleSheetRule,...te}}),styleDeclarationCb:te=>et({type:we.IncrementalSnapshot,data:{source:ye.StyleDeclaration,...te}}),canvasMutationCb:b,fontCb:te=>et({type:we.IncrementalSnapshot,data:{source:ye.Font,...te}}),selectionCb:te=>{et({type:we.IncrementalSnapshot,data:{source:ye.Selection,...te}})},customElementCb:te=>{et({type:we.IncrementalSnapshot,data:{source:ye.CustomElement,...te}})},blockClass:s,ignoreClass:a,ignoreSelector:c,maskAllText:l,maskTextClass:u,unmaskTextClass:f,maskTextSelector:d,unmaskTextSelector:h,maskInputOptions:Fe,inlineStylesheet:p,sampling:E,recordDOM:A,recordCanvas:M,inlineImages:J,userTriggeredOnInput:L,collectFonts:G,doc:Y,maskAttributeFn:v,maskInputFn:_,maskTextFn:T,keepIframeSrcFn:D,blockSelector:i,unblockSelector:o,slimDOMOptions:Ge,dataURLOptions:w,mirror:ln,iframeManager:P,stylesheetManager:k,shadowDomManager:ee,processedNodeManager:H,canvasManager:$,ignoreCSSAttributes:ae,plugins:((se=j==null?void 0:j.filter(te=>te.observer))==null?void 0:se.map(te=>({observer:te.observer,options:te.options,callback:Te=>et({type:we.Plugin,data:{plugin:te.name,payload:Te}})})))||[]},{})};P.addLoadListener(Y=>{try{B.push(V(Y.contentDocument))}catch(se){console.warn(se)}});const K=()=>{Z(),B.push(V(document))};return document.readyState==="interactive"||document.readyState==="complete"?K():(B.push(Mt("DOMContentLoaded",()=>{et({type:we.DomContentLoaded,data:{}}),N==="DOMContentLoaded"&&K()})),B.push(Mt("load",()=>{et({type:we.Load,data:{}}),N==="load"&&K()},window))),()=>{B.forEach(Y=>Y()),H.destroy(),Ec=void 0,LD()}}catch(B){console.warn(B)}}function tF(e){if(!Ec)throw new Error("please take full snapshot after start recording");Ec(e)}Yn.mirror=ln;Yn.takeFullSnapshot=tF;function nF(e,t){try{return e?e(t):new Mg}catch{return console.warn("Unable to initialize CanvasManager"),new Mg}}var Pg;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Pg||(Pg={}));const rF=3,sF=5;function Qd(e){return e>9999999999?e:e*1e3}function tu(e){return e>9999999999?e/1e3:e}function ta(e,t){t.category!=="sentry.transaction"&&(["ui.click","ui.input"].includes(t.category)?e.triggerUserActivity():e.checkAndHandleExpiredSession(),e.addUpdate(()=>(e.throttledAddEvent({type:we.Custom,timestamp:(t.timestamp||0)*1e3,data:{tag:"breadcrumb",payload:un(t,10,1e3)}}),t.category==="console")))}const iF="button,a";function bE(e){return e.closest(iF)||e}function SE(e){const t=EE(e);return!t||!(t instanceof Element)?t:bE(t)}function EE(e){return oF(e)?e.target:e}function oF(e){return typeof e=="object"&&!!e&&"target"in e}let Sr;function aF(e){return Sr||(Sr=[],cF()),Sr.push(e),()=>{const t=Sr?Sr.indexOf(e):-1;t>-1&&Sr.splice(t,1)}}function cF(){$t(je,"open",function(e){return function(...t){if(Sr)try{Sr.forEach(n=>n())}catch{}return e.apply(je,t)}})}const lF=new Set([ye.Mutation,ye.StyleSheetRule,ye.StyleDeclaration,ye.AdoptedStyleSheet,ye.CanvasMutation,ye.Selection,ye.MediaInteraction]);function uF(e,t,n){e.handleClick(t,n)}class fF{constructor(t,n,r=ta){this._lastMutation=0,this._lastScroll=0,this._clicks=[],this._timeout=n.timeout/1e3,this._threshold=n.threshold/1e3,this._scrollTimeout=n.scrollTimeout/1e3,this._replay=t,this._ignoreSelector=n.ignoreSelector,this._addBreadcrumbEvent=r}addListeners(){const t=aF(()=>{this._lastMutation=Ng()});this._teardown=()=>{t(),this._clicks=[],this._lastMutation=0,this._lastScroll=0}}removeListeners(){this._teardown&&this._teardown(),this._checkClickTimeout&&clearTimeout(this._checkClickTimeout)}handleClick(t,n){if(hF(n,this._ignoreSelector)||!pF(t))return;const r={timestamp:tu(t.timestamp),clickBreadcrumb:t,clickCount:0,node:n};this._clicks.some(s=>s.node===r.node&&Math.abs(s.timestamp-r.timestamp)<1)||(this._clicks.push(r),this._clicks.length===1&&this._scheduleCheckClicks())}registerMutation(t=Date.now()){this._lastMutation=tu(t)}registerScroll(t=Date.now()){this._lastScroll=tu(t)}registerClick(t){const n=bE(t);this._handleMultiClick(n)}_handleMultiClick(t){this._getClicks(t).forEach(n=>{n.clickCount++})}_getClicks(t){return this._clicks.filter(n=>n.node===t)}_checkClicks(){const t=[],n=Ng();this._clicks.forEach(r=>{!r.mutationAfter&&this._lastMutation&&(r.mutationAfter=r.timestamp<=this._lastMutation?this._lastMutation-r.timestamp:void 0),!r.scrollAfter&&this._lastScroll&&(r.scrollAfter=r.timestamp<=this._lastScroll?this._lastScroll-r.timestamp:void 0),r.timestamp+this._timeout<=n&&t.push(r)});for(const r of t){const s=this._clicks.indexOf(r);s>-1&&(this._generateBreadcrumbs(r),this._clicks.splice(s,1))}this._clicks.length&&this._scheduleCheckClicks()}_generateBreadcrumbs(t){const n=this._replay,r=t.scrollAfter&&t.scrollAfter<=this._scrollTimeout,s=t.mutationAfter&&t.mutationAfter<=this._threshold,i=!r&&!s,{clickCount:o,clickBreadcrumb:a}=t;if(i){const c=Math.min(t.mutationAfter||this._timeout,this._timeout)*1e3,l=c1){const c={type:"default",message:a.message,timestamp:a.timestamp,category:"ui.multiClick",data:{...a.data,url:je.location.href,route:n.getCurrentRoute(),clickCount:o,metric:!0}};this._addBreadcrumbEvent(n,c)}}_scheduleCheckClicks(){this._checkClickTimeout&&clearTimeout(this._checkClickTimeout),this._checkClickTimeout=Qo(()=>this._checkClicks(),1e3)}}const dF=["A","BUTTON","INPUT"];function hF(e,t){return!!(!dF.includes(e.tagName)||e.tagName==="INPUT"&&!["submit","button"].includes(e.getAttribute("type")||"")||e.tagName==="A"&&(e.hasAttribute("download")||e.hasAttribute("target")&&e.getAttribute("target")!=="_self")||t&&e.matches(t))}function pF(e){return!!(e.data&&typeof e.data.nodeId=="number"&&e.timestamp)}function Ng(){return Date.now()/1e3}function mF(e,t){try{if(!gF(t))return;const{source:n}=t.data;if(lF.has(n)&&e.registerMutation(t.timestamp),n===ye.Scroll&&e.registerScroll(t.timestamp),yF(t)){const{type:r,id:s}=t.data,i=Yn.mirror.getNode(s);i instanceof HTMLElement&&r===xt.Click&&e.registerClick(i)}}catch{}}function gF(e){return e.type===rF}function yF(e){return e.data.source===ye.MouseInteraction}function An(e){return{timestamp:Date.now()/1e3,type:"default",...e}}var eh=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(eh||{});const vF=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid","disabled","aria-disabled","data-sentry-component"]);function _F(e){const t={};!e["data-sentry-component"]&&e["data-sentry-element"]&&(e["data-sentry-component"]=e["data-sentry-element"]);for(const n in e)if(vF.has(n)){let r=n;(n==="data-testid"||n==="data-test-id")&&(r="testId"),t[r]=e[n]}return t}const bF=e=>t=>{if(!e.isEnabled())return;const n=SF(t);if(!n)return;const r=t.name==="click",s=r?t.event:void 0;r&&e.clickDetector&&(s!=null&&s.target)&&!s.altKey&&!s.metaKey&&!s.ctrlKey&&!s.shiftKey&&uF(e.clickDetector,n,SE(t.event)),ta(e,n)};function wE(e,t){const n=Yn.mirror.getId(e),r=n&&Yn.mirror.getNode(n),s=r&&Yn.mirror.getMeta(r),i=s&&wF(s)?s:null;return{message:t,data:i?{nodeId:n,node:{id:n,tagName:i.tagName,textContent:Array.from(i.childNodes).map(o=>o.type===eh.Text&&o.textContent).filter(Boolean).map(o=>o.trim()).join(""),attributes:_F(i.attributes)}}:{}}}function SF(e){const{target:t,message:n}=EF(e);return An({category:`ui.${e.name}`,...wE(t,n)})}function EF(e){const t=e.name==="click";let n,r=null;try{r=t?SE(e.event):EE(e.event),n=Ht(r,{maxStringLength:200})||""}catch{n=""}return{target:r,message:n}}function wF(e){return e.type===eh.Element}function TF(e,t){if(!e.isEnabled())return;e.updateUserActivity();const n=CF(t);n&&ta(e,n)}function CF(e){const{metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i,target:o}=e;if(!o||IF(o)||!i)return null;const a=t||r||s,c=i.length===1;if(!a&&c)return null;const l=Ht(o,{maxStringLength:200})||"",u=wE(o,l);return An({category:"ui.keyDown",message:l,data:{...u.data,metaKey:t,shiftKey:n,ctrlKey:r,altKey:s,key:i}})}function IF(e){return e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable}const kF={resource:MF,paint:AF,navigation:OF};function nu(e,t){return({metric:n})=>void t.replayPerformanceEntries.push(e(n))}function xF(e){return e.map(RF).filter(Boolean)}function RF(e){const t=kF[e.entryType];return t?t(e):null}function hi(e){return((Ut()||je.performance.timeOrigin)+e)/1e3}function AF(e){const{duration:t,entryType:n,name:r,startTime:s}=e,i=hi(s);return{type:n,name:r,start:i,end:i+t,data:void 0}}function OF(e){const{entryType:t,name:n,decodedBodySize:r,duration:s,domComplete:i,encodedBodySize:o,domContentLoadedEventStart:a,domContentLoadedEventEnd:c,domInteractive:l,loadEventStart:u,loadEventEnd:f,redirectCount:d,startTime:h,transferSize:p,type:m}=e;return s===0?null:{type:`${t}.${m}`,start:hi(h),end:hi(i),name:n,data:{size:p,decodedBodySize:r,encodedBodySize:o,duration:s,domInteractive:l,domContentLoadedEventStart:a,domContentLoadedEventEnd:c,loadEventStart:u,loadEventEnd:f,domComplete:i,redirectCount:d}}}function MF(e){const{entryType:t,initiatorType:n,name:r,responseEnd:s,startTime:i,decodedBodySize:o,encodedBodySize:a,responseStatus:c,transferSize:l}=e;return["fetch","xmlhttprequest"].includes(n)?null:{type:`${t}.${n}`,start:hi(i),end:hi(s),name:r,data:{size:l,statusCode:c,decodedBodySize:o,encodedBodySize:a}}}function PF(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.element?[t.element]:void 0;return th(e,"largest-contentful-paint",n)}function NF(e){return e.sources!==void 0}function LF(e){const t=[],n=[];for(const r of e.entries)if(NF(r)){const s=[];for(const i of r.sources)if(i.node){n.push(i.node);const o=Yn.mirror.getId(i.node);o&&s.push(o)}t.push({value:r.value,nodeIds:s.length?s:void 0})}return th(e,"cumulative-layout-shift",n,t)}function DF(e){const t=e.entries[e.entries.length-1],n=t!=null&&t.target?[t.target]:void 0;return th(e,"interaction-to-next-paint",n)}function th(e,t,n,r){const s=e.value,i=e.rating,o=hi(s);return{type:"web-vital",name:t,start:o,end:o,data:{value:s,size:s,rating:i,nodeIds:n?n.map(a=>Yn.mirror.getId(a)):void 0,attributions:r}}}function FF(e){function t(s){e.performanceEntries.includes(s)||e.performanceEntries.push(s)}function n({entries:s}){s.forEach(t)}const r=[];return["navigation","paint","resource"].forEach(s=>{r.push(gs(s,n))}),r.push(Wd(nu(PF,e)),Ud(nu(LF,e)),DS(nu(DF,e))),()=>{r.forEach(s=>s())}}const de=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,$F='var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s<31;++s)i[s]=e+=1<>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s>f]=l}else for(o=new n(i),s=0;s>15-t[s]);return o},p=new t(288);for(c=0;c<144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;sd&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1<e))break;w+=m-(1<>=y;w>0;){var M=o[s].s;p[M]=0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h<=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1<7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;Pnt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q]<<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if("function"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,s=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),a=s.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(s,n),O(s,a-8,r.d()),O(s,a-4,e),s}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){j.prototype.flush.call(this)},t}(),G="undefined"!=typeof TextEncoder&&new TextEncoder,H="undefined"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(G)return G.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;oi.length){var h=new t(s+8+(e-o<<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f<57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const n=this._hasEvents?",":"";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push("]",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n{this._deflatedData.push(t)},this.stream=new J((t,n)=>{this.deflate.push(t,n)}),this.stream.push("[")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener("message",function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&"function"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}}),postMessage({id:void 0,method:"init",success:!0,response:void 0});';function BF(){const e=new Blob([$F]);return URL.createObjectURL(e)}const Lg=["log","warn","error"],Ha="[Replay] ";function ru(e,t="info"){Or({category:"console",data:{logger:"replay"},level:t,message:`${Ha}${e}`},{level:t})}function HF(){let e=!1,t=!1;const n={exception:()=>{},infoTick:()=>{},setConfig:r=>{e=!!r.captureExceptions,t=!!r.traceInternals}};return de?(Lg.forEach(r=>{n[r]=(...s)=>{X[r](Ha,...s),t&&ru(s.join(""),_S(r))}}),n.exception=(r,...s)=>{s.length&&n.error&&n.error(...s),X.error(Ha,r),e?el(r,{mechanism:{handled:!0,type:"auto.function.replay.debug"}}):t&&ru(r,"error")},n.infoTick=(...r)=>{X.log(Ha,...r),t&&setTimeout(()=>ru(r[0]),0)}):Lg.forEach(r=>{n[r]=()=>{}}),n}const he=HF();class nh extends Error{constructor(){super(`Event buffer exceeded maximum size of ${Gd}.`)}}class TE{constructor(){this.events=[],this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}async addEvent(t){const n=JSON.stringify(t).length;if(this._totalSize+=n,this._totalSize>Gd)throw new nh;this.events.push(t)}finish(){return new Promise(t=>{const n=this.events;this.clear(),t(JSON.stringify(n))})}clear(){this.events=[],this._totalSize=0,this.hasCheckout=!1}getEarliestTimestamp(){const t=this.events.map(n=>n.timestamp).sort()[0];return t?Qd(t):null}}class VF{constructor(t){this._worker=t,this._id=0}ensureReady(){return this._ensureReadyPromise?this._ensureReadyPromise:(this._ensureReadyPromise=new Promise((t,n)=>{this._worker.addEventListener("message",({data:r})=>{r.success?t():n()},{once:!0}),this._worker.addEventListener("error",r=>{n(r)},{once:!0})}),this._ensureReadyPromise)}destroy(){de&&he.log("Destroying compression worker"),this._worker.terminate()}postMessage(t,n){const r=this._getAndIncrementId();return new Promise((s,i)=>{const o=({data:a})=>{const c=a;if(c.method===t&&c.id===r){if(this._worker.removeEventListener("message",o),!c.success){de&&he.error("Error in compression worker: ",c.response),i(new Error("Error in compression worker"));return}s(c.response)}};this._worker.addEventListener("message",o),this._worker.postMessage({id:r,method:t,arg:n})})}_getAndIncrementId(){return this._id++}}class UF{constructor(t){this._worker=new VF(t),this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this.waitForCheckout=!1}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(t){const n=Qd(t.timestamp);(!this._earliestTimestamp||nGd?Promise.reject(new nh):this._sendEventToWorker(r)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._totalSize=0,this.hasCheckout=!1,this._worker.postMessage("clear").then(null,t=>{de&&he.exception(t,'Sending "clear" message to worker failed',t)})}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(t){return this._worker.postMessage("addEvent",t)}async _finishRequest(){const t=await this._worker.postMessage("finish");return this._earliestTimestamp=null,this._totalSize=0,t}}class WF{constructor(t){this._fallback=new TE,this._compression=new UF(t),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get waitForCheckout(){return this._used.waitForCheckout}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}get hasCheckout(){return this._used.hasCheckout}set hasCheckout(t){this._used.hasCheckout=t}set waitForCheckout(t){this._used.waitForCheckout=t}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(t){return this._used.addEvent(t)}async finish(){return await this.ensureWorkerIsLoaded(),this._used.finish()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}async _ensureWorkerIsLoaded(){try{await this._compression.ensureReady()}catch(t){de&&he.exception(t,"Failed to load the compression worker, falling back to simple buffer");return}await this._switchToCompressionWorker()}async _switchToCompressionWorker(){const{events:t,hasCheckout:n,waitForCheckout:r}=this._fallback,s=[];for(const i of t)s.push(this._compression.addEvent(i));this._compression.hasCheckout=n,this._compression.waitForCheckout=r,this._used=this._compression;try{await Promise.all(s),this._fallback.clear()}catch(i){de&&he.exception(i,"Failed to add events when switching buffers.")}}}function jF({useCompression:e,workerUrl:t}){if(e&&window.Worker){const n=zF(t);if(n)return n}return de&&he.log("Using simple buffer"),new TE}function zF(e){try{const t=e||qF();if(!t)return;de&&he.log(`Using compression worker${e?` from ${e}`:""}`);const n=new Worker(t);return new WF(n)}catch(t){de&&he.exception(t,"Failed to create compression worker")}}function qF(){return typeof __SENTRY_EXCLUDE_REPLAY_WORKER__>"u"||!__SENTRY_EXCLUDE_REPLAY_WORKER__?BF():""}function rh(){try{return"sessionStorage"in je&&!!je.sessionStorage}catch{return!1}}function GF(e){KF(),e.session=void 0}function KF(){if(rh())try{je.sessionStorage.removeItem(zd)}catch{}}function CE(e){return e===void 0?!1:Math.random()e.getContext().initialTimestamp+e.getOptions().maxReplayDuration?(de&&he.infoTick(`Skipping event with timestamp ${n} because it is after maxReplayDuration`),!1):!0}function QF(e,t){try{if(typeof t=="function"&&JF(e))return t(e)}catch(n){return de&&he.exception(n,"An error occurred in the `beforeAddRecordingEvent` callback, skipping the event..."),null}return e}function ih(e){return!e.type}function yf(e){return e.type==="transaction"}function e$(e){return e.type==="replay_event"}function Fg(e){return e.type==="feedback"}function t$(e){return(t,n)=>{if(!e.isEnabled()||!ih(t)&&!yf(t))return;const r=n.statusCode;if(!(!r||r<200||r>=300)){if(yf(t)){n$(e,t);return}r$(e,t)}}}function n$(e,t){var r,s;const n=e.getContext();(s=(r=t.contexts)==null?void 0:r.trace)!=null&&s.trace_id&&n.traceIds.size<100&&n.traceIds.add(t.contexts.trace.trace_id)}function r$(e,t){const n=e.getContext();if(t.event_id&&n.errorIds.size<100&&n.errorIds.add(t.event_id),e.recordingMode!=="buffer"||!t.tags||!t.tags.replayId)return;const{beforeErrorSampling:r}=e.getOptions();typeof r=="function"&&!r(t)||Qo(async()=>{try{await e.sendBufferedReplayOrFlush()}catch(s){e.handleException(s)}})}function s$(e){return t=>{!e.isEnabled()||!ih(t)||i$(e,t)}}function i$(e,t){var r,s,i;const n=(i=(s=(r=t.exception)==null?void 0:r.values)==null?void 0:s[0])==null?void 0:i.value;if(typeof n=="string"&&(n.match(/(reactjs\.org\/docs\/error-decoder\.html\?invariant=|react\.dev\/errors\/)(418|419|422|423|425)/)||n.match(/(does not match server-rendered HTML|Hydration failed because)/i))){const o=An({category:"replay.hydrate-error",data:{url:Ii()}});ta(e,o)}}function o$(e){const t=Ie();t&&t.on("beforeAddBreadcrumb",n=>a$(e,n))}function a$(e,t){if(!e.isEnabled()||!OE(t))return;const n=c$(t);n&&ta(e,n)}function c$(e){return!OE(e)||["fetch","xhr","sentry.event","sentry.transaction"].includes(e.category)||e.category.startsWith("ui.")?null:e.category==="console"?l$(e):An(e)}function l$(e){var s;const t=(s=e.data)==null?void 0:s.arguments;if(!Array.isArray(t)||t.length===0)return An(e);let n=!1;const r=t.map(i=>{if(!i)return i;if(typeof i=="string")return i.length>ya?(n=!0,`${i.slice(0,ya)}…`):i;if(typeof i=="object")try{const o=un(i,7);return JSON.stringify(o).length>ya?(n=!0,`${JSON.stringify(o,null,2).slice(0,ya)}…`):o}catch{}return i});return An({...e,data:{...e.data,arguments:r,...n?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}function OE(e){return!!e.category}function u$(e,t){var n,r,s;return e.type||!((r=(n=e.exception)==null?void 0:n.values)!=null&&r.length)?!1:!!((s=t.originalException)!=null&&s.__rrweb__)}function ME(){const e=De().getPropagationContext().dsc;e&&delete e.replay_id;const t=bt();if(t){const n=sr(t);delete n.replay_id}}function f$(e,t){e.triggerUserActivity(),e.addUpdate(()=>t.timestamp?(e.throttledAddEvent({type:we.Custom,timestamp:t.timestamp*1e3,data:{tag:"breadcrumb",payload:{timestamp:t.timestamp,type:"default",category:"sentry.feedback",data:{feedbackId:t.event_id}}}}),!1):!0)}function d$(e,t){return e.recordingMode!=="buffer"||t.message===qd||!t.exception||t.type?!1:CE(e.getOptions().errorSampleRate)}function h$(e){return Object.assign((t,n)=>{var o;if(!e.isEnabled()||e.isPaused())return t;if(e$(t))return delete t.breadcrumbs,t;if(!ih(t)&&!yf(t)&&!Fg(t))return t;if(!e.checkAndHandleExpiredSession())return ME(),t;if(Fg(t))return e.flush(),t.contexts.feedback.replay_id=e.getSessionId(),f$(e,t),t;if(u$(t,n)&&!e.getOptions()._experiments.captureExceptions)return de&&he.log("Ignoring error from rrweb internals",t),null;const s=d$(e,t);if((s||e.recordingMode==="session")&&(t.tags={...t.tags,replayId:e.getSessionId()}),s&&e.recordingMode==="buffer"&&((o=e.session)==null?void 0:o.sampled)==="buffer"){const a=e.session;a.dirty=!0,e.getOptions().stickySession&&al(a)}return t},{id:"Replay"})}function cl(e,t){return t.map(({type:n,start:r,end:s,name:i,data:o})=>{const a=e.throttledAddEvent({type:we.Custom,timestamp:r,data:{tag:"performanceSpan",payload:{op:n,description:i,startTimestamp:r,endTimestamp:s,data:o}}});return typeof a=="string"?Promise.resolve(null):a})}function p$(e){const{from:t,to:n}=e,r=Date.now()/1e3;return{type:"navigation.push",start:r,end:r,name:n,data:{previous:t}}}function m$(e){return t=>{if(!e.isEnabled())return;const n=p$(t);n!==null&&(e.getContext().urls.push(n.name),e.triggerUserActivity(),e.addUpdate(()=>(cl(e,[n]),!1)))}}function g$(e,t){return de&&e.getOptions()._experiments.traceInternals?!1:iM(t,Ie())}function PE(e,t){e.isEnabled()&&t!==null&&(g$(e,t.name)||e.addUpdate(()=>(cl(e,[t]),!0)))}function ll(e){if(!e)return;const t=new TextEncoder;try{if(typeof e=="string")return t.encode(e).length;if(e instanceof URLSearchParams)return t.encode(e.toString()).length;if(e instanceof FormData){const n=zS(e);return t.encode(n).length}if(e instanceof Blob)return e.size;if(e instanceof ArrayBuffer)return e.byteLength}catch{}}function NE(e){if(!e)return;const t=parseInt(e,10);return isNaN(t)?void 0:t}function wc(e,t){if(!e)return{headers:{},size:void 0,_meta:{warnings:[t]}};const n={...e._meta},r=n.warnings||[];return n.warnings=[...r,t],e._meta=n,e}function LE(e,t){if(!t)return null;const{startTimestamp:n,endTimestamp:r,url:s,method:i,statusCode:o,request:a,response:c}=t;return{type:e,start:n/1e3,end:r/1e3,name:s,data:{method:i,statusCode:o,request:a,response:c}}}function Oo(e){return{headers:{},size:e,_meta:{warnings:["URL_SKIPPED"]}}}function Ir(e,t,n){if(!t&&Object.keys(e).length===0)return;if(!t)return{headers:e};if(!n)return{headers:e,size:t};const r={headers:e,size:t},{body:s,warnings:i}=y$(n);return r.body=s,i!=null&&i.length&&(r._meta={warnings:i}),r}function vf(e,t){return Object.entries(e).reduce((n,[r,s])=>{const i=r.toLowerCase();return t.includes(i)&&e[r]&&(n[i]=s),n},{})}function y$(e){if(!e||typeof e!="string")return{body:e};const t=e.length>yg,n=v$(e);if(t){const r=e.slice(0,yg);return n?{body:r,warnings:["MAYBE_JSON_TRUNCATED"]}:{body:`${r}…`,warnings:["TEXT_TRUNCATED"]}}if(n)try{return{body:JSON.parse(e)}}catch{}return{body:e}}function v$(e){const t=e[0],n=e[e.length-1];return t==="["&&n==="]"||t==="{"&&n==="}"}function Tc(e,t){const n=_$(e);return Gn(n,t)}function _$(e,t=je.document.baseURI){if(e.startsWith("http://")||e.startsWith("https://")||e.startsWith(je.location.origin))return e;const n=new URL(e,t);if(n.origin!==new URL(t).origin)return e;const r=n.href;return!e.endsWith("/")&&r.endsWith("/")?r.slice(0,-1):r}async function b$(e,t,n){try{const r=await E$(e,t,n),s=LE("resource.fetch",r);PE(n.replay,s)}catch(r){de&&he.exception(r,"Failed to capture fetch breadcrumb")}}function S$(e,t){const{input:n,response:r}=t,s=n?GS(n):void 0,i=ll(s),o=r?NE(r.headers.get("content-length")):void 0;i!==void 0&&(e.data.request_body_size=i),o!==void 0&&(e.data.response_body_size=o)}async function E$(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r}=t,{url:o,method:a,status_code:c=0,request_body_size:l,response_body_size:u}=e.data,f=Tc(o,n.networkDetailAllowUrls)&&!Tc(o,n.networkDetailDenyUrls),d=f?w$(n,t.input,l):Oo(l),h=await T$(f,n,t.response,u);return{startTimestamp:s,endTimestamp:i,url:o,method:a,statusCode:c,request:d,response:h}}function w$({networkCaptureBodies:e,networkRequestHeaders:t},n,r){const s=n?k$(n,t):{};if(!e)return Ir(s,r,void 0);const i=GS(n),[o,a]=qS(i,he),c=Ir(s,r,o);return a?wc(c,a):c}async function T$(e,{networkCaptureBodies:t,networkResponseHeaders:n},r,s){if(!e&&s!==void 0)return Oo(s);const i=r?DE(r.headers,n):{};if(!r||!t&&s!==void 0)return Ir(i,s,void 0);const[o,a]=await I$(r),c=C$(o,{networkCaptureBodies:t,responseBodySize:s,captureDetails:e,headers:i});return a?wc(c,a):c}function C$(e,{networkCaptureBodies:t,responseBodySize:n,captureDetails:r,headers:s}){try{const i=e!=null&&e.length&&n===void 0?ll(e):n;return r?t?Ir(s,i,e):Ir(s,i,void 0):Oo(i)}catch(i){return de&&he.exception(i,"Failed to serialize response body"),Ir(s,n,void 0)}}async function I$(e){const t=x$(e);if(!t)return[void 0,"BODY_PARSE_ERROR"];try{return[await R$(t)]}catch(n){return n instanceof Error&&n.message.indexOf("Timeout")>-1?(de&&he.warn("Parsing text body from response timed out"),[void 0,"BODY_PARSE_TIMEOUT"]):(de&&he.exception(n,"Failed to get text body from response"),[void 0,"BODY_PARSE_ERROR"])}}function DE(e,t){const n={};return t.forEach(r=>{e.get(r)&&(n[r]=e.get(r))}),n}function k$(e,t){return e.length===1&&typeof e[0]!="string"?$g(e[0],t):e.length===2?$g(e[1],t):{}}function $g(e,t){if(!e)return{};const n=e.headers;return n?n instanceof Headers?DE(n,t):Array.isArray(n)?{}:vf(n,t):{}}function x$(e){try{return e.clone()}catch(t){de&&he.exception(t,"Failed to clone response body")}}function R$(e){return new Promise((t,n)=>{const r=Qo(()=>n(new Error("Timeout while trying to read response body")),500);A$(e).then(s=>t(s),s=>n(s)).finally(()=>clearTimeout(r))})}async function A$(e){return await e.text()}async function O$(e,t,n){try{const r=P$(e,t,n),s=LE("resource.xhr",r);PE(n.replay,s)}catch(r){de&&he.exception(r,"Failed to capture xhr breadcrumb")}}function M$(e,t){const{xhr:n,input:r}=t;if(!n)return;const s=ll(r),i=n.getResponseHeader("content-length")?NE(n.getResponseHeader("content-length")):D$(n.response,n.responseType);s!==void 0&&(e.data.request_body_size=s),i!==void 0&&(e.data.response_body_size=i)}function P$(e,t,n){const r=Date.now(),{startTimestamp:s=r,endTimestamp:i=r,input:o,xhr:a}=t,{url:c,method:l,status_code:u=0,request_body_size:f,response_body_size:d}=e.data;if(!c)return null;if(!a||!Tc(c,n.networkDetailAllowUrls)||Tc(c,n.networkDetailDenyUrls)){const R=Oo(f),E=Oo(d);return{startTimestamp:s,endTimestamp:i,url:c,method:l,statusCode:u,request:R,response:E}}const h=a[Zr],p=h?vf(h.request_headers,n.networkRequestHeaders):{},m=vf(KS(a),n.networkResponseHeaders),[y,g]=n.networkCaptureBodies?qS(o,he):[void 0],[v,_]=n.networkCaptureBodies?N$(a):[void 0],T=Ir(p,f,y),O=Ir(m,d,v);return{startTimestamp:s,endTimestamp:i,url:c,method:l,statusCode:u,request:g?wc(T,g):T,response:_?wc(O,_):O}}function N$(e){const t=[];try{return[e.responseText]}catch(n){t.push(n)}try{return L$(e.response,e.responseType)}catch(n){t.push(n)}return de&&he.warn("Failed to get xhr response body",...t),[void 0]}function L$(e,t){try{if(typeof e=="string")return[e];if(e instanceof Document)return[e.body.outerHTML];if(t==="json"&&e&&typeof e=="object")return[JSON.stringify(e)];if(!e)return[void 0]}catch(n){return de&&he.exception(n,"Failed to serialize body",e),[void 0,"BODY_PARSE_ERROR"]}return de&&he.log("Skipping network body because of body type",e),[void 0,"UNPARSEABLE_BODY_TYPE"]}function D$(e,t){try{const n=t==="json"&&e&&typeof e=="object"?JSON.stringify(e):e;return ll(n)}catch{return}}function F$(e){const t=Ie();try{const{networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o}=e.getOptions(),a={replay:e,networkDetailAllowUrls:n,networkDetailDenyUrls:r,networkCaptureBodies:s,networkRequestHeaders:i,networkResponseHeaders:o};t&&t.on("beforeAddBreadcrumb",(c,l)=>$$(a,c,l))}catch{}}function $$(e,t,n){if(t.data)try{B$(t)&&V$(n)&&(M$(t,n),O$(t,n,e)),H$(t)&&U$(n)&&(S$(t,n),b$(t,n,e))}catch(r){de&&he.exception(r,"Error when enriching network breadcrumb")}}function B$(e){return e.category==="xhr"}function H$(e){return e.category==="fetch"}function V$(e){return e==null?void 0:e.xhr}function U$(e){return e==null?void 0:e.response}function W$(e){const t=Ie();US(bF(e)),rl(m$(e)),o$(e),F$(e);const n=h$(e);CO(n),t&&(t.on("beforeSendEvent",s$(e)),t.on("afterSendEvent",t$(e)),t.on("createDsc",r=>{const s=e.getSessionId();s&&e.isEnabled()&&e.recordingMode==="session"&&e.checkAndHandleExpiredSession()&&(r.replay_id=s)}),t.on("spanStart",r=>{e.lastActiveSpan=r}),t.on("spanEnd",r=>{e.lastActiveSpan=r}),t.on("beforeSendFeedback",async(r,s)=>{var o;const i=e.getSessionId();s!=null&&s.includeReplay&&e.isEnabled()&&i&&((o=r.contexts)!=null&&o.feedback)&&(r.contexts.feedback.source==="api"&&await e.sendBufferedReplayOrFlush(),r.contexts.feedback.replay_id=i)}),t.on("openFeedbackWidget",async()=>{await e.sendBufferedReplayOrFlush()}))}async function j$(e){try{return Promise.all(cl(e,[z$(je.performance.memory)]))}catch{return[]}}function z$(e){const{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}=e,s=Date.now()/1e3;return{type:"memory",name:"memory",start:s,end:s,data:{memory:{jsHeapSizeLimit:t,totalJSHeapSize:n,usedJSHeapSize:r}}}}function q$(e,t,n){return fM(e,t,{...n,setTimeoutImpl:Qo})}const Qt=Ce.navigator;function G$(){return/iPhone|iPad|iPod/i.test((Qt==null?void 0:Qt.userAgent)??"")||/Macintosh/i.test((Qt==null?void 0:Qt.userAgent)??"")&&(Qt!=null&&Qt.maxTouchPoints)&&(Qt==null?void 0:Qt.maxTouchPoints)>1?{sampling:{mousemove:!1}}:{}}function K$(e){let t=!1;return(n,r)=>{if(!e.checkAndHandleExpiredSession()){de&&he.warn("Received replay event after session expired.");return}const s=r||!t;t=!0,e.clickDetector&&mF(e.clickDetector,n),e.addUpdate(()=>{if(e.recordingMode==="buffer"&&s&&e.setInitialState(),!sh(e,n,s))return!0;if(!s)return!1;const i=e.session;if(X$(e,s),e.recordingMode==="buffer"&&i&&e.eventBuffer&&!i.dirty){const o=e.eventBuffer.getEarliestTimestamp();o&&(de&&he.log(`Updating session start time to earliest event in buffer to ${new Date(o)}`),i.started=o,e.getOptions().stickySession&&al(i))}return i!=null&&i.previousSessionId||e.recordingMode==="session"&&e.flush(),!0})}}function Y$(e){const t=e.getOptions();return{type:we.Custom,timestamp:Date.now(),data:{tag:"options",payload:{shouldRecordCanvas:e.isRecordingCanvas(),sessionSampleRate:t.sessionSampleRate,errorSampleRate:t.errorSampleRate,useCompressionOption:t.useCompression,blockAllMedia:t.blockAllMedia,maskAllText:t.maskAllText,maskAllInputs:t.maskAllInputs,useCompression:e.eventBuffer?e.eventBuffer.type==="worker":!1,networkDetailHasUrls:t.networkDetailAllowUrls.length>0,networkCaptureBodies:t.networkCaptureBodies,networkRequestHasHeaders:t.networkRequestHeaders.length>0,networkResponseHasHeaders:t.networkResponseHeaders.length>0}}}}function X$(e,t){!t||!e.session||e.session.segmentId!==0||sh(e,Y$(e),!1)}function J$(e){if(!e)return null;try{return e.nodeType===e.ELEMENT_NODE?e:e.parentElement}catch{return null}}function Z$(e,t,n,r){return Vr(Kb(e,xd(e),r,n),[[{type:"replay_event"},e],[{type:"replay_recording",length:typeof t=="string"?new TextEncoder().encode(t).length:t.length},t]])}function Q$({recordingData:e,headers:t}){let n;const r=`${JSON.stringify(t)} +`;if(typeof e=="string")n=`${r}${e}`;else{const i=new TextEncoder().encode(r);n=new Uint8Array(i.length+e.length),n.set(i),n.set(e,i.length)}return n}async function eB({client:e,scope:t,replayId:n,event:r}){const s=typeof e._integrations=="object"&&e._integrations!==null&&!Array.isArray(e._integrations)?Object.keys(e._integrations):void 0,i={event_id:n,integrations:s};e.emit("preprocessEvent",r,i);const o=await eS(e.getOptions(),r,i,t,e,Nn());if(!o)return null;e.emit("postprocessEvent",o,i),o.platform=o.platform||"javascript";const a=e.getSdkMetadata(),{name:c,version:l,settings:u}=(a==null?void 0:a.sdk)||{};return o.sdk={...o.sdk,name:c||"sentry.javascript.unknown",version:l||"0.0.0",settings:u},o}async function tB({recordingData:e,replayId:t,segmentId:n,eventContext:r,timestamp:s,session:i}){const o=Q$({recordingData:e,headers:{segment_id:n}}),{urls:a,errorIds:c,traceIds:l,initialTimestamp:u}=r,f=Ie(),d=De(),h=f==null?void 0:f.getTransport(),p=f==null?void 0:f.getDsn();if(!f||!h||!p||!i.sampled)return Promise.resolve({});const m={type:OL,replay_start_timestamp:u/1e3,timestamp:s/1e3,error_ids:c,trace_ids:l,urls:a,replay_id:t,segment_id:n,replay_type:i.sampled},y=await eB({scope:d,client:f,replayId:t,event:m});if(!y)return f.recordDroppedEvent("event_processor","replay"),de&&he.log("An event processor returned `null`, will not send event."),Promise.resolve({});delete y.sdkProcessingMetadata;const g=Z$(y,o,p,f.getOptions().tunnel);let v;try{v=await h.send(g)}catch(T){const O=new Error(qd);try{O.cause=T}catch{}throw O}if(typeof v.statusCode=="number"&&(v.statusCode<200||v.statusCode>=300))throw new FE(v.statusCode);const _=uS({},v);if(lS(_,"replay"))throw new oh(_);return v}class FE extends Error{constructor(t){super(`Transport returned status code ${t}`)}}class oh extends Error{constructor(t){super("Rate limit hit"),this.rateLimits=t}}async function $E(e,t={count:0,interval:FL}){const{recordingData:n,onError:r}=e;if(n.length)try{return await tB(e),!0}catch(s){if(s instanceof FE||s instanceof oh)throw s;if(wO("Replays",{_retryCount:t.count}),r&&r(s),t.count>=$L){const i=new Error(`${qd} - max retries exceeded`);try{i.cause=s}catch{}throw i}return t.interval*=++t.count,new Promise((i,o)=>{Qo(async()=>{try{await $E(e,t),i(!0)}catch(a){o(a)}},t.interval)})}}const BE="__THROTTLED",nB="__SKIPPED";function rB(e,t,n){const r=new Map,s=a=>{const c=a-n;r.forEach((l,u)=>{u[...r.values()].reduce((a,c)=>a+c,0);let o=!1;return(...a)=>{const c=Math.floor(Date.now()/1e3);if(s(c),i()>=t){const u=o;return o=!0,u?nB:BE}o=!1;const l=r.get(c)||0;return r.set(c,l+1),e(...a)}}class sB{constructor({options:t,recordingOptions:n}){this.eventBuffer=null,this.performanceEntries=[],this.replayPerformanceEntries=[],this.recordingMode="session",this.timeouts={sessionIdlePause:ML,sessionIdleExpire:PL},this._lastActivity=Date.now(),this._isEnabled=!1,this._isPaused=!1,this._requiresManualStart=!1,this._hasInitializedCoreListeners=!1,this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""},this._recordingOptions=n,this._options=t,this._debouncedFlush=q$(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay}),this._throttledAddEvent=rB((o,a)=>ZF(this,o,a),300,5);const{slowClickTimeout:r,slowClickIgnoreSelectors:s}=this.getOptions(),i=r?{threshold:Math.min(BL,r),timeout:r,scrollTimeout:HL,ignoreSelector:s?s.join(","):""}:void 0;if(i&&(this.clickDetector=new fF(this,i)),de){const o=t._experiments;he.setConfig({captureExceptions:!!o.captureExceptions,traceInternals:!!o.traceInternals})}this._handleVisibilityChange=()=>{je.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()},this._handleWindowBlur=()=>{const o=An({category:"ui.blur"});this._doChangeToBackgroundTasks(o)},this._handleWindowFocus=()=>{const o=An({category:"ui.focus"});this._doChangeToForegroundTasks(o)},this._handleKeyboardEvent=o=>{TF(this,o)}}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}isRecordingCanvas(){return!!this._canvas}getOptions(){return this._options}handleException(t){de&&he.exception(t),this._options.onError&&this._options.onError(t)}initializeSampling(t){const{errorSampleRate:n,sessionSampleRate:r}=this._options,s=n<=0&&r<=0;if(this._requiresManualStart=s,!s){if(this._initializeSessionForSampling(t),!this.session){de&&he.exception(new Error("Unable to initialize and create session"));return}this.session.sampled!==!1&&(this.recordingMode=this.session.sampled==="buffer"&&this.session.segmentId===0?"buffer":"session",de&&he.infoTick(`Starting replay in ${this.recordingMode} mode`),this._initializeRecording())}}start(){if(this._isEnabled&&this.recordingMode==="session"){de&&he.log("Recording is already in progress");return}if(this._isEnabled&&this.recordingMode==="buffer"){de&&he.log("Buffering is in progress, call `flush()` to save the replay");return}de&&he.infoTick("Starting replay in session mode"),this._updateUserActivity();const t=su({maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire},{stickySession:this._options.stickySession,sessionSampleRate:1,allowBuffering:!1});this.session=t,this.recordingMode="session",this._initializeRecording()}startBuffering(){if(this._isEnabled){de&&he.log("Buffering is in progress, call `flush()` to save the replay");return}de&&he.infoTick("Starting replay in buffer mode");const t=su({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration},{stickySession:this._options.stickySession,sessionSampleRate:0,allowBuffering:!0});this.session=t,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{const t=this._canvas;this._stopRecording=Yn({...this._recordingOptions,...this.recordingMode==="buffer"?{checkoutEveryNms:DL}:this._options._experiments.continuousCheckout&&{checkoutEveryNms:Math.max(36e4,this._options._experiments.continuousCheckout)},emit:K$(this),...G$(),onMutation:this._onMutationHandler.bind(this),...t?{recordCanvas:t.recordCanvas,getCanvasManager:t.getCanvasManager,sampling:t.sampling,dataURLOptions:t.dataURLOptions}:{}})}catch(t){this.handleException(t)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(t){return this.handleException(t),!1}}async stop({forceFlush:t=!1,reason:n}={}){var r;if(this._isEnabled){this._isEnabled=!1,this.recordingMode="buffer";try{de&&he.log(`Stopping Replay${n?` triggered by ${n}`:""}`),ME(),this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),t&&await this._flush({force:!0}),(r=this.eventBuffer)==null||r.destroy(),this.eventBuffer=null,GF(this)}catch(s){this.handleException(s)}}}pause(){this._isPaused||(this._isPaused=!0,this.stopRecording(),de&&he.log("Pausing replay"))}resume(){!this._isPaused||!this._checkSession()||(this._isPaused=!1,this.startRecording(),de&&he.log("Resuming replay"))}async sendBufferedReplayOrFlush({continueRecording:t=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();const n=Date.now();de&&he.log("Converting buffer to session"),await this.flushImmediate();const r=this.stopRecording();!t||!r||this.recordingMode!=="session"&&(this.recordingMode="session",this.session&&(this.session.dirty=!1,this._updateUserActivity(n),this._updateSessionActivity(n),this._maybeSaveSession()),this.startRecording())}addUpdate(t){const n=t();this.recordingMode==="buffer"||!this._isEnabled||n!==!0&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),!this._stopRecording){if(!this._checkSession())return;this.resume();return}this.checkAndHandleExpiredSession(),this._updateSessionActivity()}updateUserActivity(){this._updateUserActivity(),this._updateSessionActivity()}conditionalFlush(){return this.recordingMode==="buffer"?Promise.resolve():this.flushImmediate()}flush(){return this._debouncedFlush()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}cancelFlush(){this._debouncedFlush.cancel()}getSessionId(t){var n,r;if(!(t&&((n=this.session)==null?void 0:n.sampled)===!1))return(r=this.session)==null?void 0:r.id}checkAndHandleExpiredSession(){if(this._lastActivity&&gf(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&this.session.sampled==="session"){this.pause();return}return!!this._checkSession()}setInitialState(){const t=`${je.location.pathname}${je.location.hash}${je.location.search}`,n=`${je.location.origin}${t}`;this.performanceEntries=[],this.replayPerformanceEntries=[],this._clearContext(),this._context.initialUrl=n,this._context.initialTimestamp=Date.now(),this._context.urls.push(n)}throttledAddEvent(t,n){const r=this._throttledAddEvent(t,n);if(r===BE){const s=An({category:"replay.throttled"});this.addUpdate(()=>!sh(this,{type:sF,timestamp:s.timestamp||0,data:{tag:"breadcrumb",payload:s,metric:!0}}))}return r}getCurrentRoute(){const t=this.lastActiveSpan||bt(),n=t&&vt(t),s=(n&&ke(n).data||{})[Bt];if(!(!n||!s||!["route","custom"].includes(s)))return ke(n).description}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=jF({useCompression:this._options.useCompression,workerUrl:this._options.workerUrl}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this._isPaused=!1,this.startRecording()}_initializeSessionForSampling(t){const n=this._options.errorSampleRate>0,r=su({sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration,previousSessionId:t},{stickySession:this._options.stickySession,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:n});this.session=r}_checkSession(){if(!this.session)return!1;const t=this.session;return xE(t,{sessionIdleExpire:this.timeouts.sessionIdleExpire,maxReplayDuration:this._options.maxReplayDuration})?(this._refreshSession(t),!1):!0}async _refreshSession(t){this._isEnabled&&(await this.stop({reason:"refresh session"}),this.initializeSampling(t.id))}_addListeners(){try{je.document.addEventListener("visibilitychange",this._handleVisibilityChange),je.addEventListener("blur",this._handleWindowBlur),je.addEventListener("focus",this._handleWindowFocus),je.addEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.addListeners(),this._hasInitializedCoreListeners||(W$(this),this._hasInitializedCoreListeners=!0)}catch(t){this.handleException(t)}this._performanceCleanupCallback=FF(this)}_removeListeners(){try{je.document.removeEventListener("visibilitychange",this._handleVisibilityChange),je.removeEventListener("blur",this._handleWindowBlur),je.removeEventListener("focus",this._handleWindowFocus),je.removeEventListener("keydown",this._handleKeyboardEvent),this.clickDetector&&this.clickDetector.removeListeners(),this._performanceCleanupCallback&&this._performanceCleanupCallback()}catch(t){this.handleException(t)}}_doChangeToBackgroundTasks(t){!this.session||kE(this.session,{maxReplayDuration:this._options.maxReplayDuration,sessionIdleExpire:this.timeouts.sessionIdleExpire})||(t&&this._createCustomBreadcrumb(t),this.conditionalFlush())}_doChangeToForegroundTasks(t){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){de&&he.log("Document has become active, but session has expired");return}t&&this._createCustomBreadcrumb(t)}_updateUserActivity(t=Date.now()){this._lastActivity=t}_updateSessionActivity(t=Date.now()){this.session&&(this.session.lastActivity=t,this._maybeSaveSession())}_createCustomBreadcrumb(t){this.addUpdate(()=>{this.throttledAddEvent({type:we.Custom,timestamp:t.timestamp||0,data:{tag:"breadcrumb",payload:t}})})}_addPerformanceEntries(){let t=xF(this.performanceEntries).concat(this.replayPerformanceEntries);if(this.performanceEntries=[],this.replayPerformanceEntries=[],this._requiresManualStart){const n=this._context.initialTimestamp/1e3;t=t.filter(r=>r.start>=n)}return Promise.all(cl(this,t))}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:t,eventBuffer:n}=this;if(!t||!n||this._requiresManualStart||t.segmentId)return;const r=n.getEarliestTimestamp();r&&rthis._options.maxReplayDuration+3e4)throw new Error("Session is too long, not sending replay");const s=this._popEventContext(),i=this.session.segmentId++;this._maybeSaveSession();const o=await this.eventBuffer.finish();await $E({replayId:t,recordingData:o,segmentId:i,eventContext:s,session:this.session,timestamp:r,onError:a=>this.handleException(a)})}catch(r){this.handleException(r),this.stop({reason:"sendReplay"});const s=Ie();if(s){const i=r instanceof oh?"ratelimit_backoff":"send_error";s.recordDroppedEvent(i,"replay")}}}async _flush({force:t=!1}={}){if(!this._isEnabled&&!t)return;if(!this.checkAndHandleExpiredSession()){de&&he.error("Attempting to finish replay event after session expired.");return}if(!this.session)return;const n=this.session.started,s=Date.now()-n;this._debouncedFlush.cancel();const i=sthis._options.maxReplayDuration+5e3;if(i||o){de&&he.log(`Session duration (${Math.floor(s/1e3)}s) is too ${i?"short":"long"}, not sending replay.`),i&&this._debouncedFlush();return}const a=this.eventBuffer;a&&this.session.segmentId===0&&!a.hasCheckout&&de&&he.log("Flushing initial segment without checkout.");const c=!!this._flushLock;this._flushLock||(this._flushLock=this._runFlush());try{await this._flushLock}catch(l){this.handleException(l)}finally{this._flushLock=void 0,c&&this._debouncedFlush()}}_maybeSaveSession(){this.session&&this._options.stickySession&&al(this.session)}_onMutationHandler(t){const{ignoreMutations:n}=this._options._experiments;if(n!=null&&n.length&&t.some(a=>{const c=J$(a.target),l=n.join(",");return c==null?void 0:c.matches(l)}))return!1;const r=t.length,s=this._options.mutationLimit,i=this._options.mutationBreadcrumbLimit,o=s&&r>s;if(r>i||o){const a=An({category:"replay.mutations",data:{count:r,limit:o}});this._createCustomBreadcrumb(a)}return o?(this.stop({reason:"mutationLimit",forceFlush:this.recordingMode==="session"}),!1):!0}}function Vi(e,t){return[...e,...t].join(",")}function iB({mask:e,unmask:t,block:n,unblock:r,ignore:s}){const i=["base","iframe[srcdoc]:not([src])"],o=Vi(e,[".sentry-mask","[data-sentry-mask]"]),a=Vi(t,[]);return{maskTextSelector:o,unmaskTextSelector:a,blockSelector:Vi(n,[".sentry-block","[data-sentry-block]",...i]),unblockSelector:Vi(r,[]),ignoreSelector:Vi(s,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'])}}function oB({el:e,key:t,maskAttributes:n,maskAllText:r,privacyOptions:s,value:i}){return!r||s.unmaskTextSelector&&e.matches(s.unmaskTextSelector)?i:n.includes(t)||t==="value"&&e.tagName==="INPUT"&&["submit","button"].includes(e.getAttribute("type")||"")?i.replace(/[\S]/g,"*"):i}const Bg='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',aB=["content-length","content-type","accept"],cB=Symbol.for("sentry__originalRequestBody");let Hg=!1,Vg=!1;function lB(){if(typeof Request>"u"||Vg)return;const e=Request;try{const t=function(n,r){const s=new e(n,r);return(r==null?void 0:r.body)!=null&&(s[cB]=r.body),s};t.prototype=e.prototype,Ce.Request=t,Vg=!0}catch{}}const uB=e=>new fB(e);class fB{constructor({flushMinDelay:t=NL,flushMaxDelay:n=LL,minReplayDuration:r=VL,maxReplayDuration:s=vg,stickySession:i=!0,useCompression:o=!0,workerUrl:a,_experiments:c={},maskAllText:l=!0,maskAllInputs:u=!0,blockAllMedia:f=!0,mutationBreadcrumbLimit:d=750,mutationLimit:h=1e4,slowClickTimeout:p=7e3,slowClickIgnoreSelectors:m=[],networkDetailAllowUrls:y=[],networkDetailDenyUrls:g=[],networkCaptureBodies:v=!0,networkRequestHeaders:_=[],networkResponseHeaders:T=[],mask:O=[],maskAttributes:R=["title","placeholder","aria-label"],unmask:E=[],block:w=[],unblock:I=[],ignore:A=[],maskFn:M,beforeAddRecordingEvent:x,beforeErrorSampling:N,onError:L,attachRawBodyFromRequest:G=!1}={}){this.name="Replay";const J=iB({mask:O,unmask:E,block:w,unblock:I,ignore:A});if(this._recordingOptions={maskAllInputs:u,maskAllText:l,maskInputOptions:{password:!0},maskTextFn:M,maskInputFn:M,maskAttributeFn:(j,D,ae)=>oB({maskAttributes:R,maskAllText:l,privacyOptions:J,key:j,value:D,el:ae}),...J,slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0,errorHandler:j=>{try{j.__rrweb__=!0}catch{}},recordCrossOriginIframes:!!c.recordCrossOriginIframes},this._initialOptions={flushMinDelay:t,flushMaxDelay:n,minReplayDuration:Math.min(r,UL),maxReplayDuration:Math.min(s,vg),stickySession:i,useCompression:o,workerUrl:a,blockAllMedia:f,maskAllInputs:u,maskAllText:l,mutationBreadcrumbLimit:d,mutationLimit:h,slowClickTimeout:p,slowClickIgnoreSelectors:m,networkDetailAllowUrls:y,networkDetailDenyUrls:g,networkCaptureBodies:v,networkRequestHeaders:Ug(_),networkResponseHeaders:Ug(T),beforeAddRecordingEvent:x,beforeErrorSampling:N,onError:L,attachRawBodyFromRequest:G,_experiments:c},this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${Bg}`:Bg,this._recordingOptions.ignoreCSSAttributes=new Set(["background-image"])),this._isInitialized&&ef())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return Hg}set _isInitialized(t){Hg=t}afterAllSetup(t){!ef()||this._replay||(this._initialOptions.attachRawBodyFromRequest&&lB(),this._setup(t),this._initialize(t))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop({forceFlush:this._replay.recordingMode==="session"}):Promise.resolve()}flush(t){return this._replay?this._replay.isEnabled()?this._replay.sendBufferedReplayOrFlush(t):(this._replay.start(),Promise.resolve()):Promise.resolve()}getReplayId(t){var n;if((n=this._replay)!=null&&n.isEnabled())return this._replay.getSessionId(t)}getRecordingMode(){var t;if((t=this._replay)!=null&&t.isEnabled())return this._replay.recordingMode}_initialize(t){this._replay&&(this._maybeLoadFromReplayCanvasIntegration(t),this._replay.initializeSampling())}_setup(t){const n=dB(this._initialOptions,t);this._replay=new sB({options:n,recordingOptions:this._recordingOptions})}_maybeLoadFromReplayCanvasIntegration(t){try{const n=t.getIntegrationByName("ReplayCanvas");if(!n)return;this._replay._canvas=n.getOptions()}catch{}}}function dB(e,t){const n=t.getOptions(),r={sessionSampleRate:0,errorSampleRate:0,...e},s=ps(n.replaysSessionSampleRate),i=ps(n.replaysOnErrorSampleRate);return s==null&&i==null&&lr(()=>{console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.")}),s!=null&&(r.sessionSampleRate=s),i!=null&&(r.errorSampleRate=i),r}function Ug(e){return[...aB,...e.map(t=>t.toLowerCase())]}function hB(e){return e.split(",").some(t=>t.trim().startsWith("sentry-"))}function HE(e){try{return new URL(e,Ae.location.origin).href}catch{return}}function pB(e){return e.entryType==="resource"&&"initiatorType"in e&&typeof e.nextHopProtocol=="string"&&(e.initiatorType==="fetch"||e.initiatorType==="xmlhttprequest")}function VE(e){try{return new Headers(e)}catch{return}}const Wg=new WeakMap,iu=new Map,UE={traceFetch:!0,traceXHR:!0,enableHTTPTimings:!0,trackFetchStreamPerformance:!1};function mB(e,t){const{traceFetch:n,traceXHR:r,trackFetchStreamPerformance:s,shouldCreateSpanForRequest:i,enableHTTPTimings:o,tracePropagationTargets:a,onRequestSpanStart:c,onRequestSpanEnd:l}={...UE,...t},u=typeof i=="function"?i:p=>!0,f=p=>gB(p,a),d={},h=e.getOptions().propagateTraceparent;n&&(e.addEventProcessor(p=>(p.type==="transaction"&&p.spans&&p.spans.forEach(m=>{if(m.op==="http.client"){const y=iu.get(m.span_id);y&&(m.timestamp=y/1e3,iu.delete(m.span_id))}}),p)),s&&zM(p=>{if(p.response){const m=Wg.get(p.response);m&&p.endTimestamp&&iu.set(m,p.endTimestamp)}}),wS(p=>{const m=DM(p,u,f,d,{propagateTraceparent:h,onRequestSpanEnd:l});if(p.response&&p.fetchData.__span&&Wg.set(p.response,p.fetchData.__span),m){const y=HE(p.fetchData.url),g=y?cs(y).host:void 0;m.setAttributes({"http.url":y?Tr(y):void 0,"server.address":g}),o&&jg(m),c==null||c(m,{headers:p.headers})}})),r&&jS(p=>{var y;const m=yB(p,u,f,d,h,l);m&&(o&&jg(m),c==null||c(m,{headers:VE((y=p.xhr.__sentry_xhr_v3__)==null?void 0:y.request_headers)}))})}function jg(e){const{url:t}=ke(e).data;if(!t||typeof t!="string")return;const n=gs("resource",({entries:r})=>{r.forEach(s=>{pB(s)&&s.name.endsWith(t)&&(e.setAttributes(VS(s)),setTimeout(n))})})}function gB(e,t){const n=Ii();if(n){let r,s;try{r=new URL(e,n),s=new URL(n).origin}catch{return!1}const i=r.origin===s;return t?Gn(r.toString(),t)||i&&Gn(r.pathname,t):i}else{const r=!!e.match(/^\/(?!\/)/);return t?Gn(e,t):r}}function yB(e,t,n,r,s,i){const o=e.xhr,a=o==null?void 0:o[Zr];if(!o||o.__sentry_own_request__||!a)return;const{url:c,method:l}=a,u=sn()&&t(c);if(e.endTimestamp&&u){const g=o.__sentry_xhr_span_id__;if(!g)return;const v=r[g];v&&a.status_code!==void 0&&(Mb(v,a.status_code),v.end(),i==null||i(v,{headers:VE(KS(o)),error:e.error}),delete r[g]);return}const f=HE(c),d=cs(f||c),h=Tr(sM(c)),p=!!bt(),m=u&&p?Ar({name:`${l} ${h}`,attributes:{url:Tr(c),type:"xhr","http.method":l,"http.url":f?Tr(f):void 0,"server.address":d==null?void 0:d.host,[Qe]:"auto.http.browser",[rr]:"http.client",...(d==null?void 0:d.search)&&{"http.query":d==null?void 0:d.search},...(d==null?void 0:d.hash)&&{"http.fragment":d==null?void 0:d.hash}}}):new Rr;o.__sentry_xhr_span_id__=m.spanContext().spanId,r[o.__sentry_xhr_span_id__]=m,n(c)&&vB(o,sn()&&p?m:void 0,s);const y=Ie();return y&&y.emit("beforeOutgoingRequestSpan",m,e),m}function vB(e,t,n){const{"sentry-trace":r,baggage:s,traceparent:i}=vS({span:t,propagateTraceparent:n});r&&_B(e,r,s,i)}function _B(e,t,n,r){var i;const s=(i=e.__sentry_xhr_v3__)==null?void 0:i.request_headers;if(!(s!=null&&s["sentry-trace"]||!e.setRequestHeader))try{if(e.setRequestHeader("sentry-trace",t),r&&!(s!=null&&s.traceparent)&&e.setRequestHeader("traceparent",r),n){const o=s==null?void 0:s.baggage;(!o||!hB(o))&&e.setRequestHeader("baggage",n)}}catch{}}function bB(){Ae.document?Ae.document.addEventListener("visibilitychange",()=>{const e=bt();if(!e)return;const t=vt(e);if(Ae.document.hidden&&t){const n="cancelled",{op:r,status:s}=ke(t);an&&X.log(`[Tracing] Transaction: ${n} -> since tab moved to the background, op: ${r}`),s||t.setStatus({code:ct,message:n}),t.setAttribute("sentry.cancellation_reason","document.hidden"),t.end()}}):an&&X.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const SB=3600,WE="sentry_previous_trace",EB="sentry.previous_trace";function wB(e,{linkPreviousTrace:t,consistentTraceSampling:n}){const r=t==="session-storage";let s=r?IB():void 0;e.on("spanStart",o=>{if(vt(o)!==o)return;const a=De().getPropagationContext();s=TB(s,o,a),r&&CB(s)});let i=!0;n&&e.on("beforeSampling",o=>{if(!s)return;const a=De(),c=a.getPropagationContext();if(i&&c.parentSpanId){i=!1;return}a.setPropagationContext({...c,dsc:{...c.dsc,sample_rate:String(s.sampleRate),sampled:String(_f(s.spanContext))},sampleRand:s.sampleRand}),o.parentSampled=_f(s.spanContext),o.parentSampleRate=s.sampleRate,o.spanAttributes={...o.spanAttributes,[Ob]:s.sampleRate}})}function TB(e,t,n){const r=ke(t);function s(){var a,c;try{return Number((a=n.dsc)==null?void 0:a.sample_rate)??Number((c=r.data)==null?void 0:c[Ed])}catch{return 0}}const i={spanContext:t.spanContext(),startTimestamp:r.start_timestamp,sampleRate:s(),sampleRand:n.sampleRand};if(!e)return i;const o=e.spanContext;return o.traceId===r.trace_id?e:(Date.now()/1e3-e.startTimestamp<=SB&&(an&&X.log(`Adding previous_trace \`${JSON.stringify(o)}\` link to span \`${JSON.stringify({op:r.op,...t.spanContext()})}\``),t.addLink({context:o,attributes:{[KA]:"previous_trace"}}),t.setAttribute(EB,`${o.traceId}-${o.spanId}-${_f(o)?1:0}`)),i)}function CB(e){try{Ae.sessionStorage.setItem(WE,JSON.stringify(e))}catch(t){an&&X.warn("Could not store previous trace in sessionStorage",t)}}function IB(){var e;try{const t=(e=Ae.sessionStorage)==null?void 0:e.getItem(WE);return JSON.parse(t)}catch{return}}function _f(e){return e.traceFlags===1}const kB="BrowserTracing",xB={...Na,instrumentNavigation:!0,instrumentPageLoad:!0,markBackgroundSpan:!0,enableLongTask:!0,enableLongAnimationFrame:!0,enableInp:!0,enableElementTiming:!0,ignoreResourceSpans:[],ignorePerformanceApiSpans:[],detectRedirects:!0,linkPreviousTrace:"in-memory",consistentTraceSampling:!1,enableReportPageLoaded:!1,_experiments:{},...UE},zg=(e={})=>{const t={name:void 0,source:void 0},n=Ae.document,{enableInp:r,enableElementTiming:s,enableLongTask:i,enableLongAnimationFrame:o,_experiments:{enableInteractions:a,enableStandaloneClsSpans:c,enableStandaloneLcpSpans:l},beforeStartSpan:u,idleTimeout:f,finalTimeout:d,childSpanTimeout:h,markBackgroundSpan:p,traceFetch:m,traceXHR:y,trackFetchStreamPerformance:g,shouldCreateSpanForRequest:v,enableHTTPTimings:_,ignoreResourceSpans:T,ignorePerformanceApiSpans:O,instrumentPageLoad:R,instrumentNavigation:E,detectRedirects:w,linkPreviousTrace:I,consistentTraceSampling:A,enableReportPageLoaded:M,onRequestSpanStart:x,onRequestSpanEnd:N}={...xB,...e};let L,G,J;function j(D,ae,q=!0){const ce=ae.op==="pageload",le=ae.name,ve=u?u(ae):ae,Me=ve.attributes||{};if(le!==ve.name&&(Me[Bt]="custom",ve.attributes=Me),!q){const C=Ss();Ar({...ve,startTime:C}).end(C);return}t.name=ve.name,t.source=Me[Bt];const Fe=Qb(ve,{idleTimeout:f,finalTimeout:d,childSpanTimeout:h,disableAutoFinish:ce,beforeSpanEnd:C=>{L==null||L(),tN(C,{recordClsOnPageloadSpan:!c,recordLcpOnPageloadSpan:!l,ignoreResourceSpans:T,ignorePerformanceApiSpans:O}),Gg(D,void 0);const W=De(),z=W.getPropagationContext();W.setPropagationContext({...z,traceId:Fe.spanContext().traceId,sampled:Hr(Fe),dsc:sr(C)}),ce&&(J=void 0)},trimIdleSpanEndTimestamp:!M});ce&&M&&(J=Fe),Gg(D,Fe);function Ge(){n&&["interactive","complete"].includes(n.readyState)&&D.emit("idleSpanEnableAutoFinish",Fe)}ce&&!M&&n&&(n.addEventListener("readystatechange",()=>{Ge()}),Ge())}return{name:kB,setup(D){if(w1(),L=KP({recordClsStandaloneSpans:c||!1,recordLcpStandaloneSpans:l||!1,client:D}),r&&kN(),s&&hN(),o&&Ce.PerformanceObserver&&PerformanceObserver.supportedEntryTypes&&PerformanceObserver.supportedEntryTypes.includes("long-animation-frame")?XP():i&&YP(),a&&JP(),w&&n){const q=()=>{G=st()};addEventListener("click",q,{capture:!0}),addEventListener("keydown",q,{capture:!0,passive:!0})}function ae(){const q=Mo(D);q&&!ke(q).timestamp&&(an&&X.log(`[Tracing] Finishing current active span with op: ${ke(q).op}`),q.setAttribute(Co,"cancelled"),q.end())}D.on("startNavigationSpan",(q,ce)=>{if(Ie()!==D)return;if(ce!=null&&ce.isRedirect){an&&X.warn("[Tracing] Detected redirect, navigation span will not be the root span, but a child span."),j(D,{op:"navigation.redirect",...q},!1);return}G=void 0,ae(),Nn().setPropagationContext({traceId:nr(),sampleRand:Math.random(),propagationSpanId:sn()?void 0:Kn()});const le=De();le.setPropagationContext({traceId:nr(),sampleRand:Math.random(),propagationSpanId:sn()?void 0:Kn()}),le.setSDKProcessingMetadata({normalizedRequest:void 0}),j(D,{op:"navigation",...q,parentSpan:null,forceTransaction:!0})}),D.on("startPageLoadSpan",(q,ce={})=>{if(Ie()!==D)return;ae();const le=ce.sentryTrace||qg("sentry-trace"),ve=ce.baggage||qg("baggage"),Me=p1(le,ve),Fe=De();Fe.setPropagationContext(Me),sn()||(Fe.getPropagationContext().propagationSpanId=Kn()),Fe.setSDKProcessingMetadata({normalizedRequest:Dd()}),j(D,{op:"pageload",...q})}),D.on("endPageloadSpan",()=>{M&&J&&(J.setAttribute(Co,"reportPageLoaded"),J.end())})},afterAllSetup(D){let ae=Ii();if(I!=="off"&&wB(D,{linkPreviousTrace:I,consistentTraceSampling:A}),Ae.location){if(R){const q=Ut();RB(D,{name:Ae.location.pathname,startTime:q?q/1e3:void 0,attributes:{[Bt]:"url",[Qe]:"auto.pageload.browser"}})}E&&rl(({to:q,from:ce})=>{if(ce===void 0&&(ae==null?void 0:ae.indexOf(q))!==-1){ae=void 0;return}ae=void 0;const le=Ld(q),ve=Mo(D),Me=ve&&w&&OB(ve,G);jE(D,{name:(le==null?void 0:le.pathname)||Ae.location.pathname,attributes:{[Bt]:"url",[Qe]:"auto.navigation.browser"}},{url:q,isRedirect:Me})})}p&&bB(),a&&AB(D,f,d,h,t),r&&AN(),mB(D,{traceFetch:m,traceXHR:y,trackFetchStreamPerformance:g,tracePropagationTargets:D.getOptions().tracePropagationTargets,shouldCreateSpanForRequest:v,enableHTTPTimings:_,onRequestSpanStart:x,onRequestSpanEnd:N})}}};function RB(e,t,n){e.emit("startPageLoadSpan",t,n),De().setTransactionName(t.name);const r=Mo(e);return r&&e.emit("afterStartPageLoadSpan",r),r}function jE(e,t,n){const{url:r,isRedirect:s}=n||{};e.emit("beforeStartNavigationSpan",t,{isRedirect:s}),e.emit("startNavigationSpan",t,{isRedirect:s});const i=De();return i.setTransactionName(t.name),r&&!s&&i.setSDKProcessingMetadata({normalizedRequest:{...Dd(),url:r}}),Mo(e)}function qg(e){const t=Ae.document,n=t==null?void 0:t.querySelector(`meta[name=${e}]`);return(n==null?void 0:n.getAttribute("content"))||void 0}function AB(e,t,n,r,s){const i=Ae.document;let o;const a=()=>{const c="ui.action.click",l=Mo(e);if(l){const u=ke(l).op;if(["navigation","pageload"].includes(u)){an&&X.warn(`[Tracing] Did not create ${c} span because a pageload or navigation span is in progress.`);return}}if(o&&(o.setAttribute(Co,"interactionInterrupted"),o.end(),o=void 0),!s.name){an&&X.warn(`[Tracing] Did not create ${c} transaction because _latestRouteName is missing.`);return}o=Qb({name:s.name,op:c,attributes:{[Bt]:s.source||"url"}},{idleTimeout:t,finalTimeout:n,childSpanTimeout:r})};i&&addEventListener("click",a,{capture:!0})}const zE="_sentry_idleSpan";function Mo(e){return e[zE]}function Gg(e,t){Vt(e,zE,t)}const Kg=1.5;function OB(e,t){const n=ke(e),r=Ss(),s=n.start_timestamp;return!(r-s>Kg||t&&r-t<=Kg)}const qE=["activate","mount"],GE=typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__,MB=/(?:^|[-_])(\w)/g,PB=e=>e.replace(MB,t=>t.toUpperCase()).replace(/[-_]/g,""),NB="",ou="",LB=(e,t)=>e.repeat(t),oo=(e,t)=>{if(!e)return ou;if(e.$root===e)return NB;if(!e.$options)return ou;const n=e.$options;let r=n.name||n._componentTag||n.__name;const s=n.__file;if(!r&&s){const i=s.match(/([^/\\]+)\.vue$/);i&&(r=i[1])}return(r?`<${PB(r)}>`:ou)+(s&&t!==!1?` at ${s}`:"")},DB=e=>{if(e&&(e._isVue||e.__isVue)&&e.$parent){const t=[];let n=0;for(;e;){if(t.length>0){const s=t[t.length-1];if(s.constructor===e.constructor){n++,e=e.$parent;continue}else n>0&&(t[t.length-1]=[s,n],n=0)}t.push(e),e=e.$parent}return` + +found in + +${t.map((s,i)=>`${(i===0?"---> ":LB(" ",5+i*2))+(Array.isArray(s)?`${oo(s[0])}... (${s[1]} recursive calls)`:oo(s))}`).join(` +`)}`}return` + +(found in ${oo(e)})`},FB=(e,t)=>{const{errorHandler:n}=e.config;e.config.errorHandler=(r,s,i)=>{var l;const o=oo(s,!1),a=s?DB(s):"",c={componentName:o,lifecycleHook:i,trace:a};if((t==null?void 0:t.attachProps)!==!1&&s&&((l=s.$options)!=null&&l.propsData?c.propsData=s.$options.propsData:s.$props&&(c.propsData=s.$props)),setTimeout(()=>{el(r,{captureContext:{contexts:{vue:c}},mechanism:{handled:!!n,type:"auto.function.vue.error_handler"}})}),typeof n=="function"&&e.config.errorHandler)n.call(e,r,s,i);else throw r}},Yg="ui.vue",$B={activate:["activated","deactivated"],create:["beforeCreate","created"],unmount:["beforeUnmount","unmounted"],destroy:["beforeDestroy","destroyed"],mount:["beforeMount","mounted"],update:["beforeUpdate","updated"]};function au(e,t,n){e.$_sentryRootComponentSpanTimer&&clearTimeout(e.$_sentryRootComponentSpanTimer),e.$_sentryRootComponentSpanTimer=setTimeout(()=>{var r;(r=e.$root)!=null&&r.$_sentryRootComponentSpan&&(e.$root.$_sentryRootComponentSpan.end(t),e.$root.$_sentryRootComponentSpan=void 0)},n)}function BB(e,t){function n(s){return s.replace(/^<([^\s]*)>(?: at [^\s]*)?$/,"$1")}return e.some(s=>n(t)===n(s))}const HB=(e={})=>{const t=(e.hooks||[]).concat(qE).filter((s,i,o)=>o.indexOf(s)===i),n={},r=e.timeout||2e3;for(const s of t){const i=$B[s];if(!i){GE&&X.warn(`Unknown hook: ${s}`);continue}for(const o of i)n[o]=function(){var d;const a=this.$root===this;a&&(this.$_sentryRootComponentSpan=this.$_sentryRootComponentSpan||Ar({name:"Application Render",op:`${Yg}.render`,attributes:{[Qe]:"auto.ui.vue"},onlyIfParent:!0}),au(this,st(),r));const c=oo(this,!1);if(!(a||(Array.isArray(e.trackComponents)?BB(e.trackComponents,c):e.trackComponents))){au(this,st(),r);return}this.$_sentryComponentSpans=this.$_sentryComponentSpans||{};const u=o===i[0],f=((d=this.$root)==null?void 0:d.$_sentryRootComponentSpan)||bt();if(u){if(f){const h=this.$_sentryComponentSpans[s];h&&h.end(),this.$_sentryComponentSpans[s]=Ar({name:`Vue ${c}`,op:`${Yg}.${s}`,attributes:{[Qe]:"auto.ui.vue"},onlyIfParent:!0})}}else{const h=this.$_sentryComponentSpans[s];if(!h)return;h.end(),au(this,st(),r)}}}return n},VB=Ce,UB={Vue:VB.Vue,attachProps:!0,attachErrorHandler:!0,tracingOptions:{hooks:qE,timeout:2e3,trackComponents:!1}},WB="Vue",jB=(e={})=>({name:WB,setup(t){const n={...UB,...t.getOptions(),...e};if(!n.Vue&&!n.app){lr(()=>{console.warn("[@sentry/vue]: Misconfigured SDK. Vue specific errors will not be captured. Update your `Sentry.init` call with an appropriate config option: `app` (Application Instance - Vue 3) or `Vue` (Vue Constructor - Vue 2).")});return}n.app?(Array.isArray(n.app)?n.app:[n.app]).forEach(s=>Xg(s,n)):n.Vue&&Xg(n.Vue,n)}}),Xg=(e,t)=>{var n;GE&&((n=e._instance)==null?void 0:n.isMounted)===!0&&lr(()=>{console.warn("[@sentry/vue]: Misconfigured SDK. Vue app is already mounted. Make sure to call `app.mount()` after `Sentry.init()`.")}),t.attachErrorHandler&&FB(e,t),sn(t)&&e.mixin(HB(t.tracingOptions))};function zB(e={}){const t={defaultIntegrations:[...JS(),jB()],...e};return yS(t,"vue"),AL(t)}function qB(e,t,n){let r=!1;e.onError(s=>el(s,{mechanism:{handled:!1}})),e.beforeEach((s,i,o)=>{const a=r?void 0:GB(),c={};for(const f of Object.keys(s.params))c[`url.path.parameter.${f}`]=s.params[f],c[`params.${f}`]=s.params[f];for(const f of Object.keys(s.query)){const d=s.query[f];d&&(c[`query.${f}`]=d)}let l=s.path,u="url";if(s.name&&t.routeLabel!=="path")l=s.name.toString(),u="custom";else if(s.matched.length>0){const f=s.matched.length-1;l=s.matched[f].path,u="route"}De().setTransactionName(l),t.instrumentPageLoad&&a&&(ke(a).data[Bt]!=="custom"&&(a.updateName(l),a.setAttribute(Bt,u)),a.setAttributes({...c,[Qe]:"auto.pageload.vue"}),r=!0),t.instrumentNavigation&&!a&&n({name:l,op:"navigation",attributes:{...c,[Qe]:"auto.navigation.vue",[Bt]:u}}),o&&o()})}function GB(){const e=bt(),t=e&&vt(e);return t&&ke(t).op==="pageload"?t:void 0}function KB(e={}){if(!e.router)return zg(e);const t=zg({...e,instrumentNavigation:!1}),{router:n,instrumentNavigation:r=!0,instrumentPageLoad:s=!0,routeLabel:i="name"}=e;return{...t,afterAllSetup(o){t.afterAllSetup(o),qB(n,{routeLabel:i,instrumentNavigation:r,instrumentPageLoad:s},c=>{jE(o,c)})}}}const YB=l_(),Mi=gT(uA);zB({app:Mi,dsn:"https://2f8e5e4ec986c6077d3798ba9f683fdd@o4510762489151488.ingest.us.sentry.io/4510762503438336",sendDefaultPii:!0,integrations:[KB({router:jc}),uB()],tracesSampleRate:1,tracePropagationTargets:["localhost",/^https:\/\/kv-service\.(houlang\.cloud|wuyuan\.dev)/],replaysSessionSampleRate:.01,replaysOnErrorSampleRate:1,enableLogs:!0});Uk(Mi);Mi.use(Ps);Mi.use(YB);Mi.component("GlobalMessage",G_);Mi.mount("#app");document.readyState==="complete"?Jg():window.addEventListener("load",Jg,{once:!0});async function Jg(){try{const e=(await ht(async()=>{const{default:r}=await import("./index-ghQi_28l.js");return{default:r}},[],import.meta.url)).default;e.init("rhp8uqoc3l");const n=await dA();console.log("Visitor ID:",n),e.identify(n),e.setTag("fingerprintjs",n)}catch(e){console.warn("Clarity 加载或标识设置失败:",e)}}try{const e=()=>{document.body.classList.add("app-loaded");const t=document.getElementById("app-loader");t&&setTimeout(()=>t.remove(),220)};document.readyState==="complete"||document.readyState==="interactive"?e():window.addEventListener("DOMContentLoaded",e,{once:!0})}catch{}export{yn as $,dn as A,RH as B,mv as C,gu as D,Ye as E,Ke as F,Z0 as G,RR as H,us as I,Vf as J,tb as K,ac as L,K_ as M,eH as N,QB as O,rA as P,Hu as Q,Qp as R,wo as S,Uf as T,PH as U,lA as V,MH as W,uI as X,mR as Y,Nr as Z,T_ as _,WR as a,Fs as a$,fb as a0,ub as a1,Ee as a2,U as a3,lt as a4,Wk as a5,jk as a6,wH as a7,CH as a8,TH as a9,ys as aA,ri as aB,Gs as aC,Kr as aD,Cu as aE,Ax as aF,bi as aG,dd as aH,Bc as aI,pe as aJ,vs as aK,zf as aL,Su as aM,XB as aN,Xf as aO,dA as aP,DH as aQ,LH as aR,Xe as aS,uH as aT,YR as aU,kT as aV,nn as aW,dH as aX,rs as aY,IT as aZ,yt as a_,px as aa,Fr as ab,Kk as ac,ht as ad,Se as ae,JB as af,R_ as ag,Ft as ah,SR as ai,aR as aj,mr as ak,um as al,Z_ as am,oc as an,kH as ao,IH as ap,SC as aq,zn as ar,qf as as,iH as at,q_ as au,Q as av,dt as aw,cH as ax,aH as ay,be as az,Je as b,tH as b$,Ji as b0,yH as b1,gH as b2,on as b3,Ov as b4,fm as b5,Eu as b6,Do as b7,AH as b8,aI as b9,Sx as bA,Xx as bB,EH as bC,Xs as bD,sp as bE,Yx as bF,SH as bG,_H as bH,vi as bI,Pc as bJ,Ps as bK,Ks as bL,sH as bM,hH as bN,Oe as bO,Qx as bP,Zx as bQ,ix as bR,sx as bS,Ct as bT,ox as bU,rx as bV,Pv as bW,rH as bX,ut as bY,mH as bZ,pi as b_,_t as ba,oH as bb,Qn as bc,kR as bd,cr as be,s_ as bf,od as bg,ep as bh,W_ as bi,Yt as bj,ar as bk,Gc as bl,Uy as bm,hd as bn,cn as bo,Bo as bp,$o as bq,xr as br,Gk as bs,Yk as bt,Xk as bu,zx as bv,jx as bw,TT as bx,yi as by,_i as bz,F as c,ds as c0,bu as c1,lH as c2,O_ as c3,vx as c4,A_ as c5,mt as c6,ue as c7,kn as c8,Mf as c9,ZB as cA,bH as cB,qc as cC,ld as cD,NH as cE,ud as cF,Dr as cG,Of as cH,Dc as cI,Bv as cJ,kr as cK,xH as cL,cC as ca,po as cb,q0 as cc,td as cd,nH as ce,_s as cf,zc as cg,cd as ch,ad as ci,Wx as cj,zy as ck,CT as cl,Zi as cm,IR as cn,Dv as co,fH as cp,pH as cq,JR as cr,aA as cs,Gy as ct,Vo as cu,Ho as cv,Lr as cw,vH as cx,xv as cy,OH as cz,Re as d,Ei as e,Si as f,Pe as g,rt as h,ne as i,xn as j,sd as k,dm as l,It as m,ze as n,en as o,ie as p,Y_ as q,J0 as r,qk as s,Mn as t,wI as u,Wi as v,ft as w,MR as x,B_ as y,$u as z}; diff --git a/assets/index-Ck0Pnd4f.js b/assets/index-Ck0Pnd4f.js deleted file mode 100644 index 8322aec..0000000 --- a/assets/index-Ck0Pnd4f.js +++ /dev/null @@ -1,44 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./default-BLu6UNYI.js","./default-CmdaPMSp.css","./index-C4pR7dAk.js","./ExamConfigEditor-DSJ1EgID.js","./dataProvider-BZ0EQWiW.js","./serverRotation-TSbwZ9RQ.js","./VAlert-WqxdeiRc.js","./VAlert-D_OX1cfW.css","./VSkeletonLoader-LZ55LBTh.js","./VSkeletonLoader-C11ZEozu.css","./VTooltip-BqVq3svk.js","./VTooltip-D7EaNDeY.css","./VChip-C4TXrZae.js","./VChip-Dmz_1Lnv.css","./VRow-D_zZfsym.js","./VTextField-C6VOv1Py.js","./VTextField-D1VSzmed.css","./VTextarea-Akjtg06o.js","./VTextarea-_xVwaw_z.css","./VSwitch-B-2xPqHI.js","./VSwitch-C87GkfUP.css","./filter-BOxM3LRL.js","./VCheckboxBtn-DWqkYNT7.js","./filter-DEjKrR5R.css","./VSheet-DJg5eIit.js","./VSheet-DW_b51tO.css","./ExamConfigEditor-CrmzhmtU.css","./socketClient-CbzMnGVD.js","./VCombobox-BctCYhAJ.js","./VAppBarTitle-N2z58aj8.js","./VAppBarTitle-DHaTV8xv.css","./VCombobox-BLfr31LE.css","./deviceEvents-DSVBBN-K.js","./VPagination-CAsEj5TO.js","./VPagination-DNe_r2rg.css","./VContainer-_5I3ogXr.js","./VForm-Jb3Esqve.js","./VExpansionPanels-B6fkQj5C.js","./VExpansionPanels-kEj4ZJQK.css","./index-CuoHvzZv.css","./404-BDPO8oQV.js","./authorize-CMXt_eB_.js","./CacheManagement-LQxE9shI.js","./cses2wakeup-DSwAVdLr.js","./VTabsWindowItem-DSJn6eyk.js","./VTabsWindowItem-DsCcWpt1.css","./cses2wakeup-B_ZAsO72.css","./debug-CpxFVaC9.js","./debug-CbS14biG.css","./debug-init-D2rXtSfG.js","./debug-socket-DEE0yYvx.js","./_id_-QTYaofAc.js","./examschedule-DGn665C4.js","./examschedule-CU_Gxm4i.css","./index-Cgekbe0l.js","./_id_-Dx2RdnaN.js","./settings-DptYywUP.js","./settings-eh31GxG-.css","./socket-debugger-BMJuEHHG.js","./socket-debugger-ykBk0O32.css"])))=>i.map(i=>d[i]); -(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();const dm="modulepreload",mm=function(e,t){return new URL(e,t).href},Ba={},Ue=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){const o=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),l=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));s=Promise.allSettled(n.map(u=>{if(u=mm(u,r),u in Ba)return;Ba[u]=!0;const c=u.endsWith(".css"),f=c?'[rel="stylesheet"]':"";if(!!r)for(let h=o.length-1;h>=0;h--){const v=o[h];if(v.href===u&&(!c||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${u}"]${f}`))return;const m=document.createElement("link");if(m.rel=c?"stylesheet":dm,c||(m.as="script"),m.crossOrigin="",m.href=u,l&&m.setAttribute("nonce",l),document.head.appendChild(m),c)return new Promise((h,v)=>{m.addEventListener("load",h),m.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${u}`)))})}))}function i(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&i(a.reason);return t().catch(i)})};/** -* @vue/shared v3.5.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Bo(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const we={},rr=[],jt=()=>{},Ku=()=>!1,ii=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),$o=e=>e.startsWith("onUpdate:"),Ve=Object.assign,Ho=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},hm=Object.prototype.hasOwnProperty,ye=(e,t)=>hm.call(e,t),se=Array.isArray,sr=e=>oi(e)==="[object Map]",qu=e=>oi(e)==="[object Set]",oe=e=>typeof e=="function",De=e=>typeof e=="string",rn=e=>typeof e=="symbol",_e=e=>e!==null&&typeof e=="object",Yu=e=>(_e(e)||oe(e))&&oe(e.then)&&oe(e.catch),Xu=Object.prototype.toString,oi=e=>Xu.call(e),gm=e=>oi(e).slice(8,-1),Zu=e=>oi(e)==="[object Object]",ai=e=>De(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Nr=Bo(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),li=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},vm=/-\w/g,lt=li(e=>e.replace(vm,t=>t.slice(1).toUpperCase())),pm=/\B([A-Z])/g,Sn=li(e=>e.replace(pm,"-$1").toLowerCase()),yr=li(e=>e.charAt(0).toUpperCase()+e.slice(1)),ki=li(e=>e?`on${yr(e)}`:""),pn=(e,t)=>!Object.is(e,t),Ps=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},jo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ym=e=>{const t=De(e)?Number(e):NaN;return isNaN(t)?e:t};let $a;const ui=()=>$a||($a=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function xe(e){if(se(e)){const t={};for(let n=0;n{if(n){const r=n.split(Sm);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function he(e){let t="";if(De(e))t=e;else if(se(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Et=e=>De(e)?e:e==null?"":se(e)||_e(e)&&(e.toString===Xu||!oe(e.toString))?ec(e)?Et(e.value):JSON.stringify(e,tc,2):String(e),tc=(e,t)=>ec(t)?tc(e,t.value):sr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[Ti(r,i)+" =>"]=s,n),{})}:qu(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Ti(n))}:rn(t)?Ti(t):_e(t)&&!se(t)&&!Zu(t)?String(t):t,Ti=(e,t="")=>{var n;return rn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ze;class nc{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=Ze,!t&&Ze&&(this.index=(Ze.scopes||(Ze.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&&(Ze=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let n,r;for(n=0,r=this.effects.length;n0)return;if(Fr){let t=Fr;for(Fr=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Vr;){let t=Vr;for(Vr=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function oc(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ac(e){let t,n=e.depsTail,r=n;for(;r;){const s=r.prevDep;r.version===-1?(r===n&&(n=s),zo(r),xm(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=s}e.deps=t,e.depsTail=n}function so(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(lc(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function lc(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===qr)||(e.globalVersion=qr,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!so(e))))return;e.flags|=2;const t=e.dep,n=Ee,r=xt;Ee=e,xt=!0;try{oc(e);const s=e.fn(e._value);(t.version===0||pn(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{Ee=n,xt=r,ac(e),e.flags&=-3}}function zo(e,t=!1){const{dep:n,prevSub:r,nextSub:s}=e;if(r&&(r.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)zo(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function xm(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let xt=!0;const uc=[];function Qt(){uc.push(xt),xt=!1}function en(){const e=uc.pop();xt=e===void 0?!0:e}function Ha(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Ee;Ee=void 0;try{t()}finally{Ee=n}}}let qr=0;class Am{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 Ko{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(!Ee||!xt||Ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Ee)n=this.activeLink=new Am(Ee,this),Ee.deps?(n.prevDep=Ee.depsTail,Ee.depsTail.nextDep=n,Ee.depsTail=n):Ee.deps=Ee.depsTail=n,cc(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Ee.depsTail,n.nextDep=void 0,Ee.depsTail.nextDep=n,Ee.depsTail=n,Ee.deps===n&&(Ee.deps=r)}return n}trigger(t){this.version++,qr++,this.notify(t)}notify(t){Go();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Uo()}}}function cc(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)cc(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Fs=new WeakMap,Ln=Symbol(""),io=Symbol(""),Yr=Symbol("");function Je(e,t,n){if(xt&&Ee){let r=Fs.get(e);r||Fs.set(e,r=new Map);let s=r.get(n);s||(r.set(n,s=new Ko),s.map=r,s.key=n),s.track()}}function Yt(e,t,n,r,s,i){const o=Fs.get(e);if(!o){qr++;return}const a=l=>{l&&l.trigger()};if(Go(),t==="clear")o.forEach(a);else{const l=se(e),u=l&&ai(n);if(l&&n==="length"){const c=Number(r);o.forEach((f,d)=>{(d==="length"||d===Yr||!rn(d)&&d>=c)&&a(f)})}else switch((n!==void 0||o.has(void 0))&&a(o.get(n)),u&&a(o.get(Yr)),t){case"add":l?u&&a(o.get("length")):(a(o.get(Ln)),sr(e)&&a(o.get(io)));break;case"delete":l||(a(o.get(Ln)),sr(e)&&a(o.get(io)));break;case"set":sr(e)&&a(o.get(Ln));break}}Uo()}function km(e,t){const n=Fs.get(e);return n&&n.get(t)}function zn(e){const t=te(e);return t===e?t:(Je(t,"iterate",Yr),gt(e)?t:t.map(At))}function ci(e){return Je(e=te(e),"iterate",Yr),e}function mn(e,t){return tn(e)?cr(Zt(e)?At(t):t):At(t)}const Tm={__proto__:null,[Symbol.iterator](){return Ii(this,Symbol.iterator,e=>mn(this,e))},concat(...e){return zn(this).concat(...e.map(t=>se(t)?zn(t):t))},entries(){return Ii(this,"entries",e=>(e[1]=mn(this,e[1]),e))},every(e,t){return Gt(this,"every",e,t,void 0,arguments)},filter(e,t){return Gt(this,"filter",e,t,n=>n.map(r=>mn(this,r)),arguments)},find(e,t){return Gt(this,"find",e,t,n=>mn(this,n),arguments)},findIndex(e,t){return Gt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Gt(this,"findLast",e,t,n=>mn(this,n),arguments)},findLastIndex(e,t){return Gt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Gt(this,"forEach",e,t,void 0,arguments)},includes(...e){return Oi(this,"includes",e)},indexOf(...e){return Oi(this,"indexOf",e)},join(e){return zn(this).join(e)},lastIndexOf(...e){return Oi(this,"lastIndexOf",e)},map(e,t){return Gt(this,"map",e,t,void 0,arguments)},pop(){return Tr(this,"pop")},push(...e){return Tr(this,"push",e)},reduce(e,...t){return ja(this,"reduce",e,t)},reduceRight(e,...t){return ja(this,"reduceRight",e,t)},shift(){return Tr(this,"shift")},some(e,t){return Gt(this,"some",e,t,void 0,arguments)},splice(...e){return Tr(this,"splice",e)},toReversed(){return zn(this).toReversed()},toSorted(e){return zn(this).toSorted(e)},toSpliced(...e){return zn(this).toSpliced(...e)},unshift(...e){return Tr(this,"unshift",e)},values(){return Ii(this,"values",e=>mn(this,e))}};function Ii(e,t,n){const r=ci(e),s=r[t]();return r!==e&&!gt(e)&&(s._next=s.next,s.next=()=>{const i=s._next();return i.done||(i.value=n(i.value)),i}),s}const Pm=Array.prototype;function Gt(e,t,n,r,s,i){const o=ci(e),a=o!==e&&!gt(e),l=o[t];if(l!==Pm[t]){const f=l.apply(e,i);return a?At(f):f}let u=n;o!==e&&(a?u=function(f,d){return n.call(this,mn(e,f),d,e)}:n.length>2&&(u=function(f,d){return n.call(this,f,d,e)}));const c=l.call(o,u,r);return a&&s?s(c):c}function ja(e,t,n,r){const s=ci(e);let i=n;return s!==e&&(gt(e)?n.length>3&&(i=function(o,a,l){return n.call(this,o,a,l,e)}):i=function(o,a,l){return n.call(this,o,mn(e,a),l,e)}),s[t](i,...r)}function Oi(e,t,n){const r=te(e);Je(r,"iterate",Yr);const s=r[t](...n);return(s===-1||s===!1)&&fi(n[0])?(n[0]=te(n[0]),r[t](...n)):s}function Tr(e,t,n=[]){Qt(),Go();const r=te(e)[t].apply(e,n);return Uo(),en(),r}const Im=Bo("__proto__,__v_isRef,__isVue"),fc=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(rn));function Om(e){rn(e)||(e=String(e));const t=te(this);return Je(t,"has",e),t.hasOwnProperty(e)}class dc{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?Hm:vc:i?gc:hc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=se(t);if(!s){let l;if(o&&(l=Tm[n]))return l;if(n==="hasOwnProperty")return Om}const a=Reflect.get(t,n,Ae(t)?t:r);if((rn(n)?fc.has(n):Im(n))||(s||Je(t,"get",n),i))return a;if(Ae(a)){const l=o&&ai(n)?a:a.value;return s&&_e(l)?ur(l):l}return _e(a)?s?ur(a):Be(a):a}}class mc extends dc{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];const o=se(t)&&ai(n);if(!this._isShallow){const u=tn(i);if(!gt(r)&&!tn(r)&&(i=te(i),r=te(r)),!o&&Ae(i)&&!Ae(r))return u||(i.value=r),!0}const a=o?Number(n)e,Ss=e=>Reflect.getPrototypeOf(e);function Nm(e,t,n){return function(...r){const s=this.__v_raw,i=te(s),o=sr(i),a=e==="entries"||e===Symbol.iterator&&o,l=e==="keys"&&o,u=s[e](...r),c=n?oo:t?cr:At;return!t&&Je(i,"iterate",l?io:Ln),Ve(Object.create(u),{next(){const{value:f,done:d}=u.next();return d?{value:f,done:d}:{value:a?[c(f[0]),c(f[1])]:c(f),done:d}}})}}function ws(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Vm(e,t){const n={get(s){const i=this.__v_raw,o=te(i),a=te(s);e||(pn(s,a)&&Je(o,"get",s),Je(o,"get",a));const{has:l}=Ss(o),u=t?oo:e?cr:At;if(l.call(o,s))return u(i.get(s));if(l.call(o,a))return u(i.get(a));i!==o&&i.get(s)},get size(){const s=this.__v_raw;return!e&&Je(te(s),"iterate",Ln),s.size},has(s){const i=this.__v_raw,o=te(i),a=te(s);return e||(pn(s,a)&&Je(o,"has",s),Je(o,"has",a)),s===a?i.has(s):i.has(s)||i.has(a)},forEach(s,i){const o=this,a=o.__v_raw,l=te(a),u=t?oo:e?cr:At;return!e&&Je(l,"iterate",Ln),a.forEach((c,f)=>s.call(i,u(c),u(f),o))}};return Ve(n,e?{add:ws("add"),set:ws("set"),delete:ws("delete"),clear:ws("clear")}:{add(s){!t&&!gt(s)&&!tn(s)&&(s=te(s));const i=te(this);return Ss(i).has.call(i,s)||(i.add(s),Yt(i,"add",s,s)),this},set(s,i){!t&&!gt(i)&&!tn(i)&&(i=te(i));const o=te(this),{has:a,get:l}=Ss(o);let u=a.call(o,s);u||(s=te(s),u=a.call(o,s));const c=l.call(o,s);return o.set(s,i),u?pn(i,c)&&Yt(o,"set",s,i):Yt(o,"add",s,i),this},delete(s){const i=te(this),{has:o,get:a}=Ss(i);let l=o.call(i,s);l||(s=te(s),l=o.call(i,s)),a&&a.call(i,s);const u=i.delete(s);return l&&Yt(i,"delete",s,void 0),u},clear(){const s=te(this),i=s.size!==0,o=s.clear();return i&&Yt(s,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=Nm(s,e,t)}),n}function qo(e,t){const n=Vm(e,t);return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get(ye(n,s)&&s in r?n:r,s,i)}const Fm={get:qo(!1,!1)},Bm={get:qo(!1,!0)},$m={get:qo(!0,!1)};const hc=new WeakMap,gc=new WeakMap,vc=new WeakMap,Hm=new WeakMap;function jm(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Wm(e){return e.__v_skip||!Object.isExtensible(e)?0:jm(gm(e))}function Be(e){return tn(e)?e:Yo(e,!1,Dm,Fm,hc)}function pc(e){return Yo(e,!1,Mm,Bm,gc)}function ur(e){return Yo(e,!0,Lm,$m,vc)}function Yo(e,t,n,r,s){if(!_e(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Wm(e);if(i===0)return e;const o=s.get(e);if(o)return o;const a=new Proxy(e,i===2?r:n);return s.set(e,a),a}function Zt(e){return tn(e)?Zt(e.__v_raw):!!(e&&e.__v_isReactive)}function tn(e){return!!(e&&e.__v_isReadonly)}function gt(e){return!!(e&&e.__v_isShallow)}function fi(e){return e?!!e.__v_raw:!1}function te(e){const t=e&&e.__v_raw;return t?te(t):e}function Xo(e){return!ye(e,"__v_skip")&&Object.isExtensible(e)&&Ju(e,"__v_skip",!0),e}const At=e=>_e(e)?Be(e):e,cr=e=>_e(e)?ur(e):e;function Ae(e){return e?e.__v_isRef===!0:!1}function ce(e){return yc(e,!1)}function le(e){return yc(e,!0)}function yc(e,t){return Ae(e)?e:new Gm(e,t)}class Gm{constructor(t,n){this.dep=new Ko,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:te(t),this._value=n?t:At(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||gt(t)||tn(t);t=r?t:te(t),pn(t,n)&&(this._rawValue=t,this._value=r?t:At(t),this.dep.trigger())}}function ft(e){return Ae(e)?e.value:e}function Ke(e){return oe(e)?e():ft(e)}const Um={get:(e,t,n)=>t==="__v_raw"?e:ft(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return Ae(s)&&!Ae(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function bc(e){return Zt(e)?e:new Proxy(e,Um)}function Zo(e){const t=se(e)?new Array(e.length):{};for(const n in e)t[n]=Sc(e,n);return t}class zm{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0,this._raw=te(t);let s=!0,i=t;if(!se(t)||!ai(String(n)))do s=!fi(i)||gt(i);while(s&&(i=i.__v_raw));this._shallow=s}get value(){let t=this._object[this._key];return this._shallow&&(t=ft(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&Ae(this._raw[this._key])){const n=this._object[this._key];if(Ae(n)){n.value=t;return}}this._object[this._key]=t}get dep(){return km(this._raw,this._key)}}class Km{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 G(e,t,n){return Ae(e)?e:oe(e)?new Km(e):_e(e)&&arguments.length>1?Sc(e,t,n):ce(e)}function Sc(e,t,n){return new zm(e,t,n)}class qm{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ko(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=qr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Ee!==this)return ic(this,!0),!0}get value(){const t=this.dep.track();return lc(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Ym(e,t,n=!1){let r,s;return oe(e)?r=e:(r=e.get,s=e.set),new qm(r,s,n)}const _s={},Bs=new WeakMap;let In;function Xm(e,t=!1,n=In){if(n){let r=Bs.get(n);r||Bs.set(n,r=[]),r.push(e)}}function Zm(e,t,n=we){const{immediate:r,deep:s,once:i,scheduler:o,augmentJob:a,call:l}=n,u=_=>s?_:gt(_)||s===!1||s===0?Xt(_,1):Xt(_);let c,f,d,m,h=!1,v=!1;if(Ae(e)?(f=()=>e.value,h=gt(e)):Zt(e)?(f=()=>u(e),h=!0):se(e)?(v=!0,h=e.some(_=>Zt(_)||gt(_)),f=()=>e.map(_=>{if(Ae(_))return _.value;if(Zt(_))return u(_);if(oe(_))return l?l(_,2):_()})):oe(e)?t?f=l?()=>l(e,2):e:f=()=>{if(d){Qt();try{d()}finally{en()}}const _=In;In=c;try{return l?l(e,3,[m]):e(m)}finally{In=_}}:f=jt,t&&s){const _=f,I=s===!0?1/0:s;f=()=>Xt(_(),I)}const E=Wo(),p=()=>{c.stop(),E&&E.active&&Ho(E.effects,c)};if(i&&t){const _=t;t=(...I)=>{_(...I),p()}}let S=v?new Array(e.length).fill(_s):_s;const b=_=>{if(!(!(c.flags&1)||!c.dirty&&!_))if(t){const I=c.run();if(s||h||(v?I.some((T,R)=>pn(T,S[R])):pn(I,S))){d&&d();const T=In;In=c;try{const R=[I,S===_s?void 0:v&&S[0]===_s?[]:S,m];S=I,l?l(t,3,R):t(...R)}finally{In=T}}}else c.run()};return a&&a(b),c=new rc(f),c.scheduler=o?()=>o(b,!1):b,m=_=>Xm(_,!1,c),d=c.onStop=()=>{const _=Bs.get(c);if(_){if(l)l(_,4);else for(const I of _)I();Bs.delete(c)}},t?r?b(!0):S=c.run():o?o(b.bind(null,!0),!0):c.run(),p.pause=c.pause.bind(c),p.resume=c.resume.bind(c),p.stop=p,p}function Xt(e,t=1/0,n){if(t<=0||!_e(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Ae(e))Xt(e.value,t,n);else if(se(e))for(let r=0;r{Xt(r,t,n)});else if(Zu(e)){for(const r in e)Xt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&Xt(e[r],t,n)}return e}/** -* @vue/runtime-core v3.5.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function cs(e,t,n,r){try{return r?e(...r):e()}catch(s){di(s,t,n)}}function kt(e,t,n,r){if(oe(e)){const s=cs(e,t,n,r);return s&&Yu(s)&&s.catch(i=>{di(i,t,n)}),s}if(se(e)){const s=[];for(let i=0;i>>1,s=at[r],i=Xr(s);i=Xr(n)?at.push(e):at.splice(Qm(t),0,e),e.flags|=1,_c()}}function _c(){$s||($s=wc.then(Ec))}function eh(e){se(e)?ir.push(...e):hn&&e.id===-1?hn.splice(Zn+1,0,e):e.flags&1||(ir.push(e),e.flags|=1),_c()}function Wa(e,t,n=Mt+1){for(;nXr(n)-Xr(r));if(ir.length=0,hn){hn.push(...t);return}for(hn=t,Zn=0;Zne.id==null?e.flags&2?-1:1/0:e.id;function Ec(e){try{for(Mt=0;Mt{r._d&&Gs(-1);const i=Hs(t);let o;try{o=e(...s)}finally{Hs(i),r._d&&Gs(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function $n(e,t){if(qe===null)return e;const n=yi(qe),r=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&oe(t)?t.call(r&&r.proxy):t}}function th(){return!!(br()||Mn)}const nh=Symbol.for("v-scx"),rh=()=>ge(nh);function _t(e,t){return Qo(e,null,t)}function ue(e,t,n){return Qo(e,t,n)}function Qo(e,t,n=we){const{immediate:r,deep:s,flush:i,once:o}=n,a=Ve({},n),l=t&&r||!t&&i!=="post";let u;if(Qr){if(i==="sync"){const m=rh();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!l){const m=()=>{};return m.stop=jt,m.resume=jt,m.pause=jt,m}}const c=Qe;a.call=(m,h,v)=>kt(m,c,h,v);let f=!1;i==="post"?a.scheduler=m=>{it(m,c&&c.suspense)}:i!=="sync"&&(f=!0,a.scheduler=(m,h)=>{h?m():Jo(m)}),a.augmentJob=m=>{t&&(m.flags|=4),f&&(m.flags|=2,c&&(m.id=c.uid,m.i=c))};const d=Zm(e,t,a);return Qr&&(u?u.push(d):l&&d()),d}function sh(e,t,n){const r=this.proxy,s=De(e)?e.includes(".")?Ac(r,e):()=>r[e]:e.bind(r,r);let i;oe(t)?i=t:(i=t.handler,n=t);const o=ds(this),a=Qo(s,i.bind(r),n);return o(),a}function Ac(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;se.__isTeleport,Br=e=>e&&(e.disabled||e.disabled===""),Ga=e=>e&&(e.defer||e.defer===""),Ua=e=>typeof SVGElement<"u"&&e instanceof SVGElement,za=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,ao=(e,t)=>{const n=e&&e.to;return De(n)?t?t(n):null:n},Pc={name:"Teleport",__isTeleport:!0,process(e,t,n,r,s,i,o,a,l,u){const{mc:c,pc:f,pbc:d,o:{insert:m,querySelector:h,createText:v,createComment:E}}=u,p=Br(t.props);let{shapeFlag:S,children:b,dynamicChildren:_}=t;if(e==null){const I=t.el=v(""),T=t.anchor=v("");m(I,n,r),m(T,n,r);const R=(x,B)=>{S&16&&c(b,x,B,s,i,o,a,l)},A=()=>{const x=t.target=ao(t.props,h),B=Ic(x,t,v,m);x&&(o!=="svg"&&Ua(x)?o="svg":o!=="mathml"&&za(x)&&(o="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(x),p||(R(x,B),Is(t,!1)))};p&&(R(n,T),Is(t,!0)),Ga(t.props)?(t.el.__isMounted=!1,it(()=>{A(),delete t.el.__isMounted},i)):A()}else{if(Ga(t.props)&&e.el.__isMounted===!1){it(()=>{Pc.process(e,t,n,r,s,i,o,a,l,u)},i);return}t.el=e.el,t.targetStart=e.targetStart;const I=t.anchor=e.anchor,T=t.target=e.target,R=t.targetAnchor=e.targetAnchor,A=Br(e.props),x=A?n:T,B=A?I:R;if(o==="svg"||Ua(T)?o="svg":(o==="mathml"||za(T))&&(o="mathml"),_?(d(e.dynamicChildren,_,x,s,i,o,a),sa(e,t,!0)):l||f(e,t,x,B,s,i,o,a,!1),p)A?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Cs(t,n,I,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const F=t.target=ao(t.props,h);F&&Cs(t,F,null,u,0)}else A&&Cs(t,T,R,u,1);Is(t,p)}},remove(e,t,n,{um:r,o:{remove:s}},i){const{shapeFlag:o,children:a,anchor:l,targetStart:u,targetAnchor:c,target:f,props:d}=e;if(f&&(s(u),s(c)),i&&s(l),o&16){const m=i||!Br(d);for(let h=0;h{e.isMounted=!0}),Pt(()=>{e.isUnmounting=!0}),e}const yt=[Function,Array],Rc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:yt,onEnter:yt,onAfterEnter:yt,onEnterCancelled:yt,onBeforeLeave:yt,onLeave:yt,onAfterLeave:yt,onLeaveCancelled:yt,onBeforeAppear:yt,onAppear:yt,onAfterAppear:yt,onAppearCancelled:yt},Dc=e=>{const t=e.subTree;return t.component?Dc(t.component):t},ah={name:"BaseTransition",props:Rc,setup(e,{slots:t}){const n=br(),r=Oc();return()=>{const s=t.default&&ea(t.default(),!0);if(!s||!s.length)return;const i=Lc(s),o=te(e),{mode:a}=o;if(r.isLeaving)return Ri(i);const l=Ka(i);if(!l)return Ri(i);let u=Zr(l,o,r,n,f=>u=f);l.type!==ze&&Hn(l,u);let c=n.subTree&&Ka(n.subTree);if(c&&c.type!==ze&&!Rn(c,l)&&Dc(n).type!==ze){let f=Zr(c,o,r,n);if(Hn(c,f),a==="out-in"&&l.type!==ze)return r.isLeaving=!0,f.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete f.afterLeave,c=void 0},Ri(i);a==="in-out"&&l.type!==ze?f.delayLeave=(d,m,h)=>{const v=Mc(r,c);v[String(c.key)]=c,d[qt]=()=>{m(),d[qt]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{h(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return i}}};function Lc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ze){t=n;break}}return t}const lh=ah;function Mc(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Zr(e,t,n,r,s){const{appear:i,mode:o,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:m,onAfterLeave:h,onLeaveCancelled:v,onBeforeAppear:E,onAppear:p,onAfterAppear:S,onAppearCancelled:b}=t,_=String(e.key),I=Mc(n,e),T=(x,B)=>{x&&kt(x,r,9,B)},R=(x,B)=>{const F=B[1];T(x,B),se(x)?x.every(k=>k.length<=1)&&F():x.length<=1&&F()},A={mode:o,persisted:a,beforeEnter(x){let B=l;if(!n.isMounted)if(i)B=E||l;else return;x[qt]&&x[qt](!0);const F=I[_];F&&Rn(e,F)&&F.el[qt]&&F.el[qt](),T(B,[x])},enter(x){let B=u,F=c,k=f;if(!n.isMounted)if(i)B=p||u,F=S||c,k=b||f;else return;let N=!1;const j=x[Es]=Y=>{N||(N=!0,Y?T(k,[x]):T(F,[x]),A.delayedLeave&&A.delayedLeave(),x[Es]=void 0)};B?R(B,[x,j]):j()},leave(x,B){const F=String(e.key);if(x[Es]&&x[Es](!0),n.isUnmounting)return B();T(d,[x]);let k=!1;const N=x[qt]=j=>{k||(k=!0,B(),j?T(v,[x]):T(h,[x]),x[qt]=void 0,I[F]===e&&delete I[F])};I[F]=e,m?R(m,[x,N]):N()},clone(x){const B=Zr(x,t,n,r,s);return s&&s(B),B}};return A}function Ri(e){if(hi(e))return e=yn(e),e.children=null,e}function Ka(e){if(!hi(e))return Tc(e.type)&&e.children?Lc(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&&oe(n.default))return n.default()}}function Hn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Hn(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 ea(e,t=!1,n){let r=[],s=0;for(let i=0;i1)for(let i=0;i$r(h,t&&(se(t)?t[v]:t),n,r,s));return}if(or(r)&&!s){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&$r(e,t,n,r.component.subTree);return}const i=r.shapeFlag&4?yi(r.component):r.el,o=s?null:i,{i:a,r:l}=e,u=t&&t.r,c=a.refs===we?a.refs={}:a.refs,f=a.setupState,d=te(f),m=f===we?Ku:h=>ye(d,h);if(u!=null&&u!==l){if(qa(t),De(u))c[u]=null,m(u)&&(f[u]=null);else if(Ae(u)){u.value=null;const h=t;h.k&&(c[h.k]=null)}}if(oe(l))cs(l,a,12,[o,c]);else{const h=De(l),v=Ae(l);if(h||v){const E=()=>{if(e.f){const p=h?m(l)?f[l]:c[l]:l.value;if(s)se(p)&&Ho(p,i);else if(se(p))p.includes(i)||p.push(i);else if(h)c[l]=[i],m(l)&&(f[l]=c[l]);else{const S=[i];l.value=S,e.k&&(c[e.k]=S)}}else h?(c[l]=o,m(l)&&(f[l]=o)):v&&(l.value=o,e.k&&(c[e.k]=o))};if(o){const p=()=>{E(),js.delete(e)};p.id=-1,js.set(e,p),it(p,n)}else qa(e),E()}}}function qa(e){const t=js.get(e);t&&(t.flags|=8,js.delete(e))}ui().requestIdleCallback;ui().cancelIdleCallback;const or=e=>!!e.type.__asyncLoader,hi=e=>e.type.__isKeepAlive;function Fc(e,t){$c(e,"a",t)}function Bc(e,t){$c(e,"da",t)}function $c(e,t,n=Qe){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(gi(t,r,n),n){let s=n.parent;for(;s&&s.parent;)hi(s.parent.vnode)&&uh(r,t,n,s),s=s.parent}}function uh(e,t,n,r){const s=gi(t,e,r,!0);Hc(()=>{Ho(r[t],s)},n)}function gi(e,t,n=Qe,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{Qt();const a=ds(n),l=kt(t,n,e,o);return a(),en(),l});return r?s.unshift(i):s.push(i),i}}const sn=e=>(t,n=Qe)=>{(!Qr||e==="sp")&&gi(e,(...r)=>t(...r),n)},vi=sn("bm"),wn=sn("m"),ch=sn("bu"),ta=sn("u"),Pt=sn("bum"),Hc=sn("um"),fh=sn("sp"),dh=sn("rtg"),mh=sn("rtc");function hh(e,t=Qe){gi("ec",e,t)}const jc="components";function gh(e,t){return Uc(jc,e,!0,t)||e}const Wc=Symbol.for("v-ndc");function Gc(e){return De(e)?Uc(jc,e,!1)||e:e||Wc}function Uc(e,t,n=!0,r=!1){const s=qe||Qe;if(s){const i=s.type;{const a=Qh(i,!1);if(a&&(a===t||a===lt(t)||a===yr(lt(t))))return i}const o=Ya(s[e]||i[e],t)||Ya(s.appContext[e],t);return!o&&r?i:o}}function Ya(e,t){return e&&(e[t]||e[lt(t)]||e[yr(lt(t))])}function vh(e,t,n,r){let s;const i=n,o=se(e);if(o||De(e)){const a=o&&Zt(e);let l=!1,u=!1;a&&(l=!gt(e),u=tn(e),e=ci(e)),s=new Array(e.length);for(let c=0,f=e.length;ct(a,l,void 0,i));else{const a=Object.keys(e);s=new Array(a.length);for(let l=0,u=a.length;l{const i=r.fn(...s);return i&&(i.key=r.key),i}:r.fn)}return e}function DS(e,t,n={},r,s){if(qe.ce||qe.parent&&or(qe.parent)&&qe.parent.ce){const u=Object.keys(n).length>0;return t!=="default"&&(n.name=t),bt(),$t(Te,null,[O("slot",n,r)],u?-2:64)}let i=e[t];i&&i._c&&(i._d=!1),bt();const o=i&&zc(i(n)),a=n.key||o&&o.key,l=$t(Te,{key:(a&&!rn(a)?a:`_${t}`)+(!o&&r?"_fb":"")},o||[],o&&e._===1?64:-2);return i&&i._c&&(i._d=!0),l}function zc(e){return e.some(t=>fr(t)?!(t.type===ze||t.type===Te&&!zc(t.children)):!0)?e:null}const lo=e=>e?df(e)?yi(e):lo(e.parent):null,Hr=Ve(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=>lo(e.parent),$root:e=>lo(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>qc(e),$forceUpdate:e=>e.f||(e.f=()=>{Jo(e.update)}),$nextTick:e=>e.n||(e.n=We.bind(e.proxy)),$watch:e=>sh.bind(e)}),Di=(e,t)=>e!==we&&!e.__isScriptSetup&&ye(e,t),ph={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:o,type:a,appContext:l}=e;if(t[0]!=="$"){const d=o[t];if(d!==void 0)switch(d){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(Di(r,t))return o[t]=1,r[t];if(s!==we&&ye(s,t))return o[t]=2,s[t];if(ye(i,t))return o[t]=3,i[t];if(n!==we&&ye(n,t))return o[t]=4,n[t];uo&&(o[t]=0)}}const u=Hr[t];let c,f;if(u)return t==="$attrs"&&Je(e.attrs,"get",""),u(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==we&&ye(n,t))return o[t]=4,n[t];if(f=l.config.globalProperties,ye(f,t))return f[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return Di(s,t)?(s[t]=n,!0):r!==we&&ye(r,t)?(r[t]=n,!0):ye(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,props:i,type:o}},a){let l;return!!(n[a]||e!==we&&a[0]!=="$"&&ye(e,a)||Di(t,a)||ye(i,a)||ye(r,a)||ye(Hr,a)||ye(s.config.globalProperties,a)||(l=o.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ye(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Xa(e){return se(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let uo=!0;function yh(e){const t=qc(e),n=e.proxy,r=e.ctx;uo=!1,t.beforeCreate&&Za(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:o,watch:a,provide:l,inject:u,created:c,beforeMount:f,mounted:d,beforeUpdate:m,updated:h,activated:v,deactivated:E,beforeDestroy:p,beforeUnmount:S,destroyed:b,unmounted:_,render:I,renderTracked:T,renderTriggered:R,errorCaptured:A,serverPrefetch:x,expose:B,inheritAttrs:F,components:k,directives:N,filters:j}=t;if(u&&bh(u,r,null),o)for(const X in o){const ne=o[X];oe(ne)&&(r[X]=ne.bind(n))}if(s){const X=s.call(n,n);_e(X)&&(e.data=Be(X))}if(uo=!0,i)for(const X in i){const ne=i[X],Re=oe(ne)?ne.bind(n,n):oe(ne.get)?ne.get.bind(n,n):jt,me=!oe(ne)&&oe(ne.set)?ne.set.bind(n):jt,ke=M({get:Re,set:me});Object.defineProperty(r,X,{enumerable:!0,configurable:!0,get:()=>ke.value,set:Se=>ke.value=Se})}if(a)for(const X in a)Kc(a[X],r,n,X);if(l){const X=oe(l)?l.call(n):l;Reflect.ownKeys(X).forEach(ne=>{tt(ne,X[ne])})}c&&Za(c,e,"c");function Q(X,ne){se(ne)?ne.forEach(Re=>X(Re.bind(n))):ne&&X(ne.bind(n))}if(Q(vi,f),Q(wn,d),Q(ch,m),Q(ta,h),Q(Fc,v),Q(Bc,E),Q(hh,A),Q(mh,T),Q(dh,R),Q(Pt,S),Q(Hc,_),Q(fh,x),se(B))if(B.length){const X=e.exposed||(e.exposed={});B.forEach(ne=>{Object.defineProperty(X,ne,{get:()=>n[ne],set:Re=>n[ne]=Re,enumerable:!0})})}else e.exposed||(e.exposed={});I&&e.render===jt&&(e.render=I),F!=null&&(e.inheritAttrs=F),k&&(e.components=k),N&&(e.directives=N),x&&Vc(e)}function bh(e,t,n=jt){se(e)&&(e=co(e));for(const r in e){const s=e[r];let i;_e(s)?"default"in s?i=ge(s.from||r,s.default,!0):i=ge(s.from||r):i=ge(s),Ae(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function Za(e,t,n){kt(se(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Kc(e,t,n,r){let s=r.includes(".")?Ac(n,r):()=>n[r];if(De(e)){const i=t[e];oe(i)&&ue(s,i)}else if(oe(e))ue(s,e.bind(n));else if(_e(e))if(se(e))e.forEach(i=>Kc(i,t,n,r));else{const i=oe(e.handler)?e.handler.bind(n):t[e.handler];oe(i)&&ue(s,i,e)}}function qc(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,a=i.get(t);let l;return a?l=a:!s.length&&!n&&!r?l=t:(l={},s.length&&s.forEach(u=>Ws(l,u,o,!0)),Ws(l,t,o)),_e(t)&&i.set(t,l),l}function Ws(e,t,n,r=!1){const{mixins:s,extends:i}=t;i&&Ws(e,i,n,!0),s&&s.forEach(o=>Ws(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const a=Sh[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}const Sh={data:Ja,props:Qa,emits:Qa,methods:Lr,computed:Lr,beforeCreate:st,created:st,beforeMount:st,mounted:st,beforeUpdate:st,updated:st,beforeDestroy:st,beforeUnmount:st,destroyed:st,unmounted:st,activated:st,deactivated:st,errorCaptured:st,serverPrefetch:st,components:Lr,directives:Lr,watch:_h,provide:Ja,inject:wh};function Ja(e,t){return t?e?function(){return Ve(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function wh(e,t){return Lr(co(e),co(t))}function co(e){if(se(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${lt(t)}Modifiers`]||e[`${Sn(t)}Modifiers`];function Ah(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||we;let s=n;const i=t.startsWith("update:"),o=i&&xh(r,t.slice(7));o&&(o.trim&&(s=n.map(c=>De(c)?c.trim():c)),o.number&&(s=n.map(jo)));let a,l=r[a=ki(t)]||r[a=ki(lt(t))];!l&&i&&(l=r[a=ki(Sn(t))]),l&&kt(l,e,6,s);const u=r[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,kt(u,e,6,s)}}const kh=new WeakMap;function Xc(e,t,n=!1){const r=n?kh:t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let o={},a=!1;if(!oe(e)){const l=u=>{const c=Xc(u,t,!0);c&&(a=!0,Ve(o,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!a?(_e(e)&&r.set(e,null),null):(se(i)?i.forEach(l=>o[l]=null):Ve(o,i),_e(e)&&r.set(e,o),o)}function pi(e,t){return!e||!ii(t)?!1:(t=t.slice(2).replace(/Once$/,""),ye(e,t[0].toLowerCase()+t.slice(1))||ye(e,Sn(t))||ye(e,t))}function el(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:o,attrs:a,emit:l,render:u,renderCache:c,props:f,data:d,setupState:m,ctx:h,inheritAttrs:v}=e,E=Hs(e);let p,S;try{if(n.shapeFlag&4){const _=s||r,I=_;p=Vt(u.call(I,_,c,f,m,d,h)),S=a}else{const _=t;p=Vt(_.length>1?_(f,{attrs:a,slots:o,emit:l}):_(f,null)),S=t.props?a:Th(a)}}catch(_){jr.length=0,di(_,e,1),p=O(ze)}let b=p;if(S&&v!==!1){const _=Object.keys(S),{shapeFlag:I}=b;_.length&&I&7&&(i&&_.some($o)&&(S=Ph(S,i)),b=yn(b,S,!1,!0))}return n.dirs&&(b=yn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Hn(b,n.transition),p=b,Hs(E),p}const Th=e=>{let t;for(const n in e)(n==="class"||n==="style"||ii(n))&&((t||(t={}))[n]=e[n]);return t},Ph=(e,t)=>{const n={};for(const r in e)(!$o(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Ih(e,t,n){const{props:r,children:s,component:i}=e,{props:o,children:a,patchFlag:l}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?tl(r,o,u):!!o;if(l&8){const c=t.dynamicProps;for(let f=0;fObject.create(Zc),Qc=e=>Object.getPrototypeOf(e)===Zc;function Rh(e,t,n,r=!1){const s={},i=Jc();e.propsDefaults=Object.create(null),ef(e,t,s,i);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);n?e.props=r?s:pc(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Dh(e,t,n,r){const{props:s,attrs:i,vnode:{patchFlag:o}}=e,a=te(s),[l]=e.propsOptions;let u=!1;if((r||o>0)&&!(o&16)){if(o&8){const c=e.vnode.dynamicProps;for(let f=0;f{l=!0;const[d,m]=tf(f,t,!0);Ve(o,d),m&&a.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!i&&!l)return _e(e)&&r.set(e,rr),rr;if(se(i))for(let c=0;ce==="_"||e==="_ctx"||e==="$stable",ra=e=>se(e)?e.map(Vt):[Vt(e)],Mh=(e,t,n)=>{if(t._n)return t;const r=je((...s)=>ra(t(...s)),n);return r._c=!1,r},nf=(e,t,n)=>{const r=e._ctx;for(const s in e){if(na(s))continue;const i=e[s];if(oe(i))t[s]=Mh(s,i,r);else if(i!=null){const o=ra(i);t[s]=()=>o}}},rf=(e,t)=>{const n=ra(t);e.slots.default=()=>n},sf=(e,t,n)=>{for(const r in t)(n||!na(r))&&(e[r]=t[r])},Nh=(e,t,n)=>{const r=e.slots=Jc();if(e.vnode.shapeFlag&32){const s=t._;s?(sf(r,t,n),n&&Ju(r,"_",s,!0)):nf(t,r)}else t&&rf(e,t)},Vh=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,o=we;if(r.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:sf(s,t,n):(i=!t.$stable,nf(t,s)),o=t}else t&&(rf(e,t),o={default:1});if(i)for(const a in s)!na(a)&&o[a]==null&&delete s[a]},it=jh;function Fh(e){return Bh(e)}function Bh(e,t){const n=ui();n.__VUE__=!0;const{insert:r,remove:s,patchProp:i,createElement:o,createText:a,createComment:l,setText:u,setElementText:c,parentNode:f,nextSibling:d,setScopeId:m=jt,insertStaticContent:h}=e,v=(g,y,C,P=null,L=null,D=null,z=void 0,U=null,W=!!y.dynamicChildren)=>{if(g===y)return;g&&!Rn(g,y)&&(P=w(g),Se(g,L,D,!0),g=null),y.patchFlag===-2&&(W=!1,y.dynamicChildren=null);const{type:V,ref:re,shapeFlag:K}=y;switch(V){case fs:E(g,y,C,P);break;case ze:p(g,y,C,P);break;case Mi:g==null&&S(y,C,P,z);break;case Te:k(g,y,C,P,L,D,z,U,W);break;default:K&1?I(g,y,C,P,L,D,z,U,W):K&6?N(g,y,C,P,L,D,z,U,W):(K&64||K&128)&&V.process(g,y,C,P,L,D,z,U,W,Z)}re!=null&&L?$r(re,g&&g.ref,D,y||g,!y):re==null&&g&&g.ref!=null&&$r(g.ref,null,D,g,!0)},E=(g,y,C,P)=>{if(g==null)r(y.el=a(y.children),C,P);else{const L=y.el=g.el;y.children!==g.children&&u(L,y.children)}},p=(g,y,C,P)=>{g==null?r(y.el=l(y.children||""),C,P):y.el=g.el},S=(g,y,C,P)=>{[g.el,g.anchor]=h(g.children,y,C,P,g.el,g.anchor)},b=({el:g,anchor:y},C,P)=>{let L;for(;g&&g!==y;)L=d(g),r(g,C,P),g=L;r(y,C,P)},_=({el:g,anchor:y})=>{let C;for(;g&&g!==y;)C=d(g),s(g),g=C;s(y)},I=(g,y,C,P,L,D,z,U,W)=>{if(y.type==="svg"?z="svg":y.type==="math"&&(z="mathml"),g==null)T(y,C,P,L,D,z,U,W);else{const V=g.el&&g.el._isVueCE?g.el:null;try{V&&V._beginPatch(),x(g,y,L,D,z,U,W)}finally{V&&V._endPatch()}}},T=(g,y,C,P,L,D,z,U)=>{let W,V;const{props:re,shapeFlag:K,transition:ee,dirs:ae}=g;if(W=g.el=o(g.type,D,re&&re.is,re),K&8?c(W,g.children):K&16&&A(g.children,W,null,P,L,Li(g,D),z,U),ae&&xn(g,null,P,"created"),R(W,g,g.scopeId,z,P),re){for(const Ce in re)Ce!=="value"&&!Nr(Ce)&&i(W,Ce,null,re[Ce],D,P);"value"in re&&i(W,"value",null,re.value,D),(V=re.onVnodeBeforeMount)&&Dt(V,P,g)}ae&&xn(g,null,P,"beforeMount");const de=$h(L,ee);de&&ee.beforeEnter(W),r(W,y,C),((V=re&&re.onVnodeMounted)||de||ae)&&it(()=>{V&&Dt(V,P,g),de&&ee.enter(W),ae&&xn(g,null,P,"mounted")},L)},R=(g,y,C,P,L)=>{if(C&&m(g,C),P)for(let D=0;D{for(let V=W;V{const U=y.el=g.el;let{patchFlag:W,dynamicChildren:V,dirs:re}=y;W|=g.patchFlag&16;const K=g.props||we,ee=y.props||we;let ae;if(C&&An(C,!1),(ae=ee.onVnodeBeforeUpdate)&&Dt(ae,C,y,g),re&&xn(y,g,C,"beforeUpdate"),C&&An(C,!0),(K.innerHTML&&ee.innerHTML==null||K.textContent&&ee.textContent==null)&&c(U,""),V?B(g.dynamicChildren,V,U,C,P,Li(y,L),D):z||ne(g,y,U,null,C,P,Li(y,L),D,!1),W>0){if(W&16)F(U,K,ee,C,L);else if(W&2&&K.class!==ee.class&&i(U,"class",null,ee.class,L),W&4&&i(U,"style",K.style,ee.style,L),W&8){const de=y.dynamicProps;for(let Ce=0;Ce{ae&&Dt(ae,C,y,g),re&&xn(y,g,C,"updated")},P)},B=(g,y,C,P,L,D,z)=>{for(let U=0;U{if(y!==C){if(y!==we)for(const D in y)!Nr(D)&&!(D in C)&&i(g,D,y[D],null,L,P);for(const D in C){if(Nr(D))continue;const z=C[D],U=y[D];z!==U&&D!=="value"&&i(g,D,U,z,L,P)}"value"in C&&i(g,"value",y.value,C.value,L)}},k=(g,y,C,P,L,D,z,U,W)=>{const V=y.el=g?g.el:a(""),re=y.anchor=g?g.anchor:a("");let{patchFlag:K,dynamicChildren:ee,slotScopeIds:ae}=y;ae&&(U=U?U.concat(ae):ae),g==null?(r(V,C,P),r(re,C,P),A(y.children||[],C,re,L,D,z,U,W)):K>0&&K&64&&ee&&g.dynamicChildren&&g.dynamicChildren.length===ee.length?(B(g.dynamicChildren,ee,C,L,D,z,U),(y.key!=null||L&&y===L.subTree)&&sa(g,y,!0)):ne(g,y,C,re,L,D,z,U,W)},N=(g,y,C,P,L,D,z,U,W)=>{y.slotScopeIds=U,g==null?y.shapeFlag&512?L.ctx.activate(y,C,P,z,W):j(y,C,P,L,D,z,W):Y(g,y,W)},j=(g,y,C,P,L,D,z)=>{const U=g.component=qh(g,P,L);if(hi(g)&&(U.ctx.renderer=Z),Yh(U,!1,z),U.asyncDep){if(L&&L.registerDep(U,Q,z),!g.el){const W=U.subTree=O(ze);p(null,W,y,C),g.placeholder=W.el}}else Q(U,g,y,C,L,D,z)},Y=(g,y,C)=>{const P=y.component=g.component;if(Ih(g,y,C))if(P.asyncDep&&!P.asyncResolved){X(P,y,C);return}else P.next=y,P.update();else y.el=g.el,P.vnode=y},Q=(g,y,C,P,L,D,z)=>{const U=()=>{if(g.isMounted){let{next:K,bu:ee,u:ae,parent:de,vnode:Ce}=g;{const Ot=of(g);if(Ot){K&&(K.el=Ce.el,X(g,K,z)),Ot.asyncDep.then(()=>{g.isUnmounted||U()});return}}let be=K,ut;An(g,!1),K?(K.el=Ce.el,X(g,K,z)):K=Ce,ee&&Ps(ee),(ut=K.props&&K.props.onVnodeBeforeUpdate)&&Dt(ut,de,K,Ce),An(g,!0);const ct=el(g),It=g.subTree;g.subTree=ct,v(It,ct,f(It.el),w(It),g,L,D),K.el=ct.el,be===null&&Oh(g,ct.el),ae&&it(ae,L),(ut=K.props&&K.props.onVnodeUpdated)&&it(()=>Dt(ut,de,K,Ce),L)}else{let K;const{el:ee,props:ae}=y,{bm:de,m:Ce,parent:be,root:ut,type:ct}=g,It=or(y);An(g,!1),de&&Ps(de),!It&&(K=ae&&ae.onVnodeBeforeMount)&&Dt(K,be,y),An(g,!0);{ut.ce&&ut.ce._def.shadowRoot!==!1&&ut.ce._injectChildStyle(ct);const Ot=g.subTree=el(g);v(null,Ot,C,P,g,L,D),y.el=Ot.el}if(Ce&&it(Ce,L),!It&&(K=ae&&ae.onVnodeMounted)){const Ot=y;it(()=>Dt(K,be,Ot),L)}(y.shapeFlag&256||be&&or(be.vnode)&&be.vnode.shapeFlag&256)&&g.a&&it(g.a,L),g.isMounted=!0,y=C=P=null}};g.scope.on();const W=g.effect=new rc(U);g.scope.off();const V=g.update=W.run.bind(W),re=g.job=W.runIfDirty.bind(W);re.i=g,re.id=g.uid,W.scheduler=()=>Jo(re),An(g,!0),V()},X=(g,y,C)=>{y.component=g;const P=g.vnode.props;g.vnode=y,g.next=null,Dh(g,y.props,P,C),Vh(g,y.children,C),Qt(),Wa(g),en()},ne=(g,y,C,P,L,D,z,U,W=!1)=>{const V=g&&g.children,re=g?g.shapeFlag:0,K=y.children,{patchFlag:ee,shapeFlag:ae}=y;if(ee>0){if(ee&128){me(V,K,C,P,L,D,z,U,W);return}else if(ee&256){Re(V,K,C,P,L,D,z,U,W);return}}ae&8?(re&16&&He(V,L,D),K!==V&&c(C,K)):re&16?ae&16?me(V,K,C,P,L,D,z,U,W):He(V,L,D,!0):(re&8&&c(C,""),ae&16&&A(K,C,P,L,D,z,U,W))},Re=(g,y,C,P,L,D,z,U,W)=>{g=g||rr,y=y||rr;const V=g.length,re=y.length,K=Math.min(V,re);let ee;for(ee=0;eere?He(g,L,D,!0,!1,K):A(y,C,P,L,D,z,U,W,K)},me=(g,y,C,P,L,D,z,U,W)=>{let V=0;const re=y.length;let K=g.length-1,ee=re-1;for(;V<=K&&V<=ee;){const ae=g[V],de=y[V]=W?gn(y[V]):Vt(y[V]);if(Rn(ae,de))v(ae,de,C,null,L,D,z,U,W);else break;V++}for(;V<=K&&V<=ee;){const ae=g[K],de=y[ee]=W?gn(y[ee]):Vt(y[ee]);if(Rn(ae,de))v(ae,de,C,null,L,D,z,U,W);else break;K--,ee--}if(V>K){if(V<=ee){const ae=ee+1,de=aeee)for(;V<=K;)Se(g[V],L,D,!0),V++;else{const ae=V,de=V,Ce=new Map;for(V=de;V<=ee;V++){const dt=y[V]=W?gn(y[V]):Vt(y[V]);dt.key!=null&&Ce.set(dt.key,V)}let be,ut=0;const ct=ee-de+1;let It=!1,Ot=0;const kr=new Array(ct);for(V=0;V=ct){Se(dt,L,D,!0);continue}let Rt;if(dt.key!=null)Rt=Ce.get(dt.key);else for(be=de;be<=ee;be++)if(kr[be-de]===0&&Rn(dt,y[be])){Rt=be;break}Rt===void 0?Se(dt,L,D,!0):(kr[Rt-de]=V+1,Rt>=Ot?Ot=Rt:It=!0,v(dt,y[Rt],C,null,L,D,z,U,W),ut++)}const Na=It?Hh(kr):rr;for(be=Na.length-1,V=ct-1;V>=0;V--){const dt=de+V,Rt=y[dt],Va=y[dt+1],Fa=dt+1{const{el:D,type:z,transition:U,children:W,shapeFlag:V}=g;if(V&6){ke(g.component.subTree,y,C,P);return}if(V&128){g.suspense.move(y,C,P);return}if(V&64){z.move(g,y,C,Z);return}if(z===Te){r(D,y,C);for(let K=0;KU.enter(D),L);else{const{leave:K,delayLeave:ee,afterLeave:ae}=U,de=()=>{g.ctx.isUnmounted?s(D):r(D,y,C)},Ce=()=>{D._isLeaving&&D[qt](!0),K(D,()=>{de(),ae&&ae()})};ee?ee(D,de,Ce):Ce()}else r(D,y,C)},Se=(g,y,C,P=!1,L=!1)=>{const{type:D,props:z,ref:U,children:W,dynamicChildren:V,shapeFlag:re,patchFlag:K,dirs:ee,cacheIndex:ae}=g;if(K===-2&&(L=!1),U!=null&&(Qt(),$r(U,null,C,g,!0),en()),ae!=null&&(y.renderCache[ae]=void 0),re&256){y.ctx.deactivate(g);return}const de=re&1&&ee,Ce=!or(g);let be;if(Ce&&(be=z&&z.onVnodeBeforeUnmount)&&Dt(be,y,g),re&6)rt(g.component,C,P);else{if(re&128){g.suspense.unmount(C,P);return}de&&xn(g,null,y,"beforeUnmount"),re&64?g.type.remove(g,y,C,Z,P):V&&!V.hasOnce&&(D!==Te||K>0&&K&64)?He(V,y,C,!1,!0):(D===Te&&K&384||!L&&re&16)&&He(W,y,C),P&&Ne(g)}(Ce&&(be=z&&z.onVnodeUnmounted)||de)&&it(()=>{be&&Dt(be,y,g),de&&xn(g,null,y,"unmounted")},C)},Ne=g=>{const{type:y,el:C,anchor:P,transition:L}=g;if(y===Te){Ge(C,P);return}if(y===Mi){_(g);return}const D=()=>{s(C),L&&!L.persisted&&L.afterLeave&&L.afterLeave()};if(g.shapeFlag&1&&L&&!L.persisted){const{leave:z,delayLeave:U}=L,W=()=>z(C,D);U?U(g.el,D,W):W()}else D()},Ge=(g,y)=>{let C;for(;g!==y;)C=d(g),s(g),g=C;s(y)},rt=(g,y,C)=>{const{bum:P,scope:L,job:D,subTree:z,um:U,m:W,a:V}=g;rl(W),rl(V),P&&Ps(P),L.stop(),D&&(D.flags|=8,Se(z,g,y,C)),U&&it(U,y),it(()=>{g.isUnmounted=!0},y)},He=(g,y,C,P=!1,L=!1,D=0)=>{for(let z=D;z{if(g.shapeFlag&6)return w(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const y=d(g.anchor||g.el),C=y&&y[kc];return C?d(C):y};let $=!1;const H=(g,y,C)=>{let P;g==null?y._vnode&&(Se(y._vnode,null,null,!0),P=y._vnode.component):v(y._vnode||null,g,y,null,null,null,C),y._vnode=g,$||($=!0,Wa(P),Cc(),$=!1)},Z={p:v,um:Se,m:ke,r:Ne,mt:j,mc:A,pc:ne,pbc:B,n:w,o:e};return{render:H,hydrate:void 0,createApp:Eh(H)}}function Li({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 An({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function $h(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function sa(e,t,n=!1){const r=e.children,s=t.children;if(se(r)&&se(s))for(let i=0;i>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function of(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:of(t)}function rl(e){if(e)for(let t=0;te.__isSuspense;function jh(e,t){t&&t.pendingBranch?se(e)?t.effects.push(...e):t.effects.push(e):eh(e)}const Te=Symbol.for("v-fgt"),fs=Symbol.for("v-txt"),ze=Symbol.for("v-cmt"),Mi=Symbol.for("v-stc"),jr=[];let ht=null;function bt(e=!1){jr.push(ht=e?null:[])}function Wh(){jr.pop(),ht=jr[jr.length-1]||null}let Jr=1;function Gs(e,t=!1){Jr+=e,e<0&&ht&&t&&(ht.hasOnce=!0)}function uf(e){return e.dynamicChildren=Jr>0?ht||rr:null,Wh(),Jr>0&&ht&&ht.push(e),e}function cf(e,t,n,r,s,i){return uf(q(e,t,n,r,s,i,!0))}function $t(e,t,n,r,s){return uf(O(e,t,n,r,s,!0))}function fr(e){return e?e.__v_isVNode===!0:!1}function Rn(e,t){return e.type===t.type&&e.key===t.key}const ff=({key:e})=>e??null,Os=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?De(e)||Ae(e)||oe(e)?{i:qe,r:e,k:t,f:!!n}:e:null);function q(e,t=null,n=null,r=0,s=null,i=e===Te?0:1,o=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ff(t),ref:t&&Os(t),scopeId:xc,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:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:qe};return a?(ia(l,n),i&128&&e.normalize(l)):n&&(l.shapeFlag|=De(n)?8:16),Jr>0&&!o&&ht&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&ht.push(l),l}const O=Gh;function Gh(e,t=null,n=null,r=0,s=null,i=!1){if((!e||e===Wc)&&(e=ze),fr(e)){const a=yn(e,t,!0);return n&&ia(a,n),Jr>0&&!i&&ht&&(a.shapeFlag&6?ht[ht.indexOf(e)]=a:ht.push(a)),a.patchFlag=-2,a}if(eg(e)&&(e=e.__vccOpts),t){t=Uh(t);let{class:a,style:l}=t;a&&!De(a)&&(t.class=he(a)),_e(l)&&(fi(l)&&!se(l)&&(l=Ve({},l)),t.style=xe(l))}const o=De(e)?1:lf(e)?128:Tc(e)?64:_e(e)?4:oe(e)?2:0;return q(e,t,n,r,s,o,i,!0)}function Uh(e){return e?fi(e)||Qc(e)?Ve({},e):e:null}function yn(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:a,transition:l}=e,u=t?Pe(s||{},t):s,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&ff(u),ref:t&&t.ref?n&&i?se(i)?i.concat(Os(t)):[i,Os(t)]:Os(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Te?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&yn(e.ssContent),ssFallback:e.ssFallback&&yn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&r&&Hn(c,l.clone(c)),c}function Mr(e=" ",t=0){return O(fs,null,e,t)}function mo(e="",t=!1){return t?(bt(),$t(ze,null,e)):O(ze,null,e)}function Vt(e){return e==null||typeof e=="boolean"?O(ze):se(e)?O(Te,null,e.slice()):fr(e)?gn(e):O(fs,null,String(e))}function gn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:yn(e)}function ia(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(se(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),ia(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!Qc(t)?t._ctx=qe:s===3&&qe&&(qe.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else oe(t)?(t={default:t,_ctx:qe},n=32):(t=String(t),r&64?(n=16,t=[Mr(t)]):n=8);e.children=t,e.shapeFlag|=n}function Pe(...e){const t={};for(let n=0;nQe||qe;let Us,ho;{const e=ui(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};Us=t("__VUE_INSTANCE_SETTERS__",n=>Qe=n),ho=t("__VUE_SSR_SETTERS__",n=>Qr=n)}const ds=e=>{const t=Qe;return Us(e),e.scope.on(),()=>{e.scope.off(),Us(t)}},sl=()=>{Qe&&Qe.scope.off(),Us(null)};function df(e){return e.vnode.shapeFlag&4}let Qr=!1;function Yh(e,t=!1,n=!1){t&&ho(t);const{props:r,children:s}=e.vnode,i=df(e);Rh(e,r,i,t),Nh(e,s,n||t);const o=i?Xh(e,t):void 0;return t&&ho(!1),o}function Xh(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,ph);const{setup:r}=n;if(r){Qt();const s=e.setupContext=r.length>1?Jh(e):null,i=ds(e),o=cs(r,e,0,[e.props,s]),a=Yu(o);if(en(),i(),(a||e.sp)&&!or(e)&&Vc(e),a){if(o.then(sl,sl),t)return o.then(l=>{il(e,l)}).catch(l=>{di(l,e,0)});e.asyncDep=o}else il(e,o)}else mf(e)}function il(e,t,n){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:_e(t)&&(e.setupState=bc(t)),mf(e)}function mf(e,t,n){const r=e.type;e.render||(e.render=r.render||jt);{const s=ds(e);Qt();try{yh(e)}finally{en(),s()}}}const Zh={get(e,t){return Je(e,"get",""),e[t]}};function Jh(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Zh),slots:e.slots,emit:e.emit,expose:t}}function yi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(bc(Xo(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Hr)return Hr[n](e)},has(t,n){return n in t||n in Hr}})):e.proxy}function Qh(e,t=!0){return oe(e)?e.displayName||e.name:e.name||t&&e.__name}function eg(e){return oe(e)&&"__vccOpts"in e}const M=(e,t)=>Ym(e,t,Qr);function _n(e,t,n){try{Gs(-1);const r=arguments.length;return r===2?_e(t)&&!se(t)?fr(t)?O(e,null,[t]):O(e,t):O(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&fr(n)&&(n=[n]),O(e,t,n))}finally{Gs(1)}}const tg="3.5.27";/** -* @vue/runtime-dom v3.5.27 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let go;const ol=typeof window<"u"&&window.trustedTypes;if(ol)try{go=ol.createPolicy("vue",{createHTML:e=>e})}catch{}const hf=go?e=>go.createHTML(e):e=>e,ng="http://www.w3.org/2000/svg",rg="http://www.w3.org/1998/Math/MathML",Kt=typeof document<"u"?document:null,al=Kt&&Kt.createElement("template"),sg={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Kt.createElementNS(ng,e):t==="mathml"?Kt.createElementNS(rg,e):n?Kt.createElement(e,{is:n}):Kt.createElement(e);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Kt.createTextNode(e),createComment:e=>Kt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Kt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,i){const o=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{al.innerHTML=hf(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const a=al.content;if(r==="svg"||r==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},ln="transition",Pr="animation",dr=Symbol("_vtc"),gf={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},vf=Ve({},Rc,gf),ig=e=>(e.displayName="Transition",e.props=vf,e),bn=ig((e,{slots:t})=>_n(lh,pf(e),t)),kn=(e,t=[])=>{se(e)?e.forEach(n=>n(...t)):e&&e(...t)},ll=e=>e?se(e)?e.some(t=>t.length>1):e.length>1:!1;function pf(e){const t={};for(const k in e)k in gf||(t[k]=e[k]);if(e.css===!1)return t;const{name:n="v",type:r,duration:s,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=i,appearActiveClass:u=o,appearToClass:c=a,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:d=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=og(s),v=h&&h[0],E=h&&h[1],{onBeforeEnter:p,onEnter:S,onEnterCancelled:b,onLeave:_,onLeaveCancelled:I,onBeforeAppear:T=p,onAppear:R=S,onAppearCancelled:A=b}=t,x=(k,N,j,Y)=>{k._enterCancelled=Y,cn(k,N?c:a),cn(k,N?u:o),j&&j()},B=(k,N)=>{k._isLeaving=!1,cn(k,f),cn(k,m),cn(k,d),N&&N()},F=k=>(N,j)=>{const Y=k?R:S,Q=()=>x(N,k,j);kn(Y,[N,Q]),ul(()=>{cn(N,k?l:i),Lt(N,k?c:a),ll(Y)||cl(N,r,v,Q)})};return Ve(t,{onBeforeEnter(k){kn(p,[k]),Lt(k,i),Lt(k,o)},onBeforeAppear(k){kn(T,[k]),Lt(k,l),Lt(k,u)},onEnter:F(!1),onAppear:F(!0),onLeave(k,N){k._isLeaving=!0;const j=()=>B(k,N);Lt(k,f),k._enterCancelled?(Lt(k,d),vo(k)):(vo(k),Lt(k,d)),ul(()=>{k._isLeaving&&(cn(k,f),Lt(k,m),ll(_)||cl(k,r,E,j))}),kn(_,[k,j])},onEnterCancelled(k){x(k,!1,void 0,!0),kn(b,[k])},onAppearCancelled(k){x(k,!0,void 0,!0),kn(A,[k])},onLeaveCancelled(k){B(k),kn(I,[k])}})}function og(e){if(e==null)return null;if(_e(e))return[Ni(e.enter),Ni(e.leave)];{const t=Ni(e);return[t,t]}}function Ni(e){return ym(e)}function Lt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[dr]||(e[dr]=new Set)).add(t)}function cn(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.remove(r));const n=e[dr];n&&(n.delete(t),n.size||(e[dr]=void 0))}function ul(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ag=0;function cl(e,t,n,r){const s=e._endId=++ag,i=()=>{s===e._endId&&r()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:a,propCount:l}=yf(e,t);if(!o)return r();const u=o+"end";let c=0;const f=()=>{e.removeEventListener(u,d),i()},d=m=>{m.target===e&&++c>=l&&f()};setTimeout(()=>{c(n[h]||"").split(", "),s=r(`${ln}Delay`),i=r(`${ln}Duration`),o=fl(s,i),a=r(`${Pr}Delay`),l=r(`${Pr}Duration`),u=fl(a,l);let c=null,f=0,d=0;t===ln?o>0&&(c=ln,f=o,d=i.length):t===Pr?u>0&&(c=Pr,f=u,d=l.length):(f=Math.max(o,u),c=f>0?o>u?ln:Pr:null,d=c?c===ln?i.length:l.length:0);const m=c===ln&&/\b(?:transform|all)(?:,|$)/.test(r(`${ln}Property`).toString());return{type:c,timeout:f,propCount:d,hasTransform:m}}function fl(e,t){for(;e.lengthdl(n)+dl(e[r])))}function dl(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function vo(e){return(e?e.ownerDocument:document).body.offsetHeight}function lg(e,t,n){const r=e[dr];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const zs=Symbol("_vod"),bf=Symbol("_vsh"),oa={name:"show",beforeMount(e,{value:t},{transition:n}){e[zs]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Ir(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Ir(e,!0),r.enter(e)):r.leave(e,()=>{Ir(e,!1)}):Ir(e,t))},beforeUnmount(e,{value:t}){Ir(e,t)}};function Ir(e,t){e.style.display=t?e[zs]:"none",e[bf]=!t}const ug=Symbol(""),cg=/(?:^|;)\s*display\s*:/;function fg(e,t,n){const r=e.style,s=De(n);let i=!1;if(n&&!s){if(t)if(De(t))for(const o of t.split(";")){const a=o.slice(0,o.indexOf(":")).trim();n[a]==null&&Rs(r,a,"")}else for(const o in t)n[o]==null&&Rs(r,o,"");for(const o in n)o==="display"&&(i=!0),Rs(r,o,n[o])}else if(s){if(t!==n){const o=r[ug];o&&(n+=";"+o),r.cssText=n,i=cg.test(n)}}else t&&e.removeAttribute("style");zs in e&&(e[zs]=i?r.display:"",e[bf]&&(r.display="none"))}const ml=/\s*!important$/;function Rs(e,t,n){if(se(n))n.forEach(r=>Rs(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=dg(e,t);ml.test(n)?e.setProperty(Sn(r),n.replace(ml,""),"important"):e[r]=n}}const hl=["Webkit","Moz","ms"],Vi={};function dg(e,t){const n=Vi[t];if(n)return n;let r=lt(t);if(r!=="filter"&&r in e)return Vi[t]=r;r=yr(r);for(let s=0;sFi||(vg.then(()=>Fi=0),Fi=Date.now());function yg(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;kt(bg(r,n.value),t,5,[r])};return n.value=e,n.attached=pg(),n}function bg(e,t){if(se(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Sl=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Sg=(e,t,n,r,s,i)=>{const o=s==="svg";t==="class"?lg(e,r,o):t==="style"?fg(e,n,r):ii(t)?$o(t)||hg(e,t,n,r,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):wg(e,t,r,o))?(pl(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&vl(e,t,r,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!De(r))?pl(e,lt(t),r,i,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),vl(e,t,r,o))};function wg(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Sl(t)&&oe(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 s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Sl(t)&&De(n)?!1:t in e}const Sf=new WeakMap,wf=new WeakMap,Ks=Symbol("_moveCb"),wl=Symbol("_enterCb"),_g=e=>(delete e.props.mode,e),Cg=_g({name:"TransitionGroup",props:Ve({},vf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=br(),r=Oc();let s,i;return ta(()=>{if(!s.length)return;const o=e.moveClass||`${e.name||"v"}-move`;if(!kg(s[0].el,n.vnode.el,o)){s=[];return}s.forEach(Eg),s.forEach(xg);const a=s.filter(Ag);vo(n.vnode.el),a.forEach(l=>{const u=l.el,c=u.style;Lt(u,o),c.transform=c.webkitTransform=c.transitionDuration="";const f=u[Ks]=d=>{d&&d.target!==u||(!d||d.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",f),u[Ks]=null,cn(u,o))};u.addEventListener("transitionend",f)}),s=[]}),()=>{const o=te(e),a=pf(o);let l=o.tag||Te;if(s=[],i)for(let u=0;u{a.split(/\s+/).forEach(l=>l&&r.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&r.classList.add(a)),r.style.display="none";const i=t.nodeType===1?t:t.parentNode;i.appendChild(r);const{hasTransform:o}=yf(r);return i.removeChild(r),o}const _l=e=>{const t=e.props["onUpdate:modelValue"]||!1;return se(t)?n=>Ps(t,n):t};function Tg(e){e.target.composing=!0}function Cl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Bi=Symbol("_assign");function El(e,t,n){return t&&(e=e.trim()),n&&(e=jo(e)),e}const LS={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[Bi]=_l(s);const i=r||s.props&&s.props.type==="number";Jn(e,t?"change":"input",o=>{o.target.composing||e[Bi](El(e.value,n,i))}),(n||i)&&Jn(e,"change",()=>{e.value=El(e.value,n,i)}),t||(Jn(e,"compositionstart",Tg),Jn(e,"compositionend",Cl),Jn(e,"change",Cl))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:s,number:i}},o){if(e[Bi]=_l(o),e.composing)return;const a=(i||e.type==="number")&&!/^0\d/.test(e.value)?jo(e.value):e.value,l=t??"";a!==l&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||s&&e.value.trim()===l)||(e.value=l))}},Pg=["ctrl","shift","alt","meta"],Ig={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)=>Pg.some(n=>e[`${n}Key`]&&!t.includes(n))},MS=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const i=Sn(s.key);if(t.some(o=>o===i||Og[o]===i))return e(s)})},Rg=Ve({patchProp:Sg},sg);let xl;function Dg(){return xl||(xl=Fh(Rg))}const Lg=(...e)=>{const t=Dg().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=Ng(r);if(!s)return;const i=t._component;!oe(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const o=n(s,!1,Mg(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t};function Mg(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ng(e){return De(e)?document.querySelector(e):e}function VS(e){}function _f(e,t){t=Array.isArray(t)?t.slice(0,-1).map(n=>`'${n}'`).join(", ")+` or '${t.at(-1)}'`:`'${t}'`}const Ie=typeof window<"u",la=Ie&&"IntersectionObserver"in window,Vg=Ie&&("ontouchstart"in window||window.navigator.maxTouchPoints>0),Cf=Ie&&"matchMedia"in window&&typeof window.matchMedia=="function",es=()=>Cf&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;function Al(e,t,n){Fg(e,t),t.set(e,n)}function Fg(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}function kl(e,t,n){return e.set(Ef(e,t),n),n}function Ut(e,t){return e.get(Ef(e,t))}function Ef(e,t,n){if(typeof e=="function"?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}function xf(e,t,n){const r=t.length-1;if(r<0)return e===void 0?n:e;for(let s=0;s"u"?n:s}if(typeof t=="string")return po(e,t,n);if(Array.isArray(t))return xf(e,t,n);if(typeof t!="function")return n;const r=t(e,n);return typeof r>"u"?n:r}function Af(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return Array.from({length:e},(n,r)=>t+r)}function ie(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"px";if(e==null||e==="")return;const n=Number(e);return isNaN(n)?String(e):isFinite(n)?`${n}${t}`:void 0}function yo(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function Tl(e){let t;return e!==null&&typeof e=="object"&&((t=Object.getPrototypeOf(e))===Object.prototype||t===null)}function ua(e){if(e&&"$el"in e){const t=e.$el;return(t==null?void 0:t.nodeType)===Node.TEXT_NODE?t.nextElementSibling:t}return e}const FS=Object.freeze({enter:"Enter",tab:"Tab",delete:"Delete",esc:"Escape",space:"Space",up:"ArrowUp",down:"ArrowDown",left:"ArrowLeft",right:"ArrowRight",end:"End",home:"Home",del:"Delete",backspace:"Backspace",insert:"Insert",pageup:"PageUp",pagedown:"PageDown",shift:"Shift"});function BS(e){return Object.keys(e)}function $i(e,t){return t.every(n=>e.hasOwnProperty(n))}function ca(e,t){const n={};for(const r of t)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function Pl(e,t,n){const r=Object.create(null),s=Object.create(null);for(const i in e)t.some(o=>o instanceof RegExp?o.test(i):o===i)?r[i]=e[i]:s[i]=e[i];return[r,s]}function Wn(e,t){const n={...e};return t.forEach(r=>delete n[r]),n}const kf=/^on[^a-z]/,Tf=e=>kf.test(e),Bg=["onAfterscriptexecute","onAnimationcancel","onAnimationend","onAnimationiteration","onAnimationstart","onAuxclick","onBeforeinput","onBeforescriptexecute","onChange","onClick","onCompositionend","onCompositionstart","onCompositionupdate","onContextmenu","onCopy","onCut","onDblclick","onFocusin","onFocusout","onFullscreenchange","onFullscreenerror","onGesturechange","onGestureend","onGesturestart","onGotpointercapture","onInput","onKeydown","onKeypress","onKeyup","onLostpointercapture","onMousedown","onMousemove","onMouseout","onMouseover","onMouseup","onMousewheel","onPaste","onPointercancel","onPointerdown","onPointerenter","onPointerleave","onPointermove","onPointerout","onPointerover","onPointerup","onReset","onSelect","onSubmit","onTouchcancel","onTouchend","onTouchmove","onTouchstart","onTransitioncancel","onTransitionend","onTransitionrun","onTransitionstart","onWheel"],$g=["ArrowUp","ArrowDown","ArrowRight","ArrowLeft","Enter","Escape","Tab"," "];function $S(e){return e.isComposing&&$g.includes(e.key)}function HS(e){const[t,n]=Pl(e,[kf]),r=Wn(t,Bg),[s,i]=Pl(n,["class","style","id","inert",/^data-/]);return Object.assign(s,t),Object.assign(i,r),[s,i]}function fa(e){return e==null?[]:Array.isArray(e)?e:[e]}function jS(e,t){let n=0;const r=function(){for(var s=arguments.length,i=new Array(s),o=0;oe(...i),ft(t))};return r.clear=()=>{clearTimeout(n)},r.immediate=e,r}function nn(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1;return Math.max(t,Math.min(n,e))}function Il(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0";return e+n.repeat(Math.max(0,t-e.length))}function Ol(e,t){return(arguments.length>2&&arguments[2]!==void 0?arguments[2]:"0").repeat(Math.max(0,t-e.length))+e}function Hg(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1;const n=[];let r=0;for(;r1&&arguments[1]!==void 0?arguments[1]:1e3;if(e=t&&r0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;const r={};for(const s in e)r[s]=e[s];for(const s in t){const i=e[s],o=t[s];if(Tl(i)&&Tl(o)){r[s]=et(i,o,n);continue}if(n&&Array.isArray(i)&&Array.isArray(o)){r[s]=n(i,o);continue}r[s]=o}return r}function Pf(e){return e.map(t=>t.type===Te?Pf(t.children):t).flat()}function Nn(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";if(Nn.cache.has(e))return Nn.cache.get(e);const t=e.replace(/[^a-z]/gi,"-").replace(/\B([A-Z])/g,"-$1").toLowerCase();return Nn.cache.set(e,t),t}Nn.cache=new Map;function tr(e,t){if(!t||typeof t!="object")return[];if(Array.isArray(t))return t.map(n=>tr(e,n)).flat(1);if(t.suspense)return tr(e,t.ssContent);if(Array.isArray(t.children))return t.children.map(n=>tr(e,n)).flat(1);if(t.component){if(Object.getOwnPropertyDescriptor(t.component.provides,e))return[t.component];if(t.component.subTree)return tr(e,t.component.subTree).flat(1)}return[]}var Kn=new WeakMap,Tn=new WeakMap;class jg{constructor(t){Al(this,Kn,[]),Al(this,Tn,0),this.size=t}get isFull(){return Ut(Kn,this).length===this.size}push(t){Ut(Kn,this)[Ut(Tn,this)]=t,kl(Tn,this,(Ut(Tn,this)+1)%this.size)}values(){return Ut(Kn,this).slice(Ut(Tn,this)).concat(Ut(Kn,this).slice(0,Ut(Tn,this)))}clear(){Ut(Kn,this).length=0,kl(Tn,this,0)}}function da(e){const t=Be({});_t(()=>{const r=e();for(const s in r)t[s]=r[s]},{flush:"sync"});const n={};for(const r in t)n[r]=G(()=>t[r]);return n}function qs(e,t){return e.includes(t)}function If(e){return e[2].toLowerCase()+e.slice(3)}const Wr=()=>[Function,Array];function Rl(e,t){return t="on"+yr(t),!!(e[t]||e[`${t}Once`]||e[`${t}Capture`]||e[`${t}OnceCapture`]||e[`${t}CaptureOnce`])}function GS(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1&&arguments[1]!==void 0?arguments[1]:!0;const n=["button","[href]",'input:not([type="hidden"])',"select","textarea","details:not(:has(> summary))","details > summary","[tabindex]",'[contenteditable]:not([contenteditable="false"])',"audio[controls]","video[controls]"].map(s=>`${s}${t?':not([tabindex="-1"])':""}:not([disabled], [inert])`).join(", ");let r;try{r=[...e.querySelectorAll(n)]}catch{return[]}return r.filter(s=>!s.closest("[inert]")).filter(s=>!!s.offsetParent||s.getClientRects().length>0).filter(s=>{var i,o;return!((i=s.parentElement)!=null&&i.closest("details:not([open])"))||s.tagName==="SUMMARY"&&((o=s.parentElement)==null?void 0:o.tagName)==="DETAILS"})}function Wg(e,t,n){let r,s=e.indexOf(document.activeElement);const i=t==="next"?1:-1;do s+=i,r=e[s];while((!r||r.offsetParent==null||!((n==null?void 0:n(r))??!0))&&s=0);return r}function Of(e,t){var r,s,i,o;const n=Gr(e);if(t==null)(e===document.activeElement||!e.contains(document.activeElement))&&((r=n[0])==null||r.focus());else if(t==="first")(s=n[0])==null||s.focus();else if(t==="last")(i=n.at(-1))==null||i.focus();else if(typeof t=="number")(o=n[t])==null||o.focus();else{const a=Wg(n,t);a?a.focus():Of(e,t==="next"?"first":"last")}}function US(e){return e==null||typeof e=="string"&&e.trim()===""}function zS(){}function Gg(e,t){if(!(Ie&&typeof CSS<"u"&&typeof CSS.supports<"u"&&CSS.supports(`selector(${t})`)))return null;try{return!!e&&e.matches(t)}catch{return null}}function Ug(e){return e.some(t=>fr(t)?t.type===ze?!1:t.type!==Te||Ug(t.children):!0)?e:null}function zg(e,t){if(!Ie||e===0)return t(),()=>{};const n=window.setTimeout(t,e);return()=>window.clearTimeout(n)}function KS(e,t){const n=e.clientX,r=e.clientY,s=t.getBoundingClientRect(),i=s.left,o=s.top,a=s.right,l=s.bottom;return n>=i&&n<=a&&r>=o&&r<=l}function bo(){const e=le(),t=n=>{e.value=n};return Object.defineProperty(t,"value",{enumerable:!0,get:()=>e.value,set:n=>e.value=n}),Object.defineProperty(t,"el",{enumerable:!0,get:()=>ua(e.value)}),t}function qS(e){const t=e.key.length===1,n=!e.ctrlKey&&!e.metaKey&&!e.altKey;return t&&n}function jn(e){return typeof e=="string"||typeof e=="number"||typeof e=="boolean"||typeof e=="bigint"}function YS(e){return"\\^$*+?.()|{}[]".includes(e)?`\\${e}`:e}function XS(e){const t={};for(const n in e)t[lt(n)]=e[n];return t}function Kg(e){const t=["checked","disabled"];return Object.fromEntries(Object.entries(e).filter(n=>{let[r,s]=n;return t.includes(r)?!!s:s!==void 0}))}const Rf=["top","bottom"],qg=["start","end","left","right"];function So(e,t){let[n,r]=e.split(" ");return r||(r=qs(Rf,n)?"start":qs(qg,n)?"top":"center"),{side:Dl(n,t),align:Dl(r,t)}}function Dl(e,t){return e==="start"?t?"right":"left":e==="end"?t?"left":"right":e}function Hi(e){return{side:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.side],align:e.align}}function ji(e){return{side:e.side,align:{center:"center",top:"bottom",bottom:"top",left:"right",right:"left"}[e.align]}}function Ll(e){return{side:e.align,align:e.side}}function Ml(e){return qs(Rf,e.side)?"y":"x"}class St{constructor(t){const n=document.body.currentCSSZoom??1,r=t instanceof Element,s=r?1+(1-n)/n:1,{x:i,y:o,width:a,height:l}=r?t.getBoundingClientRect():t;this.x=i*s,this.y=o*s,this.width=a*s,this.height=l*s}get top(){return this.y}get bottom(){return this.y+this.height}get left(){return this.x}get right(){return this.x+this.width}}function Nl(e,t){return{x:{before:Math.max(0,t.left-e.left),after:Math.max(0,e.right-t.right)},y:{before:Math.max(0,t.top-e.top),after:Math.max(0,e.bottom-t.bottom)}}}function Df(e){if(Array.isArray(e)){const t=document.body.currentCSSZoom??1,n=1+(1-t)/t;return new St({x:e[0]*n,y:e[1]*n,width:0*n,height:0*n})}else return new St(e)}function Yg(e){if(e===document.documentElement)if(visualViewport){const t=document.body.currentCSSZoom??1;return new St({x:visualViewport.scale>1?0:visualViewport.offsetLeft,y:visualViewport.scale>1?0:visualViewport.offsetTop,width:visualViewport.width*visualViewport.scale/t,height:visualViewport.height*visualViewport.scale/t})}else return new St({x:0,y:0,width:document.documentElement.clientWidth,height:document.documentElement.clientHeight});else return new St(e)}function Lf(e){const t=new St(e),n=getComputedStyle(e),r=n.transform;if(r){let s,i,o,a,l;if(r.startsWith("matrix3d("))s=r.slice(9,-1).split(/, /),i=Number(s[0]),o=Number(s[5]),a=Number(s[12]),l=Number(s[13]);else if(r.startsWith("matrix("))s=r.slice(7,-1).split(/, /),i=Number(s[0]),o=Number(s[3]),a=Number(s[4]),l=Number(s[5]);else return new St(t);const u=n.transformOrigin,c=t.x-a-(1-i)*parseFloat(u),f=t.y-l-(1-o)*parseFloat(u.slice(u.indexOf(" ")+1)),d=i?t.width/i:e.offsetWidth+1,m=o?t.height/o:e.offsetHeight+1;return new St({x:c,y:f,width:d,height:m})}else return new St(t)}function On(e,t,n){if(typeof e.animate>"u")return{finished:Promise.resolve()};let r;try{r=e.animate(t,n)}catch{return{finished:Promise.resolve()}}return typeof r.finished>"u"&&(r.finished=new Promise(s=>{r.onfinish=()=>{s(r)}})),r}const Ds=new WeakMap;function Xg(e,t){Object.keys(t).forEach(n=>{if(Tf(n)){const r=If(n),s=Ds.get(e);if(t[n]==null)s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))});else if(!s||![...s].some(i=>i[0]===r&&i[1]===t[n])){e.addEventListener(r,t[n]);const i=s||new Set;i.add([r,t[n]]),Ds.has(e)||Ds.set(e,i)}}else t[n]==null?e.removeAttribute(n):e.setAttribute(n,t[n])})}function Zg(e,t){Object.keys(t).forEach(n=>{if(Tf(n)){const r=If(n),s=Ds.get(e);s==null||s.forEach(i=>{const[o,a]=i;o===r&&(e.removeEventListener(r,a),s.delete(i))})}else e.removeAttribute(n)})}const qn=2.4,Vl=.2126729,Fl=.7151522,Bl=.072175,Jg=.55,Qg=.58,ev=.57,tv=.62,xs=.03,$l=1.45,nv=5e-4,rv=1.25,sv=1.25,Hl=.078,jl=12.82051282051282,As=.06,Wl=.001;function Gl(e,t){const n=(e.r/255)**qn,r=(e.g/255)**qn,s=(e.b/255)**qn,i=(t.r/255)**qn,o=(t.g/255)**qn,a=(t.b/255)**qn;let l=n*Vl+r*Fl+s*Bl,u=i*Vl+o*Fl+a*Bl;if(l<=xs&&(l+=(xs-l)**$l),u<=xs&&(u+=(xs-u)**$l),Math.abs(u-l)l){const f=(u**Jg-l**Qg)*rv;c=f-Wl?0:f>-Hl?f-f*jl*As:f+As}return c*100}const Ys=.20689655172413793,iv=e=>e>Ys**3?Math.cbrt(e):e/(3*Ys**2)+4/29,ov=e=>e>Ys?e**3:3*Ys**2*(e-4/29);function Mf(e){const t=iv,n=t(e[1]);return[116*n-16,500*(t(e[0]/.95047)-n),200*(n-t(e[2]/1.08883))]}function Nf(e){const t=ov,n=(e[0]+16)/116;return[t(n+e[1]/500)*.95047,t(n),t(n-e[2]/200)*1.08883]}const av=[[3.2406,-1.5372,-.4986],[-.9689,1.8758,.0415],[.0557,-.204,1.057]],lv=e=>e<=.0031308?e*12.92:1.055*e**(1/2.4)-.055,uv=[[.4124,.3576,.1805],[.2126,.7152,.0722],[.0193,.1192,.9505]],cv=e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4;function Vf(e){const t=Array(3),n=lv,r=av;for(let s=0;s<3;++s)t[s]=Math.round(nn(n(r[s][0]*e[0]+r[s][1]*e[1]+r[s][2]*e[2]))*255);return{r:t[0],g:t[1],b:t[2]}}function ma(e){let{r:t,g:n,b:r}=e;const s=[0,0,0],i=cv,o=uv;t=i(t/255),n=i(n/255),r=i(r/255);for(let a=0;a<3;++a)s[a]=o[a][0]*t+o[a][1]*n+o[a][2]*r;return s}function wo(e){return!!e&&/^(#|var\(--|(rgb|hsl)a?\()/.test(e)}function fv(e){return wo(e)&&!/^((rgb|hsl)a?\()?var\(--/.test(e)}const Ul=/^(?(?:rgb|hsl)a?)\((?.+)\)/,dv={rgb:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),rgba:(e,t,n,r)=>({r:e,g:t,b:n,a:r}),hsl:(e,t,n,r)=>zl({h:e,s:t,l:n,a:r}),hsla:(e,t,n,r)=>zl({h:e,s:t,l:n,a:r}),hsv:(e,t,n,r)=>ts({h:e,s:t,v:n,a:r}),hsva:(e,t,n,r)=>ts({h:e,s:t,v:n,a:r})};function Ht(e){if(typeof e=="number")return{r:(e&16711680)>>16,g:(e&65280)>>8,b:e&255};if(typeof e=="string"&&Ul.test(e)){const{groups:t}=e.match(Ul),{fn:n,values:r}=t,s=r.split(/,\s*|\s*\/\s*|\s+/).map((i,o)=>i.endsWith("%")||o>0&&o<3&&["hsl","hsla","hsv","hsva"].includes(n)?parseFloat(i)/100:parseFloat(i));return dv[n](...s)}else if(typeof e=="string"){let t=e.startsWith("#")?e.slice(1):e;return[3,4].includes(t.length)?t=t.split("").map(n=>n+n).join(""):[6,8].includes(t.length),hv(t)}else if(typeof e=="object"){if($i(e,["r","g","b"]))return e;if($i(e,["h","s","l"]))return ts(Ff(e));if($i(e,["h","s","v"]))return ts(e)}throw new TypeError(`Invalid color: ${e==null?e:String(e)||e.constructor.name} -Expected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)}function ts(e){const{h:t,s:n,v:r,a:s}=e,i=a=>{const l=(a+t/60)%6;return r-r*n*Math.max(Math.min(l,4-l,1),0)},o=[i(5),i(3),i(1)].map(a=>Math.round(a*255));return{r:o[0],g:o[1],b:o[2],a:s}}function zl(e){return ts(Ff(e))}function Ff(e){const{h:t,s:n,l:r,a:s}=e,i=r+n*Math.min(r,1-r),o=i===0?0:2-2*r/i;return{h:t,s:o,v:i,a:s}}function ks(e){const t=Math.round(e).toString(16);return("00".substr(0,2-t.length)+t).toUpperCase()}function mv(e){let{r:t,g:n,b:r,a:s}=e;return`#${[ks(t),ks(n),ks(r),s!==void 0?ks(Math.round(s*255)):""].join("")}`}function hv(e){e=gv(e);let[t,n,r,s]=Hg(e,2).map(i=>parseInt(i,16));return s=s===void 0?s:s/255,{r:t,g:n,b:r,a:s}}function gv(e){return e.startsWith("#")&&(e=e.slice(1)),e=e.replace(/([^0-9a-f])/gi,"F"),(e.length===3||e.length===4)&&(e=e.split("").map(t=>t+t).join("")),e.length!==6&&(e=Il(Il(e,6),8,"F")),e}function vv(e,t){const n=Mf(ma(e));return n[0]=n[0]+t*10,Vf(Nf(n))}function pv(e,t){const n=Mf(ma(e));return n[0]=n[0]-t*10,Vf(Nf(n))}function yv(e){const t=Ht(e);return ma(t)[1]}function Bf(e){const t=Math.abs(Gl(Ht(0),Ht(e)));return Math.abs(Gl(Ht(16777215),Ht(e)))>Math.min(t,50)?"#fff":"#000"}function J(e,t){return n=>Object.keys(e).reduce((r,s)=>{const o=typeof e[s]=="object"&&e[s]!=null&&!Array.isArray(e[s])?e[s]:{type:e[s]};return n&&s in n?r[s]={...o,default:n[s]}:r[s]=o,t&&!r[s].source&&(r[s].source=t),r},{})}const Me=J({class:[String,Array,Object],style:{type:[String,Array,Object],default:null}},"component");function $e(e,t){const n=br();if(!n)throw new Error(`[Vuetify] ${e} must be called from inside a setup function`);return n}function Cn(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"composables";const t=$e(e).type;return Nn((t==null?void 0:t.aliasName)||(t==null?void 0:t.name))}function bv(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:$e("injectSelf");const{provides:n}=t;if(n&&e in n)return n[e]}const mr=Symbol.for("vuetify:defaults");function Sv(e){return ce(e)}function ha(){const e=ge(mr);if(!e)throw new Error("[Vuetify] Could not find defaults instance");return e}function bi(e,t){const n=ha(),r=ce(e),s=M(()=>{if(ft(t==null?void 0:t.disabled))return n.value;const o=ft(t==null?void 0:t.scoped),a=ft(t==null?void 0:t.reset),l=ft(t==null?void 0:t.root);if(r.value==null&&!(o||a||l))return n.value;let u=et(r.value,{prev:n.value});if(o)return u;if(a||l){const c=Number(a||1/0);for(let f=0;f<=c&&!(!u||!("prev"in u));f++)u=u.prev;return u&&typeof l=="string"&&l in u&&(u=et(et(u,{prev:u}),u[l])),u}return u.prev?et(u.prev,u):u});return tt(mr,s),s}function wv(e,t){return e.props&&(typeof e.props[t]<"u"||typeof e.props[Nn(t)]<"u")}function _v(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ha();const r=$e("useDefaults");if(t=t??r.type.name??r.type.__name,!t)throw new Error("[Vuetify] Could not determine component name");const s=M(()=>{var l;return(l=n.value)==null?void 0:l[e._as??t]}),i=new Proxy(e,{get(l,u){var m,h,v,E;const c=Reflect.get(l,u);if(u==="class"||u==="style")return[(m=s.value)==null?void 0:m[u],c].filter(p=>p!=null);if(wv(r.vnode,u))return c;const f=(h=s.value)==null?void 0:h[u];if(f!==void 0)return f;const d=(E=(v=n.value)==null?void 0:v.global)==null?void 0:E[u];return d!==void 0?d:c}}),o=le();_t(()=>{if(s.value){const l=Object.entries(s.value).filter(u=>{let[c]=u;return c.startsWith(c[0].toUpperCase())});o.value=l.length?Object.fromEntries(l):void 0}else o.value=void 0});function a(){const l=bv(mr,r);tt(mr,M(()=>o.value?et((l==null?void 0:l.value)??{},o.value):l==null?void 0:l.value))}return{props:i,provideSubDefaults:a}}function Sr(e){if(e._setup=e._setup??e.setup,!e.name)return e;if(e._setup){e.props=J(e.props??{},e.name)();const t=Object.keys(e.props).filter(n=>n!=="class"&&n!=="style");e.filterProps=function(r){return ca(r,t)},e.props._as=String,e.setup=function(r,s){const i=ha();if(!i.value)return e._setup(r,s);const{props:o,provideSubDefaults:a}=_v(r,r._as??e.name,i),l=e._setup(o,s);return a(),l}}return e}function ve(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:!0;return t=>(e?Sr:mi)(t)}function ZS(e,t){return t.props=e,t}function ga(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"div",n=arguments.length>2?arguments[2]:void 0;return ve()({name:n??yr(lt(e.replace(/__/g,"-"))),props:{tag:{type:String,default:t},...Me()},setup(r,s){let{slots:i}=s;return()=>{var o;return _n(r.tag,{class:[e,r.class],style:r.style},(o=i.default)==null?void 0:o.call(i))}}})}function Cv(e,t,n,r){if(!n||jn(e)||jn(t))return;const s=n.get(e);if(s)s.set(t,r);else{const i=new WeakMap;i.set(t,r),n.set(e,i)}}function Ev(e,t,n){var i,o;if(!n||jn(e)||jn(t))return null;const r=(i=n.get(e))==null?void 0:i.get(t);if(typeof r=="boolean")return r;const s=(o=n.get(t))==null?void 0:o.get(e);return typeof s=="boolean"?s:null}function Vn(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:new WeakMap;if(e===t)return!0;if(e instanceof Date&&t instanceof Date&&e.getTime()!==t.getTime()||e!==Object(e)||t!==Object(t))return!1;const r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;const s=Ev(e,t,n);return s||(Cv(e,t,n,!0),r.every(i=>Vn(e[i],t[i],n)))}function $f(e){if(typeof e.getRootNode!="function"){for(;e.parentNode;)e=e.parentNode;return e!==document?null:document}const t=e.getRootNode();return t!==document&&t.getRootNode({composed:!0})!==document?null:t}const _o="cubic-bezier(0.4, 0, 0.2, 1)",Kl="cubic-bezier(0.0, 0, 0.2, 1)",ql="cubic-bezier(0.4, 0, 1, 1)",xv={linear:e=>e,easeInQuad:e=>e**2,easeOutQuad:e=>e*(2-e),easeInOutQuad:e=>e<.5?2*e**2:-1+(4-2*e)*e,easeInCubic:e=>e**3,easeOutCubic:e=>--e**3+1,easeInOutCubic:e=>e<.5?4*e**3:(e-1)*(2*e-2)*(2*e-2)+1,easeInQuart:e=>e**4,easeOutQuart:e=>1- --e**4,easeInOutQuart:e=>e<.5?8*e**4:1-8*--e**4,easeInQuint:e=>e**5,easeOutQuint:e=>1+--e**5,easeInOutQuint:e=>e<.5?16*e**5:1+16*--e**5,instant:e=>1};function Av(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;for(;e;){if(t?kv(e):va(e))return e;e=e.parentElement}return document.scrollingElement}function Xs(e,t){const n=[];if(t&&e&&!t.contains(e))return n;for(;e&&(va(e)&&n.push(e),e!==t);)e=e.parentElement;return n}function va(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e),n=t.overflowY==="scroll"||t.overflowY==="auto"&&e.scrollHeight>e.clientHeight,r=t.overflowX==="scroll"||t.overflowX==="auto"&&e.scrollWidth>e.clientWidth;return n||r}function kv(e){if(!e||e.nodeType!==Node.ELEMENT_NODE)return!1;const t=window.getComputedStyle(e);return["scroll","auto"].includes(t.overflowY)}function Tv(e){for(;e;){if(window.getComputedStyle(e).position==="fixed")return!0;e=e.offsetParent}return!1}function Oe(e){const t=$e("useRender");t.render=e}function Pv(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{leading:!0,trailing:!0},r=0,s=0,i=!1,o=0;function a(){clearTimeout(r),i=!1,o=0}const l=function(){for(var u=arguments.length,c=new Array(u),f=0;f=t?h():n.trailing&&(r=setTimeout(h,t-m)):(i=!0,n.leading&&h())};return l.clear=a,l.immediate=e,l}const Ye=[String,Function,Object,Array],Co=Symbol.for("vuetify:icons"),Si=J({icon:{type:Ye},tag:{type:[String,Object,Function],required:!0}},"icon"),Yl=ve()({name:"VComponentIcon",props:Si(),setup(e,t){let{slots:n}=t;return()=>{const r=e.icon;return O(e.tag,null,{default:()=>{var s;return[e.icon?O(r,null,null):(s=n.default)==null?void 0:s.call(n)]}})}}}),Hf=Sr({name:"VSvgIcon",inheritAttrs:!1,props:Si(),setup(e,t){let{attrs:n}=t;return()=>O(e.tag,Pe(n,{style:null}),{default:()=>[q("svg",{class:"v-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",role:"img","aria-hidden":"true"},[Array.isArray(e.icon)?e.icon.map(r=>Array.isArray(r)?q("path",{d:r[0],"fill-opacity":r[1]},null):q("path",{d:r},null)):q("path",{d:e.icon},null)])]})}});Sr({name:"VLigatureIcon",props:Si(),setup(e){return()=>O(e.tag,null,{default:()=>[e.icon]})}});const jf=Sr({name:"VClassIcon",props:Si(),setup(e){return()=>O(e.tag,{class:he(e.icon)},null)}}),Iv=e=>{const t=ge(Co);if(!t)throw new Error("Missing Vuetify Icons provide!");return{iconData:M(()=>{var l;const r=Ke(e);if(!r)return{component:Yl};let s=r;if(typeof s=="string"&&(s=s.trim(),s.startsWith("$")&&(s=(l=t.aliases)==null?void 0:l[s.slice(1)])),Array.isArray(s))return{component:Hf,icon:s};if(typeof s!="string")return{component:Yl,icon:s};const i=Object.keys(t.sets).find(u=>typeof s=="string"&&s.startsWith(`${u}:`)),o=i?s.slice(i.length+1):s;return{component:t.sets[i??t.defaultSet].component,icon:o}})}},Ov={collapse:"mdi-chevron-up",complete:"mdi-check",cancel:"mdi-close-circle",close:"mdi-close",delete:"mdi-close-circle",clear:"mdi-close-circle",success:"mdi-check-circle",info:"mdi-information",warning:"mdi-alert-circle",error:"mdi-close-circle",prev:"mdi-chevron-left",next:"mdi-chevron-right",checkboxOn:"mdi-checkbox-marked",checkboxOff:"mdi-checkbox-blank-outline",checkboxIndeterminate:"mdi-minus-box",delimiter:"mdi-circle",sortAsc:"mdi-arrow-up",sortDesc:"mdi-arrow-down",expand:"mdi-chevron-down",menu:"mdi-menu",subgroup:"mdi-menu-down",dropdown:"mdi-menu-down",radioOn:"mdi-radiobox-marked",radioOff:"mdi-radiobox-blank",edit:"mdi-pencil",ratingEmpty:"mdi-star-outline",ratingFull:"mdi-star",ratingHalf:"mdi-star-half-full",loading:"mdi-cached",first:"mdi-page-first",last:"mdi-page-last",unfold:"mdi-unfold-more-horizontal",file:"mdi-paperclip",plus:"mdi-plus",minus:"mdi-minus",calendar:"mdi-calendar",treeviewCollapse:"mdi-menu-down",treeviewExpand:"mdi-menu-right",tableGroupCollapse:"mdi-chevron-down",tableGroupExpand:"mdi-chevron-right",eyeDropper:"mdi-eyedropper",upload:"mdi-cloud-upload",color:"mdi-palette",command:"mdi-apple-keyboard-command",ctrl:"mdi-apple-keyboard-control",space:"mdi-keyboard-space",shift:"mdi-apple-keyboard-shift",alt:"mdi-apple-keyboard-option",enter:"mdi-keyboard-return",arrowup:"mdi-arrow-up",arrowdown:"mdi-arrow-down",arrowleft:"mdi-arrow-left",arrowright:"mdi-arrow-right",backspace:"mdi-backspace",play:"mdi-play",pause:"mdi-pause",fullscreen:"mdi-fullscreen",fullscreenExit:"mdi-fullscreen-exit",volumeHigh:"mdi-volume-high",volumeMedium:"mdi-volume-medium",volumeLow:"mdi-volume-low",volumeOff:"mdi-volume-variant-off"},Rv={component:e=>_n(jf,{...e,class:"mdi"})};function Dv(){return{svg:{component:Hf},class:{component:jf}}}function Lv(e){const t=Dv(),n=(e==null?void 0:e.defaultSet)??"mdi";return n==="mdi"&&!t.mdi&&(t.mdi=Rv),et({defaultSet:n,sets:t,aliases:{...Ov,vuetify:["M8.2241 14.2009L12 21L22 3H14.4459L8.2241 14.2009Z",["M7.26303 12.4733L7.00113 12L2 3H12.5261C12.5261 3 12.5261 3 12.5261 3L7.26303 12.4733Z",.6]],"vuetify-outline":"svg:M7.26 12.47 12.53 3H2L7.26 12.47ZM14.45 3 8.22 14.2 12 21 22 3H14.45ZM18.6 5 12 16.88 10.51 14.2 15.62 5ZM7.26 8.35 5.4 5H9.13L7.26 8.35Z","vuetify-play":["m6.376 13.184-4.11-7.192C1.505 4.66 2.467 3 4.003 3h8.532l-.953 1.576-.006.01-.396.677c-.429.732-.214 1.507.194 2.015.404.503 1.092.878 1.869.806a3.72 3.72 0 0 1 1.005.022c.276.053.434.143.523.237.138.146.38.635-.25 2.09-.893 1.63-1.553 1.722-1.847 1.677-.213-.033-.468-.158-.756-.406a4.95 4.95 0 0 1-.8-.927c-.39-.564-1.04-.84-1.66-.846-.625-.006-1.316.27-1.693.921l-.478.826-.911 1.506Z",["M9.093 11.552c.046-.079.144-.15.32-.148a.53.53 0 0 1 .43.207c.285.414.636.847 1.046 1.2.405.35.914.662 1.516.754 1.334.205 2.502-.698 3.48-2.495l.014-.028.013-.03c.687-1.574.774-2.852-.005-3.675-.37-.391-.861-.586-1.333-.676a5.243 5.243 0 0 0-1.447-.044c-.173.016-.393-.073-.54-.257-.145-.18-.127-.316-.082-.392l.393-.672L14.287 3h5.71c1.536 0 2.499 1.659 1.737 2.992l-7.997 13.996c-.768 1.344-2.706 1.344-3.473 0l-3.037-5.314 1.377-2.278.004-.006.004-.007.481-.831Z",.6]]}},e)}function wr(e,t){let n;function r(){n=Bn(),n.run(()=>t.length?t(()=>{n==null||n.stop(),r()}):t())}ue(e,s=>{s&&!n?r():s||(n==null||n.stop(),n=void 0)},{immediate:!0}),Xe(()=>{n==null||n.stop()})}function Jt(e,t,n){let r=arguments.length>3&&arguments[3]!==void 0?arguments[3]:f=>f,s=arguments.length>4&&arguments[4]!==void 0?arguments[4]:f=>f;const i=$e("useProxiedModel"),o=ce(e[t]!==void 0?e[t]:n),a=Nn(t),u=M(a!==t?()=>{var f,d,m,h;return e[t],!!(((f=i.vnode.props)!=null&&f.hasOwnProperty(t)||(d=i.vnode.props)!=null&&d.hasOwnProperty(a))&&((m=i.vnode.props)!=null&&m.hasOwnProperty(`onUpdate:${t}`)||(h=i.vnode.props)!=null&&h.hasOwnProperty(`onUpdate:${a}`)))}:()=>{var f,d;return e[t],!!((f=i.vnode.props)!=null&&f.hasOwnProperty(t)&&((d=i.vnode.props)!=null&&d.hasOwnProperty(`onUpdate:${t}`)))});wr(()=>!u.value,()=>{ue(()=>e[t],f=>{o.value=f})});const c=M({get(){const f=e[t];return r(u.value?f:o.value)},set(f){const d=s(f),m=te(u.value?e[t]:o.value);m===d||r(m)===f||(o.value=d,i==null||i.emit(`update:${t}`,d))}});return Object.defineProperty(c,"externalValue",{get:()=>u.value?e[t]:o.value}),c}const Mv={badge:"Badge",open:"Open",close:"Close",dismiss:"Dismiss",confirmEdit:{ok:"OK",cancel:"Cancel"},dataIterator:{noResultsText:"No matching records found",loadingText:"Loading items..."},dataTable:{itemsPerPageText:"Rows per page:",ariaLabel:{sortDescending:"Sorted descending.",sortAscending:"Sorted ascending.",sortNone:"Not sorted.",activateNone:"Activate to remove sorting.",activateDescending:"Activate to sort descending.",activateAscending:"Activate to sort ascending."},sortBy:"Sort by"},dataFooter:{itemsPerPageText:"Items per page:",itemsPerPageAll:"All",nextPage:"Next page",prevPage:"Previous page",firstPage:"First page",lastPage:"Last page",pageText:"{0}-{1} of {2}"},dateRangeInput:{divider:"to"},datePicker:{itemsSelected:"{0} selected",range:{title:"Select dates",header:"Enter dates"},title:"Select date",header:"Enter date",input:{placeholder:"Enter date"},ariaLabel:{previousMonth:"Previous month",nextMonth:"Next month",selectYear:"Select year",previousYear:"Previous year",nextYear:"Next year",selectMonth:"Select month",selectDate:"{0}",currentDate:"Today, {0}"}},noDataText:"No data available",carousel:{prev:"Previous visual",next:"Next visual",ariaLabel:{delimiter:"Carousel slide {0} of {1}"}},calendar:{moreEvents:"{0} more",today:"Today"},input:{clear:"Clear {0}",prependAction:"{0} prepended action",appendAction:"{0} appended action",otp:"Please enter OTP character {0}"},fileInput:{counter:"{0} files",counterSize:"{0} files ({1} in total)"},fileUpload:{title:"Drag and drop files here",divider:"or",browse:"Browse Files"},timePicker:{am:"AM",pm:"PM",title:"Select Time",hour:"Hour",minute:"Minute",second:"Second"},pagination:{ariaLabel:{root:"Pagination Navigation",next:"Next page",previous:"Previous page",page:"Go to page {0}",currentPage:"Page {0}, Current page",first:"First page",last:"Last page"}},stepper:{next:"Next",prev:"Previous"},rating:{ariaLabel:{item:"Rating {0} of {1}"}},loading:"Loading...",infiniteScroll:{loadMore:"Load more",empty:"No more"},rules:{required:"This field is required",email:"Please enter a valid email",number:"This field can only contain numbers",integer:"This field can only contain integer values",capital:"This field can only contain uppercase letters",maxLength:"You must enter a maximum of {0} characters",minLength:"You must enter a minimum of {0} characters",strictLength:"The length of the entered field is invalid",exclude:"The {0} character is not allowed",notEmpty:"Please choose at least one value",pattern:"Invalid format"},hotkey:{then:"then",ctrl:"Ctrl",command:"Command",space:"Space",shift:"Shift",alt:"Alt",enter:"Enter",escape:"Escape",upArrow:"Up Arrow",downArrow:"Down Arrow",leftArrow:"Left Arrow",rightArrow:"Right Arrow",backspace:"Backspace",option:"Option",plus:"plus",shortcut:"Keyboard shortcut: {0}",or:"or"},video:{play:"Play",pause:"Pause",seek:"Seek",volume:"Volume",showVolume:"Show volume control",mute:"Mute",unmute:"Unmute",enterFullscreen:"Full screen",exitFullscreen:"Exit full screen"},colorPicker:{ariaLabel:{eyedropper:"Select color with eyedropper",hueSlider:"Hue",alphaSlider:"Alpha",redInput:"Red value",greenInput:"Green value",blueInput:"Blue value",alphaInput:"Alpha value",hueInput:"Hue value",saturationInput:"Saturation value",lightnessInput:"Lightness value",hexInput:"HEX value",hexaInput:"HEX with alpha value",changeFormat:"Change color format"}}},Xl="$vuetify.",Zl=(e,t)=>e.replace(/\{(\d+)\}/g,(n,r)=>String(t[Number(r)])),Wf=(e,t,n)=>function(r){for(var s=arguments.length,i=new Array(s>1?s-1:0),o=1;onew Intl.NumberFormat([e.value,t.value],r).format(n)}function Gf(e,t){return pa(e,t)(.1).includes(",")?",":"."}function Wi(e,t,n){const r=Jt(e,t,e[t]??n.value);return r.value=e[t]??n.value,ue(n,s=>{e[t]==null&&(r.value=n.value)}),r}function Uf(e){return t=>{const n=Wi(t,"locale",e.current),r=Wi(t,"fallback",e.fallback),s=Wi(t,"messages",e.messages);return{name:"vuetify",current:n,fallback:r,messages:s,decimalSeparator:G(()=>Gf(n,r)),t:Wf(n,r,s),n:pa(n,r),provide:Uf({current:n,fallback:r,messages:s})}}}function Nv(e){const t=le((e==null?void 0:e.locale)??"en"),n=le((e==null?void 0:e.fallback)??"en"),r=ce({en:Mv,...e==null?void 0:e.messages});return{name:"vuetify",current:t,fallback:n,messages:r,decimalSeparator:G(()=>(e==null?void 0:e.decimalSeparator)??Gf(t,n)),t:Wf(t,n,r),n:pa(t,n),provide:Uf({current:t,fallback:n,messages:r})}}const Zs=Symbol.for("vuetify:locale");function Vv(e){return e.name!=null}function Fv(e){const t=e!=null&&e.adapter&&Vv(e==null?void 0:e.adapter)?e==null?void 0:e.adapter:Nv(e),n=Hv(t,e);return{...t,...n}}function Bv(){const e=ge(Zs);if(!e)throw new Error("[Vuetify] Could not find injected locale instance");return e}function $v(){return{af:!1,ar:!0,bg:!1,ca:!1,ckb:!1,cs:!1,de:!1,el:!1,en:!1,es:!1,et:!1,fa:!0,fi:!1,fr:!1,hr:!1,hu:!1,he:!0,id:!1,it:!1,ja:!1,km:!1,ko:!1,lv:!1,lt:!1,nl:!1,no:!1,pl:!1,pt:!1,ro:!1,ru:!1,sk:!1,sl:!1,srCyrl:!1,srLatn:!1,sv:!1,th:!1,tr:!1,az:!1,uk:!1,vi:!1,zhHans:!1,zhHant:!1}}function Hv(e,t){const n=ce((t==null?void 0:t.rtl)??$v()),r=M(()=>n.value[e.current.value]??!1);return{isRtl:r,rtl:n,rtlClasses:G(()=>`v-locale--is-${r.value?"rtl":"ltr"}`)}}function ms(){const e=ge(Zs);if(!e)throw new Error("[Vuetify] Could not find injected rtl instance");return{isRtl:e.isRtl,rtlClasses:e.rtlClasses}}function hs(e){const t=e.slice(-2).toUpperCase();switch(!0){case e==="GB-alt-variant":return{firstDay:0,firstWeekSize:4};case e==="001":return{firstDay:1,firstWeekSize:1};case`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE - KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PY SA SG SV TH TT TW UM US - VE VI WS YE ZA ZW`.includes(t):return{firstDay:0,firstWeekSize:1};case`AI AL AM AR AU AZ BA BM BN BY CL CM CN CR CY EC GE HR KG KZ LB LK LV - MD ME MK MN MY NZ RO RS SI TJ TM TR UA UY UZ VN XK`.includes(t):return{firstDay:1,firstWeekSize:1};case`AD AN AT AX BE BG CH CZ DE DK EE ES FI FJ FO FR GB GF GP GR HU IE IS - IT LI LT LU MC MQ NL NO PL RE RU SE SK SM VA`.includes(t):return{firstDay:1,firstWeekSize:4};case"AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY".includes(t):return{firstDay:6,firstWeekSize:1};case t==="MV":return{firstDay:5,firstWeekSize:1};case t==="PT":return{firstDay:0,firstWeekSize:4};default:return null}}function jv(e,t,n){var c;const r=[];let s=[];const i=zf(e),o=Kf(e),a=n??((c=hs(t))==null?void 0:c.firstDay)??0,l=(i.getDay()-a+7)%7,u=(o.getDay()-a+7)%7;for(let f=0;f0&&r.push(s),r}function Ur(e,t,n){var i;let r=(n??((i=hs(t))==null?void 0:i.firstDay)??0)%7;[0,1,2,3,4,5,6].includes(r)||(r=0);const s=new Date(e);for(;s.getDay()!==r;)s.setDate(s.getDate()-1);return s}function Wv(e,t){var s;const n=new Date(e),r=((((s=hs(t))==null?void 0:s.firstDay)??0)+6)%7;for(;n.getDay()!==r;)n.setDate(n.getDate()+1);return n}function zf(e){return new Date(e.getFullYear(),e.getMonth(),1)}function Kf(e){return new Date(e.getFullYear(),e.getMonth()+1,0)}function Gv(e){const t=e.split("-").map(Number);return new Date(t[0],t[1]-1,t[2])}const Uv=/^([12]\d{3}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12]\d|3[01]))$/;function qf(e){if(e==null)return new Date;if(e instanceof Date)return e;if(typeof e=="string"){let t;if(Uv.test(e))return Gv(e);if(t=Date.parse(e),!isNaN(t))return new Date(t)}return null}const Jl=new Date(2e3,0,2);function zv(e,t,n){var s;const r=t??((s=hs(e))==null?void 0:s.firstDay)??0;return Af(7).map(i=>{const o=new Date(Jl);return o.setDate(Jl.getDate()+r+i),new Intl.DateTimeFormat(e,{weekday:n??"narrow"}).format(o)})}function Kv(e,t,n,r){const s=qf(e)??new Date,i=r==null?void 0:r[t];if(typeof i=="function")return i(s,t,n);let o={};switch(t){case"fullDate":o={year:"numeric",month:"short",day:"numeric"};break;case"fullDateWithWeekday":o={weekday:"long",year:"numeric",month:"long",day:"numeric"};break;case"normalDate":const a=s.getDate(),l=new Intl.DateTimeFormat(n,{month:"long"}).format(s);return`${a} ${l}`;case"normalDateWithWeekday":o={weekday:"short",day:"numeric",month:"short"};break;case"shortDate":o={month:"short",day:"numeric"};break;case"year":o={year:"numeric"};break;case"month":o={month:"long"};break;case"monthShort":o={month:"short"};break;case"monthAndYear":o={month:"long",year:"numeric"};break;case"monthAndDate":o={month:"long",day:"numeric"};break;case"weekday":o={weekday:"long"};break;case"weekdayShort":o={weekday:"short"};break;case"dayOfMonth":return new Intl.NumberFormat(n).format(s.getDate());case"hours12h":o={hour:"numeric",hour12:!0};break;case"hours24h":o={hour:"numeric",hour12:!1};break;case"minutes":o={minute:"numeric"};break;case"seconds":o={second:"numeric"};break;case"fullTime":o={hour:"numeric",minute:"numeric"};break;case"fullTime12h":o={hour:"numeric",minute:"numeric",hour12:!0};break;case"fullTime24h":o={hour:"numeric",minute:"numeric",hour12:!1};break;case"fullDateTime":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric"};break;case"fullDateTime12h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!0};break;case"fullDateTime24h":o={year:"numeric",month:"short",day:"numeric",hour:"numeric",minute:"numeric",hour12:!1};break;case"keyboardDate":o={year:"numeric",month:"2-digit",day:"2-digit"};break;case"keyboardDateTime":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric"},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime12h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!0},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");case"keyboardDateTime24h":return o={year:"numeric",month:"2-digit",day:"2-digit",hour:"numeric",minute:"numeric",hour12:!1},new Intl.DateTimeFormat(n,o).format(s).replace(/, /g," ");default:o=i??{timeZone:"UTC",timeZoneName:"short"}}return new Intl.DateTimeFormat(n,o).format(s)}function qv(e,t){const n=e.toJsDate(t),r=n.getFullYear(),s=Ol(String(n.getMonth()+1),2,"0"),i=Ol(String(n.getDate()),2,"0");return`${r}-${s}-${i}`}function Yv(e){const[t,n,r]=e.split("-").map(Number);return new Date(t,n-1,r)}function Xv(e,t){const n=new Date(e);return n.setMinutes(n.getMinutes()+t),n}function Zv(e,t){const n=new Date(e);return n.setHours(n.getHours()+t),n}function Fn(e,t){const n=new Date(e);return n.setDate(n.getDate()+t),n}function Jv(e,t){const n=new Date(e);return n.setDate(n.getDate()+t*7),n}function Qv(e,t){const n=new Date(e);return n.setDate(1),n.setMonth(n.getMonth()+t),n}function ns(e){return e.getFullYear()}function ep(e){return e.getMonth()}function tp(e,t,n,r){const s=hs(t),i=n??(s==null?void 0:s.firstDay)??0,o=(s==null?void 0:s.firstWeekSize)??1;return r!==void 0?np(e,t,i,r):rp(e,t,i,o)}function np(e,t,n,r){const s=(7+r-n)%7,i=Ur(e,t,n),o=Fn(i,6);function a(d){return(7+new Date(d,0,1).getDay()-n)%7}let l=ns(i);l=r&&a++;const l=new Date(a,0,1),u=o(a),c=u>=r?Fn(l,u-7):Fn(l,u);return 1+Qs(ya(s),rs(c),"weeks")}function sp(e){return e.getDate()}function ip(e){return new Date(e.getFullYear(),e.getMonth()+1,1)}function op(e){return new Date(e.getFullYear(),e.getMonth()-1,1)}function ap(e){return e.getHours()}function lp(e){return e.getMinutes()}function up(e){return new Date(e.getFullYear(),0,1)}function cp(e){return new Date(e.getFullYear(),11,31)}function fp(e,t){return Js(e,t[0])&&hp(e,t[1])}function dp(e){const t=new Date(e);return t instanceof Date&&!isNaN(t.getTime())}function Js(e,t){return e.getTime()>t.getTime()}function mp(e,t){return Js(rs(e),rs(t))}function hp(e,t){return e.getTime(){n.locale=e.locale[r]??r??n.locale}),n}function QS(){const e=ge(Yf);if(!e)throw new Error("[Vuetify] Could not find injected date options");const t=Bv();return Xf(e,t)}const ew=["sm","md","lg","xl","xxl"],Eo=Symbol.for("vuetify:display"),tu={mobileBreakpoint:"lg",thresholds:{xs:0,sm:600,md:960,lg:1280,xl:1920,xxl:2560}},Ap=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:tu;return et(tu,e)};function nu(e){return Ie&&!e?window.innerWidth:typeof e=="object"&&e.clientWidth||0}function ru(e){return Ie&&!e?window.innerHeight:typeof e=="object"&&e.clientHeight||0}function su(e){const t=Ie&&!e?window.navigator.userAgent:"ssr";function n(h){return!!t.match(h)}const r=n(/android/i),s=n(/iphone|ipad|ipod/i),i=n(/cordova/i),o=n(/electron/i),a=n(/chrome/i),l=n(/edge/i),u=n(/firefox/i),c=n(/opera/i),f=n(/win/i),d=n(/mac/i),m=n(/linux/i);return{android:r,ios:s,cordova:i,electron:o,chrome:a,edge:l,firefox:u,opera:c,win:f,mac:d,linux:m,touch:Vg,ssr:t==="ssr"}}function kp(e,t){const{thresholds:n,mobileBreakpoint:r}=Ap(e),s=le(ru(t)),i=le(su(t)),o=Be({}),a=le(nu(t));function l(){s.value=ru(),a.value=nu()}function u(){l(),i.value=su()}return _t(()=>{const c=a.value=n.xxl,E=c?"xs":f?"sm":d?"md":m?"lg":h?"xl":"xxl",p=typeof r=="number"?r:n[r],S=a.value{window.removeEventListener("resize",l)},!0)),{...Zo(o),update:u,ssr:!!t}}const tw=J({mobile:{type:Boolean,default:!1},mobileBreakpoint:[Number,String]},"display");function Tp(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{mobile:null},t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cn();const n=ge(Eo);if(!n)throw new Error("Could not find Vuetify display injection");const r=M(()=>e.mobile?!0:typeof e.mobileBreakpoint=="number"?n.width.valuet?{[`${t}--mobile`]:r.value}:{}),mobile:r}}const Zf=Symbol.for("vuetify:goto");function Jf(){return{container:void 0,duration:300,layout:!1,offset:0,easing:"easeInOutCubic",patterns:xv}}function Pp(e){return ba(e)??(document.scrollingElement||document.body)}function ba(e){return typeof e=="string"?document.querySelector(e):ua(e)}function Gi(e,t,n){if(typeof e=="number")return t&&n?-e:e;let r=ba(e),s=0;for(;r;)s+=t?r.offsetLeft:r.offsetTop,r=r.offsetParent;return s}function Ip(e,t){return{rtl:t.isRtl,options:et(Jf(),e)}}async function iu(e,t,n,r){const s=n?"scrollLeft":"scrollTop",i=et((r==null?void 0:r.options)??Jf(),t),o=r==null?void 0:r.rtl.value,a=(typeof e=="number"?e:ba(e))??0,l=i.container==="parent"&&a instanceof HTMLElement?a.parentElement:Pp(i.container),u=es()?i.patterns.instant:typeof i.easing=="function"?i.easing:i.patterns[i.easing];if(!u)throw new TypeError(`Easing function "${i.easing}" not found.`);let c;if(typeof a=="number")c=Gi(a,n,o);else if(c=Gi(a,n,o)-Gi(l,n,o),i.layout){const h=window.getComputedStyle(a).getPropertyValue("--v-layout-top");h&&(c-=parseInt(h,10))}c+=i.offset,c=Op(l,c,!!o,!!n);const f=l[s]??0;if(c===f)return Promise.resolve(c);const d=performance.now();return new Promise(m=>requestAnimationFrame(function h(v){const p=(v-d)/i.duration,S=Math.floor(f+(c-f)*u(nn(p,0,1)));if(l[s]=S,p>=1&&Math.abs(S-l[s])<10)return m(c);if(p>2)return m(l[s]);requestAnimationFrame(h)}))}function nw(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t=ge(Zf),{isRtl:n}=ms();if(!t)throw new Error("[Vuetify] Could not find injected goto instance");const r={...t,rtl:G(()=>t.rtl.value||n.value)};async function s(i,o){return iu(i,et(e,o),!1,r)}return s.horizontal=async(i,o)=>iu(i,et(e,o),!0,r),s}function Op(e,t,n,r){const{scrollWidth:s,scrollHeight:i}=e,[o,a]=e===document.scrollingElement?[window.innerWidth,window.innerHeight]:[e.offsetWidth,e.offsetHeight];let l,u;return r?n?(l=-(s-o),u=0):(l=0,u=s-o):(l=0,u=i+-a),nn(t,l,u)}const ss=Symbol.for("vuetify:theme"),vt=J({theme:String},"theme");function ou(){return{defaultTheme:"light",prefix:"v-",variations:{colors:[],lighten:0,darken:0},themes:{light:{dark:!1,colors:{background:"#FFFFFF",surface:"#FFFFFF","surface-bright":"#FFFFFF","surface-light":"#EEEEEE","surface-variant":"#424242","on-surface-variant":"#EEEEEE",primary:"#1867C0","primary-darken-1":"#1F5592",secondary:"#48A9A6","secondary-darken-1":"#018786",error:"#B00020",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#000000","border-opacity":.12,"high-emphasis-opacity":.87,"medium-emphasis-opacity":.6,"disabled-opacity":.38,"idle-opacity":.04,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.12,"dragged-opacity":.08,"theme-kbd":"#EEEEEE","theme-on-kbd":"#000000","theme-code":"#F5F5F5","theme-on-code":"#000000"}},dark:{dark:!0,colors:{background:"#121212",surface:"#212121","surface-bright":"#ccbfd6","surface-light":"#424242","surface-variant":"#c8c8c8","on-surface-variant":"#000000",primary:"#2196F3","primary-darken-1":"#277CC1",secondary:"#54B6B2","secondary-darken-1":"#48A9A6",error:"#CF6679",info:"#2196F3",success:"#4CAF50",warning:"#FB8C00"},variables:{"border-color":"#FFFFFF","border-opacity":.12,"high-emphasis-opacity":1,"medium-emphasis-opacity":.7,"disabled-opacity":.5,"idle-opacity":.1,"hover-opacity":.04,"focus-opacity":.12,"selected-opacity":.08,"activated-opacity":.12,"pressed-opacity":.16,"dragged-opacity":.08,"theme-kbd":"#424242","theme-on-kbd":"#FFFFFF","theme-code":"#343434","theme-on-code":"#CCCCCC"}}},stylesheetId:"vuetify-theme-stylesheet",scoped:!1,unimportant:!1,utilities:!0}}function Rp(){var r,s;let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ou();const t=ou();if(!e)return{...t,isDisabled:!0};const n={};for(const[i,o]of Object.entries(e.themes??{})){const a=o.dark||i==="dark"?(r=t.themes)==null?void 0:r.dark:(s=t.themes)==null?void 0:s.light;n[i]=et(a,o)}return et(t,{...e,themes:n})}function Pn(e,t,n,r){e.push(`${Np(t,r)} { -`,...n.map(s=>` ${s}; -`),`} -`)}function au(e,t){const n=e.dark?2:1,r=e.dark?1:2,s=[];for(const[i,o]of Object.entries(e.colors)){const a=Ht(o);s.push(`--${t}theme-${i}: ${a.r},${a.g},${a.b}`),i.startsWith("on-")||s.push(`--${t}theme-${i}-overlay-multiplier: ${yv(o)>.18?n:r}`)}for(const[i,o]of Object.entries(e.variables)){const a=typeof o=="string"&&o.startsWith("#")?Ht(o):void 0,l=a?`${a.r}, ${a.g}, ${a.b}`:void 0;s.push(`--${t}${i}: ${l??o}`)}return s}function Dp(e,t,n){const r={};if(n)for(const s of["lighten","darken"]){const i=s==="lighten"?vv:pv;for(const o of Af(n[s],1))r[`${e}-${s}-${o}`]=mv(i(Ht(t),o))}return r}function Lp(e,t){if(!t)return{};let n={};for(const r of t.colors){const s=e[r];s&&(n={...n,...Dp(r,s,t)})}return n}function Mp(e){const t={};for(const n of Object.keys(e)){if(n.startsWith("on-")||e[`on-${n}`])continue;const r=`on-${n}`,s=Ht(e[n]);t[r]=Bf(s)}return t}function Np(e,t){if(!t)return e;const n=`:where(${t})`;return e===":root"?n:`${n} ${e}`}function Vp(e,t,n){const r=Fp(e,t);r&&(r.innerHTML=n)}function Fp(e,t){if(!Ie)return null;let n=document.getElementById(e);return n||(n=document.createElement("style"),n.id=e,n.type="text/css",t&&n.setAttribute("nonce",t),document.head.appendChild(n)),n}function Bp(e){const t=Rp(e),n=le(t.defaultTheme),r=ce(t.themes),s=le("light"),i=M({get(){return n.value==="system"?s.value:n.value},set(p){n.value=p}}),o=M(()=>{const p={};for(const[S,b]of Object.entries(r.value)){const _={...b.colors,...Lp(b.colors,t.variations)};p[S]={...b,colors:{..._,...Mp(_)}}}return p}),a=G(()=>o.value[i.value]),l=G(()=>n.value==="system"),u=M(()=>{var I;const p=[],S=t.unimportant?"":" !important",b=t.scoped?t.prefix:"";(I=a.value)!=null&&I.dark&&Pn(p,":root",["color-scheme: dark"],t.scope),Pn(p,":root",au(a.value,t.prefix),t.scope);for(const[T,R]of Object.entries(o.value))Pn(p,`.${t.prefix}theme--${T}`,[`color-scheme: ${R.dark?"dark":"normal"}`,...au(R,t.prefix)],t.scope);if(t.utilities){const T=[],R=[],A=new Set(Object.values(o.value).flatMap(x=>Object.keys(x.colors)));for(const x of A)x.startsWith("on-")?Pn(R,`.${x}`,[`color: rgb(var(--${t.prefix}theme-${x}))${S}`],t.scope):(Pn(T,`.${b}bg-${x}`,[`--${t.prefix}theme-overlay-multiplier: var(--${t.prefix}theme-${x}-overlay-multiplier)`,`background-color: rgb(var(--${t.prefix}theme-${x}))${S}`,`color: rgb(var(--${t.prefix}theme-on-${x}))${S}`],t.scope),Pn(R,`.${b}text-${x}`,[`color: rgb(var(--${t.prefix}theme-${x}))${S}`],t.scope),Pn(R,`.${b}border-${x}`,[`--${t.prefix}border-color: var(--${t.prefix}theme-${x})`],t.scope));t.layers?p.push(`@layer background { -`,...T.map(x=>` ${x}`),`} -`,`@layer foreground { -`,...R.map(x=>` ${x}`),`} -`):p.push(...T,...R)}let _=p.map((T,R)=>R===0?T:` ${T}`).join("");return t.layers&&(_=`@layer vuetify.theme { -`+p.map(T=>` ${T}`).join("")+` -}`),_}),c=G(()=>t.isDisabled?void 0:`${t.prefix}theme--${i.value}`),f=G(()=>Object.keys(o.value));if(Cf){let S=function(){s.value=p.matches?"dark":"light"};const p=window.matchMedia("(prefers-color-scheme: dark)");S(),p.addEventListener("change",S,{passive:!0}),Wo()&&Xe(()=>{p.removeEventListener("change",S)})}function d(p){if(t.isDisabled)return;const S=p._context.provides.usehead;if(S){let b=function(){return{style:[{textContent:u.value,id:t.stylesheetId,nonce:t.cspNonce||!1}]}};if(S.push){const _=S.push(b);Ie&&ue(u,()=>{_.patch(b)})}else Ie?(S.addHeadObjs(G(b)),_t(()=>S.updateDOM())):S.addHeadObjs(b())}else{let b=function(){Vp(t.stylesheetId,t.cspNonce,u.value)};Ie?ue(u,b,{immediate:!0}):b()}}function m(p){p!=="system"&&!f.value.includes(p)||(i.value=p)}function h(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:f.value;const S=p.indexOf(i.value),b=S===-1?0:(S+1)%p.length;m(p[b])}function v(){let p=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["light","dark"];h(p)}const E=new Proxy(i,{get(p,S){return Reflect.get(p,S)},set(p,S,b){return S==="value"&&_f(`theme.global.name.value = ${b}`,`theme.change('${b}')`),Reflect.set(p,S,b)}});return{install:d,change:m,cycle:h,toggle:v,isDisabled:t.isDisabled,isSystem:l,name:i,themes:r,current:a,computedThemes:o,prefix:t.prefix,themeClasses:c,styles:u,global:{name:E,current:a}}}function Ct(e){$e("provideTheme");const t=ge(ss,null);if(!t)throw new Error("Could not find Vuetify theme injection");const n=G(()=>e.theme??t.name.value),i={...t,name:n,current:G(()=>t.themes.value[n.value]),themeClasses:G(()=>t.isDisabled?void 0:`${t.prefix}theme--${n.value}`)};return tt(ss,i),i}function Qf(){$e("useTheme");const e=ge(ss,null);if(!e)throw new Error("Could not find Vuetify theme injection");return e}function Sa(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"content";const n=bo(),r=ce();if(Ie){const s=new ResizeObserver(i=>{e==null||e(i,s),i.length&&(t==="content"?r.value=i[0].contentRect:r.value=i[0].target.getBoundingClientRect())});Pt(()=>{s.disconnect()}),ue(()=>n.el,(i,o)=>{o&&(s.unobserve(o),r.value=void 0),i&&s.observe(i)},{flush:"post"})}return{resizeRef:n,contentRect:ur(r)}}const is=Symbol.for("vuetify:layout"),ed=Symbol.for("vuetify:layout-item"),lu=1e3,$p=J({overlaps:{type:Array,default:()=>[]},fullHeight:Boolean},"layout"),rw=J({name:{type:String},order:{type:[Number,String],default:0},absolute:Boolean},"layout-item");function Hp(){const e=ge(is);if(!e)throw new Error("[Vuetify] Could not find injected layout");return{getLayoutItem:e.getLayoutItem,mainRect:e.mainRect,mainStyles:e.mainStyles}}function sw(e){const t=ge(is);if(!t)throw new Error("[Vuetify] Could not find injected layout");const n=e.id??`layout-item-${Nc()}`,r=$e("useLayoutItem");tt(ed,{id:n});const s=le(!1);Bc(()=>s.value=!0),Fc(()=>s.value=!1);const{layoutItemStyles:i,layoutItemScrimStyles:o}=t.register(r,{...e,active:M(()=>s.value?!1:e.active.value),id:n});return Pt(()=>t.unregister(n)),{layoutItemStyles:i,layoutRect:t.layoutRect,layoutItemScrimStyles:o}}const jp=(e,t,n,r)=>{let s={top:0,left:0,right:0,bottom:0};const i=[{id:"",layer:{...s}}];for(const o of e){const a=t.get(o),l=n.get(o),u=r.get(o);if(!a||!l||!u)continue;const c={...s,[a.value]:parseInt(s[a.value],10)+(u.value?parseInt(l.value,10):0)};i.push({id:o,layer:c}),s=c}return i};function Wp(e){const t=ge(is,null),n=M(()=>t?t.rootZIndex.value-100:lu),r=ce([]),s=Be(new Map),i=Be(new Map),o=Be(new Map),a=Be(new Map),l=Be(new Map),{resizeRef:u,contentRect:c}=Sa(),f=M(()=>{const T=new Map,R=e.overlaps??[];for(const A of R.filter(x=>x.includes(":"))){const[x,B]=A.split(":");if(!r.value.includes(x)||!r.value.includes(B))continue;const F=s.get(x),k=s.get(B),N=i.get(x),j=i.get(B);!F||!k||!N||!j||(T.set(B,{position:F.value,amount:parseInt(N.value,10)}),T.set(x,{position:k.value,amount:-parseInt(j.value,10)}))}return T}),d=M(()=>{const T=[...new Set([...o.values()].map(A=>A.value))].sort((A,x)=>A-x),R=[];for(const A of T){const x=r.value.filter(B=>{var F;return((F=o.get(B))==null?void 0:F.value)===A});R.push(...x)}return jp(R,s,i,a)}),m=M(()=>!Array.from(l.values()).some(T=>T.value)),h=M(()=>d.value[d.value.length-1].layer),v=G(()=>({"--v-layout-left":ie(h.value.left),"--v-layout-right":ie(h.value.right),"--v-layout-top":ie(h.value.top),"--v-layout-bottom":ie(h.value.bottom),...m.value?void 0:{transition:"none"}})),E=M(()=>d.value.slice(1).map((T,R)=>{let{id:A}=T;const{layer:x}=d.value[R],B=i.get(A),F=s.get(A);return{id:A,...x,size:Number(B.value),position:F.value}})),p=T=>E.value.find(R=>R.id===T),S=$e("createLayout"),b=le(!1);return wn(()=>{b.value=!0}),tt(is,{register:(T,R)=>{let{id:A,order:x,position:B,layoutSize:F,elementSize:k,active:N,disableTransitions:j,absolute:Y}=R;o.set(A,x),s.set(A,B),i.set(A,F),a.set(A,N),j&&l.set(A,j);const X=tr(ed,S==null?void 0:S.vnode).indexOf(T);X>-1?r.value.splice(X,0,A):r.value.push(A);const ne=M(()=>E.value.findIndex(Se=>Se.id===A)),Re=M(()=>n.value+d.value.length*2-ne.value*2),me=M(()=>{const Se=B.value==="left"||B.value==="right",Ne=B.value==="right",Ge=B.value==="bottom",rt=k.value??F.value,He=rt===0?"%":"px",w={[B.value]:0,zIndex:Re.value,transform:`translate${Se?"X":"Y"}(${(N.value?0:-(rt===0?100:rt))*(Ne||Ge?-1:1)}${He})`,position:Y.value||n.value!==lu?"absolute":"fixed",...m.value?void 0:{transition:"none"}};if(!b.value)return w;const $=E.value[ne.value],H=f.value.get(A);return H&&($[H.position]+=H.amount),{...w,height:Se?`calc(100% - ${$.top}px - ${$.bottom}px)`:k.value?`${k.value}px`:void 0,left:Ne?void 0:`${$.left}px`,right:Ne?`${$.right}px`:void 0,top:B.value!=="bottom"?`${$.top}px`:void 0,bottom:B.value!=="top"?`${$.bottom}px`:void 0,width:Se?k.value?`${k.value}px`:void 0:`calc(100% - ${$.left}px - ${$.right}px)`}}),ke=M(()=>({zIndex:Re.value-1}));return{layoutItemStyles:me,layoutItemScrimStyles:ke,zIndex:Re}},unregister:T=>{o.delete(T),s.delete(T),i.delete(T),a.delete(T),l.delete(T),r.value=r.value.filter(R=>R!==T)},mainRect:h,mainStyles:v,getLayoutItem:p,items:E,layoutRect:c,rootZIndex:n}),{layoutClasses:G(()=>["v-layout",{"v-layout--full-height":e.fullHeight}]),layoutStyles:G(()=>({zIndex:t?n.value:void 0,position:t?"relative":void 0,overflow:t?"hidden":void 0})),getLayoutItem:p,items:E,layoutRect:c,layoutRef:u}}function td(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{blueprint:t,...n}=e,r=et(t,n),{aliases:s={},components:i={},directives:o={}}=r,a=Bn();return a.run(()=>{const l=Sv(r.defaults),u=kp(r.display,r.ssr),c=Bp(r.theme),f=Lv(r.icons),d=Fv(r.locale),m=Ep(r.date,d),h=Ip(r.goTo,d);function v(p){for(const b in o)p.directive(b,o[b]);for(const b in i)p.component(b,i[b]);for(const b in s)p.component(b,Sr({...s[b],name:b,aliasName:s[b].name}));const S=Bn();if(S.run(()=>{c.install(p)}),p.onUnmount(()=>S.stop()),p.provide(mr,l),p.provide(Eo,u),p.provide(ss,c),p.provide(Co,f),p.provide(Zs,d),p.provide(Yf,m.options),p.provide(eu,m.instance),p.provide(Zf,h),Ie&&r.ssr)if(p.$nuxt)p.$nuxt.hook("app:suspense:resolve",()=>{u.update()});else{const{mount:b}=p;p.mount=function(){const _=b(...arguments);return We(()=>u.update()),p.mount=b,_}}p.mixin({computed:{$vuetify(){return Be({defaults:Yn.call(this,mr),display:Yn.call(this,Eo),theme:Yn.call(this,ss),icons:Yn.call(this,Co),locale:Yn.call(this,Zs),date:Yn.call(this,eu)})}}})}function E(){a.stop()}return{install:v,unmount:E,defaults:l,display:u,theme:c,icons:f,locale:d,date:m,goTo:h}})}const Gp="3.11.6";td.version=Gp;function Yn(e){var r,s;const t=this.$,n=((r=t.parent)==null?void 0:r.provides)??((s=t.vnode.appContext)==null?void 0:s.provides);if(n&&e in n)return n[e]}const Up=td({theme:{defaultTheme:"dark"}});/*! - * pinia v3.0.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let nd;const wi=e=>nd=e,rd=Symbol();function xo(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var zr;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(zr||(zr={}));function sd(){const e=Bn(!0),t=e.run(()=>ce({}));let n=[],r=[];const s=Xo({install(i){wi(s),s._a=i,i.provide(rd,s),i.config.globalProperties.$pinia=s,r.forEach(o=>n.push(o)),r=[]},use(i){return this._a?n.push(i):r.push(i),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return s}const id=()=>{};function uu(e,t,n,r=id){e.add(t);const s=()=>{e.delete(t)&&r()};return!n&&Wo()&&Xe(s),s}function Xn(e,...t){e.forEach(n=>{n(...t)})}const zp=e=>e(),cu=Symbol(),Ui=Symbol();function Ao(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],s=e[n];xo(s)&&xo(r)&&e.hasOwnProperty(n)&&!Ae(r)&&!Zt(r)?e[n]=Ao(s,r):e[n]=r}return e}const Kp=Symbol();function qp(e){return!xo(e)||!Object.prototype.hasOwnProperty.call(e,Kp)}const{assign:fn}=Object;function Yp(e){return!!(Ae(e)&&e.effect)}function Xp(e,t,n,r){const{state:s,actions:i,getters:o}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=s?s():{});const c=Zo(n.state.value[e]);return fn(c,i,Object.keys(o||{}).reduce((f,d)=>(f[d]=Xo(M(()=>{wi(n);const m=n._s.get(e);return o[d].call(m,m)})),f),{}))}return l=od(e,u,t,n,r,!0),l}function od(e,t,n={},r,s,i){let o;const a=fn({actions:{}},n),l={deep:!0};let u,c,f=new Set,d=new Set,m;const h=r.state.value[e];!i&&!h&&(r.state.value[e]={});let v;function E(A){let x;u=c=!1,typeof A=="function"?(A(r.state.value[e]),x={type:zr.patchFunction,storeId:e,events:m}):(Ao(r.state.value[e],A),x={type:zr.patchObject,payload:A,storeId:e,events:m});const B=v=Symbol();We().then(()=>{v===B&&(u=!0)}),c=!0,Xn(f,x,r.state.value[e])}const p=i?function(){const{state:x}=n,B=x?x():{};this.$patch(F=>{fn(F,B)})}:id;function S(){o.stop(),f.clear(),d.clear(),r._s.delete(e)}const b=(A,x="")=>{if(cu in A)return A[Ui]=x,A;const B=function(){wi(r);const F=Array.from(arguments),k=new Set,N=new Set;function j(X){k.add(X)}function Y(X){N.add(X)}Xn(d,{args:F,name:B[Ui],store:I,after:j,onError:Y});let Q;try{Q=A.apply(this&&this.$id===e?this:I,F)}catch(X){throw Xn(N,X),X}return Q instanceof Promise?Q.then(X=>(Xn(k,X),X)).catch(X=>(Xn(N,X),Promise.reject(X))):(Xn(k,Q),Q)};return B[cu]=!0,B[Ui]=x,B},_={_p:r,$id:e,$onAction:uu.bind(null,d),$patch:E,$reset:p,$subscribe(A,x={}){const B=uu(f,A,x.detached,()=>F()),F=o.run(()=>ue(()=>r.state.value[e],k=>{(x.flush==="sync"?c:u)&&A({storeId:e,type:zr.direct,events:m},k)},fn({},l,x)));return B},$dispose:S},I=Be(_);r._s.set(e,I);const R=(r._a&&r._a.runWithContext||zp)(()=>r._e.run(()=>(o=Bn()).run(()=>t({action:b}))));for(const A in R){const x=R[A];if(Ae(x)&&!Yp(x)||Zt(x))i||(h&&qp(x)&&(Ae(x)?x.value=h[A]:Ao(x,h[A])),r.state.value[e][A]=x);else if(typeof x=="function"){const B=b(x,A);R[A]=B,a.actions[A]=x}}return fn(I,R),fn(te(I),R),Object.defineProperty(I,"$state",{get:()=>r.state.value[e],set:A=>{E(x=>{fn(x,A)})}}),r._p.forEach(A=>{fn(I,o.run(()=>A({store:I,app:r._a,pinia:r,options:a})))}),h&&i&&n.hydrate&&n.hydrate(I.$state,h),u=!0,c=!0,I}/*! #__NO_SIDE_EFFECTS__ */function iw(e,t,n){let r;const s=typeof t=="function";r=s?n:t;function i(o,a){const l=th();return o=o||(l?ge(rd,null):null),o&&wi(o),o=nd,o._s.has(e)||(s?od(e,t,r,o):Xp(e,r,o)),o._s.get(e)}return i.$id=e,i}function ow(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(){return e(this.$pinia)[r]},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(){const s=e(this.$pinia),i=t[r];return typeof i=="function"?i.call(this,s):s[i]},n),{})}function aw(e,t){return Array.isArray(t)?t.reduce((n,r)=>(n[r]=function(...s){return e(this.$pinia)[r](...s)},n),{}):Object.keys(t).reduce((n,r)=>(n[r]=function(...s){return e(this.$pinia)[t[r]](...s)},n),{})}const Zp=sd();/*! - * vue-router v4.6.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const Qn=typeof document<"u";function ad(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Jp(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&ad(e.default)}const pe=Object.assign;function zi(e,t){const n={};for(const r in t){const s=t[r];n[r]=Tt(s)?s.map(e):e(s)}return n}const Kr=()=>{},Tt=Array.isArray;function fu(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}const ld=/#/g,Qp=/&/g,ey=/\//g,ty=/=/g,ny=/\?/g,ud=/\+/g,ry=/%5B/g,sy=/%5D/g,cd=/%5E/g,iy=/%60/g,fd=/%7B/g,oy=/%7C/g,dd=/%7D/g,ay=/%20/g;function wa(e){return e==null?"":encodeURI(""+e).replace(oy,"|").replace(ry,"[").replace(sy,"]")}function ly(e){return wa(e).replace(fd,"{").replace(dd,"}").replace(cd,"^")}function ko(e){return wa(e).replace(ud,"%2B").replace(ay,"+").replace(ld,"%23").replace(Qp,"%26").replace(iy,"`").replace(fd,"{").replace(dd,"}").replace(cd,"^")}function uy(e){return ko(e).replace(ty,"%3D")}function cy(e){return wa(e).replace(ld,"%23").replace(ny,"%3F")}function fy(e){return cy(e).replace(ey,"%2F")}function os(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const dy=/\/$/,my=e=>e.replace(dy,"");function Ki(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let l=t.indexOf("?");return l=a>=0&&l>a?-1:l,l>=0&&(r=t.slice(0,l),i=t.slice(l,a>0?a:t.length),s=e(i.slice(1))),a>=0&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=py(r??t,n),{fullPath:r+i+o,path:r,query:s,hash:os(o)}}function hy(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function du(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function gy(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&hr(t.matched[r],n.matched[s])&&md(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function hr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function md(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!vy(e[n],t[n]))return!1;return!0}function vy(e,t){return Tt(e)?mu(e,t):Tt(t)?mu(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function mu(e,t){return Tt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function py(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o).join("/")}const un={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let To=function(e){return e.pop="pop",e.push="push",e}({}),qi=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function yy(e){if(!e)if(Qn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),my(e)}const by=/^[^#]+#/;function Sy(e,t){return e.replace(by,"#")+t}function wy(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const _i=()=>({left:window.scrollX,top:window.scrollY});function _y(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=wy(s,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 hu(e,t){return(history.state?history.state.position-t:-1)+e}const Po=new Map;function Cy(e,t){Po.set(e,t)}function Ey(e){const t=Po.get(e);return Po.delete(e),t}function xy(e){return typeof e=="string"||e&&typeof e=="object"}function hd(e){return typeof e=="string"||typeof e=="symbol"}let Le=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 gd=Symbol("");Le.MATCHER_NOT_FOUND+"",Le.NAVIGATION_GUARD_REDIRECT+"",Le.NAVIGATION_ABORTED+"",Le.NAVIGATION_CANCELLED+"",Le.NAVIGATION_DUPLICATED+"";function gr(e,t){return pe(new Error,{type:e,[gd]:!0},t)}function zt(e,t){return e instanceof Error&&gd in e&&(t==null||!!(e.type&t))}const Ay=["params","query","hash"];function ky(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Ay)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Ty(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let r=0;rs&&ko(s)):[r&&ko(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function Py(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=Tt(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Iy=Symbol(""),vu=Symbol(""),Ci=Symbol(""),_a=Symbol(""),Io=Symbol("");function Or(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function vn(e,t,n,r,s,i=o=>o()){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,l)=>{const u=d=>{d===!1?l(gr(Le.NAVIGATION_ABORTED,{from:n,to:t})):d instanceof Error?l(d):xy(d)?l(gr(Le.NAVIGATION_GUARD_REDIRECT,{from:t,to:d})):(o&&r.enterCallbacks[s]===o&&typeof d=="function"&&o.push(d),a())},c=i(()=>e.call(r&&r.instances[s],t,n,u));let f=Promise.resolve(c);e.length<3&&(f=f.then(u)),f.catch(d=>l(d))})}function Yi(e,t,n,r,s=i=>i()){const i=[];for(const o of e)for(const a in o.components){let l=o.components[a];if(!(t!=="beforeRouteEnter"&&!o.instances[a]))if(ad(l)){const u=(l.__vccOpts||l)[t];u&&i.push(vn(u,n,r,o,a,s))}else{let u=l();i.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${a}" at "${o.path}"`);const f=Jp(c)?c.default:c;o.mods[a]=c,o.components[a]=f;const d=(f.__vccOpts||f)[t];return d&&vn(d,n,r,o,a,s)()}))}}return i}function Oy(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;ohr(u,a))?r.push(a):n.push(a));const l=e.matched[o];l&&(t.matched.find(u=>hr(u,l))||s.push(l))}return[n,r,s]}/*! - * vue-router v4.6.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let Ry=()=>location.protocol+"//"+location.host;function vd(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let o=s.includes(e.slice(i))?e.slice(i).length:1,a=s.slice(o);return a[0]!=="/"&&(a="/"+a),du(a,"")}return du(n,e)+r+s}function Dy(e,t,n,r){let s=[],i=[],o=null;const a=({state:d})=>{const m=vd(e,location),h=n.value,v=t.value;let E=0;if(d){if(n.value=m,t.value=d,o&&o===h){o=null;return}E=v?d.position-v.position:0}else r(m);s.forEach(p=>{p(n.value,h,{delta:E,type:To.pop,direction:E?E>0?qi.forward:qi.back:qi.unknown})})};function l(){o=n.value}function u(d){s.push(d);const m=()=>{const h=s.indexOf(d);h>-1&&s.splice(h,1)};return i.push(m),m}function c(){if(document.visibilityState==="hidden"){const{history:d}=window;if(!d.state)return;d.replaceState(pe({},d.state,{scroll:_i()}),"")}}function f(){for(const d of i)d();i=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",c),document.removeEventListener("visibilitychange",c)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",c),document.addEventListener("visibilitychange",c),{pauseListeners:l,listen:u,destroy:f}}function pu(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?_i():null}}function Ly(e){const{history:t,location:n}=window,r={value:vd(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,u,c){const f=e.indexOf("#"),d=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+l:Ry()+e+l;try{t[c?"replaceState":"pushState"](u,"",d),s.value=u}catch(m){console.error(m),n[c?"replace":"assign"](d)}}function o(l,u){i(l,pe({},t.state,pu(s.value.back,l,s.value.forward,!0),u,{position:s.value.position}),!0),r.value=l}function a(l,u){const c=pe({},s.value,t.state,{forward:l,scroll:_i()});i(c.current,c,!0),i(l,pe({},pu(r.value,l,null),{position:c.position+1},u),!1),r.value=l}return{location:r,state:s,push:a,replace:o}}function My(e){e=yy(e);const t=Ly(e),n=Dy(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=pe({location:"",base:e,go:r,createHref:Sy.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let Dn=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var Fe=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}(Fe||{});const Ny={type:Dn.Static,value:""},Vy=/[a-zA-Z0-9_]/;function Fy(e){if(!e)return[[]];if(e==="/")return[[Ny]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${u}": ${m}`)}let n=Fe.Static,r=n;const s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,l,u="",c="";function f(){u&&(n===Fe.Static?i.push({type:Dn.Static,value:u}):n===Fe.Param||n===Fe.ParamRegExp||n===Fe.ParamRegExpEnd?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Dn.Param,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=l}for(;at.length?t.length===1&&t[0]===ot.Static+ot.Segment?1:-1:0}function pd(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const Wy={strict:!1,end:!0,sensitive:!1};function Gy(e,t,n){const r=Hy(Fy(e.path),n),s=pe(r,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function Uy(e,t){const n=[],r=new Map;t=fu(Wy,t);function s(f){return r.get(f)}function i(f,d,m){const h=!m,v=wu(f);v.aliasOf=m&&m.record;const E=fu(t,f),p=[v];if("alias"in f){const _=typeof f.alias=="string"?[f.alias]:f.alias;for(const I of _)p.push(wu(pe({},v,{components:m?m.record.components:v.components,path:I,aliasOf:m?m.record:v})))}let S,b;for(const _ of p){const{path:I}=_;if(d&&I[0]!=="/"){const T=d.record.path,R=T[T.length-1]==="/"?"":"/";_.path=d.record.path+(I&&R+I)}if(S=Gy(_,d,E),m?m.alias.push(S):(b=b||S,b!==S&&b.alias.push(S),h&&f.name&&!_u(S)&&o(f.name)),yd(S)&&l(S),v.children){const T=v.children;for(let R=0;R{o(b)}:Kr}function o(f){if(hd(f)){const d=r.get(f);d&&(r.delete(f),n.splice(n.indexOf(d),1),d.children.forEach(o),d.alias.forEach(o))}else{const d=n.indexOf(f);d>-1&&(n.splice(d,1),f.record.name&&r.delete(f.record.name),f.children.forEach(o),f.alias.forEach(o))}}function a(){return n}function l(f){const d=qy(f,n);n.splice(d,0,f),f.record.name&&!_u(f)&&r.set(f.record.name,f)}function u(f,d){let m,h={},v,E;if("name"in f&&f.name){if(m=r.get(f.name),!m)throw gr(Le.MATCHER_NOT_FOUND,{location:f});E=m.record.name,h=pe(Su(d.params,m.keys.filter(b=>!b.optional).concat(m.parent?m.parent.keys.filter(b=>b.optional):[]).map(b=>b.name)),f.params&&Su(f.params,m.keys.map(b=>b.name))),v=m.stringify(h)}else if(f.path!=null)v=f.path,m=n.find(b=>b.re.test(v)),m&&(h=m.parse(v),E=m.record.name);else{if(m=d.name?r.get(d.name):n.find(b=>b.re.test(d.path)),!m)throw gr(Le.MATCHER_NOT_FOUND,{location:f,currentLocation:d});E=m.record.name,h=pe({},d.params,f.params),v=m.stringify(h)}const p=[];let S=m;for(;S;)p.unshift(S.record),S=S.parent;return{name:E,path:v,params:h,matched:p,meta:Ky(p)}}e.forEach(f=>i(f));function c(){n.length=0,r.clear()}return{addRoute:i,resolve:u,removeRoute:o,clearRoutes:c,getRoutes:a,getRecordMatcher:s}}function Su(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function wu(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:zy(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 zy(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function _u(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ky(e){return e.reduce((t,n)=>pe(t,n.meta),{})}function qy(e,t){let n=0,r=t.length;for(;n!==r;){const i=n+r>>1;pd(e,t[i])<0?r=i:n=i+1}const s=Yy(e);return s&&(r=t.lastIndexOf(s,r-1)),r}function Yy(e){let t=e;for(;t=t.parent;)if(yd(t)&&pd(e,t)===0)return t}function yd({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Cu(e){const t=ge(Ci),n=ge(_a),r=M(()=>{const l=ft(e.to);return t.resolve(l)}),s=M(()=>{const{matched:l}=r.value,{length:u}=l,c=l[u-1],f=n.matched;if(!c||!f.length)return-1;const d=f.findIndex(hr.bind(null,c));if(d>-1)return d;const m=Eu(l[u-2]);return u>1&&Eu(c)===m&&f[f.length-1].path!==m?f.findIndex(hr.bind(null,l[u-2])):d}),i=M(()=>s.value>-1&&eb(n.params,r.value.params)),o=M(()=>s.value>-1&&s.value===n.matched.length-1&&md(n.params,r.value.params));function a(l={}){if(Qy(l)){const u=t[ft(e.replace)?"replace":"push"](ft(e.to)).catch(Kr);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:M(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}function Xy(e){return e.length===1?e[0]:e}const Zy=mi({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:Cu,setup(e,{slots:t}){const n=Be(Cu(e)),{options:r}=ge(Ci),s=M(()=>({[xu(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[xu(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&Xy(t.default(n));return e.custom?i:_n("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),Jy=Zy;function Qy(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 eb(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!Tt(s)||s.length!==r.length||r.some((i,o)=>i.valueOf()!==s[o].valueOf()))return!1}return!0}function Eu(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xu=(e,t,n)=>e??t??n,tb=mi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=ge(Io),s=M(()=>e.route||r.value),i=ge(vu,0),o=M(()=>{let u=ft(i);const{matched:c}=s.value;let f;for(;(f=c[u])&&!f.components;)u++;return u}),a=M(()=>s.value.matched[o.value]);tt(vu,M(()=>o.value+1)),tt(Iy,a),tt(Io,s);const l=ce();return ue(()=>[l.value,a.value,e.name],([u,c,f],[d,m,h])=>{c&&(c.instances[f]=u,m&&m!==c&&u&&u===d&&(c.leaveGuards.size||(c.leaveGuards=m.leaveGuards),c.updateGuards.size||(c.updateGuards=m.updateGuards))),u&&c&&(!m||!hr(c,m)||!d)&&(c.enterCallbacks[f]||[]).forEach(v=>v(u))},{flush:"post"}),()=>{const u=s.value,c=e.name,f=a.value,d=f&&f.components[c];if(!d)return Au(n.default,{Component:d,route:u});const m=f.props[c],h=m?m===!0?u.params:typeof m=="function"?m(u):m:null,E=_n(d,pe({},h,t,{onVnodeUnmounted:p=>{p.component.isUnmounted&&(f.instances[c]=null)},ref:l}));return Au(n.default,{Component:E,route:u})||E}}});function Au(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const nb=tb;function rb(e){const t=Uy(e.routes,e),n=e.parseQuery||Ty,r=e.stringifyQuery||gu,s=e.history,i=Or(),o=Or(),a=Or(),l=le(un);let u=un;Qn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=zi.bind(null,w=>""+w),f=zi.bind(null,fy),d=zi.bind(null,os);function m(w,$){let H,Z;return hd(w)?(H=t.getRecordMatcher(w),Z=$):Z=w,t.addRoute(Z,H)}function h(w){const $=t.getRecordMatcher(w);$&&t.removeRoute($)}function v(){return t.getRoutes().map(w=>w.record)}function E(w){return!!t.getRecordMatcher(w)}function p(w,$){if($=pe({},$||l.value),typeof w=="string"){const C=Ki(n,w,$.path),P=t.resolve({path:C.path},$),L=s.createHref(C.fullPath);return pe(C,P,{params:d(P.params),hash:os(C.hash),redirectedFrom:void 0,href:L})}let H;if(w.path!=null)H=pe({},w,{path:Ki(n,w.path,$.path).path});else{const C=pe({},w.params);for(const P in C)C[P]==null&&delete C[P];H=pe({},w,{params:f(C)}),$.params=f($.params)}const Z=t.resolve(H,$),fe=w.hash||"";Z.params=c(d(Z.params));const g=hy(r,pe({},w,{hash:ly(fe),path:Z.path})),y=s.createHref(g);return pe({fullPath:g,hash:fe,query:r===gu?Py(w.query):w.query||{}},Z,{redirectedFrom:void 0,href:y})}function S(w){return typeof w=="string"?Ki(n,w,l.value.path):pe({},w)}function b(w,$){if(u!==w)return gr(Le.NAVIGATION_CANCELLED,{from:$,to:w})}function _(w){return R(w)}function I(w){return _(pe(S(w),{replace:!0}))}function T(w,$){const H=w.matched[w.matched.length-1];if(H&&H.redirect){const{redirect:Z}=H;let fe=typeof Z=="function"?Z(w,$):Z;return typeof fe=="string"&&(fe=fe.includes("?")||fe.includes("#")?fe=S(fe):{path:fe},fe.params={}),pe({query:w.query,hash:w.hash,params:fe.path!=null?{}:w.params},fe)}}function R(w,$){const H=u=p(w),Z=l.value,fe=w.state,g=w.force,y=w.replace===!0,C=T(H,Z);if(C)return R(pe(S(C),{state:typeof C=="object"?pe({},fe,C.state):fe,force:g,replace:y}),$||H);const P=H;P.redirectedFrom=$;let L;return!g&&gy(r,Z,H)&&(L=gr(Le.NAVIGATION_DUPLICATED,{to:P,from:Z}),ke(Z,Z,!0,!1)),(L?Promise.resolve(L):B(P,Z)).catch(D=>zt(D)?zt(D,Le.NAVIGATION_GUARD_REDIRECT)?D:me(D):ne(D,P,Z)).then(D=>{if(D){if(zt(D,Le.NAVIGATION_GUARD_REDIRECT))return R(pe({replace:y},S(D.to),{state:typeof D.to=="object"?pe({},fe,D.to.state):fe,force:g}),$||P)}else D=k(P,Z,!0,y,fe);return F(P,Z,D),D})}function A(w,$){const H=b(w,$);return H?Promise.reject(H):Promise.resolve()}function x(w){const $=Ge.values().next().value;return $&&typeof $.runWithContext=="function"?$.runWithContext(w):w()}function B(w,$){let H;const[Z,fe,g]=Oy(w,$);H=Yi(Z.reverse(),"beforeRouteLeave",w,$);for(const C of Z)C.leaveGuards.forEach(P=>{H.push(vn(P,w,$))});const y=A.bind(null,w,$);return H.push(y),He(H).then(()=>{H=[];for(const C of i.list())H.push(vn(C,w,$));return H.push(y),He(H)}).then(()=>{H=Yi(fe,"beforeRouteUpdate",w,$);for(const C of fe)C.updateGuards.forEach(P=>{H.push(vn(P,w,$))});return H.push(y),He(H)}).then(()=>{H=[];for(const C of g)if(C.beforeEnter)if(Tt(C.beforeEnter))for(const P of C.beforeEnter)H.push(vn(P,w,$));else H.push(vn(C.beforeEnter,w,$));return H.push(y),He(H)}).then(()=>(w.matched.forEach(C=>C.enterCallbacks={}),H=Yi(g,"beforeRouteEnter",w,$,x),H.push(y),He(H))).then(()=>{H=[];for(const C of o.list())H.push(vn(C,w,$));return H.push(y),He(H)}).catch(C=>zt(C,Le.NAVIGATION_CANCELLED)?C:Promise.reject(C))}function F(w,$,H){a.list().forEach(Z=>x(()=>Z(w,$,H)))}function k(w,$,H,Z,fe){const g=b(w,$);if(g)return g;const y=$===un,C=Qn?history.state:{};H&&(Z||y?s.replace(w.fullPath,pe({scroll:y&&C&&C.scroll},fe)):s.push(w.fullPath,fe)),l.value=w,ke(w,$,H,y),me()}let N;function j(){N||(N=s.listen((w,$,H)=>{if(!rt.listening)return;const Z=p(w),fe=T(Z,rt.currentRoute.value);if(fe){R(pe(fe,{replace:!0,force:!0}),Z).catch(Kr);return}u=Z;const g=l.value;Qn&&Cy(hu(g.fullPath,H.delta),_i()),B(Z,g).catch(y=>zt(y,Le.NAVIGATION_ABORTED|Le.NAVIGATION_CANCELLED)?y:zt(y,Le.NAVIGATION_GUARD_REDIRECT)?(R(pe(S(y.to),{force:!0}),Z).then(C=>{zt(C,Le.NAVIGATION_ABORTED|Le.NAVIGATION_DUPLICATED)&&!H.delta&&H.type===To.pop&&s.go(-1,!1)}).catch(Kr),Promise.reject()):(H.delta&&s.go(-H.delta,!1),ne(y,Z,g))).then(y=>{y=y||k(Z,g,!1),y&&(H.delta&&!zt(y,Le.NAVIGATION_CANCELLED)?s.go(-H.delta,!1):H.type===To.pop&&zt(y,Le.NAVIGATION_ABORTED|Le.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),F(Z,g,y)}).catch(Kr)}))}let Y=Or(),Q=Or(),X;function ne(w,$,H){me(w);const Z=Q.list();return Z.length?Z.forEach(fe=>fe(w,$,H)):console.error(w),Promise.reject(w)}function Re(){return X&&l.value!==un?Promise.resolve():new Promise((w,$)=>{Y.add([w,$])})}function me(w){return X||(X=!w,j(),Y.list().forEach(([$,H])=>w?H(w):$()),Y.reset()),w}function ke(w,$,H,Z){const{scrollBehavior:fe}=e;if(!Qn||!fe)return Promise.resolve();const g=!H&&Ey(hu(w.fullPath,0))||(Z||!H)&&history.state&&history.state.scroll||null;return We().then(()=>fe(w,$,g)).then(y=>y&&_y(y)).catch(y=>ne(y,w,$))}const Se=w=>s.go(w);let Ne;const Ge=new Set,rt={currentRoute:l,listening:!0,addRoute:m,removeRoute:h,clearRoutes:t.clearRoutes,hasRoute:E,getRoutes:v,resolve:p,options:e,push:_,replace:I,go:Se,back:()=>Se(-1),forward:()=>Se(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:Q.add,isReady:Re,install(w){w.component("RouterLink",Jy),w.component("RouterView",nb),w.config.globalProperties.$router=rt,Object.defineProperty(w.config.globalProperties,"$route",{enumerable:!0,get:()=>ft(l)}),Qn&&!Ne&&l.value===un&&(Ne=!0,_(s.location).catch(Z=>{}));const $={};for(const Z in un)Object.defineProperty($,Z,{get:()=>l.value[Z],enumerable:!0});w.provide(Ci,rt),w.provide(_a,pc($)),w.provide(Io,l);const H=w.unmount;Ge.add(w),w.unmount=function(){Ge.delete(w),Ge.size<1&&(u=un,N&&N(),N=null,l.value=un,Ne=!1,X=!1),H()}}};function He(w){return w.reduce(($,H)=>$.then(()=>x(H)),Promise.resolve())}return rt}function lw(){return ge(Ci)}function uw(e){return ge(_a)}const sb=e=>{const t={};Object.entries(Object.assign({"/src/layouts/default.vue":()=>Ue(()=>import("./default-BLu6UNYI.js"),__vite__mapDeps([0,1]),import.meta.url)})).forEach(([s,i])=>{let o=s.replace("/src/layouts/","").replace(".vue","");t[o]=i});function r(s,i=!0){return s.map(o=>{var a,l,u,c,f,d;if(((a=o.children)==null?void 0:a.length)>0&&(o.children=r(o.children,!1)),i){if(!o.component&&((l=o.children)==null?void 0:l.find(h=>{var v;return(h.path===""||h.path==="/")&&((v=h.meta)==null?void 0:v.isLayout)})))return o;if(((u=o.meta)==null?void 0:u.layout)!==!1)return{path:o.path,component:t[((c=o.meta)==null?void 0:c.layout)||"default"],children:o.path==="/"?[o]:[{...o,path:""}],meta:{isLayout:!0}}}return(f=o.meta)!=null&&f.layout?{path:o.path,component:t[(d=o.meta)==null?void 0:d.layout],children:[{...o,path:""}],meta:{isLayout:!0}}:o})}return r(e)},ib=[{path:"/",name:"/",component:()=>Ue(()=>import("./index-C4pR7dAk.js"),__vite__mapDeps([2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39]),import.meta.url)},{path:"/404",name:"/404",component:()=>Ue(()=>import("./404-BDPO8oQV.js"),__vite__mapDeps([40,14,35]),import.meta.url)},{path:"/authorize",name:"/authorize",component:()=>Ue(()=>import("./authorize-CMXt_eB_.js"),__vite__mapDeps([41,14,35]),import.meta.url)},{path:"/CacheManagement",name:"/CacheManagement",component:()=>Ue(()=>import("./CacheManagement-LQxE9shI.js"),__vite__mapDeps([42,6,7,37,38,12,13,8,9,14,35]),import.meta.url)},{path:"/cses2wakeup",name:"/cses2wakeup",component:()=>Ue(()=>import("./cses2wakeup-DSwAVdLr.js"),__vite__mapDeps([43,14,6,7,44,33,22,19,15,16,20,34,21,12,13,23,45,10,11,17,18,8,9,35,46]),import.meta.url)},{path:"/debug",name:"/debug",component:()=>Ue(()=>import("./debug-CpxFVaC9.js"),__vite__mapDeps([47,35,48]),import.meta.url)},{path:"/debug-init",name:"/debug-init",component:()=>Ue(()=>import("./debug-init-D2rXtSfG.js"),__vite__mapDeps([49,4,5,14,36,15,16,35]),import.meta.url)},{path:"/debug-socket",name:"/debug-socket",component:()=>Ue(()=>import("./debug-socket-DEE0yYvx.js"),__vite__mapDeps([50,27,5,32,14,12,13,15,16,17,18,35]),import.meta.url)},{path:"/exam-editor",children:[{path:":id",name:"/exam-editor/[id]",component:()=>Ue(()=>import("./_id_-QTYaofAc.js"),__vite__mapDeps([51,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,29,30,35]),import.meta.url)}]},{path:"/examschedule",name:"/examschedule",component:()=>Ue(()=>import("./examschedule-DGn665C4.js"),__vite__mapDeps([52,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,35,53]),import.meta.url)},{path:"/list",children:[{path:"",name:"/list/",component:()=>Ue(()=>import("./index-Cgekbe0l.js"),__vite__mapDeps([54,4,5,29,30,15,16,35]),import.meta.url)},{path:":id",name:"/list/[id]",component:()=>Ue(()=>import("./_id_-Dx2RdnaN.js"),__vite__mapDeps([55,4,5,29,30,15,16,22,19,20,12,13,17,18,35]),import.meta.url)}]},{path:"/settings",name:"/settings",component:()=>Ue(()=>import("./settings-DptYywUP.js"),__vite__mapDeps([56,28,29,30,15,16,21,22,19,20,12,13,23,31,4,5,6,7,14,35,33,34,17,18,36,37,38,44,45,24,25,57]),import.meta.url)},{path:"/socket-debugger",name:"/socket-debugger",component:()=>Ue(()=>import("./socket-debugger-BMJuEHHG.js"),__vite__mapDeps([58,27,5,14,12,13,15,16,17,18,19,20,6,7,35,59]),import.meta.url)}],Ca=rb({history:My("./"),routes:sb(ib)});Ca.onError((e,t)=>{var n,r;(r=(n=e==null?void 0:e.message)==null?void 0:n.includes)!=null&&r.call(n,"Failed to fetch dynamically imported module")?localStorage.getItem("vuetify:dynamic-reload")?console.error("Dynamic import error, reloading page did not fix it",e):(console.log("Reloading page to fix dynamic import error"),localStorage.setItem("vuetify:dynamic-reload","true"),location.assign(t.fullPath)):console.error(e)});Ca.isReady().then(()=>{localStorage.removeItem("vuetify:dynamic-reload")});function ob(e){e.use(Up).use(Ca).use(Zp)}async function ab(){return typeof Notification<"u"&&Notification.requestPermission?await Notification.requestPermission()==="granted"?(console.log("通知权限已授予"),!0):(console.warn("通知权限被拒绝"),!1):(console.warn("浏览器不支持通知权限请求"),!1)}async function lb(){var e;try{return(e=navigator.storage)!=null&&e.persist?await navigator.storage.persist():!1}catch(t){return console.warn("请求持久性存储失败:",t),!1}}const Xi="Classworks_settings",ku={"server.domain":"https://kv-service.houlang.cloud","server.siteKey":""},dn={"device.uuid":{type:"string",default:"00000000-0000-4000-8000-000000000000",description:"设备唯一标识符",icon:"mdi-identifier"},"storage.persistOnLoad":{type:"boolean",default:!0,description:"是否在页面加载时自动请求持久性存储",icon:"mdi-database-sync"},"display.emptySubjectDisplay":{type:"string",default:"card",validate:e=>["card","button"].includes(e),description:"空科目的显示方式",icon:"mdi-card-outline"},"hitokoto.enabled":{type:"boolean",default:!0,description:"启用一言",icon:"mdi-comment-quote"},"hitokoto.refreshInterval":{type:"number",default:300,description:"刷新时间(秒,0为不自动刷新)",icon:"mdi-timer-refresh"},"display.dynamicSort":{type:"boolean",default:!0,description:"是否启用动态排序",icon:"mdi-sort-variant"},"display.showRandomButton":{type:"boolean",default:!1,description:"是否显示随机点人按钮",icon:"mdi-shuffle-variant"},"display.showFullscreenButton":{type:"boolean",default:!0,description:"是否显示全屏按钮",icon:"mdi-fullscreen"},"display.cardHoverEffect":{type:"boolean",default:!0,description:"是否启用卡片悬浮效果",icon:"mdi-gesture-tap"},"display.enhancedTouchMode":{type:"boolean",default:!0,description:"是否启用增强触摸模式",icon:"mdi-gesture-tap-button"},"display.showAntiScreenBurnCard":{type:"boolean",default:!1,description:"是否显示防烧屏忽悠卡片",icon:"mdi-monitor-shimmer"},"display.showListCard":{type:"boolean",default:!0,description:"是否显示列表卡片",icon:"mdi-list-box"},"display.showExamScheduleButton":{type:"boolean",default:!0,description:"是否显示考试看板",icon:"mdi-calendar-check"},"display.showQuickTools":{type:"boolean",default:!0,description:"是否显示快捷键盘",icon:"mdi-dialpad"},"display.forceDesktopMode":{type:"boolean",default:!1,description:"强制使用一体机UI模式",icon:"mdi-monitor"},"display.lateStudentsArePresent":{type:"boolean",default:!1,description:"将迟到人数算入出勤人数",icon:"mdi-clock-fast"},"server.domain":{type:"string",default:"",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("域名格式无效:",t),!1}},description:"后端服务器域名",icon:"mdi-web"},"server.classNumber":{type:"string",default:"高三八班",validate:e=>/.*/.test(e),description:"班级编号",icon:"mdi-account-group"},"server.siteKey":{type:"string",default:"",description:"网站令牌",icon:"mdi-key-chain"},"server.kvToken":{type:"string",default:"",description:"KV授权令牌",icon:"mdi-shield-key"},"server.authDomain":{type:"string",default:"https://kv.houlang.cloud",description:"授权服务器域名",icon:"mdi-shield-account",validate:e=>{if(!e)return!0;try{return new URL(e),!0}catch(t){return console.error("授权域名格式无效:",t),!1}}},"server.provider":{type:"string",default:"classworkscloud",validate:e=>["kv-local","kv-server","classworkscloud"].includes(e),description:"数据提供者",icon:"mdi-database"},"refresh.auto":{type:"boolean",default:!1,description:"是否启用自动刷新",icon:"mdi-refresh-auto"},"refresh.interval":{type:"number",default:300,validate:e=>e>=10&&e<=3600,description:"自动刷新间隔(秒)",icon:"mdi-timer-outline"},"font.size":{type:"number",default:28,validate:e=>e>=16&&e<=100,description:"字体大小",icon:"mdi-format-size"},"edit.autoSave":{type:"boolean",default:!0,description:"是否启用自动保存",icon:"mdi-content-save-outline"},"edit.blockNonTodayAutoSave":{type:"boolean",default:!0,description:"禁止自动保存非当天数据",icon:"mdi-calendar-lock"},"edit.refreshBeforeEdit":{type:"boolean",default:!0,description:"编辑前是否自动刷新",icon:"mdi-refresh"},"edit.confirmNonTodaySave":{type:"boolean",default:!0,description:"保存非当天数据需确认",icon:"mdi-calendar-alert"},"edit.blockPastDataEdit":{type:"boolean",default:!1,description:"禁止编辑过往数据",icon:"mdi-lock-clock"},"edit.autoSavePromptText":{type:"string",default:"喵?喵呜!",description:"自动保存模式提示文本",icon:"mdi-text-box-outline"},"edit.manualSavePromptText":{type:"string",default:"写完后点击上传谢谢喵",description:"手动保存模式提示文本",icon:"mdi-text-box-outline"},"developer.enabled":{type:"boolean",default:!1,description:"是否启用开发者选项",icon:"mdi-developer-board"},"developer.showDebugConfig":{type:"boolean",default:!1,description:"是否显示调试配置",icon:"mdi-bug-outline"},"developer.disableMessageLog":{type:"boolean",default:!1,description:"禁用消息日志记录",requireDeveloper:!0,icon:"mdi-message-off-outline"},"message.showSidebar":{type:"boolean",default:!0,description:"是否显示消息记录侧栏",requireDeveloper:!0,icon:"mdi-message-text-outline"},"message.maxActiveMessages":{type:"number",default:5,validate:e=>e>=1&&e<=10,description:"同时显示的最大消息数量",requireDeveloper:!0,icon:"mdi-message-badge-outline"},"message.timeout":{type:"number",default:5e3,validate:e=>e>=1e3&&e<=3e4,description:"消息自动关闭时间(毫秒)",requireDeveloper:!0,icon:"mdi-timer-sand"},"message.saveHistory":{type:"boolean",default:!0,description:"是否保存消息历史记录",requireDeveloper:!0,icon:"mdi-history"},"theme.mode":{type:"string",default:"dark",validate:e=>["light","dark"].includes(e),description:"主题模式",icon:"mdi-theme-light-dark"},"notification.singleSound":{type:"string",default:"Teams 默认.mp3",description:"单次通知铃声",icon:"mdi-bell-ring"},"notification.urgentSound":{type:"string",default:"Teams 默认通话铃.mp3",description:"持续通知铃声",icon:"mdi-bell-alert"},"randomPicker.enabled":{type:"boolean",default:!0,description:"是否启用随机点名功能",icon:"mdi-account-question"},"randomPicker.animation":{type:"boolean",default:!0,description:"是否启用随机点名动画效果",icon:"mdi-animation-play"},"randomPicker.defaultCount":{type:"number",default:1,validate:e=>e>=1&&e,description:"默认抽取人数",icon:"mdi-counter"},"randomPicker.excludeAbsent":{type:"boolean",default:!0,description:"是否排除请假学生",icon:"mdi-account-off"},"randomPicker.excludeLate":{type:"boolean",default:!1,description:"是否排除迟到学生",icon:"mdi-clock-alert"},"randomPicker.excludeExcluded":{type:"boolean",default:!0,description:"是否排除不参与学生",icon:"mdi-account-cancel"},"randomPicker.mode":{type:"string",default:"name",validate:e=>["name","number"].includes(e),description:"随机点名模式",icon:"mdi-format-list-numbered"},"randomPicker.maxNumber":{type:"number",default:60,validate:e=>e>=1&&e,description:"学号模式最大值",icon:"mdi-numeric"},"randomPicker.minNumber":{type:"number",default:1,validate:e=>e>=1&&e,description:"学号模式最小值",icon:"mdi-numeric-negative-1"},"pwa.hideInstallCard":{type:"boolean",default:!1,description:"不显示PWA安装卡片",icon:"mdi-download-off"}};class ub{constructor(){this.settingsCache=null,this.isInitialized=!1}init(){this.isInitialized||(this.loadSettings(),this.isInitialized=!0)}loadSettings(){this.settingsCache={};try{const t=typeof localStorage<"u"?localStorage.getItem(Xi):null;t&&(this.settingsCache=JSON.parse(t))}catch(t){console.error("加载设置失败:",t)}for(const[t,n]of Object.entries(dn))t in this.settingsCache||(this.settingsCache[t]=n.default);return this.settingsCache}saveSettings(){if(!(typeof localStorage>"u"))try{localStorage.setItem(Xi,JSON.stringify(this.settingsCache))}catch(t){console.error("保存设置失败:",t)}}getSetting(t){this.isInitialized||this.init();const n=dn[t];if(!n)return console.warn(`未定义的设置项: ${t}`),null;if(n.requireDeveloper&&!this.settingsCache["developer.enabled"])return n.default;if(this.settingsCache["server.provider"]==="classworkscloud"&&ku[t]!==void 0)return ku[t];const r=this.settingsCache[t];return r!==void 0?r:n.default}setSetting(t,n){this.isInitialized||this.init();const r=dn[t];if(!r)return console.warn(`未定义的设置项: ${t}`),!1;if(r.requireDeveloper&&!this.settingsCache["developer.enabled"])return console.warn(`设置项 ${t} 需要启用开发者选项`),!1;try{const s=this.settingsCache[t];if(typeof n!==r.type&&(n=r.type==="boolean"?!!n:r.type==="number"?Number(n):String(n)),r.validate&&!r.validate(n))return console.warn(`设置项 ${t} 的值无效`),!1;this.settingsCache[t]=n,this.saveSettings(),this.logSettingsChange(t,s,n);const i=r.legacyKey;return i&&typeof localStorage<"u"&&localStorage.setItem(i,n.toString()),!0}catch(s){return console.error(`设置配置项 ${t} 失败:`,s),!1}}logSettingsChange(t,n,r){this.settingsCache["developer.enabled"]&&this.settingsCache["developer.showDebugConfig"]&&console.log(`[Settings] ${t}:`,{old:n,new:r,time:new Date().toLocaleTimeString()})}resetSetting(t){this.isInitialized||this.init();const n=dn[t];if(!n){console.warn(`未定义的设置项: ${t}`);return}this.settingsCache[t]=n.default,this.saveSettings()}resetAllSettings(){this.settingsCache={};for(const[t,n]of Object.entries(dn))this.settingsCache[t]=n.default;this.saveSettings()}watchSettings(t){if(typeof window>"u")return()=>{};const n=r=>{r.key===Xi&&(this.settingsCache=JSON.parse(r.newValue),t(this.settingsCache))};return window.addEventListener("storage",n),()=>window.removeEventListener("storage",n)}getSettingDefinition(t){return dn[t]||null}exportSettingsAsKeyValue(){this.isInitialized||this.init();const t={};for(const n in dn)t[n]=this.getSetting(n);return t}}const En=new ub;typeof window<"u"&&En.init();const Ea=e=>En.getSetting(e),cb=(e,t)=>En.setSetting(e,t),fb=e=>En.resetSetting(e),db=e=>En.watchSettings(e),mb=e=>En.getSettingDefinition(e),hb=()=>En.exportSettingsAsKeyValue(),cw=Object.freeze(Object.defineProperty({__proto__:null,SettingsManager:En,exportSettingsAsKeyValue:hb,getSetting:Ea,getSettingDefinition:mb,requestNotificationPermission:ab,requestPersistentStorage:lb,resetSetting:fb,setSetting:cb,settingsDefinitions:dn,watchSettings:db},Symbol.toStringTag,{value:"Module"}));class gb{constructor(){this.logs=[]}async addLog(t){return this.logs.push(t),this.logs.length>100&&this.logs.shift(),!0}async getLogs(t=20){return this.logs.slice(-t).reverse()}}const Ls=new gb,Ft=[];let Ms=null,Nt=null;const Rr={SUCCESS:"success",ERROR:"error",INFO:"info",WARNING:"warning"},vb={timeout:3e3,showSnackbar:!0,addToLog:!0};async function Ts(e,t,n="",r={}){const s={...vb,...r},i={id:Date.now()+Math.random(),type:e,title:t,content:n.substring(0,500),timestamp:new Date};if(s.addToLog)try{for(await Ls.addLog(i),Ft.unshift(i);Ft.length>Ea("message.maxActiveMessages");)Ft.pop();Nt==null||Nt(Ft)}catch(o){console.error("保存日志失败:",o)}return s.showSnackbar&&(Ms==null||Ms(i)),i}function pb(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>{e.apply(this,r)},t)}}const er={install:e=>{e.config.globalProperties.$message={success:(t,n,r)=>Ts(Rr.SUCCESS,t,n,r),error:(t,n,r)=>Ts(Rr.ERROR,t,n,r),info:(t,n,r)=>Ts(Rr.INFO,t,n,r),warning:(t,n,r)=>Ts(Rr.WARNING,t,n,r)}},onSnackbar:e=>{Ms=e},onLog:e=>{Nt=e},getMessages:async()=>{try{return await Ls.getLogs()}catch(e){return console.error("获取日志失败:",e),[...Ft]}},clearMessages:async()=>{try{await Ls.clearLogs(),Ft.length=0,Nt==null||Nt(Ft)}catch(e){console.error("清除日志失败:",e)}},MessageType:Rr,markAsRead:()=>{},deleteMessage:async e=>{try{await Ls.deleteLog(e);const t=Ft.findIndex(n=>n.id===e);t!==-1&&Ft.splice(t,1),Nt==null||Nt(Ft)}catch(t){console.error("删除消息失败:",t)}},getUnreadCount:()=>0,debounce:pb},bd=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},_r=J({border:[Boolean,Number,String]},"border");function Cr(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cn();return{borderClasses:M(()=>{const r=e.border;return r===!0||r===""?`${t}--border`:typeof r=="string"||r===0?String(r).split(" ").map(s=>`border-${s}`):[]})}}const yb=[null,"default","comfortable","compact"],Gn=J({density:{type:String,default:"default",validator:e=>yb.includes(e)}},"density");function Er(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cn();return{densityClasses:G(()=>`${t}--density-${e.density}`)}}const gs=J({elevation:{type:[Number,String],validator(e){const t=parseInt(e);return!isNaN(t)&&t>=0&&t<=24}}},"elevation");function vs(e){return{elevationClasses:G(()=>{const n=Ae(e)?e.value:e.elevation;return n==null?[]:[`elevation-${n}`]})}}const on=J({rounded:{type:[Boolean,Number,String],default:void 0},tile:Boolean},"rounded");function an(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cn();return{roundedClasses:M(()=>{const r=Ae(e)?e.value:e.rounded,s=Ae(e)?!1:e.tile,i=[];if(s||r===!1)i.push("rounded-0");else if(r===!0||r==="")i.push(`${t}--rounded`);else if(typeof r=="string"||r===0)for(const o of String(r).split(" "))i.push(`rounded-${o}`);return i})}}const nt=J({tag:{type:[String,Object,Function],default:"div"}},"tag");function xa(e){return da(()=>{const{class:t,style:n}=bb(e);return{colorClasses:t,colorStyles:n}})}function vr(e){const{colorClasses:t,colorStyles:n}=xa(()=>({text:Ke(e)}));return{textColorClasses:t,textColorStyles:n}}function ar(e){const{colorClasses:t,colorStyles:n}=xa(()=>({background:Ke(e)}));return{backgroundColorClasses:t,backgroundColorStyles:n}}function bb(e){const t=Ke(e),n=[],r={};if(t.background)if(wo(t.background)){if(r.backgroundColor=t.background,!t.text&&fv(t.background)){const s=Ht(t.background);if(s.a==null||s.a===1){const i=Bf(s);r.color=i,r.caretColor=i}}}else n.push(`bg-${t.background}`);return t.text&&(wo(t.text)?(r.color=t.text,r.caretColor=t.text):n.push(`text-${t.text}`)),{class:n,style:r}}const Sb=["elevated","flat","tonal","outlined","text","plain"];function ps(e,t){return q(Te,null,[e&&q("span",{key:"overlay",class:he(`${t}__overlay`)},null),q("span",{key:"underlay",class:he(`${t}__underlay`)},null)])}const Un=J({color:String,variant:{type:String,default:"elevated",validator:e=>Sb.includes(e)}},"variant");function ys(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cn();const n=G(()=>{const{variant:i}=Ke(e);return`${t}--variant-${i}`}),{colorClasses:r,colorStyles:s}=xa(()=>{const{variant:i,color:o}=Ke(e);return{[["elevated","flat"].includes(i)?"background":"text"]:o}});return{colorClasses:r,colorStyles:s,variantClasses:n}}const Sd=J({baseColor:String,divided:Boolean,direction:{type:String,default:"horizontal"},..._r(),...Me(),...Gn(),...gs(),...on(),...nt(),...vt(),...Un()},"VBtnGroup"),Tu=ve()({name:"VBtnGroup",props:Sd(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=Ct(e),{densityClasses:s}=Er(e),{borderClasses:i}=Cr(e),{elevationClasses:o}=vs(e),{roundedClasses:a}=an(e);bi({VBtn:{height:G(()=>e.direction==="horizontal"?"auto":null),baseColor:G(()=>e.baseColor),color:G(()=>e.color),density:G(()=>e.density),flat:!0,variant:G(()=>e.variant)}}),Oe(()=>O(e.tag,{class:he(["v-btn-group",`v-btn-group--${e.direction}`,{"v-btn-group--divided":e.divided},r.value,i.value,s.value,o.value,a.value,e.class]),style:xe(e.style)},n))}}),wb=J({modelValue:{type:null,default:void 0},multiple:Boolean,mandatory:[Boolean,String],max:Number,selectedClass:String,disabled:Boolean},"group"),_b=J({value:null,disabled:Boolean,selectedClass:String},"group-item");function Cb(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;const r=$e("useGroupItem");if(!r)throw new Error("[Vuetify] useGroupItem composable must be used inside a component setup function");const s=Nc();tt(Symbol.for(`${t.description}:id`),s);const i=ge(t,null);if(!i){if(!n)return i;throw new Error(`[Vuetify] Could not find useGroup injection with symbol ${t.description}`)}const o=G(()=>e.value),a=M(()=>!!(i.disabled.value||e.disabled));function l(){i==null||i.register({id:s,value:o,disabled:a},r)}function u(){i==null||i.unregister(s)}l(),Pt(()=>u());const c=M(()=>i.isSelected(s)),f=M(()=>i.items.value[0].id===s),d=M(()=>i.items.value[i.items.value.length-1].id===s),m=M(()=>c.value&&[i.selectedClass.value,e.selectedClass]);return ue(c,h=>{r.emit("group:selected",{value:h})},{flush:"sync"}),{id:s,isSelected:c,isFirst:f,isLast:d,toggle:()=>i.select(s,!c.value),select:h=>i.select(s,h),selectedClass:m,value:o,disabled:a,group:i,register:l,unregister:u}}function Eb(e,t){let n=!1;const r=Be([]),s=Jt(e,"modelValue",[],d=>d===void 0?[]:wd(r,d===null?[null]:fa(d)),d=>{const m=Ab(r,d);return e.multiple?m:m[0]}),i=$e("useGroup");function o(d,m){const h=d,v=Symbol.for(`${t.description}:id`),p=tr(v,i==null?void 0:i.vnode).indexOf(m);ft(h.value)===void 0&&(h.value=p,h.useIndexAsValue=!0),p>-1?r.splice(p,0,h):r.push(h)}function a(d){if(n)return;l();const m=r.findIndex(h=>h.id===d);r.splice(m,1)}function l(){const d=r.find(m=>!m.disabled);d&&e.mandatory==="force"&&!s.value.length&&(s.value=[d.id])}wn(()=>{l()}),Pt(()=>{n=!0}),ta(()=>{for(let d=0;dv.id===d);if(!(m&&(h!=null&&h.disabled)))if(e.multiple){const v=s.value.slice(),E=v.findIndex(S=>S===d),p=~E;if(m=m??!p,p&&e.mandatory&&v.length<=1||!p&&e.max!=null&&v.length+1>e.max)return;E<0&&m?v.push(d):E>=0&&!m&&v.splice(E,1),s.value=v}else{const v=s.value.includes(d);if(e.mandatory&&v||!v&&!m)return;s.value=m??!v?[d]:[]}}function c(d){if(e.multiple,s.value.length){const m=s.value[0],h=r.findIndex(p=>p.id===m);let v=(h+d)%r.length,E=r[v];for(;E.disabled&&v!==h;)v=(v+d)%r.length,E=r[v];if(E.disabled)return;s.value=[r[v].id]}else{const m=r.find(h=>!h.disabled);m&&(s.value=[m.id])}}const f={register:o,unregister:a,selected:s,select:u,disabled:G(()=>e.disabled),prev:()=>c(r.length-1),next:()=>c(1),isSelected:d=>s.value.includes(d),selectedClass:G(()=>e.selectedClass),items:G(()=>r),getItemIndex:d=>xb(r,d)};return tt(t,f),f}function xb(e,t){const n=wd(e,[t]);return n.length?e.findIndex(r=>r.id===n[0]):-1}function wd(e,t){const n=[];return t.forEach(r=>{const s=e.find(o=>Vn(r,o.value)),i=e[r];(s==null?void 0:s.value)!==void 0?n.push(s.id):i!=null&&i.useIndexAsValue&&n.push(i.id)}),n}function Ab(e,t){const n=[];return t.forEach(r=>{const s=e.findIndex(i=>i.id===r);if(~s){const i=e[s];n.push(i.value!==void 0?i.value:s)}}),n}const _d=Symbol.for("vuetify:v-btn-toggle"),kb=J({...Sd(),...wb()},"VBtnToggle"),fw=ve()({name:"VBtnToggle",props:kb(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const{isSelected:r,next:s,prev:i,select:o,selected:a}=Eb(e,_d);return Oe(()=>{const l=Tu.filterProps(e);return O(Tu,Pe({class:["v-btn-toggle",e.class]},l,{style:e.style}),{default:()=>{var u;return[(u=n.default)==null?void 0:u.call(n,{isSelected:r,next:s,prev:i,select:o,selected:a})]}})}),{next:s,prev:i,select:o}}}),Tb=J({defaults:Object,disabled:Boolean,reset:[Number,String],root:[Boolean,String],scoped:Boolean},"VDefaultsProvider"),wt=ve(!1)({name:"VDefaultsProvider",props:Tb(),setup(e,t){let{slots:n}=t;const{defaults:r,disabled:s,reset:i,root:o,scoped:a}=Zo(e);return bi(r,{reset:i,root:o,scoped:a,disabled:s}),()=>{var l;return(l=n.default)==null?void 0:l.call(n)}}}),Pb=["x-small","small","default","large","x-large"],Ei=J({size:{type:[String,Number],default:"default"}},"size");function xi(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cn();return da(()=>{const n=e.size;let r,s;return qs(Pb,n)?r=`${t}--size-${n}`:n&&(s={width:ie(n),height:ie(n)}),{sizeClasses:r,sizeStyles:s}})}const Ib=J({color:String,disabled:Boolean,start:Boolean,end:Boolean,icon:Ye,opacity:[String,Number],...Me(),...Ei(),...nt({tag:"i"}),...vt()},"VIcon"),Wt=ve()({name:"VIcon",props:Ib(),setup(e,t){let{attrs:n,slots:r}=t;const s=le(),{themeClasses:i}=Qf(),{iconData:o}=Iv(()=>s.value||e.icon),{sizeClasses:a}=xi(e),{textColorClasses:l,textColorStyles:u}=vr(()=>e.color);return Oe(()=>{var d,m;const c=(d=r.default)==null?void 0:d.call(r);c&&(s.value=(m=Pf(c).filter(h=>h.type===fs&&h.children&&typeof h.children=="string")[0])==null?void 0:m.children);const f=!!(n.onClick||n.onClickOnce);return O(o.value.component,{tag:e.tag,icon:o.value.icon,class:he(["v-icon","notranslate",i.value,a.value,l.value,{"v-icon--clickable":f,"v-icon--disabled":e.disabled,"v-icon--start":e.start,"v-icon--end":e.end},e.class]),style:xe([{"--v-icon-opacity":e.opacity},a.value?void 0:{fontSize:ie(e.size),height:ie(e.size),width:ie(e.size)},u.value,e.style]),role:f?"button":void 0,"aria-hidden":!f,tabindex:f?e.disabled?-1:0:void 0},{default:()=>[c]})}),{}}});function Cd(e,t){const n=ce(),r=le(!1);if(la){const s=new IntersectionObserver(i=>{r.value=!!i.find(o=>o.isIntersecting)},t);Xe(()=>{s.disconnect()}),ue(n,(i,o)=>{o&&(s.unobserve(o),r.value=!1),i&&s.observe(i)},{flush:"post"})}return{intersectionRef:n,isIntersecting:r}}const Ob=J({bgColor:String,color:String,indeterminate:[Boolean,String],rounded:Boolean,modelValue:{type:[Number,String],default:0},rotate:{type:[Number,String],default:0},width:{type:[Number,String],default:4},...Me(),...Ei(),...nt({tag:"div"}),...vt()},"VProgressCircular"),Rb=ve()({name:"VProgressCircular",props:Ob(),setup(e,t){let{slots:n}=t;const r=20,s=2*Math.PI*r,i=ce(),{themeClasses:o}=Ct(e),{sizeClasses:a,sizeStyles:l}=xi(e),{textColorClasses:u,textColorStyles:c}=vr(()=>e.color),{textColorClasses:f,textColorStyles:d}=vr(()=>e.bgColor),{intersectionRef:m,isIntersecting:h}=Cd(),{resizeRef:v,contentRect:E}=Sa(),p=G(()=>nn(parseFloat(e.modelValue),0,100)),S=G(()=>Number(e.width)),b=G(()=>l.value?Number(e.size):E.value?E.value.width:Math.max(S.value,32)),_=G(()=>r/(1-S.value/b.value)*2),I=G(()=>S.value/b.value*_.value),T=G(()=>{const A=(100-p.value)/100*s;return e.rounded&&p.value>0&&p.value<100?ie(Math.min(s-.01,A+I.value)):ie(A)}),R=M(()=>{const A=Number(e.rotate);return e.rounded?A+I.value/2/s*360:A});return _t(()=>{m.value=i.value,v.value=i.value}),Oe(()=>O(e.tag,{ref:i,class:he(["v-progress-circular",{"v-progress-circular--indeterminate":!!e.indeterminate,"v-progress-circular--visible":h.value,"v-progress-circular--disable-shrink":e.indeterminate&&(e.indeterminate==="disable-shrink"||es())},o.value,a.value,u.value,e.class]),style:xe([l.value,c.value,e.style]),role:"progressbar","aria-valuemin":"0","aria-valuemax":"100","aria-valuenow":e.indeterminate?void 0:p.value},{default:()=>[q("svg",{style:{transform:`rotate(calc(-90deg + ${R.value}deg))`},xmlns:"http://www.w3.org/2000/svg",viewBox:`0 0 ${_.value} ${_.value}`},[q("circle",{class:he(["v-progress-circular__underlay",f.value]),style:xe(d.value),fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":I.value,"stroke-dasharray":s,"stroke-dashoffset":0},null),q("circle",{class:"v-progress-circular__overlay",fill:"transparent",cx:"50%",cy:"50%",r,"stroke-width":I.value,"stroke-dasharray":s,"stroke-dashoffset":T.value,"stroke-linecap":e.rounded?"round":void 0},null)]),n.default&&q("div",{class:"v-progress-circular__content"},[n.default({value:p.value})])]})),{}}}),xr=J({height:[Number,String],maxHeight:[Number,String],maxWidth:[Number,String],minHeight:[Number,String],minWidth:[Number,String],width:[Number,String]},"dimension");function Ar(e){return{dimensionStyles:M(()=>{const n={},r=ie(e.height),s=ie(e.maxHeight),i=ie(e.maxWidth),o=ie(e.minHeight),a=ie(e.minWidth),l=ie(e.width);return r!=null&&(n.height=r),s!=null&&(n.maxHeight=s),i!=null&&(n.maxWidth=i),o!=null&&(n.minHeight=o),a!=null&&(n.minWidth=a),l!=null&&(n.width=l),n})}}const Pu={center:"center",top:"bottom",bottom:"top",left:"right",right:"left"},Ai=J({location:String},"location");function Aa(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1,n=arguments.length>2?arguments[2]:void 0;const{isRtl:r}=ms();return{locationStyles:M(()=>{if(!e.location)return{};const{side:i,align:o}=So(e.location.split(" ").length>1?e.location:`${e.location} center`,r.value);function a(u){return n?n(u):0}const l={};return i!=="center"&&(t?l[Pu[i]]=`calc(100% - ${a(i)}px)`:l[i]=0),o!=="center"?t?l[Pu[o]]=`calc(100% - ${a(o)}px)`:l[o]=0:(i==="center"?l.top=l.left="50%":l[{top:"left",bottom:"left",left:"top",right:"top"}[i]]="50%",l.transform={top:"translateX(-50%)",bottom:"translateX(-50%)",left:"translateY(-50%)",right:"translateY(-50%)",center:"translate(-50%, -50%)"}[i]),l})}}const Db=J({chunkCount:{type:[Number,String],default:null},chunkWidth:{type:[Number,String],default:null},chunkGap:{type:[Number,String],default:4}},"chunks");function Lb(e,t){const n=G(()=>!!e.chunkCount||!!e.chunkWidth),r=M(()=>{const a=Ke(t);if(!a)return 0;if(!e.chunkCount)return Number(e.chunkWidth);const l=Number(e.chunkCount);return(a-Number(e.chunkGap)*(l-1))/l}),s=G(()=>Number(e.chunkGap)),i=M(()=>{if(!n.value)return{};const a=ie(s.value),l=ie(r.value);return{maskRepeat:"repeat-x",maskImage:`linear-gradient(90deg, #000, #000 ${l}, transparent ${l}, transparent)`,maskSize:`calc(${l} + ${a}) 100%`}});function o(a){const l=Ke(t);if(!l)return a;const u=100*s.value/l,c=100*(r.value+s.value)/l,f=Math.floor((a+u)/c);return nn(0,f*c-u/2,100)}return{hasChunks:n,chunksMaskStyles:i,snapValueToChunk:o}}const Mb=J({absolute:Boolean,active:{type:Boolean,default:!0},bgColor:String,bgOpacity:[Number,String],bufferValue:{type:[Number,String],default:0},bufferColor:String,bufferOpacity:[Number,String],clickable:Boolean,color:String,height:{type:[Number,String],default:4},indeterminate:Boolean,max:{type:[Number,String],default:100},modelValue:{type:[Number,String],default:0},opacity:[Number,String],reverse:Boolean,stream:Boolean,striped:Boolean,roundedBar:Boolean,...Db(),...Me(),...Ai({location:"top"}),...on(),...nt(),...vt()},"VProgressLinear"),Ed=ve()({name:"VProgressLinear",props:Mb(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const r=ce(),s=Jt(e,"modelValue"),{isRtl:i,rtlClasses:o}=ms(),{themeClasses:a}=Ct(e),{locationStyles:l}=Aa(e),{textColorClasses:u,textColorStyles:c}=vr(()=>e.color),{backgroundColorClasses:f,backgroundColorStyles:d}=ar(()=>e.bgColor||e.color),{backgroundColorClasses:m,backgroundColorStyles:h}=ar(()=>e.bufferColor||e.bgColor||e.color),{backgroundColorClasses:v,backgroundColorStyles:E}=ar(()=>e.color),{roundedClasses:p}=an(e),{intersectionRef:S,isIntersecting:b}=Cd(),_=M(()=>parseFloat(e.max)),I=M(()=>parseFloat(e.height)),T=M(()=>nn(parseFloat(e.bufferValue)/_.value*100,0,100)),R=M(()=>nn(parseFloat(s.value)/_.value*100,0,100)),A=M(()=>i.value!==e.reverse),x=M(()=>e.indeterminate?"fade-transition":"slide-x-transition"),B=le(0),{hasChunks:F,chunksMaskStyles:k,snapValueToChunk:N}=Lb(e,B);wr(F,()=>{const{resizeRef:X}=Sa(ne=>B.value=ne[0].contentRect.width);_t(()=>X.value=r.value)});const j=M(()=>F.value?N(T.value):T.value),Y=M(()=>F.value?N(R.value):R.value);function Q(X){if(!S.value)return;const{left:ne,right:Re,width:me}=S.value.getBoundingClientRect(),ke=A.value?me-X.clientX+(Re-me):X.clientX-ne;s.value=Math.round(ke/me*_.value)}return _t(()=>{S.value=r.value}),Oe(()=>O(e.tag,{ref:r,class:he(["v-progress-linear",{"v-progress-linear--absolute":e.absolute,"v-progress-linear--active":e.active&&b.value,"v-progress-linear--reverse":A.value,"v-progress-linear--rounded":e.rounded,"v-progress-linear--rounded-bar":e.roundedBar,"v-progress-linear--striped":e.striped,"v-progress-linear--clickable":e.clickable},p.value,a.value,o.value,e.class]),style:xe([{bottom:e.location==="bottom"?0:void 0,top:e.location==="top"?0:void 0,height:e.active?ie(I.value):0,"--v-progress-linear-height":ie(I.value),...e.absolute?l.value:{}},k.value,e.style]),role:"progressbar","aria-hidden":e.active?"false":"true","aria-valuemin":"0","aria-valuemax":e.max,"aria-valuenow":e.indeterminate?void 0:Math.min(parseFloat(s.value),_.value),onClick:e.clickable&&Q},{default:()=>[e.stream&&q("div",{key:"stream",class:he(["v-progress-linear__stream",u.value]),style:{...c.value,[A.value?"left":"right"]:ie(-I.value),borderTop:`${ie(I.value/2)} dotted`,opacity:parseFloat(e.bufferOpacity),top:`calc(50% - ${ie(I.value/4)})`,width:ie(100-T.value,"%"),"--v-progress-linear-stream-to":ie(I.value*(A.value?1:-1))}},null),q("div",{class:he(["v-progress-linear__background",f.value]),style:xe([d.value,{opacity:parseFloat(e.bgOpacity),width:e.stream?0:void 0}])},null),q("div",{class:he(["v-progress-linear__buffer",m.value]),style:xe([h.value,{opacity:parseFloat(e.bufferOpacity),width:ie(j.value,"%")}])},null),O(bn,{name:x.value},{default:()=>[e.indeterminate?q("div",{class:"v-progress-linear__indeterminate"},[["long","short"].map(X=>q("div",{key:X,class:he(["v-progress-linear__indeterminate",X,v.value]),style:xe(E.value)},null))]):q("div",{class:he(["v-progress-linear__determinate",v.value]),style:xe([E.value,{width:ie(Y.value,"%")}])},null)]}),n.default&&q("div",{class:"v-progress-linear__content"},[n.default({value:R.value,buffer:T.value})])]})),{}}}),xd=J({loading:[Boolean,String]},"loader");function Ad(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cn();return{loaderClasses:G(()=>({[`${t}--loading`]:e.loading}))}}function Nb(e,t){var r;let{slots:n}=t;return q("div",{class:he(`${e.name}__loader`)},[((r=n.default)==null?void 0:r.call(n,{color:e.color,isActive:e.active}))||O(Ed,{absolute:e.absolute,active:e.active,color:e.color,height:"2",indeterminate:!0},null)])}const Vb=["static","relative","fixed","absolute","sticky"],ka=J({position:{type:String,validator:e=>Vb.includes(e)}},"position");function Ta(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Cn();return{positionClasses:G(()=>e.position?`${t}--${e.position}`:void 0)}}function Fb(){const e=$e("useRoute");return M(()=>{var t;return(t=e==null?void 0:e.proxy)==null?void 0:t.$route})}function Bb(){var e,t;return(t=(e=$e("useRouter"))==null?void 0:e.proxy)==null?void 0:t.$router}function Pa(e,t){var f,d;const n=Gc("RouterLink"),r=G(()=>!!(e.href||e.to)),s=M(()=>(r==null?void 0:r.value)||Rl(t,"click")||Rl(e,"click"));if(typeof n=="string"||!("useLink"in n)){const m=G(()=>e.href);return{isLink:r,isRouterLink:G(()=>!1),isClickable:s,href:m,linkProps:Be({href:m})}}const i=n.useLink({to:G(()=>e.to||""),replace:G(()=>e.replace)}),o=M(()=>e.to?i:void 0),a=Fb(),l=M(()=>{var m,h,v;return o.value?e.exact?a.value?((v=o.value.isExactActive)==null?void 0:v.value)&&Vn(o.value.route.value.query,a.value.query):((h=o.value.isExactActive)==null?void 0:h.value)??!1:((m=o.value.isActive)==null?void 0:m.value)??!1:!1}),u=M(()=>{var m;return e.to?(m=o.value)==null?void 0:m.route.value.href:e.href});return{isLink:r,isRouterLink:G(()=>!!e.to),isClickable:s,isActive:l,route:(f=o.value)==null?void 0:f.route,navigate:(d=o.value)==null?void 0:d.navigate,href:u,linkProps:Be({href:u,"aria-current":G(()=>l.value?"page":void 0),"aria-disabled":G(()=>e.disabled&&r.value?"true":void 0),tabindex:G(()=>e.disabled&&r.value?"-1":void 0)})}}const Ia=J({href:String,replace:Boolean,to:[String,Object],exact:Boolean},"router");let Zi=!1;function $b(e,t){let n=!1,r,s;Ie&&(e!=null&&e.beforeEach)&&(We(()=>{window.addEventListener("popstate",i),r=e.beforeEach((o,a,l)=>{Zi?n?t(l):l():setTimeout(()=>n?t(l):l()),Zi=!0}),s=e==null?void 0:e.afterEach(()=>{Zi=!1})}),Xe(()=>{window.removeEventListener("popstate",i),r==null||r(),s==null||s()}));function i(o){var a;(a=o.state)!=null&&a.replaced||(n=!0,setTimeout(()=>n=!1))}}function Hb(e,t){ue(()=>{var n;return(n=e.isActive)==null?void 0:n.value},n=>{e.isLink.value&&n!=null&&t&&We(()=>{t(n)})},{immediate:!0})}const Oo=Symbol("rippleStop"),jb=80;function Iu(e,t){e.style.transform=t,e.style.webkitTransform=t}function Ro(e){return e.constructor.name==="TouchEvent"}function kd(e){return e.constructor.name==="KeyboardEvent"}const Wb=function(e,t){var f;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},r=0,s=0;if(!kd(e)){const d=t.getBoundingClientRect(),m=Ro(e)?e.touches[e.touches.length-1]:e;r=m.clientX-d.left,s=m.clientY-d.top}let i=0,o=.3;(f=t._ripple)!=null&&f.circle?(o=.15,i=t.clientWidth/2,i=n.center?i:i+Math.sqrt((r-i)**2+(s-i)**2)/4):i=Math.sqrt(t.clientWidth**2+t.clientHeight**2)/2;const a=`${(t.clientWidth-i*2)/2}px`,l=`${(t.clientHeight-i*2)/2}px`,u=n.center?a:`${r-i}px`,c=n.center?l:`${s-i}px`;return{radius:i,scale:o,x:u,y:c,centerX:a,centerY:l}},ei={show(e,t){var m;let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(!((m=t==null?void 0:t._ripple)!=null&&m.enabled))return;const r=document.createElement("span"),s=document.createElement("span");r.appendChild(s),r.className="v-ripple__container",n.class&&(r.className+=` ${n.class}`);const{radius:i,scale:o,x:a,y:l,centerX:u,centerY:c}=Wb(e,t,n),f=`${i*2}px`;s.className="v-ripple__animation",s.style.width=f,s.style.height=f,t.appendChild(r);const d=window.getComputedStyle(t);d&&d.position==="static"&&(t.style.position="relative",t.dataset.previousPosition="static"),s.classList.add("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--visible"),Iu(s,`translate(${a}, ${l}) scale3d(${o},${o},${o})`),s.dataset.activated=String(performance.now()),requestAnimationFrame(()=>{requestAnimationFrame(()=>{s.classList.remove("v-ripple__animation--enter"),s.classList.add("v-ripple__animation--in"),Iu(s,`translate(${u}, ${c}) scale3d(1,1,1)`)})})},hide(e){var i;if(!((i=e==null?void 0:e._ripple)!=null&&i.enabled))return;const t=e.getElementsByClassName("v-ripple__animation");if(t.length===0)return;const n=Array.from(t).findLast(o=>!o.dataset.isHiding);if(n)n.dataset.isHiding="true";else return;const r=performance.now()-Number(n.dataset.activated),s=Math.max(250-r,0);setTimeout(()=>{n.classList.remove("v-ripple__animation--in"),n.classList.add("v-ripple__animation--out"),setTimeout(()=>{var a;e.getElementsByClassName("v-ripple__animation").length===1&&e.dataset.previousPosition&&(e.style.position=e.dataset.previousPosition,delete e.dataset.previousPosition),((a=n.parentNode)==null?void 0:a.parentNode)===e&&e.removeChild(n.parentNode)},300)},s)}};function Td(e){return typeof e>"u"||!!e}function as(e){const t={},n=e.currentTarget;if(!(!(n!=null&&n._ripple)||n._ripple.touched||e[Oo])){if(e[Oo]=!0,Ro(e))n._ripple.touched=!0,n._ripple.isTouch=!0;else if(n._ripple.isTouch)return;if(t.center=n._ripple.centered||kd(e),n._ripple.class&&(t.class=n._ripple.class),Ro(e)){if(n._ripple.showTimerCommit)return;n._ripple.showTimerCommit=()=>{ei.show(e,n,t)},n._ripple.showTimer=window.setTimeout(()=>{var r;(r=n==null?void 0:n._ripple)!=null&&r.showTimerCommit&&(n._ripple.showTimerCommit(),n._ripple.showTimerCommit=null)},jb)}else ei.show(e,n,t)}}function ti(e){e[Oo]=!0}function mt(e){const t=e.currentTarget;if(t!=null&&t._ripple){if(window.clearTimeout(t._ripple.showTimer),e.type==="touchend"&&t._ripple.showTimerCommit){t._ripple.showTimerCommit(),t._ripple.showTimerCommit=null,t._ripple.showTimer=window.setTimeout(()=>{mt(e)});return}window.setTimeout(()=>{t._ripple&&(t._ripple.touched=!1)}),ei.hide(t)}}function Pd(e){const t=e.currentTarget;t!=null&&t._ripple&&(t._ripple.showTimerCommit&&(t._ripple.showTimerCommit=null),window.clearTimeout(t._ripple.showTimer))}let ls=!1;function Gb(e,t){!ls&&t.includes(e.key)&&(ls=!0,as(e))}function Id(e){ls=!1,mt(e)}function Od(e){ls&&(ls=!1,mt(e))}function Rd(e,t,n){const{value:r,modifiers:s}=t,i=Td(r);i||ei.hide(e),e._ripple=e._ripple??{},e._ripple.enabled=i,e._ripple.centered=s.center,e._ripple.circle=s.circle;const o=yo(r)?r:{};o.class&&(e._ripple.class=o.class);const a=o.keys??["Enter","Space"];if(e._ripple.keyDownHandler=l=>Gb(l,a),i&&!n){if(s.stop){e.addEventListener("touchstart",ti,{passive:!0}),e.addEventListener("mousedown",ti);return}e.addEventListener("touchstart",as,{passive:!0}),e.addEventListener("touchend",mt,{passive:!0}),e.addEventListener("touchmove",Pd,{passive:!0}),e.addEventListener("touchcancel",mt),e.addEventListener("mousedown",as),e.addEventListener("mouseup",mt),e.addEventListener("mouseleave",mt),e.addEventListener("keydown",e._ripple.keyDownHandler),e.addEventListener("keyup",Id),e.addEventListener("blur",Od),e.addEventListener("dragstart",mt,{passive:!0})}else!i&&n&&Dd(e)}function Dd(e){var t;e.removeEventListener("touchstart",ti),e.removeEventListener("mousedown",ti),e.removeEventListener("touchstart",as),e.removeEventListener("touchend",mt),e.removeEventListener("touchmove",Pd),e.removeEventListener("touchcancel",mt),e.removeEventListener("mousedown",as),e.removeEventListener("mouseup",mt),e.removeEventListener("mouseleave",mt),(t=e._ripple)!=null&&t.keyDownHandler&&e.removeEventListener("keydown",e._ripple.keyDownHandler),e.removeEventListener("keyup",Id),e.removeEventListener("blur",Od),e.removeEventListener("dragstart",mt)}function Ub(e,t){Rd(e,t,!1)}function zb(e){Dd(e),delete e._ripple}function Kb(e,t){if(t.value===t.oldValue)return;const n=Td(t.oldValue);Rd(e,t,n)}const us={mounted:Ub,unmounted:zb,updated:Kb},qb=J({active:{type:Boolean,default:void 0},activeColor:String,baseColor:String,symbol:{type:null,default:_d},flat:Boolean,icon:[Boolean,String,Function,Object],prependIcon:Ye,appendIcon:Ye,block:Boolean,readonly:Boolean,slim:Boolean,stacked:Boolean,spaced:String,ripple:{type:[Boolean,Object],default:!0},text:{type:[String,Number,Boolean],default:void 0},..._r(),...Me(),...Gn(),...xr(),...gs(),..._b(),...xd(),...Ai(),...ka(),...on(),...Ia(),...Ei(),...nt({tag:"button"}),...vt(),...Un({variant:"elevated"})},"VBtn"),Ld=ve()({name:"VBtn",props:qb(),emits:{"group:selected":e=>!0},setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=Ct(e),{borderClasses:i}=Cr(e),{densityClasses:o}=Er(e),{dimensionStyles:a}=Ar(e),{elevationClasses:l}=vs(e),{loaderClasses:u}=Ad(e),{locationStyles:c}=Aa(e),{positionClasses:f}=Ta(e),{roundedClasses:d}=an(e),{sizeClasses:m,sizeStyles:h}=xi(e),v=Cb(e,e.symbol,!1),E=Pa(e,n),p=M(()=>{var F;return e.active!==void 0?e.active:E.isRouterLink.value?(F=E.isActive)==null?void 0:F.value:v==null?void 0:v.isSelected.value}),S=G(()=>p.value?e.activeColor??e.color:e.color),b=M(()=>{var k,N;return{color:(v==null?void 0:v.isSelected.value)&&(!E.isLink.value||((k=E.isActive)==null?void 0:k.value))||!v||((N=E.isActive)==null?void 0:N.value)?S.value??e.baseColor:e.baseColor,variant:e.variant}}),{colorClasses:_,colorStyles:I,variantClasses:T}=ys(b),R=M(()=>(v==null?void 0:v.disabled.value)||e.disabled),A=G(()=>e.variant==="elevated"&&!(e.disabled||e.flat||e.border)),x=M(()=>{if(!(e.value===void 0||typeof e.value=="symbol"))return Object(e.value)===e.value?JSON.stringify(e.value,null,0):e.value});function B(F){var k;R.value||E.isLink.value&&(F.metaKey||F.ctrlKey||F.shiftKey||F.button!==0||n.target==="_blank")||(E.isRouterLink.value?(k=E.navigate)==null||k.call(E,F):v==null||v.toggle())}return Hb(E,v==null?void 0:v.select),Oe(()=>{const F=E.isLink.value?"a":e.tag,k=!!(e.prependIcon||r.prepend),N=!!(e.appendIcon||r.append),j=!!(e.icon&&e.icon!==!0);return $n(O(F,Pe(E.linkProps,{type:F==="a"?void 0:"button",class:["v-btn",v==null?void 0:v.selectedClass.value,{"v-btn--active":p.value,"v-btn--block":e.block,"v-btn--disabled":R.value,"v-btn--elevated":A.value,"v-btn--flat":e.flat,"v-btn--icon":!!e.icon,"v-btn--loading":e.loading,"v-btn--readonly":e.readonly,"v-btn--slim":e.slim,"v-btn--stacked":e.stacked},e.spaced?["v-btn--spaced",`v-btn--spaced-${e.spaced}`]:[],s.value,i.value,_.value,o.value,l.value,u.value,f.value,d.value,m.value,T.value,e.class],style:[I.value,a.value,c.value,h.value,e.style],"aria-busy":e.loading?!0:void 0,disabled:R.value&&F!=="a"||void 0,tabindex:e.loading||e.readonly?-1:void 0,onClick:B,value:x.value}),{default:()=>{var Y;return[ps(!0,"v-btn"),!e.icon&&k&&q("span",{key:"prepend",class:"v-btn__prepend"},[r.prepend?O(wt,{key:"prepend-defaults",disabled:!e.prependIcon,defaults:{VIcon:{icon:e.prependIcon}}},r.prepend):O(Wt,{key:"prepend-icon",icon:e.prependIcon},null)]),q("span",{class:"v-btn__content","data-no-activator":""},[!r.default&&j?O(Wt,{key:"content-icon",icon:e.icon},null):O(wt,{key:"content-defaults",disabled:!j,defaults:{VIcon:{icon:e.icon}}},{default:()=>{var Q;return[((Q=r.default)==null?void 0:Q.call(r))??Et(e.text)]}})]),!e.icon&&N&&q("span",{key:"append",class:"v-btn__append"},[r.append?O(wt,{key:"append-defaults",disabled:!e.appendIcon,defaults:{VIcon:{icon:e.appendIcon}}},r.append):O(Wt,{key:"append-icon",icon:e.appendIcon},null)]),!!e.loading&&q("span",{key:"loader",class:"v-btn__loader"},[((Y=r.loader)==null?void 0:Y.call(r))??O(Rb,{color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0,width:"2"},null)])]}}),[[us,!R.value&&e.ripple,"",{center:!!e.icon}]])}),{group:v}}});function Ji(e,t){return{x:e.x+t.x,y:e.y+t.y}}function Yb(e,t){return{x:e.x-t.x,y:e.y-t.y}}function Ou(e,t){if(e.side==="top"||e.side==="bottom"){const{side:n,align:r}=e,s=r==="left"?0:r==="center"?t.width/2:r==="right"?t.width:r,i=n==="top"?0:n==="bottom"?t.height:n;return Ji({x:s,y:i},t)}else if(e.side==="left"||e.side==="right"){const{side:n,align:r}=e,s=n==="left"?0:n==="right"?t.width:n,i=r==="top"?0:r==="center"?t.height/2:r==="bottom"?t.height:r;return Ji({x:s,y:i},t)}return Ji({x:t.width/2,y:t.height/2},t)}const Md={static:Jb,connected:e0},Xb=J({locationStrategy:{type:[String,Function],default:"static",validator:e=>typeof e=="function"||e in Md},location:{type:String,default:"bottom"},origin:{type:String,default:"auto"},offset:[Number,String,Array],stickToTarget:Boolean,viewportMargin:{type:[Number,String],default:12}},"VOverlay-location-strategies");function Zb(e,t){const n=ce({}),r=ce();Ie&&wr(()=>!!(t.isActive.value&&e.locationStrategy),a=>{var l,u;ue(()=>e.locationStrategy,a),Xe(()=>{window.removeEventListener("resize",s),visualViewport==null||visualViewport.removeEventListener("resize",i),visualViewport==null||visualViewport.removeEventListener("scroll",o),r.value=void 0}),window.addEventListener("resize",s,{passive:!0}),visualViewport==null||visualViewport.addEventListener("resize",i,{passive:!0}),visualViewport==null||visualViewport.addEventListener("scroll",o,{passive:!0}),typeof e.locationStrategy=="function"?r.value=(l=e.locationStrategy(t,e,n))==null?void 0:l.updateLocation:r.value=(u=Md[e.locationStrategy](t,e,n))==null?void 0:u.updateLocation});function s(a){var l;(l=r.value)==null||l.call(r,a)}function i(a){var l;(l=r.value)==null||l.call(r,a)}function o(a){var l;(l=r.value)==null||l.call(r,a)}return{contentStyles:n,updateLocation:r}}function Jb(){}function Qb(e,t){const n=Lf(e);return t?n.x+=parseFloat(e.style.right||0):n.x-=parseFloat(e.style.left||0),n.y-=parseFloat(e.style.top||0),n}function e0(e,t,n){(Array.isArray(e.target.value)||Tv(e.target.value))&&Object.assign(n.value,{position:"fixed",top:0,[e.isRtl.value?"right":"left"]:0});const{preferredAnchor:s,preferredOrigin:i}=da(()=>{const p=So(t.location,e.isRtl.value),S=t.origin==="overlap"?p:t.origin==="auto"?Hi(p):So(t.origin,e.isRtl.value);return p.side===S.side&&p.align===ji(S).align?{preferredAnchor:Ll(p),preferredOrigin:Ll(S)}:{preferredAnchor:p,preferredOrigin:S}}),[o,a,l,u]=["minWidth","minHeight","maxWidth","maxHeight"].map(p=>M(()=>{const S=parseFloat(t[p]);return isNaN(S)?1/0:S})),c=M(()=>{if(Array.isArray(t.offset))return t.offset;if(typeof t.offset=="string"){const p=t.offset.split(" ").map(parseFloat);return p.length<2&&p.push(0),p}return typeof t.offset=="number"?[t.offset,0]:[0,0]});let f=!1,d=-1;const m=new jg(4),h=new ResizeObserver(()=>{if(!f)return;if(requestAnimationFrame(S=>{S!==d&&m.clear(),requestAnimationFrame(b=>{d=b})}),m.isFull){const S=m.values();if(Vn(S.at(-1),S.at(-3))&&!Vn(S.at(-1),S.at(-2)))return}const p=E();p&&m.push(p.flipped)});let v=new St({x:0,y:0,width:0,height:0});ue(e.target,(p,S)=>{S&&!Array.isArray(S)&&h.unobserve(S),Array.isArray(p)?Vn(p,S)||E():p&&h.observe(p)},{immediate:!0}),ue(e.contentEl,(p,S)=>{S&&h.unobserve(S),p&&h.observe(p)},{immediate:!0}),Xe(()=>{h.disconnect()});function E(){if(f=!1,requestAnimationFrame(()=>f=!0),!e.target.value||!e.contentEl.value)return;(Array.isArray(e.target.value)||e.target.value.offsetParent||e.target.value.getClientRects().length)&&(v=Df(e.target.value));const p=Qb(e.contentEl.value,e.isRtl.value),S=Xs(e.contentEl.value),b=Number(t.viewportMargin);S.length||(S.push(document.documentElement),e.contentEl.value.style.top&&e.contentEl.value.style.left||(p.x-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-x")||0),p.y-=parseFloat(document.documentElement.style.getPropertyValue("--v-body-scroll-y")||0)));const _=S.reduce((N,j)=>{const Y=Yg(j);return N?new St({x:Math.max(N.left,Y.left),y:Math.max(N.top,Y.top),width:Math.min(N.right,Y.right)-Math.max(N.left,Y.left),height:Math.min(N.bottom,Y.bottom)-Math.max(N.top,Y.top)}):Y},void 0);t.stickToTarget?(_.x+=Math.min(b,v.x),_.y+=Math.min(b,v.y),_.width=Math.max(_.width-b*2,v.x+v.width-b),_.height=Math.max(_.height-b*2,v.y+v.height-b)):(_.x+=b,_.y+=b,_.width-=b*2,_.height-=b*2);let I={anchor:s.value,origin:i.value};function T(N){const j=new St(p),Y=Ou(N.anchor,v),Q=Ou(N.origin,j);let{x:X,y:ne}=Yb(Y,Q);switch(N.anchor.side){case"top":ne-=c.value[0];break;case"bottom":ne+=c.value[0];break;case"left":X-=c.value[0];break;case"right":X+=c.value[0];break}switch(N.anchor.align){case"top":ne-=c.value[1];break;case"bottom":ne+=c.value[1];break;case"left":X-=c.value[1];break;case"right":X+=c.value[1];break}return j.x+=X,j.y+=ne,j.width=Math.min(j.width,l.value),j.height=Math.min(j.height,u.value),{overflows:Nl(j,_),x:X,y:ne}}let R=0,A=0;const x={x:0,y:0},B={x:!1,y:!1};let F=-1;for(;!(F++>10);){const{x:N,y:j,overflows:Y}=T(I);R+=N,A+=j,p.x+=N,p.y+=j;{const Q=Ml(I.anchor),X=Y.x.before||Y.x.after,ne=Y.y.before||Y.y.after;let Re=!1;if(["x","y"].forEach(me=>{if(me==="x"&&X&&!B.x||me==="y"&&ne&&!B.y){const ke={anchor:{...I.anchor},origin:{...I.origin}},Se=me==="x"?Q==="y"?ji:Hi:Q==="y"?Hi:ji;ke.anchor=Se(ke.anchor),ke.origin=Se(ke.origin);const{overflows:Ne}=T(ke);(Ne[me].before<=Y[me].before&&Ne[me].after<=Y[me].after||Ne[me].before+Ne[me].after<(Y[me].before+Y[me].after)/2)&&(I=ke,Re=B[me]=!0)}}),Re)continue}Y.x.before&&(R+=Y.x.before,p.x+=Y.x.before),Y.x.after&&(R-=Y.x.after,p.x-=Y.x.after),Y.y.before&&(A+=Y.y.before,p.y+=Y.y.before),Y.y.after&&(A-=Y.y.after,p.y-=Y.y.after);{const Q=Nl(p,_);x.x=_.width-Q.x.before-Q.x.after,x.y=_.height-Q.y.before-Q.y.after,R+=Q.x.before,p.x+=Q.x.before,A+=Q.y.before,p.y+=Q.y.before}break}const k=Ml(I.anchor);return Object.assign(n.value,{"--v-overlay-anchor-origin":`${I.anchor.side} ${I.anchor.align}`,transformOrigin:`${I.origin.side} ${I.origin.align}`,top:ie(Qi(A)),left:e.isRtl.value?void 0:ie(Qi(R)),right:e.isRtl.value?ie(Qi(-R)):void 0,minWidth:ie(k==="y"?Math.min(o.value,v.width):o.value),maxWidth:ie(Ru(nn(x.x,o.value===1/0?0:o.value,l.value))),maxHeight:ie(Ru(nn(x.y,a.value===1/0?0:a.value,u.value)))}),{available:x,contentBox:p,flipped:B}}return ue(()=>[s.value,i.value,t.offset,t.minWidth,t.minHeight,t.maxWidth,t.maxHeight],()=>E()),We(()=>{const p=E();if(!p)return;const{available:S,contentBox:b}=p;b.height>S.y&&requestAnimationFrame(()=>{E(),requestAnimationFrame(()=>{E()})})}),{updateLocation:E}}function Qi(e){return Math.round(e*devicePixelRatio)/devicePixelRatio}function Ru(e){return Math.ceil(e*devicePixelRatio)/devicePixelRatio}let Do=!0;const ni=[];function t0(e){!Do||ni.length?(ni.push(e),Lo()):(Do=!1,e(),Lo())}let Du=-1;function Lo(){cancelAnimationFrame(Du),Du=requestAnimationFrame(()=>{const e=ni.shift();e&&e(),ni.length?Lo():Do=!0})}const Ns={none:null,close:s0,block:i0,reposition:o0},n0=J({scrollStrategy:{type:[String,Function],default:"block",validator:e=>typeof e=="function"||e in Ns}},"VOverlay-scroll-strategies");function r0(e,t){if(!Ie)return;let n;_t(async()=>{n==null||n.stop(),t.isActive.value&&e.scrollStrategy&&(n=Bn(),await new Promise(r=>setTimeout(r)),n.active&&n.run(()=>{var r;typeof e.scrollStrategy=="function"?e.scrollStrategy(t,e,n):(r=Ns[e.scrollStrategy])==null||r.call(Ns,t,e,n)}))}),Xe(()=>{n==null||n.stop()})}function s0(e){function t(n){e.isActive.value=!1}Nd(Oa(e.target.value,e.contentEl.value),t)}function i0(e,t){var a;const n=(a=e.root.value)==null?void 0:a.offsetParent,r=Oa(e.target.value,e.contentEl.value),s=[...new Set([...Xs(r,t.contained?n:void 0),...Xs(e.contentEl.value,t.contained?n:void 0)])].filter(l=>!l.classList.contains("v-overlay-scroll-blocked")),i=window.innerWidth-document.documentElement.offsetWidth,o=(l=>va(l)&&l)(n||document.documentElement);o&&e.root.value.classList.add("v-overlay--scroll-blocked"),s.forEach((l,u)=>{l.style.setProperty("--v-body-scroll-x",ie(-l.scrollLeft)),l.style.setProperty("--v-body-scroll-y",ie(-l.scrollTop)),l!==document.documentElement&&l.style.setProperty("--v-scrollbar-offset",ie(i)),l.classList.add("v-overlay-scroll-blocked")}),Xe(()=>{s.forEach((l,u)=>{const c=parseFloat(l.style.getPropertyValue("--v-body-scroll-x")),f=parseFloat(l.style.getPropertyValue("--v-body-scroll-y")),d=l.style.scrollBehavior;l.style.scrollBehavior="auto",l.style.removeProperty("--v-body-scroll-x"),l.style.removeProperty("--v-body-scroll-y"),l.style.removeProperty("--v-scrollbar-offset"),l.classList.remove("v-overlay-scroll-blocked"),l.scrollLeft=-c,l.scrollTop=-f,l.style.scrollBehavior=d}),o&&e.root.value.classList.remove("v-overlay--scroll-blocked")})}function o0(e,t,n){let r=!1,s=-1,i=-1;function o(a){t0(()=>{var c,f;const l=performance.now();(f=(c=e.updateLocation).value)==null||f.call(c,a),r=(performance.now()-l)/(1e3/60)>2})}i=(typeof requestIdleCallback>"u"?a=>a():requestIdleCallback)(()=>{n.run(()=>{Nd(Oa(e.target.value,e.contentEl.value),a=>{r?(cancelAnimationFrame(s),s=requestAnimationFrame(()=>{s=requestAnimationFrame(()=>{o(a)})})):o(a)})})}),Xe(()=>{typeof cancelIdleCallback<"u"&&cancelIdleCallback(i),cancelAnimationFrame(s)})}function Oa(e,t){return Array.isArray(e)?document.elementsFromPoint(...e).find(n=>!(t!=null&&t.contains(n))):e??t}function Nd(e,t){const n=[document,...Xs(e)];n.forEach(r=>{r.addEventListener("scroll",t,{passive:!0})}),Xe(()=>{n.forEach(r=>{r.removeEventListener("scroll",t)})})}const a0=Symbol.for("vuetify:v-menu"),l0=J({closeDelay:[Number,String],openDelay:[Number,String]},"delay");function u0(e,t){let n=()=>{};function r(o,a){n==null||n();const l=o?e.openDelay:e.closeDelay,u=Math.max((a==null?void 0:a.minDelay)??0,Number(l??0));return new Promise(c=>{n=zg(u,()=>{t==null||t(o),c(o)})})}function s(){return r(!0)}function i(o){return r(!1,o)}return{clearDelay:n,runOpenDelay:s,runCloseDelay:i}}const c0=J({target:[String,Object],activator:[String,Object],activatorProps:{type:Object,default:()=>({})},openOnClick:{type:Boolean,default:void 0},openOnHover:Boolean,openOnFocus:{type:Boolean,default:void 0},closeOnContentClick:Boolean,...l0()},"VOverlay-activator");function f0(e,t){let{isActive:n,isTop:r,contentEl:s}=t;const i=$e("useActivator"),o=ce();let a=!1,l=!1,u=!0;const c=M(()=>e.openOnFocus||e.openOnFocus==null&&e.openOnHover),f=M(()=>e.openOnClick||e.openOnClick==null&&!e.openOnHover&&!c.value),{runOpenDelay:d,runCloseDelay:m}=u0(e,A=>{A===(e.openOnHover&&a||c.value&&l)&&!(e.openOnHover&&n.value&&!r.value)&&(n.value!==A&&(u=!0),n.value=A)}),h=ce(),v={onClick:A=>{A.stopPropagation(),o.value=A.currentTarget||A.target,n.value||(h.value=[A.clientX,A.clientY]),n.value=!n.value},onMouseenter:A=>{a=!0,o.value=A.currentTarget||A.target,d()},onMouseleave:A=>{a=!1,m()},onFocus:A=>{Gg(A.target,":focus-visible")!==!1&&(l=!0,A.stopPropagation(),o.value=A.currentTarget||A.target,d())},onBlur:A=>{l=!1,A.stopPropagation(),m({minDelay:1})}},E=M(()=>{const A={};return f.value&&(A.onClick=v.onClick),e.openOnHover&&(A.onMouseenter=v.onMouseenter,A.onMouseleave=v.onMouseleave),c.value&&(A.onFocus=v.onFocus,A.onBlur=v.onBlur),A}),p=M(()=>{const A={};if(e.openOnHover&&(A.onMouseenter=()=>{a=!0,d()},A.onMouseleave=()=>{a=!1,m()}),c.value&&(A.onFocusin=x=>{x.target.matches(":focus-visible")&&(l=!0,d())},A.onFocusout=()=>{l=!1,m({minDelay:1})}),e.closeOnContentClick){const x=ge(a0,null);A.onClick=()=>{n.value=!1,x==null||x.closeParents()}}return A}),S=M(()=>{const A={};return e.openOnHover&&(A.onMouseenter=()=>{u&&(a=!0,u=!1,d())},A.onMouseleave=()=>{a=!1,m()}),A});ue(r,A=>{var x;A&&(e.openOnHover&&!a&&(!c.value||!l)||c.value&&!l&&(!e.openOnHover||!a))&&!((x=s.value)!=null&&x.contains(document.activeElement))&&(n.value=!1)}),ue(n,A=>{A||setTimeout(()=>{h.value=void 0})},{flush:"post"});const b=bo();_t(()=>{b.value&&We(()=>{o.value=b.el})});const _=bo(),I=M(()=>e.target==="cursor"&&h.value?h.value:_.value?_.el:Vd(e.target,i)||o.value),T=M(()=>Array.isArray(I.value)?void 0:I.value);let R;return ue(()=>!!e.activator,A=>{A&&Ie?(R=Bn(),R.run(()=>{d0(e,i,{activatorEl:o,activatorEvents:E})})):R&&R.stop()},{flush:"post",immediate:!0}),Xe(()=>{R==null||R.stop()}),{activatorEl:o,activatorRef:b,target:I,targetEl:T,targetRef:_,activatorEvents:E,contentEvents:p,scrimEvents:S}}function d0(e,t,n){let{activatorEl:r,activatorEvents:s}=n;ue(()=>e.activator,(l,u)=>{if(u&&l!==u){const c=a(u);c&&o(c)}l&&We(()=>i())},{immediate:!0}),ue(()=>e.activatorProps,()=>{i()}),Xe(()=>{o()});function i(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;l&&Xg(l,Pe(s.value,u))}function o(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:a(),u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:e.activatorProps;l&&Zg(l,Pe(s.value,u))}function a(){let l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:e.activator;const u=Vd(l,t);return r.value=(u==null?void 0:u.nodeType)===Node.ELEMENT_NODE?u:void 0,r.value}}function Vd(e,t){var r,s;if(!e)return;let n;if(e==="parent"){let i=(s=(r=t==null?void 0:t.proxy)==null?void 0:r.$el)==null?void 0:s.parentNode;for(;i!=null&&i.hasAttribute("data-no-activator");)i=i.parentNode;n=i}else typeof e=="string"?n=document.querySelector(e):"$el"in e?n=e.$el:n=e;return n}const m0=J({retainFocus:Boolean,captureFocus:Boolean,disableInitialFocus:Boolean},"focusTrap"),Vs=new Map;let Lu=0;function Mu(e){const t=document.activeElement;if(e.key!=="Tab"||!t)return;const n=Array.from(Vs.values()).filter(u=>{var d;let{isActive:c,contentEl:f}=u;return c.value&&((d=f.value)==null?void 0:d.contains(t))}).map(u=>u.contentEl.value);let r,s=t.parentElement;for(;s;){if(n.includes(s)){r=s;break}s=s.parentElement}if(!r)return;const i=Gr(r).filter(u=>u.tabIndex>=0);if(!i.length)return;const o=document.activeElement;if(i.length===1&&i[0].classList.contains("v-list")&&i[0].contains(o)){e.preventDefault();return}const a=i[0],l=i[i.length-1];e.shiftKey&&(o===a||a.classList.contains("v-list")&&a.contains(o))&&(e.preventDefault(),l.focus()),!e.shiftKey&&(o===l||l.classList.contains("v-list")&&l.contains(o))&&(e.preventDefault(),a.focus())}function h0(e,t){let{isActive:n,localTop:r,activatorEl:s,contentEl:i}=t;const o=Symbol("trap");let a=!1,l=-1;async function u(){a=!0,l=window.setTimeout(()=>{a=!1},100)}async function c(m){var E;const h=m.relatedTarget,v=m.target;document.removeEventListener("pointerdown",u),document.removeEventListener("keydown",f),await We(),n.value&&!a&&h!==v&&i.value&&Ke(r)&&![document,i.value].includes(v)&&!i.value.contains(v)&&((E=Gr(i.value)[0])==null||E.focus())}function f(m){if(m.key==="Tab"&&(document.removeEventListener("keydown",f),n.value&&i.value&&m.target&&!i.value.contains(m.target))){const h=Gr(document.documentElement);if(m.shiftKey&&m.target===h.at(0)||!m.shiftKey&&m.target===h.at(-1)){const v=Gr(i.value);v.length>0&&(m.preventDefault(),v[0].focus())}}}const d=G(()=>n.value&&e.captureFocus&&!e.disableInitialFocus);Ie&&(ue(()=>e.retainFocus,m=>{m?Vs.set(o,{isActive:n,contentEl:i}):Vs.delete(o)},{immediate:!0}),ue(d,m=>{m?(document.addEventListener("pointerdown",u),document.addEventListener("focusin",c,{once:!0}),document.addEventListener("keydown",f)):(document.removeEventListener("pointerdown",u),document.removeEventListener("focusin",c),document.removeEventListener("keydown",f))},{immediate:!0}),Lu++<1&&document.addEventListener("keydown",Mu)),Xe(()=>{Vs.delete(o),clearTimeout(l),document.removeEventListener("pointerdown",u),document.removeEventListener("focusin",c),document.removeEventListener("keydown",f),--Lu<1&&document.removeEventListener("keydown",Mu)})}function g0(){if(!Ie)return le(!1);const{ssr:e}=Tp();if(e){const t=le(!1);return wn(()=>{t.value=!0}),t}else return le(!0)}const v0=J({eager:Boolean},"lazy");function p0(e,t){const n=le(!1),r=G(()=>n.value||e.eager||t.value);ue(t,()=>n.value=!0);function s(){e.eager||(n.value=!1)}return{isBooted:n,hasContent:r,onAfterLeave:s}}function Ra(){const t=$e("useScopeId").vnode.scopeId;return{scopeId:t?{[t]:""}:void 0}}const Nu=Symbol.for("vuetify:stack"),Dr=Be([]);function y0(e,t,n){const r=$e("useStack"),s=!n,i=ge(Nu,void 0),o=Be({activeChildren:new Set});tt(Nu,o);const a=le(Number(Ke(t)));wr(e,()=>{var f;const c=(f=Dr.at(-1))==null?void 0:f[1];a.value=c?c+10:Number(Ke(t)),s&&Dr.push([r.uid,a.value]),i==null||i.activeChildren.add(r.uid),Xe(()=>{if(s){const d=te(Dr).findIndex(m=>m[0]===r.uid);Dr.splice(d,1)}i==null||i.activeChildren.delete(r.uid)})});const l=le(!0);return s&&_t(()=>{var f;const c=((f=Dr.at(-1))==null?void 0:f[0])===r.uid;setTimeout(()=>l.value=c)}),{globalTop:ur(l),localTop:G(()=>!o.activeChildren.size),stackStyles:G(()=>({zIndex:a.value}))}}function b0(e){return{teleportTarget:M(()=>{const n=e();if(n===!0||!Ie)return;const r=n===!1?document.body:typeof n=="string"?document.querySelector(n):n;if(r==null)return;let s=[...r.children].find(i=>i.matches(".v-overlay-container"));return s||(s=document.createElement("div"),s.className="v-overlay-container",r.appendChild(s)),s})}}const Fd=J({transition:{type:null,default:"fade-transition",validator:e=>e!==!0}},"transition"),nr=(e,t)=>{let{slots:n}=t;const{transition:r,disabled:s,group:i,...o}=e,{component:a=i?aa:bn,...l}=yo(r)?r:{};let u;return yo(r)?u=Pe(l,Kg({disabled:s,group:i}),o):u=Pe({name:s||!r?"":r},o),_n(a,u,n)};function S0(){return!0}function Bd(e,t,n){if(!e||$d(e,n)===!1)return!1;const r=$f(t);if(typeof ShadowRoot<"u"&&r instanceof ShadowRoot&&r.host===e.target)return!1;const s=(typeof n.value=="object"&&n.value.include||(()=>[]))();return s.push(t),!s.some(i=>i==null?void 0:i.contains(e.target))}function $d(e,t){return(typeof t.value=="object"&&t.value.closeConditional||S0)(e)}function w0(e,t,n){const r=typeof n.value=="function"?n.value:n.value.handler;e.shadowTarget=e.target,t._clickOutside.lastMousedownWasOutside&&Bd(e,t,n)&&setTimeout(()=>{$d(e,n)&&r&&r(e)},0)}function Vu(e,t){const n=$f(e);t(document),typeof ShadowRoot<"u"&&n instanceof ShadowRoot&&t(n)}const Fu={mounted(e,t){const n=s=>w0(s,e,t),r=s=>{e._clickOutside.lastMousedownWasOutside=Bd(s,e,t)};Vu(e,s=>{s.addEventListener("click",n,!0),s.addEventListener("mousedown",r,!0)}),e._clickOutside||(e._clickOutside={lastMousedownWasOutside:!1}),e._clickOutside[t.instance.$.uid]={onClick:n,onMousedown:r}},beforeUnmount(e,t){e._clickOutside&&(Vu(e,n=>{var i;if(!n||!((i=e._clickOutside)!=null&&i[t.instance.$.uid]))return;const{onClick:r,onMousedown:s}=e._clickOutside[t.instance.$.uid];n.removeEventListener("click",r,!0),n.removeEventListener("mousedown",s,!0)}),delete e._clickOutside[t.instance.$.uid])}};function _0(e){const{modelValue:t,color:n,...r}=e;return O(bn,{name:"fade-transition",appear:!0},{default:()=>[e.modelValue&&q("div",Pe({class:["v-overlay__scrim",e.color.backgroundColorClasses.value],style:e.color.backgroundColorStyles.value},r),null)]})}const Da=J({absolute:Boolean,attach:[Boolean,String,Object],closeOnBack:{type:Boolean,default:!0},contained:Boolean,contentClass:null,contentProps:null,disabled:Boolean,opacity:[Number,String],noClickAnimation:Boolean,modelValue:Boolean,persistent:Boolean,scrim:{type:[Boolean,String],default:!0},zIndex:{type:[Number,String],default:2e3},...c0(),...Me(),...xr(),...v0(),...Xb(),...n0(),...m0(),...vt(),...Fd()},"VOverlay"),ri=ve()({name:"VOverlay",directives:{vClickOutside:Fu},inheritAttrs:!1,props:{_disableGlobalStack:Boolean,...Wn(Da(),["disableInitialFocus"])},emits:{"click:outside":e=>!0,"update:modelValue":e=>!0,keydown:e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{slots:n,attrs:r,emit:s}=t;const i=$e("VOverlay"),o=ce(),a=ce(),l=ce(),u=Jt(e,"modelValue"),c=M({get:()=>u.value,set:w=>{w&&e.disabled||(u.value=w)}}),{themeClasses:f}=Ct(e),{rtlClasses:d,isRtl:m}=ms(),{hasContent:h,onAfterLeave:v}=p0(e,c),E=ar(()=>typeof e.scrim=="string"?e.scrim:null),{globalTop:p,localTop:S,stackStyles:b}=y0(c,()=>e.zIndex,e._disableGlobalStack),{activatorEl:_,activatorRef:I,target:T,targetEl:R,targetRef:A,activatorEvents:x,contentEvents:B,scrimEvents:F}=f0(e,{isActive:c,isTop:S,contentEl:l}),{teleportTarget:k}=b0(()=>{var H,Z,fe;const w=e.attach||e.contained;if(w)return w;const $=((H=_==null?void 0:_.value)==null?void 0:H.getRootNode())||((fe=(Z=i.proxy)==null?void 0:Z.$el)==null?void 0:fe.getRootNode());return $ instanceof ShadowRoot?$:!1}),{dimensionStyles:N}=Ar(e),j=g0(),{scopeId:Y}=Ra();ue(()=>e.disabled,w=>{w&&(c.value=!1)});const{contentStyles:Q,updateLocation:X}=Zb(e,{isRtl:m,contentEl:l,target:T,isActive:c});r0(e,{root:o,contentEl:l,targetEl:R,target:T,isActive:c,updateLocation:X});function ne(w){s("click:outside",w),e.persistent?Ge():c.value=!1}function Re(w){return c.value&&S.value&&(!e.scrim||w.target===a.value||w instanceof MouseEvent&&w.shadowTarget===a.value)}h0(e,{isActive:c,localTop:S,contentEl:l,activatorEl:_}),Ie&&ue(c,w=>{w?window.addEventListener("keydown",me):window.removeEventListener("keydown",me)},{immediate:!0}),Pt(()=>{Ie&&window.removeEventListener("keydown",me)});function me(w){var $,H,Z;w.key==="Escape"&&p.value&&(($=l.value)!=null&&$.contains(document.activeElement)||s("keydown",w),e.persistent?Ge():(c.value=!1,(H=l.value)!=null&&H.contains(document.activeElement)&&((Z=_.value)==null||Z.focus())))}function ke(w){w.key==="Escape"&&!p.value||s("keydown",w)}const Se=Bb();wr(()=>e.closeOnBack,()=>{$b(Se,w=>{p.value&&c.value?(w(!1),e.persistent?Ge():c.value=!1):w()})});const Ne=ce();ue(()=>c.value&&(e.absolute||e.contained)&&k.value==null,w=>{if(w){const $=Av(o.value);$&&$!==document.scrollingElement&&(Ne.value=$.scrollTop)}});function Ge(){e.noClickAnimation||l.value&&On(l.value,[{transformOrigin:"center"},{transform:"scale(1.03)"},{transformOrigin:"center"}],{duration:150,easing:_o})}function rt(){s("afterEnter")}function He(){v(),s("afterLeave")}return Oe(()=>{var w;return q(Te,null,[(w=n.activator)==null?void 0:w.call(n,{isActive:c.value,targetRef:A,props:Pe({ref:I},x.value,e.activatorProps)}),j.value&&h.value&&O(oh,{disabled:!k.value,to:k.value},{default:()=>[q("div",Pe({class:["v-overlay",{"v-overlay--absolute":e.absolute||e.contained,"v-overlay--active":c.value,"v-overlay--contained":e.contained},f.value,d.value,e.class],style:[b.value,{"--v-overlay-opacity":e.opacity,top:ie(Ne.value)},e.style],ref:o,onKeydown:ke},Y,r),[O(_0,Pe({color:E,modelValue:c.value&&!!e.scrim,ref:a},F.value),null),O(nr,{appear:!0,persisted:!0,transition:e.transition,target:T.value,onAfterEnter:rt,onAfterLeave:He},{default:()=>{var $;return[$n(q("div",Pe({ref:l,class:["v-overlay__content",e.contentClass],style:[N.value,Q.value]},B.value,e.contentProps),[($=n.default)==null?void 0:$.call(n,{isActive:c})]),[[oa,c.value],[Fu,{handler:ne,closeConditional:Re,include:()=>[_.value]}]])]}})])]})])}),{activatorEl:_,scrimEl:a,target:T,animateClick:Ge,contentEl:l,rootEl:o,globalTop:p,localTop:S,updateLocation:X}}}),eo=Symbol("Forwarded refs");function to(e,t){let n=e;for(;n;){const r=Reflect.getOwnPropertyDescriptor(n,t);if(r)return r;n=Object.getPrototypeOf(n)}}function Hd(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;rt.value=e())}function i(o){const a=o?getComputedStyle(o):{transitionDuration:.2},l=parseFloat(a.transitionDuration)*1e3||200;if(r(),t.value<=0)return;const u=performance.now();n=window.setInterval(()=>{const c=performance.now()-u+l;t.value=Math.max(e()-c,0),t.value<=0&&r()},l)}return Xe(r),{clear:r,time:t,start:i,reset:s}}const E0=J({multiLine:Boolean,text:String,timer:[Boolean,String],timeout:{type:[Number,String],default:5e3},vertical:Boolean,...Ai({location:"bottom"}),...ka(),...on(),...Un(),...vt(),...Wn(Da({transition:"v-snackbar-transition"}),["persistent","noClickAnimation","retainFocus","captureFocus","disableInitialFocus","scrim","scrollStrategy","stickToTarget","viewportMargin"])},"VSnackbar"),x0=ve()({name:"VSnackbar",props:E0(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:n}=t;const r=Jt(e,"modelValue"),{positionClasses:s}=Ta(e),{scopeId:i}=Ra(),{themeClasses:o}=Ct(e),{colorClasses:a,colorStyles:l,variantClasses:u}=ys(e),{roundedClasses:c}=an(e),f=C0(()=>Number(e.timeout)),d=ce(),m=ce(),h=le(!1),v=le(0),E=ce(),p=ge(is,void 0);wr(()=>!!p,()=>{const F=Hp();_t(()=>{E.value=F.mainStyles.value})}),ue(r,b),ue(()=>e.timeout,b),wn(()=>{r.value&&b()});let S=-1;function b(){f.reset(),window.clearTimeout(S);const F=Number(e.timeout);if(!r.value||F===-1)return;const k=ua(m.value);f.start(k),S=window.setTimeout(()=>{r.value=!1},F)}function _(){f.reset(),window.clearTimeout(S)}function I(){h.value=!0,_()}function T(){h.value=!1,b()}function R(F){v.value=F.touches[0].clientY}function A(F){Math.abs(v.value-F.changedTouches[0].clientY)>50&&(r.value=!1)}function x(){h.value&&T()}const B=M(()=>e.location.split(" ").reduce((F,k)=>(F[`v-snackbar--${k}`]=!0,F),{}));return Oe(()=>{const F=ri.filterProps(e),k=!!(n.default||n.text||e.text);return O(ri,Pe({ref:d,class:["v-snackbar",{"v-snackbar--active":r.value,"v-snackbar--multi-line":e.multiLine&&!e.vertical,"v-snackbar--timer":!!e.timer,"v-snackbar--vertical":e.vertical},B.value,s.value,e.class],style:[E.value,e.style]},F,{modelValue:r.value,"onUpdate:modelValue":N=>r.value=N,contentProps:Pe({class:["v-snackbar__wrapper",o.value,a.value,c.value,u.value],style:[l.value],onPointerenter:I,onPointerleave:T},F.contentProps),persistent:!0,noClickAnimation:!0,scrim:!1,scrollStrategy:"none",_disableGlobalStack:!0,onTouchstartPassive:R,onTouchend:A,onAfterLeave:x},i),{default:()=>{var N,j;return[ps(!1,"v-snackbar"),e.timer&&!h.value&&q("div",{key:"timer",class:"v-snackbar__timer"},[O(Ed,{ref:m,color:typeof e.timer=="string"?e.timer:"info",max:e.timeout,modelValue:f.time.value},null)]),k&&q("div",{key:"content",class:"v-snackbar__content",role:"status","aria-live":"polite"},[((N=n.text)==null?void 0:N.call(n))??e.text,(j=n.default)==null?void 0:j.call(n)]),n.actions&&O(wt,{defaults:{VBtn:{variant:"text",ripple:!1,slim:!0}}},{default:()=>[q("div",{class:"v-snackbar__actions"},[n.actions({isActive:r})])]})]},activator:n.activator})}),Hd({},d)}}),A0=mi({name:"GlobalMessage",setup(){var i;const e=ce(!1),t=ce(null),n={success:"mdi-check-circle",error:"mdi-alert-circle",warning:"mdi-alert",info:"mdi-information"},r={success:"success",error:"error",warning:"warning",info:"info"},s=(i=er==null?void 0:er.onSnackbar)==null?void 0:i.call(er,async o=>{o&&(e.value&&(e.value=!1,await We()),t.value=o,e.value=!0)});return Pt(()=>s==null?void 0:s()),{snackbar:e,message:t,icons:n,colors:r}}}),k0={class:"d-flex align-center"},T0={class:"text-subtitle-2 font-weight-medium"},P0={key:0,class:"text-body-2"};function I0(e,t,n,r,s,i){var o;return bt(),$t(x0,{modelValue:e.snackbar,"onUpdate:modelValue":t[1]||(t[1]=a=>e.snackbar=a),color:e.colors[(o=e.message)==null?void 0:o.type]||e.colors.info,timeout:2e3,location:"top right","multi-line":"",variant:"tonal"},{actions:je(()=>[O(Ld,{icon:"mdi-close",variant:"text",onClick:t[0]||(t[0]=a=>e.snackbar=!1)})]),default:je(()=>{var a,l,u,c;return[q("div",k0,[O(Wt,{icon:e.icons[(a=e.message)==null?void 0:a.type]||e.icons.info,class:"mr-2"},null,8,["icon"]),q("div",null,[q("div",T0,Et((l=e.message)==null?void 0:l.title),1),(u=e.message)!=null&&u.content?(bt(),cf("div",P0,Et((c=e.message)==null?void 0:c.content),1)):mo("",!0)])])]}),_:1},8,["modelValue","color"])}const jd=bd(A0,[["render",I0]]),O0=J({...Me(),...nt()},"VCardActions"),Wd=ve()({name:"VCardActions",props:O0(),setup(e,t){let{slots:n}=t;return bi({VBtn:{slim:!0,variant:"text"}}),Oe(()=>O(e.tag,{class:he(["v-card-actions",e.class]),style:xe(e.style)},n)),{}}}),R0=J({opacity:[Number,String],...Me(),...nt()},"VCardSubtitle"),D0=ve()({name:"VCardSubtitle",props:R0(),setup(e,t){let{slots:n}=t;return Oe(()=>O(e.tag,{class:he(["v-card-subtitle",e.class]),style:xe([{"--v-card-subtitle-opacity":e.opacity},e.style])},n)),{}}}),Gd=ga("v-card-title");function L0(e){return{aspectStyles:M(()=>{const t=Number(e.aspectRatio);return t?{paddingBottom:String(1/t*100)+"%"}:void 0})}}const Ud=J({aspectRatio:[String,Number],contentClass:null,inline:Boolean,...Me(),...xr()},"VResponsive"),Bu=ve()({name:"VResponsive",props:Ud(),setup(e,t){let{slots:n}=t;const{aspectStyles:r}=L0(e),{dimensionStyles:s}=Ar(e);return Oe(()=>{var i;return q("div",{class:he(["v-responsive",{"v-responsive--inline":e.inline},e.class]),style:xe([s.value,e.style])},[q("div",{class:"v-responsive__sizer",style:xe(r.value)},null),(i=n.additional)==null?void 0:i.call(n),n.default&&q("div",{class:he(["v-responsive__content",e.contentClass])},[n.default()])])}),{}}});function M0(e,t){if(!la)return;const n=t.modifiers||{},r=t.value,{handler:s,options:i}=typeof r=="object"?r:{handler:r,options:{}},o=new IntersectionObserver(function(){var f;let a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],l=arguments.length>1?arguments[1]:void 0;const u=(f=e._observe)==null?void 0:f[t.instance.$.uid];if(!u)return;const c=a.some(d=>d.isIntersecting);s&&(!n.quiet||u.init)&&(!n.once||c||u.init)&&s(c,a,l),c&&n.once?zd(e,t):u.init=!0},i);e._observe=Object(e._observe),e._observe[t.instance.$.uid]={init:!1,observer:o},o.observe(e)}function zd(e,t){var r;const n=(r=e._observe)==null?void 0:r[t.instance.$.uid];n&&(n.observer.unobserve(e),delete e._observe[t.instance.$.uid])}const $u={mounted:M0,unmounted:zd},N0=J({absolute:Boolean,alt:String,cover:Boolean,color:String,draggable:{type:[Boolean,String],default:void 0},eager:Boolean,gradient:String,lazySrc:String,options:{type:Object,default:()=>({root:void 0,rootMargin:void 0,threshold:void 0})},sizes:String,src:{type:[String,Object],default:""},crossorigin:String,referrerpolicy:String,srcset:String,position:String,...Ud(),...Me(),...on(),...Fd()},"VImg"),Kd=ve()({name:"VImg",directives:{vIntersect:$u},props:N0(),emits:{loadstart:e=>!0,load:e=>!0,error:e=>!0},setup(e,t){let{emit:n,slots:r}=t;const{backgroundColorClasses:s,backgroundColorStyles:i}=ar(()=>e.color),{roundedClasses:o}=an(e),a=$e("VImg"),l=le(""),u=ce(),c=le(e.eager?"loading":"idle"),f=le(),d=le(),m=M(()=>e.src&&typeof e.src=="object"?{src:e.src.src,srcset:e.srcset||e.src.srcset,lazySrc:e.lazySrc||e.src.lazySrc,aspect:Number(e.aspectRatio||e.src.aspect||0)}:{src:e.src,srcset:e.srcset,lazySrc:e.lazySrc,aspect:Number(e.aspectRatio||0)}),h=M(()=>m.value.aspect||f.value/d.value||0);ue(()=>e.src,()=>{v(c.value!=="idle")}),ue(h,(k,N)=>{!k&&N&&u.value&&_(u.value)}),vi(()=>v());function v(k){if(!(e.eager&&k)&&!(la&&!k&&!e.eager)){if(c.value="loading",m.value.lazySrc){const N=new Image;N.src=m.value.lazySrc,_(N,null)}m.value.src&&We(()=>{var N;n("loadstart",((N=u.value)==null?void 0:N.currentSrc)||m.value.src),setTimeout(()=>{var j;if(!a.isUnmounted)if((j=u.value)!=null&&j.complete){if(u.value.naturalWidth||p(),c.value==="error")return;h.value||_(u.value,null),c.value==="loading"&&E()}else h.value||_(u.value),S()})})}}function E(){var k;a.isUnmounted||(S(),_(u.value),c.value="loaded",n("load",((k=u.value)==null?void 0:k.currentSrc)||m.value.src))}function p(){var k;a.isUnmounted||(c.value="error",n("error",((k=u.value)==null?void 0:k.currentSrc)||m.value.src))}function S(){const k=u.value;k&&(l.value=k.currentSrc||k.src)}let b=-1;Pt(()=>{clearTimeout(b)});function _(k){let N=arguments.length>1&&arguments[1]!==void 0?arguments[1]:100;const j=()=>{if(clearTimeout(b),a.isUnmounted)return;const{naturalHeight:Y,naturalWidth:Q}=k;Y||Q?(f.value=Q,d.value=Y):!k.complete&&c.value==="loading"&&N!=null?b=window.setTimeout(j,N):(k.currentSrc.endsWith(".svg")||k.currentSrc.startsWith("data:image/svg+xml"))&&(f.value=1,d.value=1)};j()}const I=G(()=>({"v-img__img--cover":e.cover,"v-img__img--contain":!e.cover})),T=()=>{var j;if(!m.value.src||c.value==="idle")return null;const k=q("img",{class:he(["v-img__img",I.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:m.value.src,srcset:m.value.srcset,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable,sizes:e.sizes,ref:u,onLoad:E,onError:p},null),N=(j=r.sources)==null?void 0:j.call(r);return O(nr,{transition:e.transition,appear:!0},{default:()=>[$n(N?q("picture",{class:"v-img__picture"},[N,k]):k,[[oa,c.value==="loaded"]])]})},R=()=>O(nr,{transition:e.transition},{default:()=>[m.value.lazySrc&&c.value!=="loaded"&&q("img",{class:he(["v-img__img","v-img__img--preload",I.value]),style:{objectPosition:e.position},crossorigin:e.crossorigin,src:m.value.lazySrc,alt:e.alt,referrerpolicy:e.referrerpolicy,draggable:e.draggable},null)]}),A=()=>r.placeholder?O(nr,{transition:e.transition,appear:!0},{default:()=>[(c.value==="loading"||c.value==="error"&&!r.error)&&q("div",{class:"v-img__placeholder"},[r.placeholder()])]}):null,x=()=>r.error?O(nr,{transition:e.transition,appear:!0},{default:()=>[c.value==="error"&&q("div",{class:"v-img__error"},[r.error()])]}):null,B=()=>e.gradient?q("div",{class:"v-img__gradient",style:{backgroundImage:`linear-gradient(${e.gradient})`}},null):null,F=le(!1);{const k=ue(h,N=>{N&&(requestAnimationFrame(()=>{requestAnimationFrame(()=>{F.value=!0})}),k())})}return Oe(()=>{const k=Bu.filterProps(e);return $n(O(Bu,Pe({class:["v-img",{"v-img--absolute":e.absolute,"v-img--booting":!F.value},s.value,o.value,e.class],style:[{width:ie(e.width==="auto"?f.value:e.width)},i.value,e.style]},k,{aspectRatio:h.value,"aria-label":e.alt,role:e.alt?"img":void 0}),{additional:()=>q(Te,null,[O(T,null,null),O(R,null,null),O(B,null,null),O(A,null,null),O(x,null,null)]),default:r.default}),[[$u,{handler:v,options:e.options},null,{once:!0}]])}),{currentSrc:l,image:u,state:c,naturalWidth:f,naturalHeight:d}}}),V0=J({start:Boolean,end:Boolean,icon:Ye,image:String,text:String,..._r(),...Me(),...Gn(),...on(),...Ei(),...nt(),...vt(),...Un({variant:"flat"})},"VAvatar"),si=ve()({name:"VAvatar",props:V0(),setup(e,t){let{slots:n}=t;const{themeClasses:r}=Ct(e),{borderClasses:s}=Cr(e),{colorClasses:i,colorStyles:o,variantClasses:a}=ys(e),{densityClasses:l}=Er(e),{roundedClasses:u}=an(e),{sizeClasses:c,sizeStyles:f}=xi(e);return Oe(()=>O(e.tag,{class:he(["v-avatar",{"v-avatar--start":e.start,"v-avatar--end":e.end},r.value,s.value,i.value,l.value,u.value,c.value,a.value,e.class]),style:xe([o.value,f.value,e.style])},{default:()=>[n.default?O(wt,{key:"content-defaults",defaults:{VImg:{cover:!0,src:e.image},VIcon:{icon:e.icon}}},{default:()=>[n.default()]}):e.image?O(Kd,{key:"image",src:e.image,alt:"",cover:!0},null):e.icon?O(Wt,{key:"icon",icon:e.icon},null):e.text,ps(!1,"v-avatar")]})),{}}}),F0=J({appendAvatar:String,appendIcon:Ye,prependAvatar:String,prependIcon:Ye,subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},...Me(),...Gn(),...nt()},"VCardItem"),B0=ve()({name:"VCardItem",props:F0(),setup(e,t){let{slots:n}=t;return Oe(()=>{const r=!!(e.prependAvatar||e.prependIcon),s=!!(r||n.prepend),i=!!(e.appendAvatar||e.appendIcon),o=!!(i||n.append),a=!!(e.title!=null||n.title),l=!!(e.subtitle!=null||n.subtitle);return O(e.tag,{class:he(["v-card-item",e.class]),style:xe(e.style)},{default:()=>{var u;return[s&&q("div",{key:"prepend",class:"v-card-item__prepend"},[n.prepend?O(wt,{key:"prepend-defaults",disabled:!r,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon}}},n.prepend):q(Te,null,[e.prependAvatar&&O(si,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&O(Wt,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)])]),q("div",{class:"v-card-item__content"},[a&&O(Gd,{key:"title"},{default:()=>{var c;return[((c=n.title)==null?void 0:c.call(n))??Et(e.title)]}}),l&&O(D0,{key:"subtitle"},{default:()=>{var c;return[((c=n.subtitle)==null?void 0:c.call(n))??Et(e.subtitle)]}}),(u=n.default)==null?void 0:u.call(n)]),o&&q("div",{key:"append",class:"v-card-item__append"},[n.append?O(wt,{key:"append-defaults",disabled:!i,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon}}},n.append):q(Te,null,[e.appendIcon&&O(Wt,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&O(si,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)])])]}})}),{}}}),$0=J({opacity:[Number,String],...Me(),...nt()},"VCardText"),Mo=ve()({name:"VCardText",props:$0(),setup(e,t){let{slots:n}=t;return Oe(()=>O(e.tag,{class:he(["v-card-text",e.class]),style:xe([{"--v-card-text-opacity":e.opacity},e.style])},n)),{}}}),H0=J({appendAvatar:String,appendIcon:Ye,disabled:Boolean,flat:Boolean,hover:Boolean,image:String,link:{type:Boolean,default:void 0},prependAvatar:String,prependIcon:Ye,ripple:{type:[Boolean,Object],default:!0},subtitle:{type:[String,Number,Boolean],default:void 0},text:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},..._r(),...Me(),...Gn(),...xr(),...gs(),...xd(),...Ai(),...ka(),...on(),...Ia(),...nt(),...vt(),...Un({variant:"elevated"})},"VCard"),Hu=ve()({name:"VCard",directives:{vRipple:us},props:H0(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=Ct(e),{borderClasses:i}=Cr(e),{colorClasses:o,colorStyles:a,variantClasses:l}=ys(e),{densityClasses:u}=Er(e),{dimensionStyles:c}=Ar(e),{elevationClasses:f}=vs(e),{loaderClasses:d}=Ad(e),{locationStyles:m}=Aa(e),{positionClasses:h}=Ta(e),{roundedClasses:v}=an(e),E=Pa(e,n),p=le(void 0);return ue(()=>e.loading,(S,b)=>{p.value=!S&&typeof b=="string"?b:typeof S=="boolean"?void 0:S},{immediate:!0}),Oe(()=>{const S=e.link!==!1&&E.isLink.value,b=!e.disabled&&e.link!==!1&&(e.link||E.isClickable.value),_=S?"a":e.tag,I=!!(r.title||e.title!=null),T=!!(r.subtitle||e.subtitle!=null),R=I||T,A=!!(r.append||e.appendAvatar||e.appendIcon),x=!!(r.prepend||e.prependAvatar||e.prependIcon),B=!!(r.image||e.image),F=R||x||A,k=!!(r.text||e.text!=null);return $n(O(_,Pe(E.linkProps,{class:["v-card",{"v-card--disabled":e.disabled,"v-card--flat":e.flat,"v-card--hover":e.hover&&!(e.disabled||e.flat),"v-card--link":b},s.value,i.value,o.value,u.value,f.value,d.value,h.value,v.value,l.value,e.class],style:[a.value,c.value,m.value,e.style],onClick:b&&E.navigate,tabindex:e.disabled?-1:void 0}),{default:()=>{var N;return[B&&q("div",{key:"image",class:"v-card__image"},[r.image?O(wt,{key:"image-defaults",disabled:!e.image,defaults:{VImg:{cover:!0,src:e.image}}},r.image):O(Kd,{key:"image-img",cover:!0,src:e.image},null)]),O(Nb,{name:"v-card",active:!!e.loading,color:p.value},{default:r.loader}),F&&O(B0,{key:"item",prependAvatar:e.prependAvatar,prependIcon:e.prependIcon,title:e.title,subtitle:e.subtitle,appendAvatar:e.appendAvatar,appendIcon:e.appendIcon},{default:r.item,prepend:r.prepend,title:r.title,subtitle:r.subtitle,append:r.append}),k&&O(Mo,{key:"text"},{default:()=>{var j;return[((j=r.text)==null?void 0:j.call(r))??e.text]}}),(N=r.default)==null?void 0:N.call(r),r.actions&&O(Wd,null,{default:r.actions}),ps(b,"v-card")]}}),[[us,b&&e.ripple]])}),{}}}),j0=J({disabled:Boolean,group:Boolean,hideOnLeave:Boolean,leaveAbsolute:Boolean,mode:String,origin:String},"transition");function pt(e,t,n){return ve()({name:e,props:j0({mode:n,origin:t}),setup(r,s){let{slots:i}=s;const o={onBeforeEnter(a){r.origin&&(a.style.transformOrigin=r.origin)},onLeave(a){if(r.leaveAbsolute){const{offsetTop:l,offsetLeft:u,offsetWidth:c,offsetHeight:f}=a;a._transitionInitialStyles={position:a.style.position,top:a.style.top,left:a.style.left,width:a.style.width,height:a.style.height},a.style.position="absolute",a.style.top=`${l}px`,a.style.left=`${u}px`,a.style.width=`${c}px`,a.style.height=`${f}px`}r.hideOnLeave&&a.style.setProperty("display","none","important")},onAfterLeave(a){if(r.leaveAbsolute&&(a!=null&&a._transitionInitialStyles)){const{position:l,top:u,left:c,width:f,height:d}=a._transitionInitialStyles;delete a._transitionInitialStyles,a.style.position=l||"",a.style.top=u||"",a.style.left=c||"",a.style.width=f||"",a.style.height=d||""}}};return()=>{const a=r.group?aa:bn;return _n(a,{name:r.disabled?"":e,css:!r.disabled,...r.group?void 0:{mode:r.mode},...r.disabled?{}:o},i.default)}}})}function qd(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"in-out";return ve()({name:e,props:{mode:{type:String,default:n},disabled:{type:Boolean,default:es()},group:Boolean},setup(r,s){let{slots:i}=s;const o=r.group?aa:bn;return()=>_n(o,{name:r.disabled?"":e,css:!r.disabled,...r.disabled?{}:t},i.default)}})}function Yd(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:"";const n=(arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1)?"width":"height",r=lt(`offset-${n}`);return{onBeforeEnter(o){o._parent=o.parentNode,o._initialStyle={transition:o.style.transition,overflow:o.style.overflow,[n]:o.style[n]}},onEnter(o){const a=o._initialStyle;if(!a)return;o.style.setProperty("transition","none","important"),o.style.overflow="hidden";const l=`${o[r]}px`;o.style[n]="0",o.offsetHeight,o.style.transition=a.transition,e&&o._parent&&o._parent.classList.add(e),requestAnimationFrame(()=>{o.style[n]=l})},onAfterEnter:i,onEnterCancelled:i,onLeave(o){o._initialStyle={transition:"",overflow:o.style.overflow,[n]:o.style[n]},o.style.overflow="hidden",o.style[n]=`${o[r]}px`,o.offsetHeight,requestAnimationFrame(()=>o.style[n]="0")},onAfterLeave:s,onLeaveCancelled:s};function s(o){e&&o._parent&&o._parent.classList.remove(e),i(o)}function i(o){if(!o._initialStyle)return;const a=o._initialStyle[n];o.style.overflow=o._initialStyle.overflow,a!=null&&(o.style[n]=a),delete o._initialStyle}}const W0=J({target:[Object,Array]},"v-dialog-transition"),no=new WeakMap,G0=ve()({name:"VDialogTransition",props:W0(),setup(e,t){let{slots:n}=t;const r={onBeforeEnter(s){s.style.pointerEvents="none",s.style.visibility="hidden"},async onEnter(s,i){var d;await new Promise(m=>requestAnimationFrame(m)),await new Promise(m=>requestAnimationFrame(m)),s.style.visibility="";const o=Wu(e.target,s),{x:a,y:l,sx:u,sy:c,speed:f}=o;if(no.set(s,o),es())On(s,[{opacity:0},{}],{duration:125*f,easing:Kl}).finished.then(()=>i());else{const m=On(s,[{transform:`translate(${a}px, ${l}px) scale(${u}, ${c})`,opacity:0},{}],{duration:225*f,easing:Kl});(d=ju(s))==null||d.forEach(h=>{On(h,[{opacity:0},{opacity:0,offset:.33},{}],{duration:225*2*f,easing:_o})}),m.finished.then(()=>i())}},onAfterEnter(s){s.style.removeProperty("pointer-events")},onBeforeLeave(s){s.style.pointerEvents="none"},async onLeave(s,i){var d;await new Promise(m=>requestAnimationFrame(m));let o;!no.has(s)||Array.isArray(e.target)||e.target.offsetParent||e.target.getClientRects().length?o=Wu(e.target,s):o=no.get(s);const{x:a,y:l,sx:u,sy:c,speed:f}=o;es()?On(s,[{},{opacity:0}],{duration:85*f,easing:ql}).finished.then(()=>i()):(On(s,[{},{transform:`translate(${a}px, ${l}px) scale(${u}, ${c})`,opacity:0}],{duration:125*f,easing:ql}).finished.then(()=>i()),(d=ju(s))==null||d.forEach(h=>{On(h,[{},{opacity:0,offset:.2},{opacity:0}],{duration:125*2*f,easing:_o})}))},onAfterLeave(s){s.style.removeProperty("pointer-events")}};return()=>e.target?O(bn,Pe({name:"dialog-transition"},r,{css:!1}),n):O(bn,{name:"dialog-transition"},n)}});function ju(e){var n;const t=(n=e.querySelector(":scope > .v-card, :scope > .v-sheet, :scope > .v-list"))==null?void 0:n.children;return t&&[...t]}function Wu(e,t){const n=Df(e),r=Lf(t),[s,i]=getComputedStyle(t).transformOrigin.split(" ").map(p=>parseFloat(p)),[o,a]=getComputedStyle(t).getPropertyValue("--v-overlay-anchor-origin").split(" ");let l=n.left+n.width/2;o==="left"||a==="left"?l-=n.width/2:(o==="right"||a==="right")&&(l+=n.width/2);let u=n.top+n.height/2;o==="top"||a==="top"?u-=n.height/2:(o==="bottom"||a==="bottom")&&(u+=n.height/2);const c=n.width/r.width,f=n.height/r.height,d=Math.max(1,c,f),m=c/d||0,h=f/d||0,v=r.width*r.height/(window.innerWidth*window.innerHeight),E=v>.12?Math.min(1.5,(v-.12)*10+1):1;return{x:l-(s+r.left),y:u-(i+r.top),sx:m,sy:h,speed:E}}pt("fab-transition","center center","out-in");pt("dialog-bottom-transition");pt("dialog-top-transition");const dw=pt("fade-transition"),mw=pt("scale-transition");pt("scroll-x-transition");pt("scroll-x-reverse-transition");pt("scroll-y-transition");pt("scroll-y-reverse-transition");pt("slide-x-transition");const hw=pt("slide-x-reverse-transition"),gw=pt("slide-y-transition");pt("slide-y-reverse-transition");const U0=qd("expand-transition",Yd()),vw=qd("expand-x-transition",Yd("",!0)),z0=J({fullscreen:Boolean,scrollable:Boolean,...Wn(Da({captureFocus:!0,origin:"center center",scrollStrategy:"block",transition:{component:G0},zIndex:2400,retainFocus:!0}),["disableInitialFocus"])},"VDialog"),K0=ve()({name:"VDialog",props:z0(),emits:{"update:modelValue":e=>!0,afterEnter:()=>!0,afterLeave:()=>!0},setup(e,t){let{emit:n,slots:r}=t;const s=Jt(e,"modelValue"),{scopeId:i}=Ra(),o=ce();function a(){var u;n("afterEnter"),(e.scrim||e.retainFocus)&&((u=o.value)!=null&&u.contentEl)&&!o.value.contentEl.contains(document.activeElement)&&o.value.contentEl.focus({preventScroll:!0})}function l(){n("afterLeave")}return ue(s,async u=>{var c;u||(await We(),(c=o.value.activatorEl)==null||c.focus({preventScroll:!0}))}),Oe(()=>{const u=ri.filterProps(e),c=Pe({"aria-haspopup":"dialog"},e.activatorProps),f=Pe({tabindex:-1},e.contentProps);return O(ri,Pe({ref:o,class:["v-dialog",{"v-dialog--fullscreen":e.fullscreen,"v-dialog--scrollable":e.scrollable},e.class],style:e.style},u,{modelValue:s.value,"onUpdate:modelValue":d=>s.value=d,"aria-modal":"true",activatorProps:c,contentProps:f,height:e.fullscreen?void 0:e.height,width:e.fullscreen?void 0:e.width,maxHeight:e.fullscreen?void 0:e.maxHeight,maxWidth:e.fullscreen?void 0:e.maxWidth,role:"dialog",onAfterEnter:a,onAfterLeave:l},i),{activator:r.activator,default:function(){for(var d=arguments.length,m=new Array(d),h=0;h{var v;return[(v=r.default)==null?void 0:v.call(r,...m)]}})}})}),Hd({},o)}}),q0=["dotted","dashed","solid","double"],Y0=J({color:String,contentOffset:[Number,String,Array],gradient:Boolean,inset:Boolean,length:[Number,String],opacity:[Number,String],thickness:[Number,String],vertical:Boolean,variant:{type:String,default:"solid",validator:e=>q0.includes(e)},...Me(),...vt()},"VDivider"),Xd=ve()({name:"VDivider",props:Y0(),setup(e,t){let{attrs:n,slots:r}=t;const{themeClasses:s}=Ct(e),{textColorClasses:i,textColorStyles:o}=vr(()=>e.color),a=M(()=>{const u={};return e.length&&(u[e.vertical?"height":"width"]=ie(e.length)),e.thickness&&(u[e.vertical?"borderRightWidth":"borderTopWidth"]=ie(e.thickness)),u}),l=G(()=>{const u=Array.isArray(e.contentOffset)?e.contentOffset[0]:e.contentOffset,c=Array.isArray(e.contentOffset)?e.contentOffset[1]:0;return{marginBlock:e.vertical&&u?ie(u):void 0,marginInline:!e.vertical&&u?ie(u):void 0,transform:c?`translate${e.vertical?"X":"Y"}(${ie(c)})`:void 0}});return Oe(()=>{const u=q("hr",{class:he([{"v-divider":!0,"v-divider--gradient":e.gradient&&!r.default,"v-divider--inset":e.inset,"v-divider--vertical":e.vertical},s.value,i.value,e.class]),style:xe([a.value,o.value,{"--v-border-opacity":e.opacity},{"border-style":e.variant},e.style]),"aria-orientation":!n.role||n.role==="separator"?e.vertical?"vertical":"horizontal":void 0,role:`${n.role||"separator"}`},null);return r.default?q("div",{class:he(["v-divider__wrapper",{"v-divider__wrapper--gradient":e.gradient,"v-divider__wrapper--inset":e.inset,"v-divider__wrapper--vertical":e.vertical}])},[u,q("div",{class:"v-divider__content",style:xe(l.value)},[r.default()]),u]):u}),{}}}),X0=ga("v-spacer","div","VSpacer"),No=Symbol.for("vuetify:list");function Zd(){let{filterable:e}=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{filterable:!1};const t=ge(No,{filterable:!1,hasPrepend:le(!1),updateHasPrepend:()=>null}),n={filterable:t.filterable||e,hasPrepend:le(!1),updateHasPrepend:r=>{r&&(n.hasPrepend.value=r)}};return tt(No,n),t}function Jd(){return ge(No,null)}const La=e=>{const t={activate:n=>{let{id:r,value:s,activated:i}=n;return r=te(r),e&&!s&&i.size===1&&i.has(r)||(s?i.add(r):i.delete(r)),i},in:(n,r,s)=>{let i=new Set;if(n!=null)for(const o of fa(n))i=t.activate({id:o,value:!0,activated:new Set(i),children:r,parents:s});return i},out:n=>Array.from(n)};return t},Qd=e=>{const t=La(e);return{activate:r=>{let{activated:s,id:i,...o}=r;i=te(i);const a=s.has(i)?new Set([i]):new Set;return t.activate({...o,id:i,activated:a})},in:(r,s,i)=>{let o=new Set;if(r!=null){const a=fa(r);a.length&&(o=t.in(a.slice(0,1),s,i))}return o},out:(r,s,i)=>t.out(r,s,i)}},Z0=e=>{const t=La(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=te(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},J0=e=>{const t=Qd(e);return{activate:r=>{let{id:s,activated:i,children:o,...a}=r;return s=te(s),o.has(s)?i:t.activate({id:s,activated:i,children:o,...a})},in:t.in,out:t.out}},Q0={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){const i=new Set;i.add(t);let o=s.get(t);for(;o!=null;)i.add(o),o=s.get(o);return i}else return r.delete(t),r},select:()=>null},em={open:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(n){let i=s.get(t);for(r.add(t);i!=null&&i!==t;)r.add(i),i=s.get(i);return r}else r.delete(t);return r},select:()=>null},eS={open:em.open,select:e=>{let{id:t,value:n,opened:r,parents:s}=e;if(!n)return r;const i=[];let o=s.get(t);for(;o!=null;)i.push(o),o=s.get(o);return new Set(i)}},Ma=e=>{const t={select:n=>{let{id:r,value:s,selected:i}=n;if(r=te(r),e&&!s){const o=Array.from(i.entries()).reduce((a,l)=>{let[u,c]=l;return c==="on"&&a.push(u),a},[]);if(o.length===1&&o[0]===r)return i}return i.set(r,s?"on":"off"),i},in:(n,r,s,i)=>{const o=new Map;for(const a of n||[])t.select({id:a,value:!0,selected:o,children:r,parents:s,disabled:i});return o},out:n=>{const r=[];for(const[s,i]of n.entries())i==="on"&&r.push(s);return r}};return t},tm=e=>{const t=Ma(e);return{select:r=>{let{selected:s,id:i,...o}=r;i=te(i);const a=s.has(i)?new Map([[i,s.get(i)]]):new Map;return t.select({...o,id:i,selected:a})},in:(r,s,i,o)=>r!=null&&r.length?t.in(r.slice(0,1),s,i,o):new Map,out:(r,s,i)=>t.out(r,s,i)}},tS=e=>{const t=Ma(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=te(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},nS=e=>{const t=tm(e);return{select:r=>{let{id:s,selected:i,children:o,...a}=r;return s=te(s),o.has(s)?i:t.select({id:s,selected:i,children:o,...a})},in:t.in,out:t.out}},nm=e=>{const t={select:n=>{let{id:r,value:s,selected:i,children:o,parents:a,disabled:l}=n;r=te(r);const u=new Map(i),c=[r];for(;c.length;){const d=c.shift();l.has(d)||i.set(te(d),s?"on":"off"),o.has(d)&&c.push(...o.get(d))}let f=te(a.get(r));for(;f;){let d=!0,m=!0;for(const h of o.get(f)){const v=te(h);if(!l.has(v)&&(i.get(v)!=="on"&&(d=!1),i.has(v)&&i.get(v)!=="off"&&(m=!1),!d&&!m))break}i.set(f,d?"on":m?"off":"indeterminate"),f=te(a.get(f))}return e&&!s&&Array.from(i.entries()).reduce((m,h)=>{let[v,E]=h;return E==="on"&&m.push(v),m},[]).length===0?u:i},in:(n,r,s)=>{let i=new Map;for(const o of n||[])i=t.select({id:o,value:!0,selected:i,children:r,parents:s,disabled:new Set});return i},out:(n,r)=>{const s=[];for(const[i,o]of n.entries())o==="on"&&!r.has(i)&&s.push(i);return s}};return t},rS=e=>{const t=nm(e);return{select:t.select,in:t.in,out:(r,s,i)=>{const o=[];for(const[a,l]of r.entries())if(l==="on"){if(i.has(a)){const u=i.get(a);if(r.get(u)==="on")continue}o.push(a)}return o}}},pr=Symbol.for("vuetify:nested"),rm={id:le(),root:{itemsRegistration:ce("render"),register:()=>null,unregister:()=>null,updateDisabled:()=>null,children:ce(new Map),parents:ce(new Map),disabled:ce(new Set),open:()=>null,openOnSelect:()=>null,activate:()=>null,select:()=>null,activatable:ce(!1),selectable:ce(!1),opened:ce(new Set),activated:ce(new Set),selected:ce(new Map),selectedValues:ce([]),getPath:()=>[]}},sS=J({activatable:Boolean,selectable:Boolean,activeStrategy:[String,Function,Object],selectStrategy:[String,Function,Object],openStrategy:[String,Object],opened:null,activated:null,selected:null,mandatory:Boolean,itemsRegistration:{type:String,default:"render"}},"nested"),iS=(e,t,n)=>{let r=!1;const s=le(new Map),i=le(new Map),o=le(new Set),a=Jt(e,"opened",e.opened,b=>new Set(Array.isArray(b)?b.map(_=>te(_)):b),b=>[...b.values()]),l=M(()=>{if(typeof e.activeStrategy=="object")return e.activeStrategy;if(typeof e.activeStrategy=="function")return e.activeStrategy(e.mandatory);switch(e.activeStrategy){case"leaf":return Z0(e.mandatory);case"single-leaf":return J0(e.mandatory);case"independent":return La(e.mandatory);case"single-independent":default:return Qd(e.mandatory)}}),u=M(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;if(typeof e.selectStrategy=="function")return e.selectStrategy(e.mandatory);switch(e.selectStrategy){case"single-leaf":return nS(e.mandatory);case"leaf":return tS(e.mandatory);case"independent":return Ma(e.mandatory);case"single-independent":return tm(e.mandatory);case"trunk":return rS(e.mandatory);case"classic":default:return nm(e.mandatory)}}),c=M(()=>{if(typeof e.openStrategy=="object")return e.openStrategy;switch(e.openStrategy){case"list":return eS;case"single":return Q0;case"multiple":default:return em}}),f=Jt(e,"activated",e.activated,b=>l.value.in(b,s.value,i.value),b=>l.value.out(b,s.value,i.value)),d=Jt(e,"selected",e.selected,b=>u.value.in(b,s.value,i.value,o.value),b=>u.value.out(b,s.value,i.value));Pt(()=>{r=!0});function m(b){const _=[];let I=te(b);for(;I!==void 0;)_.unshift(I),I=i.value.get(I);return _}const h=$e("nested"),v=new Set,E=Pv(()=>{We(()=>{s.value=new Map(s.value),i.value=new Map(i.value)})},100);ue(()=>[t.value,Ke(n)],()=>{e.itemsRegistration==="props"&&p()},{immediate:!0});function p(){const b=new Map,_=new Map,I=new Set,T=Ke(n)?x=>te(x.raw):x=>x.value,R=[...t.value];let A=0;for(;Ae.activatable),selectable:G(()=>e.selectable),activated:f,selected:d,selectedValues:M(()=>{const b=[];for(const[_,I]of d.value.entries())I==="on"&&b.push(_);return b}),itemsRegistration:G(()=>e.itemsRegistration),register:(b,_,I,T)=>{if(v.has(b)){m(b).map(String).join(" -> "),m(_).concat(b).map(String).join(" -> ");return}else v.add(b);_&&b!==_&&i.value.set(b,_),I&&o.value.add(b),T&&s.value.set(b,[]),_!=null&&s.value.set(_,[...s.value.get(_)||[],b]),E()},unregister:b=>{if(r)return;v.delete(b),s.value.delete(b),o.value.delete(b);const _=i.value.get(b);if(_){const I=s.value.get(_)??[];s.value.set(_,I.filter(T=>T!==b))}i.value.delete(b),E()},updateDisabled:(b,_)=>{_?o.value.add(b):o.value.delete(b)},open:(b,_,I)=>{h.emit("click:open",{id:b,value:_,path:m(b),event:I});const T=c.value.open({id:b,value:_,opened:new Set(a.value),children:s.value,parents:i.value,event:I});T&&(a.value=T)},openOnSelect:(b,_,I)=>{const T=c.value.select({id:b,value:_,selected:new Map(d.value),opened:new Set(a.value),children:s.value,parents:i.value,event:I});T&&(a.value=T)},select:(b,_,I)=>{h.emit("click:select",{id:b,value:_,path:m(b),event:I});const T=u.value.select({id:b,value:_,selected:new Map(d.value),children:s.value,parents:i.value,disabled:o.value,event:I});T&&(d.value=T),S.root.openOnSelect(b,_,I)},activate:(b,_,I)=>{if(!e.activatable)return S.root.select(b,!0,I);h.emit("click:activate",{id:b,value:_,path:m(b),event:I});const T=l.value.activate({id:b,value:_,activated:new Set(f.value),children:s.value,parents:i.value,event:I});if(T.size!==f.value.size)f.value=T;else{for(const R of T)if(!f.value.has(R)){f.value=T;return}for(const R of f.value)if(!T.has(R)){f.value=T;return}}},children:s,parents:i,disabled:o,getPath:m}};return tt(pr,S),S.root},sm=(e,t,n)=>{const r=ge(pr,rm),s=Symbol("nested item"),i=M(()=>{const a=te(Ke(e));return a!==void 0?a:s}),o={...r,id:i,open:(a,l)=>r.root.open(i.value,a,l),openOnSelect:(a,l)=>r.root.openOnSelect(i.value,a,l),isOpen:M(()=>r.root.opened.value.has(i.value)),parent:M(()=>r.root.parents.value.get(i.value)),activate:(a,l)=>r.root.activate(i.value,a,l),isActivated:M(()=>r.root.activated.value.has(i.value)),select:(a,l)=>r.root.select(i.value,a,l),isSelected:M(()=>r.root.selected.value.get(i.value)==="on"),isIndeterminate:M(()=>r.root.selected.value.get(i.value)==="indeterminate"),isLeaf:M(()=>!r.root.children.value.get(i.value)),isGroupActivator:r.isGroupActivator};return vi(()=>{r.isGroupActivator||r.root.itemsRegistration.value==="props"||We(()=>{r.root.register(i.value,r.id.value,Ke(t),n)})}),Pt(()=>{r.isGroupActivator||r.root.itemsRegistration.value==="props"||r.root.unregister(i.value)}),ue(i,(a,l)=>{r.isGroupActivator||r.root.itemsRegistration.value==="props"||(r.root.unregister(l),We(()=>{r.root.register(a,r.id.value,Ke(t),n)}))}),ue(()=>Ke(t),a=>{r.root.updateDisabled(i.value,a)}),n&&tt(pr,o),o},oS=()=>{const e=ge(pr,rm);tt(pr,{...e,isGroupActivator:!0})};function aS(){const e=le(!1);return wn(()=>{window.requestAnimationFrame(()=>{e.value=!0})}),{ssrBootStyles:G(()=>e.value?void 0:{transition:"none !important"}),isBooted:ur(e)}}const lS=Sr({name:"VListGroupActivator",setup(e,t){let{slots:n}=t;return oS(),()=>{var r;return(r=n.default)==null?void 0:r.call(n)}}}),uS=J({activeColor:String,baseColor:String,color:String,collapseIcon:{type:Ye,default:"$collapse"},disabled:Boolean,expandIcon:{type:Ye,default:"$expand"},rawId:[String,Number],prependIcon:Ye,appendIcon:Ye,fluid:Boolean,subgroup:Boolean,title:String,value:null,...Me(),...nt()},"VListGroup"),Gu=ve()({name:"VListGroup",props:uS(),setup(e,t){let{slots:n}=t;const{isOpen:r,open:s,id:i}=sm(()=>e.value,()=>e.disabled,!0),o=M(()=>`v-list-group--id-${String(e.rawId??i.value)}`),a=Jd(),{isBooted:l}=aS(),u=ge(pr),c=G(()=>{var v;return((v=u==null?void 0:u.root)==null?void 0:v.itemsRegistration.value)==="render"});function f(v){var E;["INPUT","TEXTAREA"].includes((E=v.target)==null?void 0:E.tagName)||s(!r.value,v)}const d=M(()=>({onClick:f,class:"v-list-group__header",id:o.value})),m=M(()=>r.value?e.collapseIcon:e.expandIcon),h=M(()=>({VListItem:{activeColor:e.activeColor,baseColor:e.baseColor,color:e.color,prependIcon:e.prependIcon||e.subgroup&&m.value,appendIcon:e.appendIcon||!e.subgroup&&m.value,title:e.title,value:e.value}}));return Oe(()=>O(e.tag,{class:he(["v-list-group",{"v-list-group--prepend":a==null?void 0:a.hasPrepend.value,"v-list-group--fluid":e.fluid,"v-list-group--subgroup":e.subgroup,"v-list-group--open":r.value},e.class]),style:xe(e.style)},{default:()=>[n.activator&&O(wt,{defaults:h.value},{default:()=>[O(lS,null,{default:()=>[n.activator({props:d.value,isOpen:r.value})]})]}),O(nr,{transition:{component:U0},disabled:!l.value},{default:()=>{var v,E;return[c.value?$n(q("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(v=n.default)==null?void 0:v.call(n)]),[[oa,r.value]]):r.value&&q("div",{class:"v-list-group__items",role:"group","aria-labelledby":o.value},[(E=n.default)==null?void 0:E.call(n)])]}})]})),{isOpen:r}}}),cS=J({opacity:[Number,String],...Me(),...nt()},"VListItemSubtitle"),im=ve()({name:"VListItemSubtitle",props:cS(),setup(e,t){let{slots:n}=t;return Oe(()=>O(e.tag,{class:he(["v-list-item-subtitle",e.class]),style:xe([{"--v-list-item-subtitle-opacity":e.opacity},e.style])},n)),{}}}),om=ga("v-list-item-title"),fS=J({active:{type:Boolean,default:void 0},activeClass:String,activeColor:String,appendAvatar:String,appendIcon:Ye,baseColor:String,disabled:Boolean,lines:[Boolean,String],link:{type:Boolean,default:void 0},nav:Boolean,prependAvatar:String,prependIcon:Ye,ripple:{type:[Boolean,Object],default:!0},slim:Boolean,prependGap:[Number,String],subtitle:{type:[String,Number,Boolean],default:void 0},title:{type:[String,Number,Boolean],default:void 0},value:null,onClick:Wr(),onClickOnce:Wr(),..._r(),...Me(),...Gn(),...xr(),...gs(),...on(),...Ia(),...nt(),...vt(),...Un({variant:"text"})},"VListItem"),Vo=ve()({name:"VListItem",directives:{vRipple:us},props:fS(),emits:{click:e=>!0},setup(e,t){let{attrs:n,slots:r,emit:s}=t;const i=Pa(e,n),o=M(()=>e.value===void 0?i.href.value:e.value),{activate:a,isActivated:l,select:u,isOpen:c,isSelected:f,isIndeterminate:d,isGroupActivator:m,root:h,parent:v,openOnSelect:E,id:p}=sm(o,()=>e.disabled,!1),S=Jd(),b=M(()=>{var w;return e.active!==!1&&(e.active||((w=i.isActive)==null?void 0:w.value)||(h.activatable.value?l.value:f.value))}),_=G(()=>e.link!==!1&&i.isLink.value),I=M(()=>!!S&&(h.selectable.value||h.activatable.value||e.value!=null)),T=M(()=>!e.disabled&&e.link!==!1&&(e.link||i.isClickable.value||I.value)),R=M(()=>S?_.value?"link":I.value?"option":"listitem":void 0),A=M(()=>{if(I.value)return h.activatable.value?l.value:h.selectable.value?f.value:b.value}),x=G(()=>e.rounded||e.nav),B=G(()=>e.color??e.activeColor),F=G(()=>({color:b.value?B.value??e.baseColor:e.baseColor,variant:e.variant}));ue(()=>{var w;return(w=i.isActive)==null?void 0:w.value},w=>{w&&k()}),vi(()=>{var w;(w=i.isActive)!=null&&w.value&&We(()=>k())});function k(){v.value!=null&&h.open(v.value,!0),E(!0)}const{themeClasses:N}=Ct(e),{borderClasses:j}=Cr(e),{colorClasses:Y,colorStyles:Q,variantClasses:X}=ys(F),{densityClasses:ne}=Er(e),{dimensionStyles:Re}=Ar(e),{elevationClasses:me}=vs(e),{roundedClasses:ke}=an(x),Se=G(()=>e.lines?`v-list-item--${e.lines}-line`:void 0),Ne=G(()=>e.ripple!==void 0&&e.ripple&&(S!=null&&S.filterable)?{keys:["Enter"]}:e.ripple),Ge=M(()=>({isActive:b.value,select:u,isOpen:c.value,isSelected:f.value,isIndeterminate:d.value}));function rt(w){var $,H;s("click",w),!["INPUT","TEXTAREA"].includes(($=w.target)==null?void 0:$.tagName)&&T.value&&((H=i.navigate)==null||H.call(i,w),!m&&(h.activatable.value?a(!l.value,w):(h.selectable.value||e.value!=null&&!_.value)&&u(!f.value,w)))}function He(w){const $=w.target;["INPUT","TEXTAREA"].includes($.tagName)||(w.key==="Enter"||w.key===" "&&!(S!=null&&S.filterable))&&(w.preventDefault(),w.stopPropagation(),w.target.dispatchEvent(new MouseEvent("click",w)))}return Oe(()=>{const w=_.value?"a":e.tag,$=r.title||e.title!=null,H=r.subtitle||e.subtitle!=null,Z=!!(e.appendAvatar||e.appendIcon),fe=!!(Z||r.append),g=!!(e.prependAvatar||e.prependIcon),y=!!(g||r.prepend);return S==null||S.updateHasPrepend(y),e.activeColor&&_f("active-color",["color","base-color"]),$n(O(w,Pe(i.linkProps,{class:["v-list-item",{"v-list-item--active":b.value,"v-list-item--disabled":e.disabled,"v-list-item--link":T.value,"v-list-item--nav":e.nav,"v-list-item--slim":e.slim,[`${e.activeClass}`]:e.activeClass&&b.value},N.value,j.value,Y.value,ne.value,me.value,Se.value,ke.value,X.value,e.class],style:[{"--v-list-prepend-gap":ie(e.prependGap)},Q.value,Re.value,e.style],tabindex:T.value?S?-2:0:void 0,"aria-selected":A.value,role:R.value,onClick:rt,onKeydown:T.value&&!_.value&&He}),{default:()=>{var C;return[ps(T.value||b.value,"v-list-item"),y&&q("div",{key:"prepend",class:"v-list-item__prepend"},[r.prepend?O(wt,{key:"prepend-defaults",disabled:!g,defaults:{VAvatar:{density:e.density,image:e.prependAvatar},VIcon:{density:e.density,icon:e.prependIcon},VListItemAction:{start:!0}}},{default:()=>{var P;return[(P=r.prepend)==null?void 0:P.call(r,Ge.value)]}}):q(Te,null,[e.prependAvatar&&O(si,{key:"prepend-avatar",density:e.density,image:e.prependAvatar},null),e.prependIcon&&O(Wt,{key:"prepend-icon",density:e.density,icon:e.prependIcon},null)]),q("div",{class:"v-list-item__spacer"},null)]),q("div",{class:"v-list-item__content","data-no-activator":""},[$&&O(om,{key:"title"},{default:()=>{var P;return[((P=r.title)==null?void 0:P.call(r,{title:e.title}))??Et(e.title)]}}),H&&O(im,{key:"subtitle"},{default:()=>{var P;return[((P=r.subtitle)==null?void 0:P.call(r,{subtitle:e.subtitle}))??Et(e.subtitle)]}}),(C=r.default)==null?void 0:C.call(r,Ge.value)]),fe&&q("div",{key:"append",class:"v-list-item__append"},[r.append?O(wt,{key:"append-defaults",disabled:!Z,defaults:{VAvatar:{density:e.density,image:e.appendAvatar},VIcon:{density:e.density,icon:e.appendIcon},VListItemAction:{end:!0}}},{default:()=>{var P;return[(P=r.append)==null?void 0:P.call(r,Ge.value)]}}):q(Te,null,[e.appendIcon&&O(Wt,{key:"append-icon",density:e.density,icon:e.appendIcon},null),e.appendAvatar&&O(si,{key:"append-avatar",density:e.density,image:e.appendAvatar},null)]),q("div",{class:"v-list-item__spacer"},null)])]}}),[[us,T.value&&Ne.value]])}),{activate:a,isActivated:l,isGroupActivator:m,isSelected:f,list:S,select:u,root:h,id:p,link:i}}}),dS=J({color:String,inset:Boolean,sticky:Boolean,title:String,...Me(),...nt()},"VListSubheader"),mS=ve()({name:"VListSubheader",props:dS(),setup(e,t){let{slots:n}=t;const{textColorClasses:r,textColorStyles:s}=vr(()=>e.color);return Oe(()=>{const i=!!(n.default||e.title);return O(e.tag,{class:he(["v-list-subheader",{"v-list-subheader--inset":e.inset,"v-list-subheader--sticky":e.sticky},r.value,e.class]),style:xe([{textColorStyles:s},e.style])},{default:()=>{var o;return[i&&q("div",{class:"v-list-subheader__text"},[((o=n.default)==null?void 0:o.call(n))??e.title])]}})}),{}}}),hS=J({items:Array,returnObject:Boolean},"VListChildren"),am=ve()({name:"VListChildren",props:hS(),setup(e,t){let{slots:n}=t;return Zd(),()=>{var r,s;return((r=n.default)==null?void 0:r.call(n))??((s=e.items)==null?void 0:s.map(i=>{var d,m;let{children:o,props:a,type:l,raw:u}=i;if(l==="divider")return((d=n.divider)==null?void 0:d.call(n,{props:a}))??O(Xd,a,null);if(l==="subheader")return((m=n.subheader)==null?void 0:m.call(n,{props:a}))??O(mS,a,null);const c={subtitle:n.subtitle?h=>{var v;return(v=n.subtitle)==null?void 0:v.call(n,{...h,item:u})}:void 0,prepend:n.prepend?h=>{var v;return(v=n.prepend)==null?void 0:v.call(n,{...h,item:u})}:void 0,append:n.append?h=>{var v;return(v=n.append)==null?void 0:v.call(n,{...h,item:u})}:void 0,title:n.title?h=>{var v;return(v=n.title)==null?void 0:v.call(n,{...h,item:u})}:void 0},f=Gu.filterProps(a);return o?O(Gu,Pe(f,{value:e.returnObject?u:a==null?void 0:a.value,rawId:a==null?void 0:a.value}),{activator:h=>{let{props:v}=h;const E=Pe(a,v,{value:e.returnObject?u:a.value});return n.header?n.header({props:E}):O(Vo,E,c)},default:()=>O(am,{items:o,returnObject:e.returnObject},n)}):n.item?n.item({props:a}):O(Vo,Pe(a,{value:e.returnObject?u:a.value}),c)}))}}}),gS=J({items:{type:Array,default:()=>[]},itemTitle:{type:[String,Array,Function],default:"title"},itemValue:{type:[String,Array,Function],default:"value"},itemChildren:{type:[Boolean,String,Array,Function],default:"children"},itemProps:{type:[Boolean,String,Array,Function],default:"props"},itemType:{type:[Boolean,String,Array,Function],default:"type"},returnObject:Boolean,valueComparator:Function},"list-items"),vS=new Set(["item","divider","subheader"]);function lr(e,t){const n=Bt(t,e.itemTitle,t),r=Bt(t,e.itemValue,n),s=Bt(t,e.itemChildren),i=e.itemProps===!0?typeof t=="object"&&t!=null&&!Array.isArray(t)?"children"in t?Wn(t,["children"]):t:void 0:Bt(t,e.itemProps);let o=Bt(t,e.itemType,"item");vS.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:String(a.title??""),value:a.value,props:a,children:o==="item"&&Array.isArray(s)?lm(e,s):void 0,raw:t}}lr.neededProps=["itemTitle","itemValue","itemChildren","itemProps","itemType"];function lm(e,t){const n=ca(e,lr.neededProps),r=[];for(const s of t)r.push(lr(n,s));return r}function pw(e){const t=M(()=>lm(e,e.items)),n=M(()=>t.value.some(a=>a.value===null)),r=le(new Map),s=le([]);_t(()=>{const a=t.value,l=new Map,u=[];for(let c=0;c{let{raw:u}=l;return u}):a.map(l=>{let{value:u}=l;return u})}return{items:t,transformIn:i,transformOut:o}}const pS=new Set(["item","divider","subheader"]);function yS(e,t){const n=jn(t)?t:Bt(t,e.itemTitle),r=jn(t)?t:Bt(t,e.itemValue,void 0),s=Bt(t,e.itemChildren),i=e.itemProps===!0?Wn(t,["children"]):Bt(t,e.itemProps);let o=Bt(t,e.itemType,"item");pS.has(o)||(o="item");const a={title:n,value:r,...i};return{type:o,title:a.title,value:a.value,props:a,children:o==="item"&&s?um(e,s):void 0,raw:t}}function um(e,t){const n=[];for(const r of t)n.push(yS(e,r));return n}function bS(e){return{items:M(()=>um(e,e.items))}}const SS=J({baseColor:String,activeColor:String,activeClass:String,bgColor:String,disabled:Boolean,filterable:Boolean,expandIcon:Ye,collapseIcon:Ye,lines:{type:[Boolean,String],default:"one"},slim:Boolean,prependGap:[Number,String],indent:[Number,String],nav:Boolean,"onClick:open":Wr(),"onClick:select":Wr(),"onUpdate:opened":Wr(),...sS({selectStrategy:"single-leaf",openStrategy:"list"}),..._r(),...Me(),...Gn(),...xr(),...gs(),...gS(),...on(),...nt(),...vt(),...Un({variant:"text"})},"VList"),wS=ve()({name:"VList",props:SS(),emits:{"update:selected":e=>!0,"update:activated":e=>!0,"update:opened":e=>!0,"click:open":e=>!0,"click:activate":e=>!0,"click:select":e=>!0},setup(e,t){let{slots:n}=t;const{items:r}=bS(e),{themeClasses:s}=Ct(e),{backgroundColorClasses:i,backgroundColorStyles:o}=ar(()=>e.bgColor),{borderClasses:a}=Cr(e),{densityClasses:l}=Er(e),{dimensionStyles:u}=Ar(e),{elevationClasses:c}=vs(e),{roundedClasses:f}=an(e),{children:d,open:m,parents:h,select:v,getPath:E}=iS(e,r,()=>e.returnObject),p=G(()=>e.lines?`v-list--${e.lines}-line`:void 0),S=G(()=>e.activeColor),b=G(()=>e.baseColor),_=G(()=>e.color),I=G(()=>e.selectable||e.activatable);Zd({filterable:e.filterable}),bi({VListGroup:{activeColor:S,baseColor:b,color:_,expandIcon:G(()=>e.expandIcon),collapseIcon:G(()=>e.collapseIcon)},VListItem:{activeClass:G(()=>e.activeClass),activeColor:S,baseColor:b,color:_,density:G(()=>e.density),disabled:G(()=>e.disabled),lines:G(()=>e.lines),nav:G(()=>e.nav),slim:G(()=>e.slim),variant:G(()=>e.variant)}});const T=le(!1),R=ce();function A(j){T.value=!0}function x(j){T.value=!1}function B(j){var Y;!T.value&&!(j.relatedTarget&&((Y=R.value)!=null&&Y.contains(j.relatedTarget)))&&N()}function F(j){const Y=j.target;if(!(!R.value||Y.tagName==="INPUT"&&["Home","End"].includes(j.key)||Y.tagName==="TEXTAREA")){if(j.key==="ArrowDown")N("next");else if(j.key==="ArrowUp")N("prev");else if(j.key==="Home")N("first");else if(j.key==="End")N("last");else return;j.preventDefault()}}function k(j){T.value=!0}function N(j){if(R.value)return Of(R.value,j)}return Oe(()=>{const j=e.indent??(e.prependGap?Number(e.prependGap)+24:void 0);return O(e.tag,{ref:R,class:he(["v-list",{"v-list--disabled":e.disabled,"v-list--nav":e.nav,"v-list--slim":e.slim},s.value,i.value,a.value,l.value,c.value,p.value,f.value,e.class]),style:xe([{"--v-list-indent":ie(j),"--v-list-group-prepend":j?"0px":void 0,"--v-list-prepend-gap":ie(e.prependGap)},o.value,u.value,e.style]),tabindex:e.disabled?-1:0,role:I.value?"listbox":"list","aria-activedescendant":void 0,onFocusin:A,onFocusout:x,onFocus:B,onKeydown:F,onMousedown:k},{default:()=>[O(am,{items:r.value,returnObject:e.returnObject},n)]})}),{open:m,select:v,focus:N,children:d,parents:h,getPath:E}}});let Fo=null;const cm={name:"RateLimitModal",data(){return{isVisible:!1,activeRequests:[]}},computed:{hasActiveRequests(){return this.activeRequests.length>0}},watch:{hasActiveRequests(e){this.isVisible=e}},methods:{close(){this.isVisible=!1},show(e,t,n){const r=Date.now()+Math.random().toString(36).substring(2,9),s=Math.max(0,Math.floor((new Date(e)-new Date)/1e3)),i={id:r,resetTime:e,path:t,method:n,remainingSeconds:s};this.activeRequests.push(i),this.startCountdown(r),this.isVisible=!0},startCountdown(e){const t=this.activeRequests.find(r=>r.id===e);if(!t)return;const n=setInterval(()=>{const r=this.activeRequests.findIndex(s=>s.id===e);if(r===-1){clearInterval(n);return}this.activeRequests[r].remainingSeconds--,this.activeRequests[r].remainingSeconds<=0&&(clearInterval(n),this.activeRequests.splice(r,1))},1e3);t.intervalId=n},clearAllCountdowns(){this.activeRequests.forEach(e=>{e.intervalId&&clearInterval(e.intervalId)}),this.activeRequests=[]}},beforeUnmount(){this.clearAllCountdowns()},created(){Fo=this}};cm.show=function(e,t,n){Fo&&Fo.show(e,t,n)};const _S=cm,CS={class:"text-primary font-weight-bold"};function ES(e,t,n,r,s,i){return bt(),$t(K0,{modelValue:e.isVisible,"onUpdate:modelValue":t[0]||(t[0]=o=>e.isVisible=o),"max-width":"500",persistent:""},{default:je(()=>[O(Hu,{class:"rate-limit-modal"},{default:je(()=>[O(Gd,{class:"text-center pa-4 bg-error text-white"},{default:je(()=>[O(Wt,{class:"mr-2",icon:"mdi-clock-alert-outline",size:"large"}),t[1]||(t[1]=Mr(" 请求频率超限 ",-1))]),_:1}),O(Mo,{class:"pa-6"},{default:je(()=>[t[3]||(t[3]=q("div",{class:"text-body-1 mb-4"},"您的请求过于频繁,请稍后再试。",-1)),e.activeRequests.length>0?(bt(),$t(Hu,{key:0,class:"mb-4",flat:""},{default:je(()=>[O(Mo,null,{default:je(()=>[(bt(!0),cf(Te,null,vh(e.activeRequests,(o,a)=>(bt(),$t(wS,{key:a,class:"mb-4"},{default:je(()=>[O(Vo,{color:"primary","prepend-icon":"mdi-web"},{default:je(()=>[O(om,null,{default:je(()=>[t[2]||(t[2]=Mr(" 等待时间: ",-1)),q("span",CS,Et(o.remainingSeconds),1)]),_:2},1024),O(im,null,{default:je(()=>[Mr(Et(o.method)+" "+Et(o.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),e.index[O(X0),O(Ld,{color:"primary",variant:"tonal",onClick:e.close},{default:je(()=>[...t[5]||(t[5]=[Mr(" 我知道了",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])}const xS=bd(_S,[["render",ES]]),AS=J({...Me(),...Wn($p(),["fullHeight"]),...vt()},"VApp"),kS=ve()({name:"VApp",props:AS(),setup(e,t){let{slots:n}=t;const r=Ct(e),{layoutClasses:s,getLayoutItem:i,items:o,layoutRef:a}=Wp({...e,fullHeight:!0}),{rtlClasses:l}=ms();return Oe(()=>{var u;return q("div",{ref:a,class:he(["v-application",r.themeClasses.value,s.value,l.value,e.class]),style:xe([e.style])},[q("div",{class:"v-application__wrap"},[(u=n.default)==null?void 0:u.call(n)])])}),{getLayoutItem:i,items:o,theme:r}}}),TS={__name:"App",setup(e){const t=Qf();return wn(()=>{const n=Ea("theme.mode");t.global.name.value=n,window.addEventListener("beforeinstallprompt",r=>{r.preventDefault(),window.deferredPwaPrompt=r,window.dispatchEvent(new Event("pwa-prompt-ready"))})}),(n,r)=>{const s=gh("router-view"),i=jd;return bt(),$t(kS,null,{default:je(()=>[O(s,null,{default:je(({Component:o,route:a})=>[O(bn,{mode:"out-in",name:"md3"},{default:je(()=>[(bt(),$t(Gc(o),{key:a.path}))]),_:2},1024)]),_:1}),O(i),O(xS)]),_:1})}}};let ro;const Uu=e=>({get:async()=>({visitorId:"unknown",error:(e==null?void 0:e.message)||String(e||""),fallback:!0})}),PS=async()=>{try{const e=await Ue(()=>import("./fp.esm-HJFDfcHo.js"),[],import.meta.url);return(e==null?void 0:e.default)||e}catch(e){return console.warn("Fingerprint library blocked or failed to load; using fallback agent.",e),null}},fm=()=>(ro||(ro=(async()=>{const e=await PS();if(!e)return Uu(new Error("fingerprint module unavailable"));try{return await e.load()}catch(t){return console.warn("FingerprintJS.load failed, using fallback agent.",t),Uu(t)}})()),ro),IS=async()=>{const t=await(await fm()).get();return(t==null?void 0:t.visitorId)||"unknown"},yw=async()=>await(await fm()).get(),OS=sd(),bs=Lg(TS);ob(bs);bs.use(er);bs.use(OS);bs.component("GlobalMessage",jd);bs.mount("#app");document.readyState==="complete"?zu():window.addEventListener("load",zu,{once:!0});async function zu(){try{const e=(await Ue(async()=>{const{default:r}=await import("./index-ghQi_28l.js");return{default:r}},[],import.meta.url)).default;e.init("rhp8uqoc3l");const n=await IS();console.log("Visitor ID:",n),e.identify(n),e.setTag("fingerprintjs",n)}catch(e){console.warn("Clarity 加载或标识设置失败:",e)}}try{const e=()=>{document.body.classList.add("app-loaded");const t=document.getElementById("app-loader");t&&setTimeout(()=>t.remove(),220)};document.readyState==="complete"||document.readyState==="interactive"?e():window.addEventListener("DOMContentLoaded",e,{once:!0})}catch{}export{Pt as $,cf as A,mo as B,Et as C,fw as D,Pe as E,Te as F,vh as G,K0 as H,$n as I,oa as J,Xd as K,si as L,Wd as M,NS as N,MS as O,wS as P,Vo as Q,Tu as R,us as S,aa as T,gw as U,kS as V,hw as W,Tp as X,D0 as Y,wn as Z,bd as _,aS as a,nr as a$,ce as a0,M as a1,om as a2,im as a3,Be as a4,ab as a5,lb as a6,iw as a7,aw as a8,ow as a9,vr as aA,ar as aB,Wn as aC,qb as aD,On as aE,_o as aF,Er as aG,Ra as aH,bi as aI,ie as aJ,Gn as aK,ca as aL,yo as aM,RS as aN,ga as aO,IS as aP,yw as aQ,pw as aR,Ie as aS,zS as aT,mS as aU,Ug as aV,wt as aW,qS as aX,Vn as aY,Gg as aZ,Ye as a_,Rb as aa,En as ab,db as ac,Ue as ad,ue as ae,DS as af,Ed as ag,ft as ah,B0 as ai,x0 as aj,dn as ak,Bu as al,Kd as am,ri as an,uw as ao,lw as ap,Bv as aq,Jt as ar,fa as as,HS as at,G as au,le as av,Hd as aw,We as ax,GS as ay,WS as az,Oe as b,VS as b$,Wr as b0,QS as b1,JS as b2,_t as b3,Af as b4,$u as b5,bo as b6,ms as b7,dw as b8,xp as b9,Bb as bA,h0 as bB,sw as bC,rw as bD,tw as bE,_r as bF,m0 as bG,ur as bH,Dl as bI,mi as bJ,er as bK,lr as bL,$S as bM,YS as bN,ge as bO,p0 as bP,v0 as bQ,Cb as bR,_b as bS,tt as bT,Eb as bU,wb as bV,Tf as bW,BS as bX,$e as bY,ZS as bZ,yr as b_,Xe as ba,jS as bb,nn as bc,U0 as bd,an as be,Qf as bf,Aa as bg,Pl as bh,Fd as bi,vt as bj,on as bk,Ai as bl,Nc as bm,Da as bn,Ct as bo,vs as bp,gs as bq,bn as br,fb as bs,mb as bt,hb as bu,u0 as bv,l0 as bw,jg as bx,wr as by,Cr as bz,O as c,jn as c0,po as c1,US as c2,Ad as c3,Nb as c4,xd as c5,Ke as c6,te as c7,Bt as c8,Zo as c9,LS as cA,nw as cB,xi as cC,Pa as cD,vw as cE,Ia as cF,Cn as cG,Xo as cH,vi as cI,Lf as cJ,yn as cK,cw as cL,Av as ca,es as cb,ch as cc,Sa as cd,Un as ce,Ei as cf,FS as cg,Ta as ch,ka as ci,a0 as cj,Bc as ck,G0 as cl,Wg as cm,Gr as cn,Of as co,KS as cp,XS as cq,gS as cr,xS as cs,Hc as ct,ys as cu,ps as cv,_n as cw,ew as cx,Cf as cy,mw as cz,he as d,Ar as e,xr as f,ve as g,Me as h,q as i,$t as j,Ea as k,Hu as l,nt as m,xe as n,bt as o,J as p,Gd as q,gh as r,cb as s,Mr as t,Hp as u,Wt as v,je as w,X0 as x,Ld as y,Mo as z}; diff --git a/assets/index-C4pR7dAk.js b/assets/index-DDM9P6IV.js similarity index 99% rename from assets/index-C4pR7dAk.js rename to assets/index-DDM9P6IV.js index 4095f59..001498a 100644 --- a/assets/index-C4pR7dAk.js +++ b/assets/index-DDM9P6IV.js @@ -1,5 +1,5 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-Ck0Pnd4f.js","./index-btKy2yxc.css","./dataProvider-BZ0EQWiW.js","./serverRotation-TSbwZ9RQ.js"])))=>i.map(i=>d[i]); -import{V as jt,a as Ht,_ as pt}from"./ExamConfigEditor-DSJ1EgID.js";import{_ as W,k as S,s as re,j as b,o as c,w as i,c as s,l as _,q as j,t as u,v as D,x as L,y,z as V,i as r,A as p,B as w,C as g,D as vt,F as E,E as Qe,T as Ke,G as U,d as fe,H as J,I as oe,n as he,J as be,K as ve,L as Ie,M as X,N as tt,O as qe,P as we,Q as Se,R as Je,S as xe,U as Kt,W as qt,X as Ae,Y as yt,Z as Ye,$ as Wt,a0 as $,a1 as G,a2 as $e,a3 as Pe,a4 as st,a5 as Gt,a6 as Qt,a7 as Jt,a8 as kt,a9 as bt,aa as xt,ab as Oe,ac as Xe,ad as nt,ae as Le,af as Yt,ag as it,ah as Ee,ai as Ve,aj as Xt,ak as Ne}from"./index-Ck0Pnd4f.js";import{V as Ce}from"./VTextField-C6VOv1Py.js";import{V as Ze,a as Zt}from"./VTooltip-BqVq3svk.js";import{V as O}from"./VChip-C4TXrZae.js";import{s as es,g as wt,j as We,o as ce,a as ts,l as ss}from"./socketClient-CbzMnGVD.js";import{p as at,s as ns,a as ot,V as is,_ as St}from"./VCombobox-BctCYhAJ.js";import{f as as,s as os,c as Ct}from"./deviceEvents-DSVBBN-K.js";import{V as ue,a as ne}from"./VRow-D_zZfsym.js";import{V as ls,a as lt}from"./VPagination-CAsEj5TO.js";import{V as Ue}from"./VTextarea-Akjtg06o.js";import{d as Z,a as Be,g as _t,b as me,k as rs}from"./dataProvider-BZ0EQWiW.js";import{V as rt,a as dt,b as ds,c as us}from"./VAppBarTitle-N2z58aj8.js";import{V as Dt}from"./VContainer-_5I3ogXr.js";import{V as ut}from"./VForm-Jb3Esqve.js";import{V as Ge}from"./VSwitch-B-2xPqHI.js";import{V as cs}from"./filter-BOxM3LRL.js";import{V as _e}from"./VAlert-WqxdeiRc.js";import{V as ms,a as ct,b as mt,c as ft}from"./VExpansionPanels-B6fkQj5C.js";import"./VSkeletonLoader-LZ55LBTh.js";import"./VCheckboxBtn-DWqkYNT7.js";import"./VSheet-DJg5eIit.js";import"./serverRotation-TSbwZ9RQ.js";const fs={name:"RandomPicker",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0,default:()=>({absent:[],late:[],exclude:[]})}},data(){return{dialog:!1,count:S("randomPicker.defaultCount"),isPickingStarted:!1,isAnimating:!1,pickedStudents:[],animationStudents:[],highlightedIndices:[],animationTimer:null,getSetting:S,tempFilters:{excludeAbsent:S("randomPicker.excludeAbsent"),excludeLate:S("randomPicker.excludeLate"),excludeExcluded:S("randomPicker.excludeExcluded")},pickerMode:S("randomPicker.mode"),minNumber:S("randomPicker.minNumber"),maxNumber:S("randomPicker.maxNumber")}},computed:{absentCount(){return this.attendance.absent?this.attendance.absent.length:0},lateCount(){return this.attendance.late?this.attendance.late.length:0},excludedCount(){return this.attendance.exclude?this.attendance.exclude.length:0},numberModeStudents(){if(this.pickerMode!=="number")return[];const t=[];for(let e=this.minNumber;e<=this.maxNumber;e++)t.push(e.toString().padStart(2,"0")+"号");return t},filteredStudents(){return this.pickerMode==="number"?this.numberModeStudents:!this.studentList||!this.studentList.length?[]:this.studentList.filter(t=>!(this.tempFilters.excludeAbsent&&this.attendance.absent.includes(t)||this.tempFilters.excludeLate&&this.attendance.late.includes(t)||this.tempFilters.excludeExcluded&&this.attendance.exclude.includes(t)))},availableStudents(){return this.filteredStudents},maxAllowedCount(){return Math.min(10,this.filteredStudents.length)},remainingStudents(){return this.filteredStudents.filter(t=>!this.pickedStudents.includes(t))}},watch:{dialog(t){t?(this.count=S("randomPicker.defaultCount"),this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.tempFilters={excludeAbsent:S("randomPicker.excludeAbsent"),excludeLate:S("randomPicker.excludeLate"),excludeExcluded:S("randomPicker.excludeExcluded")}):this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},tempFilters:{handler(){this.count>this.maxAllowedCount&&(this.count=Math.max(1,this.maxAllowedCount))},deep:!0},pickerMode:{handler(t){re("randomPicker.mode",t)}},minNumber:{handler(t){t>this.maxNumber&&(this.minNumber=this.maxNumber),t<1&&(this.minNumber=1),re("randomPicker.minNumber",this.minNumber)}},maxNumber:{handler(t){t100&&(this.maxNumber=100),re("randomPicker.maxNumber",this.maxNumber)}}},methods:{open(){this.dialog=!0},incrementCount(){this.count1&&this.count--},startPicking(){this.filteredStudents.length!==0&&(this.isPickingStarted=!0,S("randomPicker.animation")?this.startAnimation():this.finishPicking())},startAnimation(){this.isAnimating=!0,this.animationStudents=this.filteredStudents.map((t,e)=>({id:`student-${e}`,name:t})),this.animateHighlight()},animateHighlight(){let e=0;const a=50,l=()=>{this.highlightedIndices=[];const n=[];for(let d=0;d{this.finishPicking()},500)};l()},finishPicking(){this.isAnimating=!1;const t=[...this.filteredStudents].sort(()=>.5-Math.random());this.pickedStudents=t.slice(0,this.count)},resetPicker(){this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},refreshSingleStudent(t){if(this.remainingStudents.length===0)return;const e=Math.floor(Math.random()*this.remainingStudents.length),a=this.remainingStudents[e];this.pickedStudents[t]=a;const l=document.querySelectorAll(".result-card");l[t]&&(l[t].classList.add("refresh-animation"),setTimeout(()=>{l[t].classList.remove("refresh-animation")},500))}}},hs={class:"d-flex justify-center align-center counter-container"},gs={class:"count-display mx-8"},ps={class:"text-h2 font-weight-bold"},vs={class:"mode-switch-container mt-6"},ys={key:0,class:"number-range-container mt-4"},ks={class:"d-flex justify-center align-center gap-4"},bs={class:"mt-4"},xs={key:1,class:"mt-4 text-error"},ws={class:"mt-4 text-caption"},Ss={class:"pa-2"},Cs={key:0},_s={key:1},Ds={key:2},Ts={key:1,class:"d-flex flex-wrap justify-center gap-2 mt-4"},Is={key:0,class:"animation-container"},Es={class:"animation-wrapper"},Ns={key:1,class:"result-container"},Vs={class:"mt-8 d-flex justify-center"};function As(t,e,a,l,n,o){return c(),b(J,{modelValue:n.dialog,"onUpdate:modelValue":e[8]||(e[8]=d=>n.dialog=d),"fullscreen-breakpoint":"sm","max-width":"600",persistent:""},{default:i(()=>[s(_,{border:"",class:"random-picker-card",rounded:"xl"},{default:i(()=>[s(j,{class:"text-h5 d-flex align-center"},{default:i(()=>[s(D,{class:"mr-2",icon:"mdi-account-question"}),e[9]||(e[9]=u(" 随机点名 ",-1)),s(L),s(y,{icon:"mdi-close",variant:"text",onClick:e[0]||(e[0]=d=>n.dialog=!1)})]),_:1}),n.isPickingStarted?(c(),b(V,{key:1,class:"text-center py-6"},{default:i(()=>[n.isAnimating?(c(),p("div",Is,[r("div",Es,[s(Ke,{class:"shuffle-container",name:"shuffle",tag:"div"},{default:i(()=>[(c(!0),p(E,null,U(n.animationStudents,(d,m)=>(c(),p("div",{key:d.id,class:fe([{highlighted:n.highlightedIndices.includes(m)},"student-item"])},g(d.name),3))),128))]),_:1})])])):(c(),p("div",Ns,[e[19]||(e[19]=r("div",{class:"text-h6 mb-4"},"抽取结果",-1)),(c(!0),p(E,null,U(n.pickedStudents,(d,m)=>(c(),b(_,{key:m,class:"mb-2 result-card",color:"primary",variant:"outlined"},{default:i(()=>[s(V,{class:"text-h4 text-center py-4 d-flex align-center justify-center"},{default:i(()=>[u(g(d)+" ",1),s(y,{disabled:o.remainingStudents.length===0,title:o.remainingStudents.length===0?"没有更多可用学生":"重新抽取此学生",class:"ml-2 refresh-btn",icon:"mdi-refresh",size:"small",variant:"text",onClick:f=>o.refreshSingleStudent(m)},null,8,["disabled","title","onClick"])]),_:2},1024)]),_:2},1024))),128)),r("div",Vs,[s(y,{class:"mx-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",onClick:o.resetPicker},{default:i(()=>[...e[17]||(e[17]=[u(" 重新抽取 ",-1)])]),_:1},8,["onClick"]),s(y,{class:"mx-2",color:"grey",size:"large",variant:"outlined",onClick:e[7]||(e[7]=d=>n.dialog=!1)},{default:i(()=>[...e[18]||(e[18]=[u(" 关闭 ",-1)])]),_:1})])]))]),_:1})):(c(),b(V,{key:0,class:"text-center py-6"},{default:i(()=>[e[16]||(e[16]=r("div",{class:"text-h6 mb-4"},"请选择抽取人数",-1)),r("div",hs,[s(y,{disabled:n.count<=1,class:"counter-btn",color:"primary",icon:"mdi-minus",size:"x-large",variant:"tonal",onClick:o.decrementCount},null,8,["disabled","onClick"]),r("div",gs,[r("span",ps,g(n.count),1),e[10]||(e[10]=r("span",{class:"text-subtitle-1 ml-2"},"人",-1))]),s(y,{disabled:n.count>=o.maxAllowedCount,class:"counter-btn",color:"primary",icon:"mdi-plus",size:"x-large",variant:"tonal",onClick:o.incrementCount},null,8,["disabled","onClick"])]),r("div",vs,[s(vt,{modelValue:n.pickerMode,"onUpdate:modelValue":e[1]||(e[1]=d=>n.pickerMode=d),class:"mode-toggle",color:"primary",mandatory:"",rounded:"pill"},{default:i(()=>[s(y,{"prepend-icon":"mdi-account",value:"name"},{default:i(()=>[...e[11]||(e[11]=[u("姓名模式",-1)])]),_:1}),s(y,{"prepend-icon":"mdi-numeric",value:"number"},{default:i(()=>[...e[12]||(e[12]=[u("学号模式",-1)])]),_:1})]),_:1},8,["modelValue"])]),n.pickerMode==="number"?(c(),p("div",ys,[e[14]||(e[14]=r("div",{class:"text-subtitle-1 mb-2"},"学号范围设置",-1)),r("div",ks,[s(Ce,{modelValue:n.minNumber,"onUpdate:modelValue":e[2]||(e[2]=d=>n.minNumber=d),modelModifiers:{number:!0},class:"number-input",density:"compact","hide-details":"",label:"最小值",max:"100",min:"1",type:"number"},null,8,["modelValue"]),e[13]||(e[13]=r("span",{class:"mx-2"},"至",-1)),s(Ce,{modelValue:n.maxNumber,"onUpdate:modelValue":e[3]||(e[3]=d=>n.maxNumber=d),modelModifiers:{number:!0},class:"number-input",density:"compact","hide-details":"",label:"最大值",max:"100",min:"1",type:"number"},null,8,["modelValue"])])])):w("",!0),r("div",bs,[s(y,{disabled:o.filteredStudents.length===0,class:"start-btn",color:"primary","prepend-icon":"mdi-dice-multiple",size:"x-large",onClick:o.startPicking},{default:i(()=>[...e[15]||(e[15]=[u(" 开始抽取 ",-1)])]),_:1},8,["disabled","onClick"])]),o.filteredStudents.length===0?(c(),p("div",xs,[n.pickerMode==="name"?(c(),p(E,{key:0},[u(" 没有可抽取的学生,请调整过滤选项 ")],64)):(c(),p(E,{key:1},[u(" 请设置有效的学号范围 ")],64))])):w("",!0),r("div",ws,[u(" 当前可抽取学生: "+g(o.filteredStudents.length)+"人 ",1),n.pickerMode==="name"?(c(),b(Ze,{key:0,location:"bottom"},{activator:i(({props:d})=>[s(D,Qe({class:"ml-1",icon:"mdi-information-outline",size:"small"},d),null,16)]),default:i(()=>[r("div",Ss,[n.tempFilters.excludeAbsent?(c(),p("div",Cs," • 已排除请假学生 ("+g(o.absentCount)+"人) ",1)):w("",!0),n.tempFilters.excludeLate?(c(),p("div",_s," • 已排除迟到学生 ("+g(o.lateCount)+"人) ",1)):w("",!0),n.tempFilters.excludeExcluded?(c(),p("div",Ds," • 已排除不参与学生 ("+g(o.excludedCount)+"人) ",1)):w("",!0)])]),_:1})):w("",!0),n.pickerMode==="name"?(c(),p("div",Ts,[s(O,{color:n.tempFilters.excludeLate?"warning":"default",variant:n.tempFilters.excludeLate?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-clock-alert",onClick:e[4]||(e[4]=d=>n.tempFilters.excludeLate=!n.tempFilters.excludeLate)},{default:i(()=>[u(g(n.tempFilters.excludeLate?"排除":"包含")+"迟到学生 ",1)]),_:1},8,["color","variant"]),s(O,{color:n.tempFilters.excludeAbsent?"error":"default",variant:n.tempFilters.excludeAbsent?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-account-off",onClick:e[5]||(e[5]=d=>n.tempFilters.excludeAbsent=!n.tempFilters.excludeAbsent)},{default:i(()=>[u(g(n.tempFilters.excludeAbsent?"排除":"包含")+"请假学生 ",1)]),_:1},8,["color","variant"]),s(O,{color:n.tempFilters.excludeExcluded?"grey":"default",variant:n.tempFilters.excludeExcluded?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-account-cancel",onClick:e[6]||(e[6]=d=>n.tempFilters.excludeExcluded=!n.tempFilters.excludeExcluded)},{default:i(()=>[u(g(n.tempFilters.excludeExcluded?"排除":"包含")+"不参与学生 ",1)]),_:1},8,["color","variant"])])):w("",!0)])]),_:1}))]),_:1})]),_:1},8,["modelValue"])}const Tt=W(fs,[["render",As],["__scopeId","data-v-85e7eea6"]]),Us={name:"EventSender",emits:["sent","error"],methods:{async sendEvent(t,e={}){try{return es(t,e),this.$emit("sent",{eventName:t,content:e,timestamp:new Date().toISOString(),success:!0}),{success:!0,eventId:(e==null?void 0:e.eventId)||null,notificationId:(e==null?void 0:e.notificationId)||null}}catch(a){return console.error("发送事件失败:",a),this.$emit("error",{eventName:t,content:e,error:a.message,timestamp:new Date().toISOString(),success:!1}),{success:!1,error:a.message}}},async sendNotification(t,e=!1,a=[],l={},n=null){const o=`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return this.sendEvent("notification",{eventId:o,notificationId:n,message:t,isUrgent:e,targetDevices:a,senderInfo:l})},async sendReceipt(t,e,a={},l=null){const n=`rcpt-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-receipt",{eventId:n,originalEventId:t,notificationId:l,status:e,deviceInfo:a})},async sendDisplayedReceipt(t={},e=null){const a=`disp-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-displayed",{eventId:a,notificationId:e,deviceInfo:t})},async sendReadReceipt(t={},e=null){const a=`read-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-read",{eventId:a,notificationId:e,deviceInfo:t})}}},zs={style:{display:"none"}};function Ms(t,e,a,l,n,o){return c(),p("div",zs)}const Fe=W(Us,[["render",Ms]]),$s={name:"UrgentNotification",components:{EventSender:Fe},data(){return{visible:!1,notificationQueue:[],currentIndex:0,autoCloseTimer:null,urgentSoundTimer:null,currentAudio:null}},computed:{currentNotification(){return this.notificationQueue[this.currentIndex]||null},hasNotifications(){return this.notificationQueue.length>0},hasMultipleNotifications(){return this.notificationQueue.length>1},notificationCountText(){return this.hasMultipleNotifications?`${this.currentIndex+1} / ${this.notificationQueue.length}`:""},isUrgent(){var t,e;return((e=(t=this.currentNotification)==null?void 0:t.content)==null?void 0:e.isUrgent)||!1},urgencyColor(){return this.isUrgent?"red darken-2":"blue darken-2"},iconColor(){return"white"},urgencyIcon(){return this.isUrgent?"mdi-alert-circle-outline":"mdi-information-outline"},urgencyTitle(){return this.isUrgent?"🚨 紧急通知":"📢 通知消息"},senderName(){var e,a,l;const t=((e=this.currentNotification)==null?void 0:e.senderInfo)||((l=(a=this.currentNotification)==null?void 0:a.content)==null?void 0:l.senderInfo);return t?t.deviceName||t.deviceType||"未知设备":"未知发送者"},deviceType(){var e,a,l;const t=((e=this.currentNotification)==null?void 0:e.senderInfo)||((l=(a=this.currentNotification)==null?void 0:a.content)==null?void 0:l.senderInfo);return(t==null?void 0:t.deviceType)=="teacher"?"教师":(t==null?void 0:t.deviceType)=="student"?"学生":(t==null?void 0:t.deviceType)=="classroom"?"教室":(t==null?void 0:t.deviceType)||"未知类型"},targetDevices(){var t,e;return((e=(t=this.currentNotification)==null?void 0:t.content)==null?void 0:e.targetDevices)||[]}},beforeUnmount(){this.autoCloseTimer&&clearTimeout(this.autoCloseTimer),this.urgentSoundTimer&&clearInterval(this.urgentSoundTimer),this.stopNotificationSound()},methods:{show(t){var a;if(this.notificationQueue.findIndex(l=>{var n,o;return((n=l.content)==null?void 0:n.notificationId)===((o=t.content)==null?void 0:o.notificationId)})!==-1){console.log("通知已存在,跳过添加");return}this.notificationQueue.push(t),this.visible?(a=t.content)!=null&&a.isUrgent&&!this.isUrgent?(this.currentIndex=this.notificationQueue.length-1,this.sendDisplayedReceipt(),this.playNotificationSound(),this.sendBrowserNotification(t),this.startUrgentSound()):this.sendBrowserNotification(t):(this.currentIndex=this.notificationQueue.length-1,this.visible=!0,this.sendDisplayedReceipt(),this.playNotificationSound(),this.sendBrowserNotification(t),this.isUrgent&&this.startUrgentSound())},close(){var t,e,a,l;try{this.sendReadReceipt(),console.log("已发送已读回执")}catch(n){console.warn("发送已读回执失败:",n)}if((e=(t=this.currentNotification)==null?void 0:t.content)!=null&&e.message){const n=this.isUrgent?"紧急通知":"通知";this.isUrgent?(a=this.$message)==null||a.error(n,`${this.currentNotification.content.message}`):(l=this.$message)==null||l.info(n,`${this.currentNotification.content.message}`)}this.notificationQueue.length>0&&(this.notificationQueue.splice(this.currentIndex,1),this.currentIndex>=this.notificationQueue.length&&(this.currentIndex=Math.max(0,this.notificationQueue.length-1)),this.notificationQueue.length>0?(this.sendDisplayedReceipt(),this.isUrgent?this.startUrgentSound():this.stopUrgentSound()):this.closeWithoutRead())},closeWithoutRead(){this.visible=!1,this.notificationQueue=[],this.currentIndex=0,this.autoCloseTimer&&(clearTimeout(this.autoCloseTimer),this.autoCloseTimer=null),this.stopUrgentSound()},formatTime(t){if(!t)return"";try{const e=new Date(t);if(new Date-e<24*60*60*1e3){const n=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`${n}:${o}`}else{const n=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return`${n}/${o}`}}catch{return"无效时间"}},getDeviceTypeLabel(t){return{classroom:"教室设备",student:"学生设备",teacher:"教师设备",admin:"管理员设备",system:"系统设备"}[t]||t},playNotificationSound(){try{this.stopNotificationSound();const t=this.isUrgent?S("notification.urgentSound"):S("notification.singleSound");this.currentAudio=at(t,!1),this.currentAudio||this.playFallbackSound()}catch(t){console.warn("无法播放通知音效:",t),this.playFallbackSound()}},playFallbackSound(){try{const t=new(window.AudioContext||window.webkitAudioContext),e=t.createOscillator(),a=t.createGain();e.connect(a),a.connect(t.destination),e.frequency.value=1e3,e.type="sine",a.gain.value=.3,e.start(),e.stop(t.currentTime+.3)}catch(t){console.warn("无法播放备用音效:",t)}},stopNotificationSound(){this.currentAudio&&(ns(this.currentAudio),this.currentAudio=null)},sendDisplayedReceipt(){var t;try{this.$refs.eventSender&&((t=this.currentNotification)!=null&&t.eventId)&&(this.$refs.eventSender.sendDisplayedReceipt({},this.currentNotification.content.notificationId),console.log("已发送显示回执:",this.currentNotification.eventId))}catch(e){console.warn("发送显示回执失败:",e)}},sendReadReceipt(){var t;try{this.$refs.eventSender&&((t=this.currentNotification)!=null&&t.eventId)&&(this.$refs.eventSender.sendReadReceipt({},this.currentNotification.content.notificationId),console.log("已发送已读回执:",this.currentNotification.eventId))}catch(e){console.warn("发送已读回执失败:",e)}},previousNotification(){this.currentIndex>0&&(this.currentIndex--,this.sendDisplayedReceipt(),this.isUrgent?this.startUrgentSound():this.stopUrgentSound())},nextNotification(){this.currentIndex{this.visible&&this.isUrgent?this.playFallbackSound():this.stopUrgentSound()},1e3))},stopUrgentSound(){this.urgentSoundTimer&&(clearInterval(this.urgentSoundTimer),this.urgentSoundTimer=null),this.stopNotificationSound()},async sendBrowserNotification(t){var e,a,l,n;if(!("Notification"in window)){console.warn("浏览器不支持通知API");return}try{let o=Notification.permission;if(o==="default"&&(o=await Notification.requestPermission()),o!=="granted"){console.warn("用户未授予通知权限");return}const d=((e=t.content)==null?void 0:e.message)||"新通知",m=t.senderInfo||((a=t.content)==null?void 0:a.senderInfo),f=(m==null?void 0:m.deviceName)||(m==null?void 0:m.deviceType)||"未知发送者",h=((l=t.content)==null?void 0:l.isUrgent)||!1,k=new Notification(h?"🚨 紧急通知":"📢 通知消息",{body:`${d} +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-BUM0TY0E.js","./index-btKy2yxc.css","./dataProvider-MQ8YacC2.js","./serverRotation-CjK7Y7P9.js"])))=>i.map(i=>d[i]); +import{V as jt,a as Ht,_ as pt}from"./ExamConfigEditor-BzFaHh6i.js";import{_ as W,k as S,s as re,o as c,j as b,w as i,c as s,l as _,q as j,t as D,v as u,x as L,y,z as V,i as r,A as g,B as vt,C as p,D as w,F as E,E as Qe,T as Ke,G as U,d as fe,H as J,n as he,I as oe,J as be,K as ve,L as Ie,M as X,N as tt,O as qe,P as we,Q as Se,R as Je,S as xe,U as Kt,W as qt,X as Ae,Y as yt,Z as Ye,$ as Wt,a0 as $e,a1 as Pe,a2 as $,a3 as G,a4 as st,a5 as Gt,a6 as Qt,a7 as Jt,a8 as kt,a9 as bt,aa as xt,ab as Oe,ac as Xe,ad as nt,ae as Le,af as Yt,ag as it,ah as Ee,ai as Ve,aj as Xt,ak as Ne}from"./index-BUM0TY0E.js";import{V as Ce}from"./VTextField-C579e7l1.js";import{V as Ze,a as Zt}from"./VTooltip-COe_nB02.js";import{V as O}from"./VChip-vdRDApTi.js";import{s as es,g as wt,j as We,o as ce,a as ts,l as ss}from"./socketClient-BEFY8Nxz.js";import{p as at,s as ns,a as ot,V as is,_ as St}from"./VCombobox-B-HflrVw.js";import{f as as,s as os,c as Ct}from"./deviceEvents-Dj8WEgqu.js";import{V as ue,a as ne}from"./VRow-CPw1R1BU.js";import{V as ls,a as lt}from"./VPagination-CbPhc6Cb.js";import{V as Ue}from"./VTextarea-jqnFSwaH.js";import{d as Z,a as Be,g as _t,b as me,k as rs}from"./dataProvider-MQ8YacC2.js";import{V as rt,a as dt,b as ds,c as us}from"./VAppBarTitle-DZ_l7t3b.js";import{V as Dt}from"./VContainer-DakLDC1m.js";import{V as ut}from"./VForm-Bz_LQtPX.js";import{V as Ge}from"./VSwitch-CjVC2rsZ.js";import{V as cs}from"./filter-ByuXXWRY.js";import{V as _e}from"./VAlert-DFIvt6kt.js";import{V as ms,a as ct,b as mt,c as ft}from"./VExpansionPanels-DzF6AfvT.js";import"./VSkeletonLoader-DX2FpkIS.js";import"./VCheckboxBtn-CylQNaxd.js";import"./VSheet-CuIjBtz7.js";import"./serverRotation-CjK7Y7P9.js";const fs={name:"RandomPicker",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0,default:()=>({absent:[],late:[],exclude:[]})}},data(){return{dialog:!1,count:S("randomPicker.defaultCount"),isPickingStarted:!1,isAnimating:!1,pickedStudents:[],animationStudents:[],highlightedIndices:[],animationTimer:null,getSetting:S,tempFilters:{excludeAbsent:S("randomPicker.excludeAbsent"),excludeLate:S("randomPicker.excludeLate"),excludeExcluded:S("randomPicker.excludeExcluded")},pickerMode:S("randomPicker.mode"),minNumber:S("randomPicker.minNumber"),maxNumber:S("randomPicker.maxNumber")}},computed:{absentCount(){return this.attendance.absent?this.attendance.absent.length:0},lateCount(){return this.attendance.late?this.attendance.late.length:0},excludedCount(){return this.attendance.exclude?this.attendance.exclude.length:0},numberModeStudents(){if(this.pickerMode!=="number")return[];const t=[];for(let e=this.minNumber;e<=this.maxNumber;e++)t.push(e.toString().padStart(2,"0")+"号");return t},filteredStudents(){return this.pickerMode==="number"?this.numberModeStudents:!this.studentList||!this.studentList.length?[]:this.studentList.filter(t=>!(this.tempFilters.excludeAbsent&&this.attendance.absent.includes(t)||this.tempFilters.excludeLate&&this.attendance.late.includes(t)||this.tempFilters.excludeExcluded&&this.attendance.exclude.includes(t)))},availableStudents(){return this.filteredStudents},maxAllowedCount(){return Math.min(10,this.filteredStudents.length)},remainingStudents(){return this.filteredStudents.filter(t=>!this.pickedStudents.includes(t))}},watch:{dialog(t){t?(this.count=S("randomPicker.defaultCount"),this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.tempFilters={excludeAbsent:S("randomPicker.excludeAbsent"),excludeLate:S("randomPicker.excludeLate"),excludeExcluded:S("randomPicker.excludeExcluded")}):this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},tempFilters:{handler(){this.count>this.maxAllowedCount&&(this.count=Math.max(1,this.maxAllowedCount))},deep:!0},pickerMode:{handler(t){re("randomPicker.mode",t)}},minNumber:{handler(t){t>this.maxNumber&&(this.minNumber=this.maxNumber),t<1&&(this.minNumber=1),re("randomPicker.minNumber",this.minNumber)}},maxNumber:{handler(t){t100&&(this.maxNumber=100),re("randomPicker.maxNumber",this.maxNumber)}}},methods:{open(){this.dialog=!0},incrementCount(){this.count1&&this.count--},startPicking(){this.filteredStudents.length!==0&&(this.isPickingStarted=!0,S("randomPicker.animation")?this.startAnimation():this.finishPicking())},startAnimation(){this.isAnimating=!0,this.animationStudents=this.filteredStudents.map((t,e)=>({id:`student-${e}`,name:t})),this.animateHighlight()},animateHighlight(){let e=0;const a=50,l=()=>{this.highlightedIndices=[];const n=[];for(let d=0;d{this.finishPicking()},500)};l()},finishPicking(){this.isAnimating=!1;const t=[...this.filteredStudents].sort(()=>.5-Math.random());this.pickedStudents=t.slice(0,this.count)},resetPicker(){this.isPickingStarted=!1,this.isAnimating=!1,this.pickedStudents=[],this.animationTimer&&(clearTimeout(this.animationTimer),this.animationTimer=null)},refreshSingleStudent(t){if(this.remainingStudents.length===0)return;const e=Math.floor(Math.random()*this.remainingStudents.length),a=this.remainingStudents[e];this.pickedStudents[t]=a;const l=document.querySelectorAll(".result-card");l[t]&&(l[t].classList.add("refresh-animation"),setTimeout(()=>{l[t].classList.remove("refresh-animation")},500))}}},hs={class:"d-flex justify-center align-center counter-container"},gs={class:"count-display mx-8"},ps={class:"text-h2 font-weight-bold"},vs={class:"mode-switch-container mt-6"},ys={key:0,class:"number-range-container mt-4"},ks={class:"d-flex justify-center align-center gap-4"},bs={class:"mt-4"},xs={key:1,class:"mt-4 text-error"},ws={class:"mt-4 text-caption"},Ss={class:"pa-2"},Cs={key:0},_s={key:1},Ds={key:2},Ts={key:1,class:"d-flex flex-wrap justify-center gap-2 mt-4"},Is={key:0,class:"animation-container"},Es={class:"animation-wrapper"},Ns={key:1,class:"result-container"},Vs={class:"mt-8 d-flex justify-center"};function As(t,e,a,l,n,o){return c(),b(J,{modelValue:n.dialog,"onUpdate:modelValue":e[8]||(e[8]=d=>n.dialog=d),"fullscreen-breakpoint":"sm","max-width":"600",persistent:""},{default:i(()=>[s(_,{border:"",class:"random-picker-card",rounded:"xl"},{default:i(()=>[s(j,{class:"text-h5 d-flex align-center"},{default:i(()=>[s(D,{class:"mr-2",icon:"mdi-account-question"}),e[9]||(e[9]=u(" 随机点名 ",-1)),s(L),s(y,{icon:"mdi-close",variant:"text",onClick:e[0]||(e[0]=d=>n.dialog=!1)})]),_:1}),n.isPickingStarted?(c(),b(V,{key:1,class:"text-center py-6"},{default:i(()=>[n.isAnimating?(c(),p("div",Is,[r("div",Es,[s(Ke,{class:"shuffle-container",name:"shuffle",tag:"div"},{default:i(()=>[(c(!0),p(E,null,U(n.animationStudents,(d,m)=>(c(),p("div",{key:d.id,class:fe([{highlighted:n.highlightedIndices.includes(m)},"student-item"])},g(d.name),3))),128))]),_:1})])])):(c(),p("div",Ns,[e[19]||(e[19]=r("div",{class:"text-h6 mb-4"},"抽取结果",-1)),(c(!0),p(E,null,U(n.pickedStudents,(d,m)=>(c(),b(_,{key:m,class:"mb-2 result-card",color:"primary",variant:"outlined"},{default:i(()=>[s(V,{class:"text-h4 text-center py-4 d-flex align-center justify-center"},{default:i(()=>[u(g(d)+" ",1),s(y,{disabled:o.remainingStudents.length===0,title:o.remainingStudents.length===0?"没有更多可用学生":"重新抽取此学生",class:"ml-2 refresh-btn",icon:"mdi-refresh",size:"small",variant:"text",onClick:f=>o.refreshSingleStudent(m)},null,8,["disabled","title","onClick"])]),_:2},1024)]),_:2},1024))),128)),r("div",Vs,[s(y,{class:"mx-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",onClick:o.resetPicker},{default:i(()=>[...e[17]||(e[17]=[u(" 重新抽取 ",-1)])]),_:1},8,["onClick"]),s(y,{class:"mx-2",color:"grey",size:"large",variant:"outlined",onClick:e[7]||(e[7]=d=>n.dialog=!1)},{default:i(()=>[...e[18]||(e[18]=[u(" 关闭 ",-1)])]),_:1})])]))]),_:1})):(c(),b(V,{key:0,class:"text-center py-6"},{default:i(()=>[e[16]||(e[16]=r("div",{class:"text-h6 mb-4"},"请选择抽取人数",-1)),r("div",hs,[s(y,{disabled:n.count<=1,class:"counter-btn",color:"primary",icon:"mdi-minus",size:"x-large",variant:"tonal",onClick:o.decrementCount},null,8,["disabled","onClick"]),r("div",gs,[r("span",ps,g(n.count),1),e[10]||(e[10]=r("span",{class:"text-subtitle-1 ml-2"},"人",-1))]),s(y,{disabled:n.count>=o.maxAllowedCount,class:"counter-btn",color:"primary",icon:"mdi-plus",size:"x-large",variant:"tonal",onClick:o.incrementCount},null,8,["disabled","onClick"])]),r("div",vs,[s(vt,{modelValue:n.pickerMode,"onUpdate:modelValue":e[1]||(e[1]=d=>n.pickerMode=d),class:"mode-toggle",color:"primary",mandatory:"",rounded:"pill"},{default:i(()=>[s(y,{"prepend-icon":"mdi-account",value:"name"},{default:i(()=>[...e[11]||(e[11]=[u("姓名模式",-1)])]),_:1}),s(y,{"prepend-icon":"mdi-numeric",value:"number"},{default:i(()=>[...e[12]||(e[12]=[u("学号模式",-1)])]),_:1})]),_:1},8,["modelValue"])]),n.pickerMode==="number"?(c(),p("div",ys,[e[14]||(e[14]=r("div",{class:"text-subtitle-1 mb-2"},"学号范围设置",-1)),r("div",ks,[s(Ce,{modelValue:n.minNumber,"onUpdate:modelValue":e[2]||(e[2]=d=>n.minNumber=d),modelModifiers:{number:!0},class:"number-input",density:"compact","hide-details":"",label:"最小值",max:"100",min:"1",type:"number"},null,8,["modelValue"]),e[13]||(e[13]=r("span",{class:"mx-2"},"至",-1)),s(Ce,{modelValue:n.maxNumber,"onUpdate:modelValue":e[3]||(e[3]=d=>n.maxNumber=d),modelModifiers:{number:!0},class:"number-input",density:"compact","hide-details":"",label:"最大值",max:"100",min:"1",type:"number"},null,8,["modelValue"])])])):w("",!0),r("div",bs,[s(y,{disabled:o.filteredStudents.length===0,class:"start-btn",color:"primary","prepend-icon":"mdi-dice-multiple",size:"x-large",onClick:o.startPicking},{default:i(()=>[...e[15]||(e[15]=[u(" 开始抽取 ",-1)])]),_:1},8,["disabled","onClick"])]),o.filteredStudents.length===0?(c(),p("div",xs,[n.pickerMode==="name"?(c(),p(E,{key:0},[u(" 没有可抽取的学生,请调整过滤选项 ")],64)):(c(),p(E,{key:1},[u(" 请设置有效的学号范围 ")],64))])):w("",!0),r("div",ws,[u(" 当前可抽取学生: "+g(o.filteredStudents.length)+"人 ",1),n.pickerMode==="name"?(c(),b(Ze,{key:0,location:"bottom"},{activator:i(({props:d})=>[s(D,Qe({class:"ml-1",icon:"mdi-information-outline",size:"small"},d),null,16)]),default:i(()=>[r("div",Ss,[n.tempFilters.excludeAbsent?(c(),p("div",Cs," • 已排除请假学生 ("+g(o.absentCount)+"人) ",1)):w("",!0),n.tempFilters.excludeLate?(c(),p("div",_s," • 已排除迟到学生 ("+g(o.lateCount)+"人) ",1)):w("",!0),n.tempFilters.excludeExcluded?(c(),p("div",Ds," • 已排除不参与学生 ("+g(o.excludedCount)+"人) ",1)):w("",!0)])]),_:1})):w("",!0),n.pickerMode==="name"?(c(),p("div",Ts,[s(O,{color:n.tempFilters.excludeLate?"warning":"default",variant:n.tempFilters.excludeLate?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-clock-alert",onClick:e[4]||(e[4]=d=>n.tempFilters.excludeLate=!n.tempFilters.excludeLate)},{default:i(()=>[u(g(n.tempFilters.excludeLate?"排除":"包含")+"迟到学生 ",1)]),_:1},8,["color","variant"]),s(O,{color:n.tempFilters.excludeAbsent?"error":"default",variant:n.tempFilters.excludeAbsent?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-account-off",onClick:e[5]||(e[5]=d=>n.tempFilters.excludeAbsent=!n.tempFilters.excludeAbsent)},{default:i(()=>[u(g(n.tempFilters.excludeAbsent?"排除":"包含")+"请假学生 ",1)]),_:1},8,["color","variant"]),s(O,{color:n.tempFilters.excludeExcluded?"grey":"default",variant:n.tempFilters.excludeExcluded?"elevated":"text",class:"filter-chip","prepend-icon":"mdi-account-cancel",onClick:e[6]||(e[6]=d=>n.tempFilters.excludeExcluded=!n.tempFilters.excludeExcluded)},{default:i(()=>[u(g(n.tempFilters.excludeExcluded?"排除":"包含")+"不参与学生 ",1)]),_:1},8,["color","variant"])])):w("",!0)])]),_:1}))]),_:1})]),_:1},8,["modelValue"])}const Tt=W(fs,[["render",As],["__scopeId","data-v-85e7eea6"]]),Us={name:"EventSender",emits:["sent","error"],methods:{async sendEvent(t,e={}){try{return es(t,e),this.$emit("sent",{eventName:t,content:e,timestamp:new Date().toISOString(),success:!0}),{success:!0,eventId:(e==null?void 0:e.eventId)||null,notificationId:(e==null?void 0:e.notificationId)||null}}catch(a){return console.error("发送事件失败:",a),this.$emit("error",{eventName:t,content:e,error:a.message,timestamp:new Date().toISOString(),success:!1}),{success:!1,error:a.message}}},async sendNotification(t,e=!1,a=[],l={},n=null){const o=`evt-${Date.now()}-${Math.random().toString(36).slice(2,8)}`;return this.sendEvent("notification",{eventId:o,notificationId:n,message:t,isUrgent:e,targetDevices:a,senderInfo:l})},async sendReceipt(t,e,a={},l=null){const n=`rcpt-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-receipt",{eventId:n,originalEventId:t,notificationId:l,status:e,deviceInfo:a})},async sendDisplayedReceipt(t={},e=null){const a=`disp-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-displayed",{eventId:a,notificationId:e,deviceInfo:t})},async sendReadReceipt(t={},e=null){const a=`read-${Date.now()}-${Math.random().toString(36).slice(2,6)}`;return this.sendEvent("notification-read",{eventId:a,notificationId:e,deviceInfo:t})}}},zs={style:{display:"none"}};function Ms(t,e,a,l,n,o){return c(),p("div",zs)}const Fe=W(Us,[["render",Ms]]),$s={name:"UrgentNotification",components:{EventSender:Fe},data(){return{visible:!1,notificationQueue:[],currentIndex:0,autoCloseTimer:null,urgentSoundTimer:null,currentAudio:null}},computed:{currentNotification(){return this.notificationQueue[this.currentIndex]||null},hasNotifications(){return this.notificationQueue.length>0},hasMultipleNotifications(){return this.notificationQueue.length>1},notificationCountText(){return this.hasMultipleNotifications?`${this.currentIndex+1} / ${this.notificationQueue.length}`:""},isUrgent(){var t,e;return((e=(t=this.currentNotification)==null?void 0:t.content)==null?void 0:e.isUrgent)||!1},urgencyColor(){return this.isUrgent?"red darken-2":"blue darken-2"},iconColor(){return"white"},urgencyIcon(){return this.isUrgent?"mdi-alert-circle-outline":"mdi-information-outline"},urgencyTitle(){return this.isUrgent?"🚨 紧急通知":"📢 通知消息"},senderName(){var e,a,l;const t=((e=this.currentNotification)==null?void 0:e.senderInfo)||((l=(a=this.currentNotification)==null?void 0:a.content)==null?void 0:l.senderInfo);return t?t.deviceName||t.deviceType||"未知设备":"未知发送者"},deviceType(){var e,a,l;const t=((e=this.currentNotification)==null?void 0:e.senderInfo)||((l=(a=this.currentNotification)==null?void 0:a.content)==null?void 0:l.senderInfo);return(t==null?void 0:t.deviceType)=="teacher"?"教师":(t==null?void 0:t.deviceType)=="student"?"学生":(t==null?void 0:t.deviceType)=="classroom"?"教室":(t==null?void 0:t.deviceType)||"未知类型"},targetDevices(){var t,e;return((e=(t=this.currentNotification)==null?void 0:t.content)==null?void 0:e.targetDevices)||[]}},beforeUnmount(){this.autoCloseTimer&&clearTimeout(this.autoCloseTimer),this.urgentSoundTimer&&clearInterval(this.urgentSoundTimer),this.stopNotificationSound()},methods:{show(t){var a;if(this.notificationQueue.findIndex(l=>{var n,o;return((n=l.content)==null?void 0:n.notificationId)===((o=t.content)==null?void 0:o.notificationId)})!==-1){console.log("通知已存在,跳过添加");return}this.notificationQueue.push(t),this.visible?(a=t.content)!=null&&a.isUrgent&&!this.isUrgent?(this.currentIndex=this.notificationQueue.length-1,this.sendDisplayedReceipt(),this.playNotificationSound(),this.sendBrowserNotification(t),this.startUrgentSound()):this.sendBrowserNotification(t):(this.currentIndex=this.notificationQueue.length-1,this.visible=!0,this.sendDisplayedReceipt(),this.playNotificationSound(),this.sendBrowserNotification(t),this.isUrgent&&this.startUrgentSound())},close(){var t,e,a,l;try{this.sendReadReceipt(),console.log("已发送已读回执")}catch(n){console.warn("发送已读回执失败:",n)}if((e=(t=this.currentNotification)==null?void 0:t.content)!=null&&e.message){const n=this.isUrgent?"紧急通知":"通知";this.isUrgent?(a=this.$message)==null||a.error(n,`${this.currentNotification.content.message}`):(l=this.$message)==null||l.info(n,`${this.currentNotification.content.message}`)}this.notificationQueue.length>0&&(this.notificationQueue.splice(this.currentIndex,1),this.currentIndex>=this.notificationQueue.length&&(this.currentIndex=Math.max(0,this.notificationQueue.length-1)),this.notificationQueue.length>0?(this.sendDisplayedReceipt(),this.isUrgent?this.startUrgentSound():this.stopUrgentSound()):this.closeWithoutRead())},closeWithoutRead(){this.visible=!1,this.notificationQueue=[],this.currentIndex=0,this.autoCloseTimer&&(clearTimeout(this.autoCloseTimer),this.autoCloseTimer=null),this.stopUrgentSound()},formatTime(t){if(!t)return"";try{const e=new Date(t);if(new Date-e<24*60*60*1e3){const n=String(e.getHours()).padStart(2,"0"),o=String(e.getMinutes()).padStart(2,"0");return`${n}:${o}`}else{const n=String(e.getMonth()+1).padStart(2,"0"),o=String(e.getDate()).padStart(2,"0");return`${n}/${o}`}}catch{return"无效时间"}},getDeviceTypeLabel(t){return{classroom:"教室设备",student:"学生设备",teacher:"教师设备",admin:"管理员设备",system:"系统设备"}[t]||t},playNotificationSound(){try{this.stopNotificationSound();const t=this.isUrgent?S("notification.urgentSound"):S("notification.singleSound");this.currentAudio=at(t,!1),this.currentAudio||this.playFallbackSound()}catch(t){console.warn("无法播放通知音效:",t),this.playFallbackSound()}},playFallbackSound(){try{const t=new(window.AudioContext||window.webkitAudioContext),e=t.createOscillator(),a=t.createGain();e.connect(a),a.connect(t.destination),e.frequency.value=1e3,e.type="sine",a.gain.value=.3,e.start(),e.stop(t.currentTime+.3)}catch(t){console.warn("无法播放备用音效:",t)}},stopNotificationSound(){this.currentAudio&&(ns(this.currentAudio),this.currentAudio=null)},sendDisplayedReceipt(){var t;try{this.$refs.eventSender&&((t=this.currentNotification)!=null&&t.eventId)&&(this.$refs.eventSender.sendDisplayedReceipt({},this.currentNotification.content.notificationId),console.log("已发送显示回执:",this.currentNotification.eventId))}catch(e){console.warn("发送显示回执失败:",e)}},sendReadReceipt(){var t;try{this.$refs.eventSender&&((t=this.currentNotification)!=null&&t.eventId)&&(this.$refs.eventSender.sendReadReceipt({},this.currentNotification.content.notificationId),console.log("已发送已读回执:",this.currentNotification.eventId))}catch(e){console.warn("发送已读回执失败:",e)}},previousNotification(){this.currentIndex>0&&(this.currentIndex--,this.sendDisplayedReceipt(),this.isUrgent?this.startUrgentSound():this.stopUrgentSound())},nextNotification(){this.currentIndex{this.visible&&this.isUrgent?this.playFallbackSound():this.stopUrgentSound()},1e3))},stopUrgentSound(){this.urgentSoundTimer&&(clearInterval(this.urgentSoundTimer),this.urgentSoundTimer=null),this.stopNotificationSound()},async sendBrowserNotification(t){var e,a,l,n;if(!("Notification"in window)){console.warn("浏览器不支持通知API");return}try{let o=Notification.permission;if(o==="default"&&(o=await Notification.requestPermission()),o!=="granted"){console.warn("用户未授予通知权限");return}const d=((e=t.content)==null?void 0:e.message)||"新通知",m=t.senderInfo||((a=t.content)==null?void 0:a.senderInfo),f=(m==null?void 0:m.deviceName)||(m==null?void 0:m.deviceType)||"未知发送者",h=((l=t.content)==null?void 0:l.isUrgent)||!1,k=new Notification(h?"🚨 紧急通知":"📢 通知消息",{body:`${d} 来自: ${f}`,icon:"/pwa/image/icon-192.png",badge:"/pwa/image/icon-192.png",tag:((n=t.content)==null?void 0:n.notificationId)||`notification-${Date.now()}`,requireInteraction:h,silent:!1,vibrate:h?[200,100,200,100,200]:[200],timestamp:t.timestamp||Date.now()});k.onclick=()=>{window.focus(),k.close()},h||setTimeout(()=>{k.close()},1e4)}catch(o){console.error("发送浏览器通知失败:",o)}}}},Ps={class:"urgent-title mb-6"},Ls={class:"urgent-subtitle mb-6"},Fs={key:0,class:"navigation-controls mt-6"},Rs={class:"notification-counter mb-3"},Os={class:"navigation-buttons"},Bs={class:"mt-8"};function js(t,e,a,l,n,o){const d=Fe;return c(),p(E,null,[s(J,{modelValue:n.visible,"onUpdate:modelValue":e[0]||(e[0]=m=>n.visible=m),"max-width":"800",persistent:"",transition:"dialog-transition",class:"urgent-notification-dialog"},{default:i(()=>[s(_,{class:"urgent-notification-card",color:o.urgencyColor,elevation:"24"},{default:i(()=>[s(V,null,{default:i(()=>{var m,f,h;return[r("div",Ps,g(((f=(m=o.currentNotification)==null?void 0:m.content)==null?void 0:f.message)||"无内容"),1),r("div",Ls,g(o.senderName)+" "+g(o.deviceType)+" "+g(o.formatTime((h=o.currentNotification)==null?void 0:h.timestamp)),1),o.hasMultipleNotifications?(c(),p("div",Fs,[s(_,{variant:"flat",color:"rgba(255,255,255,0.1)"},{default:i(()=>[s(V,{class:"text-center"},{default:i(()=>[r("div",Rs,[s(O,{color:"white",variant:"flat",size:"small"},{default:i(()=>[u(g(o.notificationCountText),1)]),_:1})]),r("div",Os,[s(y,{disabled:n.currentIndex===0,color:"white",variant:"outlined",size:"small",onClick:o.previousNotification},{default:i(()=>[s(D,null,{default:i(()=>[...e[1]||(e[1]=[u(" mdi-chevron-left ",-1)])]),_:1}),e[2]||(e[2]=u(" 上一个 ",-1))]),_:1},8,["disabled","onClick"]),s(y,{disabled:n.currentIndex===n.notificationQueue.length-1,color:"white",variant:"outlined",size:"small",class:"ml-2",onClick:o.nextNotification},{default:i(()=>[e[4]||(e[4]=u(" 下一个 ",-1)),s(D,null,{default:i(()=>[...e[3]||(e[3]=[u(" mdi-chevron-right ",-1)])]),_:1})]),_:1},8,["disabled","onClick"])])]),_:1})]),_:1})])):w("",!0),r("div",Bs,[s(y,{color:"white",size:"large",variant:"flat",onClick:o.close},{default:i(()=>[s(D,{left:""},{default:i(()=>[...e[5]||(e[5]=[u(" mdi-check ",-1)])]),_:1}),e[6]||(e[6]=u(" 我知道了 ",-1))]),_:1},8,["onClick"])])]}),_:1})]),_:1},8,["color"])]),_:1},8,["modelValue"]),s(d,{ref:"eventSender"},null,512)],64)}const It=W($s,[["render",js],["__scopeId","data-v-6190a823"]]),Hs={name:"ChatWidget",components:{UrgentNotification:It},props:{modelValue:{type:Boolean,default:!1},showButton:{type:Boolean,default:!0},offset:{type:Number,default:16},width:{type:Number,default:380},height:{type:Number,default:520}},emits:["update:modelValue"],data(){return{visible:this.modelValue,text:"",messages:[],allEvents:[],lastVisit:null,unreadCount:0,connected:!1,socketId:"",currentMode:"chat",currentPage:1,itemsPerPage:20,loading:!1,isDestroying:!1,eventStats:{chat:0,kvChanged:0,other:0},cleanupFunctions:[]}},computed:{panelStyle(){return{right:this.offset+"px",bottom:this.offset+"px",width:this.width+"px",height:this.height+"px"}},toggleStyle(){return{right:this.offset+"px",bottom:this.offset+"px"}},canSend(){return!!(S("server.kvToken")&&this.text.trim())},showToggleButton(){return this.$props.showButton&&!this.visible},decoratedMessages(){if(!this.lastVisit)return this.messages;const t=this.messages.findIndex(l=>l.at&&new Date(l.at).getTime()>=new Date(this.lastVisit).getTime());if(t<=0)return this.messages;const e=this.messages.slice(0,t),a=this.messages.slice(t);return[...e,{_id:"divider",_type:"divider"},...a]},currentDisplayItems(){return this.currentMode==="chat"?this.decoratedMessages:this.paginatedEvents},paginatedEvents(){if(this.isDestroying||!this.allEvents)return[];const t=(this.currentPage-1)*this.itemsPerPage,e=t+this.itemsPerPage;return this.allEvents.slice(t,e)},totalPages(){return this.isDestroying||!this.allEvents?1:Math.ceil(this.allEvents.length/this.itemsPerPage)},modeTitle(){return this.currentMode==="chat"?"设备聊天室":"所有事件"}},watch:{modelValue(t){this.visible=t,t&&this.onOpen()}},mounted(){try{const h=localStorage.getItem("chat.lastVisit");h&&(this.lastVisit=h)}catch{}const t=wt();this.connected=!!t.connected,this.socketId=t.id||"",t.on("connect",()=>{this.connected=!0,this.socketId=t.id||""}),t.on("disconnect",()=>{this.connected=!1});const e=S("server.kvToken");e&&We(e);const a=h=>(...k)=>{if(!this.isDestroying)try{h(...k)}catch(I){console.error("ChatWidget 事件处理错误:",I)}},l=ce("chat:message",a(h=>{this.pushMessage(h),this.addEvent({_id:`legacy-chat-${Date.now()}-${Math.random()}`,type:"chat:message",content:h,timestamp:h.at||new Date().toISOString(),senderId:h.senderId,uuid:h.uuid,senderInfo:h.senderInfo})})),n=ce("chat",a(h=>{if(h&&h.content&&h.content.text){const k={text:h.content.text,senderId:h.senderId,at:h.timestamp,uuid:h.senderId,senderInfo:h.senderInfo};this.pushMessage(k),this.addEvent({_id:h.eventId||`chat-${Date.now()}-${Math.random()}`,type:"chat",content:h.content,timestamp:h.timestamp,eventId:h.eventId,senderId:h.senderId,senderInfo:h.senderInfo})}}));this.deviceEventHandler=Ct({onChat:a((h,k)=>{this.pushMessage(h),this.addEvent(k)}),onKvChanged:a((h,k)=>{this.addEvent(k)}),onUrgentNotice:a((h,k)=>{this.addEvent(k),this.showUrgentNotification(k)}),onNotification:a((h,k)=>{console.log("收到通知事件:",h,k),this.addEvent(k),this.showUrgentNotification(k)}),onOtherEvent:a(h=>{(h.type==="urgent-notice"||h.type==="notification")&&this.showUrgentNotification(h),this.addEvent(h)}),enableLegacySupport:!0});const o=ce("device-event",this.deviceEventHandler),d=ce("kv-key-changed",a(h=>{h.content&&h.timestamp?this.addEvent({_id:`kv-${Date.now()}-${Math.random()}`,type:"kv-key-changed",content:h.content,timestamp:h.timestamp,eventId:h.eventId,senderId:h.senderId,senderInfo:h.senderInfo}):this.addEvent({_id:`legacy-kv-${Date.now()}-${Math.random()}`,type:"kv-key-changed",content:h,timestamp:h.updatedAt||new Date().toISOString(),uuid:h.uuid})})),m=ce("urgent-notice",a(h=>{console.log("收到紧急通知:",h),this.addEvent({_id:`urgent-${Date.now()}-${Math.random()}`,type:"urgent-notice",content:h.content||h,timestamp:h.timestamp||new Date().toISOString(),eventId:h.eventId,senderId:h.senderId,senderInfo:h.senderInfo}),this.showUrgentNotification(h)})),f=ce("notification",a(h=>{var k;console.log("收到通知事件:",h),this.addEvent({_id:`notification-${Date.now()}-${Math.random()}`,type:"notification",content:h.content||h,timestamp:h.timestamp||new Date().toISOString(),eventId:h.eventId,senderId:h.senderId,senderInfo:h.senderInfo||((k=h.content)==null?void 0:k.senderInfo)}),this.showUrgentNotification(h)}));this.cleanupFunctions=[l,n,m,f,o,d],this.visible&&this.onOpen()},beforeUnmount(){this.isDestroying=!0,this.cleanupFunctions&&Array.isArray(this.cleanupFunctions)&&this.cleanupFunctions.forEach(t=>{try{typeof t=="function"&&t()}catch(e){console.warn("ChatWidget 清理函数执行失败:",e)}});try{this.offMessage&&this.offMessage(),this.offDeviceEvent&&this.offDeviceEvent(),this.offKvChanged&&this.offKvChanged()}catch(t){console.warn("ChatWidget 旧清理函数执行失败:",t)}this.cleanupFunctions=[],this.messages=[],this.allEvents=[]},methods:{open(){this.visible=!0,this.$emit("update:modelValue",!0),this.onOpen()},close(){this.visible=!1,this.$emit("update:modelValue",!1);try{localStorage.setItem("chat.lastVisit",new Date().toISOString())}catch{}this.unreadCount=0},onOpen(){this.$nextTick(()=>this.scrollToBottom())},insertEmoji(t){this.text+=t,this.$nextTick(()=>{var e,a;if((a=(e=this.$refs.inputRef)==null?void 0:e.$el)!=null&&a.querySelector){const l=this.$refs.inputRef.$el.querySelector("textarea");l==null||l.focus()}})},handleEnter(t){t.shiftKey||this.send()},send(){const t=this.text.trim();if(!t)return;const e={_id:`self-${Date.now()}-${Math.random()}`,text:t,at:new Date().toISOString(),senderId:this.socketId,self:!0,senderInfo:{deviceName:"我",deviceType:"client",isReadOnly:!1}};this.pushMessage(e),this.addEvent({_id:`self-event-${Date.now()}-${Math.random()}`,type:"chat",content:{text:t},timestamp:new Date().toISOString(),senderId:this.socketId,senderInfo:{deviceName:"本设备",deviceType:"client",isReadOnly:!1}}),os(t),this.text=""},pushMessage(t){if(!(this.isDestroying||!t))try{const e={_id:`${t.at||Date.now()}-${Math.random()}`,text:typeof(t==null?void 0:t.text)=="string"?t.text:(t==null?void 0:t.text)||"",at:t.at||new Date().toISOString(),senderId:t.senderId,self:!!(t.senderId&&t.senderId===this.socketId),senderInfo:t.senderInfo||null,deviceName:this.getDeviceName(t.senderInfo,t.senderId===this.socketId)};if(!e.text)return;this.messages.push(e),this.visible||this.unreadCount++,this.$nextTick(()=>{this.isDestroying||this.scrollToBottom()}),this.messages.length>500&&this.messages.shift()}catch(e){console.error("ChatWidget pushMessage 错误:",e)}},formatTime(t){try{const e=new Date(t),a=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0");return`${a}:${l}`}catch{return""}},scrollToBottom(){if(!this.isDestroying)try{const t=this.$refs.listRef;if(!t)return;requestAnimationFrame(()=>{!this.isDestroying&&t&&(t.scrollTop=t.scrollHeight)})}catch(t){console.warn("ChatWidget scrollToBottom 错误:",t)}},addEvent(t){if(!(this.isDestroying||!t))try{this.allEvents.unshift(t),t.type==="chat"||t.type==="chat:message"?this.eventStats.chat++:t.type==="kv-key-changed"?this.eventStats.kvChanged++:this.eventStats.other++,this.allEvents.length>200&&(this.allEvents=this.allEvents.slice(0,200))}catch(e){console.error("ChatWidget addEvent 错误:",e)}},getEventColor(t){switch(t){case"chat":case"chat:message":return"success";case"kv-key-changed":return"info";default:return"warning"}},getEventTypeLabel(t){switch(t){case"chat":case"chat:message":return"聊天";case"kv-key-changed":return"KV变化";default:return t}},formatDeviceInfo(t){return as(t)},getDeviceName(t,e=!1){return e?"我":t?t.deviceName==="realtime"?"系统":t.deviceName||t.deviceType||"未知设备":"未知设备"},showUrgentNotification(t){try{this.$refs.urgentNotification?this.$refs.urgentNotification.show(t):console.warn("紧急通知组件未找到")}catch(e){console.error("显示紧急通知失败:",e)}}}},Ks={class:"text-subtitle-1"},qs={key:0,ref:"listRef",class:"messages"},Ws={key:0,class:"divider-row"},Gs={class:"avatar"},Qs={class:"bubble"},Js={key:0,class:"sender-name"},Ys={class:"text"},Xs={class:"meta"},Zs={key:0,class:"device-name"},en={key:1,class:"events-container"},tn={class:"event-stats mb-3"},sn={class:"text-h6"},nn={class:"text-h6"},an={class:"text-h6"},on={class:"events-list"},ln={class:"d-flex align-center mb-1"},rn={class:"text-caption"},dn={key:0,class:"mb-1 text-caption"},un={class:"event-content"},cn={key:0,class:"chat-content"},mn={key:1,class:"text-caption event-data"},fn={key:0,class:"text-center text-grey pa-4"},hn={key:0,class:"pagination mt-2"};function gn(t,e,a,l,n,o){const d=It;return c(),p(E,null,[o.showToggleButton?(c(),p("div",{key:0,style:he(o.toggleStyle),class:"chat-toggle"},[s(y,{color:"primary",icon:"",variant:"flat",onClick:e[0]||(e[0]=m=>o.open())},{default:i(()=>[s(Zt,{content:n.unreadCount||void 0,"model-value":n.unreadCount>0,color:"error",overlap:""},{default:i(()=>[s(D,null,{default:i(()=>[...e[7]||(e[7]=[u(" mdi-chat ",-1)])]),_:1})]),_:1},8,["content","model-value"])]),_:1})],4)):w("",!0),oe(r("div",{style:he(o.panelStyle),class:"chat-panel"},[s(_,{border:"",class:"chat-card",elevation:"8"},{default:i(()=>[s(j,{class:"d-flex align-center"},{default:i(()=>[s(D,{class:"mr-2"},{default:i(()=>[...e[8]||(e[8]=[u(" mdi-chat-processing ",-1)])]),_:1}),r("span",Ks,g(o.modeTitle),1),s(L),s(vt,{modelValue:n.currentMode,"onUpdate:modelValue":e[1]||(e[1]=m=>n.currentMode=m),class:"mr-2",mandatory:"",size:"small",variant:"outlined"},{default:i(()=>[s(y,{value:"chat",size:"small"},{default:i(()=>[s(D,null,{default:i(()=>[...e[9]||(e[9]=[u("mdi-chat",-1)])]),_:1})]),_:1}),s(y,{value:"events",size:"small"},{default:i(()=>[s(D,null,{default:i(()=>[...e[10]||(e[10]=[u("mdi-format-list-bulleted",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"]),s(Ze,{location:"top"},{activator:i(({props:m})=>[s(O,Qe({color:n.connected?"success":"grey",size:"x-small"},m,{variant:"tonal"}),{default:i(()=>[u(g(n.connected?"已连接":"未连接"),1)]),_:1},16,["color"])]),default:i(()=>[r("span",null,"Socket "+g(n.socketId||"-"),1)]),_:1}),s(y,{icon:"",variant:"text",onClick:e[2]||(e[2]=m=>o.close())},{default:i(()=>[s(D,null,{default:i(()=>[...e[11]||(e[11]=[u("mdi-close",-1)])]),_:1})]),_:1})]),_:1}),s(ve),s(V,{class:"chat-body"},{default:i(()=>[n.currentMode==="chat"?(c(),p("div",qs,[(c(!0),p(E,null,U(o.decoratedMessages,m=>(c(),p(E,{key:m._id},[m._type==="divider"?(c(),p("div",Ws,[s(ve,{class:"my-2"}),e[12]||(e[12]=r("div",{class:"divider-text"}," 今天 - 上次访问 ",-1)),s(ve,{class:"my-2"})])):(c(),p("div",{key:1,class:fe([{self:m.self},"message-row"])},[r("div",Gs,[s(Ie,{color:m.self?"primary":"grey",size:"24"},{default:i(()=>[s(D,{size:"small"},{default:i(()=>[u(g(m.self?"mdi-account":"mdi-account-outline"),1)]),_:2},1024)]),_:2},1032,["color"])]),r("div",Qs,[!m.self&&m.deviceName?(c(),p("div",Js,g(m.deviceName),1)):w("",!0),r("div",Ys,g(m.text),1),r("div",Xs,[m.self&&m.deviceName?(c(),p("span",Zs,g(m.deviceName)+" • ",1)):w("",!0),u(" "+g(o.formatTime(m.at)),1)])])],2))],64))),128))],512)):(c(),p("div",en,[r("div",tn,[s(ue,{dense:""},{default:i(()=>[s(ne,{cols:"4"},{default:i(()=>[s(_,{color:"success",dark:"",size:"small"},{default:i(()=>[s(V,{class:"text-center pa-2"},{default:i(()=>[r("div",sn,g(n.eventStats.chat),1),e[13]||(e[13]=r("div",{class:"text-caption"}," 聊天 ",-1))]),_:1})]),_:1})]),_:1}),s(ne,{cols:"4"},{default:i(()=>[s(_,{color:"info",dark:"",size:"small"},{default:i(()=>[s(V,{class:"text-center pa-2"},{default:i(()=>[r("div",nn,g(n.eventStats.kvChanged),1),e[14]||(e[14]=r("div",{class:"text-caption"}," KV变化 ",-1))]),_:1})]),_:1})]),_:1}),s(ne,{cols:"4"},{default:i(()=>[s(_,{color:"warning",dark:"",size:"small"},{default:i(()=>[s(V,{class:"text-center pa-2"},{default:i(()=>[r("div",an,g(n.eventStats.other),1),e[15]||(e[15]=r("div",{class:"text-caption"}," 其他 ",-1))]),_:1})]),_:1})]),_:1})]),_:1})]),r("div",on,[(c(!0),p(E,null,U(o.paginatedEvents,m=>(c(),p("div",{key:m._id,class:"event-item mb-2"},[s(_,{color:o.getEventColor(m.type),size:"small",variant:"outlined"},{default:i(()=>[s(V,{class:"pa-2"},{default:i(()=>{var f;return[r("div",ln,[s(O,{color:o.getEventColor(m.type),size:"x-small"},{default:i(()=>[u(g(o.getEventTypeLabel(m.type)),1)]),_:2},1032,["color"]),s(L),r("span",rn,g(o.formatTime(m.timestamp||m.at)),1)]),m.senderInfo?(c(),p("div",dn,[e[16]||(e[16]=r("strong",null,"发送者:",-1)),u(" "+g(o.formatDeviceInfo(m.senderInfo)),1)])):w("",!0),r("div",un,[m.type==="chat"||m.type==="chat:message"?(c(),p("div",cn,g(((f=m.content)==null?void 0:f.text)||m.text),1)):(c(),p("pre",mn,g(JSON.stringify(m.content||m,null,1)),1))])]}),_:2},1024)]),_:2},1032,["color"])]))),128)),n.allEvents.length===0?(c(),p("div",fn," 暂无事件 ")):w("",!0)]),o.totalPages>1?(c(),p("div",hn,[s(ls,{modelValue:n.currentPage,"onUpdate:modelValue":e[3]||(e[3]=m=>n.currentPage=m),length:o.totalPages,"total-visible":3,size:"small"},null,8,["modelValue","length"])])):w("",!0)]))]),_:1}),n.currentMode==="chat"?(c(),b(ve,{key:0})):w("",!0),n.currentMode==="chat"?(c(),b(X,{key:1,class:"chat-input"},{default:i(()=>[s(y,{class:"mr-1",icon:"",variant:"text",onClick:e[4]||(e[4]=m=>o.insertEmoji("😄"))},{default:i(()=>[s(D,null,{default:i(()=>[...e[17]||(e[17]=[u("mdi-emoticon-outline",-1)])]),_:1})]),_:1}),s(Ue,{ref:"inputRef",modelValue:n.text,"onUpdate:modelValue":e[5]||(e[5]=m=>n.text=m),"auto-grow":"",class:"flex-grow-1","hide-details":"",placeholder:"输入消息",rows:"1",variant:"solo",onKeydown:[tt(qe(o.handleEnter,["prevent"]),["enter"]),e[6]||(e[6]=tt(qe(()=>{},["shift","stop"]),["enter"]))]},null,8,["modelValue","onKeydown"]),s(y,{disabled:!o.canSend,class:"ml-2",color:"primary",onClick:o.send},{default:i(()=>[s(D,{start:""},{default:i(()=>[...e[18]||(e[18]=[u(" mdi-send ",-1)])]),_:1}),e[19]||(e[19]=u(" 发送 ",-1))]),_:1},8,["disabled","onClick"])]),_:1})):w("",!0)]),_:1})],4),[[be,n.visible]]),s(d,{ref:"urgentNotification"},null,512)],64)}const Re=W(Hs,[["render",gn],["__scopeId","data-v-1a62ac2a"]]),pn={name:"UrgentTestDialog",components:{ChatWidget:Re,EventSender:Fe},props:{modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{sending:!1,notificationForm:{isUrgent:!1,message:"",isPersistent:!1},sentMessages:[],receiptCleanup:[],persistentNotifications:[],editDialog:!1,editForm:{id:null,message:"",isUrgent:!1,resend:!1},savingEdit:!1,deleteConfirmDialog:!1,itemToDelete:null}},computed:{dialog:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}},mounted(){this.setupEventListeners(),this.loadPersistentNotifications()},beforeUnmount(){this.cleanup()},methods:{generateNotificationId(){const t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let e="";for(let a=0;a<32;a++)e+=t.charAt(Math.floor(Math.random()*t.length));return e},async sendNotification(){if(this.notificationForm.message.trim()){this.sending=!0;try{const t=this.generateNotificationId(),e=this.notificationForm.message,a=this.notificationForm.isUrgent,l=this.notificationForm.isPersistent,n=await this.$refs.eventSender.sendNotification(e,a,[],{deviceName:"测试设备",deviceType:"system",isReadOnly:!1},t),o=(n==null?void 0:n.eventId)||`msg-${Date.now()}`;if(this.sentMessages.push({id:o,notificationId:t,message:e,isUrgent:a,timestamp:new Date().toISOString(),receipts:{displayed:[],read:[]}}),l)try{const d="notification-list",m=await Z.loadData(d);let f=[];m&&Array.isArray(m)?f=m:m&&m.success!==!1&&Array.isArray(m.data)&&(f=m.data);const h={id:t,message:e,isUrgent:a,timestamp:new Date().toISOString()};f.unshift(h),await Z.saveData(d,f),this.persistentNotifications=f,console.log("常驻通知已保存")}catch(d){console.error("保存常驻通知失败",d)}console.log("通知已发送,事件ID:",o,"通知ID:",t),this.resetForm()}catch(t){console.error("发送通知失败:",t)}finally{this.sending=!1}}},resetForm(){this.notificationForm={isUrgent:!1,message:"",isPersistent:!1}},close(){this.dialog=!1},setupEventListeners(){const t=ce("notification-displayed",a=>{console.log("收到显示回执:",a),this.updateReceipt(a,"displayed")}),e=ce("notification-read",a=>{console.log("收到已读回执:",a),this.updateReceipt(a,"read")});this.receiptCleanup.push(t,e)},updateReceipt(t,e){var o,d,m,f,h;const a=t.originalEventId,l=t.notificationId||((o=t.content)==null?void 0:o.notificationId);if(!a&&!l)return;const n=this.sentMessages.find(k=>k.id===a||k.notificationId===l);if(n){const k={senderId:t.senderId||"unknown-sender",deviceName:((d=t.senderInfo)==null?void 0:d.deviceName)||((m=t.deviceInfo)==null?void 0:m.deviceName)||"未知设备",deviceType:((f=t.senderInfo)==null?void 0:f.deviceType)||((h=t.deviceInfo)==null?void 0:h.deviceType)||"unknown",timestamp:new Date().toISOString()};n.receipts[e].find(F=>F.senderId===k.senderId)||(n.receipts[e].push(k),console.log(`更新${e}回执:`,n.id,k))}},cleanup(){this.receiptCleanup.forEach(t=>t()),this.receiptCleanup=[]},formatTime(t){return new Date(t).toLocaleString("zh-CN")},getReceiptStatus(t){return t.read.length>0?"已读":t.displayed.length>0?"已显示":"已发送"},getReceiptColor(t){return t.read.length>0?"success":t.displayed.length>0?"info":"grey"},formatDeviceTime(t){return new Date(t).toLocaleTimeString("zh-CN")},getMainCardColor(t){return t.read.length>0?"success":t.displayed.length>0?"info":"grey"},hasAnyReceipts(t){return t.read.length>0||t.displayed.length>0},getDisplayedOnlyDevices(t){const e=t.read.map(a=>a.senderId);return t.displayed.filter(a=>!e.includes(a.senderId))},openEditDialog(t){this.editForm={id:t.id,message:t.message,isUrgent:t.isUrgent||!1,resend:!1,timestamp:t.timestamp},this.editDialog=!0},async saveEdit(){var t,e;if(this.editForm.message.trim()){this.savingEdit=!0;try{const a=this.persistentNotifications.findIndex(l=>l.id===this.editForm.id);if(a!==-1){if(this.persistentNotifications[a]={...this.persistentNotifications[a],message:this.editForm.message,isUrgent:this.editForm.isUrgent,timestamp:new Date().toISOString()},await Z.saveData("notification-list",this.persistentNotifications),this.editForm.resend){const l=this.editForm.id,n=this.editForm.message,o=this.editForm.isUrgent,d=await this.$refs.eventSender.sendNotification(n,o,[],{deviceName:"测试设备",deviceType:"system",isReadOnly:!1},l),m=(d==null?void 0:d.eventId)||`msg-${Date.now()}`;this.sentMessages.push({id:m,notificationId:l,message:n,isUrgent:o,timestamp:new Date().toISOString(),receipts:{displayed:[],read:[]}})}this.editDialog=!1,(t=this.$message)==null||t.success("已更新")}}catch(a){console.error("保存失败",a),(e=this.$message)==null||e.error("保存失败")}finally{this.savingEdit=!1}}},async loadPersistentNotifications(){try{const t=await Z.loadData("notification-list");t&&Array.isArray(t)?this.persistentNotifications=t:t&&t.success!==!1&&Array.isArray(t.data)?this.persistentNotifications=t.data:this.persistentNotifications=[]}catch(t){console.error("加载常驻通知失败",t)}},async deleteNotification(t){if(confirm("确定要删除这个通知吗?"))try{this.sentMessages=this.sentMessages.filter(a=>a.id!==t),this.persistentNotifications=this.persistentNotifications.filter(a=>a.id!==t),console.log("通知已删除,通知ID:",t)}catch(a){console.error("删除通知失败:",a)}},deletePersistentNotification(t){this.itemToDelete=t,this.deleteConfirmDialog=!0},async executeDelete(){var e,a;if(!this.itemToDelete)return;const t=this.itemToDelete;this.deleteConfirmDialog=!1,this.itemToDelete=null;try{this.persistentNotifications=this.persistentNotifications.filter(n=>n.id!==t);const l=this.persistentNotifications.length>0?this.persistentNotifications:{};await Z.saveData("notification-list",l),(e=this.$message)==null||e.success("已删除")}catch(l){console.error("删除失败",l),(a=this.$message)==null||a.error("删除失败")}}}},vn={key:0,class:"text-center text-grey py-4"},yn={key:0,class:"text-center text-grey py-8"},kn={class:"d-flex align-center mb-2"},bn={class:"font-weight-medium"},xn={class:"text-caption font-weight-medium"},wn={class:"text-body-2 mb-3",style:{"max-height":"60px",overflow:"hidden"}},Sn={class:"text-caption"},Cn={key:0},_n={class:"align-center"},Dn={class:"text-body-2 font-weight-medium"},Tn={class:"text-caption mt-1"},In={class:"align-center"},En={class:"text-body-2 font-weight-medium"},Nn={class:"text-caption text-grey"},Vn={class:"text-caption text-grey mt-1"},An={key:1};function Un(t,e,a,l,n,o){const d=Re,m=Fe;return c(),b(J,{modelValue:o.dialog,"onUpdate:modelValue":e[11]||(e[11]=f=>o.dialog=f),fullscreen:"",transition:"dialog-bottom-transition",scrollable:""},{default:i(()=>[s(_,null,{default:i(()=>[s(rt,{dark:"",flat:""},{default:i(()=>[s(dt,null,{default:i(()=>[s(D,{class:"mr-2"},{default:i(()=>[...e[12]||(e[12]=[u(" mdi-chat ",-1)])]),_:1}),e[13]||(e[13]=u(" 发送通知 ",-1))]),_:1}),s(L),s(y,{icon:"mdi-close",onClick:o.close},null,8,["onClick"])]),_:1}),s(V,{class:"pa-0"},{default:i(()=>[s(Dt,null,{default:i(()=>[s(ue,null,{default:i(()=>[s(ne,{cols:"12"},{default:i(()=>[s(_,null,{default:i(()=>[s(V,null,{default:i(()=>[s(ut,null,{default:i(()=>[s(ue,null,{default:i(()=>[s(ne,{cols:"12",md:"6"},{default:i(()=>[s(Ge,{modelValue:n.notificationForm.isUrgent,"onUpdate:modelValue":e[0]||(e[0]=f=>n.notificationForm.isUrgent=f),label:"强调通知",color:"red",inset:""},null,8,["modelValue"]),s(lt,{modelValue:n.notificationForm.isPersistent,"onUpdate:modelValue":e[1]||(e[1]=f=>n.notificationForm.isPersistent=f),label:"常驻展示",color:"primary","hide-details":"",class:"mt-0"},null,8,["modelValue"])]),_:1}),s(ne,{cols:"12"},{default:i(()=>[s(Ue,{modelValue:n.notificationForm.message,"onUpdate:modelValue":e[2]||(e[2]=f=>n.notificationForm.message=f),label:"通知内容",outlined:"",rows:"3",placeholder:"请输入强调通知的内容..."},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),_:1}),s(X,{class:"px-6 pb-6"},{default:i(()=>[s(y,{color:n.notificationForm.isUrgent?"red":"blue",disabled:!n.notificationForm.message.trim(),loading:n.sending,size:"large",variant:"elevated",onClick:o.sendNotification},{default:i(()=>[s(D,{left:""},{default:i(()=>[u(g(n.notificationForm.isUrgent?"mdi-alert-circle":"mdi-information"),1)]),_:1}),u(" "+g(n.notificationForm.isUrgent?"发送强调通知":"发送通知"),1)]),_:1},8,["color","disabled","loading","onClick"]),s(L)]),_:1})]),_:1})]),_:1})]),_:1}),s(ue,{class:"mt-4"},{default:i(()=>[s(ne,{cols:"12"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,null,{default:i(()=>[s(D,{class:"mr-2"},{default:i(()=>[...e[14]||(e[14]=[u("mdi-pin",-1)])]),_:1}),e[15]||(e[15]=u(" 常驻通知管理 ",-1))]),_:1}),s(V,null,{default:i(()=>[n.persistentNotifications.length===0?(c(),p("div",vn," 暂无常驻通知 ")):(c(),b(we,{key:1},{default:i(()=>[(c(!0),p(E,null,U(n.persistentNotifications,f=>(c(),b(Se,{key:f.id,title:f.message,subtitle:o.formatTime(f.timestamp),lines:"two"},{prepend:i(()=>[s(D,{color:f.isUrgent?"error":"primary"},{default:i(()=>[u(g(f.isUrgent?"mdi-alert-circle":"mdi-information"),1)]),_:2},1032,["color"])]),append:i(()=>[s(y,{icon:"mdi-pencil",variant:"text",size:"small",onClick:h=>o.openEditDialog(f)},null,8,["onClick"]),s(y,{icon:"mdi-delete",variant:"text",color:"error",size:"small",onClick:h=>o.deletePersistentNotification(f.id)},null,8,["onClick"])]),_:2},1032,["title","subtitle"]))),128))]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1}),s(ue,{class:"mt-4"},{default:i(()=>[s(ne,{cols:"12"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,null,{default:i(()=>[s(D,{class:"mr-2"},{default:i(()=>[...e[16]||(e[16]=[u(" mdi-history ",-1)])]),_:1}),e[17]||(e[17]=u(" 消息记录 ",-1)),s(L)]),_:1}),s(V,null,{default:i(()=>[n.sentMessages.length===0?(c(),p("div",yn,[s(D,{size:"64",color:"grey-lighten-2"},{default:i(()=>[...e[18]||(e[18]=[u(" mdi-message-outline ",-1)])]),_:1}),e[19]||(e[19]=r("div",{class:"mt-2"}," 暂无发送记录 ",-1))])):(c(),b(ue,{key:1},{default:i(()=>[(c(!0),p(E,null,U(n.sentMessages.slice().reverse(),f=>(c(),b(ne,{key:f.id,cols:"12",md:"6",lg:"4"},{default:i(()=>[s(_,{color:o.getMainCardColor(f.receipts),class:"mb-2"},{default:i(()=>[s(V,null,{default:i(()=>[r("div",kn,[r("span",bn,g(f.isUrgent?"强调通知":"通知"),1),s(L),r("span",xn,g(o.getReceiptStatus(f.receipts)),1)]),r("div",wn,g(f.message),1),r("div",Sn,[r("div",null,"发送时间:"+g(o.formatTime(f.timestamp)),1),r("div",null,"事件ID:"+g(f.id),1),r("div",null,"通知ID:"+g(f.notificationId),1)])]),_:2},1024)]),_:2},1032,["color"]),o.hasAnyReceipts(f.receipts)?(c(),p("div",Cn,[(c(!0),p(E,null,U(f.receipts.read,h=>(c(),b(_,{key:`${h.senderId}-read`,color:"success",class:"mb-1",size:"small"},{default:i(()=>[s(V,{class:"pa-2"},{default:i(()=>[r("div",_n,[r("span",Dn,g(h.deviceName),1),e[20]||(e[20]=r("br",null,null,-1)),u(" "+g(h.deviceType),1)]),r("div",Tn," 已读于 "+g(o.formatDeviceTime(h.timestamp)),1)]),_:2},1024)]),_:2},1024))),128)),(c(!0),p(E,null,U(o.getDisplayedOnlyDevices(f.receipts),h=>(c(),b(_,{key:`${h.senderId}-displayed`,color:"info-lighten-4",variant:"outlined",class:"mb-1",size:"small"},{default:i(()=>[s(V,{class:"pa-2"},{default:i(()=>[r("div",In,[r("span",En,g(h.deviceName),1),s(L),r("span",Nn,g(h.deviceType=="classroom"?"教室设备上的应用":h.deviceType),1)]),r("div",Vn," 已显示于 "+g(o.formatDeviceTime(h.timestamp)),1)]),_:2},1024)]),_:2},1024))),128))])):(c(),p("div",An,[s(_,{color:"info-lighten-4",variant:"outlined",class:"mb-1",size:"small",title:"无设备在线"},{default:i(()=>[s(V,null,{default:i(()=>[...e[21]||(e[21]=[u(" 如果数秒后任然显示这个提示,则可能没有任何设备在线接收通知。 ",-1)])]),_:1})]),_:1})]))]),_:2},1024))),128))]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),s(d),s(m,{ref:"eventSender"},null,512),s(J,{modelValue:n.editDialog,"onUpdate:modelValue":e[8]||(e[8]=f=>n.editDialog=f),"max-width":"500",fullscreen:t.$vuetify.display.xs},{default:i(()=>[s(_,null,{default:i(()=>[s(rt,{flat:"",density:"compact"},{default:i(()=>[s(dt,null,{default:i(()=>[...e[22]||(e[22]=[u("编辑常驻通知",-1)])]),_:1}),s(L),s(y,{icon:"mdi-close",onClick:e[3]||(e[3]=f=>n.editDialog=!1)})]),_:1}),s(V,null,{default:i(()=>[s(ut,null,{default:i(()=>[s(Ue,{modelValue:n.editForm.message,"onUpdate:modelValue":e[4]||(e[4]=f=>n.editForm.message=f),label:"通知内容",rows:"3","auto-grow":""},null,8,["modelValue"]),s(Ge,{modelValue:n.editForm.isUrgent,"onUpdate:modelValue":e[5]||(e[5]=f=>n.editForm.isUrgent=f),label:"强调通知",color:"error","hide-details":""},null,8,["modelValue"]),s(lt,{modelValue:n.editForm.resend,"onUpdate:modelValue":e[6]||(e[6]=f=>n.editForm.resend=f),label:"保存并重新发送通知",hint:"勾选后将作为新通知发送给所有在线设备","persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(L),s(y,{variant:"text",onClick:e[7]||(e[7]=f=>n.editDialog=!1)},{default:i(()=>[...e[23]||(e[23]=[u("取消",-1)])]),_:1}),s(y,{color:"primary",loading:n.savingEdit,onClick:o.saveEdit},{default:i(()=>[...e[24]||(e[24]=[u("保存",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue","fullscreen"]),s(J,{modelValue:n.deleteConfirmDialog,"onUpdate:modelValue":e[10]||(e[10]=f=>n.deleteConfirmDialog=f),"max-width":"400"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"text-h5"},{default:i(()=>[...e[25]||(e[25]=[u("确认删除",-1)])]),_:1}),s(V,null,{default:i(()=>[...e[26]||(e[26]=[u("确定要删除这条常驻通知吗?此操作无法撤销。",-1)])]),_:1}),s(X,null,{default:i(()=>[s(L),s(y,{color:"grey-darken-1",variant:"text",onClick:e[9]||(e[9]=f=>n.deleteConfirmDialog=!1)},{default:i(()=>[...e[27]||(e[27]=[u("取消",-1)])]),_:1}),s(y,{color:"error",variant:"text",onClick:o.executeDelete},{default:i(()=>[...e[28]||(e[28]=[u("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["modelValue"])}const Et=W(pn,[["render",Un],["__scopeId","data-v-c6850940"]]),zn={name:"FloatingICP"},Mn={"aria-label":"xICP备x号",class:"floating-icp-link",href:"https://beian.miit.gov.cn/",rel:"noopener noreferrer",target:"_blank",style:{display:"none"}};function $n(t,e,a,l,n,o){return c(),p("a",Mn," xICP备x号 ")}const Nt=W(zn,[["render",$n],["__scopeId","data-v-fa73670f"]]),Pn={name:"FloatingToolbar",props:{loading:{type:Boolean,default:!1},unreadCount:{type:Number,default:0},selectedDate:{type:[String,Date],required:!0},isToday:{type:Boolean,required:!0},copyToTodayLoading:{type:Boolean,default:!1}},data(){return{isExpanded:!1}},methods:{handleDateSelect(t){this.$emit("date-select",t)}}},Ln={class:"floating-toolbar-container"};function Fn(t,e,a,l,n,o){return c(),p("div",Ln,[s(Kt,null,{default:i(()=>[s(_,{class:fe([{"toolbar-expanded":n.isExpanded},"floating-toolbar"]),elevation:"4",rounded:"xl"},{default:i(()=>[s(Je,{class:"toolbar-buttons",variant:"text"},{default:i(()=>[oe(s(y,{title:"查看昨天",class:"toolbar-btn",icon:"mdi-chevron-left",variant:"text",onClick:e[0]||(e[0]=d=>t.$emit("prev-day"))},null,512),[[xe]]),oe(s(y,{title:"缩小字体",class:"toolbar-btn",icon:"mdi-format-font-size-decrease",variant:"text",onClick:e[1]||(e[1]=d=>t.$emit("zoom","out"))},null,512),[[xe]]),oe(s(y,{title:"放大字体",class:"toolbar-btn",icon:"mdi-format-font-size-increase",variant:"text",onClick:e[2]||(e[2]=d=>t.$emit("zoom","up"))},null,512),[[xe]]),s(cs,{"close-on-content-click":!1,location:"top"},{activator:i(({props:d})=>[oe(s(y,Qe({title:"选择日期",class:"toolbar-btn",icon:"mdi-calendar"},d,{variant:"text"}),null,16),[[xe]])]),default:i(()=>[s(_,{border:"",class:"date-picker-card"},{default:i(()=>[s(jt,{"model-value":a.selectedDate,color:"primary","onUpdate:modelValue":o.handleDateSelect},null,8,["model-value","onUpdate:modelValue"])]),_:1})]),_:1}),oe(s(y,{loading:a.loading,title:"刷新数据",class:"toolbar-btn",icon:"mdi-refresh",variant:"text",onClick:e[3]||(e[3]=d=>t.$emit("refresh"))},null,8,["loading"]),[[xe]]),a.isToday?w("",!0):oe((c(),b(y,{key:0,title:"查看明天",class:"toolbar-btn",icon:"mdi-chevron-right",variant:"text",onClick:e[4]||(e[4]=d=>t.$emit("next-day"))},null,512)),[[xe]])]),_:1})]),_:1},8,["class"])]),_:1}),s(qt,null,{default:i(()=>[a.isToday?w("",!0):(c(),b(y,{key:0,loading:a.copyToTodayLoading,disabled:a.copyToTodayLoading,class:"side-action-btn",color:"primary",elevation:"4","prepend-icon":"mdi-content-copy",rounded:"xl",size:"large",text:"复制作业内容到今天",onClick:e[5]||(e[5]=d=>t.$emit("copy-to-today"))},{default:i(()=>[...e[6]||(e[6]=[u("复制到今天",-1)])]),_:1},8,["loading","disabled"]))]),_:1})])}const Vt=W(Pn,[["render",Fn],["__scopeId","data-v-7076d3aa"]]),Rn={name:"AttendanceManagementDialog",props:{modelValue:{type:Boolean,required:!0},studentList:{type:Array,required:!0},attendance:{type:Object,required:!0},dateString:{type:String,default:""}},emits:["update:modelValue","save","change"],setup(){const{mobile:t}=Ae();return{mobile:t}},data(){return{attendanceSearch:"",attendanceFilter:[]}},computed:{isMobile(){return S("display.forceDesktopMode")?!1:this.mobile},filteredStudents(){let t=[...this.studentList];if(this.attendanceSearch){const e=this.attendanceSearch.toLowerCase();t=t.filter(a=>a.toLowerCase().includes(e))}return this.attendanceFilter&&this.attendanceFilter.length>0&&(t=t.filter(e=>!!(this.attendanceFilter.includes("present")&&this.isPresent(e)||this.attendanceFilter.includes("absent")&&this.isAbsent(e)||this.attendanceFilter.includes("late")&&this.isLate(e)||this.attendanceFilter.includes("exclude")&&this.isExclude(e)))),t},extractedSurnames(){if(!this.studentList||this.studentList.length===0)return[];const t=new Map;return this.studentList.forEach(e=>{if(e&&e.length>0){const a=e.charAt(0);t.set(a,(t.get(a)||0)+1)}}),Array.from(t.entries()).map(([e,a])=>({name:e,count:a})).sort((e,a)=>{const l=ot(e.name,{toneType:"none"}),n=ot(a.name,{toneType:"none"});return l.localeCompare(n)})}},methods:{toggleFilter(t){const e=this.attendanceFilter.indexOf(t);e===-1?this.attendanceFilter.push(t):this.attendanceFilter.splice(e,1)},isPresent(t){const{absent:e,late:a,exclude:l}=this.attendance;return!e.includes(t)&&!a.includes(t)&&!l.includes(t)},isAbsent(t){return this.attendance.absent.includes(t)},isLate(t){return this.attendance.late.includes(t)},isExclude(t){return this.attendance.exclude.includes(t)},getStudentStatusColor(t){return this.attendance.absent.includes(t)?"error":this.attendance.late.includes(t)?"warning":this.attendance.exclude.includes(t)?"grey":"success"},getStudentStatusIcon(t){return this.attendance.absent.includes(t)?"mdi-account-off":this.attendance.late.includes(t)?"mdi-clock-alert":this.attendance.exclude.includes(t)?"mdi-account-cancel":"mdi-account-check"},removeFromAll(t){const e=this.attendance.absent.indexOf(t);e>-1&&this.attendance.absent.splice(e,1);const a=this.attendance.late.indexOf(t);a>-1&&this.attendance.late.splice(a,1);const l=this.attendance.exclude.indexOf(t);l>-1&&this.attendance.exclude.splice(l,1)},setPresent(t){this.removeFromAll(t),this.$emit("change")},setAbsent(t){this.removeFromAll(t),this.attendance.absent.push(t),this.$emit("change")},setLate(t){this.removeFromAll(t),this.attendance.late.push(t),this.$emit("change")},setExclude(t){this.removeFromAll(t),this.attendance.exclude.push(t),this.$emit("change")},setAllPresent(){this.attendance.absent.splice(0,this.attendance.absent.length),this.attendance.late.splice(0,this.attendance.late.length),this.attendance.exclude.splice(0,this.attendance.exclude.length),this.$emit("change")},setAllAbsent(){this.setAllPresent(),this.attendance.absent.push(...this.studentList),this.$emit("change")},setAllLate(){this.setAllPresent(),this.attendance.late.push(...this.studentList),this.$emit("change")},setAllExclude(){this.setAllPresent(),this.attendance.exclude.push(...this.studentList),this.$emit("change")}}},On={class:"d-flex flex-wrap mt-2 gap-1"},Bn={class:"d-flex flex-wrap mb-4 gap-2"},jn={class:"flex-grow-1"},Hn={class:"d-flex align-center"},Kn={class:"text-subtitle-1"},qn={class:"attendance-actions"},Wn={class:"d-flex flex-wrap gap-2"};function Gn(t,e,a,l,n,o){return c(),b(J,{"model-value":a.modelValue,fullscreen:o.isMobile,"fullscreen-breakpoint":"sm","max-width":"900","onUpdate:modelValue":e[7]||(e[7]=d=>t.$emit("update:modelValue",d))},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"d-flex align-center"},{default:i(()=>[s(D,{class:"mr-2",icon:"mdi-account-group"}),e[8]||(e[8]=u(" 考勤 ",-1)),s(L),o.isMobile?w("",!0):(c(),b(O,{key:0,class:"ml-2",color:"primary",size:"small"},{default:i(()=>[u(g(a.dateString),1)]),_:1})),o.isMobile?(c(),b(y,{key:1,icon:"mdi-close",variant:"text",onClick:e[0]||(e[0]=d=>t.$emit("update:modelValue",!1))})):w("",!0)]),_:1}),s(V,null,{default:i(()=>[s(ue,{class:"mb-4"},{default:i(()=>[s(ne,{cols:"12",md:"12"},{default:i(()=>[s(Ce,{modelValue:n.attendanceSearch,"onUpdate:modelValue":e[1]||(e[1]=d=>n.attendanceSearch=d),clearable:"",hint:"支持筛选姓氏,如输入'孙'可筛选所有姓孙的学生",label:"搜索学生","prepend-inner-icon":"mdi-magnify",variant:"outlined"},null,8,["modelValue"]),r("div",On,[(c(!0),p(E,null,U(o.extractedSurnames,d=>(c(),b(y,{key:d.name,color:n.attendanceSearch===d.name?"primary":"",variant:n.attendanceSearch===d.name?"elevated":"text",onClick:m=>n.attendanceSearch=n.attendanceSearch===d.name?"":d.name},{default:i(()=>[u(g(d.name)+" ("+g(d.count)+") ",1)]),_:2},1032,["color","variant","onClick"]))),128))])]),_:1})]),_:1}),r("div",Bn,[r("div",null,[s(O,{"append-icon":n.attendanceFilter.includes("present")?"mdi-check":"",color:n.attendanceFilter.includes("present")?"success":"",variant:n.attendanceFilter.includes("present")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-account-check",value:"present",onClick:e[2]||(e[2]=d=>o.toggleFilter("present"))},{default:i(()=>[...e[9]||(e[9]=[u(" 到课 ",-1)])]),_:1},8,["append-icon","color","variant"]),s(O,{"append-icon":n.attendanceFilter.includes("absent")?"mdi-check":"",color:n.attendanceFilter.includes("absent")?"error":"",variant:n.attendanceFilter.includes("absent")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-account-off",value:"absent",onClick:e[3]||(e[3]=d=>o.toggleFilter("absent"))},{default:i(()=>[...e[10]||(e[10]=[u(" 请假 ",-1)])]),_:1},8,["append-icon","color","variant"]),s(O,{"append-icon":n.attendanceFilter.includes("late")?"mdi-check":"",color:n.attendanceFilter.includes("late")?"warning":"",variant:n.attendanceFilter.includes("late")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-clock-alert",value:"late",onClick:e[4]||(e[4]=d=>o.toggleFilter("late"))},{default:i(()=>[...e[11]||(e[11]=[u(" 迟到 ",-1)])]),_:1},8,["append-icon","color","variant"]),s(O,{"append-icon":n.attendanceFilter.includes("exclude")?"mdi-check":"",color:n.attendanceFilter.includes("exclude")?"grey":"",variant:n.attendanceFilter.includes("exclude")?"elevated":"tonal",class:"px-2 filter-chip","prepend-icon":"mdi-account-cancel",value:"exclude",onClick:e[5]||(e[5]=d=>o.toggleFilter("exclude"))},{default:i(()=>[...e[12]||(e[12]=[u(" 不参与 ",-1)])]),_:1},8,["append-icon","color","variant"])])]),s(ue,null,{default:i(()=>[(c(!0),p(E,null,U(o.filteredStudents,d=>(c(),b(ne,{key:d,cols:"12",lg:"4",md:"6",sm:"6"},{default:i(()=>[s(_,{border:"",class:"student-card"},{default:i(()=>[s(V,{class:"d-flex align-center pa-2"},{default:i(()=>[r("div",jn,[r("div",Hn,[s(Ie,{color:o.getStudentStatusColor(d),class:"mr-2",size:"24"},{default:i(()=>[s(D,{size:"small"},{default:i(()=>[u(g(o.getStudentStatusIcon(d)),1)]),_:2},1024)]),_:2},1032,["color"]),r("div",Kn,g(d),1)])]),r("div",qn,[s(y,{color:o.isPresent(d)?"success":"",title:"设为到课",icon:"mdi-account-check",size:o.isMobile?"default":"small",variant:"text",onClick:m=>o.setPresent(d)},null,8,["color","size","onClick"]),s(y,{color:o.isAbsent(d)?"error":"",title:"设为请假",icon:"mdi-account-off",size:o.isMobile?"default":"small",variant:"text",onClick:m=>o.setAbsent(d)},null,8,["color","size","onClick"]),s(y,{color:o.isLate(d)?"warning":"",title:"设为迟到",icon:"mdi-clock-alert",size:o.isMobile?"default":"small",variant:"text",onClick:m=>o.setLate(d)},null,8,["color","size","onClick"]),s(y,{color:o.isExclude(d)?"grey":"",title:"设为不参与",icon:"mdi-account-cancel",size:o.isMobile?"default":"small",variant:"text",onClick:m=>o.setExclude(d)},null,8,["color","size","onClick"])])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}),s(ue,null,{default:i(()=>[s(ne,{cols:"12",md:"12"},{default:i(()=>[s(_,{class:"mb-4",color:"primary",variant:"tonal"},{default:i(()=>[s(V,null,{default:i(()=>[e[17]||(e[17]=r("div",{class:"text-subtitle-2 mb-2"},"批量操作",-1)),r("div",Wn,[s(y,{class:"flex-grow-1",color:"success","prepend-icon":"mdi-account-check",onClick:o.setAllPresent},{default:i(()=>[...e[13]||(e[13]=[u(" 全部到齐 ",-1)])]),_:1},8,["onClick"]),s(y,{class:"flex-grow-1",color:"error","prepend-icon":"mdi-account-off",onClick:o.setAllAbsent},{default:i(()=>[...e[14]||(e[14]=[u(" 全部请假 ",-1)])]),_:1},8,["onClick"]),s(y,{class:"flex-grow-1",color:"warning","prepend-icon":"mdi-clock-alert",onClick:o.setAllLate},{default:i(()=>[...e[15]||(e[15]=[u(" 全部迟到 ",-1)])]),_:1},8,["onClick"]),s(y,{class:"flex-grow-1",color:"grey","prepend-icon":"mdi-account-cancel",onClick:o.setAllExclude},{default:i(()=>[...e[16]||(e[16]=[u(" 全部不参与 ",-1)])]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),s(ve),s(X,null,{default:i(()=>[s(L),s(y,{color:"primary",onClick:e[6]||(e[6]=d=>t.$emit("save"))},{default:i(()=>[s(D,{start:""},{default:i(()=>[...e[18]||(e[18]=[u("mdi-content-save",-1)])]),_:1}),e[19]||(e[19]=u(" 保存 ",-1))]),_:1})]),_:1})]),_:1})]),_:1},8,["model-value","fullscreen"])}const At=W(Rn,[["render",Gn],["__scopeId","data-v-e18ba4e5"]]),Qn={name:"HomeworkEditDialog",props:{modelValue:{type:Boolean,required:!0},title:{type:String,required:!0},initialContent:{type:String,default:""},autoSave:{type:Boolean,default:!1},isEditingPastData:{type:Boolean,default:!1},currentDateString:{type:String,default:""}},emits:["update:modelValue","save"],setup(){const{mobile:t}=Ae();return{mobile:t}},data(){return{content:"",templateData:null,currentLine:"",currentLineStart:0,currentLineEnd:0,quickTexts:["课","题","例","变","T","P"]}},computed:{isMobile(){return S("display.forceDesktopMode")?!1:this.mobile},dialogVisible:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},subject(){return this.title},hasTemplates(){var t,e;return!!((e=(t=this.templateData)==null?void 0:t.actions)!=null&&e.length||this.subjectBooks||this.commonBooks)},subjectBooks(){var t,e,a;return!this.subject||!((a=(e=(t=this.templateData)==null?void 0:t.subjects)==null?void 0:e[this.subject])!=null&&a.books)?null:this.templateData.subjects[this.subject].books},commonBooks(){var t,e;return(e=(t=this.templateData)==null?void 0:t.commonSubject)!=null&&e.books?this.templateData.commonSubject.books:null},showQuickTools(){return S("display.showQuickTools")},autoSavePromptText(){return S("edit.autoSavePromptText")},manualSavePromptText(){return S("edit.manualSavePromptText")}},watch:{async modelValue(t){if(t){this.content=this.initialContent;try{this.templateData=await Z.loadData("classworks-config-homework-template")}catch(e){console.error("Failed to load homework templates:",e),this.templateData=null}this.$nextTick(()=>{this.$refs.inputRef&&(this.$refs.inputRef.focus(),this.updateCurrentLine())})}}},methods:{handleClose(){const t=this.content.trim();t!==this.initialContent.trim()&&this.$emit("save",t),this.dialogVisible=!1},updateCurrentLine(){const e=this.$refs.inputRef.$el.querySelector("textarea").selectionStart,a=this.content;let l=0;const n=a.split(` `);for(let o=0;o0?" ":"")+e+this.content.slice(l)}this.$nextTick(()=>{const a=this.$refs.inputRef.$el.querySelector("textarea");a.focus();const l=this.content.split(` `);let n=0;for(let o=0;othis.currentLineStart));o++)n+=1;a.setSelectionRange(n,n),this.updateCurrentLine()})},insertTemplate(t){const e=this.$refs.inputRef.$el.querySelector("textarea"),a=e.selectionStart,l=e.selectionEnd,n=a>0&&this.content[a-1]!==" "&&this.content[a-1]!==` `;this.content=this.content.slice(0,a)+(n?" ":"")+t+this.content.slice(l),this.$nextTick(()=>{e.focus();const o=a+t.length+(n?1:0);e.setSelectionRange(o,o),this.updateCurrentLine()})},insertAtCursor(t){if(!t)return;const e=this.$refs.inputRef.$el.querySelector("textarea"),a=e.selectionStart,l=e.selectionEnd;this.content=this.content.slice(0,a)+t+this.content.slice(l),this.$nextTick(()=>{e.focus();const n=a+t.length;e.setSelectionRange(n,n),this.updateCurrentLine()})},deleteLastChar(){const t=this.$refs.inputRef.$el.querySelector("textarea"),e=t.selectionStart,a=t.selectionEnd;e===a?e>0&&(this.content=this.content.slice(0,e-1)+this.content.slice(e),this.$nextTick(()=>{t.focus(),t.setSelectionRange(e-1,e-1),this.updateCurrentLine()})):(this.content=this.content.slice(0,e)+this.content.slice(a),this.$nextTick(()=>{t.focus(),t.setSelectionRange(e,e),this.updateCurrentLine()}))}}},Jn={class:"d-flex"},Yn={class:"flex-grow-1"},Xn={key:0,class:"mt-4"},Zn={key:0,class:"template-buttons"},ei={key:0,class:"pages-container mt-2"},ti={key:0,class:"pages-container mt-2"},si={key:2,class:"button-group"},ni={key:1,class:"text-center text-body-2 text-disabled mt-2"},ii={key:0,class:"quick-tools ml-4",style:{"min-width":"180px"}},ai={class:"numeric-keypad mb-4"},oi={class:"keypad-row"},li={class:"keypad-row"},ri={class:"keypad-row"},di={class:"keypad-row"},ui={class:"keypad-row"},ci={class:"d-flex flex-wrap gap-1"},mi={class:"d-flex flex-column"},fi={class:"text-body-2"};function hi(t,e,a,l,n,o){return c(),b(J,{modelValue:o.dialogVisible,"onUpdate:modelValue":e[5]||(e[5]=d=>o.dialogVisible=d),fullscreen:o.isMobile,"max-width":"900",width:"auto","onClick:outside":o.handleClose},{default:i(()=>[s(_,{border:""},{default:i(()=>[s(j,{class:"d-flex align-center"},{default:i(()=>[u(g(a.title)+" ",1),s(L),s(y,{icon:"mdi-close",variant:"text",onClick:o.handleClose},null,8,["onClick"])]),_:1}),s(yt,null,{default:i(()=>[u(g(a.autoSave?o.autoSavePromptText:o.manualSavePromptText),1)]),_:1}),s(V,null,{default:i(()=>{var d;return[r("div",Jn,[r("div",Yn,[s(Ue,{ref:"inputRef",modelValue:n.content,"onUpdate:modelValue":e[0]||(e[0]=m=>n.content=m),"auto-grow":"",placeholder:"使用换行表示分条",rows:"5",width:o.isMobile?"100%":"480",onClick:o.updateCurrentLine,onKeyup:o.updateCurrentLine},null,8,["modelValue","width","onClick","onKeyup"]),n.templateData?(c(),p("div",Xn,[o.hasTemplates?(c(),p("div",Zn,[o.subjectBooks?(c(!0),p(E,{key:0},U(o.subjectBooks,(m,f)=>(c(),p("div",{key:f,class:"button-group"},[s(O,{color:o.isBookSelected(f)?"success":"default",variant:o.isBookSelected(f)?"elevated":"flat",class:"ma-1 book-chip",onClick:h=>o.handleBookClick(f)},{default:i(()=>[u(g(f),1)]),_:2},1032,["color","variant","onClick"]),o.isBookSelected(f)?(c(),p("div",ei,[(c(!0),p(E,null,U(m,h=>(c(),b(O,{key:h,color:o.isPageSelected(f,h)?"info":"default",variant:o.isPageSelected(f,h)?"elevated":"flat",class:"ma-1",onClick:k=>o.handlePageClick(f,h)},{default:i(()=>[u(g(h),1)]),_:2},1032,["color","variant","onClick"]))),128))])):w("",!0)]))),128)):w("",!0),o.commonBooks?(c(!0),p(E,{key:1},U(o.commonBooks,(m,f)=>(c(),p("div",{key:f,class:"button-group"},[s(O,{color:o.isBookSelected(f)?"success":"default",variant:o.isBookSelected(f)?"elevated":"flat",class:"ma-1 book-chip",onClick:h=>o.handleBookClick(f)},{default:i(()=>[u(g(f),1)]),_:2},1032,["color","variant","onClick"]),o.isBookSelected(f)?(c(),p("div",ti,[(c(!0),p(E,null,U(m,h=>(c(),b(O,{key:h,color:o.isPageSelected(f,h)?"info":"default",variant:o.isPageSelected(f,h)?"elevated":"flat",class:"ma-1",onClick:k=>o.handlePageClick(f,h)},{default:i(()=>[u(g(h),1)]),_:2},1032,["color","variant","onClick"]))),128))])):w("",!0)]))),128)):w("",!0),(d=n.templateData.actions)!=null&&d.length?(c(),p("div",si,[(c(!0),p(E,null,U(n.templateData.actions,m=>(c(),b(O,{key:m,class:"ma-1",color:"primary",variant:"flat",onClick:f=>o.insertTemplate(m)},{default:i(()=>[u(g(m),1)]),_:2},1032,["onClick"]))),128))])):w("",!0)])):(c(),p("div",ni," 暂无可用的模板 "))])):w("",!0)]),o.showQuickTools&&!o.isMobile?(c(),p("div",ii,[r("div",ai,[r("div",oi,[(c(),p(E,null,U(3,m=>s(y,{key:m,class:"keypad-btn",size:"small",variant:"tonal",onClick:f=>o.insertAtCursor(String(m))},{default:i(()=>[u(g(m),1)]),_:2},1032,["onClick"])),64))]),r("div",li,[(c(),p(E,null,U(3,m=>s(y,{key:m,class:"keypad-btn",size:"small",variant:"tonal",onClick:f=>o.insertAtCursor(String(m+3))},{default:i(()=>[u(g(m+3),1)]),_:2},1032,["onClick"])),64))]),r("div",ri,[(c(),p(E,null,U(3,m=>s(y,{key:m,class:"keypad-btn",size:"small",variant:"tonal",onClick:f=>o.insertAtCursor(String(m+6))},{default:i(()=>[u(g(m+6),1)]),_:2},1032,["onClick"])),64))]),r("div",di,[s(y,{class:"keypad-btn",size:"small",variant:"tonal",onClick:e[1]||(e[1]=m=>o.insertAtCursor("-"))},{default:i(()=>[...e[6]||(e[6]=[u(" - ",-1)])]),_:1}),s(y,{class:"keypad-btn",size:"small",variant:"tonal",onClick:e[2]||(e[2]=m=>o.insertAtCursor("0"))},{default:i(()=>[...e[7]||(e[7]=[u(" 0 ",-1)])]),_:1}),s(y,{class:"keypad-btn",color:"error",size:"small",variant:"tonal",onClick:o.deleteLastChar},{default:i(()=>[...e[8]||(e[8]=[u(" ← ",-1)])]),_:1},8,["onClick"])]),r("div",ui,[s(y,{class:"keypad-btn space-btn",size:"small",variant:"tonal",onClick:e[3]||(e[3]=m=>o.insertAtCursor(" "))},{default:i(()=>[...e[9]||(e[9]=[u(" 空格 ",-1)])]),_:1}),s(y,{class:"keypad-btn space-btn",size:"small",variant:"tonal",onClick:e[4]||(e[4]=m=>o.insertAtCursor(` -`))},{default:i(()=>[...e[10]||(e[10]=[u(" 换行 ",-1)])]),_:1})])]),r("div",ci,[(c(!0),p(E,null,U(n.quickTexts,m=>(c(),b(y,{key:m,size:"small",variant:"flat",onClick:f=>o.insertAtCursor(m)},{default:i(()=>[u(g(m),1)]),_:2},1032,["onClick"]))),128))])])):w("",!0)])]}),_:1}),a.isEditingPastData?(c(),b(_e,{key:0,type:"warning",variant:"tonal",class:"mx-4 mb-4",border:"start","border-color":"warning",prominent:""},{prepend:i(()=>[...e[11]||(e[11]=[])]),default:i(()=>[r("div",mi,[e[12]||(e[12]=r("div",{class:"text-h6 mb-1"},"你打算修改历史?",-1)),r("div",fi," 这是 "+g(new Date(a.currentDateString.slice(0,4),a.currentDateString.slice(4,6)-1,a.currentDateString.slice(6,8)).toLocaleDateString())+" 的作业 • 请谨慎操作,确保不会覆盖重要数据 ",1)])]),_:1})):w("",!0),e[13]||(e[13]=r("div",{class:"text-center text-body-2 text-disabled mb-5"}," 点击空白处完成编辑 ",-1))]),_:1})]),_:1},8,["modelValue","fullscreen","onClick:outside"])}const Ut=W(Qn,[["render",hi],["__scopeId","data-v-af72d8a9"]]),gi={name:"AttendanceSidebar",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0},isEditingDisabled:{type:Boolean,default:!1}},emits:["click","disabled-click"],setup(){return{display:Ae()}},methods:{getSetting:S,handleClick(){this.isEditingDisabled?this.$emit("disabled-click"):this.$emit("click")}}},pi={style:{"white-space":"nowrap"}},vi={style:{"white-space":"nowrap"}},yi={style:{"white-space":"nowrap"}},ki={key:0},bi={style:{"white-space":"nowrap"}},xi={style:{"white-space":"nowrap"}},wi={key:0},Si={style:{"white-space":"nowrap"}},Ci={style:{"white-space":"nowrap"}},_i={key:0},Di={style:{"white-space":"nowrap"}};function Ti(t,e,a,l,n,o){return a.studentList&&a.studentList.length?oe((c(),b(ne,{key:0,class:fe([{"cursor-not-allowed":a.isEditingDisabled},"attendance-area no-select"]),cols:"1",onClick:o.handleClick},{default:i(()=>[e[10]||(e[10]=r("h1",null,"出勤",-1)),r("h2",null,[e[0]||(e[0]=r("span",{style:{"white-space":"nowrap"}}," 应到",-1)),e[1]||(e[1]=u(" : ",-1)),r("span",pi,g(a.studentList.length-a.attendance.exclude.length)+"人 ",1)]),r("h2",null,[e[2]||(e[2]=r("span",{style:{"white-space":"nowrap"}}," 实到",-1)),e[3]||(e[3]=u(" : ",-1)),r("span",vi,g(a.studentList.length-a.attendance.absent.length-!o.getSetting("display.lateStudentsArePresent")*a.attendance.late.length-a.attendance.exclude.length)+"人 ",1)]),r("h2",null,[e[4]||(e[4]=r("span",{style:{"white-space":"nowrap"}}," 请假",-1)),e[5]||(e[5]=u(" : ",-1)),r("span",yi,g(a.attendance.absent.length)+"人 ",1)]),(c(!0),p(E,null,U(a.attendance.absent,(d,m)=>(c(),p("h3",{key:"absent-"+m,class:"gray-text"},[l.display.lgAndUp.value?(c(),p("span",ki,g(`${m+1}. `),1)):w("",!0),r("span",bi,g(d),1)]))),128)),r("h2",null,[e[6]||(e[6]=r("span",{style:{"white-space":"nowrap"}},"迟到",-1)),e[7]||(e[7]=u(" : ",-1)),r("span",xi,g(a.attendance.late.length)+"人 ",1)]),(c(!0),p(E,null,U(a.attendance.late,(d,m)=>(c(),p("h3",{key:"late-"+m,class:"gray-text"},[l.display.lgAndUp.value?(c(),p("span",wi,g(`${m+1}. `),1)):w("",!0),r("span",Si,g(d),1)]))),128)),r("h2",null,[e[8]||(e[8]=r("span",{style:{"white-space":"nowrap"}},"不参与",-1)),e[9]||(e[9]=u(" : ",-1)),r("span",Ci,g(a.attendance.exclude.length)+"人 ",1)]),(c(!0),p(E,null,U(a.attendance.exclude,(d,m)=>(c(),p("h3",{key:"exclude-"+m,class:"gray-text"},[l.display.lgAndUp.value?(c(),p("span",_i,g(`${m+1}. `),1)):w("",!0),r("span",Di,g(d),1)]))),128))]),_:1},8,["class","onClick"])),[[xe,a.isEditingDisabled?!1:{class:`text-${["primary","secondary","info","success","warning","error"][Math.floor(Math.random()*6)]}`}]]):w("",!0)}const zt=W(gi,[["render",Ti],["__scopeId","data-v-5a7eaf6a"]]),Ii={class:"d-flex flex-no-wrap justify-space-between"},Ei={class:"pe-4"},Ni={class:"mb-3"},Mt={__name:"PwaInstallCard",setup(t){const e=$(!1),a=$(!1),l=$(!1),n=st({title:"",message:"",links:[]}),o={pending:"待授权",granted:"已完成",denied:"已拒绝",unavailable:"不可用"},d={pending:"mdi-progress-clock",granted:"mdi-check-circle",denied:"mdi-close-circle",unavailable:"mdi-help-circle"},m={pending:"primary",granted:"success",denied:"error",unavailable:"surface-variant"},f=st({pwa:{label:"安装应用",description:"将网站安装为独立应用,便于快速启动",status:"pending"},notification:{label:"通知权限",description:"允许接收作业、考试等通知提醒",status:"pending"},storage:{label:"离线存储",description:"启用持久化存储以获得更稳健的离线体验",status:"pending"}}),h=G(()=>[{key:"pwa",...f.pwa},{key:"notification",...f.notification},{key:"storage",...f.storage}]),k=G(()=>h.value.some(x=>x.status==="pending")),I={pwa:[{text:"MDN - 安装 PWA 指南",desc:"检查浏览器是否支持并手动触发安装",href:"https://developer.mozilla.org/zh-CN/docs/Web/Progressive_web_apps/Guides/Installing"},{text:"Microsoft Edge - PWA 体验",desc:"Edge 浏览器安装与 UX 说明",href:"https://learn.microsoft.com/zh-cn/microsoft-edge/progressive-web-apps/ux"}],notification:[{text:"MDN - 通知权限与用法",desc:"浏览器通知权限的工作方式与调试",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/notification"}],storage:[{text:"MDN - Storage 持久化说明",desc:"了解持久化存储的可用性与申请方式",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/StorageManager/persist"}]};let F;const H=async()=>{var de;if(S("pwa.hideInstallCard")){e.value=!1;return}if(window.matchMedia("(display-mode: standalone)").matches||window.navigator.standalone===!0?f.pwa.status="granted":(window.deferredPwaPrompt,f.pwa.status="pending"),typeof Notification>"u")f.notification.status="unavailable";else{const le=Notification.permission;f.notification.status=le==="granted"?"granted":le==="denied"?"denied":"pending"}if((de=navigator.storage)!=null&&de.persisted){const le=await navigator.storage.persisted();f.storage.status=le?"granted":"pending"}else f.storage.status="unavailable";const R=h.value.some(le=>le.status!=="granted");e.value=R},N=async()=>{const x=window.deferredPwaPrompt;if(!x){f.pwa.status="pending",te("pwa","浏览器没有提供安装提示,可按文档手动安装。");return}x.prompt();const{outcome:A}=await x.userChoice;f.pwa.status=A==="accepted"?"granted":"denied",A!=="accepted"&&te("pwa","如果未出现安装弹窗,或被拒绝,请按说明手动安装。"),window.deferredPwaPrompt=null},K=async()=>{if(typeof Notification>"u"){f.notification.status="unavailable",te("notification","当前环境不支持通知 API,可查看说明手动开启或更换浏览器。");return}const x=await Gt();f.notification.status=x?"granted":"denied",x||te("notification","通知请求未被授予,请按说明检查浏览器或系统设置。")},Q=async()=>{var A;if(!((A=navigator.storage)!=null&&A.persist)){f.storage.status="unavailable",te("storage","当前浏览器不支持持久化存储,可查看说明或更换浏览器。");return}const x=await Qt();f.storage.status=x?"granted":"denied",x||te("storage","未能启用持久化存储,可按说明检查浏览器或系统设置。")},ge=async()=>{if(!(!k.value||a.value)){a.value=!0;try{await N(),await K(),await Q()}finally{a.value=!1,await H()}}},pe=async x=>{if(!a.value){a.value=!0;try{x==="pwa"?await N():x==="notification"?await K():x==="storage"&&await Q()}finally{a.value=!1,await H()}}},te=(x,A="")=>{x==="pwa"?n.title="如何安装为应用":x==="notification"?n.title="如何开启通知":n.title="如何启用离线存储",n.message=A||"查看以下步骤获取更多说明。",n.links=I[x]||[],l.value=!0},se=()=>{re("pwa.hideInstallCard",!0),e.value=!1},C=()=>{f.pwa.status!=="granted"&&(f.pwa.status="pending"),H()},z=()=>{H()};return Ye(()=>{H(),window.addEventListener("pwa-prompt-ready",C),F=window.matchMedia("(display-mode: standalone)"),F.addEventListener("change",z)}),Wt(()=>{window.removeEventListener("pwa-prompt-ready",C),F&&F.removeEventListener("change",z)}),(x,A)=>e.value?(c(),b(_,{key:0,class:"mb-4",color:"surface-variant",variant:"tonal"},{default:i(()=>[r("div",Ii,[r("div",Ei,[s(j,{class:"text-h6"},{default:i(()=>[...A[2]||(A[2]=[u(" 安装应用与授权 ",-1)])]),_:1}),s(yt,{class:"pb-1"},{default:i(()=>[...A[3]||(A[3]=[u(" 手动点选下方项目请求安装和权限,也可以直接关闭 ",-1)])]),_:1}),s(V,{class:"pt-0 pb-1"},{default:i(()=>[s(we,{density:"comfortable",lines:"two"},{default:i(()=>[(c(!0),p(E,null,U(h.value,R=>(c(),b(Se,{key:R.key,disabled:a.value,onClick:()=>pe(R.key)},{prepend:i(()=>[s(Ie,{color:m[R.status],size:"32",variant:"tonal"},{default:i(()=>[s(D,{icon:d[R.status]},null,8,["icon"])]),_:2},1032,["color"])]),append:i(()=>[s(O,{color:m[R.status],size:"small",variant:"tonal",class:"me-2"},{default:i(()=>[u(g(o[R.status]),1)]),_:2},1032,["color"]),s(y,{variant:"text",icon:"mdi-information",size:"small",disabled:a.value,onClick:qe(()=>te(R.key),["stop"])},null,8,["disabled","onClick"])]),default:i(()=>[s($e,null,{default:i(()=>[u(g(R.label),1)]),_:2},1024),s(Pe,null,{default:i(()=>[u(g(R.description),1)]),_:2},1024)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(y,{class:"ms-2",variant:"outlined",size:"small",onClick:se},{default:i(()=>[...A[4]||(A[4]=[u(" 关闭 ",-1)])]),_:1}),s(y,{class:"ms-2",variant:"elevated",color:"primary",size:"small","prepend-icon":a.value?"mdi-timer-sand":"mdi-shield-check",disabled:!k.value||a.value,onClick:ge},{default:i(()=>[u(g(a.value?"处理中":"一次处理全部"),1)]),_:1},8,["prepend-icon","disabled"])]),_:1})]),s(Ie,{class:"ma-3",size:"100",rounded:"0"},{default:i(()=>[s(D,{icon:"mdi-monitor-cellphone",size:"80"})]),_:1})]),s(J,{modelValue:l.value,"onUpdate:modelValue":A[1]||(A[1]=R=>l.value=R),"max-width":"520"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"text-h6"},{default:i(()=>[u(g(n.title),1)]),_:1}),s(V,null,{default:i(()=>[r("p",Ni,g(n.message),1),s(we,{density:"comfortable"},{default:i(()=>[(c(!0),p(E,null,U(n.links,(R,de)=>(c(),b(Se,{key:de,href:R.href,target:"_blank",rel:"noopener"},{default:i(()=>[s($e,null,{default:i(()=>[u(g(R.text),1)]),_:2},1024),s(Pe,null,{default:i(()=>[u(g(R.desc),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(L),s(y,{variant:"text",onClick:A[0]||(A[0]=R=>l.value=!1)},{default:i(()=>[...A[5]||(A[5]=[u("我知道了",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})):w("",!0)}},Vi={name:"HomeActions",props:{synced:Boolean,loadingUpload:Boolean,showRandomPickerButton:Boolean,showExamScheduleButton:Boolean,showListCardButton:Boolean,showFullscreenButton:Boolean,isFullscreen:Boolean,showAntiScreenBurnCard:Boolean,showTestCardButton:Boolean},emits:["upload","show-sync-message","open-random-picker","toggle-fullscreen","add-test-card"]},Ai={class:"d-flex flex-wrap align-center mt-4"};function Ui(t,e,a,l,n,o){return c(),p(E,null,[r("div",Ai,[a.synced?(c(),b(y,{key:1,color:"success",size:"large",onClick:e[1]||(e[1]=d=>t.$emit("show-sync-message"))},{default:i(()=>[...e[9]||(e[9]=[u(" 同步完成 ",-1)])]),_:1})):(c(),b(y,{key:0,loading:a.loadingUpload,class:"ml-2",color:"error",size:"large",onClick:e[0]||(e[0]=d=>t.$emit("upload"))},{default:i(()=>[...e[8]||(e[8]=[u(" 上传 ",-1)])]),_:1},8,["loading"])),a.showRandomPickerButton?(c(),b(y,{key:2,"append-icon":"mdi-dice-multiple",class:"ml-2",color:"amber","prepend-icon":"mdi-account-question",size:"large",onClick:e[2]||(e[2]=d=>t.$emit("open-random-picker"))},{default:i(()=>[...e[10]||(e[10]=[u(" 随机点名 ",-1)])]),_:1})):w("",!0),a.showExamScheduleButton?(c(),b(Je,{key:3,class:"ml-2",color:"green",variant:"elevated",divided:""},{default:i(()=>[s(y,{"prepend-icon":"mdi-calendar-check",size:"large",onClick:e[3]||(e[3]=d=>t.$router.push("/examschedule"))},{default:i(()=>[...e[11]||(e[11]=[u(" 考试看板 ",-1)])]),_:1}),s(y,{icon:"mdi-plus",size:"large",onClick:e[4]||(e[4]=d=>t.$emit("add-exam-card"))})]),_:1})):w("",!0),a.showListCardButton?(c(),b(y,{key:4,class:"ml-2",color:"primary-darken-1","prepend-icon":"mdi-list-box",size:"large",onClick:e[5]||(e[5]=d=>t.$router.push("/list"))},{default:i(()=>[...e[12]||(e[12]=[u(" 列表 ",-1)])]),_:1})):w("",!0),a.showFullscreenButton?(c(),b(y,{key:5,color:a.isFullscreen?"blue-grey":"blue","prepend-icon":a.isFullscreen?"mdi-fullscreen-exit":"mdi-fullscreen",class:"ml-2",size:"large",onClick:e[6]||(e[6]=d=>t.$emit("toggle-fullscreen"))},{default:i(()=>[u(g(a.isFullscreen?"退出全屏":"全屏显示"),1)]),_:1},8,["color","prepend-icon"])):w("",!0),a.showTestCardButton?(c(),b(y,{key:6,class:"ml-2",color:"purple","prepend-icon":"mdi-test-tube",size:"large",onClick:e[7]||(e[7]=d=>t.$emit("add-test-card"))},{default:i(()=>[...e[13]||(e[13]=[u(" 添加测试卡片 ",-1)])]),_:1})):w("",!0)]),a.showAntiScreenBurnCard?(c(),b(_,{key:0,border:"",class:"mt-4 anti-burn-card",color:"primary",variant:"tonal"},{default:i(()=>[s(j,{class:"text-subtitle-1"},{default:i(()=>[s(D,{icon:"mdi-shield-check",size:"small",start:""}),e[14]||(e[14]=u(" 屏幕保护技术已启用 ",-1))]),_:1}),s(V,{class:"text-body-2"},{default:i(()=>[...e[15]||(e[15]=[r("p",null," 为防止OLED/LCD屏幕烧屏,界面元素会定期微调位置。 ",-1),r("p",{class:"text-caption text-grey"}," 此功能不会影响正常使用,仅在长时间静止显示时生效。 ",-1),r("p",{class:"text-caption text-grey"}," 建议在放学后关闭显示器以节约能源。 ",-1)])]),_:1})]),_:1})):w("",!0)],64)}const $t=W(Vi,[["render",Ui]]),zi={name:"RelativeTimeDisplay",props:{time:{type:[String,Date,Number],required:!0}},computed:{displayTime(){if(!this.time)return"";const t=new Date(this.time),e=new Date,a=new Date(t.getFullYear(),t.getMonth(),t.getDate()),l=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=a.getTime()-l.getTime(),o=Math.round(n/(1e3*60*60*24));if(o===0)return"今天";if(o===1)return"明天";if(o===2)return"后天";if(o===-1)return"昨天";if(o===-2)return"前天";const d=l.getDay()||7,m=new Date(l);m.setDate(l.getDate()-d+1);const f=new Date(l);if(f.setDate(l.getDate()+(7-d)),a>=m&&a<=f)return["周日","周一","周二","周三","周四","周五","周六"][t.getDay()];const h=t.getMonth()+1,k=t.getDate();return`${h}月${k}日`}}};function Mi(t,e,a,l,n,o){return c(),p("span",null,g(o.displayTime),1)}const Pt=W(zi,[["render",Mi]]),ze=Jt("exam",{state:()=>({examList:[],exams:{},loadingList:!1,loadingDetails:{}}),actions:{async fetchExamList(){if(!this.loadingList){this.loadingList=!0;try{const t=await Z.loadData("es_list");Array.isArray(t)?this.examList=t:this.examList=[]}catch(t){console.error("Failed to load exam list:",t)}finally{this.loadingList=!1}}},async fetchExam(t){if(this.exams[t])return this.exams[t];if(!this.loadingDetails[t]){this.loadingDetails[t]=!0;try{const e=await Z.loadData(`es_${t}`);return e&&(this.exams[t]=e),e}catch(e){console.error(`Failed to load exam details for ${t}:`,e)}finally{this.loadingDetails[t]=!1}}},async getUpcomingExams(t=25){await this.fetchExamList();const e=[],a=new Date,l=new Date(a.getTime()+2*24*60*60*1e3),n=this.examList.slice(0,t);for(const o of n){let d=this.exams[o.id];d||(d=await this.fetchExam(o.id)),d&&d.examInfos&&Array.isArray(d.examInfos)&&d.examInfos.some(f=>{const h=new Date(f.start);return h>=a&&h<=l})&&e.push({id:o.id,...d})}return e}}}),$i={name:"ConciseExamCard",components:{RelativeTimeDisplay:Pt},props:{examId:{type:String,required:!0},contentStyle:{type:Object,default:()=>({})},readonly:{type:Boolean,default:!1}},computed:{...bt(ze,["exams","loadingDetails"]),exam(){return this.exams[this.examId]},loading(){return this.loadingDetails[this.examId]},groupedExamInfos(){if(!this.exam||!this.exam.examInfos)return[];const t=[...this.exam.examInfos].sort((l,n)=>new Date(l.start)-new Date(n.start)),e=[];let a=null;return t.forEach(l=>{const o=new Date(l.start).toDateString();(!a||a.key!==o)&&(a={key:o,date:l.start,infos:[]},e.push(a)),a.infos.push(l)}),e}},mounted(){this.fetchExam(this.examId)},methods:{...kt(ze,["fetchExam"]),formatTimeOnly(t){if(!t)return"";try{const e=new Date(t),a=e.getHours().toString().padStart(2,"0"),l=e.getMinutes().toString().padStart(2,"0");return`${a}:${l}`}catch{return""}},isPast(t){return t?new Date(t)t.$emit("click"))},{default:i(()=>[s(j,{class:"d-flex align-center py-2 px-3 bg-primary-lighten-5 text-subtitle-1 font-weight-bold"},{default:i(()=>{var m;return[r("span",Pi,g(((m=o.exam)==null?void 0:m.examName)||"加载中..."),1)]}),_:1}),s(V,{class:"flex-grow-1 pa-4 overflow-y-auto",style:he(a.contentStyle)},{default:i(()=>[o.loading?(c(),p("div",Li,[s(xt,{indeterminate:"",size:"24",color:"primary"})])):o.exam?(c(),p("div",Fi,[(c(!0),p(E,null,U(o.groupedExamInfos,(m,f)=>(c(),p("div",{key:f,class:"mb-3"},[r("div",Ri,[s(d,{time:m.date},null,8,["time"])]),(c(!0),p(E,null,U(m.infos,(h,k)=>(c(),p("div",{key:k,class:fe(["d-flex align-center justify-space-between py-1 border-b-sm",{"border-none":k===m.infos.length-1,"text-grey":o.isPast(h.end)}])},[r("div",Oi,g(h.name),1),r("div",Bi,g(o.formatTimeOnly(h.start))+" - "+g(o.formatTimeOnly(h.end)),1)],2))),128))]))),128))])):(c(),p("div",ji,"无法加载"))]),_:1},8,["style"])]),_:1})}const Lt=W($i,[["render",Hi],["__scopeId","data-v-33424f55"]]),Ki=["6IO4","5Lmz","6JCd6I6J","5rer","5aW4"],qi=Ki.map(t=>_t.decode(t)),ht=.75,Wi={name:"HitokotoCard",data(){return{enabled:!1,refreshInterval:60,kvConfig:{sources:["zhaoyu"],sensitiveWords:[]},sentence:"",author:"",origin:"",loading:!1,timer:null,unwatch:null,fontSize:28}},computed:{contentStyle(){return{"font-size":`${this.fontSize*ht}px`,"white-space":"pre-wrap","line-height":"1.6","text-align":"left"}},authorStyle(){return{"font-size":`${this.fontSize*ht*.6}px`,"text-align":"left"}}},async mounted(){this.loadLocalSettings(),await this.loadKvSettings(),this.fetchSentence(),this.startTimer(),this.unwatch=Xe(()=>{this.loadLocalSettings(),this.startTimer()})},beforeUnmount(){this.stopTimer(),this.unwatch&&this.unwatch()},methods:{loadLocalSettings(){this.enabled=Oe.getSetting("hitokoto.enabled"),this.refreshInterval=Oe.getSetting("hitokoto.refreshInterval"),this.fontSize=Oe.getSetting("font.size")},async loadKvSettings(){try{const t=await Z.loadData("sentence-info");let e=t;t&&t.data&&(e=t.data),e&&(this.kvConfig={sources:Array.isArray(e.sources)&&e.sources.length>0?e.sources:["zhaoyu"],sensitiveWords:e.sensitiveWords?e.sensitiveWords.split(/[,,]/).map(a=>a.trim()).filter(a=>a):[],jinrishiciToken:e.jinrishiciToken})}catch(t){console.error("Failed to load sentence-info",t)}},startTimer(){this.timer&&clearInterval(this.timer),this.refreshInterval>0&&(this.timer=setInterval(this.fetchSentence,this.refreshInterval*1e3))},stopTimer(){this.timer&&clearInterval(this.timer)},async fetchSentence(){if(!this.loading){this.loading=!0;try{const t=this.kvConfig.sources,e=t[Math.floor(Math.random()*t.length)];let a=null,l="",n="",o="";if(e==="hitokoto")a=(await Be.get("https://v1.hitokoto.cn/")).data,l=a.hitokoto,n=a.from_who,o=a.from;else if(e==="zhaoyu"){const d=await Be.get("https://hub.saintic.com/openservice/sentence/all.json");d.data.success&&(a=d.data.data,l=a.sentence||a.content||a.name,n=a.author,o=a.name||a.origin)}else if(e==="jinrishici")if(this.kvConfig.jinrishiciToken){const d=await Be.get("https://v2.jinrishici.com/one.json?client=npm-sdk/1.0&X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken),{});d.data.status==="success"&&(a=d.data.data,l=a.content,n=a.origin.author,o=a.origin.title)}else return console.warn("Jinrishici token missing. Please enable it in settings to generate a token."),this.loading=!1,this.fetchSentence();if(l){if([...qi,...this.kvConfig.sensitiveWords].some(f=>f&&l.includes(f)))return this.loading=!1,this.fetchSentence();this.sentence=l,this.author=n||"",this.origin=o||"未知"}}catch(t){console.error("Failed to fetch sentence",t),this.sentence="获取失败",this.author="",this.origin=""}finally{this.loading=!1}}}}},Gi={key:0,class:"mr-2"},Qi={key:1};function Ji(t,e,a,l,n,o){return c(),b(_,{class:"hitokoto-card",elevation:"2",border:"",rounded:"xl",loading:n.loading,height:"100%",onClick:o.fetchSentence},{default:i(()=>[s(V,{class:"pa-6 d-flex flex-column justify-center",style:{height:"100%"}},{default:i(()=>[r("div",{class:"font-weight-medium mb-4 serif-font",style:he(o.contentStyle)},g(n.sentence),5),r("div",{class:"text-medium-emphasis serif-font",style:he(o.authorStyle)},[n.author?(c(),p("span",Gi,g(n.author),1)):w("",!0),n.origin?(c(),p("span",Qi,"《"+g(n.origin)+"》",1)):w("",!0)],4)]),_:1})]),_:1},8,["loading","onClick"])}const Ft=W(Wi,[["render",Ji],["__scopeId","data-v-de957b7d"]]),Yi={name:"HomeworkGrid",computed:{settings(){return settings}},components:{HitokotoCard:Ft,ConciseExamCard:Lt},props:{sortedItems:{type:Array,required:!0},unusedSubjects:{type:Array,required:!0},emptySubjectDisplay:{type:String,default:"button"},isMobile:{type:Boolean,default:!1},isEditingDisabled:{type:Boolean,default:!1},contentStyle:{type:Object,default:()=>({})},highlightedCards:{type:Object,default:()=>({})}},emits:["open-dialog","open-attendance","disabled-click"],data(){return{isReadOnlyToken:!1}},async mounted(){this.resizeObserver=new ResizeObserver(()=>{this.resizeAllGridItems()}),this.$refs.gridContainer&&this.resizeObserver.observe(this.$refs.gridContainer),this.$nextTick(()=>{this.resizeAllGridItems(),this.$refs.items&&this.$refs.items.forEach(t=>{t.firstElementChild&&this.resizeObserver.observe(t.firstElementChild)})}),await this.checkReadOnlyStatus()},updated(){this.$nextTick(()=>{this.resizeAllGridItems(),this.$refs.items&&this.$refs.items.forEach(t=>{t.firstElementChild&&this.resizeObserver.observe(t.firstElementChild)})})},beforeUnmount(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{getSetting:S,async checkReadOnlyStatus(){try{let t=null;if(this.$parent&&this.$parent.$refs&&this.$parent.$refs.studentNameManager?t=this.$parent.$refs.studentNameManager:this.$root&&this.$root.$refs&&this.$root.$refs.studentNameManager&&(t=this.$root.$refs.studentNameManager),t&&typeof t.isReadOnly<"u")this.isReadOnlyToken=t.isReadOnly;else{const{getSetting:e}=await nt(async()=>{const{getSetting:l}=await import("./index-Ck0Pnd4f.js").then(n=>n.cL);return{getSetting:l}},__vite__mapDeps([0,1]),import.meta.url),a=e("server.kvToken");if(a){const{default:l}=await nt(async()=>{const{default:o}=await import("./dataProvider-BZ0EQWiW.js").then(d=>d.e);return{default:o}},__vite__mapDeps([2,0,1,3]),import.meta.url),n=e("server.domain");if(n)try{const o=await l.get(`${n}/kv/_token`,{headers:{Authorization:`Bearer ${a}`}});o.data&&typeof o.data.isReadOnly<"u"&&(this.isReadOnlyToken=o.data.isReadOnly)}catch(o){console.error("获取Token信息失败:",o)}}}}catch(t){console.error("检查只读状态失败:",t)}},resizeGridItem(t){const e=this.$refs.gridContainer;if(!e)return;const a=parseInt(window.getComputedStyle(e).getPropertyValue("grid-auto-rows")),l=parseInt(window.getComputedStyle(e).getPropertyValue("gap")),n=t.firstElementChild;if(!n)return;const o=n.getBoundingClientRect().height,d=Math.ceil((o+l)/(a+l));t.style.gridRowEnd=`span ${d}`},resizeAllGridItems(){const t=this.$refs.items;t&&t.forEach(e=>this.resizeGridItem(e))},handleCardClick(t,e){if(this.isEditingDisabled){this.$emit("disabled-click");return}t==="attendance"?this.$emit("open-attendance"):t==="dialog"&&this.$emit("open-dialog",e)},splitPoint(t){return t.split(` +`))},{default:i(()=>[...e[10]||(e[10]=[u(" 换行 ",-1)])]),_:1})])]),r("div",ci,[(c(!0),p(E,null,U(n.quickTexts,m=>(c(),b(y,{key:m,size:"small",variant:"flat",onClick:f=>o.insertAtCursor(m)},{default:i(()=>[u(g(m),1)]),_:2},1032,["onClick"]))),128))])])):w("",!0)])]}),_:1}),a.isEditingPastData?(c(),b(_e,{key:0,type:"warning",variant:"tonal",class:"mx-4 mb-4",border:"start","border-color":"warning",prominent:""},{prepend:i(()=>[...e[11]||(e[11]=[])]),default:i(()=>[r("div",mi,[e[12]||(e[12]=r("div",{class:"text-h6 mb-1"},"你打算修改历史?",-1)),r("div",fi," 这是 "+g(new Date(a.currentDateString.slice(0,4),a.currentDateString.slice(4,6)-1,a.currentDateString.slice(6,8)).toLocaleDateString())+" 的作业 • 请谨慎操作,确保不会覆盖重要数据 ",1)])]),_:1})):w("",!0),e[13]||(e[13]=r("div",{class:"text-center text-body-2 text-disabled mb-5"}," 点击空白处完成编辑 ",-1))]),_:1})]),_:1},8,["modelValue","fullscreen","onClick:outside"])}const Ut=W(Qn,[["render",hi],["__scopeId","data-v-af72d8a9"]]),gi={name:"AttendanceSidebar",props:{studentList:{type:Array,required:!0},attendance:{type:Object,required:!0},isEditingDisabled:{type:Boolean,default:!1}},emits:["click","disabled-click"],setup(){return{display:Ae()}},methods:{getSetting:S,handleClick(){this.isEditingDisabled?this.$emit("disabled-click"):this.$emit("click")}}},pi={style:{"white-space":"nowrap"}},vi={style:{"white-space":"nowrap"}},yi={style:{"white-space":"nowrap"}},ki={key:0},bi={style:{"white-space":"nowrap"}},xi={style:{"white-space":"nowrap"}},wi={key:0},Si={style:{"white-space":"nowrap"}},Ci={style:{"white-space":"nowrap"}},_i={key:0},Di={style:{"white-space":"nowrap"}};function Ti(t,e,a,l,n,o){return a.studentList&&a.studentList.length?oe((c(),b(ne,{key:0,class:fe([{"cursor-not-allowed":a.isEditingDisabled},"attendance-area no-select"]),cols:"1",onClick:o.handleClick},{default:i(()=>[e[10]||(e[10]=r("h1",null,"出勤",-1)),r("h2",null,[e[0]||(e[0]=r("span",{style:{"white-space":"nowrap"}}," 应到",-1)),e[1]||(e[1]=u(" : ",-1)),r("span",pi,g(a.studentList.length-a.attendance.exclude.length)+"人 ",1)]),r("h2",null,[e[2]||(e[2]=r("span",{style:{"white-space":"nowrap"}}," 实到",-1)),e[3]||(e[3]=u(" : ",-1)),r("span",vi,g(a.studentList.length-a.attendance.absent.length-!o.getSetting("display.lateStudentsArePresent")*a.attendance.late.length-a.attendance.exclude.length)+"人 ",1)]),r("h2",null,[e[4]||(e[4]=r("span",{style:{"white-space":"nowrap"}}," 请假",-1)),e[5]||(e[5]=u(" : ",-1)),r("span",yi,g(a.attendance.absent.length)+"人 ",1)]),(c(!0),p(E,null,U(a.attendance.absent,(d,m)=>(c(),p("h3",{key:"absent-"+m,class:"gray-text"},[l.display.lgAndUp.value?(c(),p("span",ki,g(`${m+1}. `),1)):w("",!0),r("span",bi,g(d),1)]))),128)),r("h2",null,[e[6]||(e[6]=r("span",{style:{"white-space":"nowrap"}},"迟到",-1)),e[7]||(e[7]=u(" : ",-1)),r("span",xi,g(a.attendance.late.length)+"人 ",1)]),(c(!0),p(E,null,U(a.attendance.late,(d,m)=>(c(),p("h3",{key:"late-"+m,class:"gray-text"},[l.display.lgAndUp.value?(c(),p("span",wi,g(`${m+1}. `),1)):w("",!0),r("span",Si,g(d),1)]))),128)),r("h2",null,[e[8]||(e[8]=r("span",{style:{"white-space":"nowrap"}},"不参与",-1)),e[9]||(e[9]=u(" : ",-1)),r("span",Ci,g(a.attendance.exclude.length)+"人 ",1)]),(c(!0),p(E,null,U(a.attendance.exclude,(d,m)=>(c(),p("h3",{key:"exclude-"+m,class:"gray-text"},[l.display.lgAndUp.value?(c(),p("span",_i,g(`${m+1}. `),1)):w("",!0),r("span",Di,g(d),1)]))),128))]),_:1},8,["class","onClick"])),[[xe,a.isEditingDisabled?!1:{class:`text-${["primary","secondary","info","success","warning","error"][Math.floor(Math.random()*6)]}`}]]):w("",!0)}const zt=W(gi,[["render",Ti],["__scopeId","data-v-5a7eaf6a"]]),Ii={class:"d-flex flex-no-wrap justify-space-between"},Ei={class:"pe-4"},Ni={class:"mb-3"},Mt={__name:"PwaInstallCard",setup(t){const e=$(!1),a=$(!1),l=$(!1),n=st({title:"",message:"",links:[]}),o={pending:"待授权",granted:"已完成",denied:"已拒绝",unavailable:"不可用"},d={pending:"mdi-progress-clock",granted:"mdi-check-circle",denied:"mdi-close-circle",unavailable:"mdi-help-circle"},m={pending:"primary",granted:"success",denied:"error",unavailable:"surface-variant"},f=st({pwa:{label:"安装应用",description:"将网站安装为独立应用,便于快速启动",status:"pending"},notification:{label:"通知权限",description:"允许接收作业、考试等通知提醒",status:"pending"},storage:{label:"离线存储",description:"启用持久化存储以获得更稳健的离线体验",status:"pending"}}),h=G(()=>[{key:"pwa",...f.pwa},{key:"notification",...f.notification},{key:"storage",...f.storage}]),k=G(()=>h.value.some(x=>x.status==="pending")),I={pwa:[{text:"MDN - 安装 PWA 指南",desc:"检查浏览器是否支持并手动触发安装",href:"https://developer.mozilla.org/zh-CN/docs/Web/Progressive_web_apps/Guides/Installing"},{text:"Microsoft Edge - PWA 体验",desc:"Edge 浏览器安装与 UX 说明",href:"https://learn.microsoft.com/zh-cn/microsoft-edge/progressive-web-apps/ux"}],notification:[{text:"MDN - 通知权限与用法",desc:"浏览器通知权限的工作方式与调试",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/notification"}],storage:[{text:"MDN - Storage 持久化说明",desc:"了解持久化存储的可用性与申请方式",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/StorageManager/persist"}]};let F;const H=async()=>{var de;if(S("pwa.hideInstallCard")){e.value=!1;return}if(window.matchMedia("(display-mode: standalone)").matches||window.navigator.standalone===!0?f.pwa.status="granted":(window.deferredPwaPrompt,f.pwa.status="pending"),typeof Notification>"u")f.notification.status="unavailable";else{const le=Notification.permission;f.notification.status=le==="granted"?"granted":le==="denied"?"denied":"pending"}if((de=navigator.storage)!=null&&de.persisted){const le=await navigator.storage.persisted();f.storage.status=le?"granted":"pending"}else f.storage.status="unavailable";const R=h.value.some(le=>le.status!=="granted");e.value=R},N=async()=>{const x=window.deferredPwaPrompt;if(!x){f.pwa.status="pending",te("pwa","浏览器没有提供安装提示,可按文档手动安装。");return}x.prompt();const{outcome:A}=await x.userChoice;f.pwa.status=A==="accepted"?"granted":"denied",A!=="accepted"&&te("pwa","如果未出现安装弹窗,或被拒绝,请按说明手动安装。"),window.deferredPwaPrompt=null},K=async()=>{if(typeof Notification>"u"){f.notification.status="unavailable",te("notification","当前环境不支持通知 API,可查看说明手动开启或更换浏览器。");return}const x=await Gt();f.notification.status=x?"granted":"denied",x||te("notification","通知请求未被授予,请按说明检查浏览器或系统设置。")},Q=async()=>{var A;if(!((A=navigator.storage)!=null&&A.persist)){f.storage.status="unavailable",te("storage","当前浏览器不支持持久化存储,可查看说明或更换浏览器。");return}const x=await Qt();f.storage.status=x?"granted":"denied",x||te("storage","未能启用持久化存储,可按说明检查浏览器或系统设置。")},ge=async()=>{if(!(!k.value||a.value)){a.value=!0;try{await N(),await K(),await Q()}finally{a.value=!1,await H()}}},pe=async x=>{if(!a.value){a.value=!0;try{x==="pwa"?await N():x==="notification"?await K():x==="storage"&&await Q()}finally{a.value=!1,await H()}}},te=(x,A="")=>{x==="pwa"?n.title="如何安装为应用":x==="notification"?n.title="如何开启通知":n.title="如何启用离线存储",n.message=A||"查看以下步骤获取更多说明。",n.links=I[x]||[],l.value=!0},se=()=>{re("pwa.hideInstallCard",!0),e.value=!1},C=()=>{f.pwa.status!=="granted"&&(f.pwa.status="pending"),H()},z=()=>{H()};return Ye(()=>{H(),window.addEventListener("pwa-prompt-ready",C),F=window.matchMedia("(display-mode: standalone)"),F.addEventListener("change",z)}),Wt(()=>{window.removeEventListener("pwa-prompt-ready",C),F&&F.removeEventListener("change",z)}),(x,A)=>e.value?(c(),b(_,{key:0,class:"mb-4",color:"surface-variant",variant:"tonal"},{default:i(()=>[r("div",Ii,[r("div",Ei,[s(j,{class:"text-h6"},{default:i(()=>[...A[2]||(A[2]=[u(" 安装应用与授权 ",-1)])]),_:1}),s(yt,{class:"pb-1"},{default:i(()=>[...A[3]||(A[3]=[u(" 手动点选下方项目请求安装和权限,也可以直接关闭 ",-1)])]),_:1}),s(V,{class:"pt-0 pb-1"},{default:i(()=>[s(we,{density:"comfortable",lines:"two"},{default:i(()=>[(c(!0),p(E,null,U(h.value,R=>(c(),b(Se,{key:R.key,disabled:a.value,onClick:()=>pe(R.key)},{prepend:i(()=>[s(Ie,{color:m[R.status],size:"32",variant:"tonal"},{default:i(()=>[s(D,{icon:d[R.status]},null,8,["icon"])]),_:2},1032,["color"])]),append:i(()=>[s(O,{color:m[R.status],size:"small",variant:"tonal",class:"me-2"},{default:i(()=>[u(g(o[R.status]),1)]),_:2},1032,["color"]),s(y,{variant:"text",icon:"mdi-information",size:"small",disabled:a.value,onClick:qe(()=>te(R.key),["stop"])},null,8,["disabled","onClick"])]),default:i(()=>[s($e,null,{default:i(()=>[u(g(R.label),1)]),_:2},1024),s(Pe,null,{default:i(()=>[u(g(R.description),1)]),_:2},1024)]),_:2},1032,["disabled","onClick"]))),128))]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(y,{class:"ms-2",variant:"outlined",size:"small",onClick:se},{default:i(()=>[...A[4]||(A[4]=[u(" 关闭 ",-1)])]),_:1}),s(y,{class:"ms-2",variant:"elevated",color:"primary",size:"small","prepend-icon":a.value?"mdi-timer-sand":"mdi-shield-check",disabled:!k.value||a.value,onClick:ge},{default:i(()=>[u(g(a.value?"处理中":"一次处理全部"),1)]),_:1},8,["prepend-icon","disabled"])]),_:1})]),s(Ie,{class:"ma-3",size:"100",rounded:"0"},{default:i(()=>[s(D,{icon:"mdi-monitor-cellphone",size:"80"})]),_:1})]),s(J,{modelValue:l.value,"onUpdate:modelValue":A[1]||(A[1]=R=>l.value=R),"max-width":"520"},{default:i(()=>[s(_,null,{default:i(()=>[s(j,{class:"text-h6"},{default:i(()=>[u(g(n.title),1)]),_:1}),s(V,null,{default:i(()=>[r("p",Ni,g(n.message),1),s(we,{density:"comfortable"},{default:i(()=>[(c(!0),p(E,null,U(n.links,(R,de)=>(c(),b(Se,{key:de,href:R.href,target:"_blank",rel:"noopener"},{default:i(()=>[s($e,null,{default:i(()=>[u(g(R.text),1)]),_:2},1024),s(Pe,null,{default:i(()=>[u(g(R.desc),1)]),_:2},1024)]),_:2},1032,["href"]))),128))]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(L),s(y,{variant:"text",onClick:A[0]||(A[0]=R=>l.value=!1)},{default:i(()=>[...A[5]||(A[5]=[u("我知道了",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})):w("",!0)}},Vi={name:"HomeActions",props:{synced:Boolean,loadingUpload:Boolean,showRandomPickerButton:Boolean,showExamScheduleButton:Boolean,showListCardButton:Boolean,showFullscreenButton:Boolean,isFullscreen:Boolean,showAntiScreenBurnCard:Boolean,showTestCardButton:Boolean},emits:["upload","show-sync-message","open-random-picker","toggle-fullscreen","add-test-card"]},Ai={class:"d-flex flex-wrap align-center mt-4"};function Ui(t,e,a,l,n,o){return c(),p(E,null,[r("div",Ai,[a.synced?(c(),b(y,{key:1,color:"success",size:"large",onClick:e[1]||(e[1]=d=>t.$emit("show-sync-message"))},{default:i(()=>[...e[9]||(e[9]=[u(" 同步完成 ",-1)])]),_:1})):(c(),b(y,{key:0,loading:a.loadingUpload,class:"ml-2",color:"error",size:"large",onClick:e[0]||(e[0]=d=>t.$emit("upload"))},{default:i(()=>[...e[8]||(e[8]=[u(" 上传 ",-1)])]),_:1},8,["loading"])),a.showRandomPickerButton?(c(),b(y,{key:2,"append-icon":"mdi-dice-multiple",class:"ml-2",color:"amber","prepend-icon":"mdi-account-question",size:"large",onClick:e[2]||(e[2]=d=>t.$emit("open-random-picker"))},{default:i(()=>[...e[10]||(e[10]=[u(" 随机点名 ",-1)])]),_:1})):w("",!0),a.showExamScheduleButton?(c(),b(Je,{key:3,class:"ml-2",color:"green",variant:"elevated",divided:""},{default:i(()=>[s(y,{"prepend-icon":"mdi-calendar-check",size:"large",onClick:e[3]||(e[3]=d=>t.$router.push("/examschedule"))},{default:i(()=>[...e[11]||(e[11]=[u(" 考试看板 ",-1)])]),_:1}),s(y,{icon:"mdi-plus",size:"large",onClick:e[4]||(e[4]=d=>t.$emit("add-exam-card"))})]),_:1})):w("",!0),a.showListCardButton?(c(),b(y,{key:4,class:"ml-2",color:"primary-darken-1","prepend-icon":"mdi-list-box",size:"large",onClick:e[5]||(e[5]=d=>t.$router.push("/list"))},{default:i(()=>[...e[12]||(e[12]=[u(" 列表 ",-1)])]),_:1})):w("",!0),a.showFullscreenButton?(c(),b(y,{key:5,color:a.isFullscreen?"blue-grey":"blue","prepend-icon":a.isFullscreen?"mdi-fullscreen-exit":"mdi-fullscreen",class:"ml-2",size:"large",onClick:e[6]||(e[6]=d=>t.$emit("toggle-fullscreen"))},{default:i(()=>[u(g(a.isFullscreen?"退出全屏":"全屏显示"),1)]),_:1},8,["color","prepend-icon"])):w("",!0),a.showTestCardButton?(c(),b(y,{key:6,class:"ml-2",color:"purple","prepend-icon":"mdi-test-tube",size:"large",onClick:e[7]||(e[7]=d=>t.$emit("add-test-card"))},{default:i(()=>[...e[13]||(e[13]=[u(" 添加测试卡片 ",-1)])]),_:1})):w("",!0)]),a.showAntiScreenBurnCard?(c(),b(_,{key:0,border:"",class:"mt-4 anti-burn-card",color:"primary",variant:"tonal"},{default:i(()=>[s(j,{class:"text-subtitle-1"},{default:i(()=>[s(D,{icon:"mdi-shield-check",size:"small",start:""}),e[14]||(e[14]=u(" 屏幕保护技术已启用 ",-1))]),_:1}),s(V,{class:"text-body-2"},{default:i(()=>[...e[15]||(e[15]=[r("p",null," 为防止OLED/LCD屏幕烧屏,界面元素会定期微调位置。 ",-1),r("p",{class:"text-caption text-grey"}," 此功能不会影响正常使用,仅在长时间静止显示时生效。 ",-1),r("p",{class:"text-caption text-grey"}," 建议在放学后关闭显示器以节约能源。 ",-1)])]),_:1})]),_:1})):w("",!0)],64)}const $t=W(Vi,[["render",Ui]]),zi={name:"RelativeTimeDisplay",props:{time:{type:[String,Date,Number],required:!0}},computed:{displayTime(){if(!this.time)return"";const t=new Date(this.time),e=new Date,a=new Date(t.getFullYear(),t.getMonth(),t.getDate()),l=new Date(e.getFullYear(),e.getMonth(),e.getDate()),n=a.getTime()-l.getTime(),o=Math.round(n/(1e3*60*60*24));if(o===0)return"今天";if(o===1)return"明天";if(o===2)return"后天";if(o===-1)return"昨天";if(o===-2)return"前天";const d=l.getDay()||7,m=new Date(l);m.setDate(l.getDate()-d+1);const f=new Date(l);if(f.setDate(l.getDate()+(7-d)),a>=m&&a<=f)return["周日","周一","周二","周三","周四","周五","周六"][t.getDay()];const h=t.getMonth()+1,k=t.getDate();return`${h}月${k}日`}}};function Mi(t,e,a,l,n,o){return c(),p("span",null,g(o.displayTime),1)}const Pt=W(zi,[["render",Mi]]),ze=Jt("exam",{state:()=>({examList:[],exams:{},loadingList:!1,loadingDetails:{}}),actions:{async fetchExamList(){if(!this.loadingList){this.loadingList=!0;try{const t=await Z.loadData("es_list");Array.isArray(t)?this.examList=t:this.examList=[]}catch(t){console.error("Failed to load exam list:",t)}finally{this.loadingList=!1}}},async fetchExam(t){if(this.exams[t])return this.exams[t];if(!this.loadingDetails[t]){this.loadingDetails[t]=!0;try{const e=await Z.loadData(`es_${t}`);return e&&(this.exams[t]=e),e}catch(e){console.error(`Failed to load exam details for ${t}:`,e)}finally{this.loadingDetails[t]=!1}}},async getUpcomingExams(t=25){await this.fetchExamList();const e=[],a=new Date,l=new Date(a.getTime()+2*24*60*60*1e3),n=this.examList.slice(0,t);for(const o of n){let d=this.exams[o.id];d||(d=await this.fetchExam(o.id)),d&&d.examInfos&&Array.isArray(d.examInfos)&&d.examInfos.some(f=>{const h=new Date(f.start);return h>=a&&h<=l})&&e.push({id:o.id,...d})}return e}}}),$i={name:"ConciseExamCard",components:{RelativeTimeDisplay:Pt},props:{examId:{type:String,required:!0},contentStyle:{type:Object,default:()=>({})},readonly:{type:Boolean,default:!1}},computed:{...bt(ze,["exams","loadingDetails"]),exam(){return this.exams[this.examId]},loading(){return this.loadingDetails[this.examId]},groupedExamInfos(){if(!this.exam||!this.exam.examInfos)return[];const t=[...this.exam.examInfos].sort((l,n)=>new Date(l.start)-new Date(n.start)),e=[];let a=null;return t.forEach(l=>{const o=new Date(l.start).toDateString();(!a||a.key!==o)&&(a={key:o,date:l.start,infos:[]},e.push(a)),a.infos.push(l)}),e}},mounted(){this.fetchExam(this.examId)},methods:{...kt(ze,["fetchExam"]),formatTimeOnly(t){if(!t)return"";try{const e=new Date(t),a=e.getHours().toString().padStart(2,"0"),l=e.getMinutes().toString().padStart(2,"0");return`${a}:${l}`}catch{return""}},isPast(t){return t?new Date(t)t.$emit("click"))},{default:i(()=>[s(j,{class:"d-flex align-center py-2 px-3 bg-primary-lighten-5 text-subtitle-1 font-weight-bold"},{default:i(()=>{var m;return[r("span",Pi,g(((m=o.exam)==null?void 0:m.examName)||"加载中..."),1)]}),_:1}),s(V,{class:"flex-grow-1 pa-4 overflow-y-auto",style:he(a.contentStyle)},{default:i(()=>[o.loading?(c(),p("div",Li,[s(xt,{indeterminate:"",size:"24",color:"primary"})])):o.exam?(c(),p("div",Fi,[(c(!0),p(E,null,U(o.groupedExamInfos,(m,f)=>(c(),p("div",{key:f,class:"mb-3"},[r("div",Ri,[s(d,{time:m.date},null,8,["time"])]),(c(!0),p(E,null,U(m.infos,(h,k)=>(c(),p("div",{key:k,class:fe(["d-flex align-center justify-space-between py-1 border-b-sm",{"border-none":k===m.infos.length-1,"text-grey":o.isPast(h.end)}])},[r("div",Oi,g(h.name),1),r("div",Bi,g(o.formatTimeOnly(h.start))+" - "+g(o.formatTimeOnly(h.end)),1)],2))),128))]))),128))])):(c(),p("div",ji,"无法加载"))]),_:1},8,["style"])]),_:1})}const Lt=W($i,[["render",Hi],["__scopeId","data-v-33424f55"]]),Ki=["6IO4","5Lmz","6JCd6I6J","5rer","5aW4"],qi=Ki.map(t=>_t.decode(t)),ht=.75,Wi={name:"HitokotoCard",data(){return{enabled:!1,refreshInterval:60,kvConfig:{sources:["zhaoyu"],sensitiveWords:[]},sentence:"",author:"",origin:"",loading:!1,timer:null,unwatch:null,fontSize:28}},computed:{contentStyle(){return{"font-size":`${this.fontSize*ht}px`,"white-space":"pre-wrap","line-height":"1.6","text-align":"left"}},authorStyle(){return{"font-size":`${this.fontSize*ht*.6}px`,"text-align":"left"}}},async mounted(){this.loadLocalSettings(),await this.loadKvSettings(),this.fetchSentence(),this.startTimer(),this.unwatch=Xe(()=>{this.loadLocalSettings(),this.startTimer()})},beforeUnmount(){this.stopTimer(),this.unwatch&&this.unwatch()},methods:{loadLocalSettings(){this.enabled=Oe.getSetting("hitokoto.enabled"),this.refreshInterval=Oe.getSetting("hitokoto.refreshInterval"),this.fontSize=Oe.getSetting("font.size")},async loadKvSettings(){try{const t=await Z.loadData("sentence-info");let e=t;t&&t.data&&(e=t.data),e&&(this.kvConfig={sources:Array.isArray(e.sources)&&e.sources.length>0?e.sources:["zhaoyu"],sensitiveWords:e.sensitiveWords?e.sensitiveWords.split(/[,,]/).map(a=>a.trim()).filter(a=>a):[],jinrishiciToken:e.jinrishiciToken})}catch(t){console.error("Failed to load sentence-info",t)}},startTimer(){this.timer&&clearInterval(this.timer),this.refreshInterval>0&&(this.timer=setInterval(this.fetchSentence,this.refreshInterval*1e3))},stopTimer(){this.timer&&clearInterval(this.timer)},async fetchSentence(){if(!this.loading){this.loading=!0;try{const t=this.kvConfig.sources,e=t[Math.floor(Math.random()*t.length)];let a=null,l="",n="",o="";if(e==="hitokoto")a=(await Be.get("https://v1.hitokoto.cn/")).data,l=a.hitokoto,n=a.from_who,o=a.from;else if(e==="zhaoyu"){const d=await Be.get("https://hub.saintic.com/openservice/sentence/all.json");d.data.success&&(a=d.data.data,l=a.sentence||a.content||a.name,n=a.author,o=a.name||a.origin)}else if(e==="jinrishici")if(this.kvConfig.jinrishiciToken){const d=await Be.get("https://v2.jinrishici.com/one.json?client=npm-sdk/1.0&X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken),{});d.data.status==="success"&&(a=d.data.data,l=a.content,n=a.origin.author,o=a.origin.title)}else return console.warn("Jinrishici token missing. Please enable it in settings to generate a token."),this.loading=!1,this.fetchSentence();if(l){if([...qi,...this.kvConfig.sensitiveWords].some(f=>f&&l.includes(f)))return this.loading=!1,this.fetchSentence();this.sentence=l,this.author=n||"",this.origin=o||"未知"}}catch(t){console.error("Failed to fetch sentence",t),this.sentence="获取失败",this.author="",this.origin=""}finally{this.loading=!1}}}}},Gi={key:0,class:"mr-2"},Qi={key:1};function Ji(t,e,a,l,n,o){return c(),b(_,{class:"hitokoto-card",elevation:"2",border:"",rounded:"xl",loading:n.loading,height:"100%",onClick:o.fetchSentence},{default:i(()=>[s(V,{class:"pa-6 d-flex flex-column justify-center",style:{height:"100%"}},{default:i(()=>[r("div",{class:"font-weight-medium mb-4 serif-font",style:he(o.contentStyle)},g(n.sentence),5),r("div",{class:"text-medium-emphasis serif-font",style:he(o.authorStyle)},[n.author?(c(),p("span",Gi,g(n.author),1)):w("",!0),n.origin?(c(),p("span",Qi,"《"+g(n.origin)+"》",1)):w("",!0)],4)]),_:1})]),_:1},8,["loading","onClick"])}const Ft=W(Wi,[["render",Ji],["__scopeId","data-v-de957b7d"]]),Yi={name:"HomeworkGrid",computed:{settings(){return settings}},components:{HitokotoCard:Ft,ConciseExamCard:Lt},props:{sortedItems:{type:Array,required:!0},unusedSubjects:{type:Array,required:!0},emptySubjectDisplay:{type:String,default:"button"},isMobile:{type:Boolean,default:!1},isEditingDisabled:{type:Boolean,default:!1},contentStyle:{type:Object,default:()=>({})},highlightedCards:{type:Object,default:()=>({})}},emits:["open-dialog","open-attendance","disabled-click"],data(){return{isReadOnlyToken:!1}},async mounted(){this.resizeObserver=new ResizeObserver(()=>{this.resizeAllGridItems()}),this.$refs.gridContainer&&this.resizeObserver.observe(this.$refs.gridContainer),this.$nextTick(()=>{this.resizeAllGridItems(),this.$refs.items&&this.$refs.items.forEach(t=>{t.firstElementChild&&this.resizeObserver.observe(t.firstElementChild)})}),await this.checkReadOnlyStatus()},updated(){this.$nextTick(()=>{this.resizeAllGridItems(),this.$refs.items&&this.$refs.items.forEach(t=>{t.firstElementChild&&this.resizeObserver.observe(t.firstElementChild)})})},beforeUnmount(){this.resizeObserver&&this.resizeObserver.disconnect()},methods:{getSetting:S,async checkReadOnlyStatus(){try{let t=null;if(this.$parent&&this.$parent.$refs&&this.$parent.$refs.studentNameManager?t=this.$parent.$refs.studentNameManager:this.$root&&this.$root.$refs&&this.$root.$refs.studentNameManager&&(t=this.$root.$refs.studentNameManager),t&&typeof t.isReadOnly<"u")this.isReadOnlyToken=t.isReadOnly;else{const{getSetting:e}=await nt(async()=>{const{getSetting:l}=await import("./index-BUM0TY0E.js").then(n=>n.cL);return{getSetting:l}},__vite__mapDeps([0,1]),import.meta.url),a=e("server.kvToken");if(a){const{default:l}=await nt(async()=>{const{default:o}=await import("./dataProvider-MQ8YacC2.js").then(d=>d.e);return{default:o}},__vite__mapDeps([2,0,1,3]),import.meta.url),n=e("server.domain");if(n)try{const o=await l.get(`${n}/kv/_token`,{headers:{Authorization:`Bearer ${a}`}});o.data&&typeof o.data.isReadOnly<"u"&&(this.isReadOnlyToken=o.data.isReadOnly)}catch(o){console.error("获取Token信息失败:",o)}}}}catch(t){console.error("检查只读状态失败:",t)}},resizeGridItem(t){const e=this.$refs.gridContainer;if(!e)return;const a=parseInt(window.getComputedStyle(e).getPropertyValue("grid-auto-rows")),l=parseInt(window.getComputedStyle(e).getPropertyValue("gap")),n=t.firstElementChild;if(!n)return;const o=n.getBoundingClientRect().height,d=Math.ceil((o+l)/(a+l));t.style.gridRowEnd=`span ${d}`},resizeAllGridItems(){const t=this.$refs.items;t&&t.forEach(e=>this.resizeGridItem(e))},handleCardClick(t,e){if(this.isEditingDisabled){this.$emit("disabled-click");return}t==="attendance"?this.$emit("open-attendance"):t==="dialog"&&this.$emit("open-dialog",e)},splitPoint(t){return t.split(` `).filter(e=>e.trim())},handleMouseMove(t){const e=t.currentTarget,a=e.getBoundingClientRect(),l=(t.clientX-a.left)/a.width*100,n=(t.clientY-a.top)/a.height*100;e.style.setProperty("--x",`${l}%`),e.style.setProperty("--y",`${n}%`)},handleTouchMove(t){if(t.touches.length===1){const e=t.touches[0],a=t.currentTarget,l=a.getBoundingClientRect(),n=(e.clientX-l.left)/l.width*100,o=(e.clientY-l.top)/l.height*100;a.style.setProperty("--x",`${n}%`),a.style.setProperty("--y",`${o}%`)}}}},Xi={ref:"gridContainer",class:"grid-masonry"},Zi=["data-key"],ea={key:0,style:{height:"100%"}},ta={key:1,style:{height:"100%"}},sa={class:"d-flex justify-space-between align-center mb-2"},na={class:"text-h6"},ia={key:0,class:"mb-2"},aa={class:"text-error text-caption mb-1"},oa={class:"d-flex flex-wrap",style:{gap:"4px"}},la={key:1,class:"mb-2"},ra={class:"text-warning text-caption mb-1"},da={class:"d-flex flex-wrap",style:{gap:"4px"}},ua={key:2,class:"mb-2"},ca={class:"text-grey text-caption mb-1"},ma={class:"d-flex flex-wrap",style:{gap:"4px"}},fa={key:3,class:"text-success text-center mt-2"},ha={class:"empty-subjects mt-4"},ga={key:0,class:"d-flex flex-wrap justify-center"},pa={key:2,class:"empty-subjects-grid"};function va(t,e,a,l,n,o){const d=Ft,m=Lt;return c(),p(E,null,[r("div",Xi,[s(Ke,{name:"grid"},{default:i(()=>[(c(!0),p(E,null,U(a.sortedItems,f=>(c(),p("div",{key:f.key,ref_for:!0,ref:"items","data-key":f.key,style:he({order:f.order}),class:"grid-item"},[f.type==="hitokoto"?(c(),p("div",ea,[s(d)])):f.type==="exam"?(c(),p("div",ta,[s(m,{"exam-id":f.data.examId,"content-style":a.contentStyle,onClick:h=>t.$emit("open-exam-detail",f.data.examId)},null,8,["exam-id","content-style","onClick"])])):f.type==="attendance"?(c(),b(_,{key:2,class:fe([{"glow-highlight":a.highlightedCards[f.key],"cursor-not-allowed":a.isEditingDisabled,"cursor-pointer":!a.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:e[0]||(e[0]=h=>o.handleCardClick("attendance",null)),onMousemove:o.handleMouseMove,onTouchmove:o.handleTouchMove},{default:i(()=>[s(j,{class:"d-flex align-center"},{default:i(()=>[s(D,{class:"mr-2",color:"primary",icon:"mdi-account-group"}),e[1]||(e[1]=u(" 出勤统计 ",-1))]),_:1}),s(V,null,{default:i(()=>[r("div",sa,[e[2]||(e[2]=r("span",null,"应到/实到",-1)),r("span",na,g(f.data.total-f.data.exclude.length)+"/"+g(f.data.total-f.data.absent.length-!o.getSetting("display.lateStudentsArePresent")*f.data.late.length-f.data.exclude.length),1)]),s(ve,{class:"mb-2"}),f.data.absent.length>0?(c(),p("div",ia,[r("div",aa,"请假 ("+g(f.data.absent.length)+")",1),r("div",oa,[(c(!0),p(E,null,U(f.data.absent,h=>(c(),b(O,{key:h,color:"error",size:"x-small",variant:"flat"},{default:i(()=>[u(g(h),1)]),_:2},1024))),128))])])):w("",!0),f.data.late.length>0?(c(),p("div",la,[r("div",ra,"迟到 ("+g(f.data.late.length)+")",1),r("div",da,[(c(!0),p(E,null,U(f.data.late,h=>(c(),b(O,{key:h,color:"warning",size:"x-small",variant:"flat"},{default:i(()=>[u(g(h),1)]),_:2},1024))),128))])])):w("",!0),f.data.exclude.length>0?(c(),p("div",ua,[r("div",ca,"不参与 ("+g(f.data.exclude.length)+")",1),r("div",ma,[(c(!0),p(E,null,U(f.data.exclude,h=>(c(),b(O,{key:h,color:"grey",size:"x-small",variant:"flat"},{default:i(()=>[u(g(h),1)]),_:2},1024))),128))])])):w("",!0),f.data.absent.length===0&&f.data.late.length===0&&f.data.exclude.length===0?(c(),p("div",fa," 全勤 ")):w("",!0)]),_:2},1024)]),_:2},1032,["class","onMousemove","onTouchmove"])):f.type==="custom"?(c(),b(_,{key:3,class:fe([{"glow-highlight":a.highlightedCards[f.key],"cursor-not-allowed":a.isEditingDisabled,"cursor-pointer":!a.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:h=>o.handleCardClick("dialog",f.key),onMousemove:o.handleMouseMove,onTouchmove:o.handleTouchMove},{default:i(()=>[s(j,{class:"text-primary"},{default:i(()=>[s(D,{class:"mr-2",icon:"mdi-card-text-outline",size:"small"}),u(" "+g(f.name),1)]),_:2},1024),s(V,{style:he(a.contentStyle)},{default:i(()=>[u(g(f.content),1)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"])):(c(),b(_,{key:4,class:fe([{"glow-highlight":a.highlightedCards[f.key],"cursor-not-allowed":a.isEditingDisabled,"cursor-pointer":!a.isEditingDisabled},"glow-track"]),border:"",height:"100%",onClick:h=>o.handleCardClick("dialog",f.key),onMousemove:o.handleMouseMove,onTouchmove:o.handleTouchMove},{default:i(()=>[s(j,null,{default:i(()=>[u(g(f.name),1)]),_:2},1024),s(V,{style:he(a.contentStyle)},{default:i(()=>[s(we,null,{default:i(()=>[(c(!0),p(E,null,U(o.splitPoint(f.content),h=>(c(),b(Se,{key:h},{default:i(()=>[u(g(h),1)]),_:2},1024))),128))]),_:2},1024)]),_:2},1032,["style"])]),_:2},1032,["class","onClick","onMousemove","onTouchmove"]))],12,Zi))),128))]),_:1})],512),r("div",ha,[a.isMobile?(c(),p("div",ga,[(c(!0),p(E,null,U(a.unusedSubjects,f=>(c(),b(O,{key:f.name,class:"ma-1",color:"primary",variant:"tonal",onClick:h=>o.handleCardClick("dialog",f.name)},{default:i(()=>[s(D,{start:"",size:"small"},{default:i(()=>[u(g(n.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),u(" "+g(f.name),1)]),_:2},1032,["onClick"]))),128))])):a.emptySubjectDisplay==="button"?(c(),b(Je,{key:1,divided:"",variant:"tonal"},{default:i(()=>[(c(!0),p(E,null,U(a.unusedSubjects,f=>(c(),b(y,{key:f.name,onClick:h=>o.handleCardClick("dialog",f.name)},{default:i(()=>[s(D,{start:""},{default:i(()=>[u(g(n.isReadOnlyToken?"mdi-cancel":"mdi-plus"),1)]),_:1}),u(" "+g(f.name),1)]),_:2},1032,["onClick"]))),128))]),_:1})):(c(),p("div",pa,[s(Ke,{name:"v-list"},{default:i(()=>[(c(!0),p(E,null,U(a.unusedSubjects,f=>(c(),b(_,{key:f.name,border:"",class:"empty-subject-card",onClick:h=>o.handleCardClick("dialog",f.name)},{default:i(()=>[s(j,{class:"text-subtitle-1"},{default:i(()=>[u(g(f.name),1)]),_:2},1024),s(V,{class:"text-center"},{default:i(()=>[n.isReadOnlyToken?(c(),p(E,{key:0},[s(D,{color:"grey",size:"small"},{default:i(()=>[...e[3]||(e[3]=[u(" mdi-cancel ",-1)])]),_:1}),e[4]||(e[4]=r("div",{class:"text-caption text-grey"}," 当日无作业 ",-1))],64)):(c(),p(E,{key:1},[s(D,{color:"grey",size:"small"},{default:i(()=>[...e[5]||(e[5]=[u(" mdi-plus ",-1)])]),_:1}),e[6]||(e[6]=r("div",{class:"text-caption text-grey"}," 点击添加作业 ",-1))],64))]),_:1})]),_:2},1032,["onClick"]))),128))]),_:1})]))])],64)}const Rt=W(Yi,[["render",va],["__scopeId","data-v-97399635"]]),ya={key:0,class:"mt-2 text-caption text-medium-emphasis"},ka={class:"mt-2 mb-4"},ba={class:"d-flex flex-wrap gap-2"},xa={key:0,class:"ms-1 text-error"},wa={__name:"StudentNameManager",emits:["token-info-updated"],setup(t,{expose:e,emit:a}){const l=a,n=$(!1),o=$(""),d=$([]),m=$(""),f=$(!1),h=$(""),k=$(null),I=$([]),F=$(""),H=$(""),N=$({name:"",isHeadTeacher:!1,subjects:[]}),K=G(()=>{var T;return((T=k.value)==null?void 0:T.deviceType)==="student"}),Q=G(()=>{var T;return((T=k.value)==null?void 0:T.deviceType)==="teacher"}),ge=G(()=>{var T;return((T=k.value)==null?void 0:T.isReadOnly)===!0}),pe=G(()=>{var T;return((T=k.value)==null?void 0:T.note)||"设置名称"}),te=G(()=>!!se.value),se=G(()=>S("server.kvToken")),C=G(()=>S("server.provider")),z=G(()=>C.value==="kv-server"||C.value==="classworkscloud"),x=G(()=>K.value?"设置学生姓名":Q.value?"设置教师姓名":"设置姓名"),A=G(()=>I.value),R=async()=>{var T;if(!(!z.value||!se.value))try{const M=S("server.domain");if(!M)return;const B=await me.get(`${M}/kv/_token`,{headers:{Authorization:`Bearer ${se.value}`}});if(k.value=B.data,k.value.deviceType==="student"){m.value=k.value.note||"";const P=(await me.get(`${M}/kv/classworks-list-main`,{headers:{Authorization:`Bearer ${se.value}`}})).data.value||[];if(d.value=Array.isArray(P)?P:[],d.value.length>0){const q=k.value.note||"",ye=d.value.some(ke=>ke.name===q);(!q||!ye)&&(n.value=!0,o.value="")}return}if(k.value.deviceType==="teacher"){H.value=k.value.note||"";try{const P=(await me.get(`${M}/kv/classworks-list-teacher`,{headers:{Authorization:`Bearer ${se.value}`}})).data.value||[];I.value=Array.isArray(P)?P:[]}catch(Y){((T=Y==null?void 0:Y.response)==null?void 0:T.status)===404?(console.log("教师列表不存在,初始化为空"),I.value=[]):(console.error("加载教师列表失败:",Y),I.value=[])}if(I.value.length>0){const Y=k.value.note||"",P=I.value.some(q=>q.name===Y);(!Y||!P)&&(n.value=!0,F.value="")}return}}catch(M){console.error("检查学生姓名状态失败:",M)}},de=async()=>{var T,M,B,Y;if(!(!o.value||f.value)){h.value="",f.value=!0;try{const P=S("server.domain"),q=se.value;(await me.post(`${P}/apps/tokens/${q}/set-student-name`,{name:o.value})).data.success&&(m.value=o.value,n.value=!1,await R(),l("token-info-updated"))}catch(P){const q=(T=P==null?void 0:P.response)==null?void 0:T.status;q===400?h.value="该名称不在学生列表中,请选择正确的姓名":q===403?h.value="只有学生类型的 Token 可以设置姓名":q===404?h.value="设备未设置学生列表或 Token 不存在":h.value=((Y=(B=(M=P==null?void 0:P.response)==null?void 0:M.data)==null?void 0:B.error)==null?void 0:Y.message)||(P==null?void 0:P.message)||"设置失败,请稍后重试"}finally{f.value=!1}}},le=async()=>{var T,M,B,Y,P;if(!(!N.value.name||f.value)){h.value="",f.value=!0;try{const q=S("server.domain"),ye=se.value,ke={name:N.value.name.trim(),isHeadTeacher:!!N.value.isHeadTeacher,subjects:Array.isArray(N.value.subjects)?N.value.subjects.filter(Te=>Te&&String(Te).trim()).map(Te=>String(Te).trim()):[]},et=I.value.findIndex(Te=>Te.name===ke.name);et>=0?I.value[et]=ke:I.value.push(ke);const De=await Z.saveData("classworks-list-teacher",I.value);if((De==null?void 0:De.success)===!1)throw new Error(((T=De==null?void 0:De.error)==null?void 0:T.message)||"保存列表失败");(await me.post(`${q}/apps/tokens/${ye}/set-teacher-name`,{name:ke.name})).data.success&&(H.value=ke.name,n.value=!1,await R(),l("token-info-updated"))}catch(q){const ye=(M=q==null?void 0:q.response)==null?void 0:M.status;ye===400?h.value="该名称不在教师列表中,请选择正确的姓名":ye===403?h.value="只有教师类型的 Token 可以设置姓名":ye===404?h.value="设备未设置教师列表或 Token 不存在":h.value=((P=(Y=(B=q==null?void 0:q.response)==null?void 0:B.data)==null?void 0:Y.error)==null?void 0:P.message)||(q==null?void 0:q.message)||"设置失败,请稍后重试"}finally{f.value=!1}}},ie=T=>{N.value.name=T.name,N.value.isHeadTeacher=T.isHeadTeacher||!1,N.value.subjects=Array.isArray(T.subjects)?[...T.subjects]:[]},v=()=>{n.value=!1},ae=async()=>{if(console.log("StudentNameManager.openDialog called"),console.log("isStudentToken:",K.value),console.log("studentList.length:",d.value.length),console.log("currentStudentName:",m.value),K.value){const T=await Z.loadData("classworks-list-main");d.value=Array.isArray(T==null?void 0:T.value)?T.value:Array.isArray(T)?T:[],d.value.length===0?(console.log("Student list is empty, trying to load..."),await R(),o.value=m.value,n.value=!0):(o.value=m.value,n.value=!0);return}if(Q.value){try{const T=await Z.loadData("classworks-list-teacher");I.value=Array.isArray(T==null?void 0:T.value)?T.value:Array.isArray(T)?T:[]}catch{console.log("教师列表不存在或加载失败,允许手动创建"),I.value=[]}if(N.value={name:H.value,isHeadTeacher:!1,subjects:[]},H.value){const T=I.value.find(M=>M.name===H.value);T&&(N.value.isHeadTeacher=T.isHeadTeacher||!1,N.value.subjects=Array.isArray(T.subjects)?[...T.subjects]:[])}n.value=!0,console.log("Dialog opened (teacher), showDialog:",n.value);return}console.log("Not a student/teacher token, cannot open dialog")};return Le(se,()=>{R()}),Xe(()=>{R()}),Le(k,()=>{l("token-info-updated")},{deep:!0}),Ye(()=>{R()}),e({checkStudentNameStatus:R,openDialog:ae,currentStudentName:m,currentTeacherName:H,isStudentToken:K,isTeacherToken:Q,isReadOnly:ge,displayName:pe,hasToken:te,tokenInfo:k}),(T,M)=>(c(),p(E,null,[s(J,{modelValue:n.value,"onUpdate:modelValue":M[4]||(M[4]=B=>n.value=B),"max-width":"720",persistent:""},{default:i(()=>[s(_,null,{default:i(()=>[s(j,null,{default:i(()=>[u(g(x.value),1)]),_:1}),s(V,null,{default:i(()=>[K.value?(c(),p(E,{key:0},[M[5]||(M[5]=r("div",{class:"mb-2"}," 请从列表中选择您的姓名: ",-1)),s(Ht,{modelValue:o.value,"onUpdate:modelValue":M[0]||(M[0]=B=>o.value=B),items:d.value,clearable:"","hide-details":"","item-title":"name","item-value":"name",label:"学生姓名",placeholder:"选择您的姓名"},null,8,["modelValue","items"]),d.value.length>0?(c(),p("div",ya," 共 "+g(d.value.length)+" 位学生 ",1)):w("",!0)],64)):Q.value?(c(),p(E,{key:1},[s(Ce,{modelValue:N.value.name,"onUpdate:modelValue":M[1]||(M[1]=B=>N.value.name=B),label:"教师姓名",placeholder:"输入姓名或从下方建议中选择",clearable:""},null,8,["modelValue"]),r("div",ka,[r("div",ba,[(c(!0),p(E,null,U(A.value,B=>(c(),b(O,{key:B.name,size:"small",onClick:Y=>ie(B)},{default:i(()=>[u(g(B.name)+" ",1),B.isHeadTeacher?(c(),p("span",xa," 👨‍🏫 ")):w("",!0)]),_:2},1032,["onClick"]))),128))])]),s(Ge,{modelValue:N.value.isHeadTeacher,"onUpdate:modelValue":M[2]||(M[2]=B=>N.value.isHeadTeacher=B),inset:"",color:"primary",label:N.value.isHeadTeacher?"班主任":"非班主任"},null,8,["modelValue","label"]),s(is,{modelValue:N.value.subjects,"onUpdate:modelValue":M[3]||(M[3]=B=>N.value.subjects=B),multiple:"",chips:"",clearable:"",label:"任教科目",hint:"可直接输入并回车添加多个科目","persistent-hint":""},null,8,["modelValue"])],64)):w("",!0),h.value?(c(),b(_e,{key:2,class:"mt-3",type:"error",variant:"tonal"},{default:i(()=>[u(g(h.value),1)]),_:1})):w("",!0)]),_:1}),s(X,null,{default:i(()=>[s(y,{variant:"text",onClick:v},{default:i(()=>[...M[6]||(M[6]=[u(" 稍后设置 ",-1)])]),_:1}),s(L),K.value?(c(),b(y,{key:0,disabled:!o.value||f.value,loading:f.value,color:"primary",onClick:de},{default:i(()=>[...M[7]||(M[7]=[u(" 确认 ",-1)])]),_:1},8,["disabled","loading"])):Q.value?(c(),b(y,{key:1,disabled:!N.value.name||f.value,loading:f.value,color:"primary",onClick:le},{default:i(()=>[...M[8]||(M[8]=[u(" 确认 ",-1)])]),_:1},8,["disabled","loading"])):w("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),Yt(T.$slots,"header-display",{isStudent:K.value,openDialog:ae,studentName:m.value,teacherName:H.value},void 0)],64))}},Ot=W(wa,[["__scopeId","data-v-cebbe710"]]),Sa={class:"text-center mb-6"},Ca={class:"text-body-2"},_a={class:"form-section"},Da={__name:"DeviceAuthDialog",props:{showCancel:{type:Boolean,default:!1},preconfig:{type:Object,default:null}},emits:["success","cancel"],setup(t,{expose:e,emit:a}){const l=t,n=a,o=$({namespace:"",password:""}),d=$(!1),m=$("");Le(()=>l.preconfig,h=>{h&&(console.log("应用预配置数据:",h),o.value.namespace=h.namespace||"",o.value.password=h.password||"",h.autoExecute&&h.namespace?(console.log("检测到自动执行标志且有命名空间,自动执行认证"),setTimeout(()=>{f()},300)):h.namespace&&console.log("预配置数据已填入,等待手动认证"))},{immediate:!0,deep:!0});const f=async()=>{var h,k,I,F,H;if(!(!o.value.namespace||d.value)){m.value="",d.value=!0;try{const N=S("server.domain");if(!N)throw new Error("未配置服务器域名");const K=await me.post(`${N}/apps/auth/token`,{namespace:o.value.namespace,password:o.value.password||void 0,appId:"d158067f53627d2b98babe8bffd2fd7d"});if(!K.data.success)throw new Error("设备验证失败");const Q=K.data;re("server.kvToken",Q.token),(h=Q.device)!=null&&h.uuid&&re("device.uuid",Q.device.uuid),n("success",Q)}catch(N){const K=(k=N==null?void 0:N.response)==null?void 0:k.status;K===401||K===403?m.value="密码错误或无权限访问":K===404?m.value="设备不存在,请检查 namespace 是否正确":m.value=((H=(F=(I=N==null?void 0:N.response)==null?void 0:I.data)==null?void 0:F.error)==null?void 0:H.message)||(N==null?void 0:N.message)||"认证失败,请稍后重试"}finally{d.value=!1}}};return e({reset:()=>{o.value={namespace:"",password:""},m.value=""}}),(h,k)=>(c(),b(_,{class:"auth-card"},{default:i(()=>[s(V,{class:"pa-8"},{default:i(()=>[r("div",Sa,[s(D,{class:"mb-4",color:"success",size:"80"},{default:i(()=>[...k[4]||(k[4]=[u(" mdi-account-key ",-1)])]),_:1}),k[5]||(k[5]=r("h2",{class:"text-h4 mb-3"}," 设备认证 ",-1)),k[6]||(k[6]=r("p",{class:"text-body-1 text-medium-emphasis"}," 输入你在 Classworks KV 获取的认证信息 ",-1))]),s(_,{class:"pa-4 mb-6",color:"info",variant:"tonal"},{default:i(()=>[r("div",Ca,[s(D,{class:"mr-2",size:"20"},{default:i(()=>[...k[7]||(k[7]=[u(" mdi-information ",-1)])]),_:1}),k[8]||(k[8]=u(" 对于已有UUID的用户,您应当使用UUID与您的密码登录。 ",-1))])]),_:1}),r("div",_a,[s(Ce,{modelValue:o.value.namespace,"onUpdate:modelValue":k[0]||(k[0]=I=>o.value.namespace=I),class:"mb-4","hide-details":"auto",label:"命名空间","prepend-inner-icon":"mdi-identifier",variant:"outlined"},null,8,["modelValue"]),s(Ce,{modelValue:o.value.password,"onUpdate:modelValue":k[1]||(k[1]=I=>o.value.password=I),label:"认证码","prepend-inner-icon":"mdi-lock-outline",type:"text",variant:"outlined"},null,8,["modelValue"]),m.value?(c(),b(_e,{key:0,class:"mt-4",closable:"",type:"error",variant:"tonal","onClick:close":k[2]||(k[2]=I=>m.value="")},{default:i(()=>[u(g(m.value),1)]),_:1})):w("",!0)])]),_:1}),s(X,{class:"pa-6 pt-0"},{default:i(()=>[t.showCancel?(c(),b(y,{key:0,size:"large",variant:"text",onClick:k[3]||(k[3]=I=>h.$emit("cancel"))},{default:i(()=>[...k[9]||(k[9]=[u(" 取消 ",-1)])]),_:1})):w("",!0),s(L),s(y,{disabled:!o.value.namespace||d.value,loading:d.value,class:"px-8",color:"primary",size:"x-large",variant:"elevated",onClick:f},{default:i(()=>[s(D,{size:"24",start:""},{default:i(()=>[...k[10]||(k[10]=[u(" mdi-login ",-1)])]),_:1}),k[11]||(k[11]=r("span",{class:"text-h6"},"认证并登录",-1))]),_:1},8,["disabled","loading"])]),_:1})]),_:1}))}},Ta=W(Da,[["__scopeId","data-v-9e8d02e4"]]),Ia={__name:"TokenInputDialog",props:{showCancel:{type:Boolean,default:!1}},emits:["success","cancel"],setup(t,{expose:e,emit:a}){const l=a,n=$(""),o=$(!1),d=$(""),m=async()=>{var f,h,k;if(!(!n.value||o.value)){d.value="",o.value=!0;try{const I=S("server.domain");if(!I)throw new Error("未配置服务器域名");await me.get(`${I}/kv/_info`,{headers:{Accept:"application/json","x-app-token":n.value}}),re("server.kvToken",n.value),l("success")}catch(I){const F=(f=I==null?void 0:I.response)==null?void 0:f.status;F===401||F===403?d.value="Token 无效或无权限,请确认后重试":F===404?d.value="命名空间不存在或服务器未就绪":d.value=((k=(h=I==null?void 0:I.response)==null?void 0:h.data)==null?void 0:k.message)||(I==null?void 0:I.message)||"验证失败,请稍后重试"}finally{o.value=!1}}};return e({reset:()=>{n.value="",d.value=""}}),(f,h)=>(c(),b(_,null,{default:i(()=>[s(j,null,{default:i(()=>[...h[2]||(h[2]=[u("输入授权 Token",-1)])]),_:1}),s(V,null,{default:i(()=>[s(Ce,{modelValue:n.value,"onUpdate:modelValue":h[0]||(h[0]=k=>n.value=k),clearable:"",density:"comfortable","hide-details":"auto",label:"KV 授权 Token",placeholder:"粘贴从授权页面获取的 Token",variant:"outlined"},null,8,["modelValue"]),d.value?(c(),b(_e,{key:0,class:"mt-3",type:"error",variant:"tonal"},{default:i(()=>[u(g(d.value),1)]),_:1})):w("",!0)]),_:1}),s(X,null,{default:i(()=>[s(L),t.showCancel?(c(),b(y,{key:0,variant:"text",onClick:h[1]||(h[1]=k=>f.$emit("cancel"))},{default:i(()=>[...h[3]||(h[3]=[u(" 取消 ",-1)])]),_:1})):w("",!0),s(y,{disabled:!n.value||o.value,loading:o.value,color:"primary",onClick:m},{default:i(()=>[...h[4]||(h[4]=[u(" 保存 Token ",-1)])]),_:1},8,["disabled","loading"])]),_:1})]),_:1}))}},Ea={__name:"AlternativeCodeDialog",props:{showCancel:{type:Boolean,default:!1}},emits:["submit","cancel"],setup(t,{expose:e,emit:a}){const l=a,n=$(""),o=()=>{n.value&&l("submit",n.value)};return e({reset:()=>{n.value=""}}),(d,m)=>(c(),b(_,null,{default:i(()=>[s(j,null,{default:i(()=>[...m[2]||(m[2]=[u("输入替代代码",-1)])]),_:1}),s(V,null,{default:i(()=>[s(Ue,{modelValue:n.value,"onUpdate:modelValue":m[0]||(m[0]=f=>n.value=f),density:"comfortable","hide-details":"auto",label:"替代代码",placeholder:"请输入替代代码",rows:"5",variant:"outlined"},null,8,["modelValue"]),s(_e,{class:"mt-3",type:"info",variant:"tonal"},{default:i(()=>[...m[3]||(m[3]=[u(" 替代代码功能暂未实现,敬请期待 ",-1)])]),_:1})]),_:1}),s(X,null,{default:i(()=>[s(L),t.showCancel?(c(),b(y,{key:0,variant:"text",onClick:m[1]||(m[1]=f=>d.$emit("cancel"))},{default:i(()=>[...m[4]||(m[4]=[u(" 取消 ",-1)])]),_:1})):w("",!0),s(y,{disabled:!n.value,color:"primary",onClick:o},{default:i(()=>[...m[5]||(m[5]=[u(" 提交 ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1}))}},ee=[];for(let t=0;t<256;++t)ee.push((t+256).toString(16).slice(1));function Na(t,e=0){return(ee[t[e+0]]+ee[t[e+1]]+ee[t[e+2]]+ee[t[e+3]]+"-"+ee[t[e+4]]+ee[t[e+5]]+"-"+ee[t[e+6]]+ee[t[e+7]]+"-"+ee[t[e+8]]+ee[t[e+9]]+"-"+ee[t[e+10]]+ee[t[e+11]]+ee[t[e+12]]+ee[t[e+13]]+ee[t[e+14]]+ee[t[e+15]]).toLowerCase()}let je;const Va=new Uint8Array(16);function Aa(){if(!je){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");je=crypto.getRandomValues.bind(crypto)}return je(Va)}const Ua=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),gt={randomUUID:Ua};function za(t,e,a){var n;t=t||{};const l=t.random??((n=t.rng)==null?void 0:n.call(t))??Aa();if(l.length<16)throw new Error("Random bytes length must be >= 16");return l[6]=l[6]&15|64,l[8]=l[8]&63|128,Na(l)}function Ma(t,e,a){return gt.randomUUID&&!t?gt.randomUUID():za(t)}const $a={class:"step-content"},Pa={class:"text-center mb-6"},La={class:"step-content"},Fa={class:"relationship-diagram"},Ra={class:"diagram-item"},Oa={class:"text-center"},Ba={class:"diagram-description mt-3"},ja={class:"diagram-connector"},Ha={class:"diagram-item"},Ka={class:"text-center"},qa={class:"diagram-description mt-3"},Wa={class:"step-content"},Ga={class:"button-group"},Qa={class:"d-flex flex-column align-center py-2"},Ja={class:"d-flex flex-column align-center py-2"},Ya={class:"step-content"},Xa={class:"text-center mb-6"},Za={class:"step-content"},eo={class:"text-center mb-6"},to={class:"d-flex flex-column flex-sm-row align-center"},so={class:"flex-grow-1"},no={class:"text-h6 font-weight-bold"},io={class:"text-h5 mb-6"},ao={class:"text-subtitle-2"},oo={class:"d-flex align-center"},lo={class:"d-flex align-center"},ro={class:"step-content"},uo={class:"text-center mb-6"},co={class:"d-flex align-center mb-3"},mo={class:"text-h6 font-weight-medium"},fo={key:0,class:"text-body-2 mb-2"},ho={class:"mb-2"},go={class:"device-code"},po={key:1,class:"text-body-2 text-error"},vo={class:"log-box"},yo={key:0,class:"text-caption text-medium-emphasis"},ko={class:"d-flex flex-wrap gap-2 mt-4"},Me=5,bo={__name:"FirstTimeGuide",emits:["close","success"],setup(t,{emit:e}){const a=e,l=S("server.authDomain"),n=$(1),o=$(""),d=$("idle"),m=$(""),f=$(null),h=$(null),k=$([]),I=$({1:!1,2:!1,3:!1,4:!1}),F=()=>{n.value{n.value>1&&n.value--},N=ie=>{o.value=ie,F()},K=()=>{a("close")},Q=()=>{window.open(l,"_blank")},ge=()=>{n.value=5},pe=G(()=>Object.values(I.value).filter(Boolean).length/4*100),te=G(()=>d.value==="success"?"success":d.value==="error"?"error":"primary"),se=G(()=>d.value==="success"?"mdi-check-circle":d.value==="error"?"mdi-alert-circle":d.value==="registering"?"mdi-progress-clock":"mdi-rocket-launch"),C=G(()=>d.value==="success"?"完成!设备已创建":d.value==="error"?"创建失败":d.value==="registering"?"正在执行…":"准备开始"),z=ie=>{const v=new Date,ae=String(v.getHours()).padStart(2,"0"),T=String(v.getMinutes()).padStart(2,"0"),M=String(v.getSeconds()).padStart(2,"0");k.value.push({time:`${ae}:${T}:${M}`,message:ie})},x=()=>"Classworks",A=async()=>{var ie,v,ae;if(d.value!=="registering"){d.value="registering",m.value="",k.value=[],I.value={1:!1,2:!1,3:!1,4:!1};try{z("正在生成设备信息…");const T=Ma(),M=x(),B=S("server.domain");I.value[1]=!0,z("向服务器注册设备…");const Y=await me.post(`${B}/devices`,{uuid:T,deviceName:M});I.value[2]=!0,f.value={uuid:T,deviceName:M,createdAt:new Date().toISOString(),registered:!0},localStorage.setItem("Classworks_progressive_device",JSON.stringify(f.value)),z("获取访问令牌…");try{const P=await me.post(`${B}/apps/auth/token`,{namespace:T,password:"",appId:"d158067f53627d2b98babe8bffd2fd7d"});P.data&&P.data.token?(h.value=P.data,re("server.kvToken",P.data.token),(ie=P.data.device)!=null&&ie.uuid&&re("device.uuid",P.data.device.uuid),z("已获取 Token 并写入配置")):z("未返回 Token,您可以稍后在授权页完成配置")}catch(P){console.warn("自动获取 Token 失败:",P),z("自动获取 Token 失败,可在授权页手动完成")}I.value[3]=!0,z("完成!您可以应用令牌或前往授权页面继续配置"),I.value[4]=!0,d.value="success"}catch(T){console.error("设备注册失败:",T),m.value=((ae=(v=T.response)==null?void 0:v.data)==null?void 0:ae.message)||T.message||"网络连接失败",z("失败:"+m.value),d.value="error"}}},R=()=>{d.value="idle",m.value="",k.value=[],I.value={1:!1,2:!1,3:!1,4:!1}},de=()=>{const ie=f.value;if(!(ie!=null&&ie.uuid))return;const ae=`${S("server.authDomain")}/?uuid=${encodeURIComponent(ie.uuid)}&tolinktoaccount=true`;window.open(ae,"_blank")},le=()=>{h.value&&a("success",h.value),a("close")};return(ie,v)=>(c(),b(_,{class:"guide-card"},{default:i(()=>[s(it,{"model-value":n.value/Me*100,color:"primary",height:"6"},null,8,["model-value"]),s(V,{class:"pa-8"},{default:i(()=>[oe(r("div",$a,[r("div",Pa,[s(D,{class:"mb-4",color:"primary",size:"80"},{default:i(()=>[...v[2]||(v[2]=[u(" mdi-hand-wave ",-1)])]),_:1}),v[3]||(v[3]=r("h2",{class:"text-h4 mb-3"}," 欢迎使用 Classworks ",-1)),v[4]||(v[4]=r("p",{class:"text-body-1 text-medium-emphasis"}," 适用于班级大屏的作业板小工具 ",-1))])],512),[[be,n.value===1]]),oe(r("div",La,[v[17]||(v[17]=r("h3",{class:"text-h5 mb-6 text-center"}," Classworks 和 Classworks KV 的关系 ",-1)),s(_,{class:"pa-6 mb-6",color:"primary",variant:"tonal"},{default:i(()=>[r("div",Fa,[r("div",Ra,[s(_,{class:"pa-4",color:"blue-darken-1",elevation:"8"},{default:i(()=>[r("div",Oa,[s(D,{color:"white",size:"60"},{default:i(()=>[...v[5]||(v[5]=[u(" mdi-laptop ",-1)])]),_:1}),v[6]||(v[6]=r("h4",{class:"text-h6 text-white mt-2"}," Classworks ",-1)),v[7]||(v[7]=r("p",{class:"text-caption text-white mt-1"}," 作业板应用 ",-1))])]),_:1}),r("div",Ba,[s(O,{class:"mb-2",color:"blue",size:"small",variant:"flat"},{default:i(()=>[...v[8]||(v[8]=[u(" 前端应用 ",-1)])]),_:1}),v[9]||(v[9]=r("div",{class:"text-body-2"},[u(" • 显示作业内容"),r("br"),u(" • 管理班级信息"),r("br"),u(" • 提供用户界面 ")],-1))])]),r("div",ja,[s(D,{color:"primary",size:"40"},{default:i(()=>[...v[10]||(v[10]=[u(" mdi-swap-horizontal ",-1)])]),_:1}),v[11]||(v[11]=r("div",{class:"text-caption font-weight-bold mt-2"}," 数据同步 ",-1))]),r("div",Ha,[s(_,{class:"pa-4",color:"green-darken-1",elevation:"8"},{default:i(()=>[r("div",Ka,[s(D,{color:"white",size:"60"},{default:i(()=>[...v[12]||(v[12]=[u(" mdi-cloud-sync ",-1)])]),_:1}),v[13]||(v[13]=r("h4",{class:"text-h6 text-white mt-2"}," Classworks KV ",-1)),v[14]||(v[14]=r("p",{class:"text-caption text-white mt-1"}," 云端数据库 ",-1))])]),_:1}),r("div",qa,[s(O,{class:"mb-2",color:"green",size:"small",variant:"flat"},{default:i(()=>[...v[15]||(v[15]=[u(" 后端服务 ",-1)])]),_:1}),v[16]||(v[16]=r("div",{class:"text-body-2"},[u(" • 存储作业数据"),r("br"),u(" • 多设备同步"),r("br"),u(" • 权限管理 ")],-1))])])])]),_:1})],512),[[be,n.value===2]]),oe(r("div",Wa,[v[25]||(v[25]=r("h3",{class:"text-h5 mb-6 text-center"}," 你需要在多个设备上查看作业吗? ",-1)),s(_,{class:"mb-6 pa-4",color:"info",variant:"tonal"},{default:i(()=>[...v[18]||(v[18]=[r("div",{class:"text-body-2"}," 比如:在家里电脑、手机上查看,或者多个教室设备共享数据 ",-1)])]),_:1}),r("div",Ga,[s(y,{block:"",class:"mb-4 py-6",color:"primary",size:"x-large",variant:"elevated",onClick:v[0]||(v[0]=ae=>N("cloud"))},{default:i(()=>[r("div",Qa,[s(D,{class:"mb-2",size:"40"},{default:i(()=>[...v[19]||(v[19]=[u(" mdi-cloud-check ",-1)])]),_:1}),v[20]||(v[20]=r("span",{class:"text-h6"},"需要,使用云同步",-1)),v[21]||(v[21]=r("span",{class:"text-caption mt-1"},"多设备访问",-1))])]),_:1}),s(y,{block:"",class:"py-6",size:"x-large",variant:"outlined",onClick:v[1]||(v[1]=ae=>N("local"))},{default:i(()=>[r("div",Ja,[s(D,{class:"mb-2",size:"40"},{default:i(()=>[...v[22]||(v[22]=[u(" mdi-laptop ",-1)])]),_:1}),v[23]||(v[23]=r("span",{class:"text-h6"},"不需要,只用这台设备",-1)),v[24]||(v[24]=r("span",{class:"text-caption mt-1"},"本地存储",-1))])]),_:1})])],512),[[be,n.value===3]]),oe(r("div",Ya,[r("div",Xa,[s(D,{class:"mb-4",color:"success",size:"80"},{default:i(()=>[...v[26]||(v[26]=[u(" mdi-check-circle ",-1)])]),_:1}),v[28]||(v[28]=r("h3",{class:"text-h5 mb-4"}," 您可以使用本地模式 ",-1)),s(_,{class:"pa-4 text-left",variant:"tonal"},{default:i(()=>[...v[27]||(v[27]=[r("div",{class:"text-body-1 mb-2"}," 此数据将存储在您的浏览器中,如果您的浏览器不支持IndexedDB,可能会出现问题。如果您经常清除浏览器数据,请谨慎使用本地模式。 ",-1),r("div",{class:"text-body-1 mb-2"}," 在刚才地方点击使用本地模式的按钮使用。 ",-1)])]),_:1})])],512),[[be,n.value===4&&o.value==="local"]]),oe(r("div",Za,[r("div",eo,[s(D,{class:"mb-4",color:"primary",size:"80"},{default:i(()=>[...v[29]||(v[29]=[u(" mdi-cloud-cog ",-1)])]),_:1}),v[30]||(v[30]=r("h3",{class:"text-h5 mb-4"}," 需要先设置云端账号 ",-1))]),s(_,{class:"pa-6 mb-6",variant:"tonal"},{default:i(()=>[r("div",to,[r("div",so,[v[32]||(v[32]=r("h4",{class:"text-h6 font-weight-bold mb-2"}," 自动注册设备 ",-1)),v[33]||(v[33]=r("p",{class:"text-body-2 mb-3 text-medium-emphasis"}," 通过引导式流程自动创建设备、获取令牌并完成初始化。适合首次体验或快速部署多终端。 ",-1)),s(y,{color:"primary","prepend-icon":"mdi-flash",size:"large",variant:"elevated",onClick:ge},{default:i(()=>[...v[31]||(v[31]=[u(" 自动注册 ",-1)])]),_:1})])])]),_:1}),v[41]||(v[41]=r("div",{class:"mb-6"}," 也可以手动前往 Classworks KV 控制台获取认证信息: ",-1)),s(_,{color:Ee(l)=="https://kv.houlang.cloud"?"primary":"error",variant:Ee(l)=="https://kv.houlang.cloud"?"elevated":"outlined",class:"pa-6 mb-6",onClick:Q},{default:i(()=>[s(D,{class:"mb-3",size:"48"},{default:i(()=>[...v[34]||(v[34]=[u(" mdi-open-in-new ",-1)])]),_:1}),r("h4",no," 请访问 "+g(Ee(l)=="https://kv.houlang.cloud"?"Classworks KV":"自定义的 Classworks KV 实例 ")+" 控制台 ",1),r("div",io,g(Ee(l)),1),r("h6",ao,g(Ee(l)=="https://kv.houlang.cloud"?"此实例由 Classworks KV 官方提供":"此链接由您的实例、预配代码或管理员管理,当前可能不是 Classworks KV 官方的实例地址。"),1)]),_:1},8,["color","variant"]),s(ms,{class:"mt-6",variant:"accordion"},{default:i(()=>[s(ct,null,{default:i(()=>[s(mt,null,{default:i(()=>[r("div",oo,[s(D,{class:"mr-3",color:"warning"},{default:i(()=>[...v[35]||(v[35]=[u(" mdi-help-circle ",-1)])]),_:1}),v[36]||(v[36]=r("span",{class:"text-subtitle-1 font-weight-medium"},"我以前已经使用过 Classworks KV?",-1))])]),_:1}),s(ft,null,{default:i(()=>[s(_,{class:"pa-4",color:"success",variant:"tonal"},{default:i(()=>[...v[37]||(v[37]=[r("div",{class:"text-body-2 mb-2"},[u(" 如果您之前已经使用过 Classworks KV,可以直接使用您的 "),r("strong",null,"UUID(命名空间)"),u(" 和 "),r("strong",null,"设置的密码"),u(" 进行认证。 ")],-1),r("div",{class:"text-body-2"},' 返回上一页,点击"已注册"按钮,输入您的认证信息即可登录。 ',-1)])]),_:1})]),_:1})]),_:1}),s(ct,null,{default:i(()=>[s(mt,null,{default:i(()=>[r("div",lo,[s(D,{class:"mr-3",color:"info"},{default:i(()=>[...v[38]||(v[38]=[u(" mdi-help-circle ",-1)])]),_:1}),v[39]||(v[39]=r("span",{class:"text-subtitle-1 font-weight-medium"},"我如何配置不同类型的设备?",-1))])]),_:1}),s(ft,null,{default:i(()=>[s(_,{class:"pa-4",color:"info",variant:"tonal"},{default:i(()=>[...v[40]||(v[40]=[r("div",{class:"text-body-2 mb-2"},[u(" 不同的密码对应不同的设备类型,这将由 "),r("strong",null,"管理员管理"),u("。 ")],-1),r("div",{class:"text-body-2 mb-2"}," 例如: ",-1),r("ul",{class:"text-body-2 ml-4"},[r("li",{class:"mb-1"}," 班级大屏使用一个密码 "),r("li",{class:"mb-1"}," 教师设备使用另一个密码 "),r("li",null,"学生设备使用不同的密码")],-1),r("div",{class:"text-body-2 mt-3"}," 请联系您的管理员获取对应设备类型的密码。 ",-1)])]),_:1})]),_:1})]),_:1})]),_:1})],512),[[be,n.value===4&&o.value==="cloud"]]),oe(r("div",ro,[r("div",uo,[s(Ie,{class:"mb-4",color:"primary",size:"80",variant:"tonal"},{default:i(()=>[s(D,{size:"48"},{default:i(()=>[...v[42]||(v[42]=[u(" mdi-rocket-launch ",-1)])]),_:1})]),_:1}),v[43]||(v[43]=r("h3",{class:"text-h5 font-weight-bold mb-2"}," 渐进式注册 ",-1)),v[44]||(v[44]=r("p",{class:"text-body-2 text-medium-emphasis"}," 您可以暂时不配置 Classworks KV ",-1))]),s(it,{"model-value":pe.value,class:"mb-6",color:"primary",height:"8",rounded:""},null,8,["model-value"]),s(ue,null,{default:i(()=>[s(ne,{cols:"12"},{default:i(()=>[s(_,{color:te.value,variant:"tonal"},{default:i(()=>[s(Ve,null,{default:i(()=>[r("div",co,[s(D,{color:te.value,class:"mr-2",size:"32"},{default:i(()=>[u(g(se.value),1)]),_:1},8,["color"]),r("div",mo,g(C.value),1)]),f.value?(c(),p("div",fo,[r("div",ho,[v[45]||(v[45]=r("strong",null,"设备名称:",-1)),u(g(f.value.deviceName),1)]),r("div",null,[v[46]||(v[46]=r("strong",null,"设备 UUID:",-1)),r("code",go,g(f.value.uuid),1)])])):w("",!0),d.value==="error"?(c(),p("div",po,g(m.value),1)):w("",!0)]),_:1})]),_:1},8,["color"])]),_:1}),s(ne,{cols:"12"},{default:i(()=>[s(_,{variant:"outlined"},{default:i(()=>[s(Ve,null,{default:i(()=>[v[47]||(v[47]=r("div",{class:"text-subtitle-2 font-weight-medium mb-3"}," 过程日志 ",-1)),r("div",vo,[(c(!0),p(E,null,U(k.value,(ae,T)=>(c(),p("div",{key:T,class:"text-caption log-line"},g(ae.time)+" · "+g(ae.message),1))),128)),k.value.length?w("",!0):(c(),p("div",yo," 等待开始… "))])]),_:1})]),_:1})]),_:1})]),_:1}),r("div",ko,[d.value==="idle"?(c(),b(y,{key:0,color:"primary","prepend-icon":"mdi-play",size:"large",onClick:A},{default:i(()=>[...v[48]||(v[48]=[u(" 开始创建 ",-1)])]),_:1})):w("",!0),d.value==="error"?(c(),b(y,{key:1,color:"error","prepend-icon":"mdi-refresh",variant:"outlined",onClick:R},{default:i(()=>[...v[49]||(v[49]=[u(" 重试 ",-1)])]),_:1})):w("",!0),d.value==="registering"?(c(),b(y,{key:2,loading:!0,color:"primary","prepend-icon":"mdi-progress-clock",variant:"tonal"},{default:i(()=>[...v[50]||(v[50]=[u(" 正在执行… ",-1)])]),_:1})):w("",!0),d.value==="success"?(c(),b(y,{key:3,color:"success","prepend-icon":"mdi-check-circle",size:"large",variant:"elevated",onClick:le},{default:i(()=>[...v[51]||(v[51]=[u(" 应用令牌并关闭 ",-1)])]),_:1})):w("",!0),d.value==="success"?(c(),b(y,{key:4,color:"primary","prepend-icon":"mdi-open-in-new",size:"large",variant:"outlined",onClick:de},{default:i(()=>[...v[52]||(v[52]=[u(" 前往绑定账户 ",-1)])]),_:1})):w("",!0)])],512),[[be,n.value===5]])]),_:1}),s(X,{class:"pa-6 pt-0"},{default:i(()=>[n.value>1?(c(),b(y,{key:0,size:"large",variant:"text",onClick:H},{default:i(()=>[s(D,{start:""},{default:i(()=>[...v[53]||(v[53]=[u(" mdi-chevron-left ",-1)])]),_:1}),v[54]||(v[54]=u(" 上一步 ",-1))]),_:1})):w("",!0),s(L),n.value[v[56]||(v[56]=u(" 下一步 ",-1)),s(D,{end:""},{default:i(()=>[...v[55]||(v[55]=[u(" mdi-chevron-right ",-1)])]),_:1})]),_:1},8,["disabled"])):w("",!0),n.value===Me||n.value===4?(c(),b(y,{key:2,color:"primary",size:"large",variant:"elevated",onClick:K},{default:i(()=>[...v[57]||(v[57]=[u(" 关闭 ",-1)])]),_:1})):w("",!0)]),_:1})]),_:1}))}},xo=W(bo,[["__scopeId","data-v-817c6e0e"]]),wo={key:0,class:"init-overlay"},So={class:"init-container"},Co={class:"main-card-row"},_o={class:"card-horizontal-layout"},Do={class:"card-icon-wrapper"},To={class:"card-horizontal-layout"},Io={class:"card-icon-wrapper"},Eo={class:"card-horizontal-layout"},No={class:"card-icon-wrapper"},Vo={class:"options-buttons"},Ao={__name:"InitServiceChooser",props:{preconfig:{type:Object,default:()=>({namespace:null,authCode:null,autoOpen:!1,autoExecute:!1})}},emits:["done"],setup(t,{emit:e}){const a=t,l=e,n=$(!1),o=$(!1),d=$(!1),m=$(!1),f=$(!1),h=$(null),k=G(()=>S("server.provider")),I=G(()=>k.value==="kv-server"||k.value==="classworkscloud"),F=G(()=>S("server.kvToken")),H=G(()=>{var z;return(z=a.preconfig)!=null&&z.namespace?{namespace:a.preconfig.namespace,password:a.preconfig.authCode||"",autoExecute:a.preconfig.autoExecute||!1}:null}),N=()=>{const z=window.location.pathname,x=z==="/"||z==="/index"||z==="/index.html",A=I.value&&(!F.value||F.value==="");n.value=x&&A};Le(()=>a.preconfig,z=>{z!=null&&z.autoOpen&&(z!=null&&z.namespace)&&n.value&&(console.log("检测到预配数据,自动打开设备认证对话框"),setTimeout(()=>{d.value=!0},500))},{immediate:!0,deep:!0}),Ye(()=>{N()});const K=()=>{const z=S("server.authDomain"),x="d158067f53627d2b98babe8bffd2fd7d",A=window.location.origin,R=encodeURIComponent(`${A}/authorizecallback`),de=S("device.uuid")||"00000000-0000-4000-8000-000000000000";let le=`${z}/authorize?app_id=${x}&mode=callback&callback_url=${R}&remark=Classworks 自动授权 来自${window.location.hostname} ${new Date().toLocaleString()}`;de!=="00000000-0000-4000-8000-000000000000"&&(le+=`&uuid=${encodeURIComponent(de)}`),window.location.href=le},Q=z=>{o.value=!1,console.log("渐进式注册成功:",z),N(),l("done")},ge=z=>{var x;d.value=!1,console.log("认证成功:",z),(x=a.preconfig)!=null&&x.namespace&&console.log(`预配数据认证成功: ${a.preconfig.namespace}`),N(),l("done")},pe=()=>{m.value=!1,N(),l("done")},te=z=>{console.log("替代代码:",z),f.value=!1},se=()=>{re("server.provider","kv-local"),n.value=!1,window.location.reload(),l("done")},C=()=>{window.open(S("server.authDomain"),"_blank")};return(z,x)=>n.value?(c(),p("div",wo,[r("div",So,[x[22]||(x[22]=r("div",{class:"init-header"},[r("div",{class:"title"}," 欢迎使用 Classworks "),r("div",{class:"subtitle"}," 请选择你的使用方式 ")],-1)),r("div",Co,[s(_,{class:"main-service-card gradient-new clickable",elevation:"4",onClick:x[0]||(x[0]=A=>o.value=!0)},{default:i(()=>[s(Ve,null,{default:i(()=>[r("div",_o,[r("div",Do,[s(D,{color:"primary",size:"48"},{default:i(()=>[...x[12]||(x[12]=[u(" mdi-new-box ",-1)])]),_:1})]),x[13]||(x[13]=r("div",{class:"card-content"},[r("div",{class:"text-h6 font-weight-bold"}," 初次使用 "),r("div",{class:"text-body-2 text-medium-emphasis mt-1"}," 了解 Classworks KV 并开始使用 ")],-1))])]),_:1})]),_:1}),s(_,{class:"main-service-card gradient-registered clickable",elevation:"4",onClick:x[1]||(x[1]=A=>d.value=!0)},{default:i(()=>[s(Ve,null,{default:i(()=>[r("div",To,[r("div",Io,[s(D,{color:"success",size:"48"},{default:i(()=>[...x[14]||(x[14]=[u(" mdi-account-check ",-1)])]),_:1})]),x[15]||(x[15]=r("div",{class:"card-content"},[r("div",{class:"text-h6 font-weight-bold"}," 已注册 "),r("div",{class:"text-body-2 text-medium-emphasis mt-1"}," 使用设备 Namespace 登录 ")],-1))])]),_:1})]),_:1}),s(_,{class:"main-service-card clickable",elevation:"4",onClick:C},{default:i(()=>[s(Ve,null,{default:i(()=>[r("div",Eo,[r("div",No,[s(D,{color:"info",size:"48"},{default:i(()=>[...x[16]||(x[16]=[u(" mdi-database-cog ",-1)])]),_:1})]),x[17]||(x[17]=r("div",{class:"card-content"},[r("div",{class:"text-h6 font-weight-bold"}," Classworks KV "),r("div",{class:"text-body-2 text-medium-emphasis mt-1"}," 打开云端控制台管理数据 ")],-1))])]),_:1})]),_:1})]),r("div",Vo,[s(y,{"prepend-icon":"mdi-laptop",size:"small",variant:"tonal",onClick:se},{default:i(()=>[...x[18]||(x[18]=[u(" 使用本地模式 ",-1)])]),_:1}),s(y,{"prepend-icon":"mdi-flash",size:"small",variant:"tonal",onClick:K},{default:i(()=>[...x[19]||(x[19]=[u(" 授权码式授权(弃用) ",-1)])]),_:1}),s(y,{"prepend-icon":"mdi-key",size:"small",variant:"tonal",onClick:x[2]||(x[2]=A=>m.value=!0)},{default:i(()=>[...x[20]||(x[20]=[u(" 输入 Token ",-1)])]),_:1}),s(y,{"prepend-icon":"mdi-code-tags",size:"small",variant:"tonal",onClick:x[3]||(x[3]=A=>f.value=!0)},{default:i(()=>[...x[21]||(x[21]=[u(" 输入替代代码 ",-1)])]),_:1})]),x[23]||(x[23]=r("div",{class:"footer-hint"}," 完成授权后可使用作业同步、考试看板等在线功能。 ",-1))]),s(J,{modelValue:o.value,"onUpdate:modelValue":x[5]||(x[5]=A=>o.value=A),"max-width":"600"},{default:i(()=>[s(xo,{onClose:x[4]||(x[4]=A=>o.value=!1),onSuccess:Q})]),_:1},8,["modelValue"]),s(J,{modelValue:d.value,"onUpdate:modelValue":x[7]||(x[7]=A=>d.value=A),"max-width":"500"},{default:i(()=>[s(Ta,{ref_key:"deviceAuthDialog",ref:h,preconfig:H.value,"show-cancel":!0,onCancel:x[6]||(x[6]=A=>d.value=!1),onSuccess:ge},null,8,["preconfig"])]),_:1},8,["modelValue"]),s(J,{modelValue:m.value,"onUpdate:modelValue":x[9]||(x[9]=A=>m.value=A),"max-width":"500"},{default:i(()=>[s(Ia,{"show-cancel":!0,onCancel:x[8]||(x[8]=A=>m.value=!1),onSuccess:pe})]),_:1},8,["modelValue"]),s(J,{modelValue:f.value,"onUpdate:modelValue":x[11]||(x[11]=A=>f.value=A),"max-width":"500"},{default:i(()=>[s(Ea,{"show-cancel":!0,onCancel:x[10]||(x[10]=A=>f.value=!1),onSubmit:te})]),_:1},8,["modelValue"])])):w("",!0)}},Bt=W(Ao,[["__scopeId","data-v-cbfbc6db"]]),Uo={name:"ExamScheduleCard",props:{examId:{type:String,required:!0},contentStyle:{type:Object,default:()=>({})}},computed:{...bt(ze,["exams","loadingDetails"]),exam(){return this.exams[this.examId]},loading(){return this.loadingDetails[this.examId]}},mounted(){this.fetchExam(this.examId)},methods:{...kt(ze,["fetchExam"]),formatTime(t){if(!t)return"";try{const e=new Date(t),a=(e.getMonth()+1).toString().padStart(2,"0"),l=e.getDate().toString().padStart(2,"0"),n=e.getHours().toString().padStart(2,"0"),o=e.getMinutes().toString().padStart(2,"0");return`${a}-${l} ${n}:${o}`}catch{return t}}}},zo={class:"text-truncate"},Mo={key:0,class:"d-flex justify-center align-center fill-height",style:{"min-height":"200px"}},$o={class:"d-flex align-center mb-1"},Po={class:"font-weight-medium"},Lo={class:"d-flex align-center"},Fo={class:"font-weight-medium"},Ro={key:2,class:"d-flex flex-column align-center justify-center fill-height text-grey mt-4"};function Oo(t,e,a,l,n,o){return c(),b(_,{class:"fill-height d-flex flex-column rounded-xl",elevation:"2"},{default:i(()=>[s(j,{class:"d-flex align-center py-3 px-4 bg-primary text-white"},{default:i(()=>{var d;return[s(D,{class:"mr-2"},{default:i(()=>[...e[1]||(e[1]=[u("mdi-calendar-clock",-1)])]),_:1}),r("span",zo,g(((d=o.exam)==null?void 0:d.examName)||"加载中..."),1),s(L),s(y,{icon:"mdi-close",variant:"text",density:"comfortable",onClick:e[0]||(e[0]=m=>t.$emit("close"))})]}),_:1}),s(V,{class:"flex-grow-1 pa-4 overflow-y-auto",style:he(a.contentStyle)},{default:i(()=>[o.loading?(c(),p("div",Mo,[s(xt,{indeterminate:"",color:"primary"})])):o.exam?(c(),p(E,{key:1},[o.exam.message?(c(),b(_e,{key:0,color:"info",variant:"tonal",class:"mb-4 text-body-1",border:"start",density:"compact"},{default:i(()=>[u(g(o.exam.message),1)]),_:1})):w("",!0),s(we,{density:"comfortable",class:"pa-0 bg-transparent"},{default:i(()=>[(c(!0),p(E,null,U(o.exam.examInfos,(d,m)=>(c(),b(Se,{key:m,class:"px-0 mb-3"},{prepend:i(()=>[s(Ie,{color:"primary",variant:"tonal",size:"large",class:"mr-3 font-weight-bold elevation-1"},{default:i(()=>[u(g(d.name.charAt(0)),1)]),_:2},1024)]),default:i(()=>[s($e,{class:"font-weight-bold text-h6 mb-1"},{default:i(()=>[u(g(d.name),1)]),_:2},1024),s(Pe,{class:"text-body-1"},{default:i(()=>[r("div",$o,[s(D,{size:"small",color:"success",class:"mr-2"},{default:i(()=>[...e[2]||(e[2]=[u("mdi-clock-start",-1)])]),_:1}),r("span",Po,g(o.formatTime(d.start)),1)]),r("div",Lo,[s(D,{size:"small",color:"error",class:"mr-2"},{default:i(()=>[...e[3]||(e[3]=[u("mdi-clock-end",-1)])]),_:1}),r("span",Fo,g(o.formatTime(d.end)),1)])]),_:2},1024)]),_:2},1024))),128))]),_:1})],64)):(c(),p("div",Ro,[s(D,{size:"large",class:"mb-2"},{default:i(()=>[...e[4]||(e[4]=[u("mdi-alert-circle-outline",-1)])]),_:1}),e[5]||(e[5]=u(" 无法加载考试信息 ",-1))]))]),_:1},8,["style"])]),_:1})}const Bo=W(Uo,[["render",Oo],["__scopeId","data-v-52dc8ca5"]]);function He(t,e){let a=null;return function(...l){a&&clearTimeout(a),a=setTimeout(()=>{t.apply(this,l)},e)}}function jo(t,e){let a=null,l=0;return function(...n){const o=Date.now();o-l{l=o,t.apply(this,n)},e)):(l=o,t.apply(this,n))}}const Ho={name:"Classworks 作业板",components:{MessageLog:St,RandomPicker:Tt,FloatingToolbar:Vt,FloatingICP:Nt,HomeworkEditDialog:Ut,InitServiceChooser:Bt,ChatWidget:Re,StudentNameManager:Ot,UrgentTestDialog:Et,AttendanceSidebar:zt,AttendanceManagementDialog:At,HomeworkGrid:Rt,HomeActions:$t,PwaInstallCard:Mt,ExamScheduleCard:Bo,ExamConfigEditor:pt},setup(){const{mobile:t}=Ae(),e=ze();return{mobile:t,examStore:e}},data(){const t=[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}];return{showAddExamDialog:!1,showExamDetailDialog:!1,selectedExamId:null,upcomingExams:[],dataKey:"",provider:"",useDisplay:Ae,state:{classNumber:"",namespaceInfo:null,deviceName:"",studentList:[],boardData:{homework:{},attendance:{absent:[],late:[],exclude:[]}},dialogVisible:!1,dialogTitle:"",textarea:"",dateString:"",synced:!1,attendDialogVisible:!1,contentStyle:{"font-size":`${S("font.size")}px`},uploadLoading:!1,downloadLoading:!1,snackbar:!1,snackbarText:"",fontSize:S("font.size"),datePickerDialog:!1,selectedDate:new Date().toISOString().split("T")[0].replace(/-/g,""),selectedDateObj:new Date,refreshInterval:null,showNoDataMessage:!1,noDataMessage:"",isToday:!1,attendanceDialog:!1,availableSubjects:t,isFullscreen:!1},loading:{download:!1,upload:!1,students:!1,copyToToday:!1},debouncedUpload:null,debouncedAttendanceSave:null,throttledReflow:null,sortedItemsCache:{key:"",value:[]},confirmDialog:{show:!1,resolve:null,reject:null},urlConfigDialog:{show:!1,config:null,changes:[],validSettings:{},confirmHandler:null,cancelHandler:null,icons:{}},settingsTick:0,isChatOpen:!1,highlightedCards:{},tokenDisplayInfo:{show:!1,readonly:!1,text:"",color:"primary",variant:"tonal",icon:"mdi-account",disabled:!1},realtimeInfo:{show:!1,time:"",key:""},$offKvChanged:null,$offConnect:null,debouncedRealtimeRefresh:null,preconfigData:{namespace:null,authCode:null,autoOpen:!1,autoExecute:!1},urgentTestDialog:!1,tokenInfo:null,persistentNotifications:[],notificationDetailDialog:!1,currentNotification:null}},computed:{isMobile(){return S("display.forceDesktopMode")?!1:this.mobile},titleText(){var d,m;const t=((m=(d=this.state.namespaceInfo)==null?void 0:d.device)==null?void 0:m.name)||this.state.classNumber||"高三八班",e=this.getToday(),a=new Date(e);a.setDate(a.getDate()-1);const l=this.state.dateString,n=this.formatDate(e),o=this.formatDate(a);return l===n?t+" - 今天的作业":l===o?t+" - 昨天的作业":`${t} - ${l}的作业`},sortedItems(){const t=[];this.isMobile&&t.push({key:"attendance-card",name:"出勤统计",type:"attendance",data:{total:this.state.studentList.length,absent:this.state.boardData.attendance.absent,late:this.state.boardData.attendance.late,exclude:this.state.boardData.attendance.exclude}});for(const e in this.state.boardData.homework)if(e.startsWith("exam-")){const a=this.state.boardData.homework[e];t.push({key:e,name:"考试安排",type:"exam",data:{examId:a.examId},order:-100,rowSpan:200})}for(const e of this.state.availableSubjects){const a=e.name,l=this.state.boardData.homework[a];if(l&&l.content){const o=100+l.content.split(` `).filter(d=>d.trim()).length*24;t.push({key:a,name:a,type:"homework",content:l.content,order:e.order,rowSpan:o})}}S("hitokoto.enabled")&&t.push({key:"hitokoto-card",name:"一言",type:"hitokoto",order:9998,rowSpan:150});for(const e in this.state.boardData.homework)if(e.startsWith("custom-")){const a=this.state.boardData.homework[e],n=100+a.content.split(` `).filter(o=>o.trim()).length*24;t.push({key:e,name:a.name,type:"custom",content:a.content,order:9999,rowSpan:n})}return t.sort((e,a)=>e.order-a.order),t},unusedSubjects(){const t=Object.keys(this.state.boardData.homework).filter(e=>{var a;return(a=this.state.boardData.homework[e].content)==null?void 0:a.trim()});return this.state.availableSubjects.filter(e=>!t.includes(e.name)).sort((e,a)=>e.order-a.order)},emptySubjects(){return this.emptySubjectDisplay!=="button"?[]:this.unusedSubjects},autoSave(){return S("edit.autoSave")},blockNonTodayAutoSave(){return S("edit.blockNonTodayAutoSave")},isToday(){const t=(()=>{const e=new Date,a=e.getFullYear(),l=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${a}${l}${n}`})();return this.state.dateString===t},canAutoSave(){return this.autoSave&&(!this.blockNonTodayAutoSave||this.isToday)},needConfirmSave(){return!this.isToday&&this.confirmNonTodaySave},shouldShowBlockedMessage(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},refreshBeforeEdit(){return S("edit.refreshBeforeEdit")},emptySubjectDisplay(){return S("display.emptySubjectDisplay")},dynamicSort(){return S("display.dynamicSort")},isEditingDisabled(){if(this.state.uploadLoading||this.state.downloadLoading)return!0;const t=this.$refs.studentNameManager;return!!(t!=null&&t.isReadOnly||!this.canEditCurrentDate)},unreadCount(){var t;return((t=this.$refs.messageLog)==null?void 0:t.unreadCount)||0},showRandomPickerButton(){return S("randomPicker.enabled")},showListCardButton(){return S("display.showListCard")},confirmNonTodaySave(){return S("edit.confirmNonTodaySave")},blockPastDataEdit(){return S("edit.blockPastDataEdit")},shouldShowSaveConfirm(){return!this.isToday&&this.confirmNonTodaySave},shouldBlockAutoSave(){return!this.isToday&&this.autoSave&&this.blockNonTodayAutoSave},canEditCurrentDate(){return this.isToday?!0:!this.blockPastDataEdit},isEditingPastData(){return!this.isToday},showFullscreenButton(){return S("display.showFullscreenButton")},showExamScheduleButton(){return S("display.showExamScheduleButton")},showAntiScreenBurnCard(){return S("display.showAntiScreenBurnCard")},showTestCardButton(){return S("developer.enabled")},shouldShowInit(){var n;const t=S("server.provider"),e=t==="kv-server"||t==="classworkscloud",a=S("server.kvToken"),l=((n=this.$route)==null?void 0:n.path)==="/";return this.settingsTick,l&&e&&(!a||a==="")},hasExamCard(){for(const t in this.state.boardData.homework)if(t.startsWith("exam-"))return!0;return!1},shouldShowUrgentTestButton(){const t=S("server.provider");return!(t==="kv-server"||t==="classworkscloud")||!S("server.kvToken")||!this.tokenInfo?!1:this.tokenInfo.deviceType==="teacher"||this.tokenInfo.deviceType==="classroom"},subjectOrder(){return[...this.state.availableSubjects].sort((t,e)=>t.order-e.order).map(t=>t.name)}},watch:{homeworkData:{handler(){this.$nextTick(()=>{this.$refs.waterfall&&this.$refs.waterfall.reflow()})},deep:!0},"$vuetify.display.width":{handler(){this.throttledReflow()},deep:!0},"state.attendanceDialog":{handler(t){this.handleAttendanceDialogClose(t)}}},created(){this.debouncedUpload=He(this.uploadData,2e3),this.debouncedAttendanceSave=He(async()=>{this.autoSave&&await this.trySave(!0)},2e3),this.throttledReflow=jo(()=>{this.$refs.gridContainer&&this.optimizeGridLayout(this.sortedItems)},200)},async mounted(){try{this.updateBackendUrl(),await this.initializeData(),await this.loadDeviceInfo(),this.setupAutoRefresh(),this.unwatchSettings=Xe(()=>{this.updateSettings()}),this.$nextTick(()=>{const t=this.$refs.studentNameManager;t&&(this.studentNameInfo.name=t.currentStudentName||t.currentTeacherName||"",this.studentNameInfo.isStudent=t.isStudentToken,this.studentNameInfo.isTeacher=t.isTeacherToken,this.studentNameInfo.openDialog=()=>t.openDialog(),this.$watch(()=>t.currentStudentName,e=>{this.studentNameInfo.name=e,this.updateTokenDisplayInfo()}),this.$watch(()=>t.currentTeacherName,e=>{t.isTeacherToken&&(this.studentNameInfo.name=e,this.updateTokenDisplayInfo())}),this.$watch(()=>t.isStudentToken,e=>{this.studentNameInfo.isStudent=e,this.updateTokenDisplayInfo()}),this.$watch(()=>t.isTeacherToken,e=>{this.studentNameInfo.isTeacher=e,this.updateTokenDisplayInfo()}))}),document.addEventListener("fullscreenchange",this.fullscreenChangeHandler),document.addEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.addEventListener("MSFullscreenChange",this.fullscreenChangeHandler),this.checkHashForRandomPicker(),window.addEventListener("hashchange",this.checkHashForRandomPicker),this.setupRealtimeChannel(),this.$nextTick(()=>{this.updateTokenDisplayInfo()}),await this.loadTokenInfo(),this.loadPersistentNotifications()}catch(t){console.error("初始化失败:",t),this.showError("初始化失败,请刷新页面重试")}},beforeUnmount(){this.unwatchSettings&&this.unwatchSettings(),this.state.refreshInterval&&clearInterval(this.state.refreshInterval),document.removeEventListener("fullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("webkitfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("mozfullscreenchange",this.fullscreenChangeHandler),document.removeEventListener("MSFullscreenChange",this.fullscreenChangeHandler),window.removeEventListener("hashchange",this.checkHashForRandomPicker);try{this.$offKvChanged&&typeof this.$offKvChanged=="function"&&(this.$offKvChanged(),this.$offKvChanged=null),this.$offDeviceEvent&&typeof this.$offDeviceEvent=="function"&&(this.$offDeviceEvent(),this.$offDeviceEvent=null),this.$offConnect&&typeof this.$offConnect=="function"&&(this.$offConnect(),this.$offConnect=null),ss()}catch(t){console.warn("主页面事件清理失败:",t)}},methods:{async loadDeviceInfo(){var t;try{const e=S("server.provider");if(!(e==="kv-server"||e==="classworkscloud"))return;const l=await rs.loadNamespaceInfo();if(l&&l.success===!1)return;this.state.namespaceInfo=l||null,this.state.deviceName=((t=l==null?void 0:l.account)==null?void 0:t.deviceName)||""}catch(e){console.warn("加载设备信息失败:",e)}},async loadTokenInfo(){try{const t=S("server.provider");if(!(t==="kv-server"||t==="classworkscloud"))return;const a=S("server.kvToken");if(!a)return;const l=S("server.domain");if(!l)return;const n=await me.get(`${l}/kv/_token`,{headers:{Authorization:`Bearer ${a}`}});this.tokenInfo=n.data,console.log("Token info loaded:",this.tokenInfo)}catch(t){console.warn("Failed to load token info:",t),this.tokenInfo=null}},updateTokenDisplayInfo(){const t=this.$refs.studentNameManager;if(!t||!t.hasToken){this.tokenDisplayInfo.show=!1,this.tokenDisplayInfo.readonly=!1;return}const e=t.displayName,a=t.isReadOnly,l=t.isStudentToken,n=t.isTeacherToken;if(this.tokenDisplayInfo.readonly=a,!l&&!n){this.tokenDisplayInfo.show=!1;return}this.tokenDisplayInfo.text=e,this.tokenDisplayInfo.color="primary",this.tokenDisplayInfo.icon=n?"mdi-school":"mdi-account",this.tokenDisplayInfo.disabled=a,this.tokenDisplayInfo.show=!0},handleTokenChipClick(){console.log("Token chip clicked");const t=this.$refs.studentNameManager;console.log("Manager:",t),console.log("Is student token:",t==null?void 0:t.isStudentToken),console.log("Is teacher token:",t==null?void 0:t.isTeacherToken),t&&(t.isStudentToken||t.isTeacherToken)?(console.log("Opening dialog..."),t.openDialog()):console.log("Cannot open dialog - conditions not met")},ensureDate(t){if(t instanceof Date)return t;if(typeof t=="string"){const e=new Date(t);if(!isNaN(e.getTime()))return e}return new Date},formatDate(t){const e=this.ensureDate(t),a=e.getFullYear(),l=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0");return`${a}${l}${n}`},formatTime(t){return t?new Date(t).toLocaleString():""},getToday(){return new Date},async initializeData(){this.parsePreconfigData();const t=await this.parseUrlConfig(),a=new URLSearchParams(window.location.search).get("date"),l=this.getToday();let n=l;if(a){if(/^\d{8}$/.test(a)){const o=a.substring(0,4),d=a.substring(4,6),m=a.substring(6,8);n=new Date(`${o}-${d}-${m}`)}else n=new Date(a);isNaN(n.getTime())&&(n=l)}if(this.state.dateString=this.formatDate(n),this.state.selectedDate=this.state.dateString,this.state.selectedDateObj=n,this.state.isToday=this.formatDate(n)===this.formatDate(l),!t){this.provider=S("server.provider");const o=S("server.classNumber");this.state.classNumber=o}await Promise.all([this.downloadData(),this.loadConfig()]),await this.examStore.fetchExamList();for(const o of this.examStore.examList)this.examStore.fetchExam(o.id);this.checkUpcomingExams()},async checkUpcomingExams(){this.upcomingExams=await this.examStore.getUpcomingExams()},loadExamCards(){},saveExamCards(){},addExamCard(t,e=!1,a=!1){const l=`exam-${t}`;!e&&this.state.boardData.homework[l]?delete this.state.boardData.homework[l]:this.state.boardData.homework[l]={type:"exam",examId:t,name:"考试安排",content:""},this.state.synced=!1,a||this.trySave(!0)},openExamDetail(t){this.selectedExamId=t,this.showExamDetailDialog=!0},removeCurrentExamCard(){this.selectedExamId&&(this.addExamCard(this.selectedExamId),this.showExamDetailDialog=!1)},async onExamConfigSaved(){this.selectedExamId&&(delete this.examStore.exams[this.selectedExamId],await this.examStore.fetchExam(this.selectedExamId),this.$message.success("保存成功","考试配置已更新"))},onExamConfigDeleted(){this.removeCurrentExamCard(),this.$message.success("删除成功","考试配置已删除")},isExamCardAdded(t){return!!this.state.boardData.homework[`exam-${t}`]},removeExamCard(t){},addAllUpcomingExams(){let t=0;for(const e of this.upcomingExams)this.isExamCardAdded(e.id)||(this.addExamCard(e.id,!0,!0),t++);t>0?(this.trySave(!0),this.$message.success("添加成功",`已添加 ${t} 个考试安排`)):this.$message.info("提示","所有考试已添加")},async downloadData(t=!1){var e,a,l;if(!this.loading.download)try{this.loading.download=!0;const n=await Z.loadData("classworks-data-"+this.state.dateString);if(n.success==!1)if(n.error.code==="NOT_FOUND")this.state.showNoDataMessage=!0,this.state.noDataMessage=n.error.message,(t||!this.state.boardData||!this.state.boardData.homework&&!this.state.boardData.attendance)&&(this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}});else throw new Error(n.error.message);else this.state.boardData={homework:n.homework||{},attendance:{absent:((e=n.attendance)==null?void 0:e.absent)||[],late:((a=n.attendance)==null?void 0:a.late)||[],exclude:((l=n.attendance)==null?void 0:l.exclude)||[]}},this.state.synced=!0,this.state.showNoDataMessage=!1,this.$message.success("下载成功","数据已更新")}catch(n){console.error("数据加载失败:",n),this.$message.error("下载失败",n.message),(t||!this.state.boardData||!this.state.boardData.homework&&!this.state.boardData.attendance)&&(this.state.boardData={homework:{},attendance:{absent:[],late:[],exclude:[]}})}finally{this.loading.download=!1}},async trySave(t=!1){if(t&&!this.canAutoSave)return this.shouldShowBlockedMessage&&this.showMessage("需要手动保存","已禁止自动保存非当天数据","warning"),!1;if(!t&&this.needConfirmSave)try{await this.showConfirmDialog()}catch{return!1}try{return await this.uploadData(),!0}catch(e){return this.$message.error("保存失败",e.message||"请重试"),!1}},async handleClose(){var a;if(!this.currentEditSubject)return;const t=this.state.textarea.trim(),e=((a=this.state.boardData.homework[this.currentEditSubject])==null?void 0:a.content)||"";if(t!==e.trim()){if(!t&&this.currentEditSubject.startsWith("custom-")){delete this.state.boardData.homework[this.currentEditSubject],this.state.synced=!1,this.autoSave&&await this.trySave(!0),this.state.dialogVisible=!1;return}this.state.boardData.homework[this.currentEditSubject].type==="custom"?this.state.boardData.homework[this.currentEditSubject].content=t:this.state.boardData.homework[this.currentEditSubject]={content:t},this.state.synced=!1,this.autoSave&&await this.trySave(!0)}this.state.dialogVisible=!1},async uploadData(){if(!this.loading.upload)try{this.loading.upload=!0;const t=await Z.saveData("classworks-data-"+this.state.dateString,this.state.boardData);if(t.success==!1)throw new Error(t.error.message);this.state.synced=!0,this.$message.success(t.message||"保存成功")}finally{this.loading.upload=!1}},async loadConfig(){try{try{const t=await Z.loadData("classworks-list-main");t.success!=!1&&Array.isArray(t)&&(this.state.studentList=t.map(e=>e.name))}catch(t){console.warn("Failed to load student list from dedicated key, falling back to config",t)}await this.loadSubjects()}catch(t){console.error("加载配置失败:",t),this.$message.error("加载配置失败",t.message)}},async loadSubjects(){try{const t=await Z.loadData("classworks-config-subject");t&&Array.isArray(t)&&(this.state.availableSubjects=t)}catch(t){console.warn("Failed to load subject configuration:",t)}},showSyncMessage(){this.$message.success("数据已同步","数据已完成与服务器同步")},async openDialog(t){var e;if(this.isEditingDisabled){const a=this.$refs.studentNameManager;a!=null&&a.isReadOnly?this.$message.warning("无法编辑","当前使用的是只读令牌"):this.canEditCurrentDate?this.$message.warning("无法编辑","数据加载中,请稍候"):this.$message.warning("无法编辑","已禁止编辑过往数据");return}if(t.startsWith("custom-")){this.currentEditSubject=t,this.state.dialogTitle=this.state.boardData.homework[t].name,this.state.textarea=this.state.boardData.homework[t].content,this.state.dialogVisible=!0;return}if(this.refreshBeforeEdit)try{await this.downloadData()}catch(a){console.error("刷新数据失败:",a),this.$message.error("刷新数据失败,可能显示的不是最新数据")}this.currentEditSubject=t,this.state.boardData.homework[t]||(this.state.boardData.homework[t]={content:""}),this.state.dialogTitle=((e=this.state.availableSubjects.find(a=>a.name===t))==null?void 0:e.name)||t,this.state.textarea=this.state.boardData.homework[t].content,this.state.dialogVisible=!0},async handleHomeworkSave(t){this.currentEditSubject&&(this.state.boardData.homework[this.currentEditSubject].type==="custom"?this.state.boardData.homework[this.currentEditSubject].content=t:this.state.boardData.homework[this.currentEditSubject]={content:t},this.state.synced=!1,this.autoSave&&await this.trySave(!0))},setAttendanceArea(){if(this.isEditingDisabled){this.handleDisabledClick();return}this.state.attendanceDialog=!0},handleDisabledClick(){const t=this.$refs.studentNameManager;t!=null&&t.isReadOnly?this.$message.warning("无法编辑","当前使用的是只读令牌"):this.canEditCurrentDate?this.$message.warning("无法编辑","数据加载中,请稍候"):this.$message.warning("无法编辑","已禁止编辑过往数据")},zoom(t){t==="up"&&this.state.fontSize<100?this.state.fontSize+=2:t==="out"&&this.state.fontSize>16&&(this.state.fontSize-=2),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},re("font.size",this.state.fontSize)},updateBackendUrl(){const t=S("server.provider"),e=S("server.classNumber");this.provider=t,this.state.classNumber=e},setupAutoRefresh(){const t=S("refresh.auto"),e=S("refresh.interval");this.state.refreshInterval&&clearInterval(this.state.refreshInterval),t&&(this.state.refreshInterval=setInterval(()=>{this.shouldSkipRefresh()||(this.downloadData(),this.loadPersistentNotifications())},e*1e3))},shouldSkipRefresh(){return!!(this.state.dialogVisible||this.state.attendanceDialog||this.confirmDialog.show||this.state.datePickerDialog||this.loading.upload||this.loading.download||!this.state.synced)},updateSettings(){this.state.fontSize=S("font.size"),this.state.contentStyle={"font-size":`${this.state.fontSize}px`},this.setupAutoRefresh(),this.updateBackendUrl(),this.loadDeviceInfo(),this.loadTokenInfo(),this.settingsTick++},async handleDateSelect(t){if(t)try{const e=this.ensureDate(t),a=this.formatDate(e);if(a===this.state.dateString)return;this.state.dateString=a,this.state.selectedDate=a,this.state.selectedDateObj=e,this.state.isToday=a===this.formatDate(this.getToday()),await Promise.all([this.downloadData(!0),this.loadSubjects()])}catch(e){console.error("Date processing error:",e),this.$message.error("日期处理错误","请重新选择日期")}},setupRealtimeChannel(){try{const t=S("server.kvToken");if(!t){console.warn("未配置 KV Token,无法加入实时频道");return}wt(),We(t),this.$offConnect=ts(()=>We(t)),this.debouncedRealtimeRefresh||(this.debouncedRealtimeRefresh=He(async()=>{var h,k,I;const l=JSON.parse(JSON.stringify(this.state.boardData.homework));await this.downloadData();const n=new Date,o=String(n.getHours()).padStart(2,"0"),d=String(n.getMinutes()).padStart(2,"0"),m=String(n.getSeconds()).padStart(2,"0");(h=this.$message)==null||h.info("数据已更新",`已于 ${o}:${d}:${m} 自动刷新`);const f={};for(const F in this.state.boardData.homework){const H=((k=l[F])==null?void 0:k.content)||"",N=((I=this.state.boardData.homework[F])==null?void 0:I.content)||"";H!==N&&(f[F]=!0)}for(const F in l)this.state.boardData.homework[F]||(f[F]=!0);this.highlightedCards=f,setTimeout(()=>{this.highlightedCards={}},1e4)},800));const e=l=>{var o;if(!l)return;if(l.key==="notification-list"){this.loadPersistentNotifications();return}const n=`classworks-data-${this.state.dateString}`;l.key===n&&(l.action!=="upsert"&&l.action!=="delete"||(o=this.debouncedRealtimeRefresh)==null||o.call(this,l.key))},a=l=>{let n=l;l.content&&l.timestamp&&(n={uuid:l.senderId||"realtime",key:l.content.key,action:l.content.action,created:l.content.created,updatedAt:l.content.updatedAt||l.timestamp,deletedAt:l.content.deletedAt,batch:l.content.batch}),e(n)};this.$offKvChanged=ce("kv-key-changed",a),this.deviceEventHandler=Ct({onKvChanged:e,enableLegacySupport:!0}),this.$offDeviceEvent=ce("device-event",this.deviceEventHandler)}catch(t){console.warn("实时频道初始化失败",t)}},async saveAttendance(){try{await this.trySave(!0),this.state.attendanceDialog=!1}catch(t){console.error("保存出勤状态失败:",t),this.$message.error("保存失败","请重试")}},showMessage(t,e="",a="success"){this.$message[a](t,e)},updateSortedItemsCache(t,e){this._sortedItemsCache={key:t,value:e}},addTestCard(){const t=Date.now().toString();this.state.boardData.homework[`custom-${t}`]={name:"测试卡片",content:`这是一个测试卡片 diff --git a/assets/index-Cgekbe0l.js b/assets/index-bqvMdhMd.js similarity index 85% rename from assets/index-Cgekbe0l.js rename to assets/index-bqvMdhMd.js index 77e264a..8a6a5f5 100644 --- a/assets/index-Cgekbe0l.js +++ b/assets/index-bqvMdhMd.js @@ -1 +1 @@ -import{d as n}from"./dataProvider-BZ0EQWiW.js";import{_ as N,A as f,o,c as s,w as i,t as d,y as r,l as h,j as k,q as g,z as V,P as C,F as v,G as x,Q as I,a2 as b,C as y,N as A,O as L,v as w,B as _,H as B,M as E,x as F}from"./index-Ck0Pnd4f.js";import{b as T,c as S}from"./VAppBarTitle-N2z58aj8.js";import{V as D}from"./VTextField-C6VOv1Py.js";import{V as M}from"./VContainer-_5I3ogXr.js";import"./serverRotation-TSbwZ9RQ.js";const K={data(){return{lists:[],newListName:"",studentList:[],deleteDialog:{show:!1,text:"",listId:null},editingListId:null,editListName:""}},async created(){await Promise.all([this.loadLists(),this.loadStudentList()])},methods:{async loadLists(){try{let e=await n.loadData("classworks-list-info");(!e||!Array.isArray(e))&&(e=[],await n.saveData("classworks-list-info",e)),this.lists=e}catch(e){console.error("Failed to load lists",e),this.lists=[],await n.saveData("classworks-list-info",[])}},async loadStudentList(){try{const e=await n.loadData("classworks-list-main");e&&Array.isArray(e)?this.studentList=e:this.studentList=[]}catch(e){console.error("Failed to load student list",e),this.studentList=[]}},async createNewList(){if(!this.newListName)return;const e=Date.now().toString(),t={id:e,name:this.newListName};this.lists.push(t),await n.saveData("classworks-list-info",this.lists);const u=[];this.studentList&&this.studentList.length>0&&this.studentList.forEach(p=>{u.push({id:p.id||Date.now()+Math.floor(Math.random()*1e3),name:p.name,completed:!1})}),await n.saveData(`classworks-list-${e}`,u),this.newListName="",this.$router.push(`/list/${e}`)},startEditing(e){const t=this.lists.find(u=>u.id===e);t&&(this.editingListId=e,this.editListName=t.name)},cancelEditing(){this.editingListId=null,this.editListName=""},async saveListName(){if(!(!this.editListName.trim()||!this.editingListId))try{const e=this.lists.findIndex(t=>t.id===this.editingListId);e!==-1&&(this.lists[e].name=this.editListName.trim(),await n.saveData("classworks-list-info",this.lists)),this.editingListId=null,this.editListName=""}catch(e){console.error("Failed to update list name",e)}},confirmDeleteList(e){const t=this.lists.find(u=>u.id===e);t&&(this.deleteDialog={show:!0,text:`确定要删除列表 "${t.name}" 吗?`,listId:e})},confirmDelete(){this.deleteDialog.listId&&this.deleteList(this.deleteDialog.listId),this.deleteDialog.show=!1},async deleteList(e){this.lists=this.lists.filter(t=>t.id!==e),await n.saveData("classworks-list-info",this.lists)}}},P={key:0},U={key:1,class:"d-flex align-center w-100"},j={key:0};function q(e,t,u,p,a,m){return o(),f(v,null,[s(S,{elevation:"1"},{prepend:i(()=>[s(r,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=l=>e.$router.push("/"))})]),default:i(()=>[s(T,{class:"text-h6"},{default:i(()=>[...t[5]||(t[5]=[d("列表",-1)])]),_:1})]),_:1}),s(M,null,{default:i(()=>[s(h,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(g,null,{default:i(()=>[...t[6]||(t[6]=[d("现有列表",-1)])]),_:1}),a.lists.length===0?(o(),k(V,{key:0},{default:i(()=>[...t[7]||(t[7]=[d(" 暂无列表,请创建新列表 ",-1)])]),_:1})):(o(),k(C,{key:1},{default:i(()=>[(o(!0),f(v,null,x(a.lists,l=>(o(),k(I,{key:l.id,active:l.id===a.editingListId,to:l.id!==a.editingListId?`/list/${l.id}`:void 0},{append:i(()=>[l.id!==a.editingListId?(o(),f("div",j,[s(r,{border:"",class:"mr-2",icon:"",onClick:L(c=>m.startEditing(l.id),["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[10]||(t[10]=[d("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"]),s(r,{border:"",icon:"",onClick:L(c=>m.confirmDeleteList(l.id),["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[11]||(t[11]=[d("mdi-delete",-1)])]),_:1})]),_:1},8,["onClick"])])):_("",!0)]),default:i(()=>[l.id!==a.editingListId?(o(),f("div",P,[s(b,null,{default:i(()=>[d(y(l.name),1)]),_:2},1024)])):(o(),f("div",U,[s(D,{modelValue:a.editListName,"onUpdate:modelValue":t[1]||(t[1]=c=>a.editListName=c),autofocus:"",class:"mr-2",density:"compact","hide-details":"",label:"列表名称",onKeyup:A(m.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),s(r,{border:"",class:"mr-2",color:"primary",icon:"",onClick:L(m.saveListName,["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[8]||(t[8]=[d("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),s(r,{border:"",color:"error",icon:"",onClick:L(m.cancelEditing,["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[9]||(t[9]=[d("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]))]),_:2},1032,["active","to"]))),128))]),_:1}))]),_:1}),s(h,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(g,null,{default:i(()=>[...t[12]||(t[12]=[d("创建新列表",-1)])]),_:1}),s(V,null,{default:i(()=>[s(D,{modelValue:a.newListName,"onUpdate:modelValue":t[2]||(t[2]=l=>a.newListName=l),rules:[l=>!!l||"名称不能为空"],label:"列表名称"},null,8,["modelValue","rules"]),s(r,{disabled:!a.newListName,color:"primary",onClick:m.createNewList},{default:i(()=>[...t[13]||(t[13]=[d(" 创建列表 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),s(B,{modelValue:a.deleteDialog.show,"onUpdate:modelValue":t[4]||(t[4]=l=>a.deleteDialog.show=l),"max-width":"500"},{default:i(()=>[s(h,{border:""},{default:i(()=>[s(g,null,{default:i(()=>[...t[14]||(t[14]=[d("删除列表",-1)])]),_:1}),s(V,null,{default:i(()=>[d(y(a.deleteDialog.text),1)]),_:1}),s(E,null,{default:i(()=>[s(F),s(r,{color:"primary",variant:"text",onClick:t[3]||(t[3]=l=>a.deleteDialog.show=!1)},{default:i(()=>[...t[15]||(t[15]=[d(" 取消 ",-1)])]),_:1}),s(r,{color:"error",variant:"text",onClick:m.confirmDelete},{default:i(()=>[...t[16]||(t[16]=[d(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const R=N(K,[["render",q]]);export{R as default}; +import{d as n}from"./dataProvider-MQ8YacC2.js";import{_ as N,o,C as f,c as s,w as i,v as d,y as r,l as h,q as k,j as g,z as V,P as C,F as v,G as x,Q as I,a0 as b,A as y,N as A,O as L,t as w,D as _,H as B,M as E,x as F}from"./index-BUM0TY0E.js";import{b as T,c as S}from"./VAppBarTitle-DZ_l7t3b.js";import{V as D}from"./VTextField-C579e7l1.js";import{V as M}from"./VContainer-DakLDC1m.js";import"./serverRotation-CjK7Y7P9.js";const K={data(){return{lists:[],newListName:"",studentList:[],deleteDialog:{show:!1,text:"",listId:null},editingListId:null,editListName:""}},async created(){await Promise.all([this.loadLists(),this.loadStudentList()])},methods:{async loadLists(){try{let e=await n.loadData("classworks-list-info");(!e||!Array.isArray(e))&&(e=[],await n.saveData("classworks-list-info",e)),this.lists=e}catch(e){console.error("Failed to load lists",e),this.lists=[],await n.saveData("classworks-list-info",[])}},async loadStudentList(){try{const e=await n.loadData("classworks-list-main");e&&Array.isArray(e)?this.studentList=e:this.studentList=[]}catch(e){console.error("Failed to load student list",e),this.studentList=[]}},async createNewList(){if(!this.newListName)return;const e=Date.now().toString(),t={id:e,name:this.newListName};this.lists.push(t),await n.saveData("classworks-list-info",this.lists);const u=[];this.studentList&&this.studentList.length>0&&this.studentList.forEach(p=>{u.push({id:p.id||Date.now()+Math.floor(Math.random()*1e3),name:p.name,completed:!1})}),await n.saveData(`classworks-list-${e}`,u),this.newListName="",this.$router.push(`/list/${e}`)},startEditing(e){const t=this.lists.find(u=>u.id===e);t&&(this.editingListId=e,this.editListName=t.name)},cancelEditing(){this.editingListId=null,this.editListName=""},async saveListName(){if(!(!this.editListName.trim()||!this.editingListId))try{const e=this.lists.findIndex(t=>t.id===this.editingListId);e!==-1&&(this.lists[e].name=this.editListName.trim(),await n.saveData("classworks-list-info",this.lists)),this.editingListId=null,this.editListName=""}catch(e){console.error("Failed to update list name",e)}},confirmDeleteList(e){const t=this.lists.find(u=>u.id===e);t&&(this.deleteDialog={show:!0,text:`确定要删除列表 "${t.name}" 吗?`,listId:e})},confirmDelete(){this.deleteDialog.listId&&this.deleteList(this.deleteDialog.listId),this.deleteDialog.show=!1},async deleteList(e){this.lists=this.lists.filter(t=>t.id!==e),await n.saveData("classworks-list-info",this.lists)}}},P={key:0},U={key:1,class:"d-flex align-center w-100"},j={key:0};function q(e,t,u,p,a,m){return o(),f(v,null,[s(S,{elevation:"1"},{prepend:i(()=>[s(r,{icon:"mdi-arrow-left",variant:"text",onClick:t[0]||(t[0]=l=>e.$router.push("/"))})]),default:i(()=>[s(T,{class:"text-h6"},{default:i(()=>[...t[5]||(t[5]=[d("列表",-1)])]),_:1})]),_:1}),s(M,null,{default:i(()=>[s(h,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(k,null,{default:i(()=>[...t[6]||(t[6]=[d("现有列表",-1)])]),_:1}),a.lists.length===0?(o(),g(V,{key:0},{default:i(()=>[...t[7]||(t[7]=[d(" 暂无列表,请创建新列表 ",-1)])]),_:1})):(o(),g(C,{key:1},{default:i(()=>[(o(!0),f(v,null,x(a.lists,l=>(o(),g(I,{key:l.id,active:l.id===a.editingListId,to:l.id!==a.editingListId?`/list/${l.id}`:void 0},{append:i(()=>[l.id!==a.editingListId?(o(),f("div",j,[s(r,{border:"",class:"mr-2",icon:"",onClick:L(c=>m.startEditing(l.id),["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[10]||(t[10]=[d("mdi-pencil",-1)])]),_:1})]),_:1},8,["onClick"]),s(r,{border:"",icon:"",onClick:L(c=>m.confirmDeleteList(l.id),["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[11]||(t[11]=[d("mdi-delete",-1)])]),_:1})]),_:1},8,["onClick"])])):_("",!0)]),default:i(()=>[l.id!==a.editingListId?(o(),f("div",P,[s(b,null,{default:i(()=>[d(y(l.name),1)]),_:2},1024)])):(o(),f("div",U,[s(D,{modelValue:a.editListName,"onUpdate:modelValue":t[1]||(t[1]=c=>a.editListName=c),autofocus:"",class:"mr-2",density:"compact","hide-details":"",label:"列表名称",onKeyup:A(m.saveListName,["enter"])},null,8,["modelValue","onKeyup"]),s(r,{border:"",class:"mr-2",color:"primary",icon:"",onClick:L(m.saveListName,["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[8]||(t[8]=[d("mdi-check",-1)])]),_:1})]),_:1},8,["onClick"]),s(r,{border:"",color:"error",icon:"",onClick:L(m.cancelEditing,["stop","prevent"])},{default:i(()=>[s(w,null,{default:i(()=>[...t[9]||(t[9]=[d("mdi-close",-1)])]),_:1})]),_:1},8,["onClick"])]))]),_:2},1032,["active","to"]))),128))]),_:1}))]),_:1}),s(h,{border:"",class:"mb-5",rounded:"xl"},{default:i(()=>[s(k,null,{default:i(()=>[...t[12]||(t[12]=[d("创建新列表",-1)])]),_:1}),s(V,null,{default:i(()=>[s(D,{modelValue:a.newListName,"onUpdate:modelValue":t[2]||(t[2]=l=>a.newListName=l),rules:[l=>!!l||"名称不能为空"],label:"列表名称"},null,8,["modelValue","rules"]),s(r,{disabled:!a.newListName,color:"primary",onClick:m.createNewList},{default:i(()=>[...t[13]||(t[13]=[d(" 创建列表 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1}),s(B,{modelValue:a.deleteDialog.show,"onUpdate:modelValue":t[4]||(t[4]=l=>a.deleteDialog.show=l),"max-width":"500"},{default:i(()=>[s(h,{border:""},{default:i(()=>[s(k,null,{default:i(()=>[...t[14]||(t[14]=[d("删除列表",-1)])]),_:1}),s(V,null,{default:i(()=>[d(y(a.deleteDialog.text),1)]),_:1}),s(E,null,{default:i(()=>[s(F),s(r,{color:"primary",variant:"text",onClick:t[3]||(t[3]=l=>a.deleteDialog.show=!1)},{default:i(()=>[...t[15]||(t[15]=[d(" 取消 ",-1)])]),_:1}),s(r,{color:"error",variant:"text",onClick:m.confirmDelete},{default:i(()=>[...t[16]||(t[16]=[d(" 确认删除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})],64)}const R=N(K,[["render",q]]);export{R as default}; diff --git a/assets/serverRotation-TSbwZ9RQ.js b/assets/serverRotation-CjK7Y7P9.js similarity index 93% rename from assets/serverRotation-TSbwZ9RQ.js rename to assets/serverRotation-CjK7Y7P9.js index bb773c1..fba1fb0 100644 --- a/assets/serverRotation-TSbwZ9RQ.js +++ b/assets/serverRotation-CjK7Y7P9.js @@ -1 +1 @@ -import{k as n}from"./index-Ck0Pnd4f.js";const u=["https://kv-service.houlang.cloud","https://kv-service.wuyuan.dev"];function f(t){if(t==="classworkscloud")return[...u];const o=n("server.domain");return o?[o]:[]}async function p(t,o={}){const d=o.provider||n("server.provider"),i=o.onServerTried,a=typeof i=="function",v=f(d),r=[];let c=null;for(const s of v)try{r.push({url:s,status:"trying"}),a&&i({url:s,status:"trying",tried:[...r]});const e=await t(s);return r[r.length-1].status="success",a&&i({url:s,status:"success",tried:[...r]}),e}catch(e){c=e,r[r.length-1].status="failed",r[r.length-1].error=e.message||String(e),a&&i({url:s,status:"failed",error:e,tried:[...r]}),console.warn(`Server ${s} failed:`,e.message)}console.error("All servers failed. Tried:",r);const l=c||new Error("All servers failed");throw l.triedServers=r,l}function S(){return n("server.provider")==="classworkscloud"?u[0]:n("server.domain")||""}function h(){return n("server.provider")==="classworkscloud"}export{S as g,h as i,p as t}; +import{k as n}from"./index-BUM0TY0E.js";const u=["https://kv-service.houlang.cloud","https://kv-service.wuyuan.dev"];function f(t){if(t==="classworkscloud")return[...u];const o=n("server.domain");return o?[o]:[]}async function p(t,o={}){const d=o.provider||n("server.provider"),i=o.onServerTried,a=typeof i=="function",v=f(d),r=[];let c=null;for(const s of v)try{r.push({url:s,status:"trying"}),a&&i({url:s,status:"trying",tried:[...r]});const e=await t(s);return r[r.length-1].status="success",a&&i({url:s,status:"success",tried:[...r]}),e}catch(e){c=e,r[r.length-1].status="failed",r[r.length-1].error=e.message||String(e),a&&i({url:s,status:"failed",error:e,tried:[...r]}),console.warn(`Server ${s} failed:`,e.message)}console.error("All servers failed. Tried:",r);const l=c||new Error("All servers failed");throw l.triedServers=r,l}function S(){return n("server.provider")==="classworkscloud"?u[0]:n("server.domain")||""}function h(){return n("server.provider")==="classworkscloud"}export{S as g,h as i,p as t}; diff --git a/assets/settings-DptYywUP.js b/assets/settings-BmFKtRQg.js similarity index 94% rename from assets/settings-DptYywUP.js rename to assets/settings-BmFKtRQg.js index fff7e25..1a3888e 100644 --- a/assets/settings-DptYywUP.js +++ b/assets/settings-BmFKtRQg.js @@ -1,6 +1,6 @@ -import{s as mn,b as fn,V as mt,a as ft,_ as Ct,c as pn}from"./VCombobox-BctCYhAJ.js";import{_ as Y,j as g,o as c,w as n,c as t,B as k,ai as ze,q as K,t as o,C as w,v,z as j,af as Ke,ag as He,M as re,l as E,i as m,br as hn,L as Ge,am as _t,bs as Vt,k as _,s as xe,bt as gn,A as x,a2 as L,a3 as ie,y as h,P as J,Q as A,K as M,E as je,aj as tt,F as ne,bu as Be,ac as nt,ak as et,G as ue,x as te,Y as Le,a4 as wn,N as Ve,O as Ae,H as we,aa as Dt,bf as vn,D as bn,g as yn,p as kn,ar as xn,bv as Sn,bw as Cn,bd as At,d as Fe,ae as pt,a0 as ge,aU as _n,R as ht,ap as Vn,Z as Dn,a1 as Me,aP as An,r as Tn,X as In}from"./index-Ck0Pnd4f.js";import{V as X}from"./VChip-C4TXrZae.js";import{V as Tt}from"./VSwitch-B-2xPqHI.js";import{e as Je,V as It}from"./filter-BOxM3LRL.js";import{V as R}from"./VTextField-C6VOv1Py.js";import{d as ae,a as Qe,c as gt,b as jn,o as En,k as Un}from"./dataProvider-BZ0EQWiW.js";import{V as $,a as Te}from"./VAlert-WqxdeiRc.js";import{V as de,a as z}from"./VRow-D_zZfsym.js";import{V as st}from"./VContainer-_5I3ogXr.js";import{a as Ce}from"./VPagination-CAsEj5TO.js";import{V as Ie}from"./VTextarea-Akjtg06o.js";import{V as jt}from"./VForm-Jb3Esqve.js";import{V as it,a as lt,b as Et,c as ot}from"./VExpansionPanels-B6fkQj5C.js";import{e as Ut,b as Nn,a as he}from"./VTabsWindowItem-DSJn6eyk.js";import{V as wt}from"./VCheckboxBtn-DWqkYNT7.js";import{i as Mn,t as Pn}from"./serverRotation-TSbwZ9RQ.js";import{V as vt,a as bt,b as Bn,c as Ln}from"./VAppBarTitle-N2z58aj8.js";import{V as zn}from"./VSheet-DJg5eIit.js";const On={name:"SettingsCard",props:{title:{type:String,required:!0},icon:{type:String,required:!0},loading:{type:Boolean,default:!1}}};function Rn(s,e,a,d,i,l){return c(),g(E,{class:"settings-card rounded-lg",elevation:"2"},{default:n(()=>[t(ze,null,{prepend:n(()=>[t(v,{icon:a.icon,class:"mr-2",size:"large"},null,8,["icon"])]),default:n(()=>[t(K,{class:"text-h6"},{default:n(()=>[o(w(a.title),1)]),_:1})]),_:1}),t(j,null,{default:n(()=>[a.loading?(c(),g(He,{key:0,class:"mb-4",color:"primary",indeterminate:""})):k("",!0),Ke(s.$slots,"default",{},void 0,!0)]),_:3}),s.$slots.actions?(c(),g(re,{key:0,class:"pa-4"},{default:n(()=>[Ke(s.$slots,"actions",{},void 0,!0)]),_:3})):k("",!0)]),_:3})}const ee=Y(On,[["render",Rn],["__scopeId","data-v-9c035df1"]]);var Kn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Fn(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Nt={exports:{}};(function(s,e){(function(a,d){s.exports=d()})(typeof self<"u"?self:Kn,()=>(()=>{var a={3146:(r,p,u)=>{for(var y=u(3491),T=typeof window>"u"?u.g:window,I=["moz","webkit"],Q="AnimationFrame",H=T["request"+Q],q=T["cancel"+Q]||T["cancelRequest"+Q],fe=0;!H&&fe{var p=r&&r.__esModule?()=>r.default:()=>r;return i.d(p,{a:p}),p},i.d=(r,p)=>{for(var u in p)i.o(p,u)&&!i.o(r,u)&&Object.defineProperty(r,u,{enumerable:!0,get:p[u]})},i.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),i.o=(r,p)=>Object.prototype.hasOwnProperty.call(r,p);var l={};return(()=>{i.d(l,{default:()=>nn});var r=i(3146),p=i.n(r);const u=function(N){return new RegExp(/<[a-z][\s\S]*>/i).test(N)},y=function(N,S){return Math.floor(Math.random()*(S-N+1))+N};var T="TYPE_CHARACTER",I="REMOVE_CHARACTER",Q="REMOVE_ALL",H="REMOVE_LAST_VISIBLE_NODE",q="PAUSE_FOR",fe="CALL_FUNCTION",pe="ADD_HTML_TAG_ELEMENT",ce="CHANGE_DELETE_SPEED",se="CHANGE_DELAY",be="CHANGE_CURSOR",V="PASTE_STRING",b="HTML_TAG";function D(N){return D=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(S){return typeof S}:function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S},D(N)}function P(N,S){var B=Object.keys(N);if(Object.getOwnPropertySymbols){var U=Object.getOwnPropertySymbols(N);S&&(U=U.filter(function(ke){return Object.getOwnPropertyDescriptor(N,ke).enumerable})),B.push.apply(B,U)}return B}function Z(N){for(var S=1;S[t(ze,null,{prepend:n(()=>[t(v,{icon:a.icon,class:"mr-2",size:"large"},null,8,["icon"])]),default:n(()=>[t(K,{class:"text-h6"},{default:n(()=>[o(w(a.title),1)]),_:1})]),_:1}),t(j,null,{default:n(()=>[a.loading?(c(),g(He,{key:0,class:"mb-4",color:"primary",indeterminate:""})):k("",!0),Ke(s.$slots,"default",{},void 0,!0)]),_:3}),s.$slots.actions?(c(),g(re,{key:0,class:"pa-4"},{default:n(()=>[Ke(s.$slots,"actions",{},void 0,!0)]),_:3})):k("",!0)]),_:3})}const ee=Y(On,[["render",Rn],["__scopeId","data-v-9c035df1"]]);var Kn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Fn(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Nt={exports:{}};(function(s,e){(function(a,d){s.exports=d()})(typeof self<"u"?self:Kn,()=>(()=>{var a={3146:(r,p,u)=>{for(var y=u(3491),T=typeof window>"u"?u.g:window,I=["moz","webkit"],Q="AnimationFrame",H=T["request"+Q],q=T["cancel"+Q]||T["cancelRequest"+Q],fe=0;!H&&fe{var p=r&&r.__esModule?()=>r.default:()=>r;return i.d(p,{a:p}),p},i.d=(r,p)=>{for(var u in p)i.o(p,u)&&!i.o(r,u)&&Object.defineProperty(r,u,{enumerable:!0,get:p[u]})},i.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),i.o=(r,p)=>Object.prototype.hasOwnProperty.call(r,p);var l={};return(()=>{i.d(l,{default:()=>nn});var r=i(3146),p=i.n(r);const u=function(N){return new RegExp(/<[a-z][\s\S]*>/i).test(N)},y=function(N,S){return Math.floor(Math.random()*(S-N+1))+N};var T="TYPE_CHARACTER",I="REMOVE_CHARACTER",Q="REMOVE_ALL",H="REMOVE_LAST_VISIBLE_NODE",q="PAUSE_FOR",fe="CALL_FUNCTION",pe="ADD_HTML_TAG_ELEMENT",ce="CHANGE_DELETE_SPEED",se="CHANGE_DELAY",be="CHANGE_CURSOR",V="PASTE_STRING",b="HTML_TAG";function D(N){return D=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(S){return typeof S}:function(S){return S&&typeof Symbol=="function"&&S.constructor===Symbol&&S!==Symbol.prototype?"symbol":typeof S},D(N)}function P(N,S){var B=Object.keys(N);if(Object.getOwnPropertySymbols){var U=Object.getOwnPropertySymbols(N);S&&(U=U.filter(function(ke){return Object.getOwnPropertyDescriptor(N,ke).enumerable})),B.push.apply(B,U)}return B}function Z(N){for(var S=1;SN.length)&&(S=N.length);for(var B=0,U=Array(S);B1&&arguments[1]!==void 0?arguments[1]:null;if(u(C))return f.typeOutHTMLString(C,F);if(C){var le=(f.options||{}).stringSplitter,oe=typeof le=="function"?le(C):C.split("");f.typeCharacters(oe,F)}return f}),O(this,"pasteString",function(C){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;return u(C)?f.typeOutHTMLString(C,F,!0):(C&&f.addEventToQueue(V,{character:C,node:F}),f)}),O(this,"typeOutHTMLString",function(C){var F=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null,le=arguments.length>2?arguments[2]:void 0,oe=function(Ee){var Ue=document.createElement("div");return Ue.innerHTML=Ee,Ue.childNodes}(C);if(oe.length>0)for(var W=0;W0&&arguments[0]!==void 0?arguments[0]:"natural";return f.addEventToQueue(Q,{speed:C}),f}),O(this,"changeDeleteSpeed",function(C){if(!C)throw new Error("Must provide new delete speed");return f.addEventToQueue(ce,{speed:C}),f}),O(this,"changeDelay",function(C){if(!C)throw new Error("Must provide new delay");return f.addEventToQueue(se,{delay:C}),f}),O(this,"changeCursor",function(C){if(!C)throw new Error("Must provide new cursor");return f.addEventToQueue(be,{cursor:C}),f}),O(this,"deleteChars",function(C){if(!C)throw new Error("Must provide amount of characters to delete");for(var F=0;F1&&arguments[1]!==void 0?arguments[1]:null;if(!C||!Array.isArray(C))throw new Error("Characters must be an array");return C.forEach(function(le){f.addEventToQueue(T,{character:le,node:F})}),f}),O(this,"removeCharacters",function(C){if(!C||!Array.isArray(C))throw new Error("Characters must be an array");return C.forEach(function(){f.addEventToQueue(I)}),f}),O(this,"addEventToQueue",function(C,F){var le=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return f.addEventToStateProperty(C,F,le,"eventQueue")}),O(this,"addReverseCalledEvent",function(C,F){var le=arguments.length>2&&arguments[2]!==void 0&&arguments[2];return f.options.loop?f.addEventToStateProperty(C,F,le,"reverseCalledEvents"):f}),O(this,"addEventToStateProperty",function(C,F){var le=arguments.length>2&&arguments[2]!==void 0&&arguments[2],oe=arguments.length>3?arguments[3]:void 0,W={eventName:C,eventArgs:F||{}};return f.state[oe]=le?[W].concat(me(f.state[oe])):[].concat(me(f.state[oe]),[W]),f}),O(this,"runEventLoop",function(){f.state.lastFrameTime||(f.state.lastFrameTime=Date.now());var C=Date.now(),F=C-f.state.lastFrameTime;if(!f.state.eventQueue.length){if(!f.options.loop)return;f.state.eventQueue=me(f.state.calledEvents),f.state.calledEvents=[],f.options=Z({},f.state.initialOptions)}if(f.state.eventLoop=p()(f.runEventLoop),!f.state.eventLoopPaused){if(f.state.pauseUntil){if(C({typewriter:null,sourceWriter:null,currentQuote:xt,hasClicked:!1}),mounted(){this.initTypewriters()},methods:{initTypewriters(){this.typewriter=new yt(this.$refs.typewriter,St.main),this.sourceWriter=new yt(this.$refs.sourceWriter,St.source),this.typeQuote(xt)},typeQuote(s){this.typewriter.deleteAll(30).typeString(s.text).start(),s.author&&this.sourceWriter.deleteAll(20).typeString(s.author).start()},async handleClick(){this.hasClicked||(this.hasClicked=!0),await this.copyToClipboard(),this.currentQuote=this.getRandomQuote(),this.typeQuote(this.currentQuote)},getRandomQuote(){return kt.quotes[Math.floor(Math.random()*kt.quotes.length)]},async copyToClipboard(){if(!this.currentQuote)return;const{text:s,author:e,contributor:a,link:d}=this.currentQuote,i=[s,e&&`作者:${e}`,a&&`贡献者:${a}`,(d||a)&&`来源:${d||`https://github.com/${a}`}`].filter(Boolean);try{await navigator.clipboard.writeText(i.join(` -`))}catch(l){console.error("复制失败:",l)}}},beforeUnmount(){[this.typewriter,this.sourceWriter].forEach(s=>s==null?void 0:s.stop())}},Gn={ref:"typewriter",class:"typewriter-text"},Wn={ref:"sourceWriter",class:"source-text"};function Yn(s,e,a,d,i,l){const r=ee;return c(),g(r,{border:"",icon:"mdi-thought-bubble",title:"回声洞",onClick:l.handleClick},{default:n(()=>[t(j,null,{default:n(()=>[m("div",Gn,null,512),m("div",Wn,null,512)]),_:1}),t(hn,{name:"fade"},{default:n(()=>{var p;return[(p=s.currentQuote)!=null&&p.contributor?(c(),g(X,{key:0,class:"contributor"},{default:n(()=>[t(Ge,{start:""},{default:n(()=>[t(_t,{src:`https://github.com/${s.currentQuote.contributor}.png`},null,8,["src"])]),_:1}),o(" "+w(s.currentQuote.contributor),1)]),_:1})):k("",!0)]}),_:1})]),_:1},8,["onClick"])}const Mt=Y(Hn,[["render",Yn],["__scopeId","data-v-a6a55e27"]]),qn={name:"SettingItem",props:{settingKey:{type:String,required:!0},icon:{type:String,default:null},disabled:{type:Boolean,default:!1},title:{type:String,default:null},description:{type:String,default:null}},data(){return{localValue:null,definition:null,type:null,selectOptions:[],hasOptions:!1,minValue:0,maxValue:100,stepValue:1,showSnackbar:!1,snackbarText:"",fontFamilies:[{title:"Arial",value:"Arial, sans-serif"},{title:"Calibri",value:"Calibri, sans-serif"},{title:"Cambria",value:"Cambria, serif"},{title:"Consolas",value:"Consolas, monospace"},{title:"Courier New",value:"Courier New, monospace"},{title:"Georgia",value:"Georgia, serif"},{title:"Helvetica",value:"Helvetica, sans-serif"},{title:"Segoe UI",value:"Segoe UI, sans-serif"},{title:"Times New Roman",value:"Times New Roman, serif"},{title:"Trebuchet MS",value:"Trebuchet MS, sans-serif"},{title:"Verdana",value:"Verdana, sans-serif"},{title:"Monospace",value:"monospace"},{title:"Sans-serif",value:"sans-serif"},{title:"Serif",value:"serif"}],displayValueMappings:{"display.emptySubjectDisplay":{card:"卡片",button:"按钮"},"theme.mode":{light:"浅色",dark:"深色"},"server.provider":{classworkscloud:"Classworks云端存储","kv-local":"KV本地存储","kv-server":"KV远程服务器"}},defaultIcons:{boolean:"mdi-toggle-switch-outline",number:"mdi-numeric",string:"mdi-form-textbox"}}},computed:{displayTitle(){if(this.title)return this.title;if(this.definition&&this.definition.description)return this.definition.description;const s=this.settingKey.split(".");return s[s.length-1]},displayDescription(){return this.description?this.description:this.settingKey},isFontFamily(){return this.settingKey.toLowerCase().includes("fontfamily")||this.settingKey.toLowerCase().includes("font.family")},isDefaultValue(){return this.definition?typeof this.localValue=="object"&&this.localValue!==null?JSON.stringify(this.localValue)===JSON.stringify(this.definition.default):this.localValue===this.definition.default:!0},settingIcon(){return this.icon?this.icon:this.definition&&this.definition.icon?this.definition.icon:this.defaultIcons[this.type]||"mdi-cog-outline"}},created(){this.loadSetting()},methods:{loadSetting(){if(this.definition=gn(this.settingKey),!this.definition){console.error(`未找到设置项定义: ${this.settingKey}`);return}if(this.type=this.definition.type,this.localValue=_(this.settingKey),this.type==="string"){if(this.isFontFamily)this.selectOptions=this.fontFamilies,this.hasOptions=!0;else if(this.settingKey in this.displayValueMappings){const s=this.displayValueMappings[this.settingKey];this.selectOptions=Object.entries(s).map(([e,a])=>({title:a,value:e})),this.hasOptions=!0}else if(this.definition.validate){const e=this.definition.validate.toString().match(/\[(.*?)\]/);if(e){const d=e[1].split(",").map(i=>{const l=i.trim().replace(/['"]/g,"");return{title:this.getDisplayValue(l)||l,value:l}});d.length>0&&(this.selectOptions=d,this.hasOptions=!0)}}}if(this.type==="number"&&this.definition.validate){const s=this.definition.validate.toString(),e=s.match(/value\s*>=\s*(\d+)/);e&&(this.minValue=Number(e[1]));const a=s.match(/value\s*<=\s*(\d+)/);a&&(this.maxValue=Number(a[1]));const d=this.maxValue-this.minValue;d>100?this.stepValue=10:d>20?this.stepValue=5:d>10?this.stepValue=2:this.stepValue=1}},getDisplayValue(s){return this.settingKey in this.displayValueMappings&&this.displayValueMappings[this.settingKey][s]||s},updateSetting(s){let e=s;this.type==="boolean"?e=!!s:this.type==="number"&&(e=Number(s),ethis.maxValue&&(e=this.maxValue)),xe(this.settingKey,e)?this.$emit("update",this.settingKey,e):(this.localValue=_(this.settingKey),this.$emit("error",this.settingKey))},adjustValue(s){if(this.type!=="number")return;const e=this.localValue+s;e>=this.minValue&&e<=this.maxValue&&(this.localValue=e,this.updateSetting(e))},copySettingId(){navigator.clipboard.writeText(this.settingKey).then(()=>{this.showSnackbarMessage("设置ID已复制到剪贴板")}).catch(s=>{console.error("复制失败:",s)})},copySettingValue(){let s="";typeof this.localValue=="object"&&this.localValue!==null?s=JSON.stringify(this.localValue):s=String(this.localValue),navigator.clipboard.writeText(s).then(()=>{this.showSnackbarMessage("设置值已复制到剪贴板")}).catch(e=>{console.error("复制失败:",e)})},resetToDefault(){this.definition&&(Vt(this.settingKey),this.localValue=_(this.settingKey),this.showSnackbarMessage("已重置为默认值"),this.$emit("update",this.settingKey,this.localValue))},showSnackbarMessage(s){this.snackbarText=s,this.showSnackbar=!0}}},Zn={class:"text-caption text-grey-darken-1"},Xn={class:"d-flex flex-column flex-sm-row align-center"},$n={key:0,class:"me-2"},es={key:2,class:"d-flex align-center"},ts={key:0,class:"px-4 pb-2 pt-0"};function ns(s,e,a,d,i,l){return c(),x(ne,null,[t(A,{disabled:a.disabled,class:"setting-item"},{prepend:n(()=>[t(v,{icon:l.settingIcon},null,8,["icon"])]),append:n(()=>[m("div",Xn,[i.type!=="string"||i.hasOptions?(c(),x("div",$n,[i.type==="boolean"?(c(),g(Tt,{key:0,modelValue:i.localValue,"onUpdate:modelValue":[e[0]||(e[0]=r=>i.localValue=r),l.updateSetting],disabled:a.disabled,density:"comfortable","hide-details":""},null,8,["modelValue","disabled","onUpdate:modelValue"])):i.type==="string"&&i.hasOptions?(c(),g(Je,{key:1,modelValue:i.localValue,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.localValue=r),l.updateSetting],disabled:a.disabled,items:i.selectOptions,"bg-color":"surface",class:"setting-select",density:"compact","hide-details":"","item-title":"title","item-value":"value",variant:"outlined"},null,8,["modelValue","disabled","items","onUpdate:modelValue"])):i.type==="number"?(c(),x("div",es,[t(h,{disabled:a.disabled||i.localValue<=i.minValue,icon:"mdi-minus",size:"small",variant:"text",onClick:e[2]||(e[2]=r=>l.adjustValue(-i.stepValue))},null,8,["disabled"]),t(R,{modelValue:i.localValue,"onUpdate:modelValue":[e[3]||(e[3]=r=>i.localValue=r),l.updateSetting],modelModifiers:{number:!0},disabled:a.disabled,max:i.maxValue,min:i.minValue,step:i.stepValue,"bg-color":"surface",class:"mx-2 setting-number-field",density:"compact","hide-details":"",style:{width:"80px"},type:"number",variant:"outlined"},null,8,["modelValue","disabled","max","min","step","onUpdate:modelValue"]),t(h,{disabled:a.disabled||i.localValue>=i.maxValue,icon:"mdi-plus",size:"small",variant:"text",onClick:e[4]||(e[4]=r=>l.adjustValue(i.stepValue))},null,8,["disabled"])])):k("",!0)])):k("",!0),t(It,{location:"bottom"},{activator:n(({props:r})=>[t(h,je({disabled:a.disabled,class:"ml-2",icon:"mdi-dots-vertical",size:"small"},r,{variant:"text"}),null,16,["disabled"])]),default:n(()=>[t(J,{density:"compact"},{default:n(()=>[t(A,{onClick:l.copySettingId},{prepend:n(()=>[t(v,{icon:"mdi-key",size:"small"})]),default:n(()=>[t(L,null,{default:n(()=>[...e[7]||(e[7]=[o("复制设置ID",-1)])]),_:1})]),_:1},8,["onClick"]),t(A,{onClick:l.copySettingValue},{prepend:n(()=>[t(v,{icon:"mdi-content-copy",size:"small"})]),default:n(()=>[t(L,null,{default:n(()=>[...e[8]||(e[8]=[o("复制设置值",-1)])]),_:1})]),_:1},8,["onClick"]),t(M),t(A,{disabled:l.isDefaultValue,onClick:l.resetToDefault},{prepend:n(()=>[t(v,{icon:"mdi-restore",size:"small"})]),default:n(()=>[t(L,null,{default:n(()=>[...e[9]||(e[9]=[o("重置为默认值",-1)])]),_:1})]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})])]),default:n(()=>[t(L,{class:"text-wrap"},{default:n(()=>[o(w(l.displayTitle),1)]),_:1}),t(ie,{class:"d-flex align-center text-wrap"},{default:n(()=>[m("span",Zn,w(a.settingKey),1)]),_:1})]),_:1},8,["disabled"]),i.type==="string"&&!i.hasOptions?(c(),x("div",ts,[t(R,{modelValue:i.localValue,"onUpdate:modelValue":[e[5]||(e[5]=r=>i.localValue=r),l.updateSetting],disabled:a.disabled,"bg-color":"surface",class:"setting-text-field mt-1",density:"compact","hide-details":"",variant:"outlined"},null,8,["modelValue","disabled","onUpdate:modelValue"])])):k("",!0),t(tt,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=r=>i.showSnackbar=r),timeout:2e3,color:"success",location:"top"},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue"])],64)}const _e=Y(qn,[["render",ns],["__scopeId","data-v-08b49b47"]]),ss={name:"SettingsExplorer",components:{SettingItem:_e},data(){return{searchQuery:"",currentSettings:{},unwatchFunction:null}},computed:{isDeveloperMode(){return _("developer.enabled")},allSettings(){var e;const s=[];for(const[a,d]of Object.entries(et))this.searchQuery&&!a.toLowerCase().includes(this.searchQuery.toLowerCase())&&!((e=d.description)!=null&&e.toLowerCase().includes(this.searchQuery.toLowerCase()))||s.push({key:a,...d});return s},formattedSettings(){return JSON.stringify(this.currentSettings,null,2)}},created(){this.updateCurrentSettings(),this.unwatchFunction=nt(()=>{this.updateCurrentSettings()})},beforeUnmount(){this.unwatchFunction&&this.unwatchFunction()},methods:{updateCurrentSettings(){this.currentSettings=Be()},onSettingUpdate(s,e){this.$emit("update",s,e),this.updateCurrentSettings()},onSettingError(s){this.$emit("error",s)},copySettingsToClipboard(){navigator.clipboard.writeText(JSON.stringify(this.currentSettings)).then(()=>{this.$emit("message",{type:"success",text:"设置已复制到剪贴板"})}).catch(s=>{console.error("复制到剪贴板失败:",s),this.$emit("message",{type:"error",text:"复制到剪贴板失败"})})}}},is={class:"settings-explorer"},ls={class:"settings-json"};function os(s,e,a,d,i,l){const r=_e;return c(),x("div",is,[m("div",null,[t(R,{modelValue:i.searchQuery,"onUpdate:modelValue":e[0]||(e[0]=p=>i.searchQuery=p),class:"mb-4",clearable:"",density:"comfortable",label:"搜索设置","prepend-inner-icon":"mdi-magnify",variant:"outlined"},null,8,["modelValue"]),t(J,null,{default:n(()=>[(c(!0),x(ne,null,ue(l.allSettings,p=>(c(),x("div",{key:p.key},[(c(),g(r,{key:p.key,disabled:p.requireDeveloper&&!l.isDeveloperMode,"setting-key":p.key,onError:l.onSettingError,onUpdate:l.onSettingUpdate},null,8,["disabled","setting-key","onError","onUpdate"])),t(M,{class:"my-2"})]))),128))]),_:1}),t(E,{border:""},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[...e[1]||(e[1]=[o("当前配置",-1)])]),_:1}),t(j,null,{default:n(()=>[m("pre",ls,w(l.formattedSettings),1)]),_:1}),t(re,null,{default:n(()=>[t(te),t(h,{onClick:l.copySettingsToClipboard},{default:n(()=>[e[3]||(e[3]=o(" 复制到剪贴板 ",-1)),t(v,{right:""},{default:n(()=>[...e[2]||(e[2]=[o("mdi-content-copy",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1})]),_:1})])])}const Pt=Y(ss,[["render",os],["__scopeId","data-v-4d032f99"]]),as={name:"SettingGroup",props:{title:{type:String,default:null},description:{type:String,default:null},icon:{type:String,default:null},border:{type:Boolean,default:!1}},methods:{onSettingUpdate(s,e){this.$emit("update",s,e)},onSettingError(s){this.$emit("error",s)}}};function rs(s,e,a,d,i,l){return c(),g(E,{border:a.border,class:"setting-group"},{default:n(()=>[a.title?(c(),g(K,{key:0,class:"d-flex align-center"},{default:n(()=>[a.icon?(c(),g(v,{key:0,icon:a.icon,class:"mr-2"},null,8,["icon"])):k("",!0),o(" "+w(a.title),1)]),_:1})):k("",!0),a.description?(c(),g(Le,{key:1},{default:n(()=>[o(w(a.description),1)]),_:1})):k("",!0),t(j,null,{default:n(()=>[t(J,null,{default:n(()=>[Ke(s.$slots,"default",{},void 0,!0)]),_:3})]),_:3}),s.$slots.actions?(c(),g(re,{key:2},{default:n(()=>[Ke(s.$slots,"actions",{},void 0,!0)]),_:3})):k("",!0)]),_:3},8,["border"])}const We=Y(as,[["render",rs],["__scopeId","data-v-9af32ae4"]]),us={subjects:{语文:{books:{课本:["第一单元","第二单元"],练习册:["第一章","第二章"]}},数学:{books:{课本:["第一章","第二章"],习题册:["基础练习","提高练习"]}},英语:{books:{课本:["Unit 1","Unit 2"],练习册:["Chapter 1","Chapter 2"]}}},commonSubject:{books:{试卷:["单元测试","期中测试","期末测试"],假期作业:["必做题","选做题"]}},actions:["写完","下一课","不交","明天交"]},ds={name:"HomeworkTemplateCard",components:{SettingsCard:ee,SettingGroup:We},data(){return{loading:!1,error:null,config:wn(JSON.parse(JSON.stringify(us))),originalConfig:null,newSubject:"",newCommonBook:"",newAction:"",newTask:"",editedSubjects:{},editedBookTypes:{},newBookTypes:{},newBooks:{},showSnackbar:!1,snackbarText:"",snackbarColor:"success",isNewConfig:!0,dialog:{show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",bookType:"",originalName:"",tasks:[]}}}},computed:{subjectList(){return Object.keys(this.config.subjects)},hasChanges(){return this.isNewConfig?!0:this.originalConfig&&JSON.stringify(this.config)!==JSON.stringify(this.originalConfig)}},created(){this.loadConfig()},methods:{async loadConfig(){var s,e;this.loading=!0;try{const a=await ae.loadData("classworks-config-homework-template");if(a){const d=a;Object.assign(this.config,d),this.originalConfig=JSON.parse(JSON.stringify(d)),this.isNewConfig=!1,this.showMessage("配置已加载","success")}else if(((s=a.error)==null?void 0:s.code)==="NOT_FOUND")this.showMessage("使用默认配置","info"),this.isNewConfig=!0;else{const d=((e=a.error)==null?void 0:e.message)||"加载失败";this.showMessage(`加载失败: ${d},可继续编辑当前配置`,"warning")}}catch(a){console.error("Failed to load config:",a),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const s=await ae.saveData("classworks-config-homework-template",this.config);if(s)this.originalConfig=JSON.parse(JSON.stringify(this.config)),this.isNewConfig=!1,this.showMessage("配置已保存","success");else throw new Error(s||"保存失败")}catch(s){console.error("Failed to save config:",s),this.showMessage(`保存失败: ${s.message},请稍后重试`,"error")}this.loading=!1},showMessage(s,e="success"){this.snackbarText=s,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){this.newSubject&&(this.config.subjects[this.newSubject]||(this.config.subjects[this.newSubject]={books:{}}),this.newSubject="")},updateSubject(s){const e=this.editedSubjects[s];if(e&&e!==s){const a=this.config.subjects[s];this.config.subjects[e]=a,delete this.config.subjects[s]}delete this.editedSubjects[s]},deleteSubject(s){delete this.config.subjects[s]},addBookType(s){const e=this.newBookTypes[s];e&&(this.config.subjects[s].books[e]||(this.config.subjects[s].books[e]=[]),this.newBookTypes[s]="")},updateBookType(s,e){const a=`${s}-${e}`,d=this.editedBookTypes[a];if(d&&d!==e){const i=this.config.subjects[s].books[e];this.config.subjects[s].books[d]=i,delete this.config.subjects[s].books[e]}delete this.editedBookTypes[a]},deleteBookType(s,e){s==="common"?delete this.config.commonSubject.books[e]:delete this.config.subjects[s].books[e]},addBook(s,e){const a=`${s}-${e}`,d=this.newBooks[a];d&&(this.config.subjects[s].books[e].includes(d)||this.config.subjects[s].books[e].push(d),this.newBooks[a]="")},removeBook(s,e,a){const d=this.config.subjects[s].books[e],i=d.indexOf(a);i>-1&&d.splice(i,1)},addCommonBook(){this.newCommonBook&&(this.config.commonSubject.books[this.newCommonBook]||(this.config.commonSubject.books[this.newCommonBook]=[]),this.newCommonBook="")},removeCommonBook(s){delete this.config.commonSubject.books[s]},addAction(){this.newAction&&(this.config.actions.includes(this.newAction)||this.config.actions.push(this.newAction),this.newAction="")},removeAction(s){const e=this.config.actions.indexOf(s);e>-1&&this.config.actions.splice(e,1)},openBookDialog(s,e,a){this.dialog.show=!0,this.dialog.title="编辑需完成部分",this.dialog.nameLabel="部分名称",this.dialog.editedItem={name:a,type:"book",subject:s,bookType:e,originalName:a,tasks:this.config.subjects[s].books[e]}},openCommonBookDialog(s){this.dialog.show=!0,this.dialog.title="编辑通用作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:s,type:"commonBook",originalName:s,tasks:Array.isArray(this.config.commonSubject.books[s])?[...this.config.commonSubject.books[s]]:[]}},openActionDialog(s){this.dialog={show:!0,title:"编辑操作",nameLabel:"操作名称",editedItem:{name:s,type:"action",originalName:s,tasks:[]}}},addTask(){this.newTask&&(this.dialog.editedItem.tasks||(this.dialog.editedItem.tasks=[]),this.dialog.editedItem.tasks.push(this.newTask),this.newTask="")},removeTask(s){this.dialog.editedItem.tasks.splice(s,1)},openSubjectBookDialog(s,e,a){this.dialog.show=!0,this.dialog.title=s==="common"?"编辑通用作业本":"编辑作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:e,type:"subjectBook",subject:s,originalName:e,tasks:Array.isArray(a)?[...a]:[]}},saveDialog(){const{type:s,name:e,subject:a,originalName:d,tasks:i}=this.dialog.editedItem;if(!e){this.showMessage("名称不能为空","error");return}let l;const r=a==="common"?this.config.commonSubject.books:a?this.config.subjects[a].books:null;switch(s){case"subjectBook":r&&(d!==e?(r[e]=i||[],delete r[d]):r[e]=i||[]);break;case"action":l=this.config.actions.indexOf(d),l>-1&&(this.config.actions[l]=e);break}this.closeDialog()},closeDialog(){this.dialog={show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",originalName:"",tasks:[]}},this.newTask=""}}},cs={class:"d-flex justify-space-between align-center mb-6"};function ms(s,e,a,d,i,l){const r=We,p=ee;return c(),g(p,{loading:i.loading,border:"",icon:"mdi-book-edit",title:"作业模板配置"},{default:n(()=>[i.error?(c(),g($,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):k("",!0),m("div",cs,[m("div",null,[t(h,{loading:i.loading,class:"mr-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",onClick:l.loadConfig},{default:n(()=>[...e[7]||(e[7]=[o(" 重新加载配置 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{loading:i.loading,color:"success","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveConfig},{default:n(()=>[...e[8]||(e[8]=[o(" 保存所有更改 ",-1)])]),_:1},8,["loading","onClick"])]),l.hasChanges?(c(),g(X,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[9]||(e[9]=[o(" 有未保存的更改 ",-1)])]),_:1})):k("",!0)]),t(de,null,{default:n(()=>[t(z,{cols:"12",md:"6"},{default:n(()=>[t(r,{border:"",icon:"mdi-book",title:"科目配置"},{default:n(()=>[t(J,null,{default:n(()=>[t(A,null,{default:n(()=>[t(R,{modelValue:i.newSubject,"onUpdate:modelValue":e[0]||(e[0]=u=>i.newSubject=u),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加新科目",variant:"outlined","onClick:appendInner":l.addSubject,onKeyup:Ve(l.addSubject,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),(c(!0),x(ne,null,ue(l.subjectList,u=>(c(),g(A,{key:u},{default:n(()=>[t(E,{border:"",class:"w-100 mb-2"},{default:n(()=>[t(K,{class:"d-flex align-center"},{default:n(()=>[t(R,{modelValue:i.editedSubjects[u],"onUpdate:modelValue":y=>i.editedSubjects[u]=y,placeholder:u,density:"comfortable","hide-details":"",variant:"plain",onBlur:y=>l.updateSubject(u)},null,8,["modelValue","onUpdate:modelValue","placeholder","onBlur"]),t(te),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:y=>l.deleteSubject(u)},null,8,["onClick"])]),_:2},1024),t(j,null,{default:n(()=>[t(R,{modelValue:i.newBookTypes[u],"onUpdate:modelValue":y=>i.newBookTypes[u]=y,"append-inner-icon":"mdi-plus",class:"mb-2",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":()=>l.addBookType(u),onKeyup:Ve(()=>l.addBookType(u),["enter"])},null,8,["modelValue","onUpdate:modelValue","onClick:appendInner","onKeyup"]),t(J,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),x(ne,null,ue(i.config.subjects[u].books,(y,T)=>(c(),g(A,{key:T,title:T,onClick:I=>l.openSubjectBookDialog(u,T,y)},{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-book-open-variant"})]),append:n(()=>[t(X,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(y.length)+"个部分 ",1)]),_:2},1024),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:Ae(()=>l.deleteBookType(u,T),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(z,{cols:"12",md:"6"},{default:n(()=>[t(r,{border:"",icon:"mdi-cog",title:"通用配置"},{default:n(()=>[t(J,null,{default:n(()=>[t(A,null,{default:n(()=>[t(R,{modelValue:i.newCommonBook,"onUpdate:modelValue":e[1]||(e[1]=u=>i.newCommonBook=u),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":l.addCommonBook,onKeyup:Ve(l.addCommonBook,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(A,null,{default:n(()=>[t(J,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),x(ne,null,ue(i.config.commonSubject.books,(u,y)=>(c(),g(A,{key:y,title:y,onClick:T=>l.openSubjectBookDialog("common",y,u)},{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-book-multiple"})]),append:n(()=>[t(X,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(u.length)+"个部分 ",1)]),_:2},1024),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:Ae(()=>l.deleteBookType("common",y),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1}),t(M,{class:"my-2"}),t(A,null,{default:n(()=>[t(R,{modelValue:i.newAction,"onUpdate:modelValue":e[2]||(e[2]=u=>i.newAction=u),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加操作",variant:"outlined","onClick:appendInner":l.addAction,onKeyup:Ve(l.addAction,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(A,null,{default:n(()=>[t(J,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),x(ne,null,ue(i.config.actions,u=>(c(),g(A,{key:u,title:u,onClick:y=>l.openActionDialog(u)},{append:n(()=>[t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:Ae(y=>l.removeAction(u),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(we,{modelValue:i.dialog.show,"onUpdate:modelValue":e[5]||(e[5]=u=>i.dialog.show=u),"max-width":"600px"},{default:n(()=>[t(E,null,{default:n(()=>[t(K,{class:"text-h5 pa-4"},{default:n(()=>[o(w(i.dialog.title),1)]),_:1}),t(j,null,{default:n(()=>[t(st,null,{default:n(()=>[t(de,null,{default:n(()=>[t(z,{cols:"12"},{default:n(()=>[t(R,{modelValue:i.dialog.editedItem.name,"onUpdate:modelValue":e[3]||(e[3]=u=>i.dialog.editedItem.name=u),label:i.dialog.nameLabel,rules:[u=>!!u||"名称不能为空"],density:"comfortable",variant:"outlined"},null,8,["modelValue","label","rules"])]),_:1}),i.dialog.editedItem.type==="subjectBook"?(c(),g(z,{key:0,cols:"12"},{default:n(()=>[e[10]||(e[10]=m("div",{class:"text-subtitle-2 mb-2"},"所属科目",-1)),t(X,{color:"primary"},{default:n(()=>[o(w(i.dialog.editedItem.subject),1)]),_:1})]),_:1})):k("",!0),["subjectBook","commonBook"].includes(i.dialog.editedItem.type)?(c(),g(z,{key:1,cols:"12"},{default:n(()=>[t(E,{variant:"outlined"},{default:n(()=>[t(K,{class:"text-subtitle-1 py-2"},{default:n(()=>[...e[11]||(e[11]=[o("需完成部分",-1)])]),_:1}),t(j,{class:"pt-0"},{default:n(()=>[t(J,{border:"",class:"mb-2",density:"compact",rounded:""},{default:n(()=>[(c(!0),x(ne,null,ue(i.dialog.editedItem.tasks,(u,y)=>(c(),g(A,{key:y},{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-checkbox-blank-circle-outline",size:"small"})]),append:n(()=>[t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:T=>l.removeTask(y)},null,8,["onClick"])]),default:n(()=>[t(R,{modelValue:i.dialog.editedItem.tasks[y],"onUpdate:modelValue":T=>i.dialog.editedItem.tasks[y]=T,density:"compact","hide-details":"",variant:"plain"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128))]),_:1}),t(R,{modelValue:i.newTask,"onUpdate:modelValue":e[4]||(e[4]=u=>i.newTask=u),"append-inner-icon":"mdi-plus",class:"mt-2",density:"comfortable",label:"添加需完成部分",variant:"outlined","onClick:appendInner":l.addTask,onKeyup:Ve(l.addTask,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1})]),_:1})]),_:1})):k("",!0)]),_:1})]),_:1})]),_:1}),t(re,{class:"pa-4"},{default:n(()=>[t(te),t(h,{color:"primary",variant:"elevated",onClick:l.saveDialog},{default:n(()=>[...e[12]||(e[12]=[o(" 关闭 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"error",variant:"text",onClick:l.closeDialog},{default:n(()=>[...e[13]||(e[13]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(tt,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=u=>i.showSnackbar=u),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Bt=Y(ds,[["render",ms],["__scopeId","data-v-67769fa2"]]),fs={name:"SubjectManagementCard",components:{SettingsCard:ee},data(){return{loading:!1,error:null,subjects:[],originalSubjects:null,newSubjectName:"",showSnackbar:!1,snackbarText:"",snackbarColor:"success",defaultSubjects:[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}]}},computed:{hasChanges(){return this.originalSubjects&&JSON.stringify(this.subjects)!==JSON.stringify(this.originalSubjects)}},created(){this.loadConfig()},methods:{async loadConfig(){this.loading=!0;try{const s=await ae.loadData("classworks-config-subject");s?(this.subjects=s.map((e,a)=>({name:e.name,order:e.order??a})).sort((e,a)=>e.order-a.order),this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已加载","success")):(this.subjects=[],this.originalSubjects=[],this.showMessage("使用默认配置","info"))}catch(s){console.error("Failed to load config:",s),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const s=await ae.saveData("classworks-config-subject",this.subjects);if(s)this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已保存","success");else throw new Error(s||"保存失败")}catch(s){console.error("Failed to save config:",s),this.showMessage(`保存失败: ${s.message},请稍后重试`,"error")}this.loading=!1},showMessage(s,e="success"){this.snackbarText=s,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){if(!this.newSubjectName)return;const s={name:this.newSubjectName,order:this.subjects.length};this.subjects.push(s),this.newSubjectName=""},updateSubject(s){const e=this.subjects.findIndex(a=>a.order===s.order);e>-1&&(this.subjects[e]={...s})},deleteSubject(s){const e=this.subjects.findIndex(a=>a.order===s.order);e>-1&&(this.subjects.splice(e,1),this.subjects.forEach((a,d)=>{a.order=d}))},moveSubject(s,e){const a=s+e;if(a>=0&&a{i.order=l})}},resetToDefault(){this.subjects=JSON.parse(JSON.stringify(this.defaultSubjects)),this.showMessage("已重置为默认科目列表","info")}}},ps={class:"d-flex justify-space-between align-center mb-6"},hs={class:"d-flex flex-column align-center mr-2"};function gs(s,e,a,d,i,l){const r=ee;return c(),g(r,{loading:i.loading,border:"",icon:"mdi-book-multiple",title:"科目管理"},{default:n(()=>[i.error?(c(),g($,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):k("",!0),m("div",ps,[m("div",null,[t(h,{loading:i.loading,class:"mr-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",variant:"text",onClick:l.loadConfig},{default:n(()=>[...e[2]||(e[2]=[o(" 重新加载 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{loading:i.loading,color:"success","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveConfig},{default:n(()=>[...e[3]||(e[3]=[o(" 保存 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{loading:i.loading,class:"mr-2","prepend-icon":"mdi-restore",variant:"text",onClick:l.resetToDefault},{default:n(()=>[...e[4]||(e[4]=[o(" 重置为默认 ",-1)])]),_:1},8,["loading","onClick"])]),l.hasChanges?(c(),g(X,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[5]||(e[5]=[o(" 有未保存的更改 ",-1)])]),_:1})):k("",!0)]),t(E,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(j,null,{default:n(()=>[t(de,null,{default:n(()=>[t(z,{cols:"12",sm:"6"},{default:n(()=>[t(R,{modelValue:i.newSubjectName,"onUpdate:modelValue":e[0]||(e[0]=p=>i.newSubjectName=p),rules:[p=>!!p||"科目名称不能为空"],"append-inner-icon":"mdi-plus",density:"comfortable",label:"科目名称",variant:"outlined",onKeyup:Ve(l.addSubject,["enter"]),"onClick:appendInner":l.addSubject},null,8,["modelValue","rules","onKeyup","onClick:appendInner"])]),_:1})]),_:1})]),_:1})]),_:1}),t(E,{variant:"outlined"},{default:n(()=>[t(j,{class:"pa-0"},{default:n(()=>[t(J,{lines:"one"},{default:n(()=>[(c(!0),x(ne,null,ue(i.subjects,(p,u)=>(c(),g(A,{key:p.order},{prepend:n(()=>[m("div",hs,[t(h,{disabled:u===0,icon:"mdi-chevron-up",size:"small",variant:"text",onClick:y=>l.moveSubject(u,-1)},null,8,["disabled","onClick"]),t(h,{disabled:u===i.subjects.length-1,icon:"mdi-chevron-down",size:"small",variant:"text",onClick:y=>l.moveSubject(u,1)},null,8,["disabled","onClick"])])]),append:n(()=>[t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:y=>l.deleteSubject(p)},null,8,["onClick"])]),default:n(()=>[t(L,null,{default:n(()=>[t(R,{modelValue:p.name,"onUpdate:modelValue":y=>p.name=y,density:"compact","hide-details":"",variant:"plain",onBlur:y=>l.updateSubject(p)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(tt,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[1]||(e[1]=p=>i.showSnackbar=p),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Lt=Y(fs,[["render",gs],["__scopeId","data-v-f87674cf"]]),ws={};function vs(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(J,null,{default:n(()=>[t(r,{"setting-key":"randomPicker.enabled"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.mode"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.minNumber"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.maxNumber"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.defaultCount"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.animation"})]),_:1})]),_:1})}const zt=Y(ws,[["render",vs]]),bs={name:"HitokotoSettings",components:{SettingGroup:We,SettingItem:_e},data(){return{kvConfig:{sources:["zhaoyu"],sensitiveWords:"",jinrishiciToken:null},loading:!1,testLoading:!1,testMessage:"",testColor:"info",testResultDialog:!1,testResultData:null,enableCloudSensitiveWords:!0}},mounted(){this.loadKvSettings()},methods:{async loadKvSettings(){this.loading=!0;try{const s=await ae.loadData("sentence-info");let e=s;s&&s.data&&(e=s.data),e&&(this.kvConfig={sources:Array.isArray(e.sources)?e.sources:["zhaoyu"],sensitiveWords:e.sensitiveWords||"",jinrishiciToken:e.jinrishiciToken})}catch(s){console.error("Failed to load sentence-info",s)}finally{this.loading=!1}},async saveKvSettings(){this.loading=!0;try{if(this.kvConfig.sources.includes("jinrishici")&&!this.kvConfig.jinrishiciToken)try{const s=await Qe.get("https://v2.jinrishici.com/token");s.data.status==="success"&&(this.kvConfig.jinrishiciToken=s.data.data)}catch(s){console.error("Failed to get jinrishici token",s)}await ae.saveData("sentence-info",this.kvConfig)}catch(s){console.error("Failed to save sentence-info",s)}finally{this.loading=!1}},async testJinrishici(){var s,e;this.testLoading=!0,this.testMessage="",this.testColor="info";try{const a={};this.kvConfig.jinrishiciToken&&(a["X-User-Token"]=this.kvConfig.jinrishiciToken);const d=await Qe.get("https://v2.jinrishici.com/info?X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken));if(d.data&&d.data.status==="success"){this.testResultData=d.data,this.testResultDialog=!0;const i=(s=d.data.data)==null?void 0:s.token,l=(e=d.data.data)==null?void 0:e.region,r=this.kvConfig.jinrishiciToken?i===this.kvConfig.jinrishiciToken:!0;this.testColor=r?"success":"warning",this.testMessage=r?`接口正常,Token 一致:${i}${l?`,地区:${l}`:""}`:`接口返回 Token 与当前设置不一致:${i}${l?`,地区:${l}`:""}`}else this.testColor="error",this.testMessage="接口返回非 success,请检查网络或 Token 配置。"}catch(a){console.error("Failed to test jinrishici info",a),this.testColor="error",this.testMessage="接口测试失败,请检查网络或 Token。"}finally{this.testLoading=!1}}}},ys={class:"d-flex flex-wrap gap-2"},ks={class:"text-caption text-orange mt-2"},xs={class:"d-flex flex-column flex-sm-row align-center w-100"},Ss={key:2,class:"text-center pb-4"},Cs={class:"d-flex align-center mb-2"},_s={class:"text-body-1 font-weight-medium"},Vs={class:"d-flex align-center mb-2"},Ds={class:"text-body-1 font-weight-medium"},As={class:"d-flex align-center mb-2"},Ts={class:"text-body-1 font-weight-medium"},Is={class:"d-flex align-center mb-2"},js={class:"text-body-2 font-weight-medium"},Es={class:"d-flex align-center mb-2"},Us={class:"text-body-1 font-weight-medium"},Ns={class:"d-flex align-center mb-2"},Ms={class:"text-body-1 font-weight-medium"},Ps={class:"px-4 py-3"},Bs={class:"d-flex flex-wrap gap-2"};function Ls(s,e,a,d,i,l){const r=_e,p=We;return c(),x("div",null,[t(p,{title:"一言设置",icon:"mdi-comment-quote"},{default:n(()=>[t(r,{"setting-key":"hitokoto.enabled"}),t(r,{"setting-key":"hitokoto.refreshInterval"})]),_:1}),t(p,{title:"数据源配置",icon:"mdi-cloud-sync",class:"mt-4"},{default:n(()=>[e[13]||(e[13]=m("div",{class:"text-caption text-grey px-4 pt-2 pb-2"},"以下配置将同步到云端,对所有连接此班级的设备生效。",-1)),t(A,null,{default:n(()=>[t(L,{class:"mb-2"},{default:n(()=>[...e[7]||(e[7]=[o("启用数据源",-1)])]),_:1}),m("div",ys,[t(Ce,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[0]||(e[0]=u=>i.kvConfig.sources=u),l.saveKvSettings],label:"一言 (Hitokoto)",value:"hitokoto","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(Ce,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[1]||(e[1]=u=>i.kvConfig.sources=u),l.saveKvSettings],label:"诏预 (Zhaoyu)",value:"zhaoyu","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(Ce,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[2]||(e[2]=u=>i.kvConfig.sources=u),l.saveKvSettings],label:"今日诗词 (Jinrishici)",value:"jinrishici","hide-details":"",density:"compact",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"])]),m("div",ks,[t(v,{size:"x-small",color:"orange",class:"mr-1"},{default:n(()=>[...e[8]||(e[8]=[o("mdi-alert",-1)])]),_:1}),e[9]||(e[9]=o(" 一言(Hitokoto)数据源已收到关于存在负面内容的大量反馈,请用户谨慎启用。 ",-1))])]),_:1}),i.kvConfig.sources.includes("jinrishici")?(c(),g(A,{key:0},{default:n(()=>[t(R,{modelValue:i.kvConfig.jinrishiciToken,"onUpdate:modelValue":e[3]||(e[3]=u=>i.kvConfig.jinrishiciToken=u),label:"今日诗词 Token",variant:"outlined",density:"comfortable",disabled:i.loading,hint:"留空则自动获取,也可以手动输入已有 Token","persistent-hint":"",class:"mt-2",onChange:l.saveKvSettings},null,8,["modelValue","disabled","onChange"])]),_:1})):k("",!0),i.kvConfig.sources.includes("jinrishici")?(c(),g(A,{key:1},{default:n(()=>[m("div",xs,[t(h,{loading:i.testLoading,color:"primary",variant:"outlined",class:"mr-sm-4 mb-2 mb-sm-0",onClick:l.testJinrishici},{default:n(()=>[...e[10]||(e[10]=[o(" 测试今日诗词接口 ",-1)])]),_:1},8,["loading","onClick"]),i.testMessage?(c(),g($,{key:0,type:i.testColor,density:"comfortable",border:"start",class:"flex-grow-1"},{default:n(()=>[o(w(i.testMessage),1)]),_:1},8,["type"])):k("",!0)])]),_:1})):k("",!0),t(A,null,{default:n(()=>[t(Ie,{modelValue:i.kvConfig.sensitiveWords,"onUpdate:modelValue":e[4]||(e[4]=u=>i.kvConfig.sensitiveWords=u),disabled:i.loading,label:"敏感词过滤 (用逗号分隔)",variant:"outlined",rows:"3","auto-grow":"","hide-details":"",class:"mt-2 mb-2",onChange:l.saveKvSettings},null,8,["modelValue","disabled","onChange"])]),_:1}),t(A,null,{default:n(()=>[t(Ce,{label:"启用云端敏感词列表","hide-details":"",modelValue:i.enableCloudSensitiveWords,"onUpdate:modelValue":e[5]||(e[5]=u=>i.enableCloudSensitiveWords=u),density:"compact",disabled:"",class:"mb-2"},null,8,["modelValue"]),e[11]||(e[11]=m("div",{class:"text-caption text-grey"},[o(" 已启用的数据源将在获取一言时随机尝试,直到成功获取内容为止。"),m("br"),o(" 敏感词过滤会将包含任意敏感词的句子过滤掉,避免显示不当内容。"),m("br")],-1))]),_:1}),i.loading?(c(),x("div",Ss,[t(Dt,{indeterminate:"",size:"24",color:"primary"}),e[12]||(e[12]=m("span",{class:"ml-2 text-caption"},"正在同步配置...",-1))])):k("",!0)]),_:1}),t(we,{modelValue:i.testResultDialog,"onUpdate:modelValue":e[6]||(e[6]=u=>i.testResultDialog=u),"max-width":"600"},{default:n(()=>[i.testResultData?(c(),g(E,{key:0,class:"rounded-lg"},{default:n(()=>[t(j,{class:"pa-0"},{default:n(()=>[t(J,{lines:"two",class:"py-0"},{default:n(()=>[t(A,{class:"px-4 py-3"},{prepend:n(()=>[t(Ge,{color:"primary",variant:"tonal",class:"mr-2"},{default:n(()=>[t(v,{icon:"mdi-key-variant"})]),_:1})]),default:n(()=>[t(L,{class:"text-subtitle-2 font-weight-bold mb-1"},{default:n(()=>[...e[14]||(e[14]=[o("Token",-1)])]),_:1}),t(ie,{class:"text-body-2 text-high-emphasis",style:{"word-break":"break-all"}},{default:n(()=>[o(w(i.testResultData.data.token),1)]),_:1})]),_:1}),t(M),t(de,{"no-gutters":""},{default:n(()=>[t(z,{cols:"6"},{default:n(()=>[t(A,{class:"px-4 py-2"},{prepend:n(()=>[t(v,{icon:"mdi-ip-network",color:"grey-darken-1",class:"mr-2"})]),default:n(()=>[t(L,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[15]||(e[15]=[o("IP 地址",-1)])]),_:1}),t(ie,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.ip),1)]),_:1})]),_:1})]),_:1}),t(z,{cols:"6"},{default:n(()=>[t(A,{class:"px-4 py-2"},{prepend:n(()=>[t(v,{icon:"mdi-map-marker-radius",color:"grey-darken-1",class:"mr-2"})]),default:n(()=>[t(L,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[16]||(e[16]=[o("地区",-1)])]),_:1}),t(ie,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.region),1)]),_:1})]),_:1})]),_:1})]),_:1}),t(M),t(st,{class:"px-4 py-3"},{default:n(()=>[t(de,{dense:""},{default:n(()=>[t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Cs,[t(v,{icon:"mdi-thermometer",color:"orange",class:"mr-2"}),m("div",null,[e[17]||(e[17]=m("div",{class:"text-caption text-grey"},"温度",-1)),m("div",_s,w(i.testResultData.data.weatherData.temperature)+"°C",1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Vs,[t(v,{icon:"mdi-weather-cloudy",color:"blue-grey",class:"mr-2"}),m("div",null,[e[18]||(e[18]=m("div",{class:"text-caption text-grey"},"天气",-1)),m("div",Ds,w(i.testResultData.data.weatherData.weather),1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",As,[t(v,{icon:"mdi-water-percent",color:"blue",class:"mr-2"}),m("div",null,[e[19]||(e[19]=m("div",{class:"text-caption text-grey"},"湿度",-1)),m("div",Ts,w(i.testResultData.data.weatherData.humidity)+"%",1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Is,[t(v,{icon:"mdi-weather-windy",color:"teal",class:"mr-2"}),m("div",null,[e[20]||(e[20]=m("div",{class:"text-caption text-grey"},"风向/风力",-1)),m("div",js,w(i.testResultData.data.weatherData.windDirection)+" "+w(i.testResultData.data.weatherData.windPower)+"级 ",1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Es,[t(v,{icon:"mdi-blur",color:"grey",class:"mr-2"}),m("div",null,[e[21]||(e[21]=m("div",{class:"text-caption text-grey"},"PM2.5",-1)),m("div",Us,w(i.testResultData.data.weatherData.pm25),1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Ns,[t(v,{icon:"mdi-eye",color:"indigo",class:"mr-2"}),m("div",null,[e[22]||(e[22]=m("div",{class:"text-caption text-grey"},"能见度",-1)),m("div",Ms,w(i.testResultData.data.weatherData.visibility),1)])])]),_:1})]),_:1})]),_:1}),t(M),m("div",Ps,[e[23]||(e[23]=m("div",{class:"text-caption text-grey mb-2"},"环境标签",-1)),m("div",Bs,[(c(!0),x(ne,null,ue(i.testResultData.data.tags,u=>(c(),g(X,{key:u,size:"small",color:"primary",variant:"tonal",class:"mr-1 mb-1"},{default:n(()=>[o(w(u),1)]),_:2},1024))),128))])]),t(M),t(A,{class:"px-4 py-2"},{prepend:n(()=>[t(v,{icon:"mdi-clock-outline",size:"small",class:"mr-2"})]),default:n(()=>[t(L,{class:"text-caption text-grey-darken-1"},{default:n(()=>[o(" 北京时间: "+w(new Date(i.testResultData.data.beijingTime).toLocaleString()),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):k("",!0)]),_:1},8,["modelValue"])])}const Ot=Y(bs,[["render",Ls]]),zs={name:"NotificationSoundSettings",data(){return{singleSound:"",urgentSound:"",currentAudio:null,showAutoplayWarning:!0}},computed:{soundOptions(){return fn.map(s=>({title:s.replace(".mp3",""),value:s}))}},mounted(){this.loadSettings()},beforeUnmount(){this.stopPreview()},methods:{loadSettings(){this.singleSound=_("notification.singleSound"),this.urgentSound=_("notification.urgentSound")},onSingleSoundChange(s){var e;xe("notification.singleSound",s),(e=this.$message)==null||e.success("设置已保存",`单次通知铃声: ${s}`)},onUrgentSoundChange(s){var e;xe("notification.urgentSound",s),(e=this.$message)==null||e.success("设置已保存",`紧急通知铃声: ${s}`)},async previewSound(s){var e,a;this.showAutoplayWarning=!1,this.stopPreview();try{const d=await this.playSoundWithPromise(s,!1);this.currentAudio=d,this.currentAudio&&this.currentAudio.addEventListener("ended",()=>{this.currentAudio=null},{once:!0})}catch(d){console.error("播放音频失败:",d),d.name==="NotAllowedError"?(e=this.$message)==null||e.warning("无法播放音频","浏览器阻止了自动播放,请再次点击试听按钮"):(a=this.$message)==null||a.error("播放失败","音频文件加载失败,请稍后重试")}},playSoundWithPromise(s,e=!1){return new Promise((a,d)=>{const i=this.getSoundPath(s);if(!i){d(new Error("音频文件不存在"));return}try{const l=new Audio(i);l.loop=e,l.play().then(()=>{a(l)}).catch(r=>{d(r)})}catch(l){d(l)}})},getSoundPath(s){if(!s)return null;try{return`/sounds/${s}`}catch{return null}},stopPreview(){this.currentAudio&&(mn(this.currentAudio),this.currentAudio=null)},resetSingleSound(){var s;this.singleSound="Teams 默认.mp3",xe("notification.singleSound",this.singleSound),(s=this.$message)==null||s.success("已恢复单次通知铃声默认设置")},resetUrgentSound(){var s;this.urgentSound="Teams 默认通话铃.mp3",xe("notification.urgentSound",this.urgentSound),(s=this.$message)==null||s.success("已恢复紧急通知铃声默认设置")}}},Os={class:"d-flex align-center"},Rs={class:"mt-3 d-flex gap-2"},Ks={class:"mt-3 d-flex gap-2"};function Fs(s,e,a,d,i,l){return c(),g(E,{class:"notification-sound-settings"},{default:n(()=>[t(K,null,{default:n(()=>[...e[5]||(e[5]=[o(" 通知铃声设置 ",-1)])]),_:1}),t(j,null,{default:n(()=>[i.showAutoplayWarning?(c(),g($,{key:0,type:"info",variant:"tonal",closable:"",class:"mb-4","onClick:close":e[0]||(e[0]=r=>i.showAutoplayWarning=!1)},{default:n(()=>[m("div",Os,[t(v,{class:"mr-2"},{default:n(()=>[...e[6]||(e[6]=[o("mdi-information",-1)])]),_:1}),e[7]||(e[7]=m("span",null,"首次使用请点击试听按钮测试音频播放是否正常",-1))])]),_:1})):k("",!0),t(de,null,{default:n(()=>[t(z,{cols:"12"},{default:n(()=>[t(E,{border:""},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[8]||(e[8]=[o("mdi-bell-ring",-1)])]),_:1}),e[9]||(e[9]=o(" 单次通知铃声 ",-1))]),_:1}),t(j,null,{default:n(()=>[t(Je,{modelValue:i.singleSound,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.singleSound=r),l.onSingleSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:r,item:p})=>[t(A,je(r,{onClick:u=>l.previewSound(p.value)}),{prepend:n(()=>[t(v,null,{default:n(()=>[...e[10]||(e[10]=[o("mdi-music-note",-1)])]),_:1})]),append:n(()=>[t(h,{icon:"",size:"small",variant:"text",onClick:Ae(u=>l.previewSound(p.value),["stop"])},{default:n(()=>[t(v,null,{default:n(()=>[...e[11]||(e[11]=[o("mdi-play",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1040,["onClick"])]),_:1},8,["modelValue","items","onUpdate:modelValue"]),m("div",Rs,[t(h,{color:"primary",variant:"tonal",onClick:e[2]||(e[2]=r=>l.previewSound(i.singleSound))},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[12]||(e[12]=[o("mdi-play",-1)])]),_:1}),e[13]||(e[13]=o(" 试听 ",-1))]),_:1}),t(h,{onClick:l.resetSingleSound},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[14]||(e[14]=[o("mdi-restore",-1)])]),_:1}),e[15]||(e[15]=o(" 恢复 ",-1))]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1}),t(z,{cols:"12"},{default:n(()=>[t(E,{border:""},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{left:"",color:"error"},{default:n(()=>[...e[16]||(e[16]=[o("mdi-bell-alert",-1)])]),_:1}),e[17]||(e[17]=o(" 紧急通知铃声 ",-1))]),_:1}),t(j,null,{default:n(()=>[t(Je,{modelValue:i.urgentSound,"onUpdate:modelValue":[e[3]||(e[3]=r=>i.urgentSound=r),l.onUrgentSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:r,item:p})=>[t(A,je(r,{onClick:u=>l.previewSound(p.value)}),{prepend:n(()=>[t(v,null,{default:n(()=>[...e[18]||(e[18]=[o("mdi-music-note",-1)])]),_:1})]),append:n(()=>[t(h,{icon:"",size:"small",variant:"text",onClick:Ae(u=>l.previewSound(p.value),["stop"])},{default:n(()=>[t(v,null,{default:n(()=>[...e[19]||(e[19]=[o("mdi-play",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1040,["onClick"])]),_:1},8,["modelValue","items","onUpdate:modelValue"]),m("div",Ks,[t(h,{color:"error",variant:"tonal",onClick:e[4]||(e[4]=r=>l.previewSound(i.urgentSound))},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[20]||(e[20]=[o("mdi-play",-1)])]),_:1}),e[21]||(e[21]=o(" 试听 ",-1))]),_:1}),t(h,{onClick:l.resetUrgentSound},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[22]||(e[22]=[o("mdi-restore",-1)])]),_:1}),e[23]||(e[23]=o(" 恢复 ",-1))]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Rt=Y(zs,[["render",Fs],["__scopeId","data-v-55be56a4"]]),Js={name:"ThemeSettingsCard",components:{SettingsCard:ee},data(){return{localTheme:_("theme.mode")}},watch:{localTheme(s){xe("theme.mode",s),this.updateTheme(s)}},setup(){return{theme:vn()}},methods:{updateTheme(s){this.theme.global.name.value=s}}};function Qs(s,e,a,d,i,l){const r=ee;return c(),g(r,{icon:"mdi-palette",title:"主题设置"},{default:n(()=>[t(J,null,{default:n(()=>[t(A,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-theme-light-dark"})]),append:n(()=>[t(bn,{modelValue:i.localTheme,"onUpdate:modelValue":e[0]||(e[0]=p=>i.localTheme=p),color:"primary",density:"comfortable"},{default:n(()=>[t(h,{value:"light"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-white-balance-sunny"}),e[3]||(e[3]=o(" 明亮 ",-1))]),_:1}),t(h,{value:"dark"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-moon-waning-crescent"}),e[4]||(e[4]=o(" 暗黑 ",-1))]),_:1})]),_:1},8,["modelValue"])]),default:n(()=>[t(L,null,{default:n(()=>[...e[1]||(e[1]=[o("主题模式",-1)])]),_:1}),t(ie,null,{default:n(()=>[...e[2]||(e[2]=[o("选择明亮或暗黑主题",-1)])]),_:1})]),_:1})]),_:1})]),_:1})}const Kt=Y(Js,[["render",Qs]]),Hs={name:"DisplaySettingsCard",components:{SettingsCard:ee,SettingItem:_e},data(){return{}}};function Gs(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{border:"",icon:"mdi-monitor",title:"显示设置"},{default:n(()=>[t(J,null,{default:n(()=>[t(r,{"setting-key":"display.emptySubjectDisplay"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.dynamicSort"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showRandomButton"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showFullscreenButton"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.cardHoverEffect"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.enhancedTouchMode"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showQuickTools"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showAntiScreenBurnCard"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showExamScheduleButton"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.forceDesktopMode"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.lateStudentsArePresent"})]),_:1})]),_:1})}const Ft=Y(Hs,[["render",Gs]]),Ws={};function Ys(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(J,null,{default:n(()=>[t(r,{"setting-key":"edit.autoSave"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.blockNonTodayAutoSave"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.confirmNonTodaySave"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.refreshBeforeEdit"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.autoSavePromptText"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.manualSavePromptText"})]),_:1})]),_:1})}const Jt=Y(Ws,[["render",Ys]]),qs={name:"RefreshSettingsCard",components:{SettingsCard:ee},data(){return{}}};function Zs(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{icon:"mdi-refresh-circle",title:"刷新设置"},{default:n(()=>[t(jt,null,{default:n(()=>[t(J,null,{default:n(()=>[t(r,{"setting-key":"refresh.auto",title:"自动刷新"}),t(M,{class:"my-2"}),t(r,{"setting-key":"refresh.interval",title:"刷新间隔"})]),_:1})]),_:1})]),_:1})}const Qt=Y(qs,[["render",Zs]]),Xs={name:"SettingsLinkGenerator",data(){return{selectedItems:[],generatedLink:"",linkCopied:!1,search:"",preconfigForm:{namespace:"",authCode:"",autoExecute:!1},unifiedLink:"",headers:[{title:"",key:"data-table-select"},{title:"设置项",key:"description",sortable:!0},{title:"当前值",key:"value",sortable:!0},{title:"键名",key:"key",class:"d-none d-sm-table-cell",sortable:!0},{title:"状态",key:"isChanged",sortable:!0}]}},computed:{settingItems(){const s=Be(),e=[];for(const[a,d]of Object.entries(et)){if(d.requireDeveloper&&!s["developer.enabled"])continue;const i=s[a]!==d.default;e.push({key:a,description:d.description||a,value:s[a],icon:d.icon||"mdi-cog",isChanged:i,defaultValue:d.default})}return e.sort((a,d)=>a.key.localeCompare(d.key))},filteredItems(){if(!this.search)return this.settingItems;const s=this.search.toLowerCase();return s==="已修改"?this.settingItems.filter(e=>e.isChanged):s==="是"||s==="否"?this.settingItems.filter(e=>typeof e.value=="boolean"&&(s==="是"?e.value:!e.value)):this.settingItems.filter(e=>{const a=e.description.toLowerCase(),d=e.key.toLowerCase(),i=String(e.value).toLowerCase(),l=e.isChanged?"已修改":"默认";return a.includes(s)||d.includes(s)||i.includes(s)||l.includes(s)})},hasDisplaySettings(){return this.selectedItems.some(s=>s.startsWith("display."))},hasEditSettings(){return this.selectedItems.some(s=>s.startsWith("edit."))},hasServerSettings(){return this.selectedItems.some(s=>s.startsWith("server."))},hasChangedSettings(){const s=Be();return this.selectedItems.some(e=>{const a=et[e];return a&&s[e]!==a.default})}},methods:{handleSelectionChange(s){this.selectedItems=s.map(e=>e.key),this.generateLink()},generateLink(){const s=`${window.location.protocol}//${window.location.host}/`,e=Be(),a={};for(const d of this.selectedItems)a[d]=e[d];if(Object.keys(a).length===0){this.generatedLink=s;return}try{const d=JSON.stringify(a),l=new TextEncoder().encode(d),p={config:btoa(Array.from(l).map(I=>String.fromCharCode(I)).join(""))},y=new URLSearchParams(window.location.search).get("date");y&&(p.date=y);const T=new URLSearchParams(p).toString();this.generatedLink=`${s}?${T}`}catch(d){console.error("生成链接失败:",d),this.generatedLink="链接生成失败,请重试"}this.linkCopied=!1},async copyLink(){this.generatedLink||this.generateLink();try{await navigator.clipboard.writeText(this.generatedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(s){console.error("复制链接失败:",s)}},resetSelection(){this.selectedItems=[],this.generatedLink="",this.linkCopied=!1},selectAll(){this.selectedItems=this.settingItems.map(s=>s.key),this.generateLink()},selectDataSourceSettings(){const s=this.settingItems.filter(e=>e.key.startsWith("server.")&&e.key!=="server.kvToken").map(e=>e.key);this.selectedItems=s,this.generateLink()},selectChangedSettings(){const s=this.settingItems.filter(e=>e.isChanged&&e.key!=="server.kvToken").map(e=>e.key);this.selectedItems=s,this.generateLink()},selectByPrefix(s){const e=this.settingItems.filter(a=>a.key.startsWith(`${s}.`)).map(a=>a.key);this.selectedItems=e},autoGenerateLink(){this.selectedItems.length>0?this.generateLink():this.generatedLink=""},getSettingDescription(s){const e=this.settingItems.find(a=>a.key===s);return e?e.description:s},generateUnifiedLink(){if(this.preconfigForm.namespace.trim())try{const s=`${window.location.protocol}//${window.location.host}/`,e=new URLSearchParams;if(e.append("namespace",this.preconfigForm.namespace.trim()),this.preconfigForm.authCode.trim()&&e.append("authCode",this.preconfigForm.authCode.trim()),this.preconfigForm.autoExecute&&e.append("autoExecute","true"),this.selectedItems.length>0){const a=Be(),d={};for(const u of this.selectedItems)d[u]=a[u];const i=JSON.stringify(d),r=new TextEncoder().encode(i),p=btoa(Array.from(r).map(u=>String.fromCharCode(u)).join(""));e.append("config",p)}this.unifiedLink=`${s}?${e.toString()}`,this.linkCopied=!1,console.log("生成统一链接:",this.unifiedLink),console.log("包含预配置:",!!this.preconfigForm.namespace),console.log("包含设置数量:",this.selectedItems.length)}catch(s){console.error("生成统一链接失败:",s),this.unifiedLink="链接生成失败,请重试"}},async copyUnifiedLink(){if(this.unifiedLink||this.generateUnifiedLink(),!(!this.unifiedLink||this.unifiedLink.includes("失败")))try{await navigator.clipboard.writeText(this.unifiedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(s){console.error("复制统一链接失败:",s)}},openTestLink(){this.unifiedLink&&!this.unifiedLink.includes("失败")&&window.open(this.unifiedLink,"_blank")},clearAll(){this.preconfigForm={namespace:"",authCode:"",autoExecute:!1},this.selectedItems=[],this.unifiedLink="",this.generatedLink="",this.linkCopied=!1}},watch:{selectedItems:{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()},deep:!0},"preconfigForm.namespace":{handler(){this.preconfigForm.namespace.trim()?this.generateUnifiedLink():this.unifiedLink=""}},"preconfigForm.authCode":{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()}},"preconfigForm.autoExecute":{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()}}}},$s={class:"d-flex mb-3 gap-2 flex-wrap"},ei={class:"d-flex align-center mb-3 flex-wrap gap-2"},ti={class:"d-flex align-center"},ni={class:"d-flex align-center"},si={key:0},ii={key:1},li={key:2},oi={class:"text-caption text-grey"},ai={class:"d-flex mb-3 gap-2 flex-wrap"},ri={class:"d-flex flex-wrap gap-1"};function ui(s,e,a,d,i,l){return c(),x("div",null,[t(E,{border:"",class:"unified-link-generator"},{default:n(()=>[t(K,{class:"text-h6"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-link-variant",start:""}),e[6]||(e[6]=o(" 统一链接生成器 ",-1))]),_:1}),t(j,null,{default:n(()=>[e[35]||(e[35]=m("div",{class:"text-body-2 text-medium-emphasis mb-4"}," 生成包含预配置认证信息和设置的统一链接。可以同时预配置设备认证和应用设置。 ",-1)),t(E,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{start:""},{default:n(()=>[...e[7]||(e[7]=[o("mdi-account-key",-1)])]),_:1}),e[8]||(e[8]=o(" 预配置认证信息 ",-1))]),_:1}),t(j,null,{default:n(()=>[t(de,null,{default:n(()=>[t(z,{cols:"12",md:"6"},{default:n(()=>[t(R,{modelValue:i.preconfigForm.namespace,"onUpdate:modelValue":e[0]||(e[0]=r=>i.preconfigForm.namespace=r),hint:"设备的命名空间标识符",label:"命名空间","persistent-hint":"",placeholder:"例如: classroom-001","prepend-inner-icon":"mdi-identifier",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(z,{cols:"12",md:"6"},{default:n(()=>[t(R,{modelValue:i.preconfigForm.authCode,"onUpdate:modelValue":e[1]||(e[1]=r=>i.preconfigForm.authCode=r),hint:"留空则需要用户手动输入",label:"认证码","persistent-hint":"",placeholder:"设备认证码(可选)","prepend-inner-icon":"mdi-lock-outline",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),t(de,{class:"mt-2"},{default:n(()=>[t(z,{cols:"12"},{default:n(()=>[t(Ce,{modelValue:i.preconfigForm.autoExecute,"onUpdate:modelValue":e[2]||(e[2]=r=>i.preconfigForm.autoExecute=r),density:"compact",hint:"启用后会自动尝试认证,即使没有认证码也会尝试",label:"自动执行认证","persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),i.preconfigForm.namespace?(c(),g($,{key:0,class:"mt-3",type:"info",variant:"tonal"},{default:n(()=>[e[13]||(e[13]=m("div",{class:"text-subtitle-2 mb-2"},"预配置信息:",-1)),t(X,{class:"mr-2 mb-1",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[9]||(e[9]=[o("mdi-identifier",-1)])]),_:1}),o(" 命名空间: "+w(i.preconfigForm.namespace),1)]),_:1}),i.preconfigForm.authCode?(c(),g(X,{key:0,class:"mr-2 mb-1",color:"warning",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[10]||(e[10]=[o("mdi-lock",-1)])]),_:1}),o(" 认证码: "+w(i.preconfigForm.authCode.length>8?i.preconfigForm.authCode.substring(0,8)+"...":i.preconfigForm.authCode),1)]),_:1})):(c(),g(X,{key:1,class:"mr-2 mb-1",color:"grey",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[11]||(e[11]=[o("mdi-lock-open",-1)])]),_:1}),e[12]||(e[12]=o(" 无认证码 ",-1))]),_:1})),t(X,{color:i.preconfigForm.autoExecute?"success":"orange",class:"mr-2 mb-1",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[o(w(i.preconfigForm.autoExecute?"mdi-play-circle":"mdi-hand-back-left"),1)]),_:1}),o(" "+w(i.preconfigForm.autoExecute?"自动认证":"手动认证"),1)]),_:1},8,["color"])]),_:1})):k("",!0)]),_:1})]),_:1}),t(E,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{start:""},{default:n(()=>[...e[14]||(e[14]=[o("mdi-cog-transfer",-1)])]),_:1}),e[15]||(e[15]=o(" 设置分享(可选) ",-1))]),_:1}),t(j,null,{default:n(()=>[e[22]||(e[22]=m("div",{class:"text-body-2 text-medium-emphasis mb-3"}," 选择需要包含在链接中的设置项。如果不选择任何设置,将只生成预配置认证链接。 ",-1)),m("div",$s,[t(h,{color:"primary","prepend-icon":"mdi-server-network",size:"small",variant:"tonal",onClick:l.selectDataSourceSettings},{default:n(()=>[...e[16]||(e[16]=[o(" 数据源设置 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"primary","prepend-icon":"mdi-compare",size:"small",variant:"tonal",onClick:l.selectChangedSettings},{default:n(()=>[...e[17]||(e[17]=[o(" 已变更设置 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"success","prepend-icon":"mdi-select-all",size:"small",variant:"tonal",onClick:l.selectAll},{default:n(()=>[...e[18]||(e[18]=[o(" 全选 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"error","prepend-icon":"mdi-select-remove",size:"small",variant:"tonal",onClick:l.resetSelection},{default:n(()=>[...e[19]||(e[19]=[o(" 清除选择 ",-1)])]),_:1},8,["onClick"])]),m("div",ei,[t(X,{class:"mr-2",color:"primary"},{default:n(()=>[o(" 已选 "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1}),i.selectedItems.length>0?(c(),x(ne,{key:0},[(c(!0),x(ne,null,ue(i.selectedItems.slice(0,3),r=>(c(),g(X,{key:r,class:"mr-1",size:"small",variant:"text"},{default:n(()=>[o(w(l.getSettingDescription(r)),1)]),_:2},1024))),128)),i.selectedItems.length>3?(c(),g(X,{key:0,color:"grey",size:"small",variant:"text"},{default:n(()=>[o(" +"+w(i.selectedItems.length-3)+" 更多 ",1)]),_:1})):k("",!0)],64)):k("",!0)]),t(it,{variant:"accordion"},{default:n(()=>[t(lt,null,{default:n(()=>[t(Et,null,{default:n(({expanded:r})=>[m("div",ti,[t(v,{class:"mr-2"},{default:n(()=>[o(w(r?"mdi-chevron-up":"mdi-chevron-down"),1)]),_:2},1024),e[20]||(e[20]=o(" 显示设置列表详情 ",-1))])]),_:1}),t(ot,null,{default:n(()=>[t(R,{modelValue:i.search,"onUpdate:modelValue":e[3]||(e[3]=r=>i.search=r),class:"mb-4",clearable:"","hide-details":"",label:"搜索设置","prepend-inner-icon":"mdi-magnify","single-line":""},null,8,["modelValue"]),t(Ut,{modelValue:i.selectedItems,"onUpdate:modelValue":e[4]||(e[4]=r=>i.selectedItems=r),headers:i.headers,items:l.filteredItems,"items-per-page":l.settingItems.length,"sort-by":[{key:"isChanged",order:"desc"}],class:"rounded setting-table",density:"compact","item-value":"key","show-select":"","onUpdate:selected":l.handleSelectionChange},{"item.description":n(({item:r})=>[m("div",ni,[t(v,{icon:r.icon,class:"mr-2",size:"small"},null,8,["icon"]),o(" "+w(r.description)+" ",1),r.key==="server.kvToken"?(c(),g(X,{key:0,class:"ml-2",color:"error",size:"x-small"},{default:n(()=>[...e[21]||(e[21]=[o(" 敏感 ",-1)])]),_:1})):k("",!0)])]),"item.value":n(({item:r})=>[typeof r.value=="boolean"?(c(),x("span",si,w(r.value?"是":"否"),1)):r.key==="server.kvToken"&&r.value?(c(),x("span",ii,w(r.value.substring(0,8))+"... ",1)):(c(),x("span",li,w(r.value),1))]),"item.key":n(({item:r})=>[m("span",oi,w(r.key),1)]),"item.isChanged":n(({item:r})=>[t(X,{color:r.isChanged?"warning":"success",text:r.isChanged?"已修改":"默认",density:"compact",size:"x-small"},null,8,["color","text"])]),_:2},1032,["modelValue","headers","items","items-per-page","onUpdate:selected"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(E,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{start:""},{default:n(()=>[...e[23]||(e[23]=[o("mdi-link",-1)])]),_:1}),e[24]||(e[24]=o(" 生成的统一链接 ",-1))]),_:1}),t(j,null,{default:n(()=>[m("div",ai,[t(h,{disabled:!i.preconfigForm.namespace.trim(),color:"primary","prepend-icon":"mdi-auto-fix",variant:"flat",onClick:l.generateUnifiedLink},{default:n(()=>[...e[25]||(e[25]=[o(" 生成统一链接 ",-1)])]),_:1},8,["disabled","onClick"]),t(h,{disabled:!i.unifiedLink,color:"success","prepend-icon":"mdi-test-tube",variant:"tonal",onClick:l.openTestLink},{default:n(()=>[...e[26]||(e[26]=[o(" 测试链接 ",-1)])]),_:1},8,["disabled","onClick"]),t(h,{color:"error","prepend-icon":"mdi-delete",variant:"tonal",onClick:l.clearAll},{default:n(()=>[...e[27]||(e[27]=[o(" 清空所有 ",-1)])]),_:1},8,["onClick"])]),t(R,{modelValue:i.unifiedLink,"onUpdate:modelValue":e[5]||(e[5]=r=>i.unifiedLink=r),"append-inner-icon":i.linkCopied?"mdi-check":"mdi-content-copy",placeholder:i.preconfigForm.namespace?"点击「生成统一链接」按钮":"请先输入命名空间",class:"mb-3",label:"统一链接",readonly:"",variant:"outlined","onClick:appendInner":l.copyUnifiedLink},null,8,["modelValue","append-inner-icon","placeholder","onClick:appendInner"]),i.unifiedLink?(c(),g($,{key:0,class:"mb-3",type:"success",variant:"tonal"},{default:n(()=>[e[33]||(e[33]=m("div",{class:"text-subtitle-2 mb-2"},"链接包含内容:",-1)),m("div",ri,[t(X,{color:"primary",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[28]||(e[28]=[o("mdi-account-key",-1)])]),_:1}),e[29]||(e[29]=o(" 预配置认证 ",-1))]),_:1}),i.selectedItems.length>0?(c(),g(X,{key:0,color:"secondary",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[30]||(e[30]=[o("mdi-cog",-1)])]),_:1}),o(" "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1})):(c(),g(X,{key:1,color:"grey",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[31]||(e[31]=[o("mdi-cog-off",-1)])]),_:1}),e[32]||(e[32]=o(" 无额外设置 ",-1))]),_:1}))])]),_:1})):k("",!0)]),_:1})]),_:1}),t($,{type:"warning",variant:"tonal"},{default:n(()=>[...e[34]||(e[34]=[m("div",{class:"text-subtitle-2 mb-2"},"⚠️ 安全提醒",-1),m("ul",{class:"text-body-2 pl-4"},[m("li",null,"认证码和设置信息会在URL中传输,请谨慎分发"),m("li",null,"建议仅在受信任的网络环境中使用"),m("li",null,"生产环境建议使用HTTPS协议"),m("li",null,"数据源设置和已变更设置默认不包含敏感Token信息")],-1)])]),_:1})]),_:1})]),_:1})])}const Ht=Y(Xs,[["render",ui]]),di={name:"UnsavedWarning",props:{show:Boolean,message:{type:String,default:"未保存"}}},ci={class:"warning-container"};function mi(s,e,a,d,i,l){return c(),x("div",ci,[a.show?(c(),g(X,{key:0,class:"warning-chip",color:"warning",size:"small"},{default:n(()=>[o(w(a.message),1)]),_:1})):k("",!0)])}const Ye=Y(di,[["render",mi],["__scopeId","data-v-0f36b655"]]),fi=kn({disabled:Boolean,modelValue:{type:Boolean,default:null},...Cn()},"VHover"),Gt=yn()({name:"VHover",props:fi(),emits:{"update:modelValue":s=>!0},setup(s,e){let{slots:a}=e;const d=xn(s,"modelValue"),{runOpenDelay:i,runCloseDelay:l}=Sn(s,r=>!s.disabled&&(d.value=r));return()=>{var r;return(r=a.default)==null?void 0:r.call(a,{isHovering:d.value,props:{onMouseenter:i,onMouseleave:l}})}}}),pi={name:"TeacherListCard",components:{UnsavedWarning:Ye},props:{isMobile:Boolean},data(){return{newTeacher:{name:"",subjects:[],isHeadTeacher:!1},editState:{index:-1,teacher:null},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1,commonSubjects:["语文","数学","英语","物理","化学","生物","政治","历史","地理","信息技术","音乐","美术","体育"]}},watch:{modelValue:{handler(s){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=JSON.stringify(s.list,null,2))},deep:!0}},mounted(){this.loadTeachers()},methods:{async loadTeachers(){var s;this.error=null;try{if(this.loading=!0,!_("server.classNumber"))throw new Error("请先设置班号");try{const a=await ae.loadData("classworks-list-teacher");a.success!==!1&&Array.isArray(a)&&(this.modelValue.list=a.map(d=>({name:d.name||"",subjects:Array.isArray(d.subjects)?d.subjects:[],isHeadTeacher:!!d.isHeadTeacher})),this.modelValue.text=JSON.stringify(this.modelValue.list,null,2),this.lastSavedData=JSON.parse(JSON.stringify(this.modelValue.list)),this.unsavedChanges=!1)}catch(a){console.warn("Failed to load teacher list, initializing empty list",a),this.modelValue.list=[],this.modelValue.text="[]",this.lastSavedData=[]}}catch(e){console.error("加载教师列表失败:",e),this.error=e.message||"加载失败,请检查设置",(s=this.$message)==null||s.error("加载失败",this.error)}finally{this.loading=!1}},async saveTeachers(){var s,e,a;try{if(!_("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.map(r=>({name:r.name,subjects:Array.isArray(r.subjects)?r.subjects:[],isHeadTeacher:!!r.isHeadTeacher})),l=await ae.saveData("classworks-list-teacher",i);if(l.success===!1)throw new Error(((s=l.error)==null?void 0:s.message)||"保存失败");this.modelValue.list=i,this.lastSavedData=JSON.parse(JSON.stringify(i)),this.unsavedChanges=!1,(e=this.$message)==null||e.success("保存成功","教师列表已更新")}catch(d){console.error("保存教师列表失败:",d),(a=this.$message)==null||a.error("保存失败",d.message||"请重试")}},toggleAdvanced(){this.modelValue.advanced=!this.modelValue.advanced,this.modelValue.advanced&&(this.modelValue.text=JSON.stringify(this.modelValue.list,null,2))},handleTextInput(s){if(this.modelValue.advanced)try{const e=JSON.parse(s);Array.isArray(e)?(this.modelValue.list=e.map(a=>({name:a.name||"",subjects:Array.isArray(a.subjects)?a.subjects:[],isHeadTeacher:!!a.isHeadTeacher})),this.error=null):this.error="JSON 必须是一个数组"}catch(e){this.error="JSON 格式错误: "+e.message}},addTeacher(){var e,a;const s=this.newTeacher.name.trim();if(!s){(e=this.$message)==null||e.warning("提示","请输入教师姓名");return}if(this.newTeacher.subjects.length===0){(a=this.$message)==null||a.warning("提示","请选择至少一个任教科目");return}this.modelValue.list.push({name:s,subjects:[...this.newTeacher.subjects],isHeadTeacher:this.newTeacher.isHeadTeacher}),this.newTeacher={name:"",subjects:[],isHeadTeacher:!1}},startEdit(s,e){this.editState.index=s,this.editState.teacher={name:e.name,subjects:[...e.subjects],isHeadTeacher:e.isHeadTeacher}},saveEdit(){var s,e;if(this.editState.index!==-1){const a=this.editState.teacher.name.trim();if(!a){(s=this.$message)==null||s.warning("提示","教师姓名不能为空");return}if(this.editState.teacher.subjects.length===0){(e=this.$message)==null||e.warning("提示","请选择至少一个任教科目");return}this.modelValue.list[this.editState.index]={name:a,subjects:[...this.editState.teacher.subjects],isHeadTeacher:this.editState.teacher.isHeadTeacher},this.editState.index=-1,this.editState.teacher=null}},cancelEdit(){this.editState.index=-1,this.editState.teacher=null},removeTeacher(s){s!==void 0&&this.modelValue.list.splice(s,1)},handleClick(s,e){this.isMobile&&this.startEdit(s,e)}}},hi={key:0},gi={class:"d-flex align-start mb-3"},wi={class:"flex-grow-1"},vi={class:"d-flex align-center mb-1"},bi=["onClick"],yi={key:0,class:"mt-2"},ki={key:1,class:"mt-1"},xi={key:1,class:"pt-2"};function Si(s,e,a,d,i,l){const r=Ye;return c(),g(E,{class:Fe({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(ze,null,{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-account-tie",size:"large"})]),append:n(()=>[t(r,{show:i.unsavedChanges,message:"有未保存的更改"},null,8,["show"]),t(h,{color:i.modelValue.advanced?"primary":void 0,"prepend-icon":"mdi-code-braces",variant:"text",onClick:l.toggleAdvanced},{default:n(()=>[o(w(i.modelValue.advanced?"返回基础编辑":"高级编辑"),1)]),_:1},8,["color","onClick"])]),default:n(()=>[t(K,{class:"text-h6"},{default:n(()=>[...e[4]||(e[4]=[o("教师列表",-1)])]),_:1})]),_:1}),t(j,null,{default:n(()=>[i.loading?(c(),g(He,{key:0,class:"mb-4",color:"primary",indeterminate:""})):k("",!0),i.error?(c(),g($,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):k("",!0),t(At,null,{default:n(()=>[i.modelValue.advanced?(c(),x("div",xi,[t(Ie,{modelValue:i.modelValue.text,"onUpdate:modelValue":[e[3]||(e[3]=p=>i.modelValue.text=p),l.handleTextInput],hint:"JSON 格式编辑教师列表。每个教师需包含 name、subjects(数组)、isHeadTeacher(布尔值)",label:"批量编辑教师列表 (JSON)","persistent-hint":"",placeholder:'[{"name":"教师姓名","subjects":["语文","数学"],"isHeadTeacher":true}]',rows:"15",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),x("div",hi,[t(E,{class:"mb-6",variant:"outlined"},{default:n(()=>[t(j,null,{default:n(()=>[t(de,null,{default:n(()=>[t(z,{cols:"12",md:"4"},{default:n(()=>[t(R,{modelValue:i.newTeacher.name,"onUpdate:modelValue":e[0]||(e[0]=p=>i.newTeacher.name=p),density:"comfortable","hide-details":"",label:"教师姓名",placeholder:"输入教师姓名","prepend-inner-icon":"mdi-account",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(z,{cols:"12",md:"5"},{default:n(()=>[t(mt,{modelValue:i.newTeacher.subjects,"onUpdate:modelValue":e[1]||(e[1]=p=>i.newTeacher.subjects=p),items:i.commonSubjects,chips:"",clearable:"","closable-chips":"",density:"comfortable","hide-details":"",label:"任教科目",multiple:"",placeholder:"选择或输入科目","prepend-inner-icon":"mdi-book-open-variant",variant:"outlined"},null,8,["modelValue","items"])]),_:1}),t(z,{cols:"12",md:"3",class:"d-flex align-center gap-2"},{default:n(()=>[t(Ce,{modelValue:i.newTeacher.isHeadTeacher,"onUpdate:modelValue":e[2]||(e[2]=p=>i.newTeacher.isHeadTeacher=p),density:"comfortable","hide-details":"",label:"班主任"},null,8,["modelValue"]),t(h,{disabled:!i.newTeacher.name.trim()||i.newTeacher.subjects.length===0,color:"primary","prepend-icon":"mdi-plus",onClick:l.addTeacher},{default:n(()=>[...e[5]||(e[5]=[o(" 添加教师 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1}),i.modelValue.list.length===0?(c(),g(de,{key:0},{default:n(()=>[t(z,{cols:"12"},{default:n(()=>[t($,{type:"info",variant:"tonal"},{default:n(()=>[...e[6]||(e[6]=[o(" 暂无教师信息,请添加教师 ",-1)])]),_:1})]),_:1})]),_:1})):(c(),g(de,{key:1},{default:n(()=>[(c(!0),x(ne,null,ue(i.modelValue.list,(p,u)=>(c(),g(z,{key:u,cols:"12",lg:"6",xl:"4"},{default:n(()=>[t(Gt,null,{default:n(({isHovering:y,props:T})=>[t(E,je({elevation:a.isMobile?1:y?4:1,border:"",class:"teacher-card"},{ref_for:!0},T),{default:n(()=>[t(j,{class:"pa-4"},{default:n(()=>[m("div",gi,[t(Ge,{color:p.isHeadTeacher?"primary":"grey-lighten-1",class:"mr-3",size:"48"},{default:n(()=>[t(v,{icon:p.isHeadTeacher?"mdi-star":"mdi-account",size:"28"},null,8,["icon"])]),_:2},1032,["color"]),m("div",wi,[m("div",vi,[i.editState.index===u?(c(),g(R,{key:0,modelValue:i.editState.teacher.name,"onUpdate:modelValue":I=>i.editState.teacher.name=I,autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined"},null,8,["modelValue","onUpdate:modelValue"])):(c(),x("span",{key:1,class:"text-h6 font-weight-medium",onClick:I=>l.handleClick(u,p)},w(p.name),9,bi)),p.isHeadTeacher?(c(),g(X,{key:2,class:"ml-2",color:"primary",density:"comfortable",size:"small",variant:"flat"},{default:n(()=>[...e[7]||(e[7]=[o(" 班主任 ",-1)])]),_:1})):k("",!0)]),i.editState.index===u?(c(),x("div",yi,[t(mt,{modelValue:i.editState.teacher.subjects,"onUpdate:modelValue":I=>i.editState.teacher.subjects=I,items:i.commonSubjects,chips:"","closable-chips":"",density:"compact","hide-details":"",label:"任教科目",multiple:"",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"]),t(Ce,{modelValue:i.editState.teacher.isHeadTeacher,"onUpdate:modelValue":I=>i.editState.teacher.isHeadTeacher=I,class:"mt-2",density:"compact","hide-details":"",label:"班主任"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),x("div",ki,[(c(!0),x(ne,null,ue(p.subjects,(I,Q)=>(c(),g(X,{key:Q,class:"mr-1 mb-1",density:"comfortable",size:"small",variant:"tonal"},{default:n(()=>[o(w(I),1)]),_:2},1024))),128))]))]),m("div",{class:Fe([{"opacity-100":y||a.isMobile||i.editState.index===u},"d-flex gap-1 action-buttons ml-2"])},[i.editState.index===u?(c(),g(h,{key:0,color:"success",icon:"mdi-check",size:"small",variant:"text",onClick:l.saveEdit},null,8,["onClick"])):k("",!0),i.editState.index===u?(c(),g(h,{key:1,color:"grey",icon:"mdi-close",size:"small",variant:"text",onClick:l.cancelEdit},null,8,["onClick"])):(c(),g(h,{key:2,color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:I=>l.startEdit(u,p)},null,8,["onClick"])),i.editState.index!==u?(c(),g(h,{key:3,color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:I=>l.removeTeacher(u)},null,8,["onClick"])):k("",!0)],2)])]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1}))]))]),_:1}),t(de,{class:"mt-6"},{default:n(()=>[t(z,{class:"d-flex gap-2",cols:"12"},{default:n(()=>[t(h,{disabled:i.loading,loading:i.loading,color:"primary","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveTeachers},{default:n(()=>[...e[8]||(e[8]=[o(" 保存教师列表 ",-1)])]),_:1},8,["disabled","loading","onClick"]),t(h,{disabled:i.loading,loading:i.loading,color:"error","prepend-icon":"mdi-refresh",size:"large",variant:"outlined",onClick:l.loadTeachers},{default:n(()=>[...e[9]||(e[9]=[o(" 重载教师列表 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1})]),_:1},8,["class","color"])}const Wt=Y(pi,[["render",Si],["__scopeId","data-v-16455a49"]]),Ci={name:"StudentListCard",components:{UnsavedWarning:Ye},props:{isMobile:Boolean},data(){return{newStudentName:"",editState:{index:-1,name:""},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1}},watch:{modelValue:{handler(s){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=s.list.slice().sort((e,a)=>e.id-a.id).map(e=>e.name).join(` +`))}catch(l){console.error("复制失败:",l)}}},beforeUnmount(){[this.typewriter,this.sourceWriter].forEach(s=>s==null?void 0:s.stop())}},Gn={ref:"typewriter",class:"typewriter-text"},Wn={ref:"sourceWriter",class:"source-text"};function Yn(s,e,a,d,i,l){const r=ee;return c(),g(r,{border:"",icon:"mdi-thought-bubble",title:"回声洞",onClick:l.handleClick},{default:n(()=>[t(j,null,{default:n(()=>[m("div",Gn,null,512),m("div",Wn,null,512)]),_:1}),t(hn,{name:"fade"},{default:n(()=>{var p;return[(p=s.currentQuote)!=null&&p.contributor?(c(),g(X,{key:0,class:"contributor"},{default:n(()=>[t(Ge,{start:""},{default:n(()=>[t(_t,{src:`https://github.com/${s.currentQuote.contributor}.png`},null,8,["src"])]),_:1}),o(" "+w(s.currentQuote.contributor),1)]),_:1})):k("",!0)]}),_:1})]),_:1},8,["onClick"])}const Mt=Y(Hn,[["render",Yn],["__scopeId","data-v-a6a55e27"]]),qn={name:"SettingItem",props:{settingKey:{type:String,required:!0},icon:{type:String,default:null},disabled:{type:Boolean,default:!1},title:{type:String,default:null},description:{type:String,default:null}},data(){return{localValue:null,definition:null,type:null,selectOptions:[],hasOptions:!1,minValue:0,maxValue:100,stepValue:1,showSnackbar:!1,snackbarText:"",fontFamilies:[{title:"Arial",value:"Arial, sans-serif"},{title:"Calibri",value:"Calibri, sans-serif"},{title:"Cambria",value:"Cambria, serif"},{title:"Consolas",value:"Consolas, monospace"},{title:"Courier New",value:"Courier New, monospace"},{title:"Georgia",value:"Georgia, serif"},{title:"Helvetica",value:"Helvetica, sans-serif"},{title:"Segoe UI",value:"Segoe UI, sans-serif"},{title:"Times New Roman",value:"Times New Roman, serif"},{title:"Trebuchet MS",value:"Trebuchet MS, sans-serif"},{title:"Verdana",value:"Verdana, sans-serif"},{title:"Monospace",value:"monospace"},{title:"Sans-serif",value:"sans-serif"},{title:"Serif",value:"serif"}],displayValueMappings:{"display.emptySubjectDisplay":{card:"卡片",button:"按钮"},"theme.mode":{light:"浅色",dark:"深色"},"server.provider":{classworkscloud:"Classworks云端存储","kv-local":"KV本地存储","kv-server":"KV远程服务器"}},defaultIcons:{boolean:"mdi-toggle-switch-outline",number:"mdi-numeric",string:"mdi-form-textbox"}}},computed:{displayTitle(){if(this.title)return this.title;if(this.definition&&this.definition.description)return this.definition.description;const s=this.settingKey.split(".");return s[s.length-1]},displayDescription(){return this.description?this.description:this.settingKey},isFontFamily(){return this.settingKey.toLowerCase().includes("fontfamily")||this.settingKey.toLowerCase().includes("font.family")},isDefaultValue(){return this.definition?typeof this.localValue=="object"&&this.localValue!==null?JSON.stringify(this.localValue)===JSON.stringify(this.definition.default):this.localValue===this.definition.default:!0},settingIcon(){return this.icon?this.icon:this.definition&&this.definition.icon?this.definition.icon:this.defaultIcons[this.type]||"mdi-cog-outline"}},created(){this.loadSetting()},methods:{loadSetting(){if(this.definition=gn(this.settingKey),!this.definition){console.error(`未找到设置项定义: ${this.settingKey}`);return}if(this.type=this.definition.type,this.localValue=_(this.settingKey),this.type==="string"){if(this.isFontFamily)this.selectOptions=this.fontFamilies,this.hasOptions=!0;else if(this.settingKey in this.displayValueMappings){const s=this.displayValueMappings[this.settingKey];this.selectOptions=Object.entries(s).map(([e,a])=>({title:a,value:e})),this.hasOptions=!0}else if(this.definition.validate){const e=this.definition.validate.toString().match(/\[(.*?)\]/);if(e){const d=e[1].split(",").map(i=>{const l=i.trim().replace(/['"]/g,"");return{title:this.getDisplayValue(l)||l,value:l}});d.length>0&&(this.selectOptions=d,this.hasOptions=!0)}}}if(this.type==="number"&&this.definition.validate){const s=this.definition.validate.toString(),e=s.match(/value\s*>=\s*(\d+)/);e&&(this.minValue=Number(e[1]));const a=s.match(/value\s*<=\s*(\d+)/);a&&(this.maxValue=Number(a[1]));const d=this.maxValue-this.minValue;d>100?this.stepValue=10:d>20?this.stepValue=5:d>10?this.stepValue=2:this.stepValue=1}},getDisplayValue(s){return this.settingKey in this.displayValueMappings&&this.displayValueMappings[this.settingKey][s]||s},updateSetting(s){let e=s;this.type==="boolean"?e=!!s:this.type==="number"&&(e=Number(s),ethis.maxValue&&(e=this.maxValue)),xe(this.settingKey,e)?this.$emit("update",this.settingKey,e):(this.localValue=_(this.settingKey),this.$emit("error",this.settingKey))},adjustValue(s){if(this.type!=="number")return;const e=this.localValue+s;e>=this.minValue&&e<=this.maxValue&&(this.localValue=e,this.updateSetting(e))},copySettingId(){navigator.clipboard.writeText(this.settingKey).then(()=>{this.showSnackbarMessage("设置ID已复制到剪贴板")}).catch(s=>{console.error("复制失败:",s)})},copySettingValue(){let s="";typeof this.localValue=="object"&&this.localValue!==null?s=JSON.stringify(this.localValue):s=String(this.localValue),navigator.clipboard.writeText(s).then(()=>{this.showSnackbarMessage("设置值已复制到剪贴板")}).catch(e=>{console.error("复制失败:",e)})},resetToDefault(){this.definition&&(Vt(this.settingKey),this.localValue=_(this.settingKey),this.showSnackbarMessage("已重置为默认值"),this.$emit("update",this.settingKey,this.localValue))},showSnackbarMessage(s){this.snackbarText=s,this.showSnackbar=!0}}},Zn={class:"text-caption text-grey-darken-1"},Xn={class:"d-flex flex-column flex-sm-row align-center"},$n={key:0,class:"me-2"},es={key:2,class:"d-flex align-center"},ts={key:0,class:"px-4 pb-2 pt-0"};function ns(s,e,a,d,i,l){return c(),x(ne,null,[t(A,{disabled:a.disabled,class:"setting-item"},{prepend:n(()=>[t(v,{icon:l.settingIcon},null,8,["icon"])]),append:n(()=>[m("div",Xn,[i.type!=="string"||i.hasOptions?(c(),x("div",$n,[i.type==="boolean"?(c(),g(Tt,{key:0,modelValue:i.localValue,"onUpdate:modelValue":[e[0]||(e[0]=r=>i.localValue=r),l.updateSetting],disabled:a.disabled,density:"comfortable","hide-details":""},null,8,["modelValue","disabled","onUpdate:modelValue"])):i.type==="string"&&i.hasOptions?(c(),g(Je,{key:1,modelValue:i.localValue,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.localValue=r),l.updateSetting],disabled:a.disabled,items:i.selectOptions,"bg-color":"surface",class:"setting-select",density:"compact","hide-details":"","item-title":"title","item-value":"value",variant:"outlined"},null,8,["modelValue","disabled","items","onUpdate:modelValue"])):i.type==="number"?(c(),x("div",es,[t(h,{disabled:a.disabled||i.localValue<=i.minValue,icon:"mdi-minus",size:"small",variant:"text",onClick:e[2]||(e[2]=r=>l.adjustValue(-i.stepValue))},null,8,["disabled"]),t(R,{modelValue:i.localValue,"onUpdate:modelValue":[e[3]||(e[3]=r=>i.localValue=r),l.updateSetting],modelModifiers:{number:!0},disabled:a.disabled,max:i.maxValue,min:i.minValue,step:i.stepValue,"bg-color":"surface",class:"mx-2 setting-number-field",density:"compact","hide-details":"",style:{width:"80px"},type:"number",variant:"outlined"},null,8,["modelValue","disabled","max","min","step","onUpdate:modelValue"]),t(h,{disabled:a.disabled||i.localValue>=i.maxValue,icon:"mdi-plus",size:"small",variant:"text",onClick:e[4]||(e[4]=r=>l.adjustValue(i.stepValue))},null,8,["disabled"])])):k("",!0)])):k("",!0),t(It,{location:"bottom"},{activator:n(({props:r})=>[t(h,je({disabled:a.disabled,class:"ml-2",icon:"mdi-dots-vertical",size:"small"},r,{variant:"text"}),null,16,["disabled"])]),default:n(()=>[t(J,{density:"compact"},{default:n(()=>[t(A,{onClick:l.copySettingId},{prepend:n(()=>[t(v,{icon:"mdi-key",size:"small"})]),default:n(()=>[t(L,null,{default:n(()=>[...e[7]||(e[7]=[o("复制设置ID",-1)])]),_:1})]),_:1},8,["onClick"]),t(A,{onClick:l.copySettingValue},{prepend:n(()=>[t(v,{icon:"mdi-content-copy",size:"small"})]),default:n(()=>[t(L,null,{default:n(()=>[...e[8]||(e[8]=[o("复制设置值",-1)])]),_:1})]),_:1},8,["onClick"]),t(M),t(A,{disabled:l.isDefaultValue,onClick:l.resetToDefault},{prepend:n(()=>[t(v,{icon:"mdi-restore",size:"small"})]),default:n(()=>[t(L,null,{default:n(()=>[...e[9]||(e[9]=[o("重置为默认值",-1)])]),_:1})]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})])]),default:n(()=>[t(L,{class:"text-wrap"},{default:n(()=>[o(w(l.displayTitle),1)]),_:1}),t(ie,{class:"d-flex align-center text-wrap"},{default:n(()=>[m("span",Zn,w(a.settingKey),1)]),_:1})]),_:1},8,["disabled"]),i.type==="string"&&!i.hasOptions?(c(),x("div",ts,[t(R,{modelValue:i.localValue,"onUpdate:modelValue":[e[5]||(e[5]=r=>i.localValue=r),l.updateSetting],disabled:a.disabled,"bg-color":"surface",class:"setting-text-field mt-1",density:"compact","hide-details":"",variant:"outlined"},null,8,["modelValue","disabled","onUpdate:modelValue"])])):k("",!0),t(tt,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=r=>i.showSnackbar=r),timeout:2e3,color:"success",location:"top"},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue"])],64)}const _e=Y(qn,[["render",ns],["__scopeId","data-v-08b49b47"]]),ss={name:"SettingsExplorer",components:{SettingItem:_e},data(){return{searchQuery:"",currentSettings:{},unwatchFunction:null}},computed:{isDeveloperMode(){return _("developer.enabled")},allSettings(){var e;const s=[];for(const[a,d]of Object.entries(et))this.searchQuery&&!a.toLowerCase().includes(this.searchQuery.toLowerCase())&&!((e=d.description)!=null&&e.toLowerCase().includes(this.searchQuery.toLowerCase()))||s.push({key:a,...d});return s},formattedSettings(){return JSON.stringify(this.currentSettings,null,2)}},created(){this.updateCurrentSettings(),this.unwatchFunction=nt(()=>{this.updateCurrentSettings()})},beforeUnmount(){this.unwatchFunction&&this.unwatchFunction()},methods:{updateCurrentSettings(){this.currentSettings=Be()},onSettingUpdate(s,e){this.$emit("update",s,e),this.updateCurrentSettings()},onSettingError(s){this.$emit("error",s)},copySettingsToClipboard(){navigator.clipboard.writeText(JSON.stringify(this.currentSettings)).then(()=>{this.$emit("message",{type:"success",text:"设置已复制到剪贴板"})}).catch(s=>{console.error("复制到剪贴板失败:",s),this.$emit("message",{type:"error",text:"复制到剪贴板失败"})})}}},is={class:"settings-explorer"},ls={class:"settings-json"};function os(s,e,a,d,i,l){const r=_e;return c(),x("div",is,[m("div",null,[t(R,{modelValue:i.searchQuery,"onUpdate:modelValue":e[0]||(e[0]=p=>i.searchQuery=p),class:"mb-4",clearable:"",density:"comfortable",label:"搜索设置","prepend-inner-icon":"mdi-magnify",variant:"outlined"},null,8,["modelValue"]),t(J,null,{default:n(()=>[(c(!0),x(ne,null,ue(l.allSettings,p=>(c(),x("div",{key:p.key},[(c(),g(r,{key:p.key,disabled:p.requireDeveloper&&!l.isDeveloperMode,"setting-key":p.key,onError:l.onSettingError,onUpdate:l.onSettingUpdate},null,8,["disabled","setting-key","onError","onUpdate"])),t(M,{class:"my-2"})]))),128))]),_:1}),t(E,{border:""},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[...e[1]||(e[1]=[o("当前配置",-1)])]),_:1}),t(j,null,{default:n(()=>[m("pre",ls,w(l.formattedSettings),1)]),_:1}),t(re,null,{default:n(()=>[t(te),t(h,{onClick:l.copySettingsToClipboard},{default:n(()=>[e[3]||(e[3]=o(" 复制到剪贴板 ",-1)),t(v,{right:""},{default:n(()=>[...e[2]||(e[2]=[o("mdi-content-copy",-1)])]),_:1})]),_:1},8,["onClick"])]),_:1})]),_:1})])])}const Pt=Y(ss,[["render",os],["__scopeId","data-v-4d032f99"]]),as={name:"SettingGroup",props:{title:{type:String,default:null},description:{type:String,default:null},icon:{type:String,default:null},border:{type:Boolean,default:!1}},methods:{onSettingUpdate(s,e){this.$emit("update",s,e)},onSettingError(s){this.$emit("error",s)}}};function rs(s,e,a,d,i,l){return c(),g(E,{border:a.border,class:"setting-group"},{default:n(()=>[a.title?(c(),g(K,{key:0,class:"d-flex align-center"},{default:n(()=>[a.icon?(c(),g(v,{key:0,icon:a.icon,class:"mr-2"},null,8,["icon"])):k("",!0),o(" "+w(a.title),1)]),_:1})):k("",!0),a.description?(c(),g(Le,{key:1},{default:n(()=>[o(w(a.description),1)]),_:1})):k("",!0),t(j,null,{default:n(()=>[t(J,null,{default:n(()=>[Ke(s.$slots,"default",{},void 0,!0)]),_:3})]),_:3}),s.$slots.actions?(c(),g(re,{key:2},{default:n(()=>[Ke(s.$slots,"actions",{},void 0,!0)]),_:3})):k("",!0)]),_:3},8,["border"])}const We=Y(as,[["render",rs],["__scopeId","data-v-9af32ae4"]]),us={subjects:{语文:{books:{课本:["第一单元","第二单元"],练习册:["第一章","第二章"]}},数学:{books:{课本:["第一章","第二章"],习题册:["基础练习","提高练习"]}},英语:{books:{课本:["Unit 1","Unit 2"],练习册:["Chapter 1","Chapter 2"]}}},commonSubject:{books:{试卷:["单元测试","期中测试","期末测试"],假期作业:["必做题","选做题"]}},actions:["写完","下一课","不交","明天交"]},ds={name:"HomeworkTemplateCard",components:{SettingsCard:ee,SettingGroup:We},data(){return{loading:!1,error:null,config:wn(JSON.parse(JSON.stringify(us))),originalConfig:null,newSubject:"",newCommonBook:"",newAction:"",newTask:"",editedSubjects:{},editedBookTypes:{},newBookTypes:{},newBooks:{},showSnackbar:!1,snackbarText:"",snackbarColor:"success",isNewConfig:!0,dialog:{show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",bookType:"",originalName:"",tasks:[]}}}},computed:{subjectList(){return Object.keys(this.config.subjects)},hasChanges(){return this.isNewConfig?!0:this.originalConfig&&JSON.stringify(this.config)!==JSON.stringify(this.originalConfig)}},created(){this.loadConfig()},methods:{async loadConfig(){var s,e;this.loading=!0;try{const a=await ae.loadData("classworks-config-homework-template");if(a){const d=a;Object.assign(this.config,d),this.originalConfig=JSON.parse(JSON.stringify(d)),this.isNewConfig=!1,this.showMessage("配置已加载","success")}else if(((s=a.error)==null?void 0:s.code)==="NOT_FOUND")this.showMessage("使用默认配置","info"),this.isNewConfig=!0;else{const d=((e=a.error)==null?void 0:e.message)||"加载失败";this.showMessage(`加载失败: ${d},可继续编辑当前配置`,"warning")}}catch(a){console.error("Failed to load config:",a),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const s=await ae.saveData("classworks-config-homework-template",this.config);if(s)this.originalConfig=JSON.parse(JSON.stringify(this.config)),this.isNewConfig=!1,this.showMessage("配置已保存","success");else throw new Error(s||"保存失败")}catch(s){console.error("Failed to save config:",s),this.showMessage(`保存失败: ${s.message},请稍后重试`,"error")}this.loading=!1},showMessage(s,e="success"){this.snackbarText=s,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){this.newSubject&&(this.config.subjects[this.newSubject]||(this.config.subjects[this.newSubject]={books:{}}),this.newSubject="")},updateSubject(s){const e=this.editedSubjects[s];if(e&&e!==s){const a=this.config.subjects[s];this.config.subjects[e]=a,delete this.config.subjects[s]}delete this.editedSubjects[s]},deleteSubject(s){delete this.config.subjects[s]},addBookType(s){const e=this.newBookTypes[s];e&&(this.config.subjects[s].books[e]||(this.config.subjects[s].books[e]=[]),this.newBookTypes[s]="")},updateBookType(s,e){const a=`${s}-${e}`,d=this.editedBookTypes[a];if(d&&d!==e){const i=this.config.subjects[s].books[e];this.config.subjects[s].books[d]=i,delete this.config.subjects[s].books[e]}delete this.editedBookTypes[a]},deleteBookType(s,e){s==="common"?delete this.config.commonSubject.books[e]:delete this.config.subjects[s].books[e]},addBook(s,e){const a=`${s}-${e}`,d=this.newBooks[a];d&&(this.config.subjects[s].books[e].includes(d)||this.config.subjects[s].books[e].push(d),this.newBooks[a]="")},removeBook(s,e,a){const d=this.config.subjects[s].books[e],i=d.indexOf(a);i>-1&&d.splice(i,1)},addCommonBook(){this.newCommonBook&&(this.config.commonSubject.books[this.newCommonBook]||(this.config.commonSubject.books[this.newCommonBook]=[]),this.newCommonBook="")},removeCommonBook(s){delete this.config.commonSubject.books[s]},addAction(){this.newAction&&(this.config.actions.includes(this.newAction)||this.config.actions.push(this.newAction),this.newAction="")},removeAction(s){const e=this.config.actions.indexOf(s);e>-1&&this.config.actions.splice(e,1)},openBookDialog(s,e,a){this.dialog.show=!0,this.dialog.title="编辑需完成部分",this.dialog.nameLabel="部分名称",this.dialog.editedItem={name:a,type:"book",subject:s,bookType:e,originalName:a,tasks:this.config.subjects[s].books[e]}},openCommonBookDialog(s){this.dialog.show=!0,this.dialog.title="编辑通用作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:s,type:"commonBook",originalName:s,tasks:Array.isArray(this.config.commonSubject.books[s])?[...this.config.commonSubject.books[s]]:[]}},openActionDialog(s){this.dialog={show:!0,title:"编辑操作",nameLabel:"操作名称",editedItem:{name:s,type:"action",originalName:s,tasks:[]}}},addTask(){this.newTask&&(this.dialog.editedItem.tasks||(this.dialog.editedItem.tasks=[]),this.dialog.editedItem.tasks.push(this.newTask),this.newTask="")},removeTask(s){this.dialog.editedItem.tasks.splice(s,1)},openSubjectBookDialog(s,e,a){this.dialog.show=!0,this.dialog.title=s==="common"?"编辑通用作业本":"编辑作业本",this.dialog.nameLabel="作业本名称",this.dialog.editedItem={name:e,type:"subjectBook",subject:s,originalName:e,tasks:Array.isArray(a)?[...a]:[]}},saveDialog(){const{type:s,name:e,subject:a,originalName:d,tasks:i}=this.dialog.editedItem;if(!e){this.showMessage("名称不能为空","error");return}let l;const r=a==="common"?this.config.commonSubject.books:a?this.config.subjects[a].books:null;switch(s){case"subjectBook":r&&(d!==e?(r[e]=i||[],delete r[d]):r[e]=i||[]);break;case"action":l=this.config.actions.indexOf(d),l>-1&&(this.config.actions[l]=e);break}this.closeDialog()},closeDialog(){this.dialog={show:!1,title:"",nameLabel:"",editedItem:{name:"",type:"",subject:"",originalName:"",tasks:[]}},this.newTask=""}}},cs={class:"d-flex justify-space-between align-center mb-6"};function ms(s,e,a,d,i,l){const r=We,p=ee;return c(),g(p,{loading:i.loading,border:"",icon:"mdi-book-edit",title:"作业模板配置"},{default:n(()=>[i.error?(c(),g($,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):k("",!0),m("div",cs,[m("div",null,[t(h,{loading:i.loading,class:"mr-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",onClick:l.loadConfig},{default:n(()=>[...e[7]||(e[7]=[o(" 重新加载配置 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{loading:i.loading,color:"success","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveConfig},{default:n(()=>[...e[8]||(e[8]=[o(" 保存所有更改 ",-1)])]),_:1},8,["loading","onClick"])]),l.hasChanges?(c(),g(X,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[9]||(e[9]=[o(" 有未保存的更改 ",-1)])]),_:1})):k("",!0)]),t(de,null,{default:n(()=>[t(z,{cols:"12",md:"6"},{default:n(()=>[t(r,{border:"",icon:"mdi-book",title:"科目配置"},{default:n(()=>[t(J,null,{default:n(()=>[t(A,null,{default:n(()=>[t(R,{modelValue:i.newSubject,"onUpdate:modelValue":e[0]||(e[0]=u=>i.newSubject=u),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加新科目",variant:"outlined","onClick:appendInner":l.addSubject,onKeyup:Ve(l.addSubject,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),(c(!0),x(ne,null,ue(l.subjectList,u=>(c(),g(A,{key:u},{default:n(()=>[t(E,{border:"",class:"w-100 mb-2"},{default:n(()=>[t(K,{class:"d-flex align-center"},{default:n(()=>[t(R,{modelValue:i.editedSubjects[u],"onUpdate:modelValue":y=>i.editedSubjects[u]=y,placeholder:u,density:"comfortable","hide-details":"",variant:"plain",onBlur:y=>l.updateSubject(u)},null,8,["modelValue","onUpdate:modelValue","placeholder","onBlur"]),t(te),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:y=>l.deleteSubject(u)},null,8,["onClick"])]),_:2},1024),t(j,null,{default:n(()=>[t(R,{modelValue:i.newBookTypes[u],"onUpdate:modelValue":y=>i.newBookTypes[u]=y,"append-inner-icon":"mdi-plus",class:"mb-2",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":()=>l.addBookType(u),onKeyup:Ve(()=>l.addBookType(u),["enter"])},null,8,["modelValue","onUpdate:modelValue","onClick:appendInner","onKeyup"]),t(J,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),x(ne,null,ue(i.config.subjects[u].books,(y,T)=>(c(),g(A,{key:T,title:T,onClick:I=>l.openSubjectBookDialog(u,T,y)},{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-book-open-variant"})]),append:n(()=>[t(X,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(y.length)+"个部分 ",1)]),_:2},1024),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:Ae(()=>l.deleteBookType(u,T),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(z,{cols:"12",md:"6"},{default:n(()=>[t(r,{border:"",icon:"mdi-cog",title:"通用配置"},{default:n(()=>[t(J,null,{default:n(()=>[t(A,null,{default:n(()=>[t(R,{modelValue:i.newCommonBook,"onUpdate:modelValue":e[1]||(e[1]=u=>i.newCommonBook=u),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加作业本名称",variant:"outlined","onClick:appendInner":l.addCommonBook,onKeyup:Ve(l.addCommonBook,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(A,null,{default:n(()=>[t(J,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),x(ne,null,ue(i.config.commonSubject.books,(u,y)=>(c(),g(A,{key:y,title:y,onClick:T=>l.openSubjectBookDialog("common",y,u)},{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-book-multiple"})]),append:n(()=>[t(X,{class:"mr-2",color:"info",size:"small"},{default:n(()=>[o(w(u.length)+"个部分 ",1)]),_:2},1024),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:Ae(()=>l.deleteBookType("common",y),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1}),t(M,{class:"my-2"}),t(A,null,{default:n(()=>[t(R,{modelValue:i.newAction,"onUpdate:modelValue":e[2]||(e[2]=u=>i.newAction=u),"append-inner-icon":"mdi-plus",density:"comfortable",label:"添加操作",variant:"outlined","onClick:appendInner":l.addAction,onKeyup:Ve(l.addAction,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1}),t(A,null,{default:n(()=>[t(J,{border:"",density:"compact",rounded:""},{default:n(()=>[(c(!0),x(ne,null,ue(i.config.actions,u=>(c(),g(A,{key:u,title:u,onClick:y=>l.openActionDialog(u)},{append:n(()=>[t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:Ae(y=>l.removeAction(u),["stop"])},null,8,["onClick"])]),_:2},1032,["title","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(we,{modelValue:i.dialog.show,"onUpdate:modelValue":e[5]||(e[5]=u=>i.dialog.show=u),"max-width":"600px"},{default:n(()=>[t(E,null,{default:n(()=>[t(K,{class:"text-h5 pa-4"},{default:n(()=>[o(w(i.dialog.title),1)]),_:1}),t(j,null,{default:n(()=>[t(st,null,{default:n(()=>[t(de,null,{default:n(()=>[t(z,{cols:"12"},{default:n(()=>[t(R,{modelValue:i.dialog.editedItem.name,"onUpdate:modelValue":e[3]||(e[3]=u=>i.dialog.editedItem.name=u),label:i.dialog.nameLabel,rules:[u=>!!u||"名称不能为空"],density:"comfortable",variant:"outlined"},null,8,["modelValue","label","rules"])]),_:1}),i.dialog.editedItem.type==="subjectBook"?(c(),g(z,{key:0,cols:"12"},{default:n(()=>[e[10]||(e[10]=m("div",{class:"text-subtitle-2 mb-2"},"所属科目",-1)),t(X,{color:"primary"},{default:n(()=>[o(w(i.dialog.editedItem.subject),1)]),_:1})]),_:1})):k("",!0),["subjectBook","commonBook"].includes(i.dialog.editedItem.type)?(c(),g(z,{key:1,cols:"12"},{default:n(()=>[t(E,{variant:"outlined"},{default:n(()=>[t(K,{class:"text-subtitle-1 py-2"},{default:n(()=>[...e[11]||(e[11]=[o("需完成部分",-1)])]),_:1}),t(j,{class:"pt-0"},{default:n(()=>[t(J,{border:"",class:"mb-2",density:"compact",rounded:""},{default:n(()=>[(c(!0),x(ne,null,ue(i.dialog.editedItem.tasks,(u,y)=>(c(),g(A,{key:y},{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-checkbox-blank-circle-outline",size:"small"})]),append:n(()=>[t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:T=>l.removeTask(y)},null,8,["onClick"])]),default:n(()=>[t(R,{modelValue:i.dialog.editedItem.tasks[y],"onUpdate:modelValue":T=>i.dialog.editedItem.tasks[y]=T,density:"compact","hide-details":"",variant:"plain"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024))),128))]),_:1}),t(R,{modelValue:i.newTask,"onUpdate:modelValue":e[4]||(e[4]=u=>i.newTask=u),"append-inner-icon":"mdi-plus",class:"mt-2",density:"comfortable",label:"添加需完成部分",variant:"outlined","onClick:appendInner":l.addTask,onKeyup:Ve(l.addTask,["enter"])},null,8,["modelValue","onClick:appendInner","onKeyup"])]),_:1})]),_:1})]),_:1})):k("",!0)]),_:1})]),_:1})]),_:1}),t(re,{class:"pa-4"},{default:n(()=>[t(te),t(h,{color:"primary",variant:"elevated",onClick:l.saveDialog},{default:n(()=>[...e[12]||(e[12]=[o(" 关闭 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"error",variant:"text",onClick:l.closeDialog},{default:n(()=>[...e[13]||(e[13]=[o(" 取消 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(tt,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[6]||(e[6]=u=>i.showSnackbar=u),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Bt=Y(ds,[["render",ms],["__scopeId","data-v-67769fa2"]]),fs={name:"SubjectManagementCard",components:{SettingsCard:ee},data(){return{loading:!1,error:null,subjects:[],originalSubjects:null,newSubjectName:"",showSnackbar:!1,snackbarText:"",snackbarColor:"success",defaultSubjects:[{name:"语文",order:0},{name:"数学",order:1},{name:"英语",order:2},{name:"物理",order:3},{name:"化学",order:4},{name:"生物",order:5},{name:"政治",order:6},{name:"历史",order:7},{name:"地理",order:8},{name:"其他",order:9}]}},computed:{hasChanges(){return this.originalSubjects&&JSON.stringify(this.subjects)!==JSON.stringify(this.originalSubjects)}},created(){this.loadConfig()},methods:{async loadConfig(){this.loading=!0;try{const s=await ae.loadData("classworks-config-subject");s?(this.subjects=s.map((e,a)=>({name:e.name,order:e.order??a})).sort((e,a)=>e.order-a.order),this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已加载","success")):(this.subjects=[],this.originalSubjects=[],this.showMessage("使用默认配置","info"))}catch(s){console.error("Failed to load config:",s),this.showMessage("加载失败,可继续编辑当前配置","warning")}this.loading=!1},async saveConfig(){this.loading=!0;try{const s=await ae.saveData("classworks-config-subject",this.subjects);if(s)this.originalSubjects=JSON.parse(JSON.stringify(this.subjects)),this.showMessage("配置已保存","success");else throw new Error(s||"保存失败")}catch(s){console.error("Failed to save config:",s),this.showMessage(`保存失败: ${s.message},请稍后重试`,"error")}this.loading=!1},showMessage(s,e="success"){this.snackbarText=s,this.snackbarColor=e,this.showSnackbar=!0},addSubject(){if(!this.newSubjectName)return;const s={name:this.newSubjectName,order:this.subjects.length};this.subjects.push(s),this.newSubjectName=""},updateSubject(s){const e=this.subjects.findIndex(a=>a.order===s.order);e>-1&&(this.subjects[e]={...s})},deleteSubject(s){const e=this.subjects.findIndex(a=>a.order===s.order);e>-1&&(this.subjects.splice(e,1),this.subjects.forEach((a,d)=>{a.order=d}))},moveSubject(s,e){const a=s+e;if(a>=0&&a{i.order=l})}},resetToDefault(){this.subjects=JSON.parse(JSON.stringify(this.defaultSubjects)),this.showMessage("已重置为默认科目列表","info")}}},ps={class:"d-flex justify-space-between align-center mb-6"},hs={class:"d-flex flex-column align-center mr-2"};function gs(s,e,a,d,i,l){const r=ee;return c(),g(r,{loading:i.loading,border:"",icon:"mdi-book-multiple",title:"科目管理"},{default:n(()=>[i.error?(c(),g($,{key:0,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):k("",!0),m("div",ps,[m("div",null,[t(h,{loading:i.loading,class:"mr-2",color:"primary","prepend-icon":"mdi-refresh",size:"large",variant:"text",onClick:l.loadConfig},{default:n(()=>[...e[2]||(e[2]=[o(" 重新加载 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{loading:i.loading,color:"success","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveConfig},{default:n(()=>[...e[3]||(e[3]=[o(" 保存 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{loading:i.loading,class:"mr-2","prepend-icon":"mdi-restore",variant:"text",onClick:l.resetToDefault},{default:n(()=>[...e[4]||(e[4]=[o(" 重置为默认 ",-1)])]),_:1},8,["loading","onClick"])]),l.hasChanges?(c(),g(X,{key:0,color:"warning",variant:"elevated"},{default:n(()=>[...e[5]||(e[5]=[o(" 有未保存的更改 ",-1)])]),_:1})):k("",!0)]),t(E,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(j,null,{default:n(()=>[t(de,null,{default:n(()=>[t(z,{cols:"12",sm:"6"},{default:n(()=>[t(R,{modelValue:i.newSubjectName,"onUpdate:modelValue":e[0]||(e[0]=p=>i.newSubjectName=p),rules:[p=>!!p||"科目名称不能为空"],"append-inner-icon":"mdi-plus",density:"comfortable",label:"科目名称",variant:"outlined",onKeyup:Ve(l.addSubject,["enter"]),"onClick:appendInner":l.addSubject},null,8,["modelValue","rules","onKeyup","onClick:appendInner"])]),_:1})]),_:1})]),_:1})]),_:1}),t(E,{variant:"outlined"},{default:n(()=>[t(j,{class:"pa-0"},{default:n(()=>[t(J,{lines:"one"},{default:n(()=>[(c(!0),x(ne,null,ue(i.subjects,(p,u)=>(c(),g(A,{key:p.order},{prepend:n(()=>[m("div",hs,[t(h,{disabled:u===0,icon:"mdi-chevron-up",size:"small",variant:"text",onClick:y=>l.moveSubject(u,-1)},null,8,["disabled","onClick"]),t(h,{disabled:u===i.subjects.length-1,icon:"mdi-chevron-down",size:"small",variant:"text",onClick:y=>l.moveSubject(u,1)},null,8,["disabled","onClick"])])]),append:n(()=>[t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:y=>l.deleteSubject(p)},null,8,["onClick"])]),default:n(()=>[t(L,null,{default:n(()=>[t(R,{modelValue:p.name,"onUpdate:modelValue":y=>p.name=y,density:"compact","hide-details":"",variant:"plain",onBlur:y=>l.updateSubject(p)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1}),t(tt,{modelValue:i.showSnackbar,"onUpdate:modelValue":e[1]||(e[1]=p=>i.showSnackbar=p),color:i.snackbarColor,timeout:3e3},{default:n(()=>[o(w(i.snackbarText),1)]),_:1},8,["modelValue","color"])]),_:1},8,["loading"])}const Lt=Y(fs,[["render",gs],["__scopeId","data-v-f87674cf"]]),ws={};function vs(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(J,null,{default:n(()=>[t(r,{"setting-key":"randomPicker.enabled"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.mode"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.minNumber"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.maxNumber"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.defaultCount"}),t(M,{class:"my-2"}),t(r,{"setting-key":"randomPicker.animation"})]),_:1})]),_:1})}const zt=Y(ws,[["render",vs]]),bs={name:"HitokotoSettings",components:{SettingGroup:We,SettingItem:_e},data(){return{kvConfig:{sources:["zhaoyu"],sensitiveWords:"",jinrishiciToken:null},loading:!1,testLoading:!1,testMessage:"",testColor:"info",testResultDialog:!1,testResultData:null,enableCloudSensitiveWords:!0}},mounted(){this.loadKvSettings()},methods:{async loadKvSettings(){this.loading=!0;try{const s=await ae.loadData("sentence-info");let e=s;s&&s.data&&(e=s.data),e&&(this.kvConfig={sources:Array.isArray(e.sources)?e.sources:["zhaoyu"],sensitiveWords:e.sensitiveWords||"",jinrishiciToken:e.jinrishiciToken})}catch(s){console.error("Failed to load sentence-info",s)}finally{this.loading=!1}},async saveKvSettings(){this.loading=!0;try{if(this.kvConfig.sources.includes("jinrishici")&&!this.kvConfig.jinrishiciToken)try{const s=await Qe.get("https://v2.jinrishici.com/token");s.data.status==="success"&&(this.kvConfig.jinrishiciToken=s.data.data)}catch(s){console.error("Failed to get jinrishici token",s)}await ae.saveData("sentence-info",this.kvConfig)}catch(s){console.error("Failed to save sentence-info",s)}finally{this.loading=!1}},async testJinrishici(){var s,e;this.testLoading=!0,this.testMessage="",this.testColor="info";try{const a={};this.kvConfig.jinrishiciToken&&(a["X-User-Token"]=this.kvConfig.jinrishiciToken);const d=await Qe.get("https://v2.jinrishici.com/info?X-User-Token="+encodeURIComponent(this.kvConfig.jinrishiciToken));if(d.data&&d.data.status==="success"){this.testResultData=d.data,this.testResultDialog=!0;const i=(s=d.data.data)==null?void 0:s.token,l=(e=d.data.data)==null?void 0:e.region,r=this.kvConfig.jinrishiciToken?i===this.kvConfig.jinrishiciToken:!0;this.testColor=r?"success":"warning",this.testMessage=r?`接口正常,Token 一致:${i}${l?`,地区:${l}`:""}`:`接口返回 Token 与当前设置不一致:${i}${l?`,地区:${l}`:""}`}else this.testColor="error",this.testMessage="接口返回非 success,请检查网络或 Token 配置。"}catch(a){console.error("Failed to test jinrishici info",a),this.testColor="error",this.testMessage="接口测试失败,请检查网络或 Token。"}finally{this.testLoading=!1}}}},ys={class:"d-flex flex-wrap gap-2"},ks={class:"text-caption text-orange mt-2"},xs={class:"d-flex flex-column flex-sm-row align-center w-100"},Ss={key:2,class:"text-center pb-4"},Cs={class:"d-flex align-center mb-2"},_s={class:"text-body-1 font-weight-medium"},Vs={class:"d-flex align-center mb-2"},Ds={class:"text-body-1 font-weight-medium"},As={class:"d-flex align-center mb-2"},Ts={class:"text-body-1 font-weight-medium"},Is={class:"d-flex align-center mb-2"},js={class:"text-body-2 font-weight-medium"},Es={class:"d-flex align-center mb-2"},Us={class:"text-body-1 font-weight-medium"},Ns={class:"d-flex align-center mb-2"},Ms={class:"text-body-1 font-weight-medium"},Ps={class:"px-4 py-3"},Bs={class:"d-flex flex-wrap gap-2"};function Ls(s,e,a,d,i,l){const r=_e,p=We;return c(),x("div",null,[t(p,{title:"一言设置",icon:"mdi-comment-quote"},{default:n(()=>[t(r,{"setting-key":"hitokoto.enabled"}),t(r,{"setting-key":"hitokoto.refreshInterval"})]),_:1}),t(p,{title:"数据源配置",icon:"mdi-cloud-sync",class:"mt-4"},{default:n(()=>[e[13]||(e[13]=m("div",{class:"text-caption text-grey px-4 pt-2 pb-2"},"以下配置将同步到云端,对所有连接此班级的设备生效。",-1)),t(A,null,{default:n(()=>[t(L,{class:"mb-2"},{default:n(()=>[...e[7]||(e[7]=[o("启用数据源",-1)])]),_:1}),m("div",ys,[t(Ce,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[0]||(e[0]=u=>i.kvConfig.sources=u),l.saveKvSettings],label:"一言 (Hitokoto)",value:"hitokoto","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(Ce,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[1]||(e[1]=u=>i.kvConfig.sources=u),l.saveKvSettings],label:"诏预 (Zhaoyu)",value:"zhaoyu","hide-details":"",density:"compact",class:"mr-4",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"]),t(Ce,{modelValue:i.kvConfig.sources,"onUpdate:modelValue":[e[2]||(e[2]=u=>i.kvConfig.sources=u),l.saveKvSettings],label:"今日诗词 (Jinrishici)",value:"jinrishici","hide-details":"",density:"compact",disabled:i.loading},null,8,["modelValue","disabled","onUpdate:modelValue"])]),m("div",ks,[t(v,{size:"x-small",color:"orange",class:"mr-1"},{default:n(()=>[...e[8]||(e[8]=[o("mdi-alert",-1)])]),_:1}),e[9]||(e[9]=o(" 一言(Hitokoto)数据源已收到关于存在负面内容的大量反馈,请用户谨慎启用。 ",-1))])]),_:1}),i.kvConfig.sources.includes("jinrishici")?(c(),g(A,{key:0},{default:n(()=>[t(R,{modelValue:i.kvConfig.jinrishiciToken,"onUpdate:modelValue":e[3]||(e[3]=u=>i.kvConfig.jinrishiciToken=u),label:"今日诗词 Token",variant:"outlined",density:"comfortable",disabled:i.loading,hint:"留空则自动获取,也可以手动输入已有 Token","persistent-hint":"",class:"mt-2",onChange:l.saveKvSettings},null,8,["modelValue","disabled","onChange"])]),_:1})):k("",!0),i.kvConfig.sources.includes("jinrishici")?(c(),g(A,{key:1},{default:n(()=>[m("div",xs,[t(h,{loading:i.testLoading,color:"primary",variant:"outlined",class:"mr-sm-4 mb-2 mb-sm-0",onClick:l.testJinrishici},{default:n(()=>[...e[10]||(e[10]=[o(" 测试今日诗词接口 ",-1)])]),_:1},8,["loading","onClick"]),i.testMessage?(c(),g($,{key:0,type:i.testColor,density:"comfortable",border:"start",class:"flex-grow-1"},{default:n(()=>[o(w(i.testMessage),1)]),_:1},8,["type"])):k("",!0)])]),_:1})):k("",!0),t(A,null,{default:n(()=>[t(Ie,{modelValue:i.kvConfig.sensitiveWords,"onUpdate:modelValue":e[4]||(e[4]=u=>i.kvConfig.sensitiveWords=u),disabled:i.loading,label:"敏感词过滤 (用逗号分隔)",variant:"outlined",rows:"3","auto-grow":"","hide-details":"",class:"mt-2 mb-2",onChange:l.saveKvSettings},null,8,["modelValue","disabled","onChange"])]),_:1}),t(A,null,{default:n(()=>[t(Ce,{label:"启用云端敏感词列表","hide-details":"",modelValue:i.enableCloudSensitiveWords,"onUpdate:modelValue":e[5]||(e[5]=u=>i.enableCloudSensitiveWords=u),density:"compact",disabled:"",class:"mb-2"},null,8,["modelValue"]),e[11]||(e[11]=m("div",{class:"text-caption text-grey"},[o(" 已启用的数据源将在获取一言时随机尝试,直到成功获取内容为止。"),m("br"),o(" 敏感词过滤会将包含任意敏感词的句子过滤掉,避免显示不当内容。"),m("br")],-1))]),_:1}),i.loading?(c(),x("div",Ss,[t(Dt,{indeterminate:"",size:"24",color:"primary"}),e[12]||(e[12]=m("span",{class:"ml-2 text-caption"},"正在同步配置...",-1))])):k("",!0)]),_:1}),t(we,{modelValue:i.testResultDialog,"onUpdate:modelValue":e[6]||(e[6]=u=>i.testResultDialog=u),"max-width":"600"},{default:n(()=>[i.testResultData?(c(),g(E,{key:0,class:"rounded-lg"},{default:n(()=>[t(j,{class:"pa-0"},{default:n(()=>[t(J,{lines:"two",class:"py-0"},{default:n(()=>[t(A,{class:"px-4 py-3"},{prepend:n(()=>[t(Ge,{color:"primary",variant:"tonal",class:"mr-2"},{default:n(()=>[t(v,{icon:"mdi-key-variant"})]),_:1})]),default:n(()=>[t(L,{class:"text-subtitle-2 font-weight-bold mb-1"},{default:n(()=>[...e[14]||(e[14]=[o("Token",-1)])]),_:1}),t(ie,{class:"text-body-2 text-high-emphasis",style:{"word-break":"break-all"}},{default:n(()=>[o(w(i.testResultData.data.token),1)]),_:1})]),_:1}),t(M),t(de,{"no-gutters":""},{default:n(()=>[t(z,{cols:"6"},{default:n(()=>[t(A,{class:"px-4 py-2"},{prepend:n(()=>[t(v,{icon:"mdi-ip-network",color:"grey-darken-1",class:"mr-2"})]),default:n(()=>[t(L,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[15]||(e[15]=[o("IP 地址",-1)])]),_:1}),t(ie,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.ip),1)]),_:1})]),_:1})]),_:1}),t(z,{cols:"6"},{default:n(()=>[t(A,{class:"px-4 py-2"},{prepend:n(()=>[t(v,{icon:"mdi-map-marker-radius",color:"grey-darken-1",class:"mr-2"})]),default:n(()=>[t(L,{class:"text-caption text-grey-darken-1"},{default:n(()=>[...e[16]||(e[16]=[o("地区",-1)])]),_:1}),t(ie,{class:"text-body-2"},{default:n(()=>[o(w(i.testResultData.data.region),1)]),_:1})]),_:1})]),_:1})]),_:1}),t(M),t(st,{class:"px-4 py-3"},{default:n(()=>[t(de,{dense:""},{default:n(()=>[t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Cs,[t(v,{icon:"mdi-thermometer",color:"orange",class:"mr-2"}),m("div",null,[e[17]||(e[17]=m("div",{class:"text-caption text-grey"},"温度",-1)),m("div",_s,w(i.testResultData.data.weatherData.temperature)+"°C",1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Vs,[t(v,{icon:"mdi-weather-cloudy",color:"blue-grey",class:"mr-2"}),m("div",null,[e[18]||(e[18]=m("div",{class:"text-caption text-grey"},"天气",-1)),m("div",Ds,w(i.testResultData.data.weatherData.weather),1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",As,[t(v,{icon:"mdi-water-percent",color:"blue",class:"mr-2"}),m("div",null,[e[19]||(e[19]=m("div",{class:"text-caption text-grey"},"湿度",-1)),m("div",Ts,w(i.testResultData.data.weatherData.humidity)+"%",1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Is,[t(v,{icon:"mdi-weather-windy",color:"teal",class:"mr-2"}),m("div",null,[e[20]||(e[20]=m("div",{class:"text-caption text-grey"},"风向/风力",-1)),m("div",js,w(i.testResultData.data.weatherData.windDirection)+" "+w(i.testResultData.data.weatherData.windPower)+"级 ",1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Es,[t(v,{icon:"mdi-blur",color:"grey",class:"mr-2"}),m("div",null,[e[21]||(e[21]=m("div",{class:"text-caption text-grey"},"PM2.5",-1)),m("div",Us,w(i.testResultData.data.weatherData.pm25),1)])])]),_:1}),t(z,{cols:"6",sm:"4"},{default:n(()=>[m("div",Ns,[t(v,{icon:"mdi-eye",color:"indigo",class:"mr-2"}),m("div",null,[e[22]||(e[22]=m("div",{class:"text-caption text-grey"},"能见度",-1)),m("div",Ms,w(i.testResultData.data.weatherData.visibility),1)])])]),_:1})]),_:1})]),_:1}),t(M),m("div",Ps,[e[23]||(e[23]=m("div",{class:"text-caption text-grey mb-2"},"环境标签",-1)),m("div",Bs,[(c(!0),x(ne,null,ue(i.testResultData.data.tags,u=>(c(),g(X,{key:u,size:"small",color:"primary",variant:"tonal",class:"mr-1 mb-1"},{default:n(()=>[o(w(u),1)]),_:2},1024))),128))])]),t(M),t(A,{class:"px-4 py-2"},{prepend:n(()=>[t(v,{icon:"mdi-clock-outline",size:"small",class:"mr-2"})]),default:n(()=>[t(L,{class:"text-caption text-grey-darken-1"},{default:n(()=>[o(" 北京时间: "+w(new Date(i.testResultData.data.beijingTime).toLocaleString()),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})):k("",!0)]),_:1},8,["modelValue"])])}const Ot=Y(bs,[["render",Ls]]),zs={name:"NotificationSoundSettings",data(){return{singleSound:"",urgentSound:"",currentAudio:null,showAutoplayWarning:!0}},computed:{soundOptions(){return fn.map(s=>({title:s.replace(".mp3",""),value:s}))}},mounted(){this.loadSettings()},beforeUnmount(){this.stopPreview()},methods:{loadSettings(){this.singleSound=_("notification.singleSound"),this.urgentSound=_("notification.urgentSound")},onSingleSoundChange(s){var e;xe("notification.singleSound",s),(e=this.$message)==null||e.success("设置已保存",`单次通知铃声: ${s}`)},onUrgentSoundChange(s){var e;xe("notification.urgentSound",s),(e=this.$message)==null||e.success("设置已保存",`紧急通知铃声: ${s}`)},async previewSound(s){var e,a;this.showAutoplayWarning=!1,this.stopPreview();try{const d=await this.playSoundWithPromise(s,!1);this.currentAudio=d,this.currentAudio&&this.currentAudio.addEventListener("ended",()=>{this.currentAudio=null},{once:!0})}catch(d){console.error("播放音频失败:",d),d.name==="NotAllowedError"?(e=this.$message)==null||e.warning("无法播放音频","浏览器阻止了自动播放,请再次点击试听按钮"):(a=this.$message)==null||a.error("播放失败","音频文件加载失败,请稍后重试")}},playSoundWithPromise(s,e=!1){return new Promise((a,d)=>{const i=this.getSoundPath(s);if(!i){d(new Error("音频文件不存在"));return}try{const l=new Audio(i);l.loop=e,l.play().then(()=>{a(l)}).catch(r=>{d(r)})}catch(l){d(l)}})},getSoundPath(s){if(!s)return null;try{return`/sounds/${s}`}catch{return null}},stopPreview(){this.currentAudio&&(mn(this.currentAudio),this.currentAudio=null)},resetSingleSound(){var s;this.singleSound="Teams 默认.mp3",xe("notification.singleSound",this.singleSound),(s=this.$message)==null||s.success("已恢复单次通知铃声默认设置")},resetUrgentSound(){var s;this.urgentSound="Teams 默认通话铃.mp3",xe("notification.urgentSound",this.urgentSound),(s=this.$message)==null||s.success("已恢复紧急通知铃声默认设置")}}},Os={class:"d-flex align-center"},Rs={class:"mt-3 d-flex gap-2"},Ks={class:"mt-3 d-flex gap-2"};function Fs(s,e,a,d,i,l){return c(),g(E,{class:"notification-sound-settings"},{default:n(()=>[t(K,null,{default:n(()=>[...e[5]||(e[5]=[o(" 通知铃声设置 ",-1)])]),_:1}),t(j,null,{default:n(()=>[i.showAutoplayWarning?(c(),g($,{key:0,type:"info",variant:"tonal",closable:"",class:"mb-4","onClick:close":e[0]||(e[0]=r=>i.showAutoplayWarning=!1)},{default:n(()=>[m("div",Os,[t(v,{class:"mr-2"},{default:n(()=>[...e[6]||(e[6]=[o("mdi-information",-1)])]),_:1}),e[7]||(e[7]=m("span",null,"首次使用请点击试听按钮测试音频播放是否正常",-1))])]),_:1})):k("",!0),t(de,null,{default:n(()=>[t(z,{cols:"12"},{default:n(()=>[t(E,{border:""},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[8]||(e[8]=[o("mdi-bell-ring",-1)])]),_:1}),e[9]||(e[9]=o(" 单次通知铃声 ",-1))]),_:1}),t(j,null,{default:n(()=>[t(Je,{modelValue:i.singleSound,"onUpdate:modelValue":[e[1]||(e[1]=r=>i.singleSound=r),l.onSingleSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:r,item:p})=>[t(A,je(r,{onClick:u=>l.previewSound(p.value)}),{prepend:n(()=>[t(v,null,{default:n(()=>[...e[10]||(e[10]=[o("mdi-music-note",-1)])]),_:1})]),append:n(()=>[t(h,{icon:"",size:"small",variant:"text",onClick:Ae(u=>l.previewSound(p.value),["stop"])},{default:n(()=>[t(v,null,{default:n(()=>[...e[11]||(e[11]=[o("mdi-play",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1040,["onClick"])]),_:1},8,["modelValue","items","onUpdate:modelValue"]),m("div",Rs,[t(h,{color:"primary",variant:"tonal",onClick:e[2]||(e[2]=r=>l.previewSound(i.singleSound))},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[12]||(e[12]=[o("mdi-play",-1)])]),_:1}),e[13]||(e[13]=o(" 试听 ",-1))]),_:1}),t(h,{onClick:l.resetSingleSound},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[14]||(e[14]=[o("mdi-restore",-1)])]),_:1}),e[15]||(e[15]=o(" 恢复 ",-1))]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1}),t(z,{cols:"12"},{default:n(()=>[t(E,{border:""},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{left:"",color:"error"},{default:n(()=>[...e[16]||(e[16]=[o("mdi-bell-alert",-1)])]),_:1}),e[17]||(e[17]=o(" 紧急通知铃声 ",-1))]),_:1}),t(j,null,{default:n(()=>[t(Je,{modelValue:i.urgentSound,"onUpdate:modelValue":[e[3]||(e[3]=r=>i.urgentSound=r),l.onUrgentSoundChange],items:l.soundOptions,label:"选择铃声","prepend-icon":"mdi-music-note",variant:"outlined",density:"comfortable"},{item:n(({props:r,item:p})=>[t(A,je(r,{onClick:u=>l.previewSound(p.value)}),{prepend:n(()=>[t(v,null,{default:n(()=>[...e[18]||(e[18]=[o("mdi-music-note",-1)])]),_:1})]),append:n(()=>[t(h,{icon:"",size:"small",variant:"text",onClick:Ae(u=>l.previewSound(p.value),["stop"])},{default:n(()=>[t(v,null,{default:n(()=>[...e[19]||(e[19]=[o("mdi-play",-1)])]),_:1})]),_:1},8,["onClick"])]),_:2},1040,["onClick"])]),_:1},8,["modelValue","items","onUpdate:modelValue"]),m("div",Ks,[t(h,{color:"error",variant:"tonal",onClick:e[4]||(e[4]=r=>l.previewSound(i.urgentSound))},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[20]||(e[20]=[o("mdi-play",-1)])]),_:1}),e[21]||(e[21]=o(" 试听 ",-1))]),_:1}),t(h,{onClick:l.resetUrgentSound},{default:n(()=>[t(v,{left:""},{default:n(()=>[...e[22]||(e[22]=[o("mdi-restore",-1)])]),_:1}),e[23]||(e[23]=o(" 恢复 ",-1))]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Rt=Y(zs,[["render",Fs],["__scopeId","data-v-55be56a4"]]),Js={name:"ThemeSettingsCard",components:{SettingsCard:ee},data(){return{localTheme:_("theme.mode")}},watch:{localTheme(s){xe("theme.mode",s),this.updateTheme(s)}},setup(){return{theme:vn()}},methods:{updateTheme(s){this.theme.global.name.value=s}}};function Qs(s,e,a,d,i,l){const r=ee;return c(),g(r,{icon:"mdi-palette",title:"主题设置"},{default:n(()=>[t(J,null,{default:n(()=>[t(A,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-theme-light-dark"})]),append:n(()=>[t(bn,{modelValue:i.localTheme,"onUpdate:modelValue":e[0]||(e[0]=p=>i.localTheme=p),color:"primary",density:"comfortable"},{default:n(()=>[t(h,{value:"light"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-white-balance-sunny"}),e[3]||(e[3]=o(" 明亮 ",-1))]),_:1}),t(h,{value:"dark"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-moon-waning-crescent"}),e[4]||(e[4]=o(" 暗黑 ",-1))]),_:1})]),_:1},8,["modelValue"])]),default:n(()=>[t(L,null,{default:n(()=>[...e[1]||(e[1]=[o("主题模式",-1)])]),_:1}),t(ie,null,{default:n(()=>[...e[2]||(e[2]=[o("选择明亮或暗黑主题",-1)])]),_:1})]),_:1})]),_:1})]),_:1})}const Kt=Y(Js,[["render",Qs]]),Hs={name:"DisplaySettingsCard",components:{SettingsCard:ee,SettingItem:_e},data(){return{}}};function Gs(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{border:"",icon:"mdi-monitor",title:"显示设置"},{default:n(()=>[t(J,null,{default:n(()=>[t(r,{"setting-key":"display.emptySubjectDisplay"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.dynamicSort"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showRandomButton"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showFullscreenButton"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.cardHoverEffect"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.enhancedTouchMode"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showQuickTools"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showAntiScreenBurnCard"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.showExamScheduleButton"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.forceDesktopMode"}),t(M,{class:"my-2"}),t(r,{"setting-key":"display.lateStudentsArePresent"})]),_:1})]),_:1})}const Ft=Y(Hs,[["render",Gs]]),Ws={};function Ys(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{icon:"mdi-cog",title:"编辑设置"},{default:n(()=>[t(J,null,{default:n(()=>[t(r,{"setting-key":"edit.autoSave"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.blockNonTodayAutoSave"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.confirmNonTodaySave"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.refreshBeforeEdit"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.autoSavePromptText"}),t(M,{class:"my-2"}),t(r,{"setting-key":"edit.manualSavePromptText"})]),_:1})]),_:1})}const Jt=Y(Ws,[["render",Ys]]),qs={name:"RefreshSettingsCard",components:{SettingsCard:ee},data(){return{}}};function Zs(s,e,a,d,i,l){const r=_e,p=ee;return c(),g(p,{icon:"mdi-refresh-circle",title:"刷新设置"},{default:n(()=>[t(jt,null,{default:n(()=>[t(J,null,{default:n(()=>[t(r,{"setting-key":"refresh.auto",title:"自动刷新"}),t(M,{class:"my-2"}),t(r,{"setting-key":"refresh.interval",title:"刷新间隔"})]),_:1})]),_:1})]),_:1})}const Qt=Y(qs,[["render",Zs]]),Xs={name:"SettingsLinkGenerator",data(){return{selectedItems:[],generatedLink:"",linkCopied:!1,search:"",preconfigForm:{namespace:"",authCode:"",autoExecute:!1},unifiedLink:"",headers:[{title:"",key:"data-table-select"},{title:"设置项",key:"description",sortable:!0},{title:"当前值",key:"value",sortable:!0},{title:"键名",key:"key",class:"d-none d-sm-table-cell",sortable:!0},{title:"状态",key:"isChanged",sortable:!0}]}},computed:{settingItems(){const s=Be(),e=[];for(const[a,d]of Object.entries(et)){if(d.requireDeveloper&&!s["developer.enabled"])continue;const i=s[a]!==d.default;e.push({key:a,description:d.description||a,value:s[a],icon:d.icon||"mdi-cog",isChanged:i,defaultValue:d.default})}return e.sort((a,d)=>a.key.localeCompare(d.key))},filteredItems(){if(!this.search)return this.settingItems;const s=this.search.toLowerCase();return s==="已修改"?this.settingItems.filter(e=>e.isChanged):s==="是"||s==="否"?this.settingItems.filter(e=>typeof e.value=="boolean"&&(s==="是"?e.value:!e.value)):this.settingItems.filter(e=>{const a=e.description.toLowerCase(),d=e.key.toLowerCase(),i=String(e.value).toLowerCase(),l=e.isChanged?"已修改":"默认";return a.includes(s)||d.includes(s)||i.includes(s)||l.includes(s)})},hasDisplaySettings(){return this.selectedItems.some(s=>s.startsWith("display."))},hasEditSettings(){return this.selectedItems.some(s=>s.startsWith("edit."))},hasServerSettings(){return this.selectedItems.some(s=>s.startsWith("server."))},hasChangedSettings(){const s=Be();return this.selectedItems.some(e=>{const a=et[e];return a&&s[e]!==a.default})}},methods:{handleSelectionChange(s){this.selectedItems=s.map(e=>e.key),this.generateLink()},generateLink(){const s=`${window.location.protocol}//${window.location.host}/`,e=Be(),a={};for(const d of this.selectedItems)a[d]=e[d];if(Object.keys(a).length===0){this.generatedLink=s;return}try{const d=JSON.stringify(a),l=new TextEncoder().encode(d),p={config:btoa(Array.from(l).map(I=>String.fromCharCode(I)).join(""))},y=new URLSearchParams(window.location.search).get("date");y&&(p.date=y);const T=new URLSearchParams(p).toString();this.generatedLink=`${s}?${T}`}catch(d){console.error("生成链接失败:",d),this.generatedLink="链接生成失败,请重试"}this.linkCopied=!1},async copyLink(){this.generatedLink||this.generateLink();try{await navigator.clipboard.writeText(this.generatedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(s){console.error("复制链接失败:",s)}},resetSelection(){this.selectedItems=[],this.generatedLink="",this.linkCopied=!1},selectAll(){this.selectedItems=this.settingItems.map(s=>s.key),this.generateLink()},selectDataSourceSettings(){const s=this.settingItems.filter(e=>e.key.startsWith("server.")&&e.key!=="server.kvToken").map(e=>e.key);this.selectedItems=s,this.generateLink()},selectChangedSettings(){const s=this.settingItems.filter(e=>e.isChanged&&e.key!=="server.kvToken").map(e=>e.key);this.selectedItems=s,this.generateLink()},selectByPrefix(s){const e=this.settingItems.filter(a=>a.key.startsWith(`${s}.`)).map(a=>a.key);this.selectedItems=e},autoGenerateLink(){this.selectedItems.length>0?this.generateLink():this.generatedLink=""},getSettingDescription(s){const e=this.settingItems.find(a=>a.key===s);return e?e.description:s},generateUnifiedLink(){if(this.preconfigForm.namespace.trim())try{const s=`${window.location.protocol}//${window.location.host}/`,e=new URLSearchParams;if(e.append("namespace",this.preconfigForm.namespace.trim()),this.preconfigForm.authCode.trim()&&e.append("authCode",this.preconfigForm.authCode.trim()),this.preconfigForm.autoExecute&&e.append("autoExecute","true"),this.selectedItems.length>0){const a=Be(),d={};for(const u of this.selectedItems)d[u]=a[u];const i=JSON.stringify(d),r=new TextEncoder().encode(i),p=btoa(Array.from(r).map(u=>String.fromCharCode(u)).join(""));e.append("config",p)}this.unifiedLink=`${s}?${e.toString()}`,this.linkCopied=!1,console.log("生成统一链接:",this.unifiedLink),console.log("包含预配置:",!!this.preconfigForm.namespace),console.log("包含设置数量:",this.selectedItems.length)}catch(s){console.error("生成统一链接失败:",s),this.unifiedLink="链接生成失败,请重试"}},async copyUnifiedLink(){if(this.unifiedLink||this.generateUnifiedLink(),!(!this.unifiedLink||this.unifiedLink.includes("失败")))try{await navigator.clipboard.writeText(this.unifiedLink),this.linkCopied=!0,setTimeout(()=>{this.linkCopied=!1},3e3)}catch(s){console.error("复制统一链接失败:",s)}},openTestLink(){this.unifiedLink&&!this.unifiedLink.includes("失败")&&window.open(this.unifiedLink,"_blank")},clearAll(){this.preconfigForm={namespace:"",authCode:"",autoExecute:!1},this.selectedItems=[],this.unifiedLink="",this.generatedLink="",this.linkCopied=!1}},watch:{selectedItems:{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()},deep:!0},"preconfigForm.namespace":{handler(){this.preconfigForm.namespace.trim()?this.generateUnifiedLink():this.unifiedLink=""}},"preconfigForm.authCode":{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()}},"preconfigForm.autoExecute":{handler(){this.preconfigForm.namespace.trim()&&this.generateUnifiedLink()}}}},$s={class:"d-flex mb-3 gap-2 flex-wrap"},ei={class:"d-flex align-center mb-3 flex-wrap gap-2"},ti={class:"d-flex align-center"},ni={class:"d-flex align-center"},si={key:0},ii={key:1},li={key:2},oi={class:"text-caption text-grey"},ai={class:"d-flex mb-3 gap-2 flex-wrap"},ri={class:"d-flex flex-wrap gap-1"};function ui(s,e,a,d,i,l){return c(),x("div",null,[t(E,{border:"",class:"unified-link-generator"},{default:n(()=>[t(K,{class:"text-h6"},{default:n(()=>[t(v,{class:"mr-2",icon:"mdi-link-variant",start:""}),e[6]||(e[6]=o(" 统一链接生成器 ",-1))]),_:1}),t(j,null,{default:n(()=>[e[35]||(e[35]=m("div",{class:"text-body-2 text-medium-emphasis mb-4"}," 生成包含预配置认证信息和设置的统一链接。可以同时预配置设备认证和应用设置。 ",-1)),t(E,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{start:""},{default:n(()=>[...e[7]||(e[7]=[o("mdi-account-key",-1)])]),_:1}),e[8]||(e[8]=o(" 预配置认证信息 ",-1))]),_:1}),t(j,null,{default:n(()=>[t(de,null,{default:n(()=>[t(z,{cols:"12",md:"6"},{default:n(()=>[t(R,{modelValue:i.preconfigForm.namespace,"onUpdate:modelValue":e[0]||(e[0]=r=>i.preconfigForm.namespace=r),hint:"设备的命名空间标识符",label:"命名空间","persistent-hint":"",placeholder:"例如: classroom-001","prepend-inner-icon":"mdi-identifier",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(z,{cols:"12",md:"6"},{default:n(()=>[t(R,{modelValue:i.preconfigForm.authCode,"onUpdate:modelValue":e[1]||(e[1]=r=>i.preconfigForm.authCode=r),hint:"留空则需要用户手动输入",label:"认证码","persistent-hint":"",placeholder:"设备认证码(可选)","prepend-inner-icon":"mdi-lock-outline",variant:"outlined"},null,8,["modelValue"])]),_:1})]),_:1}),t(de,{class:"mt-2"},{default:n(()=>[t(z,{cols:"12"},{default:n(()=>[t(Ce,{modelValue:i.preconfigForm.autoExecute,"onUpdate:modelValue":e[2]||(e[2]=r=>i.preconfigForm.autoExecute=r),density:"compact",hint:"启用后会自动尝试认证,即使没有认证码也会尝试",label:"自动执行认证","persistent-hint":""},null,8,["modelValue"])]),_:1})]),_:1}),i.preconfigForm.namespace?(c(),g($,{key:0,class:"mt-3",type:"info",variant:"tonal"},{default:n(()=>[e[13]||(e[13]=m("div",{class:"text-subtitle-2 mb-2"},"预配置信息:",-1)),t(X,{class:"mr-2 mb-1",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[9]||(e[9]=[o("mdi-identifier",-1)])]),_:1}),o(" 命名空间: "+w(i.preconfigForm.namespace),1)]),_:1}),i.preconfigForm.authCode?(c(),g(X,{key:0,class:"mr-2 mb-1",color:"warning",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[10]||(e[10]=[o("mdi-lock",-1)])]),_:1}),o(" 认证码: "+w(i.preconfigForm.authCode.length>8?i.preconfigForm.authCode.substring(0,8)+"...":i.preconfigForm.authCode),1)]),_:1})):(c(),g(X,{key:1,class:"mr-2 mb-1",color:"grey",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[11]||(e[11]=[o("mdi-lock-open",-1)])]),_:1}),e[12]||(e[12]=o(" 无认证码 ",-1))]),_:1})),t(X,{color:i.preconfigForm.autoExecute?"success":"orange",class:"mr-2 mb-1",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[o(w(i.preconfigForm.autoExecute?"mdi-play-circle":"mdi-hand-back-left"),1)]),_:1}),o(" "+w(i.preconfigForm.autoExecute?"自动认证":"手动认证"),1)]),_:1},8,["color"])]),_:1})):k("",!0)]),_:1})]),_:1}),t(E,{class:"mb-4",variant:"tonal"},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{start:""},{default:n(()=>[...e[14]||(e[14]=[o("mdi-cog-transfer",-1)])]),_:1}),e[15]||(e[15]=o(" 设置分享(可选) ",-1))]),_:1}),t(j,null,{default:n(()=>[e[22]||(e[22]=m("div",{class:"text-body-2 text-medium-emphasis mb-3"}," 选择需要包含在链接中的设置项。如果不选择任何设置,将只生成预配置认证链接。 ",-1)),m("div",$s,[t(h,{color:"primary","prepend-icon":"mdi-server-network",size:"small",variant:"tonal",onClick:l.selectDataSourceSettings},{default:n(()=>[...e[16]||(e[16]=[o(" 数据源设置 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"primary","prepend-icon":"mdi-compare",size:"small",variant:"tonal",onClick:l.selectChangedSettings},{default:n(()=>[...e[17]||(e[17]=[o(" 已变更设置 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"success","prepend-icon":"mdi-select-all",size:"small",variant:"tonal",onClick:l.selectAll},{default:n(()=>[...e[18]||(e[18]=[o(" 全选 ",-1)])]),_:1},8,["onClick"]),t(h,{color:"error","prepend-icon":"mdi-select-remove",size:"small",variant:"tonal",onClick:l.resetSelection},{default:n(()=>[...e[19]||(e[19]=[o(" 清除选择 ",-1)])]),_:1},8,["onClick"])]),m("div",ei,[t(X,{class:"mr-2",color:"primary"},{default:n(()=>[o(" 已选 "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1}),i.selectedItems.length>0?(c(),x(ne,{key:0},[(c(!0),x(ne,null,ue(i.selectedItems.slice(0,3),r=>(c(),g(X,{key:r,class:"mr-1",size:"small",variant:"text"},{default:n(()=>[o(w(l.getSettingDescription(r)),1)]),_:2},1024))),128)),i.selectedItems.length>3?(c(),g(X,{key:0,color:"grey",size:"small",variant:"text"},{default:n(()=>[o(" +"+w(i.selectedItems.length-3)+" 更多 ",1)]),_:1})):k("",!0)],64)):k("",!0)]),t(it,{variant:"accordion"},{default:n(()=>[t(lt,null,{default:n(()=>[t(Et,null,{default:n(({expanded:r})=>[m("div",ti,[t(v,{class:"mr-2"},{default:n(()=>[o(w(r?"mdi-chevron-up":"mdi-chevron-down"),1)]),_:2},1024),e[20]||(e[20]=o(" 显示设置列表详情 ",-1))])]),_:1}),t(ot,null,{default:n(()=>[t(R,{modelValue:i.search,"onUpdate:modelValue":e[3]||(e[3]=r=>i.search=r),class:"mb-4",clearable:"","hide-details":"",label:"搜索设置","prepend-inner-icon":"mdi-magnify","single-line":""},null,8,["modelValue"]),t(Ut,{modelValue:i.selectedItems,"onUpdate:modelValue":e[4]||(e[4]=r=>i.selectedItems=r),headers:i.headers,items:l.filteredItems,"items-per-page":l.settingItems.length,"sort-by":[{key:"isChanged",order:"desc"}],class:"rounded setting-table",density:"compact","item-value":"key","show-select":"","onUpdate:selected":l.handleSelectionChange},{"item.description":n(({item:r})=>[m("div",ni,[t(v,{icon:r.icon,class:"mr-2",size:"small"},null,8,["icon"]),o(" "+w(r.description)+" ",1),r.key==="server.kvToken"?(c(),g(X,{key:0,class:"ml-2",color:"error",size:"x-small"},{default:n(()=>[...e[21]||(e[21]=[o(" 敏感 ",-1)])]),_:1})):k("",!0)])]),"item.value":n(({item:r})=>[typeof r.value=="boolean"?(c(),x("span",si,w(r.value?"是":"否"),1)):r.key==="server.kvToken"&&r.value?(c(),x("span",ii,w(r.value.substring(0,8))+"... ",1)):(c(),x("span",li,w(r.value),1))]),"item.key":n(({item:r})=>[m("span",oi,w(r.key),1)]),"item.isChanged":n(({item:r})=>[t(X,{color:r.isChanged?"warning":"success",text:r.isChanged?"已修改":"默认",density:"compact",size:"x-small"},null,8,["color","text"])]),_:2},1032,["modelValue","headers","items","items-per-page","onUpdate:selected"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),t(E,{class:"mb-4",variant:"outlined"},{default:n(()=>[t(K,{class:"text-subtitle-1"},{default:n(()=>[t(v,{start:""},{default:n(()=>[...e[23]||(e[23]=[o("mdi-link",-1)])]),_:1}),e[24]||(e[24]=o(" 生成的统一链接 ",-1))]),_:1}),t(j,null,{default:n(()=>[m("div",ai,[t(h,{disabled:!i.preconfigForm.namespace.trim(),color:"primary","prepend-icon":"mdi-auto-fix",variant:"flat",onClick:l.generateUnifiedLink},{default:n(()=>[...e[25]||(e[25]=[o(" 生成统一链接 ",-1)])]),_:1},8,["disabled","onClick"]),t(h,{disabled:!i.unifiedLink,color:"success","prepend-icon":"mdi-test-tube",variant:"tonal",onClick:l.openTestLink},{default:n(()=>[...e[26]||(e[26]=[o(" 测试链接 ",-1)])]),_:1},8,["disabled","onClick"]),t(h,{color:"error","prepend-icon":"mdi-delete",variant:"tonal",onClick:l.clearAll},{default:n(()=>[...e[27]||(e[27]=[o(" 清空所有 ",-1)])]),_:1},8,["onClick"])]),t(R,{modelValue:i.unifiedLink,"onUpdate:modelValue":e[5]||(e[5]=r=>i.unifiedLink=r),"append-inner-icon":i.linkCopied?"mdi-check":"mdi-content-copy",placeholder:i.preconfigForm.namespace?"点击「生成统一链接」按钮":"请先输入命名空间",class:"mb-3",label:"统一链接",readonly:"",variant:"outlined","onClick:appendInner":l.copyUnifiedLink},null,8,["modelValue","append-inner-icon","placeholder","onClick:appendInner"]),i.unifiedLink?(c(),g($,{key:0,class:"mb-3",type:"success",variant:"tonal"},{default:n(()=>[e[33]||(e[33]=m("div",{class:"text-subtitle-2 mb-2"},"链接包含内容:",-1)),m("div",ri,[t(X,{color:"primary",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[28]||(e[28]=[o("mdi-account-key",-1)])]),_:1}),e[29]||(e[29]=o(" 预配置认证 ",-1))]),_:1}),i.selectedItems.length>0?(c(),g(X,{key:0,color:"secondary",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[30]||(e[30]=[o("mdi-cog",-1)])]),_:1}),o(" "+w(i.selectedItems.length)+" 项设置 ",1)]),_:1})):(c(),g(X,{key:1,color:"grey",size:"small"},{default:n(()=>[t(v,{size:"small",start:""},{default:n(()=>[...e[31]||(e[31]=[o("mdi-cog-off",-1)])]),_:1}),e[32]||(e[32]=o(" 无额外设置 ",-1))]),_:1}))])]),_:1})):k("",!0)]),_:1})]),_:1}),t($,{type:"warning",variant:"tonal"},{default:n(()=>[...e[34]||(e[34]=[m("div",{class:"text-subtitle-2 mb-2"},"⚠️ 安全提醒",-1),m("ul",{class:"text-body-2 pl-4"},[m("li",null,"认证码和设置信息会在URL中传输,请谨慎分发"),m("li",null,"建议仅在受信任的网络环境中使用"),m("li",null,"生产环境建议使用HTTPS协议"),m("li",null,"数据源设置和已变更设置默认不包含敏感Token信息")],-1)])]),_:1})]),_:1})]),_:1})])}const Ht=Y(Xs,[["render",ui]]),di={name:"UnsavedWarning",props:{show:Boolean,message:{type:String,default:"未保存"}}},ci={class:"warning-container"};function mi(s,e,a,d,i,l){return c(),x("div",ci,[a.show?(c(),g(X,{key:0,class:"warning-chip",color:"warning",size:"small"},{default:n(()=>[o(w(a.message),1)]),_:1})):k("",!0)])}const Ye=Y(di,[["render",mi],["__scopeId","data-v-0f36b655"]]),fi=Sn({disabled:Boolean,modelValue:{type:Boolean,default:null},...Cn()},"VHover"),Gt=yn()({name:"VHover",props:fi(),emits:{"update:modelValue":s=>!0},setup(s,e){let{slots:a}=e;const d=kn(s,"modelValue"),{runOpenDelay:i,runCloseDelay:l}=xn(s,r=>!s.disabled&&(d.value=r));return()=>{var r;return(r=a.default)==null?void 0:r.call(a,{isHovering:d.value,props:{onMouseenter:i,onMouseleave:l}})}}}),pi={name:"TeacherListCard",components:{UnsavedWarning:Ye},props:{isMobile:Boolean},data(){return{newTeacher:{name:"",subjects:[],isHeadTeacher:!1},editState:{index:-1,teacher:null},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1,commonSubjects:["语文","数学","英语","物理","化学","生物","政治","历史","地理","信息技术","音乐","美术","体育"]}},watch:{modelValue:{handler(s){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=JSON.stringify(s.list,null,2))},deep:!0}},mounted(){this.loadTeachers()},methods:{async loadTeachers(){var s;this.error=null;try{if(this.loading=!0,!_("server.classNumber"))throw new Error("请先设置班号");try{const a=await ae.loadData("classworks-list-teacher");a.success!==!1&&Array.isArray(a)&&(this.modelValue.list=a.map(d=>({name:d.name||"",subjects:Array.isArray(d.subjects)?d.subjects:[],isHeadTeacher:!!d.isHeadTeacher})),this.modelValue.text=JSON.stringify(this.modelValue.list,null,2),this.lastSavedData=JSON.parse(JSON.stringify(this.modelValue.list)),this.unsavedChanges=!1)}catch(a){console.warn("Failed to load teacher list, initializing empty list",a),this.modelValue.list=[],this.modelValue.text="[]",this.lastSavedData=[]}}catch(e){console.error("加载教师列表失败:",e),this.error=e.message||"加载失败,请检查设置",(s=this.$message)==null||s.error("加载失败",this.error)}finally{this.loading=!1}},async saveTeachers(){var s,e,a;try{if(!_("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.map(r=>({name:r.name,subjects:Array.isArray(r.subjects)?r.subjects:[],isHeadTeacher:!!r.isHeadTeacher})),l=await ae.saveData("classworks-list-teacher",i);if(l.success===!1)throw new Error(((s=l.error)==null?void 0:s.message)||"保存失败");this.modelValue.list=i,this.lastSavedData=JSON.parse(JSON.stringify(i)),this.unsavedChanges=!1,(e=this.$message)==null||e.success("保存成功","教师列表已更新")}catch(d){console.error("保存教师列表失败:",d),(a=this.$message)==null||a.error("保存失败",d.message||"请重试")}},toggleAdvanced(){this.modelValue.advanced=!this.modelValue.advanced,this.modelValue.advanced&&(this.modelValue.text=JSON.stringify(this.modelValue.list,null,2))},handleTextInput(s){if(this.modelValue.advanced)try{const e=JSON.parse(s);Array.isArray(e)?(this.modelValue.list=e.map(a=>({name:a.name||"",subjects:Array.isArray(a.subjects)?a.subjects:[],isHeadTeacher:!!a.isHeadTeacher})),this.error=null):this.error="JSON 必须是一个数组"}catch(e){this.error="JSON 格式错误: "+e.message}},addTeacher(){var e,a;const s=this.newTeacher.name.trim();if(!s){(e=this.$message)==null||e.warning("提示","请输入教师姓名");return}if(this.newTeacher.subjects.length===0){(a=this.$message)==null||a.warning("提示","请选择至少一个任教科目");return}this.modelValue.list.push({name:s,subjects:[...this.newTeacher.subjects],isHeadTeacher:this.newTeacher.isHeadTeacher}),this.newTeacher={name:"",subjects:[],isHeadTeacher:!1}},startEdit(s,e){this.editState.index=s,this.editState.teacher={name:e.name,subjects:[...e.subjects],isHeadTeacher:e.isHeadTeacher}},saveEdit(){var s,e;if(this.editState.index!==-1){const a=this.editState.teacher.name.trim();if(!a){(s=this.$message)==null||s.warning("提示","教师姓名不能为空");return}if(this.editState.teacher.subjects.length===0){(e=this.$message)==null||e.warning("提示","请选择至少一个任教科目");return}this.modelValue.list[this.editState.index]={name:a,subjects:[...this.editState.teacher.subjects],isHeadTeacher:this.editState.teacher.isHeadTeacher},this.editState.index=-1,this.editState.teacher=null}},cancelEdit(){this.editState.index=-1,this.editState.teacher=null},removeTeacher(s){s!==void 0&&this.modelValue.list.splice(s,1)},handleClick(s,e){this.isMobile&&this.startEdit(s,e)}}},hi={key:0},gi={class:"d-flex align-start mb-3"},wi={class:"flex-grow-1"},vi={class:"d-flex align-center mb-1"},bi=["onClick"],yi={key:0,class:"mt-2"},ki={key:1,class:"mt-1"},xi={key:1,class:"pt-2"};function Si(s,e,a,d,i,l){const r=Ye;return c(),g(E,{class:Fe({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(ze,null,{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-account-tie",size:"large"})]),append:n(()=>[t(r,{show:i.unsavedChanges,message:"有未保存的更改"},null,8,["show"]),t(h,{color:i.modelValue.advanced?"primary":void 0,"prepend-icon":"mdi-code-braces",variant:"text",onClick:l.toggleAdvanced},{default:n(()=>[o(w(i.modelValue.advanced?"返回基础编辑":"高级编辑"),1)]),_:1},8,["color","onClick"])]),default:n(()=>[t(K,{class:"text-h6"},{default:n(()=>[...e[4]||(e[4]=[o("教师列表",-1)])]),_:1})]),_:1}),t(j,null,{default:n(()=>[i.loading?(c(),g(He,{key:0,class:"mb-4",color:"primary",indeterminate:""})):k("",!0),i.error?(c(),g($,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):k("",!0),t(At,null,{default:n(()=>[i.modelValue.advanced?(c(),x("div",xi,[t(Ie,{modelValue:i.modelValue.text,"onUpdate:modelValue":[e[3]||(e[3]=p=>i.modelValue.text=p),l.handleTextInput],hint:"JSON 格式编辑教师列表。每个教师需包含 name、subjects(数组)、isHeadTeacher(布尔值)",label:"批量编辑教师列表 (JSON)","persistent-hint":"",placeholder:'[{"name":"教师姓名","subjects":["语文","数学"],"isHeadTeacher":true}]',rows:"15",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),x("div",hi,[t(E,{class:"mb-6",variant:"outlined"},{default:n(()=>[t(j,null,{default:n(()=>[t(de,null,{default:n(()=>[t(z,{cols:"12",md:"4"},{default:n(()=>[t(R,{modelValue:i.newTeacher.name,"onUpdate:modelValue":e[0]||(e[0]=p=>i.newTeacher.name=p),density:"comfortable","hide-details":"",label:"教师姓名",placeholder:"输入教师姓名","prepend-inner-icon":"mdi-account",variant:"outlined"},null,8,["modelValue"])]),_:1}),t(z,{cols:"12",md:"5"},{default:n(()=>[t(mt,{modelValue:i.newTeacher.subjects,"onUpdate:modelValue":e[1]||(e[1]=p=>i.newTeacher.subjects=p),items:i.commonSubjects,chips:"",clearable:"","closable-chips":"",density:"comfortable","hide-details":"",label:"任教科目",multiple:"",placeholder:"选择或输入科目","prepend-inner-icon":"mdi-book-open-variant",variant:"outlined"},null,8,["modelValue","items"])]),_:1}),t(z,{cols:"12",md:"3",class:"d-flex align-center gap-2"},{default:n(()=>[t(Ce,{modelValue:i.newTeacher.isHeadTeacher,"onUpdate:modelValue":e[2]||(e[2]=p=>i.newTeacher.isHeadTeacher=p),density:"comfortable","hide-details":"",label:"班主任"},null,8,["modelValue"]),t(h,{disabled:!i.newTeacher.name.trim()||i.newTeacher.subjects.length===0,color:"primary","prepend-icon":"mdi-plus",onClick:l.addTeacher},{default:n(()=>[...e[5]||(e[5]=[o(" 添加教师 ",-1)])]),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1}),i.modelValue.list.length===0?(c(),g(de,{key:0},{default:n(()=>[t(z,{cols:"12"},{default:n(()=>[t($,{type:"info",variant:"tonal"},{default:n(()=>[...e[6]||(e[6]=[o(" 暂无教师信息,请添加教师 ",-1)])]),_:1})]),_:1})]),_:1})):(c(),g(de,{key:1},{default:n(()=>[(c(!0),x(ne,null,ue(i.modelValue.list,(p,u)=>(c(),g(z,{key:u,cols:"12",lg:"6",xl:"4"},{default:n(()=>[t(Gt,null,{default:n(({isHovering:y,props:T})=>[t(E,je({elevation:a.isMobile?1:y?4:1,border:"",class:"teacher-card"},{ref_for:!0},T),{default:n(()=>[t(j,{class:"pa-4"},{default:n(()=>[m("div",gi,[t(Ge,{color:p.isHeadTeacher?"primary":"grey-lighten-1",class:"mr-3",size:"48"},{default:n(()=>[t(v,{icon:p.isHeadTeacher?"mdi-star":"mdi-account",size:"28"},null,8,["icon"])]),_:2},1032,["color"]),m("div",wi,[m("div",vi,[i.editState.index===u?(c(),g(R,{key:0,modelValue:i.editState.teacher.name,"onUpdate:modelValue":I=>i.editState.teacher.name=I,autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined"},null,8,["modelValue","onUpdate:modelValue"])):(c(),x("span",{key:1,class:"text-h6 font-weight-medium",onClick:I=>l.handleClick(u,p)},w(p.name),9,bi)),p.isHeadTeacher?(c(),g(X,{key:2,class:"ml-2",color:"primary",density:"comfortable",size:"small",variant:"flat"},{default:n(()=>[...e[7]||(e[7]=[o(" 班主任 ",-1)])]),_:1})):k("",!0)]),i.editState.index===u?(c(),x("div",yi,[t(mt,{modelValue:i.editState.teacher.subjects,"onUpdate:modelValue":I=>i.editState.teacher.subjects=I,items:i.commonSubjects,chips:"","closable-chips":"",density:"compact","hide-details":"",label:"任教科目",multiple:"",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue","items"]),t(Ce,{modelValue:i.editState.teacher.isHeadTeacher,"onUpdate:modelValue":I=>i.editState.teacher.isHeadTeacher=I,class:"mt-2",density:"compact","hide-details":"",label:"班主任"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),x("div",ki,[(c(!0),x(ne,null,ue(p.subjects,(I,Q)=>(c(),g(X,{key:Q,class:"mr-1 mb-1",density:"comfortable",size:"small",variant:"tonal"},{default:n(()=>[o(w(I),1)]),_:2},1024))),128))]))]),m("div",{class:Fe([{"opacity-100":y||a.isMobile||i.editState.index===u},"d-flex gap-1 action-buttons ml-2"])},[i.editState.index===u?(c(),g(h,{key:0,color:"success",icon:"mdi-check",size:"small",variant:"text",onClick:l.saveEdit},null,8,["onClick"])):k("",!0),i.editState.index===u?(c(),g(h,{key:1,color:"grey",icon:"mdi-close",size:"small",variant:"text",onClick:l.cancelEdit},null,8,["onClick"])):(c(),g(h,{key:2,color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:I=>l.startEdit(u,p)},null,8,["onClick"])),i.editState.index!==u?(c(),g(h,{key:3,color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:I=>l.removeTeacher(u)},null,8,["onClick"])):k("",!0)],2)])]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1}))]))]),_:1}),t(de,{class:"mt-6"},{default:n(()=>[t(z,{class:"d-flex gap-2",cols:"12"},{default:n(()=>[t(h,{disabled:i.loading,loading:i.loading,color:"primary","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveTeachers},{default:n(()=>[...e[8]||(e[8]=[o(" 保存教师列表 ",-1)])]),_:1},8,["disabled","loading","onClick"]),t(h,{disabled:i.loading,loading:i.loading,color:"error","prepend-icon":"mdi-refresh",size:"large",variant:"outlined",onClick:l.loadTeachers},{default:n(()=>[...e[9]||(e[9]=[o(" 重载教师列表 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1})]),_:1},8,["class","color"])}const Wt=Y(pi,[["render",Si],["__scopeId","data-v-16455a49"]]),Ci={name:"StudentListCard",components:{UnsavedWarning:Ye},props:{isMobile:Boolean},data(){return{newStudentName:"",editState:{index:-1,name:""},modelValue:{list:[],text:"",advanced:!1},loading:!1,error:null,lastSavedData:null,unsavedChanges:!1}},watch:{modelValue:{handler(s){this.lastSavedData&&(this.unsavedChanges=JSON.stringify(s.list)!==JSON.stringify(this.lastSavedData)),this.modelValue.advanced||(this.modelValue.text=s.list.slice().sort((e,a)=>e.id-a.id).map(e=>e.name).join(` `))},deep:!0}},mounted(){this.loadStudents()},methods:{async loadStudents(){var s;this.error=null;try{if(this.loading=!0,!_("server.classNumber"))throw new Error("请先设置班号");try{const a=await ae.loadData("classworks-list-main");a.success!=!1&&Array.isArray(a)&&(this.modelValue.list=a.map((d,i)=>typeof d=="string"?{id:i+1,name:d}:{id:d.id||i+1,name:d.name||d.toString()}),this.modelValue.list.sort((d,i)=>d.id-i.id),this.modelValue.text=this.modelValue.list.map(d=>d.name).join(` `),this.lastSavedData=JSON.parse(JSON.stringify(this.modelValue.list)),this.unsavedChanges=!1)}catch(a){console.warn("Failed to load student list from dedicated key, falling back to config",a)}}catch(e){console.error("加载学生列表失败:",e),this.error=e.message||"加载失败,请检查设置",(s=this.$message)==null||s.error("加载失败",this.error)}finally{this.loading=!1}},async saveStudents(){var s,e,a;try{if(!_("server.classNumber"))throw new Error("请先设置班号");const i=this.modelValue.list.slice().sort((r,p)=>r.id-p.id).map((r,p)=>({id:p+1,name:r.name})),l=await ae.saveData("classworks-list-main",i);if(l.success===!1)throw new Error(((s=l.error)==null?void 0:s.message)||"保存失败");this.modelValue.list=i,this.lastSavedData=JSON.parse(JSON.stringify(i)),this.unsavedChanges=!1,(e=this.$message)==null||e.success("保存成功","学生列表已更新")}catch(d){console.error("保存学生列表失败:",d),(a=this.$message)==null||a.error("保存失败",d.message||"请重试")}},toggleAdvanced(){this.modelValue.advanced=!this.modelValue.advanced},handleTextInput(s){if(!this.modelValue.advanced)return;const e=s.split(` `).filter(l=>l.trim()),a=new Map(this.modelValue.list.map(l=>[l.name,l.id]));let d=Math.max(0,...this.modelValue.list.map(l=>l.id));const i=e.map(l=>(l=l.trim(),a.has(l)?{id:a.get(l),name:l}:{id:++d,name:l}));this.modelValue.list=i},addStudent(){const s=this.newStudentName.trim();if(s&&!this.modelValue.list.some(e=>e.name===s)){const e=Math.max(0,...this.modelValue.list.map(a=>a.id));this.modelValue.list.push({id:e+1,name:s}),this.newStudentName=""}},startEdit(s,e){this.editState.index=s,this.editState.name=e.name},saveEdit(){if(this.editState.index!==-1){const s=this.editState.name.trim();s&&s!==this.modelValue.list[this.editState.index].name&&(this.modelValue.list[this.editState.index].name=s),this.editState.index=-1,this.editState.name=""}},removeStudent(s){s!==void 0&&this.modelValue.list.splice(s,1)},moveStudent(s,e){if(e==="top"){if(s>0){const a=this.modelValue.list[s];this.modelValue.list.splice(s,1),this.modelValue.list.unshift(a),this.modelValue.list.forEach((d,i)=>d.id=i+1)}}else{const a=e==="up"?s-1:s+1;a>=0&&a{const d=ft(e.name,{toneType:"none"}),i=ft(a.name,{toneType:"none"});return d.localeCompare(i)});s.forEach((e,a)=>e.id=a+1),this.modelValue.list=s}}},_i={key:0},Vi=["onClick"],Di={key:1,class:"pt-2"};function Ai(s,e,a,d,i,l){const r=Ye;return c(),g(E,{class:Fe({"unsaved-changes":i.unsavedChanges}),color:i.unsavedChanges?"warning-subtle":void 0,border:""},{default:n(()=>[t(ze,null,{prepend:n(()=>[t(v,{class:"mr-2",icon:"mdi-account-group",size:"large"})]),append:n(()=>[t(r,{show:i.unsavedChanges,message:"有未保存的更改"},null,8,["show"]),t(h,{disabled:i.modelValue.list.length===0,class:"mr-2","prepend-icon":"mdi-sort-alphabetical-variant",variant:"text",onClick:l.sortStudentsByPinyin},{default:n(()=>[...e[4]||(e[4]=[o(" 按姓名首字母排序 ",-1)])]),_:1},8,["disabled","onClick"]),t(h,{color:i.modelValue.advanced?"primary":void 0,"prepend-icon":"mdi-code-braces",variant:"text",onClick:l.toggleAdvanced},{default:n(()=>[o(w(i.modelValue.advanced?"返回基础编辑":"高级编辑"),1)]),_:1},8,["color","onClick"])]),default:n(()=>[t(K,{class:"text-h6"},{default:n(()=>[...e[3]||(e[3]=[o("学生列表",-1)])]),_:1})]),_:1}),t(j,null,{default:n(()=>[i.loading?(c(),g(He,{key:0,class:"mb-4",color:"primary",indeterminate:""})):k("",!0),i.error?(c(),g($,{key:1,class:"mb-4",closable:"",type:"error",variant:"tonal"},{default:n(()=>[o(w(i.error),1)]),_:1})):k("",!0),t(At,null,{default:n(()=>[i.modelValue.advanced?(c(),x("div",Di,[t(Ie,{modelValue:i.modelValue.text,"onUpdate:modelValue":[e[2]||(e[2]=p=>i.modelValue.text=p),l.handleTextInput],hint:"使用文本编辑模式批量编辑学生名单,保存时会自动去除空行",label:"批量编辑学生列表","persistent-hint":"",placeholder:"每行输入一个学生姓名",rows:"10",variant:"outlined"},null,8,["modelValue","onUpdate:modelValue"])])):(c(),x("div",_i,[t(de,{class:"mb-6"},{default:n(()=>[t(z,{cols:"12",md:"4",sm:"6"},{default:n(()=>[t(R,{modelValue:i.newStudentName,"onUpdate:modelValue":e[0]||(e[0]=p=>i.newStudentName=p),class:"mb-4","hide-details":"",label:"添加学生",placeholder:"输入学生姓名后回车添加","prepend-inner-icon":"mdi-account-plus",variant:"outlined",onKeyup:Ve(l.addStudent,["enter"])},{append:n(()=>[t(h,{disabled:!i.newStudentName.trim(),color:"primary",icon:"mdi-plus",variant:"text",onClick:l.addStudent},null,8,["disabled","onClick"])]),_:1},8,["modelValue","onKeyup"])]),_:1})]),_:1}),t(de,null,{default:n(()=>[(c(!0),x(ne,null,ue(i.modelValue.list,(p,u)=>(c(),g(z,{key:u,cols:"12",lg:"3",md:"4",sm:"6"},{default:n(()=>[t(Gt,null,{default:n(({isHovering:y,props:T})=>[t(E,je({elevation:a.isMobile?1:y?4:1,border:"",class:"student-card"},{ref_for:!0},T),{default:n(()=>[t(j,{class:"d-flex align-center pa-3"},{default:n(()=>[t(It,{"open-on-hover":!a.isMobile,location:"bottom"},{activator:n(({props:I})=>[t(h,je({class:"mr-3 font-weight-medium",size:"small"},{ref_for:!0},I,{variant:"tonal"}),{default:n(()=>[o(w(u+1),1)]),_:2},1040)]),default:n(()=>[t(J,{density:"compact",nav:""},{default:n(()=>[t(A,{disabled:u===0,"prepend-icon":"mdi-arrow-up-bold",onClick:I=>l.moveStudent(u,"top")},{default:n(()=>[...e[5]||(e[5]=[o(" 置顶 ",-1)])]),_:1},8,["disabled","onClick"]),t(M),t(A,{disabled:u===0,"prepend-icon":"mdi-arrow-up",onClick:I=>l.moveStudent(u,"up")},{default:n(()=>[...e[6]||(e[6]=[o(" 上移 ",-1)])]),_:1},8,["disabled","onClick"]),t(A,{disabled:u===i.modelValue.list.length-1,"prepend-icon":"mdi-arrow-down",onClick:I=>l.moveStudent(u,"down")},{default:n(()=>[...e[7]||(e[7]=[o(" 下移 ",-1)])]),_:1},8,["disabled","onClick"])]),_:2},1024)]),_:2},1032,["open-on-hover"]),i.editState.index===u?(c(),g(R,{key:0,modelValue:i.editState.name,"onUpdate:modelValue":e[1]||(e[1]=I=>i.editState.name=I),autofocus:"",class:"flex-grow-1",density:"compact","hide-details":"",variant:"underlined",onBlur:l.saveEdit,onKeyup:Ve(l.saveEdit,["enter"])},null,8,["modelValue","onBlur","onKeyup"])):(c(),x("span",{key:1,class:"text-body-1 flex-grow-1",onClick:I=>l.handleClick(u,p)},w(p.name),9,Vi)),m("div",{class:Fe([{"opacity-100":y||a.isMobile},"d-flex gap-1 action-buttons"])},[t(h,{color:"primary",icon:"mdi-pencil",size:"small",variant:"text",onClick:I=>l.startEdit(u,p)},null,8,["onClick"]),t(h,{color:"error",icon:"mdi-delete",size:"small",variant:"text",onClick:I=>l.removeStudent(u)},null,8,["onClick"])],2)]),_:2},1024)]),_:2},1040,["elevation"])]),_:2},1024)]),_:2},1024))),128))]),_:1})]))]),_:1}),t(de,{class:"mt-6"},{default:n(()=>[t(z,{class:"d-flex gap-2",cols:"12"},{default:n(()=>[t(h,{disabled:i.loading,loading:i.loading,color:"primary","prepend-icon":"mdi-content-save",size:"large",onClick:l.saveStudents},{default:n(()=>[...e[8]||(e[8]=[o(" 保存名单 ",-1)])]),_:1},8,["disabled","loading","onClick"]),t(h,{disabled:i.loading,loading:i.loading,color:"error","prepend-icon":"mdi-refresh",size:"large",variant:"outlined",onClick:l.loadStudents},{default:n(()=>[...e[9]||(e[9]=[o(" 重载名单 ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1})]),_:1},8,["class","color"])}const Yt=Y(Ci,[["render",Ai],["__scopeId","data-v-7e220985"]]),Ti={key:0,class:"d-flex justify-center align-center fill-height"},Ii={key:1,class:"d-flex justify-center align-center fill-height"},ji={key:2},Ei={class:"text-caption ml-4 text-medium-emphasis"},Ui={key:0},Ni={key:1},Mi={class:"text-error"},qt={__name:"CloudMigrationDialog",props:{modelValue:Boolean},emits:["update:modelValue"],setup(s,{emit:e}){const a=s,d=e,i=ge(!1),l=ge(!1),r=ge(!1),p=ge([]),u=ge([]),y=ge(!1),T=ge(null),I=ge(null),Q=[{id:"student-list",label:"学生列表",description:"classworks-list-main",matcher:V=>V==="classworks-list-main"||V.startsWith("classworks-list-main")},{id:"homework-data",label:"作业数据",description:"classworks-data-*",matcher:V=>V.startsWith("classworks-data-")},{id:"lists",label:"列表",description:"classworks-list-*",matcher:V=>V.startsWith("classworks-list-")},{id:"other",label:"其他",description:"所有其他键",matcher:V=>!V.startsWith("classworks-data-")&&!V.startsWith("classworks-list-")}];pt(()=>a.modelValue,V=>{i.value=V,V&&H()}),pt(i,V=>{d("update:modelValue",V)});const H=async()=>{l.value=!0;try{const V=await gt.loadKeys({limit:1e3});p.value=V.keys||[],u.value=[]}catch(V){console.error(V)}finally{l.value=!1}},q=V=>p.value.filter(V.matcher),fe=V=>q(V).length,pe=V=>{const b=q(V);return b.length===0?!1:b.filter(P=>u.value.includes(P)).length===b.length},ce=V=>{const b=q(V);if(b.length===0)return!1;const D=b.filter(P=>u.value.includes(P)).length;return D>0&&D{const b=q(V);if(b.length===0)return;const D=pe(V),P=new Set(u.value);D?b.forEach(Z=>P.delete(Z)):b.forEach(Z=>P.add(Z)),u.value=Array.from(P)},be=async()=>{var V,b,D;r.value=!0,I.value=null,T.value=null;try{const P={};for(const O of u.value){const Se=await gt.loadData(O);if(Se){if(Se&&Se.success===!1&&Se.error){console.warn(`Skipping key ${O} due to load error`,Se.error);continue}P[O]=Se}}const Z=_("server.domain"),me=_("server.kvToken");if(!Z||!me)throw new Error("请先配置服务器地址和 Token");const ye=Z.replace(/\/$/,""),G=await jn.post(`${ye}/kv/_batchimport`,P,{headers:{Authorization:`Bearer ${me}`,"Content-Type":"application/json"}});if(G.data&&G.data.code===200)T.value=G.data.data,y.value=!0,i.value=!1;else throw new Error(((V=G.data)==null?void 0:V.message)||"迁移失败")}catch(P){console.error(P),I.value=((D=(b=P.response)==null?void 0:b.data)==null?void 0:D.message)||P.message||"发生未知错误",y.value=!0}finally{r.value=!1}};return(V,b)=>(c(),x(ne,null,[t(we,{modelValue:i.value,"onUpdate:modelValue":b[2]||(b[2]=D=>i.value=D),"max-width":"600",scrollable:""},{default:n(()=>[t(E,null,{default:n(()=>[t(K,null,{default:n(()=>[...b[5]||(b[5]=[o("迁移到云端",-1)])]),_:1}),t(j,{style:{height:"400px"}},{default:n(()=>[l.value?(c(),x("div",Ti,[t(Dt,{indeterminate:"",color:"primary"})])):p.value.length===0?(c(),x("div",Ii," 没有找到本地数据 ")):(c(),x("div",ji,[t(J,{"select-strategy":"classic",class:"mb-4"},{default:n(()=>[t(_n,null,{default:n(()=>[...b[6]||(b[6]=[o("选择数据类型",-1)])]),_:1}),(c(),x(ne,null,ue(Q,D=>t(A,{key:D.id,onClick:P=>se(D)},{prepend:n(()=>[t(wt,{"model-value":pe(D),indeterminate:ce(D),onClick:Ae(P=>se(D),["stop"])},null,8,["model-value","indeterminate","onClick"])]),default:n(()=>[t(L,null,{default:n(()=>[o(w(D.label),1)]),_:2},1024),t(ie,null,{default:n(()=>[o(w(D.description)+" ("+w(fe(D))+" 项)",1)]),_:2},1024)]),_:2},1032,["onClick"])),64))]),_:1}),t(M,{class:"mb-4"}),t(it,null,{default:n(()=>[t(lt,{title:"详细数据列表"},{default:n(()=>[t(ot,null,{default:n(()=>[t(J,{"select-strategy":"classic",density:"compact"},{default:n(()=>[(c(!0),x(ne,null,ue(p.value,D=>(c(),g(A,{key:D,value:D},{prepend:n(()=>[t(wt,{modelValue:u.value,"onUpdate:modelValue":b[0]||(b[0]=P=>u.value=P),value:D},null,8,["modelValue","value"])]),default:n(()=>[t(L,null,{default:n(()=>[o(w(D),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1})]),_:1})]),_:1})]),_:1})]))]),_:1}),t(M),t(re,null,{default:n(()=>[m("div",Ei," 已选择 "+w(u.value.length)+" 项 ",1),t(te),t(h,{variant:"text",onClick:b[1]||(b[1]=D=>i.value=!1)},{default:n(()=>[...b[7]||(b[7]=[o("取消",-1)])]),_:1}),t(h,{color:"primary",onClick:be,loading:r.value,disabled:u.value.length===0},{default:n(()=>[...b[8]||(b[8]=[o(" 开始迁移 ",-1)])]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]),t(we,{modelValue:y.value,"onUpdate:modelValue":b[4]||(b[4]=D=>y.value=D),"max-width":"500"},{default:n(()=>[t(E,null,{default:n(()=>[t(K,null,{default:n(()=>[...b[9]||(b[9]=[o("迁移结果",-1)])]),_:1}),t(j,null,{default:n(()=>[T.value?(c(),x("div",Ui,[m("p",null,"总计: "+w(T.value.summary.total),1),m("p",null,"成功: "+w(T.value.summary.successful),1),m("p",null,"失败: "+w(T.value.summary.failed),1)])):I.value?(c(),x("div",Ni,[m("p",Mi,w(I.value),1)])):k("",!0)]),_:1}),t(re,null,{default:n(()=>[t(te),t(h,{color:"primary",onClick:b[3]||(b[3]=D=>y.value=!1)},{default:n(()=>[...b[10]||(b[10]=[o("关闭",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"])],64))}},Pi={name:"KvDatabaseCard",components:{SettingsCard:ee,CloudMigrationDialog:qt},data(){return{loading:!1,loadingData:!1,savingData:!1,deletingData:!1,kvData:[],searchQuery:"",viewDialog:!1,editDialog:!1,deleteDialog:!1,createDialog:!1,cloudUrlDialog:!1,showMigrationDialog:!1,selectedItem:null,editingItem:null,itemToDelete:null,selectedCloudItem:null,gettingCloudUrl:!1,cloudUrlResult:null,cloudUrlError:null,cloudUrlOptions:{migrateFromLocal:!0,autoConfigureCloud:!0},editingData:"",newKey:"",newData:"",tableHeaders:[{title:"键名",key:"key",sortable:!0},{title:"操作",key:"actions",sortable:!1,width:"120px"}]}},computed:{currentProvider(){return _("server.provider")},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"},connectionStatus(){return this.isKvProvider?this.currentProvider==="kv-local"?"本地数据库":"服务器数据库":"当前数据提供者不支持KV数据库管理"},connectionIcon(){return this.isKvProvider?this.currentProvider==="kv-local"?"mdi-database":"mdi-database-sync":"mdi-database-off"},connectionColor(){return this.isKvProvider?"success":"error"},filteredKvData(){return this.searchQuery?this.kvData.filter(s=>s.key.toLowerCase().includes(this.searchQuery.toLowerCase())):this.kvData},isValidJson(){if(!this.editingData)return!0;try{return JSON.parse(this.editingData),!0}catch{return!1}},isValidNewJson(){if(!this.newData)return!0;try{return JSON.parse(this.newData),!0}catch{return!1}},isValidKey(){return!this.newKey||this.newKey.trim()===""?!1:!this.kvData.some(s=>s.key===this.newKey.trim())}},async mounted(){this.isKvProvider&&await this.loadKvData()},methods:{async refreshConnection(){this.loading=!0;try{await new Promise(s=>setTimeout(s,500)),this.$message.success("连接状态已刷新")}catch(s){this.$message.error("刷新失败",s.message)}finally{this.loading=!1}},async loadKvData(){var s;if(!this.isKvProvider){this.$message.warning("当前数据提供者不支持KV数据库管理");return}this.loadingData=!0;try{this.kvData=[];const e=await ae.loadKeys({sortBy:"key",sortDir:"asc",limit:1e3});if(e.success===!1)throw new Error(((s=e.error)==null?void 0:s.message)||"获取键名列表失败");this.kvData=e.keys.map(a=>({key:a,value:null,loaded:!1})),this.$message.success("键名加载完成",`共找到 ${this.kvData.length} 个键,总计 ${e.total_rows} 个键`)}catch(e){this.$message.error("加载数据失败",e.message)}finally{this.loadingData=!1}},async viewItem(s){this.selectedItem=s,this.viewDialog=!0,(!s.loaded||s.value===null)&&await this.loadItemData(s)},async editItem(s){this.editingItem=s,(!s.loaded||s.value===null)&&await this.loadItemData(s),this.editingData=this.formatJsonData(s.value),this.editDialog=!0},async loadItemData(s){try{const e=await ae.loadData(s.key);if(e&&e.success!==!1)s.value=e,s.loaded=!0;else throw new Error("数据加载失败")}catch(e){this.$message.error("加载数据失败",e.message),s.value=null,s.loaded=!1}},closeEditDialog(){this.editDialog=!1,this.editingItem=null,this.editingData=""},createNewItem(){this.newKey="",this.newData=`{ @@ -16,7 +16,7 @@ ${p}`}else l&&(r+=` 依次尝试的服务器: ${d} -所有服务器均连接失败`}this.$message.error("连接失败",a)}finally{this.loading=!1}},confirmClearLocalStorage(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有本地存储的数据,确定要继续吗?",this.confirmAction=this.clearLocalStorage,this.confirmDialog=!0},clearLocalStorage(){try{localStorage.clear(),this.$message.success("清除成功","本地存储数据已清除"),this.confirmDialog=!1}catch(s){this.$message.error("清除失败",s.message)}},confirmClearIndexedDB(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有IndexedDB中的数据,确定要继续吗?",this.confirmAction=this.clearIndexedDB,this.confirmDialog=!0},async clearIndexedDB(){try{await window.indexedDB.deleteDatabase("ClassworksDB"),this.$message.success("清除成功","数据库缓存已清除"),this.confirmDialog=!1,this.isKvProvider&&setTimeout(()=>{window.location.reload()},1500)}catch(s){this.$message.error("清除失败",s.message)}},async exportData(){try{const s="ClassworksDB",e={indexedDB:{}},a=await new Promise((u,y)=>{const T=window.indexedDB.open(s);T.onerror=()=>y(T.error),T.onsuccess=()=>u(T.result)}),d=Array.from(a.objectStoreNames);for(const u of d){const T=a.transaction(u,"readonly").objectStore(u),I=await new Promise((Q,H)=>{const q=T.getAll();q.onerror=()=>H(q.error),q.onsuccess=()=>Q(q.result)});e.indexedDB[u]=I}const i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),l=URL.createObjectURL(i),r=document.createElement("a"),p=new Date().toISOString().split("T")[0];r.href=l,r.download=`homework-indexeddb-${p}.json`,r.click(),URL.revokeObjectURL(l),this.$message.success("导出成功","IndexedDB数据已导出")}catch(s){console.error("导出失败:",s),this.$message.error("导出失败",s.message||"无法导出数据库数据")}},async migrateData(){this.migrateLoading=!0,this.$router.push("/datamigration"),this.migrateLoading=!1},handleConfirm(){this.confirmAction&&this.confirmAction()}}};function Fi(s,e,a,d,i,l){const r=ee;return c(),g(r,{icon:"mdi-database-cog",title:"数据源设置"},{default:n(()=>[t(J,null,{default:n(()=>[l.currentProvider==="kv-server"||l.currentProvider==="classworkscloud"?(c(),g(A,{key:0},{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-lan-connect"})]),append:n(()=>[t(h,{loading:i.loading,variant:"tonal",onClick:l.checkServerConnection},{default:n(()=>[...e[3]||(e[3]=[o(" 测试连接 ",-1)])]),_:1},8,["loading","onClick"])]),default:n(()=>[t(L,null,{default:n(()=>[...e[2]||(e[2]=[o("检查服务器连接",-1)])]),_:1})]),_:1})):k("",!0),l.currentProvider==="kv-local"?(c(),x(ne,{key:1},[t(A,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-database"})]),append:n(()=>[t(h,{color:"error",variant:"tonal",onClick:l.confirmClearIndexedDB},{default:n(()=>[...e[6]||(e[6]=[o(" 清除 ",-1)])]),_:1},8,["onClick"])]),default:n(()=>[t(L,null,{default:n(()=>[...e[4]||(e[4]=[o("清除数据库缓存",-1)])]),_:1}),t(ie,null,{default:n(()=>[...e[5]||(e[5]=[o("这将清除所有本地数据库中的数据 ",-1)])]),_:1})]),_:1}),t(A,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-database-export"})]),append:n(()=>[t(h,{variant:"tonal",onClick:l.exportData},{default:n(()=>[...e[8]||(e[8]=[o(" 导出",-1)])]),_:1},8,["onClick"])]),default:n(()=>[t(L,null,{default:n(()=>[...e[7]||(e[7]=[o("导出数据库",-1)])]),_:1})]),_:1})],64)):k("",!0),t(A,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-lan-connect"})]),append:n(()=>[t(h,{to:"/cachemanagement",variant:"tonal"},{default:n(()=>[...e[10]||(e[10]=[o(" 查看",-1)])]),_:1})]),default:n(()=>[t(L,null,{default:n(()=>[...e[9]||(e[9]=[o("查看本地缓存",-1)])]),_:1})]),_:1})]),_:1}),t(we,{modelValue:i.confirmDialog,"onUpdate:modelValue":e[1]||(e[1]=p=>i.confirmDialog=p),"max-width":"400"},{default:n(()=>[t(E,null,{default:n(()=>[t(K,null,{default:n(()=>[o(w(i.confirmTitle),1)]),_:1}),t(j,null,{default:n(()=>[o(w(i.confirmMessage),1)]),_:1}),t(re,null,{default:n(()=>[t(te),t(h,{color:"grey",variant:"text",onClick:e[0]||(e[0]=p=>i.confirmDialog=!1)},{default:n(()=>[...e[11]||(e[11]=[o("取消 ",-1)])]),_:1}),t(h,{color:"error",variant:"tonal",onClick:l.handleConfirm},{default:n(()=>[...e[12]||(e[12]=[o("确认 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Xt=Y(Ki,[["render",Fi]]),Ji={name:"CloudNamespaceInfoCard",props:{visible:{type:Boolean,default:!0}},data(){return{namespaceInfo:{},loading:!1,hasNamespaceInfo:!1,showReinitDialog:!1,defaultAuthServer:_("server.authDomain")}},watch:{visible(s){s===!0&&this.fetchNamespaceInfo()}},mounted(){this.visible&&this.fetchNamespaceInfo()},methods:{formatDate(s){if(!s)return"未知";try{return new Date(s).toLocaleString("zh-CN")}catch{return s}},async fetchNamespaceInfo(){this.loading=!0;try{const s=await Un.loadNamespaceInfo();this.namespaceInfo=s,this.hasNamespaceInfo=!0,this.loading=!1}catch(s){console.error("获取命名空间信息失败:",s),this.hasNamespaceInfo=!1,this.namespaceInfo={}}finally{this.loading=!1}},async reloadInfo(){await this.fetchNamespaceInfo()},getBindAccountUrl(){var e,a;const s=(a=(e=this.namespaceInfo)==null?void 0:e.device)==null?void 0:a.uuid;return s?`${this.defaultAuthServer}?uuid=${encodeURIComponent(s)}&tolinktoaccount=true`:this.defaultAuthServer},confirmReinitialize(){xe("server.kvToken",""),xe("device.uuid",""),this.showReinitDialog=!1,this.$router.push("/")}}},Qi={key:0,class:"mb-4"},Hi={key:1,class:"d-flex align-center mb-4"},Gi={class:"d-flex flex-column gap-1"},Wi={class:"d-flex align-center"},Yi={class:"d-flex align-center"},qi={key:0,class:"d-flex align-center"},Zi={class:"text-truncate"},Xi={class:"d-flex align-center"},$i={key:1,class:"d-flex align-center"};function el(s,e,a,d,i,l){return c(),g(E,{disabled:!i.hasNamespaceInfo,loading:i.loading,class:"my-4"},{loader:n(()=>[i.loading?(c(),g(He,{key:0,color:"primary",indeterminate:""})):k("",!0)]),default:n(()=>[t(K,null,{default:n(()=>[t(v,{class:"me-2"},{default:n(()=>[...e[3]||(e[3]=[o(" mdi-cloud-check ",-1)])]),_:1}),e[4]||(e[4]=o(" 设备信息 ",-1))]),_:1}),i.hasNamespaceInfo?(c(),g(j,{key:0},{default:n(()=>[i.namespaceInfo.hasAccount===!1?(c(),x("div",Qi,[t($,{border:"",type:"warning",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[5]||(e[5]=[o("设备未绑定账号",-1)])]),_:1}),e[7]||(e[7]=m("div",null,"当前设备尚未绑定账号,部分功能可能受限。请前往绑定账号以获得完整体验。",-1)),t(h,{href:l.getBindAccountUrl(),"append-icon":"mdi-open-in-new",class:"mt-3",target:"_blank",variant:"outlined"},{default:n(()=>[...e[6]||(e[6]=[o(" 前往绑定账号 ",-1)])]),_:1},8,["href"])]),_:1})])):k("",!0),i.namespaceInfo.hasAccount&&i.namespaceInfo.account?(c(),x("div",Hi,[t(E,{"prepend-avatar":i.namespaceInfo.account.avatarUrl,subtitle:"此设备由贵校管理 管理员账号 ID: "+i.namespaceInfo.account.id,title:i.namespaceInfo.account.name||"未命名用户",border:"",class:"w-100",hover:"",variant:"tonal"},{default:n(()=>[t(j,null,{default:n(()=>[...e[8]||(e[8]=[o(" 此设备由贵校或贵单位管理,该管理员系此空间所有者,如有疑问请咨询他,对于恶意绑定、滥用行为请反馈。 ",-1)])]),_:1})]),_:1},8,["prepend-avatar","subtitle","title"])])):k("",!0),i.namespaceInfo.device?(c(),g(E,{key:2,border:"",class:"mb-4",hover:"",variant:"tonal"},{default:n(()=>[t(K,{class:"pb-1"},{default:n(()=>[...e[9]||(e[9]=[o(" 设备信息 ",-1)])]),_:1}),t(j,null,{default:n(()=>[m("div",Gi,[m("div",Wi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[10]||(e[10]=[o(" mdi-tag ",-1)])]),_:1}),e[11]||(e[11]=m("span",{class:"font-weight-medium me-2"},"设备名称:",-1)),m("span",null,w(i.namespaceInfo.device.name||"未命名设备"),1)]),m("div",Yi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[12]||(e[12]=[o(" mdi-identifier ",-1)])]),_:1}),e[13]||(e[13]=m("span",{class:"font-weight-medium me-2"},"设备 ID:",-1)),m("span",null,w(i.namespaceInfo.device.id),1)]),i.namespaceInfo.hasAccount===!1&&i.namespaceInfo.device.uuid?(c(),x("div",qi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[14]||(e[14]=[o(" mdi-uuid ",-1)])]),_:1}),e[15]||(e[15]=m("span",{class:"font-weight-medium me-2"},"UUID:",-1)),m("span",Zi,w(i.namespaceInfo.device.uuid),1)])):k("",!0),m("div",Xi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[16]||(e[16]=[o(" mdi-calendar ",-1)])]),_:1}),e[17]||(e[17]=m("span",{class:"font-weight-medium me-2"},"创建时间:",-1)),m("span",null,w(l.formatDate(i.namespaceInfo.device.createdAt)),1)]),i.namespaceInfo.device.updatedAt?(c(),x("div",$i,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[18]||(e[18]=[o(" mdi-calendar-clock ",-1)])]),_:1}),e[19]||(e[19]=m("span",{class:"font-weight-medium me-2"},"更新时间:",-1)),m("span",null,w(l.formatDate(i.namespaceInfo.device.updatedAt)),1)])):k("",!0)])]),_:1})]),_:1})):k("",!0),t(E,{border:"",hover:"",subtitle:"文档形键值数据库",title:"Classworks KV"},{default:n(()=>[t(j,null,{default:n(()=>[...e[20]||(e[20]=[o(" Classworks KV 是厚浪云推出的文档形键值数据库,其是一个开放的云应用平台,为各种应用提供存储服务。此设备正在使用其服务,如果您希望管理设备信息,请前往 Classworks KV 的网站,如果您在服务推出前就在使用 Classworks,您的数据已被自动迁移。 ",-1),m("br",null,null,-1),m("br",null,null,-1),o(" Classworks KV 的全域管理员是 ",-1),m("a",{href:"https://wuyuan.dev",target:"_blank"}," 孙悟元 ",-1)])]),_:1}),t(re,null,{default:n(()=>[t(h,{href:i.defaultAuthServer,"append-icon":"mdi-open-in-new",class:"text-none",target:"_blank"},{default:n(()=>[...e[21]||(e[21]=[o(" 前往 Classworks KV ",-1)])]),_:1},8,["href"])]),_:1})]),_:1})]),_:1})):(c(),g(j,{key:1},{default:n(()=>[t($,{type:"info",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[22]||(e[22]=[o("未获取到设备信息",-1)])]),_:1}),e[23]||(e[23]=m("p",null,"您尚未完成云端存储授权或连接失败,请点击下方按钮进行初始化。",-1))]),_:1})]),_:1})),t(re,null,{default:n(()=>[t(te),t(h,{loading:i.loading,color:"primary",variant:"outlined",onClick:l.reloadInfo},{default:n(()=>[...e[24]||(e[24]=[o(" 刷新设备信息 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{color:"error",variant:"outlined",onClick:e[0]||(e[0]=r=>i.showReinitDialog=!0)},{default:n(()=>[...e[25]||(e[25]=[o(" 重新初始化云端存储 ",-1)])]),_:1})]),_:1}),t(we,{modelValue:i.showReinitDialog,"onUpdate:modelValue":e[2]||(e[2]=r=>i.showReinitDialog=r),"max-width":"500"},{default:n(()=>[t(E,null,{default:n(()=>[t(K,null,{default:n(()=>[...e[26]||(e[26]=[o("确认重新初始化",-1)])]),_:1}),t(j,null,{default:n(()=>[t($,{class:"mb-3",type:"warning",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[27]||(e[27]=[o("警告",-1)])]),_:1}),e[28]||(e[28]=o(" 此操作将清除当前的云端存储配置(包括 Token),您需要重新进行授权。 ",-1))]),_:1}),e[29]||(e[29]=m("p",null,"您确定要重新初始化云端存储吗?",-1))]),_:1}),t(re,null,{default:n(()=>[t(te),t(h,{variant:"text",onClick:e[1]||(e[1]=r=>i.showReinitDialog=!1)},{default:n(()=>[...e[30]||(e[30]=[o(" 取消 ",-1)])]),_:1}),t(h,{color:"error",onClick:l.confirmReinitialize},{default:n(()=>[...e[31]||(e[31]=[o(" 确认 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["disabled","loading"])}const $t=Y(Ji,[["render",el]]),tl={name:"ServerSettingsCard",components:{SettingsCard:ee,CloudNamespaceInfoCard:$t},props:{loading:Boolean},data(){return{unwatch:null,serverSettings:{provider:_("server.provider"),domain:_("server.domain"),classNumber:_("server.classNumber"),kvToken:_("server.kvToken")},settingsChangeTimeout:null}},computed:{currentProvider(){return this.serverSettings.provider},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"},isClassworksCloud(){return this.currentProvider==="classworkscloud"},useServer(){return this.currentProvider==="server"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}},watch:{serverSettings:{handler(){this.settingsChangeTimeout&&clearTimeout(this.settingsChangeTimeout),this.settingsChangeTimeout=setTimeout(()=>{this.saveAllSettings()},100)},deep:!0}},mounted(){this.loadAllSettings(),this.unwatch=nt(()=>{this.loadAllSettings(),this.$forceUpdate&&this.$forceUpdate()})},beforeUnmount(){this.unwatch&&this.unwatch()},methods:{loadAllSettings(){this.serverSettings={provider:_("server.provider"),domain:_("server.domain"),classNumber:_("server.classNumber"),kvToken:_("server.kvToken")}},saveAllSettings(){Object.entries(this.serverSettings).forEach(([s,e])=>{const a=`server.${s}`,d=_(a);e!==d&&(xe(a,e)?console.log(`设置已更新: ${a} = ${e}`):(console.error(`设置失败: ${a}`),this.serverSettings[s]=d))})}}},nl={key:0},sl={key:2},il={key:3},ll={key:4};function ol(s,e,a,d,i,l){const r=$t,p=ee;return c(),g(p,{loading:a.loading,icon:"mdi-database",title:"数据源设置"},{default:n(()=>[t(jt,null,{default:n(()=>[t(Je,{modelValue:i.serverSettings.provider,"onUpdate:modelValue":e[0]||(e[0]=u=>i.serverSettings.provider=u),items:[{title:"Classworks云端存储",value:"classworkscloud"},{title:"KV本地存储",value:"kv-local"},{title:"KV远程服务器",value:"kv-server"}],class:"mb-3",density:"comfortable","item-title":"title","item-value":"value",label:"数据提供者","prepend-icon":"mdi-database",variant:"outlined"},null,8,["modelValue"]),l.isKvProvider?(c(),g($,{key:0,class:"my-2",type:"info",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[5]||(e[5]=[o("KV 存储系统",-1)])]),_:1}),e[7]||(e[7]=m("p",null,"KV存储系统使用本机唯一标识符(UUID)来区分不同设备的数据。",-1)),l.currentProvider==="kv-server"?(c(),x("p",nl,[...e[6]||(e[6]=[o(" 服务器端点格式: ",-1),m("code",null,"http(s)://服务器域名/",-1),m("br",null,null,-1),o(" 在服务器域名处仅填写基础URL,不需要任何路径。 ",-1)])])):k("",!0)]),_:1})):k("",!0),l.isClassworksCloud?(c(),g($,{key:1,class:"my-2",color:"success",type:"info",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[8]||(e[8]=[o("Classworks云端存储",-1)])]),_:1}),e[9]||(e[9]=m("p",null,"Classworks云端存储是官方提供的存储解决方案,自动配置了最优的访问设置。",-1)),e[10]||(e[10]=m("p",null,"使用此选项时,服务器域名和网站令牌将自动配置,无需手动设置。",-1))]),_:1})):k("",!0),t(M,{class:"my-2"}),l.isClassworksCloud?(c(),x("div",sl,[t(R,{modelValue:i.serverSettings.kvToken,"onUpdate:modelValue":e[1]||(e[1]=u=>i.serverSettings.kvToken=u),class:"mb-2",density:"comfortable",hint:"令牌用于云端存储授权",label:"KV 授权令牌","persistent-hint":"","prepend-icon":"mdi-shield-key",variant:"outlined"},null,8,["modelValue"]),t(r,{visible:l.isClassworksCloud,class:"mt-4"},null,8,["visible"])])):l.currentProvider==="kv-server"?(c(),x("div",il,[t(R,{modelValue:i.serverSettings.domain,"onUpdate:modelValue":e[2]||(e[2]=u=>i.serverSettings.domain=u),class:"mb-2",density:"comfortable",hint:"例如: https://example.com (不需要路径)",label:"服务器域名","persistent-hint":"","prepend-icon":"mdi-web",variant:"outlined"},null,8,["modelValue"]),t(R,{modelValue:i.serverSettings.kvToken,"onUpdate:modelValue":e[3]||(e[3]=u=>i.serverSettings.kvToken=u),class:"mb-2",density:"comfortable",hint:"令牌用于服务器验证",label:"KV 授权令牌","persistent-hint":"","prepend-icon":"mdi-shield-key",variant:"outlined"},null,8,["modelValue"])])):l.currentProvider==="kv-local"?(c(),x("div",ll,[t(R,{modelValue:i.serverSettings.classNumber,"onUpdate:modelValue":e[4]||(e[4]=u=>i.serverSettings.classNumber=u),class:"mb-2",density:"comfortable",hint:"例如: 高三八班",label:"班级编号","persistent-hint":"","prepend-icon":"mdi-account-group",variant:"outlined"},null,8,["modelValue"])])):k("",!0)]),_:1})]),_:1},8,["loading"])}const en=Y(tl,[["render",ol]]),al="classworks",rl="module",ul="0.0.0",dl={dev:"vite --host",build:"vite build",preview:"vite preview",lint:"eslint . --fix",prebuild:"node scripts/generate-sound-list.js"},cl={"@fingerprintjs/fingerprintjs":"^5.0.1","@mdi/font":"7.4.47","@microsoft/clarity":"^1.0.2","@vueuse/core":"^14.1.0",axios:"^1.13.2",idb:"^8.0.3","js-base64":"^3.7.8","js-yaml":"^4.1.1","lucide-vue-next":"^0.555.0",marked:"^17.0.1","pinyin-pro":"^3.27.0","ratelimit-header-parser":"^0.1.0","roboto-fontface":"*","socket.io-client":"^4.8.1","typewriter-effect":"^2.22.0",uuid:"^13.0.0",vue:"^3.5.25","vue-sonner":"^2.0.9",vuetify:"^3.11.0"},ml={"@eslint/js":"^9.39.1","@vite-pwa/assets-generator":"^1.0.2","@vitejs/plugin-vue":"^6.0.2",eslint:"^9.39.1","eslint-plugin-import":"^2.32.0","eslint-plugin-n":"^17.23.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^7.2.1","eslint-plugin-vue":"^10.6.2",pinia:"^3.0.4",sass:"1.94.2","sass-embedded":"^1.93.3","unplugin-auto-import":"^20.3.0","unplugin-fonts":"^1.4.0","unplugin-vue-components":"^30.0.0","unplugin-vue-router":"^0.18.0",vite:"^5.4.11","vite-plugin-pwa":"^1.2.0","vite-plugin-vue-devtools":"^7.6.8","vite-plugin-vue-layouts":"^0.11.0","vite-plugin-vuetify":"^2.1.2","vue-router":"^4.6.3"},Pe={name:al,private:!0,type:rl,version:ul,scripts:dl,dependencies:cl,devDependencies:ml},fl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAa9SURBVHic7dY9jlxVFIXRY8SsCEDyMCAjgRFBYokARoGQQII5EDIJYhNgyb9td9euqvfu3WuN4CTf1nn2958/vRyg0mdHHwAcxwBAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFPj/6AI7z2+9/zW9//HX0Gct6/uUX8/yrL44+I+IDKCX+zA7xzxiASuLP7BL/jAGoI/7MTvHPGIAq4s/sFv+MAagh/syO8c8YgAriz+wa/4wB2J74MzvHP2MAtib+zO7xzxiAbYk/0xD/jAHYkvgzLfHPGIDtiD/TFP+MAdiK+DNt8c8YgG2IP9MY/4wB2IL4M63xzxiA5Yk/0xz/jAFYmvgz7fHPGIBliT8j/v8ZgAWJPyP+1wzAYsSfEf/bDMBCxJ8R//sMwCLEnxH/hxmABYg/I/6HGYCTE39G/B9nAE5M/Bnxf5oBOCnxZ8T/OAbghMSfEf/jGYCTEX9G/E9jAE5E/BnxP50BOAnxZ8R/GQNwAuLPiP9yBuBg4s+IP2MADiT+jPhzBuAg4s+I/zoMwAHEnxH/9RiAOxN/RvzXZQDuSPwZ8V+fAbgT8WfEfxsG4A7EnxH/7RiAGxN/Rvy3ZQBuSPwZ8d+eAbgR8WfEfx8G4AbEnxH//RiAKxN/Rvz3ZQCuSPwZ8d+fAbgS8WfEfwwDcAXiz4j/OAYgJP6M+I9lAALiz4j/eAbgQuLPiP8cDMAFxJ8R/3kYgCcSf0b852IAnkD8GfGfjwF4JPFnxH9OBuARxJ8R/3kZgE8Qf0b852YAPkL8GfGfnwF4gPgz4l+DAfgA8WfEvw4D8A7xZ8S/FgPwBvFnxL8eA/CK+DPiX5MBGPGnxL+u+gEQf0b8a6seAPFnxL++2gEQf0b8e6gcAPFnxL+PugEQf0b8e6kaAPFnxL+fmgEQf0b8e6oYAPFnxL+v7QdA/Bnx723rARB/Rvz723YAxJ8Rf4ctB0D8GfH32G4AxJ8Rf5etBkD8GfH32WYAxJ8Rf6ctBkD8GfH3Wn4AxJ8Rf7dn//7z68ujj+AYP774ZX548fPRZyzr+2+/me++/froMyLLfwBcRvyZHeKfMQCVxJ/ZJf4ZA1BH/Jmd4p8xAFXEn9kt/hkDUEP8mR3jnzEAFcSf2TX+GQOwPfFndo5/xgBsTfyZ3eOfMQDbEn+mIf4ZA7Al8Wda4p8xANsRf6Yp/hkDsBXxZ9rinzEA2xB/pjH+GQOwBfFnWuOfMQDLE3+mOf4ZA7A08Wfa458xAMsSf0b8/zMACxJ/RvyvGYDFiD8j/rcZgIWIPyP+9xmARYg/I/4PMwALEH9G/A8zACcn/oz4P84AnJj4M+L/NANwUuLPiP9xDMAJiT8j/sczACcj/oz4n8YAnIj4M+J/OgNwEuLPiP8yBuAExJ8R/+UMwMHEnxF/xgAcSPwZ8ecMwEHEnxH/dRiAA4g/I/7rMQB3Jv6M+K/LANyR+DPivz4DcCfiz4j/NgzAHYg/I/7bMQA3Jv6M+G/LANyQ+DPivz0DcCPiz4j/PgzADYg/I/77MQBXJv6M+O/LAFyR+DPivz8DcCXiz4j/GAbgCsSfEf9xDEBI/BnxH8sABMSfEf/xDMCFxJ8R/zkYgAuIPyP+8zAATyT+jPjPxQA8gfgz4j8fA/BI4s+I/5wMwCOIPyP+8zIAnyD+jPjPzQB8hPgz4j8/A/AA8WfEvwYD8AHiz4h/HQbgHeLPiH8tBuAN4s+Ifz0G4BXxZ8S/JgMw4k+Jf131AyD+jPjXVj0A4s+If321AyD+jPj3UDkA4s+Ifx91AyD+jPj3UjUA4s+Ifz81AyD+jPj3VDEA4s+If1/bD4D4M+Lf29YDIP6M+Pe37QCIPyP+DlsOgPgz4u+x3QCIPyP+LlsNgPgz4u+zzQCIPyP+TlsMgPgz4u+1/ACIPyP+bs/+/efXl0cfARxj+Q8AuJwBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAiv0Hs2PMhrt8KlMAAAAASUVORK5CYII=",pl={name:"AboutCard",setup(){const s=ge([]),e=ge(!1),a=ge(!1),d=ge(""),i=ge(!1),l=ge(!1),r="964979747",p="https://qm.qq.com/q/T6qImKJjGi",u=Vn(),y=()=>{try{const b={...Pe.dependencies||{},...Pe.devDependencies||{}},D=Object.entries(b).map(([P,Z])=>({name:P,version:Z.replace(/[\^~]/g,""),description:T(P)}));s.value=D}catch(b){console.error("加载依赖信息失败:",b),s.value=[]}},T=b=>({vue:"渐进式 JavaScript 框架",vuetify:"材料设计组件框架",axios:"Promise 基础的 HTTP 客户端",pinia:"Vue 状态管理库","vue-router":"Vue.js 官方路由管理器","@vitejs/plugin-vue":"Vite 的 Vue 插件"})[b]||"",I=()=>{u.push("/debug")},Q=async()=>{i.value=!0;try{const b=await An();d.value=b||""}catch(b){console.error("获取访客ID失败",b)}finally{i.value=!1}},H=()=>Q(),q=async()=>{a.value=!0,d.value||await Q()},fe=async()=>{try{await navigator.clipboard.writeText(ce.value),l.value=!0,setTimeout(()=>l.value=!1,1800)}catch(b){console.error("复制失败",b)}},pe=Me(()=>{var ye,G;const b=navigator||{},D=typeof Intl<"u"&&Intl.DateTimeFormat?Intl.DateTimeFormat().resolvedOptions():{},P=D&&D.timeZone?D.timeZone:"",Z=((G=(ye=u.currentRoute)==null?void 0:ye.value)==null?void 0:G.fullPath)||location.pathname;return[`App 版本: v${Pe==null?void 0:Pe.version}`,`URL: ${location.href}`,`路由: ${Z}`,`UserAgent: ${b.userAgent||""}`,`语言: ${b.language||""}`,`时区: ${P}`,`平台: ${b.platform||""}`,`在线: ${String(b.onLine)}`,`屏幕: ${(screen==null?void 0:screen.width)||"-"}x${(screen==null?void 0:screen.height)||"-"}`,`视口: ${window.innerWidth||"-"}x${window.innerHeight||"-"}`].join(` +所有服务器均连接失败`}this.$message.error("连接失败",a)}finally{this.loading=!1}},confirmClearLocalStorage(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有本地存储的数据,确定要继续吗?",this.confirmAction=this.clearLocalStorage,this.confirmDialog=!0},clearLocalStorage(){try{localStorage.clear(),this.$message.success("清除成功","本地存储数据已清除"),this.confirmDialog=!1}catch(s){this.$message.error("清除失败",s.message)}},confirmClearIndexedDB(){this.confirmTitle="确认清除",this.confirmMessage="此操作将清除所有IndexedDB中的数据,确定要继续吗?",this.confirmAction=this.clearIndexedDB,this.confirmDialog=!0},async clearIndexedDB(){try{await window.indexedDB.deleteDatabase("ClassworksDB"),this.$message.success("清除成功","数据库缓存已清除"),this.confirmDialog=!1,this.isKvProvider&&setTimeout(()=>{window.location.reload()},1500)}catch(s){this.$message.error("清除失败",s.message)}},async exportData(){try{const s="ClassworksDB",e={indexedDB:{}},a=await new Promise((u,y)=>{const T=window.indexedDB.open(s);T.onerror=()=>y(T.error),T.onsuccess=()=>u(T.result)}),d=Array.from(a.objectStoreNames);for(const u of d){const T=a.transaction(u,"readonly").objectStore(u),I=await new Promise((Q,H)=>{const q=T.getAll();q.onerror=()=>H(q.error),q.onsuccess=()=>Q(q.result)});e.indexedDB[u]=I}const i=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),l=URL.createObjectURL(i),r=document.createElement("a"),p=new Date().toISOString().split("T")[0];r.href=l,r.download=`homework-indexeddb-${p}.json`,r.click(),URL.revokeObjectURL(l),this.$message.success("导出成功","IndexedDB数据已导出")}catch(s){console.error("导出失败:",s),this.$message.error("导出失败",s.message||"无法导出数据库数据")}},async migrateData(){this.migrateLoading=!0,this.$router.push("/datamigration"),this.migrateLoading=!1},handleConfirm(){this.confirmAction&&this.confirmAction()}}};function Fi(s,e,a,d,i,l){const r=ee;return c(),g(r,{icon:"mdi-database-cog",title:"数据源设置"},{default:n(()=>[t(J,null,{default:n(()=>[l.currentProvider==="kv-server"||l.currentProvider==="classworkscloud"?(c(),g(A,{key:0},{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-lan-connect"})]),append:n(()=>[t(h,{loading:i.loading,variant:"tonal",onClick:l.checkServerConnection},{default:n(()=>[...e[3]||(e[3]=[o(" 测试连接 ",-1)])]),_:1},8,["loading","onClick"])]),default:n(()=>[t(L,null,{default:n(()=>[...e[2]||(e[2]=[o("检查服务器连接",-1)])]),_:1})]),_:1})):k("",!0),l.currentProvider==="kv-local"?(c(),x(ne,{key:1},[t(A,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-database"})]),append:n(()=>[t(h,{color:"error",variant:"tonal",onClick:l.confirmClearIndexedDB},{default:n(()=>[...e[6]||(e[6]=[o(" 清除 ",-1)])]),_:1},8,["onClick"])]),default:n(()=>[t(L,null,{default:n(()=>[...e[4]||(e[4]=[o("清除数据库缓存",-1)])]),_:1}),t(ie,null,{default:n(()=>[...e[5]||(e[5]=[o("这将清除所有本地数据库中的数据 ",-1)])]),_:1})]),_:1}),t(A,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-database-export"})]),append:n(()=>[t(h,{variant:"tonal",onClick:l.exportData},{default:n(()=>[...e[8]||(e[8]=[o(" 导出",-1)])]),_:1},8,["onClick"])]),default:n(()=>[t(L,null,{default:n(()=>[...e[7]||(e[7]=[o("导出数据库",-1)])]),_:1})]),_:1})],64)):k("",!0),t(A,null,{prepend:n(()=>[t(v,{class:"mr-3",icon:"mdi-lan-connect"})]),append:n(()=>[t(h,{to:"/cachemanagement",variant:"tonal"},{default:n(()=>[...e[10]||(e[10]=[o(" 查看",-1)])]),_:1})]),default:n(()=>[t(L,null,{default:n(()=>[...e[9]||(e[9]=[o("查看本地缓存",-1)])]),_:1})]),_:1})]),_:1}),t(we,{modelValue:i.confirmDialog,"onUpdate:modelValue":e[1]||(e[1]=p=>i.confirmDialog=p),"max-width":"400"},{default:n(()=>[t(E,null,{default:n(()=>[t(K,null,{default:n(()=>[o(w(i.confirmTitle),1)]),_:1}),t(j,null,{default:n(()=>[o(w(i.confirmMessage),1)]),_:1}),t(re,null,{default:n(()=>[t(te),t(h,{color:"grey",variant:"text",onClick:e[0]||(e[0]=p=>i.confirmDialog=!1)},{default:n(()=>[...e[11]||(e[11]=[o("取消 ",-1)])]),_:1}),t(h,{color:"error",variant:"tonal",onClick:l.handleConfirm},{default:n(()=>[...e[12]||(e[12]=[o("确认 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}const Xt=Y(Ki,[["render",Fi]]),Ji={name:"CloudNamespaceInfoCard",props:{visible:{type:Boolean,default:!0}},data(){return{namespaceInfo:{},loading:!1,hasNamespaceInfo:!1,showReinitDialog:!1,defaultAuthServer:_("server.authDomain")}},watch:{visible(s){s===!0&&this.fetchNamespaceInfo()}},mounted(){this.visible&&this.fetchNamespaceInfo()},methods:{formatDate(s){if(!s)return"未知";try{return new Date(s).toLocaleString("zh-CN")}catch{return s}},async fetchNamespaceInfo(){this.loading=!0;try{const s=await Un.loadNamespaceInfo();this.namespaceInfo=s,this.hasNamespaceInfo=!0,this.loading=!1}catch(s){console.error("获取命名空间信息失败:",s),this.hasNamespaceInfo=!1,this.namespaceInfo={}}finally{this.loading=!1}},async reloadInfo(){await this.fetchNamespaceInfo()},getBindAccountUrl(){var e,a;const s=(a=(e=this.namespaceInfo)==null?void 0:e.device)==null?void 0:a.uuid;return s?`${this.defaultAuthServer}?uuid=${encodeURIComponent(s)}&tolinktoaccount=true`:this.defaultAuthServer},confirmReinitialize(){xe("server.kvToken",""),xe("device.uuid",""),this.showReinitDialog=!1,this.$router.push("/")}}},Qi={key:0,class:"mb-4"},Hi={key:1,class:"d-flex align-center mb-4"},Gi={class:"d-flex flex-column gap-1"},Wi={class:"d-flex align-center"},Yi={class:"d-flex align-center"},qi={key:0,class:"d-flex align-center"},Zi={class:"text-truncate"},Xi={class:"d-flex align-center"},$i={key:1,class:"d-flex align-center"};function el(s,e,a,d,i,l){return c(),g(E,{disabled:!i.hasNamespaceInfo,loading:i.loading,class:"my-4"},{loader:n(()=>[i.loading?(c(),g(He,{key:0,color:"primary",indeterminate:""})):k("",!0)]),default:n(()=>[t(K,null,{default:n(()=>[t(v,{class:"me-2"},{default:n(()=>[...e[3]||(e[3]=[o(" mdi-cloud-check ",-1)])]),_:1}),e[4]||(e[4]=o(" 设备信息 ",-1))]),_:1}),i.hasNamespaceInfo?(c(),g(j,{key:0},{default:n(()=>[i.namespaceInfo.hasAccount===!1?(c(),x("div",Qi,[t($,{border:"",type:"warning",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[5]||(e[5]=[o("设备未绑定账号",-1)])]),_:1}),e[7]||(e[7]=m("div",null,"当前设备尚未绑定账号,部分功能可能受限。请前往绑定账号以获得完整体验。",-1)),t(h,{href:l.getBindAccountUrl(),"append-icon":"mdi-open-in-new",class:"mt-3",target:"_blank",variant:"outlined"},{default:n(()=>[...e[6]||(e[6]=[o(" 前往绑定账号 ",-1)])]),_:1},8,["href"])]),_:1})])):k("",!0),i.namespaceInfo.hasAccount&&i.namespaceInfo.account?(c(),x("div",Hi,[t(E,{"prepend-avatar":i.namespaceInfo.account.avatarUrl,subtitle:"此设备由贵校管理 管理员账号 ID: "+i.namespaceInfo.account.id,title:i.namespaceInfo.account.name||"未命名用户",border:"",class:"w-100",hover:"",variant:"tonal"},{default:n(()=>[t(j,null,{default:n(()=>[...e[8]||(e[8]=[o(" 此设备由贵校或贵单位管理,该管理员系此空间所有者,如有疑问请咨询他,对于恶意绑定、滥用行为请反馈。 ",-1)])]),_:1})]),_:1},8,["prepend-avatar","subtitle","title"])])):k("",!0),i.namespaceInfo.device?(c(),g(E,{key:2,border:"",class:"mb-4",hover:"",variant:"tonal"},{default:n(()=>[t(K,{class:"pb-1"},{default:n(()=>[...e[9]||(e[9]=[o(" 设备信息 ",-1)])]),_:1}),t(j,null,{default:n(()=>[m("div",Gi,[m("div",Wi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[10]||(e[10]=[o(" mdi-tag ",-1)])]),_:1}),e[11]||(e[11]=m("span",{class:"font-weight-medium me-2"},"设备名称:",-1)),m("span",null,w(i.namespaceInfo.device.name||"未命名设备"),1)]),m("div",Yi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[12]||(e[12]=[o(" mdi-identifier ",-1)])]),_:1}),e[13]||(e[13]=m("span",{class:"font-weight-medium me-2"},"设备 ID:",-1)),m("span",null,w(i.namespaceInfo.device.id),1)]),i.namespaceInfo.hasAccount===!1&&i.namespaceInfo.device.uuid?(c(),x("div",qi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[14]||(e[14]=[o(" mdi-uuid ",-1)])]),_:1}),e[15]||(e[15]=m("span",{class:"font-weight-medium me-2"},"UUID:",-1)),m("span",Zi,w(i.namespaceInfo.device.uuid),1)])):k("",!0),m("div",Xi,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[16]||(e[16]=[o(" mdi-calendar ",-1)])]),_:1}),e[17]||(e[17]=m("span",{class:"font-weight-medium me-2"},"创建时间:",-1)),m("span",null,w(l.formatDate(i.namespaceInfo.device.createdAt)),1)]),i.namespaceInfo.device.updatedAt?(c(),x("div",$i,[t(v,{class:"me-2",size:"small"},{default:n(()=>[...e[18]||(e[18]=[o(" mdi-calendar-clock ",-1)])]),_:1}),e[19]||(e[19]=m("span",{class:"font-weight-medium me-2"},"更新时间:",-1)),m("span",null,w(l.formatDate(i.namespaceInfo.device.updatedAt)),1)])):k("",!0)])]),_:1})]),_:1})):k("",!0),t(E,{border:"",hover:"",subtitle:"文档形键值数据库",title:"Classworks KV"},{default:n(()=>[t(j,null,{default:n(()=>[...e[20]||(e[20]=[o(" Classworks KV 是厚浪云推出的文档形键值数据库,其是一个开放的云应用平台,为各种应用提供存储服务。此设备正在使用其服务,如果您希望管理设备信息,请前往 Classworks KV 的网站,如果您在服务推出前就在使用 Classworks,您的数据已被自动迁移。 ",-1),m("br",null,null,-1),m("br",null,null,-1),o(" Classworks KV 的全域管理员是 ",-1),m("a",{href:"https://wuyuan.dev",target:"_blank"}," 孙悟元 ",-1)])]),_:1}),t(re,null,{default:n(()=>[t(h,{href:i.defaultAuthServer,"append-icon":"mdi-open-in-new",class:"text-none",target:"_blank"},{default:n(()=>[...e[21]||(e[21]=[o(" 前往 Classworks KV ",-1)])]),_:1},8,["href"])]),_:1})]),_:1})]),_:1})):(c(),g(j,{key:1},{default:n(()=>[t($,{type:"info",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[22]||(e[22]=[o("未获取到设备信息",-1)])]),_:1}),e[23]||(e[23]=m("p",null,"您尚未完成云端存储授权或连接失败,请点击下方按钮进行初始化。",-1))]),_:1})]),_:1})),t(re,null,{default:n(()=>[t(te),t(h,{loading:i.loading,color:"primary",variant:"outlined",onClick:l.reloadInfo},{default:n(()=>[...e[24]||(e[24]=[o(" 刷新设备信息 ",-1)])]),_:1},8,["loading","onClick"]),t(h,{color:"error",variant:"outlined",onClick:e[0]||(e[0]=r=>i.showReinitDialog=!0)},{default:n(()=>[...e[25]||(e[25]=[o(" 重新初始化云端存储 ",-1)])]),_:1})]),_:1}),t(we,{modelValue:i.showReinitDialog,"onUpdate:modelValue":e[2]||(e[2]=r=>i.showReinitDialog=r),"max-width":"500"},{default:n(()=>[t(E,null,{default:n(()=>[t(K,null,{default:n(()=>[...e[26]||(e[26]=[o("确认重新初始化",-1)])]),_:1}),t(j,null,{default:n(()=>[t($,{class:"mb-3",type:"warning",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[27]||(e[27]=[o("警告",-1)])]),_:1}),e[28]||(e[28]=o(" 此操作将清除当前的云端存储配置(包括 Token),您需要重新进行授权。 ",-1))]),_:1}),e[29]||(e[29]=m("p",null,"您确定要重新初始化云端存储吗?",-1))]),_:1}),t(re,null,{default:n(()=>[t(te),t(h,{variant:"text",onClick:e[1]||(e[1]=r=>i.showReinitDialog=!1)},{default:n(()=>[...e[30]||(e[30]=[o(" 取消 ",-1)])]),_:1}),t(h,{color:"error",onClick:l.confirmReinitialize},{default:n(()=>[...e[31]||(e[31]=[o(" 确认 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["disabled","loading"])}const $t=Y(Ji,[["render",el]]),tl={name:"ServerSettingsCard",components:{SettingsCard:ee,CloudNamespaceInfoCard:$t},props:{loading:Boolean},data(){return{unwatch:null,serverSettings:{provider:_("server.provider"),domain:_("server.domain"),classNumber:_("server.classNumber"),kvToken:_("server.kvToken")},settingsChangeTimeout:null}},computed:{currentProvider(){return this.serverSettings.provider},isKvProvider(){return this.currentProvider==="kv-local"||this.currentProvider==="kv-server"},isClassworksCloud(){return this.currentProvider==="classworkscloud"},useServer(){return this.currentProvider==="server"||this.currentProvider==="kv-server"||this.currentProvider==="classworkscloud"}},watch:{serverSettings:{handler(){this.settingsChangeTimeout&&clearTimeout(this.settingsChangeTimeout),this.settingsChangeTimeout=setTimeout(()=>{this.saveAllSettings()},100)},deep:!0}},mounted(){this.loadAllSettings(),this.unwatch=nt(()=>{this.loadAllSettings(),this.$forceUpdate&&this.$forceUpdate()})},beforeUnmount(){this.unwatch&&this.unwatch()},methods:{loadAllSettings(){this.serverSettings={provider:_("server.provider"),domain:_("server.domain"),classNumber:_("server.classNumber"),kvToken:_("server.kvToken")}},saveAllSettings(){Object.entries(this.serverSettings).forEach(([s,e])=>{const a=`server.${s}`,d=_(a);e!==d&&(xe(a,e)?console.log(`设置已更新: ${a} = ${e}`):(console.error(`设置失败: ${a}`),this.serverSettings[s]=d))})}}},nl={key:0},sl={key:2},il={key:3},ll={key:4};function ol(s,e,a,d,i,l){const r=$t,p=ee;return c(),g(p,{loading:a.loading,icon:"mdi-database",title:"数据源设置"},{default:n(()=>[t(jt,null,{default:n(()=>[t(Je,{modelValue:i.serverSettings.provider,"onUpdate:modelValue":e[0]||(e[0]=u=>i.serverSettings.provider=u),items:[{title:"Classworks云端存储",value:"classworkscloud"},{title:"KV本地存储",value:"kv-local"},{title:"KV远程服务器",value:"kv-server"}],class:"mb-3",density:"comfortable","item-title":"title","item-value":"value",label:"数据提供者","prepend-icon":"mdi-database",variant:"outlined"},null,8,["modelValue"]),l.isKvProvider?(c(),g($,{key:0,class:"my-2",type:"info",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[5]||(e[5]=[o("KV 存储系统",-1)])]),_:1}),e[7]||(e[7]=m("p",null,"KV存储系统使用本机唯一标识符(UUID)来区分不同设备的数据。",-1)),l.currentProvider==="kv-server"?(c(),x("p",nl,[...e[6]||(e[6]=[o(" 服务器端点格式: ",-1),m("code",null,"http(s)://服务器域名/",-1),m("br",null,null,-1),o(" 在服务器域名处仅填写基础URL,不需要任何路径。 ",-1)])])):k("",!0)]),_:1})):k("",!0),l.isClassworksCloud?(c(),g($,{key:1,class:"my-2",color:"success",type:"info",variant:"tonal"},{default:n(()=>[t(Te,null,{default:n(()=>[...e[8]||(e[8]=[o("Classworks云端存储",-1)])]),_:1}),e[9]||(e[9]=m("p",null,"Classworks云端存储是官方提供的存储解决方案,自动配置了最优的访问设置。",-1)),e[10]||(e[10]=m("p",null,"使用此选项时,服务器域名和网站令牌将自动配置,无需手动设置。",-1))]),_:1})):k("",!0),t(M,{class:"my-2"}),l.isClassworksCloud?(c(),x("div",sl,[t(R,{modelValue:i.serverSettings.kvToken,"onUpdate:modelValue":e[1]||(e[1]=u=>i.serverSettings.kvToken=u),class:"mb-2",density:"comfortable",hint:"令牌用于云端存储授权",label:"KV 授权令牌","persistent-hint":"","prepend-icon":"mdi-shield-key",variant:"outlined"},null,8,["modelValue"]),t(r,{visible:l.isClassworksCloud,class:"mt-4"},null,8,["visible"])])):l.currentProvider==="kv-server"?(c(),x("div",il,[t(R,{modelValue:i.serverSettings.domain,"onUpdate:modelValue":e[2]||(e[2]=u=>i.serverSettings.domain=u),class:"mb-2",density:"comfortable",hint:"例如: https://example.com (不需要路径)",label:"服务器域名","persistent-hint":"","prepend-icon":"mdi-web",variant:"outlined"},null,8,["modelValue"]),t(R,{modelValue:i.serverSettings.kvToken,"onUpdate:modelValue":e[3]||(e[3]=u=>i.serverSettings.kvToken=u),class:"mb-2",density:"comfortable",hint:"令牌用于服务器验证",label:"KV 授权令牌","persistent-hint":"","prepend-icon":"mdi-shield-key",variant:"outlined"},null,8,["modelValue"])])):l.currentProvider==="kv-local"?(c(),x("div",ll,[t(R,{modelValue:i.serverSettings.classNumber,"onUpdate:modelValue":e[4]||(e[4]=u=>i.serverSettings.classNumber=u),class:"mb-2",density:"comfortable",hint:"例如: 高三八班",label:"班级编号","persistent-hint":"","prepend-icon":"mdi-account-group",variant:"outlined"},null,8,["modelValue"])])):k("",!0)]),_:1})]),_:1},8,["loading"])}const en=Y(tl,[["render",ol]]),al="classworks",rl="module",ul="0.0.0",dl={dev:"vite --host",build:"vite build",preview:"vite preview",lint:"eslint . --fix",prebuild:"node scripts/generate-sound-list.js"},cl={"@fingerprintjs/fingerprintjs":"^5.0.1","@mdi/font":"7.4.47","@microsoft/clarity":"^1.0.2","@sentry/vue":"^10.36.0","@vueuse/core":"^14.1.0",axios:"^1.13.2",idb:"^8.0.3","js-base64":"^3.7.8","js-yaml":"^4.1.1","lucide-vue-next":"^0.555.0",marked:"^17.0.1","pinyin-pro":"^3.27.0","ratelimit-header-parser":"^0.1.0","roboto-fontface":"*","socket.io-client":"^4.8.1","typewriter-effect":"^2.22.0",uuid:"^13.0.0",vue:"^3.5.25","vue-sonner":"^2.0.9",vuetify:"^3.11.0"},ml={"@eslint/js":"^9.39.1","@vite-pwa/assets-generator":"^1.0.2","@vitejs/plugin-vue":"^6.0.2",eslint:"^9.39.1","eslint-plugin-import":"^2.32.0","eslint-plugin-n":"^17.23.1","eslint-plugin-node":"^11.1.0","eslint-plugin-promise":"^7.2.1","eslint-plugin-vue":"^10.6.2",pinia:"^3.0.4",sass:"1.94.2","sass-embedded":"^1.93.3","unplugin-auto-import":"^20.3.0","unplugin-fonts":"^1.4.0","unplugin-vue-components":"^30.0.0","unplugin-vue-router":"^0.18.0",vite:"^5.4.11","vite-plugin-pwa":"^1.2.0","vite-plugin-vue-devtools":"^7.6.8","vite-plugin-vue-layouts":"^0.11.0","vite-plugin-vuetify":"^2.1.2","vue-router":"^4.6.3"},Pe={name:al,private:!0,type:rl,version:ul,scripts:dl,dependencies:cl,devDependencies:ml},fl="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAYAAABccqhmAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAa9SURBVHic7dY9jlxVFIXRY8SsCEDyMCAjgRFBYokARoGQQII5EDIJYhNgyb9td9euqvfu3WuN4CTf1nn2958/vRyg0mdHHwAcxwBAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFDAAUMwBQzABAMQMAxQwAFDMAUMwAQDEDAMUMABQzAFDMAEAxAwDFPj/6AI7z2+9/zW9//HX0Gct6/uUX8/yrL44+I+IDKCX+zA7xzxiASuLP7BL/jAGoI/7MTvHPGIAq4s/sFv+MAagh/syO8c8YgAriz+wa/4wB2J74MzvHP2MAtib+zO7xzxiAbYk/0xD/jAHYkvgzLfHPGIDtiD/TFP+MAdiK+DNt8c8YgG2IP9MY/4wB2IL4M63xzxiA5Yk/0xz/jAFYmvgz7fHPGIBliT8j/v8ZgAWJPyP+1wzAYsSfEf/bDMBCxJ8R//sMwCLEnxH/hxmABYg/I/6HGYCTE39G/B9nAE5M/Bnxf5oBOCnxZ8T/OAbghMSfEf/jGYCTEX9G/E9jAE5E/BnxP50BOAnxZ8R/GQNwAuLPiP9yBuBg4s+IP2MADiT+jPhzBuAg4s+I/zoMwAHEnxH/9RiAOxN/RvzXZQDuSPwZ8V+fAbgT8WfEfxsG4A7EnxH/7RiAGxN/Rvy3ZQBuSPwZ8d+eAbgR8WfEfx8G4AbEnxH//RiAKxN/Rvz3ZQCuSPwZ8d+fAbgS8WfEfwwDcAXiz4j/OAYgJP6M+I9lAALiz4j/eAbgQuLPiP8cDMAFxJ8R/3kYgCcSf0b852IAnkD8GfGfjwF4JPFnxH9OBuARxJ8R/3kZgE8Qf0b852YAPkL8GfGfnwF4gPgz4l+DAfgA8WfEvw4D8A7xZ8S/FgPwBvFnxL8eA/CK+DPiX5MBGPGnxL+u+gEQf0b8a6seAPFnxL++2gEQf0b8e6gcAPFnxL+PugEQf0b8e6kaAPFnxL+fmgEQf0b8e6oYAPFnxL+v7QdA/Bnx723rARB/Rvz723YAxJ8Rf4ctB0D8GfH32G4AxJ8Rf5etBkD8GfH32WYAxJ8Rf6ctBkD8GfH3Wn4AxJ8Rf7dn//7z68ujj+AYP774ZX548fPRZyzr+2+/me++/froMyLLfwBcRvyZHeKfMQCVxJ/ZJf4ZA1BH/Jmd4p8xAFXEn9kt/hkDUEP8mR3jnzEAFcSf2TX+GQOwPfFndo5/xgBsTfyZ3eOfMQDbEn+mIf4ZA7Al8Wda4p8xANsRf6Yp/hkDsBXxZ9rinzEA2xB/pjH+GQOwBfFnWuOfMQDLE3+mOf4ZA7A08Wfa458xAMsSf0b8/zMACxJ/RvyvGYDFiD8j/rcZgIWIPyP+9xmARYg/I/4PMwALEH9G/A8zACcn/oz4P84AnJj4M+L/NANwUuLPiP9xDMAJiT8j/sczACcj/oz4n8YAnIj4M+J/OgNwEuLPiP8yBuAExJ8R/+UMwMHEnxF/xgAcSPwZ8ecMwEHEnxH/dRiAA4g/I/7rMQB3Jv6M+K/LANyR+DPivz4DcCfiz4j/NgzAHYg/I/7bMQA3Jv6M+G/LANyQ+DPivz0DcCPiz4j/PgzADYg/I/77MQBXJv6M+O/LAFyR+DPivz8DcCXiz4j/GAbgCsSfEf9xDEBI/BnxH8sABMSfEf/xDMCFxJ8R/zkYgAuIPyP+8zAATyT+jPjPxQA8gfgz4j8fA/BI4s+I/5wMwCOIPyP+8zIAnyD+jPjPzQB8hPgz4j8/A/AA8WfEvwYD8AHiz4h/HQbgHeLPiH8tBuAN4s+Ifz0G4BXxZ8S/JgMw4k+Jf131AyD+jPjXVj0A4s+If321AyD+jPj3UDkA4s+Ifx91AyD+jPj3UjUA4s+Ifz81AyD+jPj3VDEA4s+If1/bD4D4M+Lf29YDIP6M+Pe37QCIPyP+DlsOgPgz4u+x3QCIPyP+LlsNgPgz4u+zzQCIPyP+TlsMgPgz4u+1/ACIPyP+bs/+/efXl0cfARxj+Q8AuJwBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAihkAKGYAoJgBgGIGAIoZAChmAKCYAYBiBgCKGQAoZgCgmAGAYgYAiv0Hs2PMhrt8KlMAAAAASUVORK5CYII=",pl={name:"AboutCard",setup(){const s=ge([]),e=ge(!1),a=ge(!1),d=ge(""),i=ge(!1),l=ge(!1),r="964979747",p="https://qm.qq.com/q/T6qImKJjGi",u=Vn(),y=()=>{try{const b={...Pe.dependencies||{},...Pe.devDependencies||{}},D=Object.entries(b).map(([P,Z])=>({name:P,version:Z.replace(/[\^~]/g,""),description:T(P)}));s.value=D}catch(b){console.error("加载依赖信息失败:",b),s.value=[]}},T=b=>({vue:"渐进式 JavaScript 框架",vuetify:"材料设计组件框架",axios:"Promise 基础的 HTTP 客户端",pinia:"Vue 状态管理库","vue-router":"Vue.js 官方路由管理器","@vitejs/plugin-vue":"Vite 的 Vue 插件"})[b]||"",I=()=>{u.push("/debug")},Q=async()=>{i.value=!0;try{const b=await An();d.value=b||""}catch(b){console.error("获取访客ID失败",b)}finally{i.value=!1}},H=()=>Q(),q=async()=>{a.value=!0,d.value||await Q()},fe=async()=>{try{await navigator.clipboard.writeText(ce.value),l.value=!0,setTimeout(()=>l.value=!1,1800)}catch(b){console.error("复制失败",b)}},pe=Me(()=>{var ye,G;const b=navigator||{},D=typeof Intl<"u"&&Intl.DateTimeFormat?Intl.DateTimeFormat().resolvedOptions():{},P=D&&D.timeZone?D.timeZone:"",Z=((G=(ye=u.currentRoute)==null?void 0:ye.value)==null?void 0:G.fullPath)||location.pathname;return[`App 版本: v${Pe==null?void 0:Pe.version}`,`URL: ${location.href}`,`路由: ${Z}`,`UserAgent: ${b.userAgent||""}`,`语言: ${b.language||""}`,`时区: ${P}`,`平台: ${b.platform||""}`,`在线: ${String(b.onLine)}`,`屏幕: ${(screen==null?void 0:screen.width)||"-"}x${(screen==null?void 0:screen.height)||"-"}`,`视口: ${window.innerWidth||"-"}x${window.innerHeight||"-"}`].join(` `)}),ce=Me(()=>`调试ID: ${d.value||"获取失败"} 浏览器/环境信息: diff --git a/assets/socket-debugger-BMJuEHHG.js b/assets/socket-debugger-qP6I1v4J.js similarity index 83% rename from assets/socket-debugger-BMJuEHHG.js rename to assets/socket-debugger-qP6I1v4J.js index 6d1430e..ae6a682 100644 --- a/assets/socket-debugger-BMJuEHHG.js +++ b/assets/socket-debugger-qP6I1v4J.js @@ -1,4 +1,4 @@ -import{c as Ce,g as T,d as se}from"./socketClient-CbzMnGVD.js";import{_ as Se,a0 as c,Z as we,ct as Le,j as G,o as x,w as t,c as n,l as g,q as D,t as o,v as L,x as re,a1 as ue,C as u,z as k,i as p,P as Z,Q as y,a2 as _,a3 as V,K as de,y as C,B as H,A as z,F as ie,G as ce,d as $e,ax as Re}from"./index-Ck0Pnd4f.js";import{V as W,a as m}from"./VRow-D_zZfsym.js";import{V as X}from"./VChip-C4TXrZae.js";import{V as De}from"./VTextField-C6VOv1Py.js";import{V as Te}from"./VTextarea-Akjtg06o.js";import{V as Ie}from"./VSwitch-B-2xPqHI.js";import{V as Ue}from"./VAlert-WqxdeiRc.js";import{V as Be}from"./VContainer-_5I3ogXr.js";import"./serverRotation-TSbwZ9RQ.js";const ze={class:"d-flex flex-wrap gap-2"},Me={class:"text-h4"},Pe={class:"text-h4"},Ne={class:"text-h4"},Ee={class:"text-h4"},Oe={class:"log-time"},je={class:"log-type"},Ae={class:"log-message"},Fe={key:0,class:"log-data"},Je={key:0,class:"text-center text-disabled pa-8"},Ge={__name:"socket-debugger",setup(He){const fe=c(Ce()),$=c(!1),K=c(""),S=c(""),Y=c(0),h=c(""),M=c(null),q=c("00:00:00"),Q=c(!0),d=c({eventsReceived:0,eventsSent:0,errors:0,reconnects:0,avgLatency:0,lastPing:0,bytesSent:0,bytesReceived:0}),R=c([]),P=c(new Set),N=c(null),b=c({name:"",data:"{}"}),v=c(null),ee=ue(()=>$.value?{text:"已连接",color:"success"}:{text:"未连接",color:"error"}),me=ue(()=>S.value==="websocket"?"success":S.value==="polling"?"warning":"grey");function s(l,e,a=null){const f=new Date().toLocaleTimeString("zh-CN",{hour12:!1});R.value.push({type:l,message:e,data:a,time:f}),R.value.length>500&&R.value.shift(),Q.value&&Re(()=>{N.value&&(N.value.scrollTop=N.value.scrollHeight)})}function pe(){R.value=[],s("info","日志已清空")}function te(l){if(l===0)return"0 B";const e=1024,a=["B","KB","MB","GB"],i=Math.floor(Math.log(l)/Math.log(e));return Math.round(l/Math.pow(e,i)*100)/100+" "+a[i]}let w=null;function ve(){if(M.value){const e=Date.now()-M.value,a=Math.floor(e/36e5),i=Math.floor(e%36e5/6e4),f=Math.floor(e%6e4/1e3);q.value=`${String(a).padStart(2,"0")}:${String(i).padStart(2,"0")}:${String(f).padStart(2,"0")}`}else q.value="00:00:00"}let I=null;function ne(){var U;const l=T();I&&le();const e=()=>{var r,B,ae;$.value=!0,K.value=l.id,S.value=((ae=(B=(r=l.io)==null?void 0:r.engine)==null?void 0:B.transport)==null?void 0:ae.name)||"unknown",M.value=Date.now(),h.value=new Date().toLocaleString("zh-CN"),s("success","已连接到服务器",{socketId:l.id,transport:S.value}),w||(w=setInterval(ve,1e3))},a=r=>{$.value=!1,K.value="",S.value="",M.value=null,s("warning","连接已断开",{reason:r}),w&&(clearInterval(w),w=null)},i=r=>{d.value.errors++,s("error","连接错误",{message:r.message,type:r.type})},f=r=>{d.value.reconnects++,Y.value++,s("info",`重连成功 (尝试 #${r})`)},E=r=>{s("info",`正在尝试重连 #${r}...`)},O=r=>{d.value.errors++,s("error","重连失败",{message:r.message})},j=()=>{d.value.errors++,s("error","重连彻底失败")},A=()=>{s("debug","Ping 发送")},F=r=>{d.value.lastPing=r;const B=d.value.avgLatency;d.value.avgLatency=B===0?r:Math.round(B*.8+r*.2),s("debug",`Pong 接收 (${r}ms)`)},J=r=>{S.value=r.name,s("success",`传输已升级到 ${r.name}`)};I={socket:l,onConnect:e,onDisconnect:a,onConnectError:i,onReconnect:f,onReconnectAttempt:E,onReconnectError:O,onReconnectFailed:j,onPing:A,onPong:F,onUpgrade:J},l.on("connect",e),l.on("disconnect",a),l.on("connect_error",i),l.io.on("reconnect",f),l.io.on("reconnect_attempt",E),l.io.on("reconnect_error",O),l.io.on("reconnect_failed",j),l.io.on("ping",A),l.io.on("pong",F),(U=l.io)!=null&&U.engine&&l.io.engine.on("upgrade",J),P.value=new Set(Object.keys(l._callbacks||{}).map(r=>r.replace("$",""))),l.connected&&e()}function le(){var U;if(!I)return;const{socket:l,onConnect:e,onDisconnect:a,onConnectError:i,onReconnect:f,onReconnectAttempt:E,onReconnectError:O,onReconnectFailed:j,onPing:A,onPong:F,onUpgrade:J}=I;try{l.off("connect",e),l.off("disconnect",a),l.off("connect_error",i),l.io.off("reconnect",f),l.io.off("reconnect_attempt",E),l.io.off("reconnect_error",O),l.io.off("reconnect_failed",j),l.io.off("ping",A),l.io.off("pong",F),(U=l.io)!=null&&U.engine&&l.io.engine.off("upgrade",J)}catch{}I=null}function oe(){try{T().connect(),s("info","正在连接...")}catch(l){s("error","连接失败",{message:l.message})}}function ge(){try{se(),s("info","已手动断开连接")}catch(l){s("error","断开连接失败",{message:l.message})}}function ye(){try{se(),setTimeout(()=>{ne(),oe()},100)}catch(l){s("error","重连失败",{message:l.message})}}function _e(){try{const l=T();let e;try{e=JSON.parse(b.value.data)}catch{e=b.value.data}l.emit(b.value.name,e),d.value.eventsSent++,d.value.bytesSent+=JSON.stringify(e).length,s("info",`已发送事件: ${b.value.name}`,e)}catch(l){s("error","发送事件失败",{message:l.message})}}function ke(){v.value=null,s("info","开始连接测试...");const l=T(),e=setTimeout(()=>{v.value={type:"error",message:"连接测试超时 (20秒)"},s("error","连接测试超时")},2e4);l.connected?(clearTimeout(e),v.value={type:"success",message:`连接正常! Socket ID: ${l.id}, 传输: ${S.value}`},s("success","连接测试通过")):(l.once("connect",()=>{clearTimeout(e),v.value={type:"success",message:"连接测试成功!"},s("success","连接测试通过")}),l.once("connect_error",a=>{clearTimeout(e),v.value={type:"error",message:`连接失败: ${a.message}`},s("error","连接测试失败",{message:a.message})}))}function be(){const l=T(),e=Date.now();l.emit("ping",()=>{const a=Date.now()-e;v.value={type:"info",message:`测量延迟: ${a}ms`},s("info",`延迟测量结果: ${a}ms`)})}function xe(){s("warning","模拟错误场景..."),T().emit("nonexistent-event-test",{test:!0}),v.value={type:"info",message:"已发送测试事件到服务器,请检查服务器响应"}}function Ve(){const l=R.value.map(f=>`[${f.time}] [${f.type.toUpperCase()}] ${f.message}${f.data?` +import{c as Ce,g as T,d as se}from"./socketClient-BEFY8Nxz.js";import{_ as we,a2 as c,Z as Se,ct as Le,o as x,j as G,w as t,c as n,l as g,q as D,t as L,v as o,x as re,A as u,z as k,P as Z,Q as y,a0 as _,a1 as V,K as ue,i as p,y as C,D as H,C as B,F as de,G as ie,d as $e,aw as Re,a3 as ce}from"./index-BUM0TY0E.js";import{V as W,a as m}from"./VRow-CPw1R1BU.js";import{V as X}from"./VChip-vdRDApTi.js";import{V as De}from"./VTextField-C579e7l1.js";import{V as Te}from"./VTextarea-jqnFSwaH.js";import{V as Ie}from"./VSwitch-CjVC2rsZ.js";import{V as Ue}from"./VAlert-DFIvt6kt.js";import{V as ze}from"./VContainer-DakLDC1m.js";import"./serverRotation-CjK7Y7P9.js";const Be={class:"d-flex flex-wrap gap-2"},Me={class:"text-h4"},Pe={class:"text-h4"},Ne={class:"text-h4"},Ee={class:"text-h4"},Oe={class:"log-time"},je={class:"log-type"},Ae={class:"log-message"},Fe={key:0,class:"log-data"},Je={key:0,class:"text-center text-disabled pa-8"},Ge={__name:"socket-debugger",setup(He){const fe=c(Ce()),$=c(!1),K=c(""),w=c(""),Y=c(0),h=c(""),M=c(null),q=c("00:00:00"),Q=c(!0),d=c({eventsReceived:0,eventsSent:0,errors:0,reconnects:0,avgLatency:0,lastPing:0,bytesSent:0,bytesReceived:0}),R=c([]),P=c(new Set),N=c(null),b=c({name:"",data:"{}"}),v=c(null),ee=ce(()=>$.value?{text:"已连接",color:"success"}:{text:"未连接",color:"error"}),me=ce(()=>w.value==="websocket"?"success":w.value==="polling"?"warning":"grey");function s(l,e,a=null){const f=new Date().toLocaleTimeString("zh-CN",{hour12:!1});R.value.push({type:l,message:e,data:a,time:f}),R.value.length>500&&R.value.shift(),Q.value&&Re(()=>{N.value&&(N.value.scrollTop=N.value.scrollHeight)})}function pe(){R.value=[],s("info","日志已清空")}function te(l){if(l===0)return"0 B";const e=1024,a=["B","KB","MB","GB"],i=Math.floor(Math.log(l)/Math.log(e));return Math.round(l/Math.pow(e,i)*100)/100+" "+a[i]}let S=null;function ve(){if(M.value){const e=Date.now()-M.value,a=Math.floor(e/36e5),i=Math.floor(e%36e5/6e4),f=Math.floor(e%6e4/1e3);q.value=`${String(a).padStart(2,"0")}:${String(i).padStart(2,"0")}:${String(f).padStart(2,"0")}`}else q.value="00:00:00"}let I=null;function ne(){var U;const l=T();I&&le();const e=()=>{var r,z,ae;$.value=!0,K.value=l.id,w.value=((ae=(z=(r=l.io)==null?void 0:r.engine)==null?void 0:z.transport)==null?void 0:ae.name)||"unknown",M.value=Date.now(),h.value=new Date().toLocaleString("zh-CN"),s("success","已连接到服务器",{socketId:l.id,transport:w.value}),S||(S=setInterval(ve,1e3))},a=r=>{$.value=!1,K.value="",w.value="",M.value=null,s("warning","连接已断开",{reason:r}),S&&(clearInterval(S),S=null)},i=r=>{d.value.errors++,s("error","连接错误",{message:r.message,type:r.type})},f=r=>{d.value.reconnects++,Y.value++,s("info",`重连成功 (尝试 #${r})`)},E=r=>{s("info",`正在尝试重连 #${r}...`)},O=r=>{d.value.errors++,s("error","重连失败",{message:r.message})},j=()=>{d.value.errors++,s("error","重连彻底失败")},A=()=>{s("debug","Ping 发送")},F=r=>{d.value.lastPing=r;const z=d.value.avgLatency;d.value.avgLatency=z===0?r:Math.round(z*.8+r*.2),s("debug",`Pong 接收 (${r}ms)`)},J=r=>{w.value=r.name,s("success",`传输已升级到 ${r.name}`)};I={socket:l,onConnect:e,onDisconnect:a,onConnectError:i,onReconnect:f,onReconnectAttempt:E,onReconnectError:O,onReconnectFailed:j,onPing:A,onPong:F,onUpgrade:J},l.on("connect",e),l.on("disconnect",a),l.on("connect_error",i),l.io.on("reconnect",f),l.io.on("reconnect_attempt",E),l.io.on("reconnect_error",O),l.io.on("reconnect_failed",j),l.io.on("ping",A),l.io.on("pong",F),(U=l.io)!=null&&U.engine&&l.io.engine.on("upgrade",J),P.value=new Set(Object.keys(l._callbacks||{}).map(r=>r.replace("$",""))),l.connected&&e()}function le(){var U;if(!I)return;const{socket:l,onConnect:e,onDisconnect:a,onConnectError:i,onReconnect:f,onReconnectAttempt:E,onReconnectError:O,onReconnectFailed:j,onPing:A,onPong:F,onUpgrade:J}=I;try{l.off("connect",e),l.off("disconnect",a),l.off("connect_error",i),l.io.off("reconnect",f),l.io.off("reconnect_attempt",E),l.io.off("reconnect_error",O),l.io.off("reconnect_failed",j),l.io.off("ping",A),l.io.off("pong",F),(U=l.io)!=null&&U.engine&&l.io.engine.off("upgrade",J)}catch{}I=null}function oe(){try{T().connect(),s("info","正在连接...")}catch(l){s("error","连接失败",{message:l.message})}}function ge(){try{se(),s("info","已手动断开连接")}catch(l){s("error","断开连接失败",{message:l.message})}}function ye(){try{se(),setTimeout(()=>{ne(),oe()},100)}catch(l){s("error","重连失败",{message:l.message})}}function _e(){try{const l=T();let e;try{e=JSON.parse(b.value.data)}catch{e=b.value.data}l.emit(b.value.name,e),d.value.eventsSent++,d.value.bytesSent+=JSON.stringify(e).length,s("info",`已发送事件: ${b.value.name}`,e)}catch(l){s("error","发送事件失败",{message:l.message})}}function ke(){v.value=null,s("info","开始连接测试...");const l=T(),e=setTimeout(()=>{v.value={type:"error",message:"连接测试超时 (20秒)"},s("error","连接测试超时")},2e4);l.connected?(clearTimeout(e),v.value={type:"success",message:`连接正常! Socket ID: ${l.id}, 传输: ${w.value}`},s("success","连接测试通过")):(l.once("connect",()=>{clearTimeout(e),v.value={type:"success",message:"连接测试成功!"},s("success","连接测试通过")}),l.once("connect_error",a=>{clearTimeout(e),v.value={type:"error",message:`连接失败: ${a.message}`},s("error","连接测试失败",{message:a.message})}))}function be(){const l=T(),e=Date.now();l.emit("ping",()=>{const a=Date.now()-e;v.value={type:"info",message:`测量延迟: ${a}ms`},s("info",`延迟测量结果: ${a}ms`)})}function xe(){s("warning","模拟错误场景..."),T().emit("nonexistent-event-test",{test:!0}),v.value={type:"info",message:"已发送测试事件到服务器,请检查服务器响应"}}function Ve(){const l=R.value.map(f=>`[${f.time}] [${f.type.toUpperCase()}] ${f.message}${f.data?` `+JSON.stringify(f.data,null,2):""}`).join(` -`),e=new Blob([l],{type:"text/plain"}),a=URL.createObjectURL(e),i=document.createElement("a");i.href=a,i.download=`socket-logs-${Date.now()}.txt`,i.click(),URL.revokeObjectURL(a),s("success","日志已导出")}return we(()=>{ne(),s("info","Socket 调试器已初始化")}),Le(()=>{le(),w&&(clearInterval(w),w=null)}),(l,e)=>(x(),G(Be,{fluid:""},{default:t(()=>[n(W,null,{default:t(()=>[n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,{class:"d-flex align-center"},{default:t(()=>[n(L,{class:"mr-2",color:"primary"},{default:t(()=>[...e[4]||(e[4]=[o("mdi-network",-1)])]),_:1}),e[5]||(e[5]=o(" Socket.IO 连接调试器 ",-1)),n(re),n(X,{color:ee.value.color,size:"small"},{default:t(()=>[o(u(ee.value.text),1)]),_:1},8,["color"])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[6]||(e[6]=[o("连接信息",-1)])]),_:1}),n(k,null,{default:t(()=>[n(Z,{density:"compact"},{default:t(()=>[n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[7]||(e[7]=[o("mdi-server",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[8]||(e[8]=[o("服务器地址",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(fe.value),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[9]||(e[9]=[o("mdi-identifier",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[10]||(e[10]=[o("Socket ID",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(K.value||"未连接"),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[11]||(e[11]=[o("mdi-transit-connection-variant",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[12]||(e[12]=[o("传输方式",-1)])]),_:1}),n(V,null,{default:t(()=>[n(X,{size:"x-small",color:me.value},{default:t(()=>[o(u(S.value||"未知"),1)]),_:1},8,["color"])]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[13]||(e[13]=[o("mdi-clock-outline",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[14]||(e[14]=[o("连接时长",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(q.value),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[15]||(e[15]=[o("mdi-refresh",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[16]||(e[16]=[o("重连次数",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(Y.value),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[17]||(e[17]=[o("mdi-calendar-clock",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[18]||(e[18]=[o("上次连接",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(h.value||"从未连接"),1)]),_:1})]),_:1})]),_:1}),n(de,{class:"my-4"}),p("div",ze,[n(C,{color:"primary","prepend-icon":"mdi-connection",disabled:$.value,onClick:oe},{default:t(()=>[...e[19]||(e[19]=[o(" 连接 ",-1)])]),_:1},8,["disabled"]),n(C,{color:"error","prepend-icon":"mdi-connection",disabled:!$.value,onClick:ge},{default:t(()=>[...e[20]||(e[20]=[o(" 断开 ",-1)])]),_:1},8,["disabled"]),n(C,{color:"warning","prepend-icon":"mdi-refresh",onClick:ye},{default:t(()=>[...e[21]||(e[21]=[o(" 重连 ",-1)])]),_:1}),n(C,{color:"info","prepend-icon":"mdi-delete-sweep",onClick:pe},{default:t(()=>[...e[22]||(e[22]=[o(" 清空日志 ",-1)])]),_:1})])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[23]||(e[23]=[o("统计信息",-1)])]),_:1}),n(k,null,{default:t(()=>[n(W,null,{default:t(()=>[n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"success"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Me,u(d.value.eventsReceived),1),e[24]||(e[24]=p("div",{class:"text-caption"},"接收事件",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"primary"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Pe,u(d.value.eventsSent),1),e[25]||(e[25]=p("div",{class:"text-caption"},"发送事件",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"warning"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Ne,u(d.value.errors),1),e[26]||(e[26]=p("div",{class:"text-caption"},"错误次数",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"info"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Ee,u(d.value.reconnects),1),e[27]||(e[27]=p("div",{class:"text-caption"},"重连次数",-1))]),_:1})]),_:1})]),_:1})]),_:1}),n(de,{class:"my-4"}),n(Z,{density:"compact"},{default:t(()=>[n(y,null,{default:t(()=>[n(_,null,{default:t(()=>[...e[28]||(e[28]=[o("平均延迟",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(d.value.avgLatency)+" ms",1)]),_:1})]),_:1}),n(y,null,{default:t(()=>[n(_,null,{default:t(()=>[...e[29]||(e[29]=[o("上次 Ping",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(d.value.lastPing)+" ms",1)]),_:1})]),_:1}),n(y,null,{default:t(()=>[n(_,null,{default:t(()=>[...e[30]||(e[30]=[o("数据传输",-1)])]),_:1}),n(V,null,{default:t(()=>[o(" ↑ "+u(te(d.value.bytesSent))+" / ↓ "+u(te(d.value.bytesReceived)),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[e[31]||(e[31]=o(" 事件监控 ",-1)),n(X,{class:"ml-2",size:"small"},{default:t(()=>[o(u(P.value.size)+" 个监听器",1)]),_:1})]),_:1}),n(k,null,{default:t(()=>[n(Z,{density:"compact","max-height":"300",style:{"overflow-y":"auto"}},{default:t(()=>[P.value.size===0?(x(),G(y,{key:0},{default:t(()=>[n(_,{class:"text-center text-disabled"},{default:t(()=>[...e[32]||(e[32]=[o(" 暂无活动监听器 ",-1)])]),_:1})]),_:1})):H("",!0),(x(!0),z(ie,null,ce(Array.from(P.value),a=>(x(),G(y,{key:a},{prepend:t(()=>[n(L,{size:"small"},{default:t(()=>[...e[33]||(e[33]=[o("mdi-eye",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[o(u(a),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[34]||(e[34]=[o("发送自定义事件",-1)])]),_:1}),n(k,null,{default:t(()=>[n(De,{modelValue:b.value.name,"onUpdate:modelValue":e[0]||(e[0]=a=>b.value.name=a),label:"事件名称","prepend-icon":"mdi-tag",density:"compact",class:"mb-2"},null,8,["modelValue"]),n(Te,{modelValue:b.value.data,"onUpdate:modelValue":e[1]||(e[1]=a=>b.value.data=a),label:"数据 (JSON)","prepend-icon":"mdi-code-json",rows:"4",density:"compact",class:"mb-2"},null,8,["modelValue"]),n(C,{block:"",color:"primary","prepend-icon":"mdi-send",disabled:!$.value||!b.value.name,onClick:_e},{default:t(()=>[...e[35]||(e[35]=[o(" 发送事件 ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,{class:"d-flex align-center"},{default:t(()=>[e[37]||(e[37]=o(" 连接日志 ",-1)),n(re),n(Ie,{modelValue:Q.value,"onUpdate:modelValue":e[2]||(e[2]=a=>Q.value=a),label:"自动滚动",density:"compact","hide-details":"",class:"mr-4"},null,8,["modelValue"]),n(C,{size:"small",variant:"text","prepend-icon":"mdi-download",onClick:Ve},{default:t(()=>[...e[36]||(e[36]=[o(" 导出 ",-1)])]),_:1})]),_:1}),n(k,null,{default:t(()=>[p("div",{ref_key:"logContainer",ref:N,class:"log-container",style:{height:"400px","overflow-y":"auto",background:"#1e1e1e","border-radius":"4px",padding:"12px"}},[(x(!0),z(ie,null,ce(R.value,(a,i)=>(x(),z("div",{key:i,class:$e(["log-entry",`log-${a.type}`])},[p("span",Oe,"["+u(a.time)+"]",1),p("span",je,"["+u(a.type.toUpperCase())+"]",1),p("span",Ae,u(a.message),1),a.data?(x(),z("pre",Fe,u(a.data),1)):H("",!0)],2))),128)),R.value.length===0?(x(),z("div",Je," 暂无日志 ")):H("",!0)],512)]),_:1})]),_:1})]),_:1}),n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[38]||(e[38]=[o("连接诊断",-1)])]),_:1}),n(k,null,{default:t(()=>[n(W,null,{default:t(()=>[n(m,{cols:"12",md:"4"},{default:t(()=>[n(C,{block:"",color:"info","prepend-icon":"mdi-test-tube",onClick:ke},{default:t(()=>[...e[39]||(e[39]=[o(" 测试连接 ",-1)])]),_:1})]),_:1}),n(m,{cols:"12",md:"4"},{default:t(()=>[n(C,{block:"",color:"success","prepend-icon":"mdi-timer",disabled:!$.value,onClick:be},{default:t(()=>[...e[40]||(e[40]=[o(" 测量延迟 ",-1)])]),_:1},8,["disabled"])]),_:1}),n(m,{cols:"12",md:"4"},{default:t(()=>[n(C,{block:"",color:"warning","prepend-icon":"mdi-alert",onClick:xe},{default:t(()=>[...e[41]||(e[41]=[o(" 模拟错误 ",-1)])]),_:1})]),_:1})]),_:1}),v.value?(x(),G(Ue,{key:0,type:v.value.type,class:"mt-4",closable:"","onClick:close":e[3]||(e[3]=a=>v.value=null)},{default:t(()=>[o(u(v.value.message),1)]),_:1},8,["type"])):H("",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},nt=Se(Ge,[["__scopeId","data-v-59f4b407"]]);export{nt as default}; +`),e=new Blob([l],{type:"text/plain"}),a=URL.createObjectURL(e),i=document.createElement("a");i.href=a,i.download=`socket-logs-${Date.now()}.txt`,i.click(),URL.revokeObjectURL(a),s("success","日志已导出")}return Se(()=>{ne(),s("info","Socket 调试器已初始化")}),Le(()=>{le(),S&&(clearInterval(S),S=null)}),(l,e)=>(x(),G(ze,{fluid:""},{default:t(()=>[n(W,null,{default:t(()=>[n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,{class:"d-flex align-center"},{default:t(()=>[n(L,{class:"mr-2",color:"primary"},{default:t(()=>[...e[4]||(e[4]=[o("mdi-network",-1)])]),_:1}),e[5]||(e[5]=o(" Socket.IO 连接调试器 ",-1)),n(re),n(X,{color:ee.value.color,size:"small"},{default:t(()=>[o(u(ee.value.text),1)]),_:1},8,["color"])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[6]||(e[6]=[o("连接信息",-1)])]),_:1}),n(k,null,{default:t(()=>[n(Z,{density:"compact"},{default:t(()=>[n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[7]||(e[7]=[o("mdi-server",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[8]||(e[8]=[o("服务器地址",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(fe.value),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[9]||(e[9]=[o("mdi-identifier",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[10]||(e[10]=[o("Socket ID",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(K.value||"未连接"),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[11]||(e[11]=[o("mdi-transit-connection-variant",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[12]||(e[12]=[o("传输方式",-1)])]),_:1}),n(V,null,{default:t(()=>[n(X,{size:"x-small",color:me.value},{default:t(()=>[o(u(w.value||"未知"),1)]),_:1},8,["color"])]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[13]||(e[13]=[o("mdi-clock-outline",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[14]||(e[14]=[o("连接时长",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(q.value),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[15]||(e[15]=[o("mdi-refresh",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[16]||(e[16]=[o("重连次数",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(Y.value),1)]),_:1})]),_:1}),n(y,null,{prepend:t(()=>[n(L,null,{default:t(()=>[...e[17]||(e[17]=[o("mdi-calendar-clock",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[...e[18]||(e[18]=[o("上次连接",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(h.value||"从未连接"),1)]),_:1})]),_:1})]),_:1}),n(ue,{class:"my-4"}),p("div",Be,[n(C,{color:"primary","prepend-icon":"mdi-connection",disabled:$.value,onClick:oe},{default:t(()=>[...e[19]||(e[19]=[o(" 连接 ",-1)])]),_:1},8,["disabled"]),n(C,{color:"error","prepend-icon":"mdi-connection",disabled:!$.value,onClick:ge},{default:t(()=>[...e[20]||(e[20]=[o(" 断开 ",-1)])]),_:1},8,["disabled"]),n(C,{color:"warning","prepend-icon":"mdi-refresh",onClick:ye},{default:t(()=>[...e[21]||(e[21]=[o(" 重连 ",-1)])]),_:1}),n(C,{color:"info","prepend-icon":"mdi-delete-sweep",onClick:pe},{default:t(()=>[...e[22]||(e[22]=[o(" 清空日志 ",-1)])]),_:1})])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[23]||(e[23]=[o("统计信息",-1)])]),_:1}),n(k,null,{default:t(()=>[n(W,null,{default:t(()=>[n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"success"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Me,u(d.value.eventsReceived),1),e[24]||(e[24]=p("div",{class:"text-caption"},"接收事件",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"primary"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Pe,u(d.value.eventsSent),1),e[25]||(e[25]=p("div",{class:"text-caption"},"发送事件",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"warning"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Ne,u(d.value.errors),1),e[26]||(e[26]=p("div",{class:"text-caption"},"错误次数",-1))]),_:1})]),_:1})]),_:1}),n(m,{cols:"6"},{default:t(()=>[n(g,{variant:"tonal",color:"info"},{default:t(()=>[n(k,{class:"text-center"},{default:t(()=>[p("div",Ee,u(d.value.reconnects),1),e[27]||(e[27]=p("div",{class:"text-caption"},"重连次数",-1))]),_:1})]),_:1})]),_:1})]),_:1}),n(ue,{class:"my-4"}),n(Z,{density:"compact"},{default:t(()=>[n(y,null,{default:t(()=>[n(_,null,{default:t(()=>[...e[28]||(e[28]=[o("平均延迟",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(d.value.avgLatency)+" ms",1)]),_:1})]),_:1}),n(y,null,{default:t(()=>[n(_,null,{default:t(()=>[...e[29]||(e[29]=[o("上次 Ping",-1)])]),_:1}),n(V,null,{default:t(()=>[o(u(d.value.lastPing)+" ms",1)]),_:1})]),_:1}),n(y,null,{default:t(()=>[n(_,null,{default:t(()=>[...e[30]||(e[30]=[o("数据传输",-1)])]),_:1}),n(V,null,{default:t(()=>[o(" ↑ "+u(te(d.value.bytesSent))+" / ↓ "+u(te(d.value.bytesReceived)),1)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[e[31]||(e[31]=o(" 事件监控 ",-1)),n(X,{class:"ml-2",size:"small"},{default:t(()=>[o(u(P.value.size)+" 个监听器",1)]),_:1})]),_:1}),n(k,null,{default:t(()=>[n(Z,{density:"compact","max-height":"300",style:{"overflow-y":"auto"}},{default:t(()=>[P.value.size===0?(x(),G(y,{key:0},{default:t(()=>[n(_,{class:"text-center text-disabled"},{default:t(()=>[...e[32]||(e[32]=[o(" 暂无活动监听器 ",-1)])]),_:1})]),_:1})):H("",!0),(x(!0),B(de,null,ie(Array.from(P.value),a=>(x(),G(y,{key:a},{prepend:t(()=>[n(L,{size:"small"},{default:t(()=>[...e[33]||(e[33]=[o("mdi-eye",-1)])]),_:1})]),default:t(()=>[n(_,null,{default:t(()=>[o(u(a),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})]),_:1})]),_:1}),n(m,{cols:"12",md:"6"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[34]||(e[34]=[o("发送自定义事件",-1)])]),_:1}),n(k,null,{default:t(()=>[n(De,{modelValue:b.value.name,"onUpdate:modelValue":e[0]||(e[0]=a=>b.value.name=a),label:"事件名称","prepend-icon":"mdi-tag",density:"compact",class:"mb-2"},null,8,["modelValue"]),n(Te,{modelValue:b.value.data,"onUpdate:modelValue":e[1]||(e[1]=a=>b.value.data=a),label:"数据 (JSON)","prepend-icon":"mdi-code-json",rows:"4",density:"compact",class:"mb-2"},null,8,["modelValue"]),n(C,{block:"",color:"primary","prepend-icon":"mdi-send",disabled:!$.value||!b.value.name,onClick:_e},{default:t(()=>[...e[35]||(e[35]=[o(" 发送事件 ",-1)])]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1}),n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,{class:"d-flex align-center"},{default:t(()=>[e[37]||(e[37]=o(" 连接日志 ",-1)),n(re),n(Ie,{modelValue:Q.value,"onUpdate:modelValue":e[2]||(e[2]=a=>Q.value=a),label:"自动滚动",density:"compact","hide-details":"",class:"mr-4"},null,8,["modelValue"]),n(C,{size:"small",variant:"text","prepend-icon":"mdi-download",onClick:Ve},{default:t(()=>[...e[36]||(e[36]=[o(" 导出 ",-1)])]),_:1})]),_:1}),n(k,null,{default:t(()=>[p("div",{ref_key:"logContainer",ref:N,class:"log-container",style:{height:"400px","overflow-y":"auto",background:"#1e1e1e","border-radius":"4px",padding:"12px"}},[(x(!0),B(de,null,ie(R.value,(a,i)=>(x(),B("div",{key:i,class:$e(["log-entry",`log-${a.type}`])},[p("span",Oe,"["+u(a.time)+"]",1),p("span",je,"["+u(a.type.toUpperCase())+"]",1),p("span",Ae,u(a.message),1),a.data?(x(),B("pre",Fe,u(a.data),1)):H("",!0)],2))),128)),R.value.length===0?(x(),B("div",Je," 暂无日志 ")):H("",!0)],512)]),_:1})]),_:1})]),_:1}),n(m,{cols:"12"},{default:t(()=>[n(g,{border:""},{default:t(()=>[n(D,null,{default:t(()=>[...e[38]||(e[38]=[o("连接诊断",-1)])]),_:1}),n(k,null,{default:t(()=>[n(W,null,{default:t(()=>[n(m,{cols:"12",md:"4"},{default:t(()=>[n(C,{block:"",color:"info","prepend-icon":"mdi-test-tube",onClick:ke},{default:t(()=>[...e[39]||(e[39]=[o(" 测试连接 ",-1)])]),_:1})]),_:1}),n(m,{cols:"12",md:"4"},{default:t(()=>[n(C,{block:"",color:"success","prepend-icon":"mdi-timer",disabled:!$.value,onClick:be},{default:t(()=>[...e[40]||(e[40]=[o(" 测量延迟 ",-1)])]),_:1},8,["disabled"])]),_:1}),n(m,{cols:"12",md:"4"},{default:t(()=>[n(C,{block:"",color:"warning","prepend-icon":"mdi-alert",onClick:xe},{default:t(()=>[...e[41]||(e[41]=[o(" 模拟错误 ",-1)])]),_:1})]),_:1})]),_:1}),v.value?(x(),G(Ue,{key:0,type:v.value.type,class:"mt-4",closable:"","onClick:close":e[3]||(e[3]=a=>v.value=null)},{default:t(()=>[o(u(v.value.message),1)]),_:1},8,["type"])):H("",!0)]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}))}},nt=we(Ge,[["__scopeId","data-v-59f4b407"]]);export{nt as default}; diff --git a/assets/socketClient-BEFY8Nxz.js b/assets/socketClient-BEFY8Nxz.js new file mode 100644 index 0000000..f94a4ee --- /dev/null +++ b/assets/socketClient-BEFY8Nxz.js @@ -0,0 +1 @@ +import{k as pe}from"./index-BUM0TY0E.js";import{i as de,g as ye}from"./serverRotation-CjK7Y7P9.js";const m=Object.create(null);m.open="0";m.close="1";m.ping="2";m.pong="3";m.message="4";m.upgrade="5";m.noop="6";const O=Object.create(null);Object.keys(m).forEach(n=>{O[m[n]]=n});const U={type:"error",data:"parser error"},ee=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",te=typeof ArrayBuffer=="function",se=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n&&n.buffer instanceof ArrayBuffer,W=({type:n,data:e},t,s)=>ee&&e instanceof Blob?t?s(e):X(e,s):te&&(e instanceof ArrayBuffer||se(e))?t?s(e):X(new Blob([e]),s):s(m[n]+(e||"")),X=(n,e)=>{const t=new FileReader;return t.onload=function(){const s=t.result.split(",")[1];e("b"+(s||""))},t.readAsDataURL(n)};function Q(n){return n instanceof Uint8Array?n:n instanceof ArrayBuffer?new Uint8Array(n):new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}let P;function me(n,e){if(ee&&n.data instanceof Blob)return n.data.arrayBuffer().then(Q).then(e);if(te&&(n.data instanceof ArrayBuffer||se(n.data)))return e(Q(n.data));W(n,!1,t=>{P||(P=new TextEncoder),e(P.encode(t))})}const j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",k=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let n=0;n{let e=n.length*.75,t=n.length,s,i=0,r,o,c,h;n[n.length-1]==="="&&(e--,n[n.length-2]==="="&&e--);const g=new ArrayBuffer(e),l=new Uint8Array(g);for(s=0;s>4,l[i++]=(o&15)<<4|c>>2,l[i++]=(c&3)<<6|h&63;return g},_e=typeof ArrayBuffer=="function",$=(n,e)=>{if(typeof n!="string")return{type:"message",data:ne(n,e)};const t=n.charAt(0);return t==="b"?{type:"message",data:be(n.substring(1),e)}:O[t]?n.length>1?{type:O[t],data:n.substring(1)}:{type:O[t]}:U},be=(n,e)=>{if(_e){const t=ge(n);return ne(t,e)}else return{base64:!0,data:n}},ne=(n,e)=>{switch(e){case"blob":return n instanceof Blob?n:new Blob([n]);case"arraybuffer":default:return n instanceof ArrayBuffer?n:n.buffer}},ie="",we=(n,e)=>{const t=n.length,s=new Array(t);let i=0;n.forEach((r,o)=>{W(r,!1,c=>{s[o]=c,++i===t&&e(s.join(ie))})})},ve=(n,e)=>{const t=n.split(ie),s=[];for(let i=0;i{const s=t.length;let i;if(s<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,s);else if(s<65536){i=new Uint8Array(3);const r=new DataView(i.buffer);r.setUint8(0,126),r.setUint16(1,s)}else{i=new Uint8Array(9);const r=new DataView(i.buffer);r.setUint8(0,127),r.setBigUint64(1,BigInt(s))}n.data&&typeof n.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}let q;function A(n){return n.reduce((e,t)=>e+t.length,0)}function R(n,e){if(n[0].length===e)return n.shift();const t=new Uint8Array(e);let s=0;for(let i=0;iMath.pow(2,21)-1){c.enqueue(U);break}i=l*Math.pow(2,32)+g.getUint32(4),s=3}else{if(A(t)n){c.enqueue(U);break}}}})}const re=4;function u(n){if(n)return Te(n)}function Te(n){for(var e in u.prototype)n[e]=u.prototype[e];return n}u.prototype.on=u.prototype.addEventListener=function(n,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+n]=this._callbacks["$"+n]||[]).push(e),this};u.prototype.once=function(n,e){function t(){this.off(n,t),e.apply(this,arguments)}return t.fn=e,this.on(n,t),this};u.prototype.off=u.prototype.removeListener=u.prototype.removeAllListeners=u.prototype.removeEventListener=function(n,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+n];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+n],this;for(var s,i=0;iPromise.resolve().then(e):(e,t)=>t(e,0),p=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),Ae="arraybuffer";function oe(n,...e){return e.reduce((t,s)=>(n.hasOwnProperty(s)&&(t[s]=n[s]),t),{})}const Re=p.setTimeout,Oe=p.clearTimeout;function N(n,e){e.useNativeTimers?(n.setTimeoutFn=Re.bind(p),n.clearTimeoutFn=Oe.bind(p)):(n.setTimeoutFn=p.setTimeout.bind(p),n.clearTimeoutFn=p.clearTimeout.bind(p))}const Se=1.33;function Ce(n){return typeof n=="string"?Be(n):Math.ceil((n.byteLength||n.size)*Se)}function Be(n){let e=0,t=0;for(let s=0,i=n.length;s=57344?t+=3:(s++,t+=4);return t}function ae(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function xe(n){let e="";for(let t in n)n.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(n[t]));return e}function Ne(n){let e={},t=n.split("&");for(let s=0,i=t.length;s{this.readyState="paused",e()};if(this._polling||!this.writable){let s=0;this._polling&&(s++,this.once("pollComplete",function(){--s||t()})),this.writable||(s++,this.once("drain",function(){--s||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=s=>{if(this.readyState==="opening"&&s.type==="open"&&this.onOpen(),s.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(s)};ve(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,we(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=ae()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}}let ce=!1;try{ce=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const qe=ce;function De(){}class Ue extends Pe{constructor(e){if(super(e),typeof location<"u"){const t=location.protocol==="https:";let s=location.port;s||(s=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||s!==e.port}}doWrite(e,t){const s=this.request({method:"POST",data:e});s.on("success",t),s.on("error",(i,r)=>{this.onError("xhr post error",i,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,s)=>{this.onError("xhr poll error",t,s)}),this.pollXhr=e}}class y extends u{constructor(e,t,s){super(),this.createRequest=e,N(this,s),this._opts=s,this._method=s.method||"GET",this._uri=t,this._data=s.data!==void 0?s.data:null,this._create()}_create(){var e;const t=oe(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;const s=this._xhr=this.createRequest(t);try{s.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){s.setDisableHeaderCheck&&s.setDisableHeaderCheck(!0);for(let i in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(i)&&s.setRequestHeader(i,this._opts.extraHeaders[i])}}catch{}if(this._method==="POST")try{s.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{s.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(s),"withCredentials"in s&&(s.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(s.timeout=this._opts.requestTimeout),s.onreadystatechange=()=>{var i;s.readyState===3&&((i=this._opts.cookieJar)===null||i===void 0||i.parseCookies(s.getResponseHeader("set-cookie"))),s.readyState===4&&(s.status===200||s.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof s.status=="number"?s.status:0)},0))},s.send(this._data)}catch(i){this.setTimeoutFn(()=>{this._onError(i)},0);return}typeof document<"u"&&(this._index=y.requestsCount++,y.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=De,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete y.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}y.requestsCount=0;y.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",G);else if(typeof addEventListener=="function"){const n="onpagehide"in p?"pagehide":"unload";addEventListener(n,G,!1)}}function G(){for(let n in y.requests)y.requests.hasOwnProperty(n)&&y.requests[n].abort()}const Ie=function(){const n=he({xdomain:!1});return n&&n.responseType!==null}();class Ve extends Ue{constructor(e){super(e);const t=e&&e.forceBase64;this.supportsBinary=Ie&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new y(he,this.uri(),e)}}function he(n){const e=n.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||qe))return new XMLHttpRequest}catch{}if(!e)try{return new p[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const ue=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Fe extends Y{get name(){return"websocket"}doOpen(){const e=this.uri(),t=this.opts.protocols,s=ue?{}:oe(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(s.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,s)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{try{this.doWrite(s,r)}catch{}i&&x(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=ae()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const D=p.WebSocket||p.MozWebSocket;class Me extends Fe{createSocket(e,t,s){return ue?new D(e,t,s):t?new D(e,t):new D(e)}doWrite(e,t){this.ws.send(t)}}class He extends Y{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const t=ke(Number.MAX_SAFE_INTEGER,this.socket.binaryType),s=e.readable.pipeThrough(t).getReader(),i=Ee();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();const r=()=>{s.read().then(({done:c,value:h})=>{c||(this.onPacket(h),r())}).catch(c=>{})};r();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this._writer.write(o).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t{i&&x(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}}const Ke={websocket:Me,webtransport:He,polling:Ve},We=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,$e=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function I(n){if(n.length>8e3)throw"URI too long";const e=n,t=n.indexOf("["),s=n.indexOf("]");t!=-1&&s!=-1&&(n=n.substring(0,t)+n.substring(t,s).replace(/:/g,";")+n.substring(s,n.length));let i=We.exec(n||""),r={},o=14;for(;o--;)r[$e[o]]=i[o]||"";return t!=-1&&s!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=Ye(r,r.path),r.queryKey=ze(r,r.query),r}function Ye(n,e){const t=/\/{2,9}/g,s=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&s.splice(0,1),e.slice(-1)=="/"&&s.splice(s.length-1,1),s}function ze(n,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(s,i,r){i&&(t[i]=r)}),t}const V=typeof addEventListener=="function"&&typeof removeEventListener=="function",S=[];V&&addEventListener("offline",()=>{S.forEach(n=>n())},!1);class b extends u{constructor(e,t){if(super(),this.binaryType=Ae,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){const s=I(e);t.hostname=s.host,t.secure=s.protocol==="https"||s.protocol==="wss",t.port=s.port,s.query&&(t.query=s.query)}else t.host&&(t.hostname=I(t.host).host);N(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(s=>{const i=s.prototype.name;this.transports.push(i),this._transportsByName[i]=s}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Ne(this.opts.query)),V&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},S.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=re,t.transport=e,this.id&&(t.sid=this.id);const s=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](s)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const e=this.opts.rememberUpgrade&&b.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){this.readyState="open",b.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let s=0;s0&&t>this._maxPayload)return this.writeBuffer.slice(0,s);t+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,x(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,s){return this._sendPacket("message",e,t,s),this}send(e,t,s){return this._sendPacket("message",e,t,s),this}_sendPacket(e,t,s,i){if(typeof t=="function"&&(i=t,t=void 0),typeof s=="function"&&(i=s,s=null),this.readyState==="closing"||this.readyState==="closed")return;s=s||{},s.compress=s.compress!==!1;const r={type:e,data:t,options:s};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},s=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?s():e()}):this.upgrading?s():e()),this}_onError(e){if(b.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),V&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const s=S.indexOf(this._offlineEventListener);s!==-1&&S.splice(s,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}}b.protocol=re;class Je extends b{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e{s||(t.send([{type:"ping",data:"probe"}]),t.once("packet",_=>{if(!s)if(_.type==="pong"&&_.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;b.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{s||this.readyState!=="closed"&&(l(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const v=new Error("probe error");v.transport=t.name,this.emitReserved("upgradeError",v)}}))};function r(){s||(s=!0,l(),t.close(),t=null)}const o=_=>{const v=new Error("probe error: "+_);v.transport=t.name,r(),this.emitReserved("upgradeError",v)};function c(){o("transport closed")}function h(){o("socket closed")}function g(_){t&&_.name!==t.name&&r()}const l=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",c),this.off("close",h),this.off("upgrading",g)};t.once("open",i),t.once("error",o),t.once("close",c),this.once("close",h),this.once("upgrading",g),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{s||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const t=[];for(let s=0;sKe[i]).filter(i=>!!i)),super(e,s)}};function Qe(n,e="",t){let s=n;t=t||typeof location<"u"&&location,n==null&&(n=t.protocol+"//"+t.host),typeof n=="string"&&(n.charAt(0)==="/"&&(n.charAt(1)==="/"?n=t.protocol+n:n=t.host+n),/^(https?|wss?):\/\//.test(n)||(typeof t<"u"?n=t.protocol+"//"+n:n="https://"+n),s=I(n)),s.port||(/^(http|ws)$/.test(s.protocol)?s.port="80":/^(http|ws)s$/.test(s.protocol)&&(s.port="443")),s.path=s.path||"/";const r=s.host.indexOf(":")!==-1?"["+s.host+"]":s.host;return s.id=s.protocol+"://"+r+":"+s.port+e,s.href=s.protocol+"://"+r+(t&&t.port===s.port?"":":"+s.port),s}const je=typeof ArrayBuffer=="function",Ge=n=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(n):n.buffer instanceof ArrayBuffer,fe=Object.prototype.toString,Ze=typeof Blob=="function"||typeof Blob<"u"&&fe.call(Blob)==="[object BlobConstructor]",et=typeof File=="function"||typeof File<"u"&&fe.call(File)==="[object FileConstructor]";function z(n){return je&&(n instanceof ArrayBuffer||Ge(n))||Ze&&n instanceof Blob||et&&n instanceof File}function C(n,e){if(!n||typeof n!="object")return!1;if(Array.isArray(n)){for(let t=0,s=n.length;t=0&&n.num{delete this.acks[e];for(let c=0;c{this.io.clearTimeoutFn(r),t.apply(this,c)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((s,i)=>{const r=(o,c)=>o?i(o):s(c);r.withError=!0,t.push(r),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...r)=>(this._queue[0],i!==null?s.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...r)),s.pending=!1,this._drainQueue())),this._queue.push(s),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:a.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(s=>String(s.id)===e)){const s=this.acks[e];delete this.acks[e],s.withError&&s.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case a.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case a.EVENT:case a.BINARY_EVENT:this.onevent(e);break;case a.ACK:case a.BINARY_ACK:this.onack(e);break;case a.DISCONNECT:this.ondisconnect();break;case a.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const s of t)s.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let s=!1;return function(...i){s||(s=!0,t.packet({type:a.ACK,id:e,data:i}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:a.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let s=0;s0&&n.jitter<=1?n.jitter:0,this.attempts=0}w.prototype.duration=function(){var n=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*n);n=Math.floor(e*10)&1?n+t:n-t}return Math.min(n,this.max)|0};w.prototype.reset=function(){this.attempts=0};w.prototype.setMin=function(n){this.ms=n};w.prototype.setMax=function(n){this.max=n};w.prototype.setJitter=function(n){this.jitter=n};class H extends u{constructor(e,t){var s;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,N(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((s=t.randomizationFactor)!==null&&s!==void 0?s:.5),this.backoff=new w({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const i=t.parser||ot;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Xe(this.uri,this.opts);const t=this.engine,s=this;this._readyState="opening",this.skipReconnect=!1;const i=d(t,"open",function(){s.onopen(),e&&e()}),r=c=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",c),e?e(c):this.maybeReconnectOnOpen()},o=d(t,"error",r);if(this._timeout!==!1){const c=this._timeout,h=this.setTimeoutFn(()=>{i(),r(new Error("timeout")),t.close()},c);this.opts.autoUnref&&h.unref(),this.subs.push(()=>{this.clearTimeoutFn(h)})}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(d(e,"ping",this.onping.bind(this)),d(e,"data",this.ondata.bind(this)),d(e,"error",this.onerror.bind(this)),d(e,"close",this.onclose.bind(this)),d(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){x(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let s=this.nsps[e];return s?this._autoConnect&&!s.active&&s.connect():(s=new le(this,e,t),this.nsps[e]=s),s}_destroy(e){const t=Object.keys(this.nsps);for(const s of t)if(this.nsps[s].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let s=0;se()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var s;this.cleanup(),(s=this.engine)===null||s===void 0||s.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const s=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},t);this.opts.autoUnref&&s.unref(),this.subs.push(()=>{this.clearTimeoutFn(s)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const E={};function B(n,e){typeof n=="object"&&(e=n,n=void 0),e=e||{};const t=Qe(n,e.path||"/socket.io"),s=t.source,i=t.id,r=t.path,o=E[i]&&r in E[i].nsps,c=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let h;return c?h=new H(s,e):(E[i]||(E[i]=new H(s,e)),h=E[i]),t.query&&!e.query&&(e.query=t.queryKey),h.socket(t.path,e)}Object.assign(B,{Manager:H,Socket:le,io:B,connect:B});let f=null,K=null;const T=new Set;function ct(){var t,s;if(de())return ye();const n=pe("server.domain"),e=(s=(t=import.meta)==null?void 0:t.env)==null?void 0:s.VITE_SERVER_URL;return n||e||window.location.origin}function L(){const n=ct();if(!f||K!==n){if(f){try{f.disconnect()}catch{}f=null}K=n,f=B(n,{transports:["polling","websocket"]}),T.forEach(({event:e,handler:t})=>{f.on(e,t)})}return f}function pt(n,e){return L().on(n,e),T.add({event:n,handler:e}),()=>ht(n,e)}function ht(n,e){if(f){f.off(n,e);for(const t of Array.from(T))t.event===n&&t.handler===e&&T.delete(t)}}function dt(n){const e=L();n&&e.emit("join-token",{token:n})}function yt(n){f&&f.emit("leave-token",{token:n})}function mt(){f&&f.emit("leave-all")}function gt(n){const e=L();return e.on("connect",n),()=>e.off("connect",n)}function _t(n,e=null){L().emit("send-event",{type:n,content:e})}function bt(){if(f){try{f.disconnect()}catch{}f=null,K=null,T.clear()}}export{gt as a,yt as b,ct as c,bt as d,L as g,dt as j,mt as l,pt as o,_t as s}; diff --git a/assets/socketClient-CbzMnGVD.js b/assets/socketClient-CbzMnGVD.js deleted file mode 100644 index 43dd247..0000000 --- a/assets/socketClient-CbzMnGVD.js +++ /dev/null @@ -1 +0,0 @@ -import{k as de}from"./index-Ck0Pnd4f.js";import{i as ye,g as me}from"./serverRotation-TSbwZ9RQ.js";const m=Object.create(null);m.open="0";m.close="1";m.ping="2";m.pong="3";m.message="4";m.upgrade="5";m.noop="6";const O=Object.create(null);Object.keys(m).forEach(s=>{O[m[s]]=s});const U={type:"error",data:"parser error"},ee=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",te=typeof ArrayBuffer=="function",se=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s&&s.buffer instanceof ArrayBuffer,W=({type:s,data:e},t,n)=>ee&&e instanceof Blob?t?n(e):Q(e,n):te&&(e instanceof ArrayBuffer||se(e))?t?n(e):Q(new Blob([e]),n):n(m[s]+(e||"")),Q=(s,e)=>{const t=new FileReader;return t.onload=function(){const n=t.result.split(",")[1];e("b"+(n||""))},t.readAsDataURL(s)};function j(s){return s instanceof Uint8Array?s:s instanceof ArrayBuffer?new Uint8Array(s):new Uint8Array(s.buffer,s.byteOffset,s.byteLength)}let q;function ge(s,e){if(ee&&s.data instanceof Blob)return s.data.arrayBuffer().then(j).then(e);if(te&&(s.data instanceof ArrayBuffer||se(s.data)))return e(j(s.data));W(s,!1,t=>{q||(q=new TextEncoder),e(q.encode(t))})}const G="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",k=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let s=0;s{let e=s.length*.75,t=s.length,n,i=0,r,o,a,h;s[s.length-1]==="="&&(e--,s[s.length-2]==="="&&e--);const g=new ArrayBuffer(e),l=new Uint8Array(g);for(n=0;n>4,l[i++]=(o&15)<<4|a>>2,l[i++]=(a&3)<<6|h&63;return g},be=typeof ArrayBuffer=="function",Y=(s,e)=>{if(typeof s!="string")return{type:"message",data:ne(s,e)};const t=s.charAt(0);return t==="b"?{type:"message",data:we(s.substring(1),e)}:O[t]?s.length>1?{type:O[t],data:s.substring(1)}:{type:O[t]}:U},we=(s,e)=>{if(be){const t=_e(s);return ne(t,e)}else return{base64:!0,data:s}},ne=(s,e)=>{switch(e){case"blob":return s instanceof Blob?s:new Blob([s]);case"arraybuffer":default:return s instanceof ArrayBuffer?s:s.buffer}},ie="",Ee=(s,e)=>{const t=s.length,n=new Array(t);let i=0;s.forEach((r,o)=>{W(r,!1,a=>{n[o]=a,++i===t&&e(n.join(ie))})})},ve=(s,e)=>{const t=s.split(ie),n=[];for(let i=0;i{const n=t.length;let i;if(n<126)i=new Uint8Array(1),new DataView(i.buffer).setUint8(0,n);else if(n<65536){i=new Uint8Array(3);const r=new DataView(i.buffer);r.setUint8(0,126),r.setUint16(1,n)}else{i=new Uint8Array(9);const r=new DataView(i.buffer);r.setUint8(0,127),r.setBigUint64(1,BigInt(n))}s.data&&typeof s.data!="string"&&(i[0]|=128),e.enqueue(i),e.enqueue(t)})}})}let D;function T(s){return s.reduce((e,t)=>e+t.length,0)}function R(s,e){if(s[0].length===e)return s.shift();const t=new Uint8Array(e);let n=0;for(let i=0;iMath.pow(2,21)-1){a.enqueue(U);break}i=l*Math.pow(2,32)+g.getUint32(4),n=3}else{if(T(t)s){a.enqueue(U);break}}}})}const re=4;function u(s){if(s)return Te(s)}function Te(s){for(var e in u.prototype)s[e]=u.prototype[e];return s}u.prototype.on=u.prototype.addEventListener=function(s,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+s]=this._callbacks["$"+s]||[]).push(e),this};u.prototype.once=function(s,e){function t(){this.off(s,t),e.apply(this,arguments)}return t.fn=e,this.on(s,t),this};u.prototype.off=u.prototype.removeListener=u.prototype.removeAllListeners=u.prototype.removeEventListener=function(s,e){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var t=this._callbacks["$"+s];if(!t)return this;if(arguments.length==1)return delete this._callbacks["$"+s],this;for(var n,i=0;iPromise.resolve().then(e):(e,t)=>t(e,0),p=typeof self<"u"?self:typeof window<"u"?window:Function("return this")(),Re="arraybuffer";function oe(s,...e){return e.reduce((t,n)=>(s.hasOwnProperty(n)&&(t[n]=s[n]),t),{})}const Oe=p.setTimeout,Ce=p.clearTimeout;function L(s,e){e.useNativeTimers?(s.setTimeoutFn=Oe.bind(p),s.clearTimeoutFn=Ce.bind(p)):(s.setTimeoutFn=p.setTimeout.bind(p),s.clearTimeoutFn=p.clearTimeout.bind(p))}const Se=1.33;function Be(s){return typeof s=="string"?Ne(s):Math.ceil((s.byteLength||s.size)*Se)}function Ne(s){let e=0,t=0;for(let n=0,i=s.length;n=57344?t+=3:(n++,t+=4);return t}function ce(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function xe(s){let e="";for(let t in s)s.hasOwnProperty(t)&&(e.length&&(e+="&"),e+=encodeURIComponent(t)+"="+encodeURIComponent(s[t]));return e}function Le(s){let e={},t=s.split("&");for(let n=0,i=t.length;n{this.readyState="paused",e()};if(this._polling||!this.writable){let n=0;this._polling&&(n++,this.once("pollComplete",function(){--n||t()})),this.writable||(n++,this.once("drain",function(){--n||t()}))}else t()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(e){const t=n=>{if(this.readyState==="opening"&&n.type==="open"&&this.onOpen(),n.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(n)};ve(e,this.socket.binaryType).forEach(t),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const e=()=>{this.write([{type:"close"}])};this.readyState==="open"?e():this.once("open",e)}write(e){this.writable=!1,Ee(e,t=>{this.doWrite(t,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const e=this.opts.secure?"https":"http",t=this.query||{};return this.opts.timestampRequests!==!1&&(t[this.opts.timestampParam]=ce()),!this.supportsBinary&&!t.sid&&(t.b64=1),this.createUri(e,t)}}let ae=!1;try{ae=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch{}const De=ae;function Ie(){}class Ue extends qe{constructor(e){if(super(e),typeof location<"u"){const t=location.protocol==="https:";let n=location.port;n||(n=t?"443":"80"),this.xd=typeof location<"u"&&e.hostname!==location.hostname||n!==e.port}}doWrite(e,t){const n=this.request({method:"POST",data:e});n.on("success",t),n.on("error",(i,r)=>{this.onError("xhr post error",i,r)})}doPoll(){const e=this.request();e.on("data",this.onData.bind(this)),e.on("error",(t,n)=>{this.onError("xhr poll error",t,n)}),this.pollXhr=e}}class y extends u{constructor(e,t,n){super(),this.createRequest=e,L(this,n),this._opts=n,this._method=n.method||"GET",this._uri=t,this._data=n.data!==void 0?n.data:null,this._create()}_create(){var e;const t=oe(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");t.xdomain=!!this._opts.xd;const n=this._xhr=this.createRequest(t);try{n.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){n.setDisableHeaderCheck&&n.setDisableHeaderCheck(!0);for(let i in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(i)&&n.setRequestHeader(i,this._opts.extraHeaders[i])}}catch{}if(this._method==="POST")try{n.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{n.setRequestHeader("Accept","*/*")}catch{}(e=this._opts.cookieJar)===null||e===void 0||e.addCookies(n),"withCredentials"in n&&(n.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(n.timeout=this._opts.requestTimeout),n.onreadystatechange=()=>{var i;n.readyState===3&&((i=this._opts.cookieJar)===null||i===void 0||i.parseCookies(n.getResponseHeader("set-cookie"))),n.readyState===4&&(n.status===200||n.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof n.status=="number"?n.status:0)},0))},n.send(this._data)}catch(i){this.setTimeoutFn(()=>{this._onError(i)},0);return}typeof document<"u"&&(this._index=y.requestsCount++,y.requests[this._index]=this)}_onError(e){this.emitReserved("error",e,this._xhr),this._cleanup(!0)}_cleanup(e){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=Ie,e)try{this._xhr.abort()}catch{}typeof document<"u"&&delete y.requests[this._index],this._xhr=null}}_onLoad(){const e=this._xhr.responseText;e!==null&&(this.emitReserved("data",e),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}y.requestsCount=0;y.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",Z);else if(typeof addEventListener=="function"){const s="onpagehide"in p?"pagehide":"unload";addEventListener(s,Z,!1)}}function Z(){for(let s in y.requests)y.requests.hasOwnProperty(s)&&y.requests[s].abort()}const Ve=function(){const s=he({xdomain:!1});return s&&s.responseType!==null}();class Fe extends Ue{constructor(e){super(e);const t=e&&e.forceBase64;this.supportsBinary=Ve&&!t}request(e={}){return Object.assign(e,{xd:this.xd},this.opts),new y(he,this.uri(),e)}}function he(s){const e=s.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!e||De))return new XMLHttpRequest}catch{}if(!e)try{return new p[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const ue=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class Me extends z{get name(){return"websocket"}doOpen(){const e=this.uri(),t=this.opts.protocols,n=ue?{}:oe(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(n.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(e,t,n)}catch(i){return this.emitReserved("error",i)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=e=>this.onClose({description:"websocket connection closed",context:e}),this.ws.onmessage=e=>this.onData(e.data),this.ws.onerror=e=>this.onError("websocket error",e)}write(e){this.writable=!1;for(let t=0;t{try{this.doWrite(n,r)}catch{}i&&x(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const e=this.opts.secure?"wss":"ws",t=this.query||{};return this.opts.timestampRequests&&(t[this.opts.timestampParam]=ce()),this.supportsBinary||(t.b64=1),this.createUri(e,t)}}const I=p.WebSocket||p.MozWebSocket;class He extends Me{createSocket(e,t,n){return ue?new I(e,t,n):t?new I(e,t):new I(e)}doWrite(e,t){this.ws.send(t)}}class Ke extends z{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(e){return this.emitReserved("error",e)}this._transport.closed.then(()=>{this.onClose()}).catch(e=>{this.onError("webtransport error",e)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(e=>{const t=Ae(Number.MAX_SAFE_INTEGER,this.socket.binaryType),n=e.readable.pipeThrough(t).getReader(),i=ke();i.readable.pipeTo(e.writable),this._writer=i.writable.getWriter();const r=()=>{n.read().then(({done:a,value:h})=>{a||(this.onPacket(h),r())}).catch(a=>{})};r();const o={type:"open"};this.query.sid&&(o.data=`{"sid":"${this.query.sid}"}`),this._writer.write(o).then(()=>this.onOpen())})})}write(e){this.writable=!1;for(let t=0;t{i&&x(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var e;(e=this._transport)===null||e===void 0||e.close()}}const $e={websocket:He,webtransport:Ke,polling:Fe},We=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,Ye=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function V(s){if(s.length>8e3)throw"URI too long";const e=s,t=s.indexOf("["),n=s.indexOf("]");t!=-1&&n!=-1&&(s=s.substring(0,t)+s.substring(t,n).replace(/:/g,";")+s.substring(n,s.length));let i=We.exec(s||""),r={},o=14;for(;o--;)r[Ye[o]]=i[o]||"";return t!=-1&&n!=-1&&(r.source=e,r.host=r.host.substring(1,r.host.length-1).replace(/;/g,":"),r.authority=r.authority.replace("[","").replace("]","").replace(/;/g,":"),r.ipv6uri=!0),r.pathNames=ze(r,r.path),r.queryKey=Je(r,r.query),r}function ze(s,e){const t=/\/{2,9}/g,n=e.replace(t,"/").split("/");return(e.slice(0,1)=="/"||e.length===0)&&n.splice(0,1),e.slice(-1)=="/"&&n.splice(n.length-1,1),n}function Je(s,e){const t={};return e.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(n,i,r){i&&(t[i]=r)}),t}const F=typeof addEventListener=="function"&&typeof removeEventListener=="function",C=[];F&&addEventListener("offline",()=>{C.forEach(s=>s())},!1);class b extends u{constructor(e,t){if(super(),this.binaryType=Re,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,e&&typeof e=="object"&&(t=e,e=null),e){const n=V(e);t.hostname=n.host,t.secure=n.protocol==="https"||n.protocol==="wss",t.port=n.port,n.query&&(t.query=n.query)}else t.host&&(t.hostname=V(t.host).host);L(this,t),this.secure=t.secure!=null?t.secure:typeof location<"u"&&location.protocol==="https:",t.hostname&&!t.port&&(t.port=this.secure?"443":"80"),this.hostname=t.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=t.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},t.transports.forEach(n=>{const i=n.prototype.name;this.transports.push(i),this._transportsByName[i]=n}),this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},t),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=Le(this.opts.query)),F&&(this.opts.closeOnBeforeunload&&(this._beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this._beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this._offlineEventListener=()=>{this._onClose("transport close",{description:"network connection lost"})},C.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(e){const t=Object.assign({},this.opts.query);t.EIO=re,t.transport=e,this.id&&(t.sid=this.id);const n=Object.assign({},this.opts,{query:t,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[e]);return new this._transportsByName[e](n)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const e=this.opts.rememberUpgrade&&b.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const t=this.createTransport(e);t.open(),this.setTransport(t)}setTransport(e){this.transport&&this.transport.removeAllListeners(),this.transport=e,e.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",t=>this._onClose("transport close",t))}onOpen(){this.readyState="open",b.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(e){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",e),this.emitReserved("heartbeat"),e.type){case"open":this.onHandshake(JSON.parse(e.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const t=new Error("server error");t.code=e.data,this._onError(t);break;case"message":this.emitReserved("data",e.data),this.emitReserved("message",e.data);break}}onHandshake(e){this.emitReserved("handshake",e),this.id=e.sid,this.transport.query.sid=e.sid,this._pingInterval=e.pingInterval,this._pingTimeout=e.pingTimeout,this._maxPayload=e.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const e=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+e,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},e),this.opts.autoUnref&&this._pingTimeoutTimer.unref()}_onDrain(){this.writeBuffer.splice(0,this._prevBufferLen),this._prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const e=this._getWritablePackets();this.transport.send(e),this._prevBufferLen=e.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let t=1;for(let n=0;n0&&t>this._maxPayload)return this.writeBuffer.slice(0,n);t+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const e=Date.now()>this._pingTimeoutTime;return e&&(this._pingTimeoutTime=0,x(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),e}write(e,t,n){return this._sendPacket("message",e,t,n),this}send(e,t,n){return this._sendPacket("message",e,t,n),this}_sendPacket(e,t,n,i){if(typeof t=="function"&&(i=t,t=void 0),typeof n=="function"&&(i=n,n=null),this.readyState==="closing"||this.readyState==="closed")return;n=n||{},n.compress=n.compress!==!1;const r={type:e,data:t,options:n};this.emitReserved("packetCreate",r),this.writeBuffer.push(r),i&&this.once("flush",i),this.flush()}close(){const e=()=>{this._onClose("forced close"),this.transport.close()},t=()=>{this.off("upgrade",t),this.off("upgradeError",t),e()},n=()=>{this.once("upgrade",t),this.once("upgradeError",t)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?n():e()}):this.upgrading?n():e()),this}_onError(e){if(b.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",e),this._onClose("transport error",e)}_onClose(e,t){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),F&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const n=C.indexOf(this._offlineEventListener);n!==-1&&C.splice(n,1)}this.readyState="closed",this.id=null,this.emitReserved("close",e,t),this.writeBuffer=[],this._prevBufferLen=0}}}b.protocol=re;class Xe extends b{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let e=0;e{n||(t.send([{type:"ping",data:"probe"}]),t.once("packet",_=>{if(!n)if(_.type==="pong"&&_.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",t),!t)return;b.priorWebsocketSuccess=t.name==="websocket",this.transport.pause(()=>{n||this.readyState!=="closed"&&(l(),this.setTransport(t),t.send([{type:"upgrade"}]),this.emitReserved("upgrade",t),t=null,this.upgrading=!1,this.flush())})}else{const E=new Error("probe error");E.transport=t.name,this.emitReserved("upgradeError",E)}}))};function r(){n||(n=!0,l(),t.close(),t=null)}const o=_=>{const E=new Error("probe error: "+_);E.transport=t.name,r(),this.emitReserved("upgradeError",E)};function a(){o("transport closed")}function h(){o("socket closed")}function g(_){t&&_.name!==t.name&&r()}const l=()=>{t.removeListener("open",i),t.removeListener("error",o),t.removeListener("close",a),this.off("close",h),this.off("upgrading",g)};t.once("open",i),t.once("error",o),t.once("close",a),this.once("close",h),this.once("upgrading",g),this._upgrades.indexOf("webtransport")!==-1&&e!=="webtransport"?this.setTimeoutFn(()=>{n||t.open()},200):t.open()}onHandshake(e){this._upgrades=this._filterUpgrades(e.upgrades),super.onHandshake(e)}_filterUpgrades(e){const t=[];for(let n=0;n$e[i]).filter(i=>!!i)),super(e,n)}};function je(s,e="",t){let n=s;t=t||typeof location<"u"&&location,s==null&&(s=t.protocol+"//"+t.host),typeof s=="string"&&(s.charAt(0)==="/"&&(s.charAt(1)==="/"?s=t.protocol+s:s=t.host+s),/^(https?|wss?):\/\//.test(s)||(typeof t<"u"?s=t.protocol+"//"+s:s="https://"+s),n=V(s)),n.port||(/^(http|ws)$/.test(n.protocol)?n.port="80":/^(http|ws)s$/.test(n.protocol)&&(n.port="443")),n.path=n.path||"/";const r=n.host.indexOf(":")!==-1?"["+n.host+"]":n.host;return n.id=n.protocol+"://"+r+":"+n.port+e,n.href=n.protocol+"://"+r+(t&&t.port===n.port?"":":"+n.port),n}const Ge=typeof ArrayBuffer=="function",Ze=s=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(s):s.buffer instanceof ArrayBuffer,fe=Object.prototype.toString,et=typeof Blob=="function"||typeof Blob<"u"&&fe.call(Blob)==="[object BlobConstructor]",tt=typeof File=="function"||typeof File<"u"&&fe.call(File)==="[object FileConstructor]";function J(s){return Ge&&(s instanceof ArrayBuffer||Ze(s))||et&&s instanceof Blob||tt&&s instanceof File}function S(s,e){if(!s||typeof s!="object")return!1;if(Array.isArray(s)){for(let t=0,n=s.length;t=0&&s.num{delete this.acks[e];for(let a=0;a{this.io.clearTimeoutFn(r),t.apply(this,a)};o.withError=!0,this.acks[e]=o}emitWithAck(e,...t){return new Promise((n,i)=>{const r=(o,a)=>o?i(o):n(a);r.withError=!0,t.push(r),this.emit(e,...t)})}_addToQueue(e){let t;typeof e[e.length-1]=="function"&&(t=e.pop());const n={id:this._queueSeq++,tryCount:0,pending:!1,args:e,flags:Object.assign({fromQueue:!0},this.flags)};e.push((i,...r)=>(this._queue[0],i!==null?n.tryCount>this._opts.retries&&(this._queue.shift(),t&&t(i)):(this._queue.shift(),t&&t(null,...r)),n.pending=!1,this._drainQueue())),this._queue.push(n),this._drainQueue()}_drainQueue(e=!1){if(!this.connected||this._queue.length===0)return;const t=this._queue[0];t.pending&&!e||(t.pending=!0,t.tryCount++,this.flags=t.flags,this.emit.apply(this,t.args))}packet(e){e.nsp=this.nsp,this.io._packet(e)}onopen(){typeof this.auth=="function"?this.auth(e=>{this._sendConnectPacket(e)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:c.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(e){this.connected||this.emitReserved("connect_error",e)}onclose(e,t){this.connected=!1,delete this.id,this.emitReserved("disconnect",e,t),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(e=>{if(!this.sendBuffer.some(n=>String(n.id)===e)){const n=this.acks[e];delete this.acks[e],n.withError&&n.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case c.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case c.EVENT:case c.BINARY_EVENT:this.onevent(e);break;case c.ACK:case c.BINARY_ACK:this.onack(e);break;case c.DISCONNECT:this.ondisconnect();break;case c.CONNECT_ERROR:this.destroy();const n=new Error(e.data.message);n.data=e.data.data,this.emitReserved("connect_error",n);break}}onevent(e){const t=e.data||[];e.id!=null&&t.push(this.ack(e.id)),this.connected?this.emitEvent(t):this.receiveBuffer.push(Object.freeze(t))}emitEvent(e){if(this._anyListeners&&this._anyListeners.length){const t=this._anyListeners.slice();for(const n of t)n.apply(this,e)}super.emit.apply(this,e),this._pid&&e.length&&typeof e[e.length-1]=="string"&&(this._lastOffset=e[e.length-1])}ack(e){const t=this;let n=!1;return function(...i){n||(n=!0,t.packet({type:c.ACK,id:e,data:i}))}}onack(e){const t=this.acks[e.id];typeof t=="function"&&(delete this.acks[e.id],t.withError&&e.data.unshift(null),t.apply(this,e.data))}onconnect(e,t){this.id=e,this.recovered=t&&this._pid===t,this._pid=t,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(e=>this.emitEvent(e)),this.receiveBuffer=[],this.sendBuffer.forEach(e=>{this.notifyOutgoingListeners(e),this.packet(e)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(e=>e()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:c.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(e){return this.flags.compress=e,this}get volatile(){return this.flags.volatile=!0,this}timeout(e){return this.flags.timeout=e,this}onAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(e),this}prependAny(e){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(e),this}offAny(e){if(!this._anyListeners)return this;if(e){const t=this._anyListeners;for(let n=0;n0&&s.jitter<=1?s.jitter:0,this.attempts=0}w.prototype.duration=function(){var s=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),t=Math.floor(e*this.jitter*s);s=Math.floor(e*10)&1?s+t:s-t}return Math.min(s,this.max)|0};w.prototype.reset=function(){this.attempts=0};w.prototype.setMin=function(s){this.ms=s};w.prototype.setMax=function(s){this.max=s};w.prototype.setJitter=function(s){this.jitter=s};class K extends u{constructor(e,t){var n;super(),this.nsps={},this.subs=[],e&&typeof e=="object"&&(t=e,e=void 0),t=t||{},t.path=t.path||"/socket.io",this.opts=t,L(this,t),this.reconnection(t.reconnection!==!1),this.reconnectionAttempts(t.reconnectionAttempts||1/0),this.reconnectionDelay(t.reconnectionDelay||1e3),this.reconnectionDelayMax(t.reconnectionDelayMax||5e3),this.randomizationFactor((n=t.randomizationFactor)!==null&&n!==void 0?n:.5),this.backoff=new w({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(t.timeout==null?2e4:t.timeout),this._readyState="closed",this.uri=e;const i=t.parser||lt;this.encoder=new i.Encoder,this.decoder=new i.Decoder,this._autoConnect=t.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(e){return arguments.length?(this._reconnection=!!e,e||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(e){return e===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=e,this)}reconnectionDelay(e){var t;return e===void 0?this._reconnectionDelay:(this._reconnectionDelay=e,(t=this.backoff)===null||t===void 0||t.setMin(e),this)}randomizationFactor(e){var t;return e===void 0?this._randomizationFactor:(this._randomizationFactor=e,(t=this.backoff)===null||t===void 0||t.setJitter(e),this)}reconnectionDelayMax(e){var t;return e===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=e,(t=this.backoff)===null||t===void 0||t.setMax(e),this)}timeout(e){return arguments.length?(this._timeout=e,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(e){if(~this._readyState.indexOf("open"))return this;this.engine=new Qe(this.uri,this.opts);const t=this.engine,n=this;this._readyState="opening",this.skipReconnect=!1;const i=d(t,"open",function(){n.onopen(),e&&e()}),r=a=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",a),e?e(a):this.maybeReconnectOnOpen()},o=d(t,"error",r);if(this._timeout!==!1){const a=this._timeout,h=this.setTimeoutFn(()=>{i(),r(new Error("timeout")),t.close()},a);this.opts.autoUnref&&h.unref(),this.subs.push(()=>{this.clearTimeoutFn(h)})}return this.subs.push(i),this.subs.push(o),this}connect(e){return this.open(e)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const e=this.engine;this.subs.push(d(e,"ping",this.onping.bind(this)),d(e,"data",this.ondata.bind(this)),d(e,"error",this.onerror.bind(this)),d(e,"close",this.onclose.bind(this)),d(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(e){try{this.decoder.add(e)}catch(t){this.onclose("parse error",t)}}ondecoded(e){x(()=>{this.emitReserved("packet",e)},this.setTimeoutFn)}onerror(e){this.emitReserved("error",e)}socket(e,t){let n=this.nsps[e];return n?this._autoConnect&&!n.active&&n.connect():(n=new pe(this,e,t),this.nsps[e]=n),n}_destroy(e){const t=Object.keys(this.nsps);for(const n of t)if(this.nsps[n].active)return;this._close()}_packet(e){const t=this.encoder.encode(e);for(let n=0;ne()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(e,t){var n;this.cleanup(),(n=this.engine)===null||n===void 0||n.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",e,t),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const e=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const t=this.backoff.duration();this._reconnecting=!0;const n=this.setTimeoutFn(()=>{e.skipReconnect||(this.emitReserved("reconnect_attempt",e.backoff.attempts),!e.skipReconnect&&e.open(i=>{i?(e._reconnecting=!1,e.reconnect(),this.emitReserved("reconnect_error",i)):e.onreconnect()}))},t);this.opts.autoUnref&&n.unref(),this.subs.push(()=>{this.clearTimeoutFn(n)})}}onreconnect(){const e=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",e)}}const v={};function B(s,e){typeof s=="object"&&(e=s,s=void 0),e=e||{};const t=je(s,e.path||"/socket.io"),n=t.source,i=t.id,r=t.path,o=v[i]&&r in v[i].nsps,a=e.forceNew||e["force new connection"]||e.multiplex===!1||o;let h;return a?h=new K(n,e):(v[i]||(v[i]=new K(n,e)),h=v[i]),t.query&&!e.query&&(e.query=t.queryKey),h.socket(t.path,e)}Object.assign(B,{Manager:K,Socket:pe,io:B,connect:B});let f=null,$=null;const A=new Set;function dt(){var t,n;if(ye())return me();const s=de("server.domain"),e=(n=(t=import.meta)==null?void 0:t.env)==null?void 0:n.VITE_SERVER_URL;return s||e||window.location.origin}function P(){const s=dt();if(!f||$!==s){if(f){try{f.disconnect()}catch{}f=null}$=s,f=B(s,{transports:["polling","websocket"]}),A.forEach(({event:e,handler:t})=>{f.on(e,t)})}return f}function bt(s,e){return P().on(s,e),A.add({event:s,handler:e}),()=>yt(s,e)}function yt(s,e){if(f){f.off(s,e);for(const t of Array.from(A))t.event===s&&t.handler===e&&A.delete(t)}}function wt(s){const e=P();s&&e.emit("join-token",{token:s})}function Et(s){f&&f.emit("leave-token",{token:s})}function vt(){f&&f.emit("leave-all")}function kt(s){const e=P();return e.on("connect",s),()=>e.off("connect",s)}function At(s,e=null){P().emit("send-event",{type:s,content:e})}function Tt(){if(f){try{f.disconnect()}catch{}f=null,$=null,A.clear()}}export{kt as a,Et as b,dt as c,Tt as d,P as g,wt as j,vt as l,bt as o,At as s}; diff --git a/index.html b/index.html index befa85e..6b5ce37 100644 --- a/index.html +++ b/index.html @@ -75,7 +75,7 @@ /* 当被移除或隐藏时可渐隐(由应用控制) */ body.app-loaded #app-loader { opacity: 0; pointer-events: none; } - + diff --git a/sw.js b/sw.js index 41d1fa2..8e64949 100644 --- a/sw.js +++ b/sw.js @@ -1 +1 @@ -if(!self.define){let e,a={};const s=(s,n)=>(s=new URL(s+".js",n).href,a[s]||new Promise(a=>{if("document"in self){const e=document.createElement("script");e.src=s,e.onload=a,document.head.appendChild(e)}else e=s,importScripts(s),a()}).then(()=>{let e=a[s];if(!e)throw new Error(`Module ${s} didn’t register its module`);return e}));self.define=(n,i)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(a[c])return;let r={};const t=e=>s(e,c),o={module:{uri:c},exports:r,require:t};a[c]=Promise.all(n.map(e=>o[e]||t(e))).then(e=>(i(...e),r))}}define(["./workbox-ec372ce3"],function(e){"use strict";importScripts("/sw-cache-manager.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"},{url:"index.html",revision:"d65aa347ddb77ba4887cd9ef747a0a10"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"d06a7b1a4998b04f6c949893fa6b3c3b"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(({url:e,sameOrigin:a})=>a&&e.pathname.endsWith("/assets/"),new e.CacheFirst({cacheName:"assets-cache",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:a})=>a&&e.pathname.startsWith("/pwa/"),new e.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:a})=>{if(!a)return!1;const s=e.pathname;return!(s.includes("/assets/")||s.includes("/pwa/"))},new e.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")}); +if(!self.define){let e,a={};const s=(s,n)=>(s=new URL(s+".js",n).href,a[s]||new Promise(a=>{if("document"in self){const e=document.createElement("script");e.src=s,e.onload=a,document.head.appendChild(e)}else e=s,importScripts(s),a()}).then(()=>{let e=a[s];if(!e)throw new Error(`Module ${s} didn’t register its module`);return e}));self.define=(n,i)=>{const c=e||("document"in self?document.currentScript.src:"")||location.href;if(a[c])return;let r={};const t=e=>s(e,c),o={module:{uri:c},exports:r,require:t};a[c]=Promise.all(n.map(e=>o[e]||t(e))).then(e=>(i(...e),r))}}define(["./workbox-ec372ce3"],function(e){"use strict";importScripts("/sw-cache-manager.js"),self.skipWaiting(),e.clientsClaim(),e.precacheAndRoute([{url:"sw-cache-manager.js",revision:"e1c99eed8d27ad84cb5fc7c56efd223b"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"},{url:"index.html",revision:"573c1048d112bd0921ca2a8277d26aea"},{url:"favicon.ico",revision:"8e3a55390cf66d227f765a6063bb6c31"},{url:"328a0e159cf9b3fb3caacaab9c83bf17.txt",revision:"d06a7b1a4998b04f6c949893fa6b3c3b"},{url:"pwa/image/maskable-icon-512x512.png",revision:"dfa412c4bbe0f716216ac5db7a4c706d"},{url:"pwa/image/pwa-192x192.png",revision:"81802c789e8b735f7f8b181f002932f8"},{url:"pwa/image/pwa-512x512.png",revision:"57cc60501279a6d172b32211b1c67688"},{url:"pwa/image/pwa-64x64.png",revision:"b4ca4c3d8333391f20cddbb3f6cca2df"},{url:"manifest.webmanifest",revision:"b0b994b429676afc68d0e6f9fe77af13"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html"))),e.registerRoute(({url:e,sameOrigin:a})=>a&&e.pathname.endsWith("/assets/"),new e.CacheFirst({cacheName:"assets-cache",plugins:[new e.ExpirationPlugin({maxEntries:200,maxAgeSeconds:5184e3}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:a})=>a&&e.pathname.startsWith("/pwa/"),new e.StaleWhileRevalidate({cacheName:"pwa-cache",plugins:[new e.ExpirationPlugin({maxEntries:50,maxAgeSeconds:604800}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET"),e.registerRoute(({url:e,sameOrigin:a})=>{if(!a)return!1;const s=e.pathname;return!(s.includes("/assets/")||s.includes("/pwa/"))},new e.NetworkFirst({cacheName:"other-resources",networkTimeoutSeconds:10,plugins:[new e.ExpirationPlugin({maxEntries:100,maxAgeSeconds:86400}),new e.CacheableResponsePlugin({statuses:[0,200]})]}),"GET")});