diff --git a/frontend/dist/assets/AdminUsers-CCNtingM.js b/frontend/dist/assets/AdminUsers-Cv-dZx8g.js similarity index 98% rename from frontend/dist/assets/AdminUsers-CCNtingM.js rename to frontend/dist/assets/AdminUsers-Cv-dZx8g.js index ea7df78..2d6f8a5 100644 --- a/frontend/dist/assets/AdminUsers-CCNtingM.js +++ b/frontend/dist/assets/AdminUsers-Cv-dZx8g.js @@ -1,4 +1,4 @@ -import{k as w,_ as h,l as U,c as r,a as e,m,u as o,j as l,t as n,i as u,w as p,v,E as b,e as f,F as V,q as M,s as k,r as y,o as i,A as C}from"./index-Dm2VwslH.js";import{U as z}from"./users-ksNXFlzl.js";/** +import{k as w,_ as h,l as U,c as r,a as e,m,u as o,j as l,t as n,i as u,w as p,v,E as b,e as f,F as V,q as M,s as k,r as y,o as i,A as C}from"./index-C0_i8cDF.js";import{U as z}from"./users-qxBh6IGP.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/Analytics-BGRP-tme.js b/frontend/dist/assets/Analytics-z04-C_VZ.js similarity index 97% rename from frontend/dist/assets/Analytics-BGRP-tme.js rename to frontend/dist/assets/Analytics-z04-C_VZ.js index 4f2ea12..ddf804a 100644 --- a/frontend/dist/assets/Analytics-BGRP-tme.js +++ b/frontend/dist/assets/Analytics-z04-C_VZ.js @@ -1,4 +1,4 @@ -import{k as x,_ as L,l as M,c as p,a as s,m as i,u as a,j as c,t as e,i as n,n as w,w as f,v as b,p as U,e as N,F as R,q as j,s as A,x as B,r as m,f as E,o as y}from"./index-Dm2VwslH.js";import{U as P}from"./users-ksNXFlzl.js";import{P as S}from"./plus-CAyBY_kw.js";/** +import{k as x,_ as L,l as M,c as p,a as s,m as i,u as a,j as c,t as e,i as n,n as w,w as f,v as b,p as U,e as N,F as R,q as j,s as A,x as B,r as m,f as E,o as y}from"./index-C0_i8cDF.js";import{U as P}from"./users-qxBh6IGP.js";import{P as S}from"./plus-BiLb0OIF.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/Chat-C6Malw3d.js b/frontend/dist/assets/Chat-DvLKhxgu.js similarity index 97% rename from frontend/dist/assets/Chat-C6Malw3d.js rename to frontend/dist/assets/Chat-DvLKhxgu.js index 34612f8..9df0949 100644 --- a/frontend/dist/assets/Chat-C6Malw3d.js +++ b/frontend/dist/assets/Chat-DvLKhxgu.js @@ -1,4 +1,4 @@ -import{k as P,_ as R,l as G,s as S,c as o,m as k,n as D,u as a,a as s,t,i as n,F as T,q as L,j as g,A as w,e as h,w as K,v as $,b as q,h as H,r as d,z as J,C as O,x as U,o as l}from"./index-Dm2VwslH.js";import{T as Y}from"./target-CliUY7kC.js";import{A as Q}from"./arrow-left-Cm4VHcqz.js";/** +import{k as P,_ as R,l as G,s as S,c as o,m as k,n as D,u as a,a as s,t,i as n,F as T,q as L,j as g,A as w,e as h,w as K,v as $,b as q,h as H,r as d,z as J,C as O,x as U,o as l}from"./index-C0_i8cDF.js";import{T as Y}from"./target-DoOGVGr0.js";import{A as Q}from"./arrow-left-neyuEczm.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/GroupBuilder-Fv2uZV_O.js b/frontend/dist/assets/GroupBuilder-DYRYwsrA.js similarity index 98% rename from frontend/dist/assets/GroupBuilder-Fv2uZV_O.js rename to frontend/dist/assets/GroupBuilder-DYRYwsrA.js index 0e7547f..fe7a46f 100644 --- a/frontend/dist/assets/GroupBuilder-Fv2uZV_O.js +++ b/frontend/dist/assets/GroupBuilder-DYRYwsrA.js @@ -1,4 +1,4 @@ -import{k as g,_ as M,c as f,m as d,n as V,a as e,u as l,j as r,t as s,i as o,w as u,v as y,E as k,e as C,x as z,r as v,s as B,g as A,o as x}from"./index-Dm2VwslH.js";import{A as P}from"./arrow-left-Cm4VHcqz.js";/** +import{k as g,_ as M,c as f,m as d,n as V,a as e,u as l,j as r,t as s,i as o,w as u,v as y,E as k,e as C,x as z,r as v,s as B,g as A,o as x}from"./index-C0_i8cDF.js";import{A as P}from"./arrow-left-neyuEczm.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/GroupEdit-CL_6gtfe.js b/frontend/dist/assets/GroupEdit-DsLJeZZx.js similarity index 99% rename from frontend/dist/assets/GroupEdit-CL_6gtfe.js rename to frontend/dist/assets/GroupEdit-DsLJeZZx.js index 1d5c5ad..12dcfd9 100644 --- a/frontend/dist/assets/GroupEdit-CL_6gtfe.js +++ b/frontend/dist/assets/GroupEdit-DsLJeZZx.js @@ -1,4 +1,4 @@ -import{k as I,_ as F,G as M,o as m,c as f,a as e,t as i,w as o,v as u,E as N,e as _,H as O,r as k,l as q,m as A,n as D,u as c,j as y,i as B,B as J,F as P,q as S,I as H,h as R,s as j,x as K,A as T}from"./index-Dm2VwslH.js";import{U as Q}from"./users-ksNXFlzl.js";import{S as W}from"./sparkles-BXnC3-RA.js";/** +import{k as I,_ as F,G as M,o as m,c as f,a as e,t as i,w as o,v as u,E as N,e as _,H as O,r as k,l as q,m as A,n as D,u as c,j as y,i as B,B as J,F as P,q as S,I as H,h as R,s as j,x as K,A as T}from"./index-C0_i8cDF.js";import{U as Q}from"./users-qxBh6IGP.js";import{S as W}from"./sparkles-D66jVNJm.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/Guide-B7hY6F8k.js b/frontend/dist/assets/Guide-D6Cvcccc.js similarity index 95% rename from frontend/dist/assets/Guide-B7hY6F8k.js rename to frontend/dist/assets/Guide-D6Cvcccc.js index eb0be3d..b62237d 100644 --- a/frontend/dist/assets/Guide-B7hY6F8k.js +++ b/frontend/dist/assets/Guide-D6Cvcccc.js @@ -1,4 +1,4 @@ -import{k as e,c as o,a as l,m as n,u as i,j as s,t as r,i as a,D as u,o as d}from"./index-Dm2VwslH.js";import{B as g}from"./book-open-x8tSBc1t.js";import{L as p}from"./layout-dashboard-LQG3ldGP.js";import{T as m}from"./target-CliUY7kC.js";import{S as y}from"./sparkles-BXnC3-RA.js";/** +import{k as e,c as o,a as l,m as n,u as i,j as s,t as r,i as a,D as u,o as d}from"./index-C0_i8cDF.js";import{B as g}from"./book-open-E7lWrK45.js";import{L as p}from"./layout-dashboard-C4nLoaIz.js";import{T as m}from"./target-DoOGVGr0.js";import{S as y}from"./sparkles-D66jVNJm.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/Login-ezlK-w_A.js b/frontend/dist/assets/Login-vrbZzr6f.js similarity index 92% rename from frontend/dist/assets/Login-ezlK-w_A.js rename to frontend/dist/assets/Login-vrbZzr6f.js index 4632b8e..9c1e492 100644 --- a/frontend/dist/assets/Login-ezlK-w_A.js +++ b/frontend/dist/assets/Login-vrbZzr6f.js @@ -1 +1 @@ -import{_ as b,c as d,a as e,t as s,u as c,i as o,w as y,v as x,b as w,d as k,e as S,r as l,f,g as V,h as B,o as v}from"./index-Dm2VwslH.js";const C={class:"login-wrap"},D={class:"card login-card"},K={class:"pw-wrap"},E=["type"],L=["aria-label"],M={key:0,class:"error",role:"alert"},N=["disabled"],R={key:0,class:"spinner"},U={key:1},q={__name:"Login",setup(H){const g=B(),_=V(),n=l(""),u=l(""),a=l(!1),r=l(""),i=l(!1);async function m(){r.value="",i.value=!0;try{await f.login(n.value.trim(),u.value),f.mustSetup?_.push({path:"/setup"}):_.push(g.query.redirect||"/")}catch{r.value=o.t("loginError")}finally{i.value=!1}}return(h,t)=>(v(),d("div",C,[e("div",D,[e("h1",null,"🎯 "+s(c(o).t("app")),1),t[3]||(t[3]=e("p",{class:"muted",style:{"margin-top":"-8px"}},"Sales training simulator",-1)),e("label",null,s(c(o).t("username")),1),y(e("input",{"onUpdate:modelValue":t[0]||(t[0]=p=>n.value=p),type:"text",autocomplete:"username",onKeyup:w(m,["enter"])},null,544),[[x,n.value]]),e("label",null,s(c(o).t("password")),1),e("div",K,[y(e("input",{"onUpdate:modelValue":t[1]||(t[1]=p=>u.value=p),type:a.value?"text":"password",autocomplete:"current-password",onKeyup:w(m,["enter"])},null,40,E),[[k,u.value]]),e("button",{type:"button",class:"pw-toggle",onClick:t[2]||(t[2]=p=>a.value=!a.value),"aria-label":a.value?"Hide password":"Show password"},s(a.value?"🙈":"👁"),9,L)]),r.value?(v(),d("div",M,s(r.value),1)):S("",!0),e("button",{class:"primary",style:{width:"100%","margin-top":"16px"},disabled:i.value||!n.value||!u.value,onClick:m},[i.value?(v(),d("span",R)):(v(),d("span",U,s(c(o).t("login")),1))],8,N)])]))}},P=b(q,[["__scopeId","data-v-f7904d9f"]]);export{P as default}; +import{_ as b,c as d,a as e,t as s,u as c,i as o,w as y,v as x,b as w,d as k,e as S,r as l,f,g as V,h as B,o as v}from"./index-C0_i8cDF.js";const C={class:"login-wrap"},D={class:"card login-card"},K={class:"pw-wrap"},E=["type"],L=["aria-label"],M={key:0,class:"error",role:"alert"},N=["disabled"],R={key:0,class:"spinner"},U={key:1},q={__name:"Login",setup(H){const g=B(),_=V(),n=l(""),u=l(""),a=l(!1),r=l(""),i=l(!1);async function m(){r.value="",i.value=!0;try{await f.login(n.value.trim(),u.value),f.mustSetup?_.push({path:"/setup"}):_.push(g.query.redirect||"/")}catch{r.value=o.t("loginError")}finally{i.value=!1}}return(h,t)=>(v(),d("div",C,[e("div",D,[e("h1",null,"🎯 "+s(c(o).t("app")),1),t[3]||(t[3]=e("p",{class:"muted",style:{"margin-top":"-8px"}},"Sales training simulator",-1)),e("label",null,s(c(o).t("username")),1),y(e("input",{"onUpdate:modelValue":t[0]||(t[0]=p=>n.value=p),type:"text",autocomplete:"username",onKeyup:w(m,["enter"])},null,544),[[x,n.value]]),e("label",null,s(c(o).t("password")),1),e("div",K,[y(e("input",{"onUpdate:modelValue":t[1]||(t[1]=p=>u.value=p),type:a.value?"text":"password",autocomplete:"current-password",onKeyup:w(m,["enter"])},null,40,E),[[k,u.value]]),e("button",{type:"button",class:"pw-toggle",onClick:t[2]||(t[2]=p=>a.value=!a.value),"aria-label":a.value?"Hide password":"Show password"},s(a.value?"🙈":"👁"),9,L)]),r.value?(v(),d("div",M,s(r.value),1)):S("",!0),e("button",{class:"primary",style:{width:"100%","margin-top":"16px"},disabled:i.value||!n.value||!u.value,onClick:m},[i.value?(v(),d("span",R)):(v(),d("span",U,s(c(o).t("login")),1))],8,N)])]))}},P=b(q,[["__scopeId","data-v-f7904d9f"]]);export{P as default}; diff --git a/frontend/dist/assets/MyBoard-EoWaU1ds.js b/frontend/dist/assets/MyBoard-UPzqfwhQ.js similarity index 94% rename from frontend/dist/assets/MyBoard-EoWaU1ds.js rename to frontend/dist/assets/MyBoard-UPzqfwhQ.js index a8b2b15..ff68d42 100644 --- a/frontend/dist/assets/MyBoard-EoWaU1ds.js +++ b/frontend/dist/assets/MyBoard-UPzqfwhQ.js @@ -1 +1 @@ -import{_ as f,l as x,s as v,c as r,a as t,m as b,u as e,j as k,t as s,i as a,e as _,w as B,y as N,F as D,q as S,r as p,z as c,o as i,A as T}from"./index-Dm2VwslH.js";import{L as V}from"./layout-dashboard-LQG3ldGP.js";const z={style:{margin:"0"}},L={key:0,class:"row stat-row"},M={class:"card stat"},j={class:"card stat won"},C={class:"card stat lost"},F={class:"card stat"},q={key:1,class:"card"},A={key:2,class:"card empty-state"},E={class:"card",style:{"margin-top":"20px"}},G={style:{"margin-top":"0"}},I={__name:"MyBoard",setup(H){const o=p([]),u=p([]),m=p(!0),y=c(()=>o.value.length),g=c(()=>o.value.filter(n=>n.my_outcome==="won").length),h=c(()=>o.value.filter(n=>n.my_outcome==="lost").length),w=c(()=>o.value.filter(n=>n.my_outcome==="not_tried").length);return x(async()=>{try{o.value=(await v.myBoard()).board||[],u.value=(await v.mySessions()).sessions||[]}finally{m.value=!1}}),(n,l)=>(i(),r("div",null,[t("div",null,[t("h2",z,[b(e(V),{size:22,"stroke-width":1.8,style:{"vertical-align":"-4px"}}),k(" "+s(e(a).t("myDashboard")),1)]),l[0]||(l[0]=t("div",{class:"muted",style:{"margin-top":"4px","margin-bottom":"16px"}},"สรุปผลการฝึกของตัวคุณเอง — ดูว่าปิดการขายได้กี่ครั้ง ยังฝึกกับใครบ้าง",-1))]),m.value?_("",!0):(i(),r("div",L,[t("div",M,[t("span",null,s(e(a).t("total")),1),t("strong",null,s(y.value),1)]),t("div",j,[t("span",null,s(e(a).t("won")),1),t("strong",null,s(g.value),1)]),t("div",C,[t("span",null,s(e(a).t("lost")),1),t("strong",null,s(h.value),1)]),t("div",F,[t("span",null,s(e(a).t("notTried")),1),t("strong",null,s(w.value),1)])])),m.value?(i(),r("div",q,[...l[1]||(l[1]=[t("div",{class:"skeleton",style:{height:"50px"}},null,-1)])])):o.value.length===0?(i(),r("div",A,[...l[2]||(l[2]=[t("strong",null,"No practice yet",-1),t("span",null,"Go to Training and try closing a sale with a persona.",-1)])])):_("",!0),B(t("div",E,[t("h3",G,s(e(a).t("mySessions")),1),(i(!0),r(D,null,S(u.value,d=>(i(),r("div",{key:d.id,style:{display:"flex","justify-content":"space-between",padding:"8px 0","border-bottom":"1px solid var(--border)"}},[t("span",null,s(d.persona_name),1),t("span",{class:T(["badge",d.outcome])},s(d.outcome==="won"?e(a).t("won"):e(a).t("lost")),3)]))),128))],512),[[N,u.value.length]])]))}},O=f(I,[["__scopeId","data-v-6767b6b8"]]);export{O as default}; +import{_ as f,l as x,s as v,c as r,a as t,m as b,u as e,j as k,t as s,i as a,e as _,w as B,y as N,F as D,q as S,r as p,z as c,o as i,A as T}from"./index-C0_i8cDF.js";import{L as V}from"./layout-dashboard-C4nLoaIz.js";const z={style:{margin:"0"}},L={key:0,class:"row stat-row"},M={class:"card stat"},j={class:"card stat won"},C={class:"card stat lost"},F={class:"card stat"},q={key:1,class:"card"},A={key:2,class:"card empty-state"},E={class:"card",style:{"margin-top":"20px"}},G={style:{"margin-top":"0"}},I={__name:"MyBoard",setup(H){const o=p([]),u=p([]),m=p(!0),y=c(()=>o.value.length),g=c(()=>o.value.filter(n=>n.my_outcome==="won").length),h=c(()=>o.value.filter(n=>n.my_outcome==="lost").length),w=c(()=>o.value.filter(n=>n.my_outcome==="not_tried").length);return x(async()=>{try{o.value=(await v.myBoard()).board||[],u.value=(await v.mySessions()).sessions||[]}finally{m.value=!1}}),(n,l)=>(i(),r("div",null,[t("div",null,[t("h2",z,[b(e(V),{size:22,"stroke-width":1.8,style:{"vertical-align":"-4px"}}),k(" "+s(e(a).t("myDashboard")),1)]),l[0]||(l[0]=t("div",{class:"muted",style:{"margin-top":"4px","margin-bottom":"16px"}},"สรุปผลการฝึกของตัวคุณเอง — ดูว่าปิดการขายได้กี่ครั้ง ยังฝึกกับใครบ้าง",-1))]),m.value?_("",!0):(i(),r("div",L,[t("div",M,[t("span",null,s(e(a).t("total")),1),t("strong",null,s(y.value),1)]),t("div",j,[t("span",null,s(e(a).t("won")),1),t("strong",null,s(g.value),1)]),t("div",C,[t("span",null,s(e(a).t("lost")),1),t("strong",null,s(h.value),1)]),t("div",F,[t("span",null,s(e(a).t("notTried")),1),t("strong",null,s(w.value),1)])])),m.value?(i(),r("div",q,[...l[1]||(l[1]=[t("div",{class:"skeleton",style:{height:"50px"}},null,-1)])])):o.value.length===0?(i(),r("div",A,[...l[2]||(l[2]=[t("strong",null,"No practice yet",-1),t("span",null,"Go to Training and try closing a sale with a persona.",-1)])])):_("",!0),B(t("div",E,[t("h3",G,s(e(a).t("mySessions")),1),(i(!0),r(D,null,S(u.value,d=>(i(),r("div",{key:d.id,style:{display:"flex","justify-content":"space-between",padding:"8px 0","border-bottom":"1px solid var(--border)"}},[t("span",null,s(d.persona_name),1),t("span",{class:T(["badge",d.outcome])},s(d.outcome==="won"?e(a).t("won"):e(a).t("lost")),3)]))),128))],512),[[N,u.value.length]])]))}},O=f(I,[["__scopeId","data-v-6767b6b8"]]);export{O as default}; diff --git a/frontend/dist/assets/Personas-BW6YLess.js b/frontend/dist/assets/Personas-Dl-F3CRY.js similarity index 95% rename from frontend/dist/assets/Personas-BW6YLess.js rename to frontend/dist/assets/Personas-Dl-F3CRY.js index 4287be8..7afacc8 100644 --- a/frontend/dist/assets/Personas-BW6YLess.js +++ b/frontend/dist/assets/Personas-Dl-F3CRY.js @@ -1 +1 @@ -import{_ as T,l as $,c as r,m as d,n as m,a as t,t as s,u as e,i as n,f as g,j as _,e as w,F as y,q as p,h as L,s as N,x as V,r as b,o as a,S as I,A as h,B as A}from"./index-Dm2VwslH.js";import{T as S}from"./target-CliUY7kC.js";import{A as j}from"./arrow-left-Cm4VHcqz.js";const F={class:"row",style:{"align-items":"center"}},q={style:{margin:"0"}},D={class:"muted",style:{"margin-left":"auto"}},E={key:0,class:"card guide"},M={key:1,class:"row",style:{margin:"12px 0",gap:"10px"}},R={class:"primary"},G={class:"grid"},H={class:"row",style:{"justify-content":"space-between"}},J={class:"diff"},K={class:"muted"},O={class:"muted"},Q={class:"muted"},U={class:"muted",style:{"margin-top":"6px"}},W={class:"primary",style:{width:"100%"}},X={class:"primary",style:{width:"100%"}},Y={key:1,class:"muted",style:{"margin-top":"auto","font-size":"12px"}},Z={__name:"Personas",setup(tt){const c=L().params.gid,k=b([]),B=b(!0);async function C(){try{k.value=(await N.listPersonas(c)).personas}finally{B.value=!1}}function z(l){return k.value.filter(i=>i.tier===l)}function P(l){return n.t(l==="A"?"tierA":l==="B"?"tierB":"tierC")}function v(l){return l==="won"?n.t("won"):l==="lost"?n.t("lost"):n.t("notTried")}return $(C),(l,i)=>{const u=V("router-link");return a(),r("div",null,[d(u,{to:"/training",class:"btn-back"},{default:m(()=>[d(e(j),{size:16,"stroke-width":2}),_(" "+s(e(n).t("training")),1)]),_:1}),t("div",F,[t("h2",q,s(e(n).t("personas")),1),t("span",D,s(e(n).t("selectPersona")),1)]),e(g).isAdmin?w("",!0):(a(),r("div",E,[t("strong",null,[d(e(S),{size:17,"stroke-width":1.8,style:{"vertical-align":"-3px"}}),i[0]||(i[0]=_(" วิธีฝึก",-1))]),i[1]||(i[1]=t("ol",{style:{margin:"8px 0 0","padding-left":"20px","line-height":"1.8"}},[t("li",null,"เลือกลูกค้าจำลอง (บุคคลต้นแบบ) คนหนึ่งที่อยากฝึกด้วย"),t("li",null,"ระดับ A ง่ายสุด → ระดับ C ยากสุด (ดูจากดาว ★ ความยาก)"),t("li",null,"กดปุ่มสำหรับฝึกแชทกับลูกค้าคนนั้น (ฝึกได้คนละครั้งเท่านั้น)")],-1))])),e(g).isAdmin?(a(),r("div",M,[d(u,{to:`/admin/groups/${e(c)}/edit`},{default:m(()=>[t("button",R,[d(e(I),{size:18,"stroke-width":1.8}),_(" "+s(e(n).t("managePersonas")),1)])]),_:1},8,["to"]),i[2]||(i[2]=t("span",{class:"muted"},"Admin: จัดการรายละเอียดบุคคลต้นแบบได้ที่นี่",-1))])):w("",!0),(a(),r(y,null,p(["A","B","C"],f=>t("div",{key:f,style:{margin:"20px 0"}},[t("h4",null,s(P(f)),1),t("div",G,[(a(!0),r(y,null,p(z(f),o=>(a(),r("div",{key:o.id,class:"card pcard lift"},[t("div",H,[t("strong",null,s(o.name),1),t("span",{class:h(["badge",o.my_outcome])},s(v(o.my_outcome)),3)]),t("div",J,[(a(),r(y,null,p(5,x=>t("span",{key:x,class:h(["star",{on:x<=(o.difficulty||1)}])},"★",2)),64)),t("span",K,s(e(n).t("difficulty"))+" "+s(o.difficulty||1)+"/5",1)]),t("div",O,[_(s(o.profession)+" · "+s(o.age_group)+" · "+s(o.location),1),i[3]||(i[3]=t("br",null,null,-1)),t("span",{class:h(["badge",o.channel])},s(o.channel),3),t("span",Q," · "+s(o.initiation_mode==="seller"?e(n).t("sellerInitiated"):e(n).t("customerInitiated")),1)]),t("div",U,s(o.product_context),1),e(g).isAdmin?(a(),A(u,{key:0,to:`/groups/${e(c)}/chat/${o.id}`,style:{"margin-top":"auto"}},{default:m(()=>[t("button",W,s(e(n).t("chat")),1)]),_:1},8,["to"])):(a(),r(y,{key:1},[o.my_outcome==="not_tried"?(a(),A(u,{key:0,to:`/groups/${e(c)}/chat/${o.id}`,style:{"margin-top":"auto"}},{default:m(()=>[t("button",X,s(e(n).t("chat")),1)]),_:1},8,["to"])):(a(),r("div",Y,"✓ "+s(e(n).t("trained"))+" ("+s(v(o.my_outcome))+")",1))],64))]))),128))])])),64))])}}},at=T(Z,[["__scopeId","data-v-46d50c99"]]);export{at as default}; +import{_ as T,l as $,c as r,m as d,n as m,a as t,t as s,u as e,i as n,f as g,j as _,e as w,F as y,q as p,h as L,s as N,x as V,r as b,o as a,S as I,A as h,B as A}from"./index-C0_i8cDF.js";import{T as S}from"./target-DoOGVGr0.js";import{A as j}from"./arrow-left-neyuEczm.js";const F={class:"row",style:{"align-items":"center"}},q={style:{margin:"0"}},D={class:"muted",style:{"margin-left":"auto"}},E={key:0,class:"card guide"},M={key:1,class:"row",style:{margin:"12px 0",gap:"10px"}},R={class:"primary"},G={class:"grid"},H={class:"row",style:{"justify-content":"space-between"}},J={class:"diff"},K={class:"muted"},O={class:"muted"},Q={class:"muted"},U={class:"muted",style:{"margin-top":"6px"}},W={class:"primary",style:{width:"100%"}},X={class:"primary",style:{width:"100%"}},Y={key:1,class:"muted",style:{"margin-top":"auto","font-size":"12px"}},Z={__name:"Personas",setup(tt){const c=L().params.gid,k=b([]),B=b(!0);async function C(){try{k.value=(await N.listPersonas(c)).personas}finally{B.value=!1}}function z(l){return k.value.filter(i=>i.tier===l)}function P(l){return n.t(l==="A"?"tierA":l==="B"?"tierB":"tierC")}function v(l){return l==="won"?n.t("won"):l==="lost"?n.t("lost"):n.t("notTried")}return $(C),(l,i)=>{const u=V("router-link");return a(),r("div",null,[d(u,{to:"/training",class:"btn-back"},{default:m(()=>[d(e(j),{size:16,"stroke-width":2}),_(" "+s(e(n).t("training")),1)]),_:1}),t("div",F,[t("h2",q,s(e(n).t("personas")),1),t("span",D,s(e(n).t("selectPersona")),1)]),e(g).isAdmin?w("",!0):(a(),r("div",E,[t("strong",null,[d(e(S),{size:17,"stroke-width":1.8,style:{"vertical-align":"-3px"}}),i[0]||(i[0]=_(" วิธีฝึก",-1))]),i[1]||(i[1]=t("ol",{style:{margin:"8px 0 0","padding-left":"20px","line-height":"1.8"}},[t("li",null,"เลือกลูกค้าจำลอง (บุคคลต้นแบบ) คนหนึ่งที่อยากฝึกด้วย"),t("li",null,"ระดับ A ง่ายสุด → ระดับ C ยากสุด (ดูจากดาว ★ ความยาก)"),t("li",null,"กดปุ่มสำหรับฝึกแชทกับลูกค้าคนนั้น (ฝึกได้คนละครั้งเท่านั้น)")],-1))])),e(g).isAdmin?(a(),r("div",M,[d(u,{to:`/admin/groups/${e(c)}/edit`},{default:m(()=>[t("button",R,[d(e(I),{size:18,"stroke-width":1.8}),_(" "+s(e(n).t("managePersonas")),1)])]),_:1},8,["to"]),i[2]||(i[2]=t("span",{class:"muted"},"Admin: จัดการรายละเอียดบุคคลต้นแบบได้ที่นี่",-1))])):w("",!0),(a(),r(y,null,p(["A","B","C"],f=>t("div",{key:f,style:{margin:"20px 0"}},[t("h4",null,s(P(f)),1),t("div",G,[(a(!0),r(y,null,p(z(f),o=>(a(),r("div",{key:o.id,class:"card pcard lift"},[t("div",H,[t("strong",null,s(o.name),1),t("span",{class:h(["badge",o.my_outcome])},s(v(o.my_outcome)),3)]),t("div",J,[(a(),r(y,null,p(5,x=>t("span",{key:x,class:h(["star",{on:x<=(o.difficulty||1)}])},"★",2)),64)),t("span",K,s(e(n).t("difficulty"))+" "+s(o.difficulty||1)+"/5",1)]),t("div",O,[_(s(o.profession)+" · "+s(o.age_group)+" · "+s(o.location),1),i[3]||(i[3]=t("br",null,null,-1)),t("span",{class:h(["badge",o.channel])},s(o.channel),3),t("span",Q," · "+s(o.initiation_mode==="seller"?e(n).t("sellerInitiated"):e(n).t("customerInitiated")),1)]),t("div",U,s(o.product_context),1),e(g).isAdmin?(a(),A(u,{key:0,to:`/groups/${e(c)}/chat/${o.id}`,style:{"margin-top":"auto"}},{default:m(()=>[t("button",W,s(e(n).t("chat")),1)]),_:1},8,["to"])):(a(),r(y,{key:1},[o.my_outcome==="not_tried"?(a(),A(u,{key:0,to:`/groups/${e(c)}/chat/${o.id}`,style:{"margin-top":"auto"}},{default:m(()=>[t("button",X,s(e(n).t("chat")),1)]),_:1},8,["to"])):(a(),r("div",Y,"✓ "+s(e(n).t("trained"))+" ("+s(v(o.my_outcome))+")",1))],64))]))),128))])])),64))])}}},at=T(Z,[["__scopeId","data-v-46d50c99"]]);export{at as default}; diff --git a/frontend/dist/assets/Settings-Dj9-KtaZ.js b/frontend/dist/assets/Settings-BvwfMyfH.js similarity index 99% rename from frontend/dist/assets/Settings-Dj9-KtaZ.js rename to frontend/dist/assets/Settings-BvwfMyfH.js index 28a26e0..fbfd187 100644 --- a/frontend/dist/assets/Settings-Dj9-KtaZ.js +++ b/frontend/dist/assets/Settings-BvwfMyfH.js @@ -1,4 +1,4 @@ -import{k as z,_ as T,r as c,f as i,c as h,a as e,m as k,u as a,S as $,j as v,t as o,i as s,w as x,v as b,e as V,A as S,s as U,o as w}from"./index-Dm2VwslH.js";/** +import{k as z,_ as T,r as c,f as i,c as h,a as e,m as k,u as a,S as $,j as v,t as o,i as s,w as x,v as b,e as V,A as S,s as U,o as w}from"./index-C0_i8cDF.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/Setup-wKkPjOAn.js b/frontend/dist/assets/Setup-D1N6f_I9.js similarity index 96% rename from frontend/dist/assets/Setup-wKkPjOAn.js rename to frontend/dist/assets/Setup-D1N6f_I9.js index 95fd027..691e416 100644 --- a/frontend/dist/assets/Setup-wKkPjOAn.js +++ b/frontend/dist/assets/Setup-D1N6f_I9.js @@ -1 +1 @@ -import{_ as x,c as v,a as e,t,u as s,i as a,j as S,f as _,w,v as f,b as y,e as V,r,g as K,o as m}from"./index-Dm2VwslH.js";const T={class:"setup-wrap"},B={class:"card setup-card"},N={class:"muted"},U={key:0,class:"error",role:"alert"},C=["disabled"],D={key:0,class:"spinner"},M={key:1},P={__name:"Setup",setup(j){const k=K(),i=r(""),l=r(""),p=r(""),o=r(""),d=r(!1);async function c(){if(o.value="",l.value.length<4){o.value=a.t("passwordTooShort");return}if(l.value!==p.value){o.value=a.t("passwordMismatch");return}d.value=!0;try{await _.finishSetup(i.value.trim(),l.value),k.push("/")}catch(h){o.value=h.message}finally{d.value=!1}}return(h,u)=>{var b,g;return m(),v("div",T,[e("div",B,[e("h1",null,"🔐 "+t(s(a).t("setupTitle")),1),e("p",N,[S(t(s(a).t("setupSubtitle"))+" ",1),e("strong",null,t(((b=s(_).user)==null?void 0:b.name)||((g=s(_).user)==null?void 0:g.username)),1)]),e("label",null,t(s(a).t("email")),1),w(e("input",{"onUpdate:modelValue":u[0]||(u[0]=n=>i.value=n),type:"email",autocomplete:"email",onKeyup:y(c,["enter"])},null,544),[[f,i.value]]),e("label",null,t(s(a).t("newPassword")),1),w(e("input",{"onUpdate:modelValue":u[1]||(u[1]=n=>l.value=n),type:"password",autocomplete:"new-password",onKeyup:y(c,["enter"])},null,544),[[f,l.value]]),e("label",null,t(s(a).t("confirmPassword")),1),w(e("input",{"onUpdate:modelValue":u[2]||(u[2]=n=>p.value=n),type:"password",autocomplete:"new-password",onKeyup:y(c,["enter"])},null,544),[[f,p.value]]),o.value?(m(),v("div",U,t(o.value),1)):V("",!0),e("button",{class:"primary",style:{width:"100%","margin-top":"16px"},disabled:d.value||!i.value||!l.value||l.value!==p.value,onClick:c},[d.value?(m(),v("span",D)):(m(),v("span",M,t(s(a).t("save")),1))],8,C)])])}}},I=x(P,[["__scopeId","data-v-f190e120"]]);export{I as default}; +import{_ as x,c as v,a as e,t,u as s,i as a,j as S,f as _,w,v as f,b as y,e as V,r,g as K,o as m}from"./index-C0_i8cDF.js";const T={class:"setup-wrap"},B={class:"card setup-card"},N={class:"muted"},U={key:0,class:"error",role:"alert"},C=["disabled"],D={key:0,class:"spinner"},M={key:1},P={__name:"Setup",setup(j){const k=K(),i=r(""),l=r(""),p=r(""),o=r(""),d=r(!1);async function c(){if(o.value="",l.value.length<4){o.value=a.t("passwordTooShort");return}if(l.value!==p.value){o.value=a.t("passwordMismatch");return}d.value=!0;try{await _.finishSetup(i.value.trim(),l.value),k.push("/")}catch(h){o.value=h.message}finally{d.value=!1}}return(h,u)=>{var b,g;return m(),v("div",T,[e("div",B,[e("h1",null,"🔐 "+t(s(a).t("setupTitle")),1),e("p",N,[S(t(s(a).t("setupSubtitle"))+" ",1),e("strong",null,t(((b=s(_).user)==null?void 0:b.name)||((g=s(_).user)==null?void 0:g.username)),1)]),e("label",null,t(s(a).t("email")),1),w(e("input",{"onUpdate:modelValue":u[0]||(u[0]=n=>i.value=n),type:"email",autocomplete:"email",onKeyup:y(c,["enter"])},null,544),[[f,i.value]]),e("label",null,t(s(a).t("newPassword")),1),w(e("input",{"onUpdate:modelValue":u[1]||(u[1]=n=>l.value=n),type:"password",autocomplete:"new-password",onKeyup:y(c,["enter"])},null,544),[[f,l.value]]),e("label",null,t(s(a).t("confirmPassword")),1),w(e("input",{"onUpdate:modelValue":u[2]||(u[2]=n=>p.value=n),type:"password",autocomplete:"new-password",onKeyup:y(c,["enter"])},null,544),[[f,p.value]]),o.value?(m(),v("div",U,t(o.value),1)):V("",!0),e("button",{class:"primary",style:{width:"100%","margin-top":"16px"},disabled:d.value||!i.value||!l.value||l.value!==p.value,onClick:c},[d.value?(m(),v("span",D)):(m(),v("span",M,t(s(a).t("save")),1))],8,C)])])}}},I=x(P,[["__scopeId","data-v-f190e120"]]);export{I as default}; diff --git a/frontend/dist/assets/Training-B1zIgzFu.js b/frontend/dist/assets/Training-CsBkF1Lz.js similarity index 93% rename from frontend/dist/assets/Training-B1zIgzFu.js rename to frontend/dist/assets/Training-CsBkF1Lz.js index 9644be7..a0a3293 100644 --- a/frontend/dist/assets/Training-B1zIgzFu.js +++ b/frontend/dist/assets/Training-CsBkF1Lz.js @@ -1 +1 @@ -import{_ as w,l as b,s as A,f as d,c as l,a as t,m as c,u as s,j as _,t as e,i as n,n as m,B as h,e as f,F as B,q as C,r as g,x as N,o as i,A as k}from"./index-Dm2VwslH.js";import{T as P}from"./target-CliUY7kC.js";import{B as T}from"./book-open-x8tSBc1t.js";import{P as z}from"./plus-CAyBY_kw.js";const V={class:"row",style:{"align-items":"center","margin-bottom":"16px"}},j={style:{margin:"0"}},F={class:"row",style:{"margin-left":"auto",gap:"10px"}},L={class:"soft"},S={class:"primary"},$={class:"muted"},q={key:0,class:"card",style:{"min-height":"80px"}},D={key:1,class:"card empty-state"},E={key:0},G={key:1},I={class:"grid"},M={class:"card lift train-card"},O={class:"row",style:{"justify-content":"space-between"}},H={class:"muted",style:{margin:"6px 0 12px"}},J={class:"row",style:{gap:"8px"}},K={class:"muted"},Q={class:"primary",style:{width:"100%","margin-top":"12px"}},R={__name:"Training",setup(U){const u=g([]),y=g(!0);function v(a){return a.sales_kit&&a.sales_kit.productName||a.input&&a.input.product||""}function x(a){return a.personas||a.persona_count||0}return b(async()=>{try{const a=(await A.listGroups()).groups||[];u.value=d.isAdmin?a:a.filter(r=>r.status==="ready")}finally{y.value=!1}}),(a,r)=>{const p=N("router-link");return i(),l("div",null,[t("div",V,[t("h2",j,[c(s(P),{size:22,"stroke-width":1.8,style:{"vertical-align":"-4px"}}),_(" "+e(s(n).t("training")),1)]),t("div",F,[c(p,{to:"/guide"},{default:m(()=>[t("button",L,[c(s(T),{size:18,"stroke-width":1.8}),r[0]||(r[0]=_(" คู่มือ",-1))])]),_:1}),s(d).isAdmin?(i(),h(p,{key:0,to:"/admin/new-group"},{default:m(()=>[t("button",S,[c(s(z),{size:18,"stroke-width":2}),_(" "+e(s(n).t("addProduct")),1)])]),_:1})):f("",!0)])]),t("p",$,e(s(n).t("trainingSubtitle")),1),y.value?(i(),l("div",q,[...r[1]||(r[1]=[t("div",{class:"skeleton",style:{height:"50px"}},null,-1)])])):u.value.length===0?(i(),l("div",D,[t("strong",null,e(s(n).t("noTraining")),1),s(d).isAdmin?(i(),l("span",E,'Click "'+e(s(n).t("addProduct"))+'" to create a persona group.',1)):(i(),l("span",G,"Ask an admin to create a persona group first."))])):f("",!0),t("div",I,[(i(!0),l(B,null,C(u.value,o=>(i(),h(p,{key:o.id,to:s(d).isAdmin?`/admin/groups/${o.id}/edit`:`/groups/${o.id}/personas`,style:{"text-decoration":"none"}},{default:m(()=>[t("div",M,[t("div",O,[t("strong",null,e(o.title),1),t("span",{class:k(["badge",o.status==="ready"?"ready":"draft"])},e(o.status),3)]),t("div",H,e(v(o)),1),t("div",J,[t("span",{class:k(["badge",o.channel||"line"])},e(o.channel||"line"),3),t("span",K,e(x(o))+" "+e(s(n).t("personas").toLowerCase()),1)]),t("button",Q,e(s(d).isAdmin?o.status==="ready"?s(n).t("managePersonas"):s(n).t("analyze"):s(n).t("selectPersona")),1)])]),_:2},1032,["to"]))),128))])])}}},tt=w(R,[["__scopeId","data-v-e39df241"]]);export{tt as default}; +import{_ as w,l as b,s as A,f as d,c as l,a as t,m as c,u as s,j as _,t as e,i as n,n as m,B as h,e as f,F as B,q as C,r as g,x as N,o as i,A as k}from"./index-C0_i8cDF.js";import{T as P}from"./target-DoOGVGr0.js";import{B as T}from"./book-open-E7lWrK45.js";import{P as z}from"./plus-BiLb0OIF.js";const V={class:"row",style:{"align-items":"center","margin-bottom":"16px"}},j={style:{margin:"0"}},F={class:"row",style:{"margin-left":"auto",gap:"10px"}},L={class:"soft"},S={class:"primary"},$={class:"muted"},q={key:0,class:"card",style:{"min-height":"80px"}},D={key:1,class:"card empty-state"},E={key:0},G={key:1},I={class:"grid"},M={class:"card lift train-card"},O={class:"row",style:{"justify-content":"space-between"}},H={class:"muted",style:{margin:"6px 0 12px"}},J={class:"row",style:{gap:"8px"}},K={class:"muted"},Q={class:"primary",style:{width:"100%","margin-top":"12px"}},R={__name:"Training",setup(U){const u=g([]),y=g(!0);function v(a){return a.sales_kit&&a.sales_kit.productName||a.input&&a.input.product||""}function x(a){return a.personas||a.persona_count||0}return b(async()=>{try{const a=(await A.listGroups()).groups||[];u.value=d.isAdmin?a:a.filter(r=>r.status==="ready")}finally{y.value=!1}}),(a,r)=>{const p=N("router-link");return i(),l("div",null,[t("div",V,[t("h2",j,[c(s(P),{size:22,"stroke-width":1.8,style:{"vertical-align":"-4px"}}),_(" "+e(s(n).t("training")),1)]),t("div",F,[c(p,{to:"/guide"},{default:m(()=>[t("button",L,[c(s(T),{size:18,"stroke-width":1.8}),r[0]||(r[0]=_(" คู่มือ",-1))])]),_:1}),s(d).isAdmin?(i(),h(p,{key:0,to:"/admin/new-group"},{default:m(()=>[t("button",S,[c(s(z),{size:18,"stroke-width":2}),_(" "+e(s(n).t("addProduct")),1)])]),_:1})):f("",!0)])]),t("p",$,e(s(n).t("trainingSubtitle")),1),y.value?(i(),l("div",q,[...r[1]||(r[1]=[t("div",{class:"skeleton",style:{height:"50px"}},null,-1)])])):u.value.length===0?(i(),l("div",D,[t("strong",null,e(s(n).t("noTraining")),1),s(d).isAdmin?(i(),l("span",E,'Click "'+e(s(n).t("addProduct"))+'" to create a persona group.',1)):(i(),l("span",G,"Ask an admin to create a persona group first."))])):f("",!0),t("div",I,[(i(!0),l(B,null,C(u.value,o=>(i(),h(p,{key:o.id,to:s(d).isAdmin?`/admin/groups/${o.id}/edit`:`/groups/${o.id}/personas`,style:{"text-decoration":"none"}},{default:m(()=>[t("div",M,[t("div",O,[t("strong",null,e(o.title),1),t("span",{class:k(["badge",o.status==="ready"?"ready":"draft"])},e(o.status),3)]),t("div",H,e(v(o)),1),t("div",J,[t("span",{class:k(["badge",o.channel||"line"])},e(o.channel||"line"),3),t("span",K,e(x(o))+" "+e(s(n).t("personas").toLowerCase()),1)]),t("button",Q,e(s(d).isAdmin?o.status==="ready"?s(n).t("managePersonas"):s(n).t("analyze"):s(n).t("selectPersona")),1)])]),_:2},1032,["to"]))),128))])])}}},tt=w(R,[["__scopeId","data-v-e39df241"]]);export{tt as default}; diff --git a/frontend/dist/assets/arrow-left-Cm4VHcqz.js b/frontend/dist/assets/arrow-left-neyuEczm.js similarity index 86% rename from frontend/dist/assets/arrow-left-Cm4VHcqz.js rename to frontend/dist/assets/arrow-left-neyuEczm.js index f178b19..84c5863 100644 --- a/frontend/dist/assets/arrow-left-Cm4VHcqz.js +++ b/frontend/dist/assets/arrow-left-neyuEczm.js @@ -1,4 +1,4 @@ -import{k as e}from"./index-Dm2VwslH.js";/** +import{k as e}from"./index-C0_i8cDF.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/book-open-x8tSBc1t.js b/frontend/dist/assets/book-open-E7lWrK45.js similarity index 90% rename from frontend/dist/assets/book-open-x8tSBc1t.js rename to frontend/dist/assets/book-open-E7lWrK45.js index efb2678..dbb4b51 100644 --- a/frontend/dist/assets/book-open-x8tSBc1t.js +++ b/frontend/dist/assets/book-open-E7lWrK45.js @@ -1,4 +1,4 @@ -import{k as a}from"./index-Dm2VwslH.js";/** +import{k as a}from"./index-C0_i8cDF.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/index-B9WjPRES.css b/frontend/dist/assets/index-B9WjPRES.css new file mode 100644 index 0000000..eb36dda --- /dev/null +++ b/frontend/dist/assets/index-B9WjPRES.css @@ -0,0 +1 @@ +.topnav[data-v-f29a3a4f]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand[data-v-f29a3a4f]{font-weight:800;text-decoration:none;color:var(--ink);white-space:nowrap}.tabs[data-v-f29a3a4f]{display:flex;gap:4px;flex-wrap:wrap}.tab[data-v-f29a3a4f]{text-decoration:none;color:var(--muted);padding:8px 16px;border-radius:10px;font-weight:600;font-size:14px;white-space:nowrap}.tab[data-v-f29a3a4f]:hover{background:#f1f3f9;color:var(--ink)}.tab.active[data-v-f29a3a4f]{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.nav-right[data-v-f29a3a4f]{display:flex;align-items:center;gap:8px}.lang[data-v-f29a3a4f],.logout-btn[data-v-f29a3a4f]{padding:8px 12px}.logout-btn[data-v-f29a3a4f]{display:inline-flex;align-items:center;gap:6px}.icon-btn[data-v-f29a3a4f]{text-decoration:none;display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;color:var(--ink)}.icon-btn[data-v-f29a3a4f]:hover{background:#f1f3f9}.main[data-v-f29a3a4f]{max-width:1080px;margin:0 auto;padding:24px}@media (max-width: 640px){.topnav[data-v-f29a3a4f]{padding:8px 10px;gap:8px}.brand[data-v-f29a3a4f]{font-size:14px}.tabs[data-v-f29a3a4f]{order:3;width:100%;justify-content:center}.tab[data-v-f29a3a4f]{padding:6px 10px;font-size:12px;flex:1;text-align:center}.nav-right[data-v-f29a3a4f]{margin-left:auto}.lang[data-v-f29a3a4f]{padding:6px 8px;font-size:12px}.logout-btn[data-v-f29a3a4f]{padding:6px 8px}.logout-btn .txt[data-v-f29a3a4f]{display:none}}@media (max-width: 380px){.brand[data-v-f29a3a4f]{display:none}}:root{--bg: #f6f7fb;--card: #ffffff;--border: #e5e8ef;--ink: #1a1d29;--muted: #6b7280;--accent: #4f46e5;--accent-2: #7c3aed;--green: #16a34a;--red: #dc2626;--amber: #d97706;--radius: 14px;--shadow: 0 1px 3px rgba(20, 24, 40, .08)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans Thai,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}#app{min-height:100vh}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}button{font-family:inherit;cursor:pointer;border:1px solid var(--border);background:var(--card);padding:10px 16px;border-radius:10px;font-size:14px;color:var(--ink)}button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:14px}label{font-size:13px;color:var(--muted);display:block;margin:10px 0 4px}.row{display:flex;gap:12px;flex-wrap:wrap}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.A{background:#dcfce7;color:#166534}.badge.B{background:#fef9c3;color:#854d0e}.badge.C{background:#fee2e2;color:#991b1b}.badge.won{background:#dcfce7;color:#166534}.badge.lost{background:#fee2e2;color:#991b1b}.badge.not_tried{background:#eef2ff;color:#4338ca}.error{color:var(--red);font-size:13px}.muted{color:var(--muted)}.msg-seller{background:var(--accent);color:#fff;align-self:flex-end;border-radius:16px 16px 4px}.msg-customer{background:#fff;align-self:flex-start;border-radius:16px 16px 16px 4px;border:1px solid var(--border)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit}a:focus{outline:2px solid var(--accent);outline-offset:2px}button{min-height:44px;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:not(:disabled):hover{box-shadow:0 4px 12px #1418281a}button:not(:disabled):active{transform:scale(.97)}button.primary:not(:disabled):hover{box-shadow:0 6px 18px #4f46e559}button.soft{background:#f1f3f9;border-color:transparent;color:var(--ink)}button.soft:not(:disabled):hover{background:#e6eaf3}button svg,.icon-btn svg,.brand svg{vertical-align:-2px}input,select,textarea{min-height:44px;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e526}textarea{min-height:88px;resize:vertical}.card.lift{transition:transform .2s ease,box-shadow .25s ease}.card.lift:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1418281a}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;margin-bottom:12px;background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:13px;text-decoration:none}.btn-back:hover{color:var(--ink);border-color:var(--accent)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:8px;background:linear-gradient(90deg,#eef0f5 25%,#e2e5ec 37%,#eef0f5 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.empty-state strong{display:block;margin-bottom:4px;color:var(--ink)}.field-error{color:var(--red);font-size:12px;margin-top:4px}@media (max-width: 640px){.main{padding:16px}.row{gap:10px}.msg-seller,.msg-customer{max-width:84%}.stat-row>.card,.row.stat>.card{flex:1 1 40%;text-align:center}.stat div{text-align:center}}@media (max-width: 460px){.row.stat,.stat-row,.row.stat-row{justify-content:center}.stat-row>.card{min-width:42%}} diff --git a/frontend/dist/assets/index-Bu7f-IE2.css b/frontend/dist/assets/index-Bu7f-IE2.css deleted file mode 100644 index 76c2cfe..0000000 --- a/frontend/dist/assets/index-Bu7f-IE2.css +++ /dev/null @@ -1 +0,0 @@ -.topnav[data-v-25816f6a]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 24px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10;flex-wrap:wrap}.brand[data-v-25816f6a]{font-weight:800;text-decoration:none;color:var(--ink);white-space:nowrap}.tabs[data-v-25816f6a]{display:flex;gap:4px;flex-wrap:wrap}.tab[data-v-25816f6a]{text-decoration:none;color:var(--muted);padding:8px 16px;border-radius:10px;font-weight:600;font-size:14px;white-space:nowrap}.tab[data-v-25816f6a]:hover{background:#f1f3f9;color:var(--ink)}.tab.active[data-v-25816f6a]{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff}.nav-right[data-v-25816f6a]{display:flex;align-items:center;gap:8px}.lang[data-v-25816f6a],.logout-btn[data-v-25816f6a]{padding:8px 12px}.logout-btn[data-v-25816f6a]{display:inline-flex;align-items:center;gap:6px}.icon-btn[data-v-25816f6a]{text-decoration:none;display:inline-flex;align-items:center;padding:6px 10px;border-radius:8px;color:var(--ink)}.icon-btn[data-v-25816f6a]:hover{background:#f1f3f9}.main[data-v-25816f6a]{max-width:1080px;margin:0 auto;padding:24px}@media (max-width: 640px){.topnav[data-v-25816f6a]{padding:10px 12px}.tab[data-v-25816f6a]{padding:8px 12px;font-size:13px}.logout-btn span[data-v-25816f6a]{display:none}}:root{--bg: #f6f7fb;--card: #ffffff;--border: #e5e8ef;--ink: #1a1d29;--muted: #6b7280;--accent: #4f46e5;--accent-2: #7c3aed;--green: #16a34a;--red: #dc2626;--amber: #d97706;--radius: 14px;--shadow: 0 1px 3px rgba(20, 24, 40, .08)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans Thai,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5}#app{min-height:100vh}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}button{font-family:inherit;cursor:pointer;border:1px solid var(--border);background:var(--card);padding:10px 16px;border-radius:10px;font-size:14px;color:var(--ink)}button.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:14px}label{font-size:13px;color:var(--muted);display:block;margin:10px 0 4px}.row{display:flex;gap:12px;flex-wrap:wrap}.badge{display:inline-block;padding:2px 10px;border-radius:999px;font-size:12px;font-weight:600}.badge.A{background:#dcfce7;color:#166534}.badge.B{background:#fef9c3;color:#854d0e}.badge.C{background:#fee2e2;color:#991b1b}.badge.won{background:#dcfce7;color:#166534}.badge.lost{background:#fee2e2;color:#991b1b}.badge.not_tried{background:#eef2ff;color:#4338ca}.error{color:var(--red);font-size:13px}.muted{color:var(--muted)}.msg-seller{background:var(--accent);color:#fff;align-self:flex-end;border-radius:16px 16px 4px}.msg-customer{background:#fff;align-self:flex-start;border-radius:16px 16px 16px 4px;border:1px solid var(--border)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit}a:focus{outline:2px solid var(--accent);outline-offset:2px}button{min-height:44px;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}button:not(:disabled):hover{box-shadow:0 4px 12px #1418281a}button:not(:disabled):active{transform:scale(.97)}button.primary:not(:disabled):hover{box-shadow:0 6px 18px #4f46e559}button.soft{background:#f1f3f9;border-color:transparent;color:var(--ink)}button.soft:not(:disabled):hover{background:#e6eaf3}button svg,.icon-btn svg,.brand svg{vertical-align:-2px}input,select,textarea{min-height:44px;transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4f46e526}textarea{min-height:88px;resize:vertical}.card.lift{transition:transform .2s ease,box-shadow .25s ease}.card.lift:hover{transform:translateY(-2px);box-shadow:0 10px 24px #1418281a}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-back{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;margin-bottom:12px;background:transparent;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:13px;text-decoration:none}.btn-back:hover{color:var(--ink);border-color:var(--accent)}.spinner{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{border-radius:8px;background:linear-gradient(90deg,#eef0f5 25%,#e2e5ec 37%,#eef0f5 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.empty-state{text-align:center;padding:40px 20px;color:var(--muted)}.empty-state strong{display:block;margin-bottom:4px;color:var(--ink)}.field-error{color:var(--red);font-size:12px;margin-top:4px}@media (max-width: 640px){.main{padding:16px}.row{gap:10px}.msg-seller,.msg-customer{max-width:84%}} diff --git a/frontend/dist/assets/index-Dm2VwslH.js b/frontend/dist/assets/index-C0_i8cDF.js similarity index 90% rename from frontend/dist/assets/index-Dm2VwslH.js rename to frontend/dist/assets/index-C0_i8cDF.js index f718a53..2a9d95f 100644 --- a/frontend/dist/assets/index-Dm2VwslH.js +++ b/frontend/dist/assets/index-C0_i8cDF.js @@ -1,30 +1,30 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Login-ezlK-w_A.js","assets/Login-D3svPLnW.css","assets/Setup-wKkPjOAn.js","assets/Setup-BdS_6JlN.css","assets/Analytics-BGRP-tme.js","assets/users-ksNXFlzl.js","assets/plus-CAyBY_kw.js","assets/Analytics-CQgwlaXy.css","assets/MyBoard-EoWaU1ds.js","assets/layout-dashboard-LQG3ldGP.js","assets/MyBoard-B7ypQ1JT.css","assets/Training-B1zIgzFu.js","assets/target-CliUY7kC.js","assets/book-open-x8tSBc1t.js","assets/Training-BYBkfggr.css","assets/Personas-BW6YLess.js","assets/arrow-left-Cm4VHcqz.js","assets/Personas-CskAUbZv.css","assets/Chat-C6Malw3d.js","assets/Chat-Dhsij-Zk.css","assets/Settings-Dj9-KtaZ.js","assets/Settings-BCN2EZQ5.css","assets/Guide-B7hY6F8k.js","assets/sparkles-BXnC3-RA.js","assets/GroupBuilder-Fv2uZV_O.js","assets/GroupBuilder-CpbMByEC.css","assets/GroupEdit-CL_6gtfe.js","assets/GroupEdit-D9lmggXK.css","assets/AdminUsers-CCNtingM.js","assets/AdminUsers-B0sl0uHS.css"])))=>i.map(i=>d[i]); +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Login-vrbZzr6f.js","assets/Login-D3svPLnW.css","assets/Setup-D1N6f_I9.js","assets/Setup-BdS_6JlN.css","assets/Analytics-z04-C_VZ.js","assets/users-qxBh6IGP.js","assets/plus-BiLb0OIF.js","assets/Analytics-CQgwlaXy.css","assets/MyBoard-UPzqfwhQ.js","assets/layout-dashboard-C4nLoaIz.js","assets/MyBoard-B7ypQ1JT.css","assets/Training-CsBkF1Lz.js","assets/target-DoOGVGr0.js","assets/book-open-E7lWrK45.js","assets/Training-BYBkfggr.css","assets/Personas-Dl-F3CRY.js","assets/arrow-left-neyuEczm.js","assets/Personas-CskAUbZv.css","assets/Chat-DvLKhxgu.js","assets/Chat-Dhsij-Zk.css","assets/Settings-BvwfMyfH.js","assets/Settings-BCN2EZQ5.css","assets/Guide-D6Cvcccc.js","assets/sparkles-D66jVNJm.js","assets/GroupBuilder-DYRYwsrA.js","assets/GroupBuilder-CpbMByEC.css","assets/GroupEdit-DsLJeZZx.js","assets/GroupEdit-D9lmggXK.css","assets/AdminUsers-Cv-dZx8g.js","assets/AdminUsers-B0sl0uHS.css"])))=>i.map(i=>d[i]); (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&s(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function s(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();/** * @vue/shared v3.5.41 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function js(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},Ut=[],Ye=()=>{},ui=()=>!1,Wn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),qn=e=>e.startsWith("onUpdate:"),de=Object.assign,ks=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Lo=Object.prototype.hasOwnProperty,W=(e,t)=>Lo.call(e,t),V=Array.isArray,Bt=e=>Sn(e)==="[object Map]",Yt=e=>Sn(e)==="[object Set]",ur=e=>Sn(e)==="[object Date]",B=e=>typeof e=="function",se=e=>typeof e=="string",Je=e=>typeof e=="symbol",q=e=>e!==null&&typeof e=="object",fi=e=>(q(e)||B(e))&&B(e.then)&&B(e.catch),di=Object.prototype.toString,Sn=e=>di.call(e),Vo=e=>Sn(e).slice(8,-1),hi=e=>Sn(e)==="[object Object]",Gs=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,cn=js(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Fo=/-\w/g,ve=zn(e=>e.replace(Fo,t=>t.slice(1).toUpperCase())),Ho=/\B([A-Z])/g,vt=zn(e=>e.replace(Ho,"-$1").toLowerCase()),Yn=zn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ls=zn(e=>e?`on${Yn(e)}`:""),ze=(e,t)=>!Object.is(e,t),In=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Jn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let fr;const Qn=()=>fr||(fr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ks(e){if(V(e)){const t={};for(let n=0;n{if(n){const s=n.split(Bo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function jt(e){let t="";if(se(e))t=e;else if(V(e))for(let n=0;n_t(n,t))}const mi=e=>!!(e&&e.__v_isRef===!0),At=e=>se(e)?e:e==null?"":V(e)||q(e)&&(e.toString===di||!B(e.toString))?mi(e)?At(e.value):JSON.stringify(e,_i,2):String(e),_i=(e,t)=>mi(t)?_i(e,t.value):Bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[cs(s,i)+" =>"]=r,n),{})}:Yt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>cs(n))}:Je(t)?cs(t):q(t)&&!V(t)&&!hi(t)?String(t):t,cs=(e,t="")=>{var n;return Je(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +**/function js(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const X={},Ut=[],Ye=()=>{},ui=()=>!1,Wn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),qn=e=>e.startsWith("onUpdate:"),de=Object.assign,ks=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Lo=Object.prototype.hasOwnProperty,W=(e,t)=>Lo.call(e,t),V=Array.isArray,Bt=e=>Sn(e)==="[object Map]",Yt=e=>Sn(e)==="[object Set]",ur=e=>Sn(e)==="[object Date]",B=e=>typeof e=="function",se=e=>typeof e=="string",Je=e=>typeof e=="symbol",q=e=>e!==null&&typeof e=="object",fi=e=>(q(e)||B(e))&&B(e.then)&&B(e.catch),di=Object.prototype.toString,Sn=e=>di.call(e),Vo=e=>Sn(e).slice(8,-1),hi=e=>Sn(e)==="[object Object]",Gs=e=>se(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,cn=js(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),zn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Fo=/-\w/g,ve=zn(e=>e.replace(Fo,t=>t.slice(1).toUpperCase())),Ho=/\B([A-Z])/g,bt=zn(e=>e.replace(Ho,"-$1").toLowerCase()),Yn=zn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ls=zn(e=>e?`on${Yn(e)}`:""),ze=(e,t)=>!Object.is(e,t),In=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Jn=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let fr;const Qn=()=>fr||(fr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ks(e){if(V(e)){const t={};for(let n=0;n{if(n){const s=n.split(Bo);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function jt(e){let t="";if(se(e))t=e;else if(V(e))for(let n=0;nyt(n,t))}const mi=e=>!!(e&&e.__v_isRef===!0),Rt=e=>se(e)?e:e==null?"":V(e)||q(e)&&(e.toString===di||!B(e.toString))?mi(e)?Rt(e.value):JSON.stringify(e,_i,2):String(e),_i=(e,t)=>mi(t)?_i(e,t.value):Bt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[cs(s,i)+" =>"]=r,n),{})}:Yt(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>cs(n))}:Je(t)?cs(t):q(t)&&!V(t)&&!hi(t)?String(t):t,cs=(e,t="")=>{var n;return Je(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** * @vue/reactivity v3.5.41 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let fe;class Wo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&fe&&(fe.active?(this.parent=fe,this.index=(fe.scopes||(fe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t0&&--this._on===0){if(fe===this)fe=this.prevScope;else{let t=fe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(un){let t=un;for(un=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;an;){let t=an;for(an=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Ei(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function wi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),zs(s),zo(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Rs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Si(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Si(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===gn)||(e.globalVersion=gn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Rs(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Ie;Z=e,Ie=!0;try{Ei(e);const r=e.fn(e._value);(t.version===0||ze(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Ie=s,wi(e),e.flags&=-3}}function zs(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)zs(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function zo(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ie=!0;const Ai=[];function ot(){Ai.push(Ie),Ie=!1}function lt(){const e=Ai.pop();Ie=e===void 0?!0:e}function dr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let gn=0;class Yo{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 Ys{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(!Z||!Ie||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Yo(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,Ri(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,gn++,this.notify(t)}notify(t){Ws();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{qs()}}}function Ri(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Ri(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const xs=new WeakMap,Ct=Symbol(""),Ts=Symbol(""),mn=Symbol("");function he(e,t,n){if(Ie&&Z){let s=xs.get(e);s||xs.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Ys),r.map=s,r.key=n),r.track()}}function st(e,t,n,s,r,i){const o=xs.get(e);if(!o){gn++;return}const l=c=>{c&&c.trigger()};if(Ws(),t==="clear")o.forEach(l);else{const c=V(e),f=c&&Gs(n);if(c&&n==="length"){const u=Number(s);o.forEach((h,g)=>{(g==="length"||g===mn||!Je(g)&&g>=u)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),f&&l(o.get(mn)),t){case"add":c?f&&l(o.get("length")):(l(o.get(Ct)),Bt(e)&&l(o.get(Ts)));break;case"delete":c||(l(o.get(Ct)),Bt(e)&&l(o.get(Ts)));break;case"set":Bt(e)&&l(o.get(Ct));break}}qs()}function Dt(e){const t=$(e);return t===e?t:(he(t,"iterate",mn),Pe(e)?t:t.map(Me))}function Xn(e){return he(e=$(e),"iterate",mn),e}function We(e,t){return ct(e)?Kt(Pt(e)?Me(t):t):Me(t)}const Jo={__proto__:null,[Symbol.iterator](){return us(this,Symbol.iterator,e=>We(this,e))},concat(...e){return Dt(this).concat(...e.map(t=>V(t)?Dt(t):t))},entries(){return us(this,"entries",e=>(e[1]=We(this,e[1]),e))},every(e,t){return Xe(this,"every",e,t,void 0,arguments)},filter(e,t){return Xe(this,"filter",e,t,n=>n.map(s=>We(this,s)),arguments)},find(e,t){return Xe(this,"find",e,t,n=>We(this,n),arguments)},findIndex(e,t){return Xe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Xe(this,"findLast",e,t,n=>We(this,n),arguments)},findLastIndex(e,t){return Xe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Xe(this,"forEach",e,t,void 0,arguments)},includes(...e){return fs(this,"includes",e)},indexOf(...e){return fs(this,"indexOf",e)},join(e){return Dt(this).join(e)},lastIndexOf(...e){return fs(this,"lastIndexOf",e)},map(e,t){return Xe(this,"map",e,t,void 0,arguments)},pop(){return Zt(this,"pop")},push(...e){return Zt(this,"push",e)},reduce(e,...t){return hr(this,"reduce",e,t)},reduceRight(e,...t){return hr(this,"reduceRight",e,t)},shift(){return Zt(this,"shift")},some(e,t){return Xe(this,"some",e,t,void 0,arguments)},splice(...e){return Zt(this,"splice",e)},toReversed(){return Dt(this).toReversed()},toSorted(e){return Dt(this).toSorted(e)},toSpliced(...e){return Dt(this).toSpliced(...e)},unshift(...e){return Zt(this,"unshift",e)},values(){return us(this,"values",e=>We(this,e))}};function us(e,t,n){const s=Xn(e),r=s[t]();return s!==e&&!Pe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Qo=Array.prototype;function Xe(e,t,n,s,r,i){const o=Xn(e),l=o!==e&&!Pe(e),c=o[t];if(c!==Qo[t]){const h=c.apply(e,i);return l?Me(h):h}let f=n;o!==e&&(l?f=function(h,g){return n.call(this,We(e,h),g,e)}:n.length>2&&(f=function(h,g){return n.call(this,h,g,e)}));const u=c.call(o,f,s);return l&&r?r(u):u}function hr(e,t,n,s){const r=Xn(e),i=r!==e&&!Pe(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(f,u,h){return l&&(l=!1,f=We(e,f)),n.call(this,f,We(e,u),h,e)}):n.length>3&&(o=function(f,u,h){return n.call(this,f,u,h,e)}));const c=r[t](o,...s);return l?We(e,c):c}function fs(e,t,n){const s=$(e);he(s,"iterate",mn);const r=s[t](...n);return(r===-1||r===!1)&&Xs(n[0])?(n[0]=$(n[0]),s[t](...n)):r}function Zt(e,t,n=[]){ot(),Ws();const s=$(e)[t].apply(e,n);return qs(),lt(),s}const Xo=js("__proto__,__v_isRef,__isVue"),xi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Je));function Zo(e){Je(e)||(e=String(e));const t=$(this);return he(t,"has",e),t.hasOwnProperty(e)}class Ti{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?al:Ii:i?Oi:Pi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=V(t);if(!r){let c;if(o&&(c=Jo[n]))return c;if(n==="hasOwnProperty")return Zo}const l=Reflect.get(t,n,ge(t)?t:s);if((Je(n)?xi.has(n):Xo(n))||(r||he(t,"get",n),i))return l;if(ge(l)){const c=o&&Gs(n)?l:l.value;return r&&q(c)?Ps(c):c}return q(l)?r?Ps(l):Jt(l):l}}class Ci extends Ti{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=V(t)&&Gs(n);if(!this._isShallow){const f=ct(i);if(!Pe(s)&&!ct(s)&&(i=$(i),s=$(s)),!o&&ge(i)&&!ge(s))return f||(i.value=s),!0}const l=o?Number(n)e,xn=e=>Reflect.getPrototypeOf(e);function rl(e,t,n){return function(...s){const r=this.__v_raw,i=$(r),o=Bt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,f=r[e](...s),u=n?Cs:t?Kt:Me;return!t&&he(i,"iterate",c?Ts:Ct),de(Object.create(f),{next(){const{value:h,done:g}=f.next();return g?{value:h,done:g}:{value:l?[u(h[0]),u(h[1])]:u(h),done:g}}})}}function Tn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function il(e,t){const n={get(r){const i=this.__v_raw,o=$(i),l=$(r);e||(ze(r,l)&&he(o,"get",r),he(o,"get",l));const{has:c}=xn(o),f=t?Cs:e?Kt:Me;if(c.call(o,r))return f(i.get(r));if(c.call(o,l))return f(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&he($(r),"iterate",Ct),r.size},has(r){const i=this.__v_raw,o=$(i),l=$(r);return e||(ze(r,l)&&he(o,"has",r),he(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=$(l),f=t?Cs:e?Kt:Me;return!e&&he(c,"iterate",Ct),l.forEach((u,h)=>r.call(i,f(u),f(h),o))}};return de(n,e?{add:Tn("add"),set:Tn("set"),delete:Tn("delete"),clear:Tn("clear")}:{add(r){const i=$(this),o=xn(i),l=$(r),c=!t&&!Pe(r)&&!ct(r)?l:r;return o.has.call(i,c)||ze(r,c)&&o.has.call(i,r)||ze(l,c)&&o.has.call(i,l)||(i.add(c),st(i,"add",c,c)),this},set(r,i){!t&&!Pe(i)&&!ct(i)&&(i=$(i));const o=$(this),{has:l,get:c}=xn(o);let f=l.call(o,r);f||(r=$(r),f=l.call(o,r));const u=c.call(o,r);return o.set(r,i),f?ze(i,u)&&st(o,"set",r,i):st(o,"add",r,i),this},delete(r){const i=$(this),{has:o,get:l}=xn(i);let c=o.call(i,r);c||(r=$(r),c=o.call(i,r)),l&&l.call(i,r);const f=i.delete(r);return c&&st(i,"delete",r,void 0),f},clear(){const r=$(this),i=r.size!==0,o=r.clear();return i&&st(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=rl(r,e,t)}),n}function Js(e,t){const n=il(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(W(n,r)&&r in s?n:s,r,i)}const ol={get:Js(!1,!1)},ll={get:Js(!1,!0)},cl={get:Js(!0,!1)};const Pi=new WeakMap,Oi=new WeakMap,Ii=new WeakMap,al=new WeakMap;function ul(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Jt(e){return ct(e)?e:Qs(e,!1,tl,ol,Pi)}function Ni(e){return Qs(e,!1,sl,ll,Oi)}function Ps(e){return Qs(e,!0,nl,cl,Ii)}function Qs(e,t,n,s,r){if(!q(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=ul(Vo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function Pt(e){return ct(e)?Pt(e.__v_raw):!!(e&&e.__v_isReactive)}function ct(e){return!!(e&&e.__v_isReadonly)}function Pe(e){return!!(e&&e.__v_isShallow)}function Xs(e){return e?!!e.__v_raw:!1}function $(e){const t=e&&e.__v_raw;return t?$(t):e}function fl(e){return!W(e,"__v_skip")&&Object.isExtensible(e)&&pi(e,"__v_skip",!0),e}const Me=e=>q(e)?Jt(e):e,Kt=e=>q(e)?Ps(e):e;function ge(e){return e?e.__v_isRef===!0:!1}function dl(e){return Mi(e,!1)}function hl(e){return Mi(e,!0)}function Mi(e,t){return ge(e)?e:new pl(e,t)}class pl{constructor(t,n){this.dep=new Ys,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:$(t),this._value=n?t:Me(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Pe(t)||ct(t);t=s?t:$(t),ze(t,n)&&(this._rawValue=t,this._value=s?t:Me(t),this.dep.trigger())}}function ae(e){return ge(e)?e.value:e}const gl={get:(e,t,n)=>t==="__v_raw"?e:ae(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ge(r)&&!ge(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Di(e){return Pt(e)?e:new Proxy(e,gl)}class ml{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ys(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=gn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return bi(this,!0),!0}get value(){const t=this.dep.track();return Si(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function _l(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new ml(s,r,n)}const Cn={},Vn=new WeakMap;let Rt;function yl(e,t=!1,n=Rt){if(n){let s=Vn.get(n);s||Vn.set(n,s=[]),s.push(e)}}function vl(e,t,n=X){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,f=O=>r?O:Pe(O)||r===!1||r===0?rt(O,1):rt(O);let u,h,g,m,I=!1,R=!1;if(ge(e)?(h=()=>e.value,I=Pe(e)):Pt(e)?(h=()=>f(e),I=!0):V(e)?(R=!0,I=e.some(O=>Pt(O)||Pe(O)),h=()=>e.map(O=>{if(ge(O))return O.value;if(Pt(O))return f(O);if(B(O))return c?c(O,2):O()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){ot();try{g()}finally{lt()}}const O=Rt;Rt=u;try{return c?c(e,3,[m]):e(m)}finally{Rt=O}}:h=Ye,t&&r){const O=h,J=r===!0?1/0:r;h=()=>rt(O(),J)}const U=qo(),F=()=>{u.stop(),U&&U.active&&ks(U.effects,u)};if(i&&t){const O=t;t=(...J)=>{const oe=O(...J);return F(),oe}}let C=R?new Array(e.length).fill(Cn):Cn;const N=O=>{if(!(!(u.flags&1)||!u.dirty&&!O))if(t){const J=u.run();if(O||r||I||(R?J.some((oe,te)=>ze(oe,C[te])):ze(J,C))){g&&g();const oe=Rt;Rt=u;try{const te=[J,C===Cn?void 0:R&&C[0]===Cn?[]:C,m];C=J,c?c(t,3,te):t(...te)}finally{Rt=oe}}}else u.run()};return l&&l(N),u=new yi(h),u.scheduler=o?()=>o(N,!1):N,m=O=>yl(O,!1,u),g=u.onStop=()=>{const O=Vn.get(u);if(O){if(c)c(O,4);else for(const J of O)J();Vn.delete(u)}},t?s?N(!0):C=u.run():o?o(N.bind(null,!0),!0):u.run(),F.pause=u.pause.bind(u),F.resume=u.resume.bind(u),F.stop=F,F}function rt(e,t=1/0,n){if(t<=0||!q(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ge(e))rt(e.value,t,n);else if(V(e))for(let s=0;s{rt(s,t,n)});else if(hi(e)){for(const s in e)rt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&rt(e[s],t,n)}return e}/** +**/let fe;class Wo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&fe&&(fe.active?(this.parent=fe,this.index=(fe.scopes||(fe.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t0&&--this._on===0){if(fe===this)fe=this.prevScope;else{let t=fe;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n0)return;if(un){let t=un;for(un=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;an;){let t=an;for(an=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Ei(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function wi(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),zs(s),zo(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function Rs(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Si(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Si(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===gn)||(e.globalVersion=gn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Rs(e))))return;e.flags|=2;const t=e.dep,n=Z,s=Ie;Z=e,Ie=!0;try{Ei(e);const r=e.fn(e._value);(t.version===0||ze(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Z=n,Ie=s,wi(e),e.flags&=-3}}function zs(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)zs(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function zo(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ie=!0;const Ai=[];function ot(){Ai.push(Ie),Ie=!1}function lt(){const e=Ai.pop();Ie=e===void 0?!0:e}function dr(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Z;Z=void 0;try{t()}finally{Z=n}}}let gn=0;class Yo{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 Ys{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(!Z||!Ie||Z===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Z)n=this.activeLink=new Yo(Z,this),Z.deps?(n.prevDep=Z.depsTail,Z.depsTail.nextDep=n,Z.depsTail=n):Z.deps=Z.depsTail=n,Ri(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Z.depsTail,n.nextDep=void 0,Z.depsTail.nextDep=n,Z.depsTail=n,Z.deps===n&&(Z.deps=s)}return n}trigger(t){this.version++,gn++,this.notify(t)}notify(t){Ws();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{qs()}}}function Ri(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Ri(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const xs=new WeakMap,Ct=Symbol(""),Ts=Symbol(""),mn=Symbol("");function he(e,t,n){if(Ie&&Z){let s=xs.get(e);s||xs.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Ys),r.map=s,r.key=n),r.track()}}function st(e,t,n,s,r,i){const o=xs.get(e);if(!o){gn++;return}const l=c=>{c&&c.trigger()};if(Ws(),t==="clear")o.forEach(l);else{const c=V(e),f=c&&Gs(n);if(c&&n==="length"){const u=Number(s);o.forEach((h,g)=>{(g==="length"||g===mn||!Je(g)&&g>=u)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),f&&l(o.get(mn)),t){case"add":c?f&&l(o.get("length")):(l(o.get(Ct)),Bt(e)&&l(o.get(Ts)));break;case"delete":c||(l(o.get(Ct)),Bt(e)&&l(o.get(Ts)));break;case"set":Bt(e)&&l(o.get(Ct));break}}qs()}function Dt(e){const t=$(e);return t===e?t:(he(t,"iterate",mn),Pe(e)?t:t.map(Me))}function Xn(e){return he(e=$(e),"iterate",mn),e}function We(e,t){return ct(e)?Kt(Pt(e)?Me(t):t):Me(t)}const Jo={__proto__:null,[Symbol.iterator](){return us(this,Symbol.iterator,e=>We(this,e))},concat(...e){return Dt(this).concat(...e.map(t=>V(t)?Dt(t):t))},entries(){return us(this,"entries",e=>(e[1]=We(this,e[1]),e))},every(e,t){return Xe(this,"every",e,t,void 0,arguments)},filter(e,t){return Xe(this,"filter",e,t,n=>n.map(s=>We(this,s)),arguments)},find(e,t){return Xe(this,"find",e,t,n=>We(this,n),arguments)},findIndex(e,t){return Xe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Xe(this,"findLast",e,t,n=>We(this,n),arguments)},findLastIndex(e,t){return Xe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Xe(this,"forEach",e,t,void 0,arguments)},includes(...e){return fs(this,"includes",e)},indexOf(...e){return fs(this,"indexOf",e)},join(e){return Dt(this).join(e)},lastIndexOf(...e){return fs(this,"lastIndexOf",e)},map(e,t){return Xe(this,"map",e,t,void 0,arguments)},pop(){return Zt(this,"pop")},push(...e){return Zt(this,"push",e)},reduce(e,...t){return hr(this,"reduce",e,t)},reduceRight(e,...t){return hr(this,"reduceRight",e,t)},shift(){return Zt(this,"shift")},some(e,t){return Xe(this,"some",e,t,void 0,arguments)},splice(...e){return Zt(this,"splice",e)},toReversed(){return Dt(this).toReversed()},toSorted(e){return Dt(this).toSorted(e)},toSpliced(...e){return Dt(this).toSpliced(...e)},unshift(...e){return Zt(this,"unshift",e)},values(){return us(this,"values",e=>We(this,e))}};function us(e,t,n){const s=Xn(e),r=s[t]();return s!==e&&!Pe(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=n(i.value)),i}),r}const Qo=Array.prototype;function Xe(e,t,n,s,r,i){const o=Xn(e),l=o!==e&&!Pe(e),c=o[t];if(c!==Qo[t]){const h=c.apply(e,i);return l?Me(h):h}let f=n;o!==e&&(l?f=function(h,g){return n.call(this,We(e,h),g,e)}:n.length>2&&(f=function(h,g){return n.call(this,h,g,e)}));const u=c.call(o,f,s);return l&&r?r(u):u}function hr(e,t,n,s){const r=Xn(e),i=r!==e&&!Pe(e);let o=n,l=!1;r!==e&&(i?(l=s.length===0,o=function(f,u,h){return l&&(l=!1,f=We(e,f)),n.call(this,f,We(e,u),h,e)}):n.length>3&&(o=function(f,u,h){return n.call(this,f,u,h,e)}));const c=r[t](o,...s);return l?We(e,c):c}function fs(e,t,n){const s=$(e);he(s,"iterate",mn);const r=s[t](...n);return(r===-1||r===!1)&&Xs(n[0])?(n[0]=$(n[0]),s[t](...n)):r}function Zt(e,t,n=[]){ot(),Ws();const s=$(e)[t].apply(e,n);return qs(),lt(),s}const Xo=js("__proto__,__v_isRef,__isVue"),xi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Je));function Zo(e){Je(e)||(e=String(e));const t=$(this);return he(t,"has",e),t.hasOwnProperty(e)}class Ti{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?al:Ii:i?Oi:Pi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=V(t);if(!r){let c;if(o&&(c=Jo[n]))return c;if(n==="hasOwnProperty")return Zo}const l=Reflect.get(t,n,ge(t)?t:s);if((Je(n)?xi.has(n):Xo(n))||(r||he(t,"get",n),i))return l;if(ge(l)){const c=o&&Gs(n)?l:l.value;return r&&q(c)?Ps(c):c}return q(l)?r?Ps(l):Jt(l):l}}class Ci extends Ti{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];const o=V(t)&&Gs(n);if(!this._isShallow){const f=ct(i);if(!Pe(s)&&!ct(s)&&(i=$(i),s=$(s)),!o&&ge(i)&&!ge(s))return f||(i.value=s),!0}const l=o?Number(n)e,xn=e=>Reflect.getPrototypeOf(e);function rl(e,t,n){return function(...s){const r=this.__v_raw,i=$(r),o=Bt(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,f=r[e](...s),u=n?Cs:t?Kt:Me;return!t&&he(i,"iterate",c?Ts:Ct),de(Object.create(f),{next(){const{value:h,done:g}=f.next();return g?{value:h,done:g}:{value:l?[u(h[0]),u(h[1])]:u(h),done:g}}})}}function Tn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function il(e,t){const n={get(r){const i=this.__v_raw,o=$(i),l=$(r);e||(ze(r,l)&&he(o,"get",r),he(o,"get",l));const{has:c}=xn(o),f=t?Cs:e?Kt:Me;if(c.call(o,r))return f(i.get(r));if(c.call(o,l))return f(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&he($(r),"iterate",Ct),r.size},has(r){const i=this.__v_raw,o=$(i),l=$(r);return e||(ze(r,l)&&he(o,"has",r),he(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=$(l),f=t?Cs:e?Kt:Me;return!e&&he(c,"iterate",Ct),l.forEach((u,h)=>r.call(i,f(u),f(h),o))}};return de(n,e?{add:Tn("add"),set:Tn("set"),delete:Tn("delete"),clear:Tn("clear")}:{add(r){const i=$(this),o=xn(i),l=$(r),c=!t&&!Pe(r)&&!ct(r)?l:r;return o.has.call(i,c)||ze(r,c)&&o.has.call(i,r)||ze(l,c)&&o.has.call(i,l)||(i.add(c),st(i,"add",c,c)),this},set(r,i){!t&&!Pe(i)&&!ct(i)&&(i=$(i));const o=$(this),{has:l,get:c}=xn(o);let f=l.call(o,r);f||(r=$(r),f=l.call(o,r));const u=c.call(o,r);return o.set(r,i),f?ze(i,u)&&st(o,"set",r,i):st(o,"add",r,i),this},delete(r){const i=$(this),{has:o,get:l}=xn(i);let c=o.call(i,r);c||(r=$(r),c=o.call(i,r)),l&&l.call(i,r);const f=i.delete(r);return c&&st(i,"delete",r,void 0),f},clear(){const r=$(this),i=r.size!==0,o=r.clear();return i&&st(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=rl(r,e,t)}),n}function Js(e,t){const n=il(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(W(n,r)&&r in s?n:s,r,i)}const ol={get:Js(!1,!1)},ll={get:Js(!1,!0)},cl={get:Js(!0,!1)};const Pi=new WeakMap,Oi=new WeakMap,Ii=new WeakMap,al=new WeakMap;function ul(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Jt(e){return ct(e)?e:Qs(e,!1,tl,ol,Pi)}function Ni(e){return Qs(e,!1,sl,ll,Oi)}function Ps(e){return Qs(e,!0,nl,cl,Ii)}function Qs(e,t,n,s,r){if(!q(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const i=r.get(e);if(i)return i;const o=ul(Vo(e));if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function Pt(e){return ct(e)?Pt(e.__v_raw):!!(e&&e.__v_isReactive)}function ct(e){return!!(e&&e.__v_isReadonly)}function Pe(e){return!!(e&&e.__v_isShallow)}function Xs(e){return e?!!e.__v_raw:!1}function $(e){const t=e&&e.__v_raw;return t?$(t):e}function fl(e){return!W(e,"__v_skip")&&Object.isExtensible(e)&&pi(e,"__v_skip",!0),e}const Me=e=>q(e)?Jt(e):e,Kt=e=>q(e)?Ps(e):e;function ge(e){return e?e.__v_isRef===!0:!1}function dl(e){return Mi(e,!1)}function hl(e){return Mi(e,!0)}function Mi(e,t){return ge(e)?e:new pl(e,t)}class pl{constructor(t,n){this.dep=new Ys,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:$(t),this._value=n?t:Me(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Pe(t)||ct(t);t=s?t:$(t),ze(t,n)&&(this._rawValue=t,this._value=s?t:Me(t),this.dep.trigger())}}function ae(e){return ge(e)?e.value:e}const gl={get:(e,t,n)=>t==="__v_raw"?e:ae(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ge(r)&&!ge(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function Di(e){return Pt(e)?e:new Proxy(e,gl)}class ml{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ys(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=gn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Z!==this)return bi(this,!0),!0}get value(){const t=this.dep.track();return Si(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function _l(e,t,n=!1){let s,r;return B(e)?s=e:(s=e.get,r=e.set),new ml(s,r,n)}const Cn={},Vn=new WeakMap;let xt;function yl(e,t=!1,n=xt){if(n){let s=Vn.get(n);s||Vn.set(n,s=[]),s.push(e)}}function vl(e,t,n=X){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,f=O=>r?O:Pe(O)||r===!1||r===0?rt(O,1):rt(O);let u,h,g,m,I=!1,R=!1;if(ge(e)?(h=()=>e.value,I=Pe(e)):Pt(e)?(h=()=>f(e),I=!0):V(e)?(R=!0,I=e.some(O=>Pt(O)||Pe(O)),h=()=>e.map(O=>{if(ge(O))return O.value;if(Pt(O))return f(O);if(B(O))return c?c(O,2):O()})):B(e)?t?h=c?()=>c(e,2):e:h=()=>{if(g){ot();try{g()}finally{lt()}}const O=xt;xt=u;try{return c?c(e,3,[m]):e(m)}finally{xt=O}}:h=Ye,t&&r){const O=h,J=r===!0?1/0:r;h=()=>rt(O(),J)}const U=qo(),F=()=>{u.stop(),U&&U.active&&ks(U.effects,u)};if(i&&t){const O=t;t=(...J)=>{const oe=O(...J);return F(),oe}}let C=R?new Array(e.length).fill(Cn):Cn;const N=O=>{if(!(!(u.flags&1)||!u.dirty&&!O))if(t){const J=u.run();if(O||r||I||(R?J.some((oe,te)=>ze(oe,C[te])):ze(J,C))){g&&g();const oe=xt;xt=u;try{const te=[J,C===Cn?void 0:R&&C[0]===Cn?[]:C,m];C=J,c?c(t,3,te):t(...te)}finally{xt=oe}}}else u.run()};return l&&l(N),u=new yi(h),u.scheduler=o?()=>o(N,!1):N,m=O=>yl(O,!1,u),g=u.onStop=()=>{const O=Vn.get(u);if(O){if(c)c(O,4);else for(const J of O)J();Vn.delete(u)}},t?s?N(!0):C=u.run():o?o(N.bind(null,!0),!0):u.run(),F.pause=u.pause.bind(u),F.resume=u.resume.bind(u),F.stop=F,F}function rt(e,t=1/0,n){if(t<=0||!q(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ge(e))rt(e.value,t,n);else if(V(e))for(let s=0;s{rt(s,t,n)});else if(hi(e)){for(const s in e)rt(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&rt(e[s],t,n)}return e}/** * @vue/runtime-core v3.5.41 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/function An(e,t,n,s){try{return s?e(...s):e()}catch(r){Zn(r,t,n)}}function De(e,t,n,s){if(B(e)){const r=An(e,t,n,s);return r&&fi(r)&&r.catch(i=>{Zn(i,t,n)}),r}if(V(e)){const r=[];for(let i=0;i>>1,r=ye[s],i=_n(r);i=_n(n)?ye.push(e):ye.splice(El(t),0,e),e.flags|=1,Vi()}}function Vi(){Fn||(Fn=Li.then(Hi))}function wl(e){if(!V(e))gt&&e.id===-1?gt.splice(Lt+1,0,e):e.flags&1||(kt.push(e),e.flags|=1);else for(let t=0;t_n(n)-_n(s));if(kt.length=0,gt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Hi(e){try{for($e=0;$e{s._d&&jn(-1);const i=Hn(t),o=Ot.length;let l;try{l=e(...r)}finally{for(let c=Ot.length;c>o;c--)fo();Hn(i),s._d&&jn(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function Mu(e,t){if(Ae===null)return e;const n=rs(Ae),s=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&B(t)?t.call(s&&s.proxy):t}}const Sl=Symbol.for("v-scx"),Al=()=>Ne(Sl);function Mn(e,t,n){return Bi(e,t,n)}function Bi(e,t,n=X){const{immediate:s,deep:r,flush:i,once:o}=n,l=de({},n),c=t&&s||!t&&i!=="post";let f;if(bn){if(i==="sync"){const m=Al();f=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=Ye,m.resume=Ye,m.pause=Ye,m}}const u=pe;l.call=(m,I,R)=>De(m,u,I,R);let h=!1;i==="post"?l.scheduler=m=>{Ee(m,u&&u.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,I)=>{I?m():er(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,u&&(m.id=u.uid,m.i=u))};const g=vl(e,t,l);return bn&&(f?f.push(g):c&&g()),g}function Rl(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?ji(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=Rn(this),l=Bi(r,i.bind(s),n);return o(),l}function ji(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;re.__isTeleport,ds=Symbol("_leaveCb");function Tl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==at){t=n;break}}return t}function ki(e){if(!nr(e))return es(e.type)&&e.children?Tl(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&&B(n.default))return n.default()}}function tr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;tr(es(n.type)&&ki(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Gi(e,t){return B(e)?de({name:e.name},t,{setup:e}):e}function Ki(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function gr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Un=new WeakMap;function fn(e,t,n,s,r=!1){if(V(e)){e.forEach((R,U)=>fn(R,t&&(V(t)?t[U]:t),n,s,r));return}if(dn(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&fn(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?rs(s.component):s.el,o=r?null:i,{i:l,r:c}=e,f=t&&t.r,u=l.refs===X?l.refs={}:l.refs,h=l.setupState,g=$(h),m=h===X?ui:R=>gr(u,R)?!1:W(g,R),I=(R,U)=>!(U&&gr(u,U));if(f!=null&&f!==c){if(mr(t),se(f))u[f]=null,m(f)&&(h[f]=null);else if(ge(f)){const R=t;I(f,R.k)&&(f.value=null),R.k&&(u[R.k]=null)}}if(B(c))An(c,l,12,[o,u]);else{const R=se(c),U=ge(c);if(R||U){const F=()=>{if(e.f){const C=R?m(c)?h[c]:u[c]:I()||!e.k?c.value:u[e.k];if(r)V(C)&&ks(C,i);else if(V(C))C.includes(i)||C.push(i);else if(R)u[c]=[i],m(c)&&(h[c]=u[c]);else{const N=[i];I(c,e.k)&&(c.value=N),e.k&&(u[e.k]=N)}}else R?(u[c]=o,m(c)&&(h[c]=o)):U&&(I(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){const C=()=>{F(),Un.delete(e)};C.id=-1,Un.set(e,C),Ee(C,n)}else mr(e),F()}}}function mr(e){const t=Un.get(e);t&&(t.flags|=8,Un.delete(e))}Qn().requestIdleCallback;Qn().cancelIdleCallback;const dn=e=>!!e.type.__asyncLoader,nr=e=>e.type.__isKeepAlive;function Cl(e,t){$i(e,"a",t)}function Pl(e,t){$i(e,"da",t)}function $i(e,t,n=pe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ts(t,s,n),n){let r=n.parent;for(;r&&r.parent;)nr(r.parent.vnode)&&Ol(s,t,n,r),r=r.parent}}function Ol(e,t,n,s){const r=ts(t,e,s,!0);qi(()=>{ks(s[t],r)},n)}function ts(e,t,n=pe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ot();const l=Rn(n),c=De(t,n,e,o);return l(),lt(),c});return s?r.unshift(i):r.push(i),i}}const ut=e=>(t,n=pe)=>{(!bn||e==="sp")&&ts(e,(...s)=>t(...s),n)},Il=ut("bm"),Wi=ut("m"),Nl=ut("bu"),Ml=ut("u"),Dl=ut("bum"),qi=ut("um"),Ll=ut("sp"),Vl=ut("rtg"),Fl=ut("rtc");function Hl(e,t=pe){ts("ec",e,t)}const Ul="components";function _r(e,t){return jl(Ul,e,!0,t)||e}const Bl=Symbol.for("v-ndc");function jl(e,t,n=!0,s=!1){const r=Ae||pe;if(r){const i=r.type;{const l=Rc(i,!1);if(l&&(l===t||l===ve(t)||l===Yn(ve(t))))return i}const o=yr(r[e]||i[e],t)||yr(r.appContext[e],t);return!o&&s?i:o}}function yr(e,t){return e&&(e[t]||e[ve(t)]||e[Yn(ve(t))])}function Du(e,t,n,s){let r;const i=n,o=V(e);if(o||se(e)){const l=o&&Pt(e);let c=!1,f=!1;l&&(c=!Pe(e),f=ct(e),e=Xn(e)),r=new Array(e.length);for(let u=0,h=e.length;ut(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,f=l.length;ce?go(e)?rs(e):Os(e.parent):null,hn=de(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=>Os(e.parent),$root:e=>Os(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Yi(e),$forceUpdate:e=>e.f||(e.f=()=>{er(e.update)}),$nextTick:e=>e.n||(e.n=Zs.bind(e.proxy)),$watch:e=>Rl.bind(e)}),hs=(e,t)=>e!==X&&!e.__isScriptSetup&&W(e,t),kl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(hs(s,t))return o[t]=1,s[t];if(r!==X&&W(r,t))return o[t]=2,r[t];if(W(i,t))return o[t]=3,i[t];if(n!==X&&W(n,t))return o[t]=4,n[t];Is&&(o[t]=0)}}const f=hn[t];let u,h;if(f)return t==="$attrs"&&he(e.attrs,"get",""),f(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==X&&W(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,W(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return hs(r,t)?(r[t]=n,!0):s!==X&&W(s,t)?(s[t]=n,!0):W(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&W(e,l)||hs(t,l)||W(i,l)||W(s,l)||W(hn,l)||W(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:W(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function vr(e){return V(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Is=!0;function Gl(e){const t=Yi(e),n=e.proxy,s=e.ctx;Is=!1,t.beforeCreate&&br(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:f,created:u,beforeMount:h,mounted:g,beforeUpdate:m,updated:I,activated:R,deactivated:U,beforeDestroy:F,beforeUnmount:C,destroyed:N,unmounted:O,render:J,renderTracked:oe,renderTriggered:te,errorCaptured:Ve,serverPrefetch:ft,expose:Fe,inheritAttrs:dt,components:bt,directives:He,filters:Qt}=t;if(f&&Kl(f,s,null),o)for(const z in o){const G=o[z];B(G)&&(s[z]=G.bind(n))}if(r){const z=r.call(n,n);q(z)&&(e.data=Jt(z))}if(Is=!0,i)for(const z in i){const G=i[z],Qe=B(G)?G.bind(n,n):B(G.get)?G.get.bind(n,n):Ye,ht=!B(G)&&B(G.set)?G.set.bind(n):Ye,Ue=Oe({get:Qe,set:ht});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>Ue.value,set:be=>Ue.value=be})}if(l)for(const z in l)zi(l[z],s,n,z);if(c){const z=B(c)?c.call(n):c;Reflect.ownKeys(z).forEach(G=>{Nn(G,z[G])})}u&&br(u,e,"c");function ce(z,G){V(G)?G.forEach(Qe=>z(Qe.bind(n))):G&&z(G.bind(n))}if(ce(Il,h),ce(Wi,g),ce(Nl,m),ce(Ml,I),ce(Cl,R),ce(Pl,U),ce(Hl,Ve),ce(Fl,oe),ce(Vl,te),ce(Dl,C),ce(qi,O),ce(Ll,ft),V(Fe))if(Fe.length){const z=e.exposed||(e.exposed={});Fe.forEach(G=>{Object.defineProperty(z,G,{get:()=>n[G],set:Qe=>n[G]=Qe,enumerable:!0})})}else e.exposed||(e.exposed={});J&&e.render===Ye&&(e.render=J),dt!=null&&(e.inheritAttrs=dt),bt&&(e.components=bt),He&&(e.directives=He),ft&&Ki(e)}function Kl(e,t,n=Ye){V(e)&&(e=Ns(e));for(const s in e){const r=e[s];let i;q(r)?"default"in r?i=Ne(r.from||s,r.default,!0):i=Ne(r.from||s):i=Ne(r),ge(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function br(e,t,n){De(V(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function zi(e,t,n,s){let r=s.includes(".")?ji(n,s):()=>n[s];if(se(e)){const i=t[e];B(i)&&Mn(r,i)}else if(B(e))Mn(r,e.bind(n));else if(q(e))if(V(e))e.forEach(i=>zi(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&Mn(r,i,e)}}function Yi(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>Bn(c,f,o,!0)),Bn(c,t,o)),q(t)&&i.set(t,c),c}function Bn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Bn(e,i,n,!0),r&&r.forEach(o=>Bn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=$l[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const $l={data:Er,props:wr,emits:wr,methods:rn,computed:rn,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:rn,directives:rn,watch:ql,provide:Er,inject:Wl};function Er(e,t){return t?e?function(){return de(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Wl(e,t){return rn(Ns(e),Ns(t))}function Ns(e){if(V(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ve(t)}Modifiers`]||e[`${vt(t)}Modifiers`];function Ql(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const i=t.startsWith("update:"),o=i&&Jl(s,t.slice(7));o&&(o.trim&&(r=n.map(u=>se(u)?u.trim():u)),o.number&&(r=n.map(Jn)));let l,c=s[l=ls(t)]||s[l=ls(ve(t))];!c&&i&&(c=s[l=ls(vt(t))]),c&&De(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,De(f,e,6,r)}}const Xl=new WeakMap;function Qi(e,t,n=!1){const s=n?Xl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=f=>{const u=Qi(f,t,!0);u&&(l=!0,de(o,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(q(e)&&s.set(e,null),null):(V(i)?i.forEach(c=>o[c]=null):de(o,i),q(e)&&s.set(e,o),o)}function ns(e,t){return!e||!Wn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),W(e,t[0].toLowerCase()+t.slice(1))||W(e,vt(t))||W(e,t))}function Sr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:f,renderCache:u,props:h,data:g,setupState:m,ctx:I,inheritAttrs:R}=e,U=Hn(e);let F,C;try{if(n.shapeFlag&4){const O=r||s,J=O;F=qe(f.call(J,O,u,h,m,g,I)),C=l}else{const O=t;F=qe(O.length>1?O(h,{attrs:l,slots:o,emit:c}):O(h,null)),C=t.props?l:Zl(l)}}catch(O){Ot.length=0,Zn(O,e,1),F=ie(at)}let N=F;if(C&&R!==!1){const O=Object.keys(C),{shapeFlag:J}=N;O.length&&J&7&&(i&&O.some(qn)&&(C=ec(C,i)),N=$t(N,C,!1,!0))}if(n.dirs&&(N=$t(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const O=es(N.type)&&ki(N)||N;tr(O,n.transition)}return F=N,Hn(U),F}const Zl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wn(n))&&((t||(t={}))[n]=e[n]);return t},ec=(e,t)=>{const n={};for(const s in e)(!qn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function tc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ar(s,o,f):!!o;if(c&8){const u=t.dynamicProps;for(let h=0;hObject.create(Zi),to=e=>Object.getPrototypeOf(e)===Zi;function sc(e,t,n,s=!1){const r={},i=eo();e.propsDefaults=Object.create(null),no(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Ni(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function rc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=$(r),[c]=e.propsOptions;let f=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[g,m]=so(h,t,!0);de(o,g),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!c)return q(e)&&s.set(e,Ut),Ut;if(V(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",rr=e=>V(e)?e.map(qe):[qe(e)],oc=(e,t,n)=>{if(t._n)return t;const s=Vt((...r)=>rr(t(...r)),n);return s._c=!1,s},ro=(e,t,n)=>{const s=e._ctx;for(const r in e){if(sr(r))continue;const i=e[r];if(B(i))t[r]=oc(r,i,s);else if(i!=null){const o=rr(i);t[r]=()=>o}}},io=(e,t)=>{const n=rr(t);e.slots.default=()=>n},oo=(e,t,n)=>{for(const s in t)(n||!sr(s))&&(e[s]=t[s])},lc=(e,t,n)=>{const s=e.slots=eo();if(e.vnode.shapeFlag&32){const r=t._;r?(oo(s,t,n),n&&pi(s,"_",r,!0)):ro(t,s)}else t&&io(e,t)},cc=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:oo(r,t,n):(i=!t.$stable,ro(t,r)),o=t}else t&&(io(e,t),o={default:1});if(i)for(const l in r)!sr(l)&&o[l]==null&&delete r[l]},Ee=hc;function ac(e){return uc(e)}function uc(e,t){const n=Qn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:f,setElementText:u,parentNode:h,nextSibling:g,setScopeId:m=Ye,insertStaticContent:I}=e,R=(a,d,p,y=null,b=null,_=null,A=void 0,S=null,w=!!d.dynamicChildren)=>{if(a===d)return;a&&!en(a,d)&&(y=v(a),be(a,b,_,!0),a=null),d.patchFlag===-2&&(w=!1,d.dynamicChildren=null);const{type:E,ref:L,shapeFlag:T}=d;switch(E){case ss:U(a,d,p,y);break;case at:F(a,d,p,y);break;case Dn:a==null&&C(d,p,y,A);break;case tt:bt(a,d,p,y,b,_,A,S,w);break;default:T&1?J(a,d,p,y,b,_,A,S,w):T&6?He(a,d,p,y,b,_,A,S,w):(T&64||T&128)&&E.process(a,d,p,y,b,_,A,S,w,M)}L!=null&&b?fn(L,a&&a.ref,_,d||a,!d):L==null&&a&&a.ref!=null&&fn(a.ref,null,_,a,!0)},U=(a,d,p,y)=>{if(a==null)s(d.el=l(d.children),p,y);else{const b=d.el=a.el;d.children!==a.children&&f(b,d.children)}},F=(a,d,p,y)=>{a==null?s(d.el=c(d.children||""),p,y):d.el=a.el},C=(a,d,p,y)=>{[a.el,a.anchor]=I(a.children,d,p,y,a.el,a.anchor)},N=({el:a,anchor:d},p,y)=>{let b;for(;a&&a!==d;)b=g(a),s(a,p,y),a=b;s(d,p,y)},O=({el:a,anchor:d})=>{let p;for(;a&&a!==d;)p=g(a),r(a),a=p;r(d)},J=(a,d,p,y,b,_,A,S,w)=>{if(d.type==="svg"?A="svg":d.type==="math"&&(A="mathml"),a==null)oe(d,p,y,b,_,A,S,w);else{const E=a.el&&a.el._isVueCE?a.el:null;try{E&&E._beginPatch(),ft(a,d,b,_,A,S,w)}finally{E&&E._endPatch()}}},oe=(a,d,p,y,b,_,A,S)=>{let w,E;const{props:L,shapeFlag:T,transition:D,dirs:H}=a;if(w=a.el=o(a.type,_,L&&L.is,L),T&8?u(w,a.children):T&16&&Ve(a.children,w,null,y,b,ps(a,_),A,S),H&&wt(a,null,y,"created"),te(w,a,a.scopeId,A,y),L){for(const Q in L)Q!=="value"&&!cn(Q)&&i(w,Q,null,L[Q],_,y);"value"in L&&i(w,"value",null,L.value,_),(E=L.onVnodeBeforeMount)&&Ge(E,y,a)}H&&wt(a,null,y,"beforeMount");const k=fc(b,D);k&&D.beforeEnter(w),s(w,d,p),((E=L&&L.onVnodeMounted)||k||H)&&Ee(()=>{try{E&&Ge(E,y,a),k&&D.enter(w),H&&wt(a,null,y,"mounted")}finally{}},b)},te=(a,d,p,y,b)=>{if(p&&m(a,p),y)for(let _=0;_{for(let E=w;E{const S=d.el=a.el;let{patchFlag:w,dynamicChildren:E,dirs:L}=d;w|=a.patchFlag&16;const T=a.props||X,D=d.props||X;let H;if(p&&St(p,!1),(H=D.onVnodeBeforeUpdate)&&Ge(H,p,d,a),L&&wt(d,a,p,"beforeUpdate"),p&&St(p,!0),E&&(!a.dynamicChildren||a.dynamicChildren.length!==E.length)&&(w=0,A=!1,E=null),(T.innerHTML&&D.innerHTML==null||T.textContent&&D.textContent==null)&&u(S,""),E?Fe(a.dynamicChildren,E,S,p,y,ps(d,b),_):A||G(a,d,S,null,p,y,ps(d,b),_,!1),w>0){if(w&16)dt(S,T,D,p,b);else if(w&2&&T.class!==D.class&&i(S,"class",null,D.class,b),w&4&&i(S,"style",T.style,D.style,b),w&8){const k=d.dynamicProps;for(let Q=0;Q{H&&Ge(H,p,d,a),L&&wt(d,a,p,"updated")},y)},Fe=(a,d,p,y,b,_,A)=>{for(let S=0;S{if(d!==p){if(d!==X)for(const _ in d)!cn(_)&&!(_ in p)&&i(a,_,d[_],null,b,y);for(const _ in p){if(cn(_))continue;const A=p[_],S=d[_];A!==S&&_!=="value"&&i(a,_,S,A,b,y)}"value"in p&&i(a,"value",d.value,p.value,b)}},bt=(a,d,p,y,b,_,A,S,w)=>{const E=d.el=a?a.el:l(""),L=d.anchor=a?a.anchor:l("");let{patchFlag:T,dynamicChildren:D,slotScopeIds:H}=d;H&&(S=S?S.concat(H):H),a==null?(s(E,p,y),s(L,p,y),Ve(d.children||[],p,L,b,_,A,S,w)):T>0&&T&64&&D&&a.dynamicChildren&&a.dynamicChildren.length===D.length?(Fe(a.dynamicChildren,D,p,b,_,A,S),(d.key!=null||b&&d===b.subTree)&&lo(a,d,!0)):G(a,d,p,L,b,_,A,S,w)},He=(a,d,p,y,b,_,A,S,w)=>{d.slotScopeIds=S,a==null?d.shapeFlag&512?b.ctx.activate(d,p,y,A,w):Qt(d,p,y,b,_,A,w):It(a,d,w)},Qt=(a,d,p,y,b,_,A)=>{const S=a.component=vc(a,y,b);if(nr(a)&&(S.ctx.renderer=M),Ec(S,!1,A),S.asyncDep){if(b&&b.registerDep(S,ce,A),!a.el){const w=S.subTree=ie(at);F(null,w,d,p),a.placeholder=w.el}}else ce(S,a,d,p,b,_,A)},It=(a,d,p)=>{const y=d.component=a.component;if(tc(a,d,p))if(y.asyncDep&&!y.asyncResolved){z(y,d,p);return}else y.next=d,y.update();else d.el=a.el,y.vnode=d},ce=(a,d,p,y,b,_,A)=>{const S=()=>{if(a.isMounted){let{next:T,bu:D,u:H,parent:k,vnode:Q}=a;{const je=co(a);if(je){T&&(T.el=Q.el,z(a,T,A)),je.asyncDep.then(()=>{Ee(()=>{a.isUnmounted||E()},b)});return}}let Y=T,re;St(a,!1),T?(T.el=Q.el,z(a,T,A)):T=Q,D&&In(D),(re=T.props&&T.props.onVnodeBeforeUpdate)&&Ge(re,k,T,Q),St(a,!0);const ue=Sr(a),Be=a.subTree;a.subTree=ue,R(Be,ue,h(Be.el),v(Be),a,b,_),T.el=ue.el,Y===null&&nc(a,ue.el),H&&Ee(H,b),(re=T.props&&T.props.onVnodeUpdated)&&Ee(()=>Ge(re,k,T,Q),b)}else{let T;const{el:D,props:H}=d,{bm:k,m:Q,parent:Y,root:re,type:ue}=a,Be=dn(d);St(a,!1),k&&In(k),!Be&&(T=H&&H.onVnodeBeforeMount)&&Ge(T,Y,d),St(a,!0);{re.ce&&re.ce._hasShadowRoot()&&re.ce._injectChildStyle(ue,a.parent?a.parent.type:void 0);const je=a.subTree=Sr(a);R(null,je,p,y,a,b,_),d.el=je.el}if(Q&&Ee(Q,b),!Be&&(T=H&&H.onVnodeMounted)){const je=d;Ee(()=>Ge(T,Y,je),b)}(d.shapeFlag&256||Y&&dn(Y.vnode)&&Y.vnode.shapeFlag&256)&&a.a&&Ee(a.a,b),a.isMounted=!0,d=p=y=null}};a.scope.on();const w=a.effect=new yi(S);a.scope.off();const E=a.update=w.run.bind(w),L=a.job=w.runIfDirty.bind(w);L.i=a,L.id=a.uid,w.scheduler=()=>er(L),St(a,!0),E()},z=(a,d,p)=>{d.component=a;const y=a.vnode.props;a.vnode=d,a.next=null,rc(a,d.props,y,p),cc(a,d.children,p),ot(),pr(a),lt()},G=(a,d,p,y,b,_,A,S,w=!1)=>{const E=a&&a.children,L=a?a.shapeFlag:0,T=d.children,{patchFlag:D,shapeFlag:H}=d;if(D>0){if(D&128){ht(E,T,p,y,b,_,A,S,w);return}else if(D&256){Qe(E,T,p,y,b,_,A,S,w);return}}H&8?(L&16&&Te(E,b,_),T!==E&&u(p,T)):L&16?H&16?ht(E,T,p,y,b,_,A,S,w):Te(E,b,_,!0):(L&8&&u(p,""),H&16&&Ve(T,p,y,b,_,A,S,w))},Qe=(a,d,p,y,b,_,A,S,w)=>{a=a||Ut,d=d||Ut;const E=a.length,L=d.length,T=Math.min(E,L);let D;for(D=0;DL?Te(a,b,_,!0,!1,T):Ve(d,p,y,b,_,A,S,w,T)},ht=(a,d,p,y,b,_,A,S,w)=>{let E=0;const L=d.length;let T=a.length-1,D=L-1;for(;E<=T&&E<=D;){const H=a[E],k=d[E]=w?nt(d[E]):qe(d[E]);if(en(H,k))R(H,k,p,null,b,_,A,S,w);else break;E++}for(;E<=T&&E<=D;){const H=a[T],k=d[D]=w?nt(d[D]):qe(d[D]);if(en(H,k))R(H,k,p,null,b,_,A,S,w);else break;T--,D--}if(E>T){if(E<=D){const H=D+1,k=HD)for(;E<=T;)be(a[E],b,_,!0),E++;else{const H=E,k=E,Q=new Map;for(E=k;E<=D;E++){const we=d[E]=w?nt(d[E]):qe(d[E]);we.key!=null&&Q.set(we.key,E)}let Y,re=0;const ue=D-k+1;let Be=!1,je=0;const Xt=new Array(ue);for(E=0;E=ue){be(we,b,_,!0);continue}let ke;if(we.key!=null)ke=Q.get(we.key);else for(Y=k;Y<=D;Y++)if(Xt[Y-k]===0&&en(we,d[Y])){ke=Y;break}ke===void 0?be(we,b,_,!0):(Xt[ke-k]=E+1,ke>=je?je=ke:Be=!0,R(we,d[ke],p,null,b,_,A,S,w),re++)}const lr=Be?dc(Xt):Ut;for(Y=lr.length-1,E=ue-1;E>=0;E--){const we=k+E,ke=d[we],cr=d[we+1],ar=we+1{const{el:_,type:A,transition:S,children:w,shapeFlag:E}=a;if(E&6){Ue(a.component.subTree,d,p,y);return}if(E&128){a.suspense.move(d,p,y);return}if(E&64){A.move(a,d,p,M);return}if(A===tt){s(_,d,p);for(let T=0;TS.enter(_),b));else{const{leave:T,delayLeave:D,afterLeave:H}=S,k=()=>{a.ctx.isUnmounted?r(_):s(_,d,p)},Q=()=>{const Y=_._isLeaving||!!_[ds];_._isLeaving&&_[ds](!0),S.persisted&&!Y?k():T(_,()=>{k(),H&&H()})};D?D(_,k,Q):Q()}else s(_,d,p)},be=(a,d,p,y=!1,b=!1)=>{const{type:_,props:A,ref:S,children:w,dynamicChildren:E,shapeFlag:L,patchFlag:T,dirs:D,cacheIndex:H,memo:k}=a;if(T===-2&&(b=!1),S!=null&&(ot(),fn(S,null,p,a,!0),lt()),H!=null&&(d.renderCache[H]=void 0),L&256){d.ctx.deactivate(a);return}const Q=L&1&&D,Y=!dn(a);let re;if(Y&&(re=A&&A.onVnodeBeforeUnmount)&&Ge(re,d,a),L&6)Et(a.component,p,y);else{if(L&128){a.suspense.unmount(p,y);return}Q&&wt(a,null,d,"beforeUnmount"),L&64?a.type.remove(a,d,p,M,y):E&&!E.hasOnce&&(_!==tt||T>0&&T&64)?Te(E,d,p,!1,!0):(_===tt&&T&384||!b&&L&16)&&Te(w,d,p),y&&Nt(a)}const ue=k!=null&&H==null;(Y&&(re=A&&A.onVnodeUnmounted)||Q||ue)&&Ee(()=>{re&&Ge(re,d,a),Q&&wt(a,null,d,"unmounted"),ue&&(a.el=null)},p)},Nt=a=>{const{type:d,el:p,anchor:y,transition:b}=a;if(d===tt){Mt(p,y);return}if(d===Dn){O(a);return}const _=()=>{r(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(a.shapeFlag&1&&b&&!b.persisted){const{leave:A,delayLeave:S}=b,w=()=>A(p,_);S?S(a.el,_,w):w()}else _()},Mt=(a,d)=>{let p;for(;a!==d;)p=g(a),r(a),a=p;r(d)},Et=(a,d,p)=>{const{bum:y,scope:b,job:_,subTree:A,um:S,m:w,a:E}=a;xr(w),xr(E),y&&In(y),b.stop(),_&&(_.flags|=8,be(A,a,d,p)),S&&Ee(S,d),Ee(()=>{a.isUnmounted=!0},d)},Te=(a,d,p,y=!1,b=!1,_=0)=>{for(let A=_;A{if(a.shapeFlag&6)return v(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const d=g(a.anchor||a.el),p=d&&d[xl];return p?g(p):d};let P=!1;const x=(a,d,p)=>{let y;a==null?d._vnode&&(be(d._vnode,null,null,!0),y=d._vnode.component):R(d._vnode||null,a,d,null,null,null,p),d._vnode=a,P||(P=!0,pr(y),Fi(),P=!1)},M={p:R,um:be,m:Ue,r:Nt,mt:Qt,mc:Ve,pc:G,pbc:Fe,n:v,o:e};return{render:x,hydrate:void 0,createApp:Yl(x)}}function ps({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 St({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function fc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function lo(e,t,n=!1){const s=e.children,r=t.children;if(V(s)&&V(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function co(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:co(t)}function xr(e){if(e)for(let t=0;te.__isSuspense;function hc(e,t){t&&t.pendingBranch?V(e)?t.effects.push(...e):t.effects.push(e):wl(e)}const tt=Symbol.for("v-fgt"),ss=Symbol.for("v-txt"),at=Symbol.for("v-cmt"),Dn=Symbol.for("v-stc"),Ot=[];let Re=null;function on(e=!1){Ot.push(Re=e?null:[])}function fo(){Ot.pop(),Re=Ot[Ot.length-1]||null}let yn=1;function jn(e,t=!1){yn+=e,e<0&&Re&&t&&(Re.hasOnce=!0)}function ho(e){return e.dynamicChildren=yn>0?Re||Ut:null,fo(),yn>0&&Re&&Re.push(e),e}function Tr(e,t,n,s,r,i){return ho(xt(e,t,n,s,r,i,!0))}function Ds(e,t,n,s,r){return ho(ie(e,t,n,s,r,!0))}function kn(e){return e?e.__v_isVNode===!0:!1}function en(e,t){return e.type===t.type&&e.key===t.key}const po=({key:e})=>e??null,Ln=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||ge(e)||B(e)?{i:Ae,r:e,k:t,f:!!n}:e:null);function xt(e,t=null,n=null,s=0,r=null,i=e===tt?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&po(t),ref:t&&Ln(t),scopeId:Ui,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:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ae};return l?(Gn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),yn>0&&!o&&Re&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Re.push(c),c}const ie=pc;function pc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Bl)&&(e=at),kn(e)){const l=$t(e,t,!0);return n&&Gn(l,n),yn>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag=-2,l}if(xc(e)&&(e=e.__vccOpts),t){t=gc(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=jt(l)),q(c)&&(Xs(c)&&!V(c)&&(c=de({},c)),t.style=Ks(c))}const o=se(e)?1:uo(e)?128:es(e)?64:q(e)?4:B(e)?2:0;return xt(e,t,n,s,r,o,i,!0)}function gc(e){return e?Xs(e)||to(e)?de({},e):e:null}function $t(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,f=t?mc(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&po(f),ref:t&&t.ref?n&&i?V(i)?i.concat(Ln(t)):[i,Ln(t)]:Ln(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==tt?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&&$t(e.ssContent),ssFallback:e.ssFallback&&$t(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&tr(u,c.clone(u)),u}function Ft(e=" ",t=0){return ie(ss,null,e,t)}function Lu(e,t){const n=ie(Dn,null,e);return n.staticCount=t,n}function Cr(e="",t=!1){return t?(on(),Ds(at,null,e)):ie(at,null,e)}function qe(e){return e==null||typeof e=="boolean"?ie(at):V(e)?ie(tt,null,e.slice()):kn(e)?nt(e):ie(ss,null,String(e))}function nt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:$t(e)}function Gn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(V(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Gn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!to(t)?t._ctx=Ae:r===3&&Ae&&(Ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){Gn(e,{default:t});return}t={default:t,_ctx:Ae},n=32}else t=String(t),s&64?(n=16,t=[Ft(t)]):n=8;e.children=t,e.shapeFlag|=n}function mc(...e){const t={};for(let n=0;npe||Ae;let Kn,vn;{const e=Qn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Kn=t("__VUE_INSTANCE_SETTERS__",n=>pe=n),vn=t("__VUE_SSR_SETTERS__",n=>bn=n)}const Rn=e=>{const t=pe;return Kn(e),e.scope.on(),()=>{e.scope.off(),Kn(t)}},Pr=()=>{pe&&pe.scope.off(),Kn(null)};function go(e){return e.vnode.shapeFlag&4}let bn=!1;function Ec(e,t=!1,n=!1){t&&vn(t);const{props:s,children:r}=e.vnode,i=go(e);sc(e,s,i,t),lc(e,r,n||t);const o=i?wc(e,t):void 0;return t&&vn(!1),o}function wc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,kl);const{setup:s}=n;if(s){ot();const r=e.setupContext=s.length>1?Ac(e):null,i=Rn(e),o=An(s,e,0,[e.props,r]),l=fi(o);if(lt(),i(),(l||e.sp)&&!dn(e)&&Ki(e),l){if(o.then(Pr,Pr),t)return o.then(c=>{vn(!0);try{Or(e,c,t)}finally{vn(!1)}}).catch(c=>{Zn(c,e,0)});e.asyncDep=o}else Or(e,o)}else mo(e)}function Or(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:q(t)&&(e.setupState=Di(t)),mo(e)}function mo(e,t,n){const s=e.type;e.render||(e.render=s.render||Ye);{const r=Rn(e);ot();try{Gl(e)}finally{lt(),r()}}}const Sc={get(e,t){return he(e,"get",""),e[t]}};function Ac(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Sc),slots:e.slots,emit:e.emit,expose:t}}function rs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Di(fl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in hn)return hn[n](e)},has(t,n){return n in t||n in hn}})):e.proxy}function Rc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function xc(e){return B(e)&&"__vccOpts"in e}const Oe=(e,t)=>_l(e,t,bn);function En(e,t,n){try{jn(-1);const s=arguments.length;return s===2?q(t)&&!V(t)?kn(t)?ie(e,null,[t]):ie(e,t):ie(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&kn(n)&&(n=[n]),ie(e,t,n))}finally{jn(1)}}const Tc="3.5.41";/** +**/function An(e,t,n,s){try{return s?e(...s):e()}catch(r){Zn(r,t,n)}}function De(e,t,n,s){if(B(e)){const r=An(e,t,n,s);return r&&fi(r)&&r.catch(i=>{Zn(i,t,n)}),r}if(V(e)){const r=[];for(let i=0;i>>1,r=ye[s],i=_n(r);i=_n(n)?ye.push(e):ye.splice(El(t),0,e),e.flags|=1,Vi()}}function Vi(){Fn||(Fn=Li.then(Hi))}function wl(e){if(!V(e))gt&&e.id===-1?gt.splice(Lt+1,0,e):e.flags&1||(kt.push(e),e.flags|=1);else for(let t=0;t_n(n)-_n(s));if(kt.length=0,gt){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Hi(e){try{for($e=0;$e{s._d&&jn(-1);const i=Hn(t),o=Ot.length;let l;try{l=e(...r)}finally{for(let c=Ot.length;c>o;c--)fo();Hn(i),s._d&&jn(1)}return l};return s._n=!0,s._c=!0,s._d=!0,s}function Du(e,t){if(Ae===null)return e;const n=rs(Ae),s=e.dirs||(e.dirs=[]);for(let r=0;r1)return n&&B(t)?t.call(s&&s.proxy):t}}const Sl=Symbol.for("v-scx"),Al=()=>Ne(Sl);function Mn(e,t,n){return Bi(e,t,n)}function Bi(e,t,n=X){const{immediate:s,deep:r,flush:i,once:o}=n,l=de({},n),c=t&&s||!t&&i!=="post";let f;if(bn){if(i==="sync"){const m=Al();f=m.__watcherHandles||(m.__watcherHandles=[])}else if(!c){const m=()=>{};return m.stop=Ye,m.resume=Ye,m.pause=Ye,m}}const u=pe;l.call=(m,I,R)=>De(m,u,I,R);let h=!1;i==="post"?l.scheduler=m=>{Ee(m,u&&u.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(m,I)=>{I?m():er(m)}),l.augmentJob=m=>{t&&(m.flags|=4),h&&(m.flags|=2,u&&(m.id=u.uid,m.i=u))};const g=vl(e,t,l);return bn&&(f?f.push(g):c&&g()),g}function Rl(e,t,n){const s=this.proxy,r=se(e)?e.includes(".")?ji(s,e):()=>s[e]:e.bind(s,s);let i;B(t)?i=t:(i=t.handler,n=t);const o=Rn(this),l=Bi(r,i.bind(s),n);return o(),l}function ji(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;re.__isTeleport,ds=Symbol("_leaveCb");function Tl(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==at){t=n;break}}return t}function ki(e){if(!nr(e))return es(e.type)&&e.children?Tl(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&&B(n.default))return n.default()}}function tr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;tr(es(n.type)&&ki(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Gi(e,t){return B(e)?de({name:e.name},t,{setup:e}):e}function Ki(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function gr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Un=new WeakMap;function fn(e,t,n,s,r=!1){if(V(e)){e.forEach((R,U)=>fn(R,t&&(V(t)?t[U]:t),n,s,r));return}if(dn(s)&&!r){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&fn(e,t,n,s.component.subTree);return}const i=s.shapeFlag&4?rs(s.component):s.el,o=r?null:i,{i:l,r:c}=e,f=t&&t.r,u=l.refs===X?l.refs={}:l.refs,h=l.setupState,g=$(h),m=h===X?ui:R=>gr(u,R)?!1:W(g,R),I=(R,U)=>!(U&&gr(u,U));if(f!=null&&f!==c){if(mr(t),se(f))u[f]=null,m(f)&&(h[f]=null);else if(ge(f)){const R=t;I(f,R.k)&&(f.value=null),R.k&&(u[R.k]=null)}}if(B(c))An(c,l,12,[o,u]);else{const R=se(c),U=ge(c);if(R||U){const F=()=>{if(e.f){const C=R?m(c)?h[c]:u[c]:I()||!e.k?c.value:u[e.k];if(r)V(C)&&ks(C,i);else if(V(C))C.includes(i)||C.push(i);else if(R)u[c]=[i],m(c)&&(h[c]=u[c]);else{const N=[i];I(c,e.k)&&(c.value=N),e.k&&(u[e.k]=N)}}else R?(u[c]=o,m(c)&&(h[c]=o)):U&&(I(c,e.k)&&(c.value=o),e.k&&(u[e.k]=o))};if(o){const C=()=>{F(),Un.delete(e)};C.id=-1,Un.set(e,C),Ee(C,n)}else mr(e),F()}}}function mr(e){const t=Un.get(e);t&&(t.flags|=8,Un.delete(e))}Qn().requestIdleCallback;Qn().cancelIdleCallback;const dn=e=>!!e.type.__asyncLoader,nr=e=>e.type.__isKeepAlive;function Cl(e,t){$i(e,"a",t)}function Pl(e,t){$i(e,"da",t)}function $i(e,t,n=pe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(ts(t,s,n),n){let r=n.parent;for(;r&&r.parent;)nr(r.parent.vnode)&&Ol(s,t,n,r),r=r.parent}}function Ol(e,t,n,s){const r=ts(t,e,s,!0);qi(()=>{ks(s[t],r)},n)}function ts(e,t,n=pe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{ot();const l=Rn(n),c=De(t,n,e,o);return l(),lt(),c});return s?r.unshift(i):r.push(i),i}}const ut=e=>(t,n=pe)=>{(!bn||e==="sp")&&ts(e,(...s)=>t(...s),n)},Il=ut("bm"),Wi=ut("m"),Nl=ut("bu"),Ml=ut("u"),Dl=ut("bum"),qi=ut("um"),Ll=ut("sp"),Vl=ut("rtg"),Fl=ut("rtc");function Hl(e,t=pe){ts("ec",e,t)}const Ul="components";function _r(e,t){return jl(Ul,e,!0,t)||e}const Bl=Symbol.for("v-ndc");function jl(e,t,n=!0,s=!1){const r=Ae||pe;if(r){const i=r.type;{const l=Rc(i,!1);if(l&&(l===t||l===ve(t)||l===Yn(ve(t))))return i}const o=yr(r[e]||i[e],t)||yr(r.appContext[e],t);return!o&&s?i:o}}function yr(e,t){return e&&(e[t]||e[ve(t)]||e[Yn(ve(t))])}function Lu(e,t,n,s){let r;const i=n,o=V(e);if(o||se(e)){const l=o&&Pt(e);let c=!1,f=!1;l&&(c=!Pe(e),f=ct(e),e=Xn(e)),r=new Array(e.length);for(let u=0,h=e.length;ut(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,f=l.length;ce?go(e)?rs(e):Os(e.parent):null,hn=de(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=>Os(e.parent),$root:e=>Os(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Yi(e),$forceUpdate:e=>e.f||(e.f=()=>{er(e.update)}),$nextTick:e=>e.n||(e.n=Zs.bind(e.proxy)),$watch:e=>Rl.bind(e)}),hs=(e,t)=>e!==X&&!e.__isScriptSetup&&W(e,t),kl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;if(t[0]!=="$"){const g=o[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(hs(s,t))return o[t]=1,s[t];if(r!==X&&W(r,t))return o[t]=2,r[t];if(W(i,t))return o[t]=3,i[t];if(n!==X&&W(n,t))return o[t]=4,n[t];Is&&(o[t]=0)}}const f=hn[t];let u,h;if(f)return t==="$attrs"&&he(e.attrs,"get",""),f(e);if((u=l.__cssModules)&&(u=u[t]))return u;if(n!==X&&W(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,W(h,t))return h[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return hs(r,t)?(r[t]=n,!0):s!==X&&W(s,t)?(s[t]=n,!0):W(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,props:i,type:o}},l){let c;return!!(n[l]||e!==X&&l[0]!=="$"&&W(e,l)||hs(t,l)||W(i,l)||W(s,l)||W(hn,l)||W(r.config.globalProperties,l)||(c=o.__cssModules)&&c[l])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:W(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function vr(e){return V(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Is=!0;function Gl(e){const t=Yi(e),n=e.proxy,s=e.ctx;Is=!1,t.beforeCreate&&br(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:f,created:u,beforeMount:h,mounted:g,beforeUpdate:m,updated:I,activated:R,deactivated:U,beforeDestroy:F,beforeUnmount:C,destroyed:N,unmounted:O,render:J,renderTracked:oe,renderTriggered:te,errorCaptured:Ve,serverPrefetch:ft,expose:Fe,inheritAttrs:dt,components:Et,directives:He,filters:Qt}=t;if(f&&Kl(f,s,null),o)for(const z in o){const G=o[z];B(G)&&(s[z]=G.bind(n))}if(r){const z=r.call(n,n);q(z)&&(e.data=Jt(z))}if(Is=!0,i)for(const z in i){const G=i[z],Qe=B(G)?G.bind(n,n):B(G.get)?G.get.bind(n,n):Ye,ht=!B(G)&&B(G.set)?G.set.bind(n):Ye,Ue=Oe({get:Qe,set:ht});Object.defineProperty(s,z,{enumerable:!0,configurable:!0,get:()=>Ue.value,set:be=>Ue.value=be})}if(l)for(const z in l)zi(l[z],s,n,z);if(c){const z=B(c)?c.call(n):c;Reflect.ownKeys(z).forEach(G=>{Nn(G,z[G])})}u&&br(u,e,"c");function ce(z,G){V(G)?G.forEach(Qe=>z(Qe.bind(n))):G&&z(G.bind(n))}if(ce(Il,h),ce(Wi,g),ce(Nl,m),ce(Ml,I),ce(Cl,R),ce(Pl,U),ce(Hl,Ve),ce(Fl,oe),ce(Vl,te),ce(Dl,C),ce(qi,O),ce(Ll,ft),V(Fe))if(Fe.length){const z=e.exposed||(e.exposed={});Fe.forEach(G=>{Object.defineProperty(z,G,{get:()=>n[G],set:Qe=>n[G]=Qe,enumerable:!0})})}else e.exposed||(e.exposed={});J&&e.render===Ye&&(e.render=J),dt!=null&&(e.inheritAttrs=dt),Et&&(e.components=Et),He&&(e.directives=He),ft&&Ki(e)}function Kl(e,t,n=Ye){V(e)&&(e=Ns(e));for(const s in e){const r=e[s];let i;q(r)?"default"in r?i=Ne(r.from||s,r.default,!0):i=Ne(r.from||s):i=Ne(r),ge(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function br(e,t,n){De(V(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function zi(e,t,n,s){let r=s.includes(".")?ji(n,s):()=>n[s];if(se(e)){const i=t[e];B(i)&&Mn(r,i)}else if(B(e))Mn(r,e.bind(n));else if(q(e))if(V(e))e.forEach(i=>zi(i,t,n,s));else{const i=B(e.handler)?e.handler.bind(n):t[e.handler];B(i)&&Mn(r,i,e)}}function Yi(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(f=>Bn(c,f,o,!0)),Bn(c,t,o)),q(t)&&i.set(t,c),c}function Bn(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&Bn(e,i,n,!0),r&&r.forEach(o=>Bn(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=$l[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const $l={data:Er,props:wr,emits:wr,methods:rn,computed:rn,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:rn,directives:rn,watch:ql,provide:Er,inject:Wl};function Er(e,t){return t?e?function(){return de(B(e)?e.call(this,this):e,B(t)?t.call(this,this):t)}:t:e}function Wl(e,t){return rn(Ns(e),Ns(t))}function Ns(e){if(V(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ve(t)}Modifiers`]||e[`${bt(t)}Modifiers`];function Ql(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||X;let r=n;const i=t.startsWith("update:"),o=i&&Jl(s,t.slice(7));o&&(o.trim&&(r=n.map(u=>se(u)?u.trim():u)),o.number&&(r=n.map(Jn)));let l,c=s[l=ls(t)]||s[l=ls(ve(t))];!c&&i&&(c=s[l=ls(bt(t))]),c&&De(c,e,6,r);const f=s[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,De(f,e,6,r)}}const Xl=new WeakMap;function Qi(e,t,n=!1){const s=n?Xl:t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!B(e)){const c=f=>{const u=Qi(f,t,!0);u&&(l=!0,de(o,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(q(e)&&s.set(e,null),null):(V(i)?i.forEach(c=>o[c]=null):de(o,i),q(e)&&s.set(e,o),o)}function ns(e,t){return!e||!Wn(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),W(e,t[0].toLowerCase()+t.slice(1))||W(e,bt(t))||W(e,t))}function Sr(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:f,renderCache:u,props:h,data:g,setupState:m,ctx:I,inheritAttrs:R}=e,U=Hn(e);let F,C;try{if(n.shapeFlag&4){const O=r||s,J=O;F=qe(f.call(J,O,u,h,m,g,I)),C=l}else{const O=t;F=qe(O.length>1?O(h,{attrs:l,slots:o,emit:c}):O(h,null)),C=t.props?l:Zl(l)}}catch(O){Ot.length=0,Zn(O,e,1),F=ie(at)}let N=F;if(C&&R!==!1){const O=Object.keys(C),{shapeFlag:J}=N;O.length&&J&7&&(i&&O.some(qn)&&(C=ec(C,i)),N=$t(N,C,!1,!0))}if(n.dirs&&(N=$t(N,null,!1,!0),N.dirs=N.dirs?N.dirs.concat(n.dirs):n.dirs),n.transition){const O=es(N.type)&&ki(N)||N;tr(O,n.transition)}return F=N,Hn(U),F}const Zl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Wn(n))&&((t||(t={}))[n]=e[n]);return t},ec=(e,t)=>{const n={};for(const s in e)(!qn(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function tc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,f=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Ar(s,o,f):!!o;if(c&8){const u=t.dynamicProps;for(let h=0;hObject.create(Zi),to=e=>Object.getPrototypeOf(e)===Zi;function sc(e,t,n,s=!1){const r={},i=eo();e.propsDefaults=Object.create(null),no(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:Ni(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function rc(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=$(r),[c]=e.propsOptions;let f=!1;if((s||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[g,m]=so(h,t,!0);de(o,g),m&&l.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!c)return q(e)&&s.set(e,Ut),Ut;if(V(i))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",rr=e=>V(e)?e.map(qe):[qe(e)],oc=(e,t,n)=>{if(t._n)return t;const s=Vt((...r)=>rr(t(...r)),n);return s._c=!1,s},ro=(e,t,n)=>{const s=e._ctx;for(const r in e){if(sr(r))continue;const i=e[r];if(B(i))t[r]=oc(r,i,s);else if(i!=null){const o=rr(i);t[r]=()=>o}}},io=(e,t)=>{const n=rr(t);e.slots.default=()=>n},oo=(e,t,n)=>{for(const s in t)(n||!sr(s))&&(e[s]=t[s])},lc=(e,t,n)=>{const s=e.slots=eo();if(e.vnode.shapeFlag&32){const r=t._;r?(oo(s,t,n),n&&pi(s,"_",r,!0)):ro(t,s)}else t&&io(e,t)},cc=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=X;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:oo(r,t,n):(i=!t.$stable,ro(t,r)),o=t}else t&&(io(e,t),o={default:1});if(i)for(const l in r)!sr(l)&&o[l]==null&&delete r[l]},Ee=hc;function ac(e){return uc(e)}function uc(e,t){const n=Qn();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:f,setElementText:u,parentNode:h,nextSibling:g,setScopeId:m=Ye,insertStaticContent:I}=e,R=(a,d,p,y=null,b=null,_=null,A=void 0,S=null,w=!!d.dynamicChildren)=>{if(a===d)return;a&&!en(a,d)&&(y=v(a),be(a,b,_,!0),a=null),d.patchFlag===-2&&(w=!1,d.dynamicChildren=null);const{type:E,ref:L,shapeFlag:T}=d;switch(E){case ss:U(a,d,p,y);break;case at:F(a,d,p,y);break;case Dn:a==null&&C(d,p,y,A);break;case tt:Et(a,d,p,y,b,_,A,S,w);break;default:T&1?J(a,d,p,y,b,_,A,S,w):T&6?He(a,d,p,y,b,_,A,S,w):(T&64||T&128)&&E.process(a,d,p,y,b,_,A,S,w,M)}L!=null&&b?fn(L,a&&a.ref,_,d||a,!d):L==null&&a&&a.ref!=null&&fn(a.ref,null,_,a,!0)},U=(a,d,p,y)=>{if(a==null)s(d.el=l(d.children),p,y);else{const b=d.el=a.el;d.children!==a.children&&f(b,d.children)}},F=(a,d,p,y)=>{a==null?s(d.el=c(d.children||""),p,y):d.el=a.el},C=(a,d,p,y)=>{[a.el,a.anchor]=I(a.children,d,p,y,a.el,a.anchor)},N=({el:a,anchor:d},p,y)=>{let b;for(;a&&a!==d;)b=g(a),s(a,p,y),a=b;s(d,p,y)},O=({el:a,anchor:d})=>{let p;for(;a&&a!==d;)p=g(a),r(a),a=p;r(d)},J=(a,d,p,y,b,_,A,S,w)=>{if(d.type==="svg"?A="svg":d.type==="math"&&(A="mathml"),a==null)oe(d,p,y,b,_,A,S,w);else{const E=a.el&&a.el._isVueCE?a.el:null;try{E&&E._beginPatch(),ft(a,d,b,_,A,S,w)}finally{E&&E._endPatch()}}},oe=(a,d,p,y,b,_,A,S)=>{let w,E;const{props:L,shapeFlag:T,transition:D,dirs:H}=a;if(w=a.el=o(a.type,_,L&&L.is,L),T&8?u(w,a.children):T&16&&Ve(a.children,w,null,y,b,ps(a,_),A,S),H&&St(a,null,y,"created"),te(w,a,a.scopeId,A,y),L){for(const Q in L)Q!=="value"&&!cn(Q)&&i(w,Q,null,L[Q],_,y);"value"in L&&i(w,"value",null,L.value,_),(E=L.onVnodeBeforeMount)&&Ge(E,y,a)}H&&St(a,null,y,"beforeMount");const k=fc(b,D);k&&D.beforeEnter(w),s(w,d,p),((E=L&&L.onVnodeMounted)||k||H)&&Ee(()=>{try{E&&Ge(E,y,a),k&&D.enter(w),H&&St(a,null,y,"mounted")}finally{}},b)},te=(a,d,p,y,b)=>{if(p&&m(a,p),y)for(let _=0;_{for(let E=w;E{const S=d.el=a.el;let{patchFlag:w,dynamicChildren:E,dirs:L}=d;w|=a.patchFlag&16;const T=a.props||X,D=d.props||X;let H;if(p&&At(p,!1),(H=D.onVnodeBeforeUpdate)&&Ge(H,p,d,a),L&&St(d,a,p,"beforeUpdate"),p&&At(p,!0),E&&(!a.dynamicChildren||a.dynamicChildren.length!==E.length)&&(w=0,A=!1,E=null),(T.innerHTML&&D.innerHTML==null||T.textContent&&D.textContent==null)&&u(S,""),E?Fe(a.dynamicChildren,E,S,p,y,ps(d,b),_):A||G(a,d,S,null,p,y,ps(d,b),_,!1),w>0){if(w&16)dt(S,T,D,p,b);else if(w&2&&T.class!==D.class&&i(S,"class",null,D.class,b),w&4&&i(S,"style",T.style,D.style,b),w&8){const k=d.dynamicProps;for(let Q=0;Q{H&&Ge(H,p,d,a),L&&St(d,a,p,"updated")},y)},Fe=(a,d,p,y,b,_,A)=>{for(let S=0;S{if(d!==p){if(d!==X)for(const _ in d)!cn(_)&&!(_ in p)&&i(a,_,d[_],null,b,y);for(const _ in p){if(cn(_))continue;const A=p[_],S=d[_];A!==S&&_!=="value"&&i(a,_,S,A,b,y)}"value"in p&&i(a,"value",d.value,p.value,b)}},Et=(a,d,p,y,b,_,A,S,w)=>{const E=d.el=a?a.el:l(""),L=d.anchor=a?a.anchor:l("");let{patchFlag:T,dynamicChildren:D,slotScopeIds:H}=d;H&&(S=S?S.concat(H):H),a==null?(s(E,p,y),s(L,p,y),Ve(d.children||[],p,L,b,_,A,S,w)):T>0&&T&64&&D&&a.dynamicChildren&&a.dynamicChildren.length===D.length?(Fe(a.dynamicChildren,D,p,b,_,A,S),(d.key!=null||b&&d===b.subTree)&&lo(a,d,!0)):G(a,d,p,L,b,_,A,S,w)},He=(a,d,p,y,b,_,A,S,w)=>{d.slotScopeIds=S,a==null?d.shapeFlag&512?b.ctx.activate(d,p,y,A,w):Qt(d,p,y,b,_,A,w):It(a,d,w)},Qt=(a,d,p,y,b,_,A)=>{const S=a.component=vc(a,y,b);if(nr(a)&&(S.ctx.renderer=M),Ec(S,!1,A),S.asyncDep){if(b&&b.registerDep(S,ce,A),!a.el){const w=S.subTree=ie(at);F(null,w,d,p),a.placeholder=w.el}}else ce(S,a,d,p,b,_,A)},It=(a,d,p)=>{const y=d.component=a.component;if(tc(a,d,p))if(y.asyncDep&&!y.asyncResolved){z(y,d,p);return}else y.next=d,y.update();else d.el=a.el,y.vnode=d},ce=(a,d,p,y,b,_,A)=>{const S=()=>{if(a.isMounted){let{next:T,bu:D,u:H,parent:k,vnode:Q}=a;{const je=co(a);if(je){T&&(T.el=Q.el,z(a,T,A)),je.asyncDep.then(()=>{Ee(()=>{a.isUnmounted||E()},b)});return}}let Y=T,re;At(a,!1),T?(T.el=Q.el,z(a,T,A)):T=Q,D&&In(D),(re=T.props&&T.props.onVnodeBeforeUpdate)&&Ge(re,k,T,Q),At(a,!0);const ue=Sr(a),Be=a.subTree;a.subTree=ue,R(Be,ue,h(Be.el),v(Be),a,b,_),T.el=ue.el,Y===null&&nc(a,ue.el),H&&Ee(H,b),(re=T.props&&T.props.onVnodeUpdated)&&Ee(()=>Ge(re,k,T,Q),b)}else{let T;const{el:D,props:H}=d,{bm:k,m:Q,parent:Y,root:re,type:ue}=a,Be=dn(d);At(a,!1),k&&In(k),!Be&&(T=H&&H.onVnodeBeforeMount)&&Ge(T,Y,d),At(a,!0);{re.ce&&re.ce._hasShadowRoot()&&re.ce._injectChildStyle(ue,a.parent?a.parent.type:void 0);const je=a.subTree=Sr(a);R(null,je,p,y,a,b,_),d.el=je.el}if(Q&&Ee(Q,b),!Be&&(T=H&&H.onVnodeMounted)){const je=d;Ee(()=>Ge(T,Y,je),b)}(d.shapeFlag&256||Y&&dn(Y.vnode)&&Y.vnode.shapeFlag&256)&&a.a&&Ee(a.a,b),a.isMounted=!0,d=p=y=null}};a.scope.on();const w=a.effect=new yi(S);a.scope.off();const E=a.update=w.run.bind(w),L=a.job=w.runIfDirty.bind(w);L.i=a,L.id=a.uid,w.scheduler=()=>er(L),At(a,!0),E()},z=(a,d,p)=>{d.component=a;const y=a.vnode.props;a.vnode=d,a.next=null,rc(a,d.props,y,p),cc(a,d.children,p),ot(),pr(a),lt()},G=(a,d,p,y,b,_,A,S,w=!1)=>{const E=a&&a.children,L=a?a.shapeFlag:0,T=d.children,{patchFlag:D,shapeFlag:H}=d;if(D>0){if(D&128){ht(E,T,p,y,b,_,A,S,w);return}else if(D&256){Qe(E,T,p,y,b,_,A,S,w);return}}H&8?(L&16&&Te(E,b,_),T!==E&&u(p,T)):L&16?H&16?ht(E,T,p,y,b,_,A,S,w):Te(E,b,_,!0):(L&8&&u(p,""),H&16&&Ve(T,p,y,b,_,A,S,w))},Qe=(a,d,p,y,b,_,A,S,w)=>{a=a||Ut,d=d||Ut;const E=a.length,L=d.length,T=Math.min(E,L);let D;for(D=0;DL?Te(a,b,_,!0,!1,T):Ve(d,p,y,b,_,A,S,w,T)},ht=(a,d,p,y,b,_,A,S,w)=>{let E=0;const L=d.length;let T=a.length-1,D=L-1;for(;E<=T&&E<=D;){const H=a[E],k=d[E]=w?nt(d[E]):qe(d[E]);if(en(H,k))R(H,k,p,null,b,_,A,S,w);else break;E++}for(;E<=T&&E<=D;){const H=a[T],k=d[D]=w?nt(d[D]):qe(d[D]);if(en(H,k))R(H,k,p,null,b,_,A,S,w);else break;T--,D--}if(E>T){if(E<=D){const H=D+1,k=HD)for(;E<=T;)be(a[E],b,_,!0),E++;else{const H=E,k=E,Q=new Map;for(E=k;E<=D;E++){const we=d[E]=w?nt(d[E]):qe(d[E]);we.key!=null&&Q.set(we.key,E)}let Y,re=0;const ue=D-k+1;let Be=!1,je=0;const Xt=new Array(ue);for(E=0;E=ue){be(we,b,_,!0);continue}let ke;if(we.key!=null)ke=Q.get(we.key);else for(Y=k;Y<=D;Y++)if(Xt[Y-k]===0&&en(we,d[Y])){ke=Y;break}ke===void 0?be(we,b,_,!0):(Xt[ke-k]=E+1,ke>=je?je=ke:Be=!0,R(we,d[ke],p,null,b,_,A,S,w),re++)}const lr=Be?dc(Xt):Ut;for(Y=lr.length-1,E=ue-1;E>=0;E--){const we=k+E,ke=d[we],cr=d[we+1],ar=we+1{const{el:_,type:A,transition:S,children:w,shapeFlag:E}=a;if(E&6){Ue(a.component.subTree,d,p,y);return}if(E&128){a.suspense.move(d,p,y);return}if(E&64){A.move(a,d,p,M);return}if(A===tt){s(_,d,p);for(let T=0;TS.enter(_),b));else{const{leave:T,delayLeave:D,afterLeave:H}=S,k=()=>{a.ctx.isUnmounted?r(_):s(_,d,p)},Q=()=>{const Y=_._isLeaving||!!_[ds];_._isLeaving&&_[ds](!0),S.persisted&&!Y?k():T(_,()=>{k(),H&&H()})};D?D(_,k,Q):Q()}else s(_,d,p)},be=(a,d,p,y=!1,b=!1)=>{const{type:_,props:A,ref:S,children:w,dynamicChildren:E,shapeFlag:L,patchFlag:T,dirs:D,cacheIndex:H,memo:k}=a;if(T===-2&&(b=!1),S!=null&&(ot(),fn(S,null,p,a,!0),lt()),H!=null&&(d.renderCache[H]=void 0),L&256){d.ctx.deactivate(a);return}const Q=L&1&&D,Y=!dn(a);let re;if(Y&&(re=A&&A.onVnodeBeforeUnmount)&&Ge(re,d,a),L&6)wt(a.component,p,y);else{if(L&128){a.suspense.unmount(p,y);return}Q&&St(a,null,d,"beforeUnmount"),L&64?a.type.remove(a,d,p,M,y):E&&!E.hasOnce&&(_!==tt||T>0&&T&64)?Te(E,d,p,!1,!0):(_===tt&&T&384||!b&&L&16)&&Te(w,d,p),y&&Nt(a)}const ue=k!=null&&H==null;(Y&&(re=A&&A.onVnodeUnmounted)||Q||ue)&&Ee(()=>{re&&Ge(re,d,a),Q&&St(a,null,d,"unmounted"),ue&&(a.el=null)},p)},Nt=a=>{const{type:d,el:p,anchor:y,transition:b}=a;if(d===tt){Mt(p,y);return}if(d===Dn){O(a);return}const _=()=>{r(p),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(a.shapeFlag&1&&b&&!b.persisted){const{leave:A,delayLeave:S}=b,w=()=>A(p,_);S?S(a.el,_,w):w()}else _()},Mt=(a,d)=>{let p;for(;a!==d;)p=g(a),r(a),a=p;r(d)},wt=(a,d,p)=>{const{bum:y,scope:b,job:_,subTree:A,um:S,m:w,a:E}=a;xr(w),xr(E),y&&In(y),b.stop(),_&&(_.flags|=8,be(A,a,d,p)),S&&Ee(S,d),Ee(()=>{a.isUnmounted=!0},d)},Te=(a,d,p,y=!1,b=!1,_=0)=>{for(let A=_;A{if(a.shapeFlag&6)return v(a.component.subTree);if(a.shapeFlag&128)return a.suspense.next();const d=g(a.anchor||a.el),p=d&&d[xl];return p?g(p):d};let P=!1;const x=(a,d,p)=>{let y;a==null?d._vnode&&(be(d._vnode,null,null,!0),y=d._vnode.component):R(d._vnode||null,a,d,null,null,null,p),d._vnode=a,P||(P=!0,pr(y),Fi(),P=!1)},M={p:R,um:be,m:Ue,r:Nt,mt:Qt,mc:Ve,pc:G,pbc:Fe,n:v,o:e};return{render:x,hydrate:void 0,createApp:Yl(x)}}function ps({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 At({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function fc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function lo(e,t,n=!1){const s=e.children,r=t.children;if(V(s)&&V(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function co(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:co(t)}function xr(e){if(e)for(let t=0;te.__isSuspense;function hc(e,t){t&&t.pendingBranch?V(e)?t.effects.push(...e):t.effects.push(e):wl(e)}const tt=Symbol.for("v-fgt"),ss=Symbol.for("v-txt"),at=Symbol.for("v-cmt"),Dn=Symbol.for("v-stc"),Ot=[];let Re=null;function on(e=!1){Ot.push(Re=e?null:[])}function fo(){Ot.pop(),Re=Ot[Ot.length-1]||null}let yn=1;function jn(e,t=!1){yn+=e,e<0&&Re&&t&&(Re.hasOnce=!0)}function ho(e){return e.dynamicChildren=yn>0?Re||Ut:null,fo(),yn>0&&Re&&Re.push(e),e}function Tr(e,t,n,s,r,i){return ho(mt(e,t,n,s,r,i,!0))}function Ds(e,t,n,s,r){return ho(ie(e,t,n,s,r,!0))}function kn(e){return e?e.__v_isVNode===!0:!1}function en(e,t){return e.type===t.type&&e.key===t.key}const po=({key:e})=>e??null,Ln=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?se(e)||ge(e)||B(e)?{i:Ae,r:e,k:t,f:!!n}:e:null);function mt(e,t=null,n=null,s=0,r=null,i=e===tt?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&po(t),ref:t&&Ln(t),scopeId:Ui,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:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ae};return l?(Gn(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=se(n)?8:16),yn>0&&!o&&Re&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Re.push(c),c}const ie=pc;function pc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Bl)&&(e=at),kn(e)){const l=$t(e,t,!0);return n&&Gn(l,n),yn>0&&!i&&Re&&(l.shapeFlag&6?Re[Re.indexOf(e)]=l:Re.push(l)),l.patchFlag=-2,l}if(xc(e)&&(e=e.__vccOpts),t){t=gc(t);let{class:l,style:c}=t;l&&!se(l)&&(t.class=jt(l)),q(c)&&(Xs(c)&&!V(c)&&(c=de({},c)),t.style=Ks(c))}const o=se(e)?1:uo(e)?128:es(e)?64:q(e)?4:B(e)?2:0;return mt(e,t,n,s,r,o,i,!0)}function gc(e){return e?Xs(e)||to(e)?de({},e):e:null}function $t(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,f=t?mc(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:f,key:f&&po(f),ref:t&&t.ref?n&&i?V(i)?i.concat(Ln(t)):[i,Ln(t)]:Ln(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==tt?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&&$t(e.ssContent),ssFallback:e.ssFallback&&$t(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&tr(u,c.clone(u)),u}function Ft(e=" ",t=0){return ie(ss,null,e,t)}function Vu(e,t){const n=ie(Dn,null,e);return n.staticCount=t,n}function Cr(e="",t=!1){return t?(on(),Ds(at,null,e)):ie(at,null,e)}function qe(e){return e==null||typeof e=="boolean"?ie(at):V(e)?ie(tt,null,e.slice()):kn(e)?nt(e):ie(ss,null,String(e))}function nt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:$t(e)}function Gn(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(V(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),Gn(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!to(t)?t._ctx=Ae:r===3&&Ae&&(Ae.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(B(t)){if(s&65){Gn(e,{default:t});return}t={default:t,_ctx:Ae},n=32}else t=String(t),s&64?(n=16,t=[Ft(t)]):n=8;e.children=t,e.shapeFlag|=n}function mc(...e){const t={};for(let n=0;npe||Ae;let Kn,vn;{const e=Qn(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Kn=t("__VUE_INSTANCE_SETTERS__",n=>pe=n),vn=t("__VUE_SSR_SETTERS__",n=>bn=n)}const Rn=e=>{const t=pe;return Kn(e),e.scope.on(),()=>{e.scope.off(),Kn(t)}},Pr=()=>{pe&&pe.scope.off(),Kn(null)};function go(e){return e.vnode.shapeFlag&4}let bn=!1;function Ec(e,t=!1,n=!1){t&&vn(t);const{props:s,children:r}=e.vnode,i=go(e);sc(e,s,i,t),lc(e,r,n||t);const o=i?wc(e,t):void 0;return t&&vn(!1),o}function wc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,kl);const{setup:s}=n;if(s){ot();const r=e.setupContext=s.length>1?Ac(e):null,i=Rn(e),o=An(s,e,0,[e.props,r]),l=fi(o);if(lt(),i(),(l||e.sp)&&!dn(e)&&Ki(e),l){if(o.then(Pr,Pr),t)return o.then(c=>{vn(!0);try{Or(e,c,t)}finally{vn(!1)}}).catch(c=>{Zn(c,e,0)});e.asyncDep=o}else Or(e,o)}else mo(e)}function Or(e,t,n){B(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:q(t)&&(e.setupState=Di(t)),mo(e)}function mo(e,t,n){const s=e.type;e.render||(e.render=s.render||Ye);{const r=Rn(e);ot();try{Gl(e)}finally{lt(),r()}}}const Sc={get(e,t){return he(e,"get",""),e[t]}};function Ac(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Sc),slots:e.slots,emit:e.emit,expose:t}}function rs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Di(fl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in hn)return hn[n](e)},has(t,n){return n in t||n in hn}})):e.proxy}function Rc(e,t=!0){return B(e)?e.displayName||e.name:e.name||t&&e.__name}function xc(e){return B(e)&&"__vccOpts"in e}const Oe=(e,t)=>_l(e,t,bn);function En(e,t,n){try{jn(-1);const s=arguments.length;return s===2?q(t)&&!V(t)?kn(t)?ie(e,null,[t]):ie(e,t):ie(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&kn(n)&&(n=[n]),ie(e,t,n))}finally{jn(1)}}const Tc="3.5.41";/** * @vue/runtime-dom v3.5.41 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT -**/let Ls;const Ir=typeof window<"u"&&window.trustedTypes;if(Ir)try{Ls=Ir.createPolicy("vue",{createHTML:e=>e})}catch{}const _o=Ls?e=>Ls.createHTML(e):e=>e,Cc="http://www.w3.org/2000/svg",Pc="http://www.w3.org/1998/Math/MathML",et=typeof document<"u"?document:null,Nr=et&&et.createElement("template"),Oc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?et.createElementNS(Cc,e):t==="mathml"?et.createElementNS(Pc,e):n?et.createElement(e,{is:n}):et.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>et.createTextNode(e),createComment:e=>et.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>et.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Nr.innerHTML=_o(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Nr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ic=Symbol("_vtc");function Nc(e,t,n){const s=e[Ic];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const $n=Symbol("_vod"),yo=Symbol("_vsh"),Vu={name:"show",beforeMount(e,{value:t},{transition:n}){e[$n]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):tn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),tn(e,!0),s.enter(e)):s.leave(e,()=>{tn(e,!1)}):tn(e,t))},beforeUnmount(e,{value:t}){tn(e,t)}};function tn(e,t){e.style.display=t?e[$n]:"none",e[yo]=!t}const Mc=Symbol(""),Dc=/(?:^|;)\s*display\s*:/;function Lc(e,t,n){const s=e.style,r=se(n);let i=!1;if(n&&!r){if(t)if(se(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&ln(s,l,"")}else for(const o in t)n[o]==null&&ln(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Fc(e,o,!se(t)&&t?t[o]:void 0,l)||ln(s,o,l):ln(s,o,"")}}else if(r){if(t!==n){const o=s[Mc];o&&(n+=";"+o),s.cssText=n,i=Dc.test(n)}}else t&&e.removeAttribute("style");$n in e&&(e[$n]=i?s.display:"",e[yo]&&(s.display="none"))}const Mr=/\s*!important$/;function ln(e,t,n){if(V(n))n.forEach(s=>ln(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Vc(e,t);Mr.test(n)?e.setProperty(vt(s),n.replace(Mr,""),"important"):e[s]=n}}const Dr=["Webkit","Moz","ms"],gs={};function Vc(e,t){const n=gs[t];if(n)return n;let s=ve(t);if(s!=="filter"&&s in e)return gs[t]=s;s=Yn(s);for(let r=0;rms||(Gc.then(()=>ms=0),ms=Date.now());function $c(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(V(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Nc(e,s,o):t==="style"?Lc(e,n,s):Wn(t)?qn(t)||Uc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qc(e,t,s,o))?(Fr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Vr(e,t,s,o,i,t!=="value")):e._isVueCE&&(zc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!se(s)))?Fr(e,ve(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Vr(e,t,s,o))};function qc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ur(t)&&B(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Ur(t)&&se(n)?!1:t in e}function zc(e,t){const n=e._def.props;if(!n)return!1;const s=ve(t);return Array.isArray(n)?n.some(r=>ve(r)===s):Object.keys(n).some(r=>ve(r)===s)}const yt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return V(t)?n=>In(t,n):t};function Yc(e){e.target.composing=!0}function Br(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xe=Symbol("_assign"),Pn=Symbol("_initialValue");function _s(e,t,n){return t&&(e=e.trim()),n&&(e=Jn(e)),e}const jr={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[Pn]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Pn]=e.defaultValue.replace(/\r\n?/g,` -`))),e[xe]=yt(r);const i=s||r.props&&r.props.type==="number";it(e,t?"change":"input",o=>{o.target.composing||e[xe](_s(e.value,n,i))}),(n||i)&&it(e,"change",()=>{e.value=_s(e.value,n,i)}),t||(it(e,"compositionstart",Yc),it(e,"compositionend",Br),it(e,"change",Br))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[Pn];delete e[Pn],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[xe](_s(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[xe]=yt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Jn(e.value):e.value,c=t??"";if(l===c)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},Jc={deep:!0,created(e,t,n){e[xe]=yt(n),it(e,"change",()=>{const s=e._modelValue,r=Wt(e),i=e.checked,o=e[xe];if(V(s)){const l=$s(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const f=[...s];f.splice(l,1),o(f)}}else if(Yt(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(vo(e,i))})},mounted:kr,beforeUpdate(e,t,n){e[xe]=yt(n),kr(e,t,n)}};function kr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(V(t))r=$s(t,s.props.value)>-1;else if(Yt(t))r=t.has(s.props.value);else{if(t===n)return;r=_t(t,vo(e,!0))}e.checked!==r&&(e.checked=r)}const Qc={created(e,{value:t},n){e.checked=_t(t,n.props.value),e[xe]=yt(n),it(e,"change",()=>{e[xe](Wt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[xe]=yt(s),t!==n&&(e.checked=_t(t,s.props.value))}},Xc={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,it(e,"change",()=>{const r=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Jn(Wt(i)):Wt(i));e[xe](e.multiple?Yt(e._modelValue)?new Set(r):r:r[0]),e._assigning=!0,Zs(()=>{e._assigning=!1})}),e[xe]=yt(s)},mounted(e,{value:t}){Gr(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[xe]=yt(n)},updated(e,{value:t}){e._assigning||Gr(e,t)}};function Gr(e,t){const n=e.multiple,s=V(t);if(!(n&&!s&&!Yt(t))){for(let r=0,i=e.options.length;rString(f)===String(l)):o.selected=$s(t,l)>-1}else o.selected=t.has(l);else if(_t(Wt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Wt(e){return"_value"in e?e._value:e.value}function vo(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Fu={created(e,t,n){On(e,t,n,null,"created")},mounted(e,t,n){On(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){On(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){On(e,t,n,s,"updated")}};function Zc(e,t){switch(e){case"SELECT":return Xc;case"TEXTAREA":return jr;default:switch(t){case"checkbox":return Jc;case"radio":return Qc;default:return jr}}}function On(e,t,n,s,r){const o=Zc(e.tagName,n.props&&n.props.type)[r];o&&o(e,t,n,s)}const ea=["ctrl","shift","alt","meta"],ta={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)=>ea.some(n=>e[`${n}Key`]&&!t.includes(n))},Hu=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=vt(r.key);if(t.some(o=>o===i||na[o]===i))return e(r)})},sa=de({patchProp:Wc},Oc);let Kr;function ra(){return Kr||(Kr=ac(sa))}const ia=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=la(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,oa(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function oa(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function la(e){return se(e)?document.querySelector(e):e}/*! +**/let Ls;const Ir=typeof window<"u"&&window.trustedTypes;if(Ir)try{Ls=Ir.createPolicy("vue",{createHTML:e=>e})}catch{}const _o=Ls?e=>Ls.createHTML(e):e=>e,Cc="http://www.w3.org/2000/svg",Pc="http://www.w3.org/1998/Math/MathML",et=typeof document<"u"?document:null,Nr=et&&et.createElement("template"),Oc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?et.createElementNS(Cc,e):t==="mathml"?et.createElementNS(Pc,e):n?et.createElement(e,{is:n}):et.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>et.createTextNode(e),createComment:e=>et.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>et.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{Nr.innerHTML=_o(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=Nr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ic=Symbol("_vtc");function Nc(e,t,n){const s=e[Ic];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const $n=Symbol("_vod"),yo=Symbol("_vsh"),Fu={name:"show",beforeMount(e,{value:t},{transition:n}){e[$n]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):tn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),tn(e,!0),s.enter(e)):s.leave(e,()=>{tn(e,!1)}):tn(e,t))},beforeUnmount(e,{value:t}){tn(e,t)}};function tn(e,t){e.style.display=t?e[$n]:"none",e[yo]=!t}const Mc=Symbol(""),Dc=/(?:^|;)\s*display\s*:/;function Lc(e,t,n){const s=e.style,r=se(n);let i=!1;if(n&&!r){if(t)if(se(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&ln(s,l,"")}else for(const o in t)n[o]==null&&ln(s,o,"");for(const o in n){o==="display"&&(i=!0);const l=n[o];l!=null?Fc(e,o,!se(t)&&t?t[o]:void 0,l)||ln(s,o,l):ln(s,o,"")}}else if(r){if(t!==n){const o=s[Mc];o&&(n+=";"+o),s.cssText=n,i=Dc.test(n)}}else t&&e.removeAttribute("style");$n in e&&(e[$n]=i?s.display:"",e[yo]&&(s.display="none"))}const Mr=/\s*!important$/;function ln(e,t,n){if(V(n))n.forEach(s=>ln(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Vc(e,t);Mr.test(n)?e.setProperty(bt(s),n.replace(Mr,""),"important"):e[s]=n}}const Dr=["Webkit","Moz","ms"],gs={};function Vc(e,t){const n=gs[t];if(n)return n;let s=ve(t);if(s!=="filter"&&s in e)return gs[t]=s;s=Yn(s);for(let r=0;rms||(Gc.then(()=>ms=0),ms=Date.now());function $c(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const r=n.value;if(V(r)){const i=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{i.call(s),s._stopped=!0};const o=r.slice(),l=[s];for(let c=0;ce.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Wc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Nc(e,s,o):t==="style"?Lc(e,n,s):Wn(t)?qn(t)||Uc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):qc(e,t,s,o))?(Fr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Vr(e,t,s,o,i,t!=="value")):e._isVueCE&&(zc(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!se(s)))?Fr(e,ve(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Vr(e,t,s,o))};function qc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Ur(t)&&B(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Ur(t)&&se(n)?!1:t in e}function zc(e,t){const n=e._def.props;if(!n)return!1;const s=ve(t);return Array.isArray(n)?n.some(r=>ve(r)===s):Object.keys(n).some(r=>ve(r)===s)}const vt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return V(t)?n=>In(t,n):t};function Yc(e){e.target.composing=!0}function Br(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const xe=Symbol("_assign"),Pn=Symbol("_initialValue");function _s(e,t,n){return t&&(e=e.trim()),n&&(e=Jn(e)),e}const jr={created(e,{modifiers:{lazy:t,trim:n,number:s}},r){e.parentNode&&(e.type==="text"?e[Pn]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[Pn]=e.defaultValue.replace(/\r\n?/g,` +`))),e[xe]=vt(r);const i=s||r.props&&r.props.type==="number";it(e,t?"change":"input",o=>{o.target.composing||e[xe](_s(e.value,n,i))}),(n||i)&&it(e,"change",()=>{e.value=_s(e.value,n,i)}),t||(it(e,"compositionstart",Yc),it(e,"compositionend",Br),it(e,"change",Br))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const r=t??"",i=e[Pn];delete e[Pn],i!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==i?e[xe](_s(e.value,n,s)):e.value=r},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:r,number:i}},o){if(e[xe]=vt(o),e.composing)return;const l=(i||e.type==="number")&&!/^0\d/.test(e.value)?Jn(e.value):e.value,c=t??"";if(l===c)return;const f=e.getRootNode();(f instanceof Document||f instanceof ShadowRoot)&&f.activeElement===e&&e.type!=="range"&&(s&&t===n||r&&e.value.trim()===c)||(e.value=c)}},Jc={deep:!0,created(e,t,n){e[xe]=vt(n),it(e,"change",()=>{const s=e._modelValue,r=Wt(e),i=e.checked,o=e[xe];if(V(s)){const l=$s(s,r),c=l!==-1;if(i&&!c)o(s.concat(r));else if(!i&&c){const f=[...s];f.splice(l,1),o(f)}}else if(Yt(s)){const l=new Set(s);i?l.add(r):l.delete(r),o(l)}else o(vo(e,i))})},mounted:kr,beforeUpdate(e,t,n){e[xe]=vt(n),kr(e,t,n)}};function kr(e,{value:t,oldValue:n},s){e._modelValue=t;let r;if(V(t))r=$s(t,s.props.value)>-1;else if(Yt(t))r=t.has(s.props.value);else{if(t===n)return;r=yt(t,vo(e,!0))}e.checked!==r&&(e.checked=r)}const Qc={created(e,{value:t},n){e.checked=yt(t,n.props.value),e[xe]=vt(n),it(e,"change",()=>{e[xe](Wt(e))})},beforeUpdate(e,{value:t,oldValue:n},s){e[xe]=vt(s),t!==n&&(e.checked=yt(t,s.props.value))}},Xc={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,it(e,"change",()=>{const r=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>n?Jn(Wt(i)):Wt(i));e[xe](e.multiple?Yt(e._modelValue)?new Set(r):r:r[0]),e._assigning=!0,Zs(()=>{e._assigning=!1})}),e[xe]=vt(s)},mounted(e,{value:t}){Gr(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[xe]=vt(n)},updated(e,{value:t}){e._assigning||Gr(e,t)}};function Gr(e,t){const n=e.multiple,s=V(t);if(!(n&&!s&&!Yt(t))){for(let r=0,i=e.options.length;rString(f)===String(l)):o.selected=$s(t,l)>-1}else o.selected=t.has(l);else if(yt(Wt(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Wt(e){return"_value"in e?e._value:e.value}function vo(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Hu={created(e,t,n){On(e,t,n,null,"created")},mounted(e,t,n){On(e,t,n,null,"mounted")},beforeUpdate(e,t,n,s){On(e,t,n,s,"beforeUpdate")},updated(e,t,n,s){On(e,t,n,s,"updated")}};function Zc(e,t){switch(e){case"SELECT":return Xc;case"TEXTAREA":return jr;default:switch(t){case"checkbox":return Jc;case"radio":return Qc;default:return jr}}}function On(e,t,n,s,r){const o=Zc(e.tagName,n.props&&n.props.type)[r];o&&o(e,t,n,s)}const ea=["ctrl","shift","alt","meta"],ta={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)=>ea.some(n=>e[`${n}Key`]&&!t.includes(n))},Uu=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=bt(r.key);if(t.some(o=>o===i||na[o]===i))return e(r)})},sa=de({patchProp:Wc},Oc);let Kr;function ra(){return Kr||(Kr=ac(sa))}const ia=(...e)=>{const t=ra().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=la(s);if(!r)return;const i=t._component;!B(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const o=n(r,!1,oa(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),o},t};function oa(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function la(e){return se(e)?document.querySelector(e):e}/*! * vue-router v4.6.4 * (c) 2025 Eduardo San Martin Morote * @license MIT - */const Ht=typeof document<"u";function bo(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ca(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&bo(e.default)}const K=Object.assign;function ys(e,t){const n={};for(const s in t){const r=t[s];n[s]=Le(r)?r.map(e):e(r)}return n}const pn=()=>{},Le=Array.isArray;function $r(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const Eo=/#/g,aa=/&/g,ua=/\//g,fa=/=/g,da=/\?/g,wo=/\+/g,ha=/%5B/g,pa=/%5D/g,So=/%5E/g,ga=/%60/g,Ao=/%7B/g,ma=/%7C/g,Ro=/%7D/g,_a=/%20/g;function ir(e){return e==null?"":encodeURI(""+e).replace(ma,"|").replace(ha,"[").replace(pa,"]")}function ya(e){return ir(e).replace(Ao,"{").replace(Ro,"}").replace(So,"^")}function Vs(e){return ir(e).replace(wo,"%2B").replace(_a,"+").replace(Eo,"%23").replace(aa,"%26").replace(ga,"`").replace(Ao,"{").replace(Ro,"}").replace(So,"^")}function va(e){return Vs(e).replace(fa,"%3D")}function ba(e){return ir(e).replace(Eo,"%23").replace(da,"%3F")}function Ea(e){return ba(e).replace(ua,"%2F")}function wn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const wa=/\/$/,Sa=e=>e.replace(wa,"");function vs(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=Ta(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:wn(o)}}function Aa(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Wr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ra(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&qt(t.matched[s],n.matched[r])&&xo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function qt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function xo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!xa(e[n],t[n]))return!1;return!0}function xa(e,t){return Le(e)?qr(e,t):Le(t)?qr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function qr(e,t){return Le(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Ta(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const pt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Fs=function(e){return e.pop="pop",e.push="push",e}({}),bs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function Ca(e){if(!e)if(Ht){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Sa(e)}const Pa=/^[^#]+#/;function Oa(e,t){return e.replace(Pa,"#")+t}function Ia(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const is=()=>({left:window.scrollX,top:window.scrollY});function Na(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Ia(r,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 zr(e,t){return(history.state?history.state.position-t:-1)+e}const Hs=new Map;function Ma(e,t){Hs.set(e,t)}function Da(e){const t=Hs.get(e);return Hs.delete(e),t}function La(e){return typeof e=="string"||e&&typeof e=="object"}function To(e){return typeof e=="string"||typeof e=="symbol"}let ne=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 Co=Symbol("");ne.MATCHER_NOT_FOUND+"",ne.NAVIGATION_GUARD_REDIRECT+"",ne.NAVIGATION_ABORTED+"",ne.NAVIGATION_CANCELLED+"",ne.NAVIGATION_DUPLICATED+"";function zt(e,t){return K(new Error,{type:e,[Co]:!0},t)}function Ze(e,t){return e instanceof Error&&Co in e&&(t==null||!!(e.type&t))}const Va=["params","query","hash"];function Fa(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Va)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Ha(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sr&&Vs(r)):[s&&Vs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Ua(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Le(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Ba=Symbol(""),Jr=Symbol(""),os=Symbol(""),or=Symbol(""),Us=Symbol("");function nn(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function mt(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const f=g=>{g===!1?c(zt(ne.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?c(g):La(g)?c(zt(ne.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(o&&s.enterCallbacks[r]===o&&typeof g=="function"&&o.push(g),l())},u=i(()=>e.call(s&&s.instances[r],t,n,f));let h=Promise.resolve(u);e.length<3&&(h=h.then(f)),h.catch(g=>c(g))})}function Es(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(bo(c)){const f=(c.__vccOpts||c)[t];f&&i.push(mt(f,n,s,o,l,r))}else{let f=c();i.push(()=>f.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=ca(u)?u.default:u;o.mods[l]=u,o.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&mt(g,n,s,o,l,r)()}))}}return i}function ja(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oqt(f,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(f=>qt(f,c))||r.push(c))}return[n,s,r]}/*! + */const Ht=typeof document<"u";function bo(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ca(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&bo(e.default)}const K=Object.assign;function ys(e,t){const n={};for(const s in t){const r=t[s];n[s]=Le(r)?r.map(e):e(r)}return n}const pn=()=>{},Le=Array.isArray;function $r(e,t){const n={};for(const s in e)n[s]=s in t?t[s]:e[s];return n}const Eo=/#/g,aa=/&/g,ua=/\//g,fa=/=/g,da=/\?/g,wo=/\+/g,ha=/%5B/g,pa=/%5D/g,So=/%5E/g,ga=/%60/g,Ao=/%7B/g,ma=/%7C/g,Ro=/%7D/g,_a=/%20/g;function ir(e){return e==null?"":encodeURI(""+e).replace(ma,"|").replace(ha,"[").replace(pa,"]")}function ya(e){return ir(e).replace(Ao,"{").replace(Ro,"}").replace(So,"^")}function Vs(e){return ir(e).replace(wo,"%2B").replace(_a,"+").replace(Eo,"%23").replace(aa,"%26").replace(ga,"`").replace(Ao,"{").replace(Ro,"}").replace(So,"^")}function va(e){return Vs(e).replace(fa,"%3D")}function ba(e){return ir(e).replace(Eo,"%23").replace(da,"%3F")}function Ea(e){return ba(e).replace(ua,"%2F")}function wn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const wa=/\/$/,Sa=e=>e.replace(wa,"");function vs(e,t,n="/"){let s,r={},i="",o="";const l=t.indexOf("#");let c=t.indexOf("?");return c=l>=0&&c>l?-1:c,c>=0&&(s=t.slice(0,c),i=t.slice(c,l>0?l:t.length),r=e(i.slice(1))),l>=0&&(s=s||t.slice(0,l),o=t.slice(l,t.length)),s=Ta(s??t,n),{fullPath:s+i+o,path:s,query:r,hash:wn(o)}}function Aa(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Wr(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Ra(e,t,n){const s=t.matched.length-1,r=n.matched.length-1;return s>-1&&s===r&&qt(t.matched[s],n.matched[r])&&xo(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function qt(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function xo(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!xa(e[n],t[n]))return!1;return!0}function xa(e,t){return Le(e)?qr(e,t):Le(t)?qr(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function qr(e,t){return Le(t)?e.length===t.length&&e.every((n,s)=>n===t[s]):e.length===1&&e[0]===t}function Ta(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),s=e.split("/"),r=s[s.length-1];(r===".."||r===".")&&s.push("");let i=n.length-1,o,l;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+s.slice(o).join("/")}const pt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Fs=function(e){return e.pop="pop",e.push="push",e}({}),bs=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function Ca(e){if(!e)if(Ht){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Sa(e)}const Pa=/^[^#]+#/;function Oa(e,t){return e.replace(Pa,"#")+t}function Ia(e,t){const n=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-n.left-(t.left||0),top:s.top-n.top-(t.top||0)}}const is=()=>({left:window.scrollX,top:window.scrollY});function Na(e){let t;if("el"in e){const n=e.el,s=typeof n=="string"&&n.startsWith("#"),r=typeof n=="string"?s?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!r)return;t=Ia(r,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 zr(e,t){return(history.state?history.state.position-t:-1)+e}const Hs=new Map;function Ma(e,t){Hs.set(e,t)}function Da(e){const t=Hs.get(e);return Hs.delete(e),t}function La(e){return typeof e=="string"||e&&typeof e=="object"}function To(e){return typeof e=="string"||typeof e=="symbol"}let ne=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 Co=Symbol("");ne.MATCHER_NOT_FOUND+"",ne.NAVIGATION_GUARD_REDIRECT+"",ne.NAVIGATION_ABORTED+"",ne.NAVIGATION_CANCELLED+"",ne.NAVIGATION_DUPLICATED+"";function zt(e,t){return K(new Error,{type:e,[Co]:!0},t)}function Ze(e,t){return e instanceof Error&&Co in e&&(t==null||!!(e.type&t))}const Va=["params","query","hash"];function Fa(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Va)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Ha(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;sr&&Vs(r)):[s&&Vs(s)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+n,r!=null&&(t+="="+r))})}return t}function Ua(e){const t={};for(const n in e){const s=e[n];s!==void 0&&(t[n]=Le(s)?s.map(r=>r==null?null:""+r):s==null?s:""+s)}return t}const Ba=Symbol(""),Jr=Symbol(""),os=Symbol(""),or=Symbol(""),Us=Symbol("");function nn(){let e=[];function t(s){return e.push(s),()=>{const r=e.indexOf(s);r>-1&&e.splice(r,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function _t(e,t,n,s,r,i=o=>o()){const o=s&&(s.enterCallbacks[r]=s.enterCallbacks[r]||[]);return()=>new Promise((l,c)=>{const f=g=>{g===!1?c(zt(ne.NAVIGATION_ABORTED,{from:n,to:t})):g instanceof Error?c(g):La(g)?c(zt(ne.NAVIGATION_GUARD_REDIRECT,{from:t,to:g})):(o&&s.enterCallbacks[r]===o&&typeof g=="function"&&o.push(g),l())},u=i(()=>e.call(s&&s.instances[r],t,n,f));let h=Promise.resolve(u);e.length<3&&(h=h.then(f)),h.catch(g=>c(g))})}function Es(e,t,n,s,r=i=>i()){const i=[];for(const o of e)for(const l in o.components){let c=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(bo(c)){const f=(c.__vccOpts||c)[t];f&&i.push(_t(f,n,s,o,l,r))}else{let f=c();i.push(()=>f.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const h=ca(u)?u.default:u;o.mods[l]=u,o.components[l]=h;const g=(h.__vccOpts||h)[t];return g&&_t(g,n,s,o,l,r)()}))}}return i}function ja(e,t){const n=[],s=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oqt(f,l))?s.push(l):n.push(l));const c=e.matched[o];c&&(t.matched.find(f=>qt(f,c))||r.push(c))}return[n,s,r]}/*! * vue-router v4.6.4 * (c) 2025 Eduardo San Martin Morote * @license MIT - */let ka=()=>location.protocol+"//"+location.host;function Po(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Wr(l,"")}return Wr(n,e)+s+r}function Ga(e,t,n,s){let r=[],i=[],o=null;const l=({state:g})=>{const m=Po(e,location),I=n.value,R=t.value;let U=0;if(g){if(n.value=m,t.value=g,o&&o===I){o=null;return}U=R?g.position-R.position:0}else s(m);r.forEach(F=>{F(n.value,I,{delta:U,type:Fs.pop,direction:U?U>0?bs.forward:bs.back:bs.unknown})})};function c(){o=n.value}function f(g){r.push(g);const m=()=>{const I=r.indexOf(g);I>-1&&r.splice(I,1)};return i.push(m),m}function u(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(K({},g.state,{scroll:is()}),"")}}function h(){for(const g of i)g();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:c,listen:f,destroy:h}}function Qr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?is():null}}function Ka(e){const{history:t,location:n}=window,s={value:Po(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,f,u){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:ka()+e+c;try{t[u?"replaceState":"pushState"](f,"",g),r.value=f}catch(m){console.error(m),n[u?"replace":"assign"](g)}}function o(c,f){i(c,K({},t.state,Qr(r.value.back,c,r.value.forward,!0),f,{position:r.value.position}),!0),s.value=c}function l(c,f){const u=K({},r.value,t.state,{forward:c,scroll:is()});i(u.current,u,!0),i(c,K({},Qr(s.value,c,null),{position:u.position+1},f),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function $a(e){e=Ca(e);const t=Ka(e),n=Ga(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=K({location:"",base:e,go:s,createHref:Oa.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let Tt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var le=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}(le||{});const Wa={type:Tt.Static,value:""},qa=/[a-zA-Z0-9_]/;function za(e){if(!e)return[[]];if(e==="/")return[[Wa]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${f}": ${m}`)}let n=le.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,f="",u="";function h(){f&&(n===le.Static?i.push({type:Tt.Static,value:f}):n===le.Param||n===le.ParamRegExp||n===le.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Tt.Param,value:f,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),f="")}function g(){f+=c}for(;lt.length?t.length===1&&t[0]===_e.Static+_e.Segment?1:-1:0}function Oo(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const Za={strict:!1,end:!0,sensitive:!1};function eu(e,t,n){const s=Qa(za(e.path),n),r=K(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function tu(e,t){const n=[],s=new Map;t=$r(Za,t);function r(h){return s.get(h)}function i(h,g,m){const I=!m,R=ti(h);R.aliasOf=m&&m.record;const U=$r(t,h),F=[R];if("alias"in h){const O=typeof h.alias=="string"?[h.alias]:h.alias;for(const J of O)F.push(ti(K({},R,{components:m?m.record.components:R.components,path:J,aliasOf:m?m.record:R})))}let C,N;for(const O of F){const{path:J}=O;if(g&&J[0]!=="/"){const oe=g.record.path,te=oe[oe.length-1]==="/"?"":"/";O.path=g.record.path+(J&&te+J)}if(C=eu(O,g,U),m?m.alias.push(C):(N=N||C,N!==C&&N.alias.push(C),I&&h.name&&!ni(C)&&o(h.name)),Io(C)&&c(C),R.children){const oe=R.children;for(let te=0;te{o(N)}:pn}function o(h){if(To(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(o),g.alias.forEach(o))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const g=ru(h,n);n.splice(g,0,h),h.record.name&&!ni(h)&&s.set(h.record.name,h)}function f(h,g){let m,I={},R,U;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw zt(ne.MATCHER_NOT_FOUND,{location:h});U=m.record.name,I=K(ei(g.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),h.params&&ei(h.params,m.keys.map(N=>N.name))),R=m.stringify(I)}else if(h.path!=null)R=h.path,m=n.find(N=>N.re.test(R)),m&&(I=m.parse(R),U=m.record.name);else{if(m=g.name?s.get(g.name):n.find(N=>N.re.test(g.path)),!m)throw zt(ne.MATCHER_NOT_FOUND,{location:h,currentLocation:g});U=m.record.name,I=K({},g.params,h.params),R=m.stringify(I)}const F=[];let C=m;for(;C;)F.unshift(C.record),C=C.parent;return{name:U,path:R,params:I,matched:F,meta:su(F)}}e.forEach(h=>i(h));function u(){n.length=0,s.clear()}return{addRoute:i,resolve:f,removeRoute:o,clearRoutes:u,getRoutes:l,getRecordMatcher:r}}function ei(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function ti(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:nu(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 nu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function ni(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function su(e){return e.reduce((t,n)=>K(t,n.meta),{})}function ru(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;Oo(e,t[i])<0?s=i:n=i+1}const r=iu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function iu(e){let t=e;for(;t=t.parent;)if(Io(t)&&Oo(e,t)===0)return t}function Io({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function si(e){const t=Ne(os),n=Ne(or),s=Oe(()=>{const c=ae(e.to);return t.resolve(c)}),r=Oe(()=>{const{matched:c}=s.value,{length:f}=c,u=c[f-1],h=n.matched;if(!u||!h.length)return-1;const g=h.findIndex(qt.bind(null,u));if(g>-1)return g;const m=ri(c[f-2]);return f>1&&ri(u)===m&&h[h.length-1].path!==m?h.findIndex(qt.bind(null,c[f-2])):g}),i=Oe(()=>r.value>-1&&uu(n.params,s.value.params)),o=Oe(()=>r.value>-1&&r.value===n.matched.length-1&&xo(n.params,s.value.params));function l(c={}){if(au(c)){const f=t[ae(e.replace)?"replace":"push"](ae(e.to)).catch(pn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:s,href:Oe(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function ou(e){return e.length===1?e[0]:e}const lu=Gi({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:si,setup(e,{slots:t}){const n=Jt(si(e)),{options:s}=Ne(os),r=Oe(()=>({[ii(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[ii(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&ou(t.default(n));return e.custom?i:En("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),cu=lu;function au(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 uu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!Le(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function ri(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ii=(e,t,n)=>e??t??n,fu=Gi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Ne(Us),r=Oe(()=>e.route||s.value),i=Ne(Jr,0),o=Oe(()=>{let f=ae(i);const{matched:u}=r.value;let h;for(;(h=u[f])&&!h.components;)f++;return f}),l=Oe(()=>r.value.matched[o.value]);Nn(Jr,Oe(()=>o.value+1)),Nn(Ba,l),Nn(Us,r);const c=dl();return Mn(()=>[c.value,l.value,e.name],([f,u,h],[g,m,I])=>{u&&(u.instances[h]=f,m&&m!==u&&f&&f===g&&(u.leaveGuards.size||(u.leaveGuards=m.leaveGuards),u.updateGuards.size||(u.updateGuards=m.updateGuards))),f&&u&&(!m||!qt(u,m)||!g)&&(u.enterCallbacks[h]||[]).forEach(R=>R(f))},{flush:"post"}),()=>{const f=r.value,u=e.name,h=l.value,g=h&&h.components[u];if(!g)return oi(n.default,{Component:g,route:f});const m=h.props[u],I=m?m===!0?f.params:typeof m=="function"?m(f):m:null,U=En(g,K({},I,t,{onVnodeUnmounted:F=>{F.component.isUnmounted&&(h.instances[u]=null)},ref:c}));return oi(n.default,{Component:U,route:f})||U}}});function oi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const du=fu;function hu(e){const t=tu(e.routes,e),n=e.parseQuery||Ha,s=e.stringifyQuery||Yr,r=e.history,i=nn(),o=nn(),l=nn(),c=hl(pt);let f=pt;Ht&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ys.bind(null,v=>""+v),h=ys.bind(null,Ea),g=ys.bind(null,wn);function m(v,P){let x,M;return To(v)?(x=t.getRecordMatcher(v),M=P):M=v,t.addRoute(M,x)}function I(v){const P=t.getRecordMatcher(v);P&&t.removeRoute(P)}function R(){return t.getRoutes().map(v=>v.record)}function U(v){return!!t.getRecordMatcher(v)}function F(v,P){if(P=K({},P||c.value),typeof v=="string"){const p=vs(n,v,P.path),y=t.resolve({path:p.path},P),b=r.createHref(p.fullPath);return K(p,y,{params:g(y.params),hash:wn(p.hash),redirectedFrom:void 0,href:b})}let x;if(v.path!=null)x=K({},v,{path:vs(n,v.path,P.path).path});else{const p=K({},v.params);for(const y in p)p[y]==null&&delete p[y];x=K({},v,{params:h(p)}),P.params=h(P.params)}const M=t.resolve(x,P),j=v.hash||"";M.params=u(g(M.params));const a=Aa(s,K({},v,{hash:ya(j),path:M.path})),d=r.createHref(a);return K({fullPath:a,hash:j,query:s===Yr?Ua(v.query):v.query||{}},M,{redirectedFrom:void 0,href:d})}function C(v){return typeof v=="string"?vs(n,v,c.value.path):K({},v)}function N(v,P){if(f!==v)return zt(ne.NAVIGATION_CANCELLED,{from:P,to:v})}function O(v){return te(v)}function J(v){return O(K(C(v),{replace:!0}))}function oe(v,P){const x=v.matched[v.matched.length-1];if(x&&x.redirect){const{redirect:M}=x;let j=typeof M=="function"?M(v,P):M;return typeof j=="string"&&(j=j.includes("?")||j.includes("#")?j=C(j):{path:j},j.params={}),K({query:v.query,hash:v.hash,params:j.path!=null?{}:v.params},j)}}function te(v,P){const x=f=F(v),M=c.value,j=v.state,a=v.force,d=v.replace===!0,p=oe(x,M);if(p)return te(K(C(p),{state:typeof p=="object"?K({},j,p.state):j,force:a,replace:d}),P||x);const y=x;y.redirectedFrom=P;let b;return!a&&Ra(s,M,x)&&(b=zt(ne.NAVIGATION_DUPLICATED,{to:y,from:M}),Ue(M,M,!0,!1)),(b?Promise.resolve(b):Fe(y,M)).catch(_=>Ze(_)?Ze(_,ne.NAVIGATION_GUARD_REDIRECT)?_:ht(_):G(_,y,M)).then(_=>{if(_){if(Ze(_,ne.NAVIGATION_GUARD_REDIRECT))return te(K({replace:d},C(_.to),{state:typeof _.to=="object"?K({},j,_.to.state):j,force:a}),P||y)}else _=bt(y,M,!0,d,j);return dt(y,M,_),_})}function Ve(v,P){const x=N(v,P);return x?Promise.reject(x):Promise.resolve()}function ft(v){const P=Mt.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(v):v()}function Fe(v,P){let x;const[M,j,a]=ja(v,P);x=Es(M.reverse(),"beforeRouteLeave",v,P);for(const p of M)p.leaveGuards.forEach(y=>{x.push(mt(y,v,P))});const d=Ve.bind(null,v,P);return x.push(d),Te(x).then(()=>{x=[];for(const p of i.list())x.push(mt(p,v,P));return x.push(d),Te(x)}).then(()=>{x=Es(j,"beforeRouteUpdate",v,P);for(const p of j)p.updateGuards.forEach(y=>{x.push(mt(y,v,P))});return x.push(d),Te(x)}).then(()=>{x=[];for(const p of a)if(p.beforeEnter)if(Le(p.beforeEnter))for(const y of p.beforeEnter)x.push(mt(y,v,P));else x.push(mt(p.beforeEnter,v,P));return x.push(d),Te(x)}).then(()=>(v.matched.forEach(p=>p.enterCallbacks={}),x=Es(a,"beforeRouteEnter",v,P,ft),x.push(d),Te(x))).then(()=>{x=[];for(const p of o.list())x.push(mt(p,v,P));return x.push(d),Te(x)}).catch(p=>Ze(p,ne.NAVIGATION_CANCELLED)?p:Promise.reject(p))}function dt(v,P,x){l.list().forEach(M=>ft(()=>M(v,P,x)))}function bt(v,P,x,M,j){const a=N(v,P);if(a)return a;const d=P===pt,p=Ht?history.state:{};x&&(M||d?r.replace(v.fullPath,K({scroll:d&&p&&p.scroll},j)):r.push(v.fullPath,j)),c.value=v,Ue(v,P,x,d),ht()}let He;function Qt(){He||(He=r.listen((v,P,x)=>{if(!Et.listening)return;const M=F(v),j=oe(M,Et.currentRoute.value);if(j){te(K(j,{replace:!0,force:!0}),M).catch(pn);return}f=M;const a=c.value;Ht&&Ma(zr(a.fullPath,x.delta),is()),Fe(M,a).catch(d=>Ze(d,ne.NAVIGATION_ABORTED|ne.NAVIGATION_CANCELLED)?d:Ze(d,ne.NAVIGATION_GUARD_REDIRECT)?(te(K(C(d.to),{force:!0}),M).then(p=>{Ze(p,ne.NAVIGATION_ABORTED|ne.NAVIGATION_DUPLICATED)&&!x.delta&&x.type===Fs.pop&&r.go(-1,!1)}).catch(pn),Promise.reject()):(x.delta&&r.go(-x.delta,!1),G(d,M,a))).then(d=>{d=d||bt(M,a,!1),d&&(x.delta&&!Ze(d,ne.NAVIGATION_CANCELLED)?r.go(-x.delta,!1):x.type===Fs.pop&&Ze(d,ne.NAVIGATION_ABORTED|ne.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),dt(M,a,d)}).catch(pn)}))}let It=nn(),ce=nn(),z;function G(v,P,x){ht(v);const M=ce.list();return M.length?M.forEach(j=>j(v,P,x)):console.error(v),Promise.reject(v)}function Qe(){return z&&c.value!==pt?Promise.resolve():new Promise((v,P)=>{It.add([v,P])})}function ht(v){return z||(z=!v,Qt(),It.list().forEach(([P,x])=>v?x(v):P()),It.reset()),v}function Ue(v,P,x,M){const{scrollBehavior:j}=e;if(!Ht||!j)return Promise.resolve();const a=!x&&Da(zr(v.fullPath,0))||(M||!x)&&history.state&&history.state.scroll||null;return Zs().then(()=>j(v,P,a)).then(d=>d&&Na(d)).catch(d=>G(d,v,P))}const be=v=>r.go(v);let Nt;const Mt=new Set,Et={currentRoute:c,listening:!0,addRoute:m,removeRoute:I,clearRoutes:t.clearRoutes,hasRoute:U,getRoutes:R,resolve:F,options:e,push:O,replace:J,go:be,back:()=>be(-1),forward:()=>be(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:ce.add,isReady:Qe,install(v){v.component("RouterLink",cu),v.component("RouterView",du),v.config.globalProperties.$router=Et,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>ae(c)}),Ht&&!Nt&&c.value===pt&&(Nt=!0,O(r.location).catch(M=>{}));const P={};for(const M in pt)Object.defineProperty(P,M,{get:()=>c.value[M],enumerable:!0});v.provide(os,Et),v.provide(or,Ni(P)),v.provide(Us,c);const x=v.unmount;Mt.add(v),v.unmount=function(){Mt.delete(v),Mt.size<1&&(f=pt,He&&He(),He=null,c.value=pt,Nt=!1,z=!1),x()}}};function Te(v){return v.reduce((P,x)=>P.then(()=>ft(x)),Promise.resolve())}return Et}function pu(){return Ne(os)}function Bu(e){return Ne(or)}/** + */let ka=()=>location.protocol+"//"+location.host;function Po(e,t){const{pathname:n,search:s,hash:r}=t,i=e.indexOf("#");if(i>-1){let o=r.includes(e.slice(i))?e.slice(i).length:1,l=r.slice(o);return l[0]!=="/"&&(l="/"+l),Wr(l,"")}return Wr(n,e)+s+r}function Ga(e,t,n,s){let r=[],i=[],o=null;const l=({state:g})=>{const m=Po(e,location),I=n.value,R=t.value;let U=0;if(g){if(n.value=m,t.value=g,o&&o===I){o=null;return}U=R?g.position-R.position:0}else s(m);r.forEach(F=>{F(n.value,I,{delta:U,type:Fs.pop,direction:U?U>0?bs.forward:bs.back:bs.unknown})})};function c(){o=n.value}function f(g){r.push(g);const m=()=>{const I=r.indexOf(g);I>-1&&r.splice(I,1)};return i.push(m),m}function u(){if(document.visibilityState==="hidden"){const{history:g}=window;if(!g.state)return;g.replaceState(K({},g.state,{scroll:is()}),"")}}function h(){for(const g of i)g();i=[],window.removeEventListener("popstate",l),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",l),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:c,listen:f,destroy:h}}function Qr(e,t,n,s=!1,r=!1){return{back:e,current:t,forward:n,replaced:s,position:window.history.length,scroll:r?is():null}}function Ka(e){const{history:t,location:n}=window,s={value:Po(e,n)},r={value:t.state};r.value||i(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,f,u){const h=e.indexOf("#"),g=h>-1?(n.host&&document.querySelector("base")?e:e.slice(h))+c:ka()+e+c;try{t[u?"replaceState":"pushState"](f,"",g),r.value=f}catch(m){console.error(m),n[u?"replace":"assign"](g)}}function o(c,f){i(c,K({},t.state,Qr(r.value.back,c,r.value.forward,!0),f,{position:r.value.position}),!0),s.value=c}function l(c,f){const u=K({},r.value,t.state,{forward:c,scroll:is()});i(u.current,u,!0),i(c,K({},Qr(s.value,c,null),{position:u.position+1},f),!1),s.value=c}return{location:s,state:r,push:l,replace:o}}function $a(e){e=Ca(e);const t=Ka(e),n=Ga(e,t.state,t.location,t.replace);function s(i,o=!0){o||n.pauseListeners(),history.go(i)}const r=K({location:"",base:e,go:s,createHref:Oa.bind(null,e)},t,n);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let Tt=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var le=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}(le||{});const Wa={type:Tt.Static,value:""},qa=/[a-zA-Z0-9_]/;function za(e){if(!e)return[[]];if(e==="/")return[[Wa]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${f}": ${m}`)}let n=le.Static,s=n;const r=[];let i;function o(){i&&r.push(i),i=[]}let l=0,c,f="",u="";function h(){f&&(n===le.Static?i.push({type:Tt.Static,value:f}):n===le.Param||n===le.ParamRegExp||n===le.ParamRegExpEnd?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${f}) must be alone in its segment. eg: '/:ids+.`),i.push({type:Tt.Param,value:f,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),f="")}function g(){f+=c}for(;lt.length?t.length===1&&t[0]===_e.Static+_e.Segment?1:-1:0}function Oo(e,t){let n=0;const s=e.score,r=t.score;for(;n0&&t[t.length-1]<0}const Za={strict:!1,end:!0,sensitive:!1};function eu(e,t,n){const s=Qa(za(e.path),n),r=K(s,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function tu(e,t){const n=[],s=new Map;t=$r(Za,t);function r(h){return s.get(h)}function i(h,g,m){const I=!m,R=ti(h);R.aliasOf=m&&m.record;const U=$r(t,h),F=[R];if("alias"in h){const O=typeof h.alias=="string"?[h.alias]:h.alias;for(const J of O)F.push(ti(K({},R,{components:m?m.record.components:R.components,path:J,aliasOf:m?m.record:R})))}let C,N;for(const O of F){const{path:J}=O;if(g&&J[0]!=="/"){const oe=g.record.path,te=oe[oe.length-1]==="/"?"":"/";O.path=g.record.path+(J&&te+J)}if(C=eu(O,g,U),m?m.alias.push(C):(N=N||C,N!==C&&N.alias.push(C),I&&h.name&&!ni(C)&&o(h.name)),Io(C)&&c(C),R.children){const oe=R.children;for(let te=0;te{o(N)}:pn}function o(h){if(To(h)){const g=s.get(h);g&&(s.delete(h),n.splice(n.indexOf(g),1),g.children.forEach(o),g.alias.forEach(o))}else{const g=n.indexOf(h);g>-1&&(n.splice(g,1),h.record.name&&s.delete(h.record.name),h.children.forEach(o),h.alias.forEach(o))}}function l(){return n}function c(h){const g=ru(h,n);n.splice(g,0,h),h.record.name&&!ni(h)&&s.set(h.record.name,h)}function f(h,g){let m,I={},R,U;if("name"in h&&h.name){if(m=s.get(h.name),!m)throw zt(ne.MATCHER_NOT_FOUND,{location:h});U=m.record.name,I=K(ei(g.params,m.keys.filter(N=>!N.optional).concat(m.parent?m.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),h.params&&ei(h.params,m.keys.map(N=>N.name))),R=m.stringify(I)}else if(h.path!=null)R=h.path,m=n.find(N=>N.re.test(R)),m&&(I=m.parse(R),U=m.record.name);else{if(m=g.name?s.get(g.name):n.find(N=>N.re.test(g.path)),!m)throw zt(ne.MATCHER_NOT_FOUND,{location:h,currentLocation:g});U=m.record.name,I=K({},g.params,h.params),R=m.stringify(I)}const F=[];let C=m;for(;C;)F.unshift(C.record),C=C.parent;return{name:U,path:R,params:I,matched:F,meta:su(F)}}e.forEach(h=>i(h));function u(){n.length=0,s.clear()}return{addRoute:i,resolve:f,removeRoute:o,clearRoutes:u,getRoutes:l,getRecordMatcher:r}}function ei(e,t){const n={};for(const s of t)s in e&&(n[s]=e[s]);return n}function ti(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:nu(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 nu(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const s in e.components)t[s]=typeof n=="object"?n[s]:n;return t}function ni(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function su(e){return e.reduce((t,n)=>K(t,n.meta),{})}function ru(e,t){let n=0,s=t.length;for(;n!==s;){const i=n+s>>1;Oo(e,t[i])<0?s=i:n=i+1}const r=iu(e);return r&&(s=t.lastIndexOf(r,s-1)),s}function iu(e){let t=e;for(;t=t.parent;)if(Io(t)&&Oo(e,t)===0)return t}function Io({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function si(e){const t=Ne(os),n=Ne(or),s=Oe(()=>{const c=ae(e.to);return t.resolve(c)}),r=Oe(()=>{const{matched:c}=s.value,{length:f}=c,u=c[f-1],h=n.matched;if(!u||!h.length)return-1;const g=h.findIndex(qt.bind(null,u));if(g>-1)return g;const m=ri(c[f-2]);return f>1&&ri(u)===m&&h[h.length-1].path!==m?h.findIndex(qt.bind(null,c[f-2])):g}),i=Oe(()=>r.value>-1&&uu(n.params,s.value.params)),o=Oe(()=>r.value>-1&&r.value===n.matched.length-1&&xo(n.params,s.value.params));function l(c={}){if(au(c)){const f=t[ae(e.replace)?"replace":"push"](ae(e.to)).catch(pn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>f),f}return Promise.resolve()}return{route:s,href:Oe(()=>s.value.href),isActive:i,isExactActive:o,navigate:l}}function ou(e){return e.length===1?e[0]:e}const lu=Gi({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:si,setup(e,{slots:t}){const n=Jt(si(e)),{options:s}=Ne(os),r=Oe(()=>({[ii(e.activeClass,s.linkActiveClass,"router-link-active")]:n.isActive,[ii(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&ou(t.default(n));return e.custom?i:En("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:r.value},i)}}}),cu=lu;function au(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 uu(e,t){for(const n in t){const s=t[n],r=e[n];if(typeof s=="string"){if(s!==r)return!1}else if(!Le(r)||r.length!==s.length||s.some((i,o)=>i.valueOf()!==r[o].valueOf()))return!1}return!0}function ri(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ii=(e,t,n)=>e??t??n,fu=Gi({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const s=Ne(Us),r=Oe(()=>e.route||s.value),i=Ne(Jr,0),o=Oe(()=>{let f=ae(i);const{matched:u}=r.value;let h;for(;(h=u[f])&&!h.components;)f++;return f}),l=Oe(()=>r.value.matched[o.value]);Nn(Jr,Oe(()=>o.value+1)),Nn(Ba,l),Nn(Us,r);const c=dl();return Mn(()=>[c.value,l.value,e.name],([f,u,h],[g,m,I])=>{u&&(u.instances[h]=f,m&&m!==u&&f&&f===g&&(u.leaveGuards.size||(u.leaveGuards=m.leaveGuards),u.updateGuards.size||(u.updateGuards=m.updateGuards))),f&&u&&(!m||!qt(u,m)||!g)&&(u.enterCallbacks[h]||[]).forEach(R=>R(f))},{flush:"post"}),()=>{const f=r.value,u=e.name,h=l.value,g=h&&h.components[u];if(!g)return oi(n.default,{Component:g,route:f});const m=h.props[u],I=m?m===!0?f.params:typeof m=="function"?m(f):m:null,U=En(g,K({},I,t,{onVnodeUnmounted:F=>{F.component.isUnmounted&&(h.instances[u]=null)},ref:c}));return oi(n.default,{Component:U,route:f})||U}}});function oi(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const du=fu;function hu(e){const t=tu(e.routes,e),n=e.parseQuery||Ha,s=e.stringifyQuery||Yr,r=e.history,i=nn(),o=nn(),l=nn(),c=hl(pt);let f=pt;Ht&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ys.bind(null,v=>""+v),h=ys.bind(null,Ea),g=ys.bind(null,wn);function m(v,P){let x,M;return To(v)?(x=t.getRecordMatcher(v),M=P):M=v,t.addRoute(M,x)}function I(v){const P=t.getRecordMatcher(v);P&&t.removeRoute(P)}function R(){return t.getRoutes().map(v=>v.record)}function U(v){return!!t.getRecordMatcher(v)}function F(v,P){if(P=K({},P||c.value),typeof v=="string"){const p=vs(n,v,P.path),y=t.resolve({path:p.path},P),b=r.createHref(p.fullPath);return K(p,y,{params:g(y.params),hash:wn(p.hash),redirectedFrom:void 0,href:b})}let x;if(v.path!=null)x=K({},v,{path:vs(n,v.path,P.path).path});else{const p=K({},v.params);for(const y in p)p[y]==null&&delete p[y];x=K({},v,{params:h(p)}),P.params=h(P.params)}const M=t.resolve(x,P),j=v.hash||"";M.params=u(g(M.params));const a=Aa(s,K({},v,{hash:ya(j),path:M.path})),d=r.createHref(a);return K({fullPath:a,hash:j,query:s===Yr?Ua(v.query):v.query||{}},M,{redirectedFrom:void 0,href:d})}function C(v){return typeof v=="string"?vs(n,v,c.value.path):K({},v)}function N(v,P){if(f!==v)return zt(ne.NAVIGATION_CANCELLED,{from:P,to:v})}function O(v){return te(v)}function J(v){return O(K(C(v),{replace:!0}))}function oe(v,P){const x=v.matched[v.matched.length-1];if(x&&x.redirect){const{redirect:M}=x;let j=typeof M=="function"?M(v,P):M;return typeof j=="string"&&(j=j.includes("?")||j.includes("#")?j=C(j):{path:j},j.params={}),K({query:v.query,hash:v.hash,params:j.path!=null?{}:v.params},j)}}function te(v,P){const x=f=F(v),M=c.value,j=v.state,a=v.force,d=v.replace===!0,p=oe(x,M);if(p)return te(K(C(p),{state:typeof p=="object"?K({},j,p.state):j,force:a,replace:d}),P||x);const y=x;y.redirectedFrom=P;let b;return!a&&Ra(s,M,x)&&(b=zt(ne.NAVIGATION_DUPLICATED,{to:y,from:M}),Ue(M,M,!0,!1)),(b?Promise.resolve(b):Fe(y,M)).catch(_=>Ze(_)?Ze(_,ne.NAVIGATION_GUARD_REDIRECT)?_:ht(_):G(_,y,M)).then(_=>{if(_){if(Ze(_,ne.NAVIGATION_GUARD_REDIRECT))return te(K({replace:d},C(_.to),{state:typeof _.to=="object"?K({},j,_.to.state):j,force:a}),P||y)}else _=Et(y,M,!0,d,j);return dt(y,M,_),_})}function Ve(v,P){const x=N(v,P);return x?Promise.reject(x):Promise.resolve()}function ft(v){const P=Mt.values().next().value;return P&&typeof P.runWithContext=="function"?P.runWithContext(v):v()}function Fe(v,P){let x;const[M,j,a]=ja(v,P);x=Es(M.reverse(),"beforeRouteLeave",v,P);for(const p of M)p.leaveGuards.forEach(y=>{x.push(_t(y,v,P))});const d=Ve.bind(null,v,P);return x.push(d),Te(x).then(()=>{x=[];for(const p of i.list())x.push(_t(p,v,P));return x.push(d),Te(x)}).then(()=>{x=Es(j,"beforeRouteUpdate",v,P);for(const p of j)p.updateGuards.forEach(y=>{x.push(_t(y,v,P))});return x.push(d),Te(x)}).then(()=>{x=[];for(const p of a)if(p.beforeEnter)if(Le(p.beforeEnter))for(const y of p.beforeEnter)x.push(_t(y,v,P));else x.push(_t(p.beforeEnter,v,P));return x.push(d),Te(x)}).then(()=>(v.matched.forEach(p=>p.enterCallbacks={}),x=Es(a,"beforeRouteEnter",v,P,ft),x.push(d),Te(x))).then(()=>{x=[];for(const p of o.list())x.push(_t(p,v,P));return x.push(d),Te(x)}).catch(p=>Ze(p,ne.NAVIGATION_CANCELLED)?p:Promise.reject(p))}function dt(v,P,x){l.list().forEach(M=>ft(()=>M(v,P,x)))}function Et(v,P,x,M,j){const a=N(v,P);if(a)return a;const d=P===pt,p=Ht?history.state:{};x&&(M||d?r.replace(v.fullPath,K({scroll:d&&p&&p.scroll},j)):r.push(v.fullPath,j)),c.value=v,Ue(v,P,x,d),ht()}let He;function Qt(){He||(He=r.listen((v,P,x)=>{if(!wt.listening)return;const M=F(v),j=oe(M,wt.currentRoute.value);if(j){te(K(j,{replace:!0,force:!0}),M).catch(pn);return}f=M;const a=c.value;Ht&&Ma(zr(a.fullPath,x.delta),is()),Fe(M,a).catch(d=>Ze(d,ne.NAVIGATION_ABORTED|ne.NAVIGATION_CANCELLED)?d:Ze(d,ne.NAVIGATION_GUARD_REDIRECT)?(te(K(C(d.to),{force:!0}),M).then(p=>{Ze(p,ne.NAVIGATION_ABORTED|ne.NAVIGATION_DUPLICATED)&&!x.delta&&x.type===Fs.pop&&r.go(-1,!1)}).catch(pn),Promise.reject()):(x.delta&&r.go(-x.delta,!1),G(d,M,a))).then(d=>{d=d||Et(M,a,!1),d&&(x.delta&&!Ze(d,ne.NAVIGATION_CANCELLED)?r.go(-x.delta,!1):x.type===Fs.pop&&Ze(d,ne.NAVIGATION_ABORTED|ne.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),dt(M,a,d)}).catch(pn)}))}let It=nn(),ce=nn(),z;function G(v,P,x){ht(v);const M=ce.list();return M.length?M.forEach(j=>j(v,P,x)):console.error(v),Promise.reject(v)}function Qe(){return z&&c.value!==pt?Promise.resolve():new Promise((v,P)=>{It.add([v,P])})}function ht(v){return z||(z=!v,Qt(),It.list().forEach(([P,x])=>v?x(v):P()),It.reset()),v}function Ue(v,P,x,M){const{scrollBehavior:j}=e;if(!Ht||!j)return Promise.resolve();const a=!x&&Da(zr(v.fullPath,0))||(M||!x)&&history.state&&history.state.scroll||null;return Zs().then(()=>j(v,P,a)).then(d=>d&&Na(d)).catch(d=>G(d,v,P))}const be=v=>r.go(v);let Nt;const Mt=new Set,wt={currentRoute:c,listening:!0,addRoute:m,removeRoute:I,clearRoutes:t.clearRoutes,hasRoute:U,getRoutes:R,resolve:F,options:e,push:O,replace:J,go:be,back:()=>be(-1),forward:()=>be(1),beforeEach:i.add,beforeResolve:o.add,afterEach:l.add,onError:ce.add,isReady:Qe,install(v){v.component("RouterLink",cu),v.component("RouterView",du),v.config.globalProperties.$router=wt,Object.defineProperty(v.config.globalProperties,"$route",{enumerable:!0,get:()=>ae(c)}),Ht&&!Nt&&c.value===pt&&(Nt=!0,O(r.location).catch(M=>{}));const P={};for(const M in pt)Object.defineProperty(P,M,{get:()=>c.value[M],enumerable:!0});v.provide(os,wt),v.provide(or,Ni(P)),v.provide(Us,c);const x=v.unmount;Mt.add(v),v.unmount=function(){Mt.delete(v),Mt.size<1&&(f=pt,He&&He(),He=null,c.value=pt,Nt=!1,z=!1),x()}}};function Te(v){return v.reduce((P,x)=>P.then(()=>ft(x)),Promise.resolve())}return wt}function pu(){return Ne(os)}function ju(e){return Ne(or)}/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. @@ -79,4 +79,4 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Login-ezlK-w_A. * * This source code is licensed under the ISC license. * See the LICENSE file in the root directory of this source tree. - */const Eu=No("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),Bs="st_token";function Mo(){return localStorage.getItem(Bs)}function ws(e){e?localStorage.setItem(Bs,e):localStorage.removeItem(Bs)}async function ee(e,t,n,s=!1){const r={},i=Mo();i&&(r.Authorization=`Bearer ${i}`);let o=n;!s&&n!==void 0&&n!==null&&(r["Content-Type"]="application/json",o=JSON.stringify(n));const l=await fetch(t,{method:e,headers:r,body:o});let c=null;try{c=await l.json()}catch{}if(!l.ok){const f=c&&(c.error||c.message)||`HTTP ${l.status}`;throw new Error(f)}return c}const Ss={login:(e,t)=>ee("POST","/api/auth/login",{username:e,password:t}),me:()=>ee("GET","/api/auth/me"),setup:e=>ee("POST","/api/auth/setup",e),updateProfile:e=>ee("PATCH","/api/auth/profile",e),adminCreateUser:e=>ee("POST","/api/admin/users",e),adminListUsers:()=>ee("GET","/api/admin/users"),adminUpdateUser:(e,t)=>ee("PUT",`/api/admin/users/${e}`,t),createGroup:e=>ee("POST","/api/groups",e,!0),listGroups:()=>ee("GET","/api/groups"),getGroup:e=>ee("GET",`/api/groups/${e}`),analyzeGroup:e=>ee("POST",`/api/groups/${e}/analyze`),listPersonas:e=>ee("GET",`/api/groups/${e}/personas`),getPersona:(e,t)=>ee("GET",`/api/groups/${e}/personas/${t}`),updatePersona:(e,t,n)=>ee("PUT",`/api/groups/${e}/personas/${t}`,n),chatStart:(e,t,n,s)=>ee("POST",`/api/chat/${e}/personas/${t}/chat/start`,{scenario:n,locale:s}),chatResume:(e,t)=>ee("GET",`/api/chat/${e}/personas/${t}/chat/resume`),chatSend:(e,t,n)=>ee("POST",`/api/chat/${e}/personas/${t}/chat/send`,{text:n}),chatFinish:(e,t)=>ee("POST",`/api/chat/${e}/personas/${t}/chat/finish`),mySessions:()=>ee("GET","/api/chat/sessions"),myBoard:()=>ee("GET","/api/me/board"),weakAreas:()=>ee("GET","/api/me/weak-areas"),myPersonas:()=>ee("GET","/api/me/personas"),generatePersona:e=>ee("POST","/api/me/personas/generate",e),analytics:(e={})=>{const t=new URLSearchParams;e.from&&t.set("from",e.from),e.to&&t.set("to",e.to);const n=t.toString();return ee("GET",`/api/analytics${n?`?${n}`:""}`)}},Ce=Jt({user:null,token:Mo(),mustSetup:!1,get role(){return this.user?this.user.role:null},get isAdmin(){return this.role==="admin"||this.role==="super_admin"},async load(){var e;if(!this.token)return null;try{const t=await Ss.me();return this.user=t.user,this.mustSetup=!!((e=t.user)!=null&&e.must_setup),this.user}catch{return this.user=null,this.mustSetup=!1,ws(null),null}},async login(e,t){const n=await Ss.login(e,t);return this.token=n.token,ws(n.token),this.user=n.user,this.mustSetup=!!n.must_setup,n.user},async finishSetup(e,t){const n=await Ss.setup({username:this.user.username||this.user.id,email:e,password:t});return this.user=n.user,this.mustSetup=!1,n.user},logout(){this.user=null,this.token=null,this.mustSetup=!1,ws(null)}}),As={en:{app:"Sales Trainer",login:"Login",logout:"Logout",username:"Username",email:"Email",password:"Password",newPassword:"New password",confirmPassword:"Confirm password",save:"Save",passwordTooShort:"Password must be at least 4 characters",passwordMismatch:"Passwords do not match",setupTitle:"Set up your account",setupSubtitle:"First login for ",loginError:"Invalid credentials",dashboard:"Dashboard",training:"Training",myDashboard:"My dashboard",adminOverview:"Admin overview",guideTitle:"How to use / คู่มือใช้งาน",settings:"Settings",account:"Account",profile:"Profile",readonly:"read-only",name:"Display name",saveProfile:"Save profile",changePassword:"Change password",optional:"optional",saved:"Saved",total:"Total",dateRange:"Date range",apply:"Apply",clear:"Clear",hardestPersonas:"Hardest personas",closeRate:"Close rate",managePersonas:"Manage personas",difficulty:"Difficulty",trained:"Trained",addProduct:"Add product",trainingSubtitle:"Pick a product group, then choose a persona to practice closing the sale.",noTraining:"No training groups available",groups:"Persona Groups",myTraining:"My Training",adminTools:"Admin Tools",users:"Users",analytics:"Analytics",groupBuilder:"Group Builder",create:"Create",analyze:"Analyze",manual:"Manual",edit:"Edit",product:"Product",segment:"Initial customer segment (optional)",description:"Additional description / scenario (optional)",channel:"Channel",facebook:"Facebook",line:"LINE",language:"Language",thai:"Thai",english:"English",personas:"Personas",tierA:"Tier A — Ready to buy",tierB:"Tier B — Unsure",tierC:"Tier C — Not interested but has pain",selectPersona:"Select a persona to practice",chooseScenario:"Choose a scenario",chatGuideTitle:"How to practice",chatGuideText:'You are playing the salesperson. Chat with this customer and try to close the sale. Ask about their needs, solve their pain, and handle their objections. When you are done, press "Finish & get result" to see your score and coaching.',chat:"Chat",start:"Start",send:"Send",finish:"Finish & get result",debrief:"Result & Coaching",won:"Won",lost:"Lost",notTried:"Not tried",score:"Score",pain:"Pain",why:"Reason",reveal:"Revealed persona details",generatePersona:"Generate my persona",weakAreas:"My weak areas",mySessions:"My sessions",openSaleTask:"The customer did NOT message first. You must open the sale.",sellerInitiated:"You must open the sale (outbound)",customerInitiated:"The customer will message you first"},th:{app:"ระบบฝึกทักษะการขาย",login:"เข้าสู่ระบบ",logout:"ออกจากระบบ",username:"ชื่อผู้ใช้",email:"อีเมล",password:"รหัสผ่าน",newPassword:"รหัสผ่านใหม่",confirmPassword:"ยืนยันรหัสผ่าน",save:"บันทึก",passwordTooShort:"รหัสผ่านต้องมีความยาวอย่างน้อย 4 ตัวอักษร",passwordMismatch:"รหัสผ่านที่ยืนยันไม่ตรงกัน",setupTitle:"ตั้งค่าบัญชีของคุณ",setupSubtitle:"เข้าสู่ระบบครั้งแรกสำหรับ ",loginError:"ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง กรุณาลองอีกครั้ง",dashboard:"หน้าหลัก",training:"การฝึก",myDashboard:"ภาพรวมผลการฝึก",adminOverview:"ภาพรวมผู้ดูแล",settings:"การตั้งค่า",account:"บัญชี",profile:"ข้อมูลส่วนตัว",readonly:"อ่านอย่างเดียว",name:"ชื่อที่แสดง",saveProfile:"บันทึกข้อมูล",changePassword:"เปลี่ยนรหัสผ่าน",optional:"ไม่บังคับ",saved:"บันทึกเรียบร้อย",total:"ทั้งหมด",dateRange:"ช่วงเวลา",apply:"กรอง",clear:"ล้าง",hardestPersonas:"บุคคลต้นแบบที่ขายยากที่สุด",closeRate:"อัตราปิดการขาย",managePersonas:"จัดการบุคคลต้นแบบ",difficulty:"ระดับความยาก",trained:"ฝึกแล้ว",addProduct:"เพิ่มสินค้า",trainingSubtitle:"เลือกกลุ่มสินค้า แล้วเลือกบุคคลต้นแบบเพื่อฝึกปิดการขาย",noTraining:"ยังไม่มีกลุ่มฝึก",groups:"กลุ่มบุคคลต้นแบบลูกค้า (Persona)",myTraining:"ประวัติการฝึก",adminTools:"เครื่องมือผู้ดูแลระบบ",users:"ผู้ใช้งาน",analytics:"สถิติ",groupBuilder:"สร้างกลุ่มบุคคลต้นแบบ",create:"สร้าง",analyze:"วิเคราะห์",manual:"ระบุเอง",edit:"แก้ไข",product:"สินค้า/บริการ",segment:"กลุ่มลูกค้าเป้าหมายเบื้องต้น (ไม่บังคับ)",description:"คำอธิบายหรือรายละเอียดเพิ่มเติม (ไม่บังคับ)",channel:"ช่องทางติดต่อ",facebook:"Facebook",line:"LINE",language:"ภาษา",thai:"ไทย",english:"อังกฤษ",personas:"บุคคลต้นแบบ",tierA:"ระดับ A — พร้อมตัดสินใจซื้อ",tierB:"ระดับ B — ยังไม่แน่ใจ",tierC:"ระดับ C — ไม่สนใจแต่มีปัญหา",selectPersona:"เลือกบุคคลต้นแบบเพื่อฝึก",chooseScenario:"เลือกสถานการณ์",chatGuideTitle:"วิธีฝึก",chatGuideText:'คุณรับบทเป็นพนักงานขาย พูดคุยกับลูกค้าคนนี้เพื่อพยายามปิดการขายให้ได้ สอบถามความต้องการ แก้ไขปัญหาของลูกค้า และรับมือกับข้อโต้แย้ง เมื่อพอใจแล้วกด "สรุปผล" เพื่อดูคะแนนและข้อเสนอแนะ',chat:"แชท",start:"เริ่มต้น",send:"ส่ง",finish:"สรุปผล",debrief:"ผลลัพธ์และข้อเสนอแนะ",won:"ปิดการขายได้",lost:"ปิดการขายไม่ได้",notTried:"ยังไม่ได้ฝึก",score:"คะแนน",pain:"ปัญหาของลูกค้า",why:"เหตุผล",reveal:"รายละเอียดบุคคลต้นแบบที่ถูกซ่อนไว้",generatePersona:"สร้างบุคคลต้นแบบเพิ่มเติม",weakAreas:"จุดอ่อนที่ควรฝึกเพิ่มเติม",mySessions:"ประวัติการฝึกของฉัน",openSaleTask:"ลูกค้ายังไม่ได้ทักเข้ามา คุณต้องเป็นฝ่ายเริ่มบทสนทนาการขายเอง",sellerInitiated:"คุณต้องเริ่มการขายในเชิงรุก",customerInitiated:"ลูกค้าจะติดต่อเข้ามาก่อน"}},Ke=Jt({locale:localStorage.getItem("locale")||"th",t(e){return As[this.locale]&&As[this.locale][e]||As.en[e]||e},set(e){this.locale=e,localStorage.setItem("locale",e)}}),wu=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Su={class:"app"},Au={key:0,class:"topnav"},Ru={class:"tabs"},xu={class:"nav-right"},Tu={class:"main"},Cu={__name:"App",setup(e){const t=pu();function n(){Ke.set(Ke.locale==="th"?"en":"th")}function s(){Ce.logout(),t.push("/login")}return Wi(()=>{Ce.token&&!Ce.user&&Ce.load()}),(r,i)=>{const o=_r("router-link"),l=_r("router-view");return on(),Tr("div",Su,[ae(Ce).user?(on(),Tr("nav",Au,[ie(o,{to:"/",class:"brand"},{default:Vt(()=>[Ft(At(ae(Ke).t("app")),1)]),_:1}),xt("div",Ru,[ae(Ce).isAdmin?(on(),Ds(o,{key:0,to:"/",class:jt(["tab",{active:r.$route.path==="/"}])},{default:Vt(()=>[Ft(At(ae(Ke).t("adminOverview")),1)]),_:1},8,["class"])):Cr("",!0),ie(o,{to:"/my/board",class:jt(["tab",{active:r.$route.path==="/my/board"}])},{default:Vt(()=>[Ft(At(ae(Ke).t("myDashboard")),1)]),_:1},8,["class"]),ie(o,{to:"/training",class:jt(["tab",{active:r.$route.path==="/training"}])},{default:Vt(()=>[Ft(At(ae(Ke).t("training")),1)]),_:1},8,["class"])]),xt("div",xu,[xt("button",{onClick:n,class:"lang"},At(ae(Ke).locale==="th"?"EN":"TH"),1),ie(o,{to:"/settings",class:"icon-btn",title:ae(Ke).t("settings")},{default:Vt(()=>[ie(ae(Eu),{size:20,"stroke-width":1.8})]),_:1},8,["title"]),xt("button",{onClick:s,class:"logout-btn"},[ie(ae(bu),{size:18,"stroke-width":1.8}),Ft(" "+At(ae(Ke).t("logout")),1)])])])):Cr("",!0),xt("main",Tu,[(on(),Ds(l,{key:ae(Ke).locale}))])])}}},Pu=wu(Cu,[["__scopeId","data-v-25816f6a"]]),Ou="modulepreload",Iu=function(e){return"/"+e},ai={},Se=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=Iu(c),c in ai)return;ai[c]=!0;const f=c.endsWith(".css"),u=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${u}`))return;const h=document.createElement("link");if(h.rel=f?"stylesheet":Ou,f||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),f)return new Promise((g,m)=>{h.addEventListener("load",g),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Nu=[{path:"/login",component:()=>Se(()=>import("./Login-ezlK-w_A.js"),__vite__mapDeps([0,1])),meta:{public:!0}},{path:"/setup",component:()=>Se(()=>import("./Setup-wKkPjOAn.js"),__vite__mapDeps([2,3]))},{path:"/",component:()=>Se(()=>import("./Analytics-BGRP-tme.js"),__vite__mapDeps([4,5,6,7])),meta:{admin:!0}},{path:"/my/board",component:()=>Se(()=>import("./MyBoard-EoWaU1ds.js"),__vite__mapDeps([8,9,10]))},{path:"/training",component:()=>Se(()=>import("./Training-B1zIgzFu.js"),__vite__mapDeps([11,12,13,6,14]))},{path:"/groups/:gid/personas",component:()=>Se(()=>import("./Personas-BW6YLess.js"),__vite__mapDeps([15,12,16,17]))},{path:"/groups/:gid/chat/:pid",component:()=>Se(()=>import("./Chat-C6Malw3d.js"),__vite__mapDeps([18,12,16,19]))},{path:"/settings",component:()=>Se(()=>import("./Settings-Dj9-KtaZ.js"),__vite__mapDeps([20,21]))},{path:"/guide",component:()=>Se(()=>import("./Guide-B7hY6F8k.js"),__vite__mapDeps([22,13,9,12,23]))},{path:"/admin/new-group",component:()=>Se(()=>import("./GroupBuilder-Fv2uZV_O.js"),__vite__mapDeps([24,16,25])),meta:{admin:!0}},{path:"/admin/groups/:gid/edit",component:()=>Se(()=>import("./GroupEdit-CL_6gtfe.js"),__vite__mapDeps([26,5,23,27])),meta:{admin:!0}},{path:"/admin/users",component:()=>Se(()=>import("./AdminUsers-CCNtingM.js"),__vite__mapDeps([28,5,29])),meta:{admin:!0}},{path:"/admin/analytics",component:()=>Se(()=>import("./Analytics-BGRP-tme.js"),__vite__mapDeps([4,5,6,7])),meta:{admin:!0}}],Do=hu({history:$a(),routes:Nu});Do.beforeEach(async e=>e.meta.public?!0:(Ce.user||await Ce.load(),Ce.user?Ce.mustSetup&&e.path!=="/setup"?{path:"/setup"}:e.path==="/"&&!Ce.isAdmin?{path:"/my/board"}:e.meta.admin&&!Ce.isAdmin?{path:"/my/board"}:!0:{path:"/login",query:{redirect:e.fullPath}}));ia(Pu).use(Do).mount("#app");export{jt as A,Ds as B,Zs as C,Lu as D,Xc as E,tt as F,Mn as G,Jt as H,Hu as I,Eu as S,wu as _,xt as a,Uu as b,Tr as c,Fu as d,Cr as e,Ce as f,pu as g,Bu as h,Ke as i,Ft as j,No as k,Wi as l,ie as m,Vt as n,on as o,Ks as p,Du as q,dl as r,Ss as s,At as t,ae as u,jr as v,Mu as w,_r as x,Vu as y,Oe as z}; + */const Eu=No("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]),Bs="st_token";function Mo(){return localStorage.getItem(Bs)}function ws(e){e?localStorage.setItem(Bs,e):localStorage.removeItem(Bs)}async function ee(e,t,n,s=!1){const r={},i=Mo();i&&(r.Authorization=`Bearer ${i}`);let o=n;!s&&n!==void 0&&n!==null&&(r["Content-Type"]="application/json",o=JSON.stringify(n));const l=await fetch(t,{method:e,headers:r,body:o});let c=null;try{c=await l.json()}catch{}if(!l.ok){const f=c&&(c.error||c.message)||`HTTP ${l.status}`;throw new Error(f)}return c}const Ss={login:(e,t)=>ee("POST","/api/auth/login",{username:e,password:t}),me:()=>ee("GET","/api/auth/me"),setup:e=>ee("POST","/api/auth/setup",e),updateProfile:e=>ee("PATCH","/api/auth/profile",e),adminCreateUser:e=>ee("POST","/api/admin/users",e),adminListUsers:()=>ee("GET","/api/admin/users"),adminUpdateUser:(e,t)=>ee("PUT",`/api/admin/users/${e}`,t),createGroup:e=>ee("POST","/api/groups",e,!0),listGroups:()=>ee("GET","/api/groups"),getGroup:e=>ee("GET",`/api/groups/${e}`),analyzeGroup:e=>ee("POST",`/api/groups/${e}/analyze`),listPersonas:e=>ee("GET",`/api/groups/${e}/personas`),getPersona:(e,t)=>ee("GET",`/api/groups/${e}/personas/${t}`),updatePersona:(e,t,n)=>ee("PUT",`/api/groups/${e}/personas/${t}`,n),chatStart:(e,t,n,s)=>ee("POST",`/api/chat/${e}/personas/${t}/chat/start`,{scenario:n,locale:s}),chatResume:(e,t)=>ee("GET",`/api/chat/${e}/personas/${t}/chat/resume`),chatSend:(e,t,n)=>ee("POST",`/api/chat/${e}/personas/${t}/chat/send`,{text:n}),chatFinish:(e,t)=>ee("POST",`/api/chat/${e}/personas/${t}/chat/finish`),mySessions:()=>ee("GET","/api/chat/sessions"),myBoard:()=>ee("GET","/api/me/board"),weakAreas:()=>ee("GET","/api/me/weak-areas"),myPersonas:()=>ee("GET","/api/me/personas"),generatePersona:e=>ee("POST","/api/me/personas/generate",e),analytics:(e={})=>{const t=new URLSearchParams;e.from&&t.set("from",e.from),e.to&&t.set("to",e.to);const n=t.toString();return ee("GET",`/api/analytics${n?`?${n}`:""}`)}},Ce=Jt({user:null,token:Mo(),mustSetup:!1,get role(){return this.user?this.user.role:null},get isAdmin(){return this.role==="admin"||this.role==="super_admin"},async load(){var e;if(!this.token)return null;try{const t=await Ss.me();return this.user=t.user,this.mustSetup=!!((e=t.user)!=null&&e.must_setup),this.user}catch{return this.user=null,this.mustSetup=!1,ws(null),null}},async login(e,t){const n=await Ss.login(e,t);return this.token=n.token,ws(n.token),this.user=n.user,this.mustSetup=!!n.must_setup,n.user},async finishSetup(e,t){const n=await Ss.setup({username:this.user.username||this.user.id,email:e,password:t});return this.user=n.user,this.mustSetup=!1,n.user},logout(){this.user=null,this.token=null,this.mustSetup=!1,ws(null)}}),As={en:{app:"Sales Trainer",login:"Login",logout:"Logout",username:"Username",email:"Email",password:"Password",newPassword:"New password",confirmPassword:"Confirm password",save:"Save",passwordTooShort:"Password must be at least 4 characters",passwordMismatch:"Passwords do not match",setupTitle:"Set up your account",setupSubtitle:"First login for ",loginError:"Invalid credentials",dashboard:"Dashboard",training:"Training",myDashboard:"My dashboard",adminOverview:"Admin overview",guideTitle:"How to use / คู่มือใช้งาน",settings:"Settings",account:"Account",profile:"Profile",readonly:"read-only",name:"Display name",saveProfile:"Save profile",changePassword:"Change password",optional:"optional",saved:"Saved",total:"Total",dateRange:"Date range",apply:"Apply",clear:"Clear",hardestPersonas:"Hardest personas",closeRate:"Close rate",managePersonas:"Manage personas",difficulty:"Difficulty",trained:"Trained",addProduct:"Add product",trainingSubtitle:"Pick a product group, then choose a persona to practice closing the sale.",noTraining:"No training groups available",groups:"Persona Groups",myTraining:"My Training",adminTools:"Admin Tools",users:"Users",analytics:"Analytics",groupBuilder:"Group Builder",create:"Create",analyze:"Analyze",manual:"Manual",edit:"Edit",product:"Product",segment:"Initial customer segment (optional)",description:"Additional description / scenario (optional)",channel:"Channel",facebook:"Facebook",line:"LINE",language:"Language",thai:"Thai",english:"English",personas:"Personas",tierA:"Tier A — Ready to buy",tierB:"Tier B — Unsure",tierC:"Tier C — Not interested but has pain",selectPersona:"Select a persona to practice",chooseScenario:"Choose a scenario",chatGuideTitle:"How to practice",chatGuideText:'You are playing the salesperson. Chat with this customer and try to close the sale. Ask about their needs, solve their pain, and handle their objections. When you are done, press "Finish & get result" to see your score and coaching.',chat:"Chat",start:"Start",send:"Send",finish:"Finish & get result",debrief:"Result & Coaching",won:"Won",lost:"Lost",notTried:"Not tried",score:"Score",pain:"Pain",why:"Reason",reveal:"Revealed persona details",generatePersona:"Generate my persona",weakAreas:"My weak areas",mySessions:"My sessions",openSaleTask:"The customer did NOT message first. You must open the sale.",sellerInitiated:"You must open the sale (outbound)",customerInitiated:"The customer will message you first"},th:{app:"ระบบฝึกทักษะการขาย",login:"เข้าสู่ระบบ",logout:"ออกจากระบบ",username:"ชื่อผู้ใช้",email:"อีเมล",password:"รหัสผ่าน",newPassword:"รหัสผ่านใหม่",confirmPassword:"ยืนยันรหัสผ่าน",save:"บันทึก",passwordTooShort:"รหัสผ่านต้องมีความยาวอย่างน้อย 4 ตัวอักษร",passwordMismatch:"รหัสผ่านที่ยืนยันไม่ตรงกัน",setupTitle:"ตั้งค่าบัญชีของคุณ",setupSubtitle:"เข้าสู่ระบบครั้งแรกสำหรับ ",loginError:"ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง กรุณาลองอีกครั้ง",dashboard:"หน้าหลัก",training:"การฝึก",myDashboard:"ภาพรวมผลการฝึก",adminOverview:"ภาพรวมผู้ดูแล",settings:"การตั้งค่า",account:"บัญชี",profile:"ข้อมูลส่วนตัว",readonly:"อ่านอย่างเดียว",name:"ชื่อที่แสดง",saveProfile:"บันทึกข้อมูล",changePassword:"เปลี่ยนรหัสผ่าน",optional:"ไม่บังคับ",saved:"บันทึกเรียบร้อย",total:"ทั้งหมด",dateRange:"ช่วงเวลา",apply:"กรอง",clear:"ล้าง",hardestPersonas:"บุคคลต้นแบบที่ขายยากที่สุด",closeRate:"อัตราปิดการขาย",managePersonas:"จัดการบุคคลต้นแบบ",difficulty:"ระดับความยาก",trained:"ฝึกแล้ว",addProduct:"เพิ่มสินค้า",trainingSubtitle:"เลือกกลุ่มสินค้า แล้วเลือกบุคคลต้นแบบเพื่อฝึกปิดการขาย",noTraining:"ยังไม่มีกลุ่มฝึก",groups:"กลุ่มบุคคลต้นแบบลูกค้า (Persona)",myTraining:"ประวัติการฝึก",adminTools:"เครื่องมือผู้ดูแลระบบ",users:"ผู้ใช้งาน",analytics:"สถิติ",groupBuilder:"สร้างกลุ่มบุคคลต้นแบบ",create:"สร้าง",analyze:"วิเคราะห์",manual:"ระบุเอง",edit:"แก้ไข",product:"สินค้า/บริการ",segment:"กลุ่มลูกค้าเป้าหมายเบื้องต้น (ไม่บังคับ)",description:"คำอธิบายหรือรายละเอียดเพิ่มเติม (ไม่บังคับ)",channel:"ช่องทางติดต่อ",facebook:"Facebook",line:"LINE",language:"ภาษา",thai:"ไทย",english:"อังกฤษ",personas:"บุคคลต้นแบบ",tierA:"ระดับ A — พร้อมตัดสินใจซื้อ",tierB:"ระดับ B — ยังไม่แน่ใจ",tierC:"ระดับ C — ไม่สนใจแต่มีปัญหา",selectPersona:"เลือกบุคคลต้นแบบเพื่อฝึก",chooseScenario:"เลือกสถานการณ์",chatGuideTitle:"วิธีฝึก",chatGuideText:'คุณรับบทเป็นพนักงานขาย พูดคุยกับลูกค้าคนนี้เพื่อพยายามปิดการขายให้ได้ สอบถามความต้องการ แก้ไขปัญหาของลูกค้า และรับมือกับข้อโต้แย้ง เมื่อพอใจแล้วกด "สรุปผล" เพื่อดูคะแนนและข้อเสนอแนะ',chat:"แชท",start:"เริ่มต้น",send:"ส่ง",finish:"สรุปผล",debrief:"ผลลัพธ์และข้อเสนอแนะ",won:"ปิดการขายได้",lost:"ปิดการขายไม่ได้",notTried:"ยังไม่ได้ฝึก",score:"คะแนน",pain:"ปัญหาของลูกค้า",why:"เหตุผล",reveal:"รายละเอียดบุคคลต้นแบบที่ถูกซ่อนไว้",generatePersona:"สร้างบุคคลต้นแบบเพิ่มเติม",weakAreas:"จุดอ่อนที่ควรฝึกเพิ่มเติม",mySessions:"ประวัติการฝึกของฉัน",openSaleTask:"ลูกค้ายังไม่ได้ทักเข้ามา คุณต้องเป็นฝ่ายเริ่มบทสนทนาการขายเอง",sellerInitiated:"คุณต้องเริ่มการขายในเชิงรุก",customerInitiated:"ลูกค้าจะติดต่อเข้ามาก่อน"}},Ke=Jt({locale:localStorage.getItem("locale")||"th",t(e){return As[this.locale]&&As[this.locale][e]||As.en[e]||e},set(e){this.locale=e,localStorage.setItem("locale",e)}}),wu=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},Su={class:"app"},Au={key:0,class:"topnav"},Ru={class:"tabs"},xu={class:"nav-right"},Tu={class:"txt"},Cu={class:"main"},Pu={__name:"App",setup(e){const t=pu();function n(){Ke.set(Ke.locale==="th"?"en":"th")}function s(){Ce.logout(),t.push("/login")}return Wi(()=>{Ce.token&&!Ce.user&&Ce.load()}),(r,i)=>{const o=_r("router-link"),l=_r("router-view");return on(),Tr("div",Su,[ae(Ce).user?(on(),Tr("nav",Au,[ie(o,{to:"/",class:"brand"},{default:Vt(()=>[Ft(Rt(ae(Ke).t("app")),1)]),_:1}),mt("div",Ru,[ae(Ce).isAdmin?(on(),Ds(o,{key:0,to:"/",class:jt(["tab",{active:r.$route.path==="/"}])},{default:Vt(()=>[Ft(Rt(ae(Ke).t("adminOverview")),1)]),_:1},8,["class"])):Cr("",!0),ie(o,{to:"/my/board",class:jt(["tab",{active:r.$route.path==="/my/board"}])},{default:Vt(()=>[Ft(Rt(ae(Ke).t("myDashboard")),1)]),_:1},8,["class"]),ie(o,{to:"/training",class:jt(["tab",{active:r.$route.path==="/training"}])},{default:Vt(()=>[Ft(Rt(ae(Ke).t("training")),1)]),_:1},8,["class"])]),mt("div",xu,[mt("button",{onClick:n,class:"lang"},Rt(ae(Ke).locale==="th"?"EN":"TH"),1),ie(o,{to:"/settings",class:"icon-btn",title:ae(Ke).t("settings")},{default:Vt(()=>[ie(ae(Eu),{size:20,"stroke-width":1.8})]),_:1},8,["title"]),mt("button",{onClick:s,class:"logout-btn"},[ie(ae(bu),{size:18,"stroke-width":1.8}),i[0]||(i[0]=Ft()),mt("span",Tu,Rt(ae(Ke).t("logout")),1)])])])):Cr("",!0),mt("main",Cu,[(on(),Ds(l,{key:ae(Ke).locale}))])])}}},Ou=wu(Pu,[["__scopeId","data-v-f29a3a4f"]]),Iu="modulepreload",Nu=function(e){return"/"+e},ai={},Se=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=Nu(c),c in ai)return;ai[c]=!0;const f=c.endsWith(".css"),u=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${u}`))return;const h=document.createElement("link");if(h.rel=f?"stylesheet":Iu,f||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),f)return new Promise((g,m)=>{h.addEventListener("load",g),h.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Mu=[{path:"/login",component:()=>Se(()=>import("./Login-vrbZzr6f.js"),__vite__mapDeps([0,1])),meta:{public:!0}},{path:"/setup",component:()=>Se(()=>import("./Setup-D1N6f_I9.js"),__vite__mapDeps([2,3]))},{path:"/",component:()=>Se(()=>import("./Analytics-z04-C_VZ.js"),__vite__mapDeps([4,5,6,7])),meta:{admin:!0}},{path:"/my/board",component:()=>Se(()=>import("./MyBoard-UPzqfwhQ.js"),__vite__mapDeps([8,9,10]))},{path:"/training",component:()=>Se(()=>import("./Training-CsBkF1Lz.js"),__vite__mapDeps([11,12,13,6,14]))},{path:"/groups/:gid/personas",component:()=>Se(()=>import("./Personas-Dl-F3CRY.js"),__vite__mapDeps([15,12,16,17]))},{path:"/groups/:gid/chat/:pid",component:()=>Se(()=>import("./Chat-DvLKhxgu.js"),__vite__mapDeps([18,12,16,19]))},{path:"/settings",component:()=>Se(()=>import("./Settings-BvwfMyfH.js"),__vite__mapDeps([20,21]))},{path:"/guide",component:()=>Se(()=>import("./Guide-D6Cvcccc.js"),__vite__mapDeps([22,13,9,12,23]))},{path:"/admin/new-group",component:()=>Se(()=>import("./GroupBuilder-DYRYwsrA.js"),__vite__mapDeps([24,16,25])),meta:{admin:!0}},{path:"/admin/groups/:gid/edit",component:()=>Se(()=>import("./GroupEdit-DsLJeZZx.js"),__vite__mapDeps([26,5,23,27])),meta:{admin:!0}},{path:"/admin/users",component:()=>Se(()=>import("./AdminUsers-Cv-dZx8g.js"),__vite__mapDeps([28,5,29])),meta:{admin:!0}},{path:"/admin/analytics",component:()=>Se(()=>import("./Analytics-z04-C_VZ.js"),__vite__mapDeps([4,5,6,7])),meta:{admin:!0}}],Do=hu({history:$a(),routes:Mu});Do.beforeEach(async e=>e.meta.public?!0:(Ce.user||await Ce.load(),Ce.user?Ce.mustSetup&&e.path!=="/setup"?{path:"/setup"}:e.path==="/"&&!Ce.isAdmin?{path:"/my/board"}:e.meta.admin&&!Ce.isAdmin?{path:"/my/board"}:!0:{path:"/login",query:{redirect:e.fullPath}}));ia(Ou).use(Do).mount("#app");export{jt as A,Ds as B,Zs as C,Vu as D,Xc as E,tt as F,Mn as G,Jt as H,Uu as I,Eu as S,wu as _,mt as a,Bu as b,Tr as c,Hu as d,Cr as e,Ce as f,pu as g,ju as h,Ke as i,Ft as j,No as k,Wi as l,ie as m,Vt as n,on as o,Ks as p,Lu as q,dl as r,Ss as s,Rt as t,ae as u,jr as v,Du as w,_r as x,Fu as y,Oe as z}; diff --git a/frontend/dist/assets/layout-dashboard-LQG3ldGP.js b/frontend/dist/assets/layout-dashboard-C4nLoaIz.js similarity index 91% rename from frontend/dist/assets/layout-dashboard-LQG3ldGP.js rename to frontend/dist/assets/layout-dashboard-C4nLoaIz.js index 41afba6..889a89d 100644 --- a/frontend/dist/assets/layout-dashboard-LQG3ldGP.js +++ b/frontend/dist/assets/layout-dashboard-C4nLoaIz.js @@ -1,4 +1,4 @@ -import{k as t}from"./index-Dm2VwslH.js";/** +import{k as t}from"./index-C0_i8cDF.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/plus-CAyBY_kw.js b/frontend/dist/assets/plus-BiLb0OIF.js similarity index 86% rename from frontend/dist/assets/plus-CAyBY_kw.js rename to frontend/dist/assets/plus-BiLb0OIF.js index 0b1db5f..efc6291 100644 --- a/frontend/dist/assets/plus-CAyBY_kw.js +++ b/frontend/dist/assets/plus-BiLb0OIF.js @@ -1,4 +1,4 @@ -import{k as e}from"./index-Dm2VwslH.js";/** +import{k as e}from"./index-C0_i8cDF.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/sparkles-BXnC3-RA.js b/frontend/dist/assets/sparkles-D66jVNJm.js similarity index 93% rename from frontend/dist/assets/sparkles-BXnC3-RA.js rename to frontend/dist/assets/sparkles-D66jVNJm.js index e1dbf75..91fbc03 100644 --- a/frontend/dist/assets/sparkles-BXnC3-RA.js +++ b/frontend/dist/assets/sparkles-D66jVNJm.js @@ -1,4 +1,4 @@ -import{k as a}from"./index-Dm2VwslH.js";/** +import{k as a}from"./index-C0_i8cDF.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/target-CliUY7kC.js b/frontend/dist/assets/target-DoOGVGr0.js similarity index 88% rename from frontend/dist/assets/target-CliUY7kC.js rename to frontend/dist/assets/target-DoOGVGr0.js index 44bec32..89d3346 100644 --- a/frontend/dist/assets/target-CliUY7kC.js +++ b/frontend/dist/assets/target-DoOGVGr0.js @@ -1,4 +1,4 @@ -import{k as c}from"./index-Dm2VwslH.js";/** +import{k as c}from"./index-C0_i8cDF.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/assets/users-ksNXFlzl.js b/frontend/dist/assets/users-qxBh6IGP.js similarity index 90% rename from frontend/dist/assets/users-ksNXFlzl.js rename to frontend/dist/assets/users-qxBh6IGP.js index 6702344..eaf03ed 100644 --- a/frontend/dist/assets/users-ksNXFlzl.js +++ b/frontend/dist/assets/users-qxBh6IGP.js @@ -1,4 +1,4 @@ -import{k as e}from"./index-Dm2VwslH.js";/** +import{k as e}from"./index-C0_i8cDF.js";/** * @license lucide-vue-next v1.0.0 - ISC * * This source code is licensed under the ISC license. diff --git a/frontend/dist/index.html b/frontend/dist/index.html index 551b8a8..79d1ad1 100644 --- a/frontend/dist/index.html +++ b/frontend/dist/index.html @@ -4,8 +4,8 @@ Sales Trainer - - + +
diff --git a/frontend/src/App.vue b/frontend/src/App.vue index b14e5c1..ced4cc5 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -18,7 +18,7 @@ - +
@@ -83,8 +83,16 @@ onMounted(() => { .icon-btn:hover { background: #f1f3f9; } .main { max-width: 1080px; margin: 0 auto; padding: 24px; } @media (max-width: 640px) { - .topnav { padding: 10px 12px; } - .tab { padding: 8px 12px; font-size: 13px; } - .logout-btn span { display: none; } + .topnav { padding: 8px 10px; gap: 8px; } + .brand { font-size: 14px; } + .tabs { order: 3; width: 100%; justify-content: center; } + .tab { padding: 6px 10px; font-size: 12px; flex: 1; text-align: center; } + .nav-right { margin-left: auto; } + .lang { padding: 6px 8px; font-size: 12px; } + .logout-btn { padding: 6px 8px; } + .logout-btn .txt { display: none; } +} +@media (max-width: 380px) { + .brand { display: none; } } diff --git a/frontend/src/style.css b/frontend/src/style.css index c1fd981..355599b 100644 --- a/frontend/src/style.css +++ b/frontend/src/style.css @@ -155,4 +155,11 @@ button:disabled { opacity: .5; cursor: not-allowed; box-shadow: none; } .main { padding: 16px; } .row { gap: 10px; } .msg-seller, .msg-customer { max-width: 84%; } + /* Moreminimore convention: centered content when a section collapses to one column */ + .stat-row > .card, .row.stat > .card { flex: 1 1 40%; text-align: center; } + .stat div { text-align: center; } +} +@media (max-width: 460px) { + .row.stat, .stat-row, .row.stat-row { justify-content: center; } + .stat-row > .card { min-width: 42%; } } diff --git a/frontend/src/views/Dashboard.vue b/frontend/src/views/Dashboard.vue deleted file mode 100644 index fc9a360..0000000 --- a/frontend/src/views/Dashboard.vue +++ /dev/null @@ -1,71 +0,0 @@ - - - - - diff --git a/frontend/src/views/GenPersona.vue b/frontend/src/views/GenPersona.vue deleted file mode 100644 index b718ddf..0000000 --- a/frontend/src/views/GenPersona.vue +++ /dev/null @@ -1,77 +0,0 @@ - - - - - diff --git a/frontend/src/views/MySessions.vue b/frontend/src/views/MySessions.vue deleted file mode 100644 index 41d33d9..0000000 --- a/frontend/src/views/MySessions.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - diff --git a/frontend/src/views/WeakAreas.vue b/frontend/src/views/WeakAreas.vue deleted file mode 100644 index aca2dad..0000000 --- a/frontend/src/views/WeakAreas.vue +++ /dev/null @@ -1,39 +0,0 @@ - - - - -